@mhmo91/schmancy 0.10.14 → 0.10.16

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 (544) hide show
  1. package/custom-elements.json +2554 -3086
  2. package/dist/active-host-BP0zy_Y9.js +63 -0
  3. package/dist/{active-host-CvNYoprt.js.map → active-host-BP0zy_Y9.js.map} +1 -1
  4. package/dist/active-host-jH3iloCR.cjs +1 -0
  5. package/dist/{active-host-CcIa2tmW.cjs.map → active-host-jH3iloCR.cjs.map} +1 -1
  6. package/dist/agent/schmancy.agent.js +2579 -2385
  7. package/dist/agent/schmancy.agent.js.map +1 -1
  8. package/dist/agent/schmancy.manifest.json +971 -1189
  9. package/dist/{animation-CO_Csq84.cjs.map → animation-CCOIW4wJ.cjs.map} +1 -1
  10. package/dist/{animation-BK-8BwY8.js.map → animation-DCznELuT.js.map} +1 -1
  11. package/dist/{area-C_kgZZhN.js → area-ChxsDTu_.js} +2 -2
  12. package/dist/{area-C_kgZZhN.js.map → area-ChxsDTu_.js.map} +1 -1
  13. package/dist/{area-DFPtKzWy.cjs → area-Qt6yUnuA.cjs} +3 -3
  14. package/dist/{area-DFPtKzWy.cjs.map → area-Qt6yUnuA.cjs.map} +1 -1
  15. package/dist/area.cjs +1 -1
  16. package/dist/area.js +2 -2
  17. package/dist/{audio-CluX8Qpq.cjs → audio-D-TZzpXF.cjs} +1 -1
  18. package/dist/{audio-CluX8Qpq.cjs.map → audio-D-TZzpXF.cjs.map} +1 -1
  19. package/dist/{audio-DcXphulJ.js → audio-DS43uoRA.js} +1 -1
  20. package/dist/{audio-DcXphulJ.js.map → audio-DS43uoRA.js.map} +1 -1
  21. package/dist/audio.cjs +1 -1
  22. package/dist/audio.js +2 -2
  23. package/dist/{autocomplete-DWSuwSRS.js → autocomplete-CXvUjMD-.js} +46 -71
  24. package/dist/autocomplete-CXvUjMD-.js.map +1 -0
  25. package/dist/autocomplete-Ck2zbdF9.cjs +115 -0
  26. package/dist/autocomplete-Ck2zbdF9.cjs.map +1 -0
  27. package/dist/autocomplete.cjs +1 -1
  28. package/dist/autocomplete.js +1 -1
  29. package/dist/avatar.cjs +2 -2
  30. package/dist/avatar.cjs.map +1 -1
  31. package/dist/avatar.js +3 -3
  32. package/dist/badge.cjs +1 -1
  33. package/dist/badge.js +1 -1
  34. package/dist/{boat-CZma2ojF.js → boat-Bj0wVcZi.js} +5 -5
  35. package/dist/{boat-CZma2ojF.js.map → boat-Bj0wVcZi.js.map} +1 -1
  36. package/dist/{boat-Dy6cc3hB.cjs → boat-DpFkILFF.cjs} +2 -2
  37. package/dist/{boat-Dy6cc3hB.cjs.map → boat-DpFkILFF.cjs.map} +1 -1
  38. package/dist/boat.cjs +1 -1
  39. package/dist/boat.js +1 -1
  40. package/dist/breadcrumb.cjs +3 -3
  41. package/dist/breadcrumb.cjs.map +1 -1
  42. package/dist/breadcrumb.js +2 -2
  43. package/dist/{busy-DCsqryvq.cjs → busy-CtcnclA3.cjs} +3 -3
  44. package/dist/{busy-DCsqryvq.cjs.map → busy-CtcnclA3.cjs.map} +1 -1
  45. package/dist/{busy-DeV2ByMw.js → busy-CyZSBnZP.js} +2 -2
  46. package/dist/{busy-DeV2ByMw.js.map → busy-CyZSBnZP.js.map} +1 -1
  47. package/dist/busy.cjs +1 -1
  48. package/dist/busy.js +1 -1
  49. package/dist/button.cjs +4 -4
  50. package/dist/button.cjs.map +1 -1
  51. package/dist/button.js +19 -4
  52. package/dist/button.js.map +1 -1
  53. package/dist/{card--GgSX4X5.cjs → card-Cl6jp1yX.cjs} +5 -5
  54. package/dist/{card--GgSX4X5.cjs.map → card-Cl6jp1yX.cjs.map} +1 -1
  55. package/dist/{card-BTTsHzJJ.js → card-nYZCKmOO.js} +3 -3
  56. package/dist/{card-BTTsHzJJ.js.map → card-nYZCKmOO.js.map} +1 -1
  57. package/dist/card.cjs +1 -1
  58. package/dist/card.js +1 -1
  59. package/dist/{checkbox-NNReP9s_.cjs → checkbox-BeNo0ZGt.cjs} +4 -4
  60. package/dist/{checkbox-Cj5j-ppk.js.map → checkbox-BeNo0ZGt.cjs.map} +1 -1
  61. package/dist/{checkbox-Cj5j-ppk.js → checkbox-DiUrZiyc.js} +17 -30
  62. package/dist/checkbox-DiUrZiyc.js.map +1 -0
  63. package/dist/checkbox.cjs +1 -1
  64. package/dist/checkbox.js +1 -1
  65. package/dist/{chips-CP-CbfoZ.js → chips-CfPFXv7Z.js} +5 -5
  66. package/dist/{chips-CP-CbfoZ.js.map → chips-CfPFXv7Z.js.map} +1 -1
  67. package/dist/{chips-iporOXxK.cjs → chips-DK6m-VCM.cjs} +5 -5
  68. package/dist/{chips-iporOXxK.cjs.map → chips-DK6m-VCM.cjs.map} +1 -1
  69. package/dist/chips.cjs +1 -1
  70. package/dist/chips.js +2 -2
  71. package/dist/connectivity.cjs +2 -2
  72. package/dist/connectivity.cjs.map +1 -1
  73. package/dist/connectivity.js +3 -3
  74. package/dist/content-drawer.cjs +1 -1
  75. package/dist/content-drawer.js +1 -1
  76. package/dist/{context-DJTJnSK4.js.map → context-6oXCZmZN.js.map} +1 -1
  77. package/dist/{context-BpCETidA.cjs.map → context-CRZeiCqq.cjs.map} +1 -1
  78. package/dist/{cursor-glow-Bulq-38P.cjs → cursor-glow-C8LgCxpI.cjs} +1 -1
  79. package/dist/{cursor-glow-Bulq-38P.cjs.map → cursor-glow-C8LgCxpI.cjs.map} +1 -1
  80. package/dist/{cursor-glow-Ah7VXSj7.js → cursor-glow-Cs2XLDB9.js} +1 -1
  81. package/dist/{cursor-glow-Ah7VXSj7.js.map → cursor-glow-Cs2XLDB9.js.map} +1 -1
  82. package/dist/date-range-DA6anfcF.cjs +131 -0
  83. package/dist/date-range-DA6anfcF.cjs.map +1 -0
  84. package/dist/{date-range-CgNujP8r.js → date-range-DjlF2u7o.js} +124 -89
  85. package/dist/date-range-DjlF2u7o.js.map +1 -0
  86. package/dist/date-range-inline-BfYK795W.cjs +43 -0
  87. package/dist/{date-range-inline-D4IjOOO0.cjs.map → date-range-inline-BfYK795W.cjs.map} +1 -1
  88. package/dist/{date-range-inline-C2PXX_GY.js → date-range-inline-n7y_H6PJ.js} +2 -2
  89. package/dist/{date-range-inline-C2PXX_GY.js.map → date-range-inline-n7y_H6PJ.js.map} +1 -1
  90. package/dist/date-range-inline.cjs +1 -1
  91. package/dist/date-range-inline.js +1 -1
  92. package/dist/date-range.cjs +1 -1
  93. package/dist/date-range.js +1 -1
  94. package/dist/delay.cjs +2 -2
  95. package/dist/delay.cjs.map +1 -1
  96. package/dist/delay.js +3 -3
  97. package/dist/{details-DT2b3xOn.cjs → details-BdAVsLl-.cjs} +2 -2
  98. package/dist/{details-DT2b3xOn.cjs.map → details-BdAVsLl-.cjs.map} +1 -1
  99. package/dist/{details-VjaNwtfd.js → details-CS_ToAOj.js} +6 -6
  100. package/dist/{details-VjaNwtfd.js.map → details-CS_ToAOj.js.map} +1 -1
  101. package/dist/details.cjs +1 -1
  102. package/dist/details.js +1 -1
  103. package/dist/directives.cjs +1 -1
  104. package/dist/directives.js +5 -5
  105. package/dist/{divider-BMO8pzEO.js → divider-COLK0RbT.js} +2 -2
  106. package/dist/{divider-BMO8pzEO.js.map → divider-COLK0RbT.js.map} +1 -1
  107. package/dist/{divider-BW33TZ-X.cjs → divider-CvWAnvdO.cjs} +2 -2
  108. package/dist/{divider-BW33TZ-X.cjs.map → divider-CvWAnvdO.cjs.map} +1 -1
  109. package/dist/divider.cjs +1 -1
  110. package/dist/divider.js +1 -1
  111. package/dist/dropdown.cjs +3 -3
  112. package/dist/dropdown.cjs.map +1 -1
  113. package/dist/dropdown.js +2 -2
  114. package/dist/{expand-DbELKKOt.js → expand-D9LzmpoV.js} +5 -5
  115. package/dist/{expand-DbELKKOt.js.map → expand-D9LzmpoV.js.map} +1 -1
  116. package/dist/{expand-_f5EUKWB.cjs → expand-r2sATPUJ.cjs} +3 -3
  117. package/dist/{expand-_f5EUKWB.cjs.map → expand-r2sATPUJ.cjs.map} +1 -1
  118. package/dist/expand.cjs +1 -1
  119. package/dist/expand.js +1 -1
  120. package/dist/float-2nHYuBx-.cjs +1 -0
  121. package/dist/{float-CKmd-0-t.cjs.map → float-2nHYuBx-.cjs.map} +1 -1
  122. package/dist/{float-B6RBb2dN.js → float-BWy39CXr.js} +2 -2
  123. package/dist/{float-B6RBb2dN.js.map → float-BWy39CXr.js.map} +1 -1
  124. package/dist/float.cjs +1 -1
  125. package/dist/float.js +1 -1
  126. package/dist/form-DhjedCWm.js +258 -0
  127. package/dist/form-DhjedCWm.js.map +1 -0
  128. package/dist/form-g5c70rac.cjs +42 -0
  129. package/dist/form-g5c70rac.cjs.map +1 -0
  130. package/dist/form.cjs +1 -1
  131. package/dist/form.js +2 -2
  132. package/dist/handover/agent-runtime-followups.md +1 -1
  133. package/dist/handover/agent-runtime-v1.md +3 -3
  134. package/dist/{hashContent-Bobsobip.cjs.map → hashContent-Ck6laKlk.cjs.map} +1 -1
  135. package/dist/{hashContent-BU6jl5ih.js.map → hashContent-dJrI-9sc.js.map} +1 -1
  136. package/dist/{icons-r-S17M8U.cjs → icons-1HIENBco.cjs} +2 -2
  137. package/dist/{icons-r-S17M8U.cjs.map → icons-1HIENBco.cjs.map} +1 -1
  138. package/dist/{icons-CoDo95Cu.js → icons-3y0kr1aB.js} +3 -3
  139. package/dist/{icons-CoDo95Cu.js.map → icons-3y0kr1aB.js.map} +1 -1
  140. package/dist/icons.cjs +1 -1
  141. package/dist/icons.js +1 -1
  142. package/dist/{iframe-P9c_qg1-.cjs → iframe-CjqYuZG5.cjs} +2 -2
  143. package/dist/{iframe-P9c_qg1-.cjs.map → iframe-CjqYuZG5.cjs.map} +1 -1
  144. package/dist/{iframe-k4oI-TIj.js → iframe-Z5gTK-gd.js} +2 -2
  145. package/dist/{iframe-k4oI-TIj.js.map → iframe-Z5gTK-gd.js.map} +1 -1
  146. package/dist/iframe.cjs +1 -1
  147. package/dist/iframe.js +1 -1
  148. package/dist/index.cjs +1 -1
  149. package/dist/index.js +60 -60
  150. package/dist/{input-D95GjINh.js → input-B-fw6f_r.js} +103 -104
  151. package/dist/input-B-fw6f_r.js.map +1 -0
  152. package/dist/input-BtcIhu0Q.cjs +52 -0
  153. package/dist/input-BtcIhu0Q.cjs.map +1 -0
  154. package/dist/{input-chip-DpC_XEKN.js → input-chip-CtQ0pH5b.js} +2 -2
  155. package/dist/{input-chip-DpC_XEKN.js.map → input-chip-CtQ0pH5b.js.map} +1 -1
  156. package/dist/{input-chip-D0ZXqTt5.cjs → input-chip-DZktYohr.cjs} +2 -2
  157. package/dist/{input-chip-D0ZXqTt5.cjs.map → input-chip-DZktYohr.cjs.map} +1 -1
  158. package/dist/input.cjs +1 -1
  159. package/dist/input.js +1 -1
  160. package/dist/json.cjs +2 -2
  161. package/dist/json.cjs.map +1 -1
  162. package/dist/json.js +3 -3
  163. package/dist/kbd.cjs +2 -2
  164. package/dist/kbd.cjs.map +1 -1
  165. package/dist/kbd.js +2 -2
  166. package/dist/{layout-CXPNsUIo.js → layout-BH28sKGc.js} +1 -1
  167. package/dist/{layout-CXPNsUIo.js.map → layout-BH28sKGc.js.map} +1 -1
  168. package/dist/{layout-Zhe7wSZ_.cjs → layout-Delq-QvR.cjs} +1 -1
  169. package/dist/{layout-Zhe7wSZ_.cjs.map → layout-Delq-QvR.cjs.map} +1 -1
  170. package/dist/layout.cjs +1 -1
  171. package/dist/layout.js +1 -1
  172. package/dist/{lazy-Dq9mRRjT.cjs.map → lazy-CayEFyC3.cjs.map} +1 -1
  173. package/dist/{lazy-B0ia54tT.js.map → lazy-D-bO2r4m.js.map} +1 -1
  174. package/dist/{lightbox-C-yHeoK0.cjs → lightbox-BHTZOn8K.cjs} +3 -3
  175. package/dist/{lightbox-C-yHeoK0.cjs.map → lightbox-BHTZOn8K.cjs.map} +1 -1
  176. package/dist/{lightbox-CovQtmyn.js → lightbox-BL3LWp-P.js} +9 -9
  177. package/dist/{lightbox-CovQtmyn.js.map → lightbox-BL3LWp-P.js.map} +1 -1
  178. package/dist/lightbox.cjs +1 -1
  179. package/dist/lightbox.js +1 -1
  180. package/dist/{list-CAijuky4.cjs → list-CHYa5VGY.cjs} +3 -3
  181. package/dist/{list-CAijuky4.cjs.map → list-CHYa5VGY.cjs.map} +1 -1
  182. package/dist/{list-C1pR9vhu.js → list-DLJL1JQj.js} +2 -2
  183. package/dist/{list-C1pR9vhu.js.map → list-DLJL1JQj.js.map} +1 -1
  184. package/dist/list.cjs +1 -1
  185. package/dist/list.js +1 -1
  186. package/dist/{magnetic-BJgB1dVi.cjs → magnetic-Bgh7aHHI.cjs} +1 -1
  187. package/dist/{magnetic-BJgB1dVi.cjs.map → magnetic-Bgh7aHHI.cjs.map} +1 -1
  188. package/dist/{magnetic-YwCNvtbB.js → magnetic-DxvoEz8_.js} +2 -2
  189. package/dist/{magnetic-YwCNvtbB.js.map → magnetic-DxvoEz8_.js.map} +1 -1
  190. package/dist/{menu-B59vZv9n.js → menu-BNq93w6X.js} +3 -3
  191. package/dist/{menu-B59vZv9n.js.map → menu-BNq93w6X.js.map} +1 -1
  192. package/dist/{menu-BaHO3Cip.cjs → menu-DAikvkeV.cjs} +3 -3
  193. package/dist/{menu-BaHO3Cip.cjs.map → menu-DAikvkeV.cjs.map} +1 -1
  194. package/dist/menu.cjs +1 -1
  195. package/dist/menu.js +1 -1
  196. package/dist/mixins-BOOu6q2n.cjs +298 -0
  197. package/dist/mixins-BOOu6q2n.cjs.map +1 -0
  198. package/dist/mixins-BWb9_e1s.js +680 -0
  199. package/dist/mixins-BWb9_e1s.js.map +1 -0
  200. package/dist/mixins.cjs +1 -1
  201. package/dist/mixins.js +2 -2
  202. package/dist/nav-drawer.cjs +1 -1
  203. package/dist/nav-drawer.js +1 -1
  204. package/dist/navigation-bar.cjs +1 -1
  205. package/dist/navigation-bar.js +1 -1
  206. package/dist/navigation-rail.cjs +3 -3
  207. package/dist/navigation-rail.cjs.map +1 -1
  208. package/dist/navigation-rail.js +2 -2
  209. package/dist/{notification-BeLoVa47.js → notification-CUmb9c3Y.js} +4 -4
  210. package/dist/{notification-BeLoVa47.js.map → notification-CUmb9c3Y.js.map} +1 -1
  211. package/dist/notification-Dy2azMyt.cjs +23 -0
  212. package/dist/{notification-BC9nG8Sr.cjs.map → notification-Dy2azMyt.cjs.map} +1 -1
  213. package/dist/notification.cjs +1 -1
  214. package/dist/notification.js +1 -1
  215. package/dist/{option-BWF4GBp-.cjs → option-CDgIKifG.cjs} +2 -2
  216. package/dist/{option-BWF4GBp-.cjs.map → option-CDgIKifG.cjs.map} +1 -1
  217. package/dist/{option-UvlSAcC4.js → option-DFvQ551b.js} +2 -2
  218. package/dist/{option-UvlSAcC4.js.map → option-DFvQ551b.js.map} +1 -1
  219. package/dist/option.cjs +1 -1
  220. package/dist/option.js +1 -1
  221. package/dist/{overlay-stack-DCDS17uj.js.map → overlay-stack-BR4iYivO.js.map} +1 -1
  222. package/dist/{overlay-stack-DPIe_aYv.cjs.map → overlay-stack-Dk0xETTy.cjs.map} +1 -1
  223. package/dist/overlay.cjs +2 -2
  224. package/dist/overlay.cjs.map +1 -1
  225. package/dist/{overlay.confirm-body-URtE1gI3.cjs → overlay.confirm-body-BkhNvr0c.cjs} +2 -2
  226. package/dist/{overlay.confirm-body-URtE1gI3.cjs.map → overlay.confirm-body-BkhNvr0c.cjs.map} +1 -1
  227. package/dist/{overlay.confirm-body-9W0B5QGv.js → overlay.confirm-body-uFp-0Zfh.js} +2 -2
  228. package/dist/{overlay.confirm-body-9W0B5QGv.js.map → overlay.confirm-body-uFp-0Zfh.js.map} +1 -1
  229. package/dist/overlay.js +8 -8
  230. package/dist/{overlay.service-DnZTcKyJ.cjs → overlay.service-1YWfUD2S.cjs} +1 -1
  231. package/dist/{overlay.service-DnZTcKyJ.cjs.map → overlay.service-1YWfUD2S.cjs.map} +1 -1
  232. package/dist/{overlay.service-CVqs2Gu1.js → overlay.service-BcF12kGb.js} +2 -2
  233. package/dist/{overlay.service-CVqs2Gu1.js.map → overlay.service-BcF12kGb.js.map} +1 -1
  234. package/dist/page.cjs +2 -2
  235. package/dist/page.cjs.map +1 -1
  236. package/dist/page.js +5 -5
  237. package/dist/{progress-CwzwY8Oe.cjs → progress-C02sWkmE.cjs} +2 -2
  238. package/dist/{progress-CwzwY8Oe.cjs.map → progress-C02sWkmE.cjs.map} +1 -1
  239. package/dist/{progress-C29Uw-WJ.js → progress-bLbGRuQ1.js} +2 -2
  240. package/dist/{progress-C29Uw-WJ.js.map → progress-bLbGRuQ1.js.map} +1 -1
  241. package/dist/progress.cjs +1 -1
  242. package/dist/progress.js +1 -1
  243. package/dist/radio-group-BA-jRct5.cjs +40 -0
  244. package/dist/radio-group-BA-jRct5.cjs.map +1 -0
  245. package/dist/{radio-group-CW8airhZ.js → radio-group-DA4eIGCj.js} +4 -4
  246. package/dist/radio-group-DA4eIGCj.js.map +1 -0
  247. package/dist/radio-group.cjs +1 -1
  248. package/dist/radio-group.js +1 -1
  249. package/dist/range.cjs +6 -4
  250. package/dist/range.cjs.map +1 -1
  251. package/dist/range.js +19 -15
  252. package/dist/range.js.map +1 -1
  253. package/dist/{reduced-motion-D-L12p7G.js.map → reduced-motion-D7LqTUMn.js.map} +1 -1
  254. package/dist/{reduced-motion-Ds-HjMzn.cjs.map → reduced-motion-Dzfp_w5x.cjs.map} +1 -1
  255. package/dist/{rxjs-utils-CVeJQ9KG.js.map → rxjs-utils-D9U4MW0Q.js.map} +1 -1
  256. package/dist/{rxjs-utils-DCUHg_Ml.cjs.map → rxjs-utils-kWPShgKu.cjs.map} +1 -1
  257. package/dist/rxjs-utils.cjs +1 -1
  258. package/dist/rxjs-utils.js +1 -1
  259. package/dist/{scroll-BotoGcMU.js → scroll-CG5up5oy.js} +2 -2
  260. package/dist/{scroll-BotoGcMU.js.map → scroll-CG5up5oy.js.map} +1 -1
  261. package/dist/{scroll-CmhmUebp.cjs → scroll-D8vBF_gY.cjs} +2 -2
  262. package/dist/{scroll-CmhmUebp.cjs.map → scroll-D8vBF_gY.cjs.map} +1 -1
  263. package/dist/{search-BLCRsxIC.cjs.map → search-DPKoC-dT.cjs.map} +1 -1
  264. package/dist/{search-BTz7-Rev.js.map → search-MvIBA93K.js.map} +1 -1
  265. package/dist/{select-Dbn-CImU.js → select-BrK1BJoU.js} +52 -73
  266. package/dist/select-BrK1BJoU.js.map +1 -0
  267. package/dist/select-Dh2j7Qc-.cjs +56 -0
  268. package/dist/select-Dh2j7Qc-.cjs.map +1 -0
  269. package/dist/select.cjs +1 -1
  270. package/dist/select.js +1 -1
  271. package/dist/skeleton.cjs +2 -2
  272. package/dist/skeleton.cjs.map +1 -1
  273. package/dist/skeleton.js +2 -2
  274. package/dist/skills/autocomplete.md +16 -3
  275. package/dist/skills/button.md +19 -0
  276. package/dist/skills/checkbox.md +19 -0
  277. package/dist/skills/date-range.md +19 -0
  278. package/dist/skills/form-ux-rules.md +55 -0
  279. package/dist/skills/form.md +121 -25
  280. package/dist/skills/input.md +19 -4
  281. package/dist/skills/range.md +15 -1
  282. package/dist/skills/schmancy/autocomplete.md +16 -3
  283. package/dist/skills/schmancy/button.md +19 -0
  284. package/dist/skills/schmancy/checkbox.md +19 -0
  285. package/dist/skills/schmancy/date-range.md +19 -0
  286. package/dist/skills/schmancy/form-ux-rules.md +55 -0
  287. package/dist/skills/schmancy/form.md +121 -25
  288. package/dist/skills/schmancy/input.md +19 -4
  289. package/dist/skills/schmancy/range.md +15 -1
  290. package/dist/skills/schmancy/select.md +13 -1
  291. package/dist/skills/schmancy/state.md +5 -0
  292. package/dist/skills/schmancy/switch.md +21 -2
  293. package/dist/skills/schmancy/textarea.md +13 -0
  294. package/dist/skills/select.md +13 -1
  295. package/dist/skills/state.md +5 -0
  296. package/dist/skills/switch.md +21 -2
  297. package/dist/skills/textarea.md +13 -0
  298. package/dist/slider.cjs +3 -3
  299. package/dist/slider.cjs.map +1 -1
  300. package/dist/slider.js +2 -2
  301. package/dist/{sound.service-kKfsN0m-.js → sound.service-BIN2W7Rv.js} +1 -1
  302. package/dist/{sound.service-kKfsN0m-.js.map → sound.service-BIN2W7Rv.js.map} +1 -1
  303. package/dist/{sound.service-BGs6m0Cm.cjs → sound.service-DyY78ukR.cjs} +1 -1
  304. package/dist/{sound.service-BGs6m0Cm.cjs.map → sound.service-DyY78ukR.cjs.map} +1 -1
  305. package/dist/{splash-screen-DtkjCJYo.js → splash-screen-BcjjJSlK.js} +2 -2
  306. package/dist/{splash-screen-DtkjCJYo.js.map → splash-screen-BcjjJSlK.js.map} +1 -1
  307. package/dist/{splash-screen-DlQUv-kV.cjs → splash-screen-Kr1sPtME.cjs} +2 -2
  308. package/dist/{splash-screen-DlQUv-kV.cjs.map → splash-screen-Kr1sPtME.cjs.map} +1 -1
  309. package/dist/splash-screen.cjs +1 -1
  310. package/dist/splash-screen.js +1 -1
  311. package/dist/{src-DEUjlTsX.cjs → src-B2-CU8fu.cjs} +11 -11
  312. package/dist/{src-DEUjlTsX.cjs.map → src-B2-CU8fu.cjs.map} +1 -1
  313. package/dist/{src-D6e0adHi.js → src-DvywUq7l.js} +38 -38
  314. package/dist/{src-D6e0adHi.js.map → src-DvywUq7l.js.map} +1 -1
  315. package/dist/state-avic94Ft.cjs +1 -0
  316. package/dist/{state-DNdCPITt.cjs.map → state-avic94Ft.cjs.map} +1 -1
  317. package/dist/{state-BusMG6sM.js → state-nm8yzMPp.js} +1 -2
  318. package/dist/{state-BusMG6sM.js.map → state-nm8yzMPp.js.map} +1 -1
  319. package/dist/state.cjs +1 -1
  320. package/dist/state.js +2 -2
  321. package/dist/steps.cjs +3 -3
  322. package/dist/steps.cjs.map +1 -1
  323. package/dist/steps.js +2 -2
  324. package/dist/{surface-A82O1kgu.js → surface-BtMMHKol.js} +2 -2
  325. package/dist/{surface-A82O1kgu.js.map → surface-BtMMHKol.js.map} +1 -1
  326. package/dist/surface-CgXeKdGL.cjs +7 -0
  327. package/dist/{surface-BpppoNXN.cjs.map → surface-CgXeKdGL.cjs.map} +1 -1
  328. package/dist/surface.cjs +1 -1
  329. package/dist/surface.js +1 -1
  330. package/dist/switch.cjs +3 -3
  331. package/dist/switch.cjs.map +1 -1
  332. package/dist/switch.js +27 -43
  333. package/dist/switch.js.map +1 -1
  334. package/dist/table.cjs +3 -3
  335. package/dist/table.cjs.map +1 -1
  336. package/dist/table.js +2 -2
  337. package/dist/{tabs-cVHHd1dY.js → tabs-CikPr7by.js} +2 -2
  338. package/dist/{tabs-cVHHd1dY.js.map → tabs-CikPr7by.js.map} +1 -1
  339. package/dist/{tabs-TO3UiBsm.cjs → tabs-CitVls3_.cjs} +2 -2
  340. package/dist/{tabs-TO3UiBsm.cjs.map → tabs-CitVls3_.cjs.map} +1 -1
  341. package/dist/tabs.cjs +1 -1
  342. package/dist/tabs.js +1 -1
  343. package/dist/teleport.cjs +1 -1
  344. package/dist/teleport.js +1 -1
  345. package/dist/textarea-CqV1wvmB.cjs +43 -0
  346. package/dist/textarea-CqV1wvmB.cjs.map +1 -0
  347. package/dist/textarea-DVkwQSis.js +186 -0
  348. package/dist/textarea-DVkwQSis.js.map +1 -0
  349. package/dist/textarea.cjs +1 -1
  350. package/dist/textarea.js +1 -1
  351. package/dist/{theme-CT408FqH.js → theme-BIWS4TOW.js} +9 -9
  352. package/dist/{theme-CT408FqH.js.map → theme-BIWS4TOW.js.map} +1 -1
  353. package/dist/theme-DMgjiKda.cjs +181 -0
  354. package/dist/{theme-CpuF3D3q.cjs.map → theme-DMgjiKda.cjs.map} +1 -1
  355. package/dist/{theme-button-pTb5-Wxx.js → theme-button-DC_shZ_7.js} +2 -2
  356. package/dist/{theme-button-pTb5-Wxx.js.map → theme-button-DC_shZ_7.js.map} +1 -1
  357. package/dist/theme-button-ENKa3TPT.cjs +8 -0
  358. package/dist/{theme-button-B6Xf-EiH.cjs.map → theme-button-ENKa3TPT.cjs.map} +1 -1
  359. package/dist/theme-button.cjs +1 -1
  360. package/dist/theme-button.js +1 -1
  361. package/dist/theme.cjs +1 -1
  362. package/dist/{theme.interface-B9TjbSBF.js.map → theme.interface-C8OHheXg.js.map} +1 -1
  363. package/dist/{theme.interface-BujperTo.cjs.map → theme.interface-CYo4UpWK.cjs.map} +1 -1
  364. package/dist/theme.js +4 -4
  365. package/dist/{theme.service-DIUo1mBP.js → theme.service-BOWIT_5k.js} +1 -1
  366. package/dist/{theme.service-DIUo1mBP.js.map → theme.service-BOWIT_5k.js.map} +1 -1
  367. package/dist/{theme.service-Cfk88qHK.cjs → theme.service-DkdH1t60.cjs} +1 -1
  368. package/dist/{theme.service-Cfk88qHK.cjs.map → theme.service-DkdH1t60.cjs.map} +1 -1
  369. package/dist/tree.cjs +2 -2
  370. package/dist/tree.cjs.map +1 -1
  371. package/dist/tree.js +2 -2
  372. package/dist/typography.cjs +2 -2
  373. package/dist/typography.cjs.map +1 -1
  374. package/dist/typography.js +2 -2
  375. package/dist/{utils-kND2Z9Xg.js → utils-Cj_nRRyx.js} +2 -2
  376. package/dist/{utils-kND2Z9Xg.js.map → utils-Cj_nRRyx.js.map} +1 -1
  377. package/dist/{utils-Dt5PpmaQ.cjs → utils-D2QUu4-g.cjs} +1 -1
  378. package/dist/{utils-Dt5PpmaQ.cjs.map → utils-D2QUu4-g.cjs.map} +1 -1
  379. package/dist/utils.cjs +1 -1
  380. package/dist/utils.js +4 -4
  381. package/dist/visually-hidden.cjs +2 -2
  382. package/dist/visually-hidden.cjs.map +1 -1
  383. package/dist/visually-hidden.js +2 -2
  384. package/dist/{window-CuBcOxbc.js → window-BTecgE_U.js} +7 -7
  385. package/dist/{window-CuBcOxbc.js.map → window-BTecgE_U.js.map} +1 -1
  386. package/dist/{window-CSKvv4Ts.cjs → window-DGydMS0g.cjs} +2 -2
  387. package/dist/{window-CSKvv4Ts.cjs.map → window-DGydMS0g.cjs.map} +1 -1
  388. package/dist/window.cjs +1 -1
  389. package/dist/window.js +1 -1
  390. package/package.json +1 -1
  391. package/skills/schmancy/autocomplete.md +16 -3
  392. package/skills/schmancy/button.md +19 -0
  393. package/skills/schmancy/checkbox.md +19 -0
  394. package/skills/schmancy/date-range.md +19 -0
  395. package/skills/schmancy/form-ux-rules.md +55 -0
  396. package/skills/schmancy/form.md +121 -25
  397. package/skills/schmancy/input.md +19 -4
  398. package/skills/schmancy/range.md +15 -1
  399. package/skills/schmancy/select.md +13 -1
  400. package/skills/schmancy/state.md +5 -0
  401. package/skills/schmancy/switch.md +21 -2
  402. package/skills/schmancy/textarea.md +13 -0
  403. package/src/button/button.test.ts +122 -0
  404. package/src/button/button.ts +36 -0
  405. package/src/{autocomplete → form/fields/autocomplete}/autocomplete.ts +48 -75
  406. package/src/{checkbox → form/fields/checkbox}/checkbox.test.ts +1 -1
  407. package/src/form/fields/checkbox/checkbox.ts +126 -0
  408. package/src/form/fields/date-range/date-range.test.ts +102 -0
  409. package/src/{date-range → form/fields/date-range}/date-range.ts +90 -7
  410. package/src/form/fields/input/input.test.ts +201 -0
  411. package/src/{input → form/fields/input}/input.ts +153 -238
  412. package/src/{radio-group → form/fields/radio-group}/radio-button.ts +1 -1
  413. package/src/{radio-group → form/fields/radio-group}/radio-group.ts +1 -1
  414. package/src/form/fields/range/range.test.ts +90 -0
  415. package/src/{range → form/fields/range}/range.ts +34 -13
  416. package/src/{select → form/fields/select}/select.ts +77 -108
  417. package/src/{switch → form/fields/switch}/switch.test.ts +1 -1
  418. package/src/{switch → form/fields/switch}/switch.ts +71 -51
  419. package/src/form/fields/textarea/textarea.test.ts +54 -0
  420. package/src/{textarea → form/fields/textarea}/textarea.ts +33 -72
  421. package/src/form/form-state.ts +31 -0
  422. package/src/form/form-summary.test.ts +105 -0
  423. package/src/form/form-summary.ts +171 -0
  424. package/src/form/form.test.ts +218 -35
  425. package/src/form/form.ts +330 -99
  426. package/src/form/index.ts +2 -0
  427. package/src/index.ts +9 -9
  428. package/types/mixins/formField.mixin.d.ts +90 -0
  429. package/types/src/button/button.d.ts +9 -0
  430. package/types/src/button/button.test.d.ts +3 -0
  431. package/types/src/{autocomplete → form/fields/autocomplete}/autocomplete.d.ts +6 -15
  432. package/types/src/form/fields/checkbox/checkbox.d.ts +47 -0
  433. package/types/src/{date-range → form/fields/date-range}/date-range.d.ts +22 -4
  434. package/types/src/form/fields/date-range/date-range.test.d.ts +1 -0
  435. package/types/src/{input → form/fields/input}/input.d.ts +20 -45
  436. package/types/src/form/fields/input/input.test.d.ts +1 -0
  437. package/types/src/{radio-group → form/fields/radio-group}/radio-button.d.ts +1 -1
  438. package/types/src/{radio-group → form/fields/radio-group}/radio-group.d.ts +1 -1
  439. package/types/src/form/fields/range/range.d.ts +28 -0
  440. package/types/src/form/fields/range/range.test.d.ts +1 -0
  441. package/types/src/{select → form/fields/select}/select.d.ts +23 -24
  442. package/types/src/form/fields/switch/switch.d.ts +57 -0
  443. package/types/src/{textarea → form/fields/textarea}/textarea.d.ts +6 -39
  444. package/types/src/form/fields/textarea/textarea.test.d.ts +1 -0
  445. package/types/src/form/form-state.d.ts +22 -0
  446. package/types/src/form/form-summary.d.ts +42 -0
  447. package/types/src/form/form-summary.test.d.ts +4 -0
  448. package/types/src/form/form.d.ts +79 -34
  449. package/types/src/form/form.test.d.ts +2 -2
  450. package/types/src/form/index.d.ts +2 -0
  451. package/types/src/index.d.ts +9 -9
  452. package/dist/active-host-CcIa2tmW.cjs +0 -1
  453. package/dist/active-host-CvNYoprt.js +0 -57
  454. package/dist/autocomplete-DWSuwSRS.js.map +0 -1
  455. package/dist/autocomplete-iCJOia-q.cjs +0 -115
  456. package/dist/autocomplete-iCJOia-q.cjs.map +0 -1
  457. package/dist/checkbox-NNReP9s_.cjs.map +0 -1
  458. package/dist/date-range-CaOxwZDq.cjs +0 -131
  459. package/dist/date-range-CaOxwZDq.cjs.map +0 -1
  460. package/dist/date-range-CgNujP8r.js.map +0 -1
  461. package/dist/date-range-inline-D4IjOOO0.cjs +0 -43
  462. package/dist/decorate-23nYs4Le.js +0 -7
  463. package/dist/decorate-DpFmy0nm.cjs +0 -1
  464. package/dist/float-CKmd-0-t.cjs +0 -1
  465. package/dist/form-CFvwnfuJ.js +0 -68
  466. package/dist/form-CFvwnfuJ.js.map +0 -1
  467. package/dist/form-Ceijw1aA.cjs +0 -1
  468. package/dist/form-Ceijw1aA.cjs.map +0 -1
  469. package/dist/input-D95GjINh.js.map +0 -1
  470. package/dist/input-D9s4jDAb.cjs +0 -51
  471. package/dist/input-D9s4jDAb.cjs.map +0 -1
  472. package/dist/mixins-BV0w2yIE.js +0 -627
  473. package/dist/mixins-BV0w2yIE.js.map +0 -1
  474. package/dist/mixins-DvAYa-F7.cjs +0 -298
  475. package/dist/mixins-DvAYa-F7.cjs.map +0 -1
  476. package/dist/notification-BC9nG8Sr.cjs +0 -23
  477. package/dist/radio-group-ByMD6Lsj.cjs +0 -40
  478. package/dist/radio-group-ByMD6Lsj.cjs.map +0 -1
  479. package/dist/radio-group-CW8airhZ.js.map +0 -1
  480. package/dist/select-BdBThja4.cjs +0 -56
  481. package/dist/select-BdBThja4.cjs.map +0 -1
  482. package/dist/select-Dbn-CImU.js.map +0 -1
  483. package/dist/state-DNdCPITt.cjs +0 -1
  484. package/dist/surface-BpppoNXN.cjs +0 -7
  485. package/dist/textarea-B9dy-yec.js +0 -211
  486. package/dist/textarea-B9dy-yec.js.map +0 -1
  487. package/dist/textarea-DFY0Flgv.cjs +0 -39
  488. package/dist/textarea-DFY0Flgv.cjs.map +0 -1
  489. package/dist/theme-CpuF3D3q.cjs +0 -181
  490. package/dist/theme-button-B6Xf-EiH.cjs +0 -8
  491. package/src/checkbox/checkbox.ts +0 -162
  492. package/types/src/checkbox/checkbox.d.ts +0 -71
  493. package/types/src/range/range.d.ts +0 -25
  494. package/types/src/switch/switch.d.ts +0 -53
  495. /package/dist/{animation-CO_Csq84.cjs → animation-CCOIW4wJ.cjs} +0 -0
  496. /package/dist/{animation-BK-8BwY8.js → animation-DCznELuT.js} +0 -0
  497. /package/dist/{context-DJTJnSK4.js → context-6oXCZmZN.js} +0 -0
  498. /package/dist/{context-BpCETidA.cjs → context-CRZeiCqq.cjs} +0 -0
  499. /package/dist/{hashContent-Bobsobip.cjs → hashContent-Ck6laKlk.cjs} +0 -0
  500. /package/dist/{hashContent-BU6jl5ih.js → hashContent-dJrI-9sc.js} +0 -0
  501. /package/dist/{lazy-Dq9mRRjT.cjs → lazy-CayEFyC3.cjs} +0 -0
  502. /package/dist/{lazy-B0ia54tT.js → lazy-D-bO2r4m.js} +0 -0
  503. /package/dist/{overlay-stack-DCDS17uj.js → overlay-stack-BR4iYivO.js} +0 -0
  504. /package/dist/{overlay-stack-DPIe_aYv.cjs → overlay-stack-Dk0xETTy.cjs} +0 -0
  505. /package/dist/{reduced-motion-D-L12p7G.js → reduced-motion-D7LqTUMn.js} +0 -0
  506. /package/dist/{reduced-motion-Ds-HjMzn.cjs → reduced-motion-Dzfp_w5x.cjs} +0 -0
  507. /package/dist/{rxjs-utils-CVeJQ9KG.js → rxjs-utils-D9U4MW0Q.js} +0 -0
  508. /package/dist/{rxjs-utils-DCUHg_Ml.cjs → rxjs-utils-kWPShgKu.cjs} +0 -0
  509. /package/dist/{search-BLCRsxIC.cjs → search-DPKoC-dT.cjs} +0 -0
  510. /package/dist/{search-BTz7-Rev.js → search-MvIBA93K.js} +0 -0
  511. /package/dist/{theme.interface-B9TjbSBF.js → theme.interface-C8OHheXg.js} +0 -0
  512. /package/dist/{theme.interface-BujperTo.cjs → theme.interface-CYo4UpWK.cjs} +0 -0
  513. /package/src/{autocomplete → form/fields/autocomplete}/autocomplete.scss +0 -0
  514. /package/src/{autocomplete → form/fields/autocomplete}/index.ts +0 -0
  515. /package/src/{checkbox → form/fields/checkbox}/index.ts +0 -0
  516. /package/src/{date-range → form/fields/date-range}/date-range-dialog.ts +0 -0
  517. /package/src/{date-range → form/fields/date-range}/date-range-helpers.ts +0 -0
  518. /package/src/{date-range → form/fields/date-range}/date-range-presets.ts +0 -0
  519. /package/src/{date-range → form/fields/date-range}/date-utils.ts +0 -0
  520. /package/src/{date-range → form/fields/date-range}/index.ts +0 -0
  521. /package/src/{input → form/fields/input}/index.ts +0 -0
  522. /package/src/{input → form/fields/input}/input.scss +0 -0
  523. /package/src/{radio-group → form/fields/radio-group}/index.ts +0 -0
  524. /package/src/{radio-group → form/fields/radio-group}/radio-group.scss +0 -0
  525. /package/src/{range → form/fields/range}/index.ts +0 -0
  526. /package/src/{select → form/fields/select}/index.ts +0 -0
  527. /package/src/{switch → form/fields/switch}/index.ts +0 -0
  528. /package/src/{textarea → form/fields/textarea}/index.ts +0 -0
  529. /package/src/{textarea → form/fields/textarea}/textarea.scss +0 -0
  530. /package/types/src/{autocomplete → form/fields/autocomplete}/index.d.ts +0 -0
  531. /package/types/src/{checkbox → form/fields/checkbox}/checkbox.test.d.ts +0 -0
  532. /package/types/src/{checkbox → form/fields/checkbox}/index.d.ts +0 -0
  533. /package/types/src/{date-range → form/fields/date-range}/date-range-dialog.d.ts +0 -0
  534. /package/types/src/{date-range → form/fields/date-range}/date-range-helpers.d.ts +0 -0
  535. /package/types/src/{date-range → form/fields/date-range}/date-range-presets.d.ts +0 -0
  536. /package/types/src/{date-range → form/fields/date-range}/date-utils.d.ts +0 -0
  537. /package/types/src/{date-range → form/fields/date-range}/index.d.ts +0 -0
  538. /package/types/src/{input → form/fields/input}/index.d.ts +0 -0
  539. /package/types/src/{radio-group → form/fields/radio-group}/index.d.ts +0 -0
  540. /package/types/src/{range → form/fields/range}/index.d.ts +0 -0
  541. /package/types/src/{select → form/fields/select}/index.d.ts +0 -0
  542. /package/types/src/{switch → form/fields/switch}/index.d.ts +0 -0
  543. /package/types/src/{switch → form/fields/switch}/switch.test.d.ts +0 -0
  544. /package/types/src/{textarea → form/fields/textarea}/index.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"sound.service-BGs6m0Cm.cjs","names":[],"sources":["../src/audio/sound.service.ts"],"sourcesContent":["/**\n * Schmancy Sound Service\n *\n * Centralized sound management following the theme service pattern.\n * Provides reactive observables for sound state and methods to control sounds.\n *\n * @example\n * ```typescript\n * import { sound } from '@schmancy/audio'\n *\n * // Play a feeling sound\n * sound.play('joyful')\n *\n * // Set volume\n * sound.setVolume(0.2)\n *\n * // Apply AI-generated sound theme\n * sound.setTheme(aiGeneratedTheme)\n *\n * // Reset to defaults\n * sound.resetTheme()\n *\n * // Subscribe to theme changes\n * sound.theme$.subscribe(theme => {\n * console.log('Current theme:', theme?.name ?? 'default')\n * })\n * ```\n */\n\nimport { BehaviorSubject, distinctUntilChanged, map, shareReplay } from 'rxjs'\nimport { state } from '../state'\nimport type {\n\tFeeling,\n\tFeelingCategory,\n\tFeelingSound,\n\tPuffParams,\n\tSoundTheme,\n\tSoundThemeSettings,\n\tToneParams,\n} from '../types/mood-audio.types'\n\n// ============================================================================\n// CONTEXT\n// ============================================================================\n\n/** Sound settings — persists to localStorage under namespace `schmancy/sound`. */\nconst SoundContext = state<SoundThemeSettings>('schmancy/sound').local({\n\ttheme: null,\n\tvolume: 0.15,\n\tmuted: false,\n})\n\n// ============================================================================\n// DEFAULT SOUND THEME\n// ============================================================================\n\n/**\n * Default sound definitions for all feelings\n * These are used when no custom theme is applied\n */\nconst DEFAULT_SOUNDS: Record<Feeling, FeelingSound> = {\n\t// ========== HAPPY / PLEASANT ==========\n\tjoyful: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 3000, volume: 0.3 },\n\t\t\t{ startTime: 0.06, duration: 0.1, frequency: 3500, volume: 0.35 },\n\t\t],\n\t\ttones: [\n\t\t\t{ startTime: 0.02, duration: 0.15, frequency: 784, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.1, duration: 0.2, frequency: 988, volume: 0.3, type: 'sine' },\n\t\t\t{ startTime: 0.18, duration: 0.25, frequency: 1175, volume: 0.25, type: 'sine' },\n\t\t],\n\t},\n\tcontent: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 1500, volume: 0.25 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.05, duration: 0.3, frequency: 523, volume: 0.2, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.15, duration: 0.35, frequency: 659, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\texcited: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.06, frequency: 2500, volume: 0.25 },\n\t\t\t{ startTime: 0.05, duration: 0.06, frequency: 3000, volume: 0.3 },\n\t\t\t{ startTime: 0.1, duration: 0.08, frequency: 3500, volume: 0.35 },\n\t\t],\n\t\ttones: [\n\t\t\t{ startTime: 0.02, duration: 0.12, frequency: 880, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.08, duration: 0.12, frequency: 1047, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.14, duration: 0.15, frequency: 1319, volume: 0.3, type: 'sine' },\n\t\t],\n\t},\n\tproud: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1800, volume: 0.3 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.05, duration: 0.25, frequency: 523, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.08, duration: 0.25, frequency: 659, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.11, duration: 0.3, frequency: 784, volume: 0.25, type: 'sine' },\n\t\t],\n\t},\n\thopeful: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 2200, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.03, duration: 0.3, frequency: 659, volume: 0.2, type: 'sine', frequencyEnd: 880 }],\n\t},\n\trelieved: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 1200, volume: 0.35 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.35, frequency: 659, volume: 0.2, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.25, duration: 0.4, frequency: 523, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tgrateful: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1500, volume: 0.25 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.05, duration: 0.3, frequency: 440, volume: 0.2, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.15, duration: 0.35, frequency: 523, volume: 0.2, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.25, duration: 0.4, frequency: 659, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tpeaceful: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 800, volume: 0.15 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.5, frequency: 392, volume: 0.12, type: 'sine', filterFrequency: 500 }],\n\t},\n\tplayful: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.05, frequency: 2800, volume: 0.2 },\n\t\t\t{ startTime: 0.08, duration: 0.05, frequency: 3200, volume: 0.25 },\n\t\t\t{ startTime: 0.14, duration: 0.06, frequency: 2800, volume: 0.2 },\n\t\t],\n\t\ttones: [\n\t\t\t{ startTime: 0.03, duration: 0.1, frequency: 784, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.1, duration: 0.08, frequency: 988, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.16, duration: 0.12, frequency: 784, volume: 0.2, type: 'sine' },\n\t\t],\n\t},\n\tamused: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.04, frequency: 2500, volume: 0.2 },\n\t\t\t{ startTime: 0.06, duration: 0.04, frequency: 2800, volume: 0.22 },\n\t\t\t{ startTime: 0.11, duration: 0.05, frequency: 2600, volume: 0.18 },\n\t\t],\n\t\ttones: [{ startTime: 0.05, duration: 0.15, frequency: 880, volume: 0.15, type: 'sine' }],\n\t},\n\tcurious: {\n\t\tpuffs: [{ startTime: 0, duration: 0.1, frequency: 2000, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.03, duration: 0.2, frequency: 659, volume: 0.2, type: 'sine', frequencyEnd: 880 }],\n\t},\n\tinspired: {\n\t\tpuffs: [{ startTime: 0, duration: 0.1, frequency: 2500, volume: 0.25 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.05, duration: 0.3, frequency: 523, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.07, duration: 0.28, frequency: 784.5, volume: 0.16, type: 'sine' },\n\t\t\t{ startTime: 0.09, duration: 0.26, frequency: 1046, volume: 0.12, type: 'sine' },\n\t\t],\n\t},\n\tconfident: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 1500, volume: 0.3 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.2, frequency: 523, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.06, duration: 0.22, frequency: 659, volume: 0.2, type: 'sine' },\n\t\t],\n\t},\n\tloved: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 1000, volume: 0.2 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.08, duration: 0.4, frequency: 392, volume: 0.18, type: 'sine', filterFrequency: 600 },\n\t\t\t{ startTime: 0.2, duration: 0.45, frequency: 494, volume: 0.15, type: 'sine', filterFrequency: 600 },\n\t\t],\n\t},\n\tcomforted: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 900, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.35, frequency: 523, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.25, duration: 0.4, frequency: 440, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tenergized: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.05, frequency: 3000, volume: 0.25 },\n\t\t\t{ startTime: 0.04, duration: 0.05, frequency: 3500, volume: 0.28 },\n\t\t],\n\t\ttones: [\n\t\t\t{ startTime: 0.02, duration: 0.1, frequency: 784, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.08, duration: 0.12, frequency: 988, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.14, duration: 0.15, frequency: 1175, volume: 0.22, type: 'sine' },\n\t\t],\n\t},\n\tcelebrated: {\n\t\tpuffs: [{ startTime: 0, duration: 0.08, frequency: 2500, volume: 0.2 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.02, duration: 0.18, frequency: 523, volume: 0.22, type: 'sine' },\n\t\t\t{ startTime: 0.08, duration: 0.18, frequency: 659, volume: 0.24, type: 'sine' },\n\t\t\t{ startTime: 0.14, duration: 0.2, frequency: 784, volume: 0.26, type: 'sine' },\n\t\t\t{ startTime: 0.22, duration: 0.3, frequency: 1047, volume: 0.22, type: 'sine' },\n\t\t],\n\t},\n\n\t// ========== SAD / LOW ==========\n\tsad: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.25 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 392, volume: 0.2, type: 'sine', filterFrequency: 400 },\n\t\t\t{ startTime: 0.3, duration: 0.45, frequency: 294, volume: 0.15, type: 'sine', filterFrequency: 350 },\n\t\t],\n\t},\n\tlonely: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 700, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.15, duration: 0.5, frequency: 330, volume: 0.12, type: 'sine', filterFrequency: 450 }],\n\t},\n\tdisappointed: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.08, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', frequencyEnd: 349 }],\n\t},\n\theartbroken: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.25 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 392, volume: 0.2, type: 'sine', filterFrequency: 400 },\n\t\t\t{ startTime: 0.3, duration: 0.45, frequency: 294, volume: 0.15, type: 'sine', filterFrequency: 350 },\n\t\t],\n\t},\n\tgrieving: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.25 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 392, volume: 0.2, type: 'sine', filterFrequency: 400 },\n\t\t\t{ startTime: 0.3, duration: 0.45, frequency: 294, volume: 0.15, type: 'sine', filterFrequency: 350 },\n\t\t],\n\t},\n\thopeless: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 700, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.15, duration: 0.5, frequency: 330, volume: 0.12, type: 'sine', filterFrequency: 450 }],\n\t},\n\tempty: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 700, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.15, duration: 0.5, frequency: 330, volume: 0.12, type: 'sine', filterFrequency: 450 }],\n\t},\n\tdiscouraged: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.08, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', frequencyEnd: 349 }],\n\t},\n\tmelancholic: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 700, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.45, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 500 },\n\t\t\t{ startTime: 0.3, duration: 0.5, frequency: 392, volume: 0.12, type: 'sine', filterFrequency: 450 },\n\t\t],\n\t},\n\thomesick: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.15 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 440, volume: 0.12, type: 'sine', filterFrequency: 500 },\n\t\t\t{ startTime: 0.3, duration: 0.45, frequency: 392, volume: 0.1, type: 'sine', filterFrequency: 450 },\n\t\t],\n\t},\n\thurt: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.25 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 392, volume: 0.2, type: 'sine', filterFrequency: 400 },\n\t\t\t{ startTime: 0.3, duration: 0.45, frequency: 294, volume: 0.15, type: 'sine', filterFrequency: 350 },\n\t\t],\n\t},\n\tmiserable: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.25 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 392, volume: 0.2, type: 'sine', filterFrequency: 400 },\n\t\t\t{ startTime: 0.3, duration: 0.45, frequency: 294, volume: 0.15, type: 'sine', filterFrequency: 350 },\n\t\t],\n\t},\n\tregretful: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 700, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.45, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 500 },\n\t\t\t{ startTime: 0.3, duration: 0.5, frequency: 392, volume: 0.12, type: 'sine', filterFrequency: 450 },\n\t\t],\n\t},\n\tashamed: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.08, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', frequencyEnd: 349 }],\n\t},\n\tinferior: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.08, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', frequencyEnd: 349 }],\n\t},\n\n\t// ========== ANXIOUS / FEARFUL ==========\n\tanxious: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1800, volume: 0.2 },\n\t\t\t{ startTime: 0.12, duration: 0.08, frequency: 1900, volume: 0.22 },\n\t\t],\n\t\ttones: [{ startTime: 0.03, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine' }],\n\t\tdescription: 'Tight, quick puffs with uncertain wobble',\n\t},\n\tworried: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1200, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.05, duration: 0.25, frequency: 349, volume: 0.15, type: 'sine', frequencyEnd: 392 }],\n\t},\n\tafraid: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1800, volume: 0.2 },\n\t\t\t{ startTime: 0.12, duration: 0.08, frequency: 1900, volume: 0.22 },\n\t\t],\n\t\ttones: [{ startTime: 0.03, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine' }],\n\t},\n\tterrified: {\n\t\tpuffs: [{ startTime: 0, duration: 0.04, frequency: 3500, volume: 0.3 }],\n\t\ttones: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1047, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.05, duration: 0.15, frequency: 880, volume: 0.15, type: 'sine' },\n\t\t],\n\t},\n\tpanicked: {\n\t\tpuffs: [{ startTime: 0, duration: 0.04, frequency: 3500, volume: 0.3 }],\n\t\ttones: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1047, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.05, duration: 0.15, frequency: 880, volume: 0.15, type: 'sine' },\n\t\t],\n\t},\n\tnervous: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.05, frequency: 2000, volume: 0.18 },\n\t\t\t{ startTime: 0.08, duration: 0.05, frequency: 2100, volume: 0.18 },\n\t\t\t{ startTime: 0.15, duration: 0.06, frequency: 2000, volume: 0.16 },\n\t\t],\n\t\ttones: [{ startTime: 0.04, duration: 0.2, frequency: 494, volume: 0.12, type: 'sine' }],\n\t},\n\tuneasy: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1200, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.05, duration: 0.25, frequency: 349, volume: 0.15, type: 'sine', frequencyEnd: 392 }],\n\t},\n\tinsecure: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.05, frequency: 2000, volume: 0.18 },\n\t\t\t{ startTime: 0.08, duration: 0.05, frequency: 2100, volume: 0.18 },\n\t\t\t{ startTime: 0.15, duration: 0.06, frequency: 2000, volume: 0.16 },\n\t\t],\n\t\ttones: [{ startTime: 0.04, duration: 0.2, frequency: 494, volume: 0.12, type: 'sine' }],\n\t},\n\toverwhelmed: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1800, volume: 0.2 },\n\t\t\t{ startTime: 0.12, duration: 0.08, frequency: 1900, volume: 0.22 },\n\t\t],\n\t\ttones: [{ startTime: 0.03, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine' }],\n\t},\n\tstressed: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1800, volume: 0.2 },\n\t\t\t{ startTime: 0.12, duration: 0.08, frequency: 1900, volume: 0.22 },\n\t\t],\n\t\ttones: [{ startTime: 0.03, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine' }],\n\t},\n\ttense: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1800, volume: 0.2 },\n\t\t\t{ startTime: 0.12, duration: 0.08, frequency: 1900, volume: 0.22 },\n\t\t],\n\t\ttones: [{ startTime: 0.03, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine' }],\n\t},\n\tapprehensive: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1200, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.05, duration: 0.25, frequency: 349, volume: 0.15, type: 'sine', frequencyEnd: 392 }],\n\t},\n\tstartled: {\n\t\tpuffs: [{ startTime: 0, duration: 0.04, frequency: 3500, volume: 0.3 }],\n\t\ttones: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1047, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.05, duration: 0.15, frequency: 880, volume: 0.15, type: 'sine' },\n\t\t],\n\t},\n\tsuspicious: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1200, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.05, duration: 0.25, frequency: 349, volume: 0.15, type: 'sine', frequencyEnd: 392 }],\n\t},\n\tvulnerable: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.05, frequency: 2000, volume: 0.18 },\n\t\t\t{ startTime: 0.08, duration: 0.05, frequency: 2100, volume: 0.18 },\n\t\t\t{ startTime: 0.15, duration: 0.06, frequency: 2000, volume: 0.16 },\n\t\t],\n\t\ttones: [{ startTime: 0.04, duration: 0.2, frequency: 494, volume: 0.12, type: 'sine' }],\n\t},\n\n\t// ========== ANGRY / FRUSTRATED ==========\n\tannoyed: {\n\t\tpuffs: [{ startTime: 0, duration: 0.1, frequency: 1000, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.03, duration: 0.2, frequency: 294, volume: 0.18, type: 'sine', filterFrequency: 400 }],\n\t},\n\tirritated: {\n\t\tpuffs: [{ startTime: 0, duration: 0.1, frequency: 1000, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.03, duration: 0.2, frequency: 294, volume: 0.18, type: 'sine', filterFrequency: 400 }],\n\t},\n\tfrustrated: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 900, volume: 0.28 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.15, frequency: 349, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.12, duration: 0.12, frequency: 330, volume: 0.18, type: 'sine' },\n\t\t],\n\t},\n\tangry: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 900, volume: 0.28 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.15, frequency: 349, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.12, duration: 0.12, frequency: 330, volume: 0.18, type: 'sine' },\n\t\t],\n\t},\n\tenraged: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 900, volume: 0.28 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.15, frequency: 349, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.12, duration: 0.12, frequency: 330, volume: 0.18, type: 'sine' },\n\t\t],\n\t},\n\tbitter: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 900, volume: 0.28 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.15, frequency: 349, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.12, duration: 0.12, frequency: 330, volume: 0.18, type: 'sine' },\n\t\t],\n\t},\n\tresentful: {\n\t\tpuffs: [{ startTime: 0, duration: 0.1, frequency: 1000, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.03, duration: 0.2, frequency: 294, volume: 0.18, type: 'sine', filterFrequency: 400 }],\n\t},\n\tjealous: {\n\t\tpuffs: [{ startTime: 0, duration: 0.1, frequency: 1000, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.03, duration: 0.2, frequency: 294, volume: 0.18, type: 'sine', filterFrequency: 400 }],\n\t},\n\tenvious: {\n\t\tpuffs: [{ startTime: 0, duration: 0.1, frequency: 1000, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.03, duration: 0.2, frequency: 294, volume: 0.18, type: 'sine', filterFrequency: 400 }],\n\t},\n\tindignant: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 900, volume: 0.28 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.15, frequency: 349, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.12, duration: 0.12, frequency: 330, volume: 0.18, type: 'sine' },\n\t\t],\n\t},\n\timpatient: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.04, frequency: 1500, volume: 0.2 },\n\t\t\t{ startTime: 0.08, duration: 0.04, frequency: 1500, volume: 0.2 },\n\t\t\t{ startTime: 0.16, duration: 0.04, frequency: 1500, volume: 0.22 },\n\t\t],\n\t\ttones: [{ startTime: 0.06, duration: 0.1, frequency: 523, volume: 0.15, type: 'sine' }],\n\t},\n\thostile: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 900, volume: 0.28 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.15, frequency: 349, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.12, duration: 0.12, frequency: 330, volume: 0.18, type: 'sine' },\n\t\t],\n\t},\n\tcontemptuous: {\n\t\tpuffs: [{ startTime: 0, duration: 0.1, frequency: 1000, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.03, duration: 0.2, frequency: 294, volume: 0.18, type: 'sine', filterFrequency: 400 }],\n\t},\n\n\t// ========== TIRED / DRAINED ==========\n\ttired: {\n\t\tpuffs: [{ startTime: 0, duration: 0.35, frequency: 500, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.4, frequency: 330, volume: 0.12, type: 'sine', filterFrequency: 350 }],\n\t},\n\texhausted: {\n\t\tpuffs: [{ startTime: 0, duration: 0.45, frequency: 400, volume: 0.18 }],\n\t\ttones: [{ startTime: 0.15, duration: 0.5, frequency: 294, volume: 0.1, type: 'sine', filterFrequency: 300 }],\n\t},\n\tdrained: {\n\t\tpuffs: [{ startTime: 0, duration: 0.45, frequency: 400, volume: 0.18 }],\n\t\ttones: [{ startTime: 0.15, duration: 0.5, frequency: 294, volume: 0.1, type: 'sine', filterFrequency: 300 }],\n\t},\n\tburnedOut: {\n\t\tpuffs: [{ startTime: 0, duration: 0.45, frequency: 400, volume: 0.18 }],\n\t\ttones: [{ startTime: 0.15, duration: 0.5, frequency: 294, volume: 0.1, type: 'sine', filterFrequency: 300 }],\n\t},\n\tnumb: {\n\t\tpuffs: [{ startTime: 0, duration: 0.45, frequency: 400, volume: 0.18 }],\n\t\ttones: [{ startTime: 0.15, duration: 0.5, frequency: 294, volume: 0.1, type: 'sine', filterFrequency: 300 }],\n\t},\n\tbored: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 600, volume: 0.15 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.3, frequency: 349, volume: 0.1, type: 'sine', filterFrequency: 400 }],\n\t},\n\tunmotivated: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 600, volume: 0.15 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.3, frequency: 349, volume: 0.1, type: 'sine', filterFrequency: 400 }],\n\t},\n\tapathetic: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 600, volume: 0.15 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.3, frequency: 349, volume: 0.1, type: 'sine', filterFrequency: 400 }],\n\t},\n\trestless: {\n\t\tpuffs: [{ startTime: 0, duration: 0.35, frequency: 500, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.4, frequency: 330, volume: 0.12, type: 'sine', filterFrequency: 350 }],\n\t},\n\n\t// ========== CALM / GROUNDED ==========\n\tcalm: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.12 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.5, frequency: 392, volume: 0.1, type: 'sine', filterFrequency: 500 }],\n\t},\n\trelaxed: {\n\t\tpuffs: [{ startTime: 0, duration: 0.35, frequency: 700, volume: 0.15 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.15, duration: 0.45, frequency: 440, volume: 0.1, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.35, duration: 0.5, frequency: 392, volume: 0.08, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tatEase: {\n\t\tpuffs: [{ startTime: 0, duration: 0.35, frequency: 700, volume: 0.15 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.15, duration: 0.45, frequency: 440, volume: 0.1, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.35, duration: 0.5, frequency: 392, volume: 0.08, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tbalanced: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.12 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.5, frequency: 392, volume: 0.1, type: 'sine', filterFrequency: 500 }],\n\t},\n\tstable: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 500, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.4, frequency: 262, volume: 0.15, type: 'sine', filterFrequency: 350 }],\n\t},\n\tsecure: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 700, volume: 0.15 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 349, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.25, duration: 0.45, frequency: 440, volume: 0.1, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tsafe: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 700, volume: 0.15 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 349, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.25, duration: 0.45, frequency: 440, volume: 0.1, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tcentered: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 500, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.4, frequency: 262, volume: 0.15, type: 'sine', filterFrequency: 350 }],\n\t},\n\tgrounded: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 500, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.4, frequency: 262, volume: 0.15, type: 'sine', filterFrequency: 350 }],\n\t},\n\taccepting: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.12 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.5, frequency: 392, volume: 0.1, type: 'sine', filterFrequency: 500 }],\n\t},\n\n\t// ========== CONNECTED / SOCIAL ==========\n\tconnected: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.08, duration: 0.3, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.12, duration: 0.32, frequency: 523, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\taccepted: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1500, volume: 0.2 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.05, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.15, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tincluded: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.08, duration: 0.3, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.12, duration: 0.32, frequency: 523, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tbelonging: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.08, duration: 0.3, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.12, duration: 0.32, frequency: 523, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tappreciated: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1500, volume: 0.2 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.05, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.15, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tvalued: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1500, volume: 0.2 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.05, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.15, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\trespected: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1500, volume: 0.2 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.05, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.15, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tsupported: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 900, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.35, frequency: 349, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.15, duration: 0.4, frequency: 440, volume: 0.1, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tprotective: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 900, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.35, frequency: 349, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.15, duration: 0.4, frequency: 440, volume: 0.1, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tcompassionate: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.08, duration: 0.3, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.12, duration: 0.32, frequency: 523, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tempathetic: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.08, duration: 0.3, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.12, duration: 0.32, frequency: 523, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\n\t// ========== MIXED / COMPLICATED ==========\n\tconflicted: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.2, frequency: 440, volume: 0.12, type: 'sine', frequencyEnd: 494 },\n\t\t\t{ startTime: 0.15, duration: 0.15, frequency: 466, volume: 0.1, type: 'sine' },\n\t\t],\n\t},\n\tconfused: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.2, frequency: 440, volume: 0.12, type: 'sine', frequencyEnd: 494 },\n\t\t\t{ startTime: 0.15, duration: 0.15, frequency: 466, volume: 0.1, type: 'sine' },\n\t\t],\n\t},\n\tambivalent: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.2, frequency: 440, volume: 0.12, type: 'sine', frequencyEnd: 494 },\n\t\t\t{ startTime: 0.15, duration: 0.15, frequency: 466, volume: 0.1, type: 'sine' },\n\t\t],\n\t},\n\tnostalgic: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.15 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 440, volume: 0.12, type: 'sine', filterFrequency: 500 },\n\t\t\t{ startTime: 0.3, duration: 0.45, frequency: 392, volume: 0.1, type: 'sine', filterFrequency: 450 },\n\t\t],\n\t},\n\tguilty: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.08, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', frequencyEnd: 349 }],\n\t},\n\tembarrassed: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.05, frequency: 2000, volume: 0.18 },\n\t\t\t{ startTime: 0.08, duration: 0.05, frequency: 2100, volume: 0.18 },\n\t\t\t{ startTime: 0.15, duration: 0.06, frequency: 2000, volume: 0.16 },\n\t\t],\n\t\ttones: [{ startTime: 0.04, duration: 0.2, frequency: 494, volume: 0.12, type: 'sine' }],\n\t},\n\tsurprised: {\n\t\tpuffs: [{ startTime: 0, duration: 0.06, frequency: 2800, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.02, duration: 0.15, frequency: 659, volume: 0.2, type: 'sine', frequencyEnd: 988 }],\n\t},\n\tshocked: {\n\t\tpuffs: [{ startTime: 0, duration: 0.04, frequency: 3500, volume: 0.3 }],\n\t\ttones: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1047, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.05, duration: 0.15, frequency: 880, volume: 0.15, type: 'sine' },\n\t\t],\n\t},\n\tawestruck: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 1500, volume: 0.2 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.08, duration: 0.4, frequency: 440, volume: 0.15, type: 'sine' },\n\t\t\t{ startTime: 0.1, duration: 0.38, frequency: 660, volume: 0.12, type: 'sine' },\n\t\t\t{ startTime: 0.12, duration: 0.36, frequency: 880, volume: 0.09, type: 'sine' },\n\t\t],\n\t},\n\tskeptical: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.2, frequency: 440, volume: 0.12, type: 'sine', frequencyEnd: 494 },\n\t\t\t{ startTime: 0.15, duration: 0.15, frequency: 466, volume: 0.1, type: 'sine' },\n\t\t],\n\t},\n}\n\n// ============================================================================\n// SOUND SERVICE\n// ============================================================================\n\n/**\n * Sound Service - Provides centralized sound management for Schmancy components\n *\n * Following the theme service pattern:\n * - Has default sounds as fallback\n * - Can receive custom sound theme from AI\n * - Reactive observables for state changes\n * - Persists settings to session storage\n */\nclass SoundService {\n\tprivate static instance: SoundService\n\n\t/** Audio context for Web Audio API */\n\tprivate audioContext: AudioContext | null = null\n\n\t// Public observables derived from context\n\t// Don't use distinctUntilChanged for theme - we need all emissions including storage loads\n\tpublic readonly theme$ = SoundContext.$.pipe(\n\t\tmap(settings => settings.theme),\n\t\tshareReplay(1)\n\t)\n\n\tpublic readonly volume$ = SoundContext.$.pipe(\n\t\tmap(settings => settings.volume),\n\t\tdistinctUntilChanged(),\n\t\tshareReplay(1)\n\t)\n\n\tpublic readonly muted$ = SoundContext.$.pipe(\n\t\tmap(settings => settings.muted),\n\t\tdistinctUntilChanged(),\n\t\tshareReplay(1)\n\t)\n\n\t/** BehaviorSubject for current theme name (for debugging/display) */\n\tprivate readonly _themeName$ = new BehaviorSubject<string>('default')\n\tpublic readonly themeName$ = this._themeName$.asObservable()\n\n\t// Getters for synchronous access\n\tget theme(): SoundTheme | null {\n\t\treturn SoundContext.value.theme\n\t}\n\n\tget volume(): number {\n\t\treturn SoundContext.value.volume\n\t}\n\n\tget muted(): boolean {\n\t\treturn SoundContext.value.muted\n\t}\n\n\tget themeName(): string {\n\t\treturn this.theme?.name ?? 'default'\n\t}\n\n\tprivate constructor() {\n\t\t// Subscribe to theme changes to update theme name\n\t\tthis.theme$.subscribe(theme => {\n\t\t\tthis._themeName$.next(theme?.name ?? 'default')\n\t\t})\n\t}\n\n\t// ==========================================================================\n\t// AUDIO CONTEXT MANAGEMENT\n\t// ==========================================================================\n\n\tprivate getContext(): AudioContext {\n\t\tif (!this.audioContext) {\n\t\t\tconst AudioContextClass =\n\t\t\t\twindow.AudioContext || (window as unknown as { webkitAudioContext: typeof AudioContext }).webkitAudioContext\n\t\t\tthis.audioContext = new AudioContextClass()\n\t\t}\n\t\tif (this.audioContext.state === 'suspended') {\n\t\t\tthis.audioContext.resume()\n\t\t}\n\t\treturn this.audioContext\n\t}\n\n\t// ==========================================================================\n\t// SOUND PRIMITIVES\n\t// ==========================================================================\n\n\t/** Play a puff (breath/air) sound */\n\tprivate playPuff(startTime: number, params: PuffParams, masterVolume: number): void {\n\t\tconst ctx = this.getContext()\n\t\tconst bufferSize = Math.floor(ctx.sampleRate * params.duration)\n\t\tconst buffer = ctx.createBuffer(1, bufferSize, ctx.sampleRate)\n\t\tconst data = buffer.getChannelData(0)\n\n\t\tfor (let i = 0; i < bufferSize; i++) {\n\t\t\tdata[i] = Math.random() * 2 - 1\n\t\t}\n\n\t\tconst noise = ctx.createBufferSource()\n\t\tnoise.buffer = buffer\n\n\t\tconst filter = ctx.createBiquadFilter()\n\t\tfilter.type = 'bandpass'\n\t\tfilter.frequency.value = params.frequency\n\t\tfilter.Q.value = 0.7\n\n\t\tconst gain = ctx.createGain()\n\t\tgain.gain.setValueAtTime(0, startTime)\n\t\tgain.gain.linearRampToValueAtTime(params.volume * masterVolume, startTime + 0.015)\n\t\tgain.gain.exponentialRampToValueAtTime(0.001, startTime + params.duration)\n\n\t\tnoise.connect(filter).connect(gain).connect(ctx.destination)\n\t\tnoise.start(startTime)\n\t\tnoise.stop(startTime + params.duration)\n\t}\n\n\t/** Play a tone (musical) sound */\n\tprivate playTone(startTime: number, params: ToneParams, masterVolume: number): void {\n\t\tconst ctx = this.getContext()\n\t\tconst osc = ctx.createOscillator()\n\t\tconst gain = ctx.createGain()\n\n\t\tosc.type = params.type\n\t\tosc.frequency.setValueAtTime(params.frequency, startTime)\n\n\t\tif (params.frequencyEnd) {\n\t\t\tosc.frequency.exponentialRampToValueAtTime(params.frequencyEnd, startTime + params.duration * 0.8)\n\t\t}\n\n\t\t// Apply filter if specified\n\t\tlet lastNode: AudioNode = osc\n\t\tif (params.filterFrequency) {\n\t\t\tconst filter = ctx.createBiquadFilter()\n\t\t\tfilter.type = 'lowpass'\n\t\t\tfilter.frequency.value = params.filterFrequency\n\t\t\tosc.connect(filter)\n\t\t\tlastNode = filter\n\t\t}\n\n\t\tgain.gain.setValueAtTime(0, startTime)\n\t\tgain.gain.linearRampToValueAtTime(params.volume * masterVolume, startTime + 0.02)\n\t\tgain.gain.exponentialRampToValueAtTime(0.001, startTime + params.duration)\n\n\t\tlastNode.connect(gain).connect(ctx.destination)\n\t\tosc.start(startTime)\n\t\tosc.stop(startTime + params.duration)\n\t}\n\n\t// ==========================================================================\n\t// PUBLIC API - THEME MANAGEMENT\n\t// ==========================================================================\n\n\t/**\n\t * Set a custom sound theme (e.g., from AI generation)\n\t * @param theme The sound theme to apply\n\t */\n\tpublic setTheme(theme: SoundTheme): void {\n\t\tSoundContext.set({ theme })\n\t}\n\n\t/**\n\t * Reset to default sounds (removes custom theme)\n\t */\n\tpublic resetTheme(): void {\n\t\tSoundContext.set({ theme: null })\n\t}\n\n\t/**\n\t * Set volume level (0.0 - 1.0)\n\t * @param volume Volume level\n\t */\n\tpublic setVolume(volume: number): void {\n\t\tSoundContext.set({ volume: Math.max(0, Math.min(1, volume)) })\n\t}\n\n\t/**\n\t * Mute all sounds\n\t */\n\tpublic mute(): void {\n\t\tSoundContext.set({ muted: true })\n\t}\n\n\t/**\n\t * Unmute sounds\n\t */\n\tpublic unmute(): void {\n\t\tSoundContext.set({ muted: false })\n\t}\n\n\t/**\n\t * Toggle mute state\n\t */\n\tpublic toggleMute(): void {\n\t\tSoundContext.set({ muted: !this.muted })\n\t}\n\n\t// ==========================================================================\n\t// PUBLIC API - SOUND PLAYBACK\n\t// ==========================================================================\n\n\t/**\n\t * Get the sound definition for a feeling\n\t * Uses custom theme if available, falls back to defaults\n\t */\n\tpublic getSoundForFeeling(feeling: Feeling): FeelingSound {\n\t\tconst customTheme = this.theme\n\n\t\t// Try custom theme first\n\t\tif (customTheme?.feelings?.[feeling]) {\n\t\t\treturn customTheme.feelings[feeling]!\n\t\t}\n\n\t\t// Try category default from custom theme\n\t\tif (customTheme?.categoryDefaults) {\n\t\t\tconst category = this.getCategoryForFeeling(feeling)\n\t\t\tif (customTheme.categoryDefaults[category]) {\n\t\t\t\treturn customTheme.categoryDefaults[category]!\n\t\t\t}\n\t\t}\n\n\t\t// Fall back to defaults\n\t\treturn DEFAULT_SOUNDS[feeling]\n\t}\n\n\t/**\n\t * Get the category for a feeling\n\t */\n\tprivate getCategoryForFeeling(feeling: Feeling): FeelingCategory {\n\t\tconst happyFeelings: Feeling[] = [\n\t\t\t'joyful',\n\t\t\t'content',\n\t\t\t'excited',\n\t\t\t'proud',\n\t\t\t'hopeful',\n\t\t\t'relieved',\n\t\t\t'grateful',\n\t\t\t'peaceful',\n\t\t\t'playful',\n\t\t\t'amused',\n\t\t\t'curious',\n\t\t\t'inspired',\n\t\t\t'confident',\n\t\t\t'loved',\n\t\t\t'comforted',\n\t\t\t'energized',\n\t\t\t'celebrated',\n\t\t]\n\t\tconst sadFeelings: Feeling[] = [\n\t\t\t'sad',\n\t\t\t'lonely',\n\t\t\t'disappointed',\n\t\t\t'heartbroken',\n\t\t\t'grieving',\n\t\t\t'hopeless',\n\t\t\t'empty',\n\t\t\t'discouraged',\n\t\t\t'melancholic',\n\t\t\t'homesick',\n\t\t\t'hurt',\n\t\t\t'miserable',\n\t\t\t'regretful',\n\t\t\t'ashamed',\n\t\t\t'inferior',\n\t\t]\n\t\tconst anxiousFeelings: Feeling[] = [\n\t\t\t'anxious',\n\t\t\t'worried',\n\t\t\t'afraid',\n\t\t\t'terrified',\n\t\t\t'panicked',\n\t\t\t'nervous',\n\t\t\t'uneasy',\n\t\t\t'insecure',\n\t\t\t'overwhelmed',\n\t\t\t'stressed',\n\t\t\t'tense',\n\t\t\t'apprehensive',\n\t\t\t'startled',\n\t\t\t'suspicious',\n\t\t\t'vulnerable',\n\t\t]\n\t\tconst angryFeelings: Feeling[] = [\n\t\t\t'annoyed',\n\t\t\t'irritated',\n\t\t\t'frustrated',\n\t\t\t'angry',\n\t\t\t'enraged',\n\t\t\t'bitter',\n\t\t\t'resentful',\n\t\t\t'jealous',\n\t\t\t'envious',\n\t\t\t'indignant',\n\t\t\t'impatient',\n\t\t\t'hostile',\n\t\t\t'contemptuous',\n\t\t]\n\t\tconst tiredFeelings: Feeling[] = ['tired', 'exhausted', 'drained', 'burnedOut', 'numb', 'bored', 'unmotivated', 'apathetic', 'restless']\n\t\tconst calmFeelings: Feeling[] = ['calm', 'relaxed', 'atEase', 'balanced', 'stable', 'secure', 'safe', 'centered', 'grounded', 'accepting']\n\t\tconst connectedFeelings: Feeling[] = [\n\t\t\t'connected',\n\t\t\t'accepted',\n\t\t\t'included',\n\t\t\t'belonging',\n\t\t\t'appreciated',\n\t\t\t'valued',\n\t\t\t'respected',\n\t\t\t'supported',\n\t\t\t'protective',\n\t\t\t'compassionate',\n\t\t\t'empathetic',\n\t\t]\n\n\t\tif (happyFeelings.includes(feeling)) return 'happy'\n\t\tif (sadFeelings.includes(feeling)) return 'sad'\n\t\tif (anxiousFeelings.includes(feeling)) return 'anxious'\n\t\tif (angryFeelings.includes(feeling)) return 'angry'\n\t\tif (tiredFeelings.includes(feeling)) return 'tired'\n\t\tif (calmFeelings.includes(feeling)) return 'calm'\n\t\tif (connectedFeelings.includes(feeling)) return 'connected'\n\t\treturn 'mixed'\n\t}\n\n\t/**\n\t * Play a feeling sound\n\t * @param feeling The feeling to play\n\t */\n\tpublic play(feeling: Feeling): void {\n\t\tif (this.muted) return\n\n\t\tconst sound = this.getSoundForFeeling(feeling)\n\t\tconst ctx = this.getContext()\n\t\tconst now = ctx.currentTime\n\n\t\t// Calculate master volume (theme + user setting)\n\t\tconst themeMasterVolume = this.theme?.masterVolume ?? 1\n\t\tconst masterVolume = this.volume * themeMasterVolume\n\n\t\t// Play puffs\n\t\tsound.puffs.forEach(puff => {\n\t\t\tthis.playPuff(now + puff.startTime, puff, masterVolume)\n\t\t})\n\n\t\t// Play tones\n\t\tsound.tones.forEach(tone => {\n\t\t\tthis.playTone(now + tone.startTime, tone, masterVolume)\n\t\t})\n\t}\n\n\t/**\n\t * Dispose audio context\n\t */\n\tpublic dispose(): void {\n\t\tif (this.audioContext) {\n\t\t\tthis.audioContext.close()\n\t\t\tthis.audioContext = null\n\t\t}\n\t}\n\n\t/**\n\t * Get singleton instance\n\t */\n\tstatic getInstance(): SoundService {\n\t\tif (!SoundService.instance) {\n\t\t\tSoundService.instance = new SoundService()\n\t\t}\n\t\treturn SoundService.instance\n\t}\n}\n\n// ============================================================================\n// EXPORTS\n// ============================================================================\n\n/** Global sound service singleton */\nexport const sound = SoundService.getInstance()\nexport const schmancySound = sound // Alias for consistency with theme\n"],"mappings":"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"}
