@mhmo91/schmancy 0.8.6 → 0.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1426) hide show
  1. package/README.md +54 -1
  2. package/ai/INDEX.md +321 -0
  3. package/ai/animation.md +64 -0
  4. package/ai/area.md +170 -237
  5. package/ai/audio.md +50 -222
  6. package/ai/autocomplete.md +44 -162
  7. package/ai/avatar.md +47 -178
  8. package/ai/badge.md +41 -108
  9. package/ai/boat.md +35 -41
  10. package/ai/busy.md +25 -184
  11. package/ai/button.md +52 -150
  12. package/ai/card.md +42 -215
  13. package/ai/charts.md +93 -0
  14. package/ai/checkbox.md +32 -135
  15. package/ai/chips.md +73 -383
  16. package/ai/code-highlight.md +33 -226
  17. package/ai/connectivity.md +36 -0
  18. package/ai/content-drawer.md +65 -232
  19. package/ai/date-range-inline.md +40 -258
  20. package/ai/date-range.md +43 -198
  21. package/ai/delay.md +31 -139
  22. package/ai/details.md +48 -453
  23. package/ai/dialog.md +55 -164
  24. package/ai/directives.md +258 -405
  25. package/ai/discovery.md +67 -0
  26. package/ai/divider.md +15 -137
  27. package/ai/dropdown.md +44 -235
  28. package/ai/expand.md +63 -0
  29. package/ai/extra.md +59 -0
  30. package/ai/float.md +14 -0
  31. package/ai/form.md +41 -137
  32. package/ai/icons.md +31 -235
  33. package/ai/iframe.md +44 -0
  34. package/ai/input.md +50 -210
  35. package/ai/json.md +33 -0
  36. package/ai/layout.md +45 -169
  37. package/ai/lightbox.md +25 -370
  38. package/ai/list.md +51 -130
  39. package/ai/mailbox.md +80 -508
  40. package/ai/map.md +47 -226
  41. package/ai/menu.md +25 -134
  42. package/ai/mixins.md +201 -0
  43. package/ai/nav-drawer.md +30 -184
  44. package/ai/navigation-bar.md +27 -184
  45. package/ai/navigation-rail.md +62 -630
  46. package/ai/notification.md +49 -183
  47. package/ai/option.md +30 -160
  48. package/ai/page.md +42 -0
  49. package/ai/progress.md +26 -65
  50. package/ai/qr-scanner.md +51 -0
  51. package/ai/radio-group.md +45 -189
  52. package/ai/range.md +47 -0
  53. package/ai/rxjs-utils.md +60 -0
  54. package/ai/select.md +49 -209
  55. package/ai/sheet.md +74 -506
  56. package/ai/slider.md +30 -214
  57. package/ai/steps.md +30 -392
  58. package/ai/store.md +173 -251
  59. package/ai/surface.md +58 -245
  60. package/ai/table.md +56 -330
  61. package/ai/tabs.md +31 -176
  62. package/ai/teleport.md +35 -177
  63. package/ai/textarea.md +48 -232
  64. package/ai/theme-button.md +16 -163
  65. package/ai/theme.md +40 -1089
  66. package/ai/tooltip.md +35 -146
  67. package/ai/tree.md +45 -271
  68. package/ai/typewriter.md +28 -317
  69. package/ai/typography.md +43 -296
  70. package/ai/utils.md +95 -0
  71. package/ai/window.md +67 -0
  72. package/custom-elements.json +10955 -0
  73. package/dist/ai/INDEX.md +321 -0
  74. package/dist/ai/animation.md +64 -0
  75. package/dist/ai/area.md +170 -237
  76. package/dist/ai/audio.md +50 -222
  77. package/dist/ai/autocomplete.md +44 -162
  78. package/dist/ai/avatar.md +47 -178
  79. package/dist/ai/badge.md +41 -108
  80. package/dist/ai/boat.md +35 -41
  81. package/dist/ai/busy.md +25 -184
  82. package/dist/ai/button.md +52 -150
  83. package/dist/ai/card.md +42 -215
  84. package/dist/ai/charts.md +93 -0
  85. package/dist/ai/checkbox.md +32 -135
  86. package/dist/ai/chips.md +73 -383
  87. package/dist/ai/code-highlight.md +33 -226
  88. package/dist/ai/connectivity.md +36 -0
  89. package/dist/ai/content-drawer.md +65 -232
  90. package/dist/ai/date-range-inline.md +40 -258
  91. package/dist/ai/date-range.md +43 -198
  92. package/dist/ai/delay.md +31 -139
  93. package/dist/ai/details.md +48 -453
  94. package/dist/ai/dialog.md +55 -164
  95. package/dist/ai/directives.md +258 -405
  96. package/dist/ai/discovery.md +67 -0
  97. package/dist/ai/divider.md +15 -137
  98. package/dist/ai/dropdown.md +44 -235
  99. package/dist/ai/expand.md +63 -0
  100. package/dist/ai/extra.md +59 -0
  101. package/dist/ai/float.md +14 -0
  102. package/dist/ai/form.md +41 -137
  103. package/dist/ai/icons.md +31 -235
  104. package/dist/ai/iframe.md +44 -0
  105. package/dist/ai/input.md +50 -210
  106. package/dist/ai/json.md +33 -0
  107. package/dist/ai/layout.md +45 -169
  108. package/dist/ai/lightbox.md +25 -370
  109. package/dist/ai/list.md +51 -130
  110. package/dist/ai/mailbox.md +80 -508
  111. package/dist/ai/map.md +47 -226
  112. package/dist/ai/menu.md +25 -134
  113. package/dist/ai/mixins.md +201 -0
  114. package/dist/ai/nav-drawer.md +30 -184
  115. package/dist/ai/navigation-bar.md +27 -184
  116. package/dist/ai/navigation-rail.md +62 -630
  117. package/dist/ai/notification.md +49 -183
  118. package/dist/ai/option.md +30 -160
  119. package/dist/ai/page.md +42 -0
  120. package/dist/ai/progress.md +26 -65
  121. package/dist/ai/qr-scanner.md +51 -0
  122. package/dist/ai/radio-group.md +45 -189
  123. package/dist/ai/range.md +47 -0
  124. package/dist/ai/rxjs-utils.md +60 -0
  125. package/dist/ai/select.md +49 -209
  126. package/dist/ai/sheet.md +74 -506
  127. package/dist/ai/slider.md +30 -214
  128. package/dist/ai/steps.md +30 -392
  129. package/dist/ai/store.md +173 -251
  130. package/dist/ai/surface.md +58 -245
  131. package/dist/ai/table.md +56 -330
  132. package/dist/ai/tabs.md +31 -176
  133. package/dist/ai/teleport.md +35 -177
  134. package/dist/ai/textarea.md +48 -232
  135. package/dist/ai/theme-button.md +16 -163
  136. package/dist/ai/theme.md +40 -1089
  137. package/dist/ai/tooltip.md +35 -146
  138. package/dist/ai/tree.md +45 -271
  139. package/dist/ai/typewriter.md +28 -317
  140. package/dist/ai/typography.md +43 -296
  141. package/dist/ai/utils.md +95 -0
  142. package/dist/ai/window.md +67 -0
  143. package/dist/animation-BK-8BwY8.js +173 -0
  144. package/dist/animation-BK-8BwY8.js.map +1 -0
  145. package/dist/animation-CO_Csq84.cjs +16 -0
  146. package/dist/animation-CO_Csq84.cjs.map +1 -0
  147. package/dist/area-CC8fUnra.js +590 -0
  148. package/dist/area-CC8fUnra.js.map +1 -0
  149. package/dist/area-wnWUAHEn.cjs +12 -0
  150. package/dist/area-wnWUAHEn.cjs.map +1 -0
  151. package/dist/area.cjs +1 -2
  152. package/dist/area.js +2 -29
  153. package/dist/audio-DtYYgzYD.cjs +1 -0
  154. package/dist/audio-DtYYgzYD.cjs.map +1 -0
  155. package/dist/audio-kz8UgPTO.js +335 -0
  156. package/dist/audio-kz8UgPTO.js.map +1 -0
  157. package/dist/audio.cjs +1 -2
  158. package/dist/audio.js +3 -9
  159. package/dist/autocomplete-B2Z3WK_7.cjs +111 -0
  160. package/dist/autocomplete-B2Z3WK_7.cjs.map +1 -0
  161. package/dist/autocomplete-CJ7YgtKN.js +378 -0
  162. package/dist/autocomplete-CJ7YgtKN.js.map +1 -0
  163. package/dist/autocomplete.cjs +1 -2
  164. package/dist/autocomplete.js +1 -2
  165. package/dist/badge.cjs +1 -2
  166. package/dist/badge.js +2 -6
  167. package/dist/boat-B57_4TzJ.cjs +80 -0
  168. package/dist/boat-B57_4TzJ.cjs.map +1 -0
  169. package/dist/boat-C9eU6NO-.js +347 -0
  170. package/dist/boat-C9eU6NO-.js.map +1 -0
  171. package/dist/boat.cjs +1 -2
  172. package/dist/boat.js +2 -5
  173. package/dist/busy--6oimtop.cjs +134 -0
  174. package/dist/busy--6oimtop.cjs.map +1 -0
  175. package/dist/busy-CGZXy0h-.js +167 -0
  176. package/dist/busy-CGZXy0h-.js.map +1 -0
  177. package/dist/busy.cjs +1 -2
  178. package/dist/busy.js +1 -2
  179. package/dist/button.cjs +113 -2
  180. package/dist/button.cjs.map +1 -1
  181. package/dist/button.js +398 -5
  182. package/dist/button.js.map +1 -1
  183. package/dist/card-BGJ0Hb1O.cjs +177 -0
  184. package/dist/card-BGJ0Hb1O.cjs.map +1 -0
  185. package/dist/card-C-ee-l5O.js +284 -0
  186. package/dist/card-C-ee-l5O.js.map +1 -0
  187. package/dist/card.cjs +1 -2
  188. package/dist/card.js +1 -2
  189. package/dist/charts.cjs +112 -2
  190. package/dist/charts.cjs.map +1 -1
  191. package/dist/charts.js +368 -8
  192. package/dist/charts.js.map +1 -1
  193. package/dist/checkbox-DuYaKoDZ.cjs +39 -0
  194. package/dist/checkbox-DuYaKoDZ.cjs.map +1 -0
  195. package/dist/checkbox-FRcorDrD.js +610 -0
  196. package/dist/checkbox-FRcorDrD.js.map +1 -0
  197. package/dist/checkbox.cjs +1 -2
  198. package/dist/checkbox.js +2 -5
  199. package/dist/chips-BpA0A-qr.cjs +253 -0
  200. package/dist/chips-BpA0A-qr.cjs.map +1 -0
  201. package/dist/chips-CyzNbKJD.js +645 -0
  202. package/dist/chips-CyzNbKJD.js.map +1 -0
  203. package/dist/chips.cjs +1 -2
  204. package/dist/chips.js +3 -10
  205. package/dist/chunk-BCfY8kxB.cjs +1 -0
  206. package/dist/chunk-C_1VqBVD.js +11 -0
  207. package/dist/code-highlight-C7O9ltXm.js +290 -0
  208. package/dist/code-highlight-C7O9ltXm.js.map +1 -0
  209. package/dist/code-highlight-DsBdSQBG.cjs +190 -0
  210. package/dist/code-highlight-DsBdSQBG.cjs.map +1 -0
  211. package/dist/code-highlight.cjs +1 -2
  212. package/dist/code-highlight.js +2 -7
  213. package/dist/components-CkMvOiTR.js +730 -0
  214. package/dist/components-CkMvOiTR.js.map +1 -0
  215. package/dist/components-dDI3xeIf.cjs +73 -0
  216. package/dist/components-dDI3xeIf.cjs.map +1 -0
  217. package/dist/components.cjs +1 -2
  218. package/dist/components.js +2 -5
  219. package/dist/connectivity.cjs +59 -0
  220. package/dist/connectivity.cjs.map +1 -0
  221. package/dist/connectivity.js +86 -0
  222. package/dist/connectivity.js.map +1 -0
  223. package/dist/content-drawer.cjs +1 -2
  224. package/dist/content-drawer.js +2 -13
  225. package/dist/cursor-glow-Ah7VXSj7.js +46 -0
  226. package/dist/cursor-glow-Ah7VXSj7.js.map +1 -0
  227. package/dist/cursor-glow-DtSy_PJd.cjs +1 -0
  228. package/dist/cursor-glow-DtSy_PJd.cjs.map +1 -0
  229. package/dist/date-range-70zhLUKE.cjs +131 -0
  230. package/dist/date-range-70zhLUKE.cjs.map +1 -0
  231. package/dist/date-range-BrN_Bs6_.js +946 -0
  232. package/dist/date-range-BrN_Bs6_.js.map +1 -0
  233. package/dist/date-range-inline-CPzD-tIv.cjs +43 -0
  234. package/dist/date-range-inline-CPzD-tIv.cjs.map +1 -0
  235. package/dist/date-range-inline-Cp294DxR.js +267 -0
  236. package/dist/date-range-inline-Cp294DxR.js.map +1 -0
  237. package/dist/date-range-inline.cjs +1 -2
  238. package/dist/date-range-inline.js +2 -5
  239. package/dist/date-range.cjs +1 -2
  240. package/dist/date-range.js +2 -6
  241. package/dist/delay-COcAkBqB.cjs +9 -0
  242. package/dist/delay-COcAkBqB.cjs.map +1 -0
  243. package/dist/delay-IV0Swce2.js +346 -0
  244. package/dist/delay-IV0Swce2.js.map +1 -0
  245. package/dist/delay.cjs +1 -2
  246. package/dist/delay.js +2 -6
  247. package/dist/details-CuKmr3Qw.js +293 -0
  248. package/dist/details-CuKmr3Qw.js.map +1 -0
  249. package/dist/details-DgWkPqmt.cjs +168 -0
  250. package/dist/details-DgWkPqmt.cjs.map +1 -0
  251. package/dist/details.cjs +1 -2
  252. package/dist/details.js +2 -5
  253. package/dist/dialog-service-NZEvyEK-.js +193 -0
  254. package/dist/dialog-service-NZEvyEK-.js.map +1 -0
  255. package/dist/dialog-service-VnW4gkmE.cjs +1 -0
  256. package/dist/dialog-service-VnW4gkmE.cjs.map +1 -0
  257. package/dist/dialog.cjs +82 -2
  258. package/dist/dialog.cjs.map +1 -1
  259. package/dist/dialog.js +396 -9
  260. package/dist/dialog.js.map +1 -1
  261. package/dist/directives.cjs +108 -2
  262. package/dist/directives.cjs.map +1 -1
  263. package/dist/directives.js +1362 -14
  264. package/dist/directives.js.map +1 -1
  265. package/dist/discovery.cjs +1 -2
  266. package/dist/discovery.cjs.map +1 -1
  267. package/dist/discovery.js +61 -6
  268. package/dist/discovery.js.map +1 -1
  269. package/dist/divider-BWoUbfgZ.js +87 -0
  270. package/dist/divider-BWoUbfgZ.js.map +1 -0
  271. package/dist/divider-BghtrMbn.cjs +57 -0
  272. package/dist/divider-BghtrMbn.cjs.map +1 -0
  273. package/dist/divider.cjs +1 -2
  274. package/dist/divider.js +1 -2
  275. package/dist/dropdown.cjs +57 -2
  276. package/dist/dropdown.cjs.map +1 -1
  277. package/dist/dropdown.js +160 -5
  278. package/dist/dropdown.js.map +1 -1
  279. package/dist/expand-CJU9m4ga.js +336 -0
  280. package/dist/expand-CJU9m4ga.js.map +1 -0
  281. package/dist/expand-XyDE5SsO.cjs +141 -0
  282. package/dist/expand-XyDE5SsO.cjs.map +1 -0
  283. package/dist/expand.cjs +1 -0
  284. package/dist/expand.js +2 -0
  285. package/dist/extra-BxXFmW1w.js +3435 -0
  286. package/dist/extra-BxXFmW1w.js.map +1 -0
  287. package/dist/extra-CsrRKKqE.cjs +31 -0
  288. package/dist/extra-CsrRKKqE.cjs.map +1 -0
  289. package/dist/extra.cjs +1 -2
  290. package/dist/extra.js +2 -6
  291. package/dist/float-BD86t_NU.js +5 -0
  292. package/dist/float-BD86t_NU.js.map +1 -0
  293. package/dist/float-DBv1FINW.cjs +1 -0
  294. package/dist/float-DBv1FINW.cjs.map +1 -0
  295. package/dist/float.cjs +1 -0
  296. package/dist/float.js +2 -0
  297. package/dist/flow-Bbwn6dRN.cjs +1 -0
  298. package/dist/flow-Bbwn6dRN.cjs.map +1 -0
  299. package/dist/flow-CUj0fDT_.js +386 -0
  300. package/dist/flow-CUj0fDT_.js.map +1 -0
  301. package/dist/form-Cp5-I_ZV.js +270 -0
  302. package/dist/form-Cp5-I_ZV.js.map +1 -0
  303. package/dist/form-D0bIeDWT.cjs +1 -0
  304. package/dist/form-D0bIeDWT.cjs.map +1 -0
  305. package/dist/form.cjs +1 -2
  306. package/dist/form.js +1 -2
  307. package/dist/hashContent-DYM21p6t.js +6 -0
  308. package/dist/hashContent-DYM21p6t.js.map +1 -0
  309. package/dist/hashContent-DaeGmY-p.cjs +1 -0
  310. package/dist/hashContent-DaeGmY-p.cjs.map +1 -0
  311. package/dist/icons-BpU0_l92.js +161 -0
  312. package/dist/icons-BpU0_l92.js.map +1 -0
  313. package/dist/icons-D8w_20mO.cjs +52 -0
  314. package/dist/icons-D8w_20mO.cjs.map +1 -0
  315. package/dist/icons.cjs +1 -2
  316. package/dist/icons.js +1 -2
  317. package/dist/iframe-BjwxA2Pg.cjs +24 -0
  318. package/dist/iframe-BjwxA2Pg.cjs.map +1 -0
  319. package/dist/iframe-tY1GY5g1.js +44 -0
  320. package/dist/iframe-tY1GY5g1.js.map +1 -0
  321. package/dist/iframe.cjs +1 -0
  322. package/dist/iframe.js +2 -0
  323. package/dist/index.cjs +1 -2
  324. package/dist/index.js +69 -285
  325. package/dist/input-BnfTpRN9.js +364 -0
  326. package/dist/input-BnfTpRN9.js.map +1 -0
  327. package/dist/input-BwxwognS.cjs +51 -0
  328. package/dist/input-BwxwognS.cjs.map +1 -0
  329. package/dist/input-chip-CkM2aYmO.js +301 -0
  330. package/dist/input-chip-CkM2aYmO.js.map +1 -0
  331. package/dist/input-chip-MjOwX5EY.cjs +146 -0
  332. package/dist/input-chip-MjOwX5EY.cjs.map +1 -0
  333. package/dist/input.cjs +1 -2
  334. package/dist/input.js +2 -6
  335. package/dist/intersection-BPLpqYEd.js +12 -0
  336. package/dist/intersection-BPLpqYEd.js.map +1 -0
  337. package/dist/intersection-CZpaIHeT.cjs +1 -0
  338. package/dist/intersection-CZpaIHeT.cjs.map +1 -0
  339. package/dist/json.cjs +11 -2
  340. package/dist/json.cjs.map +1 -1
  341. package/dist/json.js +40 -4
  342. package/dist/json.js.map +1 -1
  343. package/dist/layout-4C-6_cre.cjs +1 -0
  344. package/dist/layout-4C-6_cre.cjs.map +1 -0
  345. package/dist/layout-BV0EeyUS.cjs +17 -0
  346. package/dist/layout-BV0EeyUS.cjs.map +1 -0
  347. package/dist/layout-CJSlZlFL.js +267 -0
  348. package/dist/layout-CJSlZlFL.js.map +1 -0
  349. package/dist/layout-yxSlLybo.js +94 -0
  350. package/dist/layout-yxSlLybo.js.map +1 -0
  351. package/dist/layout.cjs +1 -2
  352. package/dist/layout.js +3 -9
  353. package/dist/lightbox-CpNMZHZW.cjs +202 -0
  354. package/dist/lightbox-CpNMZHZW.cjs.map +1 -0
  355. package/dist/lightbox-groqGmJH.js +678 -0
  356. package/dist/lightbox-groqGmJH.js.map +1 -0
  357. package/dist/lightbox.cjs +1 -2
  358. package/dist/lightbox.js +2 -8
  359. package/dist/list-CyHd0Zc2.cjs +40 -0
  360. package/dist/list-CyHd0Zc2.cjs.map +1 -0
  361. package/dist/list-DzkqT_r-.js +105 -0
  362. package/dist/list-DzkqT_r-.js.map +1 -0
  363. package/dist/list.cjs +1 -2
  364. package/dist/list.js +2 -7
  365. package/dist/litElement.mixin-BG6_-nYX.cjs +1 -0
  366. package/dist/litElement.mixin-BG6_-nYX.cjs.map +1 -0
  367. package/dist/litElement.mixin-Dm-4L8zL.js +12 -0
  368. package/dist/litElement.mixin-Dm-4L8zL.js.map +1 -0
  369. package/dist/magnetic-BZGFxAWG.js +47 -0
  370. package/dist/magnetic-BZGFxAWG.js.map +1 -0
  371. package/dist/magnetic-Dux4QwO4.cjs +1 -0
  372. package/dist/magnetic-Dux4QwO4.cjs.map +1 -0
  373. package/dist/mailbox-BcqnXYVP.js +1584 -0
  374. package/dist/mailbox-BcqnXYVP.js.map +1 -0
  375. package/dist/mailbox-C5eYTd7p.cjs +1142 -0
  376. package/dist/mailbox-C5eYTd7p.cjs.map +1 -0
  377. package/dist/mailbox.cjs +1 -2
  378. package/dist/mailbox.js +2 -9
  379. package/dist/map-BncheFt5.cjs +80 -0
  380. package/dist/map-BncheFt5.cjs.map +1 -0
  381. package/dist/map-C0o1PgLE.js +205 -0
  382. package/dist/map-C0o1PgLE.js.map +1 -0
  383. package/dist/map.cjs +1 -2
  384. package/dist/map.js +2 -5
  385. package/dist/menu-uwqlQbLd.js +51 -0
  386. package/dist/menu-uwqlQbLd.js.map +1 -0
  387. package/dist/menu-yXzwJZFf.cjs +23 -0
  388. package/dist/menu-yXzwJZFf.cjs.map +1 -0
  389. package/dist/menu.cjs +1 -2
  390. package/dist/menu.js +1 -2
  391. package/dist/mixins.cjs +1 -2
  392. package/dist/mixins.cjs.map +1 -1
  393. package/dist/mixins.js +59 -12
  394. package/dist/mixins.js.map +1 -1
  395. package/dist/nav-drawer.cjs +1 -2
  396. package/dist/nav-drawer.js +2 -12
  397. package/dist/navigation-bar.cjs +1 -2
  398. package/dist/navigation-bar.js +2 -6
  399. package/dist/navigation-rail.cjs +71 -2
  400. package/dist/navigation-rail.cjs.map +1 -1
  401. package/dist/navigation-rail.js +363 -5
  402. package/dist/navigation-rail.js.map +1 -1
  403. package/dist/notification-BjwTfLAl.cjs +23 -0
  404. package/dist/notification-BjwTfLAl.cjs.map +1 -0
  405. package/dist/notification-DzYT4deA.js +304 -0
  406. package/dist/notification-DzYT4deA.js.map +1 -0
  407. package/dist/notification.cjs +1 -2
  408. package/dist/notification.js +2 -9
  409. package/dist/option-BJsD3u2D.cjs +43 -0
  410. package/dist/option-BJsD3u2D.cjs.map +1 -0
  411. package/dist/option-JFHxgiYl.js +97 -0
  412. package/dist/option-JFHxgiYl.js.map +1 -0
  413. package/dist/option.cjs +1 -2
  414. package/dist/option.js +1 -2
  415. package/dist/overlay-stack-DQey9Qph.cjs +1 -0
  416. package/dist/overlay-stack-DQey9Qph.cjs.map +1 -0
  417. package/dist/overlay-stack-DT1SdaGW.js +39 -0
  418. package/dist/overlay-stack-DT1SdaGW.js.map +1 -0
  419. package/dist/page.cjs +20 -2
  420. package/dist/page.cjs.map +1 -1
  421. package/dist/page.js +71 -4
  422. package/dist/page.js.map +1 -1
  423. package/dist/progress-BUh5WBqx.js +128 -0
  424. package/dist/progress-BUh5WBqx.js.map +1 -0
  425. package/dist/progress-BoRmyGAa.cjs +51 -0
  426. package/dist/progress-BoRmyGAa.cjs.map +1 -0
  427. package/dist/progress.cjs +1 -2
  428. package/dist/progress.js +1 -2
  429. package/dist/provide-8MrDz_qX.js +107 -0
  430. package/dist/provide-8MrDz_qX.js.map +1 -0
  431. package/dist/provide-CDkxgjHb.cjs +1 -0
  432. package/dist/provide-CDkxgjHb.cjs.map +1 -0
  433. package/dist/qr-scanner.cjs +35 -2
  434. package/dist/qr-scanner.cjs.map +1 -1
  435. package/dist/qr-scanner.js +119 -4
  436. package/dist/qr-scanner.js.map +1 -1
  437. package/dist/radio-group-DbOWUPhi.js +105 -0
  438. package/dist/radio-group-DbOWUPhi.js.map +1 -0
  439. package/dist/radio-group-rhrvhB5X.cjs +40 -0
  440. package/dist/radio-group-rhrvhB5X.cjs.map +1 -0
  441. package/dist/radio-group.cjs +1 -2
  442. package/dist/radio-group.js +2 -6
  443. package/dist/range.cjs +62 -0
  444. package/dist/range.cjs.map +1 -0
  445. package/dist/range.js +85 -0
  446. package/dist/range.js.map +1 -0
  447. package/dist/reduced-motion-D-L12p7G.js +7 -0
  448. package/dist/reduced-motion-D-L12p7G.js.map +1 -0
  449. package/dist/reduced-motion-Ds05GPyz.cjs +1 -0
  450. package/dist/reduced-motion-Ds05GPyz.cjs.map +1 -0
  451. package/dist/rxjs-utils-BSjmI9-Q.js +32 -0
  452. package/dist/rxjs-utils-BSjmI9-Q.js.map +1 -0
  453. package/dist/rxjs-utils-DCsfzeap.cjs +1 -0
  454. package/dist/rxjs-utils-DCsfzeap.cjs.map +1 -0
  455. package/dist/rxjs-utils.cjs +1 -2
  456. package/dist/rxjs-utils.js +2 -14
  457. package/dist/scroll-BE9W9PF2.cjs +26 -0
  458. package/dist/scroll-BE9W9PF2.cjs.map +1 -0
  459. package/dist/scroll-qGks1R0k.js +112 -0
  460. package/dist/scroll-qGks1R0k.js.map +1 -0
  461. package/dist/search-C4dFHYbX.js +91 -0
  462. package/dist/search-C4dFHYbX.js.map +1 -0
  463. package/dist/search-Ds8tt7Et.cjs +1 -0
  464. package/dist/search-Ds8tt7Et.cjs.map +1 -0
  465. package/dist/select-D9sgBRjU.js +305 -0
  466. package/dist/select-D9sgBRjU.js.map +1 -0
  467. package/dist/select-DXU2kzg4.cjs +56 -0
  468. package/dist/select-DXU2kzg4.cjs.map +1 -0
  469. package/dist/select.cjs +1 -2
  470. package/dist/select.js +2 -5
  471. package/dist/sheet-CIxCCJ3H.js +168 -0
  472. package/dist/sheet-CIxCCJ3H.js.map +1 -0
  473. package/dist/sheet-CeX6BbNp.cjs +35 -0
  474. package/dist/sheet-CeX6BbNp.cjs.map +1 -0
  475. package/dist/sheet.cjs +1 -2
  476. package/dist/sheet.js +3 -7
  477. package/dist/sheet.service-CAB7weBc.js +86 -0
  478. package/dist/sheet.service-CAB7weBc.js.map +1 -0
  479. package/dist/sheet.service-DPAp7E3x.cjs +1 -0
  480. package/dist/sheet.service-DPAp7E3x.cjs.map +1 -0
  481. package/dist/slider.cjs +82 -2
  482. package/dist/slider.cjs.map +1 -1
  483. package/dist/slider.js +143 -5
  484. package/dist/slider.js.map +1 -1
  485. package/dist/sound.service-Bu3EQLv2.cjs +1 -0
  486. package/dist/sound.service-Bu3EQLv2.cjs.map +1 -0
  487. package/dist/sound.service-m3BrSfuH.js +2353 -0
  488. package/dist/sound.service-m3BrSfuH.js.map +1 -0
  489. package/dist/src-CbO5kJ2O.js +1244 -0
  490. package/dist/src-CbO5kJ2O.js.map +1 -0
  491. package/dist/src-SraDxEeg.cjs +269 -0
  492. package/dist/src-SraDxEeg.cjs.map +1 -0
  493. package/dist/steps.cjs +70 -2
  494. package/dist/steps.cjs.map +1 -1
  495. package/dist/steps.js +178 -7
  496. package/dist/steps.js.map +1 -1
  497. package/dist/store-CorvD3bT.cjs +1 -0
  498. package/dist/store-CorvD3bT.cjs.map +1 -0
  499. package/dist/store-DYqDLAvT.js +1654 -0
  500. package/dist/store-DYqDLAvT.js.map +1 -0
  501. package/dist/store.cjs +1 -2
  502. package/dist/store.js +2 -47
  503. package/dist/surface-DuH0pm2v.cjs +7 -0
  504. package/dist/surface-DuH0pm2v.cjs.map +1 -0
  505. package/dist/surface-eN_Jy2MJ.js +21 -0
  506. package/dist/surface-eN_Jy2MJ.js.map +1 -0
  507. package/dist/surface.cjs +1 -2
  508. package/dist/surface.js +2 -6
  509. package/dist/surface.mixin-CIXgN6iw.cjs +297 -0
  510. package/dist/surface.mixin-CIXgN6iw.cjs.map +1 -0
  511. package/dist/surface.mixin-D9jv1sKG.js +320 -0
  512. package/dist/surface.mixin-D9jv1sKG.js.map +1 -0
  513. package/dist/table-C9rRQJEB.cjs +63 -0
  514. package/dist/table-C9rRQJEB.cjs.map +1 -0
  515. package/dist/table-Dg_tUGB_.js +631 -0
  516. package/dist/table-Dg_tUGB_.js.map +1 -0
  517. package/dist/table.cjs +1 -2
  518. package/dist/table.js +2 -6
  519. package/dist/tabs-BbFC9omR.js +125 -0
  520. package/dist/tabs-BbFC9omR.js.map +1 -0
  521. package/dist/tabs-soTL-x4G.cjs +31 -0
  522. package/dist/tabs-soTL-x4G.cjs.map +1 -0
  523. package/dist/tabs.cjs +1 -2
  524. package/dist/tabs.js +1 -2
  525. package/dist/tailwind.mixin-BIVhjNvD.js +225 -0
  526. package/dist/tailwind.mixin-BIVhjNvD.js.map +1 -0
  527. package/dist/tailwind.mixin-DSuEu-y3.cjs +2 -0
  528. package/dist/tailwind.mixin-DSuEu-y3.cjs.map +1 -0
  529. package/dist/teleport.cjs +1 -2
  530. package/dist/teleport.js +2 -8
  531. package/dist/textarea-DaRUJ0ri.cjs +35 -0
  532. package/dist/textarea-DaRUJ0ri.cjs.map +1 -0
  533. package/dist/textarea-hChvHbNM.js +195 -0
  534. package/dist/textarea-hChvHbNM.js.map +1 -0
  535. package/dist/textarea.cjs +1 -2
  536. package/dist/textarea.js +1 -2
  537. package/dist/theme-B0M8Hlyo.js +4121 -0
  538. package/dist/theme-B0M8Hlyo.js.map +1 -0
  539. package/dist/theme-ZYH2MqX9.cjs +181 -0
  540. package/dist/theme-ZYH2MqX9.cjs.map +1 -0
  541. package/dist/theme-button-BtlX_Zgd.js +19 -0
  542. package/dist/theme-button-BtlX_Zgd.js.map +1 -0
  543. package/dist/theme-button-Dvqg-rE_.cjs +8 -0
  544. package/dist/theme-button-Dvqg-rE_.cjs.map +1 -0
  545. package/dist/theme-button.cjs +1 -2
  546. package/dist/theme-button.js +1 -2
  547. package/dist/theme.cjs +1 -2
  548. package/dist/theme.events-Cv7N4Toe.js +2 -0
  549. package/dist/theme.events-Cv7N4Toe.js.map +1 -0
  550. package/dist/theme.events-DM4H5F2d.cjs +1 -0
  551. package/dist/theme.events-DM4H5F2d.cjs.map +1 -0
  552. package/dist/theme.interface-CXloMUCw.js +276 -0
  553. package/dist/theme.interface-CXloMUCw.js.map +1 -0
  554. package/dist/theme.interface-Da23QAYb.cjs +1 -0
  555. package/dist/theme.interface-Da23QAYb.cjs.map +1 -0
  556. package/dist/theme.js +6 -21
  557. package/dist/theme.service-C_tjlqgy.cjs +1 -0
  558. package/dist/theme.service-C_tjlqgy.cjs.map +1 -0
  559. package/dist/theme.service-D9lEas89.js +108 -0
  560. package/dist/theme.service-D9lEas89.js.map +1 -0
  561. package/dist/tooltip.cjs +6 -2
  562. package/dist/tooltip.cjs.map +1 -1
  563. package/dist/tooltip.js +200 -5
  564. package/dist/tooltip.js.map +1 -1
  565. package/dist/tree.cjs +26 -2
  566. package/dist/tree.cjs.map +1 -1
  567. package/dist/tree.js +64 -4
  568. package/dist/tree.js.map +1 -1
  569. package/dist/tslib.es6-D7BIeDVB.cjs +1 -0
  570. package/dist/tslib.es6-D7BIeDVB.cjs.map +1 -0
  571. package/dist/tslib.es6-ErZEp3OO.js +7 -0
  572. package/dist/tslib.es6-ErZEp3OO.js.map +1 -0
  573. package/dist/types.cjs +1 -2
  574. package/dist/types.cjs.map +1 -1
  575. package/dist/types.js +4 -5
  576. package/dist/types.js.map +1 -1
  577. package/dist/typewriter-CCel8Nta.js +700 -0
  578. package/dist/typewriter-CCel8Nta.js.map +1 -0
  579. package/dist/typewriter-Cf9f2bdx.cjs +123 -0
  580. package/dist/typewriter-Cf9f2bdx.cjs.map +1 -0
  581. package/dist/typewriter.cjs +1 -2
  582. package/dist/typewriter.js +2 -5
  583. package/dist/typography.cjs +282 -2
  584. package/dist/typography.cjs.map +1 -1
  585. package/dist/typography.js +353 -4
  586. package/dist/typography.js.map +1 -1
  587. package/dist/utils-BcaKtQuA.cjs +1 -0
  588. package/dist/utils-BcaKtQuA.cjs.map +1 -0
  589. package/dist/utils-CoU7M2YS.js +259 -0
  590. package/dist/utils-CoU7M2YS.js.map +1 -0
  591. package/dist/utils.cjs +1 -2
  592. package/dist/utils.js +6 -9
  593. package/dist/window-B9_14c12.cjs +59 -0
  594. package/dist/window-B9_14c12.cjs.map +1 -0
  595. package/dist/window-CbgdwOZD.js +548 -0
  596. package/dist/window-CbgdwOZD.js.map +1 -0
  597. package/dist/window.cjs +1 -0
  598. package/dist/window.js +2 -0
  599. package/mixins/baseElement.ts +118 -1
  600. package/mixins/discovery.service.ts +162 -1
  601. package/mixins/formField.mixin.ts +13 -8
  602. package/mixins/index.ts +2 -0
  603. package/mixins/surface.mixin.ts +93 -0
  604. package/mixins/tailwind.css +331 -14
  605. package/package.json +32 -28
  606. package/src/CLAUDE.md +428 -0
  607. package/src/area/.excalidraw +357 -0
  608. package/src/area/area.component.ts +449 -0
  609. package/src/area/area.service.test.ts +1007 -0
  610. package/src/area/area.service.ts +748 -0
  611. package/src/area/ecrypt.ts +7 -0
  612. package/src/area/index.ts +7 -0
  613. package/src/area/lazy.ts +83 -0
  614. package/src/area/readme.md +338 -0
  615. package/src/area/route.component.ts +79 -0
  616. package/src/area/router-guide.md +360 -0
  617. package/src/area/router.types.ts +101 -0
  618. package/src/area/utils.ts +354 -0
  619. package/src/audio/emotional-sounds.ts +940 -0
  620. package/src/audio/index.ts +53 -0
  621. package/src/audio/sound.service.ts +1079 -0
  622. package/src/autocomplete/README.md +485 -0
  623. package/src/autocomplete/autocomplete.scss +24 -0
  624. package/src/autocomplete/autocomplete.ts +733 -0
  625. package/src/autocomplete/index.ts +1 -0
  626. package/src/avatar.ts +164 -0
  627. package/src/badge/badge.ts +286 -0
  628. package/src/badge/index.ts +1 -0
  629. package/src/boat/boat.ts +664 -0
  630. package/src/boat/index.ts +1 -0
  631. package/src/busy/busy.ts +39 -0
  632. package/src/busy/index.ts +2 -0
  633. package/src/busy/spinner.ts +165 -0
  634. package/src/button/button.ts +382 -0
  635. package/src/button/icon-button.ts +287 -0
  636. package/src/button/index.ts +2 -0
  637. package/src/card/actions.ts +28 -0
  638. package/src/card/card.ts +319 -0
  639. package/src/card/content.ts +24 -0
  640. package/src/card/index.ts +4 -0
  641. package/src/card/media.ts +77 -0
  642. package/src/charts/area-chart.ts +495 -0
  643. package/src/charts/index.ts +4 -0
  644. package/src/charts/pills.ts +350 -0
  645. package/src/charts/types.ts +66 -0
  646. package/src/charts/utils.ts +65 -0
  647. package/src/checkbox/checkbox.ts +122 -0
  648. package/src/checkbox/index.ts +1 -0
  649. package/src/chips/assist-chip.ts +261 -0
  650. package/src/chips/chips.ts +259 -0
  651. package/src/chips/filter-chip.ts +255 -0
  652. package/src/chips/index.ts +5 -0
  653. package/src/chips/input-chip.ts +408 -0
  654. package/src/chips/suggestion-chip.ts +266 -0
  655. package/src/code-highlight/code-highlight.ts +344 -0
  656. package/src/code-highlight/code-preview.ts +123 -0
  657. package/src/code-highlight/index.ts +3 -0
  658. package/src/components/form-elements/index.ts +1 -0
  659. package/src/components/form-elements/payment-card-form.ts +331 -0
  660. package/src/components/index.ts +1 -0
  661. package/src/connectivity/connectivity-status.ts +153 -0
  662. package/src/connectivity/index.ts +1 -0
  663. package/src/content-drawer/context.ts +13 -0
  664. package/src/content-drawer/drawer.service.ts +148 -0
  665. package/src/content-drawer/drawer.ts +183 -0
  666. package/src/content-drawer/index.ts +5 -0
  667. package/src/content-drawer/main.ts +83 -0
  668. package/src/content-drawer/readme.md +709 -0
  669. package/src/content-drawer/sheet.ts +180 -0
  670. package/src/date-range/date-range-dialog.ts +230 -0
  671. package/src/date-range/date-range-helpers.ts +135 -0
  672. package/src/date-range/date-range-presets.ts +220 -0
  673. package/src/date-range/date-range.ts +530 -0
  674. package/src/date-range/date-utils.ts +58 -0
  675. package/src/date-range/index.ts +2 -0
  676. package/src/date-range-inline/date-range-inline.ts +522 -0
  677. package/src/date-range-inline/index.ts +2 -0
  678. package/src/delay/delay.ts +136 -0
  679. package/src/delay/index.ts +1 -0
  680. package/src/details/details.ts +429 -0
  681. package/src/details/index.ts +1 -0
  682. package/src/dialog/dialog-base.mixin.ts +565 -0
  683. package/src/dialog/dialog-events.ts +17 -0
  684. package/src/dialog/dialog-service.ts +482 -0
  685. package/src/dialog/dialog.component.ts +394 -0
  686. package/src/dialog/index.ts +3 -0
  687. package/src/directives/animate-text.ts +551 -0
  688. package/src/directives/color.ts +41 -0
  689. package/src/directives/confirm-click.ts +350 -0
  690. package/src/directives/cursor-glow.ts +142 -0
  691. package/src/directives/cycle-text.ts +496 -0
  692. package/src/directives/depth-of-field.ts +83 -0
  693. package/src/directives/drag.ts +370 -0
  694. package/src/directives/gravity.ts +117 -0
  695. package/src/directives/index.ts +19 -0
  696. package/src/directives/intersect.ts +204 -0
  697. package/src/directives/layout.ts +261 -0
  698. package/src/directives/liquid.ts +150 -0
  699. package/src/directives/living-border.ts +166 -0
  700. package/src/directives/long-press.ts +150 -0
  701. package/src/directives/magnetic.ts +133 -0
  702. package/src/directives/nebula.ts +773 -0
  703. package/src/directives/reduced-motion.ts +30 -0
  704. package/src/directives/reveal.ts +158 -0
  705. package/src/directives/ripple.ts +102 -0
  706. package/src/directives/typewriter.ts +349 -0
  707. package/src/discovery/discovery.service.ts +210 -0
  708. package/src/discovery/index.ts +1 -0
  709. package/src/divider/divider.ts +100 -0
  710. package/src/divider/index.ts +1 -0
  711. package/src/dropdown/dropdown-component.ts +264 -0
  712. package/src/dropdown/dropdown-content.ts +108 -0
  713. package/src/dropdown/index.ts +2 -0
  714. package/src/expand/expand-root.component.ts +278 -0
  715. package/src/expand/expand.component.ts +287 -0
  716. package/src/expand/index.ts +2 -0
  717. package/src/extra/countries/countries.data.ts +196 -0
  718. package/src/extra/countries/countries.ts +107 -0
  719. package/src/extra/countries/index.ts +2 -0
  720. package/src/extra/index.ts +2 -0
  721. package/src/extra/timezone/index.ts +2 -0
  722. package/src/extra/timezone/timezone.ts +116 -0
  723. package/src/extra/timezone/timezones.data.ts +2546 -0
  724. package/src/float/float.ts +18 -0
  725. package/src/float/index.ts +1 -0
  726. package/src/form/form-v2.ts +268 -0
  727. package/src/form/form.ts +194 -0
  728. package/src/form/index.ts +2 -0
  729. package/src/icons/icon.ts +293 -0
  730. package/src/icons/index.ts +1 -0
  731. package/src/icons/readme.md +37 -0
  732. package/src/iframe/iframe.ts +98 -0
  733. package/src/iframe/index.ts +1 -0
  734. package/src/index.ts +69 -0
  735. package/src/input/index.ts +8 -0
  736. package/src/input/input.scss +211 -0
  737. package/src/input/input.ts +951 -0
  738. package/src/json/index.ts +1 -0
  739. package/src/json/json.ts +55 -0
  740. package/src/layout/flex/flex.scss +4 -0
  741. package/src/layout/flex/flex.ts +74 -0
  742. package/src/layout/flex/index.ts +1 -0
  743. package/src/layout/grid/.readme +79 -0
  744. package/src/layout/grid/grid.scss +5 -0
  745. package/src/layout/grid/grid.ts +121 -0
  746. package/src/layout/grid/index.ts +1 -0
  747. package/src/layout/index.ts +5 -0
  748. package/src/layout/layout.ts +122 -0
  749. package/src/layout/scroll/index.ts +1 -0
  750. package/src/layout/scroll/scroll.ts +351 -0
  751. package/src/layout/v2/flex.ts +243 -0
  752. package/src/layout/v2/grid.ts +93 -0
  753. package/src/layout/v2/index.ts +1 -0
  754. package/src/lightbox/flip-directive.ts +270 -0
  755. package/src/lightbox/index.ts +4 -0
  756. package/src/lightbox/lightbox-service.ts +378 -0
  757. package/src/lightbox/lightbox.directive.ts +256 -0
  758. package/src/lightbox/lightbox.ts +417 -0
  759. package/src/list/context.ts +3 -0
  760. package/src/list/index.ts +3 -0
  761. package/src/list/list-item.ts +94 -0
  762. package/src/list/list.ts +87 -0
  763. package/src/list/readme.md +62 -0
  764. package/src/mailbox/README.md +131 -0
  765. package/src/mailbox/email-editor.ts +1071 -0
  766. package/src/mailbox/email-layout-selector.ts +58 -0
  767. package/src/mailbox/email-recipients.ts +594 -0
  768. package/src/mailbox/email-template-picker.ts +296 -0
  769. package/src/mailbox/email-viewer.ts +715 -0
  770. package/src/mailbox/index.ts +31 -0
  771. package/src/mailbox/mailbox.ts +363 -0
  772. package/src/mailbox/types.ts +181 -0
  773. package/src/map/index.ts +1 -0
  774. package/src/map/map.ts +483 -0
  775. package/src/menu/index.ts +2 -0
  776. package/src/menu/menu-item.ts +26 -0
  777. package/src/menu/menu.ts +83 -0
  778. package/src/nav-drawer/$navbar.ts +51 -0
  779. package/src/nav-drawer/appbar.ts +26 -0
  780. package/src/nav-drawer/content.ts +32 -0
  781. package/src/nav-drawer/context.ts +6 -0
  782. package/src/nav-drawer/drawer.ts +128 -0
  783. package/src/nav-drawer/index.ts +6 -0
  784. package/src/nav-drawer/navbar.ts +191 -0
  785. package/src/navigation-bar/index.ts +2 -0
  786. package/src/navigation-bar/navigation-bar-item.ts +417 -0
  787. package/src/navigation-bar/navigation-bar.ts +482 -0
  788. package/src/navigation-rail/index.ts +2 -0
  789. package/src/navigation-rail/navigation-rail-item.ts +443 -0
  790. package/src/navigation-rail/navigation-rail.ts +492 -0
  791. package/src/notification/index.ts +6 -0
  792. package/src/notification/notification-service.ts +324 -0
  793. package/src/notification/notification.scss +117 -0
  794. package/src/notification/notification.ts +263 -0
  795. package/src/notification/notify.ts +207 -0
  796. package/src/notification/outlet.ts +16 -0
  797. package/src/option/index.ts +1 -0
  798. package/src/option/option.ts +180 -0
  799. package/src/page/index.ts +1 -0
  800. package/src/page/page.ts +135 -0
  801. package/src/progress/index.ts +1 -0
  802. package/src/progress/progress.ts +143 -0
  803. package/src/qr-scanner/index.ts +1 -0
  804. package/src/qr-scanner/qr-scanner.ts +240 -0
  805. package/src/radio-group/index.ts +2 -0
  806. package/src/radio-group/radio-button.ts +81 -0
  807. package/src/radio-group/radio-group.scss +4 -0
  808. package/src/radio-group/radio-group.ts +110 -0
  809. package/src/radio-group/readme.md +315 -0
  810. package/src/range/index.ts +1 -0
  811. package/src/range/range.ts +102 -0
  812. package/src/rxjs-utils/index.ts +6 -0
  813. package/src/rxjs-utils/mutation-observer.ts +22 -0
  814. package/src/rxjs-utils/waitForElement.ts +33 -0
  815. package/src/rxjs-utils/waitForElementAll.ts +34 -0
  816. package/src/rxjs-utils/waitForElements.ts +40 -0
  817. package/src/rxjs-utils/waitForElementsAll.ts +42 -0
  818. package/src/rxjs-utils/waitUntil.ts +16 -0
  819. package/src/select/README.md +405 -0
  820. package/src/select/index.ts +2 -0
  821. package/src/select/select.ts +766 -0
  822. package/src/sheet/hook.ts +40 -0
  823. package/src/sheet/index.ts +2 -0
  824. package/src/sheet/sheet.service.ts +235 -0
  825. package/src/sheet/sheet.ts +236 -0
  826. package/src/slider/index.ts +2 -0
  827. package/src/slider/slide.ts +107 -0
  828. package/src/slider/slider.ts +164 -0
  829. package/src/steps/index.ts +3 -0
  830. package/src/steps/schmancy-step.ts +213 -0
  831. package/src/steps/schmancy-steps-container.ts +109 -0
  832. package/src/steps/steps.context.ts +23 -0
  833. package/src/store/context-array.ts +358 -0
  834. package/src/store/context-collection.ts +218 -0
  835. package/src/store/context-create.ts +284 -0
  836. package/src/store/context-object.ts +298 -0
  837. package/src/store/filter-directive.ts +614 -0
  838. package/src/store/immer-integration.ts +99 -0
  839. package/src/store/index.ts +10 -0
  840. package/src/store/selector-hook.ts +259 -0
  841. package/src/store/selectors.ts +289 -0
  842. package/src/store/storage-manager.ts +269 -0
  843. package/src/store/store.class.ts +239 -0
  844. package/src/store/types.ts +327 -0
  845. package/src/surface/context.ts +3 -0
  846. package/src/surface/index.ts +1 -0
  847. package/src/surface/surface.styles.ts +334 -0
  848. package/src/surface/surface.ts +59 -0
  849. package/src/table/index.ts +2 -0
  850. package/src/table/row.ts +60 -0
  851. package/src/table/table.ts +266 -0
  852. package/src/tabs/Readme.md +397 -0
  853. package/src/tabs/context.ts +5 -0
  854. package/src/tabs/index.ts +4 -0
  855. package/src/tabs/tab.ts +39 -0
  856. package/src/tabs/tabs-compatibility.ts +20 -0
  857. package/src/tabs/tabs-group.ts +184 -0
  858. package/src/teleport/.excalidraw +2511 -0
  859. package/src/teleport/index.ts +2 -0
  860. package/src/teleport/readme.md +91 -0
  861. package/src/teleport/teleport.component.ts +132 -0
  862. package/src/teleport/teleport.service.ts +139 -0
  863. package/src/teleport/watcher.ts +20 -0
  864. package/src/textarea/index.ts +1 -0
  865. package/src/textarea/textarea.scss +54 -0
  866. package/src/textarea/textarea.ts +432 -0
  867. package/src/theme/context.ts +28 -0
  868. package/src/theme/index.ts +17 -0
  869. package/src/theme/theme-audio-player.ts +470 -0
  870. package/src/theme/theme-controller-boat.ts +49 -0
  871. package/src/theme/theme-controller-example.md +152 -0
  872. package/src/theme/theme-controller.ts +205 -0
  873. package/src/theme/theme.component.ts +305 -0
  874. package/src/theme/theme.events.ts +59 -0
  875. package/src/theme/theme.format.ts +417 -0
  876. package/src/theme/theme.interface.ts +399 -0
  877. package/src/theme/theme.service.ts +520 -0
  878. package/src/theme/theme.style.css +619 -0
  879. package/src/theme-button/index.ts +1 -0
  880. package/src/theme-button/theme-button.ts +35 -0
  881. package/src/tooltip/index.ts +2 -0
  882. package/src/tooltip/tooltip.directive.ts +277 -0
  883. package/src/tooltip/tooltip.ts +216 -0
  884. package/src/tree/README.md +59 -0
  885. package/src/tree/index.ts +1 -0
  886. package/src/tree/tree.ts +132 -0
  887. package/src/types/events.ts +5 -0
  888. package/src/types/index.ts +3 -0
  889. package/src/types/mood-audio.types.ts +220 -0
  890. package/src/types/surface.ts +52 -0
  891. package/src/typewriter/IMPROVEMENTS.md +174 -0
  892. package/src/typewriter/QUICK_REFERENCE.md +166 -0
  893. package/src/typewriter/index.ts +1 -0
  894. package/src/typewriter/test-typewriter.html +97 -0
  895. package/src/typewriter/typewriter.ts +376 -0
  896. package/src/typography/index.ts +1 -0
  897. package/src/typography/typography.ts +448 -0
  898. package/src/utils/animation.ts +418 -0
  899. package/src/utils/hashContent.ts +12 -0
  900. package/src/utils/index.ts +6 -0
  901. package/src/utils/intersection.ts +22 -0
  902. package/src/utils/number.ts +529 -0
  903. package/src/utils/overlay-stack.ts +101 -0
  904. package/src/utils/search.ts +322 -0
  905. package/src/vite-env.d.ts +2 -0
  906. package/src/window/index.ts +10 -0
  907. package/src/window/window-manager.ts +204 -0
  908. package/src/window/window-position.ts +136 -0
  909. package/src/window/window-registry.ts +34 -0
  910. package/src/window/window.ts +724 -0
  911. package/types/mixins/baseElement.d.ts +12 -0
  912. package/types/mixins/discovery.service.d.ts +72 -0
  913. package/types/mixins/index.d.ts +2 -0
  914. package/types/mixins/surface.mixin.d.ts +39 -0
  915. package/types/src/area/area.service.d.ts +2 -0
  916. package/types/src/badge/badge.d.ts +1 -1
  917. package/types/src/boat/boat.d.ts +40 -33
  918. package/types/src/button/icon-button.d.ts +10 -0
  919. package/types/src/chips/filter-chip.d.ts +0 -12
  920. package/types/src/connectivity/connectivity-status.d.ts +25 -0
  921. package/types/src/connectivity/index.d.ts +1 -0
  922. package/types/src/content-drawer/drawer.service.d.ts +3 -0
  923. package/types/src/date-range/date-range.d.ts +2 -0
  924. package/types/src/details/details.d.ts +26 -2
  925. package/types/src/dialog/dialog-base.mixin.d.ts +7 -3
  926. package/types/src/dialog/dialog-service.d.ts +27 -1
  927. package/types/src/dialog/dialog.component.d.ts +35 -1
  928. package/types/src/directives/animate-text.d.ts +67 -0
  929. package/types/src/directives/color.d.ts +2 -3
  930. package/types/src/directives/confirm-click.d.ts +38 -0
  931. package/types/src/directives/cursor-glow.d.ts +38 -0
  932. package/types/src/directives/cycle-text.d.ts +44 -0
  933. package/types/src/directives/depth-of-field.d.ts +38 -0
  934. package/types/src/directives/drag.d.ts +8 -8
  935. package/types/src/directives/gravity.d.ts +40 -0
  936. package/types/src/directives/index.d.ts +16 -2
  937. package/types/src/directives/intersect.d.ts +60 -0
  938. package/types/src/directives/layout.d.ts +62 -0
  939. package/types/src/directives/liquid.d.ts +38 -0
  940. package/types/src/directives/living-border.d.ts +39 -0
  941. package/types/src/directives/long-press.d.ts +38 -0
  942. package/types/src/directives/magnetic.d.ts +35 -0
  943. package/types/src/directives/nebula.d.ts +80 -0
  944. package/types/src/directives/reduced-motion.d.ts +2 -0
  945. package/types/src/directives/reveal.d.ts +54 -0
  946. package/types/src/directives/ripple.d.ts +15 -5
  947. package/types/src/directives/typewriter.d.ts +50 -0
  948. package/types/src/discovery/discovery.service.d.ts +72 -0
  949. package/types/src/expand/expand-root.component.d.ts +30 -0
  950. package/types/src/expand/expand.component.d.ts +38 -0
  951. package/types/src/expand/index.d.ts +2 -0
  952. package/types/src/float/float.d.ts +14 -0
  953. package/types/src/float/index.d.ts +1 -0
  954. package/types/src/icons/icon.d.ts +14 -0
  955. package/types/src/iframe/iframe.d.ts +37 -0
  956. package/types/src/iframe/index.d.ts +1 -0
  957. package/types/src/index.d.ts +6 -1
  958. package/types/src/input/index.d.ts +1 -1
  959. package/types/src/layout/scroll/scroll.d.ts +11 -0
  960. package/types/src/lightbox/lightbox.d.ts +1 -0
  961. package/types/src/mailbox/email-recipients.d.ts +2 -2
  962. package/types/src/mailbox/types.d.ts +1 -1
  963. package/types/src/navigation-bar/navigation-bar.d.ts +17 -0
  964. package/types/src/notification/notification.d.ts +1 -0
  965. package/types/src/page/page.d.ts +6 -0
  966. package/types/src/range/index.d.ts +1 -0
  967. package/types/src/range/range.d.ts +25 -0
  968. package/types/src/sheet/sheet.d.ts +0 -1
  969. package/types/src/steps/schmancy-steps-container.d.ts +8 -6
  970. package/types/src/surface/surface.d.ts +4 -27
  971. package/types/src/surface/surface.styles.d.ts +31 -0
  972. package/types/src/tabs/tab.d.ts +1 -0
  973. package/types/src/textarea/textarea.d.ts +3 -2
  974. package/types/src/theme/context.d.ts +2 -282
  975. package/types/src/theme/theme.component.d.ts +9 -1
  976. package/types/src/theme/theme.format.d.ts +1 -1
  977. package/types/src/theme/theme.interface.d.ts +8 -1
  978. package/types/src/theme/theme.service.d.ts +20 -282
  979. package/types/src/types/surface.d.ts +27 -1
  980. package/types/src/typography/typography.d.ts +17 -3
  981. package/types/src/utils/animation.d.ts +254 -0
  982. package/types/src/utils/index.d.ts +2 -0
  983. package/types/src/utils/number.d.ts +18 -2
  984. package/types/src/utils/overlay-stack.d.ts +54 -0
  985. package/types/src/window/index.d.ts +3 -0
  986. package/types/src/window/window-manager.d.ts +49 -0
  987. package/types/src/window/window-position.d.ts +64 -0
  988. package/types/src/window/window-registry.d.ts +28 -0
  989. package/types/src/window/window.d.ts +67 -0
  990. package/ai/animated-text.md +0 -116
  991. package/ai/component-relationships.md +0 -93
  992. package/ai/context.md +0 -572
  993. package/ai/countries.md +0 -271
  994. package/ai/index.md +0 -112
  995. package/ai/navigation-bar-item.md +0 -259
  996. package/ai/payment-card-form.md +0 -242
  997. package/ai/spinner.md +0 -165
  998. package/ai/template.md +0 -144
  999. package/ai/timezone.md +0 -276
  1000. package/dist/_commonjsHelpers-Dw9sPFZy.js +0 -7
  1001. package/dist/_commonjsHelpers-Dw9sPFZy.js.map +0 -1
  1002. package/dist/_commonjsHelpers-k2hpEU-q.cjs +0 -2
  1003. package/dist/_commonjsHelpers-k2hpEU-q.cjs.map +0 -1
  1004. package/dist/ai/animated-text.md +0 -116
  1005. package/dist/ai/component-relationships.md +0 -93
  1006. package/dist/ai/context.md +0 -572
  1007. package/dist/ai/countries.md +0 -271
  1008. package/dist/ai/index.md +0 -112
  1009. package/dist/ai/navigation-bar-item.md +0 -259
  1010. package/dist/ai/payment-card-form.md +0 -242
  1011. package/dist/ai/spinner.md +0 -165
  1012. package/dist/ai/template.md +0 -144
  1013. package/dist/ai/timezone.md +0 -276
  1014. package/dist/animated-text-B3DQRJBy.cjs +0 -37
  1015. package/dist/animated-text-B3DQRJBy.cjs.map +0 -1
  1016. package/dist/animated-text-BAj4-6hE.js +0 -76
  1017. package/dist/animated-text-BAj4-6hE.js.map +0 -1
  1018. package/dist/animated-text.cjs +0 -2
  1019. package/dist/animated-text.cjs.map +0 -1
  1020. package/dist/animated-text.js +0 -2
  1021. package/dist/animated-text.js.map +0 -1
  1022. package/dist/area.cjs.map +0 -1
  1023. package/dist/area.component-CP4DZ0d8.js +0 -330
  1024. package/dist/area.component-CP4DZ0d8.js.map +0 -1
  1025. package/dist/area.component-ChxSLt16.cjs +0 -12
  1026. package/dist/area.component-ChxSLt16.cjs.map +0 -1
  1027. package/dist/area.js.map +0 -1
  1028. package/dist/audio.cjs.map +0 -1
  1029. package/dist/audio.js.map +0 -1
  1030. package/dist/autocomplete-CAaVSg4g.cjs +0 -112
  1031. package/dist/autocomplete-CAaVSg4g.cjs.map +0 -1
  1032. package/dist/autocomplete-CGbACUYd.js +0 -333
  1033. package/dist/autocomplete-CGbACUYd.js.map +0 -1
  1034. package/dist/autocomplete.cjs.map +0 -1
  1035. package/dist/autocomplete.js.map +0 -1
  1036. package/dist/avatar-nWOZXEsW.cjs +0 -273
  1037. package/dist/avatar-nWOZXEsW.cjs.map +0 -1
  1038. package/dist/avatar-rLCF6MSI.js +0 -895
  1039. package/dist/avatar-rLCF6MSI.js.map +0 -1
  1040. package/dist/badge.cjs.map +0 -1
  1041. package/dist/badge.js.map +0 -1
  1042. package/dist/boat-Ckt9v__d.js +0 -301
  1043. package/dist/boat-Ckt9v__d.js.map +0 -1
  1044. package/dist/boat-yNAZ2LLB.cjs +0 -97
  1045. package/dist/boat-yNAZ2LLB.cjs.map +0 -1
  1046. package/dist/boat.cjs.map +0 -1
  1047. package/dist/boat.js.map +0 -1
  1048. package/dist/busy.cjs.map +0 -1
  1049. package/dist/busy.js.map +0 -1
  1050. package/dist/card.cjs.map +0 -1
  1051. package/dist/card.js.map +0 -1
  1052. package/dist/checkbox-BnAlpsJN.cjs +0 -40
  1053. package/dist/checkbox-BnAlpsJN.cjs.map +0 -1
  1054. package/dist/checkbox-D22yfGe3.js +0 -526
  1055. package/dist/checkbox-D22yfGe3.js.map +0 -1
  1056. package/dist/checkbox.cjs.map +0 -1
  1057. package/dist/checkbox.js.map +0 -1
  1058. package/dist/chips.cjs.map +0 -1
  1059. package/dist/chips.js.map +0 -1
  1060. package/dist/code-highlight.cjs.map +0 -1
  1061. package/dist/code-highlight.js.map +0 -1
  1062. package/dist/code-preview-DPlQayFd.js +0 -967
  1063. package/dist/code-preview-DPlQayFd.js.map +0 -1
  1064. package/dist/code-preview-jPnX60FF.cjs +0 -193
  1065. package/dist/code-preview-jPnX60FF.cjs.map +0 -1
  1066. package/dist/components.cjs.map +0 -1
  1067. package/dist/components.js.map +0 -1
  1068. package/dist/consume-5D1qfVWM.js +0 -38
  1069. package/dist/consume-5D1qfVWM.js.map +0 -1
  1070. package/dist/consume-edta5ng5.cjs +0 -2
  1071. package/dist/consume-edta5ng5.cjs.map +0 -1
  1072. package/dist/content-drawer.cjs.map +0 -1
  1073. package/dist/content-drawer.js.map +0 -1
  1074. package/dist/context-create-B_S-sD5B.js +0 -1107
  1075. package/dist/context-create-B_S-sD5B.js.map +0 -1
  1076. package/dist/context-create-DTybDbZp.cjs +0 -2
  1077. package/dist/context-create-DTybDbZp.cjs.map +0 -1
  1078. package/dist/date-range-GFm5NG33.js +0 -639
  1079. package/dist/date-range-GFm5NG33.js.map +0 -1
  1080. package/dist/date-range-inline-CgX2o0FP.cjs +0 -44
  1081. package/dist/date-range-inline-CgX2o0FP.cjs.map +0 -1
  1082. package/dist/date-range-inline-DTQLESAZ.js +0 -197
  1083. package/dist/date-range-inline-DTQLESAZ.js.map +0 -1
  1084. package/dist/date-range-inline.cjs.map +0 -1
  1085. package/dist/date-range-inline.js.map +0 -1
  1086. package/dist/date-range-ug3B9CFT.cjs +0 -119
  1087. package/dist/date-range-ug3B9CFT.cjs.map +0 -1
  1088. package/dist/date-range.cjs.map +0 -1
  1089. package/dist/date-range.js.map +0 -1
  1090. package/dist/delay-CWtBL0VD.cjs +0 -10
  1091. package/dist/delay-CWtBL0VD.cjs.map +0 -1
  1092. package/dist/delay-DEe1CmHc.js +0 -288
  1093. package/dist/delay-DEe1CmHc.js.map +0 -1
  1094. package/dist/delay.cjs.map +0 -1
  1095. package/dist/delay.js.map +0 -1
  1096. package/dist/details-D-LXW23W.js +0 -100
  1097. package/dist/details-D-LXW23W.js.map +0 -1
  1098. package/dist/details-DVke77dU.cjs +0 -55
  1099. package/dist/details-DVke77dU.cjs.map +0 -1
  1100. package/dist/details.cjs.map +0 -1
  1101. package/dist/details.js.map +0 -1
  1102. package/dist/dialog-service-C86xTS8q.cjs +0 -2
  1103. package/dist/dialog-service-C86xTS8q.cjs.map +0 -1
  1104. package/dist/dialog-service-D9E3jLAR.js +0 -118
  1105. package/dist/dialog-service-D9E3jLAR.js.map +0 -1
  1106. package/dist/dialog.component-BM0D-hK9.cjs +0 -48
  1107. package/dist/dialog.component-BM0D-hK9.cjs.map +0 -1
  1108. package/dist/dialog.component-a7FlKhGD.js +0 -145
  1109. package/dist/dialog.component-a7FlKhGD.js.map +0 -1
  1110. package/dist/discovery.service-BbYjU5x8.js +0 -21
  1111. package/dist/discovery.service-BbYjU5x8.js.map +0 -1
  1112. package/dist/discovery.service-BpGCuXPd.cjs +0 -2
  1113. package/dist/discovery.service-BpGCuXPd.cjs.map +0 -1
  1114. package/dist/divider-CzTpxOqt.js +0 -84
  1115. package/dist/divider-CzTpxOqt.js.map +0 -1
  1116. package/dist/divider-D8KStUhN.cjs +0 -58
  1117. package/dist/divider-D8KStUhN.cjs.map +0 -1
  1118. package/dist/divider.cjs.map +0 -1
  1119. package/dist/divider.js.map +0 -1
  1120. package/dist/dropdown-content-CngZN3vv.cjs +0 -58
  1121. package/dist/dropdown-content-CngZN3vv.cjs.map +0 -1
  1122. package/dist/dropdown-content-DCn-g0-f.js +0 -147
  1123. package/dist/dropdown-content-DCn-g0-f.js.map +0 -1
  1124. package/dist/email-recipients-BhntMZMf.cjs +0 -1173
  1125. package/dist/email-recipients-BhntMZMf.cjs.map +0 -1
  1126. package/dist/email-recipients-BzjAKNJ0.js +0 -1733
  1127. package/dist/email-recipients-BzjAKNJ0.js.map +0 -1
  1128. package/dist/emotional-sounds-BRnFhww6.js +0 -234
  1129. package/dist/emotional-sounds-BRnFhww6.js.map +0 -1
  1130. package/dist/emotional-sounds-DVGhmoZf.cjs +0 -2
  1131. package/dist/emotional-sounds-DVGhmoZf.cjs.map +0 -1
  1132. package/dist/extra.cjs.map +0 -1
  1133. package/dist/extra.js.map +0 -1
  1134. package/dist/flex-5dR48zie.js +0 -183
  1135. package/dist/flex-5dR48zie.js.map +0 -1
  1136. package/dist/flex-oHl2EfYB.cjs +0 -18
  1137. package/dist/flex-oHl2EfYB.cjs.map +0 -1
  1138. package/dist/flow-D0e7hGXO.cjs +0 -2
  1139. package/dist/flow-D0e7hGXO.cjs.map +0 -1
  1140. package/dist/flow-DXYqC9OA.js +0 -340
  1141. package/dist/flow-DXYqC9OA.js.map +0 -1
  1142. package/dist/form-BlPiAPt7.cjs +0 -2
  1143. package/dist/form-BlPiAPt7.cjs.map +0 -1
  1144. package/dist/form-BxVM6JTn.js +0 -141
  1145. package/dist/form-BxVM6JTn.js.map +0 -1
  1146. package/dist/form.cjs.map +0 -1
  1147. package/dist/form.js.map +0 -1
  1148. package/dist/formField.mixin-BCGA7Ea3.js +0 -48
  1149. package/dist/formField.mixin-BCGA7Ea3.js.map +0 -1
  1150. package/dist/formField.mixin-BfJMifU9.cjs +0 -2
  1151. package/dist/formField.mixin-BfJMifU9.cjs.map +0 -1
  1152. package/dist/height-CfECBO2j.js +0 -44
  1153. package/dist/height-CfECBO2j.js.map +0 -1
  1154. package/dist/height-Z70qJYJK.cjs +0 -2
  1155. package/dist/height-Z70qJYJK.cjs.map +0 -1
  1156. package/dist/icon-DHEXr3c-.cjs +0 -49
  1157. package/dist/icon-DHEXr3c-.cjs.map +0 -1
  1158. package/dist/icon-DYpLoegR.js +0 -84
  1159. package/dist/icon-DYpLoegR.js.map +0 -1
  1160. package/dist/icon-button-CmZBLHWC.js +0 -164
  1161. package/dist/icon-button-CmZBLHWC.js.map +0 -1
  1162. package/dist/icon-button-IbSX8C98.cjs +0 -70
  1163. package/dist/icon-button-IbSX8C98.cjs.map +0 -1
  1164. package/dist/icons.cjs.map +0 -1
  1165. package/dist/icons.js.map +0 -1
  1166. package/dist/index-CCi1otmh.cjs +0 -2
  1167. package/dist/index-CCi1otmh.cjs.map +0 -1
  1168. package/dist/index-CW6PhEkx.js +0 -17
  1169. package/dist/index-CW6PhEkx.js.map +0 -1
  1170. package/dist/index.cjs.map +0 -1
  1171. package/dist/index.js.map +0 -1
  1172. package/dist/input-BByjYlgl.cjs +0 -51
  1173. package/dist/input-BByjYlgl.cjs.map +0 -1
  1174. package/dist/input-D0cQ9DOY.js +0 -237
  1175. package/dist/input-D0cQ9DOY.js.map +0 -1
  1176. package/dist/input-chip-B5ErXgCB.js +0 -206
  1177. package/dist/input-chip-B5ErXgCB.js.map +0 -1
  1178. package/dist/input-chip-DkWaTciP.cjs +0 -147
  1179. package/dist/input-chip-DkWaTciP.cjs.map +0 -1
  1180. package/dist/input.cjs.map +0 -1
  1181. package/dist/input.js.map +0 -1
  1182. package/dist/intersection-CJxzz8c-.js +0 -15
  1183. package/dist/intersection-CJxzz8c-.js.map +0 -1
  1184. package/dist/intersection-CVvaDv96.cjs +0 -2
  1185. package/dist/intersection-CVvaDv96.cjs.map +0 -1
  1186. package/dist/json-BZVe74np.cjs +0 -12
  1187. package/dist/json-BZVe74np.cjs.map +0 -1
  1188. package/dist/json-PKewOWuJ.js +0 -51
  1189. package/dist/json-PKewOWuJ.js.map +0 -1
  1190. package/dist/layout.cjs.map +0 -1
  1191. package/dist/layout.js.map +0 -1
  1192. package/dist/lightbox-service-D-0JtxB1.cjs +0 -202
  1193. package/dist/lightbox-service-D-0JtxB1.cjs.map +0 -1
  1194. package/dist/lightbox-service-DZMnb1eU.js +0 -458
  1195. package/dist/lightbox-service-DZMnb1eU.js.map +0 -1
  1196. package/dist/lightbox.cjs.map +0 -1
  1197. package/dist/lightbox.js.map +0 -1
  1198. package/dist/list-B_2m7l3g.cjs +0 -17
  1199. package/dist/list-B_2m7l3g.cjs.map +0 -1
  1200. package/dist/list-CW56LV-v.js +0 -69
  1201. package/dist/list-CW56LV-v.js.map +0 -1
  1202. package/dist/list.cjs.map +0 -1
  1203. package/dist/list.js.map +0 -1
  1204. package/dist/litElement.mixin-CrpeGpZ7.cjs +0 -2
  1205. package/dist/litElement.mixin-CrpeGpZ7.cjs.map +0 -1
  1206. package/dist/litElement.mixin-DHZXtvYq.js +0 -15
  1207. package/dist/litElement.mixin-DHZXtvYq.js.map +0 -1
  1208. package/dist/mailbox.cjs.map +0 -1
  1209. package/dist/mailbox.js.map +0 -1
  1210. package/dist/map-2Hl60a0A.js +0 -175
  1211. package/dist/map-2Hl60a0A.js.map +0 -1
  1212. package/dist/map-DyPS9G7M.cjs +0 -81
  1213. package/dist/map-DyPS9G7M.cjs.map +0 -1
  1214. package/dist/map.cjs.map +0 -1
  1215. package/dist/map.js.map +0 -1
  1216. package/dist/media-CS8HpKnK.cjs +0 -152
  1217. package/dist/media-CS8HpKnK.cjs.map +0 -1
  1218. package/dist/media-DtWbcRxL.js +0 -244
  1219. package/dist/media-DtWbcRxL.js.map +0 -1
  1220. package/dist/menu-Caju5-zd.js +0 -60
  1221. package/dist/menu-Caju5-zd.js.map +0 -1
  1222. package/dist/menu-rX5RPAI2.cjs +0 -24
  1223. package/dist/menu-rX5RPAI2.cjs.map +0 -1
  1224. package/dist/menu.cjs.map +0 -1
  1225. package/dist/menu.js.map +0 -1
  1226. package/dist/nav-drawer.cjs.map +0 -1
  1227. package/dist/nav-drawer.js.map +0 -1
  1228. package/dist/navigation-bar.cjs.map +0 -1
  1229. package/dist/navigation-bar.js.map +0 -1
  1230. package/dist/navigation-rail-Ctketq5a.js +0 -256
  1231. package/dist/navigation-rail-Ctketq5a.js.map +0 -1
  1232. package/dist/navigation-rail-DC9_oSIM.cjs +0 -79
  1233. package/dist/navigation-rail-DC9_oSIM.cjs.map +0 -1
  1234. package/dist/notification-service-CUlfXqmj.js +0 -155
  1235. package/dist/notification-service-CUlfXqmj.js.map +0 -1
  1236. package/dist/notification-service-DknbpqTt.cjs +0 -19
  1237. package/dist/notification-service-DknbpqTt.cjs.map +0 -1
  1238. package/dist/notification.cjs.map +0 -1
  1239. package/dist/notification.js.map +0 -1
  1240. package/dist/notify-DJSOWTxv.js +0 -35
  1241. package/dist/notify-DJSOWTxv.js.map +0 -1
  1242. package/dist/notify-DickIEHW.cjs +0 -2
  1243. package/dist/notify-DickIEHW.cjs.map +0 -1
  1244. package/dist/number-B7aCRYnH.cjs +0 -2
  1245. package/dist/number-B7aCRYnH.cjs.map +0 -1
  1246. package/dist/number-BhTiptLA.js +0 -99
  1247. package/dist/number-BhTiptLA.js.map +0 -1
  1248. package/dist/option-Bng41-rY.js +0 -77
  1249. package/dist/option-Bng41-rY.js.map +0 -1
  1250. package/dist/option-DYT5Rkgy.cjs +0 -44
  1251. package/dist/option-DYT5Rkgy.cjs.map +0 -1
  1252. package/dist/option.cjs.map +0 -1
  1253. package/dist/option.js.map +0 -1
  1254. package/dist/page-BLn9gtSd.cjs +0 -20
  1255. package/dist/page-BLn9gtSd.cjs.map +0 -1
  1256. package/dist/page-D-ROcQDd.js +0 -48
  1257. package/dist/page-D-ROcQDd.js.map +0 -1
  1258. package/dist/payment-card-form-5UtfWzoW.cjs +0 -74
  1259. package/dist/payment-card-form-5UtfWzoW.cjs.map +0 -1
  1260. package/dist/payment-card-form-BJa4RgF2.js +0 -515
  1261. package/dist/payment-card-form-BJa4RgF2.js.map +0 -1
  1262. package/dist/pills-BS5rZ6C3.js +0 -346
  1263. package/dist/pills-BS5rZ6C3.js.map +0 -1
  1264. package/dist/pills-Blf7IAeq.cjs +0 -113
  1265. package/dist/pills-Blf7IAeq.cjs.map +0 -1
  1266. package/dist/progress-DlhYniW_.cjs +0 -35
  1267. package/dist/progress-DlhYniW_.cjs.map +0 -1
  1268. package/dist/progress-yTIX6EqC.js +0 -56
  1269. package/dist/progress-yTIX6EqC.js.map +0 -1
  1270. package/dist/progress.cjs.map +0 -1
  1271. package/dist/progress.js.map +0 -1
  1272. package/dist/provide-BxZ2kn_p.cjs +0 -2
  1273. package/dist/provide-BxZ2kn_p.cjs.map +0 -1
  1274. package/dist/provide-tcktw8xB.js +0 -100
  1275. package/dist/provide-tcktw8xB.js.map +0 -1
  1276. package/dist/qr-scanner-DOs7uNS_.cjs +0 -29
  1277. package/dist/qr-scanner-DOs7uNS_.cjs.map +0 -1
  1278. package/dist/qr-scanner-DjZ8mgHV.js +0 -743
  1279. package/dist/qr-scanner-DjZ8mgHV.js.map +0 -1
  1280. package/dist/radio-button-N_PrrxKB.cjs +0 -41
  1281. package/dist/radio-button-N_PrrxKB.cjs.map +0 -1
  1282. package/dist/radio-button-me3SRHGu.js +0 -115
  1283. package/dist/radio-button-me3SRHGu.js.map +0 -1
  1284. package/dist/radio-group.cjs.map +0 -1
  1285. package/dist/radio-group.js.map +0 -1
  1286. package/dist/ripple-BgJXbNSP.js +0 -124
  1287. package/dist/ripple-BgJXbNSP.js.map +0 -1
  1288. package/dist/ripple-x6sTX02K.cjs +0 -16
  1289. package/dist/ripple-x6sTX02K.cjs.map +0 -1
  1290. package/dist/rxjs-utils.cjs.map +0 -1
  1291. package/dist/rxjs-utils.js.map +0 -1
  1292. package/dist/schmancy-steps-container-J6P-NNNj.js +0 -156
  1293. package/dist/schmancy-steps-container-J6P-NNNj.js.map +0 -1
  1294. package/dist/schmancy-steps-container-T57BKMzi.cjs +0 -70
  1295. package/dist/schmancy-steps-container-T57BKMzi.cjs.map +0 -1
  1296. package/dist/scroll-C_gfUgjn.js +0 -87
  1297. package/dist/scroll-C_gfUgjn.js.map +0 -1
  1298. package/dist/scroll-CecsowP7.cjs +0 -27
  1299. package/dist/scroll-CecsowP7.cjs.map +0 -1
  1300. package/dist/search-B1s7thB0.cjs +0 -2
  1301. package/dist/search-B1s7thB0.cjs.map +0 -1
  1302. package/dist/search-DxxnLa5u.js +0 -95
  1303. package/dist/search-DxxnLa5u.js.map +0 -1
  1304. package/dist/select-BBA0gBHf.js +0 -280
  1305. package/dist/select-BBA0gBHf.js.map +0 -1
  1306. package/dist/select-D9oCjv7N.cjs +0 -57
  1307. package/dist/select-D9oCjv7N.cjs.map +0 -1
  1308. package/dist/select.cjs.map +0 -1
  1309. package/dist/select.js.map +0 -1
  1310. package/dist/selector-hook-9w2auh2O.cjs +0 -2
  1311. package/dist/selector-hook-9w2auh2O.cjs.map +0 -1
  1312. package/dist/selector-hook-CHV4kDMd.js +0 -319
  1313. package/dist/selector-hook-CHV4kDMd.js.map +0 -1
  1314. package/dist/sheet-0oUfBmXX.cjs +0 -15
  1315. package/dist/sheet-0oUfBmXX.cjs.map +0 -1
  1316. package/dist/sheet-CNcDT3VP.js +0 -97
  1317. package/dist/sheet-CNcDT3VP.js.map +0 -1
  1318. package/dist/sheet.cjs.map +0 -1
  1319. package/dist/sheet.js.map +0 -1
  1320. package/dist/sheet.service-2MobB-9z.js +0 -68
  1321. package/dist/sheet.service-2MobB-9z.js.map +0 -1
  1322. package/dist/sheet.service-su_7yDQ-.cjs +0 -2
  1323. package/dist/sheet.service-su_7yDQ-.cjs.map +0 -1
  1324. package/dist/slider-CV-Ehp_5.cjs +0 -83
  1325. package/dist/slider-CV-Ehp_5.cjs.map +0 -1
  1326. package/dist/slider-CkE-iFUy.js +0 -161
  1327. package/dist/slider-CkE-iFUy.js.map +0 -1
  1328. package/dist/sound.service-Nza4c6wv.js +0 -102
  1329. package/dist/sound.service-Nza4c6wv.js.map +0 -1
  1330. package/dist/sound.service-eRirZw59.cjs +0 -2
  1331. package/dist/sound.service-eRirZw59.cjs.map +0 -1
  1332. package/dist/spinner-Bfn8KC-9.cjs +0 -135
  1333. package/dist/spinner-Bfn8KC-9.cjs.map +0 -1
  1334. package/dist/spinner-DiMbWXp9.js +0 -168
  1335. package/dist/spinner-DiMbWXp9.js.map +0 -1
  1336. package/dist/store.cjs.map +0 -1
  1337. package/dist/store.js.map +0 -1
  1338. package/dist/suggestion-chip-CEDqUNoS.js +0 -481
  1339. package/dist/suggestion-chip-CEDqUNoS.js.map +0 -1
  1340. package/dist/suggestion-chip-HhsLtZXR.cjs +0 -271
  1341. package/dist/suggestion-chip-HhsLtZXR.cjs.map +0 -1
  1342. package/dist/surface-CW3H23Va.cjs +0 -199
  1343. package/dist/surface-CW3H23Va.cjs.map +0 -1
  1344. package/dist/surface-eBfnSwQS.js +0 -220
  1345. package/dist/surface-eBfnSwQS.js.map +0 -1
  1346. package/dist/surface.cjs.map +0 -1
  1347. package/dist/surface.js.map +0 -1
  1348. package/dist/table-D0tiSL_u.cjs +0 -64
  1349. package/dist/table-D0tiSL_u.cjs.map +0 -1
  1350. package/dist/table-Dmo4TvTx.js +0 -561
  1351. package/dist/table-Dmo4TvTx.js.map +0 -1
  1352. package/dist/table.cjs.map +0 -1
  1353. package/dist/table.js.map +0 -1
  1354. package/dist/tabs-compatibility-Bit6y6en.js +0 -104
  1355. package/dist/tabs-compatibility-Bit6y6en.js.map +0 -1
  1356. package/dist/tabs-compatibility-Vq_2-ekz.cjs +0 -35
  1357. package/dist/tabs-compatibility-Vq_2-ekz.cjs.map +0 -1
  1358. package/dist/tabs.cjs.map +0 -1
  1359. package/dist/tabs.js.map +0 -1
  1360. package/dist/tailwind.mixin-Bp_PR6yc.js +0 -67
  1361. package/dist/tailwind.mixin-Bp_PR6yc.js.map +0 -1
  1362. package/dist/tailwind.mixin-Cp4PyXok.cjs +0 -2
  1363. package/dist/tailwind.mixin-Cp4PyXok.cjs.map +0 -1
  1364. package/dist/teleport.cjs.map +0 -1
  1365. package/dist/teleport.js.map +0 -1
  1366. package/dist/textarea-B1d1QCqT.js +0 -134
  1367. package/dist/textarea-B1d1QCqT.js.map +0 -1
  1368. package/dist/textarea-DG8CHhZA.cjs +0 -44
  1369. package/dist/textarea-DG8CHhZA.cjs.map +0 -1
  1370. package/dist/textarea.cjs.map +0 -1
  1371. package/dist/textarea.js.map +0 -1
  1372. package/dist/theme-button-CPL6Eaqd.cjs +0 -9
  1373. package/dist/theme-button-CPL6Eaqd.cjs.map +0 -1
  1374. package/dist/theme-button-CrLuMQNe.js +0 -27
  1375. package/dist/theme-button-CrLuMQNe.js.map +0 -1
  1376. package/dist/theme-button.cjs.map +0 -1
  1377. package/dist/theme-button.js.map +0 -1
  1378. package/dist/theme-controller-boat-CXbNJSI3.cjs +0 -178
  1379. package/dist/theme-controller-boat-CXbNJSI3.cjs.map +0 -1
  1380. package/dist/theme-controller-boat-CzSmjyKq.js +0 -1159
  1381. package/dist/theme-controller-boat-CzSmjyKq.js.map +0 -1
  1382. package/dist/theme.cjs.map +0 -1
  1383. package/dist/theme.events-CPSLaOlR.js +0 -6
  1384. package/dist/theme.events-CPSLaOlR.js.map +0 -1
  1385. package/dist/theme.events-Car6U_SQ.cjs +0 -2
  1386. package/dist/theme.events-Car6U_SQ.cjs.map +0 -1
  1387. package/dist/theme.interface-BLfE5J_1.js +0 -5
  1388. package/dist/theme.interface-BLfE5J_1.js.map +0 -1
  1389. package/dist/theme.interface-BMeNadVb.cjs +0 -2
  1390. package/dist/theme.interface-BMeNadVb.cjs.map +0 -1
  1391. package/dist/theme.js.map +0 -1
  1392. package/dist/timezone-4vwX0BgA.js +0 -112
  1393. package/dist/timezone-4vwX0BgA.js.map +0 -1
  1394. package/dist/timezone-BxvQcqe1.cjs +0 -32
  1395. package/dist/timezone-BxvQcqe1.cjs.map +0 -1
  1396. package/dist/tooltip-CjdvBf4X.js +0 -119
  1397. package/dist/tooltip-CjdvBf4X.js.map +0 -1
  1398. package/dist/tooltip-ZtnGjoJd.cjs +0 -7
  1399. package/dist/tooltip-ZtnGjoJd.cjs.map +0 -1
  1400. package/dist/tree-CBEjV7jP.js +0 -65
  1401. package/dist/tree-CBEjV7jP.js.map +0 -1
  1402. package/dist/tree-DP5U00NA.cjs +0 -27
  1403. package/dist/tree-DP5U00NA.cjs.map +0 -1
  1404. package/dist/tslib.es6-DgOcxv4s.cjs +0 -2
  1405. package/dist/tslib.es6-DgOcxv4s.cjs.map +0 -1
  1406. package/dist/tslib.es6-ujVQHAQ4.js +0 -10
  1407. package/dist/tslib.es6-ujVQHAQ4.js.map +0 -1
  1408. package/dist/typewriter-C6kFjLcX.cjs +0 -124
  1409. package/dist/typewriter-C6kFjLcX.cjs.map +0 -1
  1410. package/dist/typewriter-Eo5qXoGC.js +0 -555
  1411. package/dist/typewriter-Eo5qXoGC.js.map +0 -1
  1412. package/dist/typewriter.cjs.map +0 -1
  1413. package/dist/typewriter.js.map +0 -1
  1414. package/dist/typography-C_1gdM2I.js +0 -264
  1415. package/dist/typography-C_1gdM2I.js.map +0 -1
  1416. package/dist/typography-DGyjlLCE.cjs +0 -243
  1417. package/dist/typography-DGyjlLCE.cjs.map +0 -1
  1418. package/dist/utils-C38P63L6.cjs +0 -2
  1419. package/dist/utils-C38P63L6.cjs.map +0 -1
  1420. package/dist/utils-CYOVFxSx.js +0 -150
  1421. package/dist/utils-CYOVFxSx.js.map +0 -1
  1422. package/dist/utils.cjs.map +0 -1
  1423. package/dist/utils.js.map +0 -1
  1424. package/types/src/animated-text/animated-text.d.ts +0 -30
  1425. package/types/src/animated-text/index.d.ts +0 -1
  1426. package/types/src/directives/height.d.ts +0 -20
@@ -1 +0,0 @@
1
- {"version":3,"file":"slider-CkE-iFUy.js","sources":["../src/slider/slide.ts","../src/slider/slider.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { cache } from 'lit/directives/cache.js'\n\n/**\n * Supported slide \"types.\"\n * - 'image': Renders an <img>\n * - 'video': Renders a <video>\n * - 'content': Renders a <slot> (the default)\n */\ntype SlideType = 'image' | 'video' | 'content'\n\n/**\n * Allowed values for the 'fit' property,\n * which maps to CSS object-fit.\n */\ntype ObjectFit = 'cover' | 'contain' | 'fill' | 'scale-down' | 'none'\n\n@customElement('schmancy-slide')\nexport class SchmancySlide extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tscroll-snap-align: center; /* If your slider uses scroll-snap */\n\t}\n\n\t.slide {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tobject-fit: var(--object-fit, cover);\n\t}\n`) {\n\t/**\n\t * Determines how this slide should be rendered.\n\t * Defaults to 'content' if not provided.\n\t */\n\t@property({ type: String }) type: SlideType = 'content'\n\n\t/**\n\t * Source for images or videos (if `type` is 'image' or 'video').\n\t */\n\t@property({ type: String }) src: string = ''\n\n\t/**\n\t * Alternate text for images.\n\t */\n\t@property({ type: String }) alt: string = ''\n\n\t/**\n\t * Whether to show default video controls (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) controls = true\n\n\t/**\n\t * Whether the video should autoplay (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) autoplay = false\n\n\t/**\n\t * Whether the video should loop (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) loop = false\n\n\t/**\n\t * Whether the video is muted (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) muted = false\n\n\t/**\n\t * CSS `object-fit` property, applied to images/videos.\n\t */\n\t@property({ type: String }) fit: ObjectFit = 'cover'\n\n\trender() {\n\t\treturn html` <div style=\"--object-fit: ${this.fit}\">${cache(this.renderSlide())}</div> `\n\t}\n\n\tprivate renderSlide() {\n\t\tswitch (this.type) {\n\t\t\tcase 'image':\n\t\t\t\treturn html` <img class=\"slide\" src=\"${this.src}\" alt=\"${this.alt}\" loading=\"lazy\" /> `\n\t\t\tcase 'video':\n\t\t\t\treturn html`\n\t\t\t\t\t<video\n\t\t\t\t\t\tclass=\"slide\"\n\t\t\t\t\t\tsrc=\"${this.src}\"\n\t\t\t\t\t\t?controls=\"${this.controls}\"\n\t\t\t\t\t\t?autoplay=\"${this.autoplay}\"\n\t\t\t\t\t\t?loop=\"${this.loop}\"\n\t\t\t\t\t\t?muted=\"${this.muted}\"\n\t\t\t\t\t>\n\t\t\t\t\t\tYour browser does not support HTML video.\n\t\t\t\t\t</video>\n\t\t\t\t`\n\t\t\tcase 'content':\n\t\t\tdefault:\n\t\t\t\treturn html`<slot></slot>`\n\t\t}\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-slide': SchmancySlide\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { fromEvent } from 'rxjs'\nimport { throttleTime } from 'rxjs/operators'\n\n@customElement('schmancy-slider')\nexport class SchmancySlider extends $LitElement(css`\n\t.slider {\n\t\t/* Lay out slides horizontally, one after another */\n\t\tdisplay: flex;\n\t\toverflow-x: auto;\n\n\t\t/* Optional: scroll snapping */\n\t\tscroll-snap-type: x mandatory;\n\n\t\t/* Hide scrollbars */\n\t\t-ms-overflow-style: none; /* IE and Edge */\n\t\tscrollbar-width: none; /* Firefox */\n\t}\n\t.slider::-webkit-scrollbar {\n\t\tdisplay: none; /* Chrome, Safari, Opera */\n\t}\n\n\t/* \n Ensure each slide takes up the full slider width.\n \"schmancy-slide\" is the child custom element.\n */\n\t::slotted(schmancy-slide) {\n\t\tflex: 0 0 100%;\n\t\tbox-sizing: border-box;\n\t}\n`) {\n\t/**\n\t * Currently centered slide index\n\t */\n\t@state() private selectedIndex: number = 0\n\n\t/**\n\t * If true, renders next/prev buttons\n\t */\n\t@property({ type: Boolean }) showArrows: boolean = true\n\n\t@query('#slider') private slider!: HTMLDivElement\n\t@query('slot') private defaultSlot!: HTMLSlotElement\n\n\tprotected firstUpdated() {\n\t\t// Start at leftmost position\n\t\tthis.slider.scrollLeft = 0\n\n\t\t// Throttle scroll events to update selected index\n\t\tfromEvent(this.slider, 'scroll')\n\t\t\t.pipe(throttleTime(100, undefined, { trailing: true }))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.updateSelectedIndexOnScroll()\n\t\t\t})\n\t}\n\n\tprivate updateSelectedIndexOnScroll() {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\t\tif (!slides.length) return\n\n\t\tconst oldIndex = this.selectedIndex\n\n\t\t// Center of the slider’s visible area\n\t\tconst sliderCenter = this.slider.scrollLeft + this.slider.clientWidth / 2\n\n\t\tlet closestIndex = 0\n\t\tlet closestDistance = Infinity\n\n\t\tslides.forEach((slide, index) => {\n\t\t\tconst itemStart = (slide as HTMLElement).offsetLeft\n\t\t\tconst itemCenter = itemStart + slide.clientWidth / 2\n\t\t\tconst distance = Math.abs(sliderCenter - itemCenter)\n\n\t\t\tif (distance < closestDistance) {\n\t\t\t\tclosestDistance = distance\n\t\t\t\tclosestIndex = index\n\t\t\t}\n\t\t})\n\n\t\tthis.selectedIndex = closestIndex\n\n\t\t// If the index changed, dispatch event\n\t\tif (this.selectedIndex !== oldIndex) {\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent('slide-changed', {\n\t\t\t\t\tdetail: { index: this.selectedIndex },\n\t\t\t\t}),\n\t\t\t)\n\t\t}\n\t}\n\n\tprivate goToSlide(newIndex: number) {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\t\tif (!slides[newIndex]) return\n\n\t\tthis.slider.scrollTo({\n\t\t\tleft: (slides[newIndex] as HTMLElement).offsetLeft,\n\t\t\tbehavior: 'smooth',\n\t\t})\n\t}\n\n\tprivate onPrevClick() {\n\t\tthis.goToSlide(this.selectedIndex - 1)\n\t}\n\n\tprivate onNextClick() {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\t\tif (this.selectedIndex < slides.length - 1) {\n\t\t\tthis.goToSlide(this.selectedIndex + 1)\n\t\t}\n\t}\n\n\trender() {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\n\t\treturn html`\n\t\t\t<div class=\"relative inset-0\">\n\t\t\t\t<!-- The scrollable track -->\n\t\t\t\t<div class=\"slider\" id=\"slider\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Next/Prev Buttons (Optional) -->\n\t\t\t\t${this.showArrows\n\t\t\t\t\t? html`\n\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\tclass=\"absolute left-2 top-1/2 -translate-y-1/2\"\n\t\t\t\t\t\t\t\t@click=${this.onPrevClick}\n\t\t\t\t\t\t\t\t?disabled=${this.selectedIndex === 0}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tchevron_left\n\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\tclass=\"absolute right-2 top-1/2 -translate-y-1/2\"\n\t\t\t\t\t\t\t\t@click=${this.onNextClick}\n\t\t\t\t\t\t\t\t?disabled=${this.selectedIndex === slides.length - 1}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tchevron_right\n\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t`\n\t\t\t\t\t: null}\n\n\t\t\t\t<!-- Dots / indicators -->\n\t\t\t\t<div class=\"absolute bottom-4 left-1/2 -translate-x-1/2 flex space-x-2\">\n\t\t\t\t\t${slides.map((_, index) => {\n\t\t\t\t\t\tconst isSelected = index === this.selectedIndex\n\t\t\t\t\t\treturn html`\n\t\t\t\t\t\t\t<schmancy-button .variant=${isSelected ? 'filled tonal' : 'outlined'} class=\"rounded-full \">\n\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t`\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-slider': SchmancySlider\n\t}\n}\n"],"names":["SchmancySlide","$LitElement","css","constructor","super","arguments","this","type","src","alt","controls","autoplay","loop","muted","fit","render","html","cache","renderSlide","__decorateClass","property","String","prototype","Boolean","customElement","SchmancySlider","selectedIndex","showArrows","slider","scrollLeft","fromEvent","pipe","throttleTime","trailing","subscribe","updateSelectedIndexOnScroll","slides","defaultSlot","assignedElements","flatten","length","oldIndex","sliderCenter","clientWidth","closestIndex","closestDistance","Infinity","forEach","slide","index","itemCenter","offsetLeft","distance","Math","abs","dispatchEvent","CustomEvent","detail","newIndex","scrollTo","left","behavior","onPrevClick","goToSlide","onNextClick","map","_","isSelected","state","query"],"mappings":"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"}
@@ -1,102 +0,0 @@
1
- import { map as l, shareReplay as d, distinctUntilChanged as q, BehaviorSubject as p } from "rxjs";
2
- import { c as v } from "./context-create-B_S-sD5B.js";
3
- import "lit/decorators.js";
4
- import "rxjs/operators";
5
- const i = v({ theme: null, volume: 0.15, muted: !1 }, "local", "schmancy-sound-settings"), T = { joyful: { puffs: [{ startTime: 0, duration: 0.08, frequency: 3e3, volume: 0.3 }, { startTime: 0.06, duration: 0.1, frequency: 3500, volume: 0.35 }], tones: [{ startTime: 0.02, duration: 0.15, frequency: 784, volume: 0.25, type: "sine" }, { startTime: 0.1, duration: 0.2, frequency: 988, volume: 0.3, type: "sine" }, { startTime: 0.18, duration: 0.25, frequency: 1175, volume: 0.25, type: "sine" }] }, content: { puffs: [{ startTime: 0, duration: 0.2, frequency: 1500, volume: 0.25 }], tones: [{ startTime: 0.05, duration: 0.3, frequency: 523, volume: 0.2, type: "sine", filterFrequency: 800 }, { startTime: 0.15, duration: 0.35, frequency: 659, volume: 0.15, type: "sine", filterFrequency: 800 }] }, excited: { puffs: [{ startTime: 0, duration: 0.06, frequency: 2500, volume: 0.25 }, { startTime: 0.05, duration: 0.06, frequency: 3e3, volume: 0.3 }, { startTime: 0.1, duration: 0.08, frequency: 3500, volume: 0.35 }], tones: [{ startTime: 0.02, duration: 0.12, frequency: 880, volume: 0.2, type: "sine" }, { startTime: 0.08, duration: 0.12, frequency: 1047, volume: 0.25, type: "sine" }, { startTime: 0.14, duration: 0.15, frequency: 1319, volume: 0.3, type: "sine" }] }, proud: { puffs: [{ startTime: 0, duration: 0.15, frequency: 1800, volume: 0.3 }], tones: [{ startTime: 0.05, duration: 0.25, frequency: 523, volume: 0.25, type: "sine" }, { startTime: 0.08, duration: 0.25, frequency: 659, volume: 0.2, type: "sine" }, { startTime: 0.11, duration: 0.3, frequency: 784, volume: 0.25, type: "sine" }] }, hopeful: { puffs: [{ startTime: 0, duration: 0.12, frequency: 2200, volume: 0.2 }], tones: [{ startTime: 0.03, duration: 0.3, frequency: 659, volume: 0.2, type: "sine", frequencyEnd: 880 }] }, relieved: { puffs: [{ startTime: 0, duration: 0.25, frequency: 1200, volume: 0.35 }], tones: [{ startTime: 0.1, duration: 0.35, frequency: 659, volume: 0.2, type: "sine", filterFrequency: 800 }, { startTime: 0.25, duration: 0.4, frequency: 523, volume: 0.15, type: "sine", filterFrequency: 800 }] }, grateful: { puffs: [{ startTime: 0, duration: 0.15, frequency: 1500, volume: 0.25 }], tones: [{ startTime: 0.05, duration: 0.3, frequency: 440, volume: 0.2, type: "sine", filterFrequency: 800 }, { startTime: 0.15, duration: 0.35, frequency: 523, volume: 0.2, type: "sine", filterFrequency: 800 }, { startTime: 0.25, duration: 0.4, frequency: 659, volume: 0.15, type: "sine", filterFrequency: 800 }] }, peaceful: { puffs: [{ startTime: 0, duration: 0.3, frequency: 800, volume: 0.15 }], tones: [{ startTime: 0.1, duration: 0.5, frequency: 392, volume: 0.12, type: "sine", filterFrequency: 500 }] }, playful: { puffs: [{ startTime: 0, duration: 0.05, frequency: 2800, volume: 0.2 }, { startTime: 0.08, duration: 0.05, frequency: 3200, volume: 0.25 }, { startTime: 0.14, duration: 0.06, frequency: 2800, volume: 0.2 }], tones: [{ startTime: 0.03, duration: 0.1, frequency: 784, volume: 0.2, type: "sine" }, { startTime: 0.1, duration: 0.08, frequency: 988, volume: 0.25, type: "sine" }, { startTime: 0.16, duration: 0.12, frequency: 784, volume: 0.2, type: "sine" }] }, amused: { puffs: [{ startTime: 0, duration: 0.04, frequency: 2500, volume: 0.2 }, { startTime: 0.06, duration: 0.04, frequency: 2800, volume: 0.22 }, { startTime: 0.11, duration: 0.05, frequency: 2600, volume: 0.18 }], tones: [{ startTime: 0.05, duration: 0.15, frequency: 880, volume: 0.15, type: "sine" }] }, curious: { puffs: [{ startTime: 0, duration: 0.1, frequency: 2e3, volume: 0.2 }], tones: [{ startTime: 0.03, duration: 0.2, frequency: 659, volume: 0.2, type: "sine", frequencyEnd: 880 }] }, inspired: { puffs: [{ startTime: 0, duration: 0.1, frequency: 2500, volume: 0.25 }], tones: [{ startTime: 0.05, duration: 0.3, frequency: 523, volume: 0.2, type: "sine" }, { startTime: 0.07, duration: 0.28, frequency: 784.5, volume: 0.16, type: "sine" }, { startTime: 0.09, duration: 0.26, frequency: 1046, volume: 0.12, type: "sine" }] }, confident: { puffs: [{ startTime: 0, duration: 0.12, frequency: 1500, volume: 0.3 }], tones: [{ startTime: 0.04, duration: 0.2, frequency: 523, volume: 0.25, type: "sine" }, { startTime: 0.06, duration: 0.22, frequency: 659, volume: 0.2, type: "sine" }] }, loved: { puffs: [{ startTime: 0, duration: 0.2, frequency: 1e3, volume: 0.2 }], tones: [{ startTime: 0.08, duration: 0.4, frequency: 392, volume: 0.18, type: "sine", filterFrequency: 600 }, { startTime: 0.2, duration: 0.45, frequency: 494, volume: 0.15, type: "sine", filterFrequency: 600 }] }, comforted: { puffs: [{ startTime: 0, duration: 0.25, frequency: 900, volume: 0.18 }], tones: [{ startTime: 0.1, duration: 0.35, frequency: 523, volume: 0.15, type: "sine", filterFrequency: 800 }, { startTime: 0.25, duration: 0.4, frequency: 440, volume: 0.12, type: "sine", filterFrequency: 800 }] }, energized: { puffs: [{ startTime: 0, duration: 0.05, frequency: 3e3, volume: 0.25 }, { startTime: 0.04, duration: 0.05, frequency: 3500, volume: 0.28 }], tones: [{ startTime: 0.02, duration: 0.1, frequency: 784, volume: 0.2, type: "sine" }, { startTime: 0.08, duration: 0.12, frequency: 988, volume: 0.25, type: "sine" }, { startTime: 0.14, duration: 0.15, frequency: 1175, volume: 0.22, type: "sine" }] }, celebrated: { puffs: [{ startTime: 0, duration: 0.08, frequency: 2500, volume: 0.2 }], tones: [{ startTime: 0.02, duration: 0.18, frequency: 523, volume: 0.22, type: "sine" }, { startTime: 0.08, duration: 0.18, frequency: 659, volume: 0.24, type: "sine" }, { startTime: 0.14, duration: 0.2, frequency: 784, volume: 0.26, type: "sine" }, { startTime: 0.22, duration: 0.3, frequency: 1047, volume: 0.22, type: "sine" }] }, sad: { puffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.25 }], tones: [{ startTime: 0.1, duration: 0.4, frequency: 392, volume: 0.2, type: "sine", filterFrequency: 400 }, { startTime: 0.3, duration: 0.45, frequency: 294, volume: 0.15, type: "sine", filterFrequency: 350 }] }, lonely: { puffs: [{ startTime: 0, duration: 0.2, frequency: 700, volume: 0.2 }], tones: [{ startTime: 0.15, duration: 0.5, frequency: 330, volume: 0.12, type: "sine", filterFrequency: 450 }] }, disappointed: { puffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.25 }], tones: [{ startTime: 0.08, duration: 0.3, frequency: 523, volume: 0.18, type: "sine", frequencyEnd: 349 }] }, heartbroken: { puffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.25 }], tones: [{ startTime: 0.1, duration: 0.4, frequency: 392, volume: 0.2, type: "sine", filterFrequency: 400 }, { startTime: 0.3, duration: 0.45, frequency: 294, volume: 0.15, type: "sine", filterFrequency: 350 }] }, grieving: { puffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.25 }], tones: [{ startTime: 0.1, duration: 0.4, frequency: 392, volume: 0.2, type: "sine", filterFrequency: 400 }, { startTime: 0.3, duration: 0.45, frequency: 294, volume: 0.15, type: "sine", filterFrequency: 350 }] }, hopeless: { puffs: [{ startTime: 0, duration: 0.2, frequency: 700, volume: 0.2 }], tones: [{ startTime: 0.15, duration: 0.5, frequency: 330, volume: 0.12, type: "sine", filterFrequency: 450 }] }, empty: { puffs: [{ startTime: 0, duration: 0.2, frequency: 700, volume: 0.2 }], tones: [{ startTime: 0.15, duration: 0.5, frequency: 330, volume: 0.12, type: "sine", filterFrequency: 450 }] }, discouraged: { puffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.25 }], tones: [{ startTime: 0.08, duration: 0.3, frequency: 523, volume: 0.18, type: "sine", frequencyEnd: 349 }] }, melancholic: { puffs: [{ startTime: 0, duration: 0.3, frequency: 700, volume: 0.18 }], tones: [{ startTime: 0.1, duration: 0.45, frequency: 440, volume: 0.15, type: "sine", filterFrequency: 500 }, { startTime: 0.3, duration: 0.5, frequency: 392, volume: 0.12, type: "sine", filterFrequency: 450 }] }, homesick: { puffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.15 }], tones: [{ startTime: 0.1, duration: 0.4, frequency: 440, volume: 0.12, type: "sine", filterFrequency: 500 }, { startTime: 0.3, duration: 0.45, frequency: 392, volume: 0.1, type: "sine", filterFrequency: 450 }] }, hurt: { puffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.25 }], tones: [{ startTime: 0.1, duration: 0.4, frequency: 392, volume: 0.2, type: "sine", filterFrequency: 400 }, { startTime: 0.3, duration: 0.45, frequency: 294, volume: 0.15, type: "sine", filterFrequency: 350 }] }, miserable: { puffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.25 }], tones: [{ startTime: 0.1, duration: 0.4, frequency: 392, volume: 0.2, type: "sine", filterFrequency: 400 }, { startTime: 0.3, duration: 0.45, frequency: 294, volume: 0.15, type: "sine", filterFrequency: 350 }] }, regretful: { puffs: [{ startTime: 0, duration: 0.3, frequency: 700, volume: 0.18 }], tones: [{ startTime: 0.1, duration: 0.45, frequency: 440, volume: 0.15, type: "sine", filterFrequency: 500 }, { startTime: 0.3, duration: 0.5, frequency: 392, volume: 0.12, type: "sine", filterFrequency: 450 }] }, ashamed: { puffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.25 }], tones: [{ startTime: 0.08, duration: 0.3, frequency: 523, volume: 0.18, type: "sine", frequencyEnd: 349 }] }, inferior: { puffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.25 }], tones: [{ startTime: 0.08, duration: 0.3, frequency: 523, volume: 0.18, type: "sine", frequencyEnd: 349 }] }, anxious: { puffs: [{ startTime: 0, duration: 0.08, frequency: 1800, volume: 0.2 }, { startTime: 0.12, duration: 0.08, frequency: 1900, volume: 0.22 }], tones: [{ startTime: 0.03, duration: 0.25, frequency: 440, volume: 0.15, type: "sine" }], description: "Tight, quick puffs with uncertain wobble" }, worried: { puffs: [{ startTime: 0, duration: 0.15, frequency: 1200, volume: 0.2 }], tones: [{ startTime: 0.05, duration: 0.25, frequency: 349, volume: 0.15, type: "sine", frequencyEnd: 392 }] }, afraid: { puffs: [{ startTime: 0, duration: 0.08, frequency: 1800, volume: 0.2 }, { startTime: 0.12, duration: 0.08, frequency: 1900, volume: 0.22 }], tones: [{ startTime: 0.03, duration: 0.25, frequency: 440, volume: 0.15, type: "sine" }] }, terrified: { puffs: [{ startTime: 0, duration: 0.04, frequency: 3500, volume: 0.3 }], tones: [{ startTime: 0, duration: 0.08, frequency: 1047, volume: 0.25, type: "sine" }, { startTime: 0.05, duration: 0.15, frequency: 880, volume: 0.15, type: "sine" }] }, panicked: { puffs: [{ startTime: 0, duration: 0.04, frequency: 3500, volume: 0.3 }], tones: [{ startTime: 0, duration: 0.08, frequency: 1047, volume: 0.25, type: "sine" }, { startTime: 0.05, duration: 0.15, frequency: 880, volume: 0.15, type: "sine" }] }, nervous: { puffs: [{ startTime: 0, duration: 0.05, frequency: 2e3, volume: 0.18 }, { startTime: 0.08, duration: 0.05, frequency: 2100, volume: 0.18 }, { startTime: 0.15, duration: 0.06, frequency: 2e3, volume: 0.16 }], tones: [{ startTime: 0.04, duration: 0.2, frequency: 494, volume: 0.12, type: "sine" }] }, uneasy: { puffs: [{ startTime: 0, duration: 0.15, frequency: 1200, volume: 0.2 }], tones: [{ startTime: 0.05, duration: 0.25, frequency: 349, volume: 0.15, type: "sine", frequencyEnd: 392 }] }, insecure: { puffs: [{ startTime: 0, duration: 0.05, frequency: 2e3, volume: 0.18 }, { startTime: 0.08, duration: 0.05, frequency: 2100, volume: 0.18 }, { startTime: 0.15, duration: 0.06, frequency: 2e3, volume: 0.16 }], tones: [{ startTime: 0.04, duration: 0.2, frequency: 494, volume: 0.12, type: "sine" }] }, overwhelmed: { puffs: [{ startTime: 0, duration: 0.08, frequency: 1800, volume: 0.2 }, { startTime: 0.12, duration: 0.08, frequency: 1900, volume: 0.22 }], tones: [{ startTime: 0.03, duration: 0.25, frequency: 440, volume: 0.15, type: "sine" }] }, stressed: { puffs: [{ startTime: 0, duration: 0.08, frequency: 1800, volume: 0.2 }, { startTime: 0.12, duration: 0.08, frequency: 1900, volume: 0.22 }], tones: [{ startTime: 0.03, duration: 0.25, frequency: 440, volume: 0.15, type: "sine" }] }, tense: { puffs: [{ startTime: 0, duration: 0.08, frequency: 1800, volume: 0.2 }, { startTime: 0.12, duration: 0.08, frequency: 1900, volume: 0.22 }], tones: [{ startTime: 0.03, duration: 0.25, frequency: 440, volume: 0.15, type: "sine" }] }, apprehensive: { puffs: [{ startTime: 0, duration: 0.15, frequency: 1200, volume: 0.2 }], tones: [{ startTime: 0.05, duration: 0.25, frequency: 349, volume: 0.15, type: "sine", frequencyEnd: 392 }] }, startled: { puffs: [{ startTime: 0, duration: 0.04, frequency: 3500, volume: 0.3 }], tones: [{ startTime: 0, duration: 0.08, frequency: 1047, volume: 0.25, type: "sine" }, { startTime: 0.05, duration: 0.15, frequency: 880, volume: 0.15, type: "sine" }] }, suspicious: { puffs: [{ startTime: 0, duration: 0.15, frequency: 1200, volume: 0.2 }], tones: [{ startTime: 0.05, duration: 0.25, frequency: 349, volume: 0.15, type: "sine", frequencyEnd: 392 }] }, vulnerable: { puffs: [{ startTime: 0, duration: 0.05, frequency: 2e3, volume: 0.18 }, { startTime: 0.08, duration: 0.05, frequency: 2100, volume: 0.18 }, { startTime: 0.15, duration: 0.06, frequency: 2e3, volume: 0.16 }], tones: [{ startTime: 0.04, duration: 0.2, frequency: 494, volume: 0.12, type: "sine" }] }, annoyed: { puffs: [{ startTime: 0, duration: 0.1, frequency: 1e3, volume: 0.25 }], tones: [{ startTime: 0.03, duration: 0.2, frequency: 294, volume: 0.18, type: "sine", filterFrequency: 400 }] }, irritated: { puffs: [{ startTime: 0, duration: 0.1, frequency: 1e3, volume: 0.25 }], tones: [{ startTime: 0.03, duration: 0.2, frequency: 294, volume: 0.18, type: "sine", filterFrequency: 400 }] }, frustrated: { puffs: [{ startTime: 0, duration: 0.12, frequency: 900, volume: 0.28 }], tones: [{ startTime: 0.04, duration: 0.15, frequency: 349, volume: 0.2, type: "sine" }, { startTime: 0.12, duration: 0.12, frequency: 330, volume: 0.18, type: "sine" }] }, angry: { puffs: [{ startTime: 0, duration: 0.12, frequency: 900, volume: 0.28 }], tones: [{ startTime: 0.04, duration: 0.15, frequency: 349, volume: 0.2, type: "sine" }, { startTime: 0.12, duration: 0.12, frequency: 330, volume: 0.18, type: "sine" }] }, enraged: { puffs: [{ startTime: 0, duration: 0.12, frequency: 900, volume: 0.28 }], tones: [{ startTime: 0.04, duration: 0.15, frequency: 349, volume: 0.2, type: "sine" }, { startTime: 0.12, duration: 0.12, frequency: 330, volume: 0.18, type: "sine" }] }, bitter: { puffs: [{ startTime: 0, duration: 0.12, frequency: 900, volume: 0.28 }], tones: [{ startTime: 0.04, duration: 0.15, frequency: 349, volume: 0.2, type: "sine" }, { startTime: 0.12, duration: 0.12, frequency: 330, volume: 0.18, type: "sine" }] }, resentful: { puffs: [{ startTime: 0, duration: 0.1, frequency: 1e3, volume: 0.25 }], tones: [{ startTime: 0.03, duration: 0.2, frequency: 294, volume: 0.18, type: "sine", filterFrequency: 400 }] }, jealous: { puffs: [{ startTime: 0, duration: 0.1, frequency: 1e3, volume: 0.25 }], tones: [{ startTime: 0.03, duration: 0.2, frequency: 294, volume: 0.18, type: "sine", filterFrequency: 400 }] }, envious: { puffs: [{ startTime: 0, duration: 0.1, frequency: 1e3, volume: 0.25 }], tones: [{ startTime: 0.03, duration: 0.2, frequency: 294, volume: 0.18, type: "sine", filterFrequency: 400 }] }, indignant: { puffs: [{ startTime: 0, duration: 0.12, frequency: 900, volume: 0.28 }], tones: [{ startTime: 0.04, duration: 0.15, frequency: 349, volume: 0.2, type: "sine" }, { startTime: 0.12, duration: 0.12, frequency: 330, volume: 0.18, type: "sine" }] }, impatient: { puffs: [{ startTime: 0, duration: 0.04, frequency: 1500, volume: 0.2 }, { startTime: 0.08, duration: 0.04, frequency: 1500, volume: 0.2 }, { startTime: 0.16, duration: 0.04, frequency: 1500, volume: 0.22 }], tones: [{ startTime: 0.06, duration: 0.1, frequency: 523, volume: 0.15, type: "sine" }] }, hostile: { puffs: [{ startTime: 0, duration: 0.12, frequency: 900, volume: 0.28 }], tones: [{ startTime: 0.04, duration: 0.15, frequency: 349, volume: 0.2, type: "sine" }, { startTime: 0.12, duration: 0.12, frequency: 330, volume: 0.18, type: "sine" }] }, contemptuous: { puffs: [{ startTime: 0, duration: 0.1, frequency: 1e3, volume: 0.25 }], tones: [{ startTime: 0.03, duration: 0.2, frequency: 294, volume: 0.18, type: "sine", filterFrequency: 400 }] }, tired: { puffs: [{ startTime: 0, duration: 0.35, frequency: 500, volume: 0.2 }], tones: [{ startTime: 0.1, duration: 0.4, frequency: 330, volume: 0.12, type: "sine", filterFrequency: 350 }] }, exhausted: { puffs: [{ startTime: 0, duration: 0.45, frequency: 400, volume: 0.18 }], tones: [{ startTime: 0.15, duration: 0.5, frequency: 294, volume: 0.1, type: "sine", filterFrequency: 300 }] }, drained: { puffs: [{ startTime: 0, duration: 0.45, frequency: 400, volume: 0.18 }], tones: [{ startTime: 0.15, duration: 0.5, frequency: 294, volume: 0.1, type: "sine", filterFrequency: 300 }] }, burnedOut: { puffs: [{ startTime: 0, duration: 0.45, frequency: 400, volume: 0.18 }], tones: [{ startTime: 0.15, duration: 0.5, frequency: 294, volume: 0.1, type: "sine", filterFrequency: 300 }] }, numb: { puffs: [{ startTime: 0, duration: 0.45, frequency: 400, volume: 0.18 }], tones: [{ startTime: 0.15, duration: 0.5, frequency: 294, volume: 0.1, type: "sine", filterFrequency: 300 }] }, bored: { puffs: [{ startTime: 0, duration: 0.25, frequency: 600, volume: 0.15 }], tones: [{ startTime: 0.1, duration: 0.3, frequency: 349, volume: 0.1, type: "sine", filterFrequency: 400 }] }, unmotivated: { puffs: [{ startTime: 0, duration: 0.25, frequency: 600, volume: 0.15 }], tones: [{ startTime: 0.1, duration: 0.3, frequency: 349, volume: 0.1, type: "sine", filterFrequency: 400 }] }, apathetic: { puffs: [{ startTime: 0, duration: 0.25, frequency: 600, volume: 0.15 }], tones: [{ startTime: 0.1, duration: 0.3, frequency: 349, volume: 0.1, type: "sine", filterFrequency: 400 }] }, restless: { puffs: [{ startTime: 0, duration: 0.35, frequency: 500, volume: 0.2 }], tones: [{ startTime: 0.1, duration: 0.4, frequency: 330, volume: 0.12, type: "sine", filterFrequency: 350 }] }, calm: { puffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.12 }], tones: [{ startTime: 0.1, duration: 0.5, frequency: 392, volume: 0.1, type: "sine", filterFrequency: 500 }] }, relaxed: { puffs: [{ startTime: 0, duration: 0.35, frequency: 700, volume: 0.15 }], tones: [{ startTime: 0.15, duration: 0.45, frequency: 440, volume: 0.1, type: "sine", filterFrequency: 800 }, { startTime: 0.35, duration: 0.5, frequency: 392, volume: 0.08, type: "sine", filterFrequency: 800 }] }, atEase: { puffs: [{ startTime: 0, duration: 0.35, frequency: 700, volume: 0.15 }], tones: [{ startTime: 0.15, duration: 0.45, frequency: 440, volume: 0.1, type: "sine", filterFrequency: 800 }, { startTime: 0.35, duration: 0.5, frequency: 392, volume: 0.08, type: "sine", filterFrequency: 800 }] }, balanced: { puffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.12 }], tones: [{ startTime: 0.1, duration: 0.5, frequency: 392, volume: 0.1, type: "sine", filterFrequency: 500 }] }, stable: { puffs: [{ startTime: 0, duration: 0.25, frequency: 500, volume: 0.2 }], tones: [{ startTime: 0.1, duration: 0.4, frequency: 262, volume: 0.15, type: "sine", filterFrequency: 350 }] }, secure: { puffs: [{ startTime: 0, duration: 0.3, frequency: 700, volume: 0.15 }], tones: [{ startTime: 0.1, duration: 0.4, frequency: 349, volume: 0.12, type: "sine", filterFrequency: 800 }, { startTime: 0.25, duration: 0.45, frequency: 440, volume: 0.1, type: "sine", filterFrequency: 800 }] }, safe: { puffs: [{ startTime: 0, duration: 0.3, frequency: 700, volume: 0.15 }], tones: [{ startTime: 0.1, duration: 0.4, frequency: 349, volume: 0.12, type: "sine", filterFrequency: 800 }, { startTime: 0.25, duration: 0.45, frequency: 440, volume: 0.1, type: "sine", filterFrequency: 800 }] }, centered: { puffs: [{ startTime: 0, duration: 0.25, frequency: 500, volume: 0.2 }], tones: [{ startTime: 0.1, duration: 0.4, frequency: 262, volume: 0.15, type: "sine", filterFrequency: 350 }] }, grounded: { puffs: [{ startTime: 0, duration: 0.25, frequency: 500, volume: 0.2 }], tones: [{ startTime: 0.1, duration: 0.4, frequency: 262, volume: 0.15, type: "sine", filterFrequency: 350 }] }, accepting: { puffs: [{ startTime: 0, duration: 0.3, frequency: 600, volume: 0.12 }], tones: [{ startTime: 0.1, duration: 0.5, frequency: 392, volume: 0.1, type: "sine", filterFrequency: 500 }] }, connected: { puffs: [{ startTime: 0, duration: 0.2, frequency: 1200, volume: 0.18 }], tones: [{ startTime: 0.08, duration: 0.3, frequency: 440, volume: 0.15, type: "sine", filterFrequency: 800 }, { startTime: 0.12, duration: 0.32, frequency: 523, volume: 0.12, type: "sine", filterFrequency: 800 }] }, accepted: { puffs: [{ startTime: 0, duration: 0.15, frequency: 1500, volume: 0.2 }], tones: [{ startTime: 0.05, duration: 0.25, frequency: 440, volume: 0.15, type: "sine", filterFrequency: 800 }, { startTime: 0.15, duration: 0.3, frequency: 523, volume: 0.18, type: "sine", filterFrequency: 800 }] }, included: { puffs: [{ startTime: 0, duration: 0.2, frequency: 1200, volume: 0.18 }], tones: [{ startTime: 0.08, duration: 0.3, frequency: 440, volume: 0.15, type: "sine", filterFrequency: 800 }, { startTime: 0.12, duration: 0.32, frequency: 523, volume: 0.12, type: "sine", filterFrequency: 800 }] }, belonging: { puffs: [{ startTime: 0, duration: 0.2, frequency: 1200, volume: 0.18 }], tones: [{ startTime: 0.08, duration: 0.3, frequency: 440, volume: 0.15, type: "sine", filterFrequency: 800 }, { startTime: 0.12, duration: 0.32, frequency: 523, volume: 0.12, type: "sine", filterFrequency: 800 }] }, appreciated: { puffs: [{ startTime: 0, duration: 0.15, frequency: 1500, volume: 0.2 }], tones: [{ startTime: 0.05, duration: 0.25, frequency: 440, volume: 0.15, type: "sine", filterFrequency: 800 }, { startTime: 0.15, duration: 0.3, frequency: 523, volume: 0.18, type: "sine", filterFrequency: 800 }] }, valued: { puffs: [{ startTime: 0, duration: 0.15, frequency: 1500, volume: 0.2 }], tones: [{ startTime: 0.05, duration: 0.25, frequency: 440, volume: 0.15, type: "sine", filterFrequency: 800 }, { startTime: 0.15, duration: 0.3, frequency: 523, volume: 0.18, type: "sine", filterFrequency: 800 }] }, respected: { puffs: [{ startTime: 0, duration: 0.15, frequency: 1500, volume: 0.2 }], tones: [{ startTime: 0.05, duration: 0.25, frequency: 440, volume: 0.15, type: "sine", filterFrequency: 800 }, { startTime: 0.15, duration: 0.3, frequency: 523, volume: 0.18, type: "sine", filterFrequency: 800 }] }, supported: { puffs: [{ startTime: 0, duration: 0.25, frequency: 900, volume: 0.18 }], tones: [{ startTime: 0.1, duration: 0.35, frequency: 349, volume: 0.12, type: "sine", filterFrequency: 800 }, { startTime: 0.15, duration: 0.4, frequency: 440, volume: 0.1, type: "sine", filterFrequency: 800 }] }, protective: { puffs: [{ startTime: 0, duration: 0.25, frequency: 900, volume: 0.18 }], tones: [{ startTime: 0.1, duration: 0.35, frequency: 349, volume: 0.12, type: "sine", filterFrequency: 800 }, { startTime: 0.15, duration: 0.4, frequency: 440, volume: 0.1, type: "sine", filterFrequency: 800 }] }, compassionate: { puffs: [{ startTime: 0, duration: 0.2, frequency: 1200, volume: 0.18 }], tones: [{ startTime: 0.08, duration: 0.3, frequency: 440, volume: 0.15, type: "sine", filterFrequency: 800 }, { startTime: 0.12, duration: 0.32, frequency: 523, volume: 0.12, type: "sine", filterFrequency: 800 }] }, empathetic: { puffs: [{ startTime: 0, duration: 0.2, frequency: 1200, volume: 0.18 }], tones: [{ startTime: 0.08, duration: 0.3, frequency: 440, volume: 0.15, type: "sine", filterFrequency: 800 }, { startTime: 0.12, duration: 0.32, frequency: 523, volume: 0.12, type: "sine", filterFrequency: 800 }] }, conflicted: { puffs: [{ startTime: 0, duration: 0.12, frequency: 1200, volume: 0.18 }], tones: [{ startTime: 0.04, duration: 0.2, frequency: 440, volume: 0.12, type: "sine", frequencyEnd: 494 }, { startTime: 0.15, duration: 0.15, frequency: 466, volume: 0.1, type: "sine" }] }, confused: { puffs: [{ startTime: 0, duration: 0.12, frequency: 1200, volume: 0.18 }], tones: [{ startTime: 0.04, duration: 0.2, frequency: 440, volume: 0.12, type: "sine", frequencyEnd: 494 }, { startTime: 0.15, duration: 0.15, frequency: 466, volume: 0.1, type: "sine" }] }, ambivalent: { puffs: [{ startTime: 0, duration: 0.12, frequency: 1200, volume: 0.18 }], tones: [{ startTime: 0.04, duration: 0.2, frequency: 440, volume: 0.12, type: "sine", frequencyEnd: 494 }, { startTime: 0.15, duration: 0.15, frequency: 466, volume: 0.1, type: "sine" }] }, nostalgic: { puffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.15 }], tones: [{ startTime: 0.1, duration: 0.4, frequency: 440, volume: 0.12, type: "sine", filterFrequency: 500 }, { startTime: 0.3, duration: 0.45, frequency: 392, volume: 0.1, type: "sine", filterFrequency: 450 }] }, guilty: { puffs: [{ startTime: 0, duration: 0.25, frequency: 800, volume: 0.25 }], tones: [{ startTime: 0.08, duration: 0.3, frequency: 523, volume: 0.18, type: "sine", frequencyEnd: 349 }] }, embarrassed: { puffs: [{ startTime: 0, duration: 0.05, frequency: 2e3, volume: 0.18 }, { startTime: 0.08, duration: 0.05, frequency: 2100, volume: 0.18 }, { startTime: 0.15, duration: 0.06, frequency: 2e3, volume: 0.16 }], tones: [{ startTime: 0.04, duration: 0.2, frequency: 494, volume: 0.12, type: "sine" }] }, surprised: { puffs: [{ startTime: 0, duration: 0.06, frequency: 2800, volume: 0.25 }], tones: [{ startTime: 0.02, duration: 0.15, frequency: 659, volume: 0.2, type: "sine", frequencyEnd: 988 }] }, shocked: { puffs: [{ startTime: 0, duration: 0.04, frequency: 3500, volume: 0.3 }], tones: [{ startTime: 0, duration: 0.08, frequency: 1047, volume: 0.25, type: "sine" }, { startTime: 0.05, duration: 0.15, frequency: 880, volume: 0.15, type: "sine" }] }, awestruck: { puffs: [{ startTime: 0, duration: 0.2, frequency: 1500, volume: 0.2 }], tones: [{ startTime: 0.08, duration: 0.4, frequency: 440, volume: 0.15, type: "sine" }, { startTime: 0.1, duration: 0.38, frequency: 660, volume: 0.12, type: "sine" }, { startTime: 0.12, duration: 0.36, frequency: 880, volume: 0.09, type: "sine" }] }, skeptical: { puffs: [{ startTime: 0, duration: 0.12, frequency: 1200, volume: 0.18 }], tones: [{ startTime: 0.04, duration: 0.2, frequency: 440, volume: 0.12, type: "sine", frequencyEnd: 494 }, { startTime: 0.15, duration: 0.15, frequency: 466, volume: 0.1, type: "sine" }] } };
6
- class a {
7
- constructor() {
8
- this.audioContext = null, this.theme$ = i.$.pipe(l((e) => e.theme), d(1)), this.volume$ = i.$.pipe(l((e) => e.volume), q(), d(1)), this.muted$ = i.$.pipe(l((e) => e.muted), q(), d(1)), this._themeName$ = new p("default"), this.themeName$ = this._themeName$.asObservable(), this.theme$.subscribe((e) => {
9
- this._themeName$.next(e?.name ?? "default");
10
- });
11
- }
12
- get theme() {
13
- return i.value.theme;
14
- }
15
- get volume() {
16
- return i.value.volume;
17
- }
18
- get muted() {
19
- return i.value.muted;
20
- }
21
- get themeName() {
22
- return this.theme?.name ?? "default";
23
- }
24
- getContext() {
25
- if (!this.audioContext) {
26
- const e = window.AudioContext || window.webkitAudioContext;
27
- this.audioContext = new e();
28
- }
29
- return this.audioContext.state === "suspended" && this.audioContext.resume(), this.audioContext;
30
- }
31
- playPuff(e, t, s) {
32
- const u = this.getContext(), r = Math.floor(u.sampleRate * t.duration), n = u.createBuffer(1, r, u.sampleRate), m = n.getChannelData(0);
33
- for (let c = 0; c < r; c++) m[c] = 2 * Math.random() - 1;
34
- const o = u.createBufferSource();
35
- o.buffer = n;
36
- const f = u.createBiquadFilter();
37
- f.type = "bandpass", f.frequency.value = t.frequency, f.Q.value = 0.7;
38
- const y = u.createGain();
39
- y.gain.setValueAtTime(0, e), y.gain.linearRampToValueAtTime(t.volume * s, e + 0.015), y.gain.exponentialRampToValueAtTime(1e-3, e + t.duration), o.connect(f).connect(y).connect(u.destination), o.start(e), o.stop(e + t.duration);
40
- }
41
- playTone(e, t, s) {
42
- const u = this.getContext(), r = u.createOscillator(), n = u.createGain();
43
- r.type = t.type, r.frequency.setValueAtTime(t.frequency, e), t.frequencyEnd && r.frequency.exponentialRampToValueAtTime(t.frequencyEnd, e + 0.8 * t.duration);
44
- let m = r;
45
- if (t.filterFrequency) {
46
- const o = u.createBiquadFilter();
47
- o.type = "lowpass", o.frequency.value = t.filterFrequency, r.connect(o), m = o;
48
- }
49
- n.gain.setValueAtTime(0, e), n.gain.linearRampToValueAtTime(t.volume * s, e + 0.02), n.gain.exponentialRampToValueAtTime(1e-3, e + t.duration), m.connect(n).connect(u.destination), r.start(e), r.stop(e + t.duration);
50
- }
51
- setTheme(e) {
52
- i.set({ theme: e });
53
- }
54
- resetTheme() {
55
- i.set({ theme: null });
56
- }
57
- setVolume(e) {
58
- i.set({ volume: Math.max(0, Math.min(1, e)) });
59
- }
60
- mute() {
61
- i.set({ muted: !0 });
62
- }
63
- unmute() {
64
- i.set({ muted: !1 });
65
- }
66
- toggleMute() {
67
- i.set({ muted: !this.muted });
68
- }
69
- getSoundForFeeling(e) {
70
- const t = this.theme;
71
- if (t?.feelings?.[e]) return t.feelings[e];
72
- if (t?.categoryDefaults) {
73
- const s = this.getCategoryForFeeling(e);
74
- if (t.categoryDefaults[s]) return t.categoryDefaults[s];
75
- }
76
- return T[e];
77
- }
78
- getCategoryForFeeling(e) {
79
- return ["joyful", "content", "excited", "proud", "hopeful", "relieved", "grateful", "peaceful", "playful", "amused", "curious", "inspired", "confident", "loved", "comforted", "energized", "celebrated"].includes(e) ? "happy" : ["sad", "lonely", "disappointed", "heartbroken", "grieving", "hopeless", "empty", "discouraged", "melancholic", "homesick", "hurt", "miserable", "regretful", "ashamed", "inferior"].includes(e) ? "sad" : ["anxious", "worried", "afraid", "terrified", "panicked", "nervous", "uneasy", "insecure", "overwhelmed", "stressed", "tense", "apprehensive", "startled", "suspicious", "vulnerable"].includes(e) ? "anxious" : ["annoyed", "irritated", "frustrated", "angry", "enraged", "bitter", "resentful", "jealous", "envious", "indignant", "impatient", "hostile", "contemptuous"].includes(e) ? "angry" : ["tired", "exhausted", "drained", "burnedOut", "numb", "bored", "unmotivated", "apathetic", "restless"].includes(e) ? "tired" : ["calm", "relaxed", "atEase", "balanced", "stable", "secure", "safe", "centered", "grounded", "accepting"].includes(e) ? "calm" : ["connected", "accepted", "included", "belonging", "appreciated", "valued", "respected", "supported", "protective", "compassionate", "empathetic"].includes(e) ? "connected" : "mixed";
80
- }
81
- play(e) {
82
- if (this.muted) return;
83
- const t = this.getSoundForFeeling(e), s = this.getContext().currentTime, u = this.theme?.masterVolume ?? 1, r = this.volume * u;
84
- t.puffs.forEach((n) => {
85
- this.playPuff(s + n.startTime, n, r);
86
- }), t.tones.forEach((n) => {
87
- this.playTone(s + n.startTime, n, r);
88
- });
89
- }
90
- dispose() {
91
- this.audioContext && (this.audioContext.close(), this.audioContext = null);
92
- }
93
- static getInstance() {
94
- return a.instance || (a.instance = new a()), a.instance;
95
- }
96
- }
97
- const F = a.getInstance(), E = F;
98
- export {
99
- E as a,
100
- F as s
101
- };
102
- //# sourceMappingURL=sound.service-Nza4c6wv.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sound.service-Nza4c6wv.js","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 { createContext } from '../store'\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 context - persists to local storage */\nconst SoundContext = createContext<SoundThemeSettings>(\n\t{\n\t\ttheme: null,\n\t\tvolume: 0.15,\n\t\tmuted: false,\n\t},\n\t'local',\n\t'schmancy-sound-settings'\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\nexport default sound\n"],"names":["SoundContext","createContext","theme","volume","muted","DEFAULT_SOUNDS","joyful","puffs","startTime","duration","frequency","tones","type","content","filterFrequency","excited","proud","hopeful","frequencyEnd","relieved","grateful","peaceful","playful","amused","curious","inspired","confident","loved","comforted","energized","celebrated","sad","lonely","disappointed","heartbroken","grieving","hopeless","empty","discouraged","melancholic","homesick","hurt","miserable","regretful","ashamed","inferior","anxious","description","worried","afraid","terrified","panicked","nervous","uneasy","insecure","overwhelmed","stressed","tense","apprehensive","startled","suspicious","vulnerable","annoyed","irritated","frustrated","angry","enraged","bitter","resentful","jealous","envious","indignant","impatient","hostile","contemptuous","tired","exhausted","drained","burnedOut","numb","bored","unmotivated","apathetic","restless","calm","relaxed","atEase","balanced","stable","secure","safe","centered","grounded","accepting","connected","accepted","included","belonging","appreciated","valued","respected","supported","protective","compassionate","empathetic","conflicted","confused","ambivalent","nostalgic","guilty","embarrassed","surprised","shocked","awestruck","skeptical","SoundService","this","audioContext","theme$","$","pipe","map","settings","shareReplay","volume$","distinctUntilChanged","muted$","_themeName$","BehaviorSubject","themeName$","asObservable","subscribe","next","name","value","themeName","getContext","AudioContextClass","window","AudioContext","webkitAudioContext","state","resume","params","masterVolume","ctx","bufferSize","Math","floor","sampleRate","buffer","createBuffer","data","getChannelData","i","random","noise","createBufferSource","filter","createBiquadFilter","Q","gain","createGain","setValueAtTime","linearRampToValueAtTime","exponentialRampToValueAtTime","connect","destination","start","stop","osc","createOscillator","lastNode","set","resetTheme","max","min","mute","unmute","toggleMute","feeling","customTheme","feelings","categoryDefaults","category","getCategoryForFeeling","includes","sound","getSoundForFeeling","now","currentTime","themeMasterVolume","forEach","puff","playPuff","tone","playTone","dispose","close","getInstance","instance","schmancySound"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- "use strict";const a=require("rxjs"),q=require("./context-create-DTybDbZp.cjs");require("lit/decorators.js"),require("rxjs/operators");const i=q.createContext({theme:null,volume:.15,muted:!1},"local","schmancy-sound-settings"),p={joyful:{puffs:[{startTime:0,duration:.08,frequency:3e3,volume:.3},{startTime:.06,duration:.1,frequency:3500,volume:.35}],tones:[{startTime:.02,duration:.15,frequency:784,volume:.25,type:"sine"},{startTime:.1,duration:.2,frequency:988,volume:.3,type:"sine"},{startTime:.18,duration:.25,frequency:1175,volume:.25,type:"sine"}]},content:{puffs:[{startTime:0,duration:.2,frequency:1500,volume:.25}],tones:[{startTime:.05,duration:.3,frequency:523,volume:.2,type:"sine",filterFrequency:800},{startTime:.15,duration:.35,frequency:659,volume:.15,type:"sine",filterFrequency:800}]},excited:{puffs:[{startTime:0,duration:.06,frequency:2500,volume:.25},{startTime:.05,duration:.06,frequency:3e3,volume:.3},{startTime:.1,duration:.08,frequency:3500,volume:.35}],tones:[{startTime:.02,duration:.12,frequency:880,volume:.2,type:"sine"},{startTime:.08,duration:.12,frequency:1047,volume:.25,type:"sine"},{startTime:.14,duration:.15,frequency:1319,volume:.3,type:"sine"}]},proud:{puffs:[{startTime:0,duration:.15,frequency:1800,volume:.3}],tones:[{startTime:.05,duration:.25,frequency:523,volume:.25,type:"sine"},{startTime:.08,duration:.25,frequency:659,volume:.2,type:"sine"},{startTime:.11,duration:.3,frequency:784,volume:.25,type:"sine"}]},hopeful:{puffs:[{startTime:0,duration:.12,frequency:2200,volume:.2}],tones:[{startTime:.03,duration:.3,frequency:659,volume:.2,type:"sine",frequencyEnd:880}]},relieved:{puffs:[{startTime:0,duration:.25,frequency:1200,volume:.35}],tones:[{startTime:.1,duration:.35,frequency:659,volume:.2,type:"sine",filterFrequency:800},{startTime:.25,duration:.4,frequency:523,volume:.15,type:"sine",filterFrequency:800}]},grateful:{puffs:[{startTime:0,duration:.15,frequency:1500,volume:.25}],tones:[{startTime:.05,duration:.3,frequency:440,volume:.2,type:"sine",filterFrequency:800},{startTime:.15,duration:.35,frequency:523,volume:.2,type:"sine",filterFrequency:800},{startTime:.25,duration:.4,frequency:659,volume:.15,type:"sine",filterFrequency:800}]},peaceful:{puffs:[{startTime:0,duration:.3,frequency:800,volume:.15}],tones:[{startTime:.1,duration:.5,frequency:392,volume:.12,type:"sine",filterFrequency:500}]},playful:{puffs:[{startTime:0,duration:.05,frequency:2800,volume:.2},{startTime:.08,duration:.05,frequency:3200,volume:.25},{startTime:.14,duration:.06,frequency:2800,volume:.2}],tones:[{startTime:.03,duration:.1,frequency:784,volume:.2,type:"sine"},{startTime:.1,duration:.08,frequency:988,volume:.25,type:"sine"},{startTime:.16,duration:.12,frequency:784,volume:.2,type:"sine"}]},amused:{puffs:[{startTime:0,duration:.04,frequency:2500,volume:.2},{startTime:.06,duration:.04,frequency:2800,volume:.22},{startTime:.11,duration:.05,frequency:2600,volume:.18}],tones:[{startTime:.05,duration:.15,frequency:880,volume:.15,type:"sine"}]},curious:{puffs:[{startTime:0,duration:.1,frequency:2e3,volume:.2}],tones:[{startTime:.03,duration:.2,frequency:659,volume:.2,type:"sine",frequencyEnd:880}]},inspired:{puffs:[{startTime:0,duration:.1,frequency:2500,volume:.25}],tones:[{startTime:.05,duration:.3,frequency:523,volume:.2,type:"sine"},{startTime:.07,duration:.28,frequency:784.5,volume:.16,type:"sine"},{startTime:.09,duration:.26,frequency:1046,volume:.12,type:"sine"}]},confident:{puffs:[{startTime:0,duration:.12,frequency:1500,volume:.3}],tones:[{startTime:.04,duration:.2,frequency:523,volume:.25,type:"sine"},{startTime:.06,duration:.22,frequency:659,volume:.2,type:"sine"}]},loved:{puffs:[{startTime:0,duration:.2,frequency:1e3,volume:.2}],tones:[{startTime:.08,duration:.4,frequency:392,volume:.18,type:"sine",filterFrequency:600},{startTime:.2,duration:.45,frequency:494,volume:.15,type:"sine",filterFrequency:600}]},comforted:{puffs:[{startTime:0,duration:.25,frequency:900,volume:.18}],tones:[{startTime:.1,duration:.35,frequency:523,volume:.15,type:"sine",filterFrequency:800},{startTime:.25,duration:.4,frequency:440,volume:.12,type:"sine",filterFrequency:800}]},energized:{puffs:[{startTime:0,duration:.05,frequency:3e3,volume:.25},{startTime:.04,duration:.05,frequency:3500,volume:.28}],tones:[{startTime:.02,duration:.1,frequency:784,volume:.2,type:"sine"},{startTime:.08,duration:.12,frequency:988,volume:.25,type:"sine"},{startTime:.14,duration:.15,frequency:1175,volume:.22,type:"sine"}]},celebrated:{puffs:[{startTime:0,duration:.08,frequency:2500,volume:.2}],tones:[{startTime:.02,duration:.18,frequency:523,volume:.22,type:"sine"},{startTime:.08,duration:.18,frequency:659,volume:.24,type:"sine"},{startTime:.14,duration:.2,frequency:784,volume:.26,type:"sine"},{startTime:.22,duration:.3,frequency:1047,volume:.22,type:"sine"}]},sad:{puffs:[{startTime:0,duration:.3,frequency:600,volume:.25}],tones:[{startTime:.1,duration:.4,frequency:392,volume:.2,type:"sine",filterFrequency:400},{startTime:.3,duration:.45,frequency:294,volume:.15,type:"sine",filterFrequency:350}]},lonely:{puffs:[{startTime:0,duration:.2,frequency:700,volume:.2}],tones:[{startTime:.15,duration:.5,frequency:330,volume:.12,type:"sine",filterFrequency:450}]},disappointed:{puffs:[{startTime:0,duration:.25,frequency:800,volume:.25}],tones:[{startTime:.08,duration:.3,frequency:523,volume:.18,type:"sine",frequencyEnd:349}]},heartbroken:{puffs:[{startTime:0,duration:.3,frequency:600,volume:.25}],tones:[{startTime:.1,duration:.4,frequency:392,volume:.2,type:"sine",filterFrequency:400},{startTime:.3,duration:.45,frequency:294,volume:.15,type:"sine",filterFrequency:350}]},grieving:{puffs:[{startTime:0,duration:.3,frequency:600,volume:.25}],tones:[{startTime:.1,duration:.4,frequency:392,volume:.2,type:"sine",filterFrequency:400},{startTime:.3,duration:.45,frequency:294,volume:.15,type:"sine",filterFrequency:350}]},hopeless:{puffs:[{startTime:0,duration:.2,frequency:700,volume:.2}],tones:[{startTime:.15,duration:.5,frequency:330,volume:.12,type:"sine",filterFrequency:450}]},empty:{puffs:[{startTime:0,duration:.2,frequency:700,volume:.2}],tones:[{startTime:.15,duration:.5,frequency:330,volume:.12,type:"sine",filterFrequency:450}]},discouraged:{puffs:[{startTime:0,duration:.25,frequency:800,volume:.25}],tones:[{startTime:.08,duration:.3,frequency:523,volume:.18,type:"sine",frequencyEnd:349}]},melancholic:{puffs:[{startTime:0,duration:.3,frequency:700,volume:.18}],tones:[{startTime:.1,duration:.45,frequency:440,volume:.15,type:"sine",filterFrequency:500},{startTime:.3,duration:.5,frequency:392,volume:.12,type:"sine",filterFrequency:450}]},homesick:{puffs:[{startTime:0,duration:.25,frequency:800,volume:.15}],tones:[{startTime:.1,duration:.4,frequency:440,volume:.12,type:"sine",filterFrequency:500},{startTime:.3,duration:.45,frequency:392,volume:.1,type:"sine",filterFrequency:450}]},hurt:{puffs:[{startTime:0,duration:.3,frequency:600,volume:.25}],tones:[{startTime:.1,duration:.4,frequency:392,volume:.2,type:"sine",filterFrequency:400},{startTime:.3,duration:.45,frequency:294,volume:.15,type:"sine",filterFrequency:350}]},miserable:{puffs:[{startTime:0,duration:.3,frequency:600,volume:.25}],tones:[{startTime:.1,duration:.4,frequency:392,volume:.2,type:"sine",filterFrequency:400},{startTime:.3,duration:.45,frequency:294,volume:.15,type:"sine",filterFrequency:350}]},regretful:{puffs:[{startTime:0,duration:.3,frequency:700,volume:.18}],tones:[{startTime:.1,duration:.45,frequency:440,volume:.15,type:"sine",filterFrequency:500},{startTime:.3,duration:.5,frequency:392,volume:.12,type:"sine",filterFrequency:450}]},ashamed:{puffs:[{startTime:0,duration:.25,frequency:800,volume:.25}],tones:[{startTime:.08,duration:.3,frequency:523,volume:.18,type:"sine",frequencyEnd:349}]},inferior:{puffs:[{startTime:0,duration:.25,frequency:800,volume:.25}],tones:[{startTime:.08,duration:.3,frequency:523,volume:.18,type:"sine",frequencyEnd:349}]},anxious:{puffs:[{startTime:0,duration:.08,frequency:1800,volume:.2},{startTime:.12,duration:.08,frequency:1900,volume:.22}],tones:[{startTime:.03,duration:.25,frequency:440,volume:.15,type:"sine"}],description:"Tight, quick puffs with uncertain wobble"},worried:{puffs:[{startTime:0,duration:.15,frequency:1200,volume:.2}],tones:[{startTime:.05,duration:.25,frequency:349,volume:.15,type:"sine",frequencyEnd:392}]},afraid:{puffs:[{startTime:0,duration:.08,frequency:1800,volume:.2},{startTime:.12,duration:.08,frequency:1900,volume:.22}],tones:[{startTime:.03,duration:.25,frequency:440,volume:.15,type:"sine"}]},terrified:{puffs:[{startTime:0,duration:.04,frequency:3500,volume:.3}],tones:[{startTime:0,duration:.08,frequency:1047,volume:.25,type:"sine"},{startTime:.05,duration:.15,frequency:880,volume:.15,type:"sine"}]},panicked:{puffs:[{startTime:0,duration:.04,frequency:3500,volume:.3}],tones:[{startTime:0,duration:.08,frequency:1047,volume:.25,type:"sine"},{startTime:.05,duration:.15,frequency:880,volume:.15,type:"sine"}]},nervous:{puffs:[{startTime:0,duration:.05,frequency:2e3,volume:.18},{startTime:.08,duration:.05,frequency:2100,volume:.18},{startTime:.15,duration:.06,frequency:2e3,volume:.16}],tones:[{startTime:.04,duration:.2,frequency:494,volume:.12,type:"sine"}]},uneasy:{puffs:[{startTime:0,duration:.15,frequency:1200,volume:.2}],tones:[{startTime:.05,duration:.25,frequency:349,volume:.15,type:"sine",frequencyEnd:392}]},insecure:{puffs:[{startTime:0,duration:.05,frequency:2e3,volume:.18},{startTime:.08,duration:.05,frequency:2100,volume:.18},{startTime:.15,duration:.06,frequency:2e3,volume:.16}],tones:[{startTime:.04,duration:.2,frequency:494,volume:.12,type:"sine"}]},overwhelmed:{puffs:[{startTime:0,duration:.08,frequency:1800,volume:.2},{startTime:.12,duration:.08,frequency:1900,volume:.22}],tones:[{startTime:.03,duration:.25,frequency:440,volume:.15,type:"sine"}]},stressed:{puffs:[{startTime:0,duration:.08,frequency:1800,volume:.2},{startTime:.12,duration:.08,frequency:1900,volume:.22}],tones:[{startTime:.03,duration:.25,frequency:440,volume:.15,type:"sine"}]},tense:{puffs:[{startTime:0,duration:.08,frequency:1800,volume:.2},{startTime:.12,duration:.08,frequency:1900,volume:.22}],tones:[{startTime:.03,duration:.25,frequency:440,volume:.15,type:"sine"}]},apprehensive:{puffs:[{startTime:0,duration:.15,frequency:1200,volume:.2}],tones:[{startTime:.05,duration:.25,frequency:349,volume:.15,type:"sine",frequencyEnd:392}]},startled:{puffs:[{startTime:0,duration:.04,frequency:3500,volume:.3}],tones:[{startTime:0,duration:.08,frequency:1047,volume:.25,type:"sine"},{startTime:.05,duration:.15,frequency:880,volume:.15,type:"sine"}]},suspicious:{puffs:[{startTime:0,duration:.15,frequency:1200,volume:.2}],tones:[{startTime:.05,duration:.25,frequency:349,volume:.15,type:"sine",frequencyEnd:392}]},vulnerable:{puffs:[{startTime:0,duration:.05,frequency:2e3,volume:.18},{startTime:.08,duration:.05,frequency:2100,volume:.18},{startTime:.15,duration:.06,frequency:2e3,volume:.16}],tones:[{startTime:.04,duration:.2,frequency:494,volume:.12,type:"sine"}]},annoyed:{puffs:[{startTime:0,duration:.1,frequency:1e3,volume:.25}],tones:[{startTime:.03,duration:.2,frequency:294,volume:.18,type:"sine",filterFrequency:400}]},irritated:{puffs:[{startTime:0,duration:.1,frequency:1e3,volume:.25}],tones:[{startTime:.03,duration:.2,frequency:294,volume:.18,type:"sine",filterFrequency:400}]},frustrated:{puffs:[{startTime:0,duration:.12,frequency:900,volume:.28}],tones:[{startTime:.04,duration:.15,frequency:349,volume:.2,type:"sine"},{startTime:.12,duration:.12,frequency:330,volume:.18,type:"sine"}]},angry:{puffs:[{startTime:0,duration:.12,frequency:900,volume:.28}],tones:[{startTime:.04,duration:.15,frequency:349,volume:.2,type:"sine"},{startTime:.12,duration:.12,frequency:330,volume:.18,type:"sine"}]},enraged:{puffs:[{startTime:0,duration:.12,frequency:900,volume:.28}],tones:[{startTime:.04,duration:.15,frequency:349,volume:.2,type:"sine"},{startTime:.12,duration:.12,frequency:330,volume:.18,type:"sine"}]},bitter:{puffs:[{startTime:0,duration:.12,frequency:900,volume:.28}],tones:[{startTime:.04,duration:.15,frequency:349,volume:.2,type:"sine"},{startTime:.12,duration:.12,frequency:330,volume:.18,type:"sine"}]},resentful:{puffs:[{startTime:0,duration:.1,frequency:1e3,volume:.25}],tones:[{startTime:.03,duration:.2,frequency:294,volume:.18,type:"sine",filterFrequency:400}]},jealous:{puffs:[{startTime:0,duration:.1,frequency:1e3,volume:.25}],tones:[{startTime:.03,duration:.2,frequency:294,volume:.18,type:"sine",filterFrequency:400}]},envious:{puffs:[{startTime:0,duration:.1,frequency:1e3,volume:.25}],tones:[{startTime:.03,duration:.2,frequency:294,volume:.18,type:"sine",filterFrequency:400}]},indignant:{puffs:[{startTime:0,duration:.12,frequency:900,volume:.28}],tones:[{startTime:.04,duration:.15,frequency:349,volume:.2,type:"sine"},{startTime:.12,duration:.12,frequency:330,volume:.18,type:"sine"}]},impatient:{puffs:[{startTime:0,duration:.04,frequency:1500,volume:.2},{startTime:.08,duration:.04,frequency:1500,volume:.2},{startTime:.16,duration:.04,frequency:1500,volume:.22}],tones:[{startTime:.06,duration:.1,frequency:523,volume:.15,type:"sine"}]},hostile:{puffs:[{startTime:0,duration:.12,frequency:900,volume:.28}],tones:[{startTime:.04,duration:.15,frequency:349,volume:.2,type:"sine"},{startTime:.12,duration:.12,frequency:330,volume:.18,type:"sine"}]},contemptuous:{puffs:[{startTime:0,duration:.1,frequency:1e3,volume:.25}],tones:[{startTime:.03,duration:.2,frequency:294,volume:.18,type:"sine",filterFrequency:400}]},tired:{puffs:[{startTime:0,duration:.35,frequency:500,volume:.2}],tones:[{startTime:.1,duration:.4,frequency:330,volume:.12,type:"sine",filterFrequency:350}]},exhausted:{puffs:[{startTime:0,duration:.45,frequency:400,volume:.18}],tones:[{startTime:.15,duration:.5,frequency:294,volume:.1,type:"sine",filterFrequency:300}]},drained:{puffs:[{startTime:0,duration:.45,frequency:400,volume:.18}],tones:[{startTime:.15,duration:.5,frequency:294,volume:.1,type:"sine",filterFrequency:300}]},burnedOut:{puffs:[{startTime:0,duration:.45,frequency:400,volume:.18}],tones:[{startTime:.15,duration:.5,frequency:294,volume:.1,type:"sine",filterFrequency:300}]},numb:{puffs:[{startTime:0,duration:.45,frequency:400,volume:.18}],tones:[{startTime:.15,duration:.5,frequency:294,volume:.1,type:"sine",filterFrequency:300}]},bored:{puffs:[{startTime:0,duration:.25,frequency:600,volume:.15}],tones:[{startTime:.1,duration:.3,frequency:349,volume:.1,type:"sine",filterFrequency:400}]},unmotivated:{puffs:[{startTime:0,duration:.25,frequency:600,volume:.15}],tones:[{startTime:.1,duration:.3,frequency:349,volume:.1,type:"sine",filterFrequency:400}]},apathetic:{puffs:[{startTime:0,duration:.25,frequency:600,volume:.15}],tones:[{startTime:.1,duration:.3,frequency:349,volume:.1,type:"sine",filterFrequency:400}]},restless:{puffs:[{startTime:0,duration:.35,frequency:500,volume:.2}],tones:[{startTime:.1,duration:.4,frequency:330,volume:.12,type:"sine",filterFrequency:350}]},calm:{puffs:[{startTime:0,duration:.3,frequency:600,volume:.12}],tones:[{startTime:.1,duration:.5,frequency:392,volume:.1,type:"sine",filterFrequency:500}]},relaxed:{puffs:[{startTime:0,duration:.35,frequency:700,volume:.15}],tones:[{startTime:.15,duration:.45,frequency:440,volume:.1,type:"sine",filterFrequency:800},{startTime:.35,duration:.5,frequency:392,volume:.08,type:"sine",filterFrequency:800}]},atEase:{puffs:[{startTime:0,duration:.35,frequency:700,volume:.15}],tones:[{startTime:.15,duration:.45,frequency:440,volume:.1,type:"sine",filterFrequency:800},{startTime:.35,duration:.5,frequency:392,volume:.08,type:"sine",filterFrequency:800}]},balanced:{puffs:[{startTime:0,duration:.3,frequency:600,volume:.12}],tones:[{startTime:.1,duration:.5,frequency:392,volume:.1,type:"sine",filterFrequency:500}]},stable:{puffs:[{startTime:0,duration:.25,frequency:500,volume:.2}],tones:[{startTime:.1,duration:.4,frequency:262,volume:.15,type:"sine",filterFrequency:350}]},secure:{puffs:[{startTime:0,duration:.3,frequency:700,volume:.15}],tones:[{startTime:.1,duration:.4,frequency:349,volume:.12,type:"sine",filterFrequency:800},{startTime:.25,duration:.45,frequency:440,volume:.1,type:"sine",filterFrequency:800}]},safe:{puffs:[{startTime:0,duration:.3,frequency:700,volume:.15}],tones:[{startTime:.1,duration:.4,frequency:349,volume:.12,type:"sine",filterFrequency:800},{startTime:.25,duration:.45,frequency:440,volume:.1,type:"sine",filterFrequency:800}]},centered:{puffs:[{startTime:0,duration:.25,frequency:500,volume:.2}],tones:[{startTime:.1,duration:.4,frequency:262,volume:.15,type:"sine",filterFrequency:350}]},grounded:{puffs:[{startTime:0,duration:.25,frequency:500,volume:.2}],tones:[{startTime:.1,duration:.4,frequency:262,volume:.15,type:"sine",filterFrequency:350}]},accepting:{puffs:[{startTime:0,duration:.3,frequency:600,volume:.12}],tones:[{startTime:.1,duration:.5,frequency:392,volume:.1,type:"sine",filterFrequency:500}]},connected:{puffs:[{startTime:0,duration:.2,frequency:1200,volume:.18}],tones:[{startTime:.08,duration:.3,frequency:440,volume:.15,type:"sine",filterFrequency:800},{startTime:.12,duration:.32,frequency:523,volume:.12,type:"sine",filterFrequency:800}]},accepted:{puffs:[{startTime:0,duration:.15,frequency:1500,volume:.2}],tones:[{startTime:.05,duration:.25,frequency:440,volume:.15,type:"sine",filterFrequency:800},{startTime:.15,duration:.3,frequency:523,volume:.18,type:"sine",filterFrequency:800}]},included:{puffs:[{startTime:0,duration:.2,frequency:1200,volume:.18}],tones:[{startTime:.08,duration:.3,frequency:440,volume:.15,type:"sine",filterFrequency:800},{startTime:.12,duration:.32,frequency:523,volume:.12,type:"sine",filterFrequency:800}]},belonging:{puffs:[{startTime:0,duration:.2,frequency:1200,volume:.18}],tones:[{startTime:.08,duration:.3,frequency:440,volume:.15,type:"sine",filterFrequency:800},{startTime:.12,duration:.32,frequency:523,volume:.12,type:"sine",filterFrequency:800}]},appreciated:{puffs:[{startTime:0,duration:.15,frequency:1500,volume:.2}],tones:[{startTime:.05,duration:.25,frequency:440,volume:.15,type:"sine",filterFrequency:800},{startTime:.15,duration:.3,frequency:523,volume:.18,type:"sine",filterFrequency:800}]},valued:{puffs:[{startTime:0,duration:.15,frequency:1500,volume:.2}],tones:[{startTime:.05,duration:.25,frequency:440,volume:.15,type:"sine",filterFrequency:800},{startTime:.15,duration:.3,frequency:523,volume:.18,type:"sine",filterFrequency:800}]},respected:{puffs:[{startTime:0,duration:.15,frequency:1500,volume:.2}],tones:[{startTime:.05,duration:.25,frequency:440,volume:.15,type:"sine",filterFrequency:800},{startTime:.15,duration:.3,frequency:523,volume:.18,type:"sine",filterFrequency:800}]},supported:{puffs:[{startTime:0,duration:.25,frequency:900,volume:.18}],tones:[{startTime:.1,duration:.35,frequency:349,volume:.12,type:"sine",filterFrequency:800},{startTime:.15,duration:.4,frequency:440,volume:.1,type:"sine",filterFrequency:800}]},protective:{puffs:[{startTime:0,duration:.25,frequency:900,volume:.18}],tones:[{startTime:.1,duration:.35,frequency:349,volume:.12,type:"sine",filterFrequency:800},{startTime:.15,duration:.4,frequency:440,volume:.1,type:"sine",filterFrequency:800}]},compassionate:{puffs:[{startTime:0,duration:.2,frequency:1200,volume:.18}],tones:[{startTime:.08,duration:.3,frequency:440,volume:.15,type:"sine",filterFrequency:800},{startTime:.12,duration:.32,frequency:523,volume:.12,type:"sine",filterFrequency:800}]},empathetic:{puffs:[{startTime:0,duration:.2,frequency:1200,volume:.18}],tones:[{startTime:.08,duration:.3,frequency:440,volume:.15,type:"sine",filterFrequency:800},{startTime:.12,duration:.32,frequency:523,volume:.12,type:"sine",filterFrequency:800}]},conflicted:{puffs:[{startTime:0,duration:.12,frequency:1200,volume:.18}],tones:[{startTime:.04,duration:.2,frequency:440,volume:.12,type:"sine",frequencyEnd:494},{startTime:.15,duration:.15,frequency:466,volume:.1,type:"sine"}]},confused:{puffs:[{startTime:0,duration:.12,frequency:1200,volume:.18}],tones:[{startTime:.04,duration:.2,frequency:440,volume:.12,type:"sine",frequencyEnd:494},{startTime:.15,duration:.15,frequency:466,volume:.1,type:"sine"}]},ambivalent:{puffs:[{startTime:0,duration:.12,frequency:1200,volume:.18}],tones:[{startTime:.04,duration:.2,frequency:440,volume:.12,type:"sine",frequencyEnd:494},{startTime:.15,duration:.15,frequency:466,volume:.1,type:"sine"}]},nostalgic:{puffs:[{startTime:0,duration:.25,frequency:800,volume:.15}],tones:[{startTime:.1,duration:.4,frequency:440,volume:.12,type:"sine",filterFrequency:500},{startTime:.3,duration:.45,frequency:392,volume:.1,type:"sine",filterFrequency:450}]},guilty:{puffs:[{startTime:0,duration:.25,frequency:800,volume:.25}],tones:[{startTime:.08,duration:.3,frequency:523,volume:.18,type:"sine",frequencyEnd:349}]},embarrassed:{puffs:[{startTime:0,duration:.05,frequency:2e3,volume:.18},{startTime:.08,duration:.05,frequency:2100,volume:.18},{startTime:.15,duration:.06,frequency:2e3,volume:.16}],tones:[{startTime:.04,duration:.2,frequency:494,volume:.12,type:"sine"}]},surprised:{puffs:[{startTime:0,duration:.06,frequency:2800,volume:.25}],tones:[{startTime:.02,duration:.15,frequency:659,volume:.2,type:"sine",frequencyEnd:988}]},shocked:{puffs:[{startTime:0,duration:.04,frequency:3500,volume:.3}],tones:[{startTime:0,duration:.08,frequency:1047,volume:.25,type:"sine"},{startTime:.05,duration:.15,frequency:880,volume:.15,type:"sine"}]},awestruck:{puffs:[{startTime:0,duration:.2,frequency:1500,volume:.2}],tones:[{startTime:.08,duration:.4,frequency:440,volume:.15,type:"sine"},{startTime:.1,duration:.38,frequency:660,volume:.12,type:"sine"},{startTime:.12,duration:.36,frequency:880,volume:.09,type:"sine"}]},skeptical:{puffs:[{startTime:0,duration:.12,frequency:1200,volume:.18}],tones:[{startTime:.04,duration:.2,frequency:440,volume:.12,type:"sine",frequencyEnd:494},{startTime:.15,duration:.15,frequency:466,volume:.1,type:"sine"}]}};class m{constructor(){this.audioContext=null,this.theme$=i.$.pipe(a.map(e=>e.theme),a.shareReplay(1)),this.volume$=i.$.pipe(a.map(e=>e.volume),a.distinctUntilChanged(),a.shareReplay(1)),this.muted$=i.$.pipe(a.map(e=>e.muted),a.distinctUntilChanged(),a.shareReplay(1)),this._themeName$=new a.BehaviorSubject("default"),this.themeName$=this._themeName$.asObservable(),this.theme$.subscribe(e=>{this._themeName$.next(e?.name??"default")})}get theme(){return i.value.theme}get volume(){return i.value.volume}get muted(){return i.value.muted}get themeName(){return this.theme?.name??"default"}getContext(){if(!this.audioContext){const e=window.AudioContext||window.webkitAudioContext;this.audioContext=new e}return this.audioContext.state==="suspended"&&this.audioContext.resume(),this.audioContext}playPuff(e,t,s){const u=this.getContext(),r=Math.floor(u.sampleRate*t.duration),n=u.createBuffer(1,r,u.sampleRate),f=n.getChannelData(0);for(let l=0;l<r;l++)f[l]=2*Math.random()-1;const o=u.createBufferSource();o.buffer=n;const y=u.createBiquadFilter();y.type="bandpass",y.frequency.value=t.frequency,y.Q.value=.7;const c=u.createGain();c.gain.setValueAtTime(0,e),c.gain.linearRampToValueAtTime(t.volume*s,e+.015),c.gain.exponentialRampToValueAtTime(.001,e+t.duration),o.connect(y).connect(c).connect(u.destination),o.start(e),o.stop(e+t.duration)}playTone(e,t,s){const u=this.getContext(),r=u.createOscillator(),n=u.createGain();r.type=t.type,r.frequency.setValueAtTime(t.frequency,e),t.frequencyEnd&&r.frequency.exponentialRampToValueAtTime(t.frequencyEnd,e+.8*t.duration);let f=r;if(t.filterFrequency){const o=u.createBiquadFilter();o.type="lowpass",o.frequency.value=t.filterFrequency,r.connect(o),f=o}n.gain.setValueAtTime(0,e),n.gain.linearRampToValueAtTime(t.volume*s,e+.02),n.gain.exponentialRampToValueAtTime(.001,e+t.duration),f.connect(n).connect(u.destination),r.start(e),r.stop(e+t.duration)}setTheme(e){i.set({theme:e})}resetTheme(){i.set({theme:null})}setVolume(e){i.set({volume:Math.max(0,Math.min(1,e))})}mute(){i.set({muted:!0})}unmute(){i.set({muted:!1})}toggleMute(){i.set({muted:!this.muted})}getSoundForFeeling(e){const t=this.theme;if(t?.feelings?.[e])return t.feelings[e];if(t?.categoryDefaults){const s=this.getCategoryForFeeling(e);if(t.categoryDefaults[s])return t.categoryDefaults[s]}return p[e]}getCategoryForFeeling(e){return["joyful","content","excited","proud","hopeful","relieved","grateful","peaceful","playful","amused","curious","inspired","confident","loved","comforted","energized","celebrated"].includes(e)?"happy":["sad","lonely","disappointed","heartbroken","grieving","hopeless","empty","discouraged","melancholic","homesick","hurt","miserable","regretful","ashamed","inferior"].includes(e)?"sad":["anxious","worried","afraid","terrified","panicked","nervous","uneasy","insecure","overwhelmed","stressed","tense","apprehensive","startled","suspicious","vulnerable"].includes(e)?"anxious":["annoyed","irritated","frustrated","angry","enraged","bitter","resentful","jealous","envious","indignant","impatient","hostile","contemptuous"].includes(e)?"angry":["tired","exhausted","drained","burnedOut","numb","bored","unmotivated","apathetic","restless"].includes(e)?"tired":["calm","relaxed","atEase","balanced","stable","secure","safe","centered","grounded","accepting"].includes(e)?"calm":["connected","accepted","included","belonging","appreciated","valued","respected","supported","protective","compassionate","empathetic"].includes(e)?"connected":"mixed"}play(e){if(this.muted)return;const t=this.getSoundForFeeling(e),s=this.getContext().currentTime,u=this.theme?.masterVolume??1,r=this.volume*u;t.puffs.forEach(n=>{this.playPuff(s+n.startTime,n,r)}),t.tones.forEach(n=>{this.playTone(s+n.startTime,n,r)})}dispose(){this.audioContext&&(this.audioContext.close(),this.audioContext=null)}static getInstance(){return m.instance||(m.instance=new m),m.instance}}const d=m.getInstance(),v=d;exports.schmancySound=v,exports.sound=d;
2
- //# sourceMappingURL=sound.service-eRirZw59.cjs.map