@mhmo91/schmancy 0.5.6 → 0.5.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (313) hide show
  1. package/dist/{animated-text-D93P3NLN.cjs → animated-text-DhWaYtKW.cjs} +2 -2
  2. package/dist/{animated-text-D93P3NLN.cjs.map → animated-text-DhWaYtKW.cjs.map} +1 -1
  3. package/dist/{animated-text-BSEbI_B1.js → animated-text-Dty0fSbq.js} +3 -3
  4. package/dist/{animated-text-BSEbI_B1.js.map → animated-text-Dty0fSbq.js.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 → area.component-D7wlGsfA.cjs} +2 -2
  9. package/dist/{area.component-DqpGzGXM.cjs.map → area.component-D7wlGsfA.cjs.map} +1 -1
  10. package/dist/{area.component-bPf-SBQs.js → area.component-LQXgflI2.js} +3 -3
  11. package/dist/{area.component-bPf-SBQs.js.map → area.component-LQXgflI2.js.map} +1 -1
  12. package/dist/area.js +1 -1
  13. package/dist/{autocomplete-af8Qu5FD.js → autocomplete-BFvzCShB.js} +3 -3
  14. package/dist/{autocomplete-af8Qu5FD.js.map → autocomplete-BFvzCShB.js.map} +1 -1
  15. package/dist/{autocomplete-Bd9CwOTL.cjs → autocomplete-BcddCLwr.cjs} +2 -2
  16. package/dist/{autocomplete-Bd9CwOTL.cjs.map → autocomplete-BcddCLwr.cjs.map} +1 -1
  17. package/dist/autocomplete.cjs +1 -1
  18. package/dist/autocomplete.js +1 -1
  19. package/dist/{avatar-C8XJnGJs.cjs → avatar-BUXdM5FT.cjs} +2 -2
  20. package/dist/{avatar-C8XJnGJs.cjs.map → avatar-BUXdM5FT.cjs.map} +1 -1
  21. package/dist/{avatar-n-Kjs8UW.js → avatar-UTlBlxcT.js} +49 -49
  22. package/dist/{avatar-n-Kjs8UW.js.map → avatar-UTlBlxcT.js.map} +1 -1
  23. package/dist/badge.cjs +1 -1
  24. package/dist/badge.js +1 -1
  25. package/dist/{boat-DjBoRSfy.js → boat-OKaCjCVb.js} +2 -2
  26. package/dist/{boat-DjBoRSfy.js.map → boat-OKaCjCVb.js.map} +1 -1
  27. package/dist/{boat-DPvoDoGb.cjs → boat-SUt73FzK.cjs} +2 -2
  28. package/dist/{boat-DPvoDoGb.cjs.map → boat-SUt73FzK.cjs.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-DvT7CeFj.cjs → checkbox-BQ9zyi0G.cjs} +2 -2
  38. package/dist/{checkbox-DvT7CeFj.cjs.map → checkbox-BQ9zyi0G.cjs.map} +1 -1
  39. package/dist/{checkbox-BZzC_CIS.js → checkbox-DYgxPkRd.js} +2 -2
  40. package/dist/{checkbox-BZzC_CIS.js.map → checkbox-DYgxPkRd.js.map} +1 -1
  41. package/dist/checkbox.cjs +1 -1
  42. package/dist/checkbox.js +1 -1
  43. package/dist/chips.cjs +1 -1
  44. package/dist/chips.js +1 -1
  45. package/dist/code-highlight.cjs +1 -1
  46. package/dist/code-highlight.js +1 -1
  47. package/dist/{code-preview-CTTH6fvP.js → code-preview-BGYyQE-A.js} +2 -2
  48. package/dist/{code-preview-CTTH6fvP.js.map → code-preview-BGYyQE-A.js.map} +1 -1
  49. package/dist/{code-preview-Dz_GPOLi.cjs → code-preview-BguhYQ-9.cjs} +2 -2
  50. package/dist/{code-preview-Dz_GPOLi.cjs.map → code-preview-BguhYQ-9.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-DKCCG05M.cjs → date-range-BHL6NVpp.cjs} +2 -2
  56. package/dist/{date-range-DKCCG05M.cjs.map → date-range-BHL6NVpp.cjs.map} +1 -1
  57. package/dist/{date-range-BrBEgeG_.js → date-range-IAVmBRUY.js} +3 -3
  58. package/dist/{date-range-BrBEgeG_.js.map → date-range-IAVmBRUY.js.map} +1 -1
  59. package/dist/{date-range-inline-C0JRYaRI.cjs → date-range-inline-lDogjrro.cjs} +2 -2
  60. package/dist/{date-range-inline-C0JRYaRI.cjs.map → date-range-inline-lDogjrro.cjs.map} +1 -1
  61. package/dist/{date-range-inline-DiKLX1N5.js → date-range-inline-tVo6MAVX.js} +3 -3
  62. package/dist/{date-range-inline-DiKLX1N5.js.map → date-range-inline-tVo6MAVX.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-jmlT40UJ.js → delay-D1UQizi7.js} +2 -2
  68. package/dist/{delay-jmlT40UJ.js.map → delay-D1UQizi7.js.map} +1 -1
  69. package/dist/{delay-ChpulFl1.cjs → delay-Dqd6hPRo.cjs} +2 -2
  70. package/dist/{delay-ChpulFl1.cjs.map → delay-Dqd6hPRo.cjs.map} +1 -1
  71. package/dist/delay.cjs +1 -1
  72. package/dist/delay.js +1 -1
  73. package/dist/{details-D13RT8Mp.cjs → details-CL2VJWOL.cjs} +2 -2
  74. package/dist/{details-D13RT8Mp.cjs.map → details-CL2VJWOL.cjs.map} +1 -1
  75. package/dist/{details-BMBliqaf.js → details-DPVTmuIs.js} +2 -2
  76. package/dist/{details-BMBliqaf.js.map → details-DPVTmuIs.js.map} +1 -1
  77. package/dist/details.cjs +1 -1
  78. package/dist/details.js +1 -1
  79. package/dist/{dialog-content-CwRiHVH5.cjs → dialog-content-Ch1E0_XY.cjs} +6 -6
  80. package/dist/{dialog-content-CwRiHVH5.cjs.map → dialog-content-Ch1E0_XY.cjs.map} +1 -1
  81. package/dist/{dialog-content-DXBS1xFM.js → dialog-content-CoO1gbnP.js} +7 -7
  82. package/dist/{dialog-content-DXBS1xFM.js.map → dialog-content-CoO1gbnP.js.map} +1 -1
  83. package/dist/dialog.cjs +1 -1
  84. package/dist/dialog.js +1 -1
  85. package/dist/{divider-hJ8iLPY-.cjs → divider-DeIUf2pW.cjs} +2 -2
  86. package/dist/{divider-hJ8iLPY-.cjs.map → divider-DeIUf2pW.cjs.map} +1 -1
  87. package/dist/{divider-BAMyHNxh.js → divider-qaTugaNg.js} +3 -3
  88. package/dist/{divider-BAMyHNxh.js.map → divider-qaTugaNg.js.map} +1 -1
  89. package/dist/divider.cjs +1 -1
  90. package/dist/divider.js +1 -1
  91. package/dist/{dropdown-content-DuwSyoV8.cjs → dropdown-content-BdGJaEb1.cjs} +2 -2
  92. package/dist/{dropdown-content-DuwSyoV8.cjs.map → dropdown-content-BdGJaEb1.cjs.map} +1 -1
  93. package/dist/{dropdown-content-Dh-oQQpb.js → dropdown-content-Ddxpm5T4.js} +3 -3
  94. package/dist/{dropdown-content-Dh-oQQpb.js.map → dropdown-content-Ddxpm5T4.js.map} +1 -1
  95. package/dist/dropdown.cjs +1 -1
  96. package/dist/dropdown.js +1 -1
  97. package/dist/{email-recipients-Ces4Z6AW.cjs → email-recipients-CWV3bcBZ.cjs} +2 -2
  98. package/dist/{email-recipients-Ces4Z6AW.cjs.map → email-recipients-CWV3bcBZ.cjs.map} +1 -1
  99. package/dist/{email-recipients-Czz1tJcV.js → email-recipients-DmVTfoZx.js} +5 -5
  100. package/dist/{email-recipients-Czz1tJcV.js.map → email-recipients-DmVTfoZx.js.map} +1 -1
  101. package/dist/extra.cjs +1 -1
  102. package/dist/extra.js +1 -1
  103. package/dist/{flex-COzPIQAF.js → flex-CVGc2ncP.js} +2 -2
  104. package/dist/{flex-COzPIQAF.js.map → flex-CVGc2ncP.js.map} +1 -1
  105. package/dist/{flex-haMVY2KA.cjs → flex-D7Lk1FvV.cjs} +2 -2
  106. package/dist/{flex-haMVY2KA.cjs.map → flex-D7Lk1FvV.cjs.map} +1 -1
  107. package/dist/{form-B4I2SPkc.cjs → form-CIW_BgEw.cjs} +2 -2
  108. package/dist/{form-B4I2SPkc.cjs.map → form-CIW_BgEw.cjs.map} +1 -1
  109. package/dist/{form-Bh3BEwyo.js → form-CQ9kXk8y.js} +2 -2
  110. package/dist/{form-Bh3BEwyo.js.map → form-CQ9kXk8y.js.map} +1 -1
  111. package/dist/form.cjs +1 -1
  112. package/dist/form.js +1 -1
  113. package/dist/{formField.mixin-CaljqKhq.cjs → formField.mixin-BHyiuJ5K.cjs} +2 -2
  114. package/dist/{formField.mixin-CaljqKhq.cjs.map → formField.mixin-BHyiuJ5K.cjs.map} +1 -1
  115. package/dist/{formField.mixin-WG1BLWMy.js → formField.mixin-CxOpZDW8.js} +2 -2
  116. package/dist/{formField.mixin-WG1BLWMy.js.map → formField.mixin-CxOpZDW8.js.map} +1 -1
  117. package/dist/{icon-xlw9hFU5.cjs → icon-7xUK_cdP.cjs} +2 -2
  118. package/dist/{icon-xlw9hFU5.cjs.map → icon-7xUK_cdP.cjs.map} +1 -1
  119. package/dist/{icon-BWvG5Zpz.js → icon-DIfnwdEU.js} +2 -2
  120. package/dist/{icon-BWvG5Zpz.js.map → icon-DIfnwdEU.js.map} +1 -1
  121. package/dist/{icon-button-Col8hPhL.js → icon-button-B2xz-N2x.js} +3 -3
  122. package/dist/{icon-button-Col8hPhL.js.map → icon-button-B2xz-N2x.js.map} +1 -1
  123. package/dist/{icon-button-179Gluhj.cjs → icon-button-LN_b5Jfs.cjs} +2 -2
  124. package/dist/{icon-button-179Gluhj.cjs.map → icon-button-LN_b5Jfs.cjs.map} +1 -1
  125. package/dist/icons.cjs +1 -1
  126. package/dist/icons.js +1 -1
  127. package/dist/index.cjs +1 -1
  128. package/dist/index.js +48 -48
  129. package/dist/{input-BziqvuDi.cjs → input-BTHdBKs2.cjs} +2 -2
  130. package/dist/{input-BziqvuDi.cjs.map → input-BTHdBKs2.cjs.map} +1 -1
  131. package/dist/{input-Bwv0qqfr.js → input-nDx_PH0i.js} +3 -3
  132. package/dist/{input-Bwv0qqfr.js.map → input-nDx_PH0i.js.map} +1 -1
  133. package/dist/input.cjs +1 -1
  134. package/dist/input.js +1 -1
  135. package/dist/layout.cjs +1 -1
  136. package/dist/layout.js +1 -1
  137. package/dist/{list-CnEBlTyV.js → list-BToakhNz.js} +2 -2
  138. package/dist/{list-CnEBlTyV.js.map → list-BToakhNz.js.map} +1 -1
  139. package/dist/{list-CA3reoj-.cjs → list-Cmj0mY-X.cjs} +2 -2
  140. package/dist/{list-CA3reoj-.cjs.map → list-Cmj0mY-X.cjs.map} +1 -1
  141. package/dist/list.cjs +1 -1
  142. package/dist/list.js +1 -1
  143. package/dist/{litElement.mixin-DE7nMq_x.cjs → litElement.mixin-B2K_bdpW.cjs} +2 -2
  144. package/dist/{litElement.mixin-DE7nMq_x.cjs.map → litElement.mixin-B2K_bdpW.cjs.map} +1 -1
  145. package/dist/{litElement.mixin-CAUo-j_j.js → litElement.mixin-CEPZ0lJP.js} +2 -2
  146. package/dist/{litElement.mixin-CAUo-j_j.js.map → litElement.mixin-CEPZ0lJP.js.map} +1 -1
  147. package/dist/mailbox.cjs +1 -1
  148. package/dist/mailbox.js +1 -1
  149. package/dist/{map-B2neETi5.cjs → map-B_AGndzc.cjs} +2 -2
  150. package/dist/{map-B2neETi5.cjs.map → map-B_AGndzc.cjs.map} +1 -1
  151. package/dist/{map-YZSVvbDM.js → map-DuilOl8g.js} +2 -2
  152. package/dist/{map-YZSVvbDM.js.map → map-DuilOl8g.js.map} +1 -1
  153. package/dist/map.cjs +1 -1
  154. package/dist/map.js +1 -1
  155. package/dist/{media-DAnLnZWp.cjs → media-BYpO4hxM.cjs} +2 -2
  156. package/dist/{media-DAnLnZWp.cjs.map → media-BYpO4hxM.cjs.map} +1 -1
  157. package/dist/{media-Cfi2Rp8w.js → media-Flyi23Fn.js} +2 -2
  158. package/dist/{media-Cfi2Rp8w.js.map → media-Flyi23Fn.js.map} +1 -1
  159. package/dist/{menu-DoN4dmcH.cjs → menu-DJM8tj5e.cjs} +2 -2
  160. package/dist/{menu-DoN4dmcH.cjs.map → menu-DJM8tj5e.cjs.map} +1 -1
  161. package/dist/{menu-BwO8_Djb.js → menu-qoixd8dd.js} +3 -3
  162. package/dist/{menu-BwO8_Djb.js.map → menu-qoixd8dd.js.map} +1 -1
  163. package/dist/menu.cjs +1 -1
  164. package/dist/menu.js +1 -1
  165. package/dist/nav-drawer.cjs +1 -1
  166. package/dist/nav-drawer.js +1 -1
  167. package/dist/{navigation-rail-item-D_GarK92.js → navigation-rail-item-B83ZIkBr.js} +2 -2
  168. package/dist/{navigation-rail-item-D_GarK92.js.map → navigation-rail-item-B83ZIkBr.js.map} +1 -1
  169. package/dist/{navigation-rail-item-B2XuJrYp.cjs → navigation-rail-item-hYAXrNQM.cjs} +2 -2
  170. package/dist/{navigation-rail-item-B2XuJrYp.cjs.map → navigation-rail-item-hYAXrNQM.cjs.map} +1 -1
  171. package/dist/navigation-rail.cjs +1 -1
  172. package/dist/navigation-rail.js +1 -1
  173. package/dist/{notification-service-Cm060I1t.cjs → notification-service-C5ApldUR.cjs} +2 -2
  174. package/dist/{notification-service-Cm060I1t.cjs.map → notification-service-C5ApldUR.cjs.map} +1 -1
  175. package/dist/{notification-service-6Z0mPoJa.js → notification-service-DX4fJZ9W.js} +4 -4
  176. package/dist/{notification-service-6Z0mPoJa.js.map → notification-service-DX4fJZ9W.js.map} +1 -1
  177. package/dist/notification.cjs +1 -1
  178. package/dist/notification.js +2 -2
  179. package/dist/{notify-zh_vKYDR.js → notify-BZR-r5pn.js} +2 -2
  180. package/dist/{notify-zh_vKYDR.js.map → notify-BZR-r5pn.js.map} +1 -1
  181. package/dist/{notify-udRFmPQ4.cjs → notify-CZXq5oqO.cjs} +2 -2
  182. package/dist/{notify-udRFmPQ4.cjs.map → notify-CZXq5oqO.cjs.map} +1 -1
  183. package/dist/{option-CE7cBraI.js → option-BPPKtXwf.js} +2 -2
  184. package/dist/{option-CE7cBraI.js.map → option-BPPKtXwf.js.map} +1 -1
  185. package/dist/{option-CV_NvoXD.cjs → option-Dolb8CBn.cjs} +2 -2
  186. package/dist/{option-CV_NvoXD.cjs.map → option-Dolb8CBn.cjs.map} +1 -1
  187. package/dist/option.cjs +1 -1
  188. package/dist/option.js +1 -1
  189. package/dist/{payment-card-form-DVNgyFeB.cjs → payment-card-form-BplCPLQi.cjs} +2 -2
  190. package/dist/{payment-card-form-DVNgyFeB.cjs.map → payment-card-form-BplCPLQi.cjs.map} +1 -1
  191. package/dist/{payment-card-form-CM380Ic6.js → payment-card-form-BvHRTm6O.js} +3 -3
  192. package/dist/{payment-card-form-CM380Ic6.js.map → payment-card-form-BvHRTm6O.js.map} +1 -1
  193. package/dist/{progress-CVSCU7PX.js → progress-BEhplYKZ.js} +2 -2
  194. package/dist/{progress-CVSCU7PX.js.map → progress-BEhplYKZ.js.map} +1 -1
  195. package/dist/{progress-Ci-XtLSK.cjs → progress-C-2JM-2b.cjs} +2 -2
  196. package/dist/{progress-Ci-XtLSK.cjs.map → progress-C-2JM-2b.cjs.map} +1 -1
  197. package/dist/progress.cjs +1 -1
  198. package/dist/progress.js +1 -1
  199. package/dist/{radio-button-5Dn14Xmt.js → radio-button-1rUV1bEw.js} +3 -3
  200. package/dist/{radio-button-5Dn14Xmt.js.map → radio-button-1rUV1bEw.js.map} +1 -1
  201. package/dist/{radio-button-DnA42XbW.cjs → radio-button-DTTyHAW3.cjs} +2 -2
  202. package/dist/{radio-button-DnA42XbW.cjs.map → radio-button-DTTyHAW3.cjs.map} +1 -1
  203. package/dist/radio-group.cjs +1 -1
  204. package/dist/radio-group.js +1 -1
  205. package/dist/{schmancy-steps-container-GpTeijL9.js → schmancy-steps-container-CjVzZKkk.js} +27 -27
  206. package/dist/schmancy-steps-container-CjVzZKkk.js.map +1 -0
  207. package/dist/{schmancy-steps-container-CM6q2WfQ.cjs → schmancy-steps-container-D9hAAg2V.cjs} +14 -14
  208. package/dist/schmancy-steps-container-D9hAAg2V.cjs.map +1 -0
  209. package/dist/{select-tK3rnufX.js → select-CRX_Nk_f.js} +3 -3
  210. package/dist/{select-tK3rnufX.js.map → select-CRX_Nk_f.js.map} +1 -1
  211. package/dist/{select-B-LiqQwb.cjs → select-DPa2FYdv.cjs} +2 -2
  212. package/dist/{select-B-LiqQwb.cjs.map → select-DPa2FYdv.cjs.map} +1 -1
  213. package/dist/select.cjs +1 -1
  214. package/dist/select.js +1 -1
  215. package/dist/{sheet-BvaShgm9.js → sheet-DH0GSs0F.js} +3 -3
  216. package/dist/{sheet-BvaShgm9.js.map → sheet-DH0GSs0F.js.map} +1 -1
  217. package/dist/{sheet-7c3D_QQJ.cjs → sheet-WxZAbHZ5.cjs} +2 -2
  218. package/dist/{sheet-7c3D_QQJ.cjs.map → sheet-WxZAbHZ5.cjs.map} +1 -1
  219. package/dist/sheet.cjs +1 -1
  220. package/dist/sheet.js +1 -1
  221. package/dist/{slider-DhtPlac2.js → slider-CG-N2RQo.js} +3 -3
  222. package/dist/{slider-DhtPlac2.js.map → slider-CG-N2RQo.js.map} +1 -1
  223. package/dist/{slider-CJg1g5-p.cjs → slider-CY7W7Psq.cjs} +2 -2
  224. package/dist/{slider-CJg1g5-p.cjs.map → slider-CY7W7Psq.cjs.map} +1 -1
  225. package/dist/slider.cjs +1 -1
  226. package/dist/slider.js +1 -1
  227. package/dist/{spinner-DbpvEkH2.cjs → spinner-CZaVYJ0a.cjs} +2 -2
  228. package/dist/{spinner-DbpvEkH2.cjs.map → spinner-CZaVYJ0a.cjs.map} +1 -1
  229. package/dist/{spinner-BJIi1aCz.js → spinner-D8Dc17fq.js} +2 -2
  230. package/dist/{spinner-BJIi1aCz.js.map → spinner-D8Dc17fq.js.map} +1 -1
  231. package/dist/steps.cjs +1 -1
  232. package/dist/steps.js +1 -1
  233. package/dist/{suggestion-chip-DMV7dPlk.cjs → suggestion-chip-BeGEK7BS.cjs} +2 -2
  234. package/dist/{suggestion-chip-DMV7dPlk.cjs.map → suggestion-chip-BeGEK7BS.cjs.map} +1 -1
  235. package/dist/{suggestion-chip-Dl176Rcs.js → suggestion-chip-p0k9PAya.js} +3 -3
  236. package/dist/{suggestion-chip-Dl176Rcs.js.map → suggestion-chip-p0k9PAya.js.map} +1 -1
  237. package/dist/{surface-C1JQWYPw.js → surface-Cmmdx0F2.js} +2 -2
  238. package/dist/{surface-C1JQWYPw.js.map → surface-Cmmdx0F2.js.map} +1 -1
  239. package/dist/{surface-DVa9gv9E.cjs → surface-CvQMtIw-.cjs} +2 -2
  240. package/dist/{surface-DVa9gv9E.cjs.map → surface-CvQMtIw-.cjs.map} +1 -1
  241. package/dist/surface.cjs +1 -1
  242. package/dist/surface.js +1 -1
  243. package/dist/{table-DVqiw9eI.cjs → table-BJVlDuQa.cjs} +2 -2
  244. package/dist/{table-DVqiw9eI.cjs.map → table-BJVlDuQa.cjs.map} +1 -1
  245. package/dist/{table-pmNw4I3A.js → table-CSDX6lDq.js} +2 -2
  246. package/dist/{table-pmNw4I3A.js.map → table-CSDX6lDq.js.map} +1 -1
  247. package/dist/table.cjs +1 -1
  248. package/dist/table.js +1 -1
  249. package/dist/{tabs-compatibility-Br9jc1Dy.cjs → tabs-compatibility-CfdHAYaN.cjs} +5 -5
  250. package/dist/tabs-compatibility-CfdHAYaN.cjs.map +1 -0
  251. package/dist/{tabs-compatibility-5xcbNfDo.js → tabs-compatibility-Haw4T3N0.js} +5 -5
  252. package/dist/tabs-compatibility-Haw4T3N0.js.map +1 -0
  253. package/dist/tabs.cjs +1 -1
  254. package/dist/tabs.js +1 -1
  255. package/dist/tailwind.mixin-BvVlz7hG.cjs +2 -0
  256. package/dist/{tailwind.mixin-CngO3XGT.cjs.map → tailwind.mixin-BvVlz7hG.cjs.map} +1 -1
  257. package/dist/tailwind.mixin-R2xLfpws.js +43 -0
  258. package/dist/{tailwind.mixin-T5CiXVWk.js.map → tailwind.mixin-R2xLfpws.js.map} +1 -1
  259. package/dist/teleport.cjs +1 -1
  260. package/dist/teleport.js +1 -1
  261. package/dist/{textarea-BACIb-N3.cjs → textarea-BE1uxnbN.cjs} +2 -2
  262. package/dist/{textarea-BACIb-N3.cjs.map → textarea-BE1uxnbN.cjs.map} +1 -1
  263. package/dist/{textarea-AQhSey_l.js → textarea-D5YjtfC7.js} +2 -2
  264. package/dist/{textarea-AQhSey_l.js.map → textarea-D5YjtfC7.js.map} +1 -1
  265. package/dist/textarea.cjs +1 -1
  266. package/dist/textarea.js +1 -1
  267. package/dist/{theme-button-Dp2Z3PTI.js → theme-button-CeLy95-B.js} +2 -2
  268. package/dist/{theme-button-Dp2Z3PTI.js.map → theme-button-CeLy95-B.js.map} +1 -1
  269. package/dist/{theme-button-CRdkWTDn.cjs → theme-button-DXJTRh4E.cjs} +2 -2
  270. package/dist/{theme-button-CRdkWTDn.cjs.map → theme-button-DXJTRh4E.cjs.map} +1 -1
  271. package/dist/theme-button.cjs +1 -1
  272. package/dist/theme-button.js +1 -1
  273. package/dist/theme.cjs +1 -1
  274. package/dist/{theme.component-0o6NJY_z.js → theme.component-C03A-Sve.js} +2 -2
  275. package/dist/{theme.component-0o6NJY_z.js.map → theme.component-C03A-Sve.js.map} +1 -1
  276. package/dist/{theme.component-Bgw2BYNp.cjs → theme.component-zoufYNW7.cjs} +2 -2
  277. package/dist/{theme.component-Bgw2BYNp.cjs.map → theme.component-zoufYNW7.cjs.map} +1 -1
  278. package/dist/theme.js +1 -1
  279. package/dist/{timezone-DDbSCFT0.cjs → timezone-34kNWMce.cjs} +2 -2
  280. package/dist/{timezone-DDbSCFT0.cjs.map → timezone-34kNWMce.cjs.map} +1 -1
  281. package/dist/{timezone-i2PffMdu.js → timezone-yu_c4i_H.js} +3 -3
  282. package/dist/{timezone-i2PffMdu.js.map → timezone-yu_c4i_H.js.map} +1 -1
  283. package/dist/{tooltip-Ch1EkDNU.js → tooltip-37GQ15zd.js} +2 -2
  284. package/dist/{tooltip-Ch1EkDNU.js.map → tooltip-37GQ15zd.js.map} +1 -1
  285. package/dist/{tooltip-B-HgABZV.cjs → tooltip-DZK4j3n0.cjs} +2 -2
  286. package/dist/{tooltip-B-HgABZV.cjs.map → tooltip-DZK4j3n0.cjs.map} +1 -1
  287. package/dist/tooltip.cjs +1 -1
  288. package/dist/tooltip.js +1 -1
  289. package/dist/{tree-DPmfcerN.js → tree-CtMw5ja5.js} +2 -2
  290. package/dist/{tree-DPmfcerN.js.map → tree-CtMw5ja5.js.map} +1 -1
  291. package/dist/{tree-CD7V4Am8.cjs → tree-D5fhY5eA.cjs} +2 -2
  292. package/dist/{tree-CD7V4Am8.cjs.map → tree-D5fhY5eA.cjs.map} +1 -1
  293. package/dist/tree.cjs +1 -1
  294. package/dist/tree.js +1 -1
  295. package/dist/{typewriter-BHNv2ubS.cjs → typewriter-DSTaSuRG.cjs} +2 -2
  296. package/dist/{typewriter-BHNv2ubS.cjs.map → typewriter-DSTaSuRG.cjs.map} +1 -1
  297. package/dist/{typewriter-CzL_PDdV.js → typewriter-DwS8NOZl.js} +4 -4
  298. package/dist/{typewriter-CzL_PDdV.js.map → typewriter-DwS8NOZl.js.map} +1 -1
  299. package/dist/typewriter.cjs +1 -1
  300. package/dist/typewriter.js +1 -1
  301. package/dist/{typography-BUObo_2L.js → typography-CpKnNiTm.js} +2 -2
  302. package/dist/{typography-BUObo_2L.js.map → typography-CpKnNiTm.js.map} +1 -1
  303. package/dist/{typography-EG9ukCgM.cjs → typography-DoswBHCt.cjs} +2 -2
  304. package/dist/{typography-EG9ukCgM.cjs.map → typography-DoswBHCt.cjs.map} +1 -1
  305. package/dist/typography.cjs +1 -1
  306. package/dist/typography.js +1 -1
  307. package/package.json +1 -1
  308. package/dist/schmancy-steps-container-CM6q2WfQ.cjs.map +0 -1
  309. package/dist/schmancy-steps-container-GpTeijL9.js.map +0 -1
  310. package/dist/tabs-compatibility-5xcbNfDo.js.map +0 -1
  311. package/dist/tabs-compatibility-Br9jc1Dy.cjs.map +0 -1
  312. package/dist/tailwind.mixin-CngO3XGT.cjs +0 -2
  313. package/dist/tailwind.mixin-T5CiXVWk.js +0 -43
@@ -1 +1 @@
1
- {"version":3,"file":"media-Cfi2Rp8w.js","sources":["../src/card/actions.ts","../src/card/card.ts","../src/card/content.ts","../src/card/media.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n/**\n * @element schmancy-card-action\n * @slot - The content of the action\n */\n@customElement('schmancy-card-action')\nexport default class SchmancyCardAction extends TailwindElement(css`\n\t:host {\n\t\tdisplay: flex;\n\t\tgap: 0.5rem;\n\t\tpadding: 0.5rem 1rem;\n\t\talign-items: center;\n\t\tjustify-content: flex-end;\n\t}\n`) {\n\tprotected render(): unknown {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-action': SchmancyCardAction\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\n\n@customElement('schmancy-card')\nexport default class SchmancyCard extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tborder-radius: 12px; /* M3 spec: 12px for cards */\n\t\ttransition: box-shadow 200ms cubic-bezier(0.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-Flyi23Fn.js","sources":["../src/card/actions.ts","../src/card/card.ts","../src/card/content.ts","../src/card/media.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n/**\n * @element schmancy-card-action\n * @slot - The content of the action\n */\n@customElement('schmancy-card-action')\nexport default class SchmancyCardAction extends TailwindElement(css`\n\t:host {\n\t\tdisplay: flex;\n\t\tgap: 0.5rem;\n\t\tpadding: 0.5rem 1rem;\n\t\talign-items: center;\n\t\tjustify-content: flex-end;\n\t}\n`) {\n\tprotected render(): unknown {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-action': SchmancyCardAction\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\n\n@customElement('schmancy-card')\nexport default class SchmancyCard extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tborder-radius: 12px; /* M3 spec: 12px for cards */\n\t\ttransition: box-shadow 200ms cubic-bezier(0.2, 0, 0, 1);\n\t\toutline: none;\n\t}\n\n\t/* Type-specific base styles */\n\t:host([type='elevated']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-low);\n\t\tbox-shadow: var(--shadow-1);\n\t}\n\n\t:host([type='filled']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-highest);\n\t\tbox-shadow: var(--shadow-0);\n\t}\n\n\t:host([type='outlined']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-default);\n\t\tborder: 1px solid var(--schmancy-sys-color-outlineVariant);\n\t\tbox-shadow: var(--shadow-0);\n\t}\n\n\t/* Interactive state */\n\t:host([interactive]) {\n\t\tcursor: pointer;\n\t\t-webkit-tap-highlight-color: transparent;\n\t}\n\n\t/* Elevated interactive states */\n\t:host([type='elevated'][interactive]:hover:not([disabled])) {\n\t\tbox-shadow: var(--shadow-2);\n\t}\n\n\t:host([type='elevated'][dragged]) {\n\t\tbox-shadow: var(--shadow-3);\n\t}\n\n\t/* Filled interactive states */\n\t:host([type='filled'][interactive]:hover:not([disabled])) {\n\t\tbox-shadow: var(--shadow-1);\n\t}\n\n\t:host([type='filled'][dragged]) {\n\t\tbox-shadow: var(--shadow-3);\n\t}\n\n\t/* Outlined interactive states */\n\t:host([type='outlined'][interactive]:hover:not([disabled])) {\n\t\tbox-shadow: var(--shadow-1);\n\t}\n\n\t:host([type='outlined'][dragged]) {\n\t\tbox-shadow: var(--shadow-3);\n\t}\n\n\t/* Disabled state */\n\t:host([disabled]) {\n\t\tpointer-events: none;\n\t\topacity: 0.38;\n\t}\n\n\t/* Focus ring */\n\t:host([interactive]:focus-visible:not([disabled])) {\n\t\toutline: 2px solid var(--schmancy-sys-color-primary-default);\n\t\toutline-offset: 2px;\n\t}\n\n\t/* Ripple effect animation */\n\t@keyframes ripple {\n\t\tto {\n\t\t\ttransform: scale(4);\n\t\t\topacity: 0;\n\t\t}\n\t}\n`) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open',\n\t\tdelegatesFocus: true,\n\t}\n\n\t/**\n\t * The visual style of the card.\n\t * @default 'elevated'\n\t */\n\t@property({ reflect: true })\n\ttype: 'elevated' | 'filled' | 'outlined' = 'elevated'\n\n\t/**\n\t * Makes the card interactive (clickable).\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tinteractive = false\n\n\t/**\n\t * Disables the card.\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tdisabled = false\n\n\t/**\n\t * Indicates the card is being dragged.\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tdragged = false\n\n\t/**\n\t * URL to navigate to when card is clicked (makes it act like a link).\n\t */\n\t@property()\n\thref?: string\n\n\t/**\n\t * Target for the link navigation.\n\t */\n\t@property()\n\ttarget?: string\n\n\t/**\n\t * ARIA role for accessibility.\n\t */\n\t@property({ attribute: 'role' })\n\toverride role = 'article'\n\n\t/**\n\t * ARIA label for accessibility.\n\t */\n\t@property({ attribute: 'aria-label' })\n\toverride ariaLabel: string = ''\n\n\t// Internal state for interaction feedback\n\t@state() pressed = false\n\t@state() private ripples: Array<{ x: number; y: number; id: number }> = []\n\n\tprivate nextRippleId = 0\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Set appropriate ARIA attributes for interactive cards\n\t\tif (this.interactive && !this.disabled) {\n\t\t\tthis.setAttribute('tabindex', '0')\n\t\t\tif (!this.role || this.role === 'article') {\n\t\t\t\tthis.role = this.href ? 'link' : 'button'\n\t\t\t}\n\t\t}\n\t}\n\n\tupdated(changedProperties: Map<string, any>) {\n\t\tsuper.updated(changedProperties)\n\n\t\t// Update ARIA attributes when interactive or disabled state changes\n\t\tif (changedProperties.has('interactive') || changedProperties.has('disabled')) {\n\t\t\tif (this.interactive && !this.disabled) {\n\t\t\t\tthis.setAttribute('tabindex', '0')\n\t\t\t\tif (!this.role || this.role === 'article') {\n\t\t\t\t\tthis.role = this.href ? 'link' : 'button'\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.removeAttribute('tabindex')\n\t\t\t\tif (this.role === 'button' || this.role === 'link') {\n\t\t\t\t\tthis.role = 'article'\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate handleClick = (e: MouseEvent) => {\n\t\tif (this.disabled || !this.interactive) return\n\n\t\t// Add ripple effect at click position\n\t\tconst rect = this.getBoundingClientRect()\n\t\tconst x = e.clientX - rect.left\n\t\tconst y = e.clientY - rect.top\n\t\tconst id = this.nextRippleId++\n\n\t\tthis.ripples = [...this.ripples, { x, y, id }]\n\n\t\t// Remove ripple after animation completes\n\t\tsetTimeout(() => {\n\t\t\tthis.ripples = this.ripples.filter(r => r.id !== id)\n\t\t}, 600)\n\n\t\t// Navigate if href is provided\n\t\tif (this.href) {\n\t\t\tif (this.target === '_blank') {\n\t\t\t\twindow.open(this.href, '_blank')\n\t\t\t} else {\n\t\t\t\twindow.location.href = this.href\n\t\t\t}\n\t\t}\n\n\t\t// Dispatch click event for parent components to handle\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent('schmancy-click', {\n\t\t\t\tdetail: { value: this.type },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\tprivate handleKeyDown = (e: KeyboardEvent) => {\n\t\tif (this.disabled || !this.interactive) return\n\n\t\t// Activate on Enter or Space for keyboard navigation\n\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\te.preventDefault()\n\t\t\tthis.pressed = true\n\t\t\tthis.setAttribute('pressed', '')\n\n\t\t\t// Simulate click\n\t\t\tconst rect = this.getBoundingClientRect()\n\t\t\tconst x = rect.width / 2\n\t\t\tconst y = rect.height / 2\n\t\t\tconst id = this.nextRippleId++\n\n\t\t\tthis.ripples = [...this.ripples, { x, y, id }]\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.ripples = this.ripples.filter(r => r.id !== id)\n\t\t\t}, 600)\n\n\t\t\tif (this.href) {\n\t\t\t\tif (this.target === '_blank') {\n\t\t\t\t\twindow.open(this.href, '_blank')\n\t\t\t\t} else {\n\t\t\t\t\twindow.location.href = this.href\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent('schmancy-click', {\n\t\t\t\t\tdetail: { value: this.type },\n\t\t\t\t\tbubbles: true,\n\t\t\t\t\tcomposed: true,\n\t\t\t\t}),\n\t\t\t)\n\t\t}\n\t}\n\n\tprivate handleKeyUp = (e: KeyboardEvent) => {\n\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\tthis.pressed = false\n\t\t\tthis.removeAttribute('pressed')\n\t\t}\n\t}\n\n\tprivate handleMouseDown = () => {\n\t\tif (this.disabled || !this.interactive) return\n\t\tthis.pressed = true\n\t\tthis.setAttribute('pressed', '')\n\t}\n\n\tprivate handleMouseUp = () => {\n\t\tthis.pressed = false\n\t\tthis.removeAttribute('pressed')\n\t}\n\n\tprivate handleMouseLeave = () => {\n\t\tthis.pressed = false\n\t\tthis.removeAttribute('pressed')\n\t}\n\n\t// Get the classes for state layer based on current state\n\tprivate getStateLayerOpacity(): string {\n\t\tif (!this.interactive || this.disabled) return 'opacity-0'\n\t\tif (this.pressed) return 'opacity-[0.1]' // M3 pressed: 0.1\n\t\treturn 'opacity-0 hover:opacity-[0.08] focus-visible:opacity-[0.1]' // M3 hover: 0.08, focus: 0.1\n\t}\n\n\tprotected render() {\n\t\tconst containerClasses = classMap({\n\t\t\t'relative w-full h-full rounded-xl': true,\n\t\t\t'cursor-pointer': this.interactive && !this.disabled,\n\t\t})\n\n\t\tconst stateLayerClasses = classMap({\n\t\t\t'absolute inset-0 rounded-xl pointer-events-none transition-opacity duration-200 bg-surface-on': true,\n\t\t\t[this.getStateLayerOpacity()]: true,\n\t\t})\n\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=${containerClasses}\n\t\t\t\t@click=${this.handleClick}\n\t\t\t\t@keydown=${this.handleKeyDown}\n\t\t\t\t@keyup=${this.handleKeyUp}\n\t\t\t\t@mousedown=${this.handleMouseDown}\n\t\t\t\t@mouseup=${this.handleMouseUp}\n\t\t\t\t@mouseleave=${this.handleMouseLeave}\n\t\t\t\taria-label=${ifDefined(this.ariaLabel)}\n\t\t\t\taria-disabled=${this.disabled ? 'true' : 'false'}\n\t\t\t>\n\t\t\t\t<!-- State layer for hover/focus/pressed states -->\n\t\t\t\t<div class=${stateLayerClasses}></div>\n\n\t\t\t\t<!-- Ripple container for click effects -->\n\t\t\t\t${this.interactive\n\t\t\t\t\t? html`\n\t\t\t\t\t\t\t<div class=\"absolute inset-0 rounded-xl overflow-hidden pointer-events-none\">\n\t\t\t\t\t\t\t\t${this.ripples.map(\n\t\t\t\t\t\t\t\t\tripple => html`\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\tclass=\"absolute rounded-full scale-0 animate-[ripple_600ms_linear] bg-surface-on opacity-[0.12] pointer-events-none\"\n\t\t\t\t\t\t\t\t\t\t\tstyle=\"\n\t\t\t\t\t\t\t\t\t\t\t\tleft: ${ripple.x}px;\n\t\t\t\t\t\t\t\t\t\t\t\ttop: ${ripple.y}px;\n\t\t\t\t\t\t\t\t\t\t\t\twidth: 20px;\n\t\t\t\t\t\t\t\t\t\t\t\theight: 20px;\n\t\t\t\t\t\t\t\t\t\t\t\tmargin-left: -10px;\n\t\t\t\t\t\t\t\t\t\t\t\tmargin-top: -10px;\n\t\t\t\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\t\t\t></span>\n\t\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t`\n\t\t\t\t\t: ''}\n\n\t\t\t\t<!-- Card content -->\n\t\t\t\t<div class=\"relative h-full w-full rounded-xl\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card': SchmancyCard\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n/**\n * @element schmancy-card-content\n */\n@customElement('schmancy-card-content')\nexport default class SchmancyCardContent extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tpadding: 1rem;\n\t}\n`) {\n\tprotected render(): unknown {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-content': SchmancyCardContent\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n/**\n * @element schmancy-card-media\n */\n@customElement('schmancy-card-media')\nexport default class SchmancyCardMedia extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\theight: 200px;\n\t\toverflow: hidden;\n\t}\n\t\n\t/* Allow height to be overridden when used in flex/grid layouts */\n\t:host-context(.h-full) {\n\t\theight: 100%;\n\t}\n\t\n\t::slotted(img),\n\timg {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tobject-position: center;\n\t}\n\t\n\t/* Object fit styles based on fit attribute */\n\t:host([fit=\"contain\"]) img,\n\t:host([fit=\"contain\"]) ::slotted(img) {\n\t\tobject-fit: contain;\n\t}\n\t\n\t:host([fit=\"cover\"]) img,\n\t:host([fit=\"cover\"]) ::slotted(img) {\n\t\tobject-fit: cover;\n\t}\n\t\n\t:host([fit=\"fill\"]) img,\n\t:host([fit=\"fill\"]) ::slotted(img) {\n\t\tobject-fit: fill;\n\t}\n\t\n\t:host([fit=\"none\"]) img,\n\t:host([fit=\"none\"]) ::slotted(img) {\n\t\tobject-fit: none;\n\t}\n\t\n\t:host([fit=\"scale-down\"]) img,\n\t:host([fit=\"scale-down\"]) ::slotted(img) {\n\t\tobject-fit: scale-down;\n\t}\n`) {\n\t@property({ type: String, reflect: true })\n\tsrc: string = ''\n\n\t@property({ type: String, reflect: true })\n\tfit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down' = 'contain'\n\t\n\t@property({ type: String })\n\talt: string = ''\n\n\tprotected render(): unknown {\n\t\t// If src is provided, render an img element\n\t\t// Otherwise, allow users to slot their own content\n\t\treturn this.src \n\t\t\t? html`<img src=\"${this.src}\" alt=\"${this.alt}\" />` \n\t\t\t: html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-media': SchmancyCardMedia\n\t}\n}\n"],"names":["SchmancyCardAction","TailwindElement","css","render","html","customElement","SchmancyCard","super","arguments","this","type","interactive","disabled","dragged","role","ariaLabel","pressed","ripples","nextRippleId","handleClick","e","rect","getBoundingClientRect","x","clientX","left","y","clientY","top","id","setTimeout","filter","r","href","target","window","open","location","dispatchEvent","CustomEvent","detail","value","bubbles","composed","handleKeyDown","key","preventDefault","setAttribute","width","height","handleKeyUp","removeAttribute","handleMouseDown","handleMouseUp","handleMouseLeave","connectedCallback","changedProperties","updated","has","containerClasses","classMap","stateLayerClasses","getStateLayerOpacity","ifDefined","map","ripple","shadowRootOptions","LitElement","mode","delegatesFocus","__decorateClass","property","reflect","prototype","Boolean","attribute","state","SchmancyCardContent","SchmancyCardMedia","constructor","src","fit","alt","String"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- "use strict";const i=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const c=require("lit/decorators.js"),d=require("./tailwind.mixin-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`
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-BvVlz7hG.cjs"),b=require("./litElement.mixin-B2K_bdpW.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-DoN4dmcH.cjs.map
36
+ //# sourceMappingURL=menu-DJM8tj5e.cjs.map
@@ -1 +1 @@
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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"}
1
+ {"version":3,"file":"menu-DJM8tj5e.cjs","sources":["../src/menu/menu-item.ts","../src/menu/menu.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { fromEvent, takeUntil } from 'rxjs'\n\n@customElement('schmancy-menu-item')\nexport default class SchmancyMenuItem extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(this, 'click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(e => {\n\t\t\t\te.stopPropagation()\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('schmancy-menu-item-click', {\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t}\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<schmancy-list-item>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-list-item>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu-item': SchmancyMenuItem\n\t}\n}\n","import { autoUpdate, computePosition, flip, offset, shift, size } from '@floating-ui/dom'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, query, queryAssignedElements } from 'lit/decorators.js'\nimport { filter, fromEvent, takeUntil, tap } from 'rxjs'\n\n@customElement('schmancy-menu')\nexport default class SchmancyMenu extends TailwindElement(css`\n\t:host {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t}\n\n\t#menu {\n\t\tdisplay: none;\n\t}\n\n\t#menu[data-show='true'] {\n\t\tdisplay: block;\n\t}\n`) {\n\t@queryAssignedElements({ flatten: true, slot: 'button' })\n\tbuttonElement!: Array<HTMLElement>\n\n\t@query('#menu') menuElement!: HTMLElement\n\n\tprivate cleanup?: any\n\n\tprivate getMiddleware() {\n\t\treturn [\n\t\t\toffset(5),\n\t\t\tflip(),\n\t\t\tshift({ padding: 5 }),\n\t\t\tsize({\n\t\t\t\tapply({ availableHeight, elements }) {\n\t\t\t\t\telements.floating.style.maxHeight = `${availableHeight}px`\n\t\t\t\t},\n\t\t\t}),\n\t\t]\n\t}\n\n\tasync updatePosition() {\n\t\tif (!this.buttonElement[0] || !this.menuElement) {\n\t\t\treturn\n\t\t}\n\n\t\tawait computePosition(this.buttonElement[0], this.menuElement, {\n\t\t\tplacement: 'bottom-start',\n\t\t\tmiddleware: this.getMiddleware(),\n\t\t}).then(({ x, y }) => {\n\t\t\tObject.assign(this.menuElement.style, {\n\t\t\t\tleft: `${x}px`,\n\t\t\t\ttop: `${y}px`,\n\t\t\t})\n\t\t})\n\t}\n\n\tprivate showMenu() {\n\t\tif (!this.buttonElement[0] || !this.menuElement) return\n\n\t\tthis.menuElement.dataset.show = 'true'\n\n\t\tthis.cleanup = autoUpdate(this.buttonElement[0], this.menuElement, () => {\n\t\t\tcomputePosition(this.buttonElement[0], this.menuElement, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: this.getMiddleware(),\n\t\t\t}).then(({ x, y, strategy }) => {\n\t\t\t\tObject.assign(this.menuElement.style, {\n\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\ttop: `${y}px`,\n\t\t\t\t\tposition: strategy,\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 100,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\n\t\tanimation.onfinish = () => {}\n\t}\n\n\tprivate async hideMenu() {\n\t\t// Make hideMenu async\n\t\tif (this.cleanup) {\n\t\t\tawait this.cleanup() // Await the cleanup!\n\t\t\tthis.cleanup = undefined\n\t\t}\n\t\tthis.menuElement.dataset.show = 'false'\n\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 75,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\t\tanimation.onfinish = () => {} // No need for a promise now\n\t}\n\n\tfirstUpdated(): void {\n\t\tfromEvent(this.buttonElement, 'click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.showMenu()\n\t\t\t})\n\n\t\tfromEvent(this, 'schmancy-menu-item-click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.hideMenu()\n\t\t\t})\n\n\t\tfromEvent(document, 'click')\n\t\t\t.pipe(\n\t\t\t\tfilter((e: Event) => !this.contains(e.target as Node)),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\ttap(() => {\n\t\t\t\t\tif (this.menuElement.dataset.show === 'true') {\n\t\t\t\t\t\tthis.hideMenu()\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<slot name=\"button\">\n\t\t\t\t<schmancy-icon-button> more_vert </schmancy-icon-button>\n\t\t\t</slot>\n\t\t\t<ul\n\t\t\t\tid=\"menu\"\n\t\t\t\tclass=\"absolute z-50 border-outlineVariant rounded-md min-w-[160px] max-w-[320px] w-max bg-surface-default max-h-[90vh] shadow-1 overflow-y-auto\"\n\t\t\t\trole=\"menu\"\n\t\t\t\taria-orientation=\"vertical\"\n\t\t\t\taria-labelledby=\"options-menu-4-button\"\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</ul>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu': SchmancyMenu\n\t}\n}\n"],"names":["SchmancyMenuItem","$LitElement","css","connectedCallback","super","fromEvent","this","pipe","takeUntil","disconnecting","subscribe","e","stopPropagation","dispatchEvent","CustomEvent","bubbles","composed","render","html","customElement","SchmancyMenu","TailwindElement","getMiddleware","offset","flip","shift","padding","size","apply","availableHeight","elements","floating","style","maxHeight","updatePosition","buttonElement","menuElement","computePosition","placement","middleware","then","x","y","Object","assign","left","top","showMenu","dataset","show","cleanup","autoUpdate","strategy","position","animate","opacity","transform","duration","easing","onfinish","hideMenu","firstUpdated","tap","document","filter","contains","target","__decorateClass","queryAssignedElements","flatten","slot","prototype","query"],"mappings":"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"}
@@ -2,8 +2,8 @@ import { fromEvent as l, takeUntil as r, tap as c, filter as f } from "rxjs";
2
2
  import "lit/directives/class-map.js";
3
3
  import "lit/directives/style-map.js";
4
4
  import { customElement as d, queryAssignedElements as g, query as E } from "lit/decorators.js";
5
- import { T as w } from "./tailwind.mixin-T5CiXVWk.js";
6
- import { $ as v } from "./litElement.mixin-CAUo-j_j.js";
5
+ import { T as w } from "./tailwind.mixin-R2xLfpws.js";
6
+ import { $ as v } from "./litElement.mixin-CEPZ0lJP.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-BwO8_Djb.js.map
99
+ //# sourceMappingURL=menu-qoixd8dd.js.map
@@ -1 +1 @@
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
+ {"version":3,"file":"menu-qoixd8dd.js","sources":["../src/menu/menu-item.ts","../src/menu/menu.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { fromEvent, takeUntil } from 'rxjs'\n\n@customElement('schmancy-menu-item')\nexport default class SchmancyMenuItem extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(this, 'click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(e => {\n\t\t\t\te.stopPropagation()\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('schmancy-menu-item-click', {\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t}\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<schmancy-list-item>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-list-item>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu-item': SchmancyMenuItem\n\t}\n}\n","import { autoUpdate, computePosition, flip, offset, shift, size } from '@floating-ui/dom'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, query, queryAssignedElements } from 'lit/decorators.js'\nimport { filter, fromEvent, takeUntil, tap } from 'rxjs'\n\n@customElement('schmancy-menu')\nexport default class SchmancyMenu extends TailwindElement(css`\n\t:host {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t}\n\n\t#menu {\n\t\tdisplay: none;\n\t}\n\n\t#menu[data-show='true'] {\n\t\tdisplay: block;\n\t}\n`) {\n\t@queryAssignedElements({ flatten: true, slot: 'button' })\n\tbuttonElement!: Array<HTMLElement>\n\n\t@query('#menu') menuElement!: HTMLElement\n\n\tprivate cleanup?: any\n\n\tprivate getMiddleware() {\n\t\treturn [\n\t\t\toffset(5),\n\t\t\tflip(),\n\t\t\tshift({ padding: 5 }),\n\t\t\tsize({\n\t\t\t\tapply({ availableHeight, elements }) {\n\t\t\t\t\telements.floating.style.maxHeight = `${availableHeight}px`\n\t\t\t\t},\n\t\t\t}),\n\t\t]\n\t}\n\n\tasync updatePosition() {\n\t\tif (!this.buttonElement[0] || !this.menuElement) {\n\t\t\treturn\n\t\t}\n\n\t\tawait computePosition(this.buttonElement[0], this.menuElement, {\n\t\t\tplacement: 'bottom-start',\n\t\t\tmiddleware: this.getMiddleware(),\n\t\t}).then(({ x, y }) => {\n\t\t\tObject.assign(this.menuElement.style, {\n\t\t\t\tleft: `${x}px`,\n\t\t\t\ttop: `${y}px`,\n\t\t\t})\n\t\t})\n\t}\n\n\tprivate showMenu() {\n\t\tif (!this.buttonElement[0] || !this.menuElement) return\n\n\t\tthis.menuElement.dataset.show = 'true'\n\n\t\tthis.cleanup = autoUpdate(this.buttonElement[0], this.menuElement, () => {\n\t\t\tcomputePosition(this.buttonElement[0], this.menuElement, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: this.getMiddleware(),\n\t\t\t}).then(({ x, y, strategy }) => {\n\t\t\t\tObject.assign(this.menuElement.style, {\n\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\ttop: `${y}px`,\n\t\t\t\t\tposition: strategy,\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 100,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\n\t\tanimation.onfinish = () => {}\n\t}\n\n\tprivate async hideMenu() {\n\t\t// Make hideMenu async\n\t\tif (this.cleanup) {\n\t\t\tawait this.cleanup() // Await the cleanup!\n\t\t\tthis.cleanup = undefined\n\t\t}\n\t\tthis.menuElement.dataset.show = 'false'\n\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 75,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\t\tanimation.onfinish = () => {} // No need for a promise now\n\t}\n\n\tfirstUpdated(): void {\n\t\tfromEvent(this.buttonElement, 'click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.showMenu()\n\t\t\t})\n\n\t\tfromEvent(this, 'schmancy-menu-item-click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.hideMenu()\n\t\t\t})\n\n\t\tfromEvent(document, 'click')\n\t\t\t.pipe(\n\t\t\t\tfilter((e: Event) => !this.contains(e.target as Node)),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\ttap(() => {\n\t\t\t\t\tif (this.menuElement.dataset.show === 'true') {\n\t\t\t\t\t\tthis.hideMenu()\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<slot name=\"button\">\n\t\t\t\t<schmancy-icon-button> more_vert </schmancy-icon-button>\n\t\t\t</slot>\n\t\t\t<ul\n\t\t\t\tid=\"menu\"\n\t\t\t\tclass=\"absolute z-50 border-outlineVariant rounded-md min-w-[160px] max-w-[320px] w-max bg-surface-default max-h-[90vh] shadow-1 overflow-y-auto\"\n\t\t\t\trole=\"menu\"\n\t\t\t\taria-orientation=\"vertical\"\n\t\t\t\taria-labelledby=\"options-menu-4-button\"\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</ul>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu': SchmancyMenu\n\t}\n}\n"],"names":["SchmancyMenuItem","$LitElement","css","connectedCallback","super","fromEvent","this","pipe","takeUntil","disconnecting","subscribe","e","stopPropagation","dispatchEvent","CustomEvent","bubbles","composed","render","html","customElement","SchmancyMenu","TailwindElement","getMiddleware","offset","flip","shift","padding","size","apply","availableHeight","elements","floating","style","maxHeight","buttonElement","menuElement","computePosition","placement","middleware","then","x","y","Object","assign","left","top","showMenu","dataset","show","cleanup","autoUpdate","strategy","position","animate","opacity","transform","duration","easing","onfinish","hideMenu","firstUpdated","tap","document","filter","contains","target","__decorateClass","queryAssignedElements","flatten","slot","prototype","query"],"mappings":"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"}
package/dist/menu.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";require("./menu-DoN4dmcH.cjs");
1
+ "use strict";require("./menu-DJM8tj5e.cjs");
2
2
  //# sourceMappingURL=menu.cjs.map
package/dist/menu.js CHANGED
@@ -1,2 +1,2 @@
1
- import "./menu-BwO8_Djb.js";
1
+ import "./menu-qoixd8dd.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-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;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./avatar-BUXdM5FT.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-n-Kjs8UW.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-UTlBlxcT.js";
2
2
  export {
3
3
  c as $drawer,
4
4
  e as SchmancyDrawerAppbar,
@@ -1,4 +1,4 @@
1
- import { T as g } from "./tailwind.mixin-T5CiXVWk.js";
1
+ import { T as g } from "./tailwind.mixin-R2xLfpws.js";
2
2
  import { css as x, html as l } from "lit";
3
3
  import { property as a, customElement as y } from "lit/decorators.js";
4
4
  var m = Object.defineProperty, b = Object.getOwnPropertyDescriptor, h = (p, t, i, o) => {
@@ -148,4 +148,4 @@ export {
148
148
  d as S,
149
149
  s as a
150
150
  };
151
- //# sourceMappingURL=navigation-rail-item-D_GarK92.js.map
151
+ //# sourceMappingURL=navigation-rail-item-B83ZIkBr.js.map
@@ -1 +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":";;;;;;;AAoBO,IAAMA,IAAN,cAAqCC,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;EAArD,cAAAC;AAAAC,aAAAC,SAAAA,GA4CNC,KAAAC,eAOAD,KAAAE,QAAoC;AAAA,EAAA;AAAA,EAE1B;AACT,WAAOC;AAAAA,EACR;AAAA;AAXAC,EAAA,CADCC,EAAS,EAAEC,MAAMC,SAASC,SAAAA,GAAS,CAAA,CAAA,GA3CxBd,EA4CZe,WAAA,YAAA,IAOAL,EAAA,CADCC,EAAS,EAAEG,SAAAA,GAAS,CAAA,CAAA,GAlDTd,EAmDZe,WAAA,SAAA,IAnDYf,IAANU,EAAA,CADNM,EAAc,0BAAA,CAAA,GACFhB;;;;;ACFN,IAAMiB,IAAN,cAAyChB,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;EAAzD,cAAAC;AAAAC,UAAAA,GAAAC,SAAAA,GA2ENC,KAAAY,OAAO,IAMPZ,KAAAa,QAAQ,IAORb,KAAAc,SAAAA,IAMAd,KAAAe,QAAQ,IAORf,KAAAC,WAAAA;AAAAA,EAAW;AAAA,EAKH,cAAAe;AACPhB,SAAKiB,cAAc,IAAIC,YAAY,mBAAmB,EACrDC,QAAQ,EACPP,MAAMZ,KAAKY,MACXC,OAAOb,KAAKa,OACZC,QAAQd,KAAKc,OAAAA,GAEdM,SAAAA,IACAC,UAAAA,GAAU,CAAA,CAAA;AAAA,EAEZ;AAAA,EAEU,SAAAC;AAGT,WAFuBtB,KAAKuB,cAAc,QAAA,KAAavB,KAAKwB,aAAaC,KAAAA,IAGjEtB,iBAAoBH,KAAKgB,WAAAA,aAG1Bb;AAAAA,iBACQH,KAAKgB,WAAAA;AAAAA,MAChBhB,KAAKY,OAAOT,uBAA0BH,KAAKY,IAAAA,YAAgB,EAAA;AAAA,MAC3DZ,KAAKC,YAAYD,KAAKa,QAAQV,wBAA2BH,KAAKa,KAAAA,YAAiB,EAAA;AAAA,MAC/Eb,KAAKe,QAAQZ,wBAA2BH,KAAKe,KAAAA,YAAiB,EAAA;AAAA;AAAA;AAAA,EAGnE;AAAA;AAzDAX,EAAA,CADCC,EAAS,EAAEC,MAAMoB,OAAAA,CAAAA,CAAAA,GA1ENf,EA2EZF,WAAA,QAAA,CAAA,GAMAL,EAAA,CADCC,EAAS,EAAEC,MAAMoB,OAAAA,CAAAA,CAAAA,GAhFNf,EAiFZF,WAAA,SAAA,CAAA,GAOAL,EAAA,CADCC,EAAS,EAAEC,MAAMC,SAASC,SAAAA,GAAS,CAAA,CAAA,GAvFxBG,EAwFZF,WAAA,UAAA,CAAA,GAMAL,EAAA,CADCC,EAAS,EAAEC,MAAMoB,OAAAA,CAAAA,CAAAA,GA7FNf,EA8FZF,WAAA,SAAA,CAAA,GAOAL,EAAA,CADCC,EAAS,EAAEC,MAAMC,SAASC,SAAAA,GAAS,CAAA,CAAA,GApGxBG,EAqGZF,WAAA,YAAA,CAAA,GArGYE,IAANP,EAAA,CADNM,EAAc,+BAAA,CAAA,GACFC,CAAAA;"}
1
+ {"version":3,"file":"navigation-rail-item-B83ZIkBr.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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"}
@@ -1,4 +1,4 @@
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`
1
+ "use strict";const h=require("./tailwind.mixin-BvVlz7hG.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
2
  :host {
3
3
  display: flex;
4
4
  flex-direction: column;
@@ -113,4 +113,4 @@
113
113
  ${this.badge?o.html`<span class="badge">${this.badge}</span>`:""}
114
114
  </div>
115
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
116
+ //# sourceMappingURL=navigation-rail-item-hYAXrNQM.cjs.map
@@ -1 +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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"}
1
+ {"version":3,"file":"navigation-rail-item-hYAXrNQM.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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"}
@@ -1,2 +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});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./navigation-rail-item-hYAXrNQM.cjs");Object.defineProperty(exports,"SchmancyNavigationRail",{enumerable:!0,get:()=>e.SchmancyNavigationRail}),Object.defineProperty(exports,"SchmancyNavigationRailItem",{enumerable:!0,get:()=>e.SchmancyNavigationRailItem});
2
2
  //# sourceMappingURL=navigation-rail.cjs.map
@@ -1,4 +1,4 @@
1
- import { S as c, a as m } from "./navigation-rail-item-D_GarK92.js";
1
+ import { S as c, a as m } from "./navigation-rail-item-B83ZIkBr.js";
2
2
  export {
3
3
  c as SchmancyNavigationRail,
4
4
  m as SchmancyNavigationRailItem
@@ -1,4 +1,4 @@
1
- "use strict";const p=require("rxjs"),b=require("lit/directives/class-map.js"),w=require("lit/directives/style-map.js"),u=require("lit/decorators.js");require("./tailwind.mixin-CngO3XGT.cjs");const x=require("./litElement.mixin-DE7nMq_x.cjs"),S=require("./ripple-DqQrvaTe.cjs");require("lit/directives/guard.js");const l=require("./theme.interface-Xg5Zi46a.cjs"),d=require("lit");require("./progress-Ci-XtLSK.cjs");const A=require("lit/directives/repeat.js");var C=Object.defineProperty,_=Object.getOwnPropertyDescriptor,h=(o,t,e,i)=>{for(var n,s=i>1?void 0:i?_(t,e):t,a=o.length-1;a>=0;a--)(n=o[a])&&(s=(i?n(t,e,s):n(s))||s);return i&&s&&C(t,e,s),s};exports.SchmancyNotification=class extends x.$LitElement(':host{display:block;margin-bottom:10px}:host:last-child{margin-bottom:0}.notification{width:100%;max-width:400px;box-shadow:var(--schmancy-sys-elevation-2);overflow:hidden;transform:translate(0);opacity:1;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1);background-color:var(--schmancy-sys-color-surface-container);color:var(--schmancy-sys-color-surface-on);border-radius:16px;position:relative}.notification:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,#ffffff14,#fff0);z-index:1}.notification.info{border-left:4px solid var(--schmancy-sys-color-primary-default);background-color:color-mix(in srgb,var(--schmancy-sys-color-surface-container) 90%,var(--schmancy-sys-color-primary-container) 10%)}.notification.success{border-left:4px solid var(--schmancy-sys-color-success-default);background-color:color-mix(in srgb,var(--schmancy-sys-color-surface-container) 90%,var(--schmancy-sys-color-success-container) 10%)}.notification.warning{border-left:4px solid var(--schmancy-sys-color-tertiary-default);background-color:color-mix(in srgb,var(--schmancy-sys-color-surface-container) 90%,var(--schmancy-sys-color-tertiary-container) 10%)}.notification.error{border-left:4px solid var(--schmancy-sys-color-error-default);background-color:color-mix(in srgb,var(--schmancy-sys-color-surface-container) 90%,var(--schmancy-sys-color-error-container) 10%)}.notification.closing{transform:translate(120%);opacity:0}.notification .notification-content{display:flex;padding:18px 20px;align-items:flex-start;position:relative;z-index:2}.notification .icon-container{flex-shrink:0;margin-right:14px;display:flex;align-items:center;justify-content:center;border-radius:50%;width:28px;height:28px;position:relative}.notification .content{flex:1;min-width:0;display:flex;flex-direction:column}.notification .title{font-weight:500;font-size:16px;line-height:1.5;margin-bottom:2px;word-break:break-word;letter-spacing:.15px}.notification .message{font-size:14px;line-height:1.5;word-break:break-word;letter-spacing:.25px;opacity:.92}.notification .close-button{background:transparent;border:none;cursor:pointer;color:var(--schmancy-sys-color-surface-onVariant);padding:8px;margin-left:8px;margin-right:-4px;margin-top:-4px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,transform .2s ease}.notification .close-button:hover{background-color:color-mix(in srgb,var(--schmancy-sys-color-surface-onVariant) 8%,transparent);transform:scale(1.05)}.notification .close-button:active{transform:scale(.95)}.notification .close-button:focus-visible{outline:none;box-shadow:0 0 0 2px var(--schmancy-sys-color-primary-default)}'){constructor(){super(...arguments),this.title="",this.message="",this.type="info",this.closable=!0,this.duration=5e3,this.id=`notification-${Date.now()}-${Math.floor(1e4*Math.random())}`,this.playSound=!0,this.showProgress=!1,this._visible=!0,this._progress=100,this._hovered=!1,this._closing=!1}connectedCallback(){super.connectedCallback(),this.duration>0&&this._startAutoCloseTimer(),this.playSound&&this._playSound()}disconnectedCallback(){this._clearTimers(),super.disconnectedCallback()}updated(o){super.updated(o),o.has("duration")&&this.duration>0&&(this._clearTimers(),this._startAutoCloseTimer())}_startAutoCloseTimer(){if(this.duration<=0)return;const o=Date.now()+this.duration;this._autoCloseTimer=window.setTimeout(()=>{this.close()},this.duration),this._progressTimer=window.setInterval(()=>{if(this._hovered)return;const t=Date.now(),e=Math.max(0,o-t);this._progress=e/this.duration*100,e<=0&&this._clearTimers()},16)}_clearTimers(){this._autoCloseTimer&&(clearTimeout(this._autoCloseTimer),this._autoCloseTimer=void 0),this._progressTimer&&(clearInterval(this._progressTimer),this._progressTimer=void 0)}_pauseTimers(){this._clearTimers()}_resumeTimers(){if(this.duration>0){const o=this._progress/100*this.duration;if(o>0){this._autoCloseTimer=window.setTimeout(()=>{this.close()},o);const t=Date.now()+o;this._progressTimer=window.setInterval(()=>{if(this._hovered)return;const e=Date.now(),i=Math.max(0,t-e);this._progress=i/o*100,i<=0&&this._clearTimers()},16)}}}_playSound(){this.dispatchEvent(new CustomEvent("playsound",{detail:{type:this.type},bubbles:!0,composed:!0}))}_handleMouseEnter(){this._hovered=!0,this._pauseTimers()}_handleMouseLeave(){this._hovered=!1,this._resumeTimers()}close(){this._closing||(this._closing=!0,this._clearTimers(),this._visible=!1,setTimeout(()=>{this.dispatchEvent(new CustomEvent("close",{detail:{id:this.id},bubbles:!0,composed:!0}))},300))}render(){if(!this._visible&&this._closing)return d.html``;const o=this._getTypeStyles(),t=this._hovered?"3":"2";return d.html`
1
+ "use strict";const p=require("rxjs"),b=require("lit/directives/class-map.js"),w=require("lit/directives/style-map.js"),u=require("lit/decorators.js");require("./tailwind.mixin-BvVlz7hG.cjs");const x=require("./litElement.mixin-B2K_bdpW.cjs"),S=require("./ripple-DqQrvaTe.cjs");require("lit/directives/guard.js");const l=require("./theme.interface-Xg5Zi46a.cjs"),d=require("lit");require("./progress-C-2JM-2b.cjs");const A=require("lit/directives/repeat.js");var C=Object.defineProperty,_=Object.getOwnPropertyDescriptor,h=(o,t,e,i)=>{for(var n,s=i>1?void 0:i?_(t,e):t,a=o.length-1;a>=0;a--)(n=o[a])&&(s=(i?n(t,e,s):n(s))||s);return i&&s&&C(t,e,s),s};exports.SchmancyNotification=class extends x.$LitElement(':host{display:block;margin-bottom:10px}:host:last-child{margin-bottom:0}.notification{width:100%;max-width:400px;box-shadow:var(--schmancy-sys-elevation-2);overflow:hidden;transform:translate(0);opacity:1;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1);background-color:var(--schmancy-sys-color-surface-container);color:var(--schmancy-sys-color-surface-on);border-radius:16px;position:relative}.notification:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,#ffffff14,#fff0);z-index:1}.notification.info{border-left:4px solid var(--schmancy-sys-color-primary-default);background-color:color-mix(in srgb,var(--schmancy-sys-color-surface-container) 90%,var(--schmancy-sys-color-primary-container) 10%)}.notification.success{border-left:4px solid var(--schmancy-sys-color-success-default);background-color:color-mix(in srgb,var(--schmancy-sys-color-surface-container) 90%,var(--schmancy-sys-color-success-container) 10%)}.notification.warning{border-left:4px solid var(--schmancy-sys-color-tertiary-default);background-color:color-mix(in srgb,var(--schmancy-sys-color-surface-container) 90%,var(--schmancy-sys-color-tertiary-container) 10%)}.notification.error{border-left:4px solid var(--schmancy-sys-color-error-default);background-color:color-mix(in srgb,var(--schmancy-sys-color-surface-container) 90%,var(--schmancy-sys-color-error-container) 10%)}.notification.closing{transform:translate(120%);opacity:0}.notification .notification-content{display:flex;padding:18px 20px;align-items:flex-start;position:relative;z-index:2}.notification .icon-container{flex-shrink:0;margin-right:14px;display:flex;align-items:center;justify-content:center;border-radius:50%;width:28px;height:28px;position:relative}.notification .content{flex:1;min-width:0;display:flex;flex-direction:column}.notification .title{font-weight:500;font-size:16px;line-height:1.5;margin-bottom:2px;word-break:break-word;letter-spacing:.15px}.notification .message{font-size:14px;line-height:1.5;word-break:break-word;letter-spacing:.25px;opacity:.92}.notification .close-button{background:transparent;border:none;cursor:pointer;color:var(--schmancy-sys-color-surface-onVariant);padding:8px;margin-left:8px;margin-right:-4px;margin-top:-4px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,transform .2s ease}.notification .close-button:hover{background-color:color-mix(in srgb,var(--schmancy-sys-color-surface-onVariant) 8%,transparent);transform:scale(1.05)}.notification .close-button:active{transform:scale(.95)}.notification .close-button:focus-visible{outline:none;box-shadow:0 0 0 2px var(--schmancy-sys-color-primary-default)}'){constructor(){super(...arguments),this.title="",this.message="",this.type="info",this.closable=!0,this.duration=5e3,this.id=`notification-${Date.now()}-${Math.floor(1e4*Math.random())}`,this.playSound=!0,this.showProgress=!1,this._visible=!0,this._progress=100,this._hovered=!1,this._closing=!1}connectedCallback(){super.connectedCallback(),this.duration>0&&this._startAutoCloseTimer(),this.playSound&&this._playSound()}disconnectedCallback(){this._clearTimers(),super.disconnectedCallback()}updated(o){super.updated(o),o.has("duration")&&this.duration>0&&(this._clearTimers(),this._startAutoCloseTimer())}_startAutoCloseTimer(){if(this.duration<=0)return;const o=Date.now()+this.duration;this._autoCloseTimer=window.setTimeout(()=>{this.close()},this.duration),this._progressTimer=window.setInterval(()=>{if(this._hovered)return;const t=Date.now(),e=Math.max(0,o-t);this._progress=e/this.duration*100,e<=0&&this._clearTimers()},16)}_clearTimers(){this._autoCloseTimer&&(clearTimeout(this._autoCloseTimer),this._autoCloseTimer=void 0),this._progressTimer&&(clearInterval(this._progressTimer),this._progressTimer=void 0)}_pauseTimers(){this._clearTimers()}_resumeTimers(){if(this.duration>0){const o=this._progress/100*this.duration;if(o>0){this._autoCloseTimer=window.setTimeout(()=>{this.close()},o);const t=Date.now()+o;this._progressTimer=window.setInterval(()=>{if(this._hovered)return;const e=Date.now(),i=Math.max(0,t-e);this._progress=i/o*100,i<=0&&this._clearTimers()},16)}}}_playSound(){this.dispatchEvent(new CustomEvent("playsound",{detail:{type:this.type},bubbles:!0,composed:!0}))}_handleMouseEnter(){this._hovered=!0,this._pauseTimers()}_handleMouseLeave(){this._hovered=!1,this._resumeTimers()}close(){this._closing||(this._closing=!0,this._clearTimers(),this._visible=!1,setTimeout(()=>{this.dispatchEvent(new CustomEvent("close",{detail:{id:this.id},bubbles:!0,composed:!0}))},300))}render(){if(!this._visible&&this._closing)return d.html``;const o=this._getTypeStyles(),t=this._hovered?"3":"2";return d.html`
2
2
  <div
3
3
  class=${b.classMap({notification:!0,closing:this._closing,[this.type]:!0})}
4
4
  role="alert"
@@ -140,4 +140,4 @@
140
140
  `)}
141
141
  </div>
142
142
  `}},g([u.property({type:String})],exports.SchmancyNotificationContainer.prototype,"position",2),g([u.property({type:Number})],exports.SchmancyNotificationContainer.prototype,"maxVisibleNotifications",2),g([u.property({type:Boolean})],exports.SchmancyNotificationContainer.prototype,"playSound",2),g([u.property({type:Number})],exports.SchmancyNotificationContainer.prototype,"audioVolume",2),g([u.state()],exports.SchmancyNotificationContainer.prototype,"_notifications",2),exports.SchmancyNotificationContainer=g([u.customElement("sch-notification-container")],exports.SchmancyNotificationContainer);const y=class y{constructor(){this.notificationStack=[]}static getInstance(){return y.instance||(y.instance=new y),y.instance}notify(t){const e={...y.DEFAULT_OPTIONS,...t,duration:t.duration??y.DEFAULT_OPTIONS.duration},i=e.id||`notification-${Date.now()}-${Math.floor(1e4*Math.random())}`;this.notificationStack.push(i);const n=new CustomEvent("schmancy-notification",{bubbles:!0,composed:!0,detail:{...e,id:i}});return window.dispatchEvent(n),i}dismiss(t){let e;if(t){const i=this.notificationStack.indexOf(t);i>-1&&(this.notificationStack.splice(i,1),e=t)}else e=this.notificationStack.pop();if(e){const i=new CustomEvent("schmancy-notification-dismiss",{bubbles:!0,composed:!0,detail:{id:e}});window.dispatchEvent(i)}}update(t,e){const i=new CustomEvent("schmancy-notification-update",{bubbles:!0,composed:!0,detail:{id:t,...e}});window.dispatchEvent(i)}info(t,e={}){return this.notify({message:t??"",type:"info",duration:t?e.duration:1,...e})}success(t,e={}){return this.notify({message:t??"",type:"success",duration:t?e.duration:1,...e})}warning(t,e={}){return this.notify({message:t??"",type:"warning",duration:t?e.duration:1,...e})}error(t,e={}){return this.notify({message:t??"",type:"error",duration:t?e.duration:1,...e})}customDuration(t,e,i={}){return this.notify({message:t,duration:e,...i})}persistent(t,e={}){return this.notify({message:t,duration:0,...e})}};y.DEFAULT_OPTIONS={duration:1e3,closable:!0,playSound:!0};let m=y;const N={show:o=>m.getInstance().notify(o),info:(o,t={})=>m.getInstance().info(o,t),success:(o,t={})=>m.getInstance().success(o,t),warning:(o,t={})=>m.getInstance().warning(o,t),error:(o,t={})=>m.getInstance().error(o,t),customDuration:(o,t,e={})=>m.getInstance().customDuration(o,t,e),persistent:(o,t={})=>m.getInstance().persistent(o,t),dismiss:o=>m.getInstance().dismiss(o),update:(o,t)=>m.getInstance().update(o,t)};exports.$notify=N,exports.NotificationAudioService=T;
143
- //# sourceMappingURL=notification-service-Cm060I1t.cjs.map
143
+ //# sourceMappingURL=notification-service-C5ApldUR.cjs.map