1
+ {"version":3,"file":"sound.service-DyY78ukR.cjs","names":[],"sources":["../src/audio/sound.service.ts"],"sourcesContent":["/**\n * Schmancy Sound Service\n *\n * Centralized sound management following the theme service pattern.\n * Provides reactive observables for sound state and methods to control sounds.\n *\n * @example\n * ```typescript\n * import { sound } from '@schmancy/audio'\n *\n * // Play a feeling sound\n * sound.play('joyful')\n *\n * // Set volume\n * sound.setVolume(0.2)\n *\n * // Apply AI-generated sound theme\n * sound.setTheme(aiGeneratedTheme)\n *\n * // Reset to defaults\n * sound.resetTheme()\n *\n * // Subscribe to theme changes\n * sound.theme$.subscribe(theme => {\n * console.log('Current theme:', theme?.name ?? 'default')\n * })\n * ```\n */\n\nimport { BehaviorSubject, distinctUntilChanged, map, shareReplay } from 'rxjs'\nimport { state } from '../state'\nimport type {\n\tFeeling,\n\tFeelingCategory,\n\tFeelingSound,\n\tPuffParams,\n\tSoundTheme,\n\tSoundThemeSettings,\n\tToneParams,\n} from '../types/mood-audio.types'\n\n// ============================================================================\n// CONTEXT\n// ============================================================================\n\n/** Sound settings — persists to localStorage under namespace `schmancy/sound`. */\nconst SoundContext = state<SoundThemeSettings>('schmancy/sound').local({\n\ttheme: null,\n\tvolume: 0.15,\n\tmuted: false,\n})\n\n// ============================================================================\n// DEFAULT SOUND THEME\n// ============================================================================\n\n/**\n * Default sound definitions for all feelings\n * These are used when no custom theme is applied\n */\nconst DEFAULT_SOUNDS: Record<Feeling, FeelingSound> = {\n\t// ========== HAPPY / PLEASANT ==========\n\tjoyful: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 3000, volume: 0.3 },\n\t\t\t{ startTime: 0.06, duration: 0.1, frequency: 3500, volume: 0.35 },\n\t\t],\n\t\ttones: [\n\t\t\t{ startTime: 0.02, duration: 0.15, frequency: 784, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.1, duration: 0.2, frequency: 988, volume: 0.3, type: 'sine' },\n\t\t\t{ startTime: 0.18, duration: 0.25, frequency: 1175, volume: 0.25, type: 'sine' },\n\t\t],\n\t},\n\tcontent: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 1500, volume: 0.25 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.05, duration: 0.3, frequency: 523, volume: 0.2, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.15, duration: 0.35, frequency: 659, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\texcited: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.06, frequency: 2500, volume: 0.25 },\n\t\t\t{ startTime: 0.05, duration: 0.06, frequency: 3000, volume: 0.3 },\n\t\t\t{ startTime: 0.1, duration: 0.08, frequency: 3500, volume: 0.35 },\n\t\t],\n\t\ttones: [\n\t\t\t{ startTime: 0.02, duration: 0.12, frequency: 880, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.08, duration: 0.12, frequency: 1047, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.14, duration: 0.15, frequency: 1319, volume: 0.3, type: 'sine' },\n\t\t],\n\t},\n\tproud: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1800, volume: 0.3 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.05, duration: 0.25, frequency: 523, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.08, duration: 0.25, frequency: 659, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.11, duration: 0.3, frequency: 784, volume: 0.25, type: 'sine' },\n\t\t],\n\t},\n\thopeful: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 2200, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.03, duration: 0.3, frequency: 659, volume: 0.2, type: 'sine', frequencyEnd: 880 }],\n\t},\n\trelieved: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 1200, volume: 0.35 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.35, frequency: 659, volume: 0.2, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.25, duration: 0.4, frequency: 523, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tgrateful: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1500, volume: 0.25 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.05, duration: 0.3, frequency: 440, volume: 0.2, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.15, duration: 0.35, frequency: 523, volume: 0.2, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.25, duration: 0.4, frequency: 659, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tpeaceful: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 800, volume: 0.15 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.5, frequency: 392, volume: 0.12, type: 'sine', filterFrequency: 500 }],\n\t},\n\tplayful: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.05, frequency: 2800, volume: 0.2 },\n\t\t\t{ startTime: 0.08, duration: 0.05, frequency: 3200, volume: 0.25 },\n\t\t\t{ startTime: 0.14, duration: 0.06, frequency: 2800, volume: 0.2 },\n\t\t],\n\t\ttones: [\n\t\t\t{ startTime: 0.03, duration: 0.1, frequency: 784, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.1, duration: 0.08, frequency: 988, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.16, duration: 0.12, frequency: 784, volume: 0.2, type: 'sine' },\n\t\t],\n\t},\n\tamused: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.04, frequency: 2500, volume: 0.2 },\n\t\t\t{ startTime: 0.06, duration: 0.04, frequency: 2800, volume: 0.22 },\n\t\t\t{ startTime: 0.11, duration: 0.05, frequency: 2600, volume: 0.18 },\n\t\t],\n\t\ttones: [{ startTime: 0.05, duration: 0.15, frequency: 880, volume: 0.15, type: 'sine' }],\n\t},\n\tcurious: {\n\t\tpuffs: [{ startTime: 0, duration: 0.1, frequency: 2000, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.03, duration: 0.2, frequency: 659, volume: 0.2, type: 'sine', frequencyEnd: 880 }],\n\t},\n\tinspired: {\n\t\tpuffs: [{ startTime: 0, duration: 0.1, frequency: 2500, volume: 0.25 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.05, duration: 0.3, frequency: 523, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.07, duration: 0.28, frequency: 784.5, volume: 0.16, type: 'sine' },\n\t\t\t{ startTime: 0.09, duration: 0.26, frequency: 1046, volume: 0.12, type: 'sine' },\n\t\t],\n\t},\n\tconfident: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 1500, volume: 0.3 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.2, frequency: 523, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.06, duration: 0.22, frequency: 659, volume: 0.2, type: 'sine' },\n\t\t],\n\t},\n\tloved: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 1000, volume: 0.2 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.08, duration: 0.4, frequency: 392, volume: 0.18, type: 'sine', filterFrequency: 600 },\n\t\t\t{ startTime: 0.2, duration: 0.45, frequency: 494, volume: 0.15, type: 'sine', filterFrequency: 600 },\n\t\t],\n\t},\n\tcomforted: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 900, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.35, frequency: 523, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.25, duration: 0.4, frequency: 440, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tenergized: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.05, frequency: 3000, volume: 0.25 },\n\t\t\t{ startTime: 0.04, duration: 0.05, frequency: 3500, volume: 0.28 },\n\t\t],\n\t\ttones: [\n\t\t\t{ startTime: 0.02, duration: 0.1, frequency: 784, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.08, duration: 0.12, frequency: 988, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.14, duration: 0.15, frequency: 1175, volume: 0.22, type: 'sine' },\n\t\t],\n\t},\n\tcelebrated: {\n\t\tpuffs: [{ startTime: 0, duration: 0.08, frequency: 2500, volume: 0.2 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.02, duration: 0.18, frequency: 523, volume: 0.22, type: 'sine' },\n\t\t\t{ startTime: 0.08, duration: 0.18, frequency: 659, volume: 0.24, type: 'sine' },\n\t\t\t{ startTime: 0.14, duration: 0.2, frequency: 784, volume: 0.26, type: 'sine' },\n\t\t\t{ startTime: 0.22, duration: 0.3, frequency: 1047, volume: 0.22, type: 'sine' },\n\t\t],\n\t},\n\n\t// ========== SAD / LOW ==========\n\tsad: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.25 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 392, volume: 0.2, type: 'sine', filterFrequency: 400 },\n\t\t\t{ startTime: 0.3, duration: 0.45, frequency: 294, volume: 0.15, type: 'sine', filterFrequency: 350 },\n\t\t],\n\t},\n\tlonely: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 700, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.15, duration: 0.5, frequency: 330, volume: 0.12, type: 'sine', filterFrequency: 450 }],\n\t},\n\tdisappointed: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.08, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', frequencyEnd: 349 }],\n\t},\n\theartbroken: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.25 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 392, volume: 0.2, type: 'sine', filterFrequency: 400 },\n\t\t\t{ startTime: 0.3, duration: 0.45, frequency: 294, volume: 0.15, type: 'sine', filterFrequency: 350 },\n\t\t],\n\t},\n\tgrieving: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.25 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 392, volume: 0.2, type: 'sine', filterFrequency: 400 },\n\t\t\t{ startTime: 0.3, duration: 0.45, frequency: 294, volume: 0.15, type: 'sine', filterFrequency: 350 },\n\t\t],\n\t},\n\thopeless: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 700, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.15, duration: 0.5, frequency: 330, volume: 0.12, type: 'sine', filterFrequency: 450 }],\n\t},\n\tempty: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 700, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.15, duration: 0.5, frequency: 330, volume: 0.12, type: 'sine', filterFrequency: 450 }],\n\t},\n\tdiscouraged: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.08, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', frequencyEnd: 349 }],\n\t},\n\tmelancholic: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 700, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.45, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 500 },\n\t\t\t{ startTime: 0.3, duration: 0.5, frequency: 392, volume: 0.12, type: 'sine', filterFrequency: 450 },\n\t\t],\n\t},\n\thomesick: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.15 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 440, volume: 0.12, type: 'sine', filterFrequency: 500 },\n\t\t\t{ startTime: 0.3, duration: 0.45, frequency: 392, volume: 0.1, type: 'sine', filterFrequency: 450 },\n\t\t],\n\t},\n\thurt: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.25 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 392, volume: 0.2, type: 'sine', filterFrequency: 400 },\n\t\t\t{ startTime: 0.3, duration: 0.45, frequency: 294, volume: 0.15, type: 'sine', filterFrequency: 350 },\n\t\t],\n\t},\n\tmiserable: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.25 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 392, volume: 0.2, type: 'sine', filterFrequency: 400 },\n\t\t\t{ startTime: 0.3, duration: 0.45, frequency: 294, volume: 0.15, type: 'sine', filterFrequency: 350 },\n\t\t],\n\t},\n\tregretful: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 700, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.45, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 500 },\n\t\t\t{ startTime: 0.3, duration: 0.5, frequency: 392, volume: 0.12, type: 'sine', filterFrequency: 450 },\n\t\t],\n\t},\n\tashamed: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.08, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', frequencyEnd: 349 }],\n\t},\n\tinferior: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.08, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', frequencyEnd: 349 }],\n\t},\n\n\t// ========== ANXIOUS / FEARFUL ==========\n\tanxious: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1800, volume: 0.2 },\n\t\t\t{ startTime: 0.12, duration: 0.08, frequency: 1900, volume: 0.22 },\n\t\t],\n\t\ttones: [{ startTime: 0.03, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine' }],\n\t\tdescription: 'Tight, quick puffs with uncertain wobble',\n\t},\n\tworried: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1200, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.05, duration: 0.25, frequency: 349, volume: 0.15, type: 'sine', frequencyEnd: 392 }],\n\t},\n\tafraid: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1800, volume: 0.2 },\n\t\t\t{ startTime: 0.12, duration: 0.08, frequency: 1900, volume: 0.22 },\n\t\t],\n\t\ttones: [{ startTime: 0.03, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine' }],\n\t},\n\tterrified: {\n\t\tpuffs: [{ startTime: 0, duration: 0.04, frequency: 3500, volume: 0.3 }],\n\t\ttones: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1047, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.05, duration: 0.15, frequency: 880, volume: 0.15, type: 'sine' },\n\t\t],\n\t},\n\tpanicked: {\n\t\tpuffs: [{ startTime: 0, duration: 0.04, frequency: 3500, volume: 0.3 }],\n\t\ttones: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1047, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.05, duration: 0.15, frequency: 880, volume: 0.15, type: 'sine' },\n\t\t],\n\t},\n\tnervous: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.05, frequency: 2000, volume: 0.18 },\n\t\t\t{ startTime: 0.08, duration: 0.05, frequency: 2100, volume: 0.18 },\n\t\t\t{ startTime: 0.15, duration: 0.06, frequency: 2000, volume: 0.16 },\n\t\t],\n\t\ttones: [{ startTime: 0.04, duration: 0.2, frequency: 494, volume: 0.12, type: 'sine' }],\n\t},\n\tuneasy: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1200, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.05, duration: 0.25, frequency: 349, volume: 0.15, type: 'sine', frequencyEnd: 392 }],\n\t},\n\tinsecure: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.05, frequency: 2000, volume: 0.18 },\n\t\t\t{ startTime: 0.08, duration: 0.05, frequency: 2100, volume: 0.18 },\n\t\t\t{ startTime: 0.15, duration: 0.06, frequency: 2000, volume: 0.16 },\n\t\t],\n\t\ttones: [{ startTime: 0.04, duration: 0.2, frequency: 494, volume: 0.12, type: 'sine' }],\n\t},\n\toverwhelmed: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1800, volume: 0.2 },\n\t\t\t{ startTime: 0.12, duration: 0.08, frequency: 1900, volume: 0.22 },\n\t\t],\n\t\ttones: [{ startTime: 0.03, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine' }],\n\t},\n\tstressed: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1800, volume: 0.2 },\n\t\t\t{ startTime: 0.12, duration: 0.08, frequency: 1900, volume: 0.22 },\n\t\t],\n\t\ttones: [{ startTime: 0.03, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine' }],\n\t},\n\ttense: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1800, volume: 0.2 },\n\t\t\t{ startTime: 0.12, duration: 0.08, frequency: 1900, volume: 0.22 },\n\t\t],\n\t\ttones: [{ startTime: 0.03, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine' }],\n\t},\n\tapprehensive: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1200, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.05, duration: 0.25, frequency: 349, volume: 0.15, type: 'sine', frequencyEnd: 392 }],\n\t},\n\tstartled: {\n\t\tpuffs: [{ startTime: 0, duration: 0.04, frequency: 3500, volume: 0.3 }],\n\t\ttones: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1047, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.05, duration: 0.15, frequency: 880, volume: 0.15, type: 'sine' },\n\t\t],\n\t},\n\tsuspicious: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1200, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.05, duration: 0.25, frequency: 349, volume: 0.15, type: 'sine', frequencyEnd: 392 }],\n\t},\n\tvulnerable: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.05, frequency: 2000, volume: 0.18 },\n\t\t\t{ startTime: 0.08, duration: 0.05, frequency: 2100, volume: 0.18 },\n\t\t\t{ startTime: 0.15, duration: 0.06, frequency: 2000, volume: 0.16 },\n\t\t],\n\t\ttones: [{ startTime: 0.04, duration: 0.2, frequency: 494, volume: 0.12, type: 'sine' }],\n\t},\n\n\t// ========== ANGRY / FRUSTRATED ==========\n\tannoyed: {\n\t\tpuffs: [{ startTime: 0, duration: 0.1, frequency: 1000, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.03, duration: 0.2, frequency: 294, volume: 0.18, type: 'sine', filterFrequency: 400 }],\n\t},\n\tirritated: {\n\t\tpuffs: [{ startTime: 0, duration: 0.1, frequency: 1000, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.03, duration: 0.2, frequency: 294, volume: 0.18, type: 'sine', filterFrequency: 400 }],\n\t},\n\tfrustrated: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 900, volume: 0.28 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.15, frequency: 349, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.12, duration: 0.12, frequency: 330, volume: 0.18, type: 'sine' },\n\t\t],\n\t},\n\tangry: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 900, volume: 0.28 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.15, frequency: 349, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.12, duration: 0.12, frequency: 330, volume: 0.18, type: 'sine' },\n\t\t],\n\t},\n\tenraged: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 900, volume: 0.28 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.15, frequency: 349, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.12, duration: 0.12, frequency: 330, volume: 0.18, type: 'sine' },\n\t\t],\n\t},\n\tbitter: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 900, volume: 0.28 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.15, frequency: 349, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.12, duration: 0.12, frequency: 330, volume: 0.18, type: 'sine' },\n\t\t],\n\t},\n\tresentful: {\n\t\tpuffs: [{ startTime: 0, duration: 0.1, frequency: 1000, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.03, duration: 0.2, frequency: 294, volume: 0.18, type: 'sine', filterFrequency: 400 }],\n\t},\n\tjealous: {\n\t\tpuffs: [{ startTime: 0, duration: 0.1, frequency: 1000, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.03, duration: 0.2, frequency: 294, volume: 0.18, type: 'sine', filterFrequency: 400 }],\n\t},\n\tenvious: {\n\t\tpuffs: [{ startTime: 0, duration: 0.1, frequency: 1000, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.03, duration: 0.2, frequency: 294, volume: 0.18, type: 'sine', filterFrequency: 400 }],\n\t},\n\tindignant: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 900, volume: 0.28 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.15, frequency: 349, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.12, duration: 0.12, frequency: 330, volume: 0.18, type: 'sine' },\n\t\t],\n\t},\n\timpatient: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.04, frequency: 1500, volume: 0.2 },\n\t\t\t{ startTime: 0.08, duration: 0.04, frequency: 1500, volume: 0.2 },\n\t\t\t{ startTime: 0.16, duration: 0.04, frequency: 1500, volume: 0.22 },\n\t\t],\n\t\ttones: [{ startTime: 0.06, duration: 0.1, frequency: 523, volume: 0.15, type: 'sine' }],\n\t},\n\thostile: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 900, volume: 0.28 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.15, frequency: 349, volume: 0.2, type: 'sine' },\n\t\t\t{ startTime: 0.12, duration: 0.12, frequency: 330, volume: 0.18, type: 'sine' },\n\t\t],\n\t},\n\tcontemptuous: {\n\t\tpuffs: [{ startTime: 0, duration: 0.1, frequency: 1000, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.03, duration: 0.2, frequency: 294, volume: 0.18, type: 'sine', filterFrequency: 400 }],\n\t},\n\n\t// ========== TIRED / DRAINED ==========\n\ttired: {\n\t\tpuffs: [{ startTime: 0, duration: 0.35, frequency: 500, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.4, frequency: 330, volume: 0.12, type: 'sine', filterFrequency: 350 }],\n\t},\n\texhausted: {\n\t\tpuffs: [{ startTime: 0, duration: 0.45, frequency: 400, volume: 0.18 }],\n\t\ttones: [{ startTime: 0.15, duration: 0.5, frequency: 294, volume: 0.1, type: 'sine', filterFrequency: 300 }],\n\t},\n\tdrained: {\n\t\tpuffs: [{ startTime: 0, duration: 0.45, frequency: 400, volume: 0.18 }],\n\t\ttones: [{ startTime: 0.15, duration: 0.5, frequency: 294, volume: 0.1, type: 'sine', filterFrequency: 300 }],\n\t},\n\tburnedOut: {\n\t\tpuffs: [{ startTime: 0, duration: 0.45, frequency: 400, volume: 0.18 }],\n\t\ttones: [{ startTime: 0.15, duration: 0.5, frequency: 294, volume: 0.1, type: 'sine', filterFrequency: 300 }],\n\t},\n\tnumb: {\n\t\tpuffs: [{ startTime: 0, duration: 0.45, frequency: 400, volume: 0.18 }],\n\t\ttones: [{ startTime: 0.15, duration: 0.5, frequency: 294, volume: 0.1, type: 'sine', filterFrequency: 300 }],\n\t},\n\tbored: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 600, volume: 0.15 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.3, frequency: 349, volume: 0.1, type: 'sine', filterFrequency: 400 }],\n\t},\n\tunmotivated: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 600, volume: 0.15 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.3, frequency: 349, volume: 0.1, type: 'sine', filterFrequency: 400 }],\n\t},\n\tapathetic: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 600, volume: 0.15 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.3, frequency: 349, volume: 0.1, type: 'sine', filterFrequency: 400 }],\n\t},\n\trestless: {\n\t\tpuffs: [{ startTime: 0, duration: 0.35, frequency: 500, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.4, frequency: 330, volume: 0.12, type: 'sine', filterFrequency: 350 }],\n\t},\n\n\t// ========== CALM / GROUNDED ==========\n\tcalm: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.12 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.5, frequency: 392, volume: 0.1, type: 'sine', filterFrequency: 500 }],\n\t},\n\trelaxed: {\n\t\tpuffs: [{ startTime: 0, duration: 0.35, frequency: 700, volume: 0.15 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.15, duration: 0.45, frequency: 440, volume: 0.1, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.35, duration: 0.5, frequency: 392, volume: 0.08, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tatEase: {\n\t\tpuffs: [{ startTime: 0, duration: 0.35, frequency: 700, volume: 0.15 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.15, duration: 0.45, frequency: 440, volume: 0.1, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.35, duration: 0.5, frequency: 392, volume: 0.08, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tbalanced: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.12 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.5, frequency: 392, volume: 0.1, type: 'sine', filterFrequency: 500 }],\n\t},\n\tstable: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 500, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.4, frequency: 262, volume: 0.15, type: 'sine', filterFrequency: 350 }],\n\t},\n\tsecure: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 700, volume: 0.15 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 349, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.25, duration: 0.45, frequency: 440, volume: 0.1, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tsafe: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 700, volume: 0.15 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 349, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.25, duration: 0.45, frequency: 440, volume: 0.1, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tcentered: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 500, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.4, frequency: 262, volume: 0.15, type: 'sine', filterFrequency: 350 }],\n\t},\n\tgrounded: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 500, volume: 0.2 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.4, frequency: 262, volume: 0.15, type: 'sine', filterFrequency: 350 }],\n\t},\n\taccepting: {\n\t\tpuffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.12 }],\n\t\ttones: [{ startTime: 0.1, duration: 0.5, frequency: 392, volume: 0.1, type: 'sine', filterFrequency: 500 }],\n\t},\n\n\t// ========== CONNECTED / SOCIAL ==========\n\tconnected: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.08, duration: 0.3, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.12, duration: 0.32, frequency: 523, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\taccepted: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1500, volume: 0.2 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.05, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.15, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tincluded: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.08, duration: 0.3, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.12, duration: 0.32, frequency: 523, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tbelonging: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.08, duration: 0.3, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.12, duration: 0.32, frequency: 523, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tappreciated: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1500, volume: 0.2 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.05, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.15, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tvalued: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1500, volume: 0.2 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.05, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.15, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\trespected: {\n\t\tpuffs: [{ startTime: 0, duration: 0.15, frequency: 1500, volume: 0.2 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.05, duration: 0.25, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.15, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tsupported: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 900, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.35, frequency: 349, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.15, duration: 0.4, frequency: 440, volume: 0.1, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tprotective: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 900, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.35, frequency: 349, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.15, duration: 0.4, frequency: 440, volume: 0.1, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tcompassionate: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.08, duration: 0.3, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.12, duration: 0.32, frequency: 523, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\tempathetic: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.08, duration: 0.3, frequency: 440, volume: 0.15, type: 'sine', filterFrequency: 800 },\n\t\t\t{ startTime: 0.12, duration: 0.32, frequency: 523, volume: 0.12, type: 'sine', filterFrequency: 800 },\n\t\t],\n\t},\n\n\t// ========== MIXED / COMPLICATED ==========\n\tconflicted: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.2, frequency: 440, volume: 0.12, type: 'sine', frequencyEnd: 494 },\n\t\t\t{ startTime: 0.15, duration: 0.15, frequency: 466, volume: 0.1, type: 'sine' },\n\t\t],\n\t},\n\tconfused: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.2, frequency: 440, volume: 0.12, type: 'sine', frequencyEnd: 494 },\n\t\t\t{ startTime: 0.15, duration: 0.15, frequency: 466, volume: 0.1, type: 'sine' },\n\t\t],\n\t},\n\tambivalent: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.2, frequency: 440, volume: 0.12, type: 'sine', frequencyEnd: 494 },\n\t\t\t{ startTime: 0.15, duration: 0.15, frequency: 466, volume: 0.1, type: 'sine' },\n\t\t],\n\t},\n\tnostalgic: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.15 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.1, duration: 0.4, frequency: 440, volume: 0.12, type: 'sine', filterFrequency: 500 },\n\t\t\t{ startTime: 0.3, duration: 0.45, frequency: 392, volume: 0.1, type: 'sine', filterFrequency: 450 },\n\t\t],\n\t},\n\tguilty: {\n\t\tpuffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.08, duration: 0.3, frequency: 523, volume: 0.18, type: 'sine', frequencyEnd: 349 }],\n\t},\n\tembarrassed: {\n\t\tpuffs: [\n\t\t\t{ startTime: 0, duration: 0.05, frequency: 2000, volume: 0.18 },\n\t\t\t{ startTime: 0.08, duration: 0.05, frequency: 2100, volume: 0.18 },\n\t\t\t{ startTime: 0.15, duration: 0.06, frequency: 2000, volume: 0.16 },\n\t\t],\n\t\ttones: [{ startTime: 0.04, duration: 0.2, frequency: 494, volume: 0.12, type: 'sine' }],\n\t},\n\tsurprised: {\n\t\tpuffs: [{ startTime: 0, duration: 0.06, frequency: 2800, volume: 0.25 }],\n\t\ttones: [{ startTime: 0.02, duration: 0.15, frequency: 659, volume: 0.2, type: 'sine', frequencyEnd: 988 }],\n\t},\n\tshocked: {\n\t\tpuffs: [{ startTime: 0, duration: 0.04, frequency: 3500, volume: 0.3 }],\n\t\ttones: [\n\t\t\t{ startTime: 0, duration: 0.08, frequency: 1047, volume: 0.25, type: 'sine' },\n\t\t\t{ startTime: 0.05, duration: 0.15, frequency: 880, volume: 0.15, type: 'sine' },\n\t\t],\n\t},\n\tawestruck: {\n\t\tpuffs: [{ startTime: 0, duration: 0.2, frequency: 1500, volume: 0.2 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.08, duration: 0.4, frequency: 440, volume: 0.15, type: 'sine' },\n\t\t\t{ startTime: 0.1, duration: 0.38, frequency: 660, volume: 0.12, type: 'sine' },\n\t\t\t{ startTime: 0.12, duration: 0.36, frequency: 880, volume: 0.09, type: 'sine' },\n\t\t],\n\t},\n\tskeptical: {\n\t\tpuffs: [{ startTime: 0, duration: 0.12, frequency: 1200, volume: 0.18 }],\n\t\ttones: [\n\t\t\t{ startTime: 0.04, duration: 0.2, frequency: 440, volume: 0.12, type: 'sine', frequencyEnd: 494 },\n\t\t\t{ startTime: 0.15, duration: 0.15, frequency: 466, volume: 0.1, type: 'sine' },\n\t\t],\n\t},\n}\n\n// ============================================================================\n// SOUND SERVICE\n// ============================================================================\n\n/**\n * Sound Service - Provides centralized sound management for Schmancy components\n *\n * Following the theme service pattern:\n * - Has default sounds as fallback\n * - Can receive custom sound theme from AI\n * - Reactive observables for state changes\n * - Persists settings to session storage\n */\nclass SoundService {\n\tprivate static instance: SoundService\n\n\t/** Audio context for Web Audio API */\n\tprivate audioContext: AudioContext | null = null\n\n\t// Public observables derived from context\n\t// Don't use distinctUntilChanged for theme - we need all emissions including storage loads\n\tpublic readonly theme$ = SoundContext.$.pipe(\n\t\tmap(settings => settings.theme),\n\t\tshareReplay(1)\n\t)\n\n\tpublic readonly volume$ = SoundContext.$.pipe(\n\t\tmap(settings => settings.volume),\n\t\tdistinctUntilChanged(),\n\t\tshareReplay(1)\n\t)\n\n\tpublic readonly muted$ = SoundContext.$.pipe(\n\t\tmap(settings => settings.muted),\n\t\tdistinctUntilChanged(),\n\t\tshareReplay(1)\n\t)\n\n\t/** BehaviorSubject for current theme name (for debugging/display) */\n\tprivate readonly _themeName$ = new BehaviorSubject<string>('default')\n\tpublic readonly themeName$ = this._themeName$.asObservable()\n\n\t// Getters for synchronous access\n\tget theme(): SoundTheme | null {\n\t\treturn SoundContext.value.theme\n\t}\n\n\tget volume(): number {\n\t\treturn SoundContext.value.volume\n\t}\n\n\tget muted(): boolean {\n\t\treturn SoundContext.value.muted\n\t}\n\n\tget themeName(): string {\n\t\treturn this.theme?.name ?? 'default'\n\t}\n\n\tprivate constructor() {\n\t\t// Subscribe to theme changes to update theme name\n\t\tthis.theme$.subscribe(theme => {\n\t\t\tthis._themeName$.next(theme?.name ?? 'default')\n\t\t})\n\t}\n\n\t// ==========================================================================\n\t// AUDIO CONTEXT MANAGEMENT\n\t// ==========================================================================\n\n\tprivate getContext(): AudioContext {\n\t\tif (!this.audioContext) {\n\t\t\tconst AudioContextClass =\n\t\t\t\twindow.AudioContext || (window as unknown as { webkitAudioContext: typeof AudioContext }).webkitAudioContext\n\t\t\tthis.audioContext = new AudioContextClass()\n\t\t}\n\t\tif (this.audioContext.state === 'suspended') {\n\t\t\tthis.audioContext.resume()\n\t\t}\n\t\treturn this.audioContext\n\t}\n\n\t// ==========================================================================\n\t// SOUND PRIMITIVES\n\t// ==========================================================================\n\n\t/** Play a puff (breath/air) sound */\n\tprivate playPuff(startTime: number, params: PuffParams, masterVolume: number): void {\n\t\tconst ctx = this.getContext()\n\t\tconst bufferSize = Math.floor(ctx.sampleRate * params.duration)\n\t\tconst buffer = ctx.createBuffer(1, bufferSize, ctx.sampleRate)\n\t\tconst data = buffer.getChannelData(0)\n\n\t\tfor (let i = 0; i < bufferSize; i++) {\n\t\t\tdata[i] = Math.random() * 2 - 1\n\t\t}\n\n\t\tconst noise = ctx.createBufferSource()\n\t\tnoise.buffer = buffer\n\n\t\tconst filter = ctx.createBiquadFilter()\n\t\tfilter.type = 'bandpass'\n\t\tfilter.frequency.value = params.frequency\n\t\tfilter.Q.value = 0.7\n\n\t\tconst gain = ctx.createGain()\n\t\tgain.gain.setValueAtTime(0, startTime)\n\t\tgain.gain.linearRampToValueAtTime(params.volume * masterVolume, startTime + 0.015)\n\t\tgain.gain.exponentialRampToValueAtTime(0.001, startTime + params.duration)\n\n\t\tnoise.connect(filter).connect(gain).connect(ctx.destination)\n\t\tnoise.start(startTime)\n\t\tnoise.stop(startTime + params.duration)\n\t}\n\n\t/** Play a tone (musical) sound */\n\tprivate playTone(startTime: number, params: ToneParams, masterVolume: number): void {\n\t\tconst ctx = this.getContext()\n\t\tconst osc = ctx.createOscillator()\n\t\tconst gain = ctx.createGain()\n\n\t\tosc.type = params.type\n\t\tosc.frequency.setValueAtTime(params.frequency, startTime)\n\n\t\tif (params.frequencyEnd) {\n\t\t\tosc.frequency.exponentialRampToValueAtTime(params.frequencyEnd, startTime + params.duration * 0.8)\n\t\t}\n\n\t\t// Apply filter if specified\n\t\tlet lastNode: AudioNode = osc\n\t\tif (params.filterFrequency) {\n\t\t\tconst filter = ctx.createBiquadFilter()\n\t\t\tfilter.type = 'lowpass'\n\t\t\tfilter.frequency.value = params.filterFrequency\n\t\t\tosc.connect(filter)\n\t\t\tlastNode = filter\n\t\t}\n\n\t\tgain.gain.setValueAtTime(0, startTime)\n\t\tgain.gain.linearRampToValueAtTime(params.volume * masterVolume, startTime + 0.02)\n\t\tgain.gain.exponentialRampToValueAtTime(0.001, startTime + params.duration)\n\n\t\tlastNode.connect(gain).connect(ctx.destination)\n\t\tosc.start(startTime)\n\t\tosc.stop(startTime + params.duration)\n\t}\n\n\t// ==========================================================================\n\t// PUBLIC API - THEME MANAGEMENT\n\t// ==========================================================================\n\n\t/**\n\t * Set a custom sound theme (e.g., from AI generation)\n\t * @param theme The sound theme to apply\n\t */\n\tpublic setTheme(theme: SoundTheme): void {\n\t\tSoundContext.set({ theme })\n\t}\n\n\t/**\n\t * Reset to default sounds (removes custom theme)\n\t */\n\tpublic resetTheme(): void {\n\t\tSoundContext.set({ theme: null })\n\t}\n\n\t/**\n\t * Set volume level (0.0 - 1.0)\n\t * @param volume Volume level\n\t */\n\tpublic setVolume(volume: number): void {\n\t\tSoundContext.set({ volume: Math.max(0, Math.min(1, volume)) })\n\t}\n\n\t/**\n\t * Mute all sounds\n\t */\n\tpublic mute(): void {\n\t\tSoundContext.set({ muted: true })\n\t}\n\n\t/**\n\t * Unmute sounds\n\t */\n\tpublic unmute(): void {\n\t\tSoundContext.set({ muted: false })\n\t}\n\n\t/**\n\t * Toggle mute state\n\t */\n\tpublic toggleMute(): void {\n\t\tSoundContext.set({ muted: !this.muted })\n\t}\n\n\t// ==========================================================================\n\t// PUBLIC API - SOUND PLAYBACK\n\t// ==========================================================================\n\n\t/**\n\t * Get the sound definition for a feeling\n\t * Uses custom theme if available, falls back to defaults\n\t */\n\tpublic getSoundForFeeling(feeling: Feeling): FeelingSound {\n\t\tconst customTheme = this.theme\n\n\t\t// Try custom theme first\n\t\tif (customTheme?.feelings?.[feeling]) {\n\t\t\treturn customTheme.feelings[feeling]!\n\t\t}\n\n\t\t// Try category default from custom theme\n\t\tif (customTheme?.categoryDefaults) {\n\t\t\tconst category = this.getCategoryForFeeling(feeling)\n\t\t\tif (customTheme.categoryDefaults[category]) {\n\t\t\t\treturn customTheme.categoryDefaults[category]!\n\t\t\t}\n\t\t}\n\n\t\t// Fall back to defaults\n\t\treturn DEFAULT_SOUNDS[feeling]\n\t}\n\n\t/**\n\t * Get the category for a feeling\n\t */\n\tprivate getCategoryForFeeling(feeling: Feeling): FeelingCategory {\n\t\tconst happyFeelings: Feeling[] = [\n\t\t\t'joyful',\n\t\t\t'content',\n\t\t\t'excited',\n\t\t\t'proud',\n\t\t\t'hopeful',\n\t\t\t'relieved',\n\t\t\t'grateful',\n\t\t\t'peaceful',\n\t\t\t'playful',\n\t\t\t'amused',\n\t\t\t'curious',\n\t\t\t'inspired',\n\t\t\t'confident',\n\t\t\t'loved',\n\t\t\t'comforted',\n\t\t\t'energized',\n\t\t\t'celebrated',\n\t\t]\n\t\tconst sadFeelings: Feeling[] = [\n\t\t\t'sad',\n\t\t\t'lonely',\n\t\t\t'disappointed',\n\t\t\t'heartbroken',\n\t\t\t'grieving',\n\t\t\t'hopeless',\n\t\t\t'empty',\n\t\t\t'discouraged',\n\t\t\t'melancholic',\n\t\t\t'homesick',\n\t\t\t'hurt',\n\t\t\t'miserable',\n\t\t\t'regretful',\n\t\t\t'ashamed',\n\t\t\t'inferior',\n\t\t]\n\t\tconst anxiousFeelings: Feeling[] = [\n\t\t\t'anxious',\n\t\t\t'worried',\n\t\t\t'afraid',\n\t\t\t'terrified',\n\t\t\t'panicked',\n\t\t\t'nervous',\n\t\t\t'uneasy',\n\t\t\t'insecure',\n\t\t\t'overwhelmed',\n\t\t\t'stressed',\n\t\t\t'tense',\n\t\t\t'apprehensive',\n\t\t\t'startled',\n\t\t\t'suspicious',\n\t\t\t'vulnerable',\n\t\t]\n\t\tconst angryFeelings: Feeling[] = [\n\t\t\t'annoyed',\n\t\t\t'irritated',\n\t\t\t'frustrated',\n\t\t\t'angry',\n\t\t\t'enraged',\n\t\t\t'bitter',\n\t\t\t'resentful',\n\t\t\t'jealous',\n\t\t\t'envious',\n\t\t\t'indignant',\n\t\t\t'impatient',\n\t\t\t'hostile',\n\t\t\t'contemptuous',\n\t\t]\n\t\tconst tiredFeelings: Feeling[] = ['tired', 'exhausted', 'drained', 'burnedOut', 'numb', 'bored', 'unmotivated', 'apathetic', 'restless']\n\t\tconst calmFeelings: Feeling[] = ['calm', 'relaxed', 'atEase', 'balanced', 'stable', 'secure', 'safe', 'centered', 'grounded', 'accepting']\n\t\tconst connectedFeelings: Feeling[] = [\n\t\t\t'connected',\n\t\t\t'accepted',\n\t\t\t'included',\n\t\t\t'belonging',\n\t\t\t'appreciated',\n\t\t\t'valued',\n\t\t\t'respected',\n\t\t\t'supported',\n\t\t\t'protective',\n\t\t\t'compassionate',\n\t\t\t'empathetic',\n\t\t]\n\n\t\tif (happyFeelings.includes(feeling)) return 'happy'\n\t\tif (sadFeelings.includes(feeling)) return 'sad'\n\t\tif (anxiousFeelings.includes(feeling)) return 'anxious'\n\t\tif (angryFeelings.includes(feeling)) return 'angry'\n\t\tif (tiredFeelings.includes(feeling)) return 'tired'\n\t\tif (calmFeelings.includes(feeling)) return 'calm'\n\t\tif (connectedFeelings.includes(feeling)) return 'connected'\n\t\treturn 'mixed'\n\t}\n\n\t/**\n\t * Play a feeling sound\n\t * @param feeling The feeling to play\n\t */\n\tpublic play(feeling: Feeling): void {\n\t\tif (this.muted) return\n\n\t\tconst sound = this.getSoundForFeeling(feeling)\n\t\tconst ctx = this.getContext()\n\t\tconst now = ctx.currentTime\n\n\t\t// Calculate master volume (theme + user setting)\n\t\tconst themeMasterVolume = this.theme?.masterVolume ?? 1\n\t\tconst masterVolume = this.volume * themeMasterVolume\n\n\t\t// Play puffs\n\t\tsound.puffs.forEach(puff => {\n\t\t\tthis.playPuff(now + puff.startTime, puff, masterVolume)\n\t\t})\n\n\t\t// Play tones\n\t\tsound.tones.forEach(tone => {\n\t\t\tthis.playTone(now + tone.startTime, tone, masterVolume)\n\t\t})\n\t}\n\n\t/**\n\t * Dispose audio context\n\t */\n\tpublic dispose(): void {\n\t\tif (this.audioContext) {\n\t\t\tthis.audioContext.close()\n\t\t\tthis.audioContext = null\n\t\t}\n\t}\n\n\t/**\n\t * Get singleton instance\n\t */\n\tstatic getInstance(): SoundService {\n\t\tif (!SoundService.instance) {\n\t\t\tSoundService.instance = new SoundService()\n\t\t}\n\t\treturn SoundService.instance\n\t}\n}\n\n// ============================================================================\n// EXPORTS\n// ============================================================================\n\n/** Global sound service singleton */\nexport const sound = SoundService.getInstance()\nexport const schmancySound = sound // Alias for consistency with theme\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { s as e } from "./mixins-BV0w2yIE.js";
2
- import { t } from "./decorate-23nYs4Le.js";
1
+ import { c as e } from "./mixins-BWb9_e1s.js";
2
+ import { a as t } from "./active-host-BP0zy_Y9.js";
3
3
  import { fromEvent as n, of as r, timer as i, zip as a } from "rxjs";
4
4
  import { take as o, takeUntil as s, tap as c } from "rxjs/operators";
5
5
  import { styleMap as l } from "lit/directives/style-map.js";
@@ -1 +1 @@
1
- {"version":3,"file":"splash-screen-DtkjCJYo.js","names":[],"sources":["../src/splash-screen/splash-screen.ts"],"sourcesContent":["import { SchmancyElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { styleMap } from 'lit/directives/style-map.js'\nimport { fromEvent, of, timer, zip } from 'rxjs'\nimport { take, takeUntil, tap } from 'rxjs/operators'\n\nexport type SchmancySplashScreenDoneEvent = CustomEvent<void>\n\n/**\n * Full-viewport splash overlay that dismisses once a minimum duration has\n * elapsed and (optionally) an external `ready` signal has fired. The splash\n * fades out while the underlying app content fades in.\n *\n * Bring-your-own visuals: the `splash` slot is empty by default so the\n * component pulls in no dependencies. Provide a logo, spinner, or\n * animation from the consumer side.\n *\n * @element schmancy-splash-screen\n * @slot splash - Content rendered on the splash layer (logo, spinner, etc.).\n * @slot - Default slot for the actual app content, revealed once dismissed.\n * @fires schmancy-splash-done - `CustomEvent<void>` when the splash dismisses.\n *\n * @example\n * ```html\n * <schmancy-splash-screen min-duration=\"1200\">\n * <my-logo slot=\"splash\"></my-logo>\n * <my-app></my-app>\n * </schmancy-splash-screen>\n * ```\n */\n@customElement('schmancy-splash-screen')\nexport default class SchmancySplashScreen extends SchmancyElement {\n\tstatic styles = [css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t}\n\n\t.splash-layer {\n\t\tposition: fixed;\n\t\tinset: 0;\n\t\tz-index: 50;\n\t\toverflow: hidden;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tbackground: var(\n\t\t\t--schmancy-splash-background,\n\t\t\tvar(--schmancy-sys-color-surface-containerLowest, #000)\n\t\t);\n\t\ttransition: opacity var(--schmancy-splash-transition, 500ms) ease-out;\n\t}\n\n\t.content-layer {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\ttransition: opacity var(--schmancy-splash-transition, 500ms) ease-in-out;\n\t}\n`]\n\n\t/**\n\t * Minimum duration (ms) the splash layer stays visible. Prevents a flash\n\t * when the app loads faster than expected.\n\t */\n\t@property({ type: Number, attribute: 'min-duration' }) minDuration = 1500\n\n\t/**\n\t * When true, the splash dismisses on the `minDuration` timer alone.\n\t * When false (default), it additionally waits for an external ready signal\n\t * (a `ready` event on this element, or a call to `this.ready()`).\n\t */\n\t@property({ type: Boolean }) auto = false\n\n\t/**\n\t * When true, the splash starts hidden. Use this for imperative control.\n\t */\n\t@property({ type: Boolean, attribute: 'initially-hidden' }) initiallyHidden = false\n\n\t@state() private _visible = true\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\tif (this.initiallyHidden) {\n\t\t\tthis._visible = false\n\t\t\treturn\n\t\t}\n\n\t\tconst readySignal$ = this.auto ? of(null) : fromEvent<Event>(this, 'ready').pipe(take(1))\n\t\tconst minTimer$ = timer(this.minDuration)\n\n\t\tzip(readySignal$, minTimer$)\n\t\t\t.pipe(\n\t\t\t\ttake(1),\n\t\t\t\ttap(() => this._dismiss()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\t/**\n\t * Imperative API: signal that the app is ready and dismiss the splash\n\t * after the minimum duration has elapsed.\n\t */\n\tpublic ready(): void {\n\t\tthis.dispatchEvent(new Event('ready'))\n\t}\n\n\t/**\n\t * Force the splash to show again (e.g. between route transitions).\n\t */\n\tpublic show(): void {\n\t\tthis._visible = true\n\t}\n\n\tprivate _dismiss(): void {\n\t\tthis._visible = false\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<void>('schmancy-splash-done', {\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=\"splash-layer\"\n\t\t\t\taria-hidden=${!this._visible}\n\t\t\t\tstyle=${styleMap({\n\t\t\t\t\topacity: this._visible ? '1' : '0',\n\t\t\t\t\tpointerEvents: this._visible ? 'auto' : 'none',\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot name=\"splash\"></slot>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclass=\"content-layer\"\n\t\t\t\tstyle=${styleMap({\n\t\t\t\t\topacity: this._visible ? '0' : '1',\n\t\t\t\t\tpointerEvents: this._visible ? 'none' : 'auto',\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-splash-screen': SchmancySplashScreen\n\t}\n}\n"],"mappings":";;;;;;;AAgCe,IAAA,IAAA,cAAmC,EAAA;CAAA,YAAA,GAAA,GAAA;AAAA,QAAA,GAAA,EAAA,EAAA,KAAA,cAiCoB,MAAA,KAAA,OAAA,CAOjC,GAAA,KAAA,kBAAA,CAK0C,GAAA,KAAA,WAAA,CAElD;;CAAA;AAAA,OAAA,SA9CZ,CAAC,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDpB,oBAAA;AACC,QAAM,mBAAA,EAEF,KAAK,kBACR,KAAK,WAAA,CAAW,IAOjB,EAHqB,KAAK,OAAO,EAAG,KAAA,GAAQ,EAAiB,MAAM,QAAA,CAAS,KAAK,EAAK,EAAA,CAAA,EACpE,EAAM,KAAK,YAAA,CAAA,CAG3B,KACA,EAAK,EAAA,EACL,QAAU,KAAK,UAAA,CAAA,EACf,EAAU,KAAK,cAAA,CAAA,CAEf,WAAA;;CAOH,QAAA;AACC,OAAK,cAAc,IAAI,MAAM,QAAA,CAAA;;CAM9B,OAAA;AACC,OAAK,WAAA,CAAW;;CAGjB,WAAA;AACC,OAAK,WAAA,CAAW,GAChB,KAAK,cACJ,IAAI,YAAkB,wBAAwB;GAC7C,SAAA,CAAS;GACT,UAAA,CAAU;GAAA,CAAA,CAAA;;CAKb,SAAA;AACC,SAAO,CAAI;;;mBAGM,KAAK,SAAA;YACZ,EAAS;GAChB,SAAS,KAAK,WAAW,MAAM;GAC/B,eAAe,KAAK,WAAW,SAAS;GAAA,CAAA,CAAA;;;;;;YAOjC,EAAS;GAChB,SAAS,KAAK,WAAW,MAAM;GAC/B,eAAe,KAAK,WAAW,SAAS;GAAA,CAAA,CAAA;;;;;;;GA7E3C,EAAS;CAAE,MAAM;CAAQ,WAAW;CAAA,CAAA,CAAA,EAAiB,EAAA,WAAA,eAAA,KAAA,EAAA,EAAA,EAAA,CAOrD,EAAS,EAAE,MAAM,SAAA,CAAA,CAAA,EAAU,EAAA,WAAA,QAAA,KAAA,EAAA,EAAA,EAAA,CAK3B,EAAS;CAAE,MAAM;CAAS,WAAW;CAAA,CAAA,CAAA,EAAqB,EAAA,WAAA,mBAAA,KAAA,EAAA,EAAA,EAAA,CAE1D,GAAA,CAAA,EAAO,EAAA,WAAA,YAAA,KAAA,EAAA,EAAA,IAAA,EAAA,CAhDR,EAAc,yBAAA,CAAA,EAAyB,EAAA"}
1
+ {"version":3,"file":"splash-screen-BcjjJSlK.js","names":[],"sources":["../src/splash-screen/splash-screen.ts"],"sourcesContent":["import { SchmancyElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { styleMap } from 'lit/directives/style-map.js'\nimport { fromEvent, of, timer, zip } from 'rxjs'\nimport { take, takeUntil, tap } from 'rxjs/operators'\n\nexport type SchmancySplashScreenDoneEvent = CustomEvent<void>\n\n/**\n * Full-viewport splash overlay that dismisses once a minimum duration has\n * elapsed and (optionally) an external `ready` signal has fired. The splash\n * fades out while the underlying app content fades in.\n *\n * Bring-your-own visuals: the `splash` slot is empty by default so the\n * component pulls in no dependencies. Provide a logo, spinner, or\n * animation from the consumer side.\n *\n * @element schmancy-splash-screen\n * @slot splash - Content rendered on the splash layer (logo, spinner, etc.).\n * @slot - Default slot for the actual app content, revealed once dismissed.\n * @fires schmancy-splash-done - `CustomEvent<void>` when the splash dismisses.\n *\n * @example\n * ```html\n * <schmancy-splash-screen min-duration=\"1200\">\n * <my-logo slot=\"splash\"></my-logo>\n * <my-app></my-app>\n * </schmancy-splash-screen>\n * ```\n */\n@customElement('schmancy-splash-screen')\nexport default class SchmancySplashScreen extends SchmancyElement {\n\tstatic styles = [css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t}\n\n\t.splash-layer {\n\t\tposition: fixed;\n\t\tinset: 0;\n\t\tz-index: 50;\n\t\toverflow: hidden;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tbackground: var(\n\t\t\t--schmancy-splash-background,\n\t\t\tvar(--schmancy-sys-color-surface-containerLowest, #000)\n\t\t);\n\t\ttransition: opacity var(--schmancy-splash-transition, 500ms) ease-out;\n\t}\n\n\t.content-layer {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\ttransition: opacity var(--schmancy-splash-transition, 500ms) ease-in-out;\n\t}\n`]\n\n\t/**\n\t * Minimum duration (ms) the splash layer stays visible. Prevents a flash\n\t * when the app loads faster than expected.\n\t */\n\t@property({ type: Number, attribute: 'min-duration' }) minDuration = 1500\n\n\t/**\n\t * When true, the splash dismisses on the `minDuration` timer alone.\n\t * When false (default), it additionally waits for an external ready signal\n\t * (a `ready` event on this element, or a call to `this.ready()`).\n\t */\n\t@property({ type: Boolean }) auto = false\n\n\t/**\n\t * When true, the splash starts hidden. Use this for imperative control.\n\t */\n\t@property({ type: Boolean, attribute: 'initially-hidden' }) initiallyHidden = false\n\n\t@state() private _visible = true\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\tif (this.initiallyHidden) {\n\t\t\tthis._visible = false\n\t\t\treturn\n\t\t}\n\n\t\tconst readySignal$ = this.auto ? of(null) : fromEvent<Event>(this, 'ready').pipe(take(1))\n\t\tconst minTimer$ = timer(this.minDuration)\n\n\t\tzip(readySignal$, minTimer$)\n\t\t\t.pipe(\n\t\t\t\ttake(1),\n\t\t\t\ttap(() => this._dismiss()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\t/**\n\t * Imperative API: signal that the app is ready and dismiss the splash\n\t * after the minimum duration has elapsed.\n\t */\n\tpublic ready(): void {\n\t\tthis.dispatchEvent(new Event('ready'))\n\t}\n\n\t/**\n\t * Force the splash to show again (e.g. between route transitions).\n\t */\n\tpublic show(): void {\n\t\tthis._visible = true\n\t}\n\n\tprivate _dismiss(): void {\n\t\tthis._visible = false\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<void>('schmancy-splash-done', {\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=\"splash-layer\"\n\t\t\t\taria-hidden=${!this._visible}\n\t\t\t\tstyle=${styleMap({\n\t\t\t\t\topacity: this._visible ? '1' : '0',\n\t\t\t\t\tpointerEvents: this._visible ? 'auto' : 'none',\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot name=\"splash\"></slot>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclass=\"content-layer\"\n\t\t\t\tstyle=${styleMap({\n\t\t\t\t\topacity: this._visible ? '0' : '1',\n\t\t\t\t\tpointerEvents: this._visible ? 'none' : 'auto',\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-splash-screen': SchmancySplashScreen\n\t}\n}\n"],"mappings":";;;;;;;AAgCe,IAAA,IAAA,cAAmC,EAAA;CAAA,YAAA,GAAA,GAAA;AAAA,QAAA,GAAA,EAAA,EAAA,KAAA,cAiCoB,MAAA,KAAA,OAAA,CAOjC,GAAA,KAAA,kBAAA,CAK0C,GAAA,KAAA,WAAA,CAElD;;CAAA;AAAA,OAAA,SA9CZ,CAAC,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDpB,oBAAA;AACC,QAAM,mBAAA,EAEF,KAAK,kBACR,KAAK,WAAA,CAAW,IAOjB,EAHqB,KAAK,OAAO,EAAG,KAAA,GAAQ,EAAiB,MAAM,QAAA,CAAS,KAAK,EAAK,EAAA,CAAA,EACpE,EAAM,KAAK,YAAA,CAAA,CAG3B,KACA,EAAK,EAAA,EACL,QAAU,KAAK,UAAA,CAAA,EACf,EAAU,KAAK,cAAA,CAAA,CAEf,WAAA;;CAOH,QAAA;AACC,OAAK,cAAc,IAAI,MAAM,QAAA,CAAA;;CAM9B,OAAA;AACC,OAAK,WAAA,CAAW;;CAGjB,WAAA;AACC,OAAK,WAAA,CAAW,GAChB,KAAK,cACJ,IAAI,YAAkB,wBAAwB;GAC7C,SAAA,CAAS;GACT,UAAA,CAAU;GAAA,CAAA,CAAA;;CAKb,SAAA;AACC,SAAO,CAAI;;;mBAGM,KAAK,SAAA;YACZ,EAAS;GAChB,SAAS,KAAK,WAAW,MAAM;GAC/B,eAAe,KAAK,WAAW,SAAS;GAAA,CAAA,CAAA;;;;;;YAOjC,EAAS;GAChB,SAAS,KAAK,WAAW,MAAM;GAC/B,eAAe,KAAK,WAAW,SAAS;GAAA,CAAA,CAAA;;;;;;;GA7E3C,EAAS;CAAE,MAAM;CAAQ,WAAW;CAAA,CAAA,CAAA,EAAiB,EAAA,WAAA,eAAA,KAAA,EAAA,EAAA,EAAA,CAOrD,EAAS,EAAE,MAAM,SAAA,CAAA,CAAA,EAAU,EAAA,WAAA,QAAA,KAAA,EAAA,EAAA,EAAA,CAK3B,EAAS;CAAE,MAAM;CAAS,WAAW;CAAA,CAAA,CAAA,EAAqB,EAAA,WAAA,mBAAA,KAAA,EAAA,EAAA,EAAA,CAE1D,GAAA,CAAA,EAAO,EAAA,WAAA,YAAA,KAAA,EAAA,EAAA,IAAA,EAAA,CAhDR,EAAc,yBAAA,CAAA,EAAyB,EAAA"}
@@ -1,4 +1,4 @@
1
- require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-DvAYa-F7.cjs`),t=require(`./decorate-DpFmy0nm.cjs`);let n=require(`rxjs`),r=require(`rxjs/operators`),i=require(`lit/directives/style-map.js`),a=require(`lit/decorators.js`),o=require(`lit`);var s=class extends e.s{constructor(...e){super(...e),this.minDuration=1500,this.auto=!1,this.initiallyHidden=!1,this._visible=!0}static{this.styles=[o.css`
1
+ require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-BOOu6q2n.cjs`),t=require(`./active-host-jH3iloCR.cjs`);let n=require(`rxjs`),r=require(`rxjs/operators`),i=require(`lit/directives/style-map.js`),a=require(`lit/decorators.js`),o=require(`lit`);var s=class extends e.c{constructor(...e){super(...e),this.minDuration=1500,this.auto=!1,this.initiallyHidden=!1,this._visible=!0}static{this.styles=[o.css`
2
2
  :host {
3
3
  display: block;
4
4
  position: relative;
@@ -38,4 +38,4 @@ require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-DvAYa-F7.cjs`),t=requi
38
38
  >
39
39
  <slot></slot>
40
40
  </div>
41
- `}};t.t([(0,a.property)({type:Number,attribute:`min-duration`})],s.prototype,`minDuration`,void 0),t.t([(0,a.property)({type:Boolean})],s.prototype,`auto`,void 0),t.t([(0,a.property)({type:Boolean,attribute:`initially-hidden`})],s.prototype,`initiallyHidden`,void 0),t.t([(0,a.state)()],s.prototype,`_visible`,void 0),s=t.t([(0,a.customElement)(`schmancy-splash-screen`)],s);
41
+ `}};t.a([(0,a.property)({type:Number,attribute:`min-duration`})],s.prototype,`minDuration`,void 0),t.a([(0,a.property)({type:Boolean})],s.prototype,`auto`,void 0),t.a([(0,a.property)({type:Boolean,attribute:`initially-hidden`})],s.prototype,`initiallyHidden`,void 0),t.a([(0,a.state)()],s.prototype,`_visible`,void 0),s=t.a([(0,a.customElement)(`schmancy-splash-screen`)],s);
@@ -1 +1 @@
1
- {"version":3,"file":"splash-screen-DlQUv-kV.cjs","names":[],"sources":["../src/splash-screen/splash-screen.ts"],"sourcesContent":["import { SchmancyElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { styleMap } from 'lit/directives/style-map.js'\nimport { fromEvent, of, timer, zip } from 'rxjs'\nimport { take, takeUntil, tap } from 'rxjs/operators'\n\nexport type SchmancySplashScreenDoneEvent = CustomEvent<void>\n\n/**\n * Full-viewport splash overlay that dismisses once a minimum duration has\n * elapsed and (optionally) an external `ready` signal has fired. The splash\n * fades out while the underlying app content fades in.\n *\n * Bring-your-own visuals: the `splash` slot is empty by default so the\n * component pulls in no dependencies. Provide a logo, spinner, or\n * animation from the consumer side.\n *\n * @element schmancy-splash-screen\n * @slot splash - Content rendered on the splash layer (logo, spinner, etc.).\n * @slot - Default slot for the actual app content, revealed once dismissed.\n * @fires schmancy-splash-done - `CustomEvent<void>` when the splash dismisses.\n *\n * @example\n * ```html\n * <schmancy-splash-screen min-duration=\"1200\">\n * <my-logo slot=\"splash\"></my-logo>\n * <my-app></my-app>\n * </schmancy-splash-screen>\n * ```\n */\n@customElement('schmancy-splash-screen')\nexport default class SchmancySplashScreen extends SchmancyElement {\n\tstatic styles = [css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t}\n\n\t.splash-layer {\n\t\tposition: fixed;\n\t\tinset: 0;\n\t\tz-index: 50;\n\t\toverflow: hidden;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tbackground: var(\n\t\t\t--schmancy-splash-background,\n\t\t\tvar(--schmancy-sys-color-surface-containerLowest, #000)\n\t\t);\n\t\ttransition: opacity var(--schmancy-splash-transition, 500ms) ease-out;\n\t}\n\n\t.content-layer {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\ttransition: opacity var(--schmancy-splash-transition, 500ms) ease-in-out;\n\t}\n`]\n\n\t/**\n\t * Minimum duration (ms) the splash layer stays visible. Prevents a flash\n\t * when the app loads faster than expected.\n\t */\n\t@property({ type: Number, attribute: 'min-duration' }) minDuration = 1500\n\n\t/**\n\t * When true, the splash dismisses on the `minDuration` timer alone.\n\t * When false (default), it additionally waits for an external ready signal\n\t * (a `ready` event on this element, or a call to `this.ready()`).\n\t */\n\t@property({ type: Boolean }) auto = false\n\n\t/**\n\t * When true, the splash starts hidden. Use this for imperative control.\n\t */\n\t@property({ type: Boolean, attribute: 'initially-hidden' }) initiallyHidden = false\n\n\t@state() private _visible = true\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\tif (this.initiallyHidden) {\n\t\t\tthis._visible = false\n\t\t\treturn\n\t\t}\n\n\t\tconst readySignal$ = this.auto ? of(null) : fromEvent<Event>(this, 'ready').pipe(take(1))\n\t\tconst minTimer$ = timer(this.minDuration)\n\n\t\tzip(readySignal$, minTimer$)\n\t\t\t.pipe(\n\t\t\t\ttake(1),\n\t\t\t\ttap(() => this._dismiss()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\t/**\n\t * Imperative API: signal that the app is ready and dismiss the splash\n\t * after the minimum duration has elapsed.\n\t */\n\tpublic ready(): void {\n\t\tthis.dispatchEvent(new Event('ready'))\n\t}\n\n\t/**\n\t * Force the splash to show again (e.g. between route transitions).\n\t */\n\tpublic show(): void {\n\t\tthis._visible = true\n\t}\n\n\tprivate _dismiss(): void {\n\t\tthis._visible = false\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<void>('schmancy-splash-done', {\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=\"splash-layer\"\n\t\t\t\taria-hidden=${!this._visible}\n\t\t\t\tstyle=${styleMap({\n\t\t\t\t\topacity: this._visible ? '1' : '0',\n\t\t\t\t\tpointerEvents: this._visible ? 'auto' : 'none',\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot name=\"splash\"></slot>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclass=\"content-layer\"\n\t\t\t\tstyle=${styleMap({\n\t\t\t\t\topacity: this._visible ? '0' : '1',\n\t\t\t\t\tpointerEvents: this._visible ? 'none' : 'auto',\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-splash-screen': SchmancySplashScreen\n\t}\n}\n"],"mappings":"yPAgCe,IAAA,EAAA,cAAmC,EAAA,CAAA,CAAA,YAAA,GAAA,EAAA,CAAA,MAAA,GAAA,EAAA,CAAA,KAAA,YAiCoB,KAAA,KAAA,KAAA,CAOjC,EAAA,KAAA,gBAAA,CAK0C,EAAA,KAAA,SAAA,CAElD,EAAA,OAAA,KAAA,OA9CZ,CAAC,EAAA,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDpB,mBAAA,CACC,MAAM,mBAAA,CAEF,KAAK,gBACR,KAAK,SAAA,CAAW,GAOjB,EAAA,EAAA,KAHqB,KAAK,MAAA,EAAA,EAAA,IAAU,KAAA,EAAK,EAAA,EAAA,WAAoB,KAAM,QAAA,CAAS,MAAA,EAAA,EAAA,MAAU,EAAA,CAAA,EAAG,EAAA,EAAA,OACjE,KAAK,YAAA,CAAA,CAG3B,MAAA,EAAA,EAAA,MACK,EAAA,EAAE,EAAA,EAAA,SACG,KAAK,UAAA,CAAA,EAAW,EAAA,EAAA,WAChB,KAAK,cAAA,CAAA,CAEf,WAAA,CAOH,OAAA,CACC,KAAK,cAAc,IAAI,MAAM,QAAA,CAAA,CAM9B,MAAA,CACC,KAAK,SAAA,CAAW,EAGjB,UAAA,CACC,KAAK,SAAA,CAAW,EAChB,KAAK,cACJ,IAAI,YAAkB,uBAAwB,CAC7C,QAAA,CAAS,EACT,SAAA,CAAU,EAAA,CAAA,CAAA,CAKb,QAAA,CACC,MAAO,GAAA,IAAI;;;mBAGM,KAAK,SAAA;2BACH,CAChB,QAAS,KAAK,SAAW,IAAM,IAC/B,cAAe,KAAK,SAAW,OAAS,OAAA,CAAA,CAAA;;;;;;2BAOxB,CAChB,QAAS,KAAK,SAAW,IAAM,IAC/B,cAAe,KAAK,SAAW,OAAS,OAAA,CAAA,CAAA;;;;0BA7ElC,CAAE,KAAM,OAAQ,UAAW,eAAA,CAAA,CAAA,CAAiB,EAAA,UAAA,cAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAO5C,CAAE,KAAM,QAAA,CAAA,CAAA,CAAU,EAAA,UAAA,OAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAKlB,CAAE,KAAM,QAAS,UAAW,mBAAA,CAAA,CAAA,CAAqB,EAAA,UAAA,kBAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,QAAA,CAAA,CAEnD,EAAA,UAAA,WAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,eAhDM,yBAAA,CAAA,CAAyB,EAAA"}
1
+ {"version":3,"file":"splash-screen-Kr1sPtME.cjs","names":[],"sources":["../src/splash-screen/splash-screen.ts"],"sourcesContent":["import { SchmancyElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { styleMap } from 'lit/directives/style-map.js'\nimport { fromEvent, of, timer, zip } from 'rxjs'\nimport { take, takeUntil, tap } from 'rxjs/operators'\n\nexport type SchmancySplashScreenDoneEvent = CustomEvent<void>\n\n/**\n * Full-viewport splash overlay that dismisses once a minimum duration has\n * elapsed and (optionally) an external `ready` signal has fired. The splash\n * fades out while the underlying app content fades in.\n *\n * Bring-your-own visuals: the `splash` slot is empty by default so the\n * component pulls in no dependencies. Provide a logo, spinner, or\n * animation from the consumer side.\n *\n * @element schmancy-splash-screen\n * @slot splash - Content rendered on the splash layer (logo, spinner, etc.).\n * @slot - Default slot for the actual app content, revealed once dismissed.\n * @fires schmancy-splash-done - `CustomEvent<void>` when the splash dismisses.\n *\n * @example\n * ```html\n * <schmancy-splash-screen min-duration=\"1200\">\n * <my-logo slot=\"splash\"></my-logo>\n * <my-app></my-app>\n * </schmancy-splash-screen>\n * ```\n */\n@customElement('schmancy-splash-screen')\nexport default class SchmancySplashScreen extends SchmancyElement {\n\tstatic styles = [css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t}\n\n\t.splash-layer {\n\t\tposition: fixed;\n\t\tinset: 0;\n\t\tz-index: 50;\n\t\toverflow: hidden;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tbackground: var(\n\t\t\t--schmancy-splash-background,\n\t\t\tvar(--schmancy-sys-color-surface-containerLowest, #000)\n\t\t);\n\t\ttransition: opacity var(--schmancy-splash-transition, 500ms) ease-out;\n\t}\n\n\t.content-layer {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\ttransition: opacity var(--schmancy-splash-transition, 500ms) ease-in-out;\n\t}\n`]\n\n\t/**\n\t * Minimum duration (ms) the splash layer stays visible. Prevents a flash\n\t * when the app loads faster than expected.\n\t */\n\t@property({ type: Number, attribute: 'min-duration' }) minDuration = 1500\n\n\t/**\n\t * When true, the splash dismisses on the `minDuration` timer alone.\n\t * When false (default), it additionally waits for an external ready signal\n\t * (a `ready` event on this element, or a call to `this.ready()`).\n\t */\n\t@property({ type: Boolean }) auto = false\n\n\t/**\n\t * When true, the splash starts hidden. Use this for imperative control.\n\t */\n\t@property({ type: Boolean, attribute: 'initially-hidden' }) initiallyHidden = false\n\n\t@state() private _visible = true\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\tif (this.initiallyHidden) {\n\t\t\tthis._visible = false\n\t\t\treturn\n\t\t}\n\n\t\tconst readySignal$ = this.auto ? of(null) : fromEvent<Event>(this, 'ready').pipe(take(1))\n\t\tconst minTimer$ = timer(this.minDuration)\n\n\t\tzip(readySignal$, minTimer$)\n\t\t\t.pipe(\n\t\t\t\ttake(1),\n\t\t\t\ttap(() => this._dismiss()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\t/**\n\t * Imperative API: signal that the app is ready and dismiss the splash\n\t * after the minimum duration has elapsed.\n\t */\n\tpublic ready(): void {\n\t\tthis.dispatchEvent(new Event('ready'))\n\t}\n\n\t/**\n\t * Force the splash to show again (e.g. between route transitions).\n\t */\n\tpublic show(): void {\n\t\tthis._visible = true\n\t}\n\n\tprivate _dismiss(): void {\n\t\tthis._visible = false\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<void>('schmancy-splash-done', {\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=\"splash-layer\"\n\t\t\t\taria-hidden=${!this._visible}\n\t\t\t\tstyle=${styleMap({\n\t\t\t\t\topacity: this._visible ? '1' : '0',\n\t\t\t\t\tpointerEvents: this._visible ? 'auto' : 'none',\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot name=\"splash\"></slot>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclass=\"content-layer\"\n\t\t\t\tstyle=${styleMap({\n\t\t\t\t\topacity: this._visible ? '0' : '1',\n\t\t\t\t\tpointerEvents: this._visible ? 'none' : 'auto',\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-splash-screen': SchmancySplashScreen\n\t}\n}\n"],"mappings":"4PAgCe,IAAA,EAAA,cAAmC,EAAA,CAAA,CAAA,YAAA,GAAA,EAAA,CAAA,MAAA,GAAA,EAAA,CAAA,KAAA,YAiCoB,KAAA,KAAA,KAAA,CAOjC,EAAA,KAAA,gBAAA,CAK0C,EAAA,KAAA,SAAA,CAElD,EAAA,OAAA,KAAA,OA9CZ,CAAC,EAAA,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDpB,mBAAA,CACC,MAAM,mBAAA,CAEF,KAAK,gBACR,KAAK,SAAA,CAAW,GAOjB,EAAA,EAAA,KAHqB,KAAK,MAAA,EAAA,EAAA,IAAU,KAAA,EAAK,EAAA,EAAA,WAAoB,KAAM,QAAA,CAAS,MAAA,EAAA,EAAA,MAAU,EAAA,CAAA,EAAG,EAAA,EAAA,OACjE,KAAK,YAAA,CAAA,CAG3B,MAAA,EAAA,EAAA,MACK,EAAA,EAAE,EAAA,EAAA,SACG,KAAK,UAAA,CAAA,EAAW,EAAA,EAAA,WAChB,KAAK,cAAA,CAAA,CAEf,WAAA,CAOH,OAAA,CACC,KAAK,cAAc,IAAI,MAAM,QAAA,CAAA,CAM9B,MAAA,CACC,KAAK,SAAA,CAAW,EAGjB,UAAA,CACC,KAAK,SAAA,CAAW,EAChB,KAAK,cACJ,IAAI,YAAkB,uBAAwB,CAC7C,QAAA,CAAS,EACT,SAAA,CAAU,EAAA,CAAA,CAAA,CAKb,QAAA,CACC,MAAO,GAAA,IAAI;;;mBAGM,KAAK,SAAA;2BACH,CAChB,QAAS,KAAK,SAAW,IAAM,IAC/B,cAAe,KAAK,SAAW,OAAS,OAAA,CAAA,CAAA;;;;;;2BAOxB,CAChB,QAAS,KAAK,SAAW,IAAM,IAC/B,cAAe,KAAK,SAAW,OAAS,OAAA,CAAA,CAAA;;;;0BA7ElC,CAAE,KAAM,OAAQ,UAAW,eAAA,CAAA,CAAA,CAAiB,EAAA,UAAA,cAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAO5C,CAAE,KAAM,QAAA,CAAA,CAAA,CAAU,EAAA,UAAA,OAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAKlB,CAAE,KAAM,QAAS,UAAW,mBAAA,CAAA,CAAA,CAAqB,EAAA,UAAA,kBAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,QAAA,CAAA,CAEnD,EAAA,UAAA,WAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,eAhDM,yBAAA,CAAA,CAAyB,EAAA"}
@@ -1 +1 @@
1
- require(`./splash-screen-DlQUv-kV.cjs`);
1
+ require(`./splash-screen-Kr1sPtME.cjs`);
@@ -1 +1 @@
1
- import "./splash-screen-DtkjCJYo.js";
1
+ import "./splash-screen-BcjjJSlK.js";