@mhmo91/schmancy 0.4.1 → 0.4.2

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 (321) hide show
  1. package/dist/{animated-text-DBk95qoX.cjs → animated-text-C_ISIdDY.cjs} +2 -2
  2. package/dist/{animated-text-DBk95qoX.cjs.map → animated-text-C_ISIdDY.cjs.map} +1 -1
  3. package/dist/{animated-text-BhACpxZL.js → animated-text-DE4jCzlq.js} +3 -3
  4. package/dist/{animated-text-BhACpxZL.js.map → animated-text-DE4jCzlq.js.map} +1 -1
  5. package/dist/animated-text.cjs +1 -1
  6. package/dist/animated-text.js +1 -1
  7. package/dist/area.cjs +1 -1
  8. package/dist/area.component-Bvd_wwUW.cjs +8 -0
  9. package/dist/{area.component-CbT_WCUv.cjs.map → area.component-Bvd_wwUW.cjs.map} +1 -1
  10. package/dist/{area.component-DX2Y6cAp.js → area.component-DQKc0WXK.js} +85 -90
  11. package/dist/{area.component-DX2Y6cAp.js.map → area.component-DQKc0WXK.js.map} +1 -1
  12. package/dist/area.js +1 -1
  13. package/dist/autocomplete-D_XhT92l.cjs +73 -0
  14. package/dist/{autocomplete-ByVC8MLH.cjs.map → autocomplete-D_XhT92l.cjs.map} +1 -1
  15. package/dist/autocomplete-ytqc1f_C.js +315 -0
  16. package/dist/{autocomplete-Qr_SNWus.js.map → autocomplete-ytqc1f_C.js.map} +1 -1
  17. package/dist/autocomplete.cjs +1 -1
  18. package/dist/autocomplete.js +1 -1
  19. package/dist/{avatar-Bqohpa1o.cjs → avatar-DkBLxCT2.cjs} +2 -2
  20. package/dist/{avatar-Bqohpa1o.cjs.map → avatar-DkBLxCT2.cjs.map} +1 -1
  21. package/dist/{avatar-BFxYkrCv.js → avatar-m6kOcWq2.js} +47 -47
  22. package/dist/{avatar-BFxYkrCv.js.map → avatar-m6kOcWq2.js.map} +1 -1
  23. package/dist/badge.cjs +1 -1
  24. package/dist/badge.js +1 -1
  25. package/dist/{boat-ZKuOCC1g.js → boat-BeW5NYdz.js} +2 -2
  26. package/dist/{boat-ZKuOCC1g.js.map → boat-BeW5NYdz.js.map} +1 -1
  27. package/dist/{boat-RaIwtGNW.cjs → boat-DigCNXsd.cjs} +2 -2
  28. package/dist/{boat-RaIwtGNW.cjs.map → boat-DigCNXsd.cjs.map} +1 -1
  29. package/dist/boat.cjs +1 -1
  30. package/dist/boat.js +1 -1
  31. package/dist/busy.cjs +1 -1
  32. package/dist/busy.js +1 -1
  33. package/dist/button.cjs +1 -1
  34. package/dist/button.js +1 -1
  35. package/dist/card.cjs +1 -1
  36. package/dist/card.js +1 -1
  37. package/dist/{checkbox-BZvRSKLj.cjs → checkbox-CFqvhybv.cjs} +4 -4
  38. package/dist/{checkbox-BZvRSKLj.cjs.map → checkbox-CFqvhybv.cjs.map} +1 -1
  39. package/dist/{checkbox-Cy3X3PGY.js → checkbox-DSEvvPj1.js} +31 -32
  40. package/dist/{checkbox-Cy3X3PGY.js.map → checkbox-DSEvvPj1.js.map} +1 -1
  41. package/dist/checkbox.cjs +1 -1
  42. package/dist/checkbox.js +1 -1
  43. package/dist/{chips-Y1qvw2Wa.js → chips-DCKLuDxP.js} +59 -61
  44. package/dist/{chips-Y1qvw2Wa.js.map → chips-DCKLuDxP.js.map} +1 -1
  45. package/dist/{chips-5IKm7m8x.cjs → chips-MCF53PoG.cjs} +25 -25
  46. package/dist/{chips-5IKm7m8x.cjs.map → chips-MCF53PoG.cjs.map} +1 -1
  47. package/dist/chips.cjs +1 -1
  48. package/dist/chips.js +1 -1
  49. package/dist/{circular-progress-BZwI11v0.cjs → circular-progress-CF0ow_gn.cjs} +2 -2
  50. package/dist/{circular-progress-BZwI11v0.cjs.map → circular-progress-CF0ow_gn.cjs.map} +1 -1
  51. package/dist/{circular-progress-utG8iIPV.js → circular-progress-CKlT4zjF.js} +3 -3
  52. package/dist/{circular-progress-utG8iIPV.js.map → circular-progress-CKlT4zjF.js.map} +1 -1
  53. package/dist/circular-progress.cjs +1 -1
  54. package/dist/circular-progress.js +1 -1
  55. package/dist/code-highlight.cjs +1 -1
  56. package/dist/code-highlight.js +1 -1
  57. package/dist/{code-preview-CN4mbrHE.cjs → code-preview-Cj_qRKC9.cjs} +9 -9
  58. package/dist/{code-preview-CN4mbrHE.cjs.map → code-preview-Cj_qRKC9.cjs.map} +1 -1
  59. package/dist/{code-preview-C_W44LD7.js → code-preview-CuDOLS91.js} +166 -168
  60. package/dist/{code-preview-C_W44LD7.js.map → code-preview-CuDOLS91.js.map} +1 -1
  61. package/dist/components.cjs +1 -1
  62. package/dist/components.js +1 -1
  63. package/dist/{consume-B05Dd6qy.js → consume-5D1qfVWM.js} +2 -2
  64. package/dist/{consume-B05Dd6qy.js.map → consume-5D1qfVWM.js.map} +1 -1
  65. package/dist/{consume-uKrSupzs.cjs → consume-edta5ng5.cjs} +2 -2
  66. package/dist/{consume-uKrSupzs.cjs.map → consume-edta5ng5.cjs.map} +1 -1
  67. package/dist/content-drawer.cjs +1 -1
  68. package/dist/content-drawer.js +1 -1
  69. package/dist/{context-object-CISes2bD.js → context-object-CDDP4bTk.js} +6 -8
  70. package/dist/{context-object-CISes2bD.js.map → context-object-CDDP4bTk.js.map} +1 -1
  71. package/dist/context-object-K_1gDFu-.cjs +2 -0
  72. package/dist/{context-object-CP7HbDFQ.cjs.map → context-object-K_1gDFu-.cjs.map} +1 -1
  73. package/dist/date-range-B2f1eXz0.cjs +139 -0
  74. package/dist/{date-range-Dff7Y8Ph.cjs.map → date-range-B2f1eXz0.cjs.map} +1 -1
  75. package/dist/{date-range-CIn-HKuL.js → date-range-CmeAQ5QS.js} +107 -108
  76. package/dist/{date-range-CIn-HKuL.js.map → date-range-CmeAQ5QS.js.map} +1 -1
  77. package/dist/date-range.cjs +1 -1
  78. package/dist/date-range.js +1 -1
  79. package/dist/delay-40MKpcZU.cjs +10 -0
  80. package/dist/{delay-CLGKeX0n.cjs.map → delay-40MKpcZU.cjs.map} +1 -1
  81. package/dist/{delay-Cd-N6nxZ.js → delay-pKHFTza9.js} +57 -70
  82. package/dist/{delay-Cd-N6nxZ.js.map → delay-pKHFTza9.js.map} +1 -1
  83. package/dist/delay.cjs +1 -1
  84. package/dist/delay.js +1 -1
  85. package/dist/{dialog-content-C835zQHB.js → dialog-content-B_fVl8nu.js} +9 -11
  86. package/dist/{dialog-content-C835zQHB.js.map → dialog-content-B_fVl8nu.js.map} +1 -1
  87. package/dist/{dialog-content-DWITDRHy.cjs → dialog-content-CkjibvSc.cjs} +4 -4
  88. package/dist/{dialog-content-DWITDRHy.cjs.map → dialog-content-CkjibvSc.cjs.map} +1 -1
  89. package/dist/dialog-service-BgqAlT7T.cjs +2 -0
  90. package/dist/{dialog-service-Di9NiBao.cjs.map → dialog-service-BgqAlT7T.cjs.map} +1 -1
  91. package/dist/dialog-service-CnjZCTMj.js +127 -0
  92. package/dist/{dialog-service-noGCuxg1.js.map → dialog-service-CnjZCTMj.js.map} +1 -1
  93. package/dist/dialog.cjs +1 -1
  94. package/dist/dialog.js +2 -2
  95. package/dist/{divider-C7UzzgIj.cjs → divider-BDgmQ4VQ.cjs} +2 -2
  96. package/dist/{divider-C7UzzgIj.cjs.map → divider-BDgmQ4VQ.cjs.map} +1 -1
  97. package/dist/{divider-D7pxxtTI.js → divider-njFvOEz7.js} +3 -3
  98. package/dist/{divider-D7pxxtTI.js.map → divider-njFvOEz7.js.map} +1 -1
  99. package/dist/divider.cjs +1 -1
  100. package/dist/divider.js +1 -1
  101. package/dist/{dropdown-content-DJFDnoKm.js → dropdown-content-C4o6Y70E.js} +16 -20
  102. package/dist/{dropdown-content-DJFDnoKm.js.map → dropdown-content-C4o6Y70E.js.map} +1 -1
  103. package/dist/{dropdown-content-RMyyjS7G.cjs → dropdown-content-CwEBCQTd.cjs} +4 -4
  104. package/dist/{dropdown-content-RMyyjS7G.cjs.map → dropdown-content-CwEBCQTd.cjs.map} +1 -1
  105. package/dist/dropdown.cjs +1 -1
  106. package/dist/dropdown.js +1 -1
  107. package/dist/extra.cjs +1 -1
  108. package/dist/extra.js +1 -1
  109. package/dist/{flex-Bu7OqH-d.js → flex-CbKzMNEV.js} +63 -64
  110. package/dist/{flex-Bu7OqH-d.js.map → flex-CbKzMNEV.js.map} +1 -1
  111. package/dist/{flex-Cg_UtAIG.cjs → flex-_h7Zh750.cjs} +10 -10
  112. package/dist/{flex-Cg_UtAIG.cjs.map → flex-_h7Zh750.cjs.map} +1 -1
  113. package/dist/flow-D0e7hGXO.cjs +2 -0
  114. package/dist/{flow-CnJl1T1A.cjs.map → flow-D0e7hGXO.cjs.map} +1 -1
  115. package/dist/{flow-B1wMqea2.js → flow-DXYqC9OA.js} +50 -52
  116. package/dist/{flow-B1wMqea2.js.map → flow-DXYqC9OA.js.map} +1 -1
  117. package/dist/{form-WeCrsPmp.js → form-eXTuXutS.js} +19 -28
  118. package/dist/{form-WeCrsPmp.js.map → form-eXTuXutS.js.map} +1 -1
  119. package/dist/form-gg5B6Dla.cjs +14 -0
  120. package/dist/{form-DzfdidJO.cjs.map → form-gg5B6Dla.cjs.map} +1 -1
  121. package/dist/form.cjs +1 -1
  122. package/dist/form.js +1 -1
  123. package/dist/{icon-Be8aUtz9.js → icon-as6C4b0_.js} +8 -9
  124. package/dist/{icon-Be8aUtz9.js.map → icon-as6C4b0_.js.map} +1 -1
  125. package/dist/icon-button-D5te6MSD.cjs +69 -0
  126. package/dist/{icon-button-DNvGlOPI.cjs.map → icon-button-D5te6MSD.cjs.map} +1 -1
  127. package/dist/{icon-button-Mfs7C_ol.js → icon-button-eM7fkcaa.js} +40 -41
  128. package/dist/{icon-button-Mfs7C_ol.js.map → icon-button-eM7fkcaa.js.map} +1 -1
  129. package/dist/{icon-4c4f-QXa.cjs → icon-lc9iKCzt.cjs} +4 -4
  130. package/dist/{icon-4c4f-QXa.cjs.map → icon-lc9iKCzt.cjs.map} +1 -1
  131. package/dist/icons.cjs +1 -1
  132. package/dist/icons.js +1 -1
  133. package/dist/index.cjs +1 -1
  134. package/dist/index.js +44 -44
  135. package/dist/{input-CpYu_aUV.js → input-C1JcUy_t.js} +86 -113
  136. package/dist/{input-CpYu_aUV.js.map → input-C1JcUy_t.js.map} +1 -1
  137. package/dist/input-KfFWcQk8.cjs +111 -0
  138. package/dist/{input-CD59n3y-.cjs.map → input-KfFWcQk8.cjs.map} +1 -1
  139. package/dist/input.cjs +1 -1
  140. package/dist/input.js +1 -1
  141. package/dist/layout.cjs +1 -1
  142. package/dist/layout.js +1 -1
  143. package/dist/{list-kvjz9d5N.cjs → list-CZlCptFt.cjs} +4 -4
  144. package/dist/{list-kvjz9d5N.cjs.map → list-CZlCptFt.cjs.map} +1 -1
  145. package/dist/{list-DNZhjJ-s.js → list-Cn2oKOHN.js} +20 -21
  146. package/dist/{list-DNZhjJ-s.js.map → list-Cn2oKOHN.js.map} +1 -1
  147. package/dist/list.cjs +1 -1
  148. package/dist/list.js +1 -1
  149. package/dist/{litElement.mixin-CrXwM_fu.cjs → litElement.mixin-BFfWKABY.cjs} +2 -2
  150. package/dist/{litElement.mixin-CrXwM_fu.cjs.map → litElement.mixin-BFfWKABY.cjs.map} +1 -1
  151. package/dist/{litElement.mixin-DMTxmbnz.js → litElement.mixin-CUhEpTgZ.js} +2 -2
  152. package/dist/{litElement.mixin-DMTxmbnz.js.map → litElement.mixin-CUhEpTgZ.js.map} +1 -1
  153. package/dist/{menu-CzoGF0Jg.js → menu--0VMi_rl.js} +3 -3
  154. package/dist/{menu-CzoGF0Jg.js.map → menu--0VMi_rl.js.map} +1 -1
  155. package/dist/{menu-DSJGu_Le.cjs → menu-ChUQMNtl.cjs} +2 -2
  156. package/dist/{menu-DSJGu_Le.cjs.map → menu-ChUQMNtl.cjs.map} +1 -1
  157. package/dist/menu.cjs +1 -1
  158. package/dist/menu.js +1 -1
  159. package/dist/nav-drawer.cjs +1 -1
  160. package/dist/nav-drawer.js +1 -1
  161. package/dist/{notification-service-BUZQ2nOZ.js → notification-service-BSp9bz1i.js} +4 -4
  162. package/dist/{notification-service-BUZQ2nOZ.js.map → notification-service-BSp9bz1i.js.map} +1 -1
  163. package/dist/{notification-service-dKoZweFH.cjs → notification-service-Bick5tKQ.cjs} +6 -6
  164. package/dist/{notification-service-dKoZweFH.cjs.map → notification-service-Bick5tKQ.cjs.map} +1 -1
  165. package/dist/notification.cjs +1 -1
  166. package/dist/notification.js +1 -1
  167. package/dist/{option-dBiLTB_w.js → option-BBH03Xsg.js} +3 -4
  168. package/dist/{option-dBiLTB_w.js.map → option-BBH03Xsg.js.map} +1 -1
  169. package/dist/{option-BXU6HGLZ.cjs → option-C_1a_vzI.cjs} +3 -3
  170. package/dist/{option-BXU6HGLZ.cjs.map → option-C_1a_vzI.cjs.map} +1 -1
  171. package/dist/option.cjs +1 -1
  172. package/dist/option.js +1 -1
  173. package/dist/{payment-card-form-HSho3d5z.cjs → payment-card-form-DDhg71fA.cjs} +2 -2
  174. package/dist/{payment-card-form-HSho3d5z.cjs.map → payment-card-form-DDhg71fA.cjs.map} +1 -1
  175. package/dist/{payment-card-form-Bhy7PHzr.js → payment-card-form-DgkNJsE1.js} +3 -3
  176. package/dist/{payment-card-form-Bhy7PHzr.js.map → payment-card-form-DgkNJsE1.js.map} +1 -1
  177. package/dist/provide-BxZ2kn_p.cjs +2 -0
  178. package/dist/{provide-BGGp1Iks.cjs.map → provide-BxZ2kn_p.cjs.map} +1 -1
  179. package/dist/{provide-hwQSumt-.js → provide-tcktw8xB.js} +41 -42
  180. package/dist/{provide-hwQSumt-.js.map → provide-tcktw8xB.js.map} +1 -1
  181. package/dist/radio-button-CCsCtUkU.cjs +41 -0
  182. package/dist/{radio-button-dwmtJ2ef.cjs.map → radio-button-CCsCtUkU.cjs.map} +1 -1
  183. package/dist/radio-button-Cuo-ybx9.js +151 -0
  184. package/dist/{radio-button-DDbyvXw1.js.map → radio-button-Cuo-ybx9.js.map} +1 -1
  185. package/dist/radio-group.cjs +1 -1
  186. package/dist/radio-group.js +1 -1
  187. package/dist/{redispatch-event-CF5ekzwZ.js → redispatch-event-BLom7yp4.js} +65 -68
  188. package/dist/{redispatch-event-CF5ekzwZ.js.map → redispatch-event-BLom7yp4.js.map} +1 -1
  189. package/dist/redispatch-event-DHcobAl6.cjs +4 -0
  190. package/dist/{redispatch-event-roczetCU.cjs.map → redispatch-event-DHcobAl6.cjs.map} +1 -1
  191. package/dist/{schmancy-steps-container-BrfKRYkI.js → schmancy-steps-container-CmGuY9sB.js} +5 -6
  192. package/dist/{schmancy-steps-container-BrfKRYkI.js.map → schmancy-steps-container-CmGuY9sB.js.map} +1 -1
  193. package/dist/{schmancy-steps-container-COL9P7PV.cjs → schmancy-steps-container-CqsMA2he.cjs} +3 -3
  194. package/dist/{schmancy-steps-container-COL9P7PV.cjs.map → schmancy-steps-container-CqsMA2he.cjs.map} +1 -1
  195. package/dist/{select-C6O6NRea.js → select-ChxNr4a9.js} +46 -56
  196. package/dist/{select-C6O6NRea.js.map → select-ChxNr4a9.js.map} +1 -1
  197. package/dist/select-fZ2PlQ_3.cjs +56 -0
  198. package/dist/{select-PrgXr6zf.cjs.map → select-fZ2PlQ_3.cjs.map} +1 -1
  199. package/dist/select.cjs +1 -1
  200. package/dist/select.js +1 -1
  201. package/dist/{selector-hook-B6uqLA-J.js → selector-hook-BvXML7_4.js} +61 -64
  202. package/dist/{selector-hook-B6uqLA-J.js.map → selector-hook-BvXML7_4.js.map} +1 -1
  203. package/dist/selector-hook-CYMLsOvh.cjs +2 -0
  204. package/dist/{selector-hook-CyvD9WN9.cjs.map → selector-hook-CYMLsOvh.cjs.map} +1 -1
  205. package/dist/sheet-2FAz4r9B.js +141 -0
  206. package/dist/{sheet-lcz-71nv.js.map → sheet-2FAz4r9B.js.map} +1 -1
  207. package/dist/sheet-CaUlNTdn.cjs +47 -0
  208. package/dist/{sheet-CNvW8vrn.cjs.map → sheet-CaUlNTdn.cjs.map} +1 -1
  209. package/dist/sheet.cjs +1 -1
  210. package/dist/sheet.js +2 -2
  211. package/dist/{slider-BNXI3Yj7.cjs → slider-CHlXZvPb.cjs} +8 -8
  212. package/dist/{slider-BNXI3Yj7.cjs.map → slider-CHlXZvPb.cjs.map} +1 -1
  213. package/dist/{slider-i-AZp4UF.js → slider-DU3_sk4c.js} +36 -40
  214. package/dist/{slider-i-AZp4UF.js.map → slider-DU3_sk4c.js.map} +1 -1
  215. package/dist/slider.cjs +1 -1
  216. package/dist/slider.js +1 -1
  217. package/dist/{spinner-DItpvohq.cjs → spinner-D064VAQ0.cjs} +2 -2
  218. package/dist/{spinner-DItpvohq.cjs.map → spinner-D064VAQ0.cjs.map} +1 -1
  219. package/dist/{spinner-Df6JHzWX.js → spinner-RvzzGIF-.js} +3 -3
  220. package/dist/{spinner-Df6JHzWX.js.map → spinner-RvzzGIF-.js.map} +1 -1
  221. package/dist/steps.cjs +1 -1
  222. package/dist/steps.js +1 -1
  223. package/dist/store.cjs +1 -1
  224. package/dist/store.js +2 -2
  225. package/dist/{surface-DiP3y6CA.cjs → surface-B3UkH65j.cjs} +2 -2
  226. package/dist/{surface-DiP3y6CA.cjs.map → surface-B3UkH65j.cjs.map} +1 -1
  227. package/dist/{surface-BaatMeqX.js → surface-s7dL8dsr.js} +3 -3
  228. package/dist/{surface-BaatMeqX.js.map → surface-s7dL8dsr.js.map} +1 -1
  229. package/dist/surface.cjs +1 -1
  230. package/dist/surface.js +1 -1
  231. package/dist/table-BrbO5sO5.cjs +65 -0
  232. package/dist/{table-BRQDbCA8.cjs.map → table-BrbO5sO5.cjs.map} +1 -1
  233. package/dist/{table-BY56H-_F.js → table-DzYvbr4k.js} +58 -68
  234. package/dist/{table-BY56H-_F.js.map → table-DzYvbr4k.js.map} +1 -1
  235. package/dist/table.cjs +1 -1
  236. package/dist/table.js +1 -1
  237. package/dist/{tabs-compatibility-pq--kZ3e.cjs → tabs-compatibility-CGG-7f7V.cjs} +5 -5
  238. package/dist/{tabs-compatibility-pq--kZ3e.cjs.map → tabs-compatibility-CGG-7f7V.cjs.map} +1 -1
  239. package/dist/{tabs-compatibility-qFYA1HDl.js → tabs-compatibility-vhn4Kp7N.js} +20 -21
  240. package/dist/{tabs-compatibility-qFYA1HDl.js.map → tabs-compatibility-vhn4Kp7N.js.map} +1 -1
  241. package/dist/tabs.cjs +1 -1
  242. package/dist/tabs.js +1 -1
  243. package/dist/tailwind.mixin-CgPd8dM4.cjs +2 -0
  244. package/dist/{tailwind.mixin-CPvz1Npj.cjs.map → tailwind.mixin-CgPd8dM4.cjs.map} +1 -1
  245. package/dist/tailwind.mixin-t3Yj_Xbu.js +43 -0
  246. package/dist/{tailwind.mixin-DbsxfE0U.js.map → tailwind.mixin-t3Yj_Xbu.js.map} +1 -1
  247. package/dist/teleport.cjs +1 -1
  248. package/dist/teleport.js +1 -1
  249. package/dist/{textarea-DPD_F-N6.cjs → textarea-BqzHPEaR.cjs} +12 -12
  250. package/dist/{textarea-DPD_F-N6.cjs.map → textarea-BqzHPEaR.cjs.map} +1 -1
  251. package/dist/{textarea-D2m3usht.js → textarea-DB4ma3Yk.js} +31 -45
  252. package/dist/{textarea-D2m3usht.js.map → textarea-DB4ma3Yk.js.map} +1 -1
  253. package/dist/textarea.cjs +1 -1
  254. package/dist/textarea.js +1 -1
  255. package/dist/{theme-button-ucq2VrW0.js → theme-button-DiugvNq0.js} +2 -2
  256. package/dist/{theme-button-ucq2VrW0.js.map → theme-button-DiugvNq0.js.map} +1 -1
  257. package/dist/{theme-button-0dEQlWtO.cjs → theme-button-X1T0K-rT.cjs} +2 -2
  258. package/dist/{theme-button-0dEQlWtO.cjs.map → theme-button-X1T0K-rT.cjs.map} +1 -1
  259. package/dist/theme-button.cjs +1 -1
  260. package/dist/theme-button.js +1 -1
  261. package/dist/theme.cjs +1 -1
  262. package/dist/{theme.component-DOSuAou9.js → theme.component-DGfwQDsP.js} +7 -8
  263. package/dist/{theme.component-DOSuAou9.js.map → theme.component-DGfwQDsP.js.map} +1 -1
  264. package/dist/{theme.component-E4gA7t5r.cjs → theme.component-GbvYp0sg.cjs} +2 -2
  265. package/dist/{theme.component-E4gA7t5r.cjs.map → theme.component-GbvYp0sg.cjs.map} +1 -1
  266. package/dist/theme.js +1 -1
  267. package/dist/{timezone-Bf4J_3By.cjs → timezone-Bp8z4kRR.cjs} +6 -6
  268. package/dist/{timezone-Bf4J_3By.cjs.map → timezone-Bp8z4kRR.cjs.map} +1 -1
  269. package/dist/{timezone-xOWMbSDV.js → timezone-pKGsUkVR.js} +22 -28
  270. package/dist/{timezone-xOWMbSDV.js.map → timezone-pKGsUkVR.js.map} +1 -1
  271. package/dist/tooltip-DO_tqLiU.cjs +7 -0
  272. package/dist/{tooltip-6a1_bSeD.cjs.map → tooltip-DO_tqLiU.cjs.map} +1 -1
  273. package/dist/{tooltip-zsp-xmPP.js → tooltip-OGPdu-15.js} +29 -31
  274. package/dist/{tooltip-zsp-xmPP.js.map → tooltip-OGPdu-15.js.map} +1 -1
  275. package/dist/tooltip.cjs +1 -1
  276. package/dist/tooltip.js +1 -1
  277. package/dist/{tree-D0FCXUWg.js → tree-BLnyRUxk.js} +2 -2
  278. package/dist/{tree-D0FCXUWg.js.map → tree-BLnyRUxk.js.map} +1 -1
  279. package/dist/{tree-DRa2127p.cjs → tree-Cj9dq4FW.cjs} +2 -2
  280. package/dist/{tree-DRa2127p.cjs.map → tree-Cj9dq4FW.cjs.map} +1 -1
  281. package/dist/tree.cjs +1 -1
  282. package/dist/tree.js +1 -1
  283. package/dist/typewriter-CLh00Uvc.cjs +21 -0
  284. package/dist/{typewriter-XTltzkLy.cjs.map → typewriter-CLh00Uvc.cjs.map} +1 -1
  285. package/dist/typewriter-P4fs9-rU.js +437 -0
  286. package/dist/{typewriter-BNTzu9jY.js.map → typewriter-P4fs9-rU.js.map} +1 -1
  287. package/dist/typewriter.cjs +1 -1
  288. package/dist/typewriter.js +1 -1
  289. package/dist/{typography-nVG55_Y6.cjs → typography-BOogKO97.cjs} +2 -2
  290. package/dist/{typography-nVG55_Y6.cjs.map → typography-BOogKO97.cjs.map} +1 -1
  291. package/dist/{typography-DCP0jC-m.js → typography-BouLjmvn.js} +2 -2
  292. package/dist/{typography-DCP0jC-m.js.map → typography-BouLjmvn.js.map} +1 -1
  293. package/dist/typography.cjs +1 -1
  294. package/dist/typography.js +1 -1
  295. package/package.json +14 -17
  296. package/dist/area.component-CbT_WCUv.cjs +0 -8
  297. package/dist/autocomplete-ByVC8MLH.cjs +0 -73
  298. package/dist/autocomplete-Qr_SNWus.js +0 -324
  299. package/dist/context-object-CP7HbDFQ.cjs +0 -2
  300. package/dist/date-range-Dff7Y8Ph.cjs +0 -139
  301. package/dist/delay-CLGKeX0n.cjs +0 -10
  302. package/dist/dialog-service-Di9NiBao.cjs +0 -2
  303. package/dist/dialog-service-noGCuxg1.js +0 -127
  304. package/dist/flow-CnJl1T1A.cjs +0 -2
  305. package/dist/form-DzfdidJO.cjs +0 -14
  306. package/dist/icon-button-DNvGlOPI.cjs +0 -69
  307. package/dist/input-CD59n3y-.cjs +0 -111
  308. package/dist/provide-BGGp1Iks.cjs +0 -2
  309. package/dist/radio-button-DDbyvXw1.js +0 -157
  310. package/dist/radio-button-dwmtJ2ef.cjs +0 -41
  311. package/dist/redispatch-event-roczetCU.cjs +0 -4
  312. package/dist/select-PrgXr6zf.cjs +0 -56
  313. package/dist/selector-hook-CyvD9WN9.cjs +0 -2
  314. package/dist/sheet-CNvW8vrn.cjs +0 -47
  315. package/dist/sheet-lcz-71nv.js +0 -146
  316. package/dist/table-BRQDbCA8.cjs +0 -65
  317. package/dist/tailwind.mixin-CPvz1Npj.cjs +0 -2
  318. package/dist/tailwind.mixin-DbsxfE0U.js +0 -43
  319. package/dist/tooltip-6a1_bSeD.cjs +0 -7
  320. package/dist/typewriter-BNTzu9jY.js +0 -436
  321. package/dist/typewriter-XTltzkLy.cjs +0 -21
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-content-DJFDnoKm.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","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","cleanupPositioner","remove","disconnectedCallback","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","toggle","render","html","handleTriggerClick","__decorateClass","property","type","Boolean","reflect","prototype","String","Number","query","queryAssignedElements","flatten","state","slot","customElement","SchmancyDropdownContent","TailwindElement","constructor","width","maxHeight","shadow","radius","classes","styles","classMap","styleMap"],"mappings":"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"}
1
+ {"version":3,"file":"dropdown-content-C4o6Y70E.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","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","cleanupPositioner","remove","disconnectedCallback","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","toggle","render","html","handleTriggerClick","__decorateClass","property","type","Boolean","reflect","prototype","String","Number","query","queryAssignedElements","flatten","state","slot","customElement","SchmancyDropdownContent","TailwindElement","constructor","width","maxHeight","shadow","radius","classes","styles","classMap","styleMap"],"mappings":"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"}
@@ -1,9 +1,9 @@
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-CrXwM_fu.cjs"),y=require("./tailwind.mixin-CPvz1Npj.cjs"),h=require("lit"),n=require("lit/decorators.js");var u=Object.defineProperty,g=Object.getOwnPropertyDescriptor,a=(t,e,s,r)=>{for(var i,o=r>1?void 0:r?g(e,s):e,c=t.length-1;c>=0;c--)(i=t[c])&&(o=(r?i(e,s,o):i(o))||o);return r&&o&&u(e,s,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-BFfWKABY.cjs"),y=require("./tailwind.mixin-CgPd8dM4.cjs"),h=require("lit"),n=require("lit/decorators.js");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;
5
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(){var t;(t=this.cleanupPositioner)==null||t.call(this),this.portal&&(this.portal.remove(),this.portal=null),super.disconnectedCallback()}toggle(){this.open=!this.open}updated(t){var e;super.updated(t),t.has("open")&&(this.open?this.setupPositioner():((e=this.cleanupPositioner)==null||e.call(this),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=>{var s;const e=t.cloneNode(!0);t.tagName.toLowerCase()==="schmancy-dropdown-content"&&e.addEventListener("slotchange",()=>{var i;const r=(i=e.shadowRoot)==null?void 0:i.querySelector('[part="content"]');r&&r.classList.add("schmancy-dropdown-content")}),(s=this.portal)==null||s.appendChild(e)}))}handleTriggerClick(t){t.stopPropagation(),this.toggle()}render(){return h.html`
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`
7
7
  <div class="trigger-container" @click=${this.handleTriggerClick}>
8
8
  <slot name="trigger"></slot>
9
9
  </div>
@@ -13,7 +13,7 @@
13
13
  @slotchange=${()=>{this.open&&(this.teleportContentToPortal(),this.setupPositioner())}}
14
14
  ></slot>
15
15
  </div>
16
- `}},a([n.property({type:Boolean,reflect:!0})],exports.SchmancyDropdown.prototype,"open",2),a([n.property({type:String})],exports.SchmancyDropdown.prototype,"placement",2),a([n.property({type:Number})],exports.SchmancyDropdown.prototype,"distance",2),a([n.query(".trigger-container")],exports.SchmancyDropdown.prototype,"triggerContainer",2),a([n.query(".dropdown-content-container")],exports.SchmancyDropdown.prototype,"contentContainer",2),a([n.queryAssignedElements({flatten:!0})],exports.SchmancyDropdown.prototype,"contentElements",2),a([n.state()],exports.SchmancyDropdown.prototype,"portal",2),a([n.queryAssignedElements({slot:"trigger",flatten:!0})],exports.SchmancyDropdown.prototype,"triggerElements",2),exports.SchmancyDropdown=a([n.customElement("schmancy-dropdown")],exports.SchmancyDropdown);var w=Object.defineProperty,f=Object.getOwnPropertyDescriptor,d=(t,e,s,r)=>{for(var i,o=r>1?void 0:r?f(e,s):e,c=t.length-1;c>=0;c--)(i=t[c])&&(o=(r?i(e,s,o):i(o))||o);return r&&o&&w(e,s,o),o};exports.SchmancyDropdownContent=class extends y.TailwindElement(h.css`
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 y.TailwindElement(h.css`
17
17
  :host {
18
18
  display: block;
19
19
  position: absolute;
@@ -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-RMyyjS7G.cjs.map
63
+ //# sourceMappingURL=dropdown-content-CwEBCQTd.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-content-RMyyjS7G.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","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","cleanupPositioner","remove","disconnectedCallback","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","toggle","html","handleTriggerClick","__decorateClass","property","type","Boolean","reflect","prototype","String","Number","query","queryAssignedElements","flatten","state","slot","customElement","SchmancyDropdownContent","TailwindElement","constructor","width","maxHeight","shadow","radius","classes","styles","classMap","styleMap"],"mappings":"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"}
1
+ {"version":3,"file":"dropdown-content-CwEBCQTd.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","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","cleanupPositioner","remove","disconnectedCallback","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","toggle","html","handleTriggerClick","__decorateClass","property","type","Boolean","reflect","prototype","String","Number","query","queryAssignedElements","flatten","state","slot","customElement","SchmancyDropdownContent","TailwindElement","constructor","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-RMyyjS7G.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-CwEBCQTd.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-DJFDnoKm.js";
1
+ import { S as a, a as c } from "./dropdown-content-C4o6Y70E.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-Bf4J_3By.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-Bp8z4kRR.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-xOWMbSDV.js";
1
+ import { S as a, a as S } from "./timezone-pKGsUkVR.js";
2
2
  export {
3
3
  a as SchmancyCountriesSelect,
4
4
  S as SchmancyTimezonesSelect
@@ -1,14 +1,14 @@
1
- import { unsafeCSS as B, html as m, css as E } from "lit";
2
- import { property as t, customElement as v, queryAssignedElements as $, query as M } from "lit/decorators.js";
3
- import { classMap as I } from "lit/directives/class-map.js";
4
- import { styleMap as L } from "lit/directives/style-map.js";
5
- import { fromEvent as k, map as S, startWith as D, distinctUntilChanged as U, takeUntil as x, debounceTime as H, filter as A } from "rxjs";
6
- import { T as R } from "./tailwind.mixin-DbsxfE0U.js";
7
- var F = Object.defineProperty, i = (r, o, p, l) => {
8
- for (var n, e = void 0, a = r.length - 1; a >= 0; a--) (n = r[a]) && (e = n(o, p, e) || e);
9
- return e && F(o, p, e), e;
1
+ import { unsafeCSS as P, html as m, css as j } from "lit";
2
+ import { property as t, customElement as v, queryAssignedElements as W, query as C } from "lit/decorators.js";
3
+ import { classMap as z } from "lit/directives/class-map.js";
4
+ import { styleMap as B } from "lit/directives/style-map.js";
5
+ import { fromEvent as k, map as S, startWith as E, distinctUntilChanged as H, takeUntil as x, debounceTime as O, filter as R } from "rxjs";
6
+ import { T } from "./tailwind.mixin-t3Yj_Xbu.js";
7
+ var $ = Object.defineProperty, i = (e, o, p, l) => {
8
+ for (var n, s = void 0, a = e.length - 1; a >= 0; a--) (n = e[a]) && (s = n(o, p, s) || s);
9
+ return s && $(o, p, s), s;
10
10
  };
11
- const w = class w extends R() {
11
+ const w = class w extends T() {
12
12
  constructor() {
13
13
  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;
14
14
  }
@@ -17,58 +17,57 @@ const w = class w extends R() {
17
17
  }
18
18
  };
19
19
  w.styles = [w.styles];
20
- let s = w;
21
- i([t({ type: Boolean })], s.prototype, "center"), i([t({ type: String })], s.prototype, "padding"), i([t({ type: String })], s.prototype, "margin"), i([t({ type: String })], s.prototype, "width"), i([t({ type: String })], s.prototype, "height"), i([t({ type: String })], s.prototype, "minWidth"), i([t({ type: String })], s.prototype, "minHeight"), i([t({ type: String })], s.prototype, "maxWidth"), i([t({ type: String })], s.prototype, "maxHeight"), i([t({ type: String })], s.prototype, "display"), i([t({ type: String })], s.prototype, "overflow"), i([t({ type: String })], s.prototype, "overflowX"), i([t({ type: String })], s.prototype, "overflowY"), i([t({ type: String })], s.prototype, "position"), i([t({ type: String })], s.prototype, "top"), i([t({ type: String })], s.prototype, "right"), i([t({ type: String })], s.prototype, "bottom"), i([t({ type: String })], s.prototype, "left"), i([t({ type: String })], s.prototype, "inset"), i([t({ type: String })], s.prototype, "zIndex"), i([t({ type: String })], s.prototype, "border"), i([t({ type: String })], s.prototype, "borderTop"), i([t({ type: String })], s.prototype, "borderRight"), i([t({ type: String })], s.prototype, "borderBottom"), i([t({ type: String })], s.prototype, "borderLeft"), i([t({ type: String })], s.prototype, "borderColor"), i([t({ type: String })], s.prototype, "borderRadius"), i([t({ type: String })], s.prototype, "borderWidth"), i([t({ type: String })], s.prototype, "boxShadow"), i([t({ type: String })], s.prototype, "opacity"), i([t({ type: String })], s.prototype, "background"), i([t({ type: String })], s.prototype, "backgroundImage"), i([t({ type: String })], s.prototype, "backgroundPosition"), i([t({ type: String })], s.prototype, "backgroundSize"), i([t({ type: String })], s.prototype, "backgroundRepeat"), i([t({ type: String })], s.prototype, "backgroundAttachment"), i([t({ type: String })], s.prototype, "backgroundColor"), i([t({ type: String })], s.prototype, "backgroundClip"), i([t({ type: String })], s.prototype, "backgroundOrigin"), i([t({ type: String })], s.prototype, "backgroundBlendMode"), i([t({ type: String })], s.prototype, "filter"), i([t({ type: String })], s.prototype, "backdropFilter");
22
- var X = Object.defineProperty, Y = Object.getOwnPropertyDescriptor, b = (r, o, p, l) => {
23
- for (var n, e = l > 1 ? void 0 : l ? Y(o, p) : o, a = r.length - 1; a >= 0; a--) (n = r[a]) && (e = (l ? n(o, p, e) : n(e)) || e);
24
- return l && e && X(o, p, e), e;
20
+ let r = w;
21
+ i([t({ type: Boolean })], r.prototype, "center"), i([t({ type: String })], r.prototype, "padding"), i([t({ type: String })], r.prototype, "margin"), i([t({ type: String })], r.prototype, "width"), i([t({ type: String })], r.prototype, "height"), i([t({ type: String })], r.prototype, "minWidth"), i([t({ type: String })], r.prototype, "minHeight"), i([t({ type: String })], r.prototype, "maxWidth"), i([t({ type: String })], r.prototype, "maxHeight"), i([t({ type: String })], r.prototype, "display"), i([t({ type: String })], r.prototype, "overflow"), i([t({ type: String })], r.prototype, "overflowX"), i([t({ type: String })], r.prototype, "overflowY"), i([t({ type: String })], r.prototype, "position"), i([t({ type: String })], r.prototype, "top"), i([t({ type: String })], r.prototype, "right"), i([t({ type: String })], r.prototype, "bottom"), i([t({ type: String })], r.prototype, "left"), i([t({ type: String })], r.prototype, "inset"), i([t({ type: String })], r.prototype, "zIndex"), i([t({ type: String })], r.prototype, "border"), i([t({ type: String })], r.prototype, "borderTop"), i([t({ type: String })], r.prototype, "borderRight"), i([t({ type: String })], r.prototype, "borderBottom"), i([t({ type: String })], r.prototype, "borderLeft"), i([t({ type: String })], r.prototype, "borderColor"), i([t({ type: String })], r.prototype, "borderRadius"), i([t({ type: String })], r.prototype, "borderWidth"), i([t({ type: String })], r.prototype, "boxShadow"), i([t({ type: String })], r.prototype, "opacity"), i([t({ type: String })], r.prototype, "background"), i([t({ type: String })], r.prototype, "backgroundImage"), i([t({ type: String })], r.prototype, "backgroundPosition"), i([t({ type: String })], r.prototype, "backgroundSize"), i([t({ type: String })], r.prototype, "backgroundRepeat"), i([t({ type: String })], r.prototype, "backgroundAttachment"), i([t({ type: String })], r.prototype, "backgroundColor"), i([t({ type: String })], r.prototype, "backgroundClip"), i([t({ type: String })], r.prototype, "backgroundOrigin"), i([t({ type: String })], r.prototype, "backgroundBlendMode"), i([t({ type: String })], r.prototype, "filter"), i([t({ type: String })], r.prototype, "backdropFilter");
22
+ var M = Object.defineProperty, I = Object.getOwnPropertyDescriptor, b = (e, o, p, l) => {
23
+ for (var n, s = l > 1 ? void 0 : l ? I(o, p) : o, a = e.length - 1; a >= 0; a--) (n = e[a]) && (s = (l ? n(o, p, s) : n(s)) || s);
24
+ return l && s && M(o, p, s), s;
25
25
  };
26
- let d = class extends s {
26
+ let d = class extends r {
27
27
  constructor() {
28
28
  super(...arguments), this.layout = !0, this.flow = "col", this.wrap = "wrap", this.align = "start", this.justify = "start", this.gap = "none";
29
29
  }
30
30
  render() {
31
- const r = { 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" };
31
+ 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" };
32
32
  return m`
33
- <section class=${I(r)} style=${L({})}>
33
+ <section class=${z(e)} style=${B({})}>
34
34
  <slot></slot>
35
35
  </section>
36
36
  `;
37
37
  }
38
38
  };
39
- d.styles = [s.styles, B(":host{display:block;background-color:inherit}")], b([t({ type: String, reflect: !0 })], d.prototype, "flow", 2), b([t({ type: String, reflect: !0 })], d.prototype, "wrap", 2), b([t({ type: String, reflect: !0 })], d.prototype, "align", 2), b([t({ type: String, reflect: !0 })], d.prototype, "justify", 2), b([t({ type: String, reflect: !0 })], d.prototype, "gap", 2), d = b([v("schmancy-flex")], d);
40
- var q = Object.defineProperty, N = Object.getOwnPropertyDescriptor, c = (r, o, p, l) => {
41
- for (var n, e = l > 1 ? void 0 : l ? N(o, p) : o, a = r.length - 1; a >= 0; a--) (n = r[a]) && (e = (l ? n(o, p, e) : n(e)) || e);
42
- return l && e && q(o, p, e), e;
39
+ d.styles = [r.styles, P(":host{display:block;background-color:inherit}")], b([t({ type: String, reflect: !0 })], d.prototype, "flow", 2), b([t({ type: String, reflect: !0 })], d.prototype, "wrap", 2), b([t({ type: String, reflect: !0 })], d.prototype, "align", 2), b([t({ type: String, reflect: !0 })], d.prototype, "justify", 2), b([t({ type: String, reflect: !0 })], d.prototype, "gap", 2), d = b([v("schmancy-flex")], d);
40
+ var L = Object.defineProperty, D = Object.getOwnPropertyDescriptor, c = (e, o, p, l) => {
41
+ for (var n, s = l > 1 ? void 0 : l ? D(o, p) : o, a = e.length - 1; a >= 0; a--) (n = e[a]) && (s = (l ? n(o, p, s) : n(s)) || s);
42
+ return l && s && L(o, p, s), s;
43
43
  };
44
- let h = class extends s {
44
+ let h = class extends r {
45
45
  constructor() {
46
46
  super(...arguments), this.layout = !0, this.flow = "row", this.align = "stretch", this.justify = "stretch", this.content = "stretch", this.gap = "none", this.wrap = !1;
47
47
  }
48
48
  firstUpdated() {
49
- this.rcols && k(window, "resize").pipe(S((r) => r.target), D(1), S(() => this.clientWidth ? this.clientWidth : window.innerWidth), U(), x(this.disconnecting), H(10), S((r) => {
50
- var p, l, n, e, a, P, j, O, T, W, C, z;
49
+ this.rcols && k(window, "resize").pipe(S((e) => e.target), E(1), S(() => this.clientWidth ? this.clientWidth : window.innerWidth), H(), x(this.disconnecting), O(10), S((e) => {
51
50
  let o;
52
- return (p = this.rcols) != null && p["2xl"] && r >= 1536 ? o = (l = this.rcols) == null ? void 0 : l["2xl"] : (n = this.rcols) != null && n.xl && r >= 1280 ? o = (e = this.rcols) == null ? void 0 : e.xl : (a = this.rcols) != null && a.lg && r >= 1024 ? o = (P = this.rcols) == null ? void 0 : P.lg : (j = this.rcols) != null && j.md && r >= 768 ? o = (O = this.rcols) == null ? void 0 : O.md : (T = this.rcols) != null && T.sm && r >= 640 ? o = (W = this.rcols) == null ? void 0 : W.sm : (C = this.rcols) != null && C.xs && r < 640 && (o = (z = this.rcols) == null ? void 0 : z.xs), o;
53
- })).subscribe((r) => {
54
- this.cols = r;
51
+ return this.rcols?.["2xl"] && e >= 1536 ? o = this.rcols?.["2xl"] : this.rcols?.xl && e >= 1280 ? o = this.rcols?.xl : this.rcols?.lg && e >= 1024 ? o = this.rcols?.lg : this.rcols?.md && e >= 768 ? o = this.rcols?.md : this.rcols?.sm && e >= 640 ? o = this.rcols?.sm : this.rcols?.xs && e < 640 && (o = this.rcols?.xs), o;
52
+ })).subscribe((e) => {
53
+ this.cols = e;
55
54
  });
56
55
  }
57
56
  render() {
58
- const r = { "h-full": !0, "grid flex-1": !0, "grid-flow-row auto-rows-max": this.flow === "row", "grid-flow-col auto-cols-max": this.flow === "col", "grid-flow-row-dense": this.flow === "row-dense", "grid-flow-col-dense": this.flow === "col-dense", "grid-flow-dense": this.flow === "dense", "justify-center": this.content === "center", "justify-end": this.content === "end", "justify-start": this.content === "start", "justify-stretch": this.content === "stretch", "justify-between": this.content === "between", "justify-around": this.content === "around", "justify-evenly": this.content === "evenly", "justify-items-center": this.justify === "center", "justify-items-end": this.justify === "end", "justify-items-start": this.justify === "start", "justify-items-stretch": this.justify === "stretch", "items-center": this.align === "center", "items-end": this.align === "end", "items-start": this.align === "start", "items-stretch": this.align === "stretch", "items-baseline": this.align === "baseline", "gap-0": this.gap === "none", "gap-1": this.gap === "xs", "gap-2": this.gap === "sm", "gap-4": this.gap === "md", "gap-8": this.gap === "lg", "flex-nowrap": this.wrap, "flex-wrap": !this.wrap }, o = { gridTemplateRows: this.rows ? this.rows : void 0, gridTemplateColumns: this.cols ? this.cols : void 0 };
57
+ const e = { "h-full": !0, "grid flex-1": !0, "grid-flow-row auto-rows-max": this.flow === "row", "grid-flow-col auto-cols-max": this.flow === "col", "grid-flow-row-dense": this.flow === "row-dense", "grid-flow-col-dense": this.flow === "col-dense", "grid-flow-dense": this.flow === "dense", "justify-center": this.content === "center", "justify-end": this.content === "end", "justify-start": this.content === "start", "justify-stretch": this.content === "stretch", "justify-between": this.content === "between", "justify-around": this.content === "around", "justify-evenly": this.content === "evenly", "justify-items-center": this.justify === "center", "justify-items-end": this.justify === "end", "justify-items-start": this.justify === "start", "justify-items-stretch": this.justify === "stretch", "items-center": this.align === "center", "items-end": this.align === "end", "items-start": this.align === "start", "items-stretch": this.align === "stretch", "items-baseline": this.align === "baseline", "gap-0": this.gap === "none", "gap-1": this.gap === "xs", "gap-2": this.gap === "sm", "gap-4": this.gap === "md", "gap-8": this.gap === "lg", "flex-nowrap": this.wrap, "flex-wrap": !this.wrap }, o = { gridTemplateRows: this.rows ? this.rows : void 0, gridTemplateColumns: this.cols ? this.cols : void 0 };
59
58
  return m`
60
- <section class="${this.classMap(r)}" style=${this.styleMap(o)}>
59
+ <section class="${this.classMap(e)}" style=${this.styleMap(o)}>
61
60
  <slot> </slot>
62
61
  </section>
63
62
  `;
64
63
  }
65
64
  };
66
- h.styles = [s.styles, B(":host{height:max-content;width:-webkit-fill-available;display:block}")], c([t({ type: String })], h.prototype, "flow", 2), c([t({ type: String })], h.prototype, "align", 2), c([t({ type: String })], h.prototype, "justify", 2), c([t({ type: String })], h.prototype, "content", 2), c([t({ type: String })], h.prototype, "gap", 2), c([t({ type: String })], h.prototype, "cols", 2), c([t({ type: String })], h.prototype, "rows", 2), c([t({ type: Object })], h.prototype, "rcols", 2), c([t({ type: Boolean })], h.prototype, "wrap", 2), c([$()], h.prototype, "assignedElements", 2), h = c([v("schmancy-grid")], h);
67
- var G = Object.defineProperty, J = Object.getOwnPropertyDescriptor, u = (r, o, p, l) => {
68
- for (var n, e = l > 1 ? void 0 : l ? J(o, p) : o, a = r.length - 1; a >= 0; a--) (n = r[a]) && (e = (l ? n(o, p, e) : n(e)) || e);
69
- return l && e && G(o, p, e), e;
65
+ h.styles = [r.styles, P(":host{height:max-content;width:-webkit-fill-available;display:block}")], c([t({ type: String })], h.prototype, "flow", 2), c([t({ type: String })], h.prototype, "align", 2), c([t({ type: String })], h.prototype, "justify", 2), c([t({ type: String })], h.prototype, "content", 2), c([t({ type: String })], h.prototype, "gap", 2), c([t({ type: String })], h.prototype, "cols", 2), c([t({ type: String })], h.prototype, "rows", 2), c([t({ type: Object })], h.prototype, "rcols", 2), c([t({ type: Boolean })], h.prototype, "wrap", 2), c([W()], h.prototype, "assignedElements", 2), h = c([v("schmancy-grid")], h);
66
+ var U = Object.defineProperty, A = Object.getOwnPropertyDescriptor, u = (e, o, p, l) => {
67
+ for (var n, s = l > 1 ? void 0 : l ? A(o, p) : o, a = e.length - 1; a >= 0; a--) (n = e[a]) && (s = (l ? n(o, p, s) : n(s)) || s);
68
+ return l && s && U(o, p, s), s;
70
69
  };
71
- let f = class extends R(E`
70
+ let f = class extends T(j`
72
71
  :host {
73
72
  height: 100%;
74
73
  width: 100%;
@@ -89,45 +88,45 @@ let f = class extends R(E`
89
88
  constructor() {
90
89
  super(...arguments), this.hide = !1, this.direction = "both", this.debounce = 10;
91
90
  }
92
- scrollTo(r, o) {
93
- this.scroller && (typeof r == "number" ? this.scroller.scrollTo({ top: r, behavior: o ? "smooth" : "auto" }) : r ? this.scroller.scrollTo(r) : this.scroller.scrollTo({ top: 0, left: 0, behavior: "auto" }));
91
+ scrollTo(e, o) {
92
+ this.scroller && (typeof e == "number" ? this.scroller.scrollTo({ top: e, behavior: o ? "smooth" : "auto" }) : e ? this.scroller.scrollTo(e) : this.scroller.scrollTo({ top: 0, left: 0, behavior: "auto" }));
94
93
  }
95
- scrollToLeft(r, o = "auto") {
96
- this.scroller && this.scroller.scrollTo({ left: r, behavior: o });
94
+ scrollToLeft(e, o = "auto") {
95
+ this.scroller && this.scroller.scrollTo({ left: e, behavior: o });
97
96
  }
98
97
  firstUpdated() {
99
- k(this.scroller, "scroll", { passive: !0 }).pipe(H(this.debounce), x(this.disconnecting)).subscribe((r) => {
100
- const o = this.scroller.scrollTop, p = this.scroller.scrollHeight, l = this.scroller.clientHeight, n = this.scroller.scrollLeft, e = this.scroller.scrollWidth, a = this.scroller.clientWidth;
101
- this.dispatchEvent(new CustomEvent("scroll", { detail: { scrollTop: o, scrollHeight: p, clientHeight: l, e: r, scrollLeft: n, scrollWidth: e, clientWidth: a }, bubbles: !0, composed: !0 }));
102
- }), k(window, "@schmancy:scrollTo").pipe(A((r) => this.name !== void 0 && r.detail.name === this.name), x(this.disconnecting)).subscribe((r) => {
103
- if (r.detail.action === "scrollTo" && typeof r.detail.top == "number") {
104
- const o = { behavior: "smooth", top: r.detail.top };
105
- typeof r.detail.left == "number" && (o.left = r.detail.left), this.scrollTo(o);
98
+ k(this.scroller, "scroll", { passive: !0 }).pipe(O(this.debounce), x(this.disconnecting)).subscribe((e) => {
99
+ const o = this.scroller.scrollTop, p = this.scroller.scrollHeight, l = this.scroller.clientHeight, n = this.scroller.scrollLeft, s = this.scroller.scrollWidth, a = this.scroller.clientWidth;
100
+ this.dispatchEvent(new CustomEvent("scroll", { detail: { scrollTop: o, scrollHeight: p, clientHeight: l, e, scrollLeft: n, scrollWidth: s, clientWidth: a }, bubbles: !0, composed: !0 }));
101
+ }), k(window, "@schmancy:scrollTo").pipe(R((e) => this.name !== void 0 && e.detail.name === this.name), x(this.disconnecting)).subscribe((e) => {
102
+ if (e.detail.action === "scrollTo" && typeof e.detail.top == "number") {
103
+ const o = { behavior: "smooth", top: e.detail.top };
104
+ typeof e.detail.left == "number" && (o.left = e.detail.left), this.scrollTo(o);
106
105
  }
107
106
  });
108
107
  }
109
108
  render() {
110
- const r = { "h-full w-full inset-0 scroll-smooth overscroll-contain": !0, "overflow-y-auto": this.direction !== "horizontal", "overflow-y-hidden": this.direction === "horizontal", "overflow-x-auto": this.direction !== "vertical", "overflow-x-hidden": this.direction === "vertical", "scrollbar-hide": this.hide };
109
+ const e = { "h-full w-full inset-0 scroll-smooth overscroll-contain": !0, "overflow-y-auto": this.direction !== "horizontal", "overflow-y-hidden": this.direction === "horizontal", "overflow-x-auto": this.direction !== "vertical", "overflow-x-hidden": this.direction === "vertical", "scrollbar-hide": this.hide };
111
110
  return m`
112
111
  <div class="relative inset-0 h-full w-full overscroll-none">
113
- <div id="scroller" part="scroller" class=${this.classMap(r)}>
112
+ <div id="scroller" part="scroller" class=${this.classMap(e)}>
114
113
  <slot></slot>
115
114
  </div>
116
115
  </div>
117
116
  `;
118
117
  }
119
118
  };
120
- u([t({ type: Boolean, reflect: !0 })], f.prototype, "hide", 2), u([t({ type: String, reflect: !0 })], f.prototype, "name", 2), u([t({ type: String, reflect: !0 })], f.prototype, "direction", 2), u([M("#scroller")], f.prototype, "scroller", 2), u([t({ type: Number })], f.prototype, "debounce", 2), f = u([v("schmancy-scroll")], f);
121
- var K = Object.defineProperty, Q = Object.getOwnPropertyDescriptor, g = (r, o, p, l) => {
122
- for (var n, e = l > 1 ? void 0 : l ? Q(o, p) : o, a = r.length - 1; a >= 0; a--) (n = r[a]) && (e = (l ? n(o, p, e) : n(e)) || e);
123
- return l && e && K(o, p, e), e;
119
+ u([t({ type: Boolean, reflect: !0 })], f.prototype, "hide", 2), u([t({ type: String, reflect: !0 })], f.prototype, "name", 2), u([t({ type: String, reflect: !0 })], f.prototype, "direction", 2), u([C("#scroller")], f.prototype, "scroller", 2), u([t({ type: Number })], f.prototype, "debounce", 2), f = u([v("schmancy-scroll")], f);
120
+ var F = Object.defineProperty, X = Object.getOwnPropertyDescriptor, g = (e, o, p, l) => {
121
+ for (var n, s = l > 1 ? void 0 : l ? X(o, p) : o, a = e.length - 1; a >= 0; a--) (n = e[a]) && (s = (l ? n(o, p, s) : n(s)) || s);
122
+ return l && s && F(o, p, s), s;
124
123
  };
125
- let y = class extends s {
124
+ let y = class extends r {
126
125
  constructor() {
127
126
  super(...arguments), this.inline = !1, this.flow = "row", this.wrap = "wrap", this.align = "stretch", this.justify = "start", this.gap = "none";
128
127
  }
129
128
  render() {
130
- const r = this.inline ? "inline-flex" : "flex";
129
+ const e = this.inline ? "inline-flex" : "flex";
131
130
  let o = "";
132
131
  switch (this.flow) {
133
132
  case "row":
@@ -196,27 +195,27 @@ let y = class extends s {
196
195
  case "evenly":
197
196
  n = "justify-evenly";
198
197
  }
199
- let e = "";
198
+ let s = "";
200
199
  if (this.content) switch (this.content) {
201
200
  case "start":
202
- e = "content-start";
201
+ s = "content-start";
203
202
  break;
204
203
  case "center":
205
- e = "content-center";
204
+ s = "content-center";
206
205
  break;
207
206
  case "end":
208
- e = "content-end";
207
+ s = "content-end";
209
208
  break;
210
209
  case "between":
211
- e = "content-between";
210
+ s = "content-between";
212
211
  break;
213
212
  case "around":
214
- e = "content-around";
213
+ s = "content-around";
215
214
  break;
216
215
  case "evenly":
217
- e = "content-evenly";
216
+ s = "content-evenly";
218
217
  }
219
- const a = [r, o, p, l, n, e, this.gap === "none" ? "gap-0" : `gap-${this.gap}`].filter(Boolean).join(" ");
218
+ const a = [e, o, p, l, n, s, this.gap === "none" ? "gap-0" : `gap-${this.gap}`].filter(Boolean).join(" ");
220
219
  return m`
221
220
  <section class=${a}>
222
221
  <slot></slot>
@@ -224,7 +223,7 @@ let y = class extends s {
224
223
  `;
225
224
  }
226
225
  };
227
- y.styles = [s.styles, E`
226
+ y.styles = [r.styles, j`
228
227
  :host {
229
228
  display: block;
230
229
  }
@@ -235,4 +234,4 @@ export {
235
234
  f as b,
236
235
  y as c
237
236
  };
238
- //# sourceMappingURL=flex-Bu7OqH-d.js.map
237
+ //# sourceMappingURL=flex-CbKzMNEV.js.map