@mhmo91/schmancy 0.5.3 → 0.5.4

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 (305) hide show
  1. package/dist/{animated-text-B1DKGEyL.js → animated-text-BG8EZ5Vg.js} +3 -3
  2. package/dist/{animated-text-B1DKGEyL.js.map → animated-text-BG8EZ5Vg.js.map} +1 -1
  3. package/dist/{animated-text-DBRSI9xt.cjs → animated-text-BIuI4cc4.cjs} +2 -2
  4. package/dist/{animated-text-DBRSI9xt.cjs.map → animated-text-BIuI4cc4.cjs.map} +1 -1
  5. package/dist/animated-text.cjs +1 -1
  6. package/dist/animated-text.js +1 -1
  7. package/dist/area.cjs +1 -1
  8. package/dist/{area.component-3yEm0Ikj.js → area.component-20kF-_Qv.js} +3 -3
  9. package/dist/{area.component-3yEm0Ikj.js.map → area.component-20kF-_Qv.js.map} +1 -1
  10. package/dist/{area.component-XtxnlVW-.cjs → area.component-DGqP6nNX.cjs} +2 -2
  11. package/dist/{area.component-XtxnlVW-.cjs.map → area.component-DGqP6nNX.cjs.map} +1 -1
  12. package/dist/area.js +1 -1
  13. package/dist/{autocomplete-BFN4UGNs.cjs → autocomplete-BrT-pQ8z.cjs} +2 -2
  14. package/dist/{autocomplete-BFN4UGNs.cjs.map → autocomplete-BrT-pQ8z.cjs.map} +1 -1
  15. package/dist/{autocomplete-DpZQqAGm.js → autocomplete-Cz3oBX-j.js} +3 -3
  16. package/dist/{autocomplete-DpZQqAGm.js.map → autocomplete-Cz3oBX-j.js.map} +1 -1
  17. package/dist/autocomplete.cjs +1 -1
  18. package/dist/autocomplete.js +1 -1
  19. package/dist/{avatar-BUaTIoft.js → avatar-DVWNjWy4.js} +48 -48
  20. package/dist/{avatar-BUaTIoft.js.map → avatar-DVWNjWy4.js.map} +1 -1
  21. package/dist/{avatar-C-7vIiiN.cjs → avatar-b0PhZQ9Z.cjs} +2 -2
  22. package/dist/{avatar-C-7vIiiN.cjs.map → avatar-b0PhZQ9Z.cjs.map} +1 -1
  23. package/dist/badge.cjs +1 -1
  24. package/dist/badge.js +1 -1
  25. package/dist/{boat-CsVNMu2n.cjs → boat-BSSbcXhK.cjs} +2 -2
  26. package/dist/{boat-CsVNMu2n.cjs.map → boat-BSSbcXhK.cjs.map} +1 -1
  27. package/dist/{boat-C6oKTIlM.js → boat-CXeJyYor.js} +2 -2
  28. package/dist/{boat-C6oKTIlM.js.map → boat-CXeJyYor.js.map} +1 -1
  29. package/dist/boat.cjs +1 -1
  30. package/dist/boat.js +1 -1
  31. package/dist/busy.cjs +1 -1
  32. package/dist/busy.js +1 -1
  33. package/dist/button.cjs +1 -1
  34. package/dist/button.js +1 -1
  35. package/dist/card.cjs +1 -1
  36. package/dist/card.js +1 -1
  37. package/dist/{checkbox-B5XA1Ugc.cjs → checkbox-BDzFjuVZ.cjs} +2 -2
  38. package/dist/{checkbox-B5XA1Ugc.cjs.map → checkbox-BDzFjuVZ.cjs.map} +1 -1
  39. package/dist/{checkbox-DSW62smU.js → checkbox-Bq4mScln.js} +2 -2
  40. package/dist/{checkbox-DSW62smU.js.map → checkbox-Bq4mScln.js.map} +1 -1
  41. package/dist/checkbox.cjs +1 -1
  42. package/dist/checkbox.js +1 -1
  43. package/dist/chips.cjs +1 -1
  44. package/dist/chips.js +1 -1
  45. package/dist/code-highlight.cjs +1 -1
  46. package/dist/code-highlight.js +1 -1
  47. package/dist/{code-preview-8XQAR_rg.js → code-preview-BsxUNU4E.js} +2 -2
  48. package/dist/{code-preview-8XQAR_rg.js.map → code-preview-BsxUNU4E.js.map} +1 -1
  49. package/dist/{code-preview-U3CqjP3A.cjs → code-preview-DMDMM4B5.cjs} +2 -2
  50. package/dist/{code-preview-U3CqjP3A.cjs.map → code-preview-DMDMM4B5.cjs.map} +1 -1
  51. package/dist/components.cjs +1 -1
  52. package/dist/components.js +1 -1
  53. package/dist/content-drawer.cjs +1 -1
  54. package/dist/content-drawer.js +1 -1
  55. package/dist/{date-range-1smHimq3.cjs → date-range-DVc1vq6S.cjs} +2 -2
  56. package/dist/{date-range-1smHimq3.cjs.map → date-range-DVc1vq6S.cjs.map} +1 -1
  57. package/dist/{date-range-Bgr1ok1D.js → date-range-Dr3UhAqr.js} +3 -3
  58. package/dist/{date-range-Bgr1ok1D.js.map → date-range-Dr3UhAqr.js.map} +1 -1
  59. package/dist/{date-range-inline-DyGBs-PG.cjs → date-range-inline-CL6CBm6E.cjs} +2 -2
  60. package/dist/{date-range-inline-DyGBs-PG.cjs.map → date-range-inline-CL6CBm6E.cjs.map} +1 -1
  61. package/dist/{date-range-inline-7g5AJrua.js → date-range-inline-DyjEz-HC.js} +3 -3
  62. package/dist/{date-range-inline-7g5AJrua.js.map → date-range-inline-DyjEz-HC.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.cjs +1 -1
  66. package/dist/date-range.js +1 -1
  67. package/dist/{delay-CtF14hCc.js → delay-D0jpRot4.js} +2 -2
  68. package/dist/{delay-CtF14hCc.js.map → delay-D0jpRot4.js.map} +1 -1
  69. package/dist/{delay-R0ZUrPTI.cjs → delay-DRVJP6DM.cjs} +2 -2
  70. package/dist/{delay-R0ZUrPTI.cjs.map → delay-DRVJP6DM.cjs.map} +1 -1
  71. package/dist/delay.cjs +1 -1
  72. package/dist/delay.js +1 -1
  73. package/dist/{details-CudVyRmo.cjs → details-CLEhb682.cjs} +2 -2
  74. package/dist/{details-CudVyRmo.cjs.map → details-CLEhb682.cjs.map} +1 -1
  75. package/dist/{details-DDhUTFpC.js → details-Cx5LoFyp.js} +2 -2
  76. package/dist/{details-DDhUTFpC.js.map → details-Cx5LoFyp.js.map} +1 -1
  77. package/dist/details.cjs +1 -1
  78. package/dist/details.js +1 -1
  79. package/dist/{dialog-content-DZ5VUwBo.js → dialog-content-DMCx9ntb.js} +3 -3
  80. package/dist/{dialog-content-DZ5VUwBo.js.map → dialog-content-DMCx9ntb.js.map} +1 -1
  81. package/dist/{dialog-content-D1aMHnPF.cjs → dialog-content-Wk0TffYD.cjs} +2 -2
  82. package/dist/{dialog-content-D1aMHnPF.cjs.map → dialog-content-Wk0TffYD.cjs.map} +1 -1
  83. package/dist/dialog.cjs +1 -1
  84. package/dist/dialog.js +1 -1
  85. package/dist/{divider-Dn6brh7T.js → divider-Bc7NcQOz.js} +3 -3
  86. package/dist/{divider-Dn6brh7T.js.map → divider-Bc7NcQOz.js.map} +1 -1
  87. package/dist/{divider-PDyRDKLg.cjs → divider-DY1HOECi.cjs} +2 -2
  88. package/dist/{divider-PDyRDKLg.cjs.map → divider-DY1HOECi.cjs.map} +1 -1
  89. package/dist/divider.cjs +1 -1
  90. package/dist/divider.js +1 -1
  91. package/dist/{dropdown-content-4VFUPSIJ.cjs → dropdown-content-5Rx-5ypA.cjs} +2 -2
  92. package/dist/{dropdown-content-4VFUPSIJ.cjs.map → dropdown-content-5Rx-5ypA.cjs.map} +1 -1
  93. package/dist/{dropdown-content-Cgj5pA_r.js → dropdown-content-DTMe37Q_.js} +3 -3
  94. package/dist/{dropdown-content-Cgj5pA_r.js.map → dropdown-content-DTMe37Q_.js.map} +1 -1
  95. package/dist/dropdown.cjs +1 -1
  96. package/dist/dropdown.js +1 -1
  97. package/dist/{email-recipients-DWMc4Kbm.js → email-recipients-3I5Q6q50.js} +5 -5
  98. package/dist/{email-recipients-DWMc4Kbm.js.map → email-recipients-3I5Q6q50.js.map} +1 -1
  99. package/dist/{email-recipients-CWuZ6PTF.cjs → email-recipients-Cnvf9Hj1.cjs} +2 -2
  100. package/dist/{email-recipients-CWuZ6PTF.cjs.map → email-recipients-Cnvf9Hj1.cjs.map} +1 -1
  101. package/dist/extra.cjs +1 -1
  102. package/dist/extra.js +1 -1
  103. package/dist/{flex-D7uKo3cp.js → flex-BVMUcxxI.js} +2 -2
  104. package/dist/{flex-D7uKo3cp.js.map → flex-BVMUcxxI.js.map} +1 -1
  105. package/dist/{flex-BNyBqVQE.cjs → flex-DVi7UxtI.cjs} +2 -2
  106. package/dist/{flex-BNyBqVQE.cjs.map → flex-DVi7UxtI.cjs.map} +1 -1
  107. package/dist/{form-Cl1dBHEC.cjs → form-BZ30LVtB.cjs} +2 -2
  108. package/dist/{form-Cl1dBHEC.cjs.map → form-BZ30LVtB.cjs.map} +1 -1
  109. package/dist/{form-B1eDJoVW.js → form-DfuC53cH.js} +2 -2
  110. package/dist/{form-B1eDJoVW.js.map → form-DfuC53cH.js.map} +1 -1
  111. package/dist/form.cjs +1 -1
  112. package/dist/form.js +1 -1
  113. package/dist/{formField.mixin-UB5HVdDM.cjs → formField.mixin-B77hpFRB.cjs} +2 -2
  114. package/dist/{formField.mixin-UB5HVdDM.cjs.map → formField.mixin-B77hpFRB.cjs.map} +1 -1
  115. package/dist/{formField.mixin-CVgvtBxj.js → formField.mixin-DXUNJs_o.js} +2 -2
  116. package/dist/{formField.mixin-CVgvtBxj.js.map → formField.mixin-DXUNJs_o.js.map} +1 -1
  117. package/dist/{icon-6lRY13IZ.cjs → icon-38EB7OR2.cjs} +2 -2
  118. package/dist/{icon-6lRY13IZ.cjs.map → icon-38EB7OR2.cjs.map} +1 -1
  119. package/dist/{icon-Bxm8o8R4.js → icon-Bomt4X0W.js} +2 -2
  120. package/dist/{icon-Bxm8o8R4.js.map → icon-Bomt4X0W.js.map} +1 -1
  121. package/dist/{icon-button-B9Xckdkv.cjs → icon-button-BmiMlhoE.cjs} +3 -3
  122. package/dist/icon-button-BmiMlhoE.cjs.map +1 -0
  123. package/dist/{icon-button-B4fsinj2.js → icon-button-CL5jmg3z.js} +4 -4
  124. package/dist/icon-button-CL5jmg3z.js.map +1 -0
  125. package/dist/icons.cjs +1 -1
  126. package/dist/icons.js +1 -1
  127. package/dist/index.cjs +1 -1
  128. package/dist/index.js +47 -47
  129. package/dist/{input-BrFENpX9.js → input-B_QNz5Lp.js} +3 -3
  130. package/dist/{input-BrFENpX9.js.map → input-B_QNz5Lp.js.map} +1 -1
  131. package/dist/{input-BJ73v2t7.cjs → input-KYCqb7-P.cjs} +2 -2
  132. package/dist/{input-BJ73v2t7.cjs.map → input-KYCqb7-P.cjs.map} +1 -1
  133. package/dist/input.cjs +1 -1
  134. package/dist/input.js +1 -1
  135. package/dist/layout.cjs +1 -1
  136. package/dist/layout.js +1 -1
  137. package/dist/{list-Cr5bjF_6.cjs → list-BguNeVQo.cjs} +2 -2
  138. package/dist/{list-Cr5bjF_6.cjs.map → list-BguNeVQo.cjs.map} +1 -1
  139. package/dist/{list-B11MYVeT.js → list-TM-IqNbA.js} +2 -2
  140. package/dist/{list-B11MYVeT.js.map → list-TM-IqNbA.js.map} +1 -1
  141. package/dist/list.cjs +1 -1
  142. package/dist/list.js +1 -1
  143. package/dist/{litElement.mixin-BnXm63YO.cjs → litElement.mixin-6T6ztev2.cjs} +2 -2
  144. package/dist/{litElement.mixin-BnXm63YO.cjs.map → litElement.mixin-6T6ztev2.cjs.map} +1 -1
  145. package/dist/{litElement.mixin-CAQ8pH9g.js → litElement.mixin-DvlT9GCm.js} +2 -2
  146. package/dist/{litElement.mixin-CAQ8pH9g.js.map → litElement.mixin-DvlT9GCm.js.map} +1 -1
  147. package/dist/mailbox.cjs +1 -1
  148. package/dist/mailbox.js +1 -1
  149. package/dist/{map-CPaDh0fK.js → map-DfhztV-_.js} +2 -2
  150. package/dist/{map-CPaDh0fK.js.map → map-DfhztV-_.js.map} +1 -1
  151. package/dist/{map-C89AQAh-.cjs → map-VtO2kq0a.cjs} +2 -2
  152. package/dist/{map-C89AQAh-.cjs.map → map-VtO2kq0a.cjs.map} +1 -1
  153. package/dist/map.cjs +1 -1
  154. package/dist/map.js +1 -1
  155. package/dist/{media-BvEF-HzD.js → media-BS_qJEfN.js} +2 -2
  156. package/dist/{media-BvEF-HzD.js.map → media-BS_qJEfN.js.map} +1 -1
  157. package/dist/{media-v4K8T9FY.cjs → media-DWOBF-Ln.cjs} +2 -2
  158. package/dist/{media-v4K8T9FY.cjs.map → media-DWOBF-Ln.cjs.map} +1 -1
  159. package/dist/{menu-9KPQvqqI.cjs → menu-BZUiU-pE.cjs} +2 -2
  160. package/dist/{menu-9KPQvqqI.cjs.map → menu-BZUiU-pE.cjs.map} +1 -1
  161. package/dist/{menu-BL-7oqJ9.js → menu-CGv1fnt9.js} +3 -3
  162. package/dist/{menu-BL-7oqJ9.js.map → menu-CGv1fnt9.js.map} +1 -1
  163. package/dist/menu.cjs +1 -1
  164. package/dist/menu.js +1 -1
  165. package/dist/nav-drawer.cjs +1 -1
  166. package/dist/nav-drawer.js +1 -1
  167. package/dist/{notification-service-7NEpiPIR.cjs → notification-service-6Mwqlm5v.cjs} +2 -2
  168. package/dist/{notification-service-7NEpiPIR.cjs.map → notification-service-6Mwqlm5v.cjs.map} +1 -1
  169. package/dist/{notification-service-BwM5HMaj.js → notification-service-CeuP0eoF.js} +4 -4
  170. package/dist/{notification-service-BwM5HMaj.js.map → notification-service-CeuP0eoF.js.map} +1 -1
  171. package/dist/notification.cjs +1 -1
  172. package/dist/notification.js +2 -2
  173. package/dist/{notify-DLSWAUcA.cjs → notify-B1MiCtku.cjs} +2 -2
  174. package/dist/{notify-DLSWAUcA.cjs.map → notify-B1MiCtku.cjs.map} +1 -1
  175. package/dist/{notify-BHmCE9I3.js → notify-Dkh-aCUe.js} +2 -2
  176. package/dist/{notify-BHmCE9I3.js.map → notify-Dkh-aCUe.js.map} +1 -1
  177. package/dist/{option-CRw6_dXY.js → option-BZgdP6cQ.js} +2 -2
  178. package/dist/{option-CRw6_dXY.js.map → option-BZgdP6cQ.js.map} +1 -1
  179. package/dist/{option-C4G7DGtI.cjs → option-BhbeiWWs.cjs} +2 -2
  180. package/dist/{option-C4G7DGtI.cjs.map → option-BhbeiWWs.cjs.map} +1 -1
  181. package/dist/option.cjs +1 -1
  182. package/dist/option.js +1 -1
  183. package/dist/{payment-card-form-BzGdWKH-.cjs → payment-card-form-CYvmkRSA.cjs} +2 -2
  184. package/dist/{payment-card-form-BzGdWKH-.cjs.map → payment-card-form-CYvmkRSA.cjs.map} +1 -1
  185. package/dist/{payment-card-form-D-MHQCM7.js → payment-card-form-Cx-mk-b0.js} +3 -3
  186. package/dist/{payment-card-form-D-MHQCM7.js.map → payment-card-form-Cx-mk-b0.js.map} +1 -1
  187. package/dist/{progress-Bkugth6y.cjs → progress-9yStYB2Z.cjs} +2 -2
  188. package/dist/{progress-Bkugth6y.cjs.map → progress-9yStYB2Z.cjs.map} +1 -1
  189. package/dist/{progress-BuYkNiju.js → progress-BwWwqrav.js} +2 -2
  190. package/dist/{progress-BuYkNiju.js.map → progress-BwWwqrav.js.map} +1 -1
  191. package/dist/progress.cjs +1 -1
  192. package/dist/progress.js +1 -1
  193. package/dist/{radio-button-DCKG8p75.cjs → radio-button-BF9tOTbs.cjs} +2 -2
  194. package/dist/{radio-button-DCKG8p75.cjs.map → radio-button-BF9tOTbs.cjs.map} +1 -1
  195. package/dist/{radio-button-CokLuIqN.js → radio-button-_MiNq5aH.js} +3 -3
  196. package/dist/{radio-button-CokLuIqN.js.map → radio-button-_MiNq5aH.js.map} +1 -1
  197. package/dist/radio-group.cjs +1 -1
  198. package/dist/radio-group.js +1 -1
  199. package/dist/{schmancy-steps-container-2gQqGQwB.js → schmancy-steps-container-CEub082p.js} +2 -2
  200. package/dist/{schmancy-steps-container-2gQqGQwB.js.map → schmancy-steps-container-CEub082p.js.map} +1 -1
  201. package/dist/{schmancy-steps-container-xIqWhNoQ.cjs → schmancy-steps-container-kvj0fELt.cjs} +2 -2
  202. package/dist/{schmancy-steps-container-xIqWhNoQ.cjs.map → schmancy-steps-container-kvj0fELt.cjs.map} +1 -1
  203. package/dist/{select-BTIUXOs_.cjs → select-DydKgoOi.cjs} +2 -2
  204. package/dist/{select-BTIUXOs_.cjs.map → select-DydKgoOi.cjs.map} +1 -1
  205. package/dist/{select-Dj-oLKFF.js → select-Z5jtcb5M.js} +3 -3
  206. package/dist/{select-Dj-oLKFF.js.map → select-Z5jtcb5M.js.map} +1 -1
  207. package/dist/select.cjs +1 -1
  208. package/dist/select.js +1 -1
  209. package/dist/{sheet-BiElPoDB.cjs → sheet-BkaYiaNy.cjs} +2 -2
  210. package/dist/{sheet-BiElPoDB.cjs.map → sheet-BkaYiaNy.cjs.map} +1 -1
  211. package/dist/{sheet-DHy5-DkZ.js → sheet-CoSZWnWb.js} +3 -3
  212. package/dist/{sheet-DHy5-DkZ.js.map → sheet-CoSZWnWb.js.map} +1 -1
  213. package/dist/sheet.cjs +1 -1
  214. package/dist/sheet.js +1 -1
  215. package/dist/{slider-CwX-MWmI.cjs → slider-BIOJq1VE.cjs} +2 -2
  216. package/dist/{slider-CwX-MWmI.cjs.map → slider-BIOJq1VE.cjs.map} +1 -1
  217. package/dist/{slider-FixLgBPB.js → slider-XMkRMUBv.js} +3 -3
  218. package/dist/{slider-FixLgBPB.js.map → slider-XMkRMUBv.js.map} +1 -1
  219. package/dist/slider.cjs +1 -1
  220. package/dist/slider.js +1 -1
  221. package/dist/{spinner-Cm2yObux.cjs → spinner-B2q-eIQn.cjs} +2 -2
  222. package/dist/{spinner-Cm2yObux.cjs.map → spinner-B2q-eIQn.cjs.map} +1 -1
  223. package/dist/{spinner-NR-WnRIj.js → spinner-EXmgJTBe.js} +2 -2
  224. package/dist/{spinner-NR-WnRIj.js.map → spinner-EXmgJTBe.js.map} +1 -1
  225. package/dist/steps.cjs +1 -1
  226. package/dist/steps.js +1 -1
  227. package/dist/{suggestion-chip-CNa4Qp8J.cjs → suggestion-chip-Cdoof6BC.cjs} +2 -2
  228. package/dist/{suggestion-chip-CNa4Qp8J.cjs.map → suggestion-chip-Cdoof6BC.cjs.map} +1 -1
  229. package/dist/{suggestion-chip-DlMySKjR.js → suggestion-chip-DCUNJLI5.js} +3 -3
  230. package/dist/{suggestion-chip-DlMySKjR.js.map → suggestion-chip-DCUNJLI5.js.map} +1 -1
  231. package/dist/{surface-BbQxucUq.cjs → surface-Byujl7vQ.cjs} +2 -2
  232. package/dist/{surface-BbQxucUq.cjs.map → surface-Byujl7vQ.cjs.map} +1 -1
  233. package/dist/{surface-Bygc4Pkm.js → surface-REf1r_Hq.js} +2 -2
  234. package/dist/{surface-Bygc4Pkm.js.map → surface-REf1r_Hq.js.map} +1 -1
  235. package/dist/surface.cjs +1 -1
  236. package/dist/surface.js +1 -1
  237. package/dist/{table--xC1C9bV.js → table-B4VSq0Hf.js} +2 -2
  238. package/dist/{table--xC1C9bV.js.map → table-B4VSq0Hf.js.map} +1 -1
  239. package/dist/{table-D-GttRq4.cjs → table-CMvVtSb_.cjs} +2 -2
  240. package/dist/{table-D-GttRq4.cjs.map → table-CMvVtSb_.cjs.map} +1 -1
  241. package/dist/table.cjs +1 -1
  242. package/dist/table.js +1 -1
  243. package/dist/{tabs-compatibility-CdydM7pv.cjs → tabs-compatibility-94AlapHO.cjs} +2 -2
  244. package/dist/{tabs-compatibility-CdydM7pv.cjs.map → tabs-compatibility-94AlapHO.cjs.map} +1 -1
  245. package/dist/{tabs-compatibility-Dj58Mdjp.js → tabs-compatibility-DIuw2_CU.js} +2 -2
  246. package/dist/{tabs-compatibility-Dj58Mdjp.js.map → tabs-compatibility-DIuw2_CU.js.map} +1 -1
  247. package/dist/tabs.cjs +1 -1
  248. package/dist/tabs.js +1 -1
  249. package/dist/tailwind.mixin-BwyPZWY9.cjs +2 -0
  250. package/dist/{tailwind.mixin-DvXzFSLc.cjs.map → tailwind.mixin-BwyPZWY9.cjs.map} +1 -1
  251. package/dist/tailwind.mixin-DmVr0c4M.js +43 -0
  252. package/dist/{tailwind.mixin-DRrIaNCZ.js.map → tailwind.mixin-DmVr0c4M.js.map} +1 -1
  253. package/dist/teleport.cjs +1 -1
  254. package/dist/teleport.js +1 -1
  255. package/dist/{textarea-BxmPIhSX.cjs → textarea-BR5Li-nD.cjs} +2 -2
  256. package/dist/{textarea-BxmPIhSX.cjs.map → textarea-BR5Li-nD.cjs.map} +1 -1
  257. package/dist/{textarea-8OzsuUGm.js → textarea-D1TMw9YF.js} +2 -2
  258. package/dist/{textarea-8OzsuUGm.js.map → textarea-D1TMw9YF.js.map} +1 -1
  259. package/dist/textarea.cjs +1 -1
  260. package/dist/textarea.js +1 -1
  261. package/dist/{theme-button-EkMBPnXv.cjs → theme-button-BxQD2kgl.cjs} +2 -2
  262. package/dist/{theme-button-EkMBPnXv.cjs.map → theme-button-BxQD2kgl.cjs.map} +1 -1
  263. package/dist/{theme-button-CKBPOL_F.js → theme-button-jBE7WmSk.js} +2 -2
  264. package/dist/{theme-button-CKBPOL_F.js.map → theme-button-jBE7WmSk.js.map} +1 -1
  265. package/dist/theme-button.cjs +1 -1
  266. package/dist/theme-button.js +1 -1
  267. package/dist/theme.cjs +1 -1
  268. package/dist/{theme.component-BWpLpI0u.cjs → theme.component-Bui-mL_9.cjs} +2 -2
  269. package/dist/{theme.component-BWpLpI0u.cjs.map → theme.component-Bui-mL_9.cjs.map} +1 -1
  270. package/dist/{theme.component-CMNPDwrg.js → theme.component-DsspzHLe.js} +2 -2
  271. package/dist/{theme.component-CMNPDwrg.js.map → theme.component-DsspzHLe.js.map} +1 -1
  272. package/dist/theme.js +1 -1
  273. package/dist/{timezone-B0JHFjXr.js → timezone-CRnMybGd.js} +3 -3
  274. package/dist/{timezone-B0JHFjXr.js.map → timezone-CRnMybGd.js.map} +1 -1
  275. package/dist/{timezone-BGgX7VU3.cjs → timezone-DrwWc-PS.cjs} +2 -2
  276. package/dist/{timezone-BGgX7VU3.cjs.map → timezone-DrwWc-PS.cjs.map} +1 -1
  277. package/dist/{tooltip-BvM1QM9r.cjs → tooltip-Dpf6pzaq.cjs} +2 -2
  278. package/dist/{tooltip-BvM1QM9r.cjs.map → tooltip-Dpf6pzaq.cjs.map} +1 -1
  279. package/dist/{tooltip-vzAPO65W.js → tooltip-DqZLylr1.js} +2 -2
  280. package/dist/{tooltip-vzAPO65W.js.map → tooltip-DqZLylr1.js.map} +1 -1
  281. package/dist/tooltip.cjs +1 -1
  282. package/dist/tooltip.js +1 -1
  283. package/dist/{tree--vE36pPQ.js → tree-3kX3eMLN.js} +2 -2
  284. package/dist/{tree--vE36pPQ.js.map → tree-3kX3eMLN.js.map} +1 -1
  285. package/dist/{tree-BGHP-zFq.cjs → tree-DIftQLCJ.cjs} +2 -2
  286. package/dist/{tree-BGHP-zFq.cjs.map → tree-DIftQLCJ.cjs.map} +1 -1
  287. package/dist/tree.cjs +1 -1
  288. package/dist/tree.js +1 -1
  289. package/dist/{typewriter-C0E8tuqP.js → typewriter-BNt2JSP1.js} +4 -4
  290. package/dist/{typewriter-C0E8tuqP.js.map → typewriter-BNt2JSP1.js.map} +1 -1
  291. package/dist/{typewriter-ovVSo7i3.cjs → typewriter-pnrp4hDo.cjs} +2 -2
  292. package/dist/{typewriter-ovVSo7i3.cjs.map → typewriter-pnrp4hDo.cjs.map} +1 -1
  293. package/dist/typewriter.cjs +1 -1
  294. package/dist/typewriter.js +1 -1
  295. package/dist/{typography-BKpY6oL9.cjs → typography-BOpAEszL.cjs} +2 -2
  296. package/dist/{typography-BKpY6oL9.cjs.map → typography-BOpAEszL.cjs.map} +1 -1
  297. package/dist/{typography-6mMnwoRl.js → typography-CIGiQaQ9.js} +2 -2
  298. package/dist/{typography-6mMnwoRl.js.map → typography-CIGiQaQ9.js.map} +1 -1
  299. package/dist/typography.cjs +1 -1
  300. package/dist/typography.js +1 -1
  301. package/package.json +1 -1
  302. package/dist/icon-button-B4fsinj2.js.map +0 -1
  303. package/dist/icon-button-B9Xckdkv.cjs.map +0 -1
  304. package/dist/tailwind.mixin-DRrIaNCZ.js +0 -43
  305. package/dist/tailwind.mixin-DvXzFSLc.cjs +0 -2
@@ -1,4 +1,4 @@
1
- "use strict";require("rxjs");const y=require("lit/directives/class-map.js");require("lit/directives/style-map.js");const a=require("lit/decorators.js"),u=require("./tailwind.mixin-DvXzFSLc.cjs"),h=require("lit"),f=require("lit/directives/if-defined.js");var m=Object.getOwnPropertyDescriptor;let b=class extends u.TailwindElement(h.css`
1
+ "use strict";require("rxjs");const y=require("lit/directives/class-map.js");require("lit/directives/style-map.js");const a=require("lit/decorators.js"),u=require("./tailwind.mixin-BwyPZWY9.cjs"),h=require("lit"),f=require("lit/directives/if-defined.js");var m=Object.getOwnPropertyDescriptor;let b=class extends u.TailwindElement(h.css`
2
2
  :host {
3
3
  display: flex;
4
4
  gap: 0.5rem;
@@ -174,4 +174,4 @@
174
174
  object-fit: scale-down;
175
175
  }
176
176
  `){constructor(){super(...arguments),this.src="",this.fit="contain",this.alt=""}render(){return this.src?h.html`<img src="${this.src}" alt="${this.alt}" />`:h.html`<slot></slot>`}};c([a.property({type:String,reflect:!0})],p.prototype,"src",2),c([a.property({type:String,reflect:!0})],p.prototype,"fit",2),c([a.property({type:String})],p.prototype,"alt",2),p=c([a.customElement("schmancy-card-media")],p);
177
- //# sourceMappingURL=media-v4K8T9FY.cjs.map
177
+ //# sourceMappingURL=media-DWOBF-Ln.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"media-v4K8T9FY.cjs","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.2, 0, 0, 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(--shadow-1);\n\t}\n\n\t:host([type='filled']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-highest);\n\t\tbox-shadow: var(--shadow-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-outlineVariant);\n\t\tbox-shadow: var(--shadow-0);\n\t}\n\n\t/* Interactive state */\n\t:host([interactive]) {\n\t\tcursor: pointer;\n\t\t-webkit-tap-highlight-color: transparent;\n\t}\n\n\t/* Elevated interactive states */\n\t:host([type='elevated'][interactive]:hover:not([disabled])) {\n\t\tbox-shadow: var(--shadow-2);\n\t}\n\n\t:host([type='elevated'][dragged]) {\n\t\tbox-shadow: var(--shadow-3);\n\t}\n\n\t/* Filled interactive states */\n\t:host([type='filled'][interactive]:hover:not([disabled])) {\n\t\tbox-shadow: var(--shadow-1);\n\t}\n\n\t:host([type='filled'][dragged]) {\n\t\tbox-shadow: var(--shadow-3);\n\t}\n\n\t/* Outlined interactive states */\n\t:host([type='outlined'][interactive]:hover:not([disabled])) {\n\t\tbox-shadow: var(--shadow-1);\n\t}\n\n\t:host([type='outlined'][dragged]) {\n\t\tbox-shadow: var(--shadow-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/* Focus ring */\n\t:host([interactive]:focus-visible:not([disabled])) {\n\t\toutline: 2px solid var(--schmancy-sys-color-primary-default);\n\t\toutline-offset: 2px;\n\t}\n\n\t/* Ripple effect animation */\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\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\t// Get the classes for state layer based on current state\n\tprivate getStateLayerOpacity(): string {\n\t\tif (!this.interactive || this.disabled) return 'opacity-0'\n\t\tif (this.pressed) return 'opacity-[0.1]' // M3 pressed: 0.1\n\t\treturn 'opacity-0 hover:opacity-[0.08] focus-visible:opacity-[0.1]' // M3 hover: 0.08, focus: 0.1\n\t}\n\n\tprotected render() {\n\t\tconst containerClasses = classMap({\n\t\t\t'relative w-full h-full rounded-xl': true,\n\t\t\t'cursor-pointer': this.interactive && !this.disabled,\n\t\t})\n\n\t\tconst stateLayerClasses = classMap({\n\t\t\t'absolute inset-0 rounded-xl pointer-events-none transition-opacity duration-200 bg-surface-on': true,\n\t\t\t[this.getStateLayerOpacity()]: true,\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=${stateLayerClasses}></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=\"absolute inset-0 rounded-xl overflow-hidden pointer-events-none\">\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=\"absolute rounded-full scale-0 animate-[ripple_600ms_linear] bg-surface-on opacity-[0.12] pointer-events-none\"\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=\"relative h-full w-full rounded-xl\">\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","stateLayerClasses","getStateLayerOpacity","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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"}
1
+ {"version":3,"file":"media-DWOBF-Ln.cjs","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.2, 0, 0, 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(--shadow-1);\n\t}\n\n\t:host([type='filled']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-highest);\n\t\tbox-shadow: var(--shadow-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-outlineVariant);\n\t\tbox-shadow: var(--shadow-0);\n\t}\n\n\t/* Interactive state */\n\t:host([interactive]) {\n\t\tcursor: pointer;\n\t\t-webkit-tap-highlight-color: transparent;\n\t}\n\n\t/* Elevated interactive states */\n\t:host([type='elevated'][interactive]:hover:not([disabled])) {\n\t\tbox-shadow: var(--shadow-2);\n\t}\n\n\t:host([type='elevated'][dragged]) {\n\t\tbox-shadow: var(--shadow-3);\n\t}\n\n\t/* Filled interactive states */\n\t:host([type='filled'][interactive]:hover:not([disabled])) {\n\t\tbox-shadow: var(--shadow-1);\n\t}\n\n\t:host([type='filled'][dragged]) {\n\t\tbox-shadow: var(--shadow-3);\n\t}\n\n\t/* Outlined interactive states */\n\t:host([type='outlined'][interactive]:hover:not([disabled])) {\n\t\tbox-shadow: var(--shadow-1);\n\t}\n\n\t:host([type='outlined'][dragged]) {\n\t\tbox-shadow: var(--shadow-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/* Focus ring */\n\t:host([interactive]:focus-visible:not([disabled])) {\n\t\toutline: 2px solid var(--schmancy-sys-color-primary-default);\n\t\toutline-offset: 2px;\n\t}\n\n\t/* Ripple effect animation */\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\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\t// Get the classes for state layer based on current state\n\tprivate getStateLayerOpacity(): string {\n\t\tif (!this.interactive || this.disabled) return 'opacity-0'\n\t\tif (this.pressed) return 'opacity-[0.1]' // M3 pressed: 0.1\n\t\treturn 'opacity-0 hover:opacity-[0.08] focus-visible:opacity-[0.1]' // M3 hover: 0.08, focus: 0.1\n\t}\n\n\tprotected render() {\n\t\tconst containerClasses = classMap({\n\t\t\t'relative w-full h-full rounded-xl': true,\n\t\t\t'cursor-pointer': this.interactive && !this.disabled,\n\t\t})\n\n\t\tconst stateLayerClasses = classMap({\n\t\t\t'absolute inset-0 rounded-xl pointer-events-none transition-opacity duration-200 bg-surface-on': true,\n\t\t\t[this.getStateLayerOpacity()]: true,\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=${stateLayerClasses}></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=\"absolute inset-0 rounded-xl overflow-hidden pointer-events-none\">\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=\"absolute rounded-full scale-0 animate-[ripple_600ms_linear] bg-surface-on opacity-[0.12] pointer-events-none\"\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=\"relative h-full w-full rounded-xl\">\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","stateLayerClasses","getStateLayerOpacity","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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"}
@@ -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-DvXzFSLc.cjs"),b=require("./litElement.mixin-BnXm63YO.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-BwyPZWY9.cjs"),b=require("./litElement.mixin-6T6ztev2.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-9KPQvqqI.cjs.map
36
+ //# sourceMappingURL=menu-BZUiU-pE.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu-9KPQvqqI.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-BZUiU-pE.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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"}
@@ -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-DRrIaNCZ.js";
6
- import { $ as v } from "./litElement.mixin-CAQ8pH9g.js";
5
+ import { T as w } from "./tailwind.mixin-DmVr0c4M.js";
6
+ import { $ as v } from "./litElement.mixin-DvlT9GCm.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-BL-7oqJ9.js.map
99
+ //# sourceMappingURL=menu-CGv1fnt9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu-BL-7oqJ9.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-CGv1fnt9.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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"}
package/dist/menu.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";require("./menu-9KPQvqqI.cjs");
1
+ "use strict";require("./menu-BZUiU-pE.cjs");
2
2
  //# sourceMappingURL=menu.cjs.map
package/dist/menu.js CHANGED
@@ -1,2 +1,2 @@
1
- import "./menu-BL-7oqJ9.js";
1
+ import "./menu-CGv1fnt9.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-C-7vIiiN.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-b0PhZQ9Z.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-BUaTIoft.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-DVWNjWy4.js";
2
2
  export {
3
3
  c as $drawer,
4
4
  e as SchmancyDrawerAppbar,
@@ -1,4 +1,4 @@
1
- "use strict";const p=require("rxjs"),b=require("lit/directives/class-map.js"),w=require("lit/directives/style-map.js"),u=require("lit/decorators.js");require("./tailwind.mixin-DvXzFSLc.cjs");const x=require("./litElement.mixin-BnXm63YO.cjs"),S=require("./ripple-DqQrvaTe.cjs");require("lit/directives/guard.js");const l=require("./theme.interface-Xg5Zi46a.cjs"),d=require("lit");require("./progress-Bkugth6y.cjs");const A=require("lit/directives/repeat.js");var C=Object.defineProperty,_=Object.getOwnPropertyDescriptor,h=(o,t,e,i)=>{for(var n,s=i>1?void 0:i?_(t,e):t,a=o.length-1;a>=0;a--)(n=o[a])&&(s=(i?n(t,e,s):n(s))||s);return i&&s&&C(t,e,s),s};exports.SchmancyNotification=class extends x.$LitElement(':host{display:block;margin-bottom:10px}:host:last-child{margin-bottom:0}.notification{width:100%;max-width:400px;box-shadow:var(--schmancy-sys-elevation-2);overflow:hidden;transform:translate(0);opacity:1;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1);background-color:var(--schmancy-sys-color-surface-container);color:var(--schmancy-sys-color-surface-on);border-radius:16px;position:relative}.notification:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,#ffffff14,#fff0);z-index:1}.notification.info{border-left:4px solid var(--schmancy-sys-color-primary-default);background-color:color-mix(in srgb,var(--schmancy-sys-color-surface-container) 90%,var(--schmancy-sys-color-primary-container) 10%)}.notification.success{border-left:4px solid var(--schmancy-sys-color-success-default);background-color:color-mix(in srgb,var(--schmancy-sys-color-surface-container) 90%,var(--schmancy-sys-color-success-container) 10%)}.notification.warning{border-left:4px solid var(--schmancy-sys-color-tertiary-default);background-color:color-mix(in srgb,var(--schmancy-sys-color-surface-container) 90%,var(--schmancy-sys-color-tertiary-container) 10%)}.notification.error{border-left:4px solid var(--schmancy-sys-color-error-default);background-color:color-mix(in srgb,var(--schmancy-sys-color-surface-container) 90%,var(--schmancy-sys-color-error-container) 10%)}.notification.closing{transform:translate(120%);opacity:0}.notification .notification-content{display:flex;padding:18px 20px;align-items:flex-start;position:relative;z-index:2}.notification .icon-container{flex-shrink:0;margin-right:14px;display:flex;align-items:center;justify-content:center;border-radius:50%;width:28px;height:28px;position:relative}.notification .content{flex:1;min-width:0;display:flex;flex-direction:column}.notification .title{font-weight:500;font-size:16px;line-height:1.5;margin-bottom:2px;word-break:break-word;letter-spacing:.15px}.notification .message{font-size:14px;line-height:1.5;word-break:break-word;letter-spacing:.25px;opacity:.92}.notification .close-button{background:transparent;border:none;cursor:pointer;color:var(--schmancy-sys-color-surface-onVariant);padding:8px;margin-left:8px;margin-right:-4px;margin-top:-4px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,transform .2s ease}.notification .close-button:hover{background-color:color-mix(in srgb,var(--schmancy-sys-color-surface-onVariant) 8%,transparent);transform:scale(1.05)}.notification .close-button:active{transform:scale(.95)}.notification .close-button:focus-visible{outline:none;box-shadow:0 0 0 2px var(--schmancy-sys-color-primary-default)}'){constructor(){super(...arguments),this.title="",this.message="",this.type="info",this.closable=!0,this.duration=5e3,this.id=`notification-${Date.now()}-${Math.floor(1e4*Math.random())}`,this.playSound=!0,this.showProgress=!1,this._visible=!0,this._progress=100,this._hovered=!1,this._closing=!1}connectedCallback(){super.connectedCallback(),this.duration>0&&this._startAutoCloseTimer(),this.playSound&&this._playSound()}disconnectedCallback(){this._clearTimers(),super.disconnectedCallback()}updated(o){super.updated(o),o.has("duration")&&this.duration>0&&(this._clearTimers(),this._startAutoCloseTimer())}_startAutoCloseTimer(){if(this.duration<=0)return;const o=Date.now()+this.duration;this._autoCloseTimer=window.setTimeout(()=>{this.close()},this.duration),this._progressTimer=window.setInterval(()=>{if(this._hovered)return;const t=Date.now(),e=Math.max(0,o-t);this._progress=e/this.duration*100,e<=0&&this._clearTimers()},16)}_clearTimers(){this._autoCloseTimer&&(clearTimeout(this._autoCloseTimer),this._autoCloseTimer=void 0),this._progressTimer&&(clearInterval(this._progressTimer),this._progressTimer=void 0)}_pauseTimers(){this._clearTimers()}_resumeTimers(){if(this.duration>0){const o=this._progress/100*this.duration;if(o>0){this._autoCloseTimer=window.setTimeout(()=>{this.close()},o);const t=Date.now()+o;this._progressTimer=window.setInterval(()=>{if(this._hovered)return;const e=Date.now(),i=Math.max(0,t-e);this._progress=i/o*100,i<=0&&this._clearTimers()},16)}}}_playSound(){this.dispatchEvent(new CustomEvent("playsound",{detail:{type:this.type},bubbles:!0,composed:!0}))}_handleMouseEnter(){this._hovered=!0,this._pauseTimers()}_handleMouseLeave(){this._hovered=!1,this._resumeTimers()}close(){this._closing||(this._closing=!0,this._clearTimers(),this._visible=!1,setTimeout(()=>{this.dispatchEvent(new CustomEvent("close",{detail:{id:this.id},bubbles:!0,composed:!0}))},300))}render(){if(!this._visible&&this._closing)return d.html``;const o=this._getTypeStyles(),t=this._hovered?"3":"2";return d.html`
1
+ "use strict";const p=require("rxjs"),b=require("lit/directives/class-map.js"),w=require("lit/directives/style-map.js"),u=require("lit/decorators.js");require("./tailwind.mixin-BwyPZWY9.cjs");const x=require("./litElement.mixin-6T6ztev2.cjs"),S=require("./ripple-DqQrvaTe.cjs");require("lit/directives/guard.js");const l=require("./theme.interface-Xg5Zi46a.cjs"),d=require("lit");require("./progress-9yStYB2Z.cjs");const A=require("lit/directives/repeat.js");var C=Object.defineProperty,_=Object.getOwnPropertyDescriptor,h=(o,t,e,i)=>{for(var n,s=i>1?void 0:i?_(t,e):t,a=o.length-1;a>=0;a--)(n=o[a])&&(s=(i?n(t,e,s):n(s))||s);return i&&s&&C(t,e,s),s};exports.SchmancyNotification=class extends x.$LitElement(':host{display:block;margin-bottom:10px}:host:last-child{margin-bottom:0}.notification{width:100%;max-width:400px;box-shadow:var(--schmancy-sys-elevation-2);overflow:hidden;transform:translate(0);opacity:1;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1);background-color:var(--schmancy-sys-color-surface-container);color:var(--schmancy-sys-color-surface-on);border-radius:16px;position:relative}.notification:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,#ffffff14,#fff0);z-index:1}.notification.info{border-left:4px solid var(--schmancy-sys-color-primary-default);background-color:color-mix(in srgb,var(--schmancy-sys-color-surface-container) 90%,var(--schmancy-sys-color-primary-container) 10%)}.notification.success{border-left:4px solid var(--schmancy-sys-color-success-default);background-color:color-mix(in srgb,var(--schmancy-sys-color-surface-container) 90%,var(--schmancy-sys-color-success-container) 10%)}.notification.warning{border-left:4px solid var(--schmancy-sys-color-tertiary-default);background-color:color-mix(in srgb,var(--schmancy-sys-color-surface-container) 90%,var(--schmancy-sys-color-tertiary-container) 10%)}.notification.error{border-left:4px solid var(--schmancy-sys-color-error-default);background-color:color-mix(in srgb,var(--schmancy-sys-color-surface-container) 90%,var(--schmancy-sys-color-error-container) 10%)}.notification.closing{transform:translate(120%);opacity:0}.notification .notification-content{display:flex;padding:18px 20px;align-items:flex-start;position:relative;z-index:2}.notification .icon-container{flex-shrink:0;margin-right:14px;display:flex;align-items:center;justify-content:center;border-radius:50%;width:28px;height:28px;position:relative}.notification .content{flex:1;min-width:0;display:flex;flex-direction:column}.notification .title{font-weight:500;font-size:16px;line-height:1.5;margin-bottom:2px;word-break:break-word;letter-spacing:.15px}.notification .message{font-size:14px;line-height:1.5;word-break:break-word;letter-spacing:.25px;opacity:.92}.notification .close-button{background:transparent;border:none;cursor:pointer;color:var(--schmancy-sys-color-surface-onVariant);padding:8px;margin-left:8px;margin-right:-4px;margin-top:-4px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,transform .2s ease}.notification .close-button:hover{background-color:color-mix(in srgb,var(--schmancy-sys-color-surface-onVariant) 8%,transparent);transform:scale(1.05)}.notification .close-button:active{transform:scale(.95)}.notification .close-button:focus-visible{outline:none;box-shadow:0 0 0 2px var(--schmancy-sys-color-primary-default)}'){constructor(){super(...arguments),this.title="",this.message="",this.type="info",this.closable=!0,this.duration=5e3,this.id=`notification-${Date.now()}-${Math.floor(1e4*Math.random())}`,this.playSound=!0,this.showProgress=!1,this._visible=!0,this._progress=100,this._hovered=!1,this._closing=!1}connectedCallback(){super.connectedCallback(),this.duration>0&&this._startAutoCloseTimer(),this.playSound&&this._playSound()}disconnectedCallback(){this._clearTimers(),super.disconnectedCallback()}updated(o){super.updated(o),o.has("duration")&&this.duration>0&&(this._clearTimers(),this._startAutoCloseTimer())}_startAutoCloseTimer(){if(this.duration<=0)return;const o=Date.now()+this.duration;this._autoCloseTimer=window.setTimeout(()=>{this.close()},this.duration),this._progressTimer=window.setInterval(()=>{if(this._hovered)return;const t=Date.now(),e=Math.max(0,o-t);this._progress=e/this.duration*100,e<=0&&this._clearTimers()},16)}_clearTimers(){this._autoCloseTimer&&(clearTimeout(this._autoCloseTimer),this._autoCloseTimer=void 0),this._progressTimer&&(clearInterval(this._progressTimer),this._progressTimer=void 0)}_pauseTimers(){this._clearTimers()}_resumeTimers(){if(this.duration>0){const o=this._progress/100*this.duration;if(o>0){this._autoCloseTimer=window.setTimeout(()=>{this.close()},o);const t=Date.now()+o;this._progressTimer=window.setInterval(()=>{if(this._hovered)return;const e=Date.now(),i=Math.max(0,t-e);this._progress=i/o*100,i<=0&&this._clearTimers()},16)}}}_playSound(){this.dispatchEvent(new CustomEvent("playsound",{detail:{type:this.type},bubbles:!0,composed:!0}))}_handleMouseEnter(){this._hovered=!0,this._pauseTimers()}_handleMouseLeave(){this._hovered=!1,this._resumeTimers()}close(){this._closing||(this._closing=!0,this._clearTimers(),this._visible=!1,setTimeout(()=>{this.dispatchEvent(new CustomEvent("close",{detail:{id:this.id},bubbles:!0,composed:!0}))},300))}render(){if(!this._visible&&this._closing)return d.html``;const o=this._getTypeStyles(),t=this._hovered?"3":"2";return d.html`
2
2
  <div
3
3
  class=${b.classMap({notification:!0,closing:this._closing,[this.type]:!0})}
4
4
  role="alert"
@@ -140,4 +140,4 @@
140
140
  `)}
141
141
  </div>
142
142
  `}},g([u.property({type:String})],exports.SchmancyNotificationContainer.prototype,"position",2),g([u.property({type:Number})],exports.SchmancyNotificationContainer.prototype,"maxVisibleNotifications",2),g([u.property({type:Boolean})],exports.SchmancyNotificationContainer.prototype,"playSound",2),g([u.property({type:Number})],exports.SchmancyNotificationContainer.prototype,"audioVolume",2),g([u.state()],exports.SchmancyNotificationContainer.prototype,"_notifications",2),exports.SchmancyNotificationContainer=g([u.customElement("sch-notification-container")],exports.SchmancyNotificationContainer);const y=class y{constructor(){this.notificationStack=[]}static getInstance(){return y.instance||(y.instance=new y),y.instance}notify(t){const e={...y.DEFAULT_OPTIONS,...t,duration:t.duration??y.DEFAULT_OPTIONS.duration},i=e.id||`notification-${Date.now()}-${Math.floor(1e4*Math.random())}`;this.notificationStack.push(i);const n=new CustomEvent("schmancy-notification",{bubbles:!0,composed:!0,detail:{...e,id:i}});return window.dispatchEvent(n),i}dismiss(t){let e;if(t){const i=this.notificationStack.indexOf(t);i>-1&&(this.notificationStack.splice(i,1),e=t)}else e=this.notificationStack.pop();if(e){const i=new CustomEvent("schmancy-notification-dismiss",{bubbles:!0,composed:!0,detail:{id:e}});window.dispatchEvent(i)}}update(t,e){const i=new CustomEvent("schmancy-notification-update",{bubbles:!0,composed:!0,detail:{id:t,...e}});window.dispatchEvent(i)}info(t,e={}){return this.notify({message:t??"",type:"info",duration:t?e.duration:1,...e})}success(t,e={}){return this.notify({message:t??"",type:"success",duration:t?e.duration:1,...e})}warning(t,e={}){return this.notify({message:t??"",type:"warning",duration:t?e.duration:1,...e})}error(t,e={}){return this.notify({message:t??"",type:"error",duration:t?e.duration:1,...e})}customDuration(t,e,i={}){return this.notify({message:t,duration:e,...i})}persistent(t,e={}){return this.notify({message:t,duration:0,...e})}};y.DEFAULT_OPTIONS={duration:1e3,closable:!0,playSound:!0};let m=y;const N={show:o=>m.getInstance().notify(o),info:(o,t={})=>m.getInstance().info(o,t),success:(o,t={})=>m.getInstance().success(o,t),warning:(o,t={})=>m.getInstance().warning(o,t),error:(o,t={})=>m.getInstance().error(o,t),customDuration:(o,t,e={})=>m.getInstance().customDuration(o,t,e),persistent:(o,t={})=>m.getInstance().persistent(o,t),dismiss:o=>m.getInstance().dismiss(o),update:(o,t)=>m.getInstance().update(o,t)};exports.$notify=N,exports.NotificationAudioService=T;
143
- //# sourceMappingURL=notification-service-7NEpiPIR.cjs.map
143
+ //# sourceMappingURL=notification-service-6Mwqlm5v.cjs.map