@mhmo91/schmancy 0.4.52 → 0.4.54

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 (316) hide show
  1. package/ai/notification.md +158 -45
  2. package/dist/ai/notification.md +158 -45
  3. package/dist/{animated-text-CtXY3MHV.cjs → animated-text-DB1In3Jz.cjs} +2 -2
  4. package/dist/{animated-text-CtXY3MHV.cjs.map → animated-text-DB1In3Jz.cjs.map} +1 -1
  5. package/dist/{animated-text-D26Fv13t.js → animated-text-DET7QrLu.js} +3 -3
  6. package/dist/{animated-text-D26Fv13t.js.map → animated-text-DET7QrLu.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-DQ_erV9e.cjs → area.component-D3jAVUFN.cjs} +2 -2
  11. package/dist/{area.component-DQ_erV9e.cjs.map → area.component-D3jAVUFN.cjs.map} +1 -1
  12. package/dist/{area.component-BCcq9Nb7.js → area.component-RtyzU0st.js} +3 -3
  13. package/dist/{area.component-BCcq9Nb7.js.map → area.component-RtyzU0st.js.map} +1 -1
  14. package/dist/area.js +1 -1
  15. package/dist/{autocomplete-CrhgxhFI.cjs → autocomplete-DiGyR9Vk.cjs} +2 -2
  16. package/dist/{autocomplete-CrhgxhFI.cjs.map → autocomplete-DiGyR9Vk.cjs.map} +1 -1
  17. package/dist/{autocomplete-CkycjWy4.js → autocomplete-haCWPHWw.js} +3 -3
  18. package/dist/{autocomplete-CkycjWy4.js.map → autocomplete-haCWPHWw.js.map} +1 -1
  19. package/dist/autocomplete.cjs +1 -1
  20. package/dist/autocomplete.js +1 -1
  21. package/dist/{avatar-nwqyt3uc.cjs → avatar-C5oN_3BW.cjs} +2 -2
  22. package/dist/{avatar-nwqyt3uc.cjs.map → avatar-C5oN_3BW.cjs.map} +1 -1
  23. package/dist/{avatar-2RMudsVg.js → avatar-Lqxf7DeM.js} +47 -47
  24. package/dist/{avatar-2RMudsVg.js.map → avatar-Lqxf7DeM.js.map} +1 -1
  25. package/dist/badge.cjs +1 -1
  26. package/dist/badge.js +1 -1
  27. package/dist/{boat-B_xZilsk.cjs → boat-BKn3-Scu.cjs} +2 -2
  28. package/dist/{boat-B_xZilsk.cjs.map → boat-BKn3-Scu.cjs.map} +1 -1
  29. package/dist/{boat-C_BvtlNQ.js → boat-BoXbNHrW.js} +2 -2
  30. package/dist/{boat-C_BvtlNQ.js.map → boat-BoXbNHrW.js.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-BAuVXvYL.cjs → checkbox-CMzlYCIy.cjs} +2 -2
  40. package/dist/{checkbox-BAuVXvYL.cjs.map → checkbox-CMzlYCIy.cjs.map} +1 -1
  41. package/dist/{checkbox-BSYgpRsc.js → checkbox-DBYze801.js} +2 -2
  42. package/dist/{checkbox-BSYgpRsc.js.map → checkbox-DBYze801.js.map} +1 -1
  43. package/dist/checkbox.cjs +1 -1
  44. package/dist/checkbox.js +1 -1
  45. package/dist/{chips-Dg2otqDI.cjs → chips-DYvqKG33.cjs} +2 -2
  46. package/dist/{chips-Dg2otqDI.cjs.map → chips-DYvqKG33.cjs.map} +1 -1
  47. package/dist/{chips-Dn8RpKCE.js → chips-fZJMvpt4.js} +3 -3
  48. package/dist/{chips-Dn8RpKCE.js.map → chips-fZJMvpt4.js.map} +1 -1
  49. package/dist/chips.cjs +1 -1
  50. package/dist/chips.js +1 -1
  51. package/dist/{circular-progress-B1RjFzcp.js → circular-progress-B_xy1hOi.js} +3 -3
  52. package/dist/{circular-progress-B1RjFzcp.js.map → circular-progress-B_xy1hOi.js.map} +1 -1
  53. package/dist/{circular-progress-DZUJU-z3.cjs → circular-progress-Cvgbz8b9.cjs} +2 -2
  54. package/dist/{circular-progress-DZUJU-z3.cjs.map → circular-progress-Cvgbz8b9.cjs.map} +1 -1
  55. package/dist/circular-progress.cjs +1 -1
  56. package/dist/circular-progress.js +1 -1
  57. package/dist/code-highlight.cjs +1 -1
  58. package/dist/code-highlight.js +1 -1
  59. package/dist/{code-preview-JlSLKkKg.js → code-preview-KVgf-4eh.js} +2 -2
  60. package/dist/{code-preview-JlSLKkKg.js.map → code-preview-KVgf-4eh.js.map} +1 -1
  61. package/dist/{code-preview-CYHNaPek.cjs → code-preview-oRESLXMA.cjs} +2 -2
  62. package/dist/{code-preview-CYHNaPek.cjs.map → code-preview-oRESLXMA.cjs.map} +1 -1
  63. package/dist/components.cjs +1 -1
  64. package/dist/components.js +1 -1
  65. package/dist/content-drawer.cjs +1 -1
  66. package/dist/content-drawer.js +1 -1
  67. package/dist/{date-range-9NUFmKqd.cjs → date-range-CgELB9-4.cjs} +2 -2
  68. package/dist/{date-range-9NUFmKqd.cjs.map → date-range-CgELB9-4.cjs.map} +1 -1
  69. package/dist/{date-range-8o_f5N7V.js → date-range-DJSnkdPw.js} +4 -4
  70. package/dist/{date-range-8o_f5N7V.js.map → date-range-DJSnkdPw.js.map} +1 -1
  71. package/dist/{date-range-inline-B_K4YPtB.js → date-range-inline-CBV35jOW.js} +3 -3
  72. package/dist/{date-range-inline-B_K4YPtB.js.map → date-range-inline-CBV35jOW.js.map} +1 -1
  73. package/dist/{date-range-inline-Czq1wHs1.cjs → date-range-inline-rDLHIRGy.cjs} +2 -2
  74. package/dist/{date-range-inline-Czq1wHs1.cjs.map → date-range-inline-rDLHIRGy.cjs.map} +1 -1
  75. package/dist/date-range-inline.cjs +1 -1
  76. package/dist/date-range-inline.js +1 -1
  77. package/dist/date-range.cjs +1 -1
  78. package/dist/date-range.js +1 -1
  79. package/dist/{delay-FgtrEHdo.cjs → delay-CXo4mT0h.cjs} +2 -2
  80. package/dist/{delay-FgtrEHdo.cjs.map → delay-CXo4mT0h.cjs.map} +1 -1
  81. package/dist/{delay-D415_oVH.js → delay-D_nHncS4.js} +2 -2
  82. package/dist/{delay-D415_oVH.js.map → delay-D_nHncS4.js.map} +1 -1
  83. package/dist/delay.cjs +1 -1
  84. package/dist/delay.js +1 -1
  85. package/dist/{dialog-content-C_paCOeM.js → dialog-content-Ds7XlHu6.js} +4 -4
  86. package/dist/{dialog-content-C_paCOeM.js.map → dialog-content-Ds7XlHu6.js.map} +1 -1
  87. package/dist/{dialog-content-tGl9B67L.cjs → dialog-content-DucFIAvv.cjs} +2 -2
  88. package/dist/{dialog-content-tGl9B67L.cjs.map → dialog-content-DucFIAvv.cjs.map} +1 -1
  89. package/dist/{dialog-service-DZv4KB89.js → dialog-service-S1aHOhxt.js} +2 -2
  90. package/dist/{dialog-service-DZv4KB89.js.map → dialog-service-S1aHOhxt.js.map} +1 -1
  91. package/dist/{dialog-service-JNWTLfAy.cjs → dialog-service-fqRlhoqP.cjs} +2 -2
  92. package/dist/{dialog-service-JNWTLfAy.cjs.map → dialog-service-fqRlhoqP.cjs.map} +1 -1
  93. package/dist/dialog.cjs +1 -1
  94. package/dist/dialog.js +2 -2
  95. package/dist/{divider-Dn26vIou.js → divider-0vcefMTl.js} +3 -3
  96. package/dist/{divider-Dn26vIou.js.map → divider-0vcefMTl.js.map} +1 -1
  97. package/dist/{divider-2yg9r1tF.cjs → divider-BcNXmIjf.cjs} +2 -2
  98. package/dist/{divider-2yg9r1tF.cjs.map → divider-BcNXmIjf.cjs.map} +1 -1
  99. package/dist/divider.cjs +1 -1
  100. package/dist/divider.js +1 -1
  101. package/dist/{dropdown-content-DJ4CA3ug.cjs → dropdown-content-BE4l5-bF.cjs} +2 -2
  102. package/dist/{dropdown-content-DJ4CA3ug.cjs.map → dropdown-content-BE4l5-bF.cjs.map} +1 -1
  103. package/dist/{dropdown-content-DOnGrBxV.js → dropdown-content-Bki0sMG1.js} +6 -6
  104. package/dist/{dropdown-content-DOnGrBxV.js.map → dropdown-content-Bki0sMG1.js.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-DWnX0ZPR.cjs → flex-CWfz0mT_.cjs} +2 -2
  110. package/dist/{flex-DWnX0ZPR.cjs.map → flex-CWfz0mT_.cjs.map} +1 -1
  111. package/dist/{flex-DV2W2Zgu.js → flex-CmpdU7KF.js} +2 -2
  112. package/dist/{flex-DV2W2Zgu.js.map → flex-CmpdU7KF.js.map} +1 -1
  113. package/dist/{form-Dpokur4M.cjs → form-D9iJT7ye.cjs} +2 -2
  114. package/dist/{form-Dpokur4M.cjs.map → form-D9iJT7ye.cjs.map} +1 -1
  115. package/dist/{form-Cots2cbN.js → form-VirX921P.js} +2 -2
  116. package/dist/{form-Cots2cbN.js.map → form-VirX921P.js.map} +1 -1
  117. package/dist/form.cjs +1 -1
  118. package/dist/form.js +1 -1
  119. package/dist/{formField.mixin-ySoLTrgX.cjs → formField.mixin-D367avQx.cjs} +2 -2
  120. package/dist/{formField.mixin-ySoLTrgX.cjs.map → formField.mixin-D367avQx.cjs.map} +1 -1
  121. package/dist/{formField.mixin-DdTDdv9g.js → formField.mixin-DfFQjv2A.js} +2 -2
  122. package/dist/{formField.mixin-DdTDdv9g.js.map → formField.mixin-DfFQjv2A.js.map} +1 -1
  123. package/dist/{icon-mhchC8Qw.cjs → icon-CQ2TzXqr.cjs} +2 -2
  124. package/dist/{icon-mhchC8Qw.cjs.map → icon-CQ2TzXqr.cjs.map} +1 -1
  125. package/dist/{icon-button-DbvjV5zJ.cjs → icon-button-Chfr85pI.cjs} +2 -2
  126. package/dist/{icon-button-DbvjV5zJ.cjs.map → icon-button-Chfr85pI.cjs.map} +1 -1
  127. package/dist/{icon-button-BGvSPuE-.js → icon-button-ispbGg8V.js} +3 -3
  128. package/dist/{icon-button-BGvSPuE-.js.map → icon-button-ispbGg8V.js.map} +1 -1
  129. package/dist/{icon-BZxC9aoA.js → icon-iUti-uRG.js} +2 -2
  130. package/dist/{icon-BZxC9aoA.js.map → icon-iUti-uRG.js.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 +146 -141
  135. package/dist/index.js.map +1 -1
  136. package/dist/{input-Cpo-ws8k.js → input-BcWz0wTV.js} +3 -3
  137. package/dist/{input-Cpo-ws8k.js.map → input-BcWz0wTV.js.map} +1 -1
  138. package/dist/{input-DzNoI9qU.cjs → input-DihdZVKl.cjs} +2 -2
  139. package/dist/{input-DzNoI9qU.cjs.map → input-DihdZVKl.cjs.map} +1 -1
  140. package/dist/input.cjs +1 -1
  141. package/dist/input.js +1 -1
  142. package/dist/layout.cjs +1 -1
  143. package/dist/layout.js +1 -1
  144. package/dist/{list-DRbkWHho.cjs → list-CqKsOt3B.cjs} +2 -2
  145. package/dist/{list-DRbkWHho.cjs.map → list-CqKsOt3B.cjs.map} +1 -1
  146. package/dist/{list-BTyoQ42F.js → list-qn9wVk0L.js} +2 -2
  147. package/dist/{list-BTyoQ42F.js.map → list-qn9wVk0L.js.map} +1 -1
  148. package/dist/list.cjs +1 -1
  149. package/dist/list.js +1 -1
  150. package/dist/{litElement.mixin-B01R2oT7.cjs → litElement.mixin-rH8JULZZ.cjs} +2 -2
  151. package/dist/{litElement.mixin-B01R2oT7.cjs.map → litElement.mixin-rH8JULZZ.cjs.map} +1 -1
  152. package/dist/{litElement.mixin-BH9PTyUD.js → litElement.mixin-sRUdAQbg.js} +2 -2
  153. package/dist/{litElement.mixin-BH9PTyUD.js.map → litElement.mixin-sRUdAQbg.js.map} +1 -1
  154. package/dist/{media-BO-aZBTp.js → media-DFXN_4aK.js} +2 -2
  155. package/dist/{media-BO-aZBTp.js.map → media-DFXN_4aK.js.map} +1 -1
  156. package/dist/{media-CIuTybvD.cjs → media-elwvR06F.cjs} +2 -2
  157. package/dist/{media-CIuTybvD.cjs.map → media-elwvR06F.cjs.map} +1 -1
  158. package/dist/{menu-DEbZxoXr.cjs → menu-kDIe6tAV.cjs} +2 -2
  159. package/dist/{menu-DEbZxoXr.cjs.map → menu-kDIe6tAV.cjs.map} +1 -1
  160. package/dist/{menu-DWCDQvGY.js → menu-p4I5_Lw2.js} +3 -3
  161. package/dist/{menu-DWCDQvGY.js.map → menu-p4I5_Lw2.js.map} +1 -1
  162. package/dist/menu.cjs +1 -1
  163. package/dist/menu.js +1 -1
  164. package/dist/nav-drawer.cjs +1 -1
  165. package/dist/nav-drawer.js +1 -1
  166. package/dist/{notification-service-L_h9_d4v.js → notification-service-Rkjxrnsh.js} +142 -113
  167. package/dist/notification-service-Rkjxrnsh.js.map +1 -0
  168. package/dist/notification-service-za0_fhhl.cjs +143 -0
  169. package/dist/notification-service-za0_fhhl.cjs.map +1 -0
  170. package/dist/notification.cjs +1 -1
  171. package/dist/notification.js +7 -4
  172. package/dist/notification.js.map +1 -1
  173. package/dist/notify-DWTupBbF.cjs +2 -0
  174. package/dist/notify-DWTupBbF.cjs.map +1 -0
  175. package/dist/notify-DlyqBWt7.js +35 -0
  176. package/dist/notify-DlyqBWt7.js.map +1 -0
  177. package/dist/number-B7aCRYnH.cjs +2 -0
  178. package/dist/number-B7aCRYnH.cjs.map +1 -0
  179. package/dist/number-BhTiptLA.js +99 -0
  180. package/dist/number-BhTiptLA.js.map +1 -0
  181. package/dist/{option-vRGeXw_u.js → option-B11dF4ts.js} +2 -2
  182. package/dist/{option-vRGeXw_u.js.map → option-B11dF4ts.js.map} +1 -1
  183. package/dist/{option-BPmOG_Hw.cjs → option-BN0yfIJd.cjs} +2 -2
  184. package/dist/{option-BPmOG_Hw.cjs.map → option-BN0yfIJd.cjs.map} +1 -1
  185. package/dist/option.cjs +1 -1
  186. package/dist/option.js +1 -1
  187. package/dist/{payment-card-form-Cs5bP5Di.js → payment-card-form-BSGwTH_I.js} +3 -3
  188. package/dist/{payment-card-form-Cs5bP5Di.js.map → payment-card-form-BSGwTH_I.js.map} +1 -1
  189. package/dist/{payment-card-form-ccF9dfGC.cjs → payment-card-form-CB9JOaDJ.cjs} +2 -2
  190. package/dist/{payment-card-form-ccF9dfGC.cjs.map → payment-card-form-CB9JOaDJ.cjs.map} +1 -1
  191. package/dist/{progress-BqZ7yHQe.cjs → progress-bdcY8y9X.cjs} +2 -2
  192. package/dist/{progress-BqZ7yHQe.cjs.map → progress-bdcY8y9X.cjs.map} +1 -1
  193. package/dist/{progress-DM_jha7D.js → progress-jqQTk6Au.js} +2 -2
  194. package/dist/{progress-DM_jha7D.js.map → progress-jqQTk6Au.js.map} +1 -1
  195. package/dist/progress.cjs +1 -1
  196. package/dist/progress.js +1 -1
  197. package/dist/{radio-button-YDzqdRA-.js → radio-button-BJeYB3tM.js} +3 -3
  198. package/dist/{radio-button-YDzqdRA-.js.map → radio-button-BJeYB3tM.js.map} +1 -1
  199. package/dist/{radio-button-WmbuT_YW.cjs → radio-button-BoHXIxM8.cjs} +2 -2
  200. package/dist/{radio-button-WmbuT_YW.cjs.map → radio-button-BoHXIxM8.cjs.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-CjAsrjKf.cjs → schmancy-steps-container-CYO4MVUR.cjs} +2 -2
  204. package/dist/{schmancy-steps-container-CjAsrjKf.cjs.map → schmancy-steps-container-CYO4MVUR.cjs.map} +1 -1
  205. package/dist/{schmancy-steps-container-CoARMXfB.js → schmancy-steps-container-DWnlpaKM.js} +2 -2
  206. package/dist/{schmancy-steps-container-CoARMXfB.js.map → schmancy-steps-container-DWnlpaKM.js.map} +1 -1
  207. package/dist/{select-CPnSionr.cjs → select-BC8bdudP.cjs} +2 -2
  208. package/dist/{select-CPnSionr.cjs.map → select-BC8bdudP.cjs.map} +1 -1
  209. package/dist/{select-rwocpGs2.js → select-p4o5Lul5.js} +3 -3
  210. package/dist/{select-rwocpGs2.js.map → select-p4o5Lul5.js.map} +1 -1
  211. package/dist/select.cjs +1 -1
  212. package/dist/select.js +1 -1
  213. package/dist/{sheet-eCDoMdHF.cjs → sheet-BdQEBXGY.cjs} +2 -2
  214. package/dist/{sheet-eCDoMdHF.cjs.map → sheet-BdQEBXGY.cjs.map} +1 -1
  215. package/dist/{sheet-Cw2qLdzN.js → sheet-CC3iD9_6.js} +4 -4
  216. package/dist/{sheet-Cw2qLdzN.js.map → sheet-CC3iD9_6.js.map} +1 -1
  217. package/dist/sheet.cjs +1 -1
  218. package/dist/sheet.js +1 -1
  219. package/dist/{slider-C7Z1bPq7.js → slider--Jbq5q-X.js} +3 -3
  220. package/dist/{slider-C7Z1bPq7.js.map → slider--Jbq5q-X.js.map} +1 -1
  221. package/dist/{slider-DBNoXRWS.cjs → slider-DMm-epbb.cjs} +2 -2
  222. package/dist/{slider-DBNoXRWS.cjs.map → slider-DMm-epbb.cjs.map} +1 -1
  223. package/dist/slider.cjs +1 -1
  224. package/dist/slider.js +1 -1
  225. package/dist/{spinner-CV62BBoF.cjs → spinner-CRZrT-_Q.cjs} +2 -2
  226. package/dist/{spinner-CV62BBoF.cjs.map → spinner-CRZrT-_Q.cjs.map} +1 -1
  227. package/dist/{spinner-CbA-FXRK.js → spinner-DQJy8OCo.js} +2 -2
  228. package/dist/{spinner-CbA-FXRK.js.map → spinner-DQJy8OCo.js.map} +1 -1
  229. package/dist/steps.cjs +1 -1
  230. package/dist/steps.js +1 -1
  231. package/dist/{surface-ClfeUI6q.cjs → surface-BoVJSFV9.cjs} +2 -2
  232. package/dist/{surface-ClfeUI6q.cjs.map → surface-BoVJSFV9.cjs.map} +1 -1
  233. package/dist/{surface-By8o7nWa.js → surface-CWyGotlB.js} +2 -2
  234. package/dist/{surface-By8o7nWa.js.map → surface-CWyGotlB.js.map} +1 -1
  235. package/dist/surface.cjs +1 -1
  236. package/dist/surface.js +1 -1
  237. package/dist/{table-Rqnb4AJl.cjs → table-BEQXD6kf.cjs} +2 -2
  238. package/dist/{table-Rqnb4AJl.cjs.map → table-BEQXD6kf.cjs.map} +1 -1
  239. package/dist/{table-CvMo5lOi.js → table-BM7t3NMt.js} +2 -2
  240. package/dist/{table-CvMo5lOi.js.map → table-BM7t3NMt.js.map} +1 -1
  241. package/dist/table.cjs +1 -1
  242. package/dist/table.js +1 -1
  243. package/dist/{tabs-compatibility-BEXurIiZ.js → tabs-compatibility-CeB6hC2j.js} +2 -2
  244. package/dist/{tabs-compatibility-BEXurIiZ.js.map → tabs-compatibility-CeB6hC2j.js.map} +1 -1
  245. package/dist/{tabs-compatibility-B1bE7hSG.cjs → tabs-compatibility-DeTNBDE1.cjs} +2 -2
  246. package/dist/{tabs-compatibility-B1bE7hSG.cjs.map → tabs-compatibility-DeTNBDE1.cjs.map} +1 -1
  247. package/dist/tabs.cjs +1 -1
  248. package/dist/tabs.js +1 -1
  249. package/dist/tailwind.mixin-Dq2ayAFp.cjs +2 -0
  250. package/dist/{tailwind.mixin-DVKI3qb9.cjs.map → tailwind.mixin-Dq2ayAFp.cjs.map} +1 -1
  251. package/dist/tailwind.mixin-tQQ1rtff.js +43 -0
  252. package/dist/{tailwind.mixin-CaIkmP6j.js.map → tailwind.mixin-tQQ1rtff.js.map} +1 -1
  253. package/dist/teleport.cjs +1 -1
  254. package/dist/teleport.js +1 -1
  255. package/dist/{textarea-Dlnyyrbq.cjs → textarea-DocOI2oR.cjs} +2 -2
  256. package/dist/{textarea-Dlnyyrbq.cjs.map → textarea-DocOI2oR.cjs.map} +1 -1
  257. package/dist/{textarea-DM3lgEUp.js → textarea-WHP4TrmY.js} +2 -2
  258. package/dist/{textarea-DM3lgEUp.js.map → textarea-WHP4TrmY.js.map} +1 -1
  259. package/dist/textarea.cjs +1 -1
  260. package/dist/textarea.js +1 -1
  261. package/dist/{theme-button-C4JWRMiC.js → theme-button-B4_5yiEc.js} +2 -2
  262. package/dist/{theme-button-C4JWRMiC.js.map → theme-button-B4_5yiEc.js.map} +1 -1
  263. package/dist/{theme-button-Cao8AH8r.cjs → theme-button-CHUbJUKv.cjs} +2 -2
  264. package/dist/{theme-button-Cao8AH8r.cjs.map → theme-button-CHUbJUKv.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-ColRTbY5.js → theme.component-90Bc4Zb3.js} +2 -2
  269. package/dist/{theme.component-ColRTbY5.js.map → theme.component-90Bc4Zb3.js.map} +1 -1
  270. package/dist/{theme.component-RtV3l-Ns.cjs → theme.component-CLHIqoT6.cjs} +2 -2
  271. package/dist/{theme.component-RtV3l-Ns.cjs.map → theme.component-CLHIqoT6.cjs.map} +1 -1
  272. package/dist/theme.js +1 -1
  273. package/dist/{timezone-Cvsd--fr.js → timezone-DB5BUvhB.js} +3 -3
  274. package/dist/{timezone-Cvsd--fr.js.map → timezone-DB5BUvhB.js.map} +1 -1
  275. package/dist/{timezone-UBBApQoU.cjs → timezone-DvLRt3ML.cjs} +2 -2
  276. package/dist/{timezone-UBBApQoU.cjs.map → timezone-DvLRt3ML.cjs.map} +1 -1
  277. package/dist/{tooltip-nwQwCEgl.js → tooltip-CSWXlp7i.js} +2 -2
  278. package/dist/{tooltip-nwQwCEgl.js.map → tooltip-CSWXlp7i.js.map} +1 -1
  279. package/dist/{tooltip-WpE4e-fO.cjs → tooltip-CcuDiHHe.cjs} +2 -2
  280. package/dist/{tooltip-WpE4e-fO.cjs.map → tooltip-CcuDiHHe.cjs.map} +1 -1
  281. package/dist/tooltip.cjs +1 -1
  282. package/dist/tooltip.js +1 -1
  283. package/dist/{tree-Dn0t7MUR.cjs → tree-CBb1YnBE.cjs} +2 -2
  284. package/dist/{tree-Dn0t7MUR.cjs.map → tree-CBb1YnBE.cjs.map} +1 -1
  285. package/dist/{tree-BDmB7KmQ.js → tree-CFZsnAVg.js} +2 -2
  286. package/dist/{tree-BDmB7KmQ.js.map → tree-CFZsnAVg.js.map} +1 -1
  287. package/dist/tree.cjs +1 -1
  288. package/dist/tree.js +1 -1
  289. package/dist/{typewriter-DMKxup-I.js → typewriter-CYozDVy4.js} +4 -4
  290. package/dist/{typewriter-DMKxup-I.js.map → typewriter-CYozDVy4.js.map} +1 -1
  291. package/dist/{typewriter-Fq4uV6Gm.cjs → typewriter-DmeUdIXP.cjs} +2 -2
  292. package/dist/{typewriter-Fq4uV6Gm.cjs.map → typewriter-DmeUdIXP.cjs.map} +1 -1
  293. package/dist/typewriter.cjs +1 -1
  294. package/dist/typewriter.js +1 -1
  295. package/dist/{typography-BhCrqK_b.cjs → typography-Bl16hNlw.cjs} +2 -2
  296. package/dist/{typography-BhCrqK_b.cjs.map → typography-Bl16hNlw.cjs.map} +1 -1
  297. package/dist/{typography-DYCOngD7.js → typography-VYWV4CaJ.js} +2 -2
  298. package/dist/{typography-DYCOngD7.js.map → typography-VYWV4CaJ.js.map} +1 -1
  299. package/dist/typography.cjs +1 -1
  300. package/dist/typography.js +1 -1
  301. package/dist/utils.cjs +1 -1
  302. package/dist/utils.js +6 -4
  303. package/dist/utils.js.map +1 -1
  304. package/package.json +1 -1
  305. package/types/src/notification/index.d.ts +2 -0
  306. package/types/src/notification/notification-container.d.ts +3 -0
  307. package/types/src/notification/notification-service.d.ts +19 -0
  308. package/types/src/notification/notification.d.ts +2 -0
  309. package/types/src/notification/notify.d.ts +100 -0
  310. package/types/src/utils/index.d.ts +1 -0
  311. package/types/src/utils/number.d.ts +107 -0
  312. package/dist/notification-service-B6nHqzq5.cjs +0 -141
  313. package/dist/notification-service-B6nHqzq5.cjs.map +0 -1
  314. package/dist/notification-service-L_h9_d4v.js.map +0 -1
  315. package/dist/tailwind.mixin-CaIkmP6j.js +0 -43
  316. package/dist/tailwind.mixin-DVKI3qb9.cjs +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"divider-Dn26vIou.js","sources":["../src/divider/divider.ts"],"sourcesContent":["// divider.ts\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\n\n@customElement('schmancy-divider')\nexport default class SchmancyDivider extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\toverflow: hidden; /* Ensure the animation is clipped */\n\t}\n\t.divider {\n\t\t/* Maintain existing border-based color logic */\n\t\tborder-color: var(--divider-color, currentColor);\n\t}\n\t/* Horizontal Divider */\n\t.horizontal {\n\t\twidth: 100%;\n\t\theight: 1px;\n\t\tborder-top: 1px solid;\n\t\ttransform: scaleX(0);\n\t\ttransform-origin: var(--transform-origin, left);\n\t\tanimation: drawHorizontal var(--animation-duration, 1s) forwards;\n\t}\n\t/* Vertical Divider */\n\t.vertical {\n\t\twidth: 1px;\n\t\theight: 100%;\n\t\tborder-left: 1px solid;\n\t\ttransform: scaleY(0);\n\t\ttransform-origin: var(--transform-origin, top);\n\t\tanimation: drawVertical var(--animation-duration, 1s) forwards;\n\t}\n\t/* Outline Variants */\n\t.border-outlineVariant {\n\t\t/* Utilize existing outline variant styles */\n\t\tborder-color: var(--schmancy-sys-color-outlineVariant, #555);\n\t}\n\t.border-outline {\n\t\t/* Utilize existing default outline styles */\n\t\tborder-color: var(--schmancy-sys-color-outline, #000);\n\t}\n\t/* RTL Support for Horizontal Dividers */\n\t:host([dir='rtl']) .horizontal.grow-start {\n\t\t--transform-origin: right;\n\t}\n\t:host([dir='rtl']) .horizontal.grow-end {\n\t\t--transform-origin: left;\n\t}\n\t/* Center Growth for Horizontal and Vertical Dividers */\n\t.horizontal.grow-both {\n\t\t--transform-origin: center;\n\t}\n\t.vertical.grow-both {\n\t\t--transform-origin: center;\n\t}\n\t/* Define Keyframes */\n\t@keyframes drawHorizontal {\n\t\tto {\n\t\t\ttransform: scaleX(1);\n\t\t}\n\t}\n\t@keyframes drawVertical {\n\t\tto {\n\t\t\ttransform: scaleY(1);\n\t\t}\n\t}\n\t/* Assign Animations Based on Grow Direction */\n\t.horizontal.grow-start {\n\t\tanimation: drawHorizontal var(--animation-duration, 1s) forwards;\n\t}\n\t.horizontal.grow-end {\n\t\tanimation: drawHorizontal var(--animation-duration, 1s) forwards;\n\t}\n\t.horizontal.grow-both {\n\t\tanimation: drawHorizontal var(--animation-duration, 1s) forwards;\n\t}\n\n\t.vertical.grow-start {\n\t\tanimation: drawVertical var(--animation-duration, 1s) forwards;\n\t}\n\t.vertical.grow-end {\n\t\tanimation: drawVertical var(--animation-duration, 1s) forwards;\n\t}\n\t.vertical.grow-both {\n\t\tanimation: drawVertical var(--animation-duration, 1s) forwards;\n\t}\n`) {\n\t@property({ type: String }) outline: 'default' | 'variant' = 'variant'\n\t@property({ reflect: true, type: String }) orientation: 'horizontal' | 'vertical' = 'horizontal'\n\t@property({ type: String }) grow: 'start' | 'end' | 'both' = 'start'\n\n\tprotected render() {\n\t\tconst classes = {\n\t\t\tdivider: true,\n\t\t\thorizontal: this.orientation === 'horizontal',\n\t\t\tvertical: this.orientation === 'vertical',\n\t\t\t'border-outlineVariant': this.outline === 'variant',\n\t\t\t'border-outline': this.outline === 'default',\n\t\t\t[`grow-${this.grow}`]: true, // e.g., grow-start, grow-end, grow-both\n\t\t}\n\t\treturn html`<div class=\"${classMap(classes)}\"></div>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-divider': SchmancyDivider\n\t}\n}\n"],"names":["SchmancyDivider","$LitElement","css","super","arguments","this","outline","orientation","grow","render","classes","divider","horizontal","vertical","html","classMap","__decorateClass","property","type","String","prototype","reflect","customElement"],"mappings":";;;;;;;;;;;AAOA,IAAqBA,IAArB,cAA6CC,EAAYC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAAzD,EAAA;AAAA,EAAA;AAAAC,UAAAA,GAAAC,SAAAA,GAkF6BC,KAAAC,UAAiC,WAClBD,KAAAE,cAAyC,cACxDF,KAAAG,OAAiC;AAAA,EAAA;AAAA,EAEnD,SAAAC;AACT,UAAMC,IAAU,EACfC,SAAAA,IACAC,YAAYP,KAAKE,gBAAgB,cACjCM,UAAUR,KAAKE,gBAAgB,YAC/B,yBAAyBF,KAAKC,YAAY,WAC1C,kBAAkBD,KAAKC,YAAY,WACnC,CAAC,QAAQD,KAAKG,IAAAA,EAAAA,GAAAA,GAAS;AAExB,WAAOM,gBAAmBC,EAASL,CAAAA,CAAAA;AAAAA,EACpC;;AAd4BM,EAAA,CAA3BC,EAAS,EAAEC,MAAMC,OAAAA,CAAAA,CAAAA,GAlFEnB,EAkFQoB,WAAA,WAAA,CAAA,GACeJ,EAAA,CAA1CC,EAAS,EAAEI,SAAAA,IAAeH,MAAMC,OAAAA,CAAAA,CAAAA,GAnFbnB,EAmFuBoB,WAAA,eAAA,IACfJ,EAAA,CAA3BC,EAAS,EAAEC,MAAMC,OAAAA,CAAAA,CAAAA,GApFEnB,EAoFQoB,WAAA,QAAA,CAAA,GApFRpB,IAArBgB,EAAA,CADCM,EAAc,kBAAA,CAAA,GACMtB,CAAAA;"}
1
+ {"version":3,"file":"divider-0vcefMTl.js","sources":["../src/divider/divider.ts"],"sourcesContent":["// divider.ts\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\n\n@customElement('schmancy-divider')\nexport default class SchmancyDivider extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\toverflow: hidden; /* Ensure the animation is clipped */\n\t}\n\t.divider {\n\t\t/* Maintain existing border-based color logic */\n\t\tborder-color: var(--divider-color, currentColor);\n\t}\n\t/* Horizontal Divider */\n\t.horizontal {\n\t\twidth: 100%;\n\t\theight: 1px;\n\t\tborder-top: 1px solid;\n\t\ttransform: scaleX(0);\n\t\ttransform-origin: var(--transform-origin, left);\n\t\tanimation: drawHorizontal var(--animation-duration, 1s) forwards;\n\t}\n\t/* Vertical Divider */\n\t.vertical {\n\t\twidth: 1px;\n\t\theight: 100%;\n\t\tborder-left: 1px solid;\n\t\ttransform: scaleY(0);\n\t\ttransform-origin: var(--transform-origin, top);\n\t\tanimation: drawVertical var(--animation-duration, 1s) forwards;\n\t}\n\t/* Outline Variants */\n\t.border-outlineVariant {\n\t\t/* Utilize existing outline variant styles */\n\t\tborder-color: var(--schmancy-sys-color-outlineVariant, #555);\n\t}\n\t.border-outline {\n\t\t/* Utilize existing default outline styles */\n\t\tborder-color: var(--schmancy-sys-color-outline, #000);\n\t}\n\t/* RTL Support for Horizontal Dividers */\n\t:host([dir='rtl']) .horizontal.grow-start {\n\t\t--transform-origin: right;\n\t}\n\t:host([dir='rtl']) .horizontal.grow-end {\n\t\t--transform-origin: left;\n\t}\n\t/* Center Growth for Horizontal and Vertical Dividers */\n\t.horizontal.grow-both {\n\t\t--transform-origin: center;\n\t}\n\t.vertical.grow-both {\n\t\t--transform-origin: center;\n\t}\n\t/* Define Keyframes */\n\t@keyframes drawHorizontal {\n\t\tto {\n\t\t\ttransform: scaleX(1);\n\t\t}\n\t}\n\t@keyframes drawVertical {\n\t\tto {\n\t\t\ttransform: scaleY(1);\n\t\t}\n\t}\n\t/* Assign Animations Based on Grow Direction */\n\t.horizontal.grow-start {\n\t\tanimation: drawHorizontal var(--animation-duration, 1s) forwards;\n\t}\n\t.horizontal.grow-end {\n\t\tanimation: drawHorizontal var(--animation-duration, 1s) forwards;\n\t}\n\t.horizontal.grow-both {\n\t\tanimation: drawHorizontal var(--animation-duration, 1s) forwards;\n\t}\n\n\t.vertical.grow-start {\n\t\tanimation: drawVertical var(--animation-duration, 1s) forwards;\n\t}\n\t.vertical.grow-end {\n\t\tanimation: drawVertical var(--animation-duration, 1s) forwards;\n\t}\n\t.vertical.grow-both {\n\t\tanimation: drawVertical var(--animation-duration, 1s) forwards;\n\t}\n`) {\n\t@property({ type: String }) outline: 'default' | 'variant' = 'variant'\n\t@property({ reflect: true, type: String }) orientation: 'horizontal' | 'vertical' = 'horizontal'\n\t@property({ type: String }) grow: 'start' | 'end' | 'both' = 'start'\n\n\tprotected render() {\n\t\tconst classes = {\n\t\t\tdivider: true,\n\t\t\thorizontal: this.orientation === 'horizontal',\n\t\t\tvertical: this.orientation === 'vertical',\n\t\t\t'border-outlineVariant': this.outline === 'variant',\n\t\t\t'border-outline': this.outline === 'default',\n\t\t\t[`grow-${this.grow}`]: true, // e.g., grow-start, grow-end, grow-both\n\t\t}\n\t\treturn html`<div class=\"${classMap(classes)}\"></div>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-divider': SchmancyDivider\n\t}\n}\n"],"names":["SchmancyDivider","$LitElement","css","super","arguments","this","outline","orientation","grow","render","classes","divider","horizontal","vertical","html","classMap","__decorateClass","property","type","String","prototype","reflect","customElement"],"mappings":";;;;;;;;;;;AAOA,IAAqBA,IAArB,cAA6CC,EAAYC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAAzD,EAAA;AAAA,EAAA;AAAAC,UAAAA,GAAAC,SAAAA,GAkF6BC,KAAAC,UAAiC,WAClBD,KAAAE,cAAyC,cACxDF,KAAAG,OAAiC;AAAA,EAAA;AAAA,EAEnD,SAAAC;AACT,UAAMC,IAAU,EACfC,SAAAA,IACAC,YAAYP,KAAKE,gBAAgB,cACjCM,UAAUR,KAAKE,gBAAgB,YAC/B,yBAAyBF,KAAKC,YAAY,WAC1C,kBAAkBD,KAAKC,YAAY,WACnC,CAAC,QAAQD,KAAKG,IAAAA,EAAAA,GAAAA,GAAS;AAExB,WAAOM,gBAAmBC,EAASL,CAAAA,CAAAA;AAAAA,EACpC;;AAd4BM,EAAA,CAA3BC,EAAS,EAAEC,MAAMC,OAAAA,CAAAA,CAAAA,GAlFEnB,EAkFQoB,WAAA,WAAA,CAAA,GACeJ,EAAA,CAA1CC,EAAS,EAAEI,SAAAA,IAAeH,MAAMC,OAAAA,CAAAA,CAAAA,GAnFbnB,EAmFuBoB,WAAA,eAAA,IACfJ,EAAA,CAA3BC,EAAS,EAAEC,MAAMC,OAAAA,CAAAA,CAAAA,GApFEnB,EAoFQoB,WAAA,QAAA,CAAA,GApFRpB,IAArBgB,EAAA,CADCM,EAAc,kBAAA,CAAA,GACMtB,CAAAA;"}
@@ -1,4 +1,4 @@
1
- "use strict";require("rxjs");const m=require("lit/directives/class-map.js");require("lit/directives/style-map.js");const h=require("./litElement.mixin-B01R2oT7.cjs");require("./tailwind.mixin-DVKI3qb9.cjs");const n=require("lit/decorators.js"),c=require("lit");var u=Object.defineProperty,w=Object.getOwnPropertyDescriptor,e=(t,i,s,a)=>{for(var l,r=a>1?void 0:a?w(i,s):i,d=t.length-1;d>=0;d--)(l=t[d])&&(r=(a?l(i,s,r):l(r))||r);return a&&r&&u(i,s,r),r};let o=class extends h.$LitElement(c.css`
1
+ "use strict";require("rxjs");const m=require("lit/directives/class-map.js");require("lit/directives/style-map.js");const h=require("./litElement.mixin-rH8JULZZ.cjs");require("./tailwind.mixin-Dq2ayAFp.cjs");const n=require("lit/decorators.js"),c=require("lit");var u=Object.defineProperty,w=Object.getOwnPropertyDescriptor,e=(t,i,s,a)=>{for(var l,r=a>1?void 0:a?w(i,s):i,d=t.length-1;d>=0;d--)(l=t[d])&&(r=(a?l(i,s,r):l(r))||r);return a&&r&&u(i,s,r),r};let o=class extends h.$LitElement(c.css`
2
2
  :host {
3
3
  display: block;
4
4
  overflow: hidden; /* Ensure the animation is clipped */
@@ -80,4 +80,4 @@
80
80
  animation: drawVertical var(--animation-duration, 1s) forwards;
81
81
  }
82
82
  `){constructor(){super(...arguments),this.outline="variant",this.orientation="horizontal",this.grow="start"}render(){const t={divider:!0,horizontal:this.orientation==="horizontal",vertical:this.orientation==="vertical","border-outlineVariant":this.outline==="variant","border-outline":this.outline==="default",[`grow-${this.grow}`]:!0};return c.html`<div class="${m.classMap(t)}"></div>`}};e([n.property({type:String})],o.prototype,"outline",2),e([n.property({reflect:!0,type:String})],o.prototype,"orientation",2),e([n.property({type:String})],o.prototype,"grow",2),o=e([n.customElement("schmancy-divider")],o);
83
- //# sourceMappingURL=divider-2yg9r1tF.cjs.map
83
+ //# sourceMappingURL=divider-BcNXmIjf.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"divider-2yg9r1tF.cjs","sources":["../src/divider/divider.ts"],"sourcesContent":["// divider.ts\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\n\n@customElement('schmancy-divider')\nexport default class SchmancyDivider extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\toverflow: hidden; /* Ensure the animation is clipped */\n\t}\n\t.divider {\n\t\t/* Maintain existing border-based color logic */\n\t\tborder-color: var(--divider-color, currentColor);\n\t}\n\t/* Horizontal Divider */\n\t.horizontal {\n\t\twidth: 100%;\n\t\theight: 1px;\n\t\tborder-top: 1px solid;\n\t\ttransform: scaleX(0);\n\t\ttransform-origin: var(--transform-origin, left);\n\t\tanimation: drawHorizontal var(--animation-duration, 1s) forwards;\n\t}\n\t/* Vertical Divider */\n\t.vertical {\n\t\twidth: 1px;\n\t\theight: 100%;\n\t\tborder-left: 1px solid;\n\t\ttransform: scaleY(0);\n\t\ttransform-origin: var(--transform-origin, top);\n\t\tanimation: drawVertical var(--animation-duration, 1s) forwards;\n\t}\n\t/* Outline Variants */\n\t.border-outlineVariant {\n\t\t/* Utilize existing outline variant styles */\n\t\tborder-color: var(--schmancy-sys-color-outlineVariant, #555);\n\t}\n\t.border-outline {\n\t\t/* Utilize existing default outline styles */\n\t\tborder-color: var(--schmancy-sys-color-outline, #000);\n\t}\n\t/* RTL Support for Horizontal Dividers */\n\t:host([dir='rtl']) .horizontal.grow-start {\n\t\t--transform-origin: right;\n\t}\n\t:host([dir='rtl']) .horizontal.grow-end {\n\t\t--transform-origin: left;\n\t}\n\t/* Center Growth for Horizontal and Vertical Dividers */\n\t.horizontal.grow-both {\n\t\t--transform-origin: center;\n\t}\n\t.vertical.grow-both {\n\t\t--transform-origin: center;\n\t}\n\t/* Define Keyframes */\n\t@keyframes drawHorizontal {\n\t\tto {\n\t\t\ttransform: scaleX(1);\n\t\t}\n\t}\n\t@keyframes drawVertical {\n\t\tto {\n\t\t\ttransform: scaleY(1);\n\t\t}\n\t}\n\t/* Assign Animations Based on Grow Direction */\n\t.horizontal.grow-start {\n\t\tanimation: drawHorizontal var(--animation-duration, 1s) forwards;\n\t}\n\t.horizontal.grow-end {\n\t\tanimation: drawHorizontal var(--animation-duration, 1s) forwards;\n\t}\n\t.horizontal.grow-both {\n\t\tanimation: drawHorizontal var(--animation-duration, 1s) forwards;\n\t}\n\n\t.vertical.grow-start {\n\t\tanimation: drawVertical var(--animation-duration, 1s) forwards;\n\t}\n\t.vertical.grow-end {\n\t\tanimation: drawVertical var(--animation-duration, 1s) forwards;\n\t}\n\t.vertical.grow-both {\n\t\tanimation: drawVertical var(--animation-duration, 1s) forwards;\n\t}\n`) {\n\t@property({ type: String }) outline: 'default' | 'variant' = 'variant'\n\t@property({ reflect: true, type: String }) orientation: 'horizontal' | 'vertical' = 'horizontal'\n\t@property({ type: String }) grow: 'start' | 'end' | 'both' = 'start'\n\n\tprotected render() {\n\t\tconst classes = {\n\t\t\tdivider: true,\n\t\t\thorizontal: this.orientation === 'horizontal',\n\t\t\tvertical: this.orientation === 'vertical',\n\t\t\t'border-outlineVariant': this.outline === 'variant',\n\t\t\t'border-outline': this.outline === 'default',\n\t\t\t[`grow-${this.grow}`]: true, // e.g., grow-start, grow-end, grow-both\n\t\t}\n\t\treturn html`<div class=\"${classMap(classes)}\"></div>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-divider': SchmancyDivider\n\t}\n}\n"],"names":["SchmancyDivider","$LitElement","css","super","arguments","this","outline","orientation","grow","render","classes","divider","horizontal","vertical","html","classMap","__decorateClass","property","type","String","prototype","reflect","customElement"],"mappings":"qcAOA,IAAqBA,EAArB,cAA6CC,EAAAA,YAAYC,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;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,CAAzD,CAAA,CAAA,cAAAC,MAAAA,GAAAC,SAAAA,EAkF6BC,KAAAC,QAAiC,UAClBD,KAAAE,YAAyC,aACxDF,KAAAG,KAAiC,OAAA,CAEnD,QAAAC,CACT,MAAMC,EAAU,CACfC,WACAC,WAAYP,KAAKE,cAAgB,aACjCM,SAAUR,KAAKE,cAAgB,WAC/B,wBAAyBF,KAAKC,UAAY,UAC1C,iBAAkBD,KAAKC,UAAY,UACnC,CAAC,QAAQD,KAAKG,IAAAA,EAAAA,EAAAA,EAAS,EAExB,OAAOM,EAAAA,mBAAmBC,EAAAA,SAASL,CAAAA,CAAAA,UACpC,CAAA,EAd4BM,EAAA,CAA3BC,WAAS,CAAEC,KAAMC,UAlFEnB,EAkFQoB,UAAA,UAAA,CAAA,EACeJ,EAAA,CAA1CC,EAAAA,SAAS,CAAEI,QAAAA,GAAeH,KAAMC,MAAAA,CAAAA,CAAAA,EAnFbnB,EAmFuBoB,UAAA,cAAA,CAAA,EACfJ,EAAA,CAA3BC,WAAS,CAAEC,KAAMC,UApFEnB,EAoFQoB,UAAA,OAAA,CAAA,EApFRpB,EAArBgB,EAAA,CADCM,EAAAA,cAAc,kBAAA,CAAA,EACMtB,CAAAA"}
1
+ {"version":3,"file":"divider-BcNXmIjf.cjs","sources":["../src/divider/divider.ts"],"sourcesContent":["// divider.ts\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\n\n@customElement('schmancy-divider')\nexport default class SchmancyDivider extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\toverflow: hidden; /* Ensure the animation is clipped */\n\t}\n\t.divider {\n\t\t/* Maintain existing border-based color logic */\n\t\tborder-color: var(--divider-color, currentColor);\n\t}\n\t/* Horizontal Divider */\n\t.horizontal {\n\t\twidth: 100%;\n\t\theight: 1px;\n\t\tborder-top: 1px solid;\n\t\ttransform: scaleX(0);\n\t\ttransform-origin: var(--transform-origin, left);\n\t\tanimation: drawHorizontal var(--animation-duration, 1s) forwards;\n\t}\n\t/* Vertical Divider */\n\t.vertical {\n\t\twidth: 1px;\n\t\theight: 100%;\n\t\tborder-left: 1px solid;\n\t\ttransform: scaleY(0);\n\t\ttransform-origin: var(--transform-origin, top);\n\t\tanimation: drawVertical var(--animation-duration, 1s) forwards;\n\t}\n\t/* Outline Variants */\n\t.border-outlineVariant {\n\t\t/* Utilize existing outline variant styles */\n\t\tborder-color: var(--schmancy-sys-color-outlineVariant, #555);\n\t}\n\t.border-outline {\n\t\t/* Utilize existing default outline styles */\n\t\tborder-color: var(--schmancy-sys-color-outline, #000);\n\t}\n\t/* RTL Support for Horizontal Dividers */\n\t:host([dir='rtl']) .horizontal.grow-start {\n\t\t--transform-origin: right;\n\t}\n\t:host([dir='rtl']) .horizontal.grow-end {\n\t\t--transform-origin: left;\n\t}\n\t/* Center Growth for Horizontal and Vertical Dividers */\n\t.horizontal.grow-both {\n\t\t--transform-origin: center;\n\t}\n\t.vertical.grow-both {\n\t\t--transform-origin: center;\n\t}\n\t/* Define Keyframes */\n\t@keyframes drawHorizontal {\n\t\tto {\n\t\t\ttransform: scaleX(1);\n\t\t}\n\t}\n\t@keyframes drawVertical {\n\t\tto {\n\t\t\ttransform: scaleY(1);\n\t\t}\n\t}\n\t/* Assign Animations Based on Grow Direction */\n\t.horizontal.grow-start {\n\t\tanimation: drawHorizontal var(--animation-duration, 1s) forwards;\n\t}\n\t.horizontal.grow-end {\n\t\tanimation: drawHorizontal var(--animation-duration, 1s) forwards;\n\t}\n\t.horizontal.grow-both {\n\t\tanimation: drawHorizontal var(--animation-duration, 1s) forwards;\n\t}\n\n\t.vertical.grow-start {\n\t\tanimation: drawVertical var(--animation-duration, 1s) forwards;\n\t}\n\t.vertical.grow-end {\n\t\tanimation: drawVertical var(--animation-duration, 1s) forwards;\n\t}\n\t.vertical.grow-both {\n\t\tanimation: drawVertical var(--animation-duration, 1s) forwards;\n\t}\n`) {\n\t@property({ type: String }) outline: 'default' | 'variant' = 'variant'\n\t@property({ reflect: true, type: String }) orientation: 'horizontal' | 'vertical' = 'horizontal'\n\t@property({ type: String }) grow: 'start' | 'end' | 'both' = 'start'\n\n\tprotected render() {\n\t\tconst classes = {\n\t\t\tdivider: true,\n\t\t\thorizontal: this.orientation === 'horizontal',\n\t\t\tvertical: this.orientation === 'vertical',\n\t\t\t'border-outlineVariant': this.outline === 'variant',\n\t\t\t'border-outline': this.outline === 'default',\n\t\t\t[`grow-${this.grow}`]: true, // e.g., grow-start, grow-end, grow-both\n\t\t}\n\t\treturn html`<div class=\"${classMap(classes)}\"></div>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-divider': SchmancyDivider\n\t}\n}\n"],"names":["SchmancyDivider","$LitElement","css","super","arguments","this","outline","orientation","grow","render","classes","divider","horizontal","vertical","html","classMap","__decorateClass","property","type","String","prototype","reflect","customElement"],"mappings":"qcAOA,IAAqBA,EAArB,cAA6CC,EAAAA,YAAYC,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;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,CAAzD,CAAA,CAAA,cAAAC,MAAAA,GAAAC,SAAAA,EAkF6BC,KAAAC,QAAiC,UAClBD,KAAAE,YAAyC,aACxDF,KAAAG,KAAiC,OAAA,CAEnD,QAAAC,CACT,MAAMC,EAAU,CACfC,WACAC,WAAYP,KAAKE,cAAgB,aACjCM,SAAUR,KAAKE,cAAgB,WAC/B,wBAAyBF,KAAKC,UAAY,UAC1C,iBAAkBD,KAAKC,UAAY,UACnC,CAAC,QAAQD,KAAKG,IAAAA,EAAAA,EAAAA,EAAS,EAExB,OAAOM,EAAAA,mBAAmBC,EAAAA,SAASL,CAAAA,CAAAA,UACpC,CAAA,EAd4BM,EAAA,CAA3BC,WAAS,CAAEC,KAAMC,UAlFEnB,EAkFQoB,UAAA,UAAA,CAAA,EACeJ,EAAA,CAA1CC,EAAAA,SAAS,CAAEI,QAAAA,GAAeH,KAAMC,MAAAA,CAAAA,CAAAA,EAnFbnB,EAmFuBoB,UAAA,cAAA,CAAA,EACfJ,EAAA,CAA3BC,WAAS,CAAEC,KAAMC,UApFEnB,EAoFQoB,UAAA,OAAA,CAAA,EApFRpB,EAArBgB,EAAA,CADCM,EAAAA,cAAc,kBAAA,CAAA,EACMtB,CAAAA"}
package/dist/divider.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";require("./divider-2yg9r1tF.cjs");
1
+ "use strict";require("./divider-BcNXmIjf.cjs");
2
2
  //# sourceMappingURL=divider.cjs.map
package/dist/divider.js CHANGED
@@ -1,2 +1,2 @@
1
- import "./divider-Dn26vIou.js";
1
+ import "./divider-0vcefMTl.js";
2
2
  //# sourceMappingURL=divider.js.map
@@ -1,4 +1,4 @@
1
- "use strict";const l=require("@floating-ui/dom"),p=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const m=require("./litElement.mixin-B01R2oT7.cjs"),y=require("./tailwind.mixin-DVKI3qb9.cjs"),n=require("lit/decorators.js"),h=require("lit");var u=Object.defineProperty,g=Object.getOwnPropertyDescriptor,i=(t,e,r,s)=>{for(var a,o=s>1?void 0:s?g(e,r):e,c=t.length-1;c>=0;c--)(a=t[c])&&(o=(s?a(e,r,o):a(o))||o);return s&&o&&u(e,r,o),o};exports.SchmancyDropdown=class extends m.$LitElement(h.css`
1
+ "use strict";const l=require("@floating-ui/dom"),p=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const m=require("./litElement.mixin-rH8JULZZ.cjs"),y=require("./tailwind.mixin-Dq2ayAFp.cjs"),n=require("lit/decorators.js"),h=require("lit");var u=Object.defineProperty,g=Object.getOwnPropertyDescriptor,i=(t,e,r,s)=>{for(var a,o=s>1?void 0:s?g(e,r):e,c=t.length-1;c>=0;c--)(a=t[c])&&(o=(s?a(e,r,o):a(o))||o);return s&&o&&u(e,r,o),o};exports.SchmancyDropdown=class extends m.$LitElement(h.css`
2
2
  :host {
3
3
  display: inline-block;
4
4
  position: relative;
@@ -60,4 +60,4 @@
60
60
  <slot></slot>
61
61
  </div>
62
62
  `}},d([n.property({type:String})],exports.SchmancyDropdownContent.prototype,"width",2),d([n.property({type:String})],exports.SchmancyDropdownContent.prototype,"maxHeight",2),d([n.property({type:Boolean})],exports.SchmancyDropdownContent.prototype,"shadow",2),d([n.property({type:String})],exports.SchmancyDropdownContent.prototype,"radius",2),exports.SchmancyDropdownContent=d([n.customElement("schmancy-dropdown-content")],exports.SchmancyDropdownContent);
63
- //# sourceMappingURL=dropdown-content-DJ4CA3ug.cjs.map
63
+ //# sourceMappingURL=dropdown-content-BE4l5-bF.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-content-DJ4CA3ug.cjs","sources":["../src/dropdown/dropdown-component.ts","../src/dropdown/dropdown-content.ts"],"sourcesContent":["import { autoUpdate, computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { filter, fromEvent, takeUntil } from 'rxjs'\n\n/**\n * A dropdown component that displays content when triggered.\n *\n * @element schmancy-dropdown\n * @slot trigger - The element that triggers the dropdown\n * @slot - Default slot for the dropdown content\n */\n@customElement('schmancy-dropdown')\nexport class SchmancyDropdown extends $LitElement(css`\n\t:host {\n\t\tdisplay: inline-block;\n\t\tposition: relative;\n\t}\n`) {\n\t/**\n\t * Whether the dropdown is currently open\n\t */\n\t@property({ type: Boolean, reflect: true })\n\topen = false\n\n\t/**\n\t * Placement of the dropdown relative to the trigger\n\t */\n\t@property({ type: String })\n\tplacement:\n\t\t| 'top'\n\t\t| 'top-start'\n\t\t| 'top-end'\n\t\t| 'right'\n\t\t| 'right-start'\n\t\t| 'right-end'\n\t\t| 'bottom'\n\t\t| 'bottom-start'\n\t\t| 'bottom-end'\n\t\t| 'left'\n\t\t| 'left-start'\n\t\t| 'left-end' = 'bottom-start'\n\n\t/**\n\t * Offset distance in pixels\n\t */\n\t@property({ type: Number })\n\tdistance = 8\n\n\t@query('.trigger-container') triggerContainer!: HTMLElement\n\t@query('.dropdown-content-container') contentContainer!: HTMLElement\n\t@queryAssignedElements({ flatten: true }) contentElements!: HTMLElement[]\n\t@state() private portal: HTMLElement | null = null\n\n\t@queryAssignedElements({ slot: 'trigger', flatten: true })\n\ttriggerElements!: Array<HTMLElement>\n\n\tprivate cleanupPositioner?: () => void\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Create portal container for teleporting content to document body\n\t\tthis.setupPortal()\n\n\t\t// Listen for document clicks to close dropdown when clicking outside\n\t\tfromEvent<MouseEvent>(document, 'click')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => this.open && !this.isEventFromSelf(event)),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.open = false\n\t\t\t})\n\n\t\t// Listen for escape key to close dropdown\n\t\tfromEvent<KeyboardEvent>(document, 'keydown')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => this.open && event.key === 'Escape'),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.open = false\n\t\t\t})\n\t}\n\n\t/**\n\t * Set up the portal element for teleporting content\n\t */\n\tprivate setupPortal() {\n\t\t// Check if portal container exists\n\t\tlet portalContainer = document.getElementById('schmancy-portal-container')\n\n\t\t// Create portal container if it doesn't exist\n\t\tif (!portalContainer) {\n\t\t\tportalContainer = document.createElement('div')\n\t\t\tportalContainer.id = 'schmancy-portal-container'\n\t\t\tportalContainer.style.position = 'fixed'\n\t\t\tportalContainer.style.zIndex = '10000'\n\t\t\tportalContainer.style.top = '0'\n\t\t\tportalContainer.style.left = '0'\n\t\t\tportalContainer.style.pointerEvents = 'none'\n\t\t\tdocument.body.appendChild(portalContainer)\n\t\t}\n\n\t\t// Create portal for this specific dropdown\n\t\tconst portal = document.createElement('div')\n\t\tportal.className = 'schmancy-dropdown-portal'\n\t\tportal.style.position = 'absolute'\n\t\tportal.style.pointerEvents = 'auto'\n\t\tportal.style.display = 'none'\n\t\tportalContainer.appendChild(portal)\n\n\t\tthis.portal = portal\n\t}\n\n\t/**\n\t * Check if an event originated from within this component\n\t */\n\tprivate isEventFromSelf(event: Event): boolean {\n\t\treturn event.composedPath().some(el => el === this)\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.cleanupPositioner?.()\n\n\t\t// Remove portal when component is disconnected\n\t\tif (this.portal) {\n\t\t\tthis.portal.remove()\n\t\t\tthis.portal = null\n\t\t}\n\n\t\tsuper.disconnectedCallback()\n\t}\n\n\t/**\n\t * Toggle the dropdown open state\n\t */\n\ttoggle() {\n\t\tthis.open = !this.open\n\t}\n\n\tupdated(changedProps: Map<string, any>) {\n\t\tsuper.updated(changedProps)\n\n\t\tif (changedProps.has('open')) {\n\t\t\tif (this.open) {\n\t\t\t\tthis.setupPositioner()\n\t\t\t} else {\n\t\t\t\tthis.cleanupPositioner?.()\n\n\t\t\t\t// Hide portal when dropdown is closed\n\t\t\t\tif (this.portal) {\n\t\t\t\t\tthis.portal.style.display = 'none'\n\t\t\t\t\tthis.portal.innerHTML = ''\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Setup floating UI positioning with teleportation\n\t */\n\tprivate setupPositioner() {\n\t\tif (!this.triggerContainer || !this.portal) return\n\n\t\t// Show the portal\n\t\tthis.portal.style.display = 'block'\n\n\t\t// Move content to portal\n\t\tthis.teleportContentToPortal()\n\n\t\t// Setup positioning\n\t\tthis.cleanupPositioner = autoUpdate(this.triggerContainer, this.portal, () => {\n\t\t\tcomputePosition(this.triggerContainer, this.portal, {\n\t\t\t\tplacement: this.placement,\n\t\t\t\tmiddleware: [\n\t\t\t\t\toffset(this.distance),\n\t\t\t\t\tflip({\n\t\t\t\t\t\tfallbackPlacements: ['top-start', 'bottom-start'],\n\t\t\t\t\t}),\n\t\t\t\t\tshift({ padding: 0 }),\n\t\t\t\t],\n\t\t\t}).then(({ x, y }) => {\n\t\t\t\t// Update portal position\n\t\t\t\tObject.assign(this.portal.style, {\n\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\ttop: `${y - 8}px`,\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\t}\n\n\t/**\n\t * Move slotted content to the portal\n\t */\n\tprivate teleportContentToPortal() {\n\t\tif (!this.portal) return\n\n\t\t// Clear existing content\n\t\tthis.portal.innerHTML = ''\n\n\t\t// Clone and move slotted content to portal\n\t\tthis.contentElements.forEach(element => {\n\t\t\t// Get computed styles to ensure portal content matches original styling\n\t\t\tconst clonedElement = element.cloneNode(true) as HTMLElement\n\n\t\t\t// Ensure dropdown-content elements maintain their styles when teleported\n\t\t\tif (element.tagName.toLowerCase() === 'schmancy-dropdown-content') {\n\t\t\t\tclonedElement.addEventListener('slotchange', () => {\n\t\t\t\t\t// Propagate any slot changes to class changes on children\n\t\t\t\t\tconst contentDiv = clonedElement.shadowRoot?.querySelector('[part=\"content\"]')\n\t\t\t\t\tif (contentDiv) {\n\t\t\t\t\t\tcontentDiv.classList.add('schmancy-dropdown-content')\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tthis.portal?.appendChild(clonedElement)\n\t\t})\n\t}\n\n\t/**\n\t * Handle trigger click to toggle dropdown\n\t */\n\tprivate handleTriggerClick(e: Event) {\n\t\te.stopPropagation()\n\t\tthis.toggle()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"trigger-container\" @click=${this.handleTriggerClick}>\n\t\t\t\t<slot name=\"trigger\"></slot>\n\t\t\t</div>\n\n\t\t\t<div class=\"dropdown-content-container\" ?hidden=${!this.open}>\n\t\t\t\t<slot\n\t\t\t\t\t@slotchange=${() => {\n\t\t\t\t\t\tif (this.open) {\n\t\t\t\t\t\t\tthis.teleportContentToPortal()\n\t\t\t\t\t\t\tthis.setupPositioner()\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-dropdown': SchmancyDropdown\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n/**\n * Content container for the schmancy-dropdown component.\n *\n * @element schmancy-dropdown-content\n * @slot - Default slot for dropdown content\n */\n@customElement('schmancy-dropdown-content')\nexport class SchmancyDropdownContent extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\tz-index: 1000;\n\t\tmin-width: 10rem;\n\t\tmargin: 0;\n\t\ttext-align: left;\n\t\tlist-style: none;\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\n\t\tbackground-clip: padding-box;\n\t\tborder-radius: 0.375rem;\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t\twill-change: transform;\n\t\ttransform-origin: top left;\n\t\tanimation: dropdownAnimation 0.1s ease-out forwards;\n\t}\n\n\t:host([hidden]) {\n\t\tdisplay: none;\n\t}\n\n\t@keyframes dropdownAnimation {\n\t\tfrom {\n\t\t\topacity: 0;\n\t\t\ttransform: scale(0.95);\n\t\t}\n\t\tto {\n\t\t\topacity: 1;\n\t\t\ttransform: scale(1);\n\t\t}\n\t}\n\n\t/* Apply styles to content both in the component and when teleported to the portal */\n\t.schmancy-dropdown-content {\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\n\t\tborder-radius: 0.375rem;\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t\twill-change: transform;\n\t\ttransform-origin: top left;\n\t\tanimation: dropdownAnimation 0.1s ease-out forwards;\n\t}\n`) {\n\t/**\n\t * Width of the dropdown content\n\t */\n\t@property({ type: String })\n\twidth: string = 'auto'\n\n\t/**\n\t * Maximum height of the dropdown content\n\t */\n\t@property({ type: String })\n\tmaxHeight: string = '80vh'\n\n\t/**\n\t * Whether to render with a shadow\n\t */\n\t@property({ type: Boolean })\n\tshadow: boolean = true\n\n\t/**\n\t * Border radius style\n\t */\n\t@property({ type: String })\n\tradius: 'none' | 'sm' | 'md' | 'lg' | 'full' = 'md'\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'schmancy-dropdown-content': true,\n\t\t\t'overflow-auto': true,\n\t\t\t'shadow-none': !this.shadow,\n\t\t\t'rounded-none': this.radius === 'none',\n\t\t\t'rounded-sm': this.radius === 'sm',\n\t\t\t'rounded-md': this.radius === 'md',\n\t\t\t'rounded-lg': this.radius === 'lg',\n\t\t\t'rounded-full': this.radius === 'full',\n\t\t}\n\n\t\tconst styles = {\n\t\t\twidth: this.width,\n\t\t\tmaxHeight: this.maxHeight,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=${this.classMap(classes)} style=${this.styleMap(styles)} part=\"content\">\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-dropdown-content': SchmancyDropdownContent\n\t}\n}\n"],"names":["SchmancyDropdown","$LitElement","css","constructor","super","arguments","this","open","placement","distance","portal","connectedCallback","setupPortal","fromEvent","document","pipe","filter","isEventFromSelf","event","takeUntil","disconnecting","subscribe","key","portalContainer","getElementById","createElement","id","style","position","zIndex","top","left","pointerEvents","body","appendChild","className","display","composedPath","some","el","disconnectedCallback","cleanupPositioner","remove","toggle","changedProps","updated","has","setupPositioner","innerHTML","triggerContainer","teleportContentToPortal","autoUpdate","computePosition","middleware","offset","flip","fallbackPlacements","shift","padding","then","x","y","Object","assign","contentElements","forEach","element","clonedElement","cloneNode","tagName","toLowerCase","addEventListener","contentDiv","shadowRoot","querySelector","classList","add","e","stopPropagation","render","html","handleTriggerClick","__decorateClass","property","type","Boolean","reflect","prototype","String","Number","query","queryAssignedElements","flatten","state","slot","customElement","SchmancyDropdownContent","TailwindElement","width","maxHeight","shadow","radius","classes","styles","classMap","styleMap"],"mappings":"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"}
1
+ {"version":3,"file":"dropdown-content-BE4l5-bF.cjs","sources":["../src/dropdown/dropdown-component.ts","../src/dropdown/dropdown-content.ts"],"sourcesContent":["import { autoUpdate, computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { filter, fromEvent, takeUntil } from 'rxjs'\n\n/**\n * A dropdown component that displays content when triggered.\n *\n * @element schmancy-dropdown\n * @slot trigger - The element that triggers the dropdown\n * @slot - Default slot for the dropdown content\n */\n@customElement('schmancy-dropdown')\nexport class SchmancyDropdown extends $LitElement(css`\n\t:host {\n\t\tdisplay: inline-block;\n\t\tposition: relative;\n\t}\n`) {\n\t/**\n\t * Whether the dropdown is currently open\n\t */\n\t@property({ type: Boolean, reflect: true })\n\topen = false\n\n\t/**\n\t * Placement of the dropdown relative to the trigger\n\t */\n\t@property({ type: String })\n\tplacement:\n\t\t| 'top'\n\t\t| 'top-start'\n\t\t| 'top-end'\n\t\t| 'right'\n\t\t| 'right-start'\n\t\t| 'right-end'\n\t\t| 'bottom'\n\t\t| 'bottom-start'\n\t\t| 'bottom-end'\n\t\t| 'left'\n\t\t| 'left-start'\n\t\t| 'left-end' = 'bottom-start'\n\n\t/**\n\t * Offset distance in pixels\n\t */\n\t@property({ type: Number })\n\tdistance = 8\n\n\t@query('.trigger-container') triggerContainer!: HTMLElement\n\t@query('.dropdown-content-container') contentContainer!: HTMLElement\n\t@queryAssignedElements({ flatten: true }) contentElements!: HTMLElement[]\n\t@state() private portal: HTMLElement | null = null\n\n\t@queryAssignedElements({ slot: 'trigger', flatten: true })\n\ttriggerElements!: Array<HTMLElement>\n\n\tprivate cleanupPositioner?: () => void\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Create portal container for teleporting content to document body\n\t\tthis.setupPortal()\n\n\t\t// Listen for document clicks to close dropdown when clicking outside\n\t\tfromEvent<MouseEvent>(document, 'click')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => this.open && !this.isEventFromSelf(event)),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.open = false\n\t\t\t})\n\n\t\t// Listen for escape key to close dropdown\n\t\tfromEvent<KeyboardEvent>(document, 'keydown')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => this.open && event.key === 'Escape'),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.open = false\n\t\t\t})\n\t}\n\n\t/**\n\t * Set up the portal element for teleporting content\n\t */\n\tprivate setupPortal() {\n\t\t// Check if portal container exists\n\t\tlet portalContainer = document.getElementById('schmancy-portal-container')\n\n\t\t// Create portal container if it doesn't exist\n\t\tif (!portalContainer) {\n\t\t\tportalContainer = document.createElement('div')\n\t\t\tportalContainer.id = 'schmancy-portal-container'\n\t\t\tportalContainer.style.position = 'fixed'\n\t\t\tportalContainer.style.zIndex = '10000'\n\t\t\tportalContainer.style.top = '0'\n\t\t\tportalContainer.style.left = '0'\n\t\t\tportalContainer.style.pointerEvents = 'none'\n\t\t\tdocument.body.appendChild(portalContainer)\n\t\t}\n\n\t\t// Create portal for this specific dropdown\n\t\tconst portal = document.createElement('div')\n\t\tportal.className = 'schmancy-dropdown-portal'\n\t\tportal.style.position = 'absolute'\n\t\tportal.style.pointerEvents = 'auto'\n\t\tportal.style.display = 'none'\n\t\tportalContainer.appendChild(portal)\n\n\t\tthis.portal = portal\n\t}\n\n\t/**\n\t * Check if an event originated from within this component\n\t */\n\tprivate isEventFromSelf(event: Event): boolean {\n\t\treturn event.composedPath().some(el => el === this)\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.cleanupPositioner?.()\n\n\t\t// Remove portal when component is disconnected\n\t\tif (this.portal) {\n\t\t\tthis.portal.remove()\n\t\t\tthis.portal = null\n\t\t}\n\n\t\tsuper.disconnectedCallback()\n\t}\n\n\t/**\n\t * Toggle the dropdown open state\n\t */\n\ttoggle() {\n\t\tthis.open = !this.open\n\t}\n\n\tupdated(changedProps: Map<string, any>) {\n\t\tsuper.updated(changedProps)\n\n\t\tif (changedProps.has('open')) {\n\t\t\tif (this.open) {\n\t\t\t\tthis.setupPositioner()\n\t\t\t} else {\n\t\t\t\tthis.cleanupPositioner?.()\n\n\t\t\t\t// Hide portal when dropdown is closed\n\t\t\t\tif (this.portal) {\n\t\t\t\t\tthis.portal.style.display = 'none'\n\t\t\t\t\tthis.portal.innerHTML = ''\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Setup floating UI positioning with teleportation\n\t */\n\tprivate setupPositioner() {\n\t\tif (!this.triggerContainer || !this.portal) return\n\n\t\t// Show the portal\n\t\tthis.portal.style.display = 'block'\n\n\t\t// Move content to portal\n\t\tthis.teleportContentToPortal()\n\n\t\t// Setup positioning\n\t\tthis.cleanupPositioner = autoUpdate(this.triggerContainer, this.portal, () => {\n\t\t\tcomputePosition(this.triggerContainer, this.portal, {\n\t\t\t\tplacement: this.placement,\n\t\t\t\tmiddleware: [\n\t\t\t\t\toffset(this.distance),\n\t\t\t\t\tflip({\n\t\t\t\t\t\tfallbackPlacements: ['top-start', 'bottom-start'],\n\t\t\t\t\t}),\n\t\t\t\t\tshift({ padding: 0 }),\n\t\t\t\t],\n\t\t\t}).then(({ x, y }) => {\n\t\t\t\t// Update portal position\n\t\t\t\tObject.assign(this.portal.style, {\n\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\ttop: `${y - 8}px`,\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\t}\n\n\t/**\n\t * Move slotted content to the portal\n\t */\n\tprivate teleportContentToPortal() {\n\t\tif (!this.portal) return\n\n\t\t// Clear existing content\n\t\tthis.portal.innerHTML = ''\n\n\t\t// Clone and move slotted content to portal\n\t\tthis.contentElements.forEach(element => {\n\t\t\t// Get computed styles to ensure portal content matches original styling\n\t\t\tconst clonedElement = element.cloneNode(true) as HTMLElement\n\n\t\t\t// Ensure dropdown-content elements maintain their styles when teleported\n\t\t\tif (element.tagName.toLowerCase() === 'schmancy-dropdown-content') {\n\t\t\t\tclonedElement.addEventListener('slotchange', () => {\n\t\t\t\t\t// Propagate any slot changes to class changes on children\n\t\t\t\t\tconst contentDiv = clonedElement.shadowRoot?.querySelector('[part=\"content\"]')\n\t\t\t\t\tif (contentDiv) {\n\t\t\t\t\t\tcontentDiv.classList.add('schmancy-dropdown-content')\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tthis.portal?.appendChild(clonedElement)\n\t\t})\n\t}\n\n\t/**\n\t * Handle trigger click to toggle dropdown\n\t */\n\tprivate handleTriggerClick(e: Event) {\n\t\te.stopPropagation()\n\t\tthis.toggle()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"trigger-container\" @click=${this.handleTriggerClick}>\n\t\t\t\t<slot name=\"trigger\"></slot>\n\t\t\t</div>\n\n\t\t\t<div class=\"dropdown-content-container\" ?hidden=${!this.open}>\n\t\t\t\t<slot\n\t\t\t\t\t@slotchange=${() => {\n\t\t\t\t\t\tif (this.open) {\n\t\t\t\t\t\t\tthis.teleportContentToPortal()\n\t\t\t\t\t\t\tthis.setupPositioner()\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-dropdown': SchmancyDropdown\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n/**\n * Content container for the schmancy-dropdown component.\n *\n * @element schmancy-dropdown-content\n * @slot - Default slot for dropdown content\n */\n@customElement('schmancy-dropdown-content')\nexport class SchmancyDropdownContent extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\tz-index: 1000;\n\t\tmin-width: 10rem;\n\t\tmargin: 0;\n\t\ttext-align: left;\n\t\tlist-style: none;\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\n\t\tbackground-clip: padding-box;\n\t\tborder-radius: 0.375rem;\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t\twill-change: transform;\n\t\ttransform-origin: top left;\n\t\tanimation: dropdownAnimation 0.1s ease-out forwards;\n\t}\n\n\t:host([hidden]) {\n\t\tdisplay: none;\n\t}\n\n\t@keyframes dropdownAnimation {\n\t\tfrom {\n\t\t\topacity: 0;\n\t\t\ttransform: scale(0.95);\n\t\t}\n\t\tto {\n\t\t\topacity: 1;\n\t\t\ttransform: scale(1);\n\t\t}\n\t}\n\n\t/* Apply styles to content both in the component and when teleported to the portal */\n\t.schmancy-dropdown-content {\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\n\t\tborder-radius: 0.375rem;\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t\twill-change: transform;\n\t\ttransform-origin: top left;\n\t\tanimation: dropdownAnimation 0.1s ease-out forwards;\n\t}\n`) {\n\t/**\n\t * Width of the dropdown content\n\t */\n\t@property({ type: String })\n\twidth: string = 'auto'\n\n\t/**\n\t * Maximum height of the dropdown content\n\t */\n\t@property({ type: String })\n\tmaxHeight: string = '80vh'\n\n\t/**\n\t * Whether to render with a shadow\n\t */\n\t@property({ type: Boolean })\n\tshadow: boolean = true\n\n\t/**\n\t * Border radius style\n\t */\n\t@property({ type: String })\n\tradius: 'none' | 'sm' | 'md' | 'lg' | 'full' = 'md'\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'schmancy-dropdown-content': true,\n\t\t\t'overflow-auto': true,\n\t\t\t'shadow-none': !this.shadow,\n\t\t\t'rounded-none': this.radius === 'none',\n\t\t\t'rounded-sm': this.radius === 'sm',\n\t\t\t'rounded-md': this.radius === 'md',\n\t\t\t'rounded-lg': this.radius === 'lg',\n\t\t\t'rounded-full': this.radius === 'full',\n\t\t}\n\n\t\tconst styles = {\n\t\t\twidth: this.width,\n\t\t\tmaxHeight: this.maxHeight,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=${this.classMap(classes)} style=${this.styleMap(styles)} part=\"content\">\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-dropdown-content': SchmancyDropdownContent\n\t}\n}\n"],"names":["SchmancyDropdown","$LitElement","css","constructor","super","arguments","this","open","placement","distance","portal","connectedCallback","setupPortal","fromEvent","document","pipe","filter","isEventFromSelf","event","takeUntil","disconnecting","subscribe","key","portalContainer","getElementById","createElement","id","style","position","zIndex","top","left","pointerEvents","body","appendChild","className","display","composedPath","some","el","disconnectedCallback","cleanupPositioner","remove","toggle","changedProps","updated","has","setupPositioner","innerHTML","triggerContainer","teleportContentToPortal","autoUpdate","computePosition","middleware","offset","flip","fallbackPlacements","shift","padding","then","x","y","Object","assign","contentElements","forEach","element","clonedElement","cloneNode","tagName","toLowerCase","addEventListener","contentDiv","shadowRoot","querySelector","classList","add","e","stopPropagation","render","html","handleTriggerClick","__decorateClass","property","type","Boolean","reflect","prototype","String","Number","query","queryAssignedElements","flatten","state","slot","customElement","SchmancyDropdownContent","TailwindElement","width","maxHeight","shadow","radius","classes","styles","classMap","styleMap"],"mappings":"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"}
@@ -2,13 +2,13 @@ import { autoUpdate as v, computePosition as k, offset as P, flip as x, shift as
2
2
  import { fromEvent as h, filter as m, takeUntil as y } from "rxjs";
3
3
  import "lit/directives/class-map.js";
4
4
  import "lit/directives/style-map.js";
5
- import { $ as E } from "./litElement.mixin-BH9PTyUD.js";
6
- import { T as S } from "./tailwind.mixin-CaIkmP6j.js";
5
+ import { $ as E } from "./litElement.mixin-sRUdAQbg.js";
6
+ import { T as S } from "./tailwind.mixin-tQQ1rtff.js";
7
7
  import { property as l, query as u, queryAssignedElements as g, state as T, customElement as f } from "lit/decorators.js";
8
8
  import { css as w, html as b } from "lit";
9
- var O = Object.defineProperty, $ = Object.getOwnPropertyDescriptor, a = (t, e, n, r) => {
10
- for (var i, o = r > 1 ? void 0 : r ? $(e, n) : e, p = t.length - 1; p >= 0; p--) (i = t[p]) && (o = (r ? i(e, n, o) : i(o)) || o);
11
- return r && o && O(e, n, o), o;
9
+ var $ = Object.defineProperty, O = Object.getOwnPropertyDescriptor, a = (t, e, n, r) => {
10
+ for (var i, o = r > 1 ? void 0 : r ? O(e, n) : e, p = t.length - 1; p >= 0; p--) (i = t[p]) && (o = (r ? i(e, n, o) : i(o)) || o);
11
+ return r && o && $(e, n, o), o;
12
12
  };
13
13
  let s = class extends E(w`
14
14
  :host {
@@ -144,4 +144,4 @@ export {
144
144
  s as S,
145
145
  c as a
146
146
  };
147
- //# sourceMappingURL=dropdown-content-DOnGrBxV.js.map
147
+ //# sourceMappingURL=dropdown-content-Bki0sMG1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-content-DOnGrBxV.js","sources":["../src/dropdown/dropdown-component.ts","../src/dropdown/dropdown-content.ts"],"sourcesContent":["import { autoUpdate, computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { filter, fromEvent, takeUntil } from 'rxjs'\n\n/**\n * A dropdown component that displays content when triggered.\n *\n * @element schmancy-dropdown\n * @slot trigger - The element that triggers the dropdown\n * @slot - Default slot for the dropdown content\n */\n@customElement('schmancy-dropdown')\nexport class SchmancyDropdown extends $LitElement(css`\n\t:host {\n\t\tdisplay: inline-block;\n\t\tposition: relative;\n\t}\n`) {\n\t/**\n\t * Whether the dropdown is currently open\n\t */\n\t@property({ type: Boolean, reflect: true })\n\topen = false\n\n\t/**\n\t * Placement of the dropdown relative to the trigger\n\t */\n\t@property({ type: String })\n\tplacement:\n\t\t| 'top'\n\t\t| 'top-start'\n\t\t| 'top-end'\n\t\t| 'right'\n\t\t| 'right-start'\n\t\t| 'right-end'\n\t\t| 'bottom'\n\t\t| 'bottom-start'\n\t\t| 'bottom-end'\n\t\t| 'left'\n\t\t| 'left-start'\n\t\t| 'left-end' = 'bottom-start'\n\n\t/**\n\t * Offset distance in pixels\n\t */\n\t@property({ type: Number })\n\tdistance = 8\n\n\t@query('.trigger-container') triggerContainer!: HTMLElement\n\t@query('.dropdown-content-container') contentContainer!: HTMLElement\n\t@queryAssignedElements({ flatten: true }) contentElements!: HTMLElement[]\n\t@state() private portal: HTMLElement | null = null\n\n\t@queryAssignedElements({ slot: 'trigger', flatten: true })\n\ttriggerElements!: Array<HTMLElement>\n\n\tprivate cleanupPositioner?: () => void\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Create portal container for teleporting content to document body\n\t\tthis.setupPortal()\n\n\t\t// Listen for document clicks to close dropdown when clicking outside\n\t\tfromEvent<MouseEvent>(document, 'click')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => this.open && !this.isEventFromSelf(event)),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.open = false\n\t\t\t})\n\n\t\t// Listen for escape key to close dropdown\n\t\tfromEvent<KeyboardEvent>(document, 'keydown')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => this.open && event.key === 'Escape'),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.open = false\n\t\t\t})\n\t}\n\n\t/**\n\t * Set up the portal element for teleporting content\n\t */\n\tprivate setupPortal() {\n\t\t// Check if portal container exists\n\t\tlet portalContainer = document.getElementById('schmancy-portal-container')\n\n\t\t// Create portal container if it doesn't exist\n\t\tif (!portalContainer) {\n\t\t\tportalContainer = document.createElement('div')\n\t\t\tportalContainer.id = 'schmancy-portal-container'\n\t\t\tportalContainer.style.position = 'fixed'\n\t\t\tportalContainer.style.zIndex = '10000'\n\t\t\tportalContainer.style.top = '0'\n\t\t\tportalContainer.style.left = '0'\n\t\t\tportalContainer.style.pointerEvents = 'none'\n\t\t\tdocument.body.appendChild(portalContainer)\n\t\t}\n\n\t\t// Create portal for this specific dropdown\n\t\tconst portal = document.createElement('div')\n\t\tportal.className = 'schmancy-dropdown-portal'\n\t\tportal.style.position = 'absolute'\n\t\tportal.style.pointerEvents = 'auto'\n\t\tportal.style.display = 'none'\n\t\tportalContainer.appendChild(portal)\n\n\t\tthis.portal = portal\n\t}\n\n\t/**\n\t * Check if an event originated from within this component\n\t */\n\tprivate isEventFromSelf(event: Event): boolean {\n\t\treturn event.composedPath().some(el => el === this)\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.cleanupPositioner?.()\n\n\t\t// Remove portal when component is disconnected\n\t\tif (this.portal) {\n\t\t\tthis.portal.remove()\n\t\t\tthis.portal = null\n\t\t}\n\n\t\tsuper.disconnectedCallback()\n\t}\n\n\t/**\n\t * Toggle the dropdown open state\n\t */\n\ttoggle() {\n\t\tthis.open = !this.open\n\t}\n\n\tupdated(changedProps: Map<string, any>) {\n\t\tsuper.updated(changedProps)\n\n\t\tif (changedProps.has('open')) {\n\t\t\tif (this.open) {\n\t\t\t\tthis.setupPositioner()\n\t\t\t} else {\n\t\t\t\tthis.cleanupPositioner?.()\n\n\t\t\t\t// Hide portal when dropdown is closed\n\t\t\t\tif (this.portal) {\n\t\t\t\t\tthis.portal.style.display = 'none'\n\t\t\t\t\tthis.portal.innerHTML = ''\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Setup floating UI positioning with teleportation\n\t */\n\tprivate setupPositioner() {\n\t\tif (!this.triggerContainer || !this.portal) return\n\n\t\t// Show the portal\n\t\tthis.portal.style.display = 'block'\n\n\t\t// Move content to portal\n\t\tthis.teleportContentToPortal()\n\n\t\t// Setup positioning\n\t\tthis.cleanupPositioner = autoUpdate(this.triggerContainer, this.portal, () => {\n\t\t\tcomputePosition(this.triggerContainer, this.portal, {\n\t\t\t\tplacement: this.placement,\n\t\t\t\tmiddleware: [\n\t\t\t\t\toffset(this.distance),\n\t\t\t\t\tflip({\n\t\t\t\t\t\tfallbackPlacements: ['top-start', 'bottom-start'],\n\t\t\t\t\t}),\n\t\t\t\t\tshift({ padding: 0 }),\n\t\t\t\t],\n\t\t\t}).then(({ x, y }) => {\n\t\t\t\t// Update portal position\n\t\t\t\tObject.assign(this.portal.style, {\n\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\ttop: `${y - 8}px`,\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\t}\n\n\t/**\n\t * Move slotted content to the portal\n\t */\n\tprivate teleportContentToPortal() {\n\t\tif (!this.portal) return\n\n\t\t// Clear existing content\n\t\tthis.portal.innerHTML = ''\n\n\t\t// Clone and move slotted content to portal\n\t\tthis.contentElements.forEach(element => {\n\t\t\t// Get computed styles to ensure portal content matches original styling\n\t\t\tconst clonedElement = element.cloneNode(true) as HTMLElement\n\n\t\t\t// Ensure dropdown-content elements maintain their styles when teleported\n\t\t\tif (element.tagName.toLowerCase() === 'schmancy-dropdown-content') {\n\t\t\t\tclonedElement.addEventListener('slotchange', () => {\n\t\t\t\t\t// Propagate any slot changes to class changes on children\n\t\t\t\t\tconst contentDiv = clonedElement.shadowRoot?.querySelector('[part=\"content\"]')\n\t\t\t\t\tif (contentDiv) {\n\t\t\t\t\t\tcontentDiv.classList.add('schmancy-dropdown-content')\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tthis.portal?.appendChild(clonedElement)\n\t\t})\n\t}\n\n\t/**\n\t * Handle trigger click to toggle dropdown\n\t */\n\tprivate handleTriggerClick(e: Event) {\n\t\te.stopPropagation()\n\t\tthis.toggle()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"trigger-container\" @click=${this.handleTriggerClick}>\n\t\t\t\t<slot name=\"trigger\"></slot>\n\t\t\t</div>\n\n\t\t\t<div class=\"dropdown-content-container\" ?hidden=${!this.open}>\n\t\t\t\t<slot\n\t\t\t\t\t@slotchange=${() => {\n\t\t\t\t\t\tif (this.open) {\n\t\t\t\t\t\t\tthis.teleportContentToPortal()\n\t\t\t\t\t\t\tthis.setupPositioner()\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-dropdown': SchmancyDropdown\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n/**\n * Content container for the schmancy-dropdown component.\n *\n * @element schmancy-dropdown-content\n * @slot - Default slot for dropdown content\n */\n@customElement('schmancy-dropdown-content')\nexport class SchmancyDropdownContent extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\tz-index: 1000;\n\t\tmin-width: 10rem;\n\t\tmargin: 0;\n\t\ttext-align: left;\n\t\tlist-style: none;\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\n\t\tbackground-clip: padding-box;\n\t\tborder-radius: 0.375rem;\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t\twill-change: transform;\n\t\ttransform-origin: top left;\n\t\tanimation: dropdownAnimation 0.1s ease-out forwards;\n\t}\n\n\t:host([hidden]) {\n\t\tdisplay: none;\n\t}\n\n\t@keyframes dropdownAnimation {\n\t\tfrom {\n\t\t\topacity: 0;\n\t\t\ttransform: scale(0.95);\n\t\t}\n\t\tto {\n\t\t\topacity: 1;\n\t\t\ttransform: scale(1);\n\t\t}\n\t}\n\n\t/* Apply styles to content both in the component and when teleported to the portal */\n\t.schmancy-dropdown-content {\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\n\t\tborder-radius: 0.375rem;\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t\twill-change: transform;\n\t\ttransform-origin: top left;\n\t\tanimation: dropdownAnimation 0.1s ease-out forwards;\n\t}\n`) {\n\t/**\n\t * Width of the dropdown content\n\t */\n\t@property({ type: String })\n\twidth: string = 'auto'\n\n\t/**\n\t * Maximum height of the dropdown content\n\t */\n\t@property({ type: String })\n\tmaxHeight: string = '80vh'\n\n\t/**\n\t * Whether to render with a shadow\n\t */\n\t@property({ type: Boolean })\n\tshadow: boolean = true\n\n\t/**\n\t * Border radius style\n\t */\n\t@property({ type: String })\n\tradius: 'none' | 'sm' | 'md' | 'lg' | 'full' = 'md'\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'schmancy-dropdown-content': true,\n\t\t\t'overflow-auto': true,\n\t\t\t'shadow-none': !this.shadow,\n\t\t\t'rounded-none': this.radius === 'none',\n\t\t\t'rounded-sm': this.radius === 'sm',\n\t\t\t'rounded-md': this.radius === 'md',\n\t\t\t'rounded-lg': this.radius === 'lg',\n\t\t\t'rounded-full': this.radius === 'full',\n\t\t}\n\n\t\tconst styles = {\n\t\t\twidth: this.width,\n\t\t\tmaxHeight: this.maxHeight,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=${this.classMap(classes)} style=${this.styleMap(styles)} part=\"content\">\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-dropdown-content': SchmancyDropdownContent\n\t}\n}\n"],"names":["SchmancyDropdown","$LitElement","css","constructor","super","arguments","this","open","placement","distance","portal","connectedCallback","setupPortal","fromEvent","document","pipe","filter","isEventFromSelf","event","takeUntil","disconnecting","subscribe","key","portalContainer","getElementById","createElement","id","style","position","zIndex","top","left","pointerEvents","body","appendChild","className","display","composedPath","some","el","disconnectedCallback","cleanupPositioner","remove","toggle","changedProps","updated","has","setupPositioner","innerHTML","triggerContainer","teleportContentToPortal","autoUpdate","computePosition","middleware","offset","flip","fallbackPlacements","shift","padding","then","x","y","Object","assign","contentElements","forEach","element","clonedElement","cloneNode","tagName","toLowerCase","addEventListener","contentDiv","shadowRoot","querySelector","classList","add","e","stopPropagation","render","html","handleTriggerClick","__decorateClass","property","type","Boolean","reflect","prototype","String","Number","query","queryAssignedElements","flatten","state","slot","customElement","SchmancyDropdownContent","TailwindElement","width","maxHeight","shadow","radius","classes","styles","classMap","styleMap"],"mappings":"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"}
1
+ {"version":3,"file":"dropdown-content-Bki0sMG1.js","sources":["../src/dropdown/dropdown-component.ts","../src/dropdown/dropdown-content.ts"],"sourcesContent":["import { autoUpdate, computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { filter, fromEvent, takeUntil } from 'rxjs'\n\n/**\n * A dropdown component that displays content when triggered.\n *\n * @element schmancy-dropdown\n * @slot trigger - The element that triggers the dropdown\n * @slot - Default slot for the dropdown content\n */\n@customElement('schmancy-dropdown')\nexport class SchmancyDropdown extends $LitElement(css`\n\t:host {\n\t\tdisplay: inline-block;\n\t\tposition: relative;\n\t}\n`) {\n\t/**\n\t * Whether the dropdown is currently open\n\t */\n\t@property({ type: Boolean, reflect: true })\n\topen = false\n\n\t/**\n\t * Placement of the dropdown relative to the trigger\n\t */\n\t@property({ type: String })\n\tplacement:\n\t\t| 'top'\n\t\t| 'top-start'\n\t\t| 'top-end'\n\t\t| 'right'\n\t\t| 'right-start'\n\t\t| 'right-end'\n\t\t| 'bottom'\n\t\t| 'bottom-start'\n\t\t| 'bottom-end'\n\t\t| 'left'\n\t\t| 'left-start'\n\t\t| 'left-end' = 'bottom-start'\n\n\t/**\n\t * Offset distance in pixels\n\t */\n\t@property({ type: Number })\n\tdistance = 8\n\n\t@query('.trigger-container') triggerContainer!: HTMLElement\n\t@query('.dropdown-content-container') contentContainer!: HTMLElement\n\t@queryAssignedElements({ flatten: true }) contentElements!: HTMLElement[]\n\t@state() private portal: HTMLElement | null = null\n\n\t@queryAssignedElements({ slot: 'trigger', flatten: true })\n\ttriggerElements!: Array<HTMLElement>\n\n\tprivate cleanupPositioner?: () => void\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Create portal container for teleporting content to document body\n\t\tthis.setupPortal()\n\n\t\t// Listen for document clicks to close dropdown when clicking outside\n\t\tfromEvent<MouseEvent>(document, 'click')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => this.open && !this.isEventFromSelf(event)),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.open = false\n\t\t\t})\n\n\t\t// Listen for escape key to close dropdown\n\t\tfromEvent<KeyboardEvent>(document, 'keydown')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => this.open && event.key === 'Escape'),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.open = false\n\t\t\t})\n\t}\n\n\t/**\n\t * Set up the portal element for teleporting content\n\t */\n\tprivate setupPortal() {\n\t\t// Check if portal container exists\n\t\tlet portalContainer = document.getElementById('schmancy-portal-container')\n\n\t\t// Create portal container if it doesn't exist\n\t\tif (!portalContainer) {\n\t\t\tportalContainer = document.createElement('div')\n\t\t\tportalContainer.id = 'schmancy-portal-container'\n\t\t\tportalContainer.style.position = 'fixed'\n\t\t\tportalContainer.style.zIndex = '10000'\n\t\t\tportalContainer.style.top = '0'\n\t\t\tportalContainer.style.left = '0'\n\t\t\tportalContainer.style.pointerEvents = 'none'\n\t\t\tdocument.body.appendChild(portalContainer)\n\t\t}\n\n\t\t// Create portal for this specific dropdown\n\t\tconst portal = document.createElement('div')\n\t\tportal.className = 'schmancy-dropdown-portal'\n\t\tportal.style.position = 'absolute'\n\t\tportal.style.pointerEvents = 'auto'\n\t\tportal.style.display = 'none'\n\t\tportalContainer.appendChild(portal)\n\n\t\tthis.portal = portal\n\t}\n\n\t/**\n\t * Check if an event originated from within this component\n\t */\n\tprivate isEventFromSelf(event: Event): boolean {\n\t\treturn event.composedPath().some(el => el === this)\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.cleanupPositioner?.()\n\n\t\t// Remove portal when component is disconnected\n\t\tif (this.portal) {\n\t\t\tthis.portal.remove()\n\t\t\tthis.portal = null\n\t\t}\n\n\t\tsuper.disconnectedCallback()\n\t}\n\n\t/**\n\t * Toggle the dropdown open state\n\t */\n\ttoggle() {\n\t\tthis.open = !this.open\n\t}\n\n\tupdated(changedProps: Map<string, any>) {\n\t\tsuper.updated(changedProps)\n\n\t\tif (changedProps.has('open')) {\n\t\t\tif (this.open) {\n\t\t\t\tthis.setupPositioner()\n\t\t\t} else {\n\t\t\t\tthis.cleanupPositioner?.()\n\n\t\t\t\t// Hide portal when dropdown is closed\n\t\t\t\tif (this.portal) {\n\t\t\t\t\tthis.portal.style.display = 'none'\n\t\t\t\t\tthis.portal.innerHTML = ''\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Setup floating UI positioning with teleportation\n\t */\n\tprivate setupPositioner() {\n\t\tif (!this.triggerContainer || !this.portal) return\n\n\t\t// Show the portal\n\t\tthis.portal.style.display = 'block'\n\n\t\t// Move content to portal\n\t\tthis.teleportContentToPortal()\n\n\t\t// Setup positioning\n\t\tthis.cleanupPositioner = autoUpdate(this.triggerContainer, this.portal, () => {\n\t\t\tcomputePosition(this.triggerContainer, this.portal, {\n\t\t\t\tplacement: this.placement,\n\t\t\t\tmiddleware: [\n\t\t\t\t\toffset(this.distance),\n\t\t\t\t\tflip({\n\t\t\t\t\t\tfallbackPlacements: ['top-start', 'bottom-start'],\n\t\t\t\t\t}),\n\t\t\t\t\tshift({ padding: 0 }),\n\t\t\t\t],\n\t\t\t}).then(({ x, y }) => {\n\t\t\t\t// Update portal position\n\t\t\t\tObject.assign(this.portal.style, {\n\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\ttop: `${y - 8}px`,\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\t}\n\n\t/**\n\t * Move slotted content to the portal\n\t */\n\tprivate teleportContentToPortal() {\n\t\tif (!this.portal) return\n\n\t\t// Clear existing content\n\t\tthis.portal.innerHTML = ''\n\n\t\t// Clone and move slotted content to portal\n\t\tthis.contentElements.forEach(element => {\n\t\t\t// Get computed styles to ensure portal content matches original styling\n\t\t\tconst clonedElement = element.cloneNode(true) as HTMLElement\n\n\t\t\t// Ensure dropdown-content elements maintain their styles when teleported\n\t\t\tif (element.tagName.toLowerCase() === 'schmancy-dropdown-content') {\n\t\t\t\tclonedElement.addEventListener('slotchange', () => {\n\t\t\t\t\t// Propagate any slot changes to class changes on children\n\t\t\t\t\tconst contentDiv = clonedElement.shadowRoot?.querySelector('[part=\"content\"]')\n\t\t\t\t\tif (contentDiv) {\n\t\t\t\t\t\tcontentDiv.classList.add('schmancy-dropdown-content')\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tthis.portal?.appendChild(clonedElement)\n\t\t})\n\t}\n\n\t/**\n\t * Handle trigger click to toggle dropdown\n\t */\n\tprivate handleTriggerClick(e: Event) {\n\t\te.stopPropagation()\n\t\tthis.toggle()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"trigger-container\" @click=${this.handleTriggerClick}>\n\t\t\t\t<slot name=\"trigger\"></slot>\n\t\t\t</div>\n\n\t\t\t<div class=\"dropdown-content-container\" ?hidden=${!this.open}>\n\t\t\t\t<slot\n\t\t\t\t\t@slotchange=${() => {\n\t\t\t\t\t\tif (this.open) {\n\t\t\t\t\t\t\tthis.teleportContentToPortal()\n\t\t\t\t\t\t\tthis.setupPositioner()\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-dropdown': SchmancyDropdown\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n/**\n * Content container for the schmancy-dropdown component.\n *\n * @element schmancy-dropdown-content\n * @slot - Default slot for dropdown content\n */\n@customElement('schmancy-dropdown-content')\nexport class SchmancyDropdownContent extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\tz-index: 1000;\n\t\tmin-width: 10rem;\n\t\tmargin: 0;\n\t\ttext-align: left;\n\t\tlist-style: none;\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\n\t\tbackground-clip: padding-box;\n\t\tborder-radius: 0.375rem;\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t\twill-change: transform;\n\t\ttransform-origin: top left;\n\t\tanimation: dropdownAnimation 0.1s ease-out forwards;\n\t}\n\n\t:host([hidden]) {\n\t\tdisplay: none;\n\t}\n\n\t@keyframes dropdownAnimation {\n\t\tfrom {\n\t\t\topacity: 0;\n\t\t\ttransform: scale(0.95);\n\t\t}\n\t\tto {\n\t\t\topacity: 1;\n\t\t\ttransform: scale(1);\n\t\t}\n\t}\n\n\t/* Apply styles to content both in the component and when teleported to the portal */\n\t.schmancy-dropdown-content {\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\n\t\tborder-radius: 0.375rem;\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t\twill-change: transform;\n\t\ttransform-origin: top left;\n\t\tanimation: dropdownAnimation 0.1s ease-out forwards;\n\t}\n`) {\n\t/**\n\t * Width of the dropdown content\n\t */\n\t@property({ type: String })\n\twidth: string = 'auto'\n\n\t/**\n\t * Maximum height of the dropdown content\n\t */\n\t@property({ type: String })\n\tmaxHeight: string = '80vh'\n\n\t/**\n\t * Whether to render with a shadow\n\t */\n\t@property({ type: Boolean })\n\tshadow: boolean = true\n\n\t/**\n\t * Border radius style\n\t */\n\t@property({ type: String })\n\tradius: 'none' | 'sm' | 'md' | 'lg' | 'full' = 'md'\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'schmancy-dropdown-content': true,\n\t\t\t'overflow-auto': true,\n\t\t\t'shadow-none': !this.shadow,\n\t\t\t'rounded-none': this.radius === 'none',\n\t\t\t'rounded-sm': this.radius === 'sm',\n\t\t\t'rounded-md': this.radius === 'md',\n\t\t\t'rounded-lg': this.radius === 'lg',\n\t\t\t'rounded-full': this.radius === 'full',\n\t\t}\n\n\t\tconst styles = {\n\t\t\twidth: this.width,\n\t\t\tmaxHeight: this.maxHeight,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=${this.classMap(classes)} style=${this.styleMap(styles)} part=\"content\">\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-dropdown-content': SchmancyDropdownContent\n\t}\n}\n"],"names":["SchmancyDropdown","$LitElement","css","constructor","super","arguments","this","open","placement","distance","portal","connectedCallback","setupPortal","fromEvent","document","pipe","filter","isEventFromSelf","event","takeUntil","disconnecting","subscribe","key","portalContainer","getElementById","createElement","id","style","position","zIndex","top","left","pointerEvents","body","appendChild","className","display","composedPath","some","el","disconnectedCallback","cleanupPositioner","remove","toggle","changedProps","updated","has","setupPositioner","innerHTML","triggerContainer","teleportContentToPortal","autoUpdate","computePosition","middleware","offset","flip","fallbackPlacements","shift","padding","then","x","y","Object","assign","contentElements","forEach","element","clonedElement","cloneNode","tagName","toLowerCase","addEventListener","contentDiv","shadowRoot","querySelector","classList","add","e","stopPropagation","render","html","handleTriggerClick","__decorateClass","property","type","Boolean","reflect","prototype","String","Number","query","queryAssignedElements","flatten","state","slot","customElement","SchmancyDropdownContent","TailwindElement","width","maxHeight","shadow","radius","classes","styles","classMap","styleMap"],"mappings":"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"}
package/dist/dropdown.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./dropdown-content-DJ4CA3ug.cjs");Object.defineProperty(exports,"SchmancyDropdown",{enumerable:!0,get:()=>e.SchmancyDropdown}),Object.defineProperty(exports,"SchmancyDropdownContent",{enumerable:!0,get:()=>e.SchmancyDropdownContent});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./dropdown-content-BE4l5-bF.cjs");Object.defineProperty(exports,"SchmancyDropdown",{enumerable:!0,get:()=>e.SchmancyDropdown}),Object.defineProperty(exports,"SchmancyDropdownContent",{enumerable:!0,get:()=>e.SchmancyDropdownContent});
2
2
  //# sourceMappingURL=dropdown.cjs.map
package/dist/dropdown.js CHANGED
@@ -1,4 +1,4 @@
1
- import { S as a, a as c } from "./dropdown-content-DOnGrBxV.js";
1
+ import { S as a, a as c } from "./dropdown-content-Bki0sMG1.js";
2
2
  export {
3
3
  a as SchmancyDropdown,
4
4
  c as SchmancyDropdownContent
package/dist/extra.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./timezone-UBBApQoU.cjs");Object.defineProperty(exports,"SchmancyCountriesSelect",{enumerable:!0,get:()=>e.SchmancyCountriesSelect}),Object.defineProperty(exports,"SchmancyTimezonesSelect",{enumerable:!0,get:()=>e.SchmancyTimezonesSelect});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./timezone-DvLRt3ML.cjs");Object.defineProperty(exports,"SchmancyCountriesSelect",{enumerable:!0,get:()=>e.SchmancyCountriesSelect}),Object.defineProperty(exports,"SchmancyTimezonesSelect",{enumerable:!0,get:()=>e.SchmancyTimezonesSelect});
2
2
  //# sourceMappingURL=extra.cjs.map
package/dist/extra.js CHANGED
@@ -1,4 +1,4 @@
1
- import { S as a, a as S } from "./timezone-Cvsd--fr.js";
1
+ import { S as a, a as S } from "./timezone-DB5BUvhB.js";
2
2
  export {
3
3
  a as SchmancyCountriesSelect,
4
4
  S as SchmancyTimezonesSelect
@@ -1,4 +1,4 @@
1
- "use strict";const d=require("lit"),t=require("lit/decorators.js"),b=require("lit/directives/class-map.js"),w=require("lit/directives/style-map.js"),y=require("rxjs"),m=require("./tailwind.mixin-DVKI3qb9.cjs");var S=Object.defineProperty,i=(e,s,n,p)=>{for(var l,o=void 0,c=e.length-1;c>=0;c--)(l=e[c])&&(o=l(s,n,o)||o);return o&&S(s,n,o),o};const u=class u extends m.TailwindElement(){constructor(){super(...arguments),this.layout=!0,this.center=void 0,this.display=void 0,this.overflow=void 0,this.overflowX=void 0,this.overflowY=void 0,this.position=void 0}connectedCallback(){super.connectedCallback(),this.style.setProperty("padding",this.padding??""),this.style.setProperty("margin",this.margin??""),this.style.setProperty("width",this.width??""),this.style.setProperty("height",this.height??""),this.style.setProperty("min-width",this.minWidth??""),this.style.setProperty("min-height",this.minHeight??""),this.style.setProperty("max-width",this.maxWidth??""),this.style.setProperty("max-height",this.maxHeight??""),this.style.setProperty("display",this.display??""),this.style.setProperty("overflow",this.overflow??""),this.style.setProperty("overflow-x",this.overflowX??""),this.style.setProperty("overflow-y",this.overflowY??""),this.style.setProperty("position",this.position??""),this.style.setProperty("top",this.top??""),this.style.setProperty("right",this.right??""),this.style.setProperty("bottom",this.bottom??""),this.style.setProperty("left",this.left??""),this.style.setProperty("inset",this.inset??""),this.style.setProperty("z-index",this.zIndex??""),this.style.setProperty("border",this.border??""),this.style.setProperty("border-top",this.borderTop??""),this.style.setProperty("border-right",this.borderRight??""),this.style.setProperty("border-bottom",this.borderBottom??""),this.style.setProperty("border-left",this.borderLeft??""),this.style.setProperty("border-color",this.borderColor??""),this.style.setProperty("border-radius",this.borderRadius??""),this.style.setProperty("border-width",this.borderWidth??""),this.style.setProperty("box-shadow",this.boxShadow??""),this.style.setProperty("opacity",this.opacity??""),this.style.setProperty("background",this.background??""),this.style.setProperty("background-image",this.backgroundImage??""),this.style.setProperty("background-position",this.backgroundPosition??""),this.style.setProperty("background-size",this.backgroundSize??""),this.style.setProperty("background-repeat",this.backgroundRepeat??""),this.style.setProperty("background-attachment",this.backgroundAttachment??""),this.style.setProperty("background-color",this.backgroundColor??""),this.style.setProperty("background-clip",this.backgroundClip??""),this.style.setProperty("background-origin",this.backgroundOrigin??""),this.style.setProperty("background-blend-mode",this.backgroundBlendMode??""),this.style.setProperty("filter",this.filter??""),this.style.setProperty("backdrop-filter",this.backdropFilter??""),this.center&&(this.style.setProperty("margin-left","auto"),this.style.setProperty("margin-right","auto"))}};u.styles=[u.styles];let r=u;i([t.property({type:Boolean})],r.prototype,"center"),i([t.property({type:String})],r.prototype,"padding"),i([t.property({type:String})],r.prototype,"margin"),i([t.property({type:String})],r.prototype,"width"),i([t.property({type:String})],r.prototype,"height"),i([t.property({type:String})],r.prototype,"minWidth"),i([t.property({type:String})],r.prototype,"minHeight"),i([t.property({type:String})],r.prototype,"maxWidth"),i([t.property({type:String})],r.prototype,"maxHeight"),i([t.property({type:String})],r.prototype,"display"),i([t.property({type:String})],r.prototype,"overflow"),i([t.property({type:String})],r.prototype,"overflowX"),i([t.property({type:String})],r.prototype,"overflowY"),i([t.property({type:String})],r.prototype,"position"),i([t.property({type:String})],r.prototype,"top"),i([t.property({type:String})],r.prototype,"right"),i([t.property({type:String})],r.prototype,"bottom"),i([t.property({type:String})],r.prototype,"left"),i([t.property({type:String})],r.prototype,"inset"),i([t.property({type:String})],r.prototype,"zIndex"),i([t.property({type:String})],r.prototype,"border"),i([t.property({type:String})],r.prototype,"borderTop"),i([t.property({type:String})],r.prototype,"borderRight"),i([t.property({type:String})],r.prototype,"borderBottom"),i([t.property({type:String})],r.prototype,"borderLeft"),i([t.property({type:String})],r.prototype,"borderColor"),i([t.property({type:String})],r.prototype,"borderRadius"),i([t.property({type:String})],r.prototype,"borderWidth"),i([t.property({type:String})],r.prototype,"boxShadow"),i([t.property({type:String})],r.prototype,"opacity"),i([t.property({type:String})],r.prototype,"background"),i([t.property({type:String})],r.prototype,"backgroundImage"),i([t.property({type:String})],r.prototype,"backgroundPosition"),i([t.property({type:String})],r.prototype,"backgroundSize"),i([t.property({type:String})],r.prototype,"backgroundRepeat"),i([t.property({type:String})],r.prototype,"backgroundAttachment"),i([t.property({type:String})],r.prototype,"backgroundColor"),i([t.property({type:String})],r.prototype,"backgroundClip"),i([t.property({type:String})],r.prototype,"backgroundOrigin"),i([t.property({type:String})],r.prototype,"backgroundBlendMode"),i([t.property({type:String})],r.prototype,"filter"),i([t.property({type:String})],r.prototype,"backdropFilter");var v=Object.defineProperty,x=Object.getOwnPropertyDescriptor,g=(e,s,n,p)=>{for(var l,o=p>1?void 0:p?x(s,n):s,c=e.length-1;c>=0;c--)(l=e[c])&&(o=(p?l(s,n,o):l(o))||o);return p&&o&&v(s,n,o),o};exports.SchmancyFlex=class extends r{constructor(){super(...arguments),this.layout=!0,this.flow="col",this.wrap="wrap",this.align="start",this.justify="start",this.gap="none"}render(){const e={flex:!0,"flex-col":this.flow==="row","flex-col-reverse":this.flow==="row-reverse","flex-row":this.flow==="col","flex-row-reverse":this.flow==="col-reverse","flex-wrap":this.wrap==="wrap","flex-wrap-reverse":this.wrap==="wrap-reverse","flex-nowrap":this.wrap==="nowrap","items-start":this.align==="start","items-center":this.align==="center","items-end":this.align==="end","items-stretch":this.align==="stretch","justify-baseline":this.align==="baseline","justify-center":this.justify==="center","justify-end":this.justify==="end","justify-start":this.justify==="start","justify-stretch":this.justify==="stretch","justify-between":this.justify==="between","gap-0":this.gap==="none","gap-2":this.gap==="sm","gap-4":this.gap==="md","gap-8":this.gap==="lg"};return d.html`
1
+ "use strict";const d=require("lit"),t=require("lit/decorators.js"),b=require("lit/directives/class-map.js"),w=require("lit/directives/style-map.js"),y=require("rxjs"),m=require("./tailwind.mixin-Dq2ayAFp.cjs");var S=Object.defineProperty,i=(e,s,n,p)=>{for(var l,o=void 0,c=e.length-1;c>=0;c--)(l=e[c])&&(o=l(s,n,o)||o);return o&&S(s,n,o),o};const u=class u extends m.TailwindElement(){constructor(){super(...arguments),this.layout=!0,this.center=void 0,this.display=void 0,this.overflow=void 0,this.overflowX=void 0,this.overflowY=void 0,this.position=void 0}connectedCallback(){super.connectedCallback(),this.style.setProperty("padding",this.padding??""),this.style.setProperty("margin",this.margin??""),this.style.setProperty("width",this.width??""),this.style.setProperty("height",this.height??""),this.style.setProperty("min-width",this.minWidth??""),this.style.setProperty("min-height",this.minHeight??""),this.style.setProperty("max-width",this.maxWidth??""),this.style.setProperty("max-height",this.maxHeight??""),this.style.setProperty("display",this.display??""),this.style.setProperty("overflow",this.overflow??""),this.style.setProperty("overflow-x",this.overflowX??""),this.style.setProperty("overflow-y",this.overflowY??""),this.style.setProperty("position",this.position??""),this.style.setProperty("top",this.top??""),this.style.setProperty("right",this.right??""),this.style.setProperty("bottom",this.bottom??""),this.style.setProperty("left",this.left??""),this.style.setProperty("inset",this.inset??""),this.style.setProperty("z-index",this.zIndex??""),this.style.setProperty("border",this.border??""),this.style.setProperty("border-top",this.borderTop??""),this.style.setProperty("border-right",this.borderRight??""),this.style.setProperty("border-bottom",this.borderBottom??""),this.style.setProperty("border-left",this.borderLeft??""),this.style.setProperty("border-color",this.borderColor??""),this.style.setProperty("border-radius",this.borderRadius??""),this.style.setProperty("border-width",this.borderWidth??""),this.style.setProperty("box-shadow",this.boxShadow??""),this.style.setProperty("opacity",this.opacity??""),this.style.setProperty("background",this.background??""),this.style.setProperty("background-image",this.backgroundImage??""),this.style.setProperty("background-position",this.backgroundPosition??""),this.style.setProperty("background-size",this.backgroundSize??""),this.style.setProperty("background-repeat",this.backgroundRepeat??""),this.style.setProperty("background-attachment",this.backgroundAttachment??""),this.style.setProperty("background-color",this.backgroundColor??""),this.style.setProperty("background-clip",this.backgroundClip??""),this.style.setProperty("background-origin",this.backgroundOrigin??""),this.style.setProperty("background-blend-mode",this.backgroundBlendMode??""),this.style.setProperty("filter",this.filter??""),this.style.setProperty("backdrop-filter",this.backdropFilter??""),this.center&&(this.style.setProperty("margin-left","auto"),this.style.setProperty("margin-right","auto"))}};u.styles=[u.styles];let r=u;i([t.property({type:Boolean})],r.prototype,"center"),i([t.property({type:String})],r.prototype,"padding"),i([t.property({type:String})],r.prototype,"margin"),i([t.property({type:String})],r.prototype,"width"),i([t.property({type:String})],r.prototype,"height"),i([t.property({type:String})],r.prototype,"minWidth"),i([t.property({type:String})],r.prototype,"minHeight"),i([t.property({type:String})],r.prototype,"maxWidth"),i([t.property({type:String})],r.prototype,"maxHeight"),i([t.property({type:String})],r.prototype,"display"),i([t.property({type:String})],r.prototype,"overflow"),i([t.property({type:String})],r.prototype,"overflowX"),i([t.property({type:String})],r.prototype,"overflowY"),i([t.property({type:String})],r.prototype,"position"),i([t.property({type:String})],r.prototype,"top"),i([t.property({type:String})],r.prototype,"right"),i([t.property({type:String})],r.prototype,"bottom"),i([t.property({type:String})],r.prototype,"left"),i([t.property({type:String})],r.prototype,"inset"),i([t.property({type:String})],r.prototype,"zIndex"),i([t.property({type:String})],r.prototype,"border"),i([t.property({type:String})],r.prototype,"borderTop"),i([t.property({type:String})],r.prototype,"borderRight"),i([t.property({type:String})],r.prototype,"borderBottom"),i([t.property({type:String})],r.prototype,"borderLeft"),i([t.property({type:String})],r.prototype,"borderColor"),i([t.property({type:String})],r.prototype,"borderRadius"),i([t.property({type:String})],r.prototype,"borderWidth"),i([t.property({type:String})],r.prototype,"boxShadow"),i([t.property({type:String})],r.prototype,"opacity"),i([t.property({type:String})],r.prototype,"background"),i([t.property({type:String})],r.prototype,"backgroundImage"),i([t.property({type:String})],r.prototype,"backgroundPosition"),i([t.property({type:String})],r.prototype,"backgroundSize"),i([t.property({type:String})],r.prototype,"backgroundRepeat"),i([t.property({type:String})],r.prototype,"backgroundAttachment"),i([t.property({type:String})],r.prototype,"backgroundColor"),i([t.property({type:String})],r.prototype,"backgroundClip"),i([t.property({type:String})],r.prototype,"backgroundOrigin"),i([t.property({type:String})],r.prototype,"backgroundBlendMode"),i([t.property({type:String})],r.prototype,"filter"),i([t.property({type:String})],r.prototype,"backdropFilter");var v=Object.defineProperty,x=Object.getOwnPropertyDescriptor,g=(e,s,n,p)=>{for(var l,o=p>1?void 0:p?x(s,n):s,c=e.length-1;c>=0;c--)(l=e[c])&&(o=(p?l(s,n,o):l(o))||o);return p&&o&&v(s,n,o),o};exports.SchmancyFlex=class extends r{constructor(){super(...arguments),this.layout=!0,this.flow="col",this.wrap="wrap",this.align="start",this.justify="start",this.gap="none"}render(){const e={flex:!0,"flex-col":this.flow==="row","flex-col-reverse":this.flow==="row-reverse","flex-row":this.flow==="col","flex-row-reverse":this.flow==="col-reverse","flex-wrap":this.wrap==="wrap","flex-wrap-reverse":this.wrap==="wrap-reverse","flex-nowrap":this.wrap==="nowrap","items-start":this.align==="start","items-center":this.align==="center","items-end":this.align==="end","items-stretch":this.align==="stretch","justify-baseline":this.align==="baseline","justify-center":this.justify==="center","justify-end":this.justify==="end","justify-start":this.justify==="start","justify-stretch":this.justify==="stretch","justify-between":this.justify==="between","gap-0":this.gap==="none","gap-2":this.gap==="sm","gap-4":this.gap==="md","gap-8":this.gap==="lg"};return d.html`
2
2
  <section class=${b.classMap(e)} style=${w.styleMap({})}>
3
3
  <slot></slot>
4
4
  </section>
@@ -38,4 +38,4 @@
38
38
  display: block;
39
39
  }
40
40
  `],h([t.property({type:Boolean,reflect:!0})],exports.SchmancyFlexV2.prototype,"inline",2),h([t.property({type:String,reflect:!0})],exports.SchmancyFlexV2.prototype,"flow",2),h([t.property({type:String,reflect:!0})],exports.SchmancyFlexV2.prototype,"wrap",2),h([t.property({type:String,reflect:!0})],exports.SchmancyFlexV2.prototype,"align",2),h([t.property({type:String,reflect:!0})],exports.SchmancyFlexV2.prototype,"justify",2),h([t.property({type:String,reflect:!0})],exports.SchmancyFlexV2.prototype,"content",2),h([t.property({type:String,reflect:!0})],exports.SchmancyFlexV2.prototype,"gap",2),exports.SchmancyFlexV2=h([t.customElement("sch-flex")],exports.SchmancyFlexV2);
41
- //# sourceMappingURL=flex-DWnX0ZPR.cjs.map
41
+ //# sourceMappingURL=flex-CWfz0mT_.cjs.map