@mhmo91/schmancy 0.4.92 → 0.4.94

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 (378) hide show
  1. package/ai/area.md +181 -968
  2. package/dist/ai/area.md +181 -968
  3. package/dist/{animated-text-CUFCt7Zg.js → animated-text-BLDqQ33G.js} +3 -3
  4. package/dist/{animated-text-CUFCt7Zg.js.map → animated-text-BLDqQ33G.js.map} +1 -1
  5. package/dist/{animated-text-CM1zqBki.cjs → animated-text-CIgDmUF0.cjs} +2 -2
  6. package/dist/{animated-text-CM1zqBki.cjs.map → animated-text-CIgDmUF0.cjs.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.js +1 -1
  11. package/dist/{autocomplete-CFREt7Vm.cjs → autocomplete-35wx4zfo.cjs} +6 -6
  12. package/dist/autocomplete-35wx4zfo.cjs.map +1 -0
  13. package/dist/{autocomplete-09_SfjsP.js → autocomplete-DMbJLodc.js} +35 -35
  14. package/dist/autocomplete-DMbJLodc.js.map +1 -0
  15. package/dist/autocomplete.cjs +1 -1
  16. package/dist/autocomplete.js +1 -1
  17. package/dist/{avatar-CKp3Ukk4.js → avatar-BqGZ5lKc.js} +152 -200
  18. package/dist/avatar-BqGZ5lKc.js.map +1 -0
  19. package/dist/{avatar-C8PC_n9i.cjs → avatar-UnP-o7T9.cjs} +21 -69
  20. package/dist/avatar-UnP-o7T9.cjs.map +1 -0
  21. package/dist/badge.cjs +1 -1
  22. package/dist/badge.js +1 -1
  23. package/dist/{boat-DDJK4CS4.js → boat-PVy1fXfm.js} +2 -2
  24. package/dist/{boat-DDJK4CS4.js.map → boat-PVy1fXfm.js.map} +1 -1
  25. package/dist/{boat-Ddi4PegB.cjs → boat-zVJF22wK.cjs} +2 -2
  26. package/dist/{boat-Ddi4PegB.cjs.map → boat-zVJF22wK.cjs.map} +1 -1
  27. package/dist/boat.cjs +1 -1
  28. package/dist/boat.js +1 -1
  29. package/dist/busy.cjs +1 -1
  30. package/dist/busy.js +1 -1
  31. package/dist/button.cjs +1 -1
  32. package/dist/button.js +1 -1
  33. package/dist/card.cjs +1 -1
  34. package/dist/card.js +1 -1
  35. package/dist/{checkbox-TclkD2h5.cjs → checkbox-BtZqKgPT.cjs} +2 -2
  36. package/dist/{checkbox-TclkD2h5.cjs.map → checkbox-BtZqKgPT.cjs.map} +1 -1
  37. package/dist/{checkbox-BU1x0W8U.js → checkbox-DAFDBz7J.js} +2 -2
  38. package/dist/{checkbox-BU1x0W8U.js.map → checkbox-DAFDBz7J.js.map} +1 -1
  39. package/dist/checkbox.cjs +1 -1
  40. package/dist/checkbox.js +1 -1
  41. package/dist/{chips-DQBHJNSu.cjs → chips-BRigd0oB.cjs} +10 -21
  42. package/dist/{chips-DQBHJNSu.cjs.map → chips-BRigd0oB.cjs.map} +1 -1
  43. package/dist/{chips-Bxsoq1vm.js → chips-BnA6mVWq.js} +56 -67
  44. package/dist/{chips-Bxsoq1vm.js.map → chips-BnA6mVWq.js.map} +1 -1
  45. package/dist/chips.cjs +1 -1
  46. package/dist/chips.js +1 -1
  47. package/dist/code-highlight.cjs +1 -1
  48. package/dist/code-highlight.js +1 -1
  49. package/dist/{code-preview-C9Imx-RX.cjs → code-preview-BYWzA52m.cjs} +2 -2
  50. package/dist/{code-preview-C9Imx-RX.cjs.map → code-preview-BYWzA52m.cjs.map} +1 -1
  51. package/dist/{code-preview-DnUM87ZB.js → code-preview-CUc2NHQu.js} +2 -2
  52. package/dist/{code-preview-DnUM87ZB.js.map → code-preview-CUc2NHQu.js.map} +1 -1
  53. package/dist/components.cjs +1 -1
  54. package/dist/components.js +1 -1
  55. package/dist/content-drawer.cjs +1 -1
  56. package/dist/content-drawer.js +1 -1
  57. package/dist/{date-range-DF7MnRi3.js → date-range-DFNdMN6p.js} +4 -4
  58. package/dist/{date-range-DF7MnRi3.js.map → date-range-DFNdMN6p.js.map} +1 -1
  59. package/dist/{date-range-D1A1Xrmw.cjs → date-range-DhWbY9Ph.cjs} +2 -2
  60. package/dist/{date-range-D1A1Xrmw.cjs.map → date-range-DhWbY9Ph.cjs.map} +1 -1
  61. package/dist/{date-range-inline-CwLJLOe1.cjs → date-range-inline-FiCLIta4.cjs} +2 -2
  62. package/dist/{date-range-inline-CwLJLOe1.cjs.map → date-range-inline-FiCLIta4.cjs.map} +1 -1
  63. package/dist/{date-range-inline-Ca4DPfeR.js → date-range-inline-xh0mrWH9.js} +3 -3
  64. package/dist/{date-range-inline-Ca4DPfeR.js.map → date-range-inline-xh0mrWH9.js.map} +1 -1
  65. package/dist/date-range-inline.cjs +1 -1
  66. package/dist/date-range-inline.js +1 -1
  67. package/dist/date-range.cjs +1 -1
  68. package/dist/date-range.js +1 -1
  69. package/dist/{delay-hXu_bFxW.js → delay-BTRy2v5H.js} +2 -2
  70. package/dist/{delay-hXu_bFxW.js.map → delay-BTRy2v5H.js.map} +1 -1
  71. package/dist/{delay-DQKt6VVn.cjs → delay-dCLgp1B7.cjs} +2 -2
  72. package/dist/{delay-DQKt6VVn.cjs.map → delay-dCLgp1B7.cjs.map} +1 -1
  73. package/dist/delay.cjs +1 -1
  74. package/dist/delay.js +1 -1
  75. package/dist/{details-Ft0ivj0F.cjs → details-Bf0qMDKW.cjs} +2 -2
  76. package/dist/{details-Ft0ivj0F.cjs.map → details-Bf0qMDKW.cjs.map} +1 -1
  77. package/dist/{details-Ci0XXz0g.js → details-BsmaD0yr.js} +2 -2
  78. package/dist/{details-Ci0XXz0g.js.map → details-BsmaD0yr.js.map} +1 -1
  79. package/dist/details.cjs +1 -1
  80. package/dist/details.js +1 -1
  81. package/dist/{dialog-content-7tFlrTFn.cjs → dialog-content-0w0WQYF3.cjs} +2 -2
  82. package/dist/{dialog-content-7tFlrTFn.cjs.map → dialog-content-0w0WQYF3.cjs.map} +1 -1
  83. package/dist/{dialog-content-DXnLwUtv.js → dialog-content-r1Ai3BZj.js} +4 -4
  84. package/dist/{dialog-content-DXnLwUtv.js.map → dialog-content-r1Ai3BZj.js.map} +1 -1
  85. package/dist/dialog-service-CgJH8clD.cjs +2 -0
  86. package/dist/dialog-service-CgJH8clD.cjs.map +1 -0
  87. package/dist/{dialog-service-DwhuICgc.js → dialog-service-PQ9ssbsY.js} +53 -47
  88. package/dist/dialog-service-PQ9ssbsY.js.map +1 -0
  89. package/dist/dialog.cjs +1 -1
  90. package/dist/dialog.js +2 -2
  91. package/dist/directives.cjs +1 -1
  92. package/dist/directives.js +1 -1
  93. package/dist/divider-BPsLFNzK.js +22 -0
  94. package/dist/divider-BPsLFNzK.js.map +1 -0
  95. package/dist/divider-CYPKRC_-.cjs +2 -0
  96. package/dist/divider-CYPKRC_-.cjs.map +1 -0
  97. package/dist/divider.cjs +1 -1
  98. package/dist/divider.js +1 -1
  99. package/dist/{dropdown-content-BCk2WbXc.js → dropdown-content-B51-eGbI.js} +40 -41
  100. package/dist/dropdown-content-B51-eGbI.js.map +1 -0
  101. package/dist/{dropdown-content-CXxTjA0j.cjs → dropdown-content-DelDUcfW.cjs} +5 -10
  102. package/dist/dropdown-content-DelDUcfW.cjs.map +1 -0
  103. package/dist/dropdown.cjs +1 -1
  104. package/dist/dropdown.js +1 -1
  105. package/dist/{email-recipients-BWIYYwA8.cjs → email-recipients-BlSATi3L.cjs} +24 -24
  106. package/dist/email-recipients-BlSATi3L.cjs.map +1 -0
  107. package/dist/{email-recipients-BT3xPoBN.js → email-recipients-hkvv_vgI.js} +141 -144
  108. package/dist/email-recipients-hkvv_vgI.js.map +1 -0
  109. package/dist/extra.cjs +1 -1
  110. package/dist/extra.js +1 -1
  111. package/dist/{flex-DJEZ1DdQ.js → flex-BDtCUg0s.js} +2 -2
  112. package/dist/{flex-DJEZ1DdQ.js.map → flex-BDtCUg0s.js.map} +1 -1
  113. package/dist/{flex-DflXFgVs.cjs → flex-_K-5RVZM.cjs} +2 -2
  114. package/dist/{flex-DflXFgVs.cjs.map → flex-_K-5RVZM.cjs.map} +1 -1
  115. package/dist/{form-7OiDtJT4.js → form-BTmhZIB8.js} +11 -23
  116. package/dist/form-BTmhZIB8.js.map +1 -0
  117. package/dist/form-jw1NVkyp.cjs +2 -0
  118. package/dist/form-jw1NVkyp.cjs.map +1 -0
  119. package/dist/form.cjs +1 -1
  120. package/dist/form.js +1 -1
  121. package/dist/{formField.mixin-3i7VOHMH.js → formField.mixin-D_1WwNWJ.js} +2 -2
  122. package/dist/{formField.mixin-3i7VOHMH.js.map → formField.mixin-D_1WwNWJ.js.map} +1 -1
  123. package/dist/{formField.mixin-B1vJlhmI.cjs → formField.mixin-HN79lSIE.cjs} +2 -2
  124. package/dist/{formField.mixin-B1vJlhmI.cjs.map → formField.mixin-HN79lSIE.cjs.map} +1 -1
  125. package/dist/{icon-BMhWh8Ib.js → icon-Clqcexag.js} +2 -2
  126. package/dist/{icon-BMhWh8Ib.js.map → icon-Clqcexag.js.map} +1 -1
  127. package/dist/{icon-button-DOZuY9x8.js → icon-button-Bu_eEqfk.js} +5 -5
  128. package/dist/icon-button-Bu_eEqfk.js.map +1 -0
  129. package/dist/{icon-button-CLDy5tUS.cjs → icon-button-M5CqyRR4.cjs} +4 -4
  130. package/dist/icon-button-M5CqyRR4.cjs.map +1 -0
  131. package/dist/{icon-TPLdDnCq.cjs → icon-pFAWVSGq.cjs} +2 -2
  132. package/dist/{icon-TPLdDnCq.cjs.map → icon-pFAWVSGq.cjs.map} +1 -1
  133. package/dist/icons.cjs +1 -1
  134. package/dist/icons.js +1 -1
  135. package/dist/index.cjs +1 -1
  136. package/dist/index.js +49 -49
  137. package/dist/{input-Dre3bMuF.js → input-CFlQ_9Cq.js} +40 -44
  138. package/dist/input-CFlQ_9Cq.js.map +1 -0
  139. package/dist/input-CWOVMdSb.cjs +51 -0
  140. package/dist/input-CWOVMdSb.cjs.map +1 -0
  141. package/dist/input.cjs +1 -1
  142. package/dist/input.js +1 -1
  143. package/dist/layout.cjs +1 -1
  144. package/dist/layout.js +1 -1
  145. package/dist/lazy-DObpkuL6.cjs.map +1 -1
  146. package/dist/lazy-E2LCDm7n.js.map +1 -1
  147. package/dist/{list-DZ43cTnR.cjs → list-CDXL73JQ.cjs} +2 -2
  148. package/dist/{list-DZ43cTnR.cjs.map → list-CDXL73JQ.cjs.map} +1 -1
  149. package/dist/{list-2mBZmMCP.js → list-rmfIuWZK.js} +2 -2
  150. package/dist/{list-2mBZmMCP.js.map → list-rmfIuWZK.js.map} +1 -1
  151. package/dist/list.cjs +1 -1
  152. package/dist/list.js +1 -1
  153. package/dist/{litElement.mixin-Bj0zv3lK.js → litElement.mixin-Dm9SOPDp.js} +2 -2
  154. package/dist/{litElement.mixin-Bj0zv3lK.js.map → litElement.mixin-Dm9SOPDp.js.map} +1 -1
  155. package/dist/{litElement.mixin-CjRG_9tZ.cjs → litElement.mixin-YJ8D9a8Z.cjs} +2 -2
  156. package/dist/{litElement.mixin-CjRG_9tZ.cjs.map → litElement.mixin-YJ8D9a8Z.cjs.map} +1 -1
  157. package/dist/mailbox.cjs +1 -1
  158. package/dist/mailbox.js +1 -1
  159. package/dist/{map-sSS6ACVH.js → map-BfP3ZVm_.js} +2 -2
  160. package/dist/{map-sSS6ACVH.js.map → map-BfP3ZVm_.js.map} +1 -1
  161. package/dist/{map-D69SEPpf.cjs → map-DQwGv46m.cjs} +2 -2
  162. package/dist/{map-D69SEPpf.cjs.map → map-DQwGv46m.cjs.map} +1 -1
  163. package/dist/map.cjs +1 -1
  164. package/dist/map.js +1 -1
  165. package/dist/media-B28J9yez.js +261 -0
  166. package/dist/media-B28J9yez.js.map +1 -0
  167. package/dist/media-DtYChqKs.cjs +177 -0
  168. package/dist/media-DtYChqKs.cjs.map +1 -0
  169. package/dist/{menu-CATzB9tA.js → menu-C0iTDVTM.js} +3 -3
  170. package/dist/{menu-CATzB9tA.js.map → menu-C0iTDVTM.js.map} +1 -1
  171. package/dist/{menu-BOeTdvk_.cjs → menu-jcodrTEA.cjs} +2 -2
  172. package/dist/{menu-BOeTdvk_.cjs.map → menu-jcodrTEA.cjs.map} +1 -1
  173. package/dist/menu.cjs +1 -1
  174. package/dist/menu.js +1 -1
  175. package/dist/nav-drawer.cjs +1 -1
  176. package/dist/nav-drawer.js +1 -1
  177. package/dist/{notification-service-DrwmIgoR.js → notification-service-BIH173dS.js} +62 -58
  178. package/dist/notification-service-BIH173dS.js.map +1 -0
  179. package/dist/{notification-service-LnNx5EDh.cjs → notification-service-CD-XzDeP.cjs} +7 -7
  180. package/dist/notification-service-CD-XzDeP.cjs.map +1 -0
  181. package/dist/notification.cjs +1 -1
  182. package/dist/notification.js +2 -2
  183. package/dist/{notify-C41nYdUf.js → notify-4u_P6A9W.js} +2 -2
  184. package/dist/{notify-C41nYdUf.js.map → notify-4u_P6A9W.js.map} +1 -1
  185. package/dist/{notify-DQMcgjgZ.cjs → notify-C95rxXiW.cjs} +2 -2
  186. package/dist/{notify-DQMcgjgZ.cjs.map → notify-C95rxXiW.cjs.map} +1 -1
  187. package/dist/{option-DbBr0StZ.js → option-CTkTl7Pz.js} +12 -12
  188. package/dist/option-CTkTl7Pz.js.map +1 -0
  189. package/dist/{option-BNKGfKgL.cjs → option-D-Itfwmu.cjs} +5 -5
  190. package/dist/option-D-Itfwmu.cjs.map +1 -0
  191. package/dist/option.cjs +1 -1
  192. package/dist/option.js +1 -1
  193. package/dist/{payment-card-form-_jHodv7G.js → payment-card-form-DcipYS1-.js} +3 -3
  194. package/dist/{payment-card-form-_jHodv7G.js.map → payment-card-form-DcipYS1-.js.map} +1 -1
  195. package/dist/{payment-card-form-ByWbYHhd.cjs → payment-card-form-HQsOp4z5.cjs} +2 -2
  196. package/dist/{payment-card-form-ByWbYHhd.cjs.map → payment-card-form-HQsOp4z5.cjs.map} +1 -1
  197. package/dist/{progress-BY7K7Etz.cjs → progress-B3Q1qs5e.cjs} +2 -2
  198. package/dist/{progress-BY7K7Etz.cjs.map → progress-B3Q1qs5e.cjs.map} +1 -1
  199. package/dist/{progress-Cix7Mu1p.js → progress-zOZKeIA7.js} +2 -2
  200. package/dist/{progress-Cix7Mu1p.js.map → progress-zOZKeIA7.js.map} +1 -1
  201. package/dist/progress.cjs +1 -1
  202. package/dist/progress.js +1 -1
  203. package/dist/{radio-button-BNmjg-i9.js → radio-button-C4TI0v9W.js} +27 -27
  204. package/dist/radio-button-C4TI0v9W.js.map +1 -0
  205. package/dist/radio-button-COzEX5Ar.cjs +41 -0
  206. package/dist/radio-button-COzEX5Ar.cjs.map +1 -0
  207. package/dist/radio-group.cjs +1 -1
  208. package/dist/radio-group.js +1 -1
  209. package/dist/{ripple-BumgqsDT.js → ripple-Cy-nvO8W.js} +24 -22
  210. package/dist/ripple-Cy-nvO8W.js.map +1 -0
  211. package/dist/ripple-DqQrvaTe.cjs +16 -0
  212. package/dist/ripple-DqQrvaTe.cjs.map +1 -0
  213. package/dist/route.component-Cr-M16SZ.cjs +12 -0
  214. package/dist/route.component-Cr-M16SZ.cjs.map +1 -0
  215. package/dist/route.component-Df4CQy4C.js +320 -0
  216. package/dist/route.component-Df4CQy4C.js.map +1 -0
  217. package/dist/{schmancy-steps-container-BUE4fG8_.js → schmancy-steps-container-DC6Ca6-A.js} +2 -2
  218. package/dist/{schmancy-steps-container-BUE4fG8_.js.map → schmancy-steps-container-DC6Ca6-A.js.map} +1 -1
  219. package/dist/{schmancy-steps-container-D69TfC2I.cjs → schmancy-steps-container-DfzodwEn.cjs} +2 -2
  220. package/dist/{schmancy-steps-container-D69TfC2I.cjs.map → schmancy-steps-container-DfzodwEn.cjs.map} +1 -1
  221. package/dist/{select-Bspcrc-h.js → select-Br2sY6MK.js} +16 -16
  222. package/dist/select-Br2sY6MK.js.map +1 -0
  223. package/dist/select-wUk1qE31.cjs +57 -0
  224. package/dist/select-wUk1qE31.cjs.map +1 -0
  225. package/dist/select.cjs +1 -1
  226. package/dist/select.js +1 -1
  227. package/dist/{sheet-BxOGSGJ0.js → sheet-BjJdVvvp.js} +3 -3
  228. package/dist/{sheet-BxOGSGJ0.js.map → sheet-BjJdVvvp.js.map} +1 -1
  229. package/dist/{sheet-CuE9tUeo.cjs → sheet-D3RmdvbL.cjs} +2 -2
  230. package/dist/{sheet-CuE9tUeo.cjs.map → sheet-D3RmdvbL.cjs.map} +1 -1
  231. package/dist/sheet.cjs +1 -1
  232. package/dist/sheet.js +1 -1
  233. package/dist/{slider-ChQVbnYO.js → slider-Dgwlzvr-.js} +3 -3
  234. package/dist/{slider-ChQVbnYO.js.map → slider-Dgwlzvr-.js.map} +1 -1
  235. package/dist/{slider-DeKwZONn.cjs → slider-XoN7Z9iO.cjs} +2 -2
  236. package/dist/{slider-DeKwZONn.cjs.map → slider-XoN7Z9iO.cjs.map} +1 -1
  237. package/dist/slider.cjs +1 -1
  238. package/dist/slider.js +1 -1
  239. package/dist/{spinner-C5tMQys5.cjs → spinner-D9l0j12i.cjs} +2 -2
  240. package/dist/{spinner-C5tMQys5.cjs.map → spinner-D9l0j12i.cjs.map} +1 -1
  241. package/dist/{spinner-y1dPMTQp.js → spinner-e06PNB2u.js} +2 -2
  242. package/dist/{spinner-y1dPMTQp.js.map → spinner-e06PNB2u.js.map} +1 -1
  243. package/dist/steps.cjs +1 -1
  244. package/dist/steps.js +1 -1
  245. package/dist/{surface-4MzhEaru.cjs → surface-BgLZnRcp.cjs} +2 -2
  246. package/dist/{surface-4MzhEaru.cjs.map → surface-BgLZnRcp.cjs.map} +1 -1
  247. package/dist/{surface-BYmdH754.js → surface-trk3Zpii.js} +2 -2
  248. package/dist/{surface-BYmdH754.js.map → surface-trk3Zpii.js.map} +1 -1
  249. package/dist/surface.cjs +1 -1
  250. package/dist/surface.js +1 -1
  251. package/dist/{table-YBHaxQzQ.js → table-BfFAQg7K.js} +2 -2
  252. package/dist/{table-YBHaxQzQ.js.map → table-BfFAQg7K.js.map} +1 -1
  253. package/dist/{table-J5EVvpXy.cjs → table-g0Wsm45r.cjs} +2 -2
  254. package/dist/{table-J5EVvpXy.cjs.map → table-g0Wsm45r.cjs.map} +1 -1
  255. package/dist/table.cjs +1 -1
  256. package/dist/table.js +1 -1
  257. package/dist/{tabs-compatibility-ezB19WI8.js → tabs-compatibility-D1RfuRqZ.js} +2 -2
  258. package/dist/{tabs-compatibility-ezB19WI8.js.map → tabs-compatibility-D1RfuRqZ.js.map} +1 -1
  259. package/dist/{tabs-compatibility-JMTsaND_.cjs → tabs-compatibility-FkpvGEG3.cjs} +2 -2
  260. package/dist/{tabs-compatibility-JMTsaND_.cjs.map → tabs-compatibility-FkpvGEG3.cjs.map} +1 -1
  261. package/dist/tabs.cjs +1 -1
  262. package/dist/tabs.js +1 -1
  263. package/dist/tailwind.mixin-CPuO9c5y.js +43 -0
  264. package/dist/{tailwind.mixin-Cwbr8x57.js.map → tailwind.mixin-CPuO9c5y.js.map} +1 -1
  265. package/dist/tailwind.mixin-Cb-fyJ_y.cjs +2 -0
  266. package/dist/{tailwind.mixin-B-VcpMHn.cjs.map → tailwind.mixin-Cb-fyJ_y.cjs.map} +1 -1
  267. package/dist/teleport.cjs +1 -1
  268. package/dist/teleport.js +1 -1
  269. package/dist/{textarea-B3nWhCra.cjs → textarea-DBKIOjBp.cjs} +2 -2
  270. package/dist/{textarea-B3nWhCra.cjs.map → textarea-DBKIOjBp.cjs.map} +1 -1
  271. package/dist/{textarea-yn7IFbnu.js → textarea-U-fvfv2M.js} +3 -3
  272. package/dist/{textarea-yn7IFbnu.js.map → textarea-U-fvfv2M.js.map} +1 -1
  273. package/dist/textarea.cjs +1 -1
  274. package/dist/textarea.js +1 -1
  275. package/dist/{theme-button-I_c1ZWWV.cjs → theme-button-C-6Y_Mib.cjs} +2 -2
  276. package/dist/{theme-button-I_c1ZWWV.cjs.map → theme-button-C-6Y_Mib.cjs.map} +1 -1
  277. package/dist/{theme-button-CGArg1pu.js → theme-button-CnWM9ZCv.js} +2 -2
  278. package/dist/{theme-button-CGArg1pu.js.map → theme-button-CnWM9ZCv.js.map} +1 -1
  279. package/dist/theme-button.cjs +1 -1
  280. package/dist/theme-button.js +1 -1
  281. package/dist/theme.cjs +1 -1
  282. package/dist/{theme.component-B5zp-4OG.js → theme.component-CfLAvCYi.js} +168 -168
  283. package/dist/{theme.component-B5zp-4OG.js.map → theme.component-CfLAvCYi.js.map} +1 -1
  284. package/dist/{theme.component-CdSDaeU0.cjs → theme.component-Dko2yi2n.cjs} +3 -3
  285. package/dist/{theme.component-CdSDaeU0.cjs.map → theme.component-Dko2yi2n.cjs.map} +1 -1
  286. package/dist/theme.js +1 -1
  287. package/dist/{timezone-CepyC8kw.js → timezone-CXGJk88N.js} +3 -3
  288. package/dist/{timezone-CepyC8kw.js.map → timezone-CXGJk88N.js.map} +1 -1
  289. package/dist/{timezone-DRBf5biI.cjs → timezone-Wy7jf5gf.cjs} +2 -2
  290. package/dist/{timezone-DRBf5biI.cjs.map → timezone-Wy7jf5gf.cjs.map} +1 -1
  291. package/dist/tooltip-BXCWSU_6.cjs +7 -0
  292. package/dist/tooltip-BXCWSU_6.cjs.map +1 -0
  293. package/dist/{tooltip-C6HlAqs2.js → tooltip-CuDCLzkr.js} +55 -55
  294. package/dist/tooltip-CuDCLzkr.js.map +1 -0
  295. package/dist/tooltip.cjs +1 -1
  296. package/dist/tooltip.js +1 -1
  297. package/dist/{tree-CpqWMdfb.cjs → tree-Bux6udiH.cjs} +2 -2
  298. package/dist/{tree-CpqWMdfb.cjs.map → tree-Bux6udiH.cjs.map} +1 -1
  299. package/dist/{tree-CxJAr7G3.js → tree-CfcLl-dV.js} +2 -2
  300. package/dist/{tree-CxJAr7G3.js.map → tree-CfcLl-dV.js.map} +1 -1
  301. package/dist/tree.cjs +1 -1
  302. package/dist/tree.js +1 -1
  303. package/dist/{typewriter-D3QLAVdz.js → typewriter-C63WkKf1.js} +64 -76
  304. package/dist/typewriter-C63WkKf1.js.map +1 -0
  305. package/dist/{typewriter-BWg7Otk8.cjs → typewriter-HZThI3m1.cjs} +3 -15
  306. package/dist/typewriter-HZThI3m1.cjs.map +1 -0
  307. package/dist/typewriter.cjs +1 -1
  308. package/dist/typewriter.js +1 -1
  309. package/dist/{typography-DGOOlbC1.cjs → typography-DNj4eHeR.cjs} +2 -2
  310. package/dist/{typography-DGOOlbC1.cjs.map → typography-DNj4eHeR.cjs.map} +1 -1
  311. package/dist/{typography-C8NCP_rr.js → typography-DRkYb9R0.js} +2 -2
  312. package/dist/{typography-C8NCP_rr.js.map → typography-DRkYb9R0.js.map} +1 -1
  313. package/dist/typography.cjs +1 -1
  314. package/dist/typography.js +1 -1
  315. package/package.json +1 -1
  316. package/types/src/area/area.component.d.ts +8 -3
  317. package/types/src/area/area.service.d.ts +1 -0
  318. package/types/src/area/route.component.d.ts +4 -5
  319. package/types/src/area/utils.d.ts +2 -1
  320. package/types/src/card/card.d.ts +56 -3
  321. package/types/src/directives/ripple.d.ts +2 -1
  322. package/types/src/dropdown/dropdown-component.d.ts +1 -0
  323. package/types/src/form/form-v2.d.ts +0 -1
  324. package/types/src/form/form.d.ts +0 -1
  325. package/types/src/mailbox/email-editor.d.ts +1 -2
  326. package/types/src/notification/notification-audio.d.ts +9 -0
  327. package/types/src/notification/notification-container.d.ts +1 -0
  328. package/dist/autocomplete-09_SfjsP.js.map +0 -1
  329. package/dist/autocomplete-CFREt7Vm.cjs.map +0 -1
  330. package/dist/avatar-C8PC_n9i.cjs.map +0 -1
  331. package/dist/avatar-CKp3Ukk4.js.map +0 -1
  332. package/dist/dialog-service-DwhuICgc.js.map +0 -1
  333. package/dist/dialog-service-juvsgc5X.cjs +0 -2
  334. package/dist/dialog-service-juvsgc5X.cjs.map +0 -1
  335. package/dist/divider-BG9uDpUp.js +0 -103
  336. package/dist/divider-BG9uDpUp.js.map +0 -1
  337. package/dist/divider-CWnAg2p-.cjs +0 -83
  338. package/dist/divider-CWnAg2p-.cjs.map +0 -1
  339. package/dist/dropdown-content-BCk2WbXc.js.map +0 -1
  340. package/dist/dropdown-content-CXxTjA0j.cjs.map +0 -1
  341. package/dist/email-recipients-BT3xPoBN.js.map +0 -1
  342. package/dist/email-recipients-BWIYYwA8.cjs.map +0 -1
  343. package/dist/form-7OiDtJT4.js.map +0 -1
  344. package/dist/form-nHwPpyhJ.cjs +0 -14
  345. package/dist/form-nHwPpyhJ.cjs.map +0 -1
  346. package/dist/icon-button-CLDy5tUS.cjs.map +0 -1
  347. package/dist/icon-button-DOZuY9x8.js.map +0 -1
  348. package/dist/input-CqLneJhz.cjs +0 -51
  349. package/dist/input-CqLneJhz.cjs.map +0 -1
  350. package/dist/input-Dre3bMuF.js.map +0 -1
  351. package/dist/media-B-VIbSH_.js +0 -151
  352. package/dist/media-B-VIbSH_.js.map +0 -1
  353. package/dist/media-Cew1Mxkj.cjs +0 -100
  354. package/dist/media-Cew1Mxkj.cjs.map +0 -1
  355. package/dist/notification-service-DrwmIgoR.js.map +0 -1
  356. package/dist/notification-service-LnNx5EDh.cjs.map +0 -1
  357. package/dist/option-BNKGfKgL.cjs.map +0 -1
  358. package/dist/option-DbBr0StZ.js.map +0 -1
  359. package/dist/radio-button-BNmjg-i9.js.map +0 -1
  360. package/dist/radio-button-CYq6qTSb.cjs +0 -41
  361. package/dist/radio-button-CYq6qTSb.cjs.map +0 -1
  362. package/dist/ripple-BumgqsDT.js.map +0 -1
  363. package/dist/ripple-C2BHbhcS.cjs +0 -16
  364. package/dist/ripple-C2BHbhcS.cjs.map +0 -1
  365. package/dist/route.component-CzCd2fMa.cjs +0 -12
  366. package/dist/route.component-CzCd2fMa.cjs.map +0 -1
  367. package/dist/route.component-Q3rCkryr.js +0 -321
  368. package/dist/route.component-Q3rCkryr.js.map +0 -1
  369. package/dist/select-B-yc3JB7.cjs +0 -57
  370. package/dist/select-B-yc3JB7.cjs.map +0 -1
  371. package/dist/select-Bspcrc-h.js.map +0 -1
  372. package/dist/tailwind.mixin-B-VcpMHn.cjs +0 -2
  373. package/dist/tailwind.mixin-Cwbr8x57.js +0 -43
  374. package/dist/tooltip-C6HlAqs2.js.map +0 -1
  375. package/dist/tooltip-CCX8PidC.cjs +0 -7
  376. package/dist/tooltip-CCX8PidC.cjs.map +0 -1
  377. package/dist/typewriter-BWg7Otk8.cjs.map +0 -1
  378. package/dist/typewriter-D3QLAVdz.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"divider-BPsLFNzK.js","sources":["../src/divider/divider.ts"],"sourcesContent":["// divider.ts\nimport { $LitElement } from '@mixins/index'\nimport { 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() {\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","constructor","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,EAAAA,EAAAA;AAAAA,EAA7C,cAAAC;AAAAC,UAAAA,GAAAC,SAAAA,GAC6BC,KAAAC,UAAiC,WAClBD,KAAAE,cAAyC,cACxDF,KAAAG,OAAiC;AAAA,EAAA;AAAA,EAEnD,SAAAC;AACT,UAAMC,IAAU,EACfC,aACAC,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;AAAA;AAd4BM,EAAA,CAA3BC,EAAS,EAAEC,MAAMC,YADEnB,EACQoB,WAAA,WAAA,CAAA,GACeJ,EAAA,CAA1CC,EAAS,EAAEI,SAAAA,IAAeH,MAAMC,OAAAA,CAAAA,CAAAA,GAFbnB,EAEuBoB,WAAA,eAAA,CAAA,GACfJ,EAAA,CAA3BC,EAAS,EAAEC,MAAMC,OAAAA,CAAAA,CAAAA,GAHEnB,EAGQoB,WAAA,QAAA,CAAA,GAHRpB,IAArBgB,EAAA,CADCM,EAAc,kBAAA,CAAA,GACMtB,CAAAA;"}
@@ -0,0 +1,2 @@
1
+ "use strict";require("rxjs");const p=require("lit/directives/class-map.js");require("lit/directives/style-map.js");const n=require("lit/decorators.js");require("./tailwind.mixin-Cb-fyJ_y.cjs");const c=require("./litElement.mixin-YJ8D9a8Z.cjs"),h=require("lit");var d=Object.defineProperty,y=Object.getOwnPropertyDescriptor,s=(e,i,l,o)=>{for(var u,t=o>1?void 0:o?y(i,l):i,a=e.length-1;a>=0;a--)(u=e[a])&&(t=(o?u(i,l,t):u(t))||t);return o&&t&&d(i,l,t),t};let r=class extends c.$LitElement(){constructor(){super(...arguments),this.outline="variant",this.orientation="horizontal",this.grow="start"}render(){const e={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 h.html`<div class="${p.classMap(e)}"></div>`}};s([n.property({type:String})],r.prototype,"outline",2),s([n.property({reflect:!0,type:String})],r.prototype,"orientation",2),s([n.property({type:String})],r.prototype,"grow",2),r=s([n.customElement("schmancy-divider")],r);
2
+ //# sourceMappingURL=divider-CYPKRC_-.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"divider-CYPKRC_-.cjs","sources":["../src/divider/divider.ts"],"sourcesContent":["// divider.ts\nimport { $LitElement } from '@mixins/index'\nimport { 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() {\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","constructor","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,YAAAA,CAAAA,CAA7C,aAAAC,CAAAC,MAAAA,GAAAC,WAC6BC,KAAAC,QAAiC,UAClBD,KAAAE,YAAyC,aACxDF,KAAAG,KAAiC,OAAA,CAEnD,QAAAC,CACT,MAAMC,EAAU,CACfC,QAAAA,GACAC,WAAYP,KAAKE,cAAgB,aACjCM,SAAUR,KAAKE,cAAgB,WAC/B,wBAAyBF,KAAKC,UAAY,UAC1C,iBAAkBD,KAAKC,UAAY,UACnC,CAAC,QAAQD,KAAKG,UAAS,EAExB,OAAOM,EAAAA,mBAAmBC,EAAAA,SAASL,CAAAA,CAAAA,UACpC,CAAA,EAd4BM,EAAA,CAA3BC,WAAS,CAAEC,KAAMC,UADEnB,EACQoB,UAAA,UAAA,CAAA,EACeJ,EAAA,CAA1CC,EAAAA,SAAS,CAAEI,QAAAA,GAAeH,KAAMC,MAAAA,CAAAA,CAAAA,EAFbnB,EAEuBoB,UAAA,cAAA,CAAA,EACfJ,EAAA,CAA3BC,WAAS,CAAEC,KAAMC,MAAAA,CAAAA,CAAAA,EAHEnB,EAGQoB,UAAA,OAAA,CAAA,EAHRpB,EAArBgB,EAAA,CADCM,EAAAA,cAAc,kBAAA,CAAA,EACMtB,CAAAA"}
package/dist/divider.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";require("./divider-CWnAg2p-.cjs");
1
+ "use strict";require("./divider-CYPKRC_-.cjs");
2
2
  //# sourceMappingURL=divider.cjs.map
package/dist/divider.js CHANGED
@@ -1,2 +1,2 @@
1
- import "./divider-BG9uDpUp.js";
1
+ import "./divider-BPsLFNzK.js";
2
2
  //# sourceMappingURL=divider.js.map
@@ -1,63 +1,62 @@
1
- import { autoUpdate as v, computePosition as k, offset as P, flip as x, shift as C } from "@floating-ui/dom";
2
- import { fromEvent as h, filter as m, takeUntil as y } from "rxjs";
1
+ import { autoUpdate as w, computePosition as v, offset as k, flip as P, shift as x } from "@floating-ui/dom";
2
+ import { fromEvent as h, filter as m, takeUntil as u } from "rxjs";
3
3
  import "lit/directives/class-map.js";
4
4
  import "lit/directives/style-map.js";
5
- import { property as l, query as u, queryAssignedElements as g, state as E, customElement as f } from "lit/decorators.js";
6
- import { T as S } from "./tailwind.mixin-Cwbr8x57.js";
7
- import { $ as T } from "./litElement.mixin-Bj0zv3lK.js";
8
- import { css as w, html as b } from "lit";
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;
5
+ import { property as l, query as y, queryAssignedElements as g, state as C, customElement as f } from "lit/decorators.js";
6
+ import { T as E } from "./tailwind.mixin-CPuO9c5y.js";
7
+ import { $ as S } from "./litElement.mixin-Dm9SOPDp.js";
8
+ import { html as b, css as T } from "lit";
9
+ var $ = Object.defineProperty, O = Object.getOwnPropertyDescriptor, i = (t, o, r, s) => {
10
+ for (var a, e = s > 1 ? void 0 : s ? O(o, r) : o, p = t.length - 1; p >= 0; p--) (a = t[p]) && (e = (s ? a(o, r, e) : a(e)) || e);
11
+ return s && e && $(o, r, e), e;
12
12
  };
13
- let s = class extends T(w`
14
- :host {
15
- display: inline-block;
16
- position: relative;
17
- }
18
- `) {
13
+ let n = class extends S() {
19
14
  constructor() {
20
- super(...arguments), this.open = !1, this.placement = "bottom-start", this.distance = 8, this.portal = null;
15
+ super(...arguments), this.open = !1, this.placement = "bottom-start", this.distance = 8, this.portal = null, this.portalSubscriptions = [];
21
16
  }
22
17
  connectedCallback() {
23
- super.connectedCallback(), this.setupPortal(), h(document, "click").pipe(m((t) => this.open && !this.isEventFromSelf(t)), y(this.disconnecting)).subscribe(() => {
18
+ super.connectedCallback(), this.setupPortal(), h(document, "click").pipe(m((t) => this.open && !this.isEventFromSelf(t)), u(this.disconnecting)).subscribe(() => {
24
19
  this.open = !1;
25
- }), h(document, "keydown").pipe(m((t) => this.open && t.key === "Escape"), y(this.disconnecting)).subscribe(() => {
20
+ }), h(document, "keydown").pipe(m((t) => this.open && t.key === "Escape"), u(this.disconnecting)).subscribe(() => {
26
21
  this.open = !1;
27
22
  });
28
23
  }
29
24
  setupPortal() {
30
25
  let t = document.getElementById("schmancy-portal-container");
31
26
  t || (t = document.createElement("div"), t.id = "schmancy-portal-container", t.style.position = "fixed", t.style.zIndex = "10000", t.style.top = "0", t.style.left = "0", t.style.pointerEvents = "none", document.body.appendChild(t));
32
- const e = document.createElement("div");
33
- e.className = "schmancy-dropdown-portal", e.style.position = "absolute", e.style.pointerEvents = "auto", e.style.display = "none", t.appendChild(e), this.portal = e;
27
+ const o = document.createElement("div");
28
+ o.className = "schmancy-dropdown-portal", o.style.position = "absolute", o.style.pointerEvents = "auto", o.style.display = "none", t.appendChild(o), this.portal = o;
34
29
  }
35
30
  isEventFromSelf(t) {
36
- return t.composedPath().some((e) => e === this);
31
+ return t.composedPath().some((o) => o === this);
37
32
  }
38
33
  disconnectedCallback() {
39
- this.cleanupPositioner?.(), this.portal && (this.portal.remove(), this.portal = null), super.disconnectedCallback();
34
+ this.cleanupPositioner?.(), this.portalSubscriptions.forEach((t) => t.unsubscribe()), this.portalSubscriptions = [], this.portal && (this.portal.remove(), this.portal = null), super.disconnectedCallback();
40
35
  }
41
36
  toggle() {
42
37
  this.open = !this.open;
43
38
  }
44
39
  updated(t) {
45
- super.updated(t), t.has("open") && (this.open ? this.setupPositioner() : (this.cleanupPositioner?.(), this.portal && (this.portal.style.display = "none", this.portal.innerHTML = "")));
40
+ super.updated(t), t.has("open") && (this.open ? this.setupPositioner() : (this.cleanupPositioner?.(), this.portal && (this.portal.style.display = "none", this.portal.innerHTML = "", this.portalSubscriptions.forEach((o) => o.unsubscribe()), this.portalSubscriptions = [])));
46
41
  }
47
42
  setupPositioner() {
48
- this.triggerContainer && this.portal && (this.portal.style.display = "block", this.teleportContentToPortal(), this.cleanupPositioner = v(this.triggerContainer, this.portal, () => {
49
- k(this.triggerContainer, this.portal, { placement: this.placement, middleware: [P(this.distance), x({ fallbackPlacements: ["top-start", "bottom-start"] }), C({ padding: 0 })] }).then(({ x: t, y: e }) => {
50
- Object.assign(this.portal.style, { left: `${t}px`, top: e - 8 + "px" });
43
+ this.triggerContainer && this.portal && (this.portal.style.display = "block", this.teleportContentToPortal(), this.cleanupPositioner = w(this.triggerContainer, this.portal, () => {
44
+ v(this.triggerContainer, this.portal, { placement: this.placement, middleware: [k(this.distance), P({ fallbackPlacements: ["top-start", "bottom-start"] }), x({ padding: 0 })] }).then(({ x: t, y: o }) => {
45
+ Object.assign(this.portal.style, { left: `${t}px`, top: o - 8 + "px" });
51
46
  });
52
47
  }));
53
48
  }
54
49
  teleportContentToPortal() {
55
- this.portal && (this.portal.innerHTML = "", this.contentElements.forEach((t) => {
56
- const e = t.cloneNode(!0);
57
- t.tagName.toLowerCase() === "schmancy-dropdown-content" && e.addEventListener("slotchange", () => {
58
- const n = e.shadowRoot?.querySelector('[part="content"]');
59
- n && n.classList.add("schmancy-dropdown-content");
60
- }), this.portal?.appendChild(e);
50
+ this.portal && (this.portalSubscriptions.forEach((t) => t.unsubscribe()), this.portalSubscriptions = [], this.portal.innerHTML = "", this.contentElements.forEach((t) => {
51
+ const o = t.cloneNode(!0);
52
+ if (t.tagName.toLowerCase() === "schmancy-dropdown-content") {
53
+ const r = h(o, "slotchange").subscribe(() => {
54
+ const s = o.shadowRoot?.querySelector('[part="content"]');
55
+ s && s.classList.add("schmancy-dropdown-content");
56
+ });
57
+ this.portalSubscriptions.push(r);
58
+ }
59
+ this.portal?.appendChild(o);
61
60
  }));
62
61
  }
63
62
  handleTriggerClick(t) {
@@ -79,12 +78,12 @@ let s = class extends T(w`
79
78
  `;
80
79
  }
81
80
  };
82
- a([l({ type: Boolean, reflect: !0 })], s.prototype, "open", 2), a([l({ type: String })], s.prototype, "placement", 2), a([l({ type: Number })], s.prototype, "distance", 2), a([u(".trigger-container")], s.prototype, "triggerContainer", 2), a([u(".dropdown-content-container")], s.prototype, "contentContainer", 2), a([g({ flatten: !0 })], s.prototype, "contentElements", 2), a([E()], s.prototype, "portal", 2), a([g({ slot: "trigger", flatten: !0 })], s.prototype, "triggerElements", 2), s = a([f("schmancy-dropdown")], s);
83
- var j = Object.defineProperty, H = Object.getOwnPropertyDescriptor, d = (t, e, n, r) => {
84
- for (var i, o = r > 1 ? void 0 : r ? H(e, n) : e, p = t.length - 1; p >= 0; p--) (i = t[p]) && (o = (r ? i(e, n, o) : i(o)) || o);
85
- return r && o && j(e, n, o), o;
81
+ i([l({ type: Boolean, reflect: !0 })], n.prototype, "open", 2), i([l({ type: String })], n.prototype, "placement", 2), i([l({ type: Number })], n.prototype, "distance", 2), i([y(".trigger-container")], n.prototype, "triggerContainer", 2), i([y(".dropdown-content-container")], n.prototype, "contentContainer", 2), i([g({ flatten: !0 })], n.prototype, "contentElements", 2), i([C()], n.prototype, "portal", 2), i([g({ slot: "trigger", flatten: !0 })], n.prototype, "triggerElements", 2), n = i([f("schmancy-dropdown")], n);
82
+ var j = Object.defineProperty, H = Object.getOwnPropertyDescriptor, d = (t, o, r, s) => {
83
+ for (var a, e = s > 1 ? void 0 : s ? H(o, r) : o, p = t.length - 1; p >= 0; p--) (a = t[p]) && (e = (s ? a(o, r, e) : a(e)) || e);
84
+ return s && e && j(o, r, e), e;
86
85
  };
87
- let c = class extends S(w`
86
+ let c = class extends E(T`
88
87
  :host {
89
88
  display: block;
90
89
  position: absolute;
@@ -131,9 +130,9 @@ let c = class extends S(w`
131
130
  super(...arguments), this.width = "auto", this.maxHeight = "80vh", this.shadow = !0, this.radius = "md";
132
131
  }
133
132
  render() {
134
- const t = { "schmancy-dropdown-content": !0, "overflow-auto": !0, "shadow-none": !this.shadow, "rounded-none": this.radius === "none", "rounded-sm": this.radius === "sm", "rounded-md": this.radius === "md", "rounded-lg": this.radius === "lg", "rounded-full": this.radius === "full" }, e = { width: this.width, maxHeight: this.maxHeight };
133
+ const t = { "schmancy-dropdown-content": !0, "overflow-auto": !0, "shadow-none": !this.shadow, "rounded-none": this.radius === "none", "rounded-sm": this.radius === "sm", "rounded-md": this.radius === "md", "rounded-lg": this.radius === "lg", "rounded-full": this.radius === "full" }, o = { width: this.width, maxHeight: this.maxHeight };
135
134
  return b`
136
- <div class=${this.classMap(t)} style=${this.styleMap(e)} part="content">
135
+ <div class=${this.classMap(t)} style=${this.styleMap(o)} part="content">
137
136
  <slot></slot>
138
137
  </div>
139
138
  `;
@@ -141,7 +140,7 @@ let c = class extends S(w`
141
140
  };
142
141
  d([l({ type: String })], c.prototype, "width", 2), d([l({ type: String })], c.prototype, "maxHeight", 2), d([l({ type: Boolean })], c.prototype, "shadow", 2), d([l({ type: String })], c.prototype, "radius", 2), c = d([f("schmancy-dropdown-content")], c);
143
142
  export {
144
- s as S,
143
+ n as S,
145
144
  c as a
146
145
  };
147
- //# sourceMappingURL=dropdown-content-BCk2WbXc.js.map
146
+ //# sourceMappingURL=dropdown-content-B51-eGbI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown-content-B51-eGbI.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 { html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { filter, fromEvent, takeUntil, Subscription } 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() {\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\tprivate portalSubscriptions: Subscription[] = []\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// Clean up portal subscriptions\n\t\tthis.portalSubscriptions.forEach(subscription => subscription.unsubscribe())\n\t\tthis.portalSubscriptions = []\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\t// Clean up subscriptions when content is cleared\n\t\t\t\t\tthis.portalSubscriptions.forEach(subscription => subscription.unsubscribe())\n\t\t\t\t\tthis.portalSubscriptions = []\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// Clean up existing subscriptions\n\t\tthis.portalSubscriptions.forEach(subscription => subscription.unsubscribe())\n\t\tthis.portalSubscriptions = []\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\tconst subscription = fromEvent(clonedElement, 'slotchange').subscribe(() => {\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\tthis.portalSubscriptions.push(subscription)\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","constructor","super","arguments","this","open","placement","distance","portal","portalSubscriptions","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","forEach","subscription","unsubscribe","remove","toggle","changedProps","updated","has","setupPositioner","innerHTML","triggerContainer","teleportContentToPortal","autoUpdate","computePosition","middleware","offset","flip","fallbackPlacements","shift","padding","then","x","y","Object","assign","contentElements","element","clonedElement","cloneNode","tagName","toLowerCase","contentDiv","shadowRoot","querySelector","classList","add","push","e","stopPropagation","render","html","handleTriggerClick","__decorateClass","property","type","Boolean","reflect","prototype","String","Number","query","queryAssignedElements","flatten","state","slot","customElement","SchmancyDropdownContent","TailwindElement","css","width","maxHeight","shadow","radius","classes","styles","classMap","styleMap"],"mappings":"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"}
@@ -1,9 +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 n=require("lit/decorators.js"),m=require("./tailwind.mixin-B-VcpMHn.cjs"),y=require("./litElement.mixin-CjRG_9tZ.cjs"),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 y.$LitElement(h.css`
2
- :host {
3
- display: inline-block;
4
- position: relative;
5
- }
6
- `){constructor(){super(...arguments),this.open=!1,this.placement="bottom-start",this.distance=8,this.portal=null}connectedCallback(){super.connectedCallback(),this.setupPortal(),p.fromEvent(document,"click").pipe(p.filter(t=>this.open&&!this.isEventFromSelf(t)),p.takeUntil(this.disconnecting)).subscribe(()=>{this.open=!1}),p.fromEvent(document,"keydown").pipe(p.filter(t=>this.open&&t.key==="Escape"),p.takeUntil(this.disconnecting)).subscribe(()=>{this.open=!1})}setupPortal(){let t=document.getElementById("schmancy-portal-container");t||(t=document.createElement("div"),t.id="schmancy-portal-container",t.style.position="fixed",t.style.zIndex="10000",t.style.top="0",t.style.left="0",t.style.pointerEvents="none",document.body.appendChild(t));const e=document.createElement("div");e.className="schmancy-dropdown-portal",e.style.position="absolute",e.style.pointerEvents="auto",e.style.display="none",t.appendChild(e),this.portal=e}isEventFromSelf(t){return t.composedPath().some(e=>e===this)}disconnectedCallback(){this.cleanupPositioner?.(),this.portal&&(this.portal.remove(),this.portal=null),super.disconnectedCallback()}toggle(){this.open=!this.open}updated(t){super.updated(t),t.has("open")&&(this.open?this.setupPositioner():(this.cleanupPositioner?.(),this.portal&&(this.portal.style.display="none",this.portal.innerHTML="")))}setupPositioner(){this.triggerContainer&&this.portal&&(this.portal.style.display="block",this.teleportContentToPortal(),this.cleanupPositioner=l.autoUpdate(this.triggerContainer,this.portal,()=>{l.computePosition(this.triggerContainer,this.portal,{placement:this.placement,middleware:[l.offset(this.distance),l.flip({fallbackPlacements:["top-start","bottom-start"]}),l.shift({padding:0})]}).then(({x:t,y:e})=>{Object.assign(this.portal.style,{left:`${t}px`,top:e-8+"px"})})}))}teleportContentToPortal(){this.portal&&(this.portal.innerHTML="",this.contentElements.forEach(t=>{const e=t.cloneNode(!0);t.tagName.toLowerCase()==="schmancy-dropdown-content"&&e.addEventListener("slotchange",()=>{const r=e.shadowRoot?.querySelector('[part="content"]');r&&r.classList.add("schmancy-dropdown-content")}),this.portal?.appendChild(e)}))}handleTriggerClick(t){t.stopPropagation(),this.toggle()}render(){return h.html`
1
+ "use strict";const l=require("@floating-ui/dom"),c=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const n=require("lit/decorators.js"),m=require("./tailwind.mixin-Cb-fyJ_y.cjs"),y=require("./litElement.mixin-YJ8D9a8Z.cjs"),h=require("lit");var u=Object.defineProperty,g=Object.getOwnPropertyDescriptor,i=(t,o,s,r)=>{for(var a,e=r>1?void 0:r?g(o,s):o,p=t.length-1;p>=0;p--)(a=t[p])&&(e=(r?a(o,s,e):a(e))||e);return r&&e&&u(o,s,e),e};exports.SchmancyDropdown=class extends y.$LitElement(){constructor(){super(...arguments),this.open=!1,this.placement="bottom-start",this.distance=8,this.portal=null,this.portalSubscriptions=[]}connectedCallback(){super.connectedCallback(),this.setupPortal(),c.fromEvent(document,"click").pipe(c.filter(t=>this.open&&!this.isEventFromSelf(t)),c.takeUntil(this.disconnecting)).subscribe(()=>{this.open=!1}),c.fromEvent(document,"keydown").pipe(c.filter(t=>this.open&&t.key==="Escape"),c.takeUntil(this.disconnecting)).subscribe(()=>{this.open=!1})}setupPortal(){let t=document.getElementById("schmancy-portal-container");t||(t=document.createElement("div"),t.id="schmancy-portal-container",t.style.position="fixed",t.style.zIndex="10000",t.style.top="0",t.style.left="0",t.style.pointerEvents="none",document.body.appendChild(t));const o=document.createElement("div");o.className="schmancy-dropdown-portal",o.style.position="absolute",o.style.pointerEvents="auto",o.style.display="none",t.appendChild(o),this.portal=o}isEventFromSelf(t){return t.composedPath().some(o=>o===this)}disconnectedCallback(){this.cleanupPositioner?.(),this.portalSubscriptions.forEach(t=>t.unsubscribe()),this.portalSubscriptions=[],this.portal&&(this.portal.remove(),this.portal=null),super.disconnectedCallback()}toggle(){this.open=!this.open}updated(t){super.updated(t),t.has("open")&&(this.open?this.setupPositioner():(this.cleanupPositioner?.(),this.portal&&(this.portal.style.display="none",this.portal.innerHTML="",this.portalSubscriptions.forEach(o=>o.unsubscribe()),this.portalSubscriptions=[])))}setupPositioner(){this.triggerContainer&&this.portal&&(this.portal.style.display="block",this.teleportContentToPortal(),this.cleanupPositioner=l.autoUpdate(this.triggerContainer,this.portal,()=>{l.computePosition(this.triggerContainer,this.portal,{placement:this.placement,middleware:[l.offset(this.distance),l.flip({fallbackPlacements:["top-start","bottom-start"]}),l.shift({padding:0})]}).then(({x:t,y:o})=>{Object.assign(this.portal.style,{left:`${t}px`,top:o-8+"px"})})}))}teleportContentToPortal(){this.portal&&(this.portalSubscriptions.forEach(t=>t.unsubscribe()),this.portalSubscriptions=[],this.portal.innerHTML="",this.contentElements.forEach(t=>{const o=t.cloneNode(!0);if(t.tagName.toLowerCase()==="schmancy-dropdown-content"){const s=c.fromEvent(o,"slotchange").subscribe(()=>{const r=o.shadowRoot?.querySelector('[part="content"]');r&&r.classList.add("schmancy-dropdown-content")});this.portalSubscriptions.push(s)}this.portal?.appendChild(o)}))}handleTriggerClick(t){t.stopPropagation(),this.toggle()}render(){return h.html`
7
2
  <div class="trigger-container" @click=${this.handleTriggerClick}>
8
3
  <slot name="trigger"></slot>
9
4
  </div>
@@ -13,7 +8,7 @@
13
8
  @slotchange=${()=>{this.open&&(this.teleportContentToPortal(),this.setupPositioner())}}
14
9
  ></slot>
15
10
  </div>
16
- `}},i([n.property({type:Boolean,reflect:!0})],exports.SchmancyDropdown.prototype,"open",2),i([n.property({type:String})],exports.SchmancyDropdown.prototype,"placement",2),i([n.property({type:Number})],exports.SchmancyDropdown.prototype,"distance",2),i([n.query(".trigger-container")],exports.SchmancyDropdown.prototype,"triggerContainer",2),i([n.query(".dropdown-content-container")],exports.SchmancyDropdown.prototype,"contentContainer",2),i([n.queryAssignedElements({flatten:!0})],exports.SchmancyDropdown.prototype,"contentElements",2),i([n.state()],exports.SchmancyDropdown.prototype,"portal",2),i([n.queryAssignedElements({slot:"trigger",flatten:!0})],exports.SchmancyDropdown.prototype,"triggerElements",2),exports.SchmancyDropdown=i([n.customElement("schmancy-dropdown")],exports.SchmancyDropdown);var w=Object.defineProperty,f=Object.getOwnPropertyDescriptor,d=(t,e,r,s)=>{for(var a,o=s>1?void 0:s?f(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&&w(e,r,o),o};exports.SchmancyDropdownContent=class extends m.TailwindElement(h.css`
11
+ `}},i([n.property({type:Boolean,reflect:!0})],exports.SchmancyDropdown.prototype,"open",2),i([n.property({type:String})],exports.SchmancyDropdown.prototype,"placement",2),i([n.property({type:Number})],exports.SchmancyDropdown.prototype,"distance",2),i([n.query(".trigger-container")],exports.SchmancyDropdown.prototype,"triggerContainer",2),i([n.query(".dropdown-content-container")],exports.SchmancyDropdown.prototype,"contentContainer",2),i([n.queryAssignedElements({flatten:!0})],exports.SchmancyDropdown.prototype,"contentElements",2),i([n.state()],exports.SchmancyDropdown.prototype,"portal",2),i([n.queryAssignedElements({slot:"trigger",flatten:!0})],exports.SchmancyDropdown.prototype,"triggerElements",2),exports.SchmancyDropdown=i([n.customElement("schmancy-dropdown")],exports.SchmancyDropdown);var w=Object.defineProperty,b=Object.getOwnPropertyDescriptor,d=(t,o,s,r)=>{for(var a,e=r>1?void 0:r?b(o,s):o,p=t.length-1;p>=0;p--)(a=t[p])&&(e=(r?a(o,s,e):a(e))||e);return r&&e&&w(o,s,e),e};exports.SchmancyDropdownContent=class extends m.TailwindElement(h.css`
17
12
  :host {
18
13
  display: block;
19
14
  position: absolute;
@@ -55,9 +50,9 @@
55
50
  transform-origin: top left;
56
51
  animation: dropdownAnimation 0.1s ease-out forwards;
57
52
  }
58
- `){constructor(){super(...arguments),this.width="auto",this.maxHeight="80vh",this.shadow=!0,this.radius="md"}render(){const t={"schmancy-dropdown-content":!0,"overflow-auto":!0,"shadow-none":!this.shadow,"rounded-none":this.radius==="none","rounded-sm":this.radius==="sm","rounded-md":this.radius==="md","rounded-lg":this.radius==="lg","rounded-full":this.radius==="full"},e={width:this.width,maxHeight:this.maxHeight};return h.html`
59
- <div class=${this.classMap(t)} style=${this.styleMap(e)} part="content">
53
+ `){constructor(){super(...arguments),this.width="auto",this.maxHeight="80vh",this.shadow=!0,this.radius="md"}render(){const t={"schmancy-dropdown-content":!0,"overflow-auto":!0,"shadow-none":!this.shadow,"rounded-none":this.radius==="none","rounded-sm":this.radius==="sm","rounded-md":this.radius==="md","rounded-lg":this.radius==="lg","rounded-full":this.radius==="full"},o={width:this.width,maxHeight:this.maxHeight};return h.html`
54
+ <div class=${this.classMap(t)} style=${this.styleMap(o)} part="content">
60
55
  <slot></slot>
61
56
  </div>
62
57
  `}},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-CXxTjA0j.cjs.map
58
+ //# sourceMappingURL=dropdown-content-DelDUcfW.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown-content-DelDUcfW.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 { html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { filter, fromEvent, takeUntil, Subscription } 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() {\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\tprivate portalSubscriptions: Subscription[] = []\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// Clean up portal subscriptions\n\t\tthis.portalSubscriptions.forEach(subscription => subscription.unsubscribe())\n\t\tthis.portalSubscriptions = []\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\t// Clean up subscriptions when content is cleared\n\t\t\t\t\tthis.portalSubscriptions.forEach(subscription => subscription.unsubscribe())\n\t\t\t\t\tthis.portalSubscriptions = []\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// Clean up existing subscriptions\n\t\tthis.portalSubscriptions.forEach(subscription => subscription.unsubscribe())\n\t\tthis.portalSubscriptions = []\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\tconst subscription = fromEvent(clonedElement, 'slotchange').subscribe(() => {\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\tthis.portalSubscriptions.push(subscription)\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","constructor","super","arguments","this","open","placement","distance","portal","portalSubscriptions","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","forEach","subscription","unsubscribe","remove","toggle","changedProps","updated","has","setupPositioner","innerHTML","triggerContainer","teleportContentToPortal","autoUpdate","computePosition","middleware","offset","flip","fallbackPlacements","shift","padding","then","x","y","Object","assign","contentElements","element","clonedElement","cloneNode","tagName","toLowerCase","contentDiv","shadowRoot","querySelector","classList","add","push","e","stopPropagation","render","html","handleTriggerClick","__decorateClass","property","type","Boolean","reflect","prototype","String","Number","query","queryAssignedElements","flatten","state","slot","customElement","SchmancyDropdownContent","TailwindElement","css","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-CXxTjA0j.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-DelDUcfW.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-BCk2WbXc.js";
1
+ import { S as a, a as c } from "./dropdown-content-B51-eGbI.js";
2
2
  export {
3
3
  a as SchmancyDropdown,
4
4
  c as SchmancyDropdownContent