@mhmo91/schmancy 0.10.5 → 0.10.7

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 (445) hide show
  1. package/README.md +11 -0
  2. package/custom-elements.json +235 -1807
  3. package/dist/agent/{flow-CaPi2G8y.js.map → flow-CvG1fLW5.js.map} +1 -1
  4. package/dist/agent/schmancy.agent.js +5347 -12408
  5. package/dist/agent/schmancy.agent.js.map +1 -1
  6. package/dist/agent/schmancy.manifest.json +70 -1068
  7. package/dist/agent/{vendor-material-color-Be96dpGE.js.map → vendor-material-color-DcL7ZPxx.js.map} +1 -1
  8. package/dist/{area-CSQdhCBF.cjs → area-8IBAXzbC.cjs} +1 -1
  9. package/dist/{area-CSQdhCBF.cjs.map → area-8IBAXzbC.cjs.map} +1 -1
  10. package/dist/{area-D5haQE-J.js → area-DSW_LYXQ.js} +1 -1
  11. package/dist/{area-D5haQE-J.js.map → area-DSW_LYXQ.js.map} +1 -1
  12. package/dist/area.cjs +1 -1
  13. package/dist/area.js +1 -1
  14. package/dist/{autocomplete-B_bJXUjm.cjs → autocomplete-9PLjlFYt.cjs} +1 -1
  15. package/dist/{autocomplete-B_bJXUjm.cjs.map → autocomplete-9PLjlFYt.cjs.map} +1 -1
  16. package/dist/{autocomplete-DtyjZJ1E.js → autocomplete-CXwwmUbC.js} +2 -2
  17. package/dist/{autocomplete-DtyjZJ1E.js.map → autocomplete-CXwwmUbC.js.map} +1 -1
  18. package/dist/autocomplete.cjs +1 -1
  19. package/dist/autocomplete.js +1 -1
  20. package/dist/avatar.cjs +1 -1
  21. package/dist/avatar.js +2 -2
  22. package/dist/badge.cjs +1 -1
  23. package/dist/badge.js +1 -1
  24. package/dist/{boat-BJLCp-Hv.cjs → boat-CpGNeWav.cjs} +1 -1
  25. package/dist/{boat-BJLCp-Hv.cjs.map → boat-CpGNeWav.cjs.map} +1 -1
  26. package/dist/{boat-MT8bRT8u.js → boat-Dwn5oXd8.js} +1 -1
  27. package/dist/{boat-MT8bRT8u.js.map → boat-Dwn5oXd8.js.map} +1 -1
  28. package/dist/boat.cjs +1 -1
  29. package/dist/boat.js +1 -1
  30. package/dist/breadcrumb.cjs +1 -1
  31. package/dist/breadcrumb.js +1 -1
  32. package/dist/{busy-DSF2E-zy.cjs → busy-CUUgvimY.cjs} +1 -1
  33. package/dist/{busy-DSF2E-zy.cjs.map → busy-CUUgvimY.cjs.map} +1 -1
  34. package/dist/{busy-6BqWGryX.js → busy-Cjm1BYVC.js} +1 -1
  35. package/dist/{busy-6BqWGryX.js.map → busy-Cjm1BYVC.js.map} +1 -1
  36. package/dist/busy.cjs +1 -1
  37. package/dist/busy.js +1 -1
  38. package/dist/button.cjs +1 -1
  39. package/dist/button.js +1 -1
  40. package/dist/{card-CvuVha-W.js → card-BR22oYCL.js} +1 -1
  41. package/dist/{card-CvuVha-W.js.map → card-BR22oYCL.js.map} +1 -1
  42. package/dist/{card-DnKnaHzf.cjs → card-BjZ_WRr3.cjs} +1 -1
  43. package/dist/{card-DnKnaHzf.cjs.map → card-BjZ_WRr3.cjs.map} +1 -1
  44. package/dist/card.cjs +1 -1
  45. package/dist/card.js +1 -1
  46. package/dist/{checkbox-D3u8Wm9r.cjs → checkbox-2e8v7CNg.cjs} +1 -1
  47. package/dist/{checkbox-D3u8Wm9r.cjs.map → checkbox-2e8v7CNg.cjs.map} +1 -1
  48. package/dist/{checkbox-QDRsE8cp.js → checkbox-CsADwyfu.js} +1 -1
  49. package/dist/{checkbox-QDRsE8cp.js.map → checkbox-CsADwyfu.js.map} +1 -1
  50. package/dist/checkbox.cjs +1 -1
  51. package/dist/checkbox.js +1 -1
  52. package/dist/{chips-Dy9vx8JS.js → chips-C9HwVbGT.js} +2 -2
  53. package/dist/{chips-Dy9vx8JS.js.map → chips-C9HwVbGT.js.map} +1 -1
  54. package/dist/{chips-CMoQzop1.cjs → chips-DPCcO55o.cjs} +1 -1
  55. package/dist/{chips-CMoQzop1.cjs.map → chips-DPCcO55o.cjs.map} +1 -1
  56. package/dist/chips.cjs +1 -1
  57. package/dist/chips.js +2 -2
  58. package/dist/connectivity.cjs +1 -1
  59. package/dist/connectivity.js +1 -1
  60. package/dist/content-drawer.cjs +1 -1
  61. package/dist/content-drawer.js +1 -1
  62. package/dist/{date-range-B2NuihKA.cjs → date-range-63-FC7gD.cjs} +1 -1
  63. package/dist/{date-range-B2NuihKA.cjs.map → date-range-63-FC7gD.cjs.map} +1 -1
  64. package/dist/{date-range-Boesjlic.js → date-range-CFaP-8Os.js} +2 -2
  65. package/dist/{date-range-Boesjlic.js.map → date-range-CFaP-8Os.js.map} +1 -1
  66. package/dist/{date-range-inline-DBuND2pc.js → date-range-inline-BCuK_XCv.js} +1 -1
  67. package/dist/{date-range-inline-DBuND2pc.js.map → date-range-inline-BCuK_XCv.js.map} +1 -1
  68. package/dist/{date-range-inline-BI6_4Ahl.cjs → date-range-inline-Cpdqd-8B.cjs} +1 -1
  69. package/dist/{date-range-inline-BI6_4Ahl.cjs.map → date-range-inline-Cpdqd-8B.cjs.map} +1 -1
  70. package/dist/date-range-inline.cjs +1 -1
  71. package/dist/date-range-inline.js +1 -1
  72. package/dist/date-range.cjs +1 -1
  73. package/dist/date-range.js +1 -1
  74. package/dist/delay.cjs +1 -1
  75. package/dist/delay.js +2 -2
  76. package/dist/{details-BrGrUTGC.js → details-0dOlqHHL.js} +1 -1
  77. package/dist/{details-BrGrUTGC.js.map → details-0dOlqHHL.js.map} +1 -1
  78. package/dist/{details-BRs_z5-k.cjs → details-qKikJIyH.cjs} +1 -1
  79. package/dist/{details-BRs_z5-k.cjs.map → details-qKikJIyH.cjs.map} +1 -1
  80. package/dist/details.cjs +1 -1
  81. package/dist/details.js +1 -1
  82. package/dist/{divider-W3TiDasp.js → divider-BxkIl0H1.js} +1 -1
  83. package/dist/{divider-W3TiDasp.js.map → divider-BxkIl0H1.js.map} +1 -1
  84. package/dist/{divider-BOxQ2T9h.cjs → divider-CX9mmWZ8.cjs} +1 -1
  85. package/dist/{divider-BOxQ2T9h.cjs.map → divider-CX9mmWZ8.cjs.map} +1 -1
  86. package/dist/divider.cjs +1 -1
  87. package/dist/divider.js +1 -1
  88. package/dist/dropdown.cjs +1 -1
  89. package/dist/dropdown.js +1 -1
  90. package/dist/{expand-CnccBF91.cjs → expand-891JuQuN.cjs} +1 -1
  91. package/dist/{expand-CnccBF91.cjs.map → expand-891JuQuN.cjs.map} +1 -1
  92. package/dist/{expand-Pu8fZ0jZ.js → expand-BeAx94MP.js} +2 -2
  93. package/dist/{expand-Pu8fZ0jZ.js.map → expand-BeAx94MP.js.map} +1 -1
  94. package/dist/expand.cjs +1 -1
  95. package/dist/expand.js +1 -1
  96. package/dist/{float-WCVdp3um.js → float-BPF2WO4L.js} +1 -1
  97. package/dist/{float-WCVdp3um.js.map → float-BPF2WO4L.js.map} +1 -1
  98. package/dist/{float-BRKa-P6Z.cjs → float-D7vvODxx.cjs} +1 -1
  99. package/dist/{float-BRKa-P6Z.cjs.map → float-D7vvODxx.cjs.map} +1 -1
  100. package/dist/float.cjs +1 -1
  101. package/dist/float.js +1 -1
  102. package/dist/{form-CI59gad4.js.map → form-CFvwnfuJ.js.map} +1 -1
  103. package/dist/{form-B2qudx_q.cjs.map → form-Ceijw1aA.cjs.map} +1 -1
  104. package/dist/form.cjs +1 -1
  105. package/dist/form.js +1 -1
  106. package/dist/handover/agent-runtime-followups.md +1 -1
  107. package/dist/handover/agent-runtime-v1.md +3 -3
  108. package/dist/{hashContent-a8uVr3xs.js.map → hashContent-BU6jl5ih.js.map} +1 -1
  109. package/dist/{hashContent-ejkBgDnN.cjs.map → hashContent-Bobsobip.cjs.map} +1 -1
  110. package/dist/{icons-C0ufCcdp.js → icons-BKxW_7QR.js} +1 -1
  111. package/dist/{icons-C0ufCcdp.js.map → icons-BKxW_7QR.js.map} +1 -1
  112. package/dist/{icons-DXEbmg-O.cjs → icons-QSdo-8h9.cjs} +1 -1
  113. package/dist/{icons-DXEbmg-O.cjs.map → icons-QSdo-8h9.cjs.map} +1 -1
  114. package/dist/icons.cjs +1 -1
  115. package/dist/icons.js +1 -1
  116. package/dist/{iframe-c9lGxw7x.js → iframe-BxvbhyTS.js} +1 -1
  117. package/dist/{iframe-c9lGxw7x.js.map → iframe-BxvbhyTS.js.map} +1 -1
  118. package/dist/{iframe-C6RVODkW.cjs → iframe-CMKV-bm8.cjs} +1 -1
  119. package/dist/{iframe-C6RVODkW.cjs.map → iframe-CMKV-bm8.cjs.map} +1 -1
  120. package/dist/iframe.cjs +1 -1
  121. package/dist/iframe.js +1 -1
  122. package/dist/index.cjs +1 -1
  123. package/dist/index.js +64 -72
  124. package/dist/{input-B4HM-9-H.cjs → input-BFhJU74_.cjs} +1 -1
  125. package/dist/{input-B4HM-9-H.cjs.map → input-BFhJU74_.cjs.map} +1 -1
  126. package/dist/{input-Pmj_bH37.js → input-DIqaR8Mr.js} +1 -1
  127. package/dist/{input-Pmj_bH37.js.map → input-DIqaR8Mr.js.map} +1 -1
  128. package/dist/{input-chip-BIGgd_7w.js → input-chip-D9tlSk_2.js} +1 -1
  129. package/dist/{input-chip-BIGgd_7w.js.map → input-chip-D9tlSk_2.js.map} +1 -1
  130. package/dist/{input-chip-BoDisY6c.cjs → input-chip-w09qTt7J.cjs} +1 -1
  131. package/dist/{input-chip-BoDisY6c.cjs.map → input-chip-w09qTt7J.cjs.map} +1 -1
  132. package/dist/input.cjs +1 -1
  133. package/dist/input.js +1 -1
  134. package/dist/json.cjs +1 -1
  135. package/dist/json.js +2 -2
  136. package/dist/kbd.cjs +1 -1
  137. package/dist/kbd.js +1 -1
  138. package/dist/layout.cjs +1 -1
  139. package/dist/layout.js +1 -1
  140. package/dist/{lightbox-DK1vDKm3.cjs → lightbox-CK035jsx.cjs} +1 -1
  141. package/dist/{lightbox-DK1vDKm3.cjs.map → lightbox-CK035jsx.cjs.map} +1 -1
  142. package/dist/{lightbox-K1eJTYXP.js → lightbox-GChmL3Ff.js} +2 -2
  143. package/dist/{lightbox-K1eJTYXP.js.map → lightbox-GChmL3Ff.js.map} +1 -1
  144. package/dist/lightbox.cjs +1 -1
  145. package/dist/lightbox.js +1 -1
  146. package/dist/{list-CEuVqAxN.cjs → list-B3P37zlH.cjs} +1 -1
  147. package/dist/{list-CEuVqAxN.cjs.map → list-B3P37zlH.cjs.map} +1 -1
  148. package/dist/{list-Ds0Nv1y5.js → list-J-Fz24Z1.js} +1 -1
  149. package/dist/{list-Ds0Nv1y5.js.map → list-J-Fz24Z1.js.map} +1 -1
  150. package/dist/list.cjs +1 -1
  151. package/dist/list.js +1 -1
  152. package/dist/{menu-Bly30Nje.cjs → menu-BnFd8CwU.cjs} +1 -1
  153. package/dist/{menu-Bly30Nje.cjs.map → menu-BnFd8CwU.cjs.map} +1 -1
  154. package/dist/{menu-L8MK1ma5.js → menu-DHTlUwXS.js} +2 -2
  155. package/dist/{menu-L8MK1ma5.js.map → menu-DHTlUwXS.js.map} +1 -1
  156. package/dist/menu.cjs +1 -1
  157. package/dist/menu.js +1 -1
  158. package/dist/mixins-47_CZk7q.cjs +298 -0
  159. package/dist/{mixins-CAb0b03r.cjs.map → mixins-47_CZk7q.cjs.map} +1 -1
  160. package/dist/mixins-PBJJGiiP.js +627 -0
  161. package/dist/{mixins-B34UxxCe.js.map → mixins-PBJJGiiP.js.map} +1 -1
  162. package/dist/mixins.cjs +1 -1
  163. package/dist/mixins.js +1 -1
  164. package/dist/nav-drawer.cjs +1 -1
  165. package/dist/nav-drawer.js +1 -1
  166. package/dist/navigation-bar.cjs +1 -1
  167. package/dist/navigation-bar.js +1 -1
  168. package/dist/navigation-rail.cjs +1 -1
  169. package/dist/navigation-rail.js +1 -1
  170. package/dist/{notification-7fSbk8hm.cjs → notification-B6YBL0hx.cjs} +1 -1
  171. package/dist/{notification-7fSbk8hm.cjs.map → notification-B6YBL0hx.cjs.map} +1 -1
  172. package/dist/{notification-DB25M-qo.js → notification-C-5Bv3vj.js} +2 -2
  173. package/dist/{notification-DB25M-qo.js.map → notification-C-5Bv3vj.js.map} +1 -1
  174. package/dist/notification.cjs +1 -1
  175. package/dist/notification.js +1 -1
  176. package/dist/{option-DDHa25k5.js → option-B7q6VXCu.js} +1 -1
  177. package/dist/{option-DDHa25k5.js.map → option-B7q6VXCu.js.map} +1 -1
  178. package/dist/{option-HF9Xqbuq.cjs → option-DVQRa3nr.cjs} +1 -1
  179. package/dist/{option-HF9Xqbuq.cjs.map → option-DVQRa3nr.cjs.map} +1 -1
  180. package/dist/option.cjs +1 -1
  181. package/dist/option.js +1 -1
  182. package/dist/{overlay-stack-CCiTaf_C.js.map → overlay-stack-DCDS17uj.js.map} +1 -1
  183. package/dist/{overlay-stack-CFGiYf34.cjs.map → overlay-stack-DPIe_aYv.cjs.map} +1 -1
  184. package/dist/overlay.cjs +1 -1
  185. package/dist/{overlay.confirm-body-BDG94R0x.js → overlay.confirm-body-CAY5xK1n.js} +1 -1
  186. package/dist/{overlay.confirm-body-BDG94R0x.js.map → overlay.confirm-body-CAY5xK1n.js.map} +1 -1
  187. package/dist/{overlay.confirm-body-b4Nx_OVf.cjs → overlay.confirm-body-XZtErofy.cjs} +1 -1
  188. package/dist/{overlay.confirm-body-b4Nx_OVf.cjs.map → overlay.confirm-body-XZtErofy.cjs.map} +1 -1
  189. package/dist/overlay.js +3 -3
  190. package/dist/{overlay.service-BUCuZa6V.js → overlay.service-BZE_lwKO.js} +2 -2
  191. package/dist/{overlay.service-BUCuZa6V.js.map → overlay.service-BZE_lwKO.js.map} +1 -1
  192. package/dist/{overlay.service-CRHZZY9F.cjs → overlay.service-Oyjrw831.cjs} +1 -1
  193. package/dist/{overlay.service-CRHZZY9F.cjs.map → overlay.service-Oyjrw831.cjs.map} +1 -1
  194. package/dist/page.cjs +1 -1
  195. package/dist/page.js +2 -2
  196. package/dist/{progress-CqOyMM4i.js → progress-BHXLYs9i.js} +1 -1
  197. package/dist/{progress-CqOyMM4i.js.map → progress-BHXLYs9i.js.map} +1 -1
  198. package/dist/{progress-54R4QRgW.cjs → progress-D99bumkC.cjs} +1 -1
  199. package/dist/{progress-54R4QRgW.cjs.map → progress-D99bumkC.cjs.map} +1 -1
  200. package/dist/progress.cjs +1 -1
  201. package/dist/progress.js +1 -1
  202. package/dist/{radio-group-B4zbBIZF.js → radio-group-BYra5_q1.js} +1 -1
  203. package/dist/{radio-group-B4zbBIZF.js.map → radio-group-BYra5_q1.js.map} +1 -1
  204. package/dist/{radio-group-BJqZpYVy.cjs → radio-group-DYsycLmD.cjs} +1 -1
  205. package/dist/{radio-group-BJqZpYVy.cjs.map → radio-group-DYsycLmD.cjs.map} +1 -1
  206. package/dist/radio-group.cjs +1 -1
  207. package/dist/radio-group.js +1 -1
  208. package/dist/range.cjs +1 -1
  209. package/dist/range.js +1 -1
  210. package/dist/{rxjs-utils-BXpvHN4-.js.map → rxjs-utils-CVeJQ9KG.js.map} +1 -1
  211. package/dist/{rxjs-utils-CaC-tdot.cjs.map → rxjs-utils-DCUHg_Ml.cjs.map} +1 -1
  212. package/dist/rxjs-utils.cjs +1 -1
  213. package/dist/rxjs-utils.js +1 -1
  214. package/dist/{scroll-CYm6Krus.js → scroll-TqNWZ0lo.js} +1 -1
  215. package/dist/{scroll-CYm6Krus.js.map → scroll-TqNWZ0lo.js.map} +1 -1
  216. package/dist/{scroll-iSRovYYt.cjs → scroll-cayCBOrq.cjs} +1 -1
  217. package/dist/{scroll-iSRovYYt.cjs.map → scroll-cayCBOrq.cjs.map} +1 -1
  218. package/dist/{select-DiQHtQJN.cjs → select-CRdSmlLq.cjs} +1 -1
  219. package/dist/{select-DiQHtQJN.cjs.map → select-CRdSmlLq.cjs.map} +1 -1
  220. package/dist/{select-1WHseXP6.js → select-nzq0qFlF.js} +2 -2
  221. package/dist/{select-1WHseXP6.js.map → select-nzq0qFlF.js.map} +1 -1
  222. package/dist/select.cjs +1 -1
  223. package/dist/select.js +1 -1
  224. package/dist/skeleton.cjs +1 -1
  225. package/dist/skeleton.js +1 -1
  226. package/dist/skills/INDEX.md +9 -6
  227. package/dist/skills/schmancy/INDEX.md +9 -6
  228. package/dist/slider.cjs +1 -1
  229. package/dist/slider.js +1 -1
  230. package/dist/{splash-screen-BwvtKMdN.js → splash-screen-BJeIiJ_e.js} +1 -1
  231. package/dist/{splash-screen-BwvtKMdN.js.map → splash-screen-BJeIiJ_e.js.map} +1 -1
  232. package/dist/{splash-screen-CJL8DGDe.cjs → splash-screen-BMLQXzDq.cjs} +1 -1
  233. package/dist/{splash-screen-CJL8DGDe.cjs.map → splash-screen-BMLQXzDq.cjs.map} +1 -1
  234. package/dist/splash-screen.cjs +1 -1
  235. package/dist/splash-screen.js +1 -1
  236. package/dist/{src-Bwr2NR0A.cjs → src-DE11tq2Q.cjs} +1 -1
  237. package/dist/{src-Bwr2NR0A.cjs.map → src-DE11tq2Q.cjs.map} +1 -1
  238. package/dist/{src-UaZeROcW.js → src-qvWlNoMO.js} +34 -42
  239. package/dist/{src-UaZeROcW.js.map → src-qvWlNoMO.js.map} +1 -1
  240. package/dist/steps.cjs +1 -1
  241. package/dist/steps.js +1 -1
  242. package/dist/{surface-DE5iuI8e.cjs → surface-D426MFLR.cjs} +1 -1
  243. package/dist/{surface-DE5iuI8e.cjs.map → surface-D426MFLR.cjs.map} +1 -1
  244. package/dist/{surface-DPUkQ3OL.js → surface-DG7Cmm9V.js} +1 -1
  245. package/dist/{surface-DPUkQ3OL.js.map → surface-DG7Cmm9V.js.map} +1 -1
  246. package/dist/surface.cjs +1 -1
  247. package/dist/surface.js +1 -1
  248. package/dist/switch.cjs +1 -1
  249. package/dist/switch.js +1 -1
  250. package/dist/table.cjs +1 -1
  251. package/dist/table.js +1 -1
  252. package/dist/{tabs-B2XEQPQl.js → tabs-B7siJkM5.js} +1 -1
  253. package/dist/{tabs-B2XEQPQl.js.map → tabs-B7siJkM5.js.map} +1 -1
  254. package/dist/{tabs-CsDQ72Qk.cjs → tabs-t3nMfg1F.cjs} +1 -1
  255. package/dist/{tabs-CsDQ72Qk.cjs.map → tabs-t3nMfg1F.cjs.map} +1 -1
  256. package/dist/tabs.cjs +1 -1
  257. package/dist/tabs.js +1 -1
  258. package/dist/teleport.cjs +1 -1
  259. package/dist/teleport.js +1 -1
  260. package/dist/{textarea-C_ps0lL-.js → textarea-DSxHCCle.js} +1 -1
  261. package/dist/{textarea-C_ps0lL-.js.map → textarea-DSxHCCle.js.map} +1 -1
  262. package/dist/{textarea-aeAP9cDG.cjs → textarea-o9vysorM.cjs} +1 -1
  263. package/dist/{textarea-aeAP9cDG.cjs.map → textarea-o9vysorM.cjs.map} +1 -1
  264. package/dist/textarea.cjs +1 -1
  265. package/dist/textarea.js +1 -1
  266. package/dist/{theme-DAYTVw13.cjs → theme-Ce9eIP05.cjs} +1 -1
  267. package/dist/{theme-DAYTVw13.cjs.map → theme-Ce9eIP05.cjs.map} +1 -1
  268. package/dist/{theme-DAx1iRNr.js → theme-XO3nHDbW.js} +2 -2
  269. package/dist/{theme-DAx1iRNr.js.map → theme-XO3nHDbW.js.map} +1 -1
  270. package/dist/{theme-button-BrHkzCtj.js → theme-button-DNutDO1j.js} +1 -1
  271. package/dist/{theme-button-BrHkzCtj.js.map → theme-button-DNutDO1j.js.map} +1 -1
  272. package/dist/{theme-button-LsMKY_N_.cjs → theme-button-H7PRz_bg.cjs} +1 -1
  273. package/dist/{theme-button-LsMKY_N_.cjs.map → theme-button-H7PRz_bg.cjs.map} +1 -1
  274. package/dist/theme-button.cjs +1 -1
  275. package/dist/theme-button.js +1 -1
  276. package/dist/theme.cjs +1 -1
  277. package/dist/{theme.interface-C_034TxG.js.map → theme.interface-B9TjbSBF.js.map} +1 -1
  278. package/dist/{theme.interface-DESopuZS.cjs.map → theme.interface-BujperTo.cjs.map} +1 -1
  279. package/dist/theme.js +3 -3
  280. package/dist/tree.cjs +1 -1
  281. package/dist/tree.js +1 -1
  282. package/dist/typography.cjs +1 -1
  283. package/dist/typography.js +1 -1
  284. package/dist/{utils-oLBkMvor.cjs → utils-Dt5PpmaQ.cjs} +1 -1
  285. package/dist/{utils-oLBkMvor.cjs.map → utils-Dt5PpmaQ.cjs.map} +1 -1
  286. package/dist/{utils-BzFQfaIr.js → utils-kND2Z9Xg.js} +1 -1
  287. package/dist/{utils-BzFQfaIr.js.map → utils-kND2Z9Xg.js.map} +1 -1
  288. package/dist/utils.cjs +1 -1
  289. package/dist/utils.js +2 -2
  290. package/dist/visually-hidden.cjs +1 -1
  291. package/dist/visually-hidden.js +1 -1
  292. package/dist/{window-BJrKS6Zr.cjs → window-BaoSwgGE.cjs} +1 -1
  293. package/dist/{window-BJrKS6Zr.cjs.map → window-BaoSwgGE.cjs.map} +1 -1
  294. package/dist/{window-CyDuTN80.js → window-KnLWhQ3S.js} +2 -2
  295. package/dist/{window-CyDuTN80.js.map → window-KnLWhQ3S.js.map} +1 -1
  296. package/dist/window.cjs +1 -1
  297. package/dist/window.js +1 -1
  298. package/package.json +4 -5
  299. package/skills/schmancy/INDEX.md +9 -6
  300. package/src/index.ts +0 -8
  301. package/types/src/index.d.ts +0 -8
  302. package/dist/agent/vendor-highlight-CHJZQQB7.js +0 -2178
  303. package/dist/agent/vendor-highlight-CHJZQQB7.js.map +0 -1
  304. package/dist/agent/vendor-jsqr-r7GNh4P3.js +0 -10212
  305. package/dist/agent/vendor-jsqr-r7GNh4P3.js.map +0 -1
  306. package/dist/charts.cjs +0 -112
  307. package/dist/charts.cjs.map +0 -1
  308. package/dist/charts.js +0 -374
  309. package/dist/charts.js.map +0 -1
  310. package/dist/code-highlight-Ddp0oZnm.cjs +0 -190
  311. package/dist/code-highlight-Ddp0oZnm.cjs.map +0 -1
  312. package/dist/code-highlight-DtE2-ObF.js +0 -296
  313. package/dist/code-highlight-DtE2-ObF.js.map +0 -1
  314. package/dist/code-highlight.cjs +0 -1
  315. package/dist/code-highlight.js +0 -2
  316. package/dist/extra-B8IPs6gG.cjs +0 -31
  317. package/dist/extra-B8IPs6gG.cjs.map +0 -1
  318. package/dist/extra-DxEWs41z.js +0 -3440
  319. package/dist/extra-DxEWs41z.js.map +0 -1
  320. package/dist/extra.cjs +0 -1
  321. package/dist/extra.js +0 -2
  322. package/dist/mailbox-CDWqbVvZ.cjs +0 -1140
  323. package/dist/mailbox-CDWqbVvZ.cjs.map +0 -1
  324. package/dist/mailbox-DD2How0H.js +0 -1607
  325. package/dist/mailbox-DD2How0H.js.map +0 -1
  326. package/dist/mailbox.cjs +0 -1
  327. package/dist/mailbox.js +0 -2
  328. package/dist/map-1uwxxvBa.js +0 -208
  329. package/dist/map-1uwxxvBa.js.map +0 -1
  330. package/dist/map-BrBSrIqg.cjs +0 -80
  331. package/dist/map-BrBSrIqg.cjs.map +0 -1
  332. package/dist/map.cjs +0 -1
  333. package/dist/map.js +0 -2
  334. package/dist/mixins-B34UxxCe.js +0 -627
  335. package/dist/mixins-CAb0b03r.cjs +0 -298
  336. package/dist/payment-card-form-C4jb-OdM.js +0 -729
  337. package/dist/payment-card-form-C4jb-OdM.js.map +0 -1
  338. package/dist/payment-card-form-WEx4CscR.cjs +0 -73
  339. package/dist/payment-card-form-WEx4CscR.cjs.map +0 -1
  340. package/dist/payment-card-form.cjs +0 -1
  341. package/dist/payment-card-form.js +0 -2
  342. package/dist/qr-scanner.cjs +0 -35
  343. package/dist/qr-scanner.cjs.map +0 -1
  344. package/dist/qr-scanner.js +0 -123
  345. package/dist/qr-scanner.js.map +0 -1
  346. package/dist/skills/charts.md +0 -93
  347. package/dist/skills/code-highlight.md +0 -47
  348. package/dist/skills/extra.md +0 -59
  349. package/dist/skills/mailbox.md +0 -102
  350. package/dist/skills/map.md +0 -55
  351. package/dist/skills/qr-scanner.md +0 -51
  352. package/dist/skills/schmancy/charts.md +0 -93
  353. package/dist/skills/schmancy/code-highlight.md +0 -47
  354. package/dist/skills/schmancy/extra.md +0 -59
  355. package/dist/skills/schmancy/mailbox.md +0 -102
  356. package/dist/skills/schmancy/map.md +0 -55
  357. package/dist/skills/schmancy/qr-scanner.md +0 -51
  358. package/dist/skills/schmancy/timeline-tile.md +0 -95
  359. package/dist/skills/timeline-tile.md +0 -95
  360. package/dist/timeline.cjs +0 -277
  361. package/dist/timeline.cjs.map +0 -1
  362. package/dist/timeline.js +0 -326
  363. package/dist/timeline.js.map +0 -1
  364. package/skills/schmancy/charts.md +0 -93
  365. package/skills/schmancy/code-highlight.md +0 -47
  366. package/skills/schmancy/extra.md +0 -59
  367. package/skills/schmancy/mailbox.md +0 -102
  368. package/skills/schmancy/map.md +0 -55
  369. package/skills/schmancy/qr-scanner.md +0 -51
  370. package/skills/schmancy/timeline-tile.md +0 -95
  371. package/src/charts/area-chart.ts +0 -498
  372. package/src/charts/index.ts +0 -4
  373. package/src/charts/pills.ts +0 -352
  374. package/src/charts/types.ts +0 -66
  375. package/src/charts/utils.ts +0 -65
  376. package/src/code-highlight/code-highlight.ts +0 -345
  377. package/src/code-highlight/code-preview.ts +0 -125
  378. package/src/code-highlight/index.ts +0 -3
  379. package/src/extra/countries/countries.data.ts +0 -196
  380. package/src/extra/countries/countries.ts +0 -109
  381. package/src/extra/countries/index.ts +0 -2
  382. package/src/extra/index.ts +0 -2
  383. package/src/extra/timezone/index.ts +0 -2
  384. package/src/extra/timezone/timezone.ts +0 -118
  385. package/src/extra/timezone/timezones.data.ts +0 -2546
  386. package/src/mailbox/README.md +0 -128
  387. package/src/mailbox/email-editor.ts +0 -1076
  388. package/src/mailbox/email-layout-selector.ts +0 -58
  389. package/src/mailbox/email-recipients.ts +0 -599
  390. package/src/mailbox/email-template-picker.ts +0 -303
  391. package/src/mailbox/email-viewer.ts +0 -717
  392. package/src/mailbox/index.ts +0 -31
  393. package/src/mailbox/mailbox.ts +0 -364
  394. package/src/mailbox/types.ts +0 -180
  395. package/src/map/index.ts +0 -1
  396. package/src/map/map.ts +0 -485
  397. package/src/payment-card-form/index.ts +0 -1
  398. package/src/payment-card-form/payment-card-form.ts +0 -331
  399. package/src/qr-scanner/index.ts +0 -1
  400. package/src/qr-scanner/qr-scanner.ts +0 -242
  401. package/src/timeline/index.ts +0 -1
  402. package/src/timeline/timeline-tile.ts +0 -431
  403. package/types/src/charts/area-chart.d.ts +0 -58
  404. package/types/src/charts/index.d.ts +0 -4
  405. package/types/src/charts/pills.d.ts +0 -51
  406. package/types/src/charts/types.d.ts +0 -62
  407. package/types/src/charts/utils.d.ts +0 -28
  408. package/types/src/code-highlight/code-highlight.d.ts +0 -49
  409. package/types/src/code-highlight/code-preview.d.ts +0 -30
  410. package/types/src/code-highlight/index.d.ts +0 -3
  411. package/types/src/extra/countries/countries.d.ts +0 -26
  412. package/types/src/extra/countries/countries.data.d.ts +0 -5
  413. package/types/src/extra/countries/index.d.ts +0 -2
  414. package/types/src/extra/index.d.ts +0 -2
  415. package/types/src/extra/timezone/index.d.ts +0 -2
  416. package/types/src/extra/timezone/timezone.d.ts +0 -34
  417. package/types/src/extra/timezone/timezones.data.d.ts +0 -7
  418. package/types/src/mailbox/email-editor.d.ts +0 -101
  419. package/types/src/mailbox/email-layout-selector.d.ts +0 -18
  420. package/types/src/mailbox/email-recipients.d.ts +0 -122
  421. package/types/src/mailbox/email-template-picker.d.ts +0 -54
  422. package/types/src/mailbox/email-viewer.d.ts +0 -86
  423. package/types/src/mailbox/index.d.ts +0 -12
  424. package/types/src/mailbox/mailbox.d.ts +0 -82
  425. package/types/src/mailbox/types.d.ts +0 -176
  426. package/types/src/map/index.d.ts +0 -1
  427. package/types/src/map/map.d.ts +0 -130
  428. package/types/src/payment-card-form/index.d.ts +0 -1
  429. package/types/src/payment-card-form/payment-card-form.d.ts +0 -85
  430. package/types/src/qr-scanner/index.d.ts +0 -1
  431. package/types/src/qr-scanner/qr-scanner.d.ts +0 -26
  432. package/types/src/timeline/index.d.ts +0 -1
  433. package/types/src/timeline/timeline-tile.d.ts +0 -44
  434. /package/dist/agent/{flow-CaPi2G8y.js → flow-CvG1fLW5.js} +0 -0
  435. /package/dist/agent/{vendor-material-color-Be96dpGE.js → vendor-material-color-DcL7ZPxx.js} +0 -0
  436. /package/dist/{form-CI59gad4.js → form-CFvwnfuJ.js} +0 -0
  437. /package/dist/{form-B2qudx_q.cjs → form-Ceijw1aA.cjs} +0 -0
  438. /package/dist/{hashContent-a8uVr3xs.js → hashContent-BU6jl5ih.js} +0 -0
  439. /package/dist/{hashContent-ejkBgDnN.cjs → hashContent-Bobsobip.cjs} +0 -0
  440. /package/dist/{overlay-stack-CCiTaf_C.js → overlay-stack-DCDS17uj.js} +0 -0
  441. /package/dist/{overlay-stack-CFGiYf34.cjs → overlay-stack-DPIe_aYv.cjs} +0 -0
  442. /package/dist/{rxjs-utils-BXpvHN4-.js → rxjs-utils-CVeJQ9KG.js} +0 -0
  443. /package/dist/{rxjs-utils-CaC-tdot.cjs → rxjs-utils-DCUHg_Ml.cjs} +0 -0
  444. /package/dist/{theme.interface-C_034TxG.js → theme.interface-B9TjbSBF.js} +0 -0
  445. /package/dist/{theme.interface-DESopuZS.cjs → theme.interface-BujperTo.cjs} +0 -0
