@mhmo91/schmancy 0.4.66 → 0.4.68

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 (308) hide show
  1. package/ai/textarea.md +128 -43
  2. package/dist/ai/textarea.md +128 -43
  3. package/dist/{animated-text-BOmshPXd.cjs → animated-text-DC6DoZFp.cjs} +2 -2
  4. package/dist/{animated-text-BOmshPXd.cjs.map → animated-text-DC6DoZFp.cjs.map} +1 -1
  5. package/dist/{animated-text-BYXhXGsm.js → animated-text-DWROCNAc.js} +3 -3
  6. package/dist/{animated-text-BYXhXGsm.js.map → animated-text-DWROCNAc.js.map} +1 -1
  7. package/dist/animated-text.cjs +1 -1
  8. package/dist/animated-text.js +1 -1
  9. package/dist/area.cjs +1 -1
  10. package/dist/{area.component-CuYKF9uV.cjs → area.component-tnIDc9kT.cjs} +2 -2
  11. package/dist/{area.component-CuYKF9uV.cjs.map → area.component-tnIDc9kT.cjs.map} +1 -1
  12. package/dist/{area.component-BpG36mPf.js → area.component-vZfDiNZy.js} +3 -3
  13. package/dist/{area.component-BpG36mPf.js.map → area.component-vZfDiNZy.js.map} +1 -1
  14. package/dist/area.js +1 -1
  15. package/dist/{autocomplete-Bc5DmZbR.cjs → autocomplete-C5fz6X5-.cjs} +2 -2
  16. package/dist/{autocomplete-Bc5DmZbR.cjs.map → autocomplete-C5fz6X5-.cjs.map} +1 -1
  17. package/dist/{autocomplete-wKvaSSd1.js → autocomplete-D-68OyCe.js} +3 -3
  18. package/dist/{autocomplete-wKvaSSd1.js.map → autocomplete-D-68OyCe.js.map} +1 -1
  19. package/dist/autocomplete.cjs +1 -1
  20. package/dist/autocomplete.js +1 -1
  21. package/dist/{avatar-DnzsjVqx.js → avatar-DbWoxALg.js} +48 -48
  22. package/dist/{avatar-DnzsjVqx.js.map → avatar-DbWoxALg.js.map} +1 -1
  23. package/dist/{avatar-cIIj5C23.cjs → avatar-f1s6Rri7.cjs} +2 -2
  24. package/dist/{avatar-cIIj5C23.cjs.map → avatar-f1s6Rri7.cjs.map} +1 -1
  25. package/dist/badge.cjs +1 -1
  26. package/dist/badge.js +1 -1
  27. package/dist/{boat-qtjCQjIS.js → boat-DA_B_UOn.js} +2 -2
  28. package/dist/{boat-qtjCQjIS.js.map → boat-DA_B_UOn.js.map} +1 -1
  29. package/dist/{boat-DPGY5icL.cjs → boat-DeMH4PII.cjs} +2 -2
  30. package/dist/{boat-DPGY5icL.cjs.map → boat-DeMH4PII.cjs.map} +1 -1
  31. package/dist/boat.cjs +1 -1
  32. package/dist/boat.js +1 -1
  33. package/dist/busy.cjs +1 -1
  34. package/dist/busy.js +1 -1
  35. package/dist/button.cjs +1 -1
  36. package/dist/button.js +1 -1
  37. package/dist/card.cjs +1 -1
  38. package/dist/card.js +1 -1
  39. package/dist/{checkbox-7ONbVQE7.cjs → checkbox-d6KUhyv1.cjs} +2 -2
  40. package/dist/{checkbox-7ONbVQE7.cjs.map → checkbox-d6KUhyv1.cjs.map} +1 -1
  41. package/dist/{checkbox-C4ElXbJ3.js → checkbox-iwkV_VZd.js} +2 -2
  42. package/dist/{checkbox-C4ElXbJ3.js.map → checkbox-iwkV_VZd.js.map} +1 -1
  43. package/dist/checkbox.cjs +1 -1
  44. package/dist/checkbox.js +1 -1
  45. package/dist/{chips-CoYQtkDU.js → chips--CHI-PBC.js} +3 -3
  46. package/dist/{chips-CoYQtkDU.js.map → chips--CHI-PBC.js.map} +1 -1
  47. package/dist/{chips-sVa-BYXu.cjs → chips-BXYlvuv1.cjs} +2 -2
  48. package/dist/{chips-sVa-BYXu.cjs.map → chips-BXYlvuv1.cjs.map} +1 -1
  49. package/dist/chips.cjs +1 -1
  50. package/dist/chips.js +1 -1
  51. package/dist/code-highlight.cjs +1 -1
  52. package/dist/code-highlight.js +1 -1
  53. package/dist/{code-preview-CdxZW_Vp.js → code-preview-CLWEbiLF.js} +2 -2
  54. package/dist/{code-preview-CdxZW_Vp.js.map → code-preview-CLWEbiLF.js.map} +1 -1
  55. package/dist/{code-preview-D0YiSTNm.cjs → code-preview-DaI_YMOB.cjs} +2 -2
  56. package/dist/{code-preview-D0YiSTNm.cjs.map → code-preview-DaI_YMOB.cjs.map} +1 -1
  57. package/dist/components.cjs +1 -1
  58. package/dist/components.js +1 -1
  59. package/dist/content-drawer.cjs +1 -1
  60. package/dist/content-drawer.js +1 -1
  61. package/dist/{date-range-CgyTp1-t.cjs → date-range-CHWNwZmy.cjs} +2 -2
  62. package/dist/{date-range-CgyTp1-t.cjs.map → date-range-CHWNwZmy.cjs.map} +1 -1
  63. package/dist/{date-range-inline-Dr1GuvIi.js → date-range-inline-BrblUJWk.js} +3 -3
  64. package/dist/{date-range-inline-Dr1GuvIi.js.map → date-range-inline-BrblUJWk.js.map} +1 -1
  65. package/dist/{date-range-inline-BRrWWeNn.cjs → date-range-inline-eCsAJVSI.cjs} +2 -2
  66. package/dist/{date-range-inline-BRrWWeNn.cjs.map → date-range-inline-eCsAJVSI.cjs.map} +1 -1
  67. package/dist/date-range-inline.cjs +1 -1
  68. package/dist/date-range-inline.js +1 -1
  69. package/dist/{date-range-C7TVgFY0.js → date-range-lT3ch0CJ.js} +4 -4
  70. package/dist/{date-range-C7TVgFY0.js.map → date-range-lT3ch0CJ.js.map} +1 -1
  71. package/dist/date-range.cjs +1 -1
  72. package/dist/date-range.js +1 -1
  73. package/dist/{delay-C2yiTI1Z.cjs → delay-CN1qSEKQ.cjs} +2 -2
  74. package/dist/{delay-C2yiTI1Z.cjs.map → delay-CN1qSEKQ.cjs.map} +1 -1
  75. package/dist/{delay-DngpjBlX.js → delay-DF3m820G.js} +2 -2
  76. package/dist/{delay-DngpjBlX.js.map → delay-DF3m820G.js.map} +1 -1
  77. package/dist/delay.cjs +1 -1
  78. package/dist/delay.js +1 -1
  79. package/dist/{details-OlD9vBNt.js → details-B0TayDAR.js} +2 -2
  80. package/dist/{details-OlD9vBNt.js.map → details-B0TayDAR.js.map} +1 -1
  81. package/dist/{details-DBemhuJ4.cjs → details-WlWNEznx.cjs} +2 -2
  82. package/dist/{details-DBemhuJ4.cjs.map → details-WlWNEznx.cjs.map} +1 -1
  83. package/dist/details.cjs +1 -1
  84. package/dist/details.js +1 -1
  85. package/dist/{dialog-content-DXuU4Bi4.js → dialog-content-Bu-1wPol.js} +4 -4
  86. package/dist/{dialog-content-DXuU4Bi4.js.map → dialog-content-Bu-1wPol.js.map} +1 -1
  87. package/dist/{dialog-content-DOReText.cjs → dialog-content-DxSr-3n2.cjs} +2 -2
  88. package/dist/{dialog-content-DOReText.cjs.map → dialog-content-DxSr-3n2.cjs.map} +1 -1
  89. package/dist/{dialog-service-DBDHFXrF.js → dialog-service-DGfyRhia.js} +2 -2
  90. package/dist/{dialog-service-DBDHFXrF.js.map → dialog-service-DGfyRhia.js.map} +1 -1
  91. package/dist/{dialog-service-CUqwqq-Q.cjs → dialog-service-mkcNUT8P.cjs} +2 -2
  92. package/dist/{dialog-service-CUqwqq-Q.cjs.map → dialog-service-mkcNUT8P.cjs.map} +1 -1
  93. package/dist/dialog.cjs +1 -1
  94. package/dist/dialog.js +2 -2
  95. package/dist/{divider-Dtebp4Da.cjs → divider-6-gngn50.cjs} +2 -2
  96. package/dist/{divider-Dtebp4Da.cjs.map → divider-6-gngn50.cjs.map} +1 -1
  97. package/dist/{divider-BBDCTJnV.js → divider-DMelIbAX.js} +3 -3
  98. package/dist/{divider-BBDCTJnV.js.map → divider-DMelIbAX.js.map} +1 -1
  99. package/dist/divider.cjs +1 -1
  100. package/dist/divider.js +1 -1
  101. package/dist/{dropdown-content-mwmfC5kn.js → dropdown-content-CWyaIopS.js} +3 -3
  102. package/dist/{dropdown-content-mwmfC5kn.js.map → dropdown-content-CWyaIopS.js.map} +1 -1
  103. package/dist/{dropdown-content-CVEcwscV.cjs → dropdown-content-DQgspBt5.cjs} +2 -2
  104. package/dist/{dropdown-content-CVEcwscV.cjs.map → dropdown-content-DQgspBt5.cjs.map} +1 -1
  105. package/dist/dropdown.cjs +1 -1
  106. package/dist/dropdown.js +1 -1
  107. package/dist/extra.cjs +1 -1
  108. package/dist/extra.js +1 -1
  109. package/dist/{flex--ltPLVmS.js → flex-CPva0jtS.js} +2 -2
  110. package/dist/{flex--ltPLVmS.js.map → flex-CPva0jtS.js.map} +1 -1
  111. package/dist/{flex-WF0g8wer.cjs → flex-uUxnTzlw.cjs} +2 -2
  112. package/dist/{flex-WF0g8wer.cjs.map → flex-uUxnTzlw.cjs.map} +1 -1
  113. package/dist/{form-CN2sYx6X.cjs → form-DPXb7Fad.cjs} +2 -2
  114. package/dist/{form-CN2sYx6X.cjs.map → form-DPXb7Fad.cjs.map} +1 -1
  115. package/dist/{form-BFh6_MzG.js → form-zJGrEXrf.js} +2 -2
  116. package/dist/{form-BFh6_MzG.js.map → form-zJGrEXrf.js.map} +1 -1
  117. package/dist/form.cjs +1 -1
  118. package/dist/form.js +1 -1
  119. package/dist/{formField.mixin-BEV5GM_e.js → formField.mixin-CfRnxkkt.js} +2 -2
  120. package/dist/{formField.mixin-BEV5GM_e.js.map → formField.mixin-CfRnxkkt.js.map} +1 -1
  121. package/dist/{formField.mixin-Bf4e7Lge.cjs → formField.mixin-DWGkWIQa.cjs} +2 -2
  122. package/dist/{formField.mixin-Bf4e7Lge.cjs.map → formField.mixin-DWGkWIQa.cjs.map} +1 -1
  123. package/dist/{icon-CtKUeMU8.js → icon-DZYFOov6.js} +2 -2
  124. package/dist/{icon-CtKUeMU8.js.map → icon-DZYFOov6.js.map} +1 -1
  125. package/dist/{icon-CVQU6Rca.cjs → icon-YYb239jY.cjs} +2 -2
  126. package/dist/{icon-CVQU6Rca.cjs.map → icon-YYb239jY.cjs.map} +1 -1
  127. package/dist/{icon-button-CV4QzVO7.js → icon-button-DeFeauMH.js} +3 -3
  128. package/dist/{icon-button-CV4QzVO7.js.map → icon-button-DeFeauMH.js.map} +1 -1
  129. package/dist/{icon-button-Cj5S5KIh.cjs → icon-button-Yrq8D9rB.cjs} +2 -2
  130. package/dist/{icon-button-Cj5S5KIh.cjs.map → icon-button-Yrq8D9rB.cjs.map} +1 -1
  131. package/dist/icons.cjs +1 -1
  132. package/dist/icons.js +1 -1
  133. package/dist/index.cjs +1 -1
  134. package/dist/index.js +47 -47
  135. package/dist/{input-vDrx8a-l.cjs → input-BX4VAA8U.cjs} +2 -2
  136. package/dist/{input-vDrx8a-l.cjs.map → input-BX4VAA8U.cjs.map} +1 -1
  137. package/dist/{input-DEb-YEtg.js → input-BsMQq8Or.js} +3 -3
  138. package/dist/{input-DEb-YEtg.js.map → input-BsMQq8Or.js.map} +1 -1
  139. package/dist/input.cjs +1 -1
  140. package/dist/input.js +1 -1
  141. package/dist/layout.cjs +1 -1
  142. package/dist/layout.js +1 -1
  143. package/dist/{list-Yh5PKU_3.cjs → list-Bww4Iiey.cjs} +2 -2
  144. package/dist/{list-Yh5PKU_3.cjs.map → list-Bww4Iiey.cjs.map} +1 -1
  145. package/dist/{list-p8dfLRpZ.js → list-D9HxZJmG.js} +2 -2
  146. package/dist/{list-p8dfLRpZ.js.map → list-D9HxZJmG.js.map} +1 -1
  147. package/dist/list.cjs +1 -1
  148. package/dist/list.js +1 -1
  149. package/dist/{litElement.mixin-CNI7suiz.cjs → litElement.mixin-C98sb2sB.cjs} +2 -2
  150. package/dist/{litElement.mixin-CNI7suiz.cjs.map → litElement.mixin-C98sb2sB.cjs.map} +1 -1
  151. package/dist/{litElement.mixin-D0rbA0NW.js → litElement.mixin-CLjCvtPx.js} +2 -2
  152. package/dist/{litElement.mixin-D0rbA0NW.js.map → litElement.mixin-CLjCvtPx.js.map} +1 -1
  153. package/dist/{map-Di5T335A.js → map-1mMvYo0I.js} +2 -2
  154. package/dist/{map-Di5T335A.js.map → map-1mMvYo0I.js.map} +1 -1
  155. package/dist/{map-D5W8lw4j.cjs → map-CZEpXVR1.cjs} +2 -2
  156. package/dist/{map-D5W8lw4j.cjs.map → map-CZEpXVR1.cjs.map} +1 -1
  157. package/dist/map.cjs +1 -1
  158. package/dist/map.js +1 -1
  159. package/dist/{media-D08V7Wsh.js → media-CGPGcf2N.js} +2 -2
  160. package/dist/{media-D08V7Wsh.js.map → media-CGPGcf2N.js.map} +1 -1
  161. package/dist/{media-Bxo0zMB_.cjs → media-Dq-o2otE.cjs} +2 -2
  162. package/dist/{media-Bxo0zMB_.cjs.map → media-Dq-o2otE.cjs.map} +1 -1
  163. package/dist/{menu-DCN9Pzw4.cjs → menu-Bl0w5kB_.cjs} +2 -2
  164. package/dist/{menu-DCN9Pzw4.cjs.map → menu-Bl0w5kB_.cjs.map} +1 -1
  165. package/dist/{menu-DscxR3yM.js → menu-DrrQkRZL.js} +3 -3
  166. package/dist/{menu-DscxR3yM.js.map → menu-DrrQkRZL.js.map} +1 -1
  167. package/dist/menu.cjs +1 -1
  168. package/dist/menu.js +1 -1
  169. package/dist/nav-drawer.cjs +1 -1
  170. package/dist/nav-drawer.js +1 -1
  171. package/dist/{notification-service-CD2Y1a0u.cjs → notification-service-BE2zvE-H.cjs} +2 -2
  172. package/dist/{notification-service-CD2Y1a0u.cjs.map → notification-service-BE2zvE-H.cjs.map} +1 -1
  173. package/dist/{notification-service-CSgV2pUX.js → notification-service-DNKVvHBY.js} +4 -4
  174. package/dist/{notification-service-CSgV2pUX.js.map → notification-service-DNKVvHBY.js.map} +1 -1
  175. package/dist/notification.cjs +1 -1
  176. package/dist/notification.js +2 -2
  177. package/dist/{notify-CwS66tJW.js → notify-BrKEcp4z.js} +2 -2
  178. package/dist/{notify-CwS66tJW.js.map → notify-BrKEcp4z.js.map} +1 -1
  179. package/dist/{notify-3wXeqlmJ.cjs → notify-DMUxXGK4.cjs} +2 -2
  180. package/dist/{notify-3wXeqlmJ.cjs.map → notify-DMUxXGK4.cjs.map} +1 -1
  181. package/dist/{option-CdToWNjX.cjs → option-CugRKlmM.cjs} +2 -2
  182. package/dist/{option-CdToWNjX.cjs.map → option-CugRKlmM.cjs.map} +1 -1
  183. package/dist/{option-BPaqXN4M.js → option-Ds5MbbtW.js} +2 -2
  184. package/dist/{option-BPaqXN4M.js.map → option-Ds5MbbtW.js.map} +1 -1
  185. package/dist/option.cjs +1 -1
  186. package/dist/option.js +1 -1
  187. package/dist/{payment-card-form-auujnvax.js → payment-card-form-BUQze-h_.js} +3 -3
  188. package/dist/{payment-card-form-auujnvax.js.map → payment-card-form-BUQze-h_.js.map} +1 -1
  189. package/dist/{payment-card-form-CX3BJDWW.cjs → payment-card-form-DagrNF-H.cjs} +2 -2
  190. package/dist/{payment-card-form-CX3BJDWW.cjs.map → payment-card-form-DagrNF-H.cjs.map} +1 -1
  191. package/dist/{progress-uWFFRHWD.cjs → progress-C9_S0erz.cjs} +2 -2
  192. package/dist/{progress-uWFFRHWD.cjs.map → progress-C9_S0erz.cjs.map} +1 -1
  193. package/dist/{progress-BevGPl9Y.js → progress-CMR28yUw.js} +2 -2
  194. package/dist/{progress-BevGPl9Y.js.map → progress-CMR28yUw.js.map} +1 -1
  195. package/dist/progress.cjs +1 -1
  196. package/dist/progress.js +1 -1
  197. package/dist/{radio-button-62hKd-5J.cjs → radio-button-CdvyPFKn.cjs} +2 -2
  198. package/dist/{radio-button-62hKd-5J.cjs.map → radio-button-CdvyPFKn.cjs.map} +1 -1
  199. package/dist/{radio-button-DN46xslI.js → radio-button-DKSwDv7G.js} +3 -3
  200. package/dist/{radio-button-DN46xslI.js.map → radio-button-DKSwDv7G.js.map} +1 -1
  201. package/dist/radio-group.cjs +1 -1
  202. package/dist/radio-group.js +1 -1
  203. package/dist/{schmancy-steps-container-BLLfmYBF.cjs → schmancy-steps-container-CsU-IwKt.cjs} +6 -8
  204. package/dist/{schmancy-steps-container-BLLfmYBF.cjs.map → schmancy-steps-container-CsU-IwKt.cjs.map} +1 -1
  205. package/dist/{schmancy-steps-container-Be0uKWP8.js → schmancy-steps-container-o660nlUA.js} +10 -12
  206. package/dist/{schmancy-steps-container-Be0uKWP8.js.map → schmancy-steps-container-o660nlUA.js.map} +1 -1
  207. package/dist/{select-Ow0Jf-Sh.cjs → select-Cpxpfm_m.cjs} +2 -2
  208. package/dist/{select-Ow0Jf-Sh.cjs.map → select-Cpxpfm_m.cjs.map} +1 -1
  209. package/dist/{select-CYWnP7Td.js → select-ukml9TYC.js} +3 -3
  210. package/dist/{select-CYWnP7Td.js.map → select-ukml9TYC.js.map} +1 -1
  211. package/dist/select.cjs +1 -1
  212. package/dist/select.js +1 -1
  213. package/dist/{sheet-BX45sMt4.cjs → sheet-3VDjNIQO.cjs} +2 -2
  214. package/dist/{sheet-BX45sMt4.cjs.map → sheet-3VDjNIQO.cjs.map} +1 -1
  215. package/dist/{sheet-HVgDOirQ.js → sheet-C944d0EG.js} +4 -4
  216. package/dist/{sheet-HVgDOirQ.js.map → sheet-C944d0EG.js.map} +1 -1
  217. package/dist/sheet.cjs +1 -1
  218. package/dist/sheet.js +1 -1
  219. package/dist/{slider-B-MKEe1X.js → slider-BhxlOVWT.js} +3 -3
  220. package/dist/{slider-B-MKEe1X.js.map → slider-BhxlOVWT.js.map} +1 -1
  221. package/dist/{slider-DJqpYHUi.cjs → slider-DVSSKagG.cjs} +2 -2
  222. package/dist/{slider-DJqpYHUi.cjs.map → slider-DVSSKagG.cjs.map} +1 -1
  223. package/dist/slider.cjs +1 -1
  224. package/dist/slider.js +1 -1
  225. package/dist/{spinner-DGDvsKGV.cjs → spinner-3kZLS7Cb.cjs} +2 -2
  226. package/dist/{spinner-DGDvsKGV.cjs.map → spinner-3kZLS7Cb.cjs.map} +1 -1
  227. package/dist/{spinner-B-3mxwT5.js → spinner-B4O46fTH.js} +2 -2
  228. package/dist/{spinner-B-3mxwT5.js.map → spinner-B4O46fTH.js.map} +1 -1
  229. package/dist/steps.cjs +1 -1
  230. package/dist/steps.js +1 -1
  231. package/dist/{surface-BY4OPdgV.cjs → surface-BvaQlBsM.cjs} +2 -2
  232. package/dist/{surface-BY4OPdgV.cjs.map → surface-BvaQlBsM.cjs.map} +1 -1
  233. package/dist/{surface-BjL9h8ac.js → surface-C8u1VYhL.js} +2 -2
  234. package/dist/{surface-BjL9h8ac.js.map → surface-C8u1VYhL.js.map} +1 -1
  235. package/dist/surface.cjs +1 -1
  236. package/dist/surface.js +1 -1
  237. package/dist/{table-DUSCeuuC.js → table-CFz1b1sP.js} +2 -2
  238. package/dist/{table-DUSCeuuC.js.map → table-CFz1b1sP.js.map} +1 -1
  239. package/dist/{table-CTNFdDTL.cjs → table-CyDat8c8.cjs} +2 -2
  240. package/dist/{table-CTNFdDTL.cjs.map → table-CyDat8c8.cjs.map} +1 -1
  241. package/dist/table.cjs +1 -1
  242. package/dist/table.js +1 -1
  243. package/dist/{tabs-compatibility-D3qugr_d.cjs → tabs-compatibility-BuochlXo.cjs} +2 -2
  244. package/dist/{tabs-compatibility-D3qugr_d.cjs.map → tabs-compatibility-BuochlXo.cjs.map} +1 -1
  245. package/dist/{tabs-compatibility-CGHjy5Lf.js → tabs-compatibility-lvrpa0sC.js} +2 -2
  246. package/dist/{tabs-compatibility-CGHjy5Lf.js.map → tabs-compatibility-lvrpa0sC.js.map} +1 -1
  247. package/dist/tabs.cjs +1 -1
  248. package/dist/tabs.js +1 -1
  249. package/dist/tailwind.mixin-2JxfkZ8s.js +43 -0
  250. package/dist/{tailwind.mixin-CNvFaPSF.js.map → tailwind.mixin-2JxfkZ8s.js.map} +1 -1
  251. package/dist/tailwind.mixin-BxmzUuoy.cjs +2 -0
  252. package/dist/{tailwind.mixin-D0G7KFRB.cjs.map → tailwind.mixin-BxmzUuoy.cjs.map} +1 -1
  253. package/dist/teleport.cjs +1 -1
  254. package/dist/teleport.js +1 -1
  255. package/dist/textarea-BwGtA0J3.cjs +44 -0
  256. package/dist/textarea-BwGtA0J3.cjs.map +1 -0
  257. package/dist/textarea-D3TB4zVT.js +128 -0
  258. package/dist/textarea-D3TB4zVT.js.map +1 -0
  259. package/dist/textarea.cjs +1 -1
  260. package/dist/textarea.js +1 -1
  261. package/dist/{theme-button-D6ZfTBGf.js → theme-button-Dy8-BFPF.js} +2 -2
  262. package/dist/{theme-button-D6ZfTBGf.js.map → theme-button-Dy8-BFPF.js.map} +1 -1
  263. package/dist/{theme-button-ClJbgJ4_.cjs → theme-button-UYtArDID.cjs} +2 -2
  264. package/dist/{theme-button-ClJbgJ4_.cjs.map → theme-button-UYtArDID.cjs.map} +1 -1
  265. package/dist/theme-button.cjs +1 -1
  266. package/dist/theme-button.js +1 -1
  267. package/dist/theme.cjs +1 -1
  268. package/dist/{theme.component-DWmzDpCb.cjs → theme.component-CSyghlYl.cjs} +2 -2
  269. package/dist/{theme.component-DWmzDpCb.cjs.map → theme.component-CSyghlYl.cjs.map} +1 -1
  270. package/dist/{theme.component-9ojKjdTY.js → theme.component-MAXMwTCm.js} +2 -2
  271. package/dist/{theme.component-9ojKjdTY.js.map → theme.component-MAXMwTCm.js.map} +1 -1
  272. package/dist/theme.js +1 -1
  273. package/dist/{timezone-BrQpUd2i.js → timezone-Dw9OZuMM.js} +3 -3
  274. package/dist/{timezone-BrQpUd2i.js.map → timezone-Dw9OZuMM.js.map} +1 -1
  275. package/dist/{timezone-DzJMFwsa.cjs → timezone-TZYuQZP6.cjs} +2 -2
  276. package/dist/{timezone-DzJMFwsa.cjs.map → timezone-TZYuQZP6.cjs.map} +1 -1
  277. package/dist/{tooltip-DYCrJMSe.cjs → tooltip-BBE_guBn.cjs} +2 -2
  278. package/dist/{tooltip-DYCrJMSe.cjs.map → tooltip-BBE_guBn.cjs.map} +1 -1
  279. package/dist/{tooltip-C1lD-TxS.js → tooltip-FihkwDY8.js} +2 -2
  280. package/dist/{tooltip-C1lD-TxS.js.map → tooltip-FihkwDY8.js.map} +1 -1
  281. package/dist/tooltip.cjs +1 -1
  282. package/dist/tooltip.js +1 -1
  283. package/dist/{tree-Clf1iEpQ.js → tree-BT_APHcb.js} +2 -2
  284. package/dist/{tree-Clf1iEpQ.js.map → tree-BT_APHcb.js.map} +1 -1
  285. package/dist/{tree-BVketRjn.cjs → tree-CMkehhmo.cjs} +2 -2
  286. package/dist/{tree-BVketRjn.cjs.map → tree-CMkehhmo.cjs.map} +1 -1
  287. package/dist/tree.cjs +1 -1
  288. package/dist/tree.js +1 -1
  289. package/dist/{typewriter-DV5udNnH.cjs → typewriter-DGb13Ag4.cjs} +2 -2
  290. package/dist/{typewriter-DV5udNnH.cjs.map → typewriter-DGb13Ag4.cjs.map} +1 -1
  291. package/dist/{typewriter-BYjunla1.js → typewriter-Dl1yTspy.js} +4 -4
  292. package/dist/{typewriter-BYjunla1.js.map → typewriter-Dl1yTspy.js.map} +1 -1
  293. package/dist/typewriter.cjs +1 -1
  294. package/dist/typewriter.js +1 -1
  295. package/dist/{typography-CcapZ8NQ.cjs → typography-BSpj-MU6.cjs} +2 -2
  296. package/dist/{typography-CcapZ8NQ.cjs.map → typography-BSpj-MU6.cjs.map} +1 -1
  297. package/dist/{typography-DMSO415G.js → typography-CardnZ_o.js} +2 -2
  298. package/dist/{typography-DMSO415G.js.map → typography-CardnZ_o.js.map} +1 -1
  299. package/dist/typography.cjs +1 -1
  300. package/dist/typography.js +1 -1
  301. package/package.json +1 -1
  302. package/types/src/textarea/textarea.d.ts +24 -0
  303. package/dist/tailwind.mixin-CNvFaPSF.js +0 -43
  304. package/dist/tailwind.mixin-D0G7KFRB.cjs +0 -2
  305. package/dist/textarea-Cc0GKhok.cjs +0 -42
  306. package/dist/textarea-Cc0GKhok.cjs.map +0 -1
  307. package/dist/textarea-Chfoh4LA.js +0 -126
  308. package/dist/textarea-Chfoh4LA.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"map-D5W8lw4j.cjs","sources":["../src/map/map.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { ref, createRef } from 'lit/directives/ref.js'\nimport { when } from 'lit/directives/when.js'\nimport { of, EMPTY, Observable } from 'rxjs'\nimport { switchMap, tap, catchError, takeUntil, finalize, shareReplay } from 'rxjs/operators'\n\ninterface GoogleMapsAPI {\n maps: {\n Map: new (element: HTMLElement, options: any) => any\n Marker: new (options: any) => any\n Geocoder: new () => any\n LatLng: new (lat: number, lng: number) => any\n MapTypeId: {\n ROADMAP: string\n SATELLITE: string\n HYBRID: string\n TERRAIN: string\n }\n }\n}\n\ndeclare global {\n interface Window {\n google?: GoogleMapsAPI\n initGoogleMaps?: () => void\n __schmancyGoogleMapsLoading?: Observable<boolean>\n }\n}\n\n// Singleton for managing Google Maps script loading\nclass GoogleMapsLoader {\n private static loading$?: Observable<boolean>\n\n static load(apiKey: string): Observable<boolean> {\n // If already loaded, return success\n if (window.google?.maps) {\n return of(true)\n }\n\n // If already loading, return the existing observable\n if (this.loading$) {\n return this.loading$\n }\n\n // Create a new loading observable\n this.loading$ = new Observable<boolean>(observer => {\n // Check again if loaded while waiting\n if (window.google?.maps) {\n observer.next(true)\n observer.complete()\n return\n }\n\n const script = document.createElement('script')\n // Using places library instead of geometry for geocoding\n script.src = `https://maps.googleapis.com/maps/api/js?key=${apiKey}&libraries=places&callback=initGoogleMaps&v=weekly`\n script.async = true\n script.defer = true\n\n window.initGoogleMaps = () => {\n observer.next(true)\n observer.complete()\n }\n\n script.onerror = (error) => {\n console.error('Google Maps script loading error:', error)\n observer.error(new Error('Failed to load Google Maps. Please check API key configuration and ensure the domain is authorized.'))\n }\n\n document.head.appendChild(script)\n }).pipe(\n shareReplay(1) // Share the result among all subscribers\n )\n\n return this.loading$\n }\n}\n\n/**\n * `<schmancy-map>` component\n *\n * A Google Maps component with an intuitive API for displaying interactive or static maps.\n * Supports both address strings (with automatic geocoding) and precise coordinates.\n *\n * @element schmancy-map\n *\n * @example\n * <!-- Simple address -->\n * <schmancy-map address=\"Times Square, New York\"></schmancy-map>\n *\n * @example\n * <!-- With coordinates -->\n * <schmancy-map latitude=\"40.758\" longitude=\"-73.985\" zoom=\"17\"></schmancy-map>\n *\n * @example\n * <!-- Satellite view -->\n * <schmancy-map address=\"Grand Canyon\" type=\"satellite\" height=\"500px\"></schmancy-map>\n *\n * @example\n * <!-- Static map -->\n * <schmancy-map address=\"Eiffel Tower, Paris\" interactive=\"false\" controls=\"false\"></schmancy-map>\n */\n@customElement('schmancy-map')\nexport default class SchmancyMap extends TailwindElement(css`\n :host {\n display: block;\n position: relative;\n border-radius: 8px;\n overflow: hidden;\n background-color: var(--schmancy-sys-color-surface-container);\n color: var(--schmancy-sys-color-surface-on);\n }\n \n :host([height]) {\n height: var(--map-height);\n }\n \n .map-container {\n width: 100%;\n height: 100%;\n min-height: 400px;\n }\n \n .loading-container {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n min-height: 400px;\n background-color: var(--schmancy-sys-color-surface-containerLow);\n }\n \n .error-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n min-height: 400px;\n padding: 24px;\n text-align: center;\n background-color: var(--schmancy-sys-color-surface-containerLow);\n }\n \n .error-icon {\n width: 48px;\n height: 48px;\n margin-bottom: 16px;\n color: var(--schmancy-sys-color-error-default);\n }\n \n .error-title {\n font-size: 18px;\n font-weight: 600;\n margin-bottom: 8px;\n color: var(--schmancy-sys-color-surface-on);\n }\n \n .error-message {\n font-size: 14px;\n color: var(--schmancy-sys-color-surface-onVariant);\n line-height: 1.5;\n }\n`) {\n /**\n * Simple address string that automatically geocodes to display the location.\n * Takes precedence over latitude/longitude if both are provided.\n */\n @property({ type: String })\n address: string = ''\n\n /**\n * Latitude coordinate for precise location.\n * Used when address is not provided.\n */\n @property({ type: Number })\n latitude?: number\n\n /**\n * Longitude coordinate for precise location.\n * Used when address is not provided.\n */\n @property({ type: Number })\n longitude?: number\n\n /**\n * Map zoom level. Higher numbers show more detail.\n * @default 15\n */\n @property({ type: Number })\n zoom: number = 15\n\n /**\n * Height of the map with CSS unit (e.g., \"400px\", \"50vh\").\n * @default \"400px\"\n */\n @property({ type: String, reflect: true })\n height: string = '400px'\n\n /**\n * Whether to show a marker at the location.\n * @default true\n */\n @property({ type: Boolean })\n marker: boolean = true\n\n /**\n * Tooltip text for the location marker.\n */\n @property({ type: String })\n markerTitle: string = ''\n\n /**\n * Map display type.\n * Options: \"roadmap\", \"satellite\", \"hybrid\", \"terrain\"\n * @default \"roadmap\"\n */\n @property({ type: String })\n type: 'roadmap' | 'satellite' | 'hybrid' | 'terrain' = 'roadmap'\n\n /**\n * Whether users can interact with the map (pan, zoom, click).\n * @default true\n */\n @property({ type: Boolean })\n interactive: boolean = true\n\n /**\n * Whether to show map controls (zoom buttons, fullscreen, etc.).\n * @default true\n */\n @property({ type: Boolean })\n controls: boolean = true\n\n /**\n * Google Maps API key. Required for the map to load.\n */\n @property({ type: String })\n apiKey: string = ''\n\n @state() private loading: boolean = false\n @state() private error: string = ''\n\n private mapRef = createRef<HTMLDivElement>()\n private map?: any\n private mapMarker?: any\n private geocoder?: any\n private intersectionObserver?: IntersectionObserver\n private hasLoadedMap = false\n\n connectedCallback() {\n super.connectedCallback()\n \n // Set CSS custom property for height\n this.style.setProperty('--map-height', this.height)\n \n // Only load map when component becomes visible\n this.setupIntersectionObserver()\n }\n\n disconnectedCallback() {\n super.disconnectedCallback()\n if (this.intersectionObserver) {\n this.intersectionObserver.disconnect()\n }\n }\n\n private setupIntersectionObserver() {\n // Load map only when it's visible in the viewport\n this.intersectionObserver = new IntersectionObserver(\n (entries) => {\n entries.forEach(entry => {\n if (entry.isIntersecting && !this.hasLoadedMap) {\n this.hasLoadedMap = true\n this.loadMap()\n // Stop observing after loading\n this.intersectionObserver?.disconnect()\n }\n })\n },\n {\n root: null,\n rootMargin: '50px',\n threshold: 0.01\n }\n )\n \n this.intersectionObserver.observe(this)\n }\n\n private loadMap() {\n of(null).pipe(\n tap(() => {\n this.loading = true\n this.error = ''\n }),\n switchMap(() => {\n if (!this.apiKey) {\n throw new Error('Google Maps API key is required. Please provide it via the apiKey property.')\n }\n return GoogleMapsLoader.load(this.apiKey)\n }),\n switchMap(() => this.getCoordinates()),\n tap((coordinates) => {\n // Store coordinates for later use\n this.pendingCoordinates = coordinates\n }),\n catchError((error) => {\n console.error('Map loading error:', error)\n this.error = error.message || 'Failed to load map'\n return EMPTY\n }),\n finalize(() => {\n this.loading = false\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n }\n\n private pendingCoordinates?: { lat: number; lng: number }\n\n private getCoordinates() {\n if (this.address) {\n return this.geocodeAddress(this.address)\n }\n\n if (this.latitude !== undefined && this.longitude !== undefined) {\n return of({ lat: this.latitude, lng: this.longitude })\n }\n\n throw new Error('Either address or latitude/longitude coordinates are required')\n }\n\n private geocodeAddress(address: string) {\n if (!this.geocoder) {\n this.geocoder = new window.google!.maps.Geocoder()\n }\n\n return new Promise<{ lat: number; lng: number }>((resolve, reject) => {\n this.geocoder.geocode({ address }, (results: any[], status: string) => {\n if (status === 'OK' && results[0]) {\n const location = results[0].geometry.location\n resolve({\n lat: location.lat(),\n lng: location.lng()\n })\n } else {\n reject(new Error(`Geocoding failed: ${status}`))\n }\n })\n })\n }\n\n private initializeMap(coordinates: { lat: number; lng: number }) {\n if (!this.mapRef.value || !window.google?.maps) {\n return\n }\n\n const mapOptions = {\n center: coordinates,\n zoom: this.zoom,\n mapTypeId: this.getMapTypeId(),\n disableDefaultUI: !this.controls,\n gestureHandling: this.interactive ? 'cooperative' : 'none',\n zoomControl: this.controls,\n mapTypeControl: this.controls,\n scaleControl: this.controls,\n streetViewControl: this.controls,\n rotateControl: this.controls,\n fullscreenControl: this.controls,\n styles: this.interactive ? undefined : [\n {\n featureType: 'poi',\n stylers: [{ visibility: 'off' }]\n }\n ]\n }\n\n this.map = new window.google.maps.Map(this.mapRef.value, mapOptions)\n\n if (this.marker) {\n this.addMarker(coordinates)\n }\n }\n\n private getMapTypeId(): string {\n const typeMap = {\n roadmap: window.google!.maps.MapTypeId.ROADMAP,\n satellite: window.google!.maps.MapTypeId.SATELLITE,\n hybrid: window.google!.maps.MapTypeId.HYBRID,\n terrain: window.google!.maps.MapTypeId.TERRAIN\n }\n return typeMap[this.type] || typeMap.roadmap\n }\n\n private addMarker(coordinates: { lat: number; lng: number }) {\n if (!window.google?.maps || !this.map) {\n return\n }\n\n this.mapMarker = new window.google.maps.Marker({\n position: coordinates,\n map: this.map,\n title: this.markerTitle || this.address || 'Location'\n })\n }\n\n protected updated(changedProperties: Map<string, any>) {\n super.updated(changedProperties)\n\n if (changedProperties.has('height')) {\n this.style.setProperty('--map-height', this.height)\n }\n\n // Initialize map when loading completes and container is ready\n if (changedProperties.has('loading') && !this.loading && this.pendingCoordinates && !this.map) {\n // Wait for next frame to ensure map container is rendered\n requestAnimationFrame(() => {\n if (this.mapRef.value && this.pendingCoordinates) {\n this.initializeMap(this.pendingCoordinates)\n this.pendingCoordinates = undefined\n }\n })\n }\n\n // Reload map if critical properties change (only if map was already loaded)\n if (\n changedProperties.has('address') ||\n changedProperties.has('latitude') ||\n changedProperties.has('longitude') ||\n changedProperties.has('type') ||\n changedProperties.has('zoom')\n ) {\n if (this.map && this.hasLoadedMap) {\n this.loadMap()\n }\n }\n\n // Update marker title if it changes\n if (changedProperties.has('markerTitle') && this.mapMarker) {\n this.mapMarker.setTitle(this.markerTitle || this.address || 'Location')\n }\n }\n\n protected render() {\n return html`\n ${when(\n this.loading,\n () => html`\n <div class=\"loading-container\">\n <schmancy-spinner size=\"32px\"></schmancy-spinner>\n </div>\n `,\n () => when(\n this.error,\n () => html`\n <div class=\"error-container\">\n <svg class=\"error-icon\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" \n d=\"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L4.082 16.5c-.77.833.192 2.5 1.732 2.5z\" />\n </svg>\n <div class=\"error-title\">Map could not be loaded</div>\n <div class=\"error-message\">${this.error}</div>\n </div>\n `,\n () => html`\n <div class=\"map-container\" ${ref(this.mapRef)}></div>\n `\n )\n )}\n `\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'schmancy-map': SchmancyMap\n }\n}"],"names":["GoogleMapsLoader","apiKey","window","google","maps","of","this","loading$","Observable","observer","next","complete","script","document","createElement","src","async","defer","initGoogleMaps","onerror","error","Error","head","appendChild","pipe","shareReplay","SchmancyMap","TailwindElement","css","constructor","super","arguments","address","zoom","height","marker","markerTitle","type","interactive","controls","loading","mapRef","createRef","hasLoadedMap","connectedCallback","style","setProperty","setupIntersectionObserver","disconnectedCallback","intersectionObserver","disconnect","IntersectionObserver","entries","forEach","entry","isIntersecting","loadMap","root","rootMargin","threshold","observe","tap","switchMap","load","getCoordinates","coordinates","pendingCoordinates","catchError","message","EMPTY","finalize","takeUntil","disconnecting","subscribe","geocodeAddress","latitude","longitude","lat","lng","geocoder","Geocoder","Promise","resolve","reject","geocode","results","status","location","geometry","value","mapOptions","center","mapTypeId","getMapTypeId","disableDefaultUI","gestureHandling","zoomControl","mapTypeControl","scaleControl","streetViewControl","rotateControl","fullscreenControl","styles","featureType","stylers","visibility","map","Map","addMarker","typeMap","roadmap","MapTypeId","ROADMAP","satellite","SATELLITE","hybrid","HYBRID","terrain","TERRAIN","mapMarker","Marker","position","title","changedProperties","updated","has","requestAnimationFrame","initializeMap","setTitle","render","html","when","ref","__decorateClass","property","String","prototype","Number","reflect","Boolean","state","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"map-CZEpXVR1.cjs","sources":["../src/map/map.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { ref, createRef } from 'lit/directives/ref.js'\nimport { when } from 'lit/directives/when.js'\nimport { of, EMPTY, Observable } from 'rxjs'\nimport { switchMap, tap, catchError, takeUntil, finalize, shareReplay } from 'rxjs/operators'\n\ninterface GoogleMapsAPI {\n maps: {\n Map: new (element: HTMLElement, options: any) => any\n Marker: new (options: any) => any\n Geocoder: new () => any\n LatLng: new (lat: number, lng: number) => any\n MapTypeId: {\n ROADMAP: string\n SATELLITE: string\n HYBRID: string\n TERRAIN: string\n }\n }\n}\n\ndeclare global {\n interface Window {\n google?: GoogleMapsAPI\n initGoogleMaps?: () => void\n __schmancyGoogleMapsLoading?: Observable<boolean>\n }\n}\n\n// Singleton for managing Google Maps script loading\nclass GoogleMapsLoader {\n private static loading$?: Observable<boolean>\n\n static load(apiKey: string): Observable<boolean> {\n // If already loaded, return success\n if (window.google?.maps) {\n return of(true)\n }\n\n // If already loading, return the existing observable\n if (this.loading$) {\n return this.loading$\n }\n\n // Create a new loading observable\n this.loading$ = new Observable<boolean>(observer => {\n // Check again if loaded while waiting\n if (window.google?.maps) {\n observer.next(true)\n observer.complete()\n return\n }\n\n const script = document.createElement('script')\n // Using places library instead of geometry for geocoding\n script.src = `https://maps.googleapis.com/maps/api/js?key=${apiKey}&libraries=places&callback=initGoogleMaps&v=weekly`\n script.async = true\n script.defer = true\n\n window.initGoogleMaps = () => {\n observer.next(true)\n observer.complete()\n }\n\n script.onerror = (error) => {\n console.error('Google Maps script loading error:', error)\n observer.error(new Error('Failed to load Google Maps. Please check API key configuration and ensure the domain is authorized.'))\n }\n\n document.head.appendChild(script)\n }).pipe(\n shareReplay(1) // Share the result among all subscribers\n )\n\n return this.loading$\n }\n}\n\n/**\n * `<schmancy-map>` component\n *\n * A Google Maps component with an intuitive API for displaying interactive or static maps.\n * Supports both address strings (with automatic geocoding) and precise coordinates.\n *\n * @element schmancy-map\n *\n * @example\n * <!-- Simple address -->\n * <schmancy-map address=\"Times Square, New York\"></schmancy-map>\n *\n * @example\n * <!-- With coordinates -->\n * <schmancy-map latitude=\"40.758\" longitude=\"-73.985\" zoom=\"17\"></schmancy-map>\n *\n * @example\n * <!-- Satellite view -->\n * <schmancy-map address=\"Grand Canyon\" type=\"satellite\" height=\"500px\"></schmancy-map>\n *\n * @example\n * <!-- Static map -->\n * <schmancy-map address=\"Eiffel Tower, Paris\" interactive=\"false\" controls=\"false\"></schmancy-map>\n */\n@customElement('schmancy-map')\nexport default class SchmancyMap extends TailwindElement(css`\n :host {\n display: block;\n position: relative;\n border-radius: 8px;\n overflow: hidden;\n background-color: var(--schmancy-sys-color-surface-container);\n color: var(--schmancy-sys-color-surface-on);\n }\n \n :host([height]) {\n height: var(--map-height);\n }\n \n .map-container {\n width: 100%;\n height: 100%;\n min-height: 400px;\n }\n \n .loading-container {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n min-height: 400px;\n background-color: var(--schmancy-sys-color-surface-containerLow);\n }\n \n .error-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n min-height: 400px;\n padding: 24px;\n text-align: center;\n background-color: var(--schmancy-sys-color-surface-containerLow);\n }\n \n .error-icon {\n width: 48px;\n height: 48px;\n margin-bottom: 16px;\n color: var(--schmancy-sys-color-error-default);\n }\n \n .error-title {\n font-size: 18px;\n font-weight: 600;\n margin-bottom: 8px;\n color: var(--schmancy-sys-color-surface-on);\n }\n \n .error-message {\n font-size: 14px;\n color: var(--schmancy-sys-color-surface-onVariant);\n line-height: 1.5;\n }\n`) {\n /**\n * Simple address string that automatically geocodes to display the location.\n * Takes precedence over latitude/longitude if both are provided.\n */\n @property({ type: String })\n address: string = ''\n\n /**\n * Latitude coordinate for precise location.\n * Used when address is not provided.\n */\n @property({ type: Number })\n latitude?: number\n\n /**\n * Longitude coordinate for precise location.\n * Used when address is not provided.\n */\n @property({ type: Number })\n longitude?: number\n\n /**\n * Map zoom level. Higher numbers show more detail.\n * @default 15\n */\n @property({ type: Number })\n zoom: number = 15\n\n /**\n * Height of the map with CSS unit (e.g., \"400px\", \"50vh\").\n * @default \"400px\"\n */\n @property({ type: String, reflect: true })\n height: string = '400px'\n\n /**\n * Whether to show a marker at the location.\n * @default true\n */\n @property({ type: Boolean })\n marker: boolean = true\n\n /**\n * Tooltip text for the location marker.\n */\n @property({ type: String })\n markerTitle: string = ''\n\n /**\n * Map display type.\n * Options: \"roadmap\", \"satellite\", \"hybrid\", \"terrain\"\n * @default \"roadmap\"\n */\n @property({ type: String })\n type: 'roadmap' | 'satellite' | 'hybrid' | 'terrain' = 'roadmap'\n\n /**\n * Whether users can interact with the map (pan, zoom, click).\n * @default true\n */\n @property({ type: Boolean })\n interactive: boolean = true\n\n /**\n * Whether to show map controls (zoom buttons, fullscreen, etc.).\n * @default true\n */\n @property({ type: Boolean })\n controls: boolean = true\n\n /**\n * Google Maps API key. Required for the map to load.\n */\n @property({ type: String })\n apiKey: string = ''\n\n @state() private loading: boolean = false\n @state() private error: string = ''\n\n private mapRef = createRef<HTMLDivElement>()\n private map?: any\n private mapMarker?: any\n private geocoder?: any\n private intersectionObserver?: IntersectionObserver\n private hasLoadedMap = false\n\n connectedCallback() {\n super.connectedCallback()\n \n // Set CSS custom property for height\n this.style.setProperty('--map-height', this.height)\n \n // Only load map when component becomes visible\n this.setupIntersectionObserver()\n }\n\n disconnectedCallback() {\n super.disconnectedCallback()\n if (this.intersectionObserver) {\n this.intersectionObserver.disconnect()\n }\n }\n\n private setupIntersectionObserver() {\n // Load map only when it's visible in the viewport\n this.intersectionObserver = new IntersectionObserver(\n (entries) => {\n entries.forEach(entry => {\n if (entry.isIntersecting && !this.hasLoadedMap) {\n this.hasLoadedMap = true\n this.loadMap()\n // Stop observing after loading\n this.intersectionObserver?.disconnect()\n }\n })\n },\n {\n root: null,\n rootMargin: '50px',\n threshold: 0.01\n }\n )\n \n this.intersectionObserver.observe(this)\n }\n\n private loadMap() {\n of(null).pipe(\n tap(() => {\n this.loading = true\n this.error = ''\n }),\n switchMap(() => {\n if (!this.apiKey) {\n throw new Error('Google Maps API key is required. Please provide it via the apiKey property.')\n }\n return GoogleMapsLoader.load(this.apiKey)\n }),\n switchMap(() => this.getCoordinates()),\n tap((coordinates) => {\n // Store coordinates for later use\n this.pendingCoordinates = coordinates\n }),\n catchError((error) => {\n console.error('Map loading error:', error)\n this.error = error.message || 'Failed to load map'\n return EMPTY\n }),\n finalize(() => {\n this.loading = false\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n }\n\n private pendingCoordinates?: { lat: number; lng: number }\n\n private getCoordinates() {\n if (this.address) {\n return this.geocodeAddress(this.address)\n }\n\n if (this.latitude !== undefined && this.longitude !== undefined) {\n return of({ lat: this.latitude, lng: this.longitude })\n }\n\n throw new Error('Either address or latitude/longitude coordinates are required')\n }\n\n private geocodeAddress(address: string) {\n if (!this.geocoder) {\n this.geocoder = new window.google!.maps.Geocoder()\n }\n\n return new Promise<{ lat: number; lng: number }>((resolve, reject) => {\n this.geocoder.geocode({ address }, (results: any[], status: string) => {\n if (status === 'OK' && results[0]) {\n const location = results[0].geometry.location\n resolve({\n lat: location.lat(),\n lng: location.lng()\n })\n } else {\n reject(new Error(`Geocoding failed: ${status}`))\n }\n })\n })\n }\n\n private initializeMap(coordinates: { lat: number; lng: number }) {\n if (!this.mapRef.value || !window.google?.maps) {\n return\n }\n\n const mapOptions = {\n center: coordinates,\n zoom: this.zoom,\n mapTypeId: this.getMapTypeId(),\n disableDefaultUI: !this.controls,\n gestureHandling: this.interactive ? 'cooperative' : 'none',\n zoomControl: this.controls,\n mapTypeControl: this.controls,\n scaleControl: this.controls,\n streetViewControl: this.controls,\n rotateControl: this.controls,\n fullscreenControl: this.controls,\n styles: this.interactive ? undefined : [\n {\n featureType: 'poi',\n stylers: [{ visibility: 'off' }]\n }\n ]\n }\n\n this.map = new window.google.maps.Map(this.mapRef.value, mapOptions)\n\n if (this.marker) {\n this.addMarker(coordinates)\n }\n }\n\n private getMapTypeId(): string {\n const typeMap = {\n roadmap: window.google!.maps.MapTypeId.ROADMAP,\n satellite: window.google!.maps.MapTypeId.SATELLITE,\n hybrid: window.google!.maps.MapTypeId.HYBRID,\n terrain: window.google!.maps.MapTypeId.TERRAIN\n }\n return typeMap[this.type] || typeMap.roadmap\n }\n\n private addMarker(coordinates: { lat: number; lng: number }) {\n if (!window.google?.maps || !this.map) {\n return\n }\n\n this.mapMarker = new window.google.maps.Marker({\n position: coordinates,\n map: this.map,\n title: this.markerTitle || this.address || 'Location'\n })\n }\n\n protected updated(changedProperties: Map<string, any>) {\n super.updated(changedProperties)\n\n if (changedProperties.has('height')) {\n this.style.setProperty('--map-height', this.height)\n }\n\n // Initialize map when loading completes and container is ready\n if (changedProperties.has('loading') && !this.loading && this.pendingCoordinates && !this.map) {\n // Wait for next frame to ensure map container is rendered\n requestAnimationFrame(() => {\n if (this.mapRef.value && this.pendingCoordinates) {\n this.initializeMap(this.pendingCoordinates)\n this.pendingCoordinates = undefined\n }\n })\n }\n\n // Reload map if critical properties change (only if map was already loaded)\n if (\n changedProperties.has('address') ||\n changedProperties.has('latitude') ||\n changedProperties.has('longitude') ||\n changedProperties.has('type') ||\n changedProperties.has('zoom')\n ) {\n if (this.map && this.hasLoadedMap) {\n this.loadMap()\n }\n }\n\n // Update marker title if it changes\n if (changedProperties.has('markerTitle') && this.mapMarker) {\n this.mapMarker.setTitle(this.markerTitle || this.address || 'Location')\n }\n }\n\n protected render() {\n return html`\n ${when(\n this.loading,\n () => html`\n <div class=\"loading-container\">\n <schmancy-spinner size=\"32px\"></schmancy-spinner>\n </div>\n `,\n () => when(\n this.error,\n () => html`\n <div class=\"error-container\">\n <svg class=\"error-icon\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" \n d=\"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L4.082 16.5c-.77.833.192 2.5 1.732 2.5z\" />\n </svg>\n <div class=\"error-title\">Map could not be loaded</div>\n <div class=\"error-message\">${this.error}</div>\n </div>\n `,\n () => html`\n <div class=\"map-container\" ${ref(this.mapRef)}></div>\n `\n )\n )}\n `\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'schmancy-map': SchmancyMap\n }\n}"],"names":["GoogleMapsLoader","apiKey","window","google","maps","of","this","loading$","Observable","observer","next","complete","script","document","createElement","src","async","defer","initGoogleMaps","onerror","error","Error","head","appendChild","pipe","shareReplay","SchmancyMap","TailwindElement","css","constructor","super","arguments","address","zoom","height","marker","markerTitle","type","interactive","controls","loading","mapRef","createRef","hasLoadedMap","connectedCallback","style","setProperty","setupIntersectionObserver","disconnectedCallback","intersectionObserver","disconnect","IntersectionObserver","entries","forEach","entry","isIntersecting","loadMap","root","rootMargin","threshold","observe","tap","switchMap","load","getCoordinates","coordinates","pendingCoordinates","catchError","message","EMPTY","finalize","takeUntil","disconnecting","subscribe","geocodeAddress","latitude","longitude","lat","lng","geocoder","Geocoder","Promise","resolve","reject","geocode","results","status","location","geometry","value","mapOptions","center","mapTypeId","getMapTypeId","disableDefaultUI","gestureHandling","zoomControl","mapTypeControl","scaleControl","streetViewControl","rotateControl","fullscreenControl","styles","featureType","stylers","visibility","map","Map","addMarker","typeMap","roadmap","MapTypeId","ROADMAP","satellite","SATELLITE","hybrid","HYBRID","terrain","TERRAIN","mapMarker","Marker","position","title","changedProperties","updated","has","requestAnimationFrame","initializeMap","setTitle","render","html","when","ref","__decorateClass","property","String","prototype","Number","reflect","Boolean","state","customElement"],"mappings":"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"}
package/dist/map.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./map-D5W8lw4j.cjs");Object.defineProperty(exports,"SchmancyMap",{enumerable:!0,get:()=>e.SchmancyMap});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./map-CZEpXVR1.cjs");Object.defineProperty(exports,"SchmancyMap",{enumerable:!0,get:()=>e.SchmancyMap});
2
2
  //# sourceMappingURL=map.cjs.map
package/dist/map.js CHANGED
@@ -1,4 +1,4 @@
1
- import { S as m } from "./map-Di5T335A.js";
1
+ import { S as m } from "./map-1mMvYo0I.js";
2
2
  export {
3
3
  m as SchmancyMap
4
4
  };
@@ -1,7 +1,7 @@
1
1
  import "rxjs";
2
2
  import "lit/directives/class-map.js";
3
3
  import "lit/directives/style-map.js";
4
- import { T as y } from "./tailwind.mixin-CNvFaPSF.js";
4
+ import { T as y } from "./tailwind.mixin-2JxfkZ8s.js";
5
5
  import { customElement as v, property as c } from "lit/decorators.js";
6
6
  import { css as m, html as l } from "lit";
7
7
  var b = Object.getOwnPropertyDescriptor;
@@ -148,4 +148,4 @@ let a = class extends y(m`
148
148
  }
149
149
  };
150
150
  d([c({ type: String, reflect: !0 })], a.prototype, "src", 2), d([c({ type: String, reflect: !0 })], a.prototype, "fit", 2), d([c({ type: String })], a.prototype, "alt", 2), a = d([v("schmancy-card-media")], a);
151
- //# sourceMappingURL=media-D08V7Wsh.js.map
151
+ //# sourceMappingURL=media-CGPGcf2N.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"media-D08V7Wsh.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 } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-card')\nexport default class SchmancyCard extends TailwindElement(css`:host{\n\tdisplay: block;\n\tposition: relative;\n\tinset: 0;\n\tborder-radius: 0.375rem; /* rounded-md */\n}\n:host([type=\"elevated\"]) {\n\tbackground-color: var(--schmancy-sys-color-surface-low);\n\tbox-shadow: var(--schmancy-sys-elevation-1);\n}\n:host([type=\"elevated\"]:hover) {\n\tbox-shadow: var(--schmancy-sys-elevation-2);\n}\n:host([type=\"filled\"]) {\n\tbackground-color: var(--schmancy-sys-color-surface-highest);\n}\n:host([type=\"filled\"]:hover) {\n\tbox-shadow: var(--schmancy-sys-elevation-1);\n}\n:host([type=\"outlined\"]) {\n\tbackground-color: var(--schmancy-sys-color-surface-default);\n\tborder: 1px solid var(--schmancy-sys-color-outlineVariant);\n}\n:host([type=\"outlined\"]:hover) {\n\tbox-shadow: var(--schmancy-sys-elevation-1);\n}\n:host([elevation=\"1\"]) {\n\tbox-shadow: var(--schmancy-sys-elevation-1);\n}\n:host([elevation=\"2\"]) {\n\tbox-shadow: var(--schmancy-sys-elevation-2);\n}\n:host([elevation=\"3\"]) {\n\tbox-shadow: var(--schmancy-sys-elevation-3);\n}\n:host([elevation=\"4\"]) {\n\tbox-shadow: var(--schmancy-sys-elevation-4);\n}\n:host([elevation=\"5\"]) {\n\tbox-shadow: var(--schmancy-sys-elevation-5);\n}`) {\n\t@property() type: 'elevated' | 'filled' | 'outlined' = 'elevated'\n\t@property({ type: Number }) elevation: 0 | 1 | 2 | 3 | 4 | 5 = 0\n\tprotected render(): unknown {\n\t\treturn html`<slot></slot>`\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","constructor","super","arguments","this","type","elevation","__decorateClass","property","prototype","Number","SchmancyCardContent","SchmancyCardMedia","src","fit","alt","String","reflect"],"mappings":";;;;;;;AASA,IAAqBA,IAArB,cAAgDC,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;EASrD,SAAAC;AACT,WAAOC;AAAAA,EACR;;AAXoBJ;;;GAArB,CADCK,EAAc,sBAAA,CAAA,GACML;;;;;ACJrB,IAAqBM,IAArB,cAA0CL,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;EAA1D,cAAAK;AAAAC,aAAAC,SAAAA,GAyCaC,KAAAC,OAA2C,YAC3BD,KAAAE,YAAmC;AAAA,EAAA;AAAA,EACrD,SAAAT;AACT,WAAOC;AAAAA,EACR;AAAA;AAJYS,EAAA,CAAXC,EAAAA,CAAAA,GAzCmBR,EAyCRS,WAAA,QAAA,CAAA,GACgBF,EAAA,CAA3BC,EAAS,EAAEH,MAAMK,OAAAA,CAAAA,CAAAA,GA1CEV,EA0CQS,WAAA,aAAA,CAAA,GA1CRT,IAArBO,EAAA,CADCR,EAAc,eAAA,CAAA,GACMC,CAAAA;;ACGrB,IAAqBW,IAArB,cAAiDhB,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;EAMtD,SAAAC;AACT,WAAOC;AAAAA,EACR;;AARoBa;;;GAArB,CADCZ,EAAc,uBAAA,CAAA,GACMY;;;;;ACArB,IAAqBC,IAArB,cAA+CjB,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,CAA/D,EAAA;AAAA,EAAA,cAAAK;AAAAC,UAAAA,GAAAC,SAAAA,GA+CCC,KAAAS,MAAc,IAGdT,KAAAU,MAA4D,WAG5DV,KAAAW,MAAc;AAAA,EAAA;AAAA,EAEJ,SAAAlB;AAGT,WAAOO,KAAKS,MACTf,cAAiBM,KAAKS,GAAAA,UAAaT,KAAKW,GAAAA,SACxCjB;AAAAA,EACJ;AAAA;AAdAS,EAAA,CADCC,EAAS,EAAEH,MAAMW,QAAQC,SAAAA,GAAS,CAAA,CAAA,GA9CfL,EA+CpBH,WAAA,OAAA,CAAA,GAGAF,EAAA,CADCC,EAAS,EAAEH,MAAMW,QAAQC,SAAAA,QAjDNL,EAkDpBH,WAAA,OAAA,CAAA,GAGAF,EAAA,CADCC,EAAS,EAAEH,MAAMW,OAAAA,CAAAA,CAAAA,GApDEJ,EAqDpBH,WAAA,OAAA,CAAA,GArDoBG,IAArBL,EAAA,CADCR,EAAc,qBAAA,CAAA,GACMa,CAAAA;"}
1
+ {"version":3,"file":"media-CGPGcf2N.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 } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-card')\nexport default class SchmancyCard extends TailwindElement(css`:host{\n\tdisplay: block;\n\tposition: relative;\n\tinset: 0;\n\tborder-radius: 0.375rem; /* rounded-md */\n}\n:host([type=\"elevated\"]) {\n\tbackground-color: var(--schmancy-sys-color-surface-low);\n\tbox-shadow: var(--schmancy-sys-elevation-1);\n}\n:host([type=\"elevated\"]:hover) {\n\tbox-shadow: var(--schmancy-sys-elevation-2);\n}\n:host([type=\"filled\"]) {\n\tbackground-color: var(--schmancy-sys-color-surface-highest);\n}\n:host([type=\"filled\"]:hover) {\n\tbox-shadow: var(--schmancy-sys-elevation-1);\n}\n:host([type=\"outlined\"]) {\n\tbackground-color: var(--schmancy-sys-color-surface-default);\n\tborder: 1px solid var(--schmancy-sys-color-outlineVariant);\n}\n:host([type=\"outlined\"]:hover) {\n\tbox-shadow: var(--schmancy-sys-elevation-1);\n}\n:host([elevation=\"1\"]) {\n\tbox-shadow: var(--schmancy-sys-elevation-1);\n}\n:host([elevation=\"2\"]) {\n\tbox-shadow: var(--schmancy-sys-elevation-2);\n}\n:host([elevation=\"3\"]) {\n\tbox-shadow: var(--schmancy-sys-elevation-3);\n}\n:host([elevation=\"4\"]) {\n\tbox-shadow: var(--schmancy-sys-elevation-4);\n}\n:host([elevation=\"5\"]) {\n\tbox-shadow: var(--schmancy-sys-elevation-5);\n}`) {\n\t@property() type: 'elevated' | 'filled' | 'outlined' = 'elevated'\n\t@property({ type: Number }) elevation: 0 | 1 | 2 | 3 | 4 | 5 = 0\n\tprotected render(): unknown {\n\t\treturn html`<slot></slot>`\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","constructor","super","arguments","this","type","elevation","__decorateClass","property","prototype","Number","SchmancyCardContent","SchmancyCardMedia","src","fit","alt","String","reflect"],"mappings":";;;;;;;AASA,IAAqBA,IAArB,cAAgDC,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;EASrD,SAAAC;AACT,WAAOC;AAAAA,EACR;;AAXoBJ;;;GAArB,CADCK,EAAc,sBAAA,CAAA,GACML;;;;;ACJrB,IAAqBM,IAArB,cAA0CL,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;EAA1D,cAAAK;AAAAC,aAAAC,SAAAA,GAyCaC,KAAAC,OAA2C,YAC3BD,KAAAE,YAAmC;AAAA,EAAA;AAAA,EACrD,SAAAT;AACT,WAAOC;AAAAA,EACR;AAAA;AAJYS,EAAA,CAAXC,EAAAA,CAAAA,GAzCmBR,EAyCRS,WAAA,QAAA,CAAA,GACgBF,EAAA,CAA3BC,EAAS,EAAEH,MAAMK,OAAAA,CAAAA,CAAAA,GA1CEV,EA0CQS,WAAA,aAAA,CAAA,GA1CRT,IAArBO,EAAA,CADCR,EAAc,eAAA,CAAA,GACMC,CAAAA;;ACGrB,IAAqBW,IAArB,cAAiDhB,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;EAMtD,SAAAC;AACT,WAAOC;AAAAA,EACR;;AARoBa;;;GAArB,CADCZ,EAAc,uBAAA,CAAA,GACMY;;;;;ACArB,IAAqBC,IAArB,cAA+CjB,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,CAA/D,EAAA;AAAA,EAAA,cAAAK;AAAAC,UAAAA,GAAAC,SAAAA,GA+CCC,KAAAS,MAAc,IAGdT,KAAAU,MAA4D,WAG5DV,KAAAW,MAAc;AAAA,EAAA;AAAA,EAEJ,SAAAlB;AAGT,WAAOO,KAAKS,MACTf,cAAiBM,KAAKS,GAAAA,UAAaT,KAAKW,GAAAA,SACxCjB;AAAAA,EACJ;AAAA;AAdAS,EAAA,CADCC,EAAS,EAAEH,MAAMW,QAAQC,SAAAA,GAAS,CAAA,CAAA,GA9CfL,EA+CpBH,WAAA,OAAA,CAAA,GAGAF,EAAA,CADCC,EAAS,EAAEH,MAAMW,QAAQC,SAAAA,QAjDNL,EAkDpBH,WAAA,OAAA,CAAA,GAGAF,EAAA,CADCC,EAAS,EAAEH,MAAMW,OAAAA,CAAAA,CAAAA,GApDEJ,EAqDpBH,WAAA,OAAA,CAAA,GArDoBG,IAArBL,EAAA,CADCR,EAAc,qBAAA,CAAA,GACMa,CAAAA;"}
@@ -1,4 +1,4 @@
1
- "use strict";require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const y=require("./tailwind.mixin-D0G7KFRB.cjs"),l=require("lit/decorators.js"),a=require("lit");var u=Object.getOwnPropertyDescriptor;let p=class extends y.TailwindElement(a.css`
1
+ "use strict";require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const y=require("./tailwind.mixin-BxmzUuoy.cjs"),l=require("lit/decorators.js"),a=require("lit");var u=Object.getOwnPropertyDescriptor;let p=class extends y.TailwindElement(a.css`
2
2
  :host {
3
3
  display: flex;
4
4
  gap: 0.5rem;
@@ -97,4 +97,4 @@
97
97
  object-fit: scale-down;
98
98
  }
99
99
  `){constructor(){super(...arguments),this.src="",this.fit="contain",this.alt=""}render(){return this.src?a.html`<img src="${this.src}" alt="${this.alt}" />`:a.html`<slot></slot>`}};d([l.property({type:String,reflect:!0})],c.prototype,"src",2),d([l.property({type:String,reflect:!0})],c.prototype,"fit",2),d([l.property({type:String})],c.prototype,"alt",2),c=d([l.customElement("schmancy-card-media")],c);
100
- //# sourceMappingURL=media-Bxo0zMB_.cjs.map
100
+ //# sourceMappingURL=media-Dq-o2otE.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"media-Bxo0zMB_.cjs","sources":["../src/card/actions.ts","../src/card/card.ts","../src/card/content.ts","../src/card/media.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n/**\n * @element schmancy-card-action\n * @slot - The content of the action\n */\n@customElement('schmancy-card-action')\nexport default class SchmancyCardAction extends TailwindElement(css`\n\t:host {\n\t\tdisplay: flex;\n\t\tgap: 0.5rem;\n\t\tpadding: 0.5rem 1rem;\n\t\talign-items: center;\n\t\tjustify-content: flex-end;\n\t}\n`) {\n\tprotected render(): unknown {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-action': SchmancyCardAction\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-card')\nexport default class SchmancyCard extends TailwindElement(css`:host{\n\tdisplay: block;\n\tposition: relative;\n\tinset: 0;\n\tborder-radius: 0.375rem; /* rounded-md */\n}\n:host([type=\"elevated\"]) {\n\tbackground-color: var(--schmancy-sys-color-surface-low);\n\tbox-shadow: var(--schmancy-sys-elevation-1);\n}\n:host([type=\"elevated\"]:hover) {\n\tbox-shadow: var(--schmancy-sys-elevation-2);\n}\n:host([type=\"filled\"]) {\n\tbackground-color: var(--schmancy-sys-color-surface-highest);\n}\n:host([type=\"filled\"]:hover) {\n\tbox-shadow: var(--schmancy-sys-elevation-1);\n}\n:host([type=\"outlined\"]) {\n\tbackground-color: var(--schmancy-sys-color-surface-default);\n\tborder: 1px solid var(--schmancy-sys-color-outlineVariant);\n}\n:host([type=\"outlined\"]:hover) {\n\tbox-shadow: var(--schmancy-sys-elevation-1);\n}\n:host([elevation=\"1\"]) {\n\tbox-shadow: var(--schmancy-sys-elevation-1);\n}\n:host([elevation=\"2\"]) {\n\tbox-shadow: var(--schmancy-sys-elevation-2);\n}\n:host([elevation=\"3\"]) {\n\tbox-shadow: var(--schmancy-sys-elevation-3);\n}\n:host([elevation=\"4\"]) {\n\tbox-shadow: var(--schmancy-sys-elevation-4);\n}\n:host([elevation=\"5\"]) {\n\tbox-shadow: var(--schmancy-sys-elevation-5);\n}`) {\n\t@property() type: 'elevated' | 'filled' | 'outlined' = 'elevated'\n\t@property({ type: Number }) elevation: 0 | 1 | 2 | 3 | 4 | 5 = 0\n\tprotected render(): unknown {\n\t\treturn html`<slot></slot>`\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","constructor","super","arguments","this","type","elevation","__decorateClass","property","prototype","Number","SchmancyCardContent","SchmancyCardMedia","src","fit","alt","String","reflect"],"mappings":"kPASA,IAAqBA,EAArB,cAAgDC,EAAAA,gBAAgBC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GASrD,QAAAC,CACT,OAAOC,EAAAA,mBACR,CAAA,EAXoBJ,wGAArB,CADCK,EAAAA,cAAc,sBAAA,CAAA,EACML,mMCJrB,IAAqBM,EAArB,cAA0CL,EAAAA,gBAAgBC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAA1D,aAAAK,CAAAC,MAAAA,GAAAC,SAAAA,EAyCaC,KAAAC,KAA2C,WAC3BD,KAAAE,UAAmC,CAAA,CACrD,QAAAT,CACT,OAAOC,EAAAA,mBACR,CAAA,EAJYS,EAAA,CAAXC,EAAAA,SAAAA,CAAAA,EAzCmBR,EAyCRS,UAAA,OAAA,CAAA,EACgBF,EAAA,CAA3BC,WAAS,CAAEH,KAAMK,MAAAA,CAAAA,CAAAA,EA1CEV,EA0CQS,UAAA,YAAA,CAAA,EA1CRT,EAArBO,EAAA,CADCR,EAAAA,cAAc,eAAA,CAAA,EACMC,CAAAA,wCCGrB,IAAqBW,EAArB,cAAiDhB,EAAAA,gBAAgBC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAMtD,QAAAC,CACT,OAAOC,EAAAA,mBACR,CAAA,EARoBa,wGAArB,CADCZ,EAAAA,cAAc,uBAAA,CAAA,EACMY,mMCArB,IAAqBC,EAArB,cAA+CjB,EAAAA,gBAAgBC,EAAAA;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,CAA/D,CAAA,CAAA,aAAAK,CAAAC,MAAAA,GAAAC,SAAAA,EA+CCC,KAAAS,IAAc,GAGdT,KAAAU,IAA4D,UAG5DV,KAAAW,IAAc,EAAA,CAEJ,QAAAlB,CAGT,OAAOO,KAAKS,IACTf,mBAAiBM,KAAKS,aAAaT,KAAKW,GAAAA,OACxCjB,EAAAA,mBACJ,CAAA,EAdAS,EAAA,CADCC,EAAAA,SAAS,CAAEH,KAAMW,OAAQC,QAAAA,EAAS,CAAA,CAAA,EA9CfL,EA+CpBH,UAAA,MAAA,GAGAF,EAAA,CADCC,EAAAA,SAAS,CAAEH,KAAMW,OAAQC,QAAAA,EAAS,CAAA,CAAA,EAjDfL,EAkDpBH,UAAA,MAAA,CAAA,EAGAF,EAAA,CADCC,WAAS,CAAEH,KAAMW,MAAAA,CAAAA,CAAAA,EApDEJ,EAqDpBH,UAAA,MAAA,GArDoBG,EAArBL,EAAA,CADCR,EAAAA,cAAc,qBAAA,CAAA,EACMa,CAAAA"}
1
+ {"version":3,"file":"media-Dq-o2otE.cjs","sources":["../src/card/actions.ts","../src/card/card.ts","../src/card/content.ts","../src/card/media.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n/**\n * @element schmancy-card-action\n * @slot - The content of the action\n */\n@customElement('schmancy-card-action')\nexport default class SchmancyCardAction extends TailwindElement(css`\n\t:host {\n\t\tdisplay: flex;\n\t\tgap: 0.5rem;\n\t\tpadding: 0.5rem 1rem;\n\t\talign-items: center;\n\t\tjustify-content: flex-end;\n\t}\n`) {\n\tprotected render(): unknown {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-action': SchmancyCardAction\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-card')\nexport default class SchmancyCard extends TailwindElement(css`:host{\n\tdisplay: block;\n\tposition: relative;\n\tinset: 0;\n\tborder-radius: 0.375rem; /* rounded-md */\n}\n:host([type=\"elevated\"]) {\n\tbackground-color: var(--schmancy-sys-color-surface-low);\n\tbox-shadow: var(--schmancy-sys-elevation-1);\n}\n:host([type=\"elevated\"]:hover) {\n\tbox-shadow: var(--schmancy-sys-elevation-2);\n}\n:host([type=\"filled\"]) {\n\tbackground-color: var(--schmancy-sys-color-surface-highest);\n}\n:host([type=\"filled\"]:hover) {\n\tbox-shadow: var(--schmancy-sys-elevation-1);\n}\n:host([type=\"outlined\"]) {\n\tbackground-color: var(--schmancy-sys-color-surface-default);\n\tborder: 1px solid var(--schmancy-sys-color-outlineVariant);\n}\n:host([type=\"outlined\"]:hover) {\n\tbox-shadow: var(--schmancy-sys-elevation-1);\n}\n:host([elevation=\"1\"]) {\n\tbox-shadow: var(--schmancy-sys-elevation-1);\n}\n:host([elevation=\"2\"]) {\n\tbox-shadow: var(--schmancy-sys-elevation-2);\n}\n:host([elevation=\"3\"]) {\n\tbox-shadow: var(--schmancy-sys-elevation-3);\n}\n:host([elevation=\"4\"]) {\n\tbox-shadow: var(--schmancy-sys-elevation-4);\n}\n:host([elevation=\"5\"]) {\n\tbox-shadow: var(--schmancy-sys-elevation-5);\n}`) {\n\t@property() type: 'elevated' | 'filled' | 'outlined' = 'elevated'\n\t@property({ type: Number }) elevation: 0 | 1 | 2 | 3 | 4 | 5 = 0\n\tprotected render(): unknown {\n\t\treturn html`<slot></slot>`\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","constructor","super","arguments","this","type","elevation","__decorateClass","property","prototype","Number","SchmancyCardContent","SchmancyCardMedia","src","fit","alt","String","reflect"],"mappings":"kPASA,IAAqBA,EAArB,cAAgDC,EAAAA,gBAAgBC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GASrD,QAAAC,CACT,OAAOC,EAAAA,mBACR,CAAA,EAXoBJ,wGAArB,CADCK,EAAAA,cAAc,sBAAA,CAAA,EACML,mMCJrB,IAAqBM,EAArB,cAA0CL,EAAAA,gBAAgBC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAA1D,aAAAK,CAAAC,MAAAA,GAAAC,SAAAA,EAyCaC,KAAAC,KAA2C,WAC3BD,KAAAE,UAAmC,CAAA,CACrD,QAAAT,CACT,OAAOC,EAAAA,mBACR,CAAA,EAJYS,EAAA,CAAXC,EAAAA,SAAAA,CAAAA,EAzCmBR,EAyCRS,UAAA,OAAA,CAAA,EACgBF,EAAA,CAA3BC,WAAS,CAAEH,KAAMK,MAAAA,CAAAA,CAAAA,EA1CEV,EA0CQS,UAAA,YAAA,CAAA,EA1CRT,EAArBO,EAAA,CADCR,EAAAA,cAAc,eAAA,CAAA,EACMC,CAAAA,wCCGrB,IAAqBW,EAArB,cAAiDhB,EAAAA,gBAAgBC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAMtD,QAAAC,CACT,OAAOC,EAAAA,mBACR,CAAA,EARoBa,wGAArB,CADCZ,EAAAA,cAAc,uBAAA,CAAA,EACMY,mMCArB,IAAqBC,EAArB,cAA+CjB,EAAAA,gBAAgBC,EAAAA;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,CAA/D,CAAA,CAAA,aAAAK,CAAAC,MAAAA,GAAAC,SAAAA,EA+CCC,KAAAS,IAAc,GAGdT,KAAAU,IAA4D,UAG5DV,KAAAW,IAAc,EAAA,CAEJ,QAAAlB,CAGT,OAAOO,KAAKS,IACTf,mBAAiBM,KAAKS,aAAaT,KAAKW,GAAAA,OACxCjB,EAAAA,mBACJ,CAAA,EAdAS,EAAA,CADCC,EAAAA,SAAS,CAAEH,KAAMW,OAAQC,QAAAA,EAAS,CAAA,CAAA,EA9CfL,EA+CpBH,UAAA,MAAA,GAGAF,EAAA,CADCC,EAAAA,SAAS,CAAEH,KAAMW,OAAQC,QAAAA,EAAS,CAAA,CAAA,EAjDfL,EAkDpBH,UAAA,MAAA,CAAA,EAGAF,EAAA,CADCC,WAAS,CAAEH,KAAMW,MAAAA,CAAAA,CAAAA,EApDEJ,EAqDpBH,UAAA,MAAA,GArDoBG,EAArBL,EAAA,CADCR,EAAAA,cAAc,qBAAA,CAAA,EACMa,CAAAA"}
@@ -1,4 +1,4 @@
1
- "use strict";const i=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const d=require("./litElement.mixin-CNI7suiz.cjs"),b=require("./tailwind.mixin-D0G7KFRB.cjs"),c=require("lit/decorators.js"),u=require("lit"),l=require("@floating-ui/dom");var y=Object.getOwnPropertyDescriptor;let p=class extends d.$LitElement(u.css`
1
+ "use strict";const i=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const d=require("./litElement.mixin-C98sb2sB.cjs"),b=require("./tailwind.mixin-BxmzUuoy.cjs"),c=require("lit/decorators.js"),u=require("lit"),l=require("@floating-ui/dom");var y=Object.getOwnPropertyDescriptor;let p=class extends d.$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-DCN9Pzw4.cjs.map
36
+ //# sourceMappingURL=menu-Bl0w5kB_.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu-DCN9Pzw4.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-Bl0w5kB_.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,8 +1,8 @@
1
1
  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
- import { $ as g } from "./litElement.mixin-D0rbA0NW.js";
5
- import { T as E } from "./tailwind.mixin-CNvFaPSF.js";
4
+ import { $ as g } from "./litElement.mixin-CLjCvtPx.js";
5
+ import { T as E } from "./tailwind.mixin-2JxfkZ8s.js";
6
6
  import { customElement as d, queryAssignedElements as w, query as v } from "lit/decorators.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";
@@ -96,4 +96,4 @@ let m = class extends E(b`
96
96
  }
97
97
  };
98
98
  u([w({ flatten: !0, slot: "button" })], m.prototype, "buttonElement", 2), u([v("#menu")], m.prototype, "menuElement", 2), m = u([d("schmancy-menu")], m);
99
- //# sourceMappingURL=menu-DscxR3yM.js.map
99
+ //# sourceMappingURL=menu-DrrQkRZL.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu-DscxR3yM.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-DrrQkRZL.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-DCN9Pzw4.cjs");
1
+ "use strict";require("./menu-Bl0w5kB_.cjs");
2
2
  //# sourceMappingURL=menu.cjs.map
package/dist/menu.js CHANGED
@@ -1,2 +1,2 @@
1
- import "./menu-DscxR3yM.js";
1
+ import "./menu-DrrQkRZL.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-cIIj5C23.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-f1s6Rri7.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-DnzsjVqx.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-DbWoxALg.js";
2
2
  export {
3
3
  c as $drawer,
4
4
  e as SchmancyDrawerAppbar,
@@ -1,4 +1,4 @@
1
- "use strict";const f=require("rxjs"),b=require("lit/directives/class-map.js"),v=require("lit/directives/style-map.js"),T=require("./litElement.mixin-CNI7suiz.cjs");require("./tailwind.mixin-D0G7KFRB.cjs");const u=require("lit/decorators.js"),S=require("./ripple-C2BHbhcS.cjs"),l=require("./theme.interface-Xg5Zi46a.cjs"),d=require("lit");require("./progress-uWFFRHWD.cjs");const A=require("lit/directives/repeat.js");var _=Object.defineProperty,C=Object.getOwnPropertyDescriptor,h=(o,t,e,i)=>{for(var n,s=i>1?void 0:i?C(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&&_(t,e,s),s};exports.SchmancyNotification=class extends T.$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 f=require("rxjs"),b=require("lit/directives/class-map.js"),v=require("lit/directives/style-map.js"),T=require("./litElement.mixin-C98sb2sB.cjs");require("./tailwind.mixin-BxmzUuoy.cjs");const u=require("lit/decorators.js"),S=require("./ripple-C2BHbhcS.cjs"),l=require("./theme.interface-Xg5Zi46a.cjs"),d=require("lit");require("./progress-C9_S0erz.cjs");const A=require("lit/directives/repeat.js");var _=Object.defineProperty,C=Object.getOwnPropertyDescriptor,h=(o,t,e,i)=>{for(var n,s=i>1?void 0:i?C(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&&_(t,e,s),s};exports.SchmancyNotification=class extends T.$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 p=class p{constructor(){this.notificationStack=[]}static getInstance(){return p.instance||(p.instance=new p),p.instance}notify(t){const e={...p.DEFAULT_OPTIONS,...t,duration:t.duration??p.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})}};p.DEFAULT_OPTIONS={duration:1e3,closable:!0,playSound:!0};let m=p;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=x;
143
- //# sourceMappingURL=notification-service-CD2Y1a0u.cjs.map
143
+ //# sourceMappingURL=notification-service-BE2zvE-H.cjs.map