@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
package/dist/charts.cjs CHANGED
@@ -1,2 +1,112 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./pills-Blf7IAeq.cjs");Object.defineProperty(exports,"SchmancyAreaChart",{enumerable:!0,get:()=>e.SchmancyAreaChart}),Object.defineProperty(exports,"SchmancyPills",{enumerable:!0,get:()=>e.SchmancyPills}),exports.catmullRomSpline=e.catmullRomSpline,exports.easeOutCubic=e.easeOutCubic,exports.hexToRgba=e.hexToRgba;
2
- //# sourceMappingURL=charts.cjs.map
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunk-BCfY8kxB.cjs`);const e=require(`./tailwind.mixin-DSuEu-y3.cjs`),t=require(`./litElement.mixin-BG6_-nYX.cjs`);require(`./mixins.cjs`);let n=require(`lit/decorators.js`),r=require(`lit`),i=require(`lit/directives/ref.js`),a=require(`lit/directives/repeat.js`);function o(e,t,n,r,i){let a=i*i,o=a*i;return{x:.5*(2*t.x+(-e.x+n.x)*i+(2*e.x-5*t.x+4*n.x-r.x)*a+(-e.x+3*t.x-3*n.x+r.x)*o),y:.5*(2*t.y+(-e.y+n.y)*i+(2*e.y-5*t.y+4*n.y-r.y)*a+(-e.y+3*t.y-3*n.y+r.y)*o)}}function s(e,t){if(e.startsWith(`rgb`)){let n=e.match(/[\d.]+/g);if(n&&n.length>=3)return`rgba(${n[0]}, ${n[1]}, ${n[2]}, ${t})`}let n=e.replace(`#`,``);return n.length===3&&(n=n.split(``).map(e=>e+e).join(``)),`rgba(${parseInt(n.substring(0,2),16)}, ${parseInt(n.substring(2,4),16)}, ${parseInt(n.substring(4,6),16)}, ${t})`}function c(e){return 1-(1-e)**3}var l=class extends t.t(r.css`
2
+ :host {
3
+ display: block;
4
+ }
5
+ `){constructor(...e){super(...e),this.data=[],this.height=200,this.showGrid=!0,this.showLabels=!0,this.showTooltip=!0,this.peakCount=3,this.animationDuration=800,this.animated=!0,this.valuePrefix=``,this.valueSuffix=``,this.valueDecimals=2,this.theme={},this.tooltipData={visible:!1,x:0,y:0,label:``,value:0},this.animationProgress=0,this.isVisible=!1,this.canvasRef=(0,i.createRef)(),this.containerRef=(0,i.createRef)(),this.animationFrameId=null,this.observer=null,this.processedData=[],this.resizeObserver=null,this.handlePointerMove=e=>{if(this.processedData.length===0||!this.showTooltip)return;let t=this.canvasRef.value;if(!t)return;let n=t.getBoundingClientRect(),r=e.clientX-n.left,i=null,a=1/0;this.processedData.forEach(e=>{let t=Math.abs(e.x-r);t<a&&(a=t,i=e)}),this.tooltipData=i&&a<30?{visible:!0,x:i.x,y:i.y,label:i.label,value:i.value,metadata:i.metadata}:{...this.tooltipData,visible:!1}},this.handlePointerLeave=()=>{this.tooltipData={...this.tooltipData,visible:!1}}}connectedCallback(){super.connectedCallback(),this.setupIntersectionObserver()}disconnectedCallback(){super.disconnectedCallback(),this.cleanup()}cleanup(){this.animationFrameId!==null&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null),this.observer&&=(this.observer.disconnect(),null),this.resizeObserver&&=(this.resizeObserver.disconnect(),null)}setupIntersectionObserver(){this.observer=new IntersectionObserver(e=>{let t=e[0];t.isIntersecting&&!this.isVisible?(this.isVisible=!0,this.animated?this.startAnimation():(this.animationProgress=1,this.drawChart())):t.isIntersecting||(this.isVisible=!1,this.animationFrameId!==null&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null))},{threshold:.1})}updated(e){super.updated(e),this.containerRef.value&&this.observer&&this.observer.observe(this.containerRef.value),this.canvasRef.value&&!this.resizeObserver&&(this.resizeObserver=new ResizeObserver(()=>{this.drawChart()}),this.resizeObserver.observe(this.canvasRef.value)),e.has(`data`)&&this.isVisible&&(this.animated?(this.animationProgress=0,this.startAnimation()):(this.animationProgress=1,this.drawChart())),(e.has(`theme`)||e.has(`showGrid`)||e.has(`showLabels`)||e.has(`peakCount`))&&this.isVisible&&this.drawChart()}startAnimation(){let e=performance.now(),t=this.animationDuration,n=r=>{let i=r-e,a=Math.min(i/t,1);this.animationProgress=c(a),this.drawChart(),a<1&&this.isVisible&&(this.animationFrameId=requestAnimationFrame(n))};this.animationFrameId=requestAnimationFrame(n)}processData(){if(!this.data||this.data.length===0)return[];let e=[...this.data].sort((e,t)=>t.value-e.value),t=new Set(e.slice(0,this.peakCount).map(e=>e.label));return this.data.map(e=>({...e,x:0,y:0,isPeak:t.has(e.label)}))}getThemeValue(e,t){return this.theme[e]??t}drawChart(){let e=this.canvasRef.value;if(!e)return;let t=e.getContext(`2d`);if(!t)return;let n=window.devicePixelRatio||1,r=e.getBoundingClientRect(),i=r.width,a=r.height;e.width=i*n,e.height=a*n,t.scale(n,n),t.clearRect(0,0,i,a);let c=this.processData();if(c.length===0)return;let l=this.showLabels?40:20,u=i-20-20,d=a-20-l,f=Math.max(...c.map(e=>e.value),1),p=c.map((e,t)=>({...e,x:20+(c.length>1?t/(c.length-1)*u:u/2),y:20+d-e.value/f*d}));this.processedData=p;let m=getComputedStyle(this).getPropertyValue(`--schmancy-sys-color-primary`).trim()||`#6750A4`,h=this.getThemeValue(`primaryColor`,m),[g,_]=this.getThemeValue(`gradientOpacity`,[.4,.05]),v=this.getThemeValue(`strokeWidth`,2),y=this.getThemeValue(`pointRadius`,4),b=this.getThemeValue(`peakRadius`,6);if(this.showGrid){t.strokeStyle=`rgba(128, 128, 128, 0.15)`,t.lineWidth=1,t.setLineDash([4,4]);for(let e=1;e<=3;e++){let n=20+d*e/4;t.beginPath(),t.moveTo(20,n),t.lineTo(i-20,n),t.stroke()}t.setLineDash([])}let x=new Path2D,S=new Path2D;if(p.length>=2){S.moveTo(p[0].x,20+d),x.moveTo(p[0].x,p[0].y),S.lineTo(p[0].x,p[0].y);for(let e=0;e<p.length-1;e++){let t=p[Math.max(0,e-1)],n=p[e],r=p[Math.min(p.length-1,e+1)],i=p[Math.min(p.length-1,e+2)];for(let e=1;e<=16;e++){let a=o(t,n,r,i,e/16);x.lineTo(a.x,a.y),S.lineTo(a.x,a.y)}}S.lineTo(p[p.length-1].x,20+d),S.closePath()}else p.length===1&&x.arc(p[0].x,p[0].y,y,0,2*Math.PI);if(t.save(),t.beginPath(),t.rect(0,0,20+u*this.animationProgress,a),t.clip(),p.length>=2){let e=t.createLinearGradient(0,20,0,20+d);e.addColorStop(0,s(h,g)),e.addColorStop(1,s(h,_)),t.fillStyle=e,t.fill(S)}if(t.strokeStyle=h,t.lineWidth=v,t.lineCap=`round`,t.lineJoin=`round`,t.stroke(x),p.forEach((e,n)=>{if(n/(p.length-1||1)*this.animationProgress<n/(p.length||1))return;let r=e.isPeak?b-1:y-1,i=e.isPeak?b+4:y+2;e.isPeak&&(t.beginPath(),t.arc(e.x,e.y,i,0,2*Math.PI),t.fillStyle=s(h,.2),t.fill()),t.beginPath(),t.arc(e.x,e.y,r,0,2*Math.PI),t.fillStyle=h,t.fill(),e.isPeak&&(t.beginPath(),t.arc(e.x,e.y,2,0,2*Math.PI),t.fillStyle=`white`,t.fill())}),t.restore(),this.showLabels&&p.length>0){t.fillStyle=`rgba(128, 128, 128, 0.8)`,t.font=`11px system-ui, sans-serif`,t.textAlign=`center`,t.textBaseline=`top`;let e=i<400?3:i<600?2:1;p.forEach((n,r)=>{r%e===0&&t.fillText(n.label,n.x,a-l+8)})}}formatValue(e){let t=e.toFixed(this.valueDecimals);return`${this.valuePrefix}${t}${this.valueSuffix}`}renderMetadata(){return this.tooltipData.metadata?Object.entries(this.tooltipData.metadata).map(([e,t])=>r.html`
6
+ <schmancy-typography type="body" token="sm" class="text-surface-onVariant">
7
+ ${e}: ${String(t)}
8
+ </schmancy-typography>
9
+ `):``}render(){return this.data&&this.data.length!==0?r.html`
10
+ <div ${(0,i.ref)(this.containerRef)} class="relative">
11
+ <div class="relative" style="height: ${this.height}px; touch-action: pan-y;">
12
+ <canvas
13
+ ${(0,i.ref)(this.canvasRef)}
14
+ class="w-full h-full"
15
+ style="display: block;"
16
+ @pointermove=${this.handlePointerMove}
17
+ @pointerleave=${this.handlePointerLeave}
18
+ ></canvas>
19
+
20
+ <!-- Tooltip -->
21
+ ${this.showTooltip?r.html`
22
+ <div
23
+ class="absolute pointer-events-none transition-opacity duration-150 ${this.tooltipData.visible?`opacity-100`:`opacity-0`}"
24
+ style="
25
+ left: ${this.tooltipData.x}px;
26
+ top: ${this.tooltipData.y-60}px;
27
+ transform: translateX(-50%);
28
+ "
29
+ >
30
+ <schmancy-surface elevation="3" rounded="all" class="px-3 py-2 min-w-max">
31
+ <schmancy-typography type="label" token="sm" class="text-surface-onVariant">
32
+ ${this.tooltipData.label}
33
+ </schmancy-typography>
34
+ <schmancy-typography type="title" token="md" class="text-surface-on font-semibold">
35
+ ${this.formatValue(this.tooltipData.value)}
36
+ </schmancy-typography>
37
+ ${this.renderMetadata()}
38
+ </schmancy-surface>
39
+ </div>
40
+ `:``}
41
+ </div>
42
+ </div>
43
+ `:r.html``}};e.i([(0,n.property)({type:Array})],l.prototype,`data`,void 0),e.i([(0,n.property)({type:Number})],l.prototype,`height`,void 0),e.i([(0,n.property)({type:Boolean})],l.prototype,`showGrid`,void 0),e.i([(0,n.property)({type:Boolean})],l.prototype,`showLabels`,void 0),e.i([(0,n.property)({type:Boolean})],l.prototype,`showTooltip`,void 0),e.i([(0,n.property)({type:Number})],l.prototype,`peakCount`,void 0),e.i([(0,n.property)({type:Number})],l.prototype,`animationDuration`,void 0),e.i([(0,n.property)({type:Boolean})],l.prototype,`animated`,void 0),e.i([(0,n.property)({type:String})],l.prototype,`valuePrefix`,void 0),e.i([(0,n.property)({type:String})],l.prototype,`valueSuffix`,void 0),e.i([(0,n.property)({type:Number})],l.prototype,`valueDecimals`,void 0),e.i([(0,n.property)({type:Object})],l.prototype,`theme`,void 0),e.i([(0,n.state)()],l.prototype,`tooltipData`,void 0),e.i([(0,n.state)()],l.prototype,`animationProgress`,void 0),e.i([(0,n.state)()],l.prototype,`isVisible`,void 0),l=e.i([(0,n.customElement)(`schmancy-area-chart`)],l);var u=[`bg-primary`,`bg-secondary`,`bg-tertiary`,`bg-success`,`bg-warning`,`bg-error`,`bg-primary/70`,`bg-secondary/70`,`bg-tertiary/70`,`bg-success/70`,`bg-warning/70`,`bg-error/70`,`bg-primary/40`,`bg-secondary/40`,`bg-tertiary/40`],d=class extends t.t(r.css`
44
+ :host {
45
+ display: block;
46
+ }
47
+ `){constructor(...e){super(...e),this.data=[],this.valuePrefix=``,this.valueSuffix=``,this.valueDecimals=2,this.showMedals=!0,this.showLegend=!0,this.animationDuration=500,this.animated=!0,this.labelWidth=`w-14`,this.valueWidth=`w-20`,this.animationProgress=0,this.isVisible=!1,this.categoryColorMap=new Map,this.observer=null,this.animationFrameId=null}connectedCallback(){super.connectedCallback(),this.setupIntersectionObserver()}disconnectedCallback(){super.disconnectedCallback(),this.cleanup()}cleanup(){this.animationFrameId!==null&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null),this.observer&&=(this.observer.disconnect(),null)}setupIntersectionObserver(){this.observer=new IntersectionObserver(e=>{e[0].isIntersecting&&!this.isVisible&&(this.isVisible=!0,this.animated?this.startAnimation():this.animationProgress=1)},{threshold:.1})}firstUpdated(){this.observer&&this.observer.observe(this)}updated(e){super.updated(e),e.has(`data`)&&this.isVisible&&this.animated&&(this.animationProgress=0,this.startAnimation())}startAnimation(){let e=performance.now(),t=this.animationDuration,n=r=>{let i=r-e,a=Math.min(i/t,1);this.animationProgress=1-(1-a)**3,a<1&&this.isVisible&&(this.animationFrameId=requestAnimationFrame(n))};this.animationFrameId=requestAnimationFrame(n)}initializeCategoryColors(){let e=new Map,t=new Map;this.data.forEach(n=>{n.segments&&n.segments.forEach(n=>{e.set(n.label,(e.get(n.label)||0)+n.value),n.color&&!t.has(n.label)&&t.set(n.label,n.color)})});let n=Array.from(e.entries()).sort((e,t)=>t[1]-e[1]).map(([e])=>e);this.categoryColorMap.clear();let r=0;n.forEach(e=>{t.has(e)?this.categoryColorMap.set(e,t.get(e)):(this.categoryColorMap.set(e,u[r%u.length]),r++)})}getSegmentColor(e){return e.color?e.color:this.categoryColorMap.get(e.label)||`bg-primary`}formatValue(e){let t=e.toFixed(this.valueDecimals);return`${this.valuePrefix}${t}${this.valueSuffix}`}getMedalEmoji(e){return this.showMedals&&e?e===1?`🥇`:e===2?`🥈`:e===3?`🥉`:``:``}getMaxValue(){return this.data.length===0?0:Math.max(...this.data.map(e=>e.value),1)}renderBar(e,t){let n=(t>0?e.value/t*100:0)*this.animationProgress;return e.segments&&e.segments.length!==0?r.html`
48
+ <div
49
+ class="h-full flex"
50
+ style="width: ${Math.max(n,2)}%; transition-duration: ${this.animated?`0ms`:`300ms`}"
51
+ >
52
+ ${(0,a.repeat)(e.segments,e=>e.label,(t,n)=>{let i=e.value>0?t.value/e.value*100:0,a=n>0?`ml-px`:``,o=e.isPeak?`brightness-110`:``;return r.html`
53
+ <div
54
+ class="${this.getSegmentColor(t)} ${a} ${o} h-full transition-all
55
+ ${n===0?`rounded-l-full`:``}
56
+ ${n===e.segments.length-1?`rounded-r-full`:``}"
57
+ style="width: ${i}%"
58
+ title="${t.label}: ${this.formatValue(t.value)}"
59
+ ></div>
60
+ `})}
61
+ </div>
62
+ `:r.html`
63
+ <div
64
+ class="${e.isPeak?`bg-success`:e.isLow?`bg-tertiary opacity-70`:e.value===0?`bg-tertiary/40`:`bg-primary`} h-full transition-all rounded-full"
65
+ style="width: ${Math.max(n,e.value>0?2:0)}%; transition-duration: ${this.animated?`0ms`:`300ms`}"
66
+ title="${this.formatValue(e.value)}"
67
+ ></div>
68
+ `}renderLegend(){return this.showLegend&&this.categoryColorMap.size!==0?r.html`
69
+ <div class="flex flex-wrap gap-3 mt-4 pt-4 border-t border-outline-variant">
70
+ ${(0,a.repeat)(Array.from(this.categoryColorMap.entries()),([e])=>e,([e,t])=>r.html`
71
+ <div class="flex items-center gap-1.5">
72
+ <div class="${t} w-3 h-3 rounded-sm"></div>
73
+ <schmancy-typography type="label" token="sm" class="text-surface-onVariant">
74
+ ${e}
75
+ </schmancy-typography>
76
+ </div>
77
+ `)}
78
+ </div>
79
+ `:r.html``}render(){if(this.initializeCategoryColors(),!this.data||this.data.length===0)return r.html``;let e=this.getMaxValue();return r.html`
80
+ <div class="space-y-1">
81
+ ${(0,a.repeat)(this.data,e=>e.label,t=>{let n=t.isPeak?`bg-success/10 rounded-lg`:``,i=t.isPeak?`text-success font-bold`:`text-surface-on`;return r.html`
82
+ <div class="flex items-center gap-3 py-2 px-2 ${n}">
83
+ <!-- Label -->
84
+ <div class="${this.labelWidth} shrink-0 text-right">
85
+ <schmancy-typography type="label" token="md" class="${i}">
86
+ ${t.label}
87
+ </schmancy-typography>
88
+ </div>
89
+
90
+ <!-- Medal -->
91
+ <div class="w-6 shrink-0 text-center">
92
+ ${t.isPeak||t.rank&&t.rank<=3?r.html`<span class="text-sm">${this.getMedalEmoji(t.rank)}</span>`:``}
93
+ </div>
94
+
95
+ <!-- Bar -->
96
+ <div class="flex-1 h-6 bg-secondary/15 rounded-full overflow-hidden">
97
+ ${this.renderBar(t,e)}
98
+ </div>
99
+
100
+ <!-- Value -->
101
+ <div class="${this.valueWidth} shrink-0 text-right">
102
+ <schmancy-typography type="label" token="md" class="${i}">
103
+ ${this.formatValue(t.value)}
104
+ </schmancy-typography>
105
+ </div>
106
+ </div>
107
+ `})}
108
+ </div>
109
+
110
+ <!-- Legend -->
111
+ ${this.renderLegend()}
112
+ `}};e.i([(0,n.property)({type:Array})],d.prototype,`data`,void 0),e.i([(0,n.property)({type:String})],d.prototype,`valuePrefix`,void 0),e.i([(0,n.property)({type:String})],d.prototype,`valueSuffix`,void 0),e.i([(0,n.property)({type:Number})],d.prototype,`valueDecimals`,void 0),e.i([(0,n.property)({type:Boolean})],d.prototype,`showMedals`,void 0),e.i([(0,n.property)({type:Boolean})],d.prototype,`showLegend`,void 0),e.i([(0,n.property)({type:Number})],d.prototype,`animationDuration`,void 0),e.i([(0,n.property)({type:Boolean})],d.prototype,`animated`,void 0),e.i([(0,n.property)({type:String})],d.prototype,`labelWidth`,void 0),e.i([(0,n.property)({type:String})],d.prototype,`valueWidth`,void 0),e.i([(0,n.state)()],d.prototype,`animationProgress`,void 0),e.i([(0,n.state)()],d.prototype,`isVisible`,void 0),e.i([(0,n.state)()],d.prototype,`categoryColorMap`,void 0),d=e.i([(0,n.customElement)(`schmancy-pills`)],d),Object.defineProperty(exports,`SchmancyAreaChart`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`SchmancyPills`,{enumerable:!0,get:function(){return d}}),exports.catmullRomSpline=o,exports.easeOutCubic=c,exports.hexToRgba=s;
@@ -1 +1 @@
1
- {"version":3,"file":"charts.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"charts.cjs","names":[],"sources":["../src/charts/utils.ts","../src/charts/area-chart.ts","../src/charts/pills.ts"],"sourcesContent":["/**\n * Catmull-Rom spline interpolation for smooth curves\n * Returns the interpolated point between p1 and p2\n */\nexport function catmullRomSpline(\n\tp0: { x: number; y: number },\n\tp1: { x: number; y: number },\n\tp2: { x: number; y: number },\n\tp3: { x: number; y: number },\n\tt: number\n): { x: number; y: number } {\n\tconst t2 = t * t\n\tconst t3 = t2 * t\n\n\tconst x =\n\t\t0.5 *\n\t\t(2 * p1.x +\n\t\t\t(-p0.x + p2.x) * t +\n\t\t\t(2 * p0.x - 5 * p1.x + 4 * p2.x - p3.x) * t2 +\n\t\t\t(-p0.x + 3 * p1.x - 3 * p2.x + p3.x) * t3)\n\n\tconst y =\n\t\t0.5 *\n\t\t(2 * p1.y +\n\t\t\t(-p0.y + p2.y) * t +\n\t\t\t(2 * p0.y - 5 * p1.y + 4 * p2.y - p3.y) * t2 +\n\t\t\t(-p0.y + 3 * p1.y - 3 * p2.y + p3.y) * t3)\n\n\treturn { x, y }\n}\n\n/**\n * Converts hex or rgb color to rgba string\n */\nexport function hexToRgba(color: string, alpha: number): string {\n\t// Handle rgb/rgba format\n\tif (color.startsWith('rgb')) {\n\t\tconst match = color.match(/[\\d.]+/g)\n\t\tif (match && match.length >= 3) {\n\t\t\treturn `rgba(${match[0]}, ${match[1]}, ${match[2]}, ${alpha})`\n\t\t}\n\t}\n\n\t// Handle hex format\n\tlet hex = color.replace('#', '')\n\tif (hex.length === 3) {\n\t\thex = hex\n\t\t\t.split('')\n\t\t\t.map(c => c + c)\n\t\t\t.join('')\n\t}\n\n\tconst r = parseInt(hex.substring(0, 2), 16)\n\tconst g = parseInt(hex.substring(2, 4), 16)\n\tconst b = parseInt(hex.substring(4, 6), 16)\n\n\treturn `rgba(${r}, ${g}, ${b}, ${alpha})`\n}\n\n/**\n * Cubic ease-out animation function\n */\nexport function easeOutCubic(t: number): number {\n\treturn 1 - Math.pow(1 - t, 3)\n}\n","import { html, css, PropertyValues } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { ref, createRef, Ref } from 'lit/directives/ref.js'\nimport { $LitElement } from '@mixins/index'\nimport type { ChartDataPoint, ChartTheme, ProcessedDataPoint } from './types'\nimport { catmullRomSpline, hexToRgba, easeOutCubic } from './utils'\n\ninterface TooltipData {\n\tvisible: boolean\n\tx: number\n\ty: number\n\tlabel: string\n\tvalue: number\n\tmetadata?: Record<string, unknown>\n}\n\n@customElement('schmancy-area-chart')\nexport class SchmancyAreaChart extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\t/** Chart data points */\n\t@property({ type: Array })\n\tdata: ChartDataPoint[] = []\n\n\t/** Chart height in pixels */\n\t@property({ type: Number })\n\theight = 200\n\n\t/** Show grid lines */\n\t@property({ type: Boolean })\n\tshowGrid = true\n\n\t/** Show x-axis labels */\n\t@property({ type: Boolean })\n\tshowLabels = true\n\n\t/** Enable tooltips */\n\t@property({ type: Boolean })\n\tshowTooltip = true\n\n\t/** Number of peaks to highlight */\n\t@property({ type: Number })\n\tpeakCount = 3\n\n\t/** Animation duration in milliseconds */\n\t@property({ type: Number })\n\tanimationDuration = 800\n\n\t/** Enable entrance animation */\n\t@property({ type: Boolean })\n\tanimated = true\n\n\t/** Prefix for values (e.g., \"EUR \") */\n\t@property({ type: String })\n\tvaluePrefix = ''\n\n\t/** Suffix for values (e.g., \"%\") */\n\t@property({ type: String })\n\tvalueSuffix = ''\n\n\t/** Decimal places for value display */\n\t@property({ type: Number })\n\tvalueDecimals = 2\n\n\t/** Theme overrides */\n\t@property({ type: Object })\n\ttheme: Partial<ChartTheme> = {}\n\n\t@state() private tooltipData: TooltipData = {\n\t\tvisible: false,\n\t\tx: 0,\n\t\ty: 0,\n\t\tlabel: '',\n\t\tvalue: 0,\n\t}\n\n\t@state() private animationProgress = 0\n\t@state() private isVisible = false\n\n\tprivate canvasRef: Ref<HTMLCanvasElement> = createRef()\n\tprivate containerRef: Ref<HTMLDivElement> = createRef()\n\tprivate animationFrameId: number | null = null\n\tprivate observer: IntersectionObserver | null = null\n\tprivate processedData: ProcessedDataPoint[] = []\n\tprivate resizeObserver: ResizeObserver | null = null\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tthis.setupIntersectionObserver()\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.cleanup()\n\t}\n\n\tprivate cleanup() {\n\t\tif (this.animationFrameId !== null) {\n\t\t\tcancelAnimationFrame(this.animationFrameId)\n\t\t\tthis.animationFrameId = null\n\t\t}\n\t\tif (this.observer) {\n\t\t\tthis.observer.disconnect()\n\t\t\tthis.observer = null\n\t\t}\n\t\tif (this.resizeObserver) {\n\t\t\tthis.resizeObserver.disconnect()\n\t\t\tthis.resizeObserver = null\n\t\t}\n\t}\n\n\tprivate setupIntersectionObserver() {\n\t\tthis.observer = new IntersectionObserver(\n\t\t\tentries => {\n\t\t\t\tconst entry = entries[0]\n\t\t\t\tif (entry.isIntersecting && !this.isVisible) {\n\t\t\t\t\tthis.isVisible = true\n\t\t\t\t\tif (this.animated) {\n\t\t\t\t\t\tthis.startAnimation()\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.animationProgress = 1\n\t\t\t\t\t\tthis.drawChart()\n\t\t\t\t\t}\n\t\t\t\t} else if (!entry.isIntersecting) {\n\t\t\t\t\tthis.isVisible = false\n\t\t\t\t\tif (this.animationFrameId !== null) {\n\t\t\t\t\t\tcancelAnimationFrame(this.animationFrameId)\n\t\t\t\t\t\tthis.animationFrameId = null\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t{ threshold: 0.1 }\n\t\t)\n\t}\n\n\tprotected updated(changedProperties: PropertyValues) {\n\t\tsuper.updated(changedProperties)\n\n\t\tif (this.containerRef.value && this.observer) {\n\t\t\tthis.observer.observe(this.containerRef.value)\n\t\t}\n\n\t\tif (this.canvasRef.value && !this.resizeObserver) {\n\t\t\tthis.resizeObserver = new ResizeObserver(() => {\n\t\t\t\tthis.drawChart()\n\t\t\t})\n\t\t\tthis.resizeObserver.observe(this.canvasRef.value)\n\t\t}\n\n\t\t// Redraw when data changes\n\t\tif (changedProperties.has('data') && this.isVisible) {\n\t\t\tif (this.animated) {\n\t\t\t\tthis.animationProgress = 0\n\t\t\t\tthis.startAnimation()\n\t\t\t} else {\n\t\t\t\tthis.animationProgress = 1\n\t\t\t\tthis.drawChart()\n\t\t\t}\n\t\t}\n\n\t\t// Redraw on theme or config changes\n\t\tif (\n\t\t\t(changedProperties.has('theme') ||\n\t\t\t\tchangedProperties.has('showGrid') ||\n\t\t\t\tchangedProperties.has('showLabels') ||\n\t\t\t\tchangedProperties.has('peakCount')) &&\n\t\t\tthis.isVisible\n\t\t) {\n\t\t\tthis.drawChart()\n\t\t}\n\t}\n\n\tprivate startAnimation() {\n\t\tconst startTime = performance.now()\n\t\tconst duration = this.animationDuration\n\n\t\tconst animateFrame = (currentTime: number) => {\n\t\t\tconst elapsed = currentTime - startTime\n\t\t\tconst progress = Math.min(elapsed / duration, 1)\n\n\t\t\tthis.animationProgress = easeOutCubic(progress)\n\t\t\tthis.drawChart()\n\n\t\t\tif (progress < 1 && this.isVisible) {\n\t\t\t\tthis.animationFrameId = requestAnimationFrame(animateFrame)\n\t\t\t}\n\t\t}\n\n\t\tthis.animationFrameId = requestAnimationFrame(animateFrame)\n\t}\n\n\tprivate processData(): ProcessedDataPoint[] {\n\t\tif (!this.data || this.data.length === 0) return []\n\n\t\t// Find top N peak values\n\t\tconst sortedByValue = [...this.data].sort((a, b) => b.value - a.value)\n\t\tconst peakLabels = new Set(sortedByValue.slice(0, this.peakCount).map(d => d.label))\n\n\t\treturn this.data.map(d => ({\n\t\t\t...d,\n\t\t\tx: 0, // Will be calculated during draw\n\t\t\ty: 0, // Will be calculated during draw\n\t\t\tisPeak: peakLabels.has(d.label),\n\t\t}))\n\t}\n\n\tprivate getThemeValue<K extends keyof ChartTheme>(\n\t\tkey: K,\n\t\tdefaultValue: NonNullable<ChartTheme[K]>\n\t): NonNullable<ChartTheme[K]> {\n\t\treturn (this.theme[key] as NonNullable<ChartTheme[K]>) ?? defaultValue\n\t}\n\n\tprivate drawChart() {\n\t\tconst canvas = this.canvasRef.value\n\t\tif (!canvas) return\n\n\t\tconst ctx = canvas.getContext('2d')\n\t\tif (!ctx) return\n\n\t\tconst dpr = window.devicePixelRatio || 1\n\t\tconst rect = canvas.getBoundingClientRect()\n\t\tconst width = rect.width\n\t\tconst height = rect.height\n\n\t\t// Set canvas size for high DPI\n\t\tcanvas.width = width * dpr\n\t\tcanvas.height = height * dpr\n\t\tctx.scale(dpr, dpr)\n\n\t\t// Clear canvas\n\t\tctx.clearRect(0, 0, width, height)\n\n\t\tconst data = this.processData()\n\t\tif (data.length === 0) return\n\n\t\tconst padding = { top: 20, right: 20, bottom: this.showLabels ? 40 : 20, left: 20 }\n\t\tconst chartWidth = width - padding.left - padding.right\n\t\tconst chartHeight = height - padding.top - padding.bottom\n\n\t\t// Find max value for scaling\n\t\tconst maxValue = Math.max(...data.map(d => d.value), 1)\n\n\t\t// Calculate positions\n\t\tconst points = data.map((d, i) => ({\n\t\t\t...d,\n\t\t\tx: padding.left + (data.length > 1 ? (i / (data.length - 1)) * chartWidth : chartWidth / 2),\n\t\t\ty: padding.top + chartHeight - (d.value / maxValue) * chartHeight,\n\t\t}))\n\n\t\tthis.processedData = points\n\n\t\t// Get primary color from CSS or theme\n\t\tconst computedStyle = getComputedStyle(this)\n\t\tconst defaultPrimaryColor =\n\t\t\tcomputedStyle.getPropertyValue('--schmancy-sys-color-primary').trim() || '#6750A4'\n\t\tconst primaryColor = this.getThemeValue('primaryColor', defaultPrimaryColor)\n\t\tconst [gradientOpacityTop, gradientOpacityBottom] = this.getThemeValue('gradientOpacity', [0.4, 0.05])\n\t\tconst strokeWidth = this.getThemeValue('strokeWidth', 2)\n\t\tconst pointRadius = this.getThemeValue('pointRadius', 4)\n\t\tconst peakRadius = this.getThemeValue('peakRadius', 6)\n\n\t\t// Draw grid lines\n\t\tif (this.showGrid) {\n\t\t\tctx.strokeStyle = 'rgba(128, 128, 128, 0.15)'\n\t\t\tctx.lineWidth = 1\n\t\t\tctx.setLineDash([4, 4])\n\n\t\t\tfor (let i = 1; i <= 3; i++) {\n\t\t\t\tconst y = padding.top + (chartHeight * i) / 4\n\t\t\t\tctx.beginPath()\n\t\t\t\tctx.moveTo(padding.left, y)\n\t\t\t\tctx.lineTo(width - padding.right, y)\n\t\t\t\tctx.stroke()\n\t\t\t}\n\n\t\t\tctx.setLineDash([])\n\t\t}\n\n\t\t// Create smooth curve path using Catmull-Rom spline\n\t\tconst curvePath = new Path2D()\n\t\tconst areaPath = new Path2D()\n\n\t\tif (points.length >= 2) {\n\t\t\t// Start area path from bottom left\n\t\t\tareaPath.moveTo(points[0].x, padding.top + chartHeight)\n\t\t\tcurvePath.moveTo(points[0].x, points[0].y)\n\t\t\tareaPath.lineTo(points[0].x, points[0].y)\n\n\t\t\tfor (let i = 0; i < points.length - 1; i++) {\n\t\t\t\tconst p0 = points[Math.max(0, i - 1)]\n\t\t\t\tconst p1 = points[i]\n\t\t\t\tconst p2 = points[Math.min(points.length - 1, i + 1)]\n\t\t\t\tconst p3 = points[Math.min(points.length - 1, i + 2)]\n\n\t\t\t\t// Draw curve segments\n\t\t\t\tconst segments = 16\n\t\t\t\tfor (let j = 1; j <= segments; j++) {\n\t\t\t\t\tconst t = j / segments\n\t\t\t\t\tconst point = catmullRomSpline(p0, p1, p2, p3, t)\n\t\t\t\t\tcurvePath.lineTo(point.x, point.y)\n\t\t\t\t\tareaPath.lineTo(point.x, point.y)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Close area path\n\t\t\tareaPath.lineTo(points[points.length - 1].x, padding.top + chartHeight)\n\t\t\tareaPath.closePath()\n\t\t} else if (points.length === 1) {\n\t\t\t// Single point - draw a dot\n\t\t\tcurvePath.arc(points[0].x, points[0].y, pointRadius, 0, Math.PI * 2)\n\t\t}\n\n\t\t// Apply animation clipping\n\t\tctx.save()\n\t\tctx.beginPath()\n\t\tctx.rect(0, 0, padding.left + chartWidth * this.animationProgress, height)\n\t\tctx.clip()\n\n\t\t// Draw gradient fill\n\t\tif (points.length >= 2) {\n\t\t\tconst gradient = ctx.createLinearGradient(0, padding.top, 0, padding.top + chartHeight)\n\t\t\tgradient.addColorStop(0, hexToRgba(primaryColor, gradientOpacityTop))\n\t\t\tgradient.addColorStop(1, hexToRgba(primaryColor, gradientOpacityBottom))\n\n\t\t\tctx.fillStyle = gradient\n\t\t\tctx.fill(areaPath)\n\t\t}\n\n\t\t// Draw stroke\n\t\tctx.strokeStyle = primaryColor\n\t\tctx.lineWidth = strokeWidth\n\t\tctx.lineCap = 'round'\n\t\tctx.lineJoin = 'round'\n\t\tctx.stroke(curvePath)\n\n\t\t// Draw data points\n\t\tpoints.forEach((point, index) => {\n\t\t\tconst pointProgress = (index / (points.length - 1 || 1)) * this.animationProgress\n\t\t\tif (pointProgress < index / (points.length || 1)) return\n\n\t\t\tconst radius = point.isPeak ? peakRadius - 1 : pointRadius - 1\n\t\t\tconst outerRadius = point.isPeak ? peakRadius + 4 : pointRadius + 2\n\n\t\t\t// Outer glow for peaks\n\t\t\tif (point.isPeak) {\n\t\t\t\tctx.beginPath()\n\t\t\t\tctx.arc(point.x, point.y, outerRadius, 0, Math.PI * 2)\n\t\t\t\tctx.fillStyle = hexToRgba(primaryColor, 0.2)\n\t\t\t\tctx.fill()\n\t\t\t}\n\n\t\t\t// Inner dot\n\t\t\tctx.beginPath()\n\t\t\tctx.arc(point.x, point.y, radius, 0, Math.PI * 2)\n\t\t\tctx.fillStyle = primaryColor\n\t\t\tctx.fill()\n\n\t\t\t// White center for peaks\n\t\t\tif (point.isPeak) {\n\t\t\t\tctx.beginPath()\n\t\t\t\tctx.arc(point.x, point.y, 2, 0, Math.PI * 2)\n\t\t\t\tctx.fillStyle = 'white'\n\t\t\t\tctx.fill()\n\t\t\t}\n\t\t})\n\n\t\tctx.restore()\n\n\t\t// Draw labels\n\t\tif (this.showLabels && points.length > 0) {\n\t\t\tctx.fillStyle = 'rgba(128, 128, 128, 0.8)'\n\t\t\tctx.font = '11px system-ui, sans-serif'\n\t\t\tctx.textAlign = 'center'\n\t\t\tctx.textBaseline = 'top'\n\n\t\t\t// Show fewer labels on narrow charts\n\t\t\tconst labelStep = width < 400 ? 3 : width < 600 ? 2 : 1\n\t\t\tpoints.forEach((point, index) => {\n\t\t\t\tif (index % labelStep === 0) {\n\t\t\t\t\tctx.fillText(point.label, point.x, height - padding.bottom + 8)\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate formatValue(value: number): string {\n\t\tconst formatted = value.toFixed(this.valueDecimals)\n\t\treturn `${this.valuePrefix}${formatted}${this.valueSuffix}`\n\t}\n\n\tprivate handlePointerMove = (e: PointerEvent) => {\n\t\tif (this.processedData.length === 0 || !this.showTooltip) return\n\n\t\tconst canvas = this.canvasRef.value\n\t\tif (!canvas) return\n\n\t\tconst rect = canvas.getBoundingClientRect()\n\t\tconst x = e.clientX - rect.left\n\n\t\t// Find closest data point\n\t\tlet closestPoint: ProcessedDataPoint | null = null\n\t\tlet minDistance = Infinity\n\n\t\tthis.processedData.forEach(point => {\n\t\t\tconst distance = Math.abs(point.x - x)\n\t\t\tif (distance < minDistance) {\n\t\t\t\tminDistance = distance\n\t\t\t\tclosestPoint = point\n\t\t\t}\n\t\t})\n\n\t\tif (closestPoint && minDistance < 30) {\n\t\t\tthis.tooltipData = {\n\t\t\t\tvisible: true,\n\t\t\t\tx: closestPoint.x,\n\t\t\t\ty: closestPoint.y,\n\t\t\t\tlabel: closestPoint.label,\n\t\t\t\tvalue: closestPoint.value,\n\t\t\t\tmetadata: closestPoint.metadata,\n\t\t\t}\n\t\t} else {\n\t\t\tthis.tooltipData = { ...this.tooltipData, visible: false }\n\t\t}\n\t}\n\n\tprivate handlePointerLeave = () => {\n\t\tthis.tooltipData = { ...this.tooltipData, visible: false }\n\t}\n\n\tprivate renderMetadata() {\n\t\tif (!this.tooltipData.metadata) return ''\n\t\treturn Object.entries(this.tooltipData.metadata).map(\n\t\t\t([key, value]) => html`\n\t\t\t\t<schmancy-typography type=\"body\" token=\"sm\" class=\"text-surface-onVariant\">\n\t\t\t\t\t${key}: ${String(value)}\n\t\t\t\t</schmancy-typography>\n\t\t\t`\n\t\t)\n\t}\n\n\trender() {\n\t\tif (!this.data || this.data.length === 0) {\n\t\t\treturn html``\n\t\t}\n\n\t\treturn html`\n\t\t\t<div ${ref(this.containerRef)} class=\"relative\">\n\t\t\t\t<div class=\"relative\" style=\"height: ${this.height}px; touch-action: pan-y;\">\n\t\t\t\t\t<canvas\n\t\t\t\t\t\t${ref(this.canvasRef)}\n\t\t\t\t\t\tclass=\"w-full h-full\"\n\t\t\t\t\t\tstyle=\"display: block;\"\n\t\t\t\t\t\t@pointermove=${this.handlePointerMove}\n\t\t\t\t\t\t@pointerleave=${this.handlePointerLeave}\n\t\t\t\t\t></canvas>\n\n\t\t\t\t\t<!-- Tooltip -->\n\t\t\t\t\t${this.showTooltip\n\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclass=\"absolute pointer-events-none transition-opacity duration-150 ${this.tooltipData.visible\n\t\t\t\t\t\t\t\t\t\t? 'opacity-100'\n\t\t\t\t\t\t\t\t\t\t: 'opacity-0'}\"\n\t\t\t\t\t\t\t\t\tstyle=\"\n left: ${this.tooltipData.x}px;\n top: ${this.tooltipData.y - 60}px;\n transform: translateX(-50%);\n \"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<schmancy-surface elevation=\"3\" rounded=\"all\" class=\"px-3 py-2 min-w-max\">\n\t\t\t\t\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"sm\" class=\"text-surface-onVariant\">\n\t\t\t\t\t\t\t\t\t\t\t${this.tooltipData.label}\n\t\t\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t\t\t<schmancy-typography type=\"title\" token=\"md\" class=\"text-surface-on font-semibold\">\n\t\t\t\t\t\t\t\t\t\t\t${this.formatValue(this.tooltipData.value)}\n\t\t\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t\t\t${this.renderMetadata()}\n\t\t\t\t\t\t\t\t\t</schmancy-surface>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t `\n\t\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-area-chart': SchmancyAreaChart\n\t}\n}\n","import { html, css, PropertyValues } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { repeat } from 'lit/directives/repeat.js'\nimport { $LitElement } from '@mixins/index'\nimport type { PillDataPoint, PillSegment } from './types'\n\n/** Default color palette for segments - expanded for uniqueness */\nconst DEFAULT_COLORS = [\n\t'bg-primary',\n\t'bg-secondary',\n\t'bg-tertiary',\n\t'bg-success',\n\t'bg-warning',\n\t'bg-error',\n\t'bg-primary/70',\n\t'bg-secondary/70',\n\t'bg-tertiary/70',\n\t'bg-success/70',\n\t'bg-warning/70',\n\t'bg-error/70',\n\t'bg-primary/40',\n\t'bg-secondary/40',\n\t'bg-tertiary/40',\n]\n\n@customElement('schmancy-pills')\nexport class SchmancyPills extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\t/** Chart data points */\n\t@property({ type: Array })\n\tdata: PillDataPoint[] = []\n\n\t/** Prefix for values (e.g., \"EUR \") */\n\t@property({ type: String })\n\tvaluePrefix = ''\n\n\t/** Suffix for values (e.g., \"%\") */\n\t@property({ type: String })\n\tvalueSuffix = ''\n\n\t/** Decimal places for value display */\n\t@property({ type: Number })\n\tvalueDecimals = 2\n\n\t/** Show medals for top 3 */\n\t@property({ type: Boolean })\n\tshowMedals = true\n\n\t/** Show legend for segments */\n\t@property({ type: Boolean })\n\tshowLegend = true\n\n\t/** Animation duration in milliseconds */\n\t@property({ type: Number })\n\tanimationDuration = 500\n\n\t/** Enable entrance animation */\n\t@property({ type: Boolean })\n\tanimated = true\n\n\t/** Label column width (Tailwind class) */\n\t@property({ type: String })\n\tlabelWidth = 'w-14'\n\n\t/** Value column width (Tailwind class) */\n\t@property({ type: String })\n\tvalueWidth = 'w-20'\n\n\t@state() private animationProgress = 0\n\t@state() private isVisible = false\n\t@state() private categoryColorMap = new Map<string, string>()\n\n\tprivate observer: IntersectionObserver | null = null\n\tprivate animationFrameId: number | null = null\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tthis.setupIntersectionObserver()\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.cleanup()\n\t}\n\n\tprivate cleanup() {\n\t\tif (this.animationFrameId !== null) {\n\t\t\tcancelAnimationFrame(this.animationFrameId)\n\t\t\tthis.animationFrameId = null\n\t\t}\n\t\tif (this.observer) {\n\t\t\tthis.observer.disconnect()\n\t\t\tthis.observer = null\n\t\t}\n\t}\n\n\tprivate setupIntersectionObserver() {\n\t\tthis.observer = new IntersectionObserver(\n\t\t\tentries => {\n\t\t\t\tconst entry = entries[0]\n\t\t\t\tif (entry.isIntersecting && !this.isVisible) {\n\t\t\t\t\tthis.isVisible = true\n\t\t\t\t\tif (this.animated) {\n\t\t\t\t\t\tthis.startAnimation()\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.animationProgress = 1\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t{ threshold: 0.1 }\n\t\t)\n\t}\n\n\tprotected firstUpdated() {\n\t\tif (this.observer) {\n\t\t\tthis.observer.observe(this)\n\t\t}\n\t}\n\n\tprotected updated(changedProperties: PropertyValues) {\n\t\tsuper.updated(changedProperties)\n\n\t\t// Restart animation when data changes\n\t\tif (changedProperties.has('data') && this.isVisible && this.animated) {\n\t\t\tthis.animationProgress = 0\n\t\t\tthis.startAnimation()\n\t\t}\n\t}\n\n\tprivate startAnimation() {\n\t\tconst startTime = performance.now()\n\t\tconst duration = this.animationDuration\n\n\t\tconst animateFrame = (currentTime: number) => {\n\t\t\tconst elapsed = currentTime - startTime\n\t\t\tconst progress = Math.min(elapsed / duration, 1)\n\n\t\t\t// Ease out cubic\n\t\t\tthis.animationProgress = 1 - Math.pow(1 - progress, 3)\n\n\t\t\tif (progress < 1 && this.isVisible) {\n\t\t\t\tthis.animationFrameId = requestAnimationFrame(animateFrame)\n\t\t\t}\n\t\t}\n\n\t\tthis.animationFrameId = requestAnimationFrame(animateFrame)\n\t}\n\n\tprivate initializeCategoryColors(): void {\n\t\t// Build consistent color map from all segments in data\n\t\tconst categoryTotals = new Map<string, number>()\n\t\tconst explicitColors = new Map<string, string>()\n\n\t\tthis.data.forEach(d => {\n\t\t\tif (d.segments) {\n\t\t\t\td.segments.forEach(seg => {\n\t\t\t\t\tcategoryTotals.set(seg.label, (categoryTotals.get(seg.label) || 0) + seg.value)\n\t\t\t\t\t// Capture explicit colors from segments\n\t\t\t\t\tif (seg.color && !explicitColors.has(seg.label)) {\n\t\t\t\t\t\texplicitColors.set(seg.label, seg.color)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\n\t\t// Sort by total value (most = first color)\n\t\tconst sortedCategories = Array.from(categoryTotals.entries())\n\t\t\t.sort((a, b) => b[1] - a[1])\n\t\t\t.map(([cat]) => cat)\n\n\t\t// Clear and rebuild - use explicit colors if available, otherwise default palette\n\t\tthis.categoryColorMap.clear()\n\t\tlet defaultColorIndex = 0\n\t\tsortedCategories.forEach(cat => {\n\t\t\tif (explicitColors.has(cat)) {\n\t\t\t\tthis.categoryColorMap.set(cat, explicitColors.get(cat)!)\n\t\t\t} else {\n\t\t\t\tthis.categoryColorMap.set(cat, DEFAULT_COLORS[defaultColorIndex % DEFAULT_COLORS.length])\n\t\t\t\tdefaultColorIndex++\n\t\t\t}\n\t\t})\n\t}\n\n\tprivate getSegmentColor(segment: PillSegment): string {\n\t\t// Use explicit color if provided\n\t\tif (segment.color) return segment.color\n\t\t// Otherwise use from color map\n\t\treturn this.categoryColorMap.get(segment.label) || 'bg-primary'\n\t}\n\n\tprivate formatValue(value: number): string {\n\t\tconst formatted = value.toFixed(this.valueDecimals)\n\t\treturn `${this.valuePrefix}${formatted}${this.valueSuffix}`\n\t}\n\n\tprivate getMedalEmoji(rank: number | undefined): string {\n\t\tif (!this.showMedals || !rank) return ''\n\t\tif (rank === 1) return '🥇'\n\t\tif (rank === 2) return '🥈'\n\t\tif (rank === 3) return '🥉'\n\t\treturn ''\n\t}\n\n\tprivate getMaxValue(): number {\n\t\tif (this.data.length === 0) return 0\n\t\treturn Math.max(...this.data.map(d => d.value), 1)\n\t}\n\n\tprivate renderBar(dataPoint: PillDataPoint, maxValue: number): ReturnType<typeof html> {\n\t\tconst percentage = maxValue > 0 ? (dataPoint.value / maxValue) * 100 : 0\n\t\tconst animatedPercentage = percentage * this.animationProgress\n\n\t\t// If no segments, render solid bar\n\t\tif (!dataPoint.segments || dataPoint.segments.length === 0) {\n\t\t\tconst barColorClass = dataPoint.isPeak\n\t\t\t\t? 'bg-success'\n\t\t\t\t: dataPoint.isLow\n\t\t\t\t\t? 'bg-tertiary opacity-70'\n\t\t\t\t\t: dataPoint.value === 0\n\t\t\t\t\t\t? 'bg-tertiary/40'\n\t\t\t\t\t\t: 'bg-primary'\n\n\t\t\treturn html`\n\t\t\t\t<div\n\t\t\t\t\tclass=\"${barColorClass} h-full transition-all rounded-full\"\n\t\t\t\t\tstyle=\"width: ${Math.max(animatedPercentage, dataPoint.value > 0 ? 2 : 0)}%; transition-duration: ${this.animated ? '0ms' : '300ms'}\"\n\t\t\t\t\ttitle=\"${this.formatValue(dataPoint.value)}\"\n\t\t\t\t></div>\n\t\t\t`\n\t\t}\n\n\t\t// Stacked bar with segments\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=\"h-full flex\"\n\t\t\t\tstyle=\"width: ${Math.max(animatedPercentage, 2)}%; transition-duration: ${this.animated ? '0ms' : '300ms'}\"\n\t\t\t>\n\t\t\t\t${repeat(\n\t\t\t\t\tdataPoint.segments,\n\t\t\t\t\tseg => seg.label,\n\t\t\t\t\t(seg, index) => {\n\t\t\t\t\t\tconst segmentPercentage = dataPoint.value > 0 ? (seg.value / dataPoint.value) * 100 : 0\n\t\t\t\t\t\tconst marginLeft = index > 0 ? 'ml-px' : ''\n\t\t\t\t\t\tconst brightenClass = dataPoint.isPeak ? 'brightness-110' : ''\n\t\t\t\t\t\tconst colorClass = this.getSegmentColor(seg)\n\n\t\t\t\t\t\treturn html`\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass=\"${colorClass} ${marginLeft} ${brightenClass} h-full transition-all\n\t\t\t\t\t\t\t\t\t${index === 0 ? 'rounded-l-full' : ''}\n\t\t\t\t\t\t\t\t\t${index === dataPoint.segments!.length - 1 ? 'rounded-r-full' : ''}\"\n\t\t\t\t\t\t\t\tstyle=\"width: ${segmentPercentage}%\"\n\t\t\t\t\t\t\t\ttitle=\"${seg.label}: ${this.formatValue(seg.value)}\"\n\t\t\t\t\t\t\t></div>\n\t\t\t\t\t\t`\n\t\t\t\t\t}\n\t\t\t\t)}\n\t\t\t</div>\n\t\t`\n\t}\n\n\tprivate renderLegend(): ReturnType<typeof html> {\n\t\tif (!this.showLegend || this.categoryColorMap.size === 0) {\n\t\t\treturn html``\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=\"flex flex-wrap gap-3 mt-4 pt-4 border-t border-outline-variant\">\n\t\t\t\t${repeat(\n\t\t\t\t\tArray.from(this.categoryColorMap.entries()),\n\t\t\t\t\t([cat]) => cat,\n\t\t\t\t\t([cat, color]) => html`\n\t\t\t\t\t\t<div class=\"flex items-center gap-1.5\">\n\t\t\t\t\t\t\t<div class=\"${color} w-3 h-3 rounded-sm\"></div>\n\t\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"sm\" class=\"text-surface-onVariant\">\n\t\t\t\t\t\t\t\t${cat}\n\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t`\n\t\t\t\t)}\n\t\t\t</div>\n\t\t`\n\t}\n\n\trender() {\n\t\t// Initialize colors before rendering\n\t\tthis.initializeCategoryColors()\n\n\t\tif (!this.data || this.data.length === 0) {\n\t\t\treturn html``\n\t\t}\n\n\t\tconst maxValue = this.getMaxValue()\n\n\t\treturn html`\n\t\t\t<div class=\"space-y-1\">\n\t\t\t\t${repeat(\n\t\t\t\t\tthis.data,\n\t\t\t\t\td => d.label,\n\t\t\t\t\td => {\n\t\t\t\t\t\tconst rowBgClass = d.isPeak ? 'bg-success/10 rounded-lg' : ''\n\t\t\t\t\t\tconst textColorClass = d.isPeak ? 'text-success font-bold' : 'text-surface-on'\n\n\t\t\t\t\t\treturn html`\n\t\t\t\t\t\t\t<div class=\"flex items-center gap-3 py-2 px-2 ${rowBgClass}\">\n\t\t\t\t\t\t\t\t<!-- Label -->\n\t\t\t\t\t\t\t\t<div class=\"${this.labelWidth} shrink-0 text-right\">\n\t\t\t\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"md\" class=\"${textColorClass}\">\n\t\t\t\t\t\t\t\t\t\t${d.label}\n\t\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<!-- Medal -->\n\t\t\t\t\t\t\t\t<div class=\"w-6 shrink-0 text-center\">\n\t\t\t\t\t\t\t\t\t${d.isPeak || (d.rank && d.rank <= 3)\n\t\t\t\t\t\t\t\t\t\t? html`<span class=\"text-sm\">${this.getMedalEmoji(d.rank)}</span>`\n\t\t\t\t\t\t\t\t\t\t: ''}\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<!-- Bar -->\n\t\t\t\t\t\t\t\t<div class=\"flex-1 h-6 bg-secondary/15 rounded-full overflow-hidden\">\n\t\t\t\t\t\t\t\t\t${this.renderBar(d, maxValue)}\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<!-- Value -->\n\t\t\t\t\t\t\t\t<div class=\"${this.valueWidth} shrink-0 text-right\">\n\t\t\t\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"md\" class=\"${textColorClass}\">\n\t\t\t\t\t\t\t\t\t\t${this.formatValue(d.value)}\n\t\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t`\n\t\t\t\t\t}\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t<!-- Legend -->\n\t\t\t${this.renderLegend()}\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-pills': SchmancyPills\n\t}\n}\n"],"mappings":"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"}
package/dist/charts.js CHANGED
@@ -1,9 +1,369 @@
1
- import { S as e, a as s, c as h, e as l, h as m } from "./pills-BS5rZ6C3.js";
2
- export {
3
- e as SchmancyAreaChart,
4
- s as SchmancyPills,
5
- h as catmullRomSpline,
6
- l as easeOutCubic,
7
- m as hexToRgba
1
+ import { i as e } from "./tailwind.mixin-BIVhjNvD.js";
2
+ import { t } from "./litElement.mixin-Dm-4L8zL.js";
3
+ import "./mixins.js";
4
+ import { customElement as n, property as r, state as i } from "lit/decorators.js";
5
+ import { css as a, html as o } from "lit";
6
+ import { createRef as s, ref as c } from "lit/directives/ref.js";
7
+ import { repeat as l } from "lit/directives/repeat.js";
8
+ function u(e, t, n, r, i) {
9
+ let a = i * i, o = a * i;
10
+ return {
11
+ x: .5 * (2 * t.x + (-e.x + n.x) * i + (2 * e.x - 5 * t.x + 4 * n.x - r.x) * a + (-e.x + 3 * t.x - 3 * n.x + r.x) * o),
12
+ y: .5 * (2 * t.y + (-e.y + n.y) * i + (2 * e.y - 5 * t.y + 4 * n.y - r.y) * a + (-e.y + 3 * t.y - 3 * n.y + r.y) * o)
13
+ };
14
+ }
15
+ function d(e, t) {
16
+ if (e.startsWith("rgb")) {
17
+ let n = e.match(/[\d.]+/g);
18
+ if (n && n.length >= 3) return `rgba(${n[0]}, ${n[1]}, ${n[2]}, ${t})`;
19
+ }
20
+ let n = e.replace("#", "");
21
+ return n.length === 3 && (n = n.split("").map((e) => e + e).join("")), `rgba(${parseInt(n.substring(0, 2), 16)}, ${parseInt(n.substring(2, 4), 16)}, ${parseInt(n.substring(4, 6), 16)}, ${t})`;
22
+ }
23
+ function f(e) {
24
+ return 1 - (1 - e) ** 3;
25
+ }
26
+ var p = class extends t(a`
27
+ :host {
28
+ display: block;
29
+ }
30
+ `) {
31
+ constructor(...e) {
32
+ super(...e), this.data = [], this.height = 200, this.showGrid = !0, this.showLabels = !0, this.showTooltip = !0, this.peakCount = 3, this.animationDuration = 800, this.animated = !0, this.valuePrefix = "", this.valueSuffix = "", this.valueDecimals = 2, this.theme = {}, this.tooltipData = {
33
+ visible: !1,
34
+ x: 0,
35
+ y: 0,
36
+ label: "",
37
+ value: 0
38
+ }, this.animationProgress = 0, this.isVisible = !1, this.canvasRef = s(), this.containerRef = s(), this.animationFrameId = null, this.observer = null, this.processedData = [], this.resizeObserver = null, this.handlePointerMove = (e) => {
39
+ if (this.processedData.length === 0 || !this.showTooltip) return;
40
+ let t = this.canvasRef.value;
41
+ if (!t) return;
42
+ let n = t.getBoundingClientRect(), r = e.clientX - n.left, i = null, a = Infinity;
43
+ this.processedData.forEach((e) => {
44
+ let t = Math.abs(e.x - r);
45
+ t < a && (a = t, i = e);
46
+ }), this.tooltipData = i && a < 30 ? {
47
+ visible: !0,
48
+ x: i.x,
49
+ y: i.y,
50
+ label: i.label,
51
+ value: i.value,
52
+ metadata: i.metadata
53
+ } : {
54
+ ...this.tooltipData,
55
+ visible: !1
56
+ };
57
+ }, this.handlePointerLeave = () => {
58
+ this.tooltipData = {
59
+ ...this.tooltipData,
60
+ visible: !1
61
+ };
62
+ };
63
+ }
64
+ connectedCallback() {
65
+ super.connectedCallback(), this.setupIntersectionObserver();
66
+ }
67
+ disconnectedCallback() {
68
+ super.disconnectedCallback(), this.cleanup();
69
+ }
70
+ cleanup() {
71
+ this.animationFrameId !== null && (cancelAnimationFrame(this.animationFrameId), this.animationFrameId = null), this.observer &&= (this.observer.disconnect(), null), this.resizeObserver &&= (this.resizeObserver.disconnect(), null);
72
+ }
73
+ setupIntersectionObserver() {
74
+ this.observer = new IntersectionObserver((e) => {
75
+ let t = e[0];
76
+ t.isIntersecting && !this.isVisible ? (this.isVisible = !0, this.animated ? this.startAnimation() : (this.animationProgress = 1, this.drawChart())) : t.isIntersecting || (this.isVisible = !1, this.animationFrameId !== null && (cancelAnimationFrame(this.animationFrameId), this.animationFrameId = null));
77
+ }, { threshold: .1 });
78
+ }
79
+ updated(e) {
80
+ super.updated(e), this.containerRef.value && this.observer && this.observer.observe(this.containerRef.value), this.canvasRef.value && !this.resizeObserver && (this.resizeObserver = new ResizeObserver(() => {
81
+ this.drawChart();
82
+ }), this.resizeObserver.observe(this.canvasRef.value)), e.has("data") && this.isVisible && (this.animated ? (this.animationProgress = 0, this.startAnimation()) : (this.animationProgress = 1, this.drawChart())), (e.has("theme") || e.has("showGrid") || e.has("showLabels") || e.has("peakCount")) && this.isVisible && this.drawChart();
83
+ }
84
+ startAnimation() {
85
+ let e = performance.now(), t = this.animationDuration, n = (r) => {
86
+ let i = r - e, a = Math.min(i / t, 1);
87
+ this.animationProgress = f(a), this.drawChart(), a < 1 && this.isVisible && (this.animationFrameId = requestAnimationFrame(n));
88
+ };
89
+ this.animationFrameId = requestAnimationFrame(n);
90
+ }
91
+ processData() {
92
+ if (!this.data || this.data.length === 0) return [];
93
+ let e = [...this.data].sort((e, t) => t.value - e.value), t = new Set(e.slice(0, this.peakCount).map((e) => e.label));
94
+ return this.data.map((e) => ({
95
+ ...e,
96
+ x: 0,
97
+ y: 0,
98
+ isPeak: t.has(e.label)
99
+ }));
100
+ }
101
+ getThemeValue(e, t) {
102
+ return this.theme[e] ?? t;
103
+ }
104
+ drawChart() {
105
+ let e = this.canvasRef.value;
106
+ if (!e) return;
107
+ let t = e.getContext("2d");
108
+ if (!t) return;
109
+ let n = window.devicePixelRatio || 1, r = e.getBoundingClientRect(), i = r.width, a = r.height;
110
+ e.width = i * n, e.height = a * n, t.scale(n, n), t.clearRect(0, 0, i, a);
111
+ let o = this.processData();
112
+ if (o.length === 0) return;
113
+ let s = this.showLabels ? 40 : 20, c = i - 20 - 20, l = a - 20 - s, f = Math.max(...o.map((e) => e.value), 1), p = o.map((e, t) => ({
114
+ ...e,
115
+ x: 20 + (o.length > 1 ? t / (o.length - 1) * c : c / 2),
116
+ y: 20 + l - e.value / f * l
117
+ }));
118
+ this.processedData = p;
119
+ let m = getComputedStyle(this).getPropertyValue("--schmancy-sys-color-primary").trim() || "#6750A4", h = this.getThemeValue("primaryColor", m), [g, _] = this.getThemeValue("gradientOpacity", [.4, .05]), v = this.getThemeValue("strokeWidth", 2), y = this.getThemeValue("pointRadius", 4), b = this.getThemeValue("peakRadius", 6);
120
+ if (this.showGrid) {
121
+ t.strokeStyle = "rgba(128, 128, 128, 0.15)", t.lineWidth = 1, t.setLineDash([4, 4]);
122
+ for (let e = 1; e <= 3; e++) {
123
+ let n = 20 + l * e / 4;
124
+ t.beginPath(), t.moveTo(20, n), t.lineTo(i - 20, n), t.stroke();
125
+ }
126
+ t.setLineDash([]);
127
+ }
128
+ let x = new Path2D(), S = new Path2D();
129
+ if (p.length >= 2) {
130
+ S.moveTo(p[0].x, 20 + l), x.moveTo(p[0].x, p[0].y), S.lineTo(p[0].x, p[0].y);
131
+ for (let e = 0; e < p.length - 1; e++) {
132
+ let t = p[Math.max(0, e - 1)], n = p[e], r = p[Math.min(p.length - 1, e + 1)], i = p[Math.min(p.length - 1, e + 2)];
133
+ for (let e = 1; e <= 16; e++) {
134
+ let a = u(t, n, r, i, e / 16);
135
+ x.lineTo(a.x, a.y), S.lineTo(a.x, a.y);
136
+ }
137
+ }
138
+ S.lineTo(p[p.length - 1].x, 20 + l), S.closePath();
139
+ } else p.length === 1 && x.arc(p[0].x, p[0].y, y, 0, 2 * Math.PI);
140
+ if (t.save(), t.beginPath(), t.rect(0, 0, 20 + c * this.animationProgress, a), t.clip(), p.length >= 2) {
141
+ let e = t.createLinearGradient(0, 20, 0, 20 + l);
142
+ e.addColorStop(0, d(h, g)), e.addColorStop(1, d(h, _)), t.fillStyle = e, t.fill(S);
143
+ }
144
+ if (t.strokeStyle = h, t.lineWidth = v, t.lineCap = "round", t.lineJoin = "round", t.stroke(x), p.forEach((e, n) => {
145
+ if (n / (p.length - 1 || 1) * this.animationProgress < n / (p.length || 1)) return;
146
+ let r = e.isPeak ? b - 1 : y - 1, i = e.isPeak ? b + 4 : y + 2;
147
+ e.isPeak && (t.beginPath(), t.arc(e.x, e.y, i, 0, 2 * Math.PI), t.fillStyle = d(h, .2), t.fill()), t.beginPath(), t.arc(e.x, e.y, r, 0, 2 * Math.PI), t.fillStyle = h, t.fill(), e.isPeak && (t.beginPath(), t.arc(e.x, e.y, 2, 0, 2 * Math.PI), t.fillStyle = "white", t.fill());
148
+ }), t.restore(), this.showLabels && p.length > 0) {
149
+ t.fillStyle = "rgba(128, 128, 128, 0.8)", t.font = "11px system-ui, sans-serif", t.textAlign = "center", t.textBaseline = "top";
150
+ let e = i < 400 ? 3 : i < 600 ? 2 : 1;
151
+ p.forEach((n, r) => {
152
+ r % e === 0 && t.fillText(n.label, n.x, a - s + 8);
153
+ });
154
+ }
155
+ }
156
+ formatValue(e) {
157
+ let t = e.toFixed(this.valueDecimals);
158
+ return `${this.valuePrefix}${t}${this.valueSuffix}`;
159
+ }
160
+ renderMetadata() {
161
+ return this.tooltipData.metadata ? Object.entries(this.tooltipData.metadata).map(([e, t]) => o`
162
+ <schmancy-typography type="body" token="sm" class="text-surface-onVariant">
163
+ ${e}: ${String(t)}
164
+ </schmancy-typography>
165
+ `) : "";
166
+ }
167
+ render() {
168
+ return this.data && this.data.length !== 0 ? o`
169
+ <div ${c(this.containerRef)} class="relative">
170
+ <div class="relative" style="height: ${this.height}px; touch-action: pan-y;">
171
+ <canvas
172
+ ${c(this.canvasRef)}
173
+ class="w-full h-full"
174
+ style="display: block;"
175
+ @pointermove=${this.handlePointerMove}
176
+ @pointerleave=${this.handlePointerLeave}
177
+ ></canvas>
178
+
179
+ <!-- Tooltip -->
180
+ ${this.showTooltip ? o`
181
+ <div
182
+ class="absolute pointer-events-none transition-opacity duration-150 ${this.tooltipData.visible ? "opacity-100" : "opacity-0"}"
183
+ style="
184
+ left: ${this.tooltipData.x}px;
185
+ top: ${this.tooltipData.y - 60}px;
186
+ transform: translateX(-50%);
187
+ "
188
+ >
189
+ <schmancy-surface elevation="3" rounded="all" class="px-3 py-2 min-w-max">
190
+ <schmancy-typography type="label" token="sm" class="text-surface-onVariant">
191
+ ${this.tooltipData.label}
192
+ </schmancy-typography>
193
+ <schmancy-typography type="title" token="md" class="text-surface-on font-semibold">
194
+ ${this.formatValue(this.tooltipData.value)}
195
+ </schmancy-typography>
196
+ ${this.renderMetadata()}
197
+ </schmancy-surface>
198
+ </div>
199
+ ` : ""}
200
+ </div>
201
+ </div>
202
+ ` : o``;
203
+ }
8
204
  };
9
- //# sourceMappingURL=charts.js.map
205
+ e([r({ type: Array })], p.prototype, "data", void 0), e([r({ type: Number })], p.prototype, "height", void 0), e([r({ type: Boolean })], p.prototype, "showGrid", void 0), e([r({ type: Boolean })], p.prototype, "showLabels", void 0), e([r({ type: Boolean })], p.prototype, "showTooltip", void 0), e([r({ type: Number })], p.prototype, "peakCount", void 0), e([r({ type: Number })], p.prototype, "animationDuration", void 0), e([r({ type: Boolean })], p.prototype, "animated", void 0), e([r({ type: String })], p.prototype, "valuePrefix", void 0), e([r({ type: String })], p.prototype, "valueSuffix", void 0), e([r({ type: Number })], p.prototype, "valueDecimals", void 0), e([r({ type: Object })], p.prototype, "theme", void 0), e([i()], p.prototype, "tooltipData", void 0), e([i()], p.prototype, "animationProgress", void 0), e([i()], p.prototype, "isVisible", void 0), p = e([n("schmancy-area-chart")], p);
206
+ var m = [
207
+ "bg-primary",
208
+ "bg-secondary",
209
+ "bg-tertiary",
210
+ "bg-success",
211
+ "bg-warning",
212
+ "bg-error",
213
+ "bg-primary/70",
214
+ "bg-secondary/70",
215
+ "bg-tertiary/70",
216
+ "bg-success/70",
217
+ "bg-warning/70",
218
+ "bg-error/70",
219
+ "bg-primary/40",
220
+ "bg-secondary/40",
221
+ "bg-tertiary/40"
222
+ ], h = class extends t(a`
223
+ :host {
224
+ display: block;
225
+ }
226
+ `) {
227
+ constructor(...e) {
228
+ super(...e), this.data = [], this.valuePrefix = "", this.valueSuffix = "", this.valueDecimals = 2, this.showMedals = !0, this.showLegend = !0, this.animationDuration = 500, this.animated = !0, this.labelWidth = "w-14", this.valueWidth = "w-20", this.animationProgress = 0, this.isVisible = !1, this.categoryColorMap = /* @__PURE__ */ new Map(), this.observer = null, this.animationFrameId = null;
229
+ }
230
+ connectedCallback() {
231
+ super.connectedCallback(), this.setupIntersectionObserver();
232
+ }
233
+ disconnectedCallback() {
234
+ super.disconnectedCallback(), this.cleanup();
235
+ }
236
+ cleanup() {
237
+ this.animationFrameId !== null && (cancelAnimationFrame(this.animationFrameId), this.animationFrameId = null), this.observer &&= (this.observer.disconnect(), null);
238
+ }
239
+ setupIntersectionObserver() {
240
+ this.observer = new IntersectionObserver((e) => {
241
+ e[0].isIntersecting && !this.isVisible && (this.isVisible = !0, this.animated ? this.startAnimation() : this.animationProgress = 1);
242
+ }, { threshold: .1 });
243
+ }
244
+ firstUpdated() {
245
+ this.observer && this.observer.observe(this);
246
+ }
247
+ updated(e) {
248
+ super.updated(e), e.has("data") && this.isVisible && this.animated && (this.animationProgress = 0, this.startAnimation());
249
+ }
250
+ startAnimation() {
251
+ let e = performance.now(), t = this.animationDuration, n = (r) => {
252
+ let i = r - e, a = Math.min(i / t, 1);
253
+ this.animationProgress = 1 - (1 - a) ** 3, a < 1 && this.isVisible && (this.animationFrameId = requestAnimationFrame(n));
254
+ };
255
+ this.animationFrameId = requestAnimationFrame(n);
256
+ }
257
+ initializeCategoryColors() {
258
+ let e = /* @__PURE__ */ new Map(), t = /* @__PURE__ */ new Map();
259
+ this.data.forEach((n) => {
260
+ n.segments && n.segments.forEach((n) => {
261
+ e.set(n.label, (e.get(n.label) || 0) + n.value), n.color && !t.has(n.label) && t.set(n.label, n.color);
262
+ });
263
+ });
264
+ let n = Array.from(e.entries()).sort((e, t) => t[1] - e[1]).map(([e]) => e);
265
+ this.categoryColorMap.clear();
266
+ let r = 0;
267
+ n.forEach((e) => {
268
+ t.has(e) ? this.categoryColorMap.set(e, t.get(e)) : (this.categoryColorMap.set(e, m[r % m.length]), r++);
269
+ });
270
+ }
271
+ getSegmentColor(e) {
272
+ return e.color ? e.color : this.categoryColorMap.get(e.label) || "bg-primary";
273
+ }
274
+ formatValue(e) {
275
+ let t = e.toFixed(this.valueDecimals);
276
+ return `${this.valuePrefix}${t}${this.valueSuffix}`;
277
+ }
278
+ getMedalEmoji(e) {
279
+ return this.showMedals && e ? e === 1 ? "🥇" : e === 2 ? "🥈" : e === 3 ? "🥉" : "" : "";
280
+ }
281
+ getMaxValue() {
282
+ return this.data.length === 0 ? 0 : Math.max(...this.data.map((e) => e.value), 1);
283
+ }
284
+ renderBar(e, t) {
285
+ let n = (t > 0 ? e.value / t * 100 : 0) * this.animationProgress;
286
+ return e.segments && e.segments.length !== 0 ? o`
287
+ <div
288
+ class="h-full flex"
289
+ style="width: ${Math.max(n, 2)}%; transition-duration: ${this.animated ? "0ms" : "300ms"}"
290
+ >
291
+ ${l(e.segments, (e) => e.label, (t, n) => {
292
+ let r = e.value > 0 ? t.value / e.value * 100 : 0, i = n > 0 ? "ml-px" : "", a = e.isPeak ? "brightness-110" : "";
293
+ return o`
294
+ <div
295
+ class="${this.getSegmentColor(t)} ${i} ${a} h-full transition-all
296
+ ${n === 0 ? "rounded-l-full" : ""}
297
+ ${n === e.segments.length - 1 ? "rounded-r-full" : ""}"
298
+ style="width: ${r}%"
299
+ title="${t.label}: ${this.formatValue(t.value)}"
300
+ ></div>
301
+ `;
302
+ })}
303
+ </div>
304
+ ` : o`
305
+ <div
306
+ class="${e.isPeak ? "bg-success" : e.isLow ? "bg-tertiary opacity-70" : e.value === 0 ? "bg-tertiary/40" : "bg-primary"} h-full transition-all rounded-full"
307
+ style="width: ${Math.max(n, e.value > 0 ? 2 : 0)}%; transition-duration: ${this.animated ? "0ms" : "300ms"}"
308
+ title="${this.formatValue(e.value)}"
309
+ ></div>
310
+ `;
311
+ }
312
+ renderLegend() {
313
+ return this.showLegend && this.categoryColorMap.size !== 0 ? o`
314
+ <div class="flex flex-wrap gap-3 mt-4 pt-4 border-t border-outline-variant">
315
+ ${l(Array.from(this.categoryColorMap.entries()), ([e]) => e, ([e, t]) => o`
316
+ <div class="flex items-center gap-1.5">
317
+ <div class="${t} w-3 h-3 rounded-sm"></div>
318
+ <schmancy-typography type="label" token="sm" class="text-surface-onVariant">
319
+ ${e}
320
+ </schmancy-typography>
321
+ </div>
322
+ `)}
323
+ </div>
324
+ ` : o``;
325
+ }
326
+ render() {
327
+ if (this.initializeCategoryColors(), !this.data || this.data.length === 0) return o``;
328
+ let e = this.getMaxValue();
329
+ return o`
330
+ <div class="space-y-1">
331
+ ${l(this.data, (e) => e.label, (t) => {
332
+ let n = t.isPeak ? "bg-success/10 rounded-lg" : "", r = t.isPeak ? "text-success font-bold" : "text-surface-on";
333
+ return o`
334
+ <div class="flex items-center gap-3 py-2 px-2 ${n}">
335
+ <!-- Label -->
336
+ <div class="${this.labelWidth} shrink-0 text-right">
337
+ <schmancy-typography type="label" token="md" class="${r}">
338
+ ${t.label}
339
+ </schmancy-typography>
340
+ </div>
341
+
342
+ <!-- Medal -->
343
+ <div class="w-6 shrink-0 text-center">
344
+ ${t.isPeak || t.rank && t.rank <= 3 ? o`<span class="text-sm">${this.getMedalEmoji(t.rank)}</span>` : ""}
345
+ </div>
346
+
347
+ <!-- Bar -->
348
+ <div class="flex-1 h-6 bg-secondary/15 rounded-full overflow-hidden">
349
+ ${this.renderBar(t, e)}
350
+ </div>
351
+
352
+ <!-- Value -->
353
+ <div class="${this.valueWidth} shrink-0 text-right">
354
+ <schmancy-typography type="label" token="md" class="${r}">
355
+ ${this.formatValue(t.value)}
356
+ </schmancy-typography>
357
+ </div>
358
+ </div>
359
+ `;
360
+ })}
361
+ </div>
362
+
363
+ <!-- Legend -->
364
+ ${this.renderLegend()}
365
+ `;
366
+ }
367
+ };
368
+ e([r({ type: Array })], h.prototype, "data", void 0), e([r({ type: String })], h.prototype, "valuePrefix", void 0), e([r({ type: String })], h.prototype, "valueSuffix", void 0), e([r({ type: Number })], h.prototype, "valueDecimals", void 0), e([r({ type: Boolean })], h.prototype, "showMedals", void 0), e([r({ type: Boolean })], h.prototype, "showLegend", void 0), e([r({ type: Number })], h.prototype, "animationDuration", void 0), e([r({ type: Boolean })], h.prototype, "animated", void 0), e([r({ type: String })], h.prototype, "labelWidth", void 0), e([r({ type: String })], h.prototype, "valueWidth", void 0), e([i()], h.prototype, "animationProgress", void 0), e([i()], h.prototype, "isVisible", void 0), e([i()], h.prototype, "categoryColorMap", void 0), h = e([n("schmancy-pills")], h);
369
+ export { p as SchmancyAreaChart, h as SchmancyPills, u as catmullRomSpline, f as easeOutCubic, d as hexToRgba };