@mhmo91/schmancy 0.5.4 → 0.5.6

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 (332) hide show
  1. package/dist/{animated-text-BG8EZ5Vg.js → animated-text-BSEbI_B1.js} +3 -3
  2. package/dist/{animated-text-BG8EZ5Vg.js.map → animated-text-BSEbI_B1.js.map} +1 -1
  3. package/dist/{animated-text-BIuI4cc4.cjs → animated-text-D93P3NLN.cjs} +2 -2
  4. package/dist/{animated-text-BIuI4cc4.cjs.map → animated-text-D93P3NLN.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-DqpGzGXM.cjs +12 -0
  9. package/dist/area.component-DqpGzGXM.cjs.map +1 -0
  10. package/dist/area.component-bPf-SBQs.js +315 -0
  11. package/dist/area.component-bPf-SBQs.js.map +1 -0
  12. package/dist/area.js +1 -1
  13. package/dist/{autocomplete-BrT-pQ8z.cjs → autocomplete-Bd9CwOTL.cjs} +2 -2
  14. package/dist/{autocomplete-BrT-pQ8z.cjs.map → autocomplete-Bd9CwOTL.cjs.map} +1 -1
  15. package/dist/{autocomplete-Cz3oBX-j.js → autocomplete-af8Qu5FD.js} +3 -3
  16. package/dist/{autocomplete-Cz3oBX-j.js.map → autocomplete-af8Qu5FD.js.map} +1 -1
  17. package/dist/autocomplete.cjs +1 -1
  18. package/dist/autocomplete.js +1 -1
  19. package/dist/{avatar-b0PhZQ9Z.cjs → avatar-C8XJnGJs.cjs} +2 -2
  20. package/dist/{avatar-b0PhZQ9Z.cjs.map → avatar-C8XJnGJs.cjs.map} +1 -1
  21. package/dist/{avatar-DVWNjWy4.js → avatar-n-Kjs8UW.js} +54 -53
  22. package/dist/{avatar-DVWNjWy4.js.map → avatar-n-Kjs8UW.js.map} +1 -1
  23. package/dist/badge.cjs +1 -1
  24. package/dist/badge.js +1 -1
  25. package/dist/{boat-BSSbcXhK.cjs → boat-DPvoDoGb.cjs} +2 -2
  26. package/dist/{boat-BSSbcXhK.cjs.map → boat-DPvoDoGb.cjs.map} +1 -1
  27. package/dist/{boat-CXeJyYor.js → boat-DjBoRSfy.js} +2 -2
  28. package/dist/{boat-CXeJyYor.js.map → boat-DjBoRSfy.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-Bq4mScln.js → checkbox-BZzC_CIS.js} +2 -2
  38. package/dist/{checkbox-Bq4mScln.js.map → checkbox-BZzC_CIS.js.map} +1 -1
  39. package/dist/{checkbox-BDzFjuVZ.cjs → checkbox-DvT7CeFj.cjs} +2 -2
  40. package/dist/{checkbox-BDzFjuVZ.cjs.map → checkbox-DvT7CeFj.cjs.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-BsxUNU4E.js → code-preview-CTTH6fvP.js} +2 -2
  48. package/dist/{code-preview-BsxUNU4E.js.map → code-preview-CTTH6fvP.js.map} +1 -1
  49. package/dist/{code-preview-DMDMM4B5.cjs → code-preview-Dz_GPOLi.cjs} +2 -2
  50. package/dist/{code-preview-DMDMM4B5.cjs.map → code-preview-Dz_GPOLi.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-Dr3UhAqr.js → date-range-BrBEgeG_.js} +4 -4
  56. package/dist/{date-range-Dr3UhAqr.js.map → date-range-BrBEgeG_.js.map} +1 -1
  57. package/dist/{date-range-DVc1vq6S.cjs → date-range-DKCCG05M.cjs} +2 -2
  58. package/dist/{date-range-DVc1vq6S.cjs.map → date-range-DKCCG05M.cjs.map} +1 -1
  59. package/dist/{date-range-inline-CL6CBm6E.cjs → date-range-inline-C0JRYaRI.cjs} +2 -2
  60. package/dist/{date-range-inline-CL6CBm6E.cjs.map → date-range-inline-C0JRYaRI.cjs.map} +1 -1
  61. package/dist/{date-range-inline-DyjEz-HC.js → date-range-inline-DiKLX1N5.js} +3 -3
  62. package/dist/{date-range-inline-DyjEz-HC.js.map → date-range-inline-DiKLX1N5.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-DRVJP6DM.cjs → delay-ChpulFl1.cjs} +2 -2
  68. package/dist/{delay-DRVJP6DM.cjs.map → delay-ChpulFl1.cjs.map} +1 -1
  69. package/dist/{delay-D0jpRot4.js → delay-jmlT40UJ.js} +2 -2
  70. package/dist/{delay-D0jpRot4.js.map → delay-jmlT40UJ.js.map} +1 -1
  71. package/dist/delay.cjs +1 -1
  72. package/dist/delay.js +1 -1
  73. package/dist/{details-Cx5LoFyp.js → details-BMBliqaf.js} +2 -2
  74. package/dist/{details-Cx5LoFyp.js.map → details-BMBliqaf.js.map} +1 -1
  75. package/dist/{details-CLEhb682.cjs → details-D13RT8Mp.cjs} +2 -2
  76. package/dist/{details-CLEhb682.cjs.map → details-D13RT8Mp.cjs.map} +1 -1
  77. package/dist/details.cjs +1 -1
  78. package/dist/details.js +1 -1
  79. package/dist/{dialog-content-Wk0TffYD.cjs → dialog-content-CwRiHVH5.cjs} +10 -14
  80. package/dist/dialog-content-CwRiHVH5.cjs.map +1 -0
  81. package/dist/{dialog-content-DMCx9ntb.js → dialog-content-DXBS1xFM.js} +23 -28
  82. package/dist/dialog-content-DXBS1xFM.js.map +1 -0
  83. package/dist/dialog-service-Bdaxn2t0.cjs +2 -0
  84. package/dist/dialog-service-Bdaxn2t0.cjs.map +1 -0
  85. package/dist/{dialog-service-PQ9ssbsY.js → dialog-service-CyQzm5qE.js} +16 -16
  86. package/dist/dialog-service-CyQzm5qE.js.map +1 -0
  87. package/dist/dialog.cjs +1 -1
  88. package/dist/dialog.js +2 -2
  89. package/dist/{divider-Bc7NcQOz.js → divider-BAMyHNxh.js} +3 -3
  90. package/dist/{divider-Bc7NcQOz.js.map → divider-BAMyHNxh.js.map} +1 -1
  91. package/dist/{divider-DY1HOECi.cjs → divider-hJ8iLPY-.cjs} +2 -2
  92. package/dist/{divider-DY1HOECi.cjs.map → divider-hJ8iLPY-.cjs.map} +1 -1
  93. package/dist/divider.cjs +1 -1
  94. package/dist/divider.js +1 -1
  95. package/dist/{dropdown-content-DTMe37Q_.js → dropdown-content-Dh-oQQpb.js} +3 -3
  96. package/dist/{dropdown-content-DTMe37Q_.js.map → dropdown-content-Dh-oQQpb.js.map} +1 -1
  97. package/dist/{dropdown-content-5Rx-5ypA.cjs → dropdown-content-DuwSyoV8.cjs} +2 -2
  98. package/dist/{dropdown-content-5Rx-5ypA.cjs.map → dropdown-content-DuwSyoV8.cjs.map} +1 -1
  99. package/dist/dropdown.cjs +1 -1
  100. package/dist/dropdown.js +1 -1
  101. package/dist/{email-recipients-Cnvf9Hj1.cjs → email-recipients-Ces4Z6AW.cjs} +2 -2
  102. package/dist/{email-recipients-Cnvf9Hj1.cjs.map → email-recipients-Ces4Z6AW.cjs.map} +1 -1
  103. package/dist/{email-recipients-3I5Q6q50.js → email-recipients-Czz1tJcV.js} +6 -6
  104. package/dist/{email-recipients-3I5Q6q50.js.map → email-recipients-Czz1tJcV.js.map} +1 -1
  105. package/dist/extra.cjs +1 -1
  106. package/dist/extra.js +1 -1
  107. package/dist/{flex-BVMUcxxI.js → flex-COzPIQAF.js} +2 -2
  108. package/dist/{flex-BVMUcxxI.js.map → flex-COzPIQAF.js.map} +1 -1
  109. package/dist/{flex-DVi7UxtI.cjs → flex-haMVY2KA.cjs} +2 -2
  110. package/dist/{flex-DVi7UxtI.cjs.map → flex-haMVY2KA.cjs.map} +1 -1
  111. package/dist/{form-BZ30LVtB.cjs → form-B4I2SPkc.cjs} +2 -2
  112. package/dist/{form-BZ30LVtB.cjs.map → form-B4I2SPkc.cjs.map} +1 -1
  113. package/dist/{form-DfuC53cH.js → form-Bh3BEwyo.js} +2 -2
  114. package/dist/{form-DfuC53cH.js.map → form-Bh3BEwyo.js.map} +1 -1
  115. package/dist/form.cjs +1 -1
  116. package/dist/form.js +1 -1
  117. package/dist/{formField.mixin-B77hpFRB.cjs → formField.mixin-CaljqKhq.cjs} +2 -2
  118. package/dist/{formField.mixin-B77hpFRB.cjs.map → formField.mixin-CaljqKhq.cjs.map} +1 -1
  119. package/dist/{formField.mixin-DXUNJs_o.js → formField.mixin-WG1BLWMy.js} +2 -2
  120. package/dist/{formField.mixin-DXUNJs_o.js.map → formField.mixin-WG1BLWMy.js.map} +1 -1
  121. package/dist/{icon-Bomt4X0W.js → icon-BWvG5Zpz.js} +2 -2
  122. package/dist/{icon-Bomt4X0W.js.map → icon-BWvG5Zpz.js.map} +1 -1
  123. package/dist/{icon-button-BmiMlhoE.cjs → icon-button-179Gluhj.cjs} +2 -2
  124. package/dist/{icon-button-BmiMlhoE.cjs.map → icon-button-179Gluhj.cjs.map} +1 -1
  125. package/dist/{icon-button-CL5jmg3z.js → icon-button-Col8hPhL.js} +3 -3
  126. package/dist/{icon-button-CL5jmg3z.js.map → icon-button-Col8hPhL.js.map} +1 -1
  127. package/dist/{icon-38EB7OR2.cjs → icon-xlw9hFU5.cjs} +2 -2
  128. package/dist/{icon-38EB7OR2.cjs.map → icon-xlw9hFU5.cjs.map} +1 -1
  129. package/dist/icons.cjs +1 -1
  130. package/dist/icons.js +1 -1
  131. package/dist/index.cjs +1 -1
  132. package/dist/index.js +157 -154
  133. package/dist/index.js.map +1 -1
  134. package/dist/{input-B_QNz5Lp.js → input-Bwv0qqfr.js} +3 -3
  135. package/dist/{input-B_QNz5Lp.js.map → input-Bwv0qqfr.js.map} +1 -1
  136. package/dist/{input-KYCqb7-P.cjs → input-BziqvuDi.cjs} +2 -2
  137. package/dist/{input-KYCqb7-P.cjs.map → input-BziqvuDi.cjs.map} +1 -1
  138. package/dist/input.cjs +1 -1
  139. package/dist/input.js +1 -1
  140. package/dist/layout.cjs +1 -1
  141. package/dist/layout.js +1 -1
  142. package/dist/{list-BguNeVQo.cjs → list-CA3reoj-.cjs} +2 -2
  143. package/dist/{list-BguNeVQo.cjs.map → list-CA3reoj-.cjs.map} +1 -1
  144. package/dist/{list-TM-IqNbA.js → list-CnEBlTyV.js} +2 -2
  145. package/dist/{list-TM-IqNbA.js.map → list-CnEBlTyV.js.map} +1 -1
  146. package/dist/list.cjs +1 -1
  147. package/dist/list.js +1 -1
  148. package/dist/{litElement.mixin-DvlT9GCm.js → litElement.mixin-CAUo-j_j.js} +2 -2
  149. package/dist/{litElement.mixin-DvlT9GCm.js.map → litElement.mixin-CAUo-j_j.js.map} +1 -1
  150. package/dist/{litElement.mixin-6T6ztev2.cjs → litElement.mixin-DE7nMq_x.cjs} +2 -2
  151. package/dist/{litElement.mixin-6T6ztev2.cjs.map → litElement.mixin-DE7nMq_x.cjs.map} +1 -1
  152. package/dist/mailbox.cjs +1 -1
  153. package/dist/mailbox.js +1 -1
  154. package/dist/{map-VtO2kq0a.cjs → map-B2neETi5.cjs} +2 -2
  155. package/dist/{map-VtO2kq0a.cjs.map → map-B2neETi5.cjs.map} +1 -1
  156. package/dist/{map-DfhztV-_.js → map-YZSVvbDM.js} +2 -2
  157. package/dist/{map-DfhztV-_.js.map → map-YZSVvbDM.js.map} +1 -1
  158. package/dist/map.cjs +1 -1
  159. package/dist/map.js +1 -1
  160. package/dist/{media-BS_qJEfN.js → media-Cfi2Rp8w.js} +2 -2
  161. package/dist/{media-BS_qJEfN.js.map → media-Cfi2Rp8w.js.map} +1 -1
  162. package/dist/{media-DWOBF-Ln.cjs → media-DAnLnZWp.cjs} +2 -2
  163. package/dist/{media-DWOBF-Ln.cjs.map → media-DAnLnZWp.cjs.map} +1 -1
  164. package/dist/{menu-CGv1fnt9.js → menu-BwO8_Djb.js} +3 -3
  165. package/dist/{menu-CGv1fnt9.js.map → menu-BwO8_Djb.js.map} +1 -1
  166. package/dist/{menu-BZUiU-pE.cjs → menu-DoN4dmcH.cjs} +2 -2
  167. package/dist/{menu-BZUiU-pE.cjs.map → menu-DoN4dmcH.cjs.map} +1 -1
  168. package/dist/menu.cjs +1 -1
  169. package/dist/menu.js +1 -1
  170. package/dist/nav-drawer.cjs +1 -1
  171. package/dist/nav-drawer.js +1 -1
  172. package/dist/navigation-rail-item-B2XuJrYp.cjs +116 -0
  173. package/dist/navigation-rail-item-B2XuJrYp.cjs.map +1 -0
  174. package/dist/navigation-rail-item-D_GarK92.js +151 -0
  175. package/dist/navigation-rail-item-D_GarK92.js.map +1 -0
  176. package/dist/navigation-rail.cjs +2 -0
  177. package/dist/navigation-rail.cjs.map +1 -0
  178. package/dist/navigation-rail.js +6 -0
  179. package/dist/navigation-rail.js.map +1 -0
  180. package/dist/{notification-service-CeuP0eoF.js → notification-service-6Z0mPoJa.js} +4 -4
  181. package/dist/{notification-service-CeuP0eoF.js.map → notification-service-6Z0mPoJa.js.map} +1 -1
  182. package/dist/{notification-service-6Mwqlm5v.cjs → notification-service-Cm060I1t.cjs} +2 -2
  183. package/dist/{notification-service-6Mwqlm5v.cjs.map → notification-service-Cm060I1t.cjs.map} +1 -1
  184. package/dist/notification.cjs +1 -1
  185. package/dist/notification.js +2 -2
  186. package/dist/{notify-B1MiCtku.cjs → notify-udRFmPQ4.cjs} +2 -2
  187. package/dist/{notify-B1MiCtku.cjs.map → notify-udRFmPQ4.cjs.map} +1 -1
  188. package/dist/{notify-Dkh-aCUe.js → notify-zh_vKYDR.js} +2 -2
  189. package/dist/{notify-Dkh-aCUe.js.map → notify-zh_vKYDR.js.map} +1 -1
  190. package/dist/{option-BZgdP6cQ.js → option-CE7cBraI.js} +2 -2
  191. package/dist/{option-BZgdP6cQ.js.map → option-CE7cBraI.js.map} +1 -1
  192. package/dist/{option-BhbeiWWs.cjs → option-CV_NvoXD.cjs} +2 -2
  193. package/dist/{option-BhbeiWWs.cjs.map → option-CV_NvoXD.cjs.map} +1 -1
  194. package/dist/option.cjs +1 -1
  195. package/dist/option.js +1 -1
  196. package/dist/{payment-card-form-Cx-mk-b0.js → payment-card-form-CM380Ic6.js} +3 -3
  197. package/dist/{payment-card-form-Cx-mk-b0.js.map → payment-card-form-CM380Ic6.js.map} +1 -1
  198. package/dist/{payment-card-form-CYvmkRSA.cjs → payment-card-form-DVNgyFeB.cjs} +2 -2
  199. package/dist/{payment-card-form-CYvmkRSA.cjs.map → payment-card-form-DVNgyFeB.cjs.map} +1 -1
  200. package/dist/{progress-BwWwqrav.js → progress-CVSCU7PX.js} +2 -2
  201. package/dist/{progress-BwWwqrav.js.map → progress-CVSCU7PX.js.map} +1 -1
  202. package/dist/{progress-9yStYB2Z.cjs → progress-Ci-XtLSK.cjs} +2 -2
  203. package/dist/{progress-9yStYB2Z.cjs.map → progress-Ci-XtLSK.cjs.map} +1 -1
  204. package/dist/progress.cjs +1 -1
  205. package/dist/progress.js +1 -1
  206. package/dist/{radio-button-_MiNq5aH.js → radio-button-5Dn14Xmt.js} +3 -3
  207. package/dist/{radio-button-_MiNq5aH.js.map → radio-button-5Dn14Xmt.js.map} +1 -1
  208. package/dist/{radio-button-BF9tOTbs.cjs → radio-button-DnA42XbW.cjs} +2 -2
  209. package/dist/{radio-button-BF9tOTbs.cjs.map → radio-button-DnA42XbW.cjs.map} +1 -1
  210. package/dist/radio-group.cjs +1 -1
  211. package/dist/radio-group.js +1 -1
  212. package/dist/{schmancy-steps-container-kvj0fELt.cjs → schmancy-steps-container-CM6q2WfQ.cjs} +2 -2
  213. package/dist/{schmancy-steps-container-kvj0fELt.cjs.map → schmancy-steps-container-CM6q2WfQ.cjs.map} +1 -1
  214. package/dist/{schmancy-steps-container-CEub082p.js → schmancy-steps-container-GpTeijL9.js} +2 -2
  215. package/dist/{schmancy-steps-container-CEub082p.js.map → schmancy-steps-container-GpTeijL9.js.map} +1 -1
  216. package/dist/{select-DydKgoOi.cjs → select-B-LiqQwb.cjs} +2 -2
  217. package/dist/{select-DydKgoOi.cjs.map → select-B-LiqQwb.cjs.map} +1 -1
  218. package/dist/{select-Z5jtcb5M.js → select-tK3rnufX.js} +3 -3
  219. package/dist/{select-Z5jtcb5M.js.map → select-tK3rnufX.js.map} +1 -1
  220. package/dist/select.cjs +1 -1
  221. package/dist/select.js +1 -1
  222. package/dist/{sheet-BkaYiaNy.cjs → sheet-7c3D_QQJ.cjs} +2 -2
  223. package/dist/{sheet-BkaYiaNy.cjs.map → sheet-7c3D_QQJ.cjs.map} +1 -1
  224. package/dist/{sheet-CoSZWnWb.js → sheet-BvaShgm9.js} +3 -3
  225. package/dist/{sheet-CoSZWnWb.js.map → sheet-BvaShgm9.js.map} +1 -1
  226. package/dist/sheet.cjs +1 -1
  227. package/dist/sheet.js +1 -1
  228. package/dist/{slider-BIOJq1VE.cjs → slider-CJg1g5-p.cjs} +2 -2
  229. package/dist/{slider-BIOJq1VE.cjs.map → slider-CJg1g5-p.cjs.map} +1 -1
  230. package/dist/{slider-XMkRMUBv.js → slider-DhtPlac2.js} +3 -3
  231. package/dist/{slider-XMkRMUBv.js.map → slider-DhtPlac2.js.map} +1 -1
  232. package/dist/slider.cjs +1 -1
  233. package/dist/slider.js +1 -1
  234. package/dist/{spinner-EXmgJTBe.js → spinner-BJIi1aCz.js} +2 -2
  235. package/dist/{spinner-EXmgJTBe.js.map → spinner-BJIi1aCz.js.map} +1 -1
  236. package/dist/{spinner-B2q-eIQn.cjs → spinner-DbpvEkH2.cjs} +2 -2
  237. package/dist/{spinner-B2q-eIQn.cjs.map → spinner-DbpvEkH2.cjs.map} +1 -1
  238. package/dist/steps.cjs +1 -1
  239. package/dist/steps.js +1 -1
  240. package/dist/{suggestion-chip-Cdoof6BC.cjs → suggestion-chip-DMV7dPlk.cjs} +2 -2
  241. package/dist/{suggestion-chip-Cdoof6BC.cjs.map → suggestion-chip-DMV7dPlk.cjs.map} +1 -1
  242. package/dist/{suggestion-chip-DCUNJLI5.js → suggestion-chip-Dl176Rcs.js} +6 -6
  243. package/dist/{suggestion-chip-DCUNJLI5.js.map → suggestion-chip-Dl176Rcs.js.map} +1 -1
  244. package/dist/{surface-REf1r_Hq.js → surface-C1JQWYPw.js} +2 -2
  245. package/dist/{surface-REf1r_Hq.js.map → surface-C1JQWYPw.js.map} +1 -1
  246. package/dist/{surface-Byujl7vQ.cjs → surface-DVa9gv9E.cjs} +2 -2
  247. package/dist/{surface-Byujl7vQ.cjs.map → surface-DVa9gv9E.cjs.map} +1 -1
  248. package/dist/surface.cjs +1 -1
  249. package/dist/surface.js +1 -1
  250. package/dist/{table-CMvVtSb_.cjs → table-DVqiw9eI.cjs} +2 -2
  251. package/dist/{table-CMvVtSb_.cjs.map → table-DVqiw9eI.cjs.map} +1 -1
  252. package/dist/{table-B4VSq0Hf.js → table-pmNw4I3A.js} +2 -2
  253. package/dist/{table-B4VSq0Hf.js.map → table-pmNw4I3A.js.map} +1 -1
  254. package/dist/table.cjs +1 -1
  255. package/dist/table.js +1 -1
  256. package/dist/{tabs-compatibility-DIuw2_CU.js → tabs-compatibility-5xcbNfDo.js} +2 -2
  257. package/dist/{tabs-compatibility-DIuw2_CU.js.map → tabs-compatibility-5xcbNfDo.js.map} +1 -1
  258. package/dist/{tabs-compatibility-94AlapHO.cjs → tabs-compatibility-Br9jc1Dy.cjs} +2 -2
  259. package/dist/{tabs-compatibility-94AlapHO.cjs.map → tabs-compatibility-Br9jc1Dy.cjs.map} +1 -1
  260. package/dist/tabs.cjs +1 -1
  261. package/dist/tabs.js +1 -1
  262. package/dist/tailwind.mixin-CngO3XGT.cjs +2 -0
  263. package/dist/{tailwind.mixin-BwyPZWY9.cjs.map → tailwind.mixin-CngO3XGT.cjs.map} +1 -1
  264. package/dist/tailwind.mixin-T5CiXVWk.js +43 -0
  265. package/dist/{tailwind.mixin-DmVr0c4M.js.map → tailwind.mixin-T5CiXVWk.js.map} +1 -1
  266. package/dist/teleport.cjs +1 -1
  267. package/dist/teleport.js +1 -1
  268. package/dist/{textarea-D1TMw9YF.js → textarea-AQhSey_l.js} +2 -2
  269. package/dist/{textarea-D1TMw9YF.js.map → textarea-AQhSey_l.js.map} +1 -1
  270. package/dist/{textarea-BR5Li-nD.cjs → textarea-BACIb-N3.cjs} +2 -2
  271. package/dist/{textarea-BR5Li-nD.cjs.map → textarea-BACIb-N3.cjs.map} +1 -1
  272. package/dist/textarea.cjs +1 -1
  273. package/dist/textarea.js +1 -1
  274. package/dist/{theme-button-BxQD2kgl.cjs → theme-button-CRdkWTDn.cjs} +2 -2
  275. package/dist/{theme-button-BxQD2kgl.cjs.map → theme-button-CRdkWTDn.cjs.map} +1 -1
  276. package/dist/{theme-button-jBE7WmSk.js → theme-button-Dp2Z3PTI.js} +2 -2
  277. package/dist/{theme-button-jBE7WmSk.js.map → theme-button-Dp2Z3PTI.js.map} +1 -1
  278. package/dist/theme-button.cjs +1 -1
  279. package/dist/theme-button.js +1 -1
  280. package/dist/theme.cjs +1 -1
  281. package/dist/{theme.component-DsspzHLe.js → theme.component-0o6NJY_z.js} +53 -53
  282. package/dist/{theme.component-DsspzHLe.js.map → theme.component-0o6NJY_z.js.map} +1 -1
  283. package/dist/{theme.component-Bui-mL_9.cjs → theme.component-Bgw2BYNp.cjs} +2 -2
  284. package/dist/{theme.component-Bui-mL_9.cjs.map → theme.component-Bgw2BYNp.cjs.map} +1 -1
  285. package/dist/theme.js +1 -1
  286. package/dist/{timezone-DrwWc-PS.cjs → timezone-DDbSCFT0.cjs} +2 -2
  287. package/dist/{timezone-DrwWc-PS.cjs.map → timezone-DDbSCFT0.cjs.map} +1 -1
  288. package/dist/{timezone-CRnMybGd.js → timezone-i2PffMdu.js} +3 -3
  289. package/dist/{timezone-CRnMybGd.js.map → timezone-i2PffMdu.js.map} +1 -1
  290. package/dist/{tooltip-Dpf6pzaq.cjs → tooltip-B-HgABZV.cjs} +2 -2
  291. package/dist/{tooltip-Dpf6pzaq.cjs.map → tooltip-B-HgABZV.cjs.map} +1 -1
  292. package/dist/{tooltip-DqZLylr1.js → tooltip-Ch1EkDNU.js} +2 -2
  293. package/dist/{tooltip-DqZLylr1.js.map → tooltip-Ch1EkDNU.js.map} +1 -1
  294. package/dist/tooltip.cjs +1 -1
  295. package/dist/tooltip.js +1 -1
  296. package/dist/{tree-DIftQLCJ.cjs → tree-CD7V4Am8.cjs} +2 -2
  297. package/dist/{tree-DIftQLCJ.cjs.map → tree-CD7V4Am8.cjs.map} +1 -1
  298. package/dist/{tree-3kX3eMLN.js → tree-DPmfcerN.js} +2 -2
  299. package/dist/{tree-3kX3eMLN.js.map → tree-DPmfcerN.js.map} +1 -1
  300. package/dist/tree.cjs +1 -1
  301. package/dist/tree.js +1 -1
  302. package/dist/{typewriter-pnrp4hDo.cjs → typewriter-BHNv2ubS.cjs} +2 -2
  303. package/dist/{typewriter-pnrp4hDo.cjs.map → typewriter-BHNv2ubS.cjs.map} +1 -1
  304. package/dist/{typewriter-BNt2JSP1.js → typewriter-CzL_PDdV.js} +7 -7
  305. package/dist/{typewriter-BNt2JSP1.js.map → typewriter-CzL_PDdV.js.map} +1 -1
  306. package/dist/typewriter.cjs +1 -1
  307. package/dist/typewriter.js +1 -1
  308. package/dist/{typography-CIGiQaQ9.js → typography-BUObo_2L.js} +2 -2
  309. package/dist/{typography-CIGiQaQ9.js.map → typography-BUObo_2L.js.map} +1 -1
  310. package/dist/{typography-BOpAEszL.cjs → typography-EG9ukCgM.cjs} +2 -2
  311. package/dist/{typography-BOpAEszL.cjs.map → typography-EG9ukCgM.cjs.map} +1 -1
  312. package/dist/typography.cjs +1 -1
  313. package/dist/typography.js +1 -1
  314. package/package.json +1 -1
  315. package/types/src/area/area.component.d.ts +1 -10
  316. package/types/src/dialog/dailog.d.ts +1 -5
  317. package/types/src/dialog/dialog-service.d.ts +0 -7
  318. package/types/src/index.d.ts +1 -0
  319. package/types/src/navigation-rail/index.d.ts +2 -0
  320. package/types/src/navigation-rail/navigation-rail-item.d.ts +49 -0
  321. package/types/src/navigation-rail/navigation-rail.d.ts +35 -0
  322. package/dist/area.component-20kF-_Qv.js +0 -340
  323. package/dist/area.component-20kF-_Qv.js.map +0 -1
  324. package/dist/area.component-DGqP6nNX.cjs +0 -12
  325. package/dist/area.component-DGqP6nNX.cjs.map +0 -1
  326. package/dist/dialog-content-DMCx9ntb.js.map +0 -1
  327. package/dist/dialog-content-Wk0TffYD.cjs.map +0 -1
  328. package/dist/dialog-service-CgJH8clD.cjs +0 -2
  329. package/dist/dialog-service-CgJH8clD.cjs.map +0 -1
  330. package/dist/dialog-service-PQ9ssbsY.js.map +0 -1
  331. package/dist/tailwind.mixin-BwyPZWY9.cjs +0 -2
  332. package/dist/tailwind.mixin-DmVr0c4M.js +0 -43
@@ -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-BwyPZWY9.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-CngO3XGT.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-DWOBF-Ln.cjs.map
177
+ //# sourceMappingURL=media-DAnLnZWp.cjs.map
@@ -1 +1 @@
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
+ {"version":3,"file":"media-DAnLnZWp.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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"}
@@ -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-DmVr0c4M.js";
6
- import { $ as v } from "./litElement.mixin-DvlT9GCm.js";
5
+ import { T as w } from "./tailwind.mixin-T5CiXVWk.js";
6
+ import { $ as v } from "./litElement.mixin-CAUo-j_j.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-CGv1fnt9.js.map
99
+ //# sourceMappingURL=menu-BwO8_Djb.js.map
@@ -1 +1 @@
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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"}
1
+ {"version":3,"file":"menu-BwO8_Djb.js","sources":["../src/menu/menu-item.ts","../src/menu/menu.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { fromEvent, takeUntil } from 'rxjs'\n\n@customElement('schmancy-menu-item')\nexport default class SchmancyMenuItem extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(this, 'click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(e => {\n\t\t\t\te.stopPropagation()\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('schmancy-menu-item-click', {\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t}\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<schmancy-list-item>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-list-item>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu-item': SchmancyMenuItem\n\t}\n}\n","import { autoUpdate, computePosition, flip, offset, shift, size } from '@floating-ui/dom'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, query, queryAssignedElements } from 'lit/decorators.js'\nimport { filter, fromEvent, takeUntil, tap } from 'rxjs'\n\n@customElement('schmancy-menu')\nexport default class SchmancyMenu extends TailwindElement(css`\n\t:host {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t}\n\n\t#menu {\n\t\tdisplay: none;\n\t}\n\n\t#menu[data-show='true'] {\n\t\tdisplay: block;\n\t}\n`) {\n\t@queryAssignedElements({ flatten: true, slot: 'button' })\n\tbuttonElement!: Array<HTMLElement>\n\n\t@query('#menu') menuElement!: HTMLElement\n\n\tprivate cleanup?: any\n\n\tprivate getMiddleware() {\n\t\treturn [\n\t\t\toffset(5),\n\t\t\tflip(),\n\t\t\tshift({ padding: 5 }),\n\t\t\tsize({\n\t\t\t\tapply({ availableHeight, elements }) {\n\t\t\t\t\telements.floating.style.maxHeight = `${availableHeight}px`\n\t\t\t\t},\n\t\t\t}),\n\t\t]\n\t}\n\n\tasync updatePosition() {\n\t\tif (!this.buttonElement[0] || !this.menuElement) {\n\t\t\treturn\n\t\t}\n\n\t\tawait computePosition(this.buttonElement[0], this.menuElement, {\n\t\t\tplacement: 'bottom-start',\n\t\t\tmiddleware: this.getMiddleware(),\n\t\t}).then(({ x, y }) => {\n\t\t\tObject.assign(this.menuElement.style, {\n\t\t\t\tleft: `${x}px`,\n\t\t\t\ttop: `${y}px`,\n\t\t\t})\n\t\t})\n\t}\n\n\tprivate showMenu() {\n\t\tif (!this.buttonElement[0] || !this.menuElement) return\n\n\t\tthis.menuElement.dataset.show = 'true'\n\n\t\tthis.cleanup = autoUpdate(this.buttonElement[0], this.menuElement, () => {\n\t\t\tcomputePosition(this.buttonElement[0], this.menuElement, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: this.getMiddleware(),\n\t\t\t}).then(({ x, y, strategy }) => {\n\t\t\t\tObject.assign(this.menuElement.style, {\n\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\ttop: `${y}px`,\n\t\t\t\t\tposition: strategy,\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 100,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\n\t\tanimation.onfinish = () => {}\n\t}\n\n\tprivate async hideMenu() {\n\t\t// Make hideMenu async\n\t\tif (this.cleanup) {\n\t\t\tawait this.cleanup() // Await the cleanup!\n\t\t\tthis.cleanup = undefined\n\t\t}\n\t\tthis.menuElement.dataset.show = 'false'\n\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 75,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\t\tanimation.onfinish = () => {} // No need for a promise now\n\t}\n\n\tfirstUpdated(): void {\n\t\tfromEvent(this.buttonElement, 'click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.showMenu()\n\t\t\t})\n\n\t\tfromEvent(this, 'schmancy-menu-item-click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.hideMenu()\n\t\t\t})\n\n\t\tfromEvent(document, 'click')\n\t\t\t.pipe(\n\t\t\t\tfilter((e: Event) => !this.contains(e.target as Node)),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\ttap(() => {\n\t\t\t\t\tif (this.menuElement.dataset.show === 'true') {\n\t\t\t\t\t\tthis.hideMenu()\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<slot name=\"button\">\n\t\t\t\t<schmancy-icon-button> more_vert </schmancy-icon-button>\n\t\t\t</slot>\n\t\t\t<ul\n\t\t\t\tid=\"menu\"\n\t\t\t\tclass=\"absolute z-50 border-outlineVariant rounded-md min-w-[160px] max-w-[320px] w-max bg-surface-default max-h-[90vh] shadow-1 overflow-y-auto\"\n\t\t\t\trole=\"menu\"\n\t\t\t\taria-orientation=\"vertical\"\n\t\t\t\taria-labelledby=\"options-menu-4-button\"\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</ul>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu': SchmancyMenu\n\t}\n}\n"],"names":["SchmancyMenuItem","$LitElement","css","connectedCallback","super","fromEvent","this","pipe","takeUntil","disconnecting","subscribe","e","stopPropagation","dispatchEvent","CustomEvent","bubbles","composed","render","html","customElement","SchmancyMenu","TailwindElement","getMiddleware","offset","flip","shift","padding","size","apply","availableHeight","elements","floating","style","maxHeight","buttonElement","menuElement","computePosition","placement","middleware","then","x","y","Object","assign","left","top","showMenu","dataset","show","cleanup","autoUpdate","strategy","position","animate","opacity","transform","duration","easing","onfinish","hideMenu","firstUpdated","tap","document","filter","contains","target","__decorateClass","queryAssignedElements","flatten","slot","prototype","query"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- "use strict";const i=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const c=require("lit/decorators.js"),d=require("./tailwind.mixin-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`
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-CngO3XGT.cjs"),b=require("./litElement.mixin-DE7nMq_x.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-BZUiU-pE.cjs.map
36
+ //# sourceMappingURL=menu-DoN4dmcH.cjs.map
@@ -1 +1 @@
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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"}
1
+ {"version":3,"file":"menu-DoN4dmcH.cjs","sources":["../src/menu/menu-item.ts","../src/menu/menu.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { fromEvent, takeUntil } from 'rxjs'\n\n@customElement('schmancy-menu-item')\nexport default class SchmancyMenuItem extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(this, 'click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(e => {\n\t\t\t\te.stopPropagation()\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('schmancy-menu-item-click', {\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t}\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<schmancy-list-item>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-list-item>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu-item': SchmancyMenuItem\n\t}\n}\n","import { autoUpdate, computePosition, flip, offset, shift, size } from '@floating-ui/dom'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, query, queryAssignedElements } from 'lit/decorators.js'\nimport { filter, fromEvent, takeUntil, tap } from 'rxjs'\n\n@customElement('schmancy-menu')\nexport default class SchmancyMenu extends TailwindElement(css`\n\t:host {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t}\n\n\t#menu {\n\t\tdisplay: none;\n\t}\n\n\t#menu[data-show='true'] {\n\t\tdisplay: block;\n\t}\n`) {\n\t@queryAssignedElements({ flatten: true, slot: 'button' })\n\tbuttonElement!: Array<HTMLElement>\n\n\t@query('#menu') menuElement!: HTMLElement\n\n\tprivate cleanup?: any\n\n\tprivate getMiddleware() {\n\t\treturn [\n\t\t\toffset(5),\n\t\t\tflip(),\n\t\t\tshift({ padding: 5 }),\n\t\t\tsize({\n\t\t\t\tapply({ availableHeight, elements }) {\n\t\t\t\t\telements.floating.style.maxHeight = `${availableHeight}px`\n\t\t\t\t},\n\t\t\t}),\n\t\t]\n\t}\n\n\tasync updatePosition() {\n\t\tif (!this.buttonElement[0] || !this.menuElement) {\n\t\t\treturn\n\t\t}\n\n\t\tawait computePosition(this.buttonElement[0], this.menuElement, {\n\t\t\tplacement: 'bottom-start',\n\t\t\tmiddleware: this.getMiddleware(),\n\t\t}).then(({ x, y }) => {\n\t\t\tObject.assign(this.menuElement.style, {\n\t\t\t\tleft: `${x}px`,\n\t\t\t\ttop: `${y}px`,\n\t\t\t})\n\t\t})\n\t}\n\n\tprivate showMenu() {\n\t\tif (!this.buttonElement[0] || !this.menuElement) return\n\n\t\tthis.menuElement.dataset.show = 'true'\n\n\t\tthis.cleanup = autoUpdate(this.buttonElement[0], this.menuElement, () => {\n\t\t\tcomputePosition(this.buttonElement[0], this.menuElement, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: this.getMiddleware(),\n\t\t\t}).then(({ x, y, strategy }) => {\n\t\t\t\tObject.assign(this.menuElement.style, {\n\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\ttop: `${y}px`,\n\t\t\t\t\tposition: strategy,\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 100,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\n\t\tanimation.onfinish = () => {}\n\t}\n\n\tprivate async hideMenu() {\n\t\t// Make hideMenu async\n\t\tif (this.cleanup) {\n\t\t\tawait this.cleanup() // Await the cleanup!\n\t\t\tthis.cleanup = undefined\n\t\t}\n\t\tthis.menuElement.dataset.show = 'false'\n\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 75,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\t\tanimation.onfinish = () => {} // No need for a promise now\n\t}\n\n\tfirstUpdated(): void {\n\t\tfromEvent(this.buttonElement, 'click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.showMenu()\n\t\t\t})\n\n\t\tfromEvent(this, 'schmancy-menu-item-click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.hideMenu()\n\t\t\t})\n\n\t\tfromEvent(document, 'click')\n\t\t\t.pipe(\n\t\t\t\tfilter((e: Event) => !this.contains(e.target as Node)),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\ttap(() => {\n\t\t\t\t\tif (this.menuElement.dataset.show === 'true') {\n\t\t\t\t\t\tthis.hideMenu()\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<slot name=\"button\">\n\t\t\t\t<schmancy-icon-button> more_vert </schmancy-icon-button>\n\t\t\t</slot>\n\t\t\t<ul\n\t\t\t\tid=\"menu\"\n\t\t\t\tclass=\"absolute z-50 border-outlineVariant rounded-md min-w-[160px] max-w-[320px] w-max bg-surface-default max-h-[90vh] shadow-1 overflow-y-auto\"\n\t\t\t\trole=\"menu\"\n\t\t\t\taria-orientation=\"vertical\"\n\t\t\t\taria-labelledby=\"options-menu-4-button\"\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</ul>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu': SchmancyMenu\n\t}\n}\n"],"names":["SchmancyMenuItem","$LitElement","css","connectedCallback","super","fromEvent","this","pipe","takeUntil","disconnecting","subscribe","e","stopPropagation","dispatchEvent","CustomEvent","bubbles","composed","render","html","customElement","SchmancyMenu","TailwindElement","getMiddleware","offset","flip","shift","padding","size","apply","availableHeight","elements","floating","style","maxHeight","updatePosition","buttonElement","menuElement","computePosition","placement","middleware","then","x","y","Object","assign","left","top","showMenu","dataset","show","cleanup","autoUpdate","strategy","position","animate","opacity","transform","duration","easing","onfinish","hideMenu","firstUpdated","tap","document","filter","contains","target","__decorateClass","queryAssignedElements","flatten","slot","prototype","query"],"mappings":"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"}
package/dist/menu.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";require("./menu-BZUiU-pE.cjs");
1
+ "use strict";require("./menu-DoN4dmcH.cjs");
2
2
  //# sourceMappingURL=menu.cjs.map
package/dist/menu.js CHANGED
@@ -1,2 +1,2 @@
1
- import "./menu-CGv1fnt9.js";
1
+ import "./menu-BwO8_Djb.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-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;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./avatar-C8XJnGJs.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-DVWNjWy4.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-n-Kjs8UW.js";
2
2
  export {
3
3
  c as $drawer,
4
4
  e as SchmancyDrawerAppbar,
@@ -0,0 +1,116 @@
1
+ "use strict";const h=require("./tailwind.mixin-CngO3XGT.cjs"),o=require("lit"),n=require("lit/decorators.js");var d=Object.defineProperty,g=Object.getOwnPropertyDescriptor,p=(l,t,a,i)=>{for(var r,e=i>1?void 0:i?g(t,a):t,s=l.length-1;s>=0;s--)(r=l[s])&&(e=(i?r(t,a,e):r(e))||e);return i&&e&&d(t,a,e),e};exports.SchmancyNavigationRail=class extends h.TailwindElement(o.css`
2
+ :host {
3
+ display: flex;
4
+ flex-direction: column;
5
+ width: 80px;
6
+ height: 100%;
7
+ background-color: var(--schmancy-sys-color-surface-container);
8
+ color: var(--schmancy-sys-color-surface-on);
9
+ box-sizing: border-box;
10
+ }
11
+
12
+ :host([extended]) {
13
+ width: 192px;
14
+ }
15
+
16
+ /* Alignment options */
17
+ :host([align='start']) {
18
+ align-items: flex-start;
19
+ padding: 16px 12px;
20
+ }
21
+
22
+ :host([align='center']) {
23
+ align-items: center;
24
+ justify-content: center;
25
+ padding: 16px 12px;
26
+ }
27
+
28
+ :host([align='end']) {
29
+ align-items: flex-end;
30
+ padding: 16px 12px;
31
+ }
32
+
33
+ /* Default center alignment */
34
+ :host {
35
+ align-items: center;
36
+ padding: 16px 12px;
37
+ gap: 12px;
38
+ }
39
+ `){constructor(){super(...arguments),this.extended=!1,this.align="center"}render(){return o.html`<slot></slot>`}},p([n.property({type:Boolean,reflect:!0})],exports.SchmancyNavigationRail.prototype,"extended",2),p([n.property({reflect:!0})],exports.SchmancyNavigationRail.prototype,"align",2),exports.SchmancyNavigationRail=p([n.customElement("schmancy-navigation-rail")],exports.SchmancyNavigationRail);var y=Object.defineProperty,m=Object.getOwnPropertyDescriptor,c=(l,t,a,i)=>{for(var r,e=i>1?void 0:i?m(t,a):t,s=l.length-1;s>=0;s--)(r=l[s])&&(e=(i?r(t,a,e):r(e))||e);return i&&e&&y(t,a,e),e};exports.SchmancyNavigationRailItem=class extends h.TailwindElement(o.css`
40
+ :host {
41
+ display: flex;
42
+ align-items: center;
43
+ justify-content: center;
44
+ min-width: 56px;
45
+ min-height: 56px;
46
+ border-radius: 16px;
47
+ cursor: pointer;
48
+ transition: all 0.2s ease;
49
+ position: relative;
50
+ box-sizing: border-box;
51
+ color: var(--schmancy-sys-color-surface-on-variant);
52
+ user-select: none;
53
+ }
54
+
55
+ :host(:hover) {
56
+ background-color: var(--schmancy-sys-color-surface-container-high);
57
+ }
58
+
59
+ :host([active]) {
60
+ background-color: var(--schmancy-sys-color-secondary-container);
61
+ color: var(--schmancy-sys-color-secondary-container-on);
62
+ }
63
+
64
+ :host([extended]) {
65
+ width: 168px;
66
+ justify-content: flex-start;
67
+ padding: 0 16px;
68
+ gap: 12px;
69
+ }
70
+
71
+ .icon {
72
+ font-family: 'Material Symbols Outlined';
73
+ font-size: 24px;
74
+ line-height: 1;
75
+ flex-shrink: 0;
76
+ }
77
+
78
+ .label {
79
+ font-size: 14px;
80
+ font-weight: 500;
81
+ line-height: 1.2;
82
+ overflow: hidden;
83
+ text-overflow: ellipsis;
84
+ white-space: nowrap;
85
+ }
86
+
87
+ .badge {
88
+ position: absolute;
89
+ top: 4px;
90
+ right: 4px;
91
+ min-width: 16px;
92
+ height: 16px;
93
+ border-radius: 8px;
94
+ background-color: var(--schmancy-sys-color-error);
95
+ color: var(--schmancy-sys-color-error-on);
96
+ font-size: 11px;
97
+ font-weight: 500;
98
+ display: flex;
99
+ align-items: center;
100
+ justify-content: center;
101
+ padding: 0 4px;
102
+ box-sizing: border-box;
103
+ }
104
+
105
+ :host([extended]) .badge {
106
+ position: static;
107
+ margin-left: auto;
108
+ }
109
+ `){constructor(){super(...arguments),this.icon="",this.label="",this.active=!1,this.badge="",this.extended=!1}handleClick(){this.dispatchEvent(new CustomEvent("rail-item-click",{detail:{icon:this.icon,label:this.label,active:this.active},bubbles:!0,composed:!0}))}render(){return this.querySelector("[slot]")||this.textContent?.trim()?o.html`<slot @click=${this.handleClick}></slot>`:o.html`
110
+ <div @click=${this.handleClick}>
111
+ ${this.icon?o.html`<span class="icon">${this.icon}</span>`:""}
112
+ ${this.extended&&this.label?o.html`<span class="label">${this.label}</span>`:""}
113
+ ${this.badge?o.html`<span class="badge">${this.badge}</span>`:""}
114
+ </div>
115
+ `}},c([n.property({type:String})],exports.SchmancyNavigationRailItem.prototype,"icon",2),c([n.property({type:String})],exports.SchmancyNavigationRailItem.prototype,"label",2),c([n.property({type:Boolean,reflect:!0})],exports.SchmancyNavigationRailItem.prototype,"active",2),c([n.property({type:String})],exports.SchmancyNavigationRailItem.prototype,"badge",2),c([n.property({type:Boolean,reflect:!0})],exports.SchmancyNavigationRailItem.prototype,"extended",2),exports.SchmancyNavigationRailItem=c([n.customElement("schmancy-navigation-rail-item")],exports.SchmancyNavigationRailItem);
116
+ //# sourceMappingURL=navigation-rail-item-B2XuJrYp.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-rail-item-B2XuJrYp.cjs","sources":["../src/navigation-rail/navigation-rail.ts","../src/navigation-rail/navigation-rail-item.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/tailwind.mixin'\r\nimport { css, html } from 'lit'\r\nimport { customElement, property } from 'lit/decorators.js'\r\n\r\n/**\r\n * `<schmancy-navigation-rail>` component\r\n *\r\n * A vertical navigation component typically positioned on the left side of an application.\r\n * Navigation rails provide access to between 3-7 primary destinations with a compact footprint.\r\n *\r\n * @element schmancy-navigation-rail\r\n * @slot - Default slot for navigation rail items\r\n *\r\n * @example\r\n * <schmancy-navigation-rail>\r\n * <schmancy-navigation-rail-item icon=\"home\" label=\"Home\"></schmancy-navigation-rail-item>\r\n * <schmancy-navigation-rail-item icon=\"search\" label=\"Search\"></schmancy-navigation-rail-item>\r\n * </schmancy-navigation-rail>\r\n */\r\n@customElement('schmancy-navigation-rail')\r\nexport class SchmancyNavigationRail extends TailwindElement(css`\r\n\t:host {\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\twidth: 80px;\r\n\t\theight: 100%;\r\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\r\n\t\tcolor: var(--schmancy-sys-color-surface-on);\r\n\t\tbox-sizing: border-box;\r\n\t}\r\n\r\n\t:host([extended]) {\r\n\t\twidth: 192px;\r\n\t}\r\n\r\n\t/* Alignment options */\r\n\t:host([align='start']) {\r\n\t\talign-items: flex-start;\r\n\t\tpadding: 16px 12px;\r\n\t}\r\n\r\n\t:host([align='center']) {\r\n\t\talign-items: center;\r\n\t\tjustify-content: center;\r\n\t\tpadding: 16px 12px;\r\n\t}\r\n\r\n\t:host([align='end']) {\r\n\t\talign-items: flex-end;\r\n\t\tpadding: 16px 12px;\r\n\t}\r\n\r\n\t/* Default center alignment */\r\n\t:host {\r\n\t\talign-items: center;\r\n\t\tpadding: 16px 12px;\r\n\t\tgap: 12px;\r\n\t}\r\n`) {\r\n\t/**\r\n\t * Whether the navigation rail is extended to show labels\r\n\t * @default false\r\n\t */\r\n\t@property({ type: Boolean, reflect: true })\r\n\textended = false\r\n\r\n\t/**\r\n\t * Alignment of items within the rail\r\n\t * @default 'center'\r\n\t */\r\n\t@property({ reflect: true })\r\n\talign: 'start' | 'center' | 'end' = 'center'\r\n\r\n\tprotected render() {\r\n\t\treturn html`<slot></slot>`\r\n\t}\r\n}\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'schmancy-navigation-rail': SchmancyNavigationRail\r\n\t}\r\n}","import { TailwindElement } from '@mixins/tailwind.mixin'\r\nimport { css, html } from 'lit'\r\nimport { customElement, property } from 'lit/decorators.js'\r\n\r\n/**\r\n * `<schmancy-navigation-rail-item>` component\r\n *\r\n * Individual navigation item for use within a navigation rail.\r\n * Represents a single destination or action with an icon and optional label.\r\n *\r\n * @element schmancy-navigation-rail-item\r\n * @slot icon - Slot for the navigation item icon\r\n * @slot - Default slot for custom content (takes precedence over icon/label props)\r\n *\r\n * @example\r\n * <schmancy-navigation-rail-item icon=\"home\" label=\"Home\" active></schmancy-navigation-rail-item>\r\n */\r\n@customElement('schmancy-navigation-rail-item')\r\nexport class SchmancyNavigationRailItem extends TailwindElement(css`\r\n\t:host {\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tjustify-content: center;\r\n\t\tmin-width: 56px;\r\n\t\tmin-height: 56px;\r\n\t\tborder-radius: 16px;\r\n\t\tcursor: pointer;\r\n\t\ttransition: all 0.2s ease;\r\n\t\tposition: relative;\r\n\t\tbox-sizing: border-box;\r\n\t\tcolor: var(--schmancy-sys-color-surface-on-variant);\r\n\t\tuser-select: none;\r\n\t}\r\n\r\n\t:host(:hover) {\r\n\t\tbackground-color: var(--schmancy-sys-color-surface-container-high);\r\n\t}\r\n\r\n\t:host([active]) {\r\n\t\tbackground-color: var(--schmancy-sys-color-secondary-container);\r\n\t\tcolor: var(--schmancy-sys-color-secondary-container-on);\r\n\t}\r\n\r\n\t:host([extended]) {\r\n\t\twidth: 168px;\r\n\t\tjustify-content: flex-start;\r\n\t\tpadding: 0 16px;\r\n\t\tgap: 12px;\r\n\t}\r\n\r\n\t.icon {\r\n\t\tfont-family: 'Material Symbols Outlined';\r\n\t\tfont-size: 24px;\r\n\t\tline-height: 1;\r\n\t\tflex-shrink: 0;\r\n\t}\r\n\r\n\t.label {\r\n\t\tfont-size: 14px;\r\n\t\tfont-weight: 500;\r\n\t\tline-height: 1.2;\r\n\t\toverflow: hidden;\r\n\t\ttext-overflow: ellipsis;\r\n\t\twhite-space: nowrap;\r\n\t}\r\n\r\n\t.badge {\r\n\t\tposition: absolute;\r\n\t\ttop: 4px;\r\n\t\tright: 4px;\r\n\t\tmin-width: 16px;\r\n\t\theight: 16px;\r\n\t\tborder-radius: 8px;\r\n\t\tbackground-color: var(--schmancy-sys-color-error);\r\n\t\tcolor: var(--schmancy-sys-color-error-on);\r\n\t\tfont-size: 11px;\r\n\t\tfont-weight: 500;\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tjustify-content: center;\r\n\t\tpadding: 0 4px;\r\n\t\tbox-sizing: border-box;\r\n\t}\r\n\r\n\t:host([extended]) .badge {\r\n\t\tposition: static;\r\n\t\tmargin-left: auto;\r\n\t}\r\n`) {\r\n\t/**\r\n\t * Icon name for the navigation item\r\n\t */\r\n\t@property({ type: String })\r\n\ticon = ''\r\n\r\n\t/**\r\n\t * Label text for the navigation item\r\n\t */\r\n\t@property({ type: String })\r\n\tlabel = ''\r\n\r\n\t/**\r\n\t * Whether this item is currently active/selected\r\n\t * @default false\r\n\t */\r\n\t@property({ type: Boolean, reflect: true })\r\n\tactive = false\r\n\r\n\t/**\r\n\t * Badge text to display (e.g., notification count)\r\n\t */\r\n\t@property({ type: String })\r\n\tbadge = ''\r\n\r\n\t/**\r\n\t * Whether the parent rail is extended\r\n\t * @default false\r\n\t */\r\n\t@property({ type: Boolean, reflect: true })\r\n\textended = false\r\n\r\n\t/**\r\n\t * Handle click events\r\n\t */\r\n\tprivate handleClick() {\r\n\t\tthis.dispatchEvent(new CustomEvent('rail-item-click', {\r\n\t\t\tdetail: {\r\n\t\t\t\ticon: this.icon,\r\n\t\t\t\tlabel: this.label,\r\n\t\t\t\tactive: this.active\r\n\t\t\t},\r\n\t\t\tbubbles: true,\r\n\t\t\tcomposed: true\r\n\t\t}))\r\n\t}\r\n\r\n\tprotected render() {\r\n\t\tconst hasSlotContent = this.querySelector('[slot]') || this.textContent?.trim()\r\n\r\n\t\tif (hasSlotContent) {\r\n\t\t\treturn html`<slot @click=${this.handleClick}></slot>`\r\n\t\t}\r\n\r\n\t\treturn html`\r\n\t\t\t<div @click=${this.handleClick}>\r\n\t\t\t\t${this.icon ? html`<span class=\"icon\">${this.icon}</span>` : ''}\r\n\t\t\t\t${this.extended && this.label ? html`<span class=\"label\">${this.label}</span>` : ''}\r\n\t\t\t\t${this.badge ? html`<span class=\"badge\">${this.badge}</span>` : ''}\r\n\t\t\t</div>\r\n\t\t`\r\n\t}\r\n}\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'schmancy-navigation-rail-item': SchmancyNavigationRailItem\r\n\t}\r\n}"],"names":["SchmancyNavigationRail","TailwindElement","css","constructor","super","arguments","this","extended","align","render","html","__decorateClass","property","type","Boolean","reflect","prototype","customElement","SchmancyNavigationRailItem","icon","label","active","badge","handleClick","dispatchEvent","CustomEvent","detail","bubbles","composed","querySelector","textContent","trim","String"],"mappings":"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"}
@@ -0,0 +1,151 @@
1
+ import { T as g } from "./tailwind.mixin-T5CiXVWk.js";
2
+ import { css as x, html as l } from "lit";
3
+ import { property as a, customElement as y } from "lit/decorators.js";
4
+ var m = Object.defineProperty, b = Object.getOwnPropertyDescriptor, h = (p, t, i, o) => {
5
+ for (var n, e = o > 1 ? void 0 : o ? b(t, i) : t, r = p.length - 1; r >= 0; r--) (n = p[r]) && (e = (o ? n(t, i, e) : n(e)) || e);
6
+ return o && e && m(t, i, e), e;
7
+ };
8
+ let d = class extends g(x`
9
+ :host {
10
+ display: flex;
11
+ flex-direction: column;
12
+ width: 80px;
13
+ height: 100%;
14
+ background-color: var(--schmancy-sys-color-surface-container);
15
+ color: var(--schmancy-sys-color-surface-on);
16
+ box-sizing: border-box;
17
+ }
18
+
19
+ :host([extended]) {
20
+ width: 192px;
21
+ }
22
+
23
+ /* Alignment options */
24
+ :host([align='start']) {
25
+ align-items: flex-start;
26
+ padding: 16px 12px;
27
+ }
28
+
29
+ :host([align='center']) {
30
+ align-items: center;
31
+ justify-content: center;
32
+ padding: 16px 12px;
33
+ }
34
+
35
+ :host([align='end']) {
36
+ align-items: flex-end;
37
+ padding: 16px 12px;
38
+ }
39
+
40
+ /* Default center alignment */
41
+ :host {
42
+ align-items: center;
43
+ padding: 16px 12px;
44
+ gap: 12px;
45
+ }
46
+ `) {
47
+ constructor() {
48
+ super(...arguments), this.extended = !1, this.align = "center";
49
+ }
50
+ render() {
51
+ return l`<slot></slot>`;
52
+ }
53
+ };
54
+ h([a({ type: Boolean, reflect: !0 })], d.prototype, "extended", 2), h([a({ reflect: !0 })], d.prototype, "align", 2), d = h([y("schmancy-navigation-rail")], d);
55
+ var f = Object.defineProperty, u = Object.getOwnPropertyDescriptor, c = (p, t, i, o) => {
56
+ for (var n, e = o > 1 ? void 0 : o ? u(t, i) : t, r = p.length - 1; r >= 0; r--) (n = p[r]) && (e = (o ? n(t, i, e) : n(e)) || e);
57
+ return o && e && f(t, i, e), e;
58
+ };
59
+ let s = class extends g(x`
60
+ :host {
61
+ display: flex;
62
+ align-items: center;
63
+ justify-content: center;
64
+ min-width: 56px;
65
+ min-height: 56px;
66
+ border-radius: 16px;
67
+ cursor: pointer;
68
+ transition: all 0.2s ease;
69
+ position: relative;
70
+ box-sizing: border-box;
71
+ color: var(--schmancy-sys-color-surface-on-variant);
72
+ user-select: none;
73
+ }
74
+
75
+ :host(:hover) {
76
+ background-color: var(--schmancy-sys-color-surface-container-high);
77
+ }
78
+
79
+ :host([active]) {
80
+ background-color: var(--schmancy-sys-color-secondary-container);
81
+ color: var(--schmancy-sys-color-secondary-container-on);
82
+ }
83
+
84
+ :host([extended]) {
85
+ width: 168px;
86
+ justify-content: flex-start;
87
+ padding: 0 16px;
88
+ gap: 12px;
89
+ }
90
+
91
+ .icon {
92
+ font-family: 'Material Symbols Outlined';
93
+ font-size: 24px;
94
+ line-height: 1;
95
+ flex-shrink: 0;
96
+ }
97
+
98
+ .label {
99
+ font-size: 14px;
100
+ font-weight: 500;
101
+ line-height: 1.2;
102
+ overflow: hidden;
103
+ text-overflow: ellipsis;
104
+ white-space: nowrap;
105
+ }
106
+
107
+ .badge {
108
+ position: absolute;
109
+ top: 4px;
110
+ right: 4px;
111
+ min-width: 16px;
112
+ height: 16px;
113
+ border-radius: 8px;
114
+ background-color: var(--schmancy-sys-color-error);
115
+ color: var(--schmancy-sys-color-error-on);
116
+ font-size: 11px;
117
+ font-weight: 500;
118
+ display: flex;
119
+ align-items: center;
120
+ justify-content: center;
121
+ padding: 0 4px;
122
+ box-sizing: border-box;
123
+ }
124
+
125
+ :host([extended]) .badge {
126
+ position: static;
127
+ margin-left: auto;
128
+ }
129
+ `) {
130
+ constructor() {
131
+ super(...arguments), this.icon = "", this.label = "", this.active = !1, this.badge = "", this.extended = !1;
132
+ }
133
+ handleClick() {
134
+ this.dispatchEvent(new CustomEvent("rail-item-click", { detail: { icon: this.icon, label: this.label, active: this.active }, bubbles: !0, composed: !0 }));
135
+ }
136
+ render() {
137
+ return this.querySelector("[slot]") || this.textContent?.trim() ? l`<slot @click=${this.handleClick}></slot>` : l`
138
+ <div @click=${this.handleClick}>
139
+ ${this.icon ? l`<span class="icon">${this.icon}</span>` : ""}
140
+ ${this.extended && this.label ? l`<span class="label">${this.label}</span>` : ""}
141
+ ${this.badge ? l`<span class="badge">${this.badge}</span>` : ""}
142
+ </div>
143
+ `;
144
+ }
145
+ };
146
+ c([a({ type: String })], s.prototype, "icon", 2), c([a({ type: String })], s.prototype, "label", 2), c([a({ type: Boolean, reflect: !0 })], s.prototype, "active", 2), c([a({ type: String })], s.prototype, "badge", 2), c([a({ type: Boolean, reflect: !0 })], s.prototype, "extended", 2), s = c([y("schmancy-navigation-rail-item")], s);
147
+ export {
148
+ d as S,
149
+ s as a
150
+ };
151
+ //# sourceMappingURL=navigation-rail-item-D_GarK92.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-rail-item-D_GarK92.js","sources":["../src/navigation-rail/navigation-rail.ts","../src/navigation-rail/navigation-rail-item.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/tailwind.mixin'\r\nimport { css, html } from 'lit'\r\nimport { customElement, property } from 'lit/decorators.js'\r\n\r\n/**\r\n * `<schmancy-navigation-rail>` component\r\n *\r\n * A vertical navigation component typically positioned on the left side of an application.\r\n * Navigation rails provide access to between 3-7 primary destinations with a compact footprint.\r\n *\r\n * @element schmancy-navigation-rail\r\n * @slot - Default slot for navigation rail items\r\n *\r\n * @example\r\n * <schmancy-navigation-rail>\r\n * <schmancy-navigation-rail-item icon=\"home\" label=\"Home\"></schmancy-navigation-rail-item>\r\n * <schmancy-navigation-rail-item icon=\"search\" label=\"Search\"></schmancy-navigation-rail-item>\r\n * </schmancy-navigation-rail>\r\n */\r\n@customElement('schmancy-navigation-rail')\r\nexport class SchmancyNavigationRail extends TailwindElement(css`\r\n\t:host {\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\twidth: 80px;\r\n\t\theight: 100%;\r\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\r\n\t\tcolor: var(--schmancy-sys-color-surface-on);\r\n\t\tbox-sizing: border-box;\r\n\t}\r\n\r\n\t:host([extended]) {\r\n\t\twidth: 192px;\r\n\t}\r\n\r\n\t/* Alignment options */\r\n\t:host([align='start']) {\r\n\t\talign-items: flex-start;\r\n\t\tpadding: 16px 12px;\r\n\t}\r\n\r\n\t:host([align='center']) {\r\n\t\talign-items: center;\r\n\t\tjustify-content: center;\r\n\t\tpadding: 16px 12px;\r\n\t}\r\n\r\n\t:host([align='end']) {\r\n\t\talign-items: flex-end;\r\n\t\tpadding: 16px 12px;\r\n\t}\r\n\r\n\t/* Default center alignment */\r\n\t:host {\r\n\t\talign-items: center;\r\n\t\tpadding: 16px 12px;\r\n\t\tgap: 12px;\r\n\t}\r\n`) {\r\n\t/**\r\n\t * Whether the navigation rail is extended to show labels\r\n\t * @default false\r\n\t */\r\n\t@property({ type: Boolean, reflect: true })\r\n\textended = false\r\n\r\n\t/**\r\n\t * Alignment of items within the rail\r\n\t * @default 'center'\r\n\t */\r\n\t@property({ reflect: true })\r\n\talign: 'start' | 'center' | 'end' = 'center'\r\n\r\n\tprotected render() {\r\n\t\treturn html`<slot></slot>`\r\n\t}\r\n}\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'schmancy-navigation-rail': SchmancyNavigationRail\r\n\t}\r\n}","import { TailwindElement } from '@mixins/tailwind.mixin'\r\nimport { css, html } from 'lit'\r\nimport { customElement, property } from 'lit/decorators.js'\r\n\r\n/**\r\n * `<schmancy-navigation-rail-item>` component\r\n *\r\n * Individual navigation item for use within a navigation rail.\r\n * Represents a single destination or action with an icon and optional label.\r\n *\r\n * @element schmancy-navigation-rail-item\r\n * @slot icon - Slot for the navigation item icon\r\n * @slot - Default slot for custom content (takes precedence over icon/label props)\r\n *\r\n * @example\r\n * <schmancy-navigation-rail-item icon=\"home\" label=\"Home\" active></schmancy-navigation-rail-item>\r\n */\r\n@customElement('schmancy-navigation-rail-item')\r\nexport class SchmancyNavigationRailItem extends TailwindElement(css`\r\n\t:host {\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tjustify-content: center;\r\n\t\tmin-width: 56px;\r\n\t\tmin-height: 56px;\r\n\t\tborder-radius: 16px;\r\n\t\tcursor: pointer;\r\n\t\ttransition: all 0.2s ease;\r\n\t\tposition: relative;\r\n\t\tbox-sizing: border-box;\r\n\t\tcolor: var(--schmancy-sys-color-surface-on-variant);\r\n\t\tuser-select: none;\r\n\t}\r\n\r\n\t:host(:hover) {\r\n\t\tbackground-color: var(--schmancy-sys-color-surface-container-high);\r\n\t}\r\n\r\n\t:host([active]) {\r\n\t\tbackground-color: var(--schmancy-sys-color-secondary-container);\r\n\t\tcolor: var(--schmancy-sys-color-secondary-container-on);\r\n\t}\r\n\r\n\t:host([extended]) {\r\n\t\twidth: 168px;\r\n\t\tjustify-content: flex-start;\r\n\t\tpadding: 0 16px;\r\n\t\tgap: 12px;\r\n\t}\r\n\r\n\t.icon {\r\n\t\tfont-family: 'Material Symbols Outlined';\r\n\t\tfont-size: 24px;\r\n\t\tline-height: 1;\r\n\t\tflex-shrink: 0;\r\n\t}\r\n\r\n\t.label {\r\n\t\tfont-size: 14px;\r\n\t\tfont-weight: 500;\r\n\t\tline-height: 1.2;\r\n\t\toverflow: hidden;\r\n\t\ttext-overflow: ellipsis;\r\n\t\twhite-space: nowrap;\r\n\t}\r\n\r\n\t.badge {\r\n\t\tposition: absolute;\r\n\t\ttop: 4px;\r\n\t\tright: 4px;\r\n\t\tmin-width: 16px;\r\n\t\theight: 16px;\r\n\t\tborder-radius: 8px;\r\n\t\tbackground-color: var(--schmancy-sys-color-error);\r\n\t\tcolor: var(--schmancy-sys-color-error-on);\r\n\t\tfont-size: 11px;\r\n\t\tfont-weight: 500;\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tjustify-content: center;\r\n\t\tpadding: 0 4px;\r\n\t\tbox-sizing: border-box;\r\n\t}\r\n\r\n\t:host([extended]) .badge {\r\n\t\tposition: static;\r\n\t\tmargin-left: auto;\r\n\t}\r\n`) {\r\n\t/**\r\n\t * Icon name for the navigation item\r\n\t */\r\n\t@property({ type: String })\r\n\ticon = ''\r\n\r\n\t/**\r\n\t * Label text for the navigation item\r\n\t */\r\n\t@property({ type: String })\r\n\tlabel = ''\r\n\r\n\t/**\r\n\t * Whether this item is currently active/selected\r\n\t * @default false\r\n\t */\r\n\t@property({ type: Boolean, reflect: true })\r\n\tactive = false\r\n\r\n\t/**\r\n\t * Badge text to display (e.g., notification count)\r\n\t */\r\n\t@property({ type: String })\r\n\tbadge = ''\r\n\r\n\t/**\r\n\t * Whether the parent rail is extended\r\n\t * @default false\r\n\t */\r\n\t@property({ type: Boolean, reflect: true })\r\n\textended = false\r\n\r\n\t/**\r\n\t * Handle click events\r\n\t */\r\n\tprivate handleClick() {\r\n\t\tthis.dispatchEvent(new CustomEvent('rail-item-click', {\r\n\t\t\tdetail: {\r\n\t\t\t\ticon: this.icon,\r\n\t\t\t\tlabel: this.label,\r\n\t\t\t\tactive: this.active\r\n\t\t\t},\r\n\t\t\tbubbles: true,\r\n\t\t\tcomposed: true\r\n\t\t}))\r\n\t}\r\n\r\n\tprotected render() {\r\n\t\tconst hasSlotContent = this.querySelector('[slot]') || this.textContent?.trim()\r\n\r\n\t\tif (hasSlotContent) {\r\n\t\t\treturn html`<slot @click=${this.handleClick}></slot>`\r\n\t\t}\r\n\r\n\t\treturn html`\r\n\t\t\t<div @click=${this.handleClick}>\r\n\t\t\t\t${this.icon ? html`<span class=\"icon\">${this.icon}</span>` : ''}\r\n\t\t\t\t${this.extended && this.label ? html`<span class=\"label\">${this.label}</span>` : ''}\r\n\t\t\t\t${this.badge ? html`<span class=\"badge\">${this.badge}</span>` : ''}\r\n\t\t\t</div>\r\n\t\t`\r\n\t}\r\n}\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'schmancy-navigation-rail-item': SchmancyNavigationRailItem\r\n\t}\r\n}"],"names":["SchmancyNavigationRail","TailwindElement","css","constructor","super","arguments","this","extended","align","html","__decorateClass","property","type","Boolean","reflect","prototype","customElement","SchmancyNavigationRailItem","icon","label","active","badge","handleClick","dispatchEvent","CustomEvent","detail","bubbles","composed","render","querySelector","textContent","trim","String"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./navigation-rail-item-B2XuJrYp.cjs");Object.defineProperty(exports,"SchmancyNavigationRail",{enumerable:!0,get:()=>e.SchmancyNavigationRail}),Object.defineProperty(exports,"SchmancyNavigationRailItem",{enumerable:!0,get:()=>e.SchmancyNavigationRailItem});
2
+ //# sourceMappingURL=navigation-rail.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-rail.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { S as c, a as m } from "./navigation-rail-item-D_GarK92.js";
2
+ export {
3
+ c as SchmancyNavigationRail,
4
+ m as SchmancyNavigationRailItem
5
+ };
6
+ //# sourceMappingURL=navigation-rail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-rail.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}