@mhmo91/schmancy 0.4.92 → 0.4.93

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 (378) hide show
  1. package/ai/area.md +181 -968
  2. package/dist/ai/area.md +181 -968
  3. package/dist/{animated-text-CM1zqBki.cjs → animated-text-Dqrad7cv.cjs} +2 -2
  4. package/dist/{animated-text-CM1zqBki.cjs.map → animated-text-Dqrad7cv.cjs.map} +1 -1
  5. package/dist/{animated-text-CUFCt7Zg.js → animated-text-mNos9Gw8.js} +3 -3
  6. package/dist/{animated-text-CUFCt7Zg.js.map → animated-text-mNos9Gw8.js.map} +1 -1
  7. package/dist/animated-text.cjs +1 -1
  8. package/dist/animated-text.js +1 -1
  9. package/dist/area.cjs +1 -1
  10. package/dist/area.js +1 -1
  11. package/dist/{autocomplete-09_SfjsP.js → autocomplete-CMxXFeC_.js} +35 -35
  12. package/dist/autocomplete-CMxXFeC_.js.map +1 -0
  13. package/dist/{autocomplete-CFREt7Vm.cjs → autocomplete-CzYbBt-K.cjs} +6 -6
  14. package/dist/autocomplete-CzYbBt-K.cjs.map +1 -0
  15. package/dist/autocomplete.cjs +1 -1
  16. package/dist/autocomplete.js +1 -1
  17. package/dist/{avatar-C8PC_n9i.cjs → avatar-CGGPvamo.cjs} +21 -69
  18. package/dist/avatar-CGGPvamo.cjs.map +1 -0
  19. package/dist/{avatar-CKp3Ukk4.js → avatar-CH-EctMv.js} +152 -200
  20. package/dist/avatar-CH-EctMv.js.map +1 -0
  21. package/dist/badge.cjs +1 -1
  22. package/dist/badge.js +1 -1
  23. package/dist/{boat-Ddi4PegB.cjs → boat-feSRWu7P.cjs} +2 -2
  24. package/dist/{boat-Ddi4PegB.cjs.map → boat-feSRWu7P.cjs.map} +1 -1
  25. package/dist/{boat-DDJK4CS4.js → boat-xekVVZab.js} +2 -2
  26. package/dist/{boat-DDJK4CS4.js.map → boat-xekVVZab.js.map} +1 -1
  27. package/dist/boat.cjs +1 -1
  28. package/dist/boat.js +1 -1
  29. package/dist/busy.cjs +1 -1
  30. package/dist/busy.js +1 -1
  31. package/dist/button.cjs +1 -1
  32. package/dist/button.js +1 -1
  33. package/dist/card.cjs +1 -1
  34. package/dist/card.js +1 -1
  35. package/dist/{checkbox-BU1x0W8U.js → checkbox-DTfIF2XH.js} +2 -2
  36. package/dist/{checkbox-BU1x0W8U.js.map → checkbox-DTfIF2XH.js.map} +1 -1
  37. package/dist/{checkbox-TclkD2h5.cjs → checkbox-DwBANLb6.cjs} +2 -2
  38. package/dist/{checkbox-TclkD2h5.cjs.map → checkbox-DwBANLb6.cjs.map} +1 -1
  39. package/dist/checkbox.cjs +1 -1
  40. package/dist/checkbox.js +1 -1
  41. package/dist/{chips-Bxsoq1vm.js → chips-7TbOS1By.js} +56 -67
  42. package/dist/{chips-Bxsoq1vm.js.map → chips-7TbOS1By.js.map} +1 -1
  43. package/dist/{chips-DQBHJNSu.cjs → chips-DORDPg5b.cjs} +10 -21
  44. package/dist/{chips-DQBHJNSu.cjs.map → chips-DORDPg5b.cjs.map} +1 -1
  45. package/dist/chips.cjs +1 -1
  46. package/dist/chips.js +1 -1
  47. package/dist/code-highlight.cjs +1 -1
  48. package/dist/code-highlight.js +1 -1
  49. package/dist/{code-preview-DnUM87ZB.js → code-preview-DWDE2pUe.js} +2 -2
  50. package/dist/{code-preview-DnUM87ZB.js.map → code-preview-DWDE2pUe.js.map} +1 -1
  51. package/dist/{code-preview-C9Imx-RX.cjs → code-preview-DqFuxCjV.cjs} +2 -2
  52. package/dist/{code-preview-C9Imx-RX.cjs.map → code-preview-DqFuxCjV.cjs.map} +1 -1
  53. package/dist/components.cjs +1 -1
  54. package/dist/components.js +1 -1
  55. package/dist/content-drawer.cjs +1 -1
  56. package/dist/content-drawer.js +1 -1
  57. package/dist/{date-range-D1A1Xrmw.cjs → date-range-DwdO0vNv.cjs} +2 -2
  58. package/dist/{date-range-D1A1Xrmw.cjs.map → date-range-DwdO0vNv.cjs.map} +1 -1
  59. package/dist/{date-range-inline-CwLJLOe1.cjs → date-range-inline-B1WaAPY6.cjs} +2 -2
  60. package/dist/{date-range-inline-CwLJLOe1.cjs.map → date-range-inline-B1WaAPY6.cjs.map} +1 -1
  61. package/dist/{date-range-inline-Ca4DPfeR.js → date-range-inline-yYh4Uw-k.js} +3 -3
  62. package/dist/{date-range-inline-Ca4DPfeR.js.map → date-range-inline-yYh4Uw-k.js.map} +1 -1
  63. package/dist/date-range-inline.cjs +1 -1
  64. package/dist/date-range-inline.js +1 -1
  65. package/dist/{date-range-DF7MnRi3.js → date-range-s2EHTGQM.js} +4 -4
  66. package/dist/{date-range-DF7MnRi3.js.map → date-range-s2EHTGQM.js.map} +1 -1
  67. package/dist/date-range.cjs +1 -1
  68. package/dist/date-range.js +1 -1
  69. package/dist/{delay-hXu_bFxW.js → delay-D19Mpit_.js} +2 -2
  70. package/dist/{delay-hXu_bFxW.js.map → delay-D19Mpit_.js.map} +1 -1
  71. package/dist/{delay-DQKt6VVn.cjs → delay-l2gPaJoH.cjs} +2 -2
  72. package/dist/{delay-DQKt6VVn.cjs.map → delay-l2gPaJoH.cjs.map} +1 -1
  73. package/dist/delay.cjs +1 -1
  74. package/dist/delay.js +1 -1
  75. package/dist/{details-Ci0XXz0g.js → details-CEu4oDP7.js} +2 -2
  76. package/dist/{details-Ci0XXz0g.js.map → details-CEu4oDP7.js.map} +1 -1
  77. package/dist/{details-Ft0ivj0F.cjs → details-LNuoItTO.cjs} +2 -2
  78. package/dist/{details-Ft0ivj0F.cjs.map → details-LNuoItTO.cjs.map} +1 -1
  79. package/dist/details.cjs +1 -1
  80. package/dist/details.js +1 -1
  81. package/dist/{dialog-content-7tFlrTFn.cjs → dialog-content-6wVlm9RL.cjs} +2 -2
  82. package/dist/{dialog-content-7tFlrTFn.cjs.map → dialog-content-6wVlm9RL.cjs.map} +1 -1
  83. package/dist/{dialog-content-DXnLwUtv.js → dialog-content-CQ3Xi4_b.js} +4 -4
  84. package/dist/{dialog-content-DXnLwUtv.js.map → dialog-content-CQ3Xi4_b.js.map} +1 -1
  85. package/dist/dialog-service-CgJH8clD.cjs +2 -0
  86. package/dist/dialog-service-CgJH8clD.cjs.map +1 -0
  87. package/dist/{dialog-service-DwhuICgc.js → dialog-service-PQ9ssbsY.js} +53 -47
  88. package/dist/dialog-service-PQ9ssbsY.js.map +1 -0
  89. package/dist/dialog.cjs +1 -1
  90. package/dist/dialog.js +2 -2
  91. package/dist/directives.cjs +1 -1
  92. package/dist/directives.js +1 -1
  93. package/dist/divider-5OCZNBJ7.js +22 -0
  94. package/dist/divider-5OCZNBJ7.js.map +1 -0
  95. package/dist/divider-auzbAyaR.cjs +2 -0
  96. package/dist/divider-auzbAyaR.cjs.map +1 -0
  97. package/dist/divider.cjs +1 -1
  98. package/dist/divider.js +1 -1
  99. package/dist/{dropdown-content-CXxTjA0j.cjs → dropdown-content-BI541LSK.cjs} +5 -10
  100. package/dist/dropdown-content-BI541LSK.cjs.map +1 -0
  101. package/dist/{dropdown-content-BCk2WbXc.js → dropdown-content-BLZviV1z.js} +40 -41
  102. package/dist/dropdown-content-BLZviV1z.js.map +1 -0
  103. package/dist/dropdown.cjs +1 -1
  104. package/dist/dropdown.js +1 -1
  105. package/dist/{email-recipients-BWIYYwA8.cjs → email-recipients-DizBUcJ2.cjs} +24 -24
  106. package/dist/email-recipients-DizBUcJ2.cjs.map +1 -0
  107. package/dist/{email-recipients-BT3xPoBN.js → email-recipients-JeGKXcBj.js} +141 -144
  108. package/dist/email-recipients-JeGKXcBj.js.map +1 -0
  109. package/dist/extra.cjs +1 -1
  110. package/dist/extra.js +1 -1
  111. package/dist/{flex-DflXFgVs.cjs → flex-BN7HdoGW.cjs} +2 -2
  112. package/dist/{flex-DflXFgVs.cjs.map → flex-BN7HdoGW.cjs.map} +1 -1
  113. package/dist/{flex-DJEZ1DdQ.js → flex-ro_7y02P.js} +2 -2
  114. package/dist/{flex-DJEZ1DdQ.js.map → flex-ro_7y02P.js.map} +1 -1
  115. package/dist/{form-7OiDtJT4.js → form-BqGTSZpr.js} +11 -23
  116. package/dist/form-BqGTSZpr.js.map +1 -0
  117. package/dist/form-DT6f2KNH.cjs +2 -0
  118. package/dist/form-DT6f2KNH.cjs.map +1 -0
  119. package/dist/form.cjs +1 -1
  120. package/dist/form.js +1 -1
  121. package/dist/{formField.mixin-B1vJlhmI.cjs → formField.mixin-CSy0dZ7Q.cjs} +2 -2
  122. package/dist/{formField.mixin-B1vJlhmI.cjs.map → formField.mixin-CSy0dZ7Q.cjs.map} +1 -1
  123. package/dist/{formField.mixin-3i7VOHMH.js → formField.mixin-DtegNyKv.js} +2 -2
  124. package/dist/{formField.mixin-3i7VOHMH.js.map → formField.mixin-DtegNyKv.js.map} +1 -1
  125. package/dist/{icon-BMhWh8Ib.js → icon-CSxxuGxN.js} +2 -2
  126. package/dist/{icon-BMhWh8Ib.js.map → icon-CSxxuGxN.js.map} +1 -1
  127. package/dist/{icon-TPLdDnCq.cjs → icon-GaL2G_1M.cjs} +2 -2
  128. package/dist/{icon-TPLdDnCq.cjs.map → icon-GaL2G_1M.cjs.map} +1 -1
  129. package/dist/{icon-button-DOZuY9x8.js → icon-button-B0jLowAy.js} +5 -5
  130. package/dist/icon-button-B0jLowAy.js.map +1 -0
  131. package/dist/{icon-button-CLDy5tUS.cjs → icon-button-DkvwZOHF.cjs} +4 -4
  132. package/dist/icon-button-DkvwZOHF.cjs.map +1 -0
  133. package/dist/icons.cjs +1 -1
  134. package/dist/icons.js +1 -1
  135. package/dist/index.cjs +1 -1
  136. package/dist/index.js +49 -49
  137. package/dist/{input-Dre3bMuF.js → input-D0c-WhDi.js} +40 -44
  138. package/dist/input-D0c-WhDi.js.map +1 -0
  139. package/dist/input-fPWOjQgP.cjs +51 -0
  140. package/dist/input-fPWOjQgP.cjs.map +1 -0
  141. package/dist/input.cjs +1 -1
  142. package/dist/input.js +1 -1
  143. package/dist/layout.cjs +1 -1
  144. package/dist/layout.js +1 -1
  145. package/dist/lazy-DObpkuL6.cjs.map +1 -1
  146. package/dist/lazy-E2LCDm7n.js.map +1 -1
  147. package/dist/{list-2mBZmMCP.js → list-3Ity7MFT.js} +2 -2
  148. package/dist/{list-2mBZmMCP.js.map → list-3Ity7MFT.js.map} +1 -1
  149. package/dist/{list-DZ43cTnR.cjs → list-CbXXjBUM.cjs} +2 -2
  150. package/dist/{list-DZ43cTnR.cjs.map → list-CbXXjBUM.cjs.map} +1 -1
  151. package/dist/list.cjs +1 -1
  152. package/dist/list.js +1 -1
  153. package/dist/{litElement.mixin-CjRG_9tZ.cjs → litElement.mixin-DFG5Ckp7.cjs} +2 -2
  154. package/dist/{litElement.mixin-CjRG_9tZ.cjs.map → litElement.mixin-DFG5Ckp7.cjs.map} +1 -1
  155. package/dist/{litElement.mixin-Bj0zv3lK.js → litElement.mixin-Efwm8boA.js} +2 -2
  156. package/dist/{litElement.mixin-Bj0zv3lK.js.map → litElement.mixin-Efwm8boA.js.map} +1 -1
  157. package/dist/mailbox.cjs +1 -1
  158. package/dist/mailbox.js +1 -1
  159. package/dist/{map-sSS6ACVH.js → map-BCQwFMpm.js} +2 -2
  160. package/dist/{map-sSS6ACVH.js.map → map-BCQwFMpm.js.map} +1 -1
  161. package/dist/{map-D69SEPpf.cjs → map-DeRVVjHa.cjs} +2 -2
  162. package/dist/{map-D69SEPpf.cjs.map → map-DeRVVjHa.cjs.map} +1 -1
  163. package/dist/map.cjs +1 -1
  164. package/dist/map.js +1 -1
  165. package/dist/media-CL9LNHic.cjs +226 -0
  166. package/dist/media-CL9LNHic.cjs.map +1 -0
  167. package/dist/media-nVQjNoX7.js +307 -0
  168. package/dist/media-nVQjNoX7.js.map +1 -0
  169. package/dist/{menu-CATzB9tA.js → menu-CusvB2dY.js} +3 -3
  170. package/dist/{menu-CATzB9tA.js.map → menu-CusvB2dY.js.map} +1 -1
  171. package/dist/{menu-BOeTdvk_.cjs → menu-Delwe6al.cjs} +2 -2
  172. package/dist/{menu-BOeTdvk_.cjs.map → menu-Delwe6al.cjs.map} +1 -1
  173. package/dist/menu.cjs +1 -1
  174. package/dist/menu.js +1 -1
  175. package/dist/nav-drawer.cjs +1 -1
  176. package/dist/nav-drawer.js +1 -1
  177. package/dist/{notification-service-LnNx5EDh.cjs → notification-service-BwcUY8O5.cjs} +7 -7
  178. package/dist/notification-service-BwcUY8O5.cjs.map +1 -0
  179. package/dist/{notification-service-DrwmIgoR.js → notification-service-DiTgelcm.js} +62 -58
  180. package/dist/notification-service-DiTgelcm.js.map +1 -0
  181. package/dist/notification.cjs +1 -1
  182. package/dist/notification.js +2 -2
  183. package/dist/{notify-DQMcgjgZ.cjs → notify-C81e8flx.cjs} +2 -2
  184. package/dist/{notify-DQMcgjgZ.cjs.map → notify-C81e8flx.cjs.map} +1 -1
  185. package/dist/{notify-C41nYdUf.js → notify-JNbirYT5.js} +2 -2
  186. package/dist/{notify-C41nYdUf.js.map → notify-JNbirYT5.js.map} +1 -1
  187. package/dist/{option-BNKGfKgL.cjs → option-D4XcuvRK.cjs} +5 -5
  188. package/dist/option-D4XcuvRK.cjs.map +1 -0
  189. package/dist/{option-DbBr0StZ.js → option-dihFw6qv.js} +12 -12
  190. package/dist/option-dihFw6qv.js.map +1 -0
  191. package/dist/option.cjs +1 -1
  192. package/dist/option.js +1 -1
  193. package/dist/{payment-card-form-ByWbYHhd.cjs → payment-card-form-CIm57Nfa.cjs} +2 -2
  194. package/dist/{payment-card-form-ByWbYHhd.cjs.map → payment-card-form-CIm57Nfa.cjs.map} +1 -1
  195. package/dist/{payment-card-form-_jHodv7G.js → payment-card-form-pDuTrWgZ.js} +3 -3
  196. package/dist/{payment-card-form-_jHodv7G.js.map → payment-card-form-pDuTrWgZ.js.map} +1 -1
  197. package/dist/{progress-BY7K7Etz.cjs → progress-BETtTl0y.cjs} +2 -2
  198. package/dist/{progress-BY7K7Etz.cjs.map → progress-BETtTl0y.cjs.map} +1 -1
  199. package/dist/{progress-Cix7Mu1p.js → progress-C4o_zWvg.js} +2 -2
  200. package/dist/{progress-Cix7Mu1p.js.map → progress-C4o_zWvg.js.map} +1 -1
  201. package/dist/progress.cjs +1 -1
  202. package/dist/progress.js +1 -1
  203. package/dist/{radio-button-BNmjg-i9.js → radio-button-DaSKbB-Z.js} +27 -27
  204. package/dist/radio-button-DaSKbB-Z.js.map +1 -0
  205. package/dist/radio-button-h6y0tWJQ.cjs +41 -0
  206. package/dist/radio-button-h6y0tWJQ.cjs.map +1 -0
  207. package/dist/radio-group.cjs +1 -1
  208. package/dist/radio-group.js +1 -1
  209. package/dist/{ripple-BumgqsDT.js → ripple-Cy-nvO8W.js} +24 -22
  210. package/dist/ripple-Cy-nvO8W.js.map +1 -0
  211. package/dist/ripple-DqQrvaTe.cjs +16 -0
  212. package/dist/ripple-DqQrvaTe.cjs.map +1 -0
  213. package/dist/route.component-BaefEO15.js +320 -0
  214. package/dist/route.component-BaefEO15.js.map +1 -0
  215. package/dist/route.component-DzBfI9eE.cjs +12 -0
  216. package/dist/route.component-DzBfI9eE.cjs.map +1 -0
  217. package/dist/{schmancy-steps-container-D69TfC2I.cjs → schmancy-steps-container-DpM5Kvt3.cjs} +2 -2
  218. package/dist/{schmancy-steps-container-D69TfC2I.cjs.map → schmancy-steps-container-DpM5Kvt3.cjs.map} +1 -1
  219. package/dist/{schmancy-steps-container-BUE4fG8_.js → schmancy-steps-container-uRaJiCZE.js} +2 -2
  220. package/dist/{schmancy-steps-container-BUE4fG8_.js.map → schmancy-steps-container-uRaJiCZE.js.map} +1 -1
  221. package/dist/select-ClFVeWZA.cjs +57 -0
  222. package/dist/select-ClFVeWZA.cjs.map +1 -0
  223. package/dist/{select-Bspcrc-h.js → select-uQ5xnOKn.js} +16 -16
  224. package/dist/select-uQ5xnOKn.js.map +1 -0
  225. package/dist/select.cjs +1 -1
  226. package/dist/select.js +1 -1
  227. package/dist/{sheet-CuE9tUeo.cjs → sheet-CEcMgg-2.cjs} +2 -2
  228. package/dist/{sheet-CuE9tUeo.cjs.map → sheet-CEcMgg-2.cjs.map} +1 -1
  229. package/dist/{sheet-BxOGSGJ0.js → sheet-CvvdxIUZ.js} +3 -3
  230. package/dist/{sheet-BxOGSGJ0.js.map → sheet-CvvdxIUZ.js.map} +1 -1
  231. package/dist/sheet.cjs +1 -1
  232. package/dist/sheet.js +1 -1
  233. package/dist/{slider-ChQVbnYO.js → slider-DyxIZ-hn.js} +3 -3
  234. package/dist/{slider-ChQVbnYO.js.map → slider-DyxIZ-hn.js.map} +1 -1
  235. package/dist/{slider-DeKwZONn.cjs → slider-T8sYw1p-.cjs} +2 -2
  236. package/dist/{slider-DeKwZONn.cjs.map → slider-T8sYw1p-.cjs.map} +1 -1
  237. package/dist/slider.cjs +1 -1
  238. package/dist/slider.js +1 -1
  239. package/dist/{spinner-y1dPMTQp.js → spinner-D9fC8P3H.js} +2 -2
  240. package/dist/{spinner-y1dPMTQp.js.map → spinner-D9fC8P3H.js.map} +1 -1
  241. package/dist/{spinner-C5tMQys5.cjs → spinner-DJviKuwJ.cjs} +2 -2
  242. package/dist/{spinner-C5tMQys5.cjs.map → spinner-DJviKuwJ.cjs.map} +1 -1
  243. package/dist/steps.cjs +1 -1
  244. package/dist/steps.js +1 -1
  245. package/dist/{surface-4MzhEaru.cjs → surface-B_SGQ1f7.cjs} +2 -2
  246. package/dist/{surface-4MzhEaru.cjs.map → surface-B_SGQ1f7.cjs.map} +1 -1
  247. package/dist/{surface-BYmdH754.js → surface-CUyYCpFl.js} +2 -2
  248. package/dist/{surface-BYmdH754.js.map → surface-CUyYCpFl.js.map} +1 -1
  249. package/dist/surface.cjs +1 -1
  250. package/dist/surface.js +1 -1
  251. package/dist/{table-J5EVvpXy.cjs → table-C-sWuoAy.cjs} +2 -2
  252. package/dist/{table-J5EVvpXy.cjs.map → table-C-sWuoAy.cjs.map} +1 -1
  253. package/dist/{table-YBHaxQzQ.js → table-D7p7a-Ag.js} +2 -2
  254. package/dist/{table-YBHaxQzQ.js.map → table-D7p7a-Ag.js.map} +1 -1
  255. package/dist/table.cjs +1 -1
  256. package/dist/table.js +1 -1
  257. package/dist/{tabs-compatibility-ezB19WI8.js → tabs-compatibility-Dn8bSEvA.js} +2 -2
  258. package/dist/{tabs-compatibility-ezB19WI8.js.map → tabs-compatibility-Dn8bSEvA.js.map} +1 -1
  259. package/dist/{tabs-compatibility-JMTsaND_.cjs → tabs-compatibility-XoF2vpv5.cjs} +2 -2
  260. package/dist/{tabs-compatibility-JMTsaND_.cjs.map → tabs-compatibility-XoF2vpv5.cjs.map} +1 -1
  261. package/dist/tabs.cjs +1 -1
  262. package/dist/tabs.js +1 -1
  263. package/dist/tailwind.mixin-C13RR5x6.js +43 -0
  264. package/dist/{tailwind.mixin-Cwbr8x57.js.map → tailwind.mixin-C13RR5x6.js.map} +1 -1
  265. package/dist/tailwind.mixin-O9jmUJ7m.cjs +2 -0
  266. package/dist/{tailwind.mixin-B-VcpMHn.cjs.map → tailwind.mixin-O9jmUJ7m.cjs.map} +1 -1
  267. package/dist/teleport.cjs +1 -1
  268. package/dist/teleport.js +1 -1
  269. package/dist/{textarea-B3nWhCra.cjs → textarea-9rSwC34M.cjs} +2 -2
  270. package/dist/{textarea-B3nWhCra.cjs.map → textarea-9rSwC34M.cjs.map} +1 -1
  271. package/dist/{textarea-yn7IFbnu.js → textarea-Dsqg9ted.js} +3 -3
  272. package/dist/{textarea-yn7IFbnu.js.map → textarea-Dsqg9ted.js.map} +1 -1
  273. package/dist/textarea.cjs +1 -1
  274. package/dist/textarea.js +1 -1
  275. package/dist/{theme-button-I_c1ZWWV.cjs → theme-button-BTH2A59w.cjs} +2 -2
  276. package/dist/{theme-button-I_c1ZWWV.cjs.map → theme-button-BTH2A59w.cjs.map} +1 -1
  277. package/dist/{theme-button-CGArg1pu.js → theme-button-pfkAwkvY.js} +2 -2
  278. package/dist/{theme-button-CGArg1pu.js.map → theme-button-pfkAwkvY.js.map} +1 -1
  279. package/dist/theme-button.cjs +1 -1
  280. package/dist/theme-button.js +1 -1
  281. package/dist/theme.cjs +1 -1
  282. package/dist/{theme.component-CdSDaeU0.cjs → theme.component-BvoZuM2h.cjs} +3 -3
  283. package/dist/{theme.component-CdSDaeU0.cjs.map → theme.component-BvoZuM2h.cjs.map} +1 -1
  284. package/dist/{theme.component-B5zp-4OG.js → theme.component-C3G_OrjE.js} +168 -168
  285. package/dist/{theme.component-B5zp-4OG.js.map → theme.component-C3G_OrjE.js.map} +1 -1
  286. package/dist/theme.js +1 -1
  287. package/dist/{timezone-DRBf5biI.cjs → timezone-BKBME7Gq.cjs} +2 -2
  288. package/dist/{timezone-DRBf5biI.cjs.map → timezone-BKBME7Gq.cjs.map} +1 -1
  289. package/dist/{timezone-CepyC8kw.js → timezone-mQeoU0_O.js} +3 -3
  290. package/dist/{timezone-CepyC8kw.js.map → timezone-mQeoU0_O.js.map} +1 -1
  291. package/dist/tooltip-Bcun7m0S.cjs +7 -0
  292. package/dist/tooltip-Bcun7m0S.cjs.map +1 -0
  293. package/dist/{tooltip-C6HlAqs2.js → tooltip-Doh_evJW.js} +55 -55
  294. package/dist/tooltip-Doh_evJW.js.map +1 -0
  295. package/dist/tooltip.cjs +1 -1
  296. package/dist/tooltip.js +1 -1
  297. package/dist/{tree-CpqWMdfb.cjs → tree-DpKb9Q-1.cjs} +2 -2
  298. package/dist/{tree-CpqWMdfb.cjs.map → tree-DpKb9Q-1.cjs.map} +1 -1
  299. package/dist/{tree-CxJAr7G3.js → tree-cl3PdPTy.js} +2 -2
  300. package/dist/{tree-CxJAr7G3.js.map → tree-cl3PdPTy.js.map} +1 -1
  301. package/dist/tree.cjs +1 -1
  302. package/dist/tree.js +1 -1
  303. package/dist/{typewriter-BWg7Otk8.cjs → typewriter-QSd_xI9j.cjs} +3 -15
  304. package/dist/typewriter-QSd_xI9j.cjs.map +1 -0
  305. package/dist/{typewriter-D3QLAVdz.js → typewriter-peuqmq9f.js} +64 -76
  306. package/dist/typewriter-peuqmq9f.js.map +1 -0
  307. package/dist/typewriter.cjs +1 -1
  308. package/dist/typewriter.js +1 -1
  309. package/dist/{typography-C8NCP_rr.js → typography-BkuzOZ0g.js} +2 -2
  310. package/dist/{typography-C8NCP_rr.js.map → typography-BkuzOZ0g.js.map} +1 -1
  311. package/dist/{typography-DGOOlbC1.cjs → typography-BoI8HgTE.cjs} +2 -2
  312. package/dist/{typography-DGOOlbC1.cjs.map → typography-BoI8HgTE.cjs.map} +1 -1
  313. package/dist/typography.cjs +1 -1
  314. package/dist/typography.js +1 -1
  315. package/package.json +1 -1
  316. package/types/src/area/area.component.d.ts +8 -3
  317. package/types/src/area/area.service.d.ts +1 -0
  318. package/types/src/area/route.component.d.ts +4 -5
  319. package/types/src/area/utils.d.ts +2 -1
  320. package/types/src/card/card.d.ts +55 -3
  321. package/types/src/directives/ripple.d.ts +2 -1
  322. package/types/src/dropdown/dropdown-component.d.ts +1 -0
  323. package/types/src/form/form-v2.d.ts +0 -1
  324. package/types/src/form/form.d.ts +0 -1
  325. package/types/src/mailbox/email-editor.d.ts +1 -2
  326. package/types/src/notification/notification-audio.d.ts +9 -0
  327. package/types/src/notification/notification-container.d.ts +1 -0
  328. package/dist/autocomplete-09_SfjsP.js.map +0 -1
  329. package/dist/autocomplete-CFREt7Vm.cjs.map +0 -1
  330. package/dist/avatar-C8PC_n9i.cjs.map +0 -1
  331. package/dist/avatar-CKp3Ukk4.js.map +0 -1
  332. package/dist/dialog-service-DwhuICgc.js.map +0 -1
  333. package/dist/dialog-service-juvsgc5X.cjs +0 -2
  334. package/dist/dialog-service-juvsgc5X.cjs.map +0 -1
  335. package/dist/divider-BG9uDpUp.js +0 -103
  336. package/dist/divider-BG9uDpUp.js.map +0 -1
  337. package/dist/divider-CWnAg2p-.cjs +0 -83
  338. package/dist/divider-CWnAg2p-.cjs.map +0 -1
  339. package/dist/dropdown-content-BCk2WbXc.js.map +0 -1
  340. package/dist/dropdown-content-CXxTjA0j.cjs.map +0 -1
  341. package/dist/email-recipients-BT3xPoBN.js.map +0 -1
  342. package/dist/email-recipients-BWIYYwA8.cjs.map +0 -1
  343. package/dist/form-7OiDtJT4.js.map +0 -1
  344. package/dist/form-nHwPpyhJ.cjs +0 -14
  345. package/dist/form-nHwPpyhJ.cjs.map +0 -1
  346. package/dist/icon-button-CLDy5tUS.cjs.map +0 -1
  347. package/dist/icon-button-DOZuY9x8.js.map +0 -1
  348. package/dist/input-CqLneJhz.cjs +0 -51
  349. package/dist/input-CqLneJhz.cjs.map +0 -1
  350. package/dist/input-Dre3bMuF.js.map +0 -1
  351. package/dist/media-B-VIbSH_.js +0 -151
  352. package/dist/media-B-VIbSH_.js.map +0 -1
  353. package/dist/media-Cew1Mxkj.cjs +0 -100
  354. package/dist/media-Cew1Mxkj.cjs.map +0 -1
  355. package/dist/notification-service-DrwmIgoR.js.map +0 -1
  356. package/dist/notification-service-LnNx5EDh.cjs.map +0 -1
  357. package/dist/option-BNKGfKgL.cjs.map +0 -1
  358. package/dist/option-DbBr0StZ.js.map +0 -1
  359. package/dist/radio-button-BNmjg-i9.js.map +0 -1
  360. package/dist/radio-button-CYq6qTSb.cjs +0 -41
  361. package/dist/radio-button-CYq6qTSb.cjs.map +0 -1
  362. package/dist/ripple-BumgqsDT.js.map +0 -1
  363. package/dist/ripple-C2BHbhcS.cjs +0 -16
  364. package/dist/ripple-C2BHbhcS.cjs.map +0 -1
  365. package/dist/route.component-CzCd2fMa.cjs +0 -12
  366. package/dist/route.component-CzCd2fMa.cjs.map +0 -1
  367. package/dist/route.component-Q3rCkryr.js +0 -321
  368. package/dist/route.component-Q3rCkryr.js.map +0 -1
  369. package/dist/select-B-yc3JB7.cjs +0 -57
  370. package/dist/select-B-yc3JB7.cjs.map +0 -1
  371. package/dist/select-Bspcrc-h.js.map +0 -1
  372. package/dist/tailwind.mixin-B-VcpMHn.cjs +0 -2
  373. package/dist/tailwind.mixin-Cwbr8x57.js +0 -43
  374. package/dist/tooltip-C6HlAqs2.js.map +0 -1
  375. package/dist/tooltip-CCX8PidC.cjs +0 -7
  376. package/dist/tooltip-CCX8PidC.cjs.map +0 -1
  377. package/dist/typewriter-BWg7Otk8.cjs.map +0 -1
  378. package/dist/typewriter-D3QLAVdz.js.map +0 -1
@@ -0,0 +1,307 @@
1
+ import "rxjs";
2
+ import { classMap as g } from "lit/directives/class-map.js";
3
+ import "lit/directives/style-map.js";
4
+ import { customElement as y, property as c, state as u } from "lit/decorators.js";
5
+ import { T as v } from "./tailwind.mixin-C13RR5x6.js";
6
+ import { css as b, html as h, LitElement as w } from "lit";
7
+ import { ifDefined as x } from "lit/directives/if-defined.js";
8
+ var k = Object.getOwnPropertyDescriptor;
9
+ let f = class extends v(b`
10
+ :host {
11
+ display: flex;
12
+ gap: 0.5rem;
13
+ padding: 0.5rem 1rem;
14
+ align-items: center;
15
+ justify-content: flex-end;
16
+ }
17
+ `) {
18
+ render() {
19
+ return h`<slot></slot>`;
20
+ }
21
+ };
22
+ f = ((t, s, r, i) => {
23
+ for (var o, e = i > 1 ? void 0 : i ? k(s, r) : s, a = t.length - 1; a >= 0; a--) (o = t[a]) && (e = o(e) || e);
24
+ return e;
25
+ })([y("schmancy-card-action")], f);
26
+ var $ = Object.defineProperty, j = Object.getOwnPropertyDescriptor, l = (t, s, r, i) => {
27
+ for (var o, e = i > 1 ? void 0 : i ? j(s, r) : s, a = t.length - 1; a >= 0; a--) (o = t[a]) && (e = (i ? o(s, r, e) : o(e)) || e);
28
+ return i && e && $(s, r, e), e;
29
+ };
30
+ let n = class extends v(b`
31
+ :host {
32
+ display: block;
33
+ position: relative;
34
+ border-radius: 12px; /* M3 spec: 12px for cards */
35
+ transition: box-shadow 200ms cubic-bezier(0.4, 0, 0.2, 1);
36
+ outline: none;
37
+ }
38
+
39
+ /* Type-specific base styles */
40
+ :host([type='elevated']) {
41
+ background-color: var(--schmancy-sys-color-surface-low);
42
+ box-shadow: var(--schmancy-sys-elevation-1);
43
+ }
44
+
45
+ :host([type='filled']) {
46
+ background-color: var(--schmancy-sys-color-surface-highest);
47
+ box-shadow: var(--schmancy-sys-elevation-0);
48
+ }
49
+
50
+ :host([type='outlined']) {
51
+ background-color: var(--schmancy-sys-color-surface-default);
52
+ border: 1px solid var(--schmancy-sys-color-outline-variant);
53
+ box-shadow: var(--schmancy-sys-elevation-0);
54
+ }
55
+
56
+ /* Interactive state layers */
57
+ :host([interactive]) {
58
+ cursor: pointer;
59
+ -webkit-tap-highlight-color: transparent;
60
+ }
61
+
62
+ :host([interactive]:hover:not([disabled])) .state-layer {
63
+ opacity: 0.08;
64
+ }
65
+
66
+ :host([interactive]:focus-visible:not([disabled])) .state-layer {
67
+ opacity: 0.12;
68
+ }
69
+
70
+ :host([interactive][pressed]:not([disabled])) .state-layer {
71
+ opacity: 0.12;
72
+ }
73
+
74
+ /* Elevated interactive states */
75
+ :host([type='elevated'][interactive]:hover:not([disabled])) {
76
+ box-shadow: var(--schmancy-sys-elevation-2);
77
+ }
78
+
79
+ :host([type='elevated'][dragged]) {
80
+ box-shadow: var(--schmancy-sys-elevation-3);
81
+ }
82
+
83
+ /* Filled interactive states */
84
+ :host([type='filled'][interactive]:hover:not([disabled])) {
85
+ box-shadow: var(--schmancy-sys-elevation-1);
86
+ }
87
+
88
+ :host([type='filled'][dragged]) {
89
+ box-shadow: var(--schmancy-sys-elevation-3);
90
+ }
91
+
92
+ /* Outlined interactive states */
93
+ :host([type='outlined'][interactive]:hover:not([disabled])) {
94
+ box-shadow: var(--schmancy-sys-elevation-1);
95
+ }
96
+
97
+ :host([type='outlined'][dragged]) {
98
+ box-shadow: var(--schmancy-sys-elevation-3);
99
+ }
100
+
101
+ /* Disabled state */
102
+ :host([disabled]) {
103
+ pointer-events: none;
104
+ opacity: 0.38;
105
+ }
106
+
107
+ /* State layer overlay */
108
+ .state-layer {
109
+ position: absolute;
110
+ inset: 0;
111
+ border-radius: inherit;
112
+ background-color: var(--schmancy-sys-color-surface-on);
113
+ opacity: 0;
114
+ pointer-events: none;
115
+ transition: opacity 200ms cubic-bezier(0.4, 0, 0.2, 1);
116
+ }
117
+
118
+ /* Focus ring */
119
+ :host([interactive]:focus-visible:not([disabled])) {
120
+ outline: 2px solid var(--schmancy-sys-color-primary);
121
+ outline-offset: 2px;
122
+ }
123
+
124
+ /* Ripple effect container */
125
+ .ripple-container {
126
+ position: absolute;
127
+ inset: 0;
128
+ border-radius: inherit;
129
+ overflow: hidden;
130
+ pointer-events: none;
131
+ }
132
+
133
+ .ripple {
134
+ position: absolute;
135
+ border-radius: 50%;
136
+ transform: scale(0);
137
+ animation: ripple 600ms linear;
138
+ background-color: var(--schmancy-sys-color-surface-on);
139
+ opacity: 0.12;
140
+ pointer-events: none;
141
+ }
142
+
143
+ @keyframes ripple {
144
+ to {
145
+ transform: scale(4);
146
+ opacity: 0;
147
+ }
148
+ }
149
+
150
+ /* Content container */
151
+ .content {
152
+ position: relative;
153
+ height: 100%;
154
+ width: 100%;
155
+ border-radius: inherit;
156
+ }
157
+ `) {
158
+ constructor() {
159
+ super(...arguments), this.type = "elevated", this.interactive = !1, this.disabled = !1, this.dragged = !1, this.role = "article", this.ariaLabel = "", this.pressed = !1, this.ripples = [], this.nextRippleId = 0, this.handleClick = (t) => {
160
+ if (this.disabled || !this.interactive) return;
161
+ const s = this.getBoundingClientRect(), r = t.clientX - s.left, i = t.clientY - s.top, o = this.nextRippleId++;
162
+ this.ripples = [...this.ripples, { x: r, y: i, id: o }], setTimeout(() => {
163
+ this.ripples = this.ripples.filter((e) => e.id !== o);
164
+ }, 600), this.href && (this.target === "_blank" ? window.open(this.href, "_blank") : window.location.href = this.href), this.dispatchEvent(new CustomEvent("schmancy-click", { detail: { value: this.type }, bubbles: !0, composed: !0 }));
165
+ }, this.handleKeyDown = (t) => {
166
+ if (!this.disabled && this.interactive && (t.key === "Enter" || t.key === " ")) {
167
+ t.preventDefault(), this.pressed = !0, this.setAttribute("pressed", "");
168
+ const s = this.getBoundingClientRect(), r = s.width / 2, i = s.height / 2, o = this.nextRippleId++;
169
+ this.ripples = [...this.ripples, { x: r, y: i, id: o }], setTimeout(() => {
170
+ this.ripples = this.ripples.filter((e) => e.id !== o);
171
+ }, 600), this.href && (this.target === "_blank" ? window.open(this.href, "_blank") : window.location.href = this.href), this.dispatchEvent(new CustomEvent("schmancy-click", { detail: { value: this.type }, bubbles: !0, composed: !0 }));
172
+ }
173
+ }, this.handleKeyUp = (t) => {
174
+ t.key !== "Enter" && t.key !== " " || (this.pressed = !1, this.removeAttribute("pressed"));
175
+ }, this.handleMouseDown = () => {
176
+ !this.disabled && this.interactive && (this.pressed = !0, this.setAttribute("pressed", ""));
177
+ }, this.handleMouseUp = () => {
178
+ this.pressed = !1, this.removeAttribute("pressed");
179
+ }, this.handleMouseLeave = () => {
180
+ this.pressed = !1, this.removeAttribute("pressed");
181
+ };
182
+ }
183
+ connectedCallback() {
184
+ super.connectedCallback(), this.interactive && !this.disabled && (this.setAttribute("tabindex", "0"), this.role && this.role !== "article" || (this.role = this.href ? "link" : "button"));
185
+ }
186
+ updated(t) {
187
+ super.updated(t), (t.has("interactive") || t.has("disabled")) && (this.interactive && !this.disabled ? (this.setAttribute("tabindex", "0"), this.role && this.role !== "article" || (this.role = this.href ? "link" : "button")) : (this.removeAttribute("tabindex"), this.role !== "button" && this.role !== "link" || (this.role = "article")));
188
+ }
189
+ render() {
190
+ const t = g({ "card-container": !0, interactive: this.interactive && !this.disabled });
191
+ return h`
192
+ <div
193
+ class=${t}
194
+ @click=${this.handleClick}
195
+ @keydown=${this.handleKeyDown}
196
+ @keyup=${this.handleKeyUp}
197
+ @mousedown=${this.handleMouseDown}
198
+ @mouseup=${this.handleMouseUp}
199
+ @mouseleave=${this.handleMouseLeave}
200
+ aria-label=${x(this.ariaLabel)}
201
+ aria-disabled=${this.disabled ? "true" : "false"}
202
+ >
203
+ <!-- State layer for hover/focus/pressed states -->
204
+ <div class="state-layer"></div>
205
+
206
+ <!-- Ripple container for click effects -->
207
+ ${this.interactive ? h`
208
+ <div class="ripple-container">
209
+ ${this.ripples.map((s) => h`
210
+ <span
211
+ class="ripple"
212
+ style="
213
+ left: ${s.x}px;
214
+ top: ${s.y}px;
215
+ width: 20px;
216
+ height: 20px;
217
+ margin-left: -10px;
218
+ margin-top: -10px;
219
+ "
220
+ ></span>
221
+ `)}
222
+ </div>
223
+ ` : ""}
224
+
225
+ <!-- Card content -->
226
+ <div class="content">
227
+ <slot></slot>
228
+ </div>
229
+ </div>
230
+ `;
231
+ }
232
+ };
233
+ n.shadowRootOptions = { ...w.shadowRootOptions, mode: "open", delegatesFocus: !0 }, l([c({ reflect: !0 })], n.prototype, "type", 2), l([c({ type: Boolean, reflect: !0 })], n.prototype, "interactive", 2), l([c({ type: Boolean, reflect: !0 })], n.prototype, "disabled", 2), l([c({ type: Boolean, reflect: !0 })], n.prototype, "dragged", 2), l([c()], n.prototype, "href", 2), l([c()], n.prototype, "target", 2), l([c({ attribute: "role" })], n.prototype, "role", 2), l([c({ attribute: "aria-label" })], n.prototype, "ariaLabel", 2), l([u()], n.prototype, "pressed", 2), l([u()], n.prototype, "ripples", 2), n = l([y("schmancy-card")], n);
234
+ var O = Object.getOwnPropertyDescriptor;
235
+ let m = class extends v(b`
236
+ :host {
237
+ display: block;
238
+ padding: 1rem;
239
+ }
240
+ `) {
241
+ render() {
242
+ return h`<slot></slot>`;
243
+ }
244
+ };
245
+ m = ((t, s, r, i) => {
246
+ for (var o, e = i > 1 ? void 0 : i ? O(s, r) : s, a = t.length - 1; a >= 0; a--) (o = t[a]) && (e = o(e) || e);
247
+ return e;
248
+ })([y("schmancy-card-content")], m);
249
+ var D = Object.defineProperty, C = Object.getOwnPropertyDescriptor, p = (t, s, r, i) => {
250
+ for (var o, e = i > 1 ? void 0 : i ? C(s, r) : s, a = t.length - 1; a >= 0; a--) (o = t[a]) && (e = (i ? o(s, r, e) : o(e)) || e);
251
+ return i && e && D(s, r, e), e;
252
+ };
253
+ let d = class extends v(b`
254
+ :host {
255
+ display: block;
256
+ position: relative;
257
+ height: 200px;
258
+ overflow: hidden;
259
+ }
260
+
261
+ /* Allow height to be overridden when used in flex/grid layouts */
262
+ :host-context(.h-full) {
263
+ height: 100%;
264
+ }
265
+
266
+ ::slotted(img),
267
+ img {
268
+ width: 100%;
269
+ height: 100%;
270
+ object-position: center;
271
+ }
272
+
273
+ /* Object fit styles based on fit attribute */
274
+ :host([fit="contain"]) img,
275
+ :host([fit="contain"]) ::slotted(img) {
276
+ object-fit: contain;
277
+ }
278
+
279
+ :host([fit="cover"]) img,
280
+ :host([fit="cover"]) ::slotted(img) {
281
+ object-fit: cover;
282
+ }
283
+
284
+ :host([fit="fill"]) img,
285
+ :host([fit="fill"]) ::slotted(img) {
286
+ object-fit: fill;
287
+ }
288
+
289
+ :host([fit="none"]) img,
290
+ :host([fit="none"]) ::slotted(img) {
291
+ object-fit: none;
292
+ }
293
+
294
+ :host([fit="scale-down"]) img,
295
+ :host([fit="scale-down"]) ::slotted(img) {
296
+ object-fit: scale-down;
297
+ }
298
+ `) {
299
+ constructor() {
300
+ super(...arguments), this.src = "", this.fit = "contain", this.alt = "";
301
+ }
302
+ render() {
303
+ return this.src ? h`<img src="${this.src}" alt="${this.alt}" />` : h`<slot></slot>`;
304
+ }
305
+ };
306
+ p([c({ type: String, reflect: !0 })], d.prototype, "src", 2), p([c({ type: String, reflect: !0 })], d.prototype, "fit", 2), p([c({ type: String })], d.prototype, "alt", 2), d = p([y("schmancy-card-media")], d);
307
+ //# sourceMappingURL=media-nVQjNoX7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-nVQjNoX7.js","sources":["../src/card/actions.ts","../src/card/card.ts","../src/card/content.ts","../src/card/media.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n/**\n * @element schmancy-card-action\n * @slot - The content of the action\n */\n@customElement('schmancy-card-action')\nexport default class SchmancyCardAction extends TailwindElement(css`\n\t:host {\n\t\tdisplay: flex;\n\t\tgap: 0.5rem;\n\t\tpadding: 0.5rem 1rem;\n\t\talign-items: center;\n\t\tjustify-content: flex-end;\n\t}\n`) {\n\tprotected render(): unknown {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-action': SchmancyCardAction\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\n\n@customElement('schmancy-card')\nexport default class SchmancyCard extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tborder-radius: 12px; /* M3 spec: 12px for cards */\n\t\ttransition: box-shadow 200ms cubic-bezier(0.4, 0, 0.2, 1);\n\t\toutline: none;\n\t}\n\n\t/* Type-specific base styles */\n\t:host([type='elevated']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-low);\n\t\tbox-shadow: var(--schmancy-sys-elevation-1);\n\t}\n\n\t:host([type='filled']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-highest);\n\t\tbox-shadow: var(--schmancy-sys-elevation-0);\n\t}\n\n\t:host([type='outlined']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-default);\n\t\tborder: 1px solid var(--schmancy-sys-color-outline-variant);\n\t\tbox-shadow: var(--schmancy-sys-elevation-0);\n\t}\n\n\t/* Interactive state layers */\n\t:host([interactive]) {\n\t\tcursor: pointer;\n\t\t-webkit-tap-highlight-color: transparent;\n\t}\n\n\t:host([interactive]:hover:not([disabled])) .state-layer {\n\t\topacity: 0.08;\n\t}\n\n\t:host([interactive]:focus-visible:not([disabled])) .state-layer {\n\t\topacity: 0.12;\n\t}\n\n\t:host([interactive][pressed]:not([disabled])) .state-layer {\n\t\topacity: 0.12;\n\t}\n\n\t/* Elevated interactive states */\n\t:host([type='elevated'][interactive]:hover:not([disabled])) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-2);\n\t}\n\n\t:host([type='elevated'][dragged]) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t}\n\n\t/* Filled interactive states */\n\t:host([type='filled'][interactive]:hover:not([disabled])) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-1);\n\t}\n\n\t:host([type='filled'][dragged]) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t}\n\n\t/* Outlined interactive states */\n\t:host([type='outlined'][interactive]:hover:not([disabled])) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-1);\n\t}\n\n\t:host([type='outlined'][dragged]) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t}\n\n\t/* Disabled state */\n\t:host([disabled]) {\n\t\tpointer-events: none;\n\t\topacity: 0.38;\n\t}\n\n\t/* State layer overlay */\n\t.state-layer {\n\t\tposition: absolute;\n\t\tinset: 0;\n\t\tborder-radius: inherit;\n\t\tbackground-color: var(--schmancy-sys-color-surface-on);\n\t\topacity: 0;\n\t\tpointer-events: none;\n\t\ttransition: opacity 200ms cubic-bezier(0.4, 0, 0.2, 1);\n\t}\n\n\t/* Focus ring */\n\t:host([interactive]:focus-visible:not([disabled])) {\n\t\toutline: 2px solid var(--schmancy-sys-color-primary);\n\t\toutline-offset: 2px;\n\t}\n\n\t/* Ripple effect container */\n\t.ripple-container {\n\t\tposition: absolute;\n\t\tinset: 0;\n\t\tborder-radius: inherit;\n\t\toverflow: hidden;\n\t\tpointer-events: none;\n\t}\n\n\t.ripple {\n\t\tposition: absolute;\n\t\tborder-radius: 50%;\n\t\ttransform: scale(0);\n\t\tanimation: ripple 600ms linear;\n\t\tbackground-color: var(--schmancy-sys-color-surface-on);\n\t\topacity: 0.12;\n\t\tpointer-events: none;\n\t}\n\n\t@keyframes ripple {\n\t\tto {\n\t\t\ttransform: scale(4);\n\t\t\topacity: 0;\n\t\t}\n\t}\n\n\t/* Content container */\n\t.content {\n\t\tposition: relative;\n\t\theight: 100%;\n\t\twidth: 100%;\n\t\tborder-radius: inherit;\n\t}\n`) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open',\n\t\tdelegatesFocus: true,\n\t}\n\n\t/**\n\t * The visual style of the card.\n\t * @default 'elevated'\n\t */\n\t@property({ reflect: true })\n\ttype: 'elevated' | 'filled' | 'outlined' = 'elevated'\n\n\t/**\n\t * Makes the card interactive (clickable).\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tinteractive = false\n\n\t/**\n\t * Disables the card.\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tdisabled = false\n\n\t/**\n\t * Indicates the card is being dragged.\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tdragged = false\n\n\t/**\n\t * URL to navigate to when card is clicked (makes it act like a link).\n\t */\n\t@property()\n\thref?: string\n\n\t/**\n\t * Target for the link navigation.\n\t */\n\t@property()\n\ttarget?: string\n\n\t/**\n\t * ARIA role for accessibility.\n\t */\n\t@property({ attribute: 'role' })\n\toverride role = 'article'\n\n\t/**\n\t * ARIA label for accessibility.\n\t */\n\t@property({ attribute: 'aria-label' })\n\toverride ariaLabel: string = ''\n\n\t// Internal state for interaction feedback\n\t@state() pressed = false\n\t@state() private ripples: Array<{ x: number; y: number; id: number }> = []\n\n\tprivate nextRippleId = 0\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Set appropriate ARIA attributes for interactive cards\n\t\tif (this.interactive && !this.disabled) {\n\t\t\tthis.setAttribute('tabindex', '0')\n\t\t\tif (!this.role || this.role === 'article') {\n\t\t\t\tthis.role = this.href ? 'link' : 'button'\n\t\t\t}\n\t\t}\n\t}\n\n\tupdated(changedProperties: Map<string, any>) {\n\t\tsuper.updated(changedProperties)\n\n\t\t// Update ARIA attributes when interactive or disabled state changes\n\t\tif (changedProperties.has('interactive') || changedProperties.has('disabled')) {\n\t\t\tif (this.interactive && !this.disabled) {\n\t\t\t\tthis.setAttribute('tabindex', '0')\n\t\t\t\tif (!this.role || this.role === 'article') {\n\t\t\t\t\tthis.role = this.href ? 'link' : 'button'\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.removeAttribute('tabindex')\n\t\t\t\tif (this.role === 'button' || this.role === 'link') {\n\t\t\t\t\tthis.role = 'article'\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate handleClick = (e: MouseEvent) => {\n\t\tif (this.disabled || !this.interactive) return\n\n\t\t// Add ripple effect at click position\n\t\tconst rect = this.getBoundingClientRect()\n\t\tconst x = e.clientX - rect.left\n\t\tconst y = e.clientY - rect.top\n\t\tconst id = this.nextRippleId++\n\n\t\tthis.ripples = [...this.ripples, { x, y, id }]\n\n\t\t// Remove ripple after animation completes\n\t\tsetTimeout(() => {\n\t\t\tthis.ripples = this.ripples.filter(r => r.id !== id)\n\t\t}, 600)\n\n\t\t// Navigate if href is provided\n\t\tif (this.href) {\n\t\t\tif (this.target === '_blank') {\n\t\t\t\twindow.open(this.href, '_blank')\n\t\t\t} else {\n\t\t\t\twindow.location.href = this.href\n\t\t\t}\n\t\t}\n\n\t\t// Dispatch click event for parent components to handle\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent('schmancy-click', {\n\t\t\t\tdetail: { value: this.type },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\tprivate handleKeyDown = (e: KeyboardEvent) => {\n\t\tif (this.disabled || !this.interactive) return\n\n\t\t// Activate on Enter or Space for keyboard navigation\n\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\te.preventDefault()\n\t\t\tthis.pressed = true\n\t\t\tthis.setAttribute('pressed', '')\n\n\t\t\t// Simulate click\n\t\t\tconst rect = this.getBoundingClientRect()\n\t\t\tconst x = rect.width / 2\n\t\t\tconst y = rect.height / 2\n\t\t\tconst id = this.nextRippleId++\n\n\t\t\tthis.ripples = [...this.ripples, { x, y, id }]\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.ripples = this.ripples.filter(r => r.id !== id)\n\t\t\t}, 600)\n\n\t\t\tif (this.href) {\n\t\t\t\tif (this.target === '_blank') {\n\t\t\t\t\twindow.open(this.href, '_blank')\n\t\t\t\t} else {\n\t\t\t\t\twindow.location.href = this.href\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent('schmancy-click', {\n\t\t\t\t\tdetail: { value: this.type },\n\t\t\t\t\tbubbles: true,\n\t\t\t\t\tcomposed: true,\n\t\t\t\t}),\n\t\t\t)\n\t\t}\n\t}\n\n\tprivate handleKeyUp = (e: KeyboardEvent) => {\n\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\tthis.pressed = false\n\t\t\tthis.removeAttribute('pressed')\n\t\t}\n\t}\n\n\tprivate handleMouseDown = () => {\n\t\tif (this.disabled || !this.interactive) return\n\t\tthis.pressed = true\n\t\tthis.setAttribute('pressed', '')\n\t}\n\n\tprivate handleMouseUp = () => {\n\t\tthis.pressed = false\n\t\tthis.removeAttribute('pressed')\n\t}\n\n\tprivate handleMouseLeave = () => {\n\t\tthis.pressed = false\n\t\tthis.removeAttribute('pressed')\n\t}\n\n\tprotected render() {\n\t\tconst containerClasses = classMap({\n\t\t\t'card-container': true,\n\t\t\tinteractive: this.interactive && !this.disabled,\n\t\t})\n\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=${containerClasses}\n\t\t\t\t@click=${this.handleClick}\n\t\t\t\t@keydown=${this.handleKeyDown}\n\t\t\t\t@keyup=${this.handleKeyUp}\n\t\t\t\t@mousedown=${this.handleMouseDown}\n\t\t\t\t@mouseup=${this.handleMouseUp}\n\t\t\t\t@mouseleave=${this.handleMouseLeave}\n\t\t\t\taria-label=${ifDefined(this.ariaLabel)}\n\t\t\t\taria-disabled=${this.disabled ? 'true' : 'false'}\n\t\t\t>\n\t\t\t\t<!-- State layer for hover/focus/pressed states -->\n\t\t\t\t<div class=\"state-layer\"></div>\n\n\t\t\t\t<!-- Ripple container for click effects -->\n\t\t\t\t${this.interactive\n\t\t\t\t\t? html`\n\t\t\t\t\t\t\t<div class=\"ripple-container\">\n\t\t\t\t\t\t\t\t${this.ripples.map(\n\t\t\t\t\t\t\t\t\tripple => html`\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\tclass=\"ripple\"\n\t\t\t\t\t\t\t\t\t\t\tstyle=\"\n\t\t\t\t\t\t\t\t\t\t\t\tleft: ${ripple.x}px;\n\t\t\t\t\t\t\t\t\t\t\t\ttop: ${ripple.y}px;\n\t\t\t\t\t\t\t\t\t\t\t\twidth: 20px;\n\t\t\t\t\t\t\t\t\t\t\t\theight: 20px;\n\t\t\t\t\t\t\t\t\t\t\t\tmargin-left: -10px;\n\t\t\t\t\t\t\t\t\t\t\t\tmargin-top: -10px;\n\t\t\t\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\t\t\t></span>\n\t\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t`\n\t\t\t\t\t: ''}\n\n\t\t\t\t<!-- Card content -->\n\t\t\t\t<div class=\"content\">\n\t\t\t\t\t<slot></slot>\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-card': SchmancyCard\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n/**\n * @element schmancy-card-content\n */\n@customElement('schmancy-card-content')\nexport default class SchmancyCardContent extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tpadding: 1rem;\n\t}\n`) {\n\tprotected render(): unknown {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-content': SchmancyCardContent\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n/**\n * @element schmancy-card-media\n */\n@customElement('schmancy-card-media')\nexport default class SchmancyCardMedia extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\theight: 200px;\n\t\toverflow: hidden;\n\t}\n\t\n\t/* Allow height to be overridden when used in flex/grid layouts */\n\t:host-context(.h-full) {\n\t\theight: 100%;\n\t}\n\t\n\t::slotted(img),\n\timg {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tobject-position: center;\n\t}\n\t\n\t/* Object fit styles based on fit attribute */\n\t:host([fit=\"contain\"]) img,\n\t:host([fit=\"contain\"]) ::slotted(img) {\n\t\tobject-fit: contain;\n\t}\n\t\n\t:host([fit=\"cover\"]) img,\n\t:host([fit=\"cover\"]) ::slotted(img) {\n\t\tobject-fit: cover;\n\t}\n\t\n\t:host([fit=\"fill\"]) img,\n\t:host([fit=\"fill\"]) ::slotted(img) {\n\t\tobject-fit: fill;\n\t}\n\t\n\t:host([fit=\"none\"]) img,\n\t:host([fit=\"none\"]) ::slotted(img) {\n\t\tobject-fit: none;\n\t}\n\t\n\t:host([fit=\"scale-down\"]) img,\n\t:host([fit=\"scale-down\"]) ::slotted(img) {\n\t\tobject-fit: scale-down;\n\t}\n`) {\n\t@property({ type: String, reflect: true })\n\tsrc: string = ''\n\n\t@property({ type: String, reflect: true })\n\tfit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down' = 'contain'\n\t\n\t@property({ type: String })\n\talt: string = ''\n\n\tprotected render(): unknown {\n\t\t// If src is provided, render an img element\n\t\t// Otherwise, allow users to slot their own content\n\t\treturn this.src \n\t\t\t? html`<img src=\"${this.src}\" alt=\"${this.alt}\" />` \n\t\t\t: html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-media': SchmancyCardMedia\n\t}\n}\n"],"names":["SchmancyCardAction","TailwindElement","css","render","html","customElement","SchmancyCard","super","arguments","this","type","interactive","disabled","dragged","role","ariaLabel","pressed","ripples","nextRippleId","handleClick","e","rect","getBoundingClientRect","x","clientX","left","y","clientY","top","id","setTimeout","filter","r","href","target","window","open","location","dispatchEvent","CustomEvent","detail","value","bubbles","composed","handleKeyDown","key","preventDefault","setAttribute","width","height","handleKeyUp","removeAttribute","handleMouseDown","handleMouseUp","handleMouseLeave","connectedCallback","changedProperties","updated","has","containerClasses","classMap","ifDefined","map","ripple","shadowRootOptions","LitElement","mode","delegatesFocus","__decorateClass","property","reflect","prototype","Boolean","attribute","state","SchmancyCardContent","SchmancyCardMedia","constructor","src","fit","alt","String"],"mappings":"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"}
@@ -2,8 +2,8 @@ import { fromEvent as l, takeUntil as r, tap as c, filter as f } from "rxjs";
2
2
  import "lit/directives/class-map.js";
3
3
  import "lit/directives/style-map.js";
4
4
  import { customElement as d, queryAssignedElements as g, query as E } from "lit/decorators.js";
5
- import { T as w } from "./tailwind.mixin-Cwbr8x57.js";
6
- import { $ as v } from "./litElement.mixin-Bj0zv3lK.js";
5
+ import { T as w } from "./tailwind.mixin-C13RR5x6.js";
6
+ import { $ as v } from "./litElement.mixin-Efwm8boA.js";
7
7
  import { css as b, html as y } from "lit";
8
8
  import { offset as x, flip as k, shift as M, size as P, computePosition as p, autoUpdate as O } from "@floating-ui/dom";
9
9
  var j = Object.getOwnPropertyDescriptor;
@@ -96,4 +96,4 @@ let m = class extends w(b`
96
96
  }
97
97
  };
98
98
  u([g({ flatten: !0, slot: "button" })], m.prototype, "buttonElement", 2), u([E("#menu")], m.prototype, "menuElement", 2), m = u([d("schmancy-menu")], m);
99
- //# sourceMappingURL=menu-CATzB9tA.js.map
99
+ //# sourceMappingURL=menu-CusvB2dY.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu-CATzB9tA.js","sources":["../src/menu/menu-item.ts","../src/menu/menu.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { fromEvent, takeUntil } from 'rxjs'\n\n@customElement('schmancy-menu-item')\nexport default class SchmancyMenuItem extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(this, 'click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(e => {\n\t\t\t\te.stopPropagation()\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('schmancy-menu-item-click', {\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t}\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<schmancy-list-item>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-list-item>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu-item': SchmancyMenuItem\n\t}\n}\n","import { autoUpdate, computePosition, flip, offset, shift, size } from '@floating-ui/dom'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, query, queryAssignedElements } from 'lit/decorators.js'\nimport { filter, fromEvent, takeUntil, tap } from 'rxjs'\n\n@customElement('schmancy-menu')\nexport default class SchmancyMenu extends TailwindElement(css`\n\t:host {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t}\n\n\t#menu {\n\t\tdisplay: none;\n\t}\n\n\t#menu[data-show='true'] {\n\t\tdisplay: block;\n\t}\n`) {\n\t@queryAssignedElements({ flatten: true, slot: 'button' })\n\tbuttonElement!: Array<HTMLElement>\n\n\t@query('#menu') menuElement!: HTMLElement\n\n\tprivate cleanup?: any\n\n\tprivate getMiddleware() {\n\t\treturn [\n\t\t\toffset(5),\n\t\t\tflip(),\n\t\t\tshift({ padding: 5 }),\n\t\t\tsize({\n\t\t\t\tapply({ availableHeight, elements }) {\n\t\t\t\t\telements.floating.style.maxHeight = `${availableHeight}px`\n\t\t\t\t},\n\t\t\t}),\n\t\t]\n\t}\n\n\tasync updatePosition() {\n\t\tif (!this.buttonElement[0] || !this.menuElement) {\n\t\t\treturn\n\t\t}\n\n\t\tawait computePosition(this.buttonElement[0], this.menuElement, {\n\t\t\tplacement: 'bottom-start',\n\t\t\tmiddleware: this.getMiddleware(),\n\t\t}).then(({ x, y }) => {\n\t\t\tObject.assign(this.menuElement.style, {\n\t\t\t\tleft: `${x}px`,\n\t\t\t\ttop: `${y}px`,\n\t\t\t})\n\t\t})\n\t}\n\n\tprivate showMenu() {\n\t\tif (!this.buttonElement[0] || !this.menuElement) return\n\n\t\tthis.menuElement.dataset.show = 'true'\n\n\t\tthis.cleanup = autoUpdate(this.buttonElement[0], this.menuElement, () => {\n\t\t\tcomputePosition(this.buttonElement[0], this.menuElement, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: this.getMiddleware(),\n\t\t\t}).then(({ x, y, strategy }) => {\n\t\t\t\tObject.assign(this.menuElement.style, {\n\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\ttop: `${y}px`,\n\t\t\t\t\tposition: strategy,\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 100,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\n\t\tanimation.onfinish = () => {}\n\t}\n\n\tprivate async hideMenu() {\n\t\t// Make hideMenu async\n\t\tif (this.cleanup) {\n\t\t\tawait this.cleanup() // Await the cleanup!\n\t\t\tthis.cleanup = undefined\n\t\t}\n\t\tthis.menuElement.dataset.show = 'false'\n\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 75,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\t\tanimation.onfinish = () => {} // No need for a promise now\n\t}\n\n\tfirstUpdated(): void {\n\t\tfromEvent(this.buttonElement, 'click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.showMenu()\n\t\t\t})\n\n\t\tfromEvent(this, 'schmancy-menu-item-click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.hideMenu()\n\t\t\t})\n\n\t\tfromEvent(document, 'click')\n\t\t\t.pipe(\n\t\t\t\tfilter((e: Event) => !this.contains(e.target as Node)),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\ttap(() => {\n\t\t\t\t\tif (this.menuElement.dataset.show === 'true') {\n\t\t\t\t\t\tthis.hideMenu()\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<slot name=\"button\">\n\t\t\t\t<schmancy-icon-button> more_vert </schmancy-icon-button>\n\t\t\t</slot>\n\t\t\t<ul\n\t\t\t\tid=\"menu\"\n\t\t\t\tclass=\"absolute z-50 border-outlineVariant rounded-md min-w-[160px] max-w-[320px] w-max bg-surface-default max-h-[90vh] shadow-1 overflow-y-auto\"\n\t\t\t\trole=\"menu\"\n\t\t\t\taria-orientation=\"vertical\"\n\t\t\t\taria-labelledby=\"options-menu-4-button\"\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</ul>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu': SchmancyMenu\n\t}\n}\n"],"names":["SchmancyMenuItem","$LitElement","css","connectedCallback","super","fromEvent","this","pipe","takeUntil","disconnecting","subscribe","e","stopPropagation","dispatchEvent","CustomEvent","bubbles","composed","render","html","customElement","SchmancyMenu","TailwindElement","getMiddleware","offset","flip","shift","padding","size","apply","availableHeight","elements","floating","style","maxHeight","buttonElement","menuElement","computePosition","placement","middleware","then","x","y","Object","assign","left","top","showMenu","dataset","show","cleanup","autoUpdate","strategy","position","animate","opacity","transform","duration","easing","onfinish","hideMenu","firstUpdated","tap","document","filter","contains","target","__decorateClass","queryAssignedElements","flatten","slot","prototype","query"],"mappings":"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"}
1
+ {"version":3,"file":"menu-CusvB2dY.js","sources":["../src/menu/menu-item.ts","../src/menu/menu.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { fromEvent, takeUntil } from 'rxjs'\n\n@customElement('schmancy-menu-item')\nexport default class SchmancyMenuItem extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(this, 'click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(e => {\n\t\t\t\te.stopPropagation()\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('schmancy-menu-item-click', {\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t}\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<schmancy-list-item>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-list-item>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu-item': SchmancyMenuItem\n\t}\n}\n","import { autoUpdate, computePosition, flip, offset, shift, size } from '@floating-ui/dom'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, query, queryAssignedElements } from 'lit/decorators.js'\nimport { filter, fromEvent, takeUntil, tap } from 'rxjs'\n\n@customElement('schmancy-menu')\nexport default class SchmancyMenu extends TailwindElement(css`\n\t:host {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t}\n\n\t#menu {\n\t\tdisplay: none;\n\t}\n\n\t#menu[data-show='true'] {\n\t\tdisplay: block;\n\t}\n`) {\n\t@queryAssignedElements({ flatten: true, slot: 'button' })\n\tbuttonElement!: Array<HTMLElement>\n\n\t@query('#menu') menuElement!: HTMLElement\n\n\tprivate cleanup?: any\n\n\tprivate getMiddleware() {\n\t\treturn [\n\t\t\toffset(5),\n\t\t\tflip(),\n\t\t\tshift({ padding: 5 }),\n\t\t\tsize({\n\t\t\t\tapply({ availableHeight, elements }) {\n\t\t\t\t\telements.floating.style.maxHeight = `${availableHeight}px`\n\t\t\t\t},\n\t\t\t}),\n\t\t]\n\t}\n\n\tasync updatePosition() {\n\t\tif (!this.buttonElement[0] || !this.menuElement) {\n\t\t\treturn\n\t\t}\n\n\t\tawait computePosition(this.buttonElement[0], this.menuElement, {\n\t\t\tplacement: 'bottom-start',\n\t\t\tmiddleware: this.getMiddleware(),\n\t\t}).then(({ x, y }) => {\n\t\t\tObject.assign(this.menuElement.style, {\n\t\t\t\tleft: `${x}px`,\n\t\t\t\ttop: `${y}px`,\n\t\t\t})\n\t\t})\n\t}\n\n\tprivate showMenu() {\n\t\tif (!this.buttonElement[0] || !this.menuElement) return\n\n\t\tthis.menuElement.dataset.show = 'true'\n\n\t\tthis.cleanup = autoUpdate(this.buttonElement[0], this.menuElement, () => {\n\t\t\tcomputePosition(this.buttonElement[0], this.menuElement, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: this.getMiddleware(),\n\t\t\t}).then(({ x, y, strategy }) => {\n\t\t\t\tObject.assign(this.menuElement.style, {\n\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\ttop: `${y}px`,\n\t\t\t\t\tposition: strategy,\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 100,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\n\t\tanimation.onfinish = () => {}\n\t}\n\n\tprivate async hideMenu() {\n\t\t// Make hideMenu async\n\t\tif (this.cleanup) {\n\t\t\tawait this.cleanup() // Await the cleanup!\n\t\t\tthis.cleanup = undefined\n\t\t}\n\t\tthis.menuElement.dataset.show = 'false'\n\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 75,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\t\tanimation.onfinish = () => {} // No need for a promise now\n\t}\n\n\tfirstUpdated(): void {\n\t\tfromEvent(this.buttonElement, 'click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.showMenu()\n\t\t\t})\n\n\t\tfromEvent(this, 'schmancy-menu-item-click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.hideMenu()\n\t\t\t})\n\n\t\tfromEvent(document, 'click')\n\t\t\t.pipe(\n\t\t\t\tfilter((e: Event) => !this.contains(e.target as Node)),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\ttap(() => {\n\t\t\t\t\tif (this.menuElement.dataset.show === 'true') {\n\t\t\t\t\t\tthis.hideMenu()\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<slot name=\"button\">\n\t\t\t\t<schmancy-icon-button> more_vert </schmancy-icon-button>\n\t\t\t</slot>\n\t\t\t<ul\n\t\t\t\tid=\"menu\"\n\t\t\t\tclass=\"absolute z-50 border-outlineVariant rounded-md min-w-[160px] max-w-[320px] w-max bg-surface-default max-h-[90vh] shadow-1 overflow-y-auto\"\n\t\t\t\trole=\"menu\"\n\t\t\t\taria-orientation=\"vertical\"\n\t\t\t\taria-labelledby=\"options-menu-4-button\"\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</ul>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu': SchmancyMenu\n\t}\n}\n"],"names":["SchmancyMenuItem","$LitElement","css","connectedCallback","super","fromEvent","this","pipe","takeUntil","disconnecting","subscribe","e","stopPropagation","dispatchEvent","CustomEvent","bubbles","composed","render","html","customElement","SchmancyMenu","TailwindElement","getMiddleware","offset","flip","shift","padding","size","apply","availableHeight","elements","floating","style","maxHeight","buttonElement","menuElement","computePosition","placement","middleware","then","x","y","Object","assign","left","top","showMenu","dataset","show","cleanup","autoUpdate","strategy","position","animate","opacity","transform","duration","easing","onfinish","hideMenu","firstUpdated","tap","document","filter","contains","target","__decorateClass","queryAssignedElements","flatten","slot","prototype","query"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- "use strict";const i=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const c=require("lit/decorators.js"),d=require("./tailwind.mixin-B-VcpMHn.cjs"),b=require("./litElement.mixin-CjRG_9tZ.cjs"),u=require("lit"),l=require("@floating-ui/dom");var y=Object.getOwnPropertyDescriptor;let p=class extends b.$LitElement(u.css`
1
+ "use strict";const i=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const c=require("lit/decorators.js"),d=require("./tailwind.mixin-O9jmUJ7m.cjs"),b=require("./litElement.mixin-DFG5Ckp7.cjs"),u=require("lit"),l=require("@floating-ui/dom");var y=Object.getOwnPropertyDescriptor;let p=class extends b.$LitElement(u.css`
2
2
  :host {
3
3
  display: block;
4
4
  }
@@ -33,4 +33,4 @@
33
33
  <slot></slot>
34
34
  </ul>
35
35
  `}};h([c.queryAssignedElements({flatten:!0,slot:"button"})],m.prototype,"buttonElement",2),h([c.query("#menu")],m.prototype,"menuElement",2),m=h([c.customElement("schmancy-menu")],m);
36
- //# sourceMappingURL=menu-BOeTdvk_.cjs.map
36
+ //# sourceMappingURL=menu-Delwe6al.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu-BOeTdvk_.cjs","sources":["../src/menu/menu-item.ts","../src/menu/menu.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { fromEvent, takeUntil } from 'rxjs'\n\n@customElement('schmancy-menu-item')\nexport default class SchmancyMenuItem extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(this, 'click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(e => {\n\t\t\t\te.stopPropagation()\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('schmancy-menu-item-click', {\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t}\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<schmancy-list-item>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-list-item>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu-item': SchmancyMenuItem\n\t}\n}\n","import { autoUpdate, computePosition, flip, offset, shift, size } from '@floating-ui/dom'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, query, queryAssignedElements } from 'lit/decorators.js'\nimport { filter, fromEvent, takeUntil, tap } from 'rxjs'\n\n@customElement('schmancy-menu')\nexport default class SchmancyMenu extends TailwindElement(css`\n\t:host {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t}\n\n\t#menu {\n\t\tdisplay: none;\n\t}\n\n\t#menu[data-show='true'] {\n\t\tdisplay: block;\n\t}\n`) {\n\t@queryAssignedElements({ flatten: true, slot: 'button' })\n\tbuttonElement!: Array<HTMLElement>\n\n\t@query('#menu') menuElement!: HTMLElement\n\n\tprivate cleanup?: any\n\n\tprivate getMiddleware() {\n\t\treturn [\n\t\t\toffset(5),\n\t\t\tflip(),\n\t\t\tshift({ padding: 5 }),\n\t\t\tsize({\n\t\t\t\tapply({ availableHeight, elements }) {\n\t\t\t\t\telements.floating.style.maxHeight = `${availableHeight}px`\n\t\t\t\t},\n\t\t\t}),\n\t\t]\n\t}\n\n\tasync updatePosition() {\n\t\tif (!this.buttonElement[0] || !this.menuElement) {\n\t\t\treturn\n\t\t}\n\n\t\tawait computePosition(this.buttonElement[0], this.menuElement, {\n\t\t\tplacement: 'bottom-start',\n\t\t\tmiddleware: this.getMiddleware(),\n\t\t}).then(({ x, y }) => {\n\t\t\tObject.assign(this.menuElement.style, {\n\t\t\t\tleft: `${x}px`,\n\t\t\t\ttop: `${y}px`,\n\t\t\t})\n\t\t})\n\t}\n\n\tprivate showMenu() {\n\t\tif (!this.buttonElement[0] || !this.menuElement) return\n\n\t\tthis.menuElement.dataset.show = 'true'\n\n\t\tthis.cleanup = autoUpdate(this.buttonElement[0], this.menuElement, () => {\n\t\t\tcomputePosition(this.buttonElement[0], this.menuElement, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: this.getMiddleware(),\n\t\t\t}).then(({ x, y, strategy }) => {\n\t\t\t\tObject.assign(this.menuElement.style, {\n\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\ttop: `${y}px`,\n\t\t\t\t\tposition: strategy,\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 100,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\n\t\tanimation.onfinish = () => {}\n\t}\n\n\tprivate async hideMenu() {\n\t\t// Make hideMenu async\n\t\tif (this.cleanup) {\n\t\t\tawait this.cleanup() // Await the cleanup!\n\t\t\tthis.cleanup = undefined\n\t\t}\n\t\tthis.menuElement.dataset.show = 'false'\n\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 75,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\t\tanimation.onfinish = () => {} // No need for a promise now\n\t}\n\n\tfirstUpdated(): void {\n\t\tfromEvent(this.buttonElement, 'click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.showMenu()\n\t\t\t})\n\n\t\tfromEvent(this, 'schmancy-menu-item-click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.hideMenu()\n\t\t\t})\n\n\t\tfromEvent(document, 'click')\n\t\t\t.pipe(\n\t\t\t\tfilter((e: Event) => !this.contains(e.target as Node)),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\ttap(() => {\n\t\t\t\t\tif (this.menuElement.dataset.show === 'true') {\n\t\t\t\t\t\tthis.hideMenu()\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<slot name=\"button\">\n\t\t\t\t<schmancy-icon-button> more_vert </schmancy-icon-button>\n\t\t\t</slot>\n\t\t\t<ul\n\t\t\t\tid=\"menu\"\n\t\t\t\tclass=\"absolute z-50 border-outlineVariant rounded-md min-w-[160px] max-w-[320px] w-max bg-surface-default max-h-[90vh] shadow-1 overflow-y-auto\"\n\t\t\t\trole=\"menu\"\n\t\t\t\taria-orientation=\"vertical\"\n\t\t\t\taria-labelledby=\"options-menu-4-button\"\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</ul>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu': SchmancyMenu\n\t}\n}\n"],"names":["SchmancyMenuItem","$LitElement","css","connectedCallback","super","fromEvent","this","pipe","takeUntil","disconnecting","subscribe","e","stopPropagation","dispatchEvent","CustomEvent","bubbles","composed","render","html","customElement","SchmancyMenu","TailwindElement","getMiddleware","offset","flip","shift","padding","size","apply","availableHeight","elements","floating","style","maxHeight","updatePosition","buttonElement","menuElement","computePosition","placement","middleware","then","x","y","Object","assign","left","top","showMenu","dataset","show","cleanup","autoUpdate","strategy","position","animate","opacity","transform","duration","easing","onfinish","hideMenu","firstUpdated","tap","document","filter","contains","target","__decorateClass","queryAssignedElements","flatten","slot","prototype","query"],"mappings":"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"}
1
+ {"version":3,"file":"menu-Delwe6al.cjs","sources":["../src/menu/menu-item.ts","../src/menu/menu.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { fromEvent, takeUntil } from 'rxjs'\n\n@customElement('schmancy-menu-item')\nexport default class SchmancyMenuItem extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(this, 'click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(e => {\n\t\t\t\te.stopPropagation()\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('schmancy-menu-item-click', {\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t}\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<schmancy-list-item>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-list-item>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu-item': SchmancyMenuItem\n\t}\n}\n","import { autoUpdate, computePosition, flip, offset, shift, size } from '@floating-ui/dom'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, query, queryAssignedElements } from 'lit/decorators.js'\nimport { filter, fromEvent, takeUntil, tap } from 'rxjs'\n\n@customElement('schmancy-menu')\nexport default class SchmancyMenu extends TailwindElement(css`\n\t:host {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t}\n\n\t#menu {\n\t\tdisplay: none;\n\t}\n\n\t#menu[data-show='true'] {\n\t\tdisplay: block;\n\t}\n`) {\n\t@queryAssignedElements({ flatten: true, slot: 'button' })\n\tbuttonElement!: Array<HTMLElement>\n\n\t@query('#menu') menuElement!: HTMLElement\n\n\tprivate cleanup?: any\n\n\tprivate getMiddleware() {\n\t\treturn [\n\t\t\toffset(5),\n\t\t\tflip(),\n\t\t\tshift({ padding: 5 }),\n\t\t\tsize({\n\t\t\t\tapply({ availableHeight, elements }) {\n\t\t\t\t\telements.floating.style.maxHeight = `${availableHeight}px`\n\t\t\t\t},\n\t\t\t}),\n\t\t]\n\t}\n\n\tasync updatePosition() {\n\t\tif (!this.buttonElement[0] || !this.menuElement) {\n\t\t\treturn\n\t\t}\n\n\t\tawait computePosition(this.buttonElement[0], this.menuElement, {\n\t\t\tplacement: 'bottom-start',\n\t\t\tmiddleware: this.getMiddleware(),\n\t\t}).then(({ x, y }) => {\n\t\t\tObject.assign(this.menuElement.style, {\n\t\t\t\tleft: `${x}px`,\n\t\t\t\ttop: `${y}px`,\n\t\t\t})\n\t\t})\n\t}\n\n\tprivate showMenu() {\n\t\tif (!this.buttonElement[0] || !this.menuElement) return\n\n\t\tthis.menuElement.dataset.show = 'true'\n\n\t\tthis.cleanup = autoUpdate(this.buttonElement[0], this.menuElement, () => {\n\t\t\tcomputePosition(this.buttonElement[0], this.menuElement, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: this.getMiddleware(),\n\t\t\t}).then(({ x, y, strategy }) => {\n\t\t\t\tObject.assign(this.menuElement.style, {\n\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\ttop: `${y}px`,\n\t\t\t\t\tposition: strategy,\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 100,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\n\t\tanimation.onfinish = () => {}\n\t}\n\n\tprivate async hideMenu() {\n\t\t// Make hideMenu async\n\t\tif (this.cleanup) {\n\t\t\tawait this.cleanup() // Await the cleanup!\n\t\t\tthis.cleanup = undefined\n\t\t}\n\t\tthis.menuElement.dataset.show = 'false'\n\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 75,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\t\tanimation.onfinish = () => {} // No need for a promise now\n\t}\n\n\tfirstUpdated(): void {\n\t\tfromEvent(this.buttonElement, 'click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.showMenu()\n\t\t\t})\n\n\t\tfromEvent(this, 'schmancy-menu-item-click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.hideMenu()\n\t\t\t})\n\n\t\tfromEvent(document, 'click')\n\t\t\t.pipe(\n\t\t\t\tfilter((e: Event) => !this.contains(e.target as Node)),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\ttap(() => {\n\t\t\t\t\tif (this.menuElement.dataset.show === 'true') {\n\t\t\t\t\t\tthis.hideMenu()\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<slot name=\"button\">\n\t\t\t\t<schmancy-icon-button> more_vert </schmancy-icon-button>\n\t\t\t</slot>\n\t\t\t<ul\n\t\t\t\tid=\"menu\"\n\t\t\t\tclass=\"absolute z-50 border-outlineVariant rounded-md min-w-[160px] max-w-[320px] w-max bg-surface-default max-h-[90vh] shadow-1 overflow-y-auto\"\n\t\t\t\trole=\"menu\"\n\t\t\t\taria-orientation=\"vertical\"\n\t\t\t\taria-labelledby=\"options-menu-4-button\"\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</ul>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu': SchmancyMenu\n\t}\n}\n"],"names":["SchmancyMenuItem","$LitElement","css","connectedCallback","super","fromEvent","this","pipe","takeUntil","disconnecting","subscribe","e","stopPropagation","dispatchEvent","CustomEvent","bubbles","composed","render","html","customElement","SchmancyMenu","TailwindElement","getMiddleware","offset","flip","shift","padding","size","apply","availableHeight","elements","floating","style","maxHeight","updatePosition","buttonElement","menuElement","computePosition","placement","middleware","then","x","y","Object","assign","left","top","showMenu","dataset","show","cleanup","autoUpdate","strategy","position","animate","opacity","transform","duration","easing","onfinish","hideMenu","firstUpdated","tap","document","filter","contains","target","__decorateClass","queryAssignedElements","flatten","slot","prototype","query"],"mappings":"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"}
package/dist/menu.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";require("./menu-BOeTdvk_.cjs");
1
+ "use strict";require("./menu-Delwe6al.cjs");
2
2
  //# sourceMappingURL=menu.cjs.map
package/dist/menu.js CHANGED
@@ -1,2 +1,2 @@
1
- import "./menu-CATzB9tA.js";
1
+ import "./menu-CusvB2dY.js";
2
2
  //# sourceMappingURL=menu.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./avatar-C8PC_n9i.cjs");exports.$drawer=e.$drawer,Object.defineProperty(exports,"SchmancyDrawerAppbar",{enumerable:!0,get:()=>e.SchmancyDrawerAppbar}),exports.SchmancyDrawerNavbarMode=e.SchmancyDrawerNavbarMode,exports.SchmancyDrawerNavbarState=e.SchmancyDrawerNavbarState,Object.defineProperty(exports,"SchmancyNavigationDrawer",{enumerable:!0,get:()=>e.SchmancyNavigationDrawer}),Object.defineProperty(exports,"SchmancyNavigationDrawerContent",{enumerable:!0,get:()=>e.SchmancyNavigationDrawerContent}),Object.defineProperty(exports,"SchmancyNavigationDrawerSidebar",{enumerable:!0,get:()=>e.SchmancyNavigationDrawerSidebar}),exports.schmancyNavDrawer=e.schmancyNavDrawer;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./avatar-CGGPvamo.cjs");exports.$drawer=e.$drawer,Object.defineProperty(exports,"SchmancyDrawerAppbar",{enumerable:!0,get:()=>e.SchmancyDrawerAppbar}),exports.SchmancyDrawerNavbarMode=e.SchmancyDrawerNavbarMode,exports.SchmancyDrawerNavbarState=e.SchmancyDrawerNavbarState,Object.defineProperty(exports,"SchmancyNavigationDrawer",{enumerable:!0,get:()=>e.SchmancyNavigationDrawer}),Object.defineProperty(exports,"SchmancyNavigationDrawerContent",{enumerable:!0,get:()=>e.SchmancyNavigationDrawerContent}),Object.defineProperty(exports,"SchmancyNavigationDrawerSidebar",{enumerable:!0,get:()=>e.SchmancyNavigationDrawerSidebar}),exports.schmancyNavDrawer=e.schmancyNavDrawer;
2
2
  //# sourceMappingURL=nav-drawer.cjs.map
@@ -1,4 +1,4 @@
1
- import { $ as c, k as e, m as n, n as m, o as s, l as o, p as t, j as w } from "./avatar-CKp3Ukk4.js";
1
+ import { $ as c, k as e, m as n, n as m, o as s, l as o, p as t, j as w } from "./avatar-CH-EctMv.js";
2
2
  export {
3
3
  c as $drawer,
4
4
  e as SchmancyDrawerAppbar,