@mhmo91/schmancy 0.10.35 → 0.10.36
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.
- package/custom-elements.json +1155 -1083
- package/dist/SchmancyElement-BBzRWB1w.cjs +2 -0
- package/dist/SchmancyElement-BBzRWB1w.cjs.map +1 -0
- package/dist/SchmancyElement-C3CpdNsi.js +284 -0
- package/dist/SchmancyElement-C3CpdNsi.js.map +1 -0
- package/dist/agent/schmancy.agent.js +3387 -3228
- package/dist/agent/schmancy.agent.js.map +1 -1
- package/dist/agent/schmancy.manifest.json +333 -255
- package/dist/{area-DviXdbDx.js → area-BA96mwFY.js} +2 -2
- package/dist/{area-DviXdbDx.js.map → area-BA96mwFY.js.map} +1 -1
- package/dist/{area-CTSTgjlx.cjs → area-DtyQDdOF.cjs} +1 -1
- package/dist/{area-CTSTgjlx.cjs.map → area-DtyQDdOF.cjs.map} +1 -1
- package/dist/area.cjs +1 -1
- package/dist/area.js +1 -1
- package/dist/{audio-Q9oB_cQR.cjs → audio-B_jT9Xr7.cjs} +1 -1
- package/dist/{audio-Q9oB_cQR.cjs.map → audio-B_jT9Xr7.cjs.map} +1 -1
- package/dist/{audio-DFYoaw0M.js → audio-D52h1jAT.js} +1 -1
- package/dist/{audio-DFYoaw0M.js.map → audio-D52h1jAT.js.map} +1 -1
- package/dist/audio.cjs +1 -1
- package/dist/audio.js +2 -2
- package/dist/{autocomplete-DmLXJr7C.cjs → autocomplete-Bts5Jwwr.cjs} +1 -1
- package/dist/{autocomplete-DmLXJr7C.cjs.map → autocomplete-Bts5Jwwr.cjs.map} +1 -1
- package/dist/{autocomplete-BDvuma6D.js → autocomplete-CI4QJXAN.js} +3 -3
- package/dist/{autocomplete-BDvuma6D.js.map → autocomplete-CI4QJXAN.js.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/avatar.cjs +1 -1
- package/dist/avatar.js +3 -3
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/boat-I4B1UNMc.cjs +34 -0
- package/dist/boat-I4B1UNMc.cjs.map +1 -0
- package/dist/{boat-lr7MPZ7H.js → boat-_N1x5U_3.js} +67 -83
- package/dist/boat-_N1x5U_3.js.map +1 -0
- package/dist/boat.cjs +1 -1
- package/dist/boat.js +1 -1
- package/dist/breadcrumb.cjs +1 -1
- package/dist/breadcrumb.js +2 -2
- package/dist/{busy-CgzZbGfx.cjs → busy-BIUonyPk.cjs} +1 -1
- package/dist/{busy-CgzZbGfx.cjs.map → busy-BIUonyPk.cjs.map} +1 -1
- package/dist/{busy-DgQ4ux5N.js → busy-CCB3qKnh.js} +2 -2
- package/dist/{busy-DgQ4ux5N.js.map → busy-CCB3qKnh.js.map} +1 -1
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/{button-qbN1muQ0.js → button-C89bPnHt.js} +2 -2
- package/dist/{button-qbN1muQ0.js.map → button-C89bPnHt.js.map} +1 -1
- package/dist/{button-DFvR1iXX.cjs → button-CkwQH-g3.cjs} +1 -1
- package/dist/{button-DFvR1iXX.cjs.map → button-CkwQH-g3.cjs.map} +1 -1
- package/dist/button.cjs +4 -4
- package/dist/button.cjs.map +1 -1
- package/dist/button.js +16 -22
- package/dist/button.js.map +1 -1
- package/dist/{card-D_GlwZ5q.cjs → card-BO93_oxQ.cjs} +1 -1
- package/dist/{card-D_GlwZ5q.cjs.map → card-BO93_oxQ.cjs.map} +1 -1
- package/dist/{card-DAbr-7Vy.js → card-CFsCgJKZ.js} +2 -2
- package/dist/{card-DAbr-7Vy.js.map → card-CFsCgJKZ.js.map} +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/{checkbox-BNORaxMF.js → checkbox-Bh7q0djq.js} +2 -2
- package/dist/{checkbox-BNORaxMF.js.map → checkbox-Bh7q0djq.js.map} +1 -1
- package/dist/{checkbox-BUY_uc_r.cjs → checkbox-CFUBUFtW.cjs} +1 -1
- package/dist/{checkbox-BUY_uc_r.cjs.map → checkbox-CFUBUFtW.cjs.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-Dg6Lk6BT.js → chips-6YaoRmeG.js} +145 -122
- package/dist/chips-6YaoRmeG.js.map +1 -0
- package/dist/{chips-CXZ4dJCK.cjs → chips-BfzpsyV1.cjs} +44 -33
- package/dist/chips-BfzpsyV1.cjs.map +1 -0
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +2 -2
- package/dist/connectivity.cjs +1 -1
- package/dist/connectivity.js +3 -3
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/{date-range-BU6WX7d5.js → date-range-CEo_Kjqw.js} +129 -137
- package/dist/date-range-CEo_Kjqw.js.map +1 -0
- package/dist/{date-range-C-_be3_E.cjs → date-range-N-A249O9.cjs} +25 -19
- package/dist/date-range-N-A249O9.cjs.map +1 -0
- package/dist/{date-range-inline-7o7xtVIu.js → date-range-inline-BwialV9j.js} +2 -2
- package/dist/{date-range-inline-7o7xtVIu.js.map → date-range-inline-BwialV9j.js.map} +1 -1
- package/dist/{date-range-inline-DJtUmHKF.cjs → date-range-inline-DFopysWF.cjs} +1 -1
- package/dist/{date-range-inline-DJtUmHKF.cjs.map → date-range-inline-DFopysWF.cjs.map} +1 -1
- package/dist/date-range-inline.cjs +1 -1
- package/dist/date-range-inline.js +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +2 -2
- package/dist/{details-Bs0MyyvF.cjs → details-BLRPV8sY.cjs} +1 -1
- package/dist/{details-Bs0MyyvF.cjs.map → details-BLRPV8sY.cjs.map} +1 -1
- package/dist/{details-EfbDPVEo.js → details-GtpfI2hA.js} +2 -2
- package/dist/{details-EfbDPVEo.js.map → details-GtpfI2hA.js.map} +1 -1
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{directives-zi1Mm2er.js → directives-C2dXgpCY.js} +13 -6
- package/dist/directives-C2dXgpCY.js.map +1 -0
- package/dist/{directives-fLwDj6b0.cjs → directives-CvYGSW_a.cjs} +2 -2
- package/dist/directives-CvYGSW_a.cjs.map +1 -0
- package/dist/directives.cjs +1 -1
- package/dist/directives.js +2 -2
- package/dist/{divider-CEPfrIwe.js → divider-D0pGX2VB.js} +2 -2
- package/dist/{divider-CEPfrIwe.js.map → divider-D0pGX2VB.js.map} +1 -1
- package/dist/{divider-CdIsWZrM.cjs → divider-rNsWCvMi.cjs} +1 -1
- package/dist/{divider-CdIsWZrM.cjs.map → divider-rNsWCvMi.cjs.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +2 -2
- package/dist/{expand-g1vqqUp1.js → expand-FcKAzJta.js} +3 -3
- package/dist/{expand-g1vqqUp1.js.map → expand-FcKAzJta.js.map} +1 -1
- package/dist/{expand--at1k3qo.cjs → expand-tffQHGbZ.cjs} +1 -1
- package/dist/{expand--at1k3qo.cjs.map → expand-tffQHGbZ.cjs.map} +1 -1
- package/dist/expand.cjs +1 -1
- package/dist/expand.js +1 -1
- package/dist/fab.cjs +77 -0
- package/dist/fab.cjs.map +1 -0
- package/dist/fab.js +151 -0
- package/dist/fab.js.map +1 -0
- package/dist/{float-P9HukAm-.cjs → float-CDjgxWyy.cjs} +1 -1
- package/dist/{float-P9HukAm-.cjs.map → float-CDjgxWyy.cjs.map} +1 -1
- package/dist/{float-DxVzgI9o.js → float-CQ1WEp3M.js} +2 -2
- package/dist/{float-DxVzgI9o.js.map → float-CQ1WEp3M.js.map} +1 -1
- package/dist/float.cjs +1 -1
- package/dist/float.js +1 -1
- package/dist/{form-CqLaozHp.js → form-H24puioV.js} +3 -3
- package/dist/{form-CqLaozHp.js.map → form-H24puioV.js.map} +1 -1
- package/dist/{form-ByYhXe1p.cjs → form-VYhbbir3.cjs} +1 -1
- package/dist/{form-ByYhXe1p.cjs.map → form-VYhbbir3.cjs.map} +1 -1
- package/dist/form.cjs +6 -6
- package/dist/form.cjs.map +1 -1
- package/dist/form.js +25 -23
- package/dist/form.js.map +1 -1
- package/dist/handover/agent-runtime-followups.md +1 -1
- package/dist/handover/agent-runtime-v1.md +3 -3
- package/dist/{icons-DYtiRU5V.cjs → icons-B_a1HStW.cjs} +1 -1
- package/dist/{icons-DYtiRU5V.cjs.map → icons-B_a1HStW.cjs.map} +1 -1
- package/dist/{icons-CkphcMp6.js → icons-DBxfN91B.js} +2 -2
- package/dist/{icons-CkphcMp6.js.map → icons-DBxfN91B.js.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/{iframe-CjqJksl8.js → iframe-BDVElN8z.js} +2 -2
- package/dist/{iframe-CjqJksl8.js.map → iframe-BDVElN8z.js.map} +1 -1
- package/dist/{iframe-C3trkP8q.cjs → iframe-CG-z9qev.cjs} +1 -1
- package/dist/{iframe-C3trkP8q.cjs.map → iframe-CG-z9qev.cjs.map} +1 -1
- package/dist/iframe.cjs +1 -1
- package/dist/iframe.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +57 -56
- package/dist/{input-DuavpwNL.cjs → input-B14Nn6xD.cjs} +1 -1
- package/dist/{input-DuavpwNL.cjs.map → input-B14Nn6xD.cjs.map} +1 -1
- package/dist/{input-CG51zDVh.js → input-Bt_o4sYo.js} +2 -2
- package/dist/{input-CG51zDVh.js.map → input-Bt_o4sYo.js.map} +1 -1
- package/dist/{input-chip-C6Lq1927.js → input-chip-DEqO0DXc.js} +2 -2
- package/dist/input-chip-DEqO0DXc.js.map +1 -0
- package/dist/{input-chip-57tgNXKT.cjs → input-chip-ugYu9Fn9.cjs} +1 -1
- package/dist/input-chip-ugYu9Fn9.cjs.map +1 -0
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/json.cjs +1 -1
- package/dist/json.js +3 -3
- package/dist/kbd.cjs +1 -1
- package/dist/kbd.js +2 -2
- package/dist/{layout-D4IOwx7p.js → layout-BJ_43VrH.js} +1 -1
- package/dist/{layout-D4IOwx7p.js.map → layout-BJ_43VrH.js.map} +1 -1
- package/dist/{layout-6ipbiWTl.cjs → layout-DF9ZaQ-b.cjs} +1 -1
- package/dist/{layout-6ipbiWTl.cjs.map → layout-DF9ZaQ-b.cjs.map} +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +2 -2
- package/dist/{lightbox-H8pVWGMX.cjs → lightbox-B47Zoqv-.cjs} +1 -1
- package/dist/{lightbox-H8pVWGMX.cjs.map → lightbox-B47Zoqv-.cjs.map} +1 -1
- package/dist/{lightbox-CsyO2XSr.js → lightbox-ZmuoBBFT.js} +2 -2
- package/dist/{lightbox-CsyO2XSr.js.map → lightbox-ZmuoBBFT.js.map} +1 -1
- package/dist/lightbox.cjs +1 -1
- package/dist/lightbox.js +1 -1
- package/dist/{list-BAwH0pQW.js → list-C47xzld_.js} +2 -2
- package/dist/{list-BAwH0pQW.js.map → list-C47xzld_.js.map} +1 -1
- package/dist/{list-Bs9m8kw7.cjs → list-CaSWrlG2.cjs} +1 -1
- package/dist/{list-Bs9m8kw7.cjs.map → list-CaSWrlG2.cjs.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{menu-tQVARVaC.js → menu-8RObM6Ie.js} +3 -3
- package/dist/{menu-tQVARVaC.js.map → menu-8RObM6Ie.js.map} +1 -1
- package/dist/{menu-BMcGzj1h.cjs → menu-Jpsy85SX.cjs} +1 -1
- package/dist/{menu-BMcGzj1h.cjs.map → menu-Jpsy85SX.cjs.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/{mixins-CGXSzZc7.cjs → mixins-DPdzC9ZH.cjs} +1 -1
- package/dist/{mixins-CGXSzZc7.cjs.map → mixins-DPdzC9ZH.cjs.map} +1 -1
- package/dist/{mixins-Bp0wIHg2.js → mixins-DTzfFVyv.js} +1 -1
- package/dist/{mixins-Bp0wIHg2.js.map → mixins-DTzfFVyv.js.map} +1 -1
- package/dist/mixins.cjs +1 -1
- package/dist/mixins.js +2 -2
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +1 -1
- package/dist/navigation-bar.cjs +1 -1
- package/dist/navigation-bar.js +1 -1
- package/dist/navigation-rail.cjs +1 -1
- package/dist/navigation-rail.js +2 -2
- package/dist/{notification-D1tX2nx5.js → notification-Ccktcj9H.js} +4 -4
- package/dist/{notification-D1tX2nx5.js.map → notification-Ccktcj9H.js.map} +1 -1
- package/dist/{notification-Bz00zdpV.cjs → notification-DSkB-sn0.cjs} +1 -1
- package/dist/{notification-Bz00zdpV.cjs.map → notification-DSkB-sn0.cjs.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/{option-BnybLEDO.cjs → option-0aNiVB3Q.cjs} +1 -1
- package/dist/{option-BnybLEDO.cjs.map → option-0aNiVB3Q.cjs.map} +1 -1
- package/dist/{option-BpGV8Apj.js → option-CkMxwBqU.js} +2 -2
- package/dist/{option-BpGV8Apj.js.map → option-CkMxwBqU.js.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{overlay-UQR2Dy3u.cjs → overlay-BS-ta-zq.cjs} +5 -5
- package/dist/overlay-BS-ta-zq.cjs.map +1 -0
- package/dist/{overlay-BpNhd74N.js → overlay-H3Wt_dgQ.js} +108 -108
- package/dist/overlay-H3Wt_dgQ.js.map +1 -0
- package/dist/overlay.cjs +1 -1
- package/dist/{overlay.confirm-body-CVDtVk5X.cjs → overlay.confirm-body-CR9xaqOE.cjs} +1 -1
- package/dist/{overlay.confirm-body-CVDtVk5X.cjs.map → overlay.confirm-body-CR9xaqOE.cjs.map} +1 -1
- package/dist/{overlay.confirm-body-BHcXu5Wk.js → overlay.confirm-body-Dxn_wNm3.js} +6 -6
- package/dist/{overlay.confirm-body-BHcXu5Wk.js.map → overlay.confirm-body-Dxn_wNm3.js.map} +1 -1
- package/dist/overlay.js +3 -3
- package/dist/{overlay.service-DTE6NwIM.js → overlay.service-C46kOtUi.js} +2 -2
- package/dist/{overlay.service-DTE6NwIM.js.map → overlay.service-C46kOtUi.js.map} +1 -1
- package/dist/{overlay.service-C8RsQzgM.cjs → overlay.service-DEj3rfRr.cjs} +1 -1
- package/dist/{overlay.service-C8RsQzgM.cjs.map → overlay.service-DEj3rfRr.cjs.map} +1 -1
- package/dist/{progress-CAKsxp29.js → progress-BK7gSq8j.js} +2 -2
- package/dist/{progress-CAKsxp29.js.map → progress-BK7gSq8j.js.map} +1 -1
- package/dist/{progress-gbIALDRs.cjs → progress-zs18GR6C.cjs} +1 -1
- package/dist/{progress-gbIALDRs.cjs.map → progress-zs18GR6C.cjs.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{radio-group-otyvZvUk.js → radio-group-1HCpzRUB.js} +2 -2
- package/dist/{radio-group-otyvZvUk.js.map → radio-group-1HCpzRUB.js.map} +1 -1
- package/dist/{radio-group-CfJ5DtI4.cjs → radio-group-DbYlyPc-.cjs} +1 -1
- package/dist/{radio-group-CfJ5DtI4.cjs.map → radio-group-DbYlyPc-.cjs.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/range.cjs +1 -1
- package/dist/range.js +2 -2
- package/dist/{select-81jniVTs.cjs → select-B-SSmUDe.cjs} +1 -1
- package/dist/{select-81jniVTs.cjs.map → select-B-SSmUDe.cjs.map} +1 -1
- package/dist/{select-9vXx1fhr.js → select-CEyhNtZ2.js} +3 -3
- package/dist/{select-9vXx1fhr.js.map → select-CEyhNtZ2.js.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/skeleton.cjs +1 -1
- package/dist/skeleton.js +2 -2
- package/dist/skills/INDEX.md +1 -1
- package/dist/skills/SKILL.md +6 -7
- package/dist/skills/boat.md +21 -15
- package/dist/skills/fab.md +75 -0
- package/dist/skills/schmancy/INDEX.md +1 -1
- package/dist/skills/schmancy/SKILL.md +6 -7
- package/dist/skills/schmancy/boat.md +21 -15
- package/dist/skills/schmancy/fab.md +75 -0
- package/dist/skills/schmancy/theme.md +1 -1
- package/dist/skills/theme.md +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +2 -2
- package/dist/{sound.service-D3ZSq1Kj.js → sound.service-DO4SmUUT.js} +1 -1
- package/dist/{sound.service-D3ZSq1Kj.js.map → sound.service-DO4SmUUT.js.map} +1 -1
- package/dist/{sound.service-CmIw63aM.cjs → sound.service-G_8GV_6L.cjs} +1 -1
- package/dist/{sound.service-CmIw63aM.cjs.map → sound.service-G_8GV_6L.cjs.map} +1 -1
- package/dist/{splash-screen-BOjrmGLk.js → splash-screen-B1mM4_xz.js} +2 -2
- package/dist/{splash-screen-BOjrmGLk.js.map → splash-screen-B1mM4_xz.js.map} +1 -1
- package/dist/{splash-screen-C5KAWXvA.cjs → splash-screen-cbz4bxjB.cjs} +1 -1
- package/dist/{splash-screen-C5KAWXvA.cjs.map → splash-screen-cbz4bxjB.cjs.map} +1 -1
- package/dist/splash-screen.cjs +1 -1
- package/dist/splash-screen.js +1 -1
- package/dist/{src-qzUpLbje.cjs → src-czeiuT1m.cjs} +1 -1
- package/dist/{src-qzUpLbje.cjs.map → src-czeiuT1m.cjs.map} +1 -1
- package/dist/{src-C5g3p1J5.js → src-tncsWsTY.js} +36 -35
- package/dist/{src-C5g3p1J5.js.map → src-tncsWsTY.js.map} +1 -1
- package/dist/{state-Cex3rmx2.cjs → state-Cx0aoL5e.cjs} +1 -1
- package/dist/{state-Cex3rmx2.cjs.map → state-Cx0aoL5e.cjs.map} +1 -1
- package/dist/{state-CWBRTSvE.js → state-DJDp3N7J.js} +1 -1
- package/dist/{state-CWBRTSvE.js.map → state-DJDp3N7J.js.map} +1 -1
- package/dist/state.cjs +1 -1
- package/dist/state.js +2 -2
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +2 -2
- package/dist/{surface-PfiejLuw.cjs → surface-C3cxTcJD.cjs} +1 -1
- package/dist/{surface-PfiejLuw.cjs.map → surface-C3cxTcJD.cjs.map} +1 -1
- package/dist/{surface-9S5scTsD.js → surface-CYBl8_a3.js} +2 -2
- package/dist/{surface-9S5scTsD.js.map → surface-CYBl8_a3.js.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/switch.cjs +1 -1
- package/dist/switch.js +2 -2
- package/dist/table.cjs +1 -1
- package/dist/table.js +2 -2
- package/dist/{tabs-BBOjAmgG.js → tabs-DHy93Q3N.js} +2 -2
- package/dist/{tabs-BBOjAmgG.js.map → tabs-DHy93Q3N.js.map} +1 -1
- package/dist/{tabs-uYvb1P06.cjs → tabs-ORQ_Zd43.cjs} +1 -1
- package/dist/{tabs-uYvb1P06.cjs.map → tabs-ORQ_Zd43.cjs.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-YPHX4g7Y.cjs → textarea-CEUaDURR.cjs} +1 -1
- package/dist/{textarea-YPHX4g7Y.cjs.map → textarea-CEUaDURR.cjs.map} +1 -1
- package/dist/{textarea-QzSj8Dkl.js → textarea-DHIMt-ly.js} +2 -2
- package/dist/{textarea-QzSj8Dkl.js.map → textarea-DHIMt-ly.js.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/theme-CJpjkqHr.cjs +181 -0
- package/dist/{theme-iKUaS9JB.cjs.map → theme-CJpjkqHr.cjs.map} +1 -1
- package/dist/{theme-C2Mp-VGt.js → theme-CgI9PRco.js} +6 -5
- package/dist/{theme-C2Mp-VGt.js.map → theme-CgI9PRco.js.map} +1 -1
- package/dist/{theme-button-CJmhxfMe.cjs → theme-button--FuBkuVr.cjs} +1 -1
- package/dist/{theme-button-CJmhxfMe.cjs.map → theme-button--FuBkuVr.cjs.map} +1 -1
- package/dist/{theme-button-DGWAXhzd.js → theme-button-D-FXb3oO.js} +2 -2
- package/dist/{theme-button-DGWAXhzd.js.map → theme-button-D-FXb3oO.js.map} +1 -1
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/theme.js +3 -3
- package/dist/{theme.service-hc4N-1Oz.js → theme.service-BfTK1Wtl.js} +1 -1
- package/dist/{theme.service-hc4N-1Oz.js.map → theme.service-BfTK1Wtl.js.map} +1 -1
- package/dist/{theme.service-p61RsJBF.cjs → theme.service-Dg7LO0Qz.cjs} +1 -1
- package/dist/{theme.service-p61RsJBF.cjs.map → theme.service-Dg7LO0Qz.cjs.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +2 -2
- package/dist/{typography-DwV0sqht.js → typography-BEGLfHwz.js} +2 -2
- package/dist/{typography-DwV0sqht.js.map → typography-BEGLfHwz.js.map} +1 -1
- package/dist/{typography-Bdt8RlX2.cjs → typography-CxA3sx9B.cjs} +1 -1
- package/dist/{typography-Bdt8RlX2.cjs.map → typography-CxA3sx9B.cjs.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/dist/visually-hidden.cjs +1 -1
- package/dist/visually-hidden.js +2 -2
- package/dist/{window-n4jN60B_.js → window-B_n4P9az.js} +3 -3
- package/dist/{window-n4jN60B_.js.map → window-B_n4P9az.js.map} +1 -1
- package/dist/{window-D2WfvNng.cjs → window-Vl1u1-EG.cjs} +1 -1
- package/dist/{window-D2WfvNng.cjs.map → window-Vl1u1-EG.cjs.map} +1 -1
- package/dist/window.cjs +1 -1
- package/dist/window.js +1 -1
- package/package.json +1 -1
- package/skills/schmancy/INDEX.md +1 -1
- package/skills/schmancy/SKILL.md +6 -7
- package/skills/schmancy/boat.md +21 -15
- package/skills/schmancy/fab.md +75 -0
- package/skills/schmancy/theme.md +1 -1
- package/src/CLAUDE.md +22 -16
- package/src/boat/boat.test.ts +130 -0
- package/src/boat/boat.ts +144 -121
- package/src/button/icon-button.ts +18 -30
- package/src/chips/assist-chip.ts +2 -263
- package/src/chips/chips.ts +2 -259
- package/src/chips/filter-chip.ts +2 -255
- package/src/chips/index.ts +2 -5
- package/src/chips/input-chip.ts +2 -413
- package/src/chips/suggestion-chip.ts +2 -266
- package/src/directives/fill.ts +28 -5
- package/src/fab/fab.test.ts +101 -0
- package/src/fab/fab.ts +226 -0
- package/src/fab/index.ts +1 -0
- package/src/form/fields/chips/assist-chip.ts +263 -0
- package/src/form/fields/chips/chips.ts +234 -0
- package/src/form/fields/chips/filter-chip.ts +255 -0
- package/src/form/fields/chips/index.ts +5 -0
- package/src/form/fields/chips/input-chip.ts +413 -0
- package/src/form/fields/chips/suggestion-chip.ts +266 -0
- package/src/form/fields/date-range/date-range.test.ts +44 -0
- package/src/form/fields/date-range/date-range.ts +103 -97
- package/src/form/fields/index.ts +1 -0
- package/src/index.ts +2 -1
- package/src/overlay/overlay.animations.ts +2 -3
- package/src/overlay/overlay.component.ts +8 -4
- package/src/overlay/overlay.types.ts +14 -2
- package/src/theme/theme.component.ts +1 -0
- package/src/theme/theme.style.css +3 -0
- package/types/src/boat/boat.d.ts +27 -9
- package/types/src/boat/boat.test.d.ts +2 -0
- package/types/src/button/icon-button.d.ts +3 -2
- package/types/src/chips/assist-chip.d.ts +1 -47
- package/types/src/chips/chips.d.ts +1 -43
- package/types/src/chips/filter-chip.d.ts +1 -67
- package/types/src/chips/index.d.ts +1 -5
- package/types/src/chips/input-chip.d.ts +1 -82
- package/types/src/chips/suggestion-chip.d.ts +1 -52
- package/types/src/fab/fab.d.ts +80 -0
- package/types/src/fab/fab.test.d.ts +2 -0
- package/types/src/fab/index.d.ts +1 -0
- package/types/src/form/fields/chips/assist-chip.d.ts +47 -0
- package/types/src/form/fields/chips/chips.d.ts +35 -0
- package/types/src/form/fields/chips/filter-chip.d.ts +67 -0
- package/types/src/form/fields/chips/index.d.ts +5 -0
- package/types/src/form/fields/chips/input-chip.d.ts +82 -0
- package/types/src/form/fields/chips/suggestion-chip.d.ts +52 -0
- package/types/src/form/fields/date-range/date-range.d.ts +5 -10
- package/types/src/form/fields/index.d.ts +1 -0
- package/types/src/index.d.ts +2 -1
- package/types/src/overlay/overlay.component.d.ts +1 -0
- package/types/src/overlay/overlay.types.d.ts +12 -2
- package/types/src/theme/theme.component.d.ts +1 -0
- package/dist/SchmancyElement-CA0Wqt8m.js +0 -284
- package/dist/SchmancyElement-CA0Wqt8m.js.map +0 -1
- package/dist/SchmancyElement-CYIif26I.cjs +0 -2
- package/dist/SchmancyElement-CYIif26I.cjs.map +0 -1
- package/dist/boat-Vqjgo10B.cjs +0 -33
- package/dist/boat-Vqjgo10B.cjs.map +0 -1
- package/dist/boat-lr7MPZ7H.js.map +0 -1
- package/dist/chips-CXZ4dJCK.cjs.map +0 -1
- package/dist/chips-Dg6Lk6BT.js.map +0 -1
- package/dist/date-range-BU6WX7d5.js.map +0 -1
- package/dist/date-range-C-_be3_E.cjs.map +0 -1
- package/dist/directives-fLwDj6b0.cjs.map +0 -1
- package/dist/directives-zi1Mm2er.js.map +0 -1
- package/dist/input-chip-57tgNXKT.cjs.map +0 -1
- package/dist/input-chip-C6Lq1927.js.map +0 -1
- package/dist/overlay-BpNhd74N.js.map +0 -1
- package/dist/overlay-UQR2Dy3u.cjs.map +0 -1
- package/dist/theme-iKUaS9JB.cjs +0 -181
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sound.service-CmIw63aM.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-G_8GV_6L.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 { t as e, u as t } from "./SchmancyElement-
|
|
2
|
-
import "./mixins-
|
|
1
|
+
import { t as e, u as t } from "./SchmancyElement-C3CpdNsi.js";
|
|
2
|
+
import "./mixins-DTzfFVyv.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-
|
|
1
|
+
{"version":3,"file":"splash-screen-B1mM4_xz.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;EAAA,MAAA,GAAA,CAAA,GAAA,KAAA,cAiCoB,MAAA,KAAA,OAAA,CAOjC,GAAA,KAAA,kBAAA,CAK0C,GAAA,KAAA,WAAA,CAElD;CAAA;CAAA;EAAA,KAAA,SA9CZ,CAAC,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDpB,oBAAA;EACC,MAAM,kBAAA,GAEF,KAAK,kBACR,KAAK,WAAA,CAAW,IAOjB,EAHqB,KAAK,OAAO,EAAG,IAAA,IAAQ,EAAiB,MAAM,OAAA,EAAS,KAAK,EAAK,CAAA,CAAA,GACpE,EAAM,KAAK,WAAA,CAAA,EAG3B,KACA,EAAK,CAAA,GACL,QAAU,KAAK,SAAA,CAAA,GACf,EAAU,KAAK,aAAA,CAAA,EAEf,UAAA;CACH;CAMA,QAAA;EACC,KAAK,cAAc,IAAI,MAAM,OAAA,CAAA;CAC9B;CAKA,OAAA;EACC,KAAK,WAAA,CAAW;CACjB;CAEA,WAAA;EACC,KAAK,WAAA,CAAW,GAChB,KAAK,cACJ,IAAI,YAAkB,wBAAwB;GAC7C,SAAA,CAAS;GACT,UAAA,CAAU;EAAA,CAAA,CAAA;CAGb;CAEA,SAAA;EACC,OAAO,CAAI;;;mBAGM,KAAK,SAAA;YACZ,EAAS;GAChB,SAAS,KAAK,WAAW,MAAM;GAC/B,eAAe,KAAK,WAAW,SAAS;EAAA,CAAA,EAAA;;;;;;YAOjC,EAAS;GAChB,SAAS,KAAK,WAAW,MAAM;GAC/B,eAAe,KAAK,WAAW,SAAS;EAAA,CAAA,EAAA;;;;;CAM5C;AAAA;AAAA,EAAA,CAnFC,EAAS;CAAE,MAAM;CAAQ,WAAW;AAAA,CAAA,CAAA,GAAgB,EAAA,WAAA,eAAA,KAAA,CAAA,GAAA,EAAA,CAOpD,EAAS,EAAE,MAAM,QAAA,CAAA,CAAA,GAAS,EAAA,WAAA,QAAA,KAAA,CAAA,GAAA,EAAA,CAK1B,EAAS;CAAE,MAAM;CAAS,WAAW;AAAA,CAAA,CAAA,GAAoB,EAAA,WAAA,mBAAA,KAAA,CAAA,GAAA,EAAA,CAEzD,EAAA,CAAA,GAAM,EAAA,WAAA,YAAA,KAAA,CAAA,GAAA,IAAA,EAAA,CAhDP,EAAc,wBAAA,CAAA,GAAwB,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require(`./chunk-CncqDLb2.cjs`);const e=require(`./SchmancyElement-
|
|
1
|
+
require(`./chunk-CncqDLb2.cjs`);const e=require(`./SchmancyElement-BBzRWB1w.cjs`);require(`./mixins-DPdzC9ZH.cjs`);let t=require(`rxjs`),n=require(`rxjs/operators`),r=require(`lit/directives/style-map.js`),i=require(`lit/decorators.js`),a=require(`lit`);var o=class extends e.t{constructor(...e){super(...e),this.minDuration=1500,this.auto=!1,this.initiallyHidden=!1,this._visible=!0}static{this.styles=[a.css`
|
|
2
2
|
:host {
|
|
3
3
|
display: block;
|
|
4
4
|
position: relative;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splash-screen-
|
|
1
|
+
{"version":3,"file":"splash-screen-cbz4bxjB.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":"8PAgCe,IAAA,EAAA,cAAmC,EAAA,CAAA,CAAA,YAAA,GAAA,EAAA,CAAA,MAAA,GAAA,CAAA,EAAA,KAAA,YAiCoB,KAAA,KAAA,KAAA,CAOjC,EAAA,KAAA,gBAAA,CAK0C,EAAA,KAAA,SAAA,CAElD,CAAA,CAAA,OAAA,KAAA,OA9CZ,CAAC,EAAA,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDpB,mBAAA,CACC,MAAM,kBAAA,EAEF,KAAK,gBACR,KAAK,SAAA,CAAW,GAOjB,EAAA,EAAA,KAHqB,KAAK,MAAA,EAAA,EAAA,IAAU,IAAA,GAAI,EAAA,EAAA,WAAqB,KAAM,OAAA,EAAS,MAAA,EAAA,EAAA,MAAU,CAAA,CAAA,GAAE,EAAA,EAAA,OAChE,KAAK,WAAA,CAAA,EAG3B,MAAA,EAAA,EAAA,MACK,CAAA,GAAC,EAAA,EAAA,SACI,KAAK,SAAA,CAAA,GAAU,EAAA,EAAA,WACf,KAAK,aAAA,CAAA,EAEf,UAAA,CACH,CAMA,OAAA,CACC,KAAK,cAAc,IAAI,MAAM,OAAA,CAAA,CAC9B,CAKA,MAAA,CACC,KAAK,SAAA,CAAW,CACjB,CAEA,UAAA,CACC,KAAK,SAAA,CAAW,EAChB,KAAK,cACJ,IAAI,YAAkB,uBAAwB,CAC7C,QAAA,CAAS,EACT,SAAA,CAAU,CAAA,CAAA,CAAA,CAGb,CAEA,QAAA,CACC,MAAO,GAAA,IAAI;;;mBAGM,KAAK,SAAA;2BACH,CAChB,QAAS,KAAK,SAAW,IAAM,IAC/B,cAAe,KAAK,SAAW,OAAS,MAAA,CAAA,EAAA;;;;;;2BAOxB,CAChB,QAAS,KAAK,SAAW,IAAM,IAC/B,cAAe,KAAK,SAAW,OAAS,MAAA,CAAA,EAAA;;;;GAM5C,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAnFU,CAAE,KAAM,OAAQ,UAAW,cAAA,CAAA,CAAA,EAAgB,EAAA,UAAA,cAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAO3C,CAAE,KAAM,OAAA,CAAA,CAAA,EAAS,EAAA,UAAA,OAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAKjB,CAAE,KAAM,QAAS,UAAW,kBAAA,CAAA,CAAA,EAAoB,EAAA,UAAA,kBAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,OAAA,CAAA,EAEnD,EAAA,UAAA,WAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,eAhDO,wBAAA,CAAA,EAAwB,CAAA"}
|
package/dist/splash-screen.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`./splash-screen-
|
|
1
|
+
require(`./splash-screen-cbz4bxjB.cjs`);
|
package/dist/splash-screen.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import "./splash-screen-
|
|
1
|
+
import "./splash-screen-B1mM4_xz.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require(`./chunk-CncqDLb2.cjs`);const e=require(`./SchmancyElement-
|
|
1
|
+
require(`./chunk-CncqDLb2.cjs`);const e=require(`./SchmancyElement-BBzRWB1w.cjs`);require(`./mixins-DPdzC9ZH.cjs`);const t=require(`./area-DtyQDdOF.cjs`);require(`./state-Cx0aoL5e.cjs`),require(`./audio-B_jT9Xr7.cjs`),require(`./autocomplete-Bts5Jwwr.cjs`);const n=require(`./directives-CvYGSW_a.cjs`),r=require(`./theme.service-Dg7LO0Qz.cjs`),i=require(`./overlay.service-DEj3rfRr.cjs`);require(`./boat-I4B1UNMc.cjs`),require(`./busy-BIUonyPk.cjs`),require(`./button.cjs`),require(`./card-BO93_oxQ.cjs`),require(`./checkbox-CFUBUFtW.cjs`),require(`./chips-BfzpsyV1.cjs`),require(`./connectivity.cjs`),require(`./date-range-N-A249O9.cjs`),require(`./date-range-inline-DFopysWF.cjs`),require(`./delay.cjs`),require(`./details-BLRPV8sY.cjs`),require(`./discovery.cjs`),require(`./divider-rNsWCvMi.cjs`),require(`./dropdown.cjs`),require(`./expand-tffQHGbZ.cjs`),require(`./fab.cjs`),require(`./float-CDjgxWyy.cjs`),require(`./window.cjs`),require(`./input.cjs`),require(`./radio-group-DbYlyPc-.cjs`),require(`./range.cjs`);const a=require(`./theme.interface-CSt7JUBD.cjs`);require(`./select-B-SSmUDe.cjs`),require(`./switch.cjs`),require(`./textarea-CEUaDURR.cjs`),require(`./form.cjs`),require(`./icons-B_a1HStW.cjs`),require(`./iframe-CG-z9qev.cjs`),require(`./notification-DSkB-sn0.cjs`),require(`./json.cjs`),require(`./layout.cjs`),require(`./lightbox-B47Zoqv-.cjs`),require(`./list-CaSWrlG2.cjs`),require(`./menu-Jpsy85SX.cjs`),require(`./navigation-rail.cjs`),require(`./option-0aNiVB3Q.cjs`),require(`./overlay-BS-ta-zq.cjs`),require(`./progress.cjs`),require(`./rxjs-utils-Csnks202.cjs`),require(`./slider.cjs`),require(`./steps.cjs`),require(`./surface.cjs`),require(`./table.cjs`),require(`./tabs-ORQ_Zd43.cjs`),require(`./theme-CJpjkqHr.cjs`),require(`./theme-button--FuBkuVr.cjs`),require(`./tooltip.cjs`),require(`./tree.cjs`);const o=require(`./types.cjs`);require(`./typewriter.cjs`),require(`./typography.cjs`),require(`./utils-DTa3QHxk.cjs`),require(`./avatar.cjs`),require(`./breadcrumb.cjs`),require(`./kbd.cjs`),require(`./skeleton.cjs`),require(`./splash-screen-cbz4bxjB.cjs`),require(`./visually-hidden.cjs`);let s=require(`rxjs`),c=require(`rxjs/operators`),l=require(`@lit/context`),u=require(`lit/decorators.js`),d=require(`lit`),f=require(`lit/directives/when.js`);var p=class extends e.t{constructor(...e){super(...e),this.color=`primary`,this.size=`md`,this.shape=`pill`,this.outlined=!1,this.icon=``,this.pulse=!1}static{this.styles=[d.css`
|
|
2
2
|
:host {
|
|
3
3
|
display: inline-flex;
|
|
4
4
|
width: fit-content;
|