@@ -1,352 +0,0 @@
1
- import { html, css, PropertyValues } from 'lit'
2
- import { customElement, property, state } from 'lit/decorators.js'
3
- import { repeat } from 'lit/directives/repeat.js'
4
- import { SchmancyElement } from '@mixins/index'
5
- import type { PillDataPoint, PillSegment } from './types'
6
-
7
- /** Default color palette for segments - expanded for uniqueness */
8
- const DEFAULT_COLORS = [
9
- 'bg-primary',
10
- 'bg-secondary',
11
- 'bg-tertiary',
12
- 'bg-success',
13
- 'bg-warning',
14
- 'bg-error',
15
- 'bg-primary/70',
16
- 'bg-secondary/70',
17
- 'bg-tertiary/70',
18
- 'bg-success/70',
19
- 'bg-warning/70',
20
- 'bg-error/70',
21
- 'bg-primary/40',
22
- 'bg-secondary/40',
23
- 'bg-tertiary/40',
24
- ]
25
-
26
- @customElement('schmancy-pills')
27
- export class SchmancyPills extends SchmancyElement {
28
- static styles = [css`
29
- :host {
30
- display: block;
31
- }
32
- `]
33
-
34
- /** Chart data points */
35
- @property({ type: Array })
36
- data: PillDataPoint[] = []
37
-
38
- /** Prefix for values (e.g., "EUR ") */
39
- @property({ type: String })
40
- valuePrefix = ''
41
-
42
- /** Suffix for values (e.g., "%") */
43
- @property({ type: String })
44
- valueSuffix = ''
45
-
46
- /** Decimal places for value display */
47
- @property({ type: Number })
48
- valueDecimals = 2
49
-
50
- /** Show medals for top 3 */
51
- @property({ type: Boolean })
52
- showMedals = true
53
-
54
- /** Show legend for segments */
55
- @property({ type: Boolean })
56
- showLegend = true
57
-
58
- /** Animation duration in milliseconds */
59
- @property({ type: Number })
60
- animationDuration = 500
61
-
62
- /** Enable entrance animation */
63
- @property({ type: Boolean })
64
- animated = true
65
-
66
- /** Label column width (Tailwind class) */
67
- @property({ type: String })
68
- labelWidth = 'w-14'
69
-
70
- /** Value column width (Tailwind class) */
71
- @property({ type: String })
72
- valueWidth = 'w-20'
73
-
74
- @state() private animationProgress = 0
75
- @state() private isVisible = false
76
- @state() private categoryColorMap = new Map<string, string>()
77
-
78
- private observer: IntersectionObserver | null = null
79
- private animationFrameId: number | null = null
80
-
81
- connectedCallback() {
82
- super.connectedCallback()
83
- this.setupIntersectionObserver()
84
- }
85
-
86
- disconnectedCallback() {
87
- super.disconnectedCallback()
88
- this.cleanup()
89
- }
90
-
91
- private cleanup() {
92
- if (this.animationFrameId !== null) {
93
- cancelAnimationFrame(this.animationFrameId)
94
- this.animationFrameId = null
95
- }
96
- if (this.observer) {
97
- this.observer.disconnect()
98
- this.observer = null
99
- }
100
- }
101
-
102
- private setupIntersectionObserver() {
103
- this.observer = new IntersectionObserver(
104
- entries => {
105
- const entry = entries[0]
106
- if (entry.isIntersecting && !this.isVisible) {
107
- this.isVisible = true
108
- if (this.animated) {
109
- this.startAnimation()
110
- } else {
111
- this.animationProgress = 1
112
- }
113
- }
114
- },
115
- { threshold: 0.1 }
116
- )
117
- }
118
-
119
- protected firstUpdated() {
120
- if (this.observer) {
121
- this.observer.observe(this)
122
- }
123
- }
124
-
125
- protected updated(changedProperties: PropertyValues) {
126
- super.updated(changedProperties)
127
-
128
- // Restart animation when data changes
129
- if (changedProperties.has('data') && this.isVisible && this.animated) {
130
- this.animationProgress = 0
131
- this.startAnimation()
132
- }
133
- }
134
-
135
- private startAnimation() {
136
- const startTime = performance.now()
137
- const duration = this.animationDuration
138
-
139
- const animateFrame = (currentTime: number) => {
140
- const elapsed = currentTime - startTime
141
- const progress = Math.min(elapsed / duration, 1)
142
-
143
- // Ease out cubic
144
- this.animationProgress = 1 - Math.pow(1 - progress, 3)
145
-
146
- if (progress < 1 && this.isVisible) {
147
- this.animationFrameId = requestAnimationFrame(animateFrame)
148
- }
149
- }
150
-
151
- this.animationFrameId = requestAnimationFrame(animateFrame)
152
- }
153
-
154
- private initializeCategoryColors(): void {
155
- // Build consistent color map from all segments in data
156
- const categoryTotals = new Map<string, number>()
157
- const explicitColors = new Map<string, string>()
158
-
159
- this.data.forEach(d => {
160
- if (d.segments) {
161
- d.segments.forEach(seg => {
162
- categoryTotals.set(seg.label, (categoryTotals.get(seg.label) || 0) + seg.value)
163
- // Capture explicit colors from segments
164
- if (seg.color && !explicitColors.has(seg.label)) {
165
- explicitColors.set(seg.label, seg.color)
166
- }
167
- })
168
- }
169
- })
170
-
171
- // Sort by total value (most = first color)
172
- const sortedCategories = Array.from(categoryTotals.entries())
173
- .toSorted((a, b) => b[1] - a[1])
174
- .map(([cat]) => cat)
175
-
176
- // Clear and rebuild - use explicit colors if available, otherwise default palette
177
- this.categoryColorMap.clear()
178
- let defaultColorIndex = 0
179
- sortedCategories.forEach(cat => {
180
- if (explicitColors.has(cat)) {
181
- this.categoryColorMap.set(cat, explicitColors.get(cat)!)
182
- } else {
183
- this.categoryColorMap.set(cat, DEFAULT_COLORS[defaultColorIndex % DEFAULT_COLORS.length])
184
- defaultColorIndex++
185
- }
186
- })
187
- }
188
-
189
- private getSegmentColor(segment: PillSegment): string {
190
- // Use explicit color if provided
191
- if (segment.color) return segment.color
192
- // Otherwise use from color map
193
- return this.categoryColorMap.get(segment.label) || 'bg-primary'
194
- }
195
-
196
- private formatValue(value: number): string {
197
- const formatted = value.toFixed(this.valueDecimals)
198
- return `${this.valuePrefix}${formatted}${this.valueSuffix}`
199
- }
200
-
201
- private getMedalEmoji(rank: number | undefined): string {
202
- if (!this.showMedals || !rank) return ''
203
- if (rank === 1) return '🥇'
204
- if (rank === 2) return '🥈'
205
- if (rank === 3) return '🥉'
206
- return ''
207
- }
208
-
209
- private getMaxValue(): number {
210
- if (this.data.length === 0) return 0
211
- return Math.max(...this.data.map(d => d.value), 1)
212
- }
213
-
214
- private renderBar(dataPoint: PillDataPoint, maxValue: number): ReturnType<typeof html> {
215
- const percentage = maxValue > 0 ? (dataPoint.value / maxValue) * 100 : 0
216
- const animatedPercentage = percentage * this.animationProgress
217
-
218
- // If no segments, render solid bar
219
- if (!dataPoint.segments || dataPoint.segments.length === 0) {
220
- const barColorClass = dataPoint.isPeak
221
- ? 'bg-success'
222
- : dataPoint.isLow
223
- ? 'bg-tertiary opacity-70'
224
- : dataPoint.value === 0
225
- ? 'bg-tertiary/40'
226
- : 'bg-primary'
227
-
228
- return html`
229
- <div
230
- class="${barColorClass} h-full transition-all rounded-full"
231
- style="width: ${Math.max(animatedPercentage, dataPoint.value > 0 ? 2 : 0)}%; transition-duration: ${this.animated ? '0ms' : '300ms'}"
232
- title="${this.formatValue(dataPoint.value)}"
233
- ></div>
234
- `
235
- }
236
-
237
- // Stacked bar with segments
238
- return html`
239
- <div
240
- class="h-full flex"
241
- style="width: ${Math.max(animatedPercentage, 2)}%; transition-duration: ${this.animated ? '0ms' : '300ms'}"
242
- >
243
- ${repeat(
244
- dataPoint.segments,
245
- seg => seg.label,
246
- (seg, index) => {
247
- const segmentPercentage = dataPoint.value > 0 ? (seg.value / dataPoint.value) * 100 : 0
248
- const marginLeft = index > 0 ? 'ml-px' : ''
249
- const brightenClass = dataPoint.isPeak ? 'brightness-110' : ''
250
- const colorClass = this.getSegmentColor(seg)
251
-
252
- return html`
253
- <div
254
- class="${colorClass} ${marginLeft} ${brightenClass} h-full transition-all
255
- ${index === 0 ? 'rounded-l-full' : ''}
256
- ${index === dataPoint.segments!.length - 1 ? 'rounded-r-full' : ''}"
257
- style="width: ${segmentPercentage}%"
258
- title="${seg.label}: ${this.formatValue(seg.value)}"
259
- ></div>
260
- `
261
- }
262
- )}
263
- </div>
264
- `
265
- }
266
-
267
- private renderLegend(): ReturnType<typeof html> {
268
- if (!this.showLegend || this.categoryColorMap.size === 0) {
269
- return html``
270
- }
271
-
272
- return html`
273
- <div class="flex flex-wrap gap-3 mt-4 pt-4 border-t border-outline-variant">
274
- ${repeat(
275
- Array.from(this.categoryColorMap.entries()),
276
- ([cat]) => cat,
277
- ([cat, color]) => html`
278
- <div class="flex items-center gap-1.5">
279
- <div class="${color} w-3 h-3 rounded-sm"></div>
280
- <schmancy-typography type="label" token="sm" class="text-surface-onVariant">
281
- ${cat}
282
- </schmancy-typography>
283
- </div>
284
- `
285
- )}
286
- </div>
287
- `
288
- }
289
-
290
- render() {
291
- // Initialize colors before rendering
292
- this.initializeCategoryColors()
293
-
294
- if (!this.data || this.data.length === 0) {
295
- return html``
296
- }
297
-
298
- const maxValue = this.getMaxValue()
299
-
300
- return html`
301
- <div class="space-y-1">
302
- ${repeat(
303
- this.data,
304
- d => d.label,
305
- d => {
306
- const rowBgClass = d.isPeak ? 'bg-success/10 rounded-lg' : ''
307
- const textColorClass = d.isPeak ? 'text-success font-bold' : 'text-surface-on'
308
-
309
- return html`
310
- <div class="flex items-center gap-3 py-2 px-2 ${rowBgClass}">
311
- <!-- Label -->
312
- <div class="${this.labelWidth} shrink-0 text-right">
313
- <schmancy-typography type="label" token="md" class="${textColorClass}">
314
- ${d.label}
315
- </schmancy-typography>
316
- </div>
317
-
318
- <!-- Medal -->
319
- <div class="w-6 shrink-0 text-center">
320
- ${d.isPeak || (d.rank && d.rank <= 3)
321
- ? html`<span class="text-sm">${this.getMedalEmoji(d.rank)}</span>`
322
- : ''}
323
- </div>
324
-
325
- <!-- Bar -->
326
- <div class="flex-1 h-6 bg-secondary/15 rounded-full overflow-hidden">
327
- ${this.renderBar(d, maxValue)}
328
- </div>
329
-
330
- <!-- Value -->
331
- <div class="${this.valueWidth} shrink-0 text-right">
332
- <schmancy-typography type="label" token="md" class="${textColorClass}">
333
- ${this.formatValue(d.value)}
334
- </schmancy-typography>
335
- </div>
336
- </div>
337
- `
338
- }
339
- )}
340
- </div>
341
-
342
- <!-- Legend -->
343
- ${this.renderLegend()}
344
- `
345
- }
346
- }
347
-
348
- declare global {
349
- interface HTMLElementTagNameMap {
350
- 'schmancy-pills': SchmancyPills
351
- }
352
- }
@@ -1,66 +0,0 @@
1
- /**
2
- * Data point for charts
3
- */
4
- export interface ChartDataPoint {
5
- /** X-axis label (e.g., "9 AM", "Mon") */
6
- label: string
7
- /** Primary numeric value */
8
- value: number
9
- /** Optional metadata for tooltips */
10
- metadata?: Record<string, unknown>
11
- }
12
-
13
- /**
14
- * Theme configuration for charts
15
- */
16
- export interface ChartTheme {
17
- /** Primary color - defaults to --schmancy-sys-color-primary */
18
- primaryColor?: string
19
- /** Gradient opacity [top, bottom] - defaults to [0.4, 0.05] */
20
- gradientOpacity?: [number, number]
21
- /** Line stroke width - defaults to 2 */
22
- strokeWidth?: number
23
- /** Normal point radius - defaults to 4 */
24
- pointRadius?: number
25
- /** Peak point radius - defaults to 6 */
26
- peakRadius?: number
27
- }
28
-
29
- /** Internal processed data point with position */
30
- export interface ProcessedDataPoint extends ChartDataPoint {
31
- x: number
32
- y: number
33
- isPeak: boolean
34
- }
35
-
36
- /**
37
- * Segment within a pill bar (for stacked bars)
38
- */
39
- export interface PillSegment {
40
- /** Segment label (e.g., "Pizza", "Drinks") */
41
- label: string
42
- /** Segment value */
43
- value: number
44
- /** CSS color class (e.g., "bg-primary", "bg-secondary") */
45
- color?: string
46
- }
47
-
48
- /**
49
- * Data point for pills chart (horizontal bar)
50
- */
51
- export interface PillDataPoint {
52
- /** Row label (e.g., "9 AM", "Monday") */
53
- label: string
54
- /** Primary value (used if no segments) */
55
- value: number
56
- /** Optional segments for stacked bar */
57
- segments?: PillSegment[]
58
- /** Whether this is a peak/highlighted row */
59
- isPeak?: boolean
60
- /** Whether this is a low/muted row */
61
- isLow?: boolean
62
- /** Optional rank (1, 2, 3 for medals) */
63
- rank?: number
64
- /** Optional metadata for tooltips */
65
- metadata?: Record<string, unknown>
66
- }
@@ -1,65 +0,0 @@
1
- /**
2
- * Catmull-Rom spline interpolation for smooth curves
3
- * Returns the interpolated point between p1 and p2
4
- */
5
- export function catmullRomSpline(
6
- p0: { x: number; y: number },
7
- p1: { x: number; y: number },
8
- p2: { x: number; y: number },
9
- p3: { x: number; y: number },
10
- t: number
11
- ): { x: number; y: number } {
12
- const t2 = t * t
13
- const t3 = t2 * t
14
-
15
- const x =
16
- 0.5 *
17
- (2 * p1.x +
18
- (-p0.x + p2.x) * t +
19
- (2 * p0.x - 5 * p1.x + 4 * p2.x - p3.x) * t2 +
20
- (-p0.x + 3 * p1.x - 3 * p2.x + p3.x) * t3)
21
-
22
- const y =
23
- 0.5 *
24
- (2 * p1.y +
25
- (-p0.y + p2.y) * t +
26
- (2 * p0.y - 5 * p1.y + 4 * p2.y - p3.y) * t2 +
27
- (-p0.y + 3 * p1.y - 3 * p2.y + p3.y) * t3)
28
-
29
- return { x, y }
30
- }
31
-
32
- /**
33
- * Converts hex or rgb color to rgba string
34
- */
35
- export function hexToRgba(color: string, alpha: number): string {
36
- // Handle rgb/rgba format
37
- if (color.startsWith('rgb')) {
38
- const match = color.match(/[\d.]+/g)
39
- if (match && match.length >= 3) {
40
- return `rgba(${match[0]}, ${match[1]}, ${match[2]}, ${alpha})`
41
- }
42
- }
43
-
44
- // Handle hex format
45
- let hex = color.replace('#', '')
46
- if (hex.length === 3) {
47
- hex = hex
48
- .split('')
49
- .map(c => c + c)
50
- .join('')
51
- }
52
-
53
- const r = parseInt(hex.substring(0, 2), 16)
54
- const g = parseInt(hex.substring(2, 4), 16)
55
- const b = parseInt(hex.substring(4, 6), 16)
56
-
57
- return `rgba(${r}, ${g}, ${b}, ${alpha})`
58
- }
59
-
60
- /**
61
- * Cubic ease-out animation function
62
- */
63
- export function easeOutCubic(t: number): number {
64
- return 1 - Math.pow(1 - t, 3)
65
- }