@mhmo91/schmancy 0.5.36 → 0.5.38

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 (330) hide show
  1. package/ai/boat.md +38 -106
  2. package/ai/theme.md +778 -144
  3. package/dist/ai/boat.md +38 -106
  4. package/dist/ai/theme.md +778 -144
  5. package/dist/{animated-text-BEAHZetl.js → animated-text-B6BM8UAR.js} +3 -3
  6. package/dist/{animated-text-BEAHZetl.js.map → animated-text-B6BM8UAR.js.map} +1 -1
  7. package/dist/{animated-text-ChV1GUee.cjs → animated-text-DMLVAWR9.cjs} +2 -2
  8. package/dist/{animated-text-ChV1GUee.cjs.map → animated-text-DMLVAWR9.cjs.map} +1 -1
  9. package/dist/animated-text.cjs +1 -1
  10. package/dist/animated-text.js +1 -1
  11. package/dist/area.cjs +1 -1
  12. package/dist/{area.component-R4KQInpP.js → area.component-C0i1I-XN.js} +3 -3
  13. package/dist/{area.component-R4KQInpP.js.map → area.component-C0i1I-XN.js.map} +1 -1
  14. package/dist/{area.component-cxxQIhCN.cjs → area.component-D630N8ae.cjs} +2 -2
  15. package/dist/{area.component-cxxQIhCN.cjs.map → area.component-D630N8ae.cjs.map} +1 -1
  16. package/dist/area.js +1 -1
  17. package/dist/{autocomplete-DKYBmt2q.js → autocomplete-B8VgSG8j.js} +4 -4
  18. package/dist/{autocomplete-DKYBmt2q.js.map → autocomplete-B8VgSG8j.js.map} +1 -1
  19. package/dist/{autocomplete-Cq_NzrBX.cjs → autocomplete-Dz24IUoU.cjs} +2 -2
  20. package/dist/{autocomplete-Cq_NzrBX.cjs.map → autocomplete-Dz24IUoU.cjs.map} +1 -1
  21. package/dist/autocomplete.cjs +1 -1
  22. package/dist/autocomplete.js +1 -1
  23. package/dist/{avatar-DbUCDe1w.cjs → avatar-DqZd_LTf.cjs} +4 -4
  24. package/dist/{avatar-DbUCDe1w.cjs.map → avatar-DqZd_LTf.cjs.map} +1 -1
  25. package/dist/{avatar-DJ7qYc6-.js → avatar-b6tMCYC_.js} +55 -53
  26. package/dist/{avatar-DJ7qYc6-.js.map → avatar-b6tMCYC_.js.map} +1 -1
  27. package/dist/badge.cjs +1 -1
  28. package/dist/badge.js +1 -1
  29. package/dist/{boat-BBFE1yJY.js → boat-CQlfnrN3.js} +81 -93
  30. package/dist/boat-CQlfnrN3.js.map +1 -0
  31. package/dist/boat-CvWXHBGZ.cjs +83 -0
  32. package/dist/boat-CvWXHBGZ.cjs.map +1 -0
  33. package/dist/boat.cjs +1 -1
  34. package/dist/boat.js +1 -1
  35. package/dist/busy.cjs +1 -1
  36. package/dist/busy.js +1 -1
  37. package/dist/button.cjs +1 -1
  38. package/dist/button.js +1 -1
  39. package/dist/card.cjs +1 -1
  40. package/dist/card.js +1 -1
  41. package/dist/{checkbox-BBJqucMb.cjs → checkbox-BxVFUa5d.cjs} +2 -2
  42. package/dist/{checkbox-BBJqucMb.cjs.map → checkbox-BxVFUa5d.cjs.map} +1 -1
  43. package/dist/{checkbox-geD1IIHh.js → checkbox-IXHvFU8T.js} +2 -2
  44. package/dist/{checkbox-geD1IIHh.js.map → checkbox-IXHvFU8T.js.map} +1 -1
  45. package/dist/checkbox.cjs +1 -1
  46. package/dist/checkbox.js +1 -1
  47. package/dist/chips.cjs +1 -1
  48. package/dist/chips.js +2 -2
  49. package/dist/code-highlight.cjs +1 -1
  50. package/dist/code-highlight.js +1 -1
  51. package/dist/{code-preview-D2ZpTZ7C.js → code-preview-BckcSzge.js} +2 -2
  52. package/dist/{code-preview-D2ZpTZ7C.js.map → code-preview-BckcSzge.js.map} +1 -1
  53. package/dist/{code-preview-CR3U6wXD.cjs → code-preview-BtlXrJte.cjs} +2 -2
  54. package/dist/{code-preview-CR3U6wXD.cjs.map → code-preview-BtlXrJte.cjs.map} +1 -1
  55. package/dist/components.cjs +1 -1
  56. package/dist/components.js +1 -1
  57. package/dist/content-drawer.cjs +1 -1
  58. package/dist/content-drawer.js +1 -1
  59. package/dist/{date-range-DkSLcajW.cjs → date-range-CEBvpz9I.cjs} +2 -2
  60. package/dist/{date-range-DkSLcajW.cjs.map → date-range-CEBvpz9I.cjs.map} +1 -1
  61. package/dist/{date-range-NB6Q02hz.js → date-range-DJlpBhfg.js} +3 -3
  62. package/dist/{date-range-NB6Q02hz.js.map → date-range-DJlpBhfg.js.map} +1 -1
  63. package/dist/{date-range-inline-DXBR0Ocx.js → date-range-inline-DUkLYZw-.js} +3 -3
  64. package/dist/{date-range-inline-DXBR0Ocx.js.map → date-range-inline-DUkLYZw-.js.map} +1 -1
  65. package/dist/{date-range-inline-C8InUZoD.cjs → date-range-inline-svKzfEjk.cjs} +2 -2
  66. package/dist/{date-range-inline-C8InUZoD.cjs.map → date-range-inline-svKzfEjk.cjs.map} +1 -1
  67. package/dist/date-range-inline.cjs +1 -1
  68. package/dist/date-range-inline.js +1 -1
  69. package/dist/date-range.cjs +1 -1
  70. package/dist/date-range.js +1 -1
  71. package/dist/{delay-B4IPKZEn.cjs → delay-dCJupQL7.cjs} +2 -2
  72. package/dist/{delay-B4IPKZEn.cjs.map → delay-dCJupQL7.cjs.map} +1 -1
  73. package/dist/{delay-DsOC-uuq.js → delay-zFsG2bgS.js} +2 -2
  74. package/dist/{delay-DsOC-uuq.js.map → delay-zFsG2bgS.js.map} +1 -1
  75. package/dist/delay.cjs +1 -1
  76. package/dist/delay.js +1 -1
  77. package/dist/{details-7pcQWJF9.cjs → details-63cgbcG4.cjs} +2 -2
  78. package/dist/{details-7pcQWJF9.cjs.map → details-63cgbcG4.cjs.map} +1 -1
  79. package/dist/{details-D6Vq36lN.js → details-zr1wF8T5.js} +2 -2
  80. package/dist/{details-D6Vq36lN.js.map → details-zr1wF8T5.js.map} +1 -1
  81. package/dist/details.cjs +1 -1
  82. package/dist/details.js +1 -1
  83. package/dist/{dialog-content-BC--KBf7.cjs → dialog-content-CCwZGDWl.cjs} +2 -2
  84. package/dist/{dialog-content-BC--KBf7.cjs.map → dialog-content-CCwZGDWl.cjs.map} +1 -1
  85. package/dist/{dialog-content-XoKxxGTv.js → dialog-content-D4hLDFG7.js} +3 -3
  86. package/dist/{dialog-content-XoKxxGTv.js.map → dialog-content-D4hLDFG7.js.map} +1 -1
  87. package/dist/dialog.cjs +1 -1
  88. package/dist/dialog.js +1 -1
  89. package/dist/{divider-55yUklFI.cjs → divider-BDpbyVks.cjs} +2 -2
  90. package/dist/{divider-55yUklFI.cjs.map → divider-BDpbyVks.cjs.map} +1 -1
  91. package/dist/{divider-JaB5FtmR.js → divider-DXh9y_Nv.js} +3 -3
  92. package/dist/{divider-JaB5FtmR.js.map → divider-DXh9y_Nv.js.map} +1 -1
  93. package/dist/divider.cjs +1 -1
  94. package/dist/divider.js +1 -1
  95. package/dist/{dropdown-content-C2nxdAFA.cjs → dropdown-content-DGxquZCA.cjs} +2 -2
  96. package/dist/{dropdown-content-C2nxdAFA.cjs.map → dropdown-content-DGxquZCA.cjs.map} +1 -1
  97. package/dist/{dropdown-content-Qzt-B1FB.js → dropdown-content-zM3fWF1d.js} +3 -3
  98. package/dist/{dropdown-content-Qzt-B1FB.js.map → dropdown-content-zM3fWF1d.js.map} +1 -1
  99. package/dist/dropdown.cjs +1 -1
  100. package/dist/dropdown.js +1 -1
  101. package/dist/{email-recipients-C3TfQU2c.js → email-recipients-DqOHKxsV.js} +5 -5
  102. package/dist/{email-recipients-C3TfQU2c.js.map → email-recipients-DqOHKxsV.js.map} +1 -1
  103. package/dist/{email-recipients-7reIxhmF.cjs → email-recipients-MvSCLUmk.cjs} +2 -2
  104. package/dist/{email-recipients-7reIxhmF.cjs.map → email-recipients-MvSCLUmk.cjs.map} +1 -1
  105. package/dist/extra.cjs +1 -1
  106. package/dist/extra.js +1 -1
  107. package/dist/{flex-DauT7n0E.js → flex-BjpIb0Xr.js} +2 -2
  108. package/dist/{flex-DauT7n0E.js.map → flex-BjpIb0Xr.js.map} +1 -1
  109. package/dist/{flex-1y7FNRpS.cjs → flex-D1NZuZez.cjs} +2 -2
  110. package/dist/{flex-1y7FNRpS.cjs.map → flex-D1NZuZez.cjs.map} +1 -1
  111. package/dist/{form-Xg8jZsBF.cjs → form-CRPFTmNd.cjs} +2 -2
  112. package/dist/{form-Xg8jZsBF.cjs.map → form-CRPFTmNd.cjs.map} +1 -1
  113. package/dist/{form-DqA7DfNR.js → form-UlL9mkQq.js} +2 -2
  114. package/dist/{form-DqA7DfNR.js.map → form-UlL9mkQq.js.map} +1 -1
  115. package/dist/form.cjs +1 -1
  116. package/dist/form.js +1 -1
  117. package/dist/{formField.mixin-YvrrvL_A.js → formField.mixin-6_cx2CQR.js} +2 -2
  118. package/dist/{formField.mixin-YvrrvL_A.js.map → formField.mixin-6_cx2CQR.js.map} +1 -1
  119. package/dist/{formField.mixin-BnSYnYXQ.cjs → formField.mixin-CXYETznz.cjs} +2 -2
  120. package/dist/{formField.mixin-BnSYnYXQ.cjs.map → formField.mixin-CXYETznz.cjs.map} +1 -1
  121. package/dist/{icon-BFYUD00J.cjs → icon-BjvTgGum.cjs} +2 -2
  122. package/dist/{icon-BFYUD00J.cjs.map → icon-BjvTgGum.cjs.map} +1 -1
  123. package/dist/{icon-BtdeB2JT.js → icon-Ce_dFWKs.js} +2 -2
  124. package/dist/{icon-BtdeB2JT.js.map → icon-Ce_dFWKs.js.map} +1 -1
  125. package/dist/{icon-button-DwL4WnDE.js → icon-button-BLp0zzBs.js} +3 -3
  126. package/dist/{icon-button-DwL4WnDE.js.map → icon-button-BLp0zzBs.js.map} +1 -1
  127. package/dist/{icon-button-B-uxvO86.cjs → icon-button-yr8UowN8.cjs} +2 -2
  128. package/dist/{icon-button-B-uxvO86.cjs.map → icon-button-yr8UowN8.cjs.map} +1 -1
  129. package/dist/icons.cjs +1 -1
  130. package/dist/icons.js +1 -1
  131. package/dist/index.cjs +1 -1
  132. package/dist/index.js +49 -49
  133. package/dist/{input-PoerIsqx.cjs → input-BbBgA67h.cjs} +2 -2
  134. package/dist/{input-PoerIsqx.cjs.map → input-BbBgA67h.cjs.map} +1 -1
  135. package/dist/{input-CuOmXLVJ.js → input-FbaIdP-U.js} +3 -3
  136. package/dist/{input-CuOmXLVJ.js.map → input-FbaIdP-U.js.map} +1 -1
  137. package/dist/{input-chip-BlmZB-cO.cjs → input-chip-B49269QA.cjs} +2 -2
  138. package/dist/{input-chip-BlmZB-cO.cjs.map → input-chip-B49269QA.cjs.map} +1 -1
  139. package/dist/{input-chip-CcNElytP.js → input-chip-r5DIdtls.js} +2 -2
  140. package/dist/{input-chip-CcNElytP.js.map → input-chip-r5DIdtls.js.map} +1 -1
  141. package/dist/input.cjs +1 -1
  142. package/dist/input.js +1 -1
  143. package/dist/layout.cjs +1 -1
  144. package/dist/layout.js +1 -1
  145. package/dist/{list-BJjW-iAW.cjs → list-BLG8XA7G.cjs} +2 -2
  146. package/dist/{list-BJjW-iAW.cjs.map → list-BLG8XA7G.cjs.map} +1 -1
  147. package/dist/{list-Bou3BRYQ.js → list-QEY7H4eL.js} +2 -2
  148. package/dist/{list-Bou3BRYQ.js.map → list-QEY7H4eL.js.map} +1 -1
  149. package/dist/list.cjs +1 -1
  150. package/dist/list.js +1 -1
  151. package/dist/{litElement.mixin-Bkdw4DeE.js → litElement.mixin-D5MC2dPM.js} +2 -2
  152. package/dist/{litElement.mixin-Bkdw4DeE.js.map → litElement.mixin-D5MC2dPM.js.map} +1 -1
  153. package/dist/{litElement.mixin-Di-HgRnn.cjs → litElement.mixin-Dmtg7y_h.cjs} +2 -2
  154. package/dist/{litElement.mixin-Di-HgRnn.cjs.map → litElement.mixin-Dmtg7y_h.cjs.map} +1 -1
  155. package/dist/mailbox.cjs +1 -1
  156. package/dist/mailbox.js +1 -1
  157. package/dist/{map-CXNKwo__.cjs → map-BygoKmAX.cjs} +2 -2
  158. package/dist/{map-CXNKwo__.cjs.map → map-BygoKmAX.cjs.map} +1 -1
  159. package/dist/{map-bUVyL7jN.js → map-DY3fXMM4.js} +2 -2
  160. package/dist/{map-bUVyL7jN.js.map → map-DY3fXMM4.js.map} +1 -1
  161. package/dist/map.cjs +1 -1
  162. package/dist/map.js +1 -1
  163. package/dist/{media-8D6oDv1e.cjs → media-BFkmF0pK.cjs} +2 -2
  164. package/dist/{media-8D6oDv1e.cjs.map → media-BFkmF0pK.cjs.map} +1 -1
  165. package/dist/{media-CF1lpFAm.js → media-ChpYwvB3.js} +2 -2
  166. package/dist/{media-CF1lpFAm.js.map → media-ChpYwvB3.js.map} +1 -1
  167. package/dist/{menu-B8Ad1OVm.cjs → menu-BXHjDZge.cjs} +2 -2
  168. package/dist/{menu-B8Ad1OVm.cjs.map → menu-BXHjDZge.cjs.map} +1 -1
  169. package/dist/{menu-C9mJa_ck.js → menu-gLYzAVLB.js} +3 -3
  170. package/dist/{menu-C9mJa_ck.js.map → menu-gLYzAVLB.js.map} +1 -1
  171. package/dist/menu.cjs +1 -1
  172. package/dist/menu.js +1 -1
  173. package/dist/mixins/baseElement.ts +1 -1
  174. package/dist/mixins/discovery.service.ts +60 -0
  175. package/dist/nav-drawer.cjs +1 -1
  176. package/dist/nav-drawer.js +1 -1
  177. package/dist/navigation-bar.cjs +1 -1
  178. package/dist/navigation-bar.js +1 -1
  179. package/dist/{navigation-rail-Dh3B6B0L.js → navigation-rail-SPrrtWOS.js} +22 -20
  180. package/dist/{navigation-rail-Dh3B6B0L.js.map → navigation-rail-SPrrtWOS.js.map} +1 -1
  181. package/dist/{navigation-rail-CAgKSJh4.cjs → navigation-rail-luQXsJ36.cjs} +7 -7
  182. package/dist/{navigation-rail-CAgKSJh4.cjs.map → navigation-rail-luQXsJ36.cjs.map} +1 -1
  183. package/dist/navigation-rail.cjs +1 -1
  184. package/dist/navigation-rail.js +1 -1
  185. package/dist/{notification-service-IBQJTcmw.js → notification-service-Bzxf4TIc.js} +4 -4
  186. package/dist/{notification-service-IBQJTcmw.js.map → notification-service-Bzxf4TIc.js.map} +1 -1
  187. package/dist/{notification-service-L82ozhd0.cjs → notification-service-uoprkE19.cjs} +2 -2
  188. package/dist/{notification-service-L82ozhd0.cjs.map → notification-service-uoprkE19.cjs.map} +1 -1
  189. package/dist/notification.cjs +1 -1
  190. package/dist/notification.js +2 -2
  191. package/dist/{notify-CtxRmxjL.js → notify-BK0mniGw.js} +2 -2
  192. package/dist/{notify-CtxRmxjL.js.map → notify-BK0mniGw.js.map} +1 -1
  193. package/dist/{notify-AIKWEjDG.cjs → notify-BhSCT3Xk.cjs} +2 -2
  194. package/dist/{notify-AIKWEjDG.cjs.map → notify-BhSCT3Xk.cjs.map} +1 -1
  195. package/dist/{option-DHGTgRBn.js → option-BZue6YG8.js} +2 -2
  196. package/dist/{option-DHGTgRBn.js.map → option-BZue6YG8.js.map} +1 -1
  197. package/dist/{option-D5OW1kDk.cjs → option-Kk_GQY6j.cjs} +2 -2
  198. package/dist/{option-D5OW1kDk.cjs.map → option-Kk_GQY6j.cjs.map} +1 -1
  199. package/dist/option.cjs +1 -1
  200. package/dist/option.js +1 -1
  201. package/dist/{payment-card-form-CHS_s_Fk.cjs → payment-card-form-BcKkjxkm.cjs} +2 -2
  202. package/dist/{payment-card-form-CHS_s_Fk.cjs.map → payment-card-form-BcKkjxkm.cjs.map} +1 -1
  203. package/dist/{payment-card-form-wj2JWoyn.js → payment-card-form-C3JgpEIE.js} +3 -3
  204. package/dist/{payment-card-form-wj2JWoyn.js.map → payment-card-form-C3JgpEIE.js.map} +1 -1
  205. package/dist/{progress-CP4R_l3i.cjs → progress-BXnQuNBd.cjs} +2 -2
  206. package/dist/{progress-CP4R_l3i.cjs.map → progress-BXnQuNBd.cjs.map} +1 -1
  207. package/dist/{progress-ZrDv_k3Z.js → progress-CPGV-HHh.js} +2 -2
  208. package/dist/{progress-ZrDv_k3Z.js.map → progress-CPGV-HHh.js.map} +1 -1
  209. package/dist/progress.cjs +1 -1
  210. package/dist/progress.js +1 -1
  211. package/dist/{radio-button-BXP_yPjS.cjs → radio-button-DDgwyanN.cjs} +2 -2
  212. package/dist/{radio-button-BXP_yPjS.cjs.map → radio-button-DDgwyanN.cjs.map} +1 -1
  213. package/dist/{radio-button-D0pVoIe-.js → radio-button-Dsv9rYTJ.js} +3 -3
  214. package/dist/{radio-button-D0pVoIe-.js.map → radio-button-Dsv9rYTJ.js.map} +1 -1
  215. package/dist/radio-group.cjs +1 -1
  216. package/dist/radio-group.js +1 -1
  217. package/dist/{schmancy-steps-container-BSv1aURP.cjs → schmancy-steps-container-C7evWzAc.cjs} +2 -2
  218. package/dist/{schmancy-steps-container-BSv1aURP.cjs.map → schmancy-steps-container-C7evWzAc.cjs.map} +1 -1
  219. package/dist/{schmancy-steps-container-vjioa19k.js → schmancy-steps-container-Cbzqrhes.js} +2 -2
  220. package/dist/{schmancy-steps-container-vjioa19k.js.map → schmancy-steps-container-Cbzqrhes.js.map} +1 -1
  221. package/dist/{select-DZ-Cy-lg.cjs → select-BuZt9KsB.cjs} +2 -2
  222. package/dist/{select-DZ-Cy-lg.cjs.map → select-BuZt9KsB.cjs.map} +1 -1
  223. package/dist/{select-SgSe22qC.js → select-Ru5E-2M3.js} +3 -3
  224. package/dist/{select-SgSe22qC.js.map → select-Ru5E-2M3.js.map} +1 -1
  225. package/dist/select.cjs +1 -1
  226. package/dist/select.js +1 -1
  227. package/dist/{sheet-CevNG0tZ.js → sheet-Cta5o1Yq.js} +3 -3
  228. package/dist/{sheet-CevNG0tZ.js.map → sheet-Cta5o1Yq.js.map} +1 -1
  229. package/dist/{sheet-CNMKrulQ.cjs → sheet-Dg6bkAGj.cjs} +2 -2
  230. package/dist/{sheet-CNMKrulQ.cjs.map → sheet-Dg6bkAGj.cjs.map} +1 -1
  231. package/dist/sheet.cjs +1 -1
  232. package/dist/sheet.js +1 -1
  233. package/dist/{slider-DIRocNv8.js → slider-C7pfCYir.js} +3 -3
  234. package/dist/{slider-DIRocNv8.js.map → slider-C7pfCYir.js.map} +1 -1
  235. package/dist/{slider-BSxJatG-.cjs → slider-CDhICxOr.cjs} +2 -2
  236. package/dist/{slider-BSxJatG-.cjs.map → slider-CDhICxOr.cjs.map} +1 -1
  237. package/dist/slider.cjs +1 -1
  238. package/dist/slider.js +1 -1
  239. package/dist/{spinner-DZcG-AtO.js → spinner-6-lTUGhs.js} +2 -2
  240. package/dist/{spinner-DZcG-AtO.js.map → spinner-6-lTUGhs.js.map} +1 -1
  241. package/dist/{spinner-Cx54uto8.cjs → spinner-nAYWwwNr.cjs} +2 -2
  242. package/dist/{spinner-Cx54uto8.cjs.map → spinner-nAYWwwNr.cjs.map} +1 -1
  243. package/dist/steps.cjs +1 -1
  244. package/dist/steps.js +1 -1
  245. package/dist/{suggestion-chip-DADIje6B.js → suggestion-chip-5_s9HR2Y.js} +3 -3
  246. package/dist/{suggestion-chip-DADIje6B.js.map → suggestion-chip-5_s9HR2Y.js.map} +1 -1
  247. package/dist/{suggestion-chip-ssmmc0q6.cjs → suggestion-chip-CsGRZal0.cjs} +2 -2
  248. package/dist/{suggestion-chip-ssmmc0q6.cjs.map → suggestion-chip-CsGRZal0.cjs.map} +1 -1
  249. package/dist/{surface-_cS9Ehk0.js → surface-D5c_ddsq.js} +2 -2
  250. package/dist/{surface-_cS9Ehk0.js.map → surface-D5c_ddsq.js.map} +1 -1
  251. package/dist/{surface-ix9qOb7a.cjs → surface-EDSS-N2K.cjs} +2 -2
  252. package/dist/{surface-ix9qOb7a.cjs.map → surface-EDSS-N2K.cjs.map} +1 -1
  253. package/dist/surface.cjs +1 -1
  254. package/dist/surface.js +1 -1
  255. package/dist/{table-Bi2ftsJe.js → table-5TjWY5RR.js} +2 -2
  256. package/dist/{table-Bi2ftsJe.js.map → table-5TjWY5RR.js.map} +1 -1
  257. package/dist/{table-DSEK3bMb.cjs → table-B_GbZCU6.cjs} +2 -2
  258. package/dist/{table-DSEK3bMb.cjs.map → table-B_GbZCU6.cjs.map} +1 -1
  259. package/dist/table.cjs +1 -1
  260. package/dist/table.js +1 -1
  261. package/dist/{tabs-compatibility-BE2Q3rig.cjs → tabs-compatibility-byG-7uxY.cjs} +2 -2
  262. package/dist/{tabs-compatibility-BE2Q3rig.cjs.map → tabs-compatibility-byG-7uxY.cjs.map} +1 -1
  263. package/dist/{tabs-compatibility-DA3RIq35.js → tabs-compatibility-eM8y7Hkw.js} +2 -2
  264. package/dist/{tabs-compatibility-DA3RIq35.js.map → tabs-compatibility-eM8y7Hkw.js.map} +1 -1
  265. package/dist/tabs.cjs +1 -1
  266. package/dist/tabs.js +1 -1
  267. package/dist/tailwind.mixin-BOTmjQKh.js +64 -0
  268. package/dist/tailwind.mixin-BOTmjQKh.js.map +1 -0
  269. package/dist/tailwind.mixin-SjjyWekZ.cjs +2 -0
  270. package/dist/tailwind.mixin-SjjyWekZ.cjs.map +1 -0
  271. package/dist/teleport.cjs +1 -1
  272. package/dist/teleport.js +1 -1
  273. package/dist/{textarea-CBb2CzKu.js → textarea-Ba0EbwKj.js} +2 -2
  274. package/dist/{textarea-CBb2CzKu.js.map → textarea-Ba0EbwKj.js.map} +1 -1
  275. package/dist/{textarea-ClgK_mP6.cjs → textarea-C5G_bBP8.cjs} +2 -2
  276. package/dist/{textarea-ClgK_mP6.cjs.map → textarea-C5G_bBP8.cjs.map} +1 -1
  277. package/dist/textarea.cjs +1 -1
  278. package/dist/textarea.js +1 -1
  279. package/dist/{theme-button-Z_xWXMaf.js → theme-button--FRHwiCC.js} +2 -2
  280. package/dist/{theme-button-Z_xWXMaf.js.map → theme-button--FRHwiCC.js.map} +1 -1
  281. package/dist/{theme-button-Dhp3ozyB.cjs → theme-button-BiQ-jfG4.cjs} +2 -2
  282. package/dist/{theme-button-Dhp3ozyB.cjs.map → theme-button-BiQ-jfG4.cjs.map} +1 -1
  283. package/dist/theme-button.cjs +1 -1
  284. package/dist/theme-button.js +1 -1
  285. package/dist/theme.cjs +1 -1
  286. package/dist/{theme.controls-C_zAMJgA.cjs → theme.controls-BPnEjft1.cjs} +2 -2
  287. package/dist/{theme.controls-C_zAMJgA.cjs.map → theme.controls-BPnEjft1.cjs.map} +1 -1
  288. package/dist/{theme.controls-BtaZcM7z.js → theme.controls-Bua4rENX.js} +3 -3
  289. package/dist/{theme.controls-BtaZcM7z.js.map → theme.controls-Bua4rENX.js.map} +1 -1
  290. package/dist/theme.js +1 -1
  291. package/dist/{timezone-DucGbWcE.cjs → timezone-CCvqNgyF.cjs} +2 -2
  292. package/dist/{timezone-DucGbWcE.cjs.map → timezone-CCvqNgyF.cjs.map} +1 -1
  293. package/dist/{timezone-CZ0gCI2P.js → timezone-D54Cff6x.js} +3 -3
  294. package/dist/{timezone-CZ0gCI2P.js.map → timezone-D54Cff6x.js.map} +1 -1
  295. package/dist/{tooltip-BSppSqZM.js → tooltip-C8m-rfYS.js} +2 -2
  296. package/dist/{tooltip-BSppSqZM.js.map → tooltip-C8m-rfYS.js.map} +1 -1
  297. package/dist/{tooltip-BSWp7Mmz.cjs → tooltip-CCl6ctrG.cjs} +2 -2
  298. package/dist/{tooltip-BSWp7Mmz.cjs.map → tooltip-CCl6ctrG.cjs.map} +1 -1
  299. package/dist/tooltip.cjs +1 -1
  300. package/dist/tooltip.js +1 -1
  301. package/dist/{tree-DL71EUih.cjs → tree-COuLggJS.cjs} +2 -2
  302. package/dist/{tree-DL71EUih.cjs.map → tree-COuLggJS.cjs.map} +1 -1
  303. package/dist/{tree-dEse6eMH.js → tree-t1IWaICA.js} +2 -2
  304. package/dist/{tree-dEse6eMH.js.map → tree-t1IWaICA.js.map} +1 -1
  305. package/dist/tree.cjs +1 -1
  306. package/dist/tree.js +1 -1
  307. package/dist/{typewriter-DBvUYzpl.js → typewriter-B1SrKdhR.js} +4 -4
  308. package/dist/{typewriter-DBvUYzpl.js.map → typewriter-B1SrKdhR.js.map} +1 -1
  309. package/dist/{typewriter-B1Au4MRO.cjs → typewriter-iHUlWvZZ.cjs} +2 -2
  310. package/dist/{typewriter-B1Au4MRO.cjs.map → typewriter-iHUlWvZZ.cjs.map} +1 -1
  311. package/dist/typewriter.cjs +1 -1
  312. package/dist/typewriter.js +1 -1
  313. package/dist/{typography-3gXQvLXN.cjs → typography-J_EEO2HF.cjs} +2 -2
  314. package/dist/{typography-3gXQvLXN.cjs.map → typography-J_EEO2HF.cjs.map} +1 -1
  315. package/dist/{typography-iOtjgSkI.js → typography-X_jjdG7E.js} +2 -2
  316. package/dist/{typography-iOtjgSkI.js.map → typography-X_jjdG7E.js.map} +1 -1
  317. package/dist/typography.cjs +1 -1
  318. package/dist/typography.js +1 -1
  319. package/package.json +1 -1
  320. package/types/mixins/discovery.service.d.ts +17 -0
  321. package/types/src/boat/boat.d.ts +3 -3
  322. package/types/src/navigation-bar/navigation-bar.d.ts +2 -1
  323. package/types/src/navigation-rail/navigation-rail.d.ts +2 -3
  324. package/dist/boat-BBFE1yJY.js.map +0 -1
  325. package/dist/boat-BSYtwy1W.cjs +0 -78
  326. package/dist/boat-BSYtwy1W.cjs.map +0 -1
  327. package/dist/tailwind.mixin-CvQn8Ynb.cjs +0 -2
  328. package/dist/tailwind.mixin-CvQn8Ynb.cjs.map +0 -1
  329. package/dist/tailwind.mixin-DGLcZhRp.js +0 -57
  330. package/dist/tailwind.mixin-DGLcZhRp.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"boat-BBFE1yJY.js","sources":["../src/boat/boat.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { html, css } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { createRef, ref, Ref } from 'lit/directives/ref.js'\nimport { fromEvent, merge, race } from 'rxjs'\nimport { filter, switchMap, takeUntil, tap, finalize, map, take } from 'rxjs/operators'\n\ntype BoatState = 'hidden' | 'minimized' | 'expanded'\n\ninterface Position {\n\tx: number\n\ty: number\n}\n\ninterface SavedPosition {\n\tx: number\n\ty: number\n\tanchor: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left'\n}\n\n@customElement('schmancy-boat')\nexport default class SchmancyBoat extends $LitElement(css`\n\t:host {\n\t\tdisplay: contents;\n\t}\n`) {\n\t@property({ type: String, reflect: true })\n\tget state(): BoatState {\n\t\treturn this.currentState\n\t}\n\tset state(value: BoatState) {\n\t\tif (this.isAnimating || value === this.currentState) return\n\t\tthis.animateToState(value)\n\t}\n\n\t@property({ type: String }) id: string = 'default'\n\n\t@property({ type: Boolean, reflect: true })\n\tget lowered(): boolean {\n\t\treturn this.isLowered\n\t}\n\tset lowered(value: boolean) {\n\t\tthis.isLowered = value\n\t\tthis.requestUpdate()\n\t}\n\n\t// Element references\n\tprivate containerRef: Ref<HTMLDivElement> = createRef()\n\tprivate contentRef: Ref<HTMLElement> = createRef()\n\tprivate iconRef: Ref<HTMLElement> = createRef()\n\tprivate headerRef: Ref<HTMLElement> = createRef()\n\n\t// Current animation reference\n\tprivate currentAnimation?: Animation\n\n\t// Animation configuration\n\tprivate readonly ANIMATION_CONFIG = {\n\t\tdurations: {\n\t\t\texpand: 350,\n\t\t\tminimize: 250,\n\t\t\thide: 200,\n\t\t\tcontent: 300,\n\t\t},\n\t\teasing: {\n\t\t\temphasized: 'cubic-bezier(0.2, 0.0, 0, 1.0)',\n\t\t\tdecelerate: 'cubic-bezier(0.05, 0.7, 0.1, 1.0)',\n\t\t\taccelerate: 'cubic-bezier(0.3, 0.0, 0.8, 0.15)',\n\t\t\tstandard: 'cubic-bezier(0.4, 0.0, 0.2, 1)',\n\t\t},\n\t\tshadows: {\n\t\t\tfab: '0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12)',\n\t\t\tfabLowered:\n\t\t\t\t'0px 1px 3px 0px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 2px 1px -1px rgba(0, 0, 0, 0.12)',\n\t\t\texpanded: '0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)',\n\t\t},\n\t}\n\n\t// Reactive state for template\n\t@state() private currentState: BoatState = 'minimized'\n\t@state() private isContentVisible: boolean = false\n\t@state() private isAnimating: boolean = false\n\t@state() private isLowered: boolean = false\n\t@state() private isDragging: boolean = false\n\t@state() private position: Position = { x: 16, y: 16 }\n\t@state() private anchor: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left' = 'bottom-right'\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\tif (typeof window !== 'undefined') {\n\t\t\tfromEvent(window, 'resize')\n\t\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t\t.subscribe(() => {\n\t\t\t\t\tif (this.currentState === 'expanded') {\n\t\t\t\t\t\tthis.updateExpandedWidth()\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t// Keyboard shortcut - Escape key\n\t\t\tfromEvent<KeyboardEvent>(window, 'keydown')\n\t\t\t\t.pipe(\n\t\t\t\t\tfilter(e => e.key === 'Escape' && this.currentState !== 'hidden'),\n\t\t\t\t\ttap(e => e.preventDefault()),\n\t\t\t\t\ttakeUntil(this.disconnecting)\n\t\t\t\t)\n\t\t\t\t.subscribe(() => {\n\t\t\t\t\tif (this.currentState === 'expanded') {\n\t\t\t\t\t\tthis.toggleState() // Minimize on Esc if expanded\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.close() // Hide on Esc if minimized\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t}\n\t}\n\n\tprivate initializePosition() {\n\t\tif (typeof window === 'undefined') return\n\n\t\tconst saved = localStorage.getItem(`schmancy-boat-${this.id}`)\n\n\t\tif (saved) {\n\t\t\ttry {\n\t\t\t\tconst parsed: SavedPosition = JSON.parse(saved)\n\t\t\t\tthis.position = { x: parsed.x, y: parsed.y }\n\t\t\t\tthis.anchor = parsed.anchor\n\t\t\t\tconsole.log('📍 Loaded position:', this.id, parsed)\n\t\t\t} catch (e) {\n\t\t\t\t// Use default position on parse error\n\t\t\t}\n\t\t}\n\t\t// If no saved position, use default from @state initialization\n\t}\n\n\tprivate async animateToState(targetState: BoatState) {\n\t\tif (this.isAnimating || targetState === this.currentState) return\n\n\t\tconst previousState = this.currentState\n\t\tthis.isAnimating = true\n\n\t\ttry {\n\t\t\tawait this.performTransition(previousState, targetState)\n\t\t\tthis.currentState = targetState\n\t\t\tthis.isContentVisible = targetState === 'expanded'\n\n\t\t\t// Dispatch event\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent('toggle', {\n\t\t\t\t\tdetail: targetState,\n\t\t\t\t\tbubbles: true,\n\t\t\t\t\tcomposed: true,\n\t\t\t\t}),\n\t\t\t)\n\t\t} catch (err) {\n\t\t\tconsole.warn('Animation error:', err)\n\t\t\tthis.currentState = targetState\n\t\t\tthis.isContentVisible = targetState === 'expanded'\n\t\t} finally {\n\t\t\tthis.isAnimating = false\n\t\t}\n\t}\n\n\t// Simplified animation transition\n\tprivate async performTransition(fromState: BoatState, toState: BoatState): Promise<void> {\n\t\tthis.currentAnimation?.cancel()\n\n\t\tconst container = this.containerRef.value\n\t\tif (!container) return\n\n\t\t// Update content visibility before expand\n\t\tif (toState === 'expanded') {\n\t\t\tthis.isContentVisible = true\n\t\t}\n\n\t\t// Create animations\n\t\tconst animations = this.createAnimations(fromState, toState)\n\n\t\t// Wait for main animation to complete\n\t\tif (animations.container) {\n\t\t\tthis.currentAnimation = animations.container\n\t\t\tawait animations.container.finished\n\n\t\t\t// Hide content after minimize\n\t\t\tif (toState !== 'expanded') {\n\t\t\t\tthis.isContentVisible = false\n\t\t\t}\n\t\t}\n\t}\n\n\t// Create animations for state transition\n\tprivate createAnimations(fromState: BoatState, toState: BoatState) {\n\t\tconst container = this.containerRef.value\n\t\tconst content = this.contentRef.value\n\t\tconst icon = this.iconRef.value\n\t\tconst animations: { container?: Animation; content?: Animation; icon?: Animation } = {}\n\n\t\tif (!container) return animations\n\n\t\tconst config = this.ANIMATION_CONFIG\n\t\tconst fromStyles = this.getStyleForState(fromState)\n\t\tconst toStyles = this.getStyleForState(toState)\n\n\t\t// Container animation\n\t\tif (toState === 'expanded') {\n\t\t\t// Expand animation without transform\n\t\t\tanimations.container = container.animate([fromStyles, toStyles], {\n\t\t\t\tduration: config.durations.expand,\n\t\t\t\teasing: config.easing.decelerate,\n\t\t\t\tfill: 'forwards',\n\t\t\t})\n\t\t} else {\n\t\t\tanimations.container = container.animate([fromStyles, toStyles], {\n\t\t\t\tduration: toState === 'hidden' ? config.durations.hide : config.durations.minimize,\n\t\t\t\teasing: config.easing.accelerate,\n\t\t\t\tfill: 'forwards',\n\t\t\t})\n\t\t}\n\n\t\t// Content animation (only for expand/minimize transitions)\n\t\tif (content && fromState === 'expanded' && toState === 'minimized') {\n\t\t\t// Fade out content before minimizing\n\t\t\tcontent.animate(\n\t\t\t\t[\n\t\t\t\t\t{ opacity: 1, transform: 'translateY(0)' },\n\t\t\t\t\t{ opacity: 0, transform: 'translateY(-8px)' },\n\t\t\t\t],\n\t\t\t\t{\n\t\t\t\t\tduration: 150,\n\t\t\t\t\teasing: config.easing.standard,\n\t\t\t\t\tfill: 'forwards',\n\t\t\t\t},\n\t\t\t)\n\t\t} else if (content && toState === 'expanded') {\n\t\t\t// Fade in content when expanding\n\t\t\tcontent.animate(\n\t\t\t\t[\n\t\t\t\t\t{ opacity: 0, transform: 'translateY(8px)' },\n\t\t\t\t\t{ opacity: 1, transform: 'translateY(0)' },\n\t\t\t\t],\n\t\t\t\t{\n\t\t\t\t\tduration: config.durations.content,\n\t\t\t\t\teasing: config.easing.standard,\n\t\t\t\t\tfill: 'forwards',\n\t\t\t\t},\n\t\t\t)\n\t\t}\n\n\t\t// Icon rotation animation\n\t\tif (icon) {\n\t\t\tconst isExpanding = toState === 'expanded'\n\t\t\tconst isCollapsing = fromState === 'expanded' && toState === 'minimized'\n\n\t\t\tif (isExpanding || isCollapsing) {\n\t\t\t\ticon.animate(\n\t\t\t\t\t[\n\t\t\t\t\t\t{ transform: isExpanding ? 'rotate(0deg)' : 'rotate(180deg)' },\n\t\t\t\t\t\t{ transform: isExpanding ? 'rotate(180deg)' : 'rotate(0deg)' },\n\t\t\t\t\t],\n\t\t\t\t\t{\n\t\t\t\t\t\tduration: 250,\n\t\t\t\t\t\teasing: config.easing.emphasized,\n\t\t\t\t\t\tfill: 'forwards',\n\t\t\t\t\t},\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\n\t\treturn animations\n\t}\n\n\t// Get styles for a specific state\n\tprivate getStyleForState(state: BoatState): Keyframe {\n\t\tconst { shadows } = this.ANIMATION_CONFIG\n\t\tconst baseStyles = {\n\t\t\tmaxWidth: '300px',\n\t\t\tmaxHeight: 'auto',\n\t\t\tborderRadius: '16px',\n\t\t}\n\n\t\tconst stateStyles: Record<BoatState, Keyframe> = {\n\t\t\thidden: {\n\t\t\t\t...baseStyles,\n\t\t\t\topacity: '0',\n\t\t\t\tpointerEvents: 'none',\n\t\t\t\tboxShadow: 'none',\n\t\t\t\tbackdropFilter: 'none',\n\t\t\t},\n\t\t\tminimized: {\n\t\t\t\t...baseStyles,\n\t\t\t\topacity: '1',\n\t\t\t\tpointerEvents: 'auto',\n\t\t\t\tboxShadow: this.isLowered ? shadows.fabLowered : shadows.fab,\n\t\t\t\tbackdropFilter: 'none',\n\t\t\t},\n\t\t\texpanded: {\n\t\t\t\topacity: '1',\n\t\t\t\tpointerEvents: 'auto',\n\t\t\t\twidth: this.getResponsiveWidth(),\n\t\t\t\tmaxWidth: '100%',\n\t\t\t\tmaxHeight: '80vh',\n\t\t\t\tboxShadow: shadows.expanded,\n\t\t\t\tborderRadius: '8px 8px 0 0',\n\t\t\t\tbackdropFilter: 'blur(12px)',\n\t\t\t},\n\t\t}\n\n\t\treturn stateStyles[state] as Keyframe\n\t}\n\n\t// Calculate responsive width based on viewport\n\tprivate getResponsiveWidth(): string {\n\t\tif (typeof window === 'undefined') return '40vw'\n\n\t\tconst vw = window.innerWidth\n\t\tif (vw < 768) return 'calc(100vw - 32px)'\n\t\tif (vw < 1024) return '70vw'\n\t\tif (vw < 1280) return '60vw'\n\t\treturn '40vw'\n\t}\n\n\t// Update expanded width on window resize\n\tprivate updateExpandedWidth() {\n\t\tconst container = this.containerRef.value\n\t\tif (container && this.currentState === 'expanded') {\n\t\t\tcontainer.style.width = this.getResponsiveWidth()\n\t\t}\n\t}\n\n\tfirstUpdated() {\n\t\tthis.initializePosition()\n\t\tthis.applyInitialStyles()\n\t\tthis.updateContainerPosition()\n\t\tthis.setupDragPipeline()\n\t}\n\n\t// Apply initial styles to elements\n\tprivate applyInitialStyles() {\n\t\tconst container = this.containerRef.value\n\t\tconst content = this.contentRef.value\n\t\tconst icon = this.iconRef.value\n\n\t\tif (container) {\n\t\t\tconst initialStyle = this.getStyleForState(this.currentState)\n\t\t\tObject.assign(container.style, initialStyle)\n\n\t\t\t// Safari compatibility for backdrop filter\n\t\t\tif ('webkitBackdropFilter' in container.style) {\n\t\t\t\t;(container.style as any).webkitBackdropFilter = initialStyle.backdropFilter\n\t\t\t}\n\t\t}\n\n\t\t// Set initial content opacity\n\t\tif (content) {\n\t\t\tcontent.style.opacity = this.isContentVisible ? '1' : '0'\n\t\t}\n\n\t\t// Set initial icon rotation\n\t\tif (icon && this.currentState === 'expanded') {\n\t\t\ticon.style.transform = 'rotate(180deg)'\n\t\t}\n\t}\n\n\t// Public method to toggle between minimized and expanded\n\ttoggleState() {\n\t\tconst newState = this.currentState === 'minimized' ? 'expanded' : 'minimized'\n\t\tthis.animateToState(newState)\n\t}\n\n\t// Public method to close (hide) the boat\n\tclose() {\n\t\tthis.animateToState('hidden')\n\t}\n\n\tprivate closeAndAddToNav() {\n\t\t// Use discovery to find navigation components\n\t\trace(\n\t\t\tthis.discover<any>('schmancy-navigation-rail'),\n\t\t\tthis.discover<any>('schmancy-navigation-bar'),\n\t\t\tthis.discover<any>('schmancy-nav-drawer'),\n\t\t\tthis.discover<any>('app-navigation-rail'),\n\t\t\tthis.discover<any>('app-navigation-bar'),\n\t\t\tthis.discover<any>('app-nav-drawer'),\n\t\t)\n\t\t\t.pipe(\n\t\t\t\ttake(1),\n\t\t\t\ttap(async navComponent => {\n\t\t\t\t\tif (navComponent && typeof navComponent.addBoatItem === 'function') {\n\t\t\t\t\t\t// Get the actual icon from the header\n\t\t\t\t\t\tconst headerSlot = this.querySelector('[slot=\"header\"]')\n\t\t\t\t\t\tconst iconElement = headerSlot?.querySelector('schmancy-icon')\n\t\t\t\t\t\tconst icon = iconElement?.textContent?.trim() || 'widgets'\n\n\t\t\t\t\t\t// Get a clean title (remove the icon text from the header text)\n\t\t\t\t\t\tlet title = headerSlot?.textContent?.trim() || 'Boat'\n\t\t\t\t\t\tif (icon && title.includes(icon)) {\n\t\t\t\t\t\t\ttitle = title.replace(icon, '').trim()\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Add the boat to navigation first\n\t\t\t\t\t\tconst navItem = navComponent.addBoatItem({\n\t\t\t\t\t\t\tid: `boat-${this.id}`,\n\t\t\t\t\t\t\ttitle: title || this.id,\n\t\t\t\t\t\t\ticon: icon,\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\t// Animate the boat to the nav item position (genie effect)\n\t\t\t\t\t\tif (navItem) {\n\t\t\t\t\t\t\tawait this.animateToNavItem(navItem)\n\n\t\t\t\t\t\t\t// Listen for clicks on the nav item to re-open the boat\n\t\t\t\t\t\t\tnavItem.addEventListener('click', () => {\n\t\t\t\t\t\t\t\t// Animate from nav item back to expanded position\n\t\t\t\t\t\t\t\tthis.animateFromNavItem(navItem)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// No nav component found, just hide\n\t\t\t\t\t\tthis.close()\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\tprivate async animateToNavItem(navItem: HTMLElement) {\n\t\tconst container = this.containerRef.value\n\t\tif (!container) return\n\n\t\t// Get positions\n\t\tconst boatRect = container.getBoundingClientRect()\n\t\tconst navRect = navItem.getBoundingClientRect()\n\n\t\t// Cancel any existing animation\n\t\tthis.currentAnimation?.cancel()\n\n\t\t// Create genie effect animation (like macOS)\n\t\tconst keyframes: Keyframe[] = [\n\t\t\t{\n\t\t\t\ttransform: 'scale(1) translate3d(0, 0, 0)',\n\t\t\t\topacity: 1,\n\t\t\t\tborderRadius: '8px',\n\t\t\t},\n\t\t\t{\n\t\t\t\ttransform: `scale(0.3) translate3d(${navRect.left - boatRect.left}px, ${navRect.top - boatRect.top}px, 0)`,\n\t\t\t\topacity: 0.5,\n\t\t\t\tborderRadius: '50%',\n\t\t\t},\n\t\t\t{\n\t\t\t\ttransform: `scale(0) translate3d(${navRect.left - boatRect.left}px, ${navRect.top - boatRect.top}px, 0)`,\n\t\t\t\topacity: 0,\n\t\t\t\tborderRadius: '50%',\n\t\t\t},\n\t\t]\n\t\tthis.currentAnimation = container.animate(\n\t\t\tkeyframes,\n\t\t\t{\n\t\t\t\tduration: 600,\n\t\t\t\teasing: 'cubic-bezier(0.4, 0.0, 0.2, 1)',\n\t\t\t\tfill: 'forwards',\n\t\t\t},\n\t\t)\n\n\t\tawait this.currentAnimation.finished\n\t\tthis.currentState = 'hidden'\n\t}\n\n\tprivate animateFromNavItem(navItem: HTMLElement) {\n\t\tconst container = this.containerRef.value\n\t\tif (!container) return\n\n\t\t// Get nav item position\n\t\tconst navRect = navItem.getBoundingClientRect()\n\n\t\t// Set initial position at nav item\n\t\tcontainer.style.transformOrigin = `${navRect.left}px ${navRect.top}px`\n\n\t\t// Cancel any existing animation\n\t\tthis.currentAnimation?.cancel()\n\n\t\t// Animate from nav item to expanded state\n\t\tconst expandKeyframes: Keyframe[] = [\n\t\t\t{\n\t\t\t\ttransform: `scale(0) translate3d(${navRect.left}px, ${navRect.top}px, 0)`,\n\t\t\t\topacity: 0,\n\t\t\t\tborderRadius: '50%',\n\t\t\t},\n\t\t\t{\n\t\t\t\ttransform: 'scale(0.5) translate3d(0, 0, 0)',\n\t\t\t\topacity: 0.5,\n\t\t\t\tborderRadius: '24px',\n\t\t\t},\n\t\t\t{\n\t\t\t\ttransform: 'scale(1) translate3d(0, 0, 0)',\n\t\t\t\topacity: 1,\n\t\t\t\tborderRadius: '8px',\n\t\t\t},\n\t\t]\n\t\tthis.currentAnimation = container.animate(\n\t\t\texpandKeyframes,\n\t\t\t{\n\t\t\t\tduration: 400,\n\t\t\t\teasing: 'cubic-bezier(0.2, 0.0, 0, 1.0)',\n\t\t\t\tfill: 'forwards',\n\t\t\t},\n\t\t)\n\n\t\t// Update state\n\t\tthis.currentState = 'expanded'\n\t\tthis.isContentVisible = true\n\t\tthis.bringToFront()\n\t}\n\n\tprivate bringToFront() {\n\t\tconst container = this.containerRef.value\n\t\tif (container) {\n\t\t\tcontainer.style.zIndex = String(10000 + (Date.now() % 1000))\n\t\t}\n\t}\n\n\tprivate calculateDragPosition(\n\t\tclientX: number,\n\t\tclientY: number,\n\t\toffsetX: number,\n\t\toffsetY: number,\n\t\tinitialRect: DOMRect,\n\t): Position {\n\t\tconst targetLeft = clientX - offsetX\n\t\tconst targetTop = clientY - offsetY\n\t\tconst vw = window.innerWidth\n\t\tconst vh = window.innerHeight\n\t\tconst clampedLeft = Math.max(0, Math.min(targetLeft, vw - initialRect.width))\n\t\tconst clampedTop = Math.max(0, Math.min(targetTop, vh - initialRect.height))\n\n\t\tconst newX = this.anchor.includes('right')\n\t\t\t? vw - (clampedLeft + initialRect.width)\n\t\t\t: clampedLeft\n\n\t\tconst newY = this.anchor.includes('bottom')\n\t\t\t? vh - (clampedTop + initialRect.height)\n\t\t\t: clampedTop\n\n\t\treturn { x: Math.max(0, newX), y: Math.max(0, newY) }\n\t}\n\n\tprivate savePosition() {\n\t\tif (typeof window === 'undefined') return\n\n\t\tconst toSave: SavedPosition = {\n\t\t\tx: this.position.x,\n\t\t\ty: this.position.y,\n\t\t\tanchor: this.anchor,\n\t\t}\n\t\tconst key = `schmancy-boat-${this.id}`\n\t\tlocalStorage.setItem(key, JSON.stringify(toSave))\n\t\tconsole.log('💾 Saved position:', key, toSave)\n\t}\n\n\tprivate setupDragPipeline() {\n\t\tif (typeof window === 'undefined') return\n\n\t\tconst header = this.headerRef.value\n\t\tconst container = this.containerRef.value\n\t\tif (!header || !container) return\n\n\t\tlet hasDragged = false\n\t\tconst DRAG_THRESHOLD = 5\n\n\t\t// Merge mouse and touch start events\n\t\tconst dragStart$ = merge(\n\t\t\tfromEvent<MouseEvent>(header, 'mousedown').pipe(\n\t\t\t\tfilter(e => e.button === 0),\n\t\t\t\ttap(e => {\n\t\t\t\t\te.preventDefault()\n\t\t\t\t\te.stopPropagation()\n\t\t\t\t}),\n\t\t\t\tmap(e => ({\n\t\t\t\t\tclientX: e.clientX,\n\t\t\t\t\tclientY: e.clientY,\n\t\t\t\t\ttype: 'mouse' as const,\n\t\t\t\t})),\n\t\t\t),\n\t\t\tfromEvent<TouchEvent>(header, 'touchstart').pipe(\n\t\t\t\tmap(e => ({\n\t\t\t\t\tclientX: e.touches[0].clientX,\n\t\t\t\t\tclientY: e.touches[0].clientY,\n\t\t\t\t\ttype: 'touch' as const,\n\t\t\t\t})),\n\t\t\t),\n\t\t).pipe(\n\t\t\tmap(({ clientX, clientY, type }) => {\n\t\t\t\tconst rect = container.getBoundingClientRect()\n\t\t\t\thasDragged = false\n\t\t\t\treturn {\n\t\t\t\t\tstartX: clientX,\n\t\t\t\t\tstartY: clientY,\n\t\t\t\t\toffsetX: clientX - rect.left,\n\t\t\t\t\toffsetY: clientY - rect.top,\n\t\t\t\t\tinitialRect: rect,\n\t\t\t\t\ttype,\n\t\t\t\t}\n\t\t\t}),\n\t\t)\n\n\t\tdragStart$\n\t\t\t.pipe(\n\t\t\t\tswitchMap(({ startX, startY, offsetX, offsetY, initialRect, type }) => {\n\t\t\t\t\tconst move$ =\n\t\t\t\t\t\ttype === 'mouse'\n\t\t\t\t\t\t\t? fromEvent<MouseEvent>(window, 'mousemove').pipe(\n\t\t\t\t\t\t\t\t\tmap(e => ({ clientX: e.clientX, clientY: e.clientY })),\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t: fromEvent<TouchEvent>(window, 'touchmove').pipe(\n\t\t\t\t\t\t\t\t\tmap(e => ({ clientX: e.touches[0].clientX, clientY: e.touches[0].clientY })),\n\t\t\t\t\t\t\t\t)\n\n\t\t\t\t\tconst end$ = type === 'mouse' ? fromEvent(window, 'mouseup') : fromEvent(window, 'touchend')\n\n\t\t\t\t\treturn move$.pipe(\n\t\t\t\t\t\tmap(({ clientX, clientY }) => {\n\t\t\t\t\t\t\tconst deltaX = clientX - startX\n\t\t\t\t\t\t\tconst deltaY = clientY - startY\n\t\t\t\t\t\t\tconst distance = Math.sqrt(deltaX * deltaX + deltaY * deltaY)\n\n\t\t\t\t\t\t\tif (distance > DRAG_THRESHOLD && !hasDragged) {\n\t\t\t\t\t\t\t\thasDragged = true\n\t\t\t\t\t\t\t\tthis.isDragging = true\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!hasDragged) return null\n\n\t\t\t\t\t\t\treturn this.calculateDragPosition(clientX, clientY, offsetX, offsetY, initialRect)\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tfilter(position => position !== null),\n\t\t\t\t\t\ttap(position => {\n\t\t\t\t\t\t\tif (position) {\n\t\t\t\t\t\t\t\tthis.position = position\n\t\t\t\t\t\t\t\tthis.updateContainerPosition()\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}),\n\t\t\t\t\t\ttakeUntil(end$),\n\t\t\t\t\t)\n\t\t\t\t}),\n\t\t\t\tfinalize(() => {\n\t\t\t\t\tif (hasDragged) {\n\t\t\t\t\t\tthis.updateAnchor()\n\t\t\t\t\t\tthis.savePosition()\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.toggleState()\n\t\t\t\t\t}\n\t\t\t\t\tthis.isDragging = false\n\t\t\t\t\thasDragged = false\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\t// Update container position based on anchor and position values\n\tprivate updateContainerPosition() {\n\t\tconst container = this.containerRef.value\n\t\tif (!container) return\n\n\t\t// Reset all position styles\n\t\tcontainer.style.removeProperty('left')\n\t\tcontainer.style.removeProperty('right')\n\t\tcontainer.style.removeProperty('top')\n\t\tcontainer.style.removeProperty('bottom')\n\n\t\t// Apply new position based on anchor\n\t\tif (this.anchor.includes('right')) {\n\t\t\tcontainer.style.right = `${this.position.x}px`\n\t\t} else {\n\t\t\tcontainer.style.left = `${this.position.x}px`\n\t\t}\n\n\t\tif (this.anchor.includes('bottom')) {\n\t\t\tcontainer.style.bottom = `${this.position.y}px`\n\t\t} else {\n\t\t\tcontainer.style.top = `${this.position.y}px`\n\t\t}\n\t}\n\n\t// Update anchor based on current position\n\tprivate updateAnchor() {\n\t\tif (typeof window === 'undefined') return\n\n\t\tconst container = this.containerRef.value\n\t\tif (!container) return\n\n\t\tconst rect = container.getBoundingClientRect()\n\t\tconst vw = window.innerWidth\n\t\tconst vh = window.innerHeight\n\n\t\tconst isRight = rect.left > vw / 2\n\t\tconst isBottom = rect.top > vh / 2\n\n\t\tconst newAnchor = `${isBottom ? 'bottom' : 'top'}-${isRight ? 'right' : 'left'}` as typeof this.anchor\n\n\t\tif (newAnchor !== this.anchor) {\n\t\t\t// Calculate new position values for the new anchor\n\t\t\tif (isRight) {\n\t\t\t\tthis.position.x = vw - rect.right\n\t\t\t} else {\n\t\t\t\tthis.position.x = rect.left\n\t\t\t}\n\n\t\t\tif (isBottom) {\n\t\t\t\tthis.position.y = vh - rect.bottom\n\t\t\t} else {\n\t\t\t\tthis.position.y = rect.top\n\t\t\t}\n\n\t\t\tthis.anchor = newAnchor\n\t\t}\n\t}\n\n\t// Cleanup on component disconnect\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.currentAnimation?.cancel()\n\t}\n\n\tprotected render(): unknown {\n\t\tconst surfaceElevation = this.currentState === 'minimized' ? (this.isLowered ? '1' : '3') : '4'\n\t\tconst isMinimized = this.currentState === 'minimized'\n\n\t\tconst containerClasses = {\n\t\t\t'fixed': true,\n\t\t\t'overflow-y-auto': true,\n\t\t\t'flex': true,\n\t\t\t'flex-col': true,\n\t\t\t'z-[10000]': true,\n\t\t\t'select-none': true,\n\t\t\t'will-change-transform': true,\n\t\t\t'[contain:layout_style]': true,\n\t\t\t'[transform:translate3d(0,0,0)]': true,\n\t\t\t'[backface-visibility:hidden]': true,\n\t\t\t'transition-shadow': true,\n\t\t\t'opacity-95': this.isDragging,\n\t\t\t'shadow-[0_24px_48px_-8px_rgba(0,0,0,0.2),0_12px_24px_-4px_rgba(0,0,0,0.12)]': this.isDragging,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=${this.classMap(containerClasses)} ${ref(this.containerRef)} @click=${this.bringToFront}>\n\t\t\t\t<!-- Header section -->\n\t\t\t\t<section class=\"sticky top-0 z-10\">\n\t\t\t\t\t<schmancy-surface\n\t\t\t\t\t\televation=\"${surfaceElevation}\"\n\t\t\t\t\t\trounded=\"${isMinimized ? 'none' : 'top'}\"\n\t\t\t\t\t\ttype=\"containerLowest\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass=\"group sticky top-0 px-3 py-2 flex items-center justify-between gap-3 ${this.isDragging\n\t\t\t\t\t\t\t\t? 'cursor-grabbing'\n\t\t\t\t\t\t\t\t: 'cursor-move'}\"\n\t\t\t\t\t\t\t${ref(this.headerRef)}\n\t\t\t\t\t\t\ttitle=\"Drag to move, double-click to toggle\"\n\t\t\t\t\t\t\t@dblclick=${(e: Event) => {\n\t\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\tthis.toggleState()\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<!-- Drag handle indicator -->\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass=\"flex items-center text-surface-onVariant opacity-40 transition-opacity duration-200 group-hover:opacity-100\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<schmancy-icon style=\"font-size: 20px\">drag_indicator</schmancy-icon>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<!-- Header content slot -->\n\t\t\t\t\t\t\t<div class=\"flex-1 min-w-fit items-center flex justify-start\">\n\t\t\t\t\t\t\t\t<slot name=\"header\"></slot>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<!-- Control buttons -->\n\t\t\t\t\t\t\t<div class=\"flex items-center gap-1 flex-shrink-0\">\n\t\t\t\t\t\t\t\t${isMinimized\n\t\t\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t\t\t<!-- Expand button (when minimized) -->\n\t\t\t\t\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state = 'expanded'\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"Expand\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-icon ${ref(this.iconRef)}>expand_less</schmancy-icon>\n\t\t\t\t\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t\t\t\t\t`\n\t\t\t\t\t\t\t\t\t: html`\n\t\t\t\t\t\t\t\t\t\t\t<!-- Minimize button (when expanded) -->\n\t\t\t\t\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"filled tonal\"\n\t\t\t\t\t\t\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state = 'minimized'\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"Minimize\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-icon ${ref(this.iconRef)}>expand_more</schmancy-icon>\n\t\t\t\t\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t\t\t\t\t`}\n\n\t\t\t\t\t\t\t\t<!-- Close button -->\n\t\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\t\tvariant=\"text\"\n\t\t\t\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\tthis.closeAndAddToNav()\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\ttitle=\"Close and add to navigation\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<schmancy-icon>close</schmancy-icon>\n\t\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</schmancy-surface>\n\t\t\t\t</section>\n\n\t\t\t\t<!-- Content section -->\n\t\t\t\t<schmancy-surface\n\t\t\t\t\t.hidden=${!this.isContentVisible}\n\t\t\t\t\ttype=\"containerLow\"\n\t\t\t\t\tclass=\"z-0 flex-1\"\n\t\t\t\t\t${ref(this.contentRef)}\n\t\t\t\t>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</schmancy-surface>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-boat': SchmancyBoat\n\t}\n}\n"],"names":["SchmancyBoat","$LitElement","css","super","arguments","this","id","containerRef","createRef","contentRef","iconRef","headerRef","ANIMATION_CONFIG","durations","expand","minimize","hide","content","easing","emphasized","decelerate","accelerate","standard","shadows","fab","fabLowered","expanded","currentState","isContentVisible","isAnimating","isLowered","isDragging","position","x","y","anchor","state","value","animateToState","lowered","requestUpdate","connectedCallback","window","fromEvent","pipe","takeUntil","disconnecting","subscribe","updateExpandedWidth","filter","e","key","tap","preventDefault","toggleState","close","saved","localStorage","getItem","parsed","JSON","parse","targetState","previousState","performTransition","dispatchEvent","CustomEvent","detail","bubbles","composed","fromState","toState","currentAnimation","cancel","animations","createAnimations","container","finished","icon","config","fromStyles","getStyleForState","toStyles","animate","duration","fill","opacity","transform","isExpanding","baseStyles","maxWidth","maxHeight","borderRadius","hidden","pointerEvents","boxShadow","backdropFilter","minimized","width","getResponsiveWidth","vw","innerWidth","style","firstUpdated","initializePosition","applyInitialStyles","updateContainerPosition","setupDragPipeline","initialStyle","Object","assign","webkitBackdropFilter","newState","closeAndAddToNav","race","discover","take","async","navComponent","addBoatItem","headerSlot","querySelector","iconElement","textContent","trim","title","includes","replace","navItem","animateToNavItem","addEventListener","animateFromNavItem","boatRect","getBoundingClientRect","navRect","keyframes","left","top","transformOrigin","expandKeyframes","bringToFront","zIndex","String","Date","now","clientX","clientY","offsetX","offsetY","initialRect","targetLeft","targetTop","vh","innerHeight","clampedLeft","Math","max","min","clampedTop","height","newX","newY","savePosition","toSave","setItem","stringify","header","hasDragged","merge","button","stopPropagation","map","type","touches","rect","startX","startY","switchMap","move$","end$","deltaX","deltaY","sqrt","calculateDragPosition","finalize","updateAnchor","removeProperty","right","bottom","isRight","isBottom","newAnchor","disconnectedCallback","surfaceElevation","isMinimized","containerClasses","fixed","flex","html","classMap","ref","__decorateClass","property","reflect","prototype","Boolean","customElement"],"mappings":"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"}
@@ -1,78 +0,0 @@
1
- "use strict";const p=require("rxjs"),r=require("rxjs/operators");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const d=require("lit/decorators.js");require("./tailwind.mixin-CvQn8Ynb.cjs");const v=require("./litElement.mixin-Di-HgRnn.cjs"),x=require("lit"),l=require("lit/directives/ref.js");var S=Object.defineProperty,R=Object.getOwnPropertyDescriptor,h=(t,e,n,i)=>{for(var a,o=i>1?void 0:i?R(e,n):e,s=t.length-1;s>=0;s--)(a=t[s])&&(o=(i?a(e,n,o):a(o))||o);return i&&o&&S(e,n,o),o};exports.SchmancyBoat=class extends v.$LitElement(x.css`
2
- :host {
3
- display: contents;
4
- }
5
- `){constructor(){super(...arguments),this.id="default",this.containerRef=l.createRef(),this.contentRef=l.createRef(),this.iconRef=l.createRef(),this.headerRef=l.createRef(),this.ANIMATION_CONFIG={durations:{expand:350,minimize:250,hide:200,content:300},easing:{emphasized:"cubic-bezier(0.2, 0.0, 0, 1.0)",decelerate:"cubic-bezier(0.05, 0.7, 0.1, 1.0)",accelerate:"cubic-bezier(0.3, 0.0, 0.8, 0.15)",standard:"cubic-bezier(0.4, 0.0, 0.2, 1)"},shadows:{fab:"0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12)",fabLowered:"0px 1px 3px 0px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 2px 1px -1px rgba(0, 0, 0, 0.12)",expanded:"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)"}},this.currentState="minimized",this.isContentVisible=!1,this.isAnimating=!1,this.isLowered=!1,this.isDragging=!1,this.position={x:16,y:16},this.anchor="bottom-right"}get state(){return this.currentState}set state(t){this.isAnimating||t===this.currentState||this.animateToState(t)}get lowered(){return this.isLowered}set lowered(t){this.isLowered=t,this.requestUpdate()}connectedCallback(){super.connectedCallback(),typeof window<"u"&&(p.fromEvent(window,"resize").pipe(r.takeUntil(this.disconnecting)).subscribe(()=>{this.currentState==="expanded"&&this.updateExpandedWidth()}),p.fromEvent(window,"keydown").pipe(r.filter(t=>t.key==="Escape"&&this.currentState!=="hidden"),r.tap(t=>t.preventDefault()),r.takeUntil(this.disconnecting)).subscribe(()=>{this.currentState==="expanded"?this.toggleState():this.close()}))}initializePosition(){if(typeof window>"u")return;const t=localStorage.getItem(`schmancy-boat-${this.id}`);if(t)try{const e=JSON.parse(t);this.position={x:e.x,y:e.y},this.anchor=e.anchor}catch{}}async animateToState(t){if(this.isAnimating||t===this.currentState)return;const e=this.currentState;this.isAnimating=!0;try{await this.performTransition(e,t),this.currentState=t,this.isContentVisible=t==="expanded",this.dispatchEvent(new CustomEvent("toggle",{detail:t,bubbles:!0,composed:!0}))}catch{this.currentState=t,this.isContentVisible=t==="expanded"}finally{this.isAnimating=!1}}async performTransition(t,e){if(this.currentAnimation?.cancel(),!this.containerRef.value)return;e==="expanded"&&(this.isContentVisible=!0);const n=this.createAnimations(t,e);n.container&&(this.currentAnimation=n.container,await n.container.finished,e!=="expanded"&&(this.isContentVisible=!1))}createAnimations(t,e){const n=this.containerRef.value,i=this.contentRef.value,a=this.iconRef.value,o={};if(!n)return o;const s=this.ANIMATION_CONFIG,f=this.getStyleForState(t),u=this.getStyleForState(e);if(o.container=e==="expanded"?n.animate([f,u],{duration:s.durations.expand,easing:s.easing.decelerate,fill:"forwards"}):n.animate([f,u],{duration:e==="hidden"?s.durations.hide:s.durations.minimize,easing:s.easing.accelerate,fill:"forwards"}),i&&t==="expanded"&&e==="minimized"?i.animate([{opacity:1,transform:"translateY(0)"},{opacity:0,transform:"translateY(-8px)"}],{duration:150,easing:s.easing.standard,fill:"forwards"}):i&&e==="expanded"&&i.animate([{opacity:0,transform:"translateY(8px)"},{opacity:1,transform:"translateY(0)"}],{duration:s.durations.content,easing:s.easing.standard,fill:"forwards"}),a){const m=e==="expanded";(m||t==="expanded"&&e==="minimized")&&a.animate([{transform:m?"rotate(0deg)":"rotate(180deg)"},{transform:m?"rotate(180deg)":"rotate(0deg)"}],{duration:250,easing:s.easing.emphasized,fill:"forwards"})}return o}getStyleForState(t){const{shadows:e}=this.ANIMATION_CONFIG,n={maxWidth:"300px",maxHeight:"auto",borderRadius:"16px"};return{hidden:{...n,opacity:"0",pointerEvents:"none",boxShadow:"none",backdropFilter:"none"},minimized:{...n,opacity:"1",pointerEvents:"auto",boxShadow:this.isLowered?e.fabLowered:e.fab,backdropFilter:"none"},expanded:{opacity:"1",pointerEvents:"auto",width:this.getResponsiveWidth(),maxWidth:"100%",maxHeight:"80vh",boxShadow:e.expanded,borderRadius:"8px 8px 0 0",backdropFilter:"blur(12px)"}}[t]}getResponsiveWidth(){if(typeof window>"u")return"40vw";const t=window.innerWidth;return t<768?"calc(100vw - 32px)":t<1024?"70vw":t<1280?"60vw":"40vw"}updateExpandedWidth(){const t=this.containerRef.value;t&&this.currentState==="expanded"&&(t.style.width=this.getResponsiveWidth())}firstUpdated(){this.initializePosition(),this.applyInitialStyles(),this.updateContainerPosition(),this.setupDragPipeline()}applyInitialStyles(){const t=this.containerRef.value,e=this.contentRef.value,n=this.iconRef.value;if(t){const i=this.getStyleForState(this.currentState);Object.assign(t.style,i),"webkitBackdropFilter"in t.style&&(t.style.webkitBackdropFilter=i.backdropFilter)}e&&(e.style.opacity=this.isContentVisible?"1":"0"),n&&this.currentState==="expanded"&&(n.style.transform="rotate(180deg)")}toggleState(){const t=this.currentState==="minimized"?"expanded":"minimized";this.animateToState(t)}close(){this.animateToState("hidden")}closeAndAddToNav(){p.race(this.discover("schmancy-navigation-rail"),this.discover("schmancy-navigation-bar"),this.discover("schmancy-nav-drawer"),this.discover("app-navigation-rail"),this.discover("app-navigation-bar"),this.discover("app-nav-drawer")).pipe(r.take(1),r.tap(async t=>{if(t&&typeof t.addBoatItem=="function"){const e=this.querySelector('[slot="header"]'),n=e?.querySelector("schmancy-icon"),i=n?.textContent?.trim()||"widgets";let a=e?.textContent?.trim()||"Boat";a.includes(i)&&(a=a.replace(i,"").trim());const o=t.addBoatItem({id:`boat-${this.id}`,title:a||this.id,icon:i});o&&(await this.animateToNavItem(o),o.addEventListener("click",()=>{this.animateFromNavItem(o)}))}else this.close()})).subscribe()}async animateToNavItem(t){const e=this.containerRef.value;if(!e)return;const n=e.getBoundingClientRect(),i=t.getBoundingClientRect();this.currentAnimation?.cancel();const a=[{transform:"scale(1) translate3d(0, 0, 0)",opacity:1,borderRadius:"8px"},{transform:`scale(0.3) translate3d(${i.left-n.left}px, ${i.top-n.top}px, 0)`,opacity:.5,borderRadius:"50%"},{transform:`scale(0) translate3d(${i.left-n.left}px, ${i.top-n.top}px, 0)`,opacity:0,borderRadius:"50%"}];this.currentAnimation=e.animate(a,{duration:600,easing:"cubic-bezier(0.4, 0.0, 0.2, 1)",fill:"forwards"}),await this.currentAnimation.finished,this.currentState="hidden"}animateFromNavItem(t){const e=this.containerRef.value;if(!e)return;const n=t.getBoundingClientRect();e.style.transformOrigin=`${n.left}px ${n.top}px`,this.currentAnimation?.cancel();const i=[{transform:`scale(0) translate3d(${n.left}px, ${n.top}px, 0)`,opacity:0,borderRadius:"50%"},{transform:"scale(0.5) translate3d(0, 0, 0)",opacity:.5,borderRadius:"24px"},{transform:"scale(1) translate3d(0, 0, 0)",opacity:1,borderRadius:"8px"}];this.currentAnimation=e.animate(i,{duration:400,easing:"cubic-bezier(0.2, 0.0, 0, 1.0)",fill:"forwards"}),this.currentState="expanded",this.isContentVisible=!0,this.bringToFront()}bringToFront(){const t=this.containerRef.value;t&&(t.style.zIndex=String(1e4+Date.now()%1e3))}calculateDragPosition(t,e,n,i,a){const o=t-n,s=e-i,f=window.innerWidth,u=window.innerHeight,m=Math.max(0,Math.min(o,f-a.width)),y=Math.max(0,Math.min(s,u-a.height)),c=this.anchor.includes("right")?f-(m+a.width):m,g=this.anchor.includes("bottom")?u-(y+a.height):y;return{x:Math.max(0,c),y:Math.max(0,g)}}savePosition(){if(typeof window>"u")return;const t={x:this.position.x,y:this.position.y,anchor:this.anchor},e=`schmancy-boat-${this.id}`;localStorage.setItem(e,JSON.stringify(t))}setupDragPipeline(){if(typeof window>"u")return;const t=this.headerRef.value,e=this.containerRef.value;if(!t||!e)return;let n=!1;p.merge(p.fromEvent(t,"mousedown").pipe(r.filter(i=>i.button===0),r.tap(i=>{i.preventDefault(),i.stopPropagation()}),r.map(i=>({clientX:i.clientX,clientY:i.clientY,type:"mouse"}))),p.fromEvent(t,"touchstart").pipe(r.map(i=>({clientX:i.touches[0].clientX,clientY:i.touches[0].clientY,type:"touch"})))).pipe(r.map(({clientX:i,clientY:a,type:o})=>{const s=e.getBoundingClientRect();return n=!1,{startX:i,startY:a,offsetX:i-s.left,offsetY:a-s.top,initialRect:s,type:o}})).pipe(r.switchMap(({startX:i,startY:a,offsetX:o,offsetY:s,initialRect:f,type:u})=>{const m=u==="mouse"?p.fromEvent(window,"mousemove").pipe(r.map(c=>({clientX:c.clientX,clientY:c.clientY}))):p.fromEvent(window,"touchmove").pipe(r.map(c=>({clientX:c.touches[0].clientX,clientY:c.touches[0].clientY}))),y=u==="mouse"?p.fromEvent(window,"mouseup"):p.fromEvent(window,"touchend");return m.pipe(r.map(({clientX:c,clientY:g})=>{const b=c-i,w=g-a;return Math.sqrt(b*b+w*w)>5&&!n&&(n=!0,this.isDragging=!0),n?this.calculateDragPosition(c,g,o,s,f):null}),r.filter(c=>c!==null),r.tap(c=>{c&&(this.position=c,this.updateContainerPosition())}),r.takeUntil(y))}),r.finalize(()=>{n?(this.updateAnchor(),this.savePosition()):this.toggleState(),this.isDragging=!1,n=!1}),r.takeUntil(this.disconnecting)).subscribe()}updateContainerPosition(){const t=this.containerRef.value;t&&(t.style.removeProperty("left"),t.style.removeProperty("right"),t.style.removeProperty("top"),t.style.removeProperty("bottom"),this.anchor.includes("right")?t.style.right=`${this.position.x}px`:t.style.left=`${this.position.x}px`,this.anchor.includes("bottom")?t.style.bottom=`${this.position.y}px`:t.style.top=`${this.position.y}px`)}updateAnchor(){if(typeof window>"u")return;const t=this.containerRef.value;if(!t)return;const e=t.getBoundingClientRect(),n=window.innerWidth,i=window.innerHeight,a=e.left>n/2,o=e.top>i/2,s=`${o?"bottom":"top"}-${a?"right":"left"}`;s!==this.anchor&&(this.position.x=a?n-e.right:e.left,this.position.y=o?i-e.bottom:e.top,this.anchor=s)}disconnectedCallback(){super.disconnectedCallback(),this.currentAnimation?.cancel()}render(){const t=this.currentState==="minimized"?this.isLowered?"1":"3":"4",e=this.currentState==="minimized",n={fixed:!0,"overflow-y-auto":!0,flex:!0,"flex-col":!0,"z-[10000]":!0,"select-none":!0,"will-change-transform":!0,"[contain:layout_style]":!0,"[transform:translate3d(0,0,0)]":!0,"[backface-visibility:hidden]":!0,"transition-shadow":!0,"opacity-95":this.isDragging,"shadow-[0_24px_48px_-8px_rgba(0,0,0,0.2),0_12px_24px_-4px_rgba(0,0,0,0.12)]":this.isDragging};return x.html`
6
- <div class=${this.classMap(n)} ${l.ref(this.containerRef)} @click=${this.bringToFront}>
7
- <!-- Header section -->
8
- <section class="sticky top-0 z-10">
9
- <schmancy-surface
10
- elevation="${t}"
11
- rounded="${e?"none":"top"}"
12
- type="containerLowest"
13
- >
14
- <div
15
- class="group sticky top-0 px-3 py-2 flex items-center justify-between gap-3 ${this.isDragging?"cursor-grabbing":"cursor-move"}"
16
- ${l.ref(this.headerRef)}
17
- title="Drag to move, double-click to toggle"
18
- @dblclick=${i=>{i.preventDefault(),i.stopPropagation(),this.toggleState()}}
19
- >
20
- <!-- Drag handle indicator -->
21
- <div
22
- class="flex items-center text-surface-onVariant opacity-40 transition-opacity duration-200 group-hover:opacity-100"
23
- >
24
- <schmancy-icon style="font-size: 20px">drag_indicator</schmancy-icon>
25
- </div>
26
-
27
- <!-- Header content slot -->
28
- <div class="flex-1 min-w-fit items-center flex justify-start">
29
- <slot name="header"></slot>
30
- </div>
31
-
32
- <!-- Control buttons -->
33
- <div class="flex items-center gap-1 flex-shrink-0">
34
- ${e?x.html`
35
- <!-- Expand button (when minimized) -->
36
- <schmancy-icon-button
37
- variant="text"
38
- @click=${i=>{i.stopPropagation(),this.state="expanded"}}
39
- title="Expand"
40
- >
41
- <schmancy-icon ${l.ref(this.iconRef)}>expand_less</schmancy-icon>
42
- </schmancy-icon-button>
43
- `:x.html`
44
- <!-- Minimize button (when expanded) -->
45
- <schmancy-icon-button
46
- variant="filled tonal"
47
- @click=${i=>{i.stopPropagation(),this.state="minimized"}}
48
- title="Minimize"
49
- >
50
- <schmancy-icon ${l.ref(this.iconRef)}>expand_more</schmancy-icon>
51
- </schmancy-icon-button>
52
- `}
53
-
54
- <!-- Close button -->
55
- <schmancy-icon-button
56
- variant="text"
57
- @click=${i=>{i.stopPropagation(),this.closeAndAddToNav()}}
58
- title="Close and add to navigation"
59
- >
60
- <schmancy-icon>close</schmancy-icon>
61
- </schmancy-icon-button>
62
- </div>
63
- </div>
64
- </schmancy-surface>
65
- </section>
66
-
67
- <!-- Content section -->
68
- <schmancy-surface
69
- .hidden=${!this.isContentVisible}
70
- type="containerLow"
71
- class="z-0 flex-1"
72
- ${l.ref(this.contentRef)}
73
- >
74
- <slot></slot>
75
- </schmancy-surface>
76
- </div>
77
- `}},h([d.property({type:String,reflect:!0})],exports.SchmancyBoat.prototype,"state",1),h([d.property({type:String})],exports.SchmancyBoat.prototype,"id",2),h([d.property({type:Boolean,reflect:!0})],exports.SchmancyBoat.prototype,"lowered",1),h([d.state()],exports.SchmancyBoat.prototype,"currentState",2),h([d.state()],exports.SchmancyBoat.prototype,"isContentVisible",2),h([d.state()],exports.SchmancyBoat.prototype,"isAnimating",2),h([d.state()],exports.SchmancyBoat.prototype,"isLowered",2),h([d.state()],exports.SchmancyBoat.prototype,"isDragging",2),h([d.state()],exports.SchmancyBoat.prototype,"position",2),h([d.state()],exports.SchmancyBoat.prototype,"anchor",2),exports.SchmancyBoat=h([d.customElement("schmancy-boat")],exports.SchmancyBoat);
78
- //# sourceMappingURL=boat-BSYtwy1W.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"boat-BSYtwy1W.cjs","sources":["../src/boat/boat.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { html, css } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { createRef, ref, Ref } from 'lit/directives/ref.js'\nimport { fromEvent, merge, race } from 'rxjs'\nimport { filter, switchMap, takeUntil, tap, finalize, map, take } from 'rxjs/operators'\n\ntype BoatState = 'hidden' | 'minimized' | 'expanded'\n\ninterface Position {\n\tx: number\n\ty: number\n}\n\ninterface SavedPosition {\n\tx: number\n\ty: number\n\tanchor: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left'\n}\n\n@customElement('schmancy-boat')\nexport default class SchmancyBoat extends $LitElement(css`\n\t:host {\n\t\tdisplay: contents;\n\t}\n`) {\n\t@property({ type: String, reflect: true })\n\tget state(): BoatState {\n\t\treturn this.currentState\n\t}\n\tset state(value: BoatState) {\n\t\tif (this.isAnimating || value === this.currentState) return\n\t\tthis.animateToState(value)\n\t}\n\n\t@property({ type: String }) id: string = 'default'\n\n\t@property({ type: Boolean, reflect: true })\n\tget lowered(): boolean {\n\t\treturn this.isLowered\n\t}\n\tset lowered(value: boolean) {\n\t\tthis.isLowered = value\n\t\tthis.requestUpdate()\n\t}\n\n\t// Element references\n\tprivate containerRef: Ref<HTMLDivElement> = createRef()\n\tprivate contentRef: Ref<HTMLElement> = createRef()\n\tprivate iconRef: Ref<HTMLElement> = createRef()\n\tprivate headerRef: Ref<HTMLElement> = createRef()\n\n\t// Current animation reference\n\tprivate currentAnimation?: Animation\n\n\t// Animation configuration\n\tprivate readonly ANIMATION_CONFIG = {\n\t\tdurations: {\n\t\t\texpand: 350,\n\t\t\tminimize: 250,\n\t\t\thide: 200,\n\t\t\tcontent: 300,\n\t\t},\n\t\teasing: {\n\t\t\temphasized: 'cubic-bezier(0.2, 0.0, 0, 1.0)',\n\t\t\tdecelerate: 'cubic-bezier(0.05, 0.7, 0.1, 1.0)',\n\t\t\taccelerate: 'cubic-bezier(0.3, 0.0, 0.8, 0.15)',\n\t\t\tstandard: 'cubic-bezier(0.4, 0.0, 0.2, 1)',\n\t\t},\n\t\tshadows: {\n\t\t\tfab: '0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12)',\n\t\t\tfabLowered:\n\t\t\t\t'0px 1px 3px 0px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 2px 1px -1px rgba(0, 0, 0, 0.12)',\n\t\t\texpanded: '0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)',\n\t\t},\n\t}\n\n\t// Reactive state for template\n\t@state() private currentState: BoatState = 'minimized'\n\t@state() private isContentVisible: boolean = false\n\t@state() private isAnimating: boolean = false\n\t@state() private isLowered: boolean = false\n\t@state() private isDragging: boolean = false\n\t@state() private position: Position = { x: 16, y: 16 }\n\t@state() private anchor: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left' = 'bottom-right'\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\tif (typeof window !== 'undefined') {\n\t\t\tfromEvent(window, 'resize')\n\t\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t\t.subscribe(() => {\n\t\t\t\t\tif (this.currentState === 'expanded') {\n\t\t\t\t\t\tthis.updateExpandedWidth()\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t// Keyboard shortcut - Escape key\n\t\t\tfromEvent<KeyboardEvent>(window, 'keydown')\n\t\t\t\t.pipe(\n\t\t\t\t\tfilter(e => e.key === 'Escape' && this.currentState !== 'hidden'),\n\t\t\t\t\ttap(e => e.preventDefault()),\n\t\t\t\t\ttakeUntil(this.disconnecting)\n\t\t\t\t)\n\t\t\t\t.subscribe(() => {\n\t\t\t\t\tif (this.currentState === 'expanded') {\n\t\t\t\t\t\tthis.toggleState() // Minimize on Esc if expanded\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.close() // Hide on Esc if minimized\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t}\n\t}\n\n\tprivate initializePosition() {\n\t\tif (typeof window === 'undefined') return\n\n\t\tconst saved = localStorage.getItem(`schmancy-boat-${this.id}`)\n\n\t\tif (saved) {\n\t\t\ttry {\n\t\t\t\tconst parsed: SavedPosition = JSON.parse(saved)\n\t\t\t\tthis.position = { x: parsed.x, y: parsed.y }\n\t\t\t\tthis.anchor = parsed.anchor\n\t\t\t\tconsole.log('📍 Loaded position:', this.id, parsed)\n\t\t\t} catch (e) {\n\t\t\t\t// Use default position on parse error\n\t\t\t}\n\t\t}\n\t\t// If no saved position, use default from @state initialization\n\t}\n\n\tprivate async animateToState(targetState: BoatState) {\n\t\tif (this.isAnimating || targetState === this.currentState) return\n\n\t\tconst previousState = this.currentState\n\t\tthis.isAnimating = true\n\n\t\ttry {\n\t\t\tawait this.performTransition(previousState, targetState)\n\t\t\tthis.currentState = targetState\n\t\t\tthis.isContentVisible = targetState === 'expanded'\n\n\t\t\t// Dispatch event\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent('toggle', {\n\t\t\t\t\tdetail: targetState,\n\t\t\t\t\tbubbles: true,\n\t\t\t\t\tcomposed: true,\n\t\t\t\t}),\n\t\t\t)\n\t\t} catch (err) {\n\t\t\tconsole.warn('Animation error:', err)\n\t\t\tthis.currentState = targetState\n\t\t\tthis.isContentVisible = targetState === 'expanded'\n\t\t} finally {\n\t\t\tthis.isAnimating = false\n\t\t}\n\t}\n\n\t// Simplified animation transition\n\tprivate async performTransition(fromState: BoatState, toState: BoatState): Promise<void> {\n\t\tthis.currentAnimation?.cancel()\n\n\t\tconst container = this.containerRef.value\n\t\tif (!container) return\n\n\t\t// Update content visibility before expand\n\t\tif (toState === 'expanded') {\n\t\t\tthis.isContentVisible = true\n\t\t}\n\n\t\t// Create animations\n\t\tconst animations = this.createAnimations(fromState, toState)\n\n\t\t// Wait for main animation to complete\n\t\tif (animations.container) {\n\t\t\tthis.currentAnimation = animations.container\n\t\t\tawait animations.container.finished\n\n\t\t\t// Hide content after minimize\n\t\t\tif (toState !== 'expanded') {\n\t\t\t\tthis.isContentVisible = false\n\t\t\t}\n\t\t}\n\t}\n\n\t// Create animations for state transition\n\tprivate createAnimations(fromState: BoatState, toState: BoatState) {\n\t\tconst container = this.containerRef.value\n\t\tconst content = this.contentRef.value\n\t\tconst icon = this.iconRef.value\n\t\tconst animations: { container?: Animation; content?: Animation; icon?: Animation } = {}\n\n\t\tif (!container) return animations\n\n\t\tconst config = this.ANIMATION_CONFIG\n\t\tconst fromStyles = this.getStyleForState(fromState)\n\t\tconst toStyles = this.getStyleForState(toState)\n\n\t\t// Container animation\n\t\tif (toState === 'expanded') {\n\t\t\t// Expand animation without transform\n\t\t\tanimations.container = container.animate([fromStyles, toStyles], {\n\t\t\t\tduration: config.durations.expand,\n\t\t\t\teasing: config.easing.decelerate,\n\t\t\t\tfill: 'forwards',\n\t\t\t})\n\t\t} else {\n\t\t\tanimations.container = container.animate([fromStyles, toStyles], {\n\t\t\t\tduration: toState === 'hidden' ? config.durations.hide : config.durations.minimize,\n\t\t\t\teasing: config.easing.accelerate,\n\t\t\t\tfill: 'forwards',\n\t\t\t})\n\t\t}\n\n\t\t// Content animation (only for expand/minimize transitions)\n\t\tif (content && fromState === 'expanded' && toState === 'minimized') {\n\t\t\t// Fade out content before minimizing\n\t\t\tcontent.animate(\n\t\t\t\t[\n\t\t\t\t\t{ opacity: 1, transform: 'translateY(0)' },\n\t\t\t\t\t{ opacity: 0, transform: 'translateY(-8px)' },\n\t\t\t\t],\n\t\t\t\t{\n\t\t\t\t\tduration: 150,\n\t\t\t\t\teasing: config.easing.standard,\n\t\t\t\t\tfill: 'forwards',\n\t\t\t\t},\n\t\t\t)\n\t\t} else if (content && toState === 'expanded') {\n\t\t\t// Fade in content when expanding\n\t\t\tcontent.animate(\n\t\t\t\t[\n\t\t\t\t\t{ opacity: 0, transform: 'translateY(8px)' },\n\t\t\t\t\t{ opacity: 1, transform: 'translateY(0)' },\n\t\t\t\t],\n\t\t\t\t{\n\t\t\t\t\tduration: config.durations.content,\n\t\t\t\t\teasing: config.easing.standard,\n\t\t\t\t\tfill: 'forwards',\n\t\t\t\t},\n\t\t\t)\n\t\t}\n\n\t\t// Icon rotation animation\n\t\tif (icon) {\n\t\t\tconst isExpanding = toState === 'expanded'\n\t\t\tconst isCollapsing = fromState === 'expanded' && toState === 'minimized'\n\n\t\t\tif (isExpanding || isCollapsing) {\n\t\t\t\ticon.animate(\n\t\t\t\t\t[\n\t\t\t\t\t\t{ transform: isExpanding ? 'rotate(0deg)' : 'rotate(180deg)' },\n\t\t\t\t\t\t{ transform: isExpanding ? 'rotate(180deg)' : 'rotate(0deg)' },\n\t\t\t\t\t],\n\t\t\t\t\t{\n\t\t\t\t\t\tduration: 250,\n\t\t\t\t\t\teasing: config.easing.emphasized,\n\t\t\t\t\t\tfill: 'forwards',\n\t\t\t\t\t},\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\n\t\treturn animations\n\t}\n\n\t// Get styles for a specific state\n\tprivate getStyleForState(state: BoatState): Keyframe {\n\t\tconst { shadows } = this.ANIMATION_CONFIG\n\t\tconst baseStyles = {\n\t\t\tmaxWidth: '300px',\n\t\t\tmaxHeight: 'auto',\n\t\t\tborderRadius: '16px',\n\t\t}\n\n\t\tconst stateStyles: Record<BoatState, Keyframe> = {\n\t\t\thidden: {\n\t\t\t\t...baseStyles,\n\t\t\t\topacity: '0',\n\t\t\t\tpointerEvents: 'none',\n\t\t\t\tboxShadow: 'none',\n\t\t\t\tbackdropFilter: 'none',\n\t\t\t},\n\t\t\tminimized: {\n\t\t\t\t...baseStyles,\n\t\t\t\topacity: '1',\n\t\t\t\tpointerEvents: 'auto',\n\t\t\t\tboxShadow: this.isLowered ? shadows.fabLowered : shadows.fab,\n\t\t\t\tbackdropFilter: 'none',\n\t\t\t},\n\t\t\texpanded: {\n\t\t\t\topacity: '1',\n\t\t\t\tpointerEvents: 'auto',\n\t\t\t\twidth: this.getResponsiveWidth(),\n\t\t\t\tmaxWidth: '100%',\n\t\t\t\tmaxHeight: '80vh',\n\t\t\t\tboxShadow: shadows.expanded,\n\t\t\t\tborderRadius: '8px 8px 0 0',\n\t\t\t\tbackdropFilter: 'blur(12px)',\n\t\t\t},\n\t\t}\n\n\t\treturn stateStyles[state] as Keyframe\n\t}\n\n\t// Calculate responsive width based on viewport\n\tprivate getResponsiveWidth(): string {\n\t\tif (typeof window === 'undefined') return '40vw'\n\n\t\tconst vw = window.innerWidth\n\t\tif (vw < 768) return 'calc(100vw - 32px)'\n\t\tif (vw < 1024) return '70vw'\n\t\tif (vw < 1280) return '60vw'\n\t\treturn '40vw'\n\t}\n\n\t// Update expanded width on window resize\n\tprivate updateExpandedWidth() {\n\t\tconst container = this.containerRef.value\n\t\tif (container && this.currentState === 'expanded') {\n\t\t\tcontainer.style.width = this.getResponsiveWidth()\n\t\t}\n\t}\n\n\tfirstUpdated() {\n\t\tthis.initializePosition()\n\t\tthis.applyInitialStyles()\n\t\tthis.updateContainerPosition()\n\t\tthis.setupDragPipeline()\n\t}\n\n\t// Apply initial styles to elements\n\tprivate applyInitialStyles() {\n\t\tconst container = this.containerRef.value\n\t\tconst content = this.contentRef.value\n\t\tconst icon = this.iconRef.value\n\n\t\tif (container) {\n\t\t\tconst initialStyle = this.getStyleForState(this.currentState)\n\t\t\tObject.assign(container.style, initialStyle)\n\n\t\t\t// Safari compatibility for backdrop filter\n\t\t\tif ('webkitBackdropFilter' in container.style) {\n\t\t\t\t;(container.style as any).webkitBackdropFilter = initialStyle.backdropFilter\n\t\t\t}\n\t\t}\n\n\t\t// Set initial content opacity\n\t\tif (content) {\n\t\t\tcontent.style.opacity = this.isContentVisible ? '1' : '0'\n\t\t}\n\n\t\t// Set initial icon rotation\n\t\tif (icon && this.currentState === 'expanded') {\n\t\t\ticon.style.transform = 'rotate(180deg)'\n\t\t}\n\t}\n\n\t// Public method to toggle between minimized and expanded\n\ttoggleState() {\n\t\tconst newState = this.currentState === 'minimized' ? 'expanded' : 'minimized'\n\t\tthis.animateToState(newState)\n\t}\n\n\t// Public method to close (hide) the boat\n\tclose() {\n\t\tthis.animateToState('hidden')\n\t}\n\n\tprivate closeAndAddToNav() {\n\t\t// Use discovery to find navigation components\n\t\trace(\n\t\t\tthis.discover<any>('schmancy-navigation-rail'),\n\t\t\tthis.discover<any>('schmancy-navigation-bar'),\n\t\t\tthis.discover<any>('schmancy-nav-drawer'),\n\t\t\tthis.discover<any>('app-navigation-rail'),\n\t\t\tthis.discover<any>('app-navigation-bar'),\n\t\t\tthis.discover<any>('app-nav-drawer'),\n\t\t)\n\t\t\t.pipe(\n\t\t\t\ttake(1),\n\t\t\t\ttap(async navComponent => {\n\t\t\t\t\tif (navComponent && typeof navComponent.addBoatItem === 'function') {\n\t\t\t\t\t\t// Get the actual icon from the header\n\t\t\t\t\t\tconst headerSlot = this.querySelector('[slot=\"header\"]')\n\t\t\t\t\t\tconst iconElement = headerSlot?.querySelector('schmancy-icon')\n\t\t\t\t\t\tconst icon = iconElement?.textContent?.trim() || 'widgets'\n\n\t\t\t\t\t\t// Get a clean title (remove the icon text from the header text)\n\t\t\t\t\t\tlet title = headerSlot?.textContent?.trim() || 'Boat'\n\t\t\t\t\t\tif (icon && title.includes(icon)) {\n\t\t\t\t\t\t\ttitle = title.replace(icon, '').trim()\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Add the boat to navigation first\n\t\t\t\t\t\tconst navItem = navComponent.addBoatItem({\n\t\t\t\t\t\t\tid: `boat-${this.id}`,\n\t\t\t\t\t\t\ttitle: title || this.id,\n\t\t\t\t\t\t\ticon: icon,\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\t// Animate the boat to the nav item position (genie effect)\n\t\t\t\t\t\tif (navItem) {\n\t\t\t\t\t\t\tawait this.animateToNavItem(navItem)\n\n\t\t\t\t\t\t\t// Listen for clicks on the nav item to re-open the boat\n\t\t\t\t\t\t\tnavItem.addEventListener('click', () => {\n\t\t\t\t\t\t\t\t// Animate from nav item back to expanded position\n\t\t\t\t\t\t\t\tthis.animateFromNavItem(navItem)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// No nav component found, just hide\n\t\t\t\t\t\tthis.close()\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\tprivate async animateToNavItem(navItem: HTMLElement) {\n\t\tconst container = this.containerRef.value\n\t\tif (!container) return\n\n\t\t// Get positions\n\t\tconst boatRect = container.getBoundingClientRect()\n\t\tconst navRect = navItem.getBoundingClientRect()\n\n\t\t// Cancel any existing animation\n\t\tthis.currentAnimation?.cancel()\n\n\t\t// Create genie effect animation (like macOS)\n\t\tconst keyframes: Keyframe[] = [\n\t\t\t{\n\t\t\t\ttransform: 'scale(1) translate3d(0, 0, 0)',\n\t\t\t\topacity: 1,\n\t\t\t\tborderRadius: '8px',\n\t\t\t},\n\t\t\t{\n\t\t\t\ttransform: `scale(0.3) translate3d(${navRect.left - boatRect.left}px, ${navRect.top - boatRect.top}px, 0)`,\n\t\t\t\topacity: 0.5,\n\t\t\t\tborderRadius: '50%',\n\t\t\t},\n\t\t\t{\n\t\t\t\ttransform: `scale(0) translate3d(${navRect.left - boatRect.left}px, ${navRect.top - boatRect.top}px, 0)`,\n\t\t\t\topacity: 0,\n\t\t\t\tborderRadius: '50%',\n\t\t\t},\n\t\t]\n\t\tthis.currentAnimation = container.animate(\n\t\t\tkeyframes,\n\t\t\t{\n\t\t\t\tduration: 600,\n\t\t\t\teasing: 'cubic-bezier(0.4, 0.0, 0.2, 1)',\n\t\t\t\tfill: 'forwards',\n\t\t\t},\n\t\t)\n\n\t\tawait this.currentAnimation.finished\n\t\tthis.currentState = 'hidden'\n\t}\n\n\tprivate animateFromNavItem(navItem: HTMLElement) {\n\t\tconst container = this.containerRef.value\n\t\tif (!container) return\n\n\t\t// Get nav item position\n\t\tconst navRect = navItem.getBoundingClientRect()\n\n\t\t// Set initial position at nav item\n\t\tcontainer.style.transformOrigin = `${navRect.left}px ${navRect.top}px`\n\n\t\t// Cancel any existing animation\n\t\tthis.currentAnimation?.cancel()\n\n\t\t// Animate from nav item to expanded state\n\t\tconst expandKeyframes: Keyframe[] = [\n\t\t\t{\n\t\t\t\ttransform: `scale(0) translate3d(${navRect.left}px, ${navRect.top}px, 0)`,\n\t\t\t\topacity: 0,\n\t\t\t\tborderRadius: '50%',\n\t\t\t},\n\t\t\t{\n\t\t\t\ttransform: 'scale(0.5) translate3d(0, 0, 0)',\n\t\t\t\topacity: 0.5,\n\t\t\t\tborderRadius: '24px',\n\t\t\t},\n\t\t\t{\n\t\t\t\ttransform: 'scale(1) translate3d(0, 0, 0)',\n\t\t\t\topacity: 1,\n\t\t\t\tborderRadius: '8px',\n\t\t\t},\n\t\t]\n\t\tthis.currentAnimation = container.animate(\n\t\t\texpandKeyframes,\n\t\t\t{\n\t\t\t\tduration: 400,\n\t\t\t\teasing: 'cubic-bezier(0.2, 0.0, 0, 1.0)',\n\t\t\t\tfill: 'forwards',\n\t\t\t},\n\t\t)\n\n\t\t// Update state\n\t\tthis.currentState = 'expanded'\n\t\tthis.isContentVisible = true\n\t\tthis.bringToFront()\n\t}\n\n\tprivate bringToFront() {\n\t\tconst container = this.containerRef.value\n\t\tif (container) {\n\t\t\tcontainer.style.zIndex = String(10000 + (Date.now() % 1000))\n\t\t}\n\t}\n\n\tprivate calculateDragPosition(\n\t\tclientX: number,\n\t\tclientY: number,\n\t\toffsetX: number,\n\t\toffsetY: number,\n\t\tinitialRect: DOMRect,\n\t): Position {\n\t\tconst targetLeft = clientX - offsetX\n\t\tconst targetTop = clientY - offsetY\n\t\tconst vw = window.innerWidth\n\t\tconst vh = window.innerHeight\n\t\tconst clampedLeft = Math.max(0, Math.min(targetLeft, vw - initialRect.width))\n\t\tconst clampedTop = Math.max(0, Math.min(targetTop, vh - initialRect.height))\n\n\t\tconst newX = this.anchor.includes('right')\n\t\t\t? vw - (clampedLeft + initialRect.width)\n\t\t\t: clampedLeft\n\n\t\tconst newY = this.anchor.includes('bottom')\n\t\t\t? vh - (clampedTop + initialRect.height)\n\t\t\t: clampedTop\n\n\t\treturn { x: Math.max(0, newX), y: Math.max(0, newY) }\n\t}\n\n\tprivate savePosition() {\n\t\tif (typeof window === 'undefined') return\n\n\t\tconst toSave: SavedPosition = {\n\t\t\tx: this.position.x,\n\t\t\ty: this.position.y,\n\t\t\tanchor: this.anchor,\n\t\t}\n\t\tconst key = `schmancy-boat-${this.id}`\n\t\tlocalStorage.setItem(key, JSON.stringify(toSave))\n\t\tconsole.log('💾 Saved position:', key, toSave)\n\t}\n\n\tprivate setupDragPipeline() {\n\t\tif (typeof window === 'undefined') return\n\n\t\tconst header = this.headerRef.value\n\t\tconst container = this.containerRef.value\n\t\tif (!header || !container) return\n\n\t\tlet hasDragged = false\n\t\tconst DRAG_THRESHOLD = 5\n\n\t\t// Merge mouse and touch start events\n\t\tconst dragStart$ = merge(\n\t\t\tfromEvent<MouseEvent>(header, 'mousedown').pipe(\n\t\t\t\tfilter(e => e.button === 0),\n\t\t\t\ttap(e => {\n\t\t\t\t\te.preventDefault()\n\t\t\t\t\te.stopPropagation()\n\t\t\t\t}),\n\t\t\t\tmap(e => ({\n\t\t\t\t\tclientX: e.clientX,\n\t\t\t\t\tclientY: e.clientY,\n\t\t\t\t\ttype: 'mouse' as const,\n\t\t\t\t})),\n\t\t\t),\n\t\t\tfromEvent<TouchEvent>(header, 'touchstart').pipe(\n\t\t\t\tmap(e => ({\n\t\t\t\t\tclientX: e.touches[0].clientX,\n\t\t\t\t\tclientY: e.touches[0].clientY,\n\t\t\t\t\ttype: 'touch' as const,\n\t\t\t\t})),\n\t\t\t),\n\t\t).pipe(\n\t\t\tmap(({ clientX, clientY, type }) => {\n\t\t\t\tconst rect = container.getBoundingClientRect()\n\t\t\t\thasDragged = false\n\t\t\t\treturn {\n\t\t\t\t\tstartX: clientX,\n\t\t\t\t\tstartY: clientY,\n\t\t\t\t\toffsetX: clientX - rect.left,\n\t\t\t\t\toffsetY: clientY - rect.top,\n\t\t\t\t\tinitialRect: rect,\n\t\t\t\t\ttype,\n\t\t\t\t}\n\t\t\t}),\n\t\t)\n\n\t\tdragStart$\n\t\t\t.pipe(\n\t\t\t\tswitchMap(({ startX, startY, offsetX, offsetY, initialRect, type }) => {\n\t\t\t\t\tconst move$ =\n\t\t\t\t\t\ttype === 'mouse'\n\t\t\t\t\t\t\t? fromEvent<MouseEvent>(window, 'mousemove').pipe(\n\t\t\t\t\t\t\t\t\tmap(e => ({ clientX: e.clientX, clientY: e.clientY })),\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t: fromEvent<TouchEvent>(window, 'touchmove').pipe(\n\t\t\t\t\t\t\t\t\tmap(e => ({ clientX: e.touches[0].clientX, clientY: e.touches[0].clientY })),\n\t\t\t\t\t\t\t\t)\n\n\t\t\t\t\tconst end$ = type === 'mouse' ? fromEvent(window, 'mouseup') : fromEvent(window, 'touchend')\n\n\t\t\t\t\treturn move$.pipe(\n\t\t\t\t\t\tmap(({ clientX, clientY }) => {\n\t\t\t\t\t\t\tconst deltaX = clientX - startX\n\t\t\t\t\t\t\tconst deltaY = clientY - startY\n\t\t\t\t\t\t\tconst distance = Math.sqrt(deltaX * deltaX + deltaY * deltaY)\n\n\t\t\t\t\t\t\tif (distance > DRAG_THRESHOLD && !hasDragged) {\n\t\t\t\t\t\t\t\thasDragged = true\n\t\t\t\t\t\t\t\tthis.isDragging = true\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!hasDragged) return null\n\n\t\t\t\t\t\t\treturn this.calculateDragPosition(clientX, clientY, offsetX, offsetY, initialRect)\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tfilter(position => position !== null),\n\t\t\t\t\t\ttap(position => {\n\t\t\t\t\t\t\tif (position) {\n\t\t\t\t\t\t\t\tthis.position = position\n\t\t\t\t\t\t\t\tthis.updateContainerPosition()\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}),\n\t\t\t\t\t\ttakeUntil(end$),\n\t\t\t\t\t)\n\t\t\t\t}),\n\t\t\t\tfinalize(() => {\n\t\t\t\t\tif (hasDragged) {\n\t\t\t\t\t\tthis.updateAnchor()\n\t\t\t\t\t\tthis.savePosition()\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.toggleState()\n\t\t\t\t\t}\n\t\t\t\t\tthis.isDragging = false\n\t\t\t\t\thasDragged = false\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\t// Update container position based on anchor and position values\n\tprivate updateContainerPosition() {\n\t\tconst container = this.containerRef.value\n\t\tif (!container) return\n\n\t\t// Reset all position styles\n\t\tcontainer.style.removeProperty('left')\n\t\tcontainer.style.removeProperty('right')\n\t\tcontainer.style.removeProperty('top')\n\t\tcontainer.style.removeProperty('bottom')\n\n\t\t// Apply new position based on anchor\n\t\tif (this.anchor.includes('right')) {\n\t\t\tcontainer.style.right = `${this.position.x}px`\n\t\t} else {\n\t\t\tcontainer.style.left = `${this.position.x}px`\n\t\t}\n\n\t\tif (this.anchor.includes('bottom')) {\n\t\t\tcontainer.style.bottom = `${this.position.y}px`\n\t\t} else {\n\t\t\tcontainer.style.top = `${this.position.y}px`\n\t\t}\n\t}\n\n\t// Update anchor based on current position\n\tprivate updateAnchor() {\n\t\tif (typeof window === 'undefined') return\n\n\t\tconst container = this.containerRef.value\n\t\tif (!container) return\n\n\t\tconst rect = container.getBoundingClientRect()\n\t\tconst vw = window.innerWidth\n\t\tconst vh = window.innerHeight\n\n\t\tconst isRight = rect.left > vw / 2\n\t\tconst isBottom = rect.top > vh / 2\n\n\t\tconst newAnchor = `${isBottom ? 'bottom' : 'top'}-${isRight ? 'right' : 'left'}` as typeof this.anchor\n\n\t\tif (newAnchor !== this.anchor) {\n\t\t\t// Calculate new position values for the new anchor\n\t\t\tif (isRight) {\n\t\t\t\tthis.position.x = vw - rect.right\n\t\t\t} else {\n\t\t\t\tthis.position.x = rect.left\n\t\t\t}\n\n\t\t\tif (isBottom) {\n\t\t\t\tthis.position.y = vh - rect.bottom\n\t\t\t} else {\n\t\t\t\tthis.position.y = rect.top\n\t\t\t}\n\n\t\t\tthis.anchor = newAnchor\n\t\t}\n\t}\n\n\t// Cleanup on component disconnect\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.currentAnimation?.cancel()\n\t}\n\n\tprotected render(): unknown {\n\t\tconst surfaceElevation = this.currentState === 'minimized' ? (this.isLowered ? '1' : '3') : '4'\n\t\tconst isMinimized = this.currentState === 'minimized'\n\n\t\tconst containerClasses = {\n\t\t\t'fixed': true,\n\t\t\t'overflow-y-auto': true,\n\t\t\t'flex': true,\n\t\t\t'flex-col': true,\n\t\t\t'z-[10000]': true,\n\t\t\t'select-none': true,\n\t\t\t'will-change-transform': true,\n\t\t\t'[contain:layout_style]': true,\n\t\t\t'[transform:translate3d(0,0,0)]': true,\n\t\t\t'[backface-visibility:hidden]': true,\n\t\t\t'transition-shadow': true,\n\t\t\t'opacity-95': this.isDragging,\n\t\t\t'shadow-[0_24px_48px_-8px_rgba(0,0,0,0.2),0_12px_24px_-4px_rgba(0,0,0,0.12)]': this.isDragging,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=${this.classMap(containerClasses)} ${ref(this.containerRef)} @click=${this.bringToFront}>\n\t\t\t\t<!-- Header section -->\n\t\t\t\t<section class=\"sticky top-0 z-10\">\n\t\t\t\t\t<schmancy-surface\n\t\t\t\t\t\televation=\"${surfaceElevation}\"\n\t\t\t\t\t\trounded=\"${isMinimized ? 'none' : 'top'}\"\n\t\t\t\t\t\ttype=\"containerLowest\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass=\"group sticky top-0 px-3 py-2 flex items-center justify-between gap-3 ${this.isDragging\n\t\t\t\t\t\t\t\t? 'cursor-grabbing'\n\t\t\t\t\t\t\t\t: 'cursor-move'}\"\n\t\t\t\t\t\t\t${ref(this.headerRef)}\n\t\t\t\t\t\t\ttitle=\"Drag to move, double-click to toggle\"\n\t\t\t\t\t\t\t@dblclick=${(e: Event) => {\n\t\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\tthis.toggleState()\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<!-- Drag handle indicator -->\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass=\"flex items-center text-surface-onVariant opacity-40 transition-opacity duration-200 group-hover:opacity-100\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<schmancy-icon style=\"font-size: 20px\">drag_indicator</schmancy-icon>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<!-- Header content slot -->\n\t\t\t\t\t\t\t<div class=\"flex-1 min-w-fit items-center flex justify-start\">\n\t\t\t\t\t\t\t\t<slot name=\"header\"></slot>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<!-- Control buttons -->\n\t\t\t\t\t\t\t<div class=\"flex items-center gap-1 flex-shrink-0\">\n\t\t\t\t\t\t\t\t${isMinimized\n\t\t\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t\t\t<!-- Expand button (when minimized) -->\n\t\t\t\t\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state = 'expanded'\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"Expand\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-icon ${ref(this.iconRef)}>expand_less</schmancy-icon>\n\t\t\t\t\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t\t\t\t\t`\n\t\t\t\t\t\t\t\t\t: html`\n\t\t\t\t\t\t\t\t\t\t\t<!-- Minimize button (when expanded) -->\n\t\t\t\t\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"filled tonal\"\n\t\t\t\t\t\t\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state = 'minimized'\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"Minimize\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-icon ${ref(this.iconRef)}>expand_more</schmancy-icon>\n\t\t\t\t\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t\t\t\t\t`}\n\n\t\t\t\t\t\t\t\t<!-- Close button -->\n\t\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\t\tvariant=\"text\"\n\t\t\t\t\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\tthis.closeAndAddToNav()\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\ttitle=\"Close and add to navigation\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<schmancy-icon>close</schmancy-icon>\n\t\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</schmancy-surface>\n\t\t\t\t</section>\n\n\t\t\t\t<!-- Content section -->\n\t\t\t\t<schmancy-surface\n\t\t\t\t\t.hidden=${!this.isContentVisible}\n\t\t\t\t\ttype=\"containerLow\"\n\t\t\t\t\tclass=\"z-0 flex-1\"\n\t\t\t\t\t${ref(this.contentRef)}\n\t\t\t\t>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</schmancy-surface>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-boat': SchmancyBoat\n\t}\n}\n"],"names":["SchmancyBoat","$LitElement","css","super","arguments","this","id","containerRef","createRef","contentRef","iconRef","headerRef","ANIMATION_CONFIG","durations","expand","minimize","hide","content","easing","emphasized","decelerate","accelerate","standard","shadows","fab","fabLowered","expanded","currentState","isContentVisible","isAnimating","isLowered","isDragging","position","x","y","anchor","value","animateToState","lowered","requestUpdate","connectedCallback","window","fromEvent","pipe","takeUntil","disconnecting","subscribe","updateExpandedWidth","filter","e","key","tap","preventDefault","toggleState","close","saved","localStorage","getItem","parsed","JSON","parse","targetState","previousState","performTransition","dispatchEvent","CustomEvent","detail","bubbles","composed","err","fromState","toState","currentAnimation","cancel","animations","createAnimations","container","finished","icon","config","fromStyles","getStyleForState","toStyles","animate","duration","fill","opacity","transform","isExpanding","state","baseStyles","maxWidth","maxHeight","borderRadius","hidden","pointerEvents","boxShadow","backdropFilter","minimized","width","getResponsiveWidth","vw","innerWidth","style","initializePosition","applyInitialStyles","updateContainerPosition","setupDragPipeline","initialStyle","Object","assign","webkitBackdropFilter","newState","closeAndAddToNav","race","discover","take","async","navComponent","addBoatItem","headerSlot","querySelector","iconElement","textContent","trim","title","includes","replace","navItem","animateToNavItem","addEventListener","animateFromNavItem","boatRect","getBoundingClientRect","navRect","keyframes","left","top","transformOrigin","expandKeyframes","bringToFront","zIndex","String","Date","now","clientX","clientY","offsetX","offsetY","initialRect","targetLeft","targetTop","vh","innerHeight","clampedLeft","Math","max","min","clampedTop","height","newX","newY","toSave","setItem","stringify","header","hasDragged","merge","button","stopPropagation","map","type","touches","rect","startX","startY","switchMap","move$","end$","deltaX","deltaY","sqrt","calculateDragPosition","finalize","updateAnchor","savePosition","removeProperty","right","bottom","isRight","isBottom","newAnchor","disconnectedCallback","surfaceElevation","isMinimized","containerClasses","fixed","flex","html","classMap","ref","__decorateClass","property","reflect","prototype","Boolean","customElement"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- "use strict";const o=require("lit"),i=require("rxjs"),l=require("rxjs/operators"),c=require("lit/directives/class-map.js"),d=require("lit/directives/style-map.js"),w=require("./discovery.service-BpGCuXPd.cjs"),n=e=>class extends e{constructor(){super(...arguments),this.disconnecting=new i.Subject}classMap(r){const t={};return Object.keys(r).forEach(a=>{a.trim().split(" ").filter(Boolean).forEach(s=>{t[s]=r[a]})}),c.classMap(t)}styleMap(r){return d.styleMap(r)}connectedCallback(){super.connectedCallback(),this.setupDiscoveryResponse()}setupDiscoveryResponse(){const r=this.tagName.toLowerCase(),t=`${r}-where-are-you`,a=`${r}-here-i-am`;i.fromEvent(window,t).pipe(l.takeUntil(this.disconnecting)).subscribe(()=>{window.dispatchEvent(new CustomEvent(a,{detail:{component:this},bubbles:!0,composed:!0}))})}discover(r){return w.discoverComponent(r)}disconnectedCallback(){this.disconnecting.next(!0),this.disconnecting.complete(),super.disconnectedCallback()}},p=o.unsafeCSS('/*! tailwindcss v4.1.13 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--shadow-0:var(--schmancy-sys-elevation-0);--shadow-1:var(--schmancy-sys-elevation-1);--shadow-2:var(--schmancy-sys-elevation-2);--shadow-3:var(--schmancy-sys-elevation-3);--shadow-4:var(--schmancy-sys-elevation-4);--shadow-5:var(--schmancy-sys-elevation-5)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-4{inset:1rem}.inset-x-6{inset-inline:1.5rem}.-top-1{top:-.25rem}.top-0{top:0}.top-1\\/2{top:50%}.top-2{top:.5rem}.top-3{top:.75rem}.top-4{top:1rem}.top-8{top:2rem}.top-14{top:3.5rem}.-right-1{right:-.25rem}.right-0{right:0}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.left-0{left:0}.left-1\\/2{left:50%}.left-2{left:.5rem}.left-3{left:.75rem}.left-\\[calc\\(100\\%\\+8px\\)\\]{left:calc(100% + 8px)}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-49{z-index:49}.z-50{z-index:50}.z-\\[100\\]{z-index:100}.z-\\[1000\\]{z-index:1000}.z-\\[10000\\]{z-index:10000}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-full{grid-column:1/-1}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:0}.m-4{margin:1rem}.-mx-1{margin-inline:-.25rem}.-mx-4{margin-inline:-1rem}.mx-2{margin-inline:.5rem}.mx-auto{margin-inline:auto}.my-0\\.5{margin-block:.125rem}.my-2{margin-block:.5rem}.my-4{margin-block:1rem}.my-6{margin-block:1.5rem}.my-8{margin-block:2rem}.-mt-2\\.5{margin-top:-.625rem}.-mt-12{margin-top:-3rem}.mt-0\\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-12{margin-top:3rem}.mt-auto{margin-top:auto}.-mr-1{margin-right:-.25rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.-mb-4{margin-bottom:-1rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-12{margin-bottom:3rem}.mb-\\[4px\\]{margin-bottom:4px}.-ml-2\\.5{margin-left:-.625rem}.-ml-px{margin-left:-1px}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-6{margin-left:1.5rem}.ml-\\[0\\.38em\\]{margin-left:.38em}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.table{display:table}.size-3{width:.75rem;height:.75rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-8{width:2rem;height:2rem}.size-\\[18px\\]{width:18px;height:18px}.h-0\\.5{height:.125rem}.h-1{height:.25rem}.h-1\\.5{height:.375rem}.h-2{height:.5rem}.h-2\\.5{height:.625rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-20{height:5rem}.h-24{height:6rem}.h-32{height:8rem}.h-48{height:12rem}.h-64{height:16rem}.h-72{height:18rem}.h-80{height:20rem}.h-96{height:24rem}.h-\\[18px\\]{height:18px}.h-\\[500px\\]{height:500px}.h-\\[600px\\]{height:600px}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.max-h-5{max-height:1.25rem}.max-h-64{max-height:16rem}.max-h-96{max-height:24rem}.max-h-\\[60vh\\]{max-height:60vh}.max-h-\\[70vh\\]{max-height:70vh}.max-h-\\[80vh\\]{max-height:80vh}.max-h-\\[90vh\\]{max-height:90vh}.max-h-\\[200px\\]{max-height:200px}.max-h-\\[600px\\]{max-height:600px}.max-h-\\[calc\\(100vh-40px\\)\\]{max-height:calc(100vh - 40px)}.min-h-0{min-height:0}.min-h-12{min-height:3rem}.min-h-14{min-height:3.5rem}.min-h-32{min-height:8rem}.min-h-48{min-height:12rem}.min-h-\\[32px\\]{min-height:32px}.min-h-\\[40px\\]{min-height:40px}.min-h-\\[44px\\]{min-height:44px}.min-h-\\[48px\\]{min-height:48px}.min-h-\\[50px\\]{min-height:50px}.min-h-\\[60px\\]{min-height:60px}.min-h-\\[100px\\]{min-height:100px}.min-h-\\[150px\\]{min-height:150px}.min-h-\\[200px\\]{min-height:200px}.min-h-\\[300px\\]{min-height:300px}.min-h-\\[400px\\]{min-height:400px}.min-h-screen{min-height:100vh}.w-0\\.5{width:.125rem}.w-1\\.5{width:.375rem}.w-2{width:.5rem}.w-2\\.5{width:.625rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-15{width:3.75rem}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-32{width:8rem}.w-48{width:12rem}.w-50{width:12.5rem}.w-60{width:15rem}.w-64{width:16rem}.w-72{width:18rem}.w-80{width:20rem}.w-\\[18px\\]{width:18px}.w-\\[30\\%\\]{width:30%}.w-\\[inherit\\]{width:inherit}.w-\\[var\\(--dialog-width\\)\\]{width:var(--dialog-width)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5{max-width:1.25rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-12{max-width:3rem}.max-w-14{max-width:3.5rem}.max-w-32{max-width:8rem}.max-w-\\[168px\\]{max-width:168px}.max-w-\\[320px\\]{max-width:320px}.max-w-\\[360px\\]{max-width:360px}.max-w-\\[calc\\(100vw-2rem\\)\\]{max-width:calc(100vw - 2rem)}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.min-w-0{min-width:0}.min-w-4{min-width:1rem}.min-w-14{min-width:3.5rem}.min-w-16{min-width:4rem}.min-w-48{min-width:12rem}.min-w-\\[6px\\]{min-width:6px}.min-w-\\[16px\\]{min-width:16px}.min-w-\\[48px\\]{min-width:48px}.min-w-\\[60px\\]{min-width:60px}.min-w-\\[120px\\]{min-width:120px}.min-w-\\[150px\\]{min-width:150px}.min-w-\\[160px\\]{min-width:160px}.min-w-\\[200px\\]{min-width:200px}.min-w-fit{min-width:fit-content}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.-translate-x-1{--tw-translate-x: -.25rem ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-0{--tw-translate-x: 0rem ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\\/4{--tw-translate-y: -25% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-\\[50\\%\\]{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0{--tw-translate-y: 0rem ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-full{--tw-translate-y:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-x-\\[-1\\]{--tw-scale-x:-1;scale:var(--tw-scale-x)var(--tw-scale-y)}.-skew-x-12{--tw-skew-x:skewX( -12deg );transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.\\[transform\\:translate3d\\(0\\,0\\,0\\)\\]{transform:translate(0)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-\\[ripple_600ms_linear\\]{animation:.6s linear ripple}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.animate-spin{animation:1s linear infinite spin}.cursor-default{cursor:default}.cursor-grabbing{cursor:grabbing}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.resize{resize:both}.resize-none{resize:none}.resize-x{resize:horizontal}.resize-y{resize:vertical}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.columns-2{columns:2}.columns-3{columns:3}.auto-cols-max{grid-auto-columns:max-content}.grid-flow-col{grid-auto-flow:column}.grid-flow-col-dense{grid-auto-flow:column dense}.grid-flow-dense{grid-auto-flow:dense}.grid-flow-row{grid-auto-flow:row}.grid-flow-row-dense{grid-auto-flow:dense}.auto-rows-max{grid-auto-rows:max-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\\[250px_1fr\\]{grid-template-columns:250px 1fr}.grid-cols-\\[auto_1fr\\]{grid-template-columns:auto 1fr}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.grid-rows-\\[auto_1fr\\]{grid-template-rows:auto 1fr}.grid-rows-\\[auto_1fr_auto\\]{grid-template-rows:auto 1fr auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.content-around{align-content:space-around}.content-between{align-content:space-between}.content-center{align-content:center}.content-end{align-content:flex-end}.content-evenly{align-content:space-evenly}.content-start{align-content:flex-start}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-around{justify-content:space-around}.justify-baseline{justify-content:baseline}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-evenly{justify-content:space-evenly}.justify-start{justify-content:flex-start}.justify-stretch{justify-content:stretch}.justify-items-center{justify-items:center}.justify-items-end{justify-items:end}.justify-items-start{justify-items:start}.justify-items-stretch{justify-items:stretch}.gap-0{gap:0}.gap-0\\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-\\[8px\\]{gap:8px}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(.25rem *var(--tw-space-y-reverse));margin-block-end:calc(.25rem *calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(.5rem *var(--tw-space-y-reverse));margin-block-end:calc(.5rem *calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(.75rem *var(--tw-space-y-reverse));margin-block-end:calc(.75rem *calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(1rem *var(--tw-space-y-reverse));margin-block-end:calc(1rem *calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(1.5rem *var(--tw-space-y-reverse));margin-block-end:calc(1.5rem *calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(2rem *var(--tw-space-y-reverse));margin-block-end:calc(2rem *calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(.5rem *var(--tw-space-x-reverse));margin-inline-end:calc(.5rem *calc(1 - var(--tw-space-x-reverse)))}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-outline>:not(:last-child)){border-color:var(--schmancy-sys-color-outline)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded-2xl{border-radius:1rem}.rounded-\\[8px\\]{border-radius:8px}.rounded-\\[inherit\\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-sm{border-radius:.25rem}.rounded-xl{border-radius:.75rem}.rounded-t-full{border-top-left-radius:3.40282e38px;border-top-right-radius:3.40282e38px}.rounded-r-full{border-top-right-radius:3.40282e38px;border-bottom-right-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-1{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-outline,.border-outline\\/12{border-color:var(--schmancy-sys-color-outline)}@supports (color:color-mix(in lab,red,red)){.border-outline\\/12{border-color:color-mix(in oklab,var(--schmancy-sys-color-outline)12%,transparent)}}.border-outline\\/20{border-color:var(--schmancy-sys-color-outline)}@supports (color:color-mix(in lab,red,red)){.border-outline\\/20{border-color:color-mix(in oklab,var(--schmancy-sys-color-outline)20%,transparent)}}.border-outlineVariant{border-color:var(--schmancy-sys-color-outlineVariant)}.border-primary-container{border-color:var(--schmancy-sys-color-primary-container)}.border-primary-default{border-color:var(--schmancy-sys-color-primary-default)}.border-primary-on{border-color:var(--schmancy-sys-color-primary-on)}.border-primary-onContainer{border-color:var(--schmancy-sys-color-primary-onContainer)}.border-scrim{border-color:var(--schmancy-sys-color-scrim)}.border-secondary-container{border-color:var(--schmancy-sys-color-secondary-container)}.border-success-on{border-color:var(--schmancy-sys-color-success-on)}.border-surface-container{border-color:var(--schmancy-sys-color-surface-container)}.border-surface-default{border-color:var(--schmancy-sys-color-surface-default)}.border-surface-dim{border-color:var(--schmancy-sys-color-surface-dim)}.border-transparent{border-color:#0000}.bg-\\[color\\]{background-color:color}.bg-black{background-color:#000}.bg-black\\/20{background-color:oklab(0% none none/.2)}.bg-black\\/30{background-color:oklab(0% none none/.3)}.bg-error-container{background-color:var(--schmancy-sys-color-error-container)}.bg-error-default,.bg-error-default\\/70{background-color:var(--schmancy-sys-color-error-default)}@supports (color:color-mix(in lab,red,red)){.bg-error-default\\/70{background-color:color-mix(in oklab,var(--schmancy-sys-color-error-default)70%,transparent)}}.bg-primary-container,.bg-primary-container\\/20{background-color:var(--schmancy-sys-color-primary-container)}@supports (color:color-mix(in lab,red,red)){.bg-primary-container\\/20{background-color:color-mix(in oklab,var(--schmancy-sys-color-primary-container)20%,transparent)}}.bg-primary-default,.bg-primary-default\\/70{background-color:var(--schmancy-sys-color-primary-default)}@supports (color:color-mix(in lab,red,red)){.bg-primary-default\\/70{background-color:color-mix(in oklab,var(--schmancy-sys-color-primary-default)70%,transparent)}}.bg-primary-on{background-color:var(--schmancy-sys-color-primary-on)}.bg-primary-onContainer{background-color:var(--schmancy-sys-color-primary-onContainer)}.bg-scrim,.bg-scrim\\/40{background-color:var(--schmancy-sys-color-scrim)}@supports (color:color-mix(in lab,red,red)){.bg-scrim\\/40{background-color:color-mix(in oklab,var(--schmancy-sys-color-scrim)40%,transparent)}}.bg-secondary-container{background-color:var(--schmancy-sys-color-secondary-container)}.bg-secondary-default,.bg-secondary-default\\/70{background-color:var(--schmancy-sys-color-secondary-default)}@supports (color:color-mix(in lab,red,red)){.bg-secondary-default\\/70{background-color:color-mix(in oklab,var(--schmancy-sys-color-secondary-default)70%,transparent)}}.bg-success-default,.bg-success-default\\/70{background-color:var(--schmancy-sys-color-success-default)}@supports (color:color-mix(in lab,red,red)){.bg-success-default\\/70{background-color:color-mix(in oklab,var(--schmancy-sys-color-success-default)70%,transparent)}}.bg-surface-bright{background-color:var(--schmancy-sys-color-surface-bright)}.bg-surface-container,.bg-surface-container\\/10{background-color:var(--schmancy-sys-color-surface-container)}@supports (color:color-mix(in lab,red,red)){.bg-surface-container\\/10{background-color:color-mix(in oklab,var(--schmancy-sys-color-surface-container)10%,transparent)}}.bg-surface-container\\/20{background-color:var(--schmancy-sys-color-surface-container)}@supports (color:color-mix(in lab,red,red)){.bg-surface-container\\/20{background-color:color-mix(in oklab,var(--schmancy-sys-color-surface-container)20%,transparent)}}.bg-surface-default{background-color:var(--schmancy-sys-color-surface-default)}.bg-surface-dim{background-color:var(--schmancy-sys-color-surface-dim)}.bg-surface-high{background-color:var(--schmancy-sys-color-surface-high)}.bg-surface-highest{background-color:var(--schmancy-sys-color-surface-highest)}.bg-surface-low{background-color:var(--schmancy-sys-color-surface-low)}.bg-surface-lowest{background-color:var(--schmancy-sys-color-surface-lowest)}.bg-surface-on{background-color:var(--schmancy-sys-color-surface-on)}.bg-tertiary-container{background-color:var(--schmancy-sys-color-tertiary-container)}.bg-tertiary-default,.bg-tertiary-default\\/70{background-color:var(--schmancy-sys-color-tertiary-default)}@supports (color:color-mix(in lab,red,red)){.bg-tertiary-default\\/70{background-color:color-mix(in oklab,var(--schmancy-sys-color-tertiary-default)70%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:#fff}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-primary-container{--tw-gradient-from:var(--schmancy-sys-color-primary-container);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-secondary-container{--tw-gradient-from:var(--schmancy-sys-color-secondary-container);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-surface-on\\/20{--tw-gradient-from:var(--schmancy-sys-color-surface-on)}@supports (color:color-mix(in lab,red,red)){.from-surface-on\\/20{--tw-gradient-from:color-mix(in oklab,var(--schmancy-sys-color-surface-on)20%,transparent)}}.from-surface-on\\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-tertiary-container{--tw-gradient-from:var(--schmancy-sys-color-tertiary-container);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-white\\/10{--tw-gradient-via:oklab(100% 0 5.96046e-8/.1);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-primary-container{--tw-gradient-to:var(--schmancy-sys-color-primary-container);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-secondary-container{--tw-gradient-to:var(--schmancy-sys-color-secondary-container);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-tertiary-container{--tw-gradient-to:var(--schmancy-sys-color-tertiary-container);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\\.5{padding:.125rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-10{padding:2.5rem}.\\!px-2{padding-inline:.5rem!important}.px-1{padding-inline:.25rem}.px-1\\.5{padding-inline:.375rem}.px-2{padding-inline:.5rem}.px-2\\.5{padding-inline:.625rem}.px-3{padding-inline:.75rem}.px-4{padding-inline:1rem}.px-5{padding-inline:1.25rem}.px-6{padding-inline:1.5rem}.px-\\[6px\\]{padding-inline:6px}.px-\\[8px\\]{padding-inline:8px}.px-\\[12px\\]{padding-inline:12px}.\\!py-1{padding-block:.25rem!important}.py-0\\.75{padding-block:.1875rem}.py-1{padding-block:.25rem}.py-1\\.5{padding-block:.375rem}.py-2{padding-block:.5rem}.py-3{padding-block:.75rem}.py-4{padding-block:1rem}.py-6{padding-block:1.5rem}.py-8{padding-block:2rem}.py-\\[6px\\]{padding-block:6px}.py-\\[8px\\]{padding-block:8px}.py-\\[12px\\]{padding-block:12px}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-8{padding-top:2rem}.pt-10{padding-top:2.5rem}.pt-\\[4px\\]{padding-top:4px}.pr-2{padding-right:.5rem}.pr-4{padding-right:1rem}.pb-0{padding-bottom:0}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pb-32{padding-bottom:8rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pl-8{padding-left:2rem}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--schmancy-font-family),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.text-2xl{font-size:1.5rem;line-height:var(--tw-leading,calc(2/1.5))}.text-3xl{font-size:1.875rem;line-height:var(--tw-leading, 1.2 )}.text-4xl{font-size:2.25rem;line-height:var(--tw-leading,calc(2.5/2.25))}.text-base{font-size:1rem;line-height:var(--tw-leading, 1.5 )}.text-lg{font-size:1.125rem;line-height:var(--tw-leading,calc(1.75/1.125))}.text-sm{font-size:.875rem;line-height:var(--tw-leading,calc(1.25/.875))}.text-xl{font-size:1.25rem;line-height:var(--tw-leading,calc(1.75/1.25))}.text-xs{font-size:.75rem;line-height:var(--tw-leading,calc(1/.75))}.text-\\[10px\\]{font-size:10px}.text-\\[18px\\]{font-size:18px}.text-\\[24px\\]{font-size:24px}.leading-4{--tw-leading: 1rem ;line-height:1rem}.leading-5{--tw-leading: 1.25rem ;line-height:1.25rem}.leading-6{--tw-leading: 1.5rem ;line-height:1.5rem}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:1.625;line-height:1.625}.leading-tight{--tw-leading:1.25;line-height:1.25}.font-bold{--tw-font-weight:700;font-weight:700}.font-medium{--tw-font-weight:500;font-weight:500}.font-semibold{--tw-font-weight:600;font-weight:600}.tracking-\\[0\\.01em\\]{--tw-tracking:.01em;letter-spacing:.01em}.tracking-wide{--tw-tracking:.025em;letter-spacing:.025em}.break-all{word-break:break-all}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-error-container{color:var(--schmancy-sys-color-error-container)}.text-error-default{color:var(--schmancy-sys-color-error-default)}.text-error-on{color:var(--schmancy-sys-color-error-on)}.text-error-onContainer{color:var(--schmancy-sys-color-error-onContainer)}.text-outline{color:var(--schmancy-sys-color-outline)}.text-outlineVariant{color:var(--schmancy-sys-color-outlineVariant)}.text-primary-container{color:var(--schmancy-sys-color-primary-container)}.text-primary-default{color:var(--schmancy-sys-color-primary-default)}.text-primary-on{color:var(--schmancy-sys-color-primary-on)}.text-primary-onContainer{color:var(--schmancy-sys-color-primary-onContainer)}.text-scrim{color:var(--schmancy-sys-color-scrim)}.text-secondary-default{color:var(--schmancy-sys-color-secondary-default)}.text-secondary-on{color:var(--schmancy-sys-color-secondary-on)}.text-secondary-onContainer{color:var(--schmancy-sys-color-secondary-onContainer)}.text-success-default{color:var(--schmancy-sys-color-success-default)}.text-surface-bright{color:var(--schmancy-sys-color-surface-bright)}.text-surface-dim{color:var(--schmancy-sys-color-surface-dim)}.text-surface-on{color:var(--schmancy-sys-color-surface-on)}.text-surface-onVariant{color:var(--schmancy-sys-color-surface-onVariant)}.text-tertiary-default{color:var(--schmancy-sys-color-tertiary-default)}.text-tertiary-on{color:var(--schmancy-sys-color-tertiary-on)}.text-white{color:#fff}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.caret-transparent{caret-color:#0000}.opacity-0{opacity:0}.opacity-1{opacity:.01}.opacity-12{opacity:.12}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-38{opacity:.38}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-95{opacity:.95}.opacity-100{opacity:1}.opacity-\\[0\\.08\\]{opacity:.08}.opacity-\\[0\\.12\\]{opacity:.12}.opacity-\\[0\\.38\\]{opacity:.38}.opacity-\\[var\\(--schmancy-sys-state-disabled-opacity\\)\\]{opacity:var(--schmancy-sys-state-disabled-opacity)}.opacity-\\[var\\(--schmancy-sys-state-pressed-opacity\\)\\]{opacity:var(--schmancy-sys-state-pressed-opacity)}.shadow-1{--tw-shadow:var(--schmancy-sys-elevation-1);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_0_20px_rgba\\(0\\,0\\,0\\,0\\.1\\)\\]{--tw-shadow:0 0 20px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_24px_48px_-8px_rgba\\(0\\,0\\,0\\,0\\.2\\)\\,0_12px_24px_-4px_rgba\\(0\\,0\\,0\\,0\\.12\\)\\]{--tw-shadow:0 24px 48px -8px var(--tw-shadow-color,#0003),0 12px 24px -4px var(--tw-shadow-color,#0000001f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[inset_0_1px_1px_0_rgba\\(255\\,255\\,255\\,0\\.2\\)\\]{--tw-shadow:inset 0 1px 1px 0 var(--tw-shadow-color,#fff3);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[inset_0_1px_2px_0_rgba\\(0\\,0\\,0\\,0\\.1\\)\\]{--tw-shadow:inset 0 1px 2px 0 var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-error-default{--tw-ring-color:var(--schmancy-sys-color-error-default)}.ring-outline{--tw-ring-color:var(--schmancy-sys-color-outline)}.ring-primary-default{--tw-ring-color:var(--schmancy-sys-color-primary-default)}.ring-secondary-default{--tw-ring-color:var(--schmancy-sys-color-secondary-default)}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-secondary-default{outline-color:var(--schmancy-sys-color-secondary-default)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-xs{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-saturate-150{--tw-backdrop-saturate:saturate(150%);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in{--tw-ease:cubic-bezier(.4,0,1,1);transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{--tw-ease:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{--tw-ease:cubic-bezier(0,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1)}.will-change-transform{will-change:transform}.\\[contain\\:layout_style\\]{contain:layout style}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\\[backface-visibility\\:hidden\\]{backface-visibility:hidden}.ring-inset{--tw-ring-inset:inset}:is(.\\*\\:-ml-2>*){margin-left:-.5rem}:is(.\\*\\:-ml-3>*){margin-left:-.75rem}:is(.\\*\\:border-2>*){border-style:var(--tw-border-style);border-width:2px}@media (hover:hover){.group-hover\\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-hover\\:scale-125:is(:where(.group):hover *){--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-hover\\:border-primary-default:is(:where(.group):hover *){border-color:var(--schmancy-sys-color-primary-default)}.group-hover\\:bg-primary-container:is(:where(.group):hover *){background-color:var(--schmancy-sys-color-primary-container)}.group-hover\\:bg-primary-default:is(:where(.group):hover *){background-color:var(--schmancy-sys-color-primary-default)}.group-hover\\:text-surface-on:is(:where(.group):hover *){color:var(--schmancy-sys-color-surface-on)}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\\:shadow-lg:is(:where(.group):hover *){--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.before\\:absolute:before{content:var(--tw-content);position:absolute}.before\\:top-1\\/2:before{content:var(--tw-content);top:50%}.before\\:left-1\\/2:before{content:var(--tw-content);left:50%}.before\\:h-0:before{content:var(--tw-content);height:0}.before\\:h-\\[200\\%\\]:before{content:var(--tw-content);height:200%}.before\\:w-0:before{content:var(--tw-content);width:0}.before\\:w-\\[200\\%\\]:before{content:var(--tw-content);width:200%}.before\\:-translate-x-1\\/2:before{content:var(--tw-content);--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.before\\:-translate-y-1\\/2:before{content:var(--tw-content);--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.before\\:rounded-full:before{content:var(--tw-content);border-radius:3.40282e38px}.before\\:bg-current:before{content:var(--tw-content);background-color:currentColor}.before\\:opacity-0:before{content:var(--tw-content);opacity:0}.before\\:opacity-12:before{content:var(--tw-content);opacity:.12}.before\\:transition-all:before{content:var(--tw-content);transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.before\\:duration-300:before{content:var(--tw-content);--tw-duration:.3s;transition-duration:.3s}.before\\:content-\\[\\"\\"\\]:before{--tw-content:"";content:var(--tw-content)}.after\\:absolute:after{content:var(--tw-content);position:absolute}.after\\:right-3:after{content:var(--tw-content);right:.75rem}.after\\:bottom-\\[-4px\\]:after{content:var(--tw-content);bottom:-4px}.after\\:left-3:after{content:var(--tw-content);left:.75rem}.after\\:h-px:after{content:var(--tw-content);height:1px}.after\\:opacity-12:after{content:var(--tw-content);opacity:.12}.last\\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.focus-within\\:ring-1:focus-within{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-within\\:ring-error-default:focus-within{--tw-ring-color:var(--schmancy-sys-color-error-default)}.focus-within\\:ring-secondary-default:focus-within{--tw-ring-color:var(--schmancy-sys-color-secondary-default)}.focus-within\\:ring-inset:focus-within{--tw-ring-inset:inset}@media (hover:hover){.hover\\:z-\\[100\\]:hover{z-index:100}.hover\\:mr-3:hover{margin-right:.75rem}.hover\\:translate-x-0:hover{--tw-translate-x: 0rem ;translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\\:-translate-y-px:hover{--tw-translate-y:-1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\\:scale-\\[1\\.02\\]:hover{scale:1.02}.hover\\:rounded-r-full:hover{border-top-right-radius:3.40282e38px;border-bottom-right-radius:3.40282e38px}.hover\\:border-outlineVariant:hover{border-color:var(--schmancy-sys-color-outlineVariant)}.hover\\:bg-error-container:hover{background-color:var(--schmancy-sys-color-error-container)}.hover\\:bg-primary-default:hover{background-color:var(--schmancy-sys-color-primary-default)}.hover\\:bg-primary-on:hover{background-color:var(--schmancy-sys-color-primary-on)}.hover\\:bg-secondary-container:hover{background-color:var(--schmancy-sys-color-secondary-container)}.hover\\:bg-surface-container:hover{background-color:var(--schmancy-sys-color-surface-container)}.hover\\:bg-surface-high:hover{background-color:var(--schmancy-sys-color-surface-high)}.hover\\:bg-surface-on:hover{background-color:var(--schmancy-sys-color-surface-on)}.hover\\:text-error-container:hover{color:var(--schmancy-sys-color-error-container)}.hover\\:text-primary-default:hover{color:var(--schmancy-sys-color-primary-default)}.hover\\:text-surface-on:hover{color:var(--schmancy-sys-color-surface-on)}.hover\\:opacity-8:hover{opacity:.08}.hover\\:opacity-100:hover{opacity:1}.hover\\:opacity-\\[0\\.08\\]:hover{opacity:.08}.hover\\:opacity-\\[var\\(--schmancy-sys-state-hover-opacity\\)\\]:hover{opacity:var(--schmancy-sys-state-hover-opacity)}.hover\\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:shadow-xs:hover{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:brightness-95:hover{--tw-brightness:brightness(95%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.hover\\:brightness-\\[0\\.98\\]:hover{--tw-brightness:brightness(.98);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}.focus\\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-error-default:focus{--tw-ring-color:var(--schmancy-sys-color-error-default)}.focus\\:ring-primary-container:focus{--tw-ring-color:var(--schmancy-sys-color-primary-container)}.focus\\:ring-primary-default:focus{--tw-ring-color:var(--schmancy-sys-color-primary-default)}.focus\\:ring-secondary-default:focus{--tw-ring-color:var(--schmancy-sys-color-secondary-default)}.focus\\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus\\:outline-1:focus{outline-style:var(--tw-outline-style);outline-width:1px}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus\\:ring-inset:focus{--tw-ring-inset:inset}.focus-visible\\:z-1:focus-visible{z-index:1}.focus-visible\\:opacity-\\[var\\(--schmancy-sys-state-focus-opacity\\)\\]:focus-visible{opacity:var(--schmancy-sys-state-focus-opacity)}.focus-visible\\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\\:outline-offset-0:focus-visible{outline-offset:0px}.focus-visible\\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\\:outline-primary-default:focus-visible{outline-color:var(--schmancy-sys-color-primary-default)}.focus-visible\\:outline-solid:focus-visible{--tw-outline-style:solid;outline-style:solid}.active\\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\\:brightness-90:active{--tw-brightness:brightness(90%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-40:disabled{opacity:.4}@media (min-width:40rem){.sm\\:left-4{left:1rem}.sm\\:-mx-2{margin-inline:-.5rem}.sm\\:mt-1{margin-top:.25rem}.sm\\:mt-4{margin-top:1rem}.sm\\:ml-6{margin-left:1.5rem}.sm\\:ml-10{margin-left:2.5rem}.sm\\:h-6{height:1.5rem}.sm\\:h-12{height:3rem}.sm\\:max-h-6{max-height:1.5rem}.sm\\:min-h-\\[48px\\]{min-height:48px}.sm\\:min-h-\\[56px\\]{min-height:56px}.sm\\:w-6{width:1.5rem}.sm\\:w-auto{width:auto}.sm\\:max-w-6{max-width:1.5rem}.sm\\:flex-1{flex:1}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-center{align-items:center}.sm\\:justify-between{justify-content:space-between}.sm\\:gap-1\\.5{gap:.375rem}.sm\\:px-2{padding-inline:.5rem}.sm\\:px-3{padding-inline:.75rem}.sm\\:px-6{padding-inline:1.5rem}.sm\\:px-\\[12px\\]{padding-inline:12px}.sm\\:py-1\\.5{padding-block:.375rem}.sm\\:py-2{padding-block:.5rem}.sm\\:py-3{padding-block:.75rem}.sm\\:py-4{padding-block:1rem}.sm\\:pb-4{padding-bottom:1rem}.sm\\:pb-8{padding-bottom:2rem}.sm\\:text-base{font-size:1rem;line-height:var(--tw-leading, 1.5 )}.sm\\:text-lg{font-size:1.125rem;line-height:var(--tw-leading,calc(1.75/1.125))}.sm\\:text-\\[16px\\]{font-size:16px}}@media (min-width:48rem){.md\\:right-0{right:0}.md\\:left-\\[unset\\]{left:unset}.md\\:col-span-2{grid-column:span 2/span 2}.md\\:block{display:block}.md\\:hidden{display:none}.md\\:h-auto{height:auto}.md\\:min-h-\\[56px\\]{min-height:56px}.md\\:w-20{width:5rem}.md\\:w-48{width:12rem}.md\\:w-60{width:15rem}.md\\:w-64{width:16rem}.md\\:w-auto{width:auto}.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\\:flex-row{flex-direction:row}.md\\:justify-between{justify-content:space-between}.md\\:gap-2{gap:.5rem}.md\\:px-3{padding-inline:.75rem}.md\\:px-4{padding-inline:1rem}.md\\:px-\\[16px\\]{padding-inline:16px}.md\\:py-2{padding-block:.5rem}.md\\:text-4xl{font-size:2.25rem;line-height:var(--tw-leading,calc(2.5/2.25))}}@media (min-width:64rem){.lg\\:col-span-2{grid-column:span 2/span 2}.lg\\:w-auto{width:auto}.lg\\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\\:text-5xl{font-size:3rem;line-height:var(--tw-leading,1)}}@media (min-width:80rem){.xl\\:w-1\\/2{width:50%}.xl\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xl\\:flex-row{flex-direction:row}}.\\[\\&_\\[slot\\=\\"fab\\"\\]\\]\\:mb-2 [slot=fab]{margin-bottom:.5rem}.\\[\\&_\\[slot\\=\\"menu\\"\\]\\]\\:mb-3 [slot=menu]{margin-bottom:.75rem}.\\[\\&\\>\\.ripple\\]\\:scale-100>.ripple{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}}:host,:root{font-family:var(--schmancy-font-family)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}'),h=e=>{const t=class t extends o.LitElement{};t.styles=[o.unsafeCSS(e),p];let r=t;return r};exports.BaseElement=n,exports.TailwindElement=e=>{class r extends n(h(e)){constructor(){super(...arguments),this.disconnectedCallback=()=>{super.disconnectedCallback()}}}return r};
2
- //# sourceMappingURL=tailwind.mixin-CvQn8Ynb.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tailwind.mixin-CvQn8Ynb.cjs","sources":["../mixins/baseElement.ts","../mixins/tailwind.mixin.ts"],"sourcesContent":["import type { Constructor } from './constructor'\nimport { LitElement } from 'lit'\nimport { Subject, fromEvent, Observable } from 'rxjs'\nimport { takeUntil } from 'rxjs/operators'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { styleMap } from 'lit/directives/style-map.js'\nimport { discoverComponent } from '../src/discovery/discovery.service'\n\nexport declare class IBaseMixin {\n\tdisconnecting: Subject<boolean>\n\tclassMap: typeof classMap\n\tstyleMap: typeof styleMap\n\tdiscover<T extends HTMLElement>(tag: string): Observable<T | null>\n}\n\nexport const BaseElement = <T extends Constructor<LitElement>>(superClass: T) => {\n\tclass BaseElement extends superClass {\n\t\tdisconnecting = new Subject<boolean>()\n\n\t\tclassMap(classes: Record<string, boolean>) {\n\t\t\tconst newClasses: Record<string, boolean> = {}\n\t\t\tObject.keys(classes).forEach(key => {\n\t\t\t\tkey\n\t\t\t\t\t.trim()\n\t\t\t\t\t.split(' ')\n\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t.forEach(k => {\n\t\t\t\t\t\tnewClasses[k] = classes[key]\n\t\t\t\t\t})\n\t\t\t})\n\t\t\treturn classMap(newClasses)\n\t\t}\n\n\t\tstyleMap(styles: Record<string, string | number>) {\n\t\t\treturn styleMap(styles)\n\t\t}\n\n\t\tconnectedCallback() {\n\t\t\tsuper.connectedCallback()\n\t\t\tthis.setupDiscoveryResponse()\n\t\t}\n\n\t\tprivate setupDiscoveryResponse() {\n\t\t\tconst tagName = this.tagName.toLowerCase()\n\t\t\tconst whereAreYouEvent = `${tagName}-where-are-you`\n\t\t\tconst hereIAmEvent = `${tagName}-here-i-am`\n\n\t\t\tfromEvent(window, whereAreYouEvent)\n\t\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t\t.subscribe(() => {\n\t\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\t\tnew CustomEvent(hereIAmEvent, {\n\t\t\t\t\t\t\tdetail: { component: this },\n\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\t\t\t\t})\n\t\t}\n\n\t\t// Make discover public to match the interface\n\t\tdiscover<T extends HTMLElement>(tag: string): Observable<T | null> {\n\t\t\treturn discoverComponent<T>(tag)\n\t\t}\n\n\t\tdisconnectedCallback() {\n\t\t\tthis.disconnecting.next(true)\n\t\t\tthis.disconnecting.complete()\n\t\t\tsuper.disconnectedCallback()\n\t\t}\n\t}\n\treturn BaseElement as Constructor<IBaseMixin> & T\n}\n","import { CSSResult, LitElement, unsafeCSS } from 'lit'\n\nimport style from './tailwind.css?inline'\nimport { BaseElement, IBaseMixin } from './baseElement'\nimport { Constructor } from './constructor'\n\nexport declare class ITailwindElementMixin {\n\tstyles: (typeof CSSResult)[]\n}\n\nexport const tailwindStyles = unsafeCSS(style)\n\nconst TailwindElementBase = <T extends CSSResult>(componentStyle?: T) => {\n\tclass TailwindMixinClass extends LitElement {\n\t\tstatic styles = [unsafeCSS(componentStyle), tailwindStyles]\n\t}\n\treturn TailwindMixinClass as Constructor<LitElement> /* see \"typing the subclass\" below */\n}\n\nexport const TailwindElement = <T extends CSSResult>(componentStyle?: T) => {\n\tclass TailwindMixinClass extends BaseElement(TailwindElementBase(componentStyle)) {\n\t\tdisconnectedCallback = () => {\n\t\t\tsuper.disconnectedCallback()\n\t\t}\n\t}\n\treturn TailwindMixinClass as Constructor<CustomElementConstructor> &\n\t\tConstructor<ITailwindElementMixin> &\n\t\tConstructor<LitElement> &\n\t\tConstructor<IBaseMixin>\n}\n"],"names":["BaseElement","superClass","constructor","super","arguments","this","disconnecting","Subject","classes","newClasses","Object","keys","forEach","key","trim","split","filter","Boolean","k","classMap","styles","styleMap","connectedCallback","setupDiscoveryResponse","tagName","toLowerCase","whereAreYouEvent","hereIAmEvent","fromEvent","window","pipe","takeUntil","subscribe","dispatchEvent","CustomEvent","detail","component","bubbles","composed","tag","discoverComponent","disconnectedCallback","next","complete","tailwindStyles","unsafeCSS","TailwindElementBase","componentStyle","TailwindMixinClass","LitElement","_e"],"mappings":"kNAeaA,EAAkDC,GAC9D,cAA0BA,EAA1B,aAAAC,CAAAC,SAAAC,SAAAA,EACCC,KAAAC,cAAgB,IAAIC,SAAiB,CAErC,SAASC,EAAAA,CACR,MAAMC,EAAsC,CAAA,EAU5C,OATAC,OAAOC,KAAKH,CAAAA,EAASI,QAAQC,IAC5BA,EACEC,KAAAA,EACAC,MAAM,GAAA,EACNC,OAAOC,SACPL,QAAQM,GAAAA,CACRT,EAAWS,CAAAA,EAAKV,EAAQK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAGpBM,EAAAA,SAASV,CAAAA,CACjB,CAEA,SAASW,EAAAA,CACR,OAAOC,EAAAA,SAASD,CAAAA,CACjB,CAEA,mBAAAE,CACCnB,MAAMmB,oBACNjB,KAAKkB,uBAAAA,CACN,CAEQ,wBAAAA,CACP,MAAMC,EAAUnB,KAAKmB,QAAQC,YAAAA,EACvBC,EAAmB,GAAGF,CAAAA,iBACtBG,EAAe,GAAGH,CAAAA,aAExBI,YAAUC,OAAQH,GAChBI,KAAKC,YAAU1B,KAAKC,aAAAA,CAAAA,EACpB0B,UAAU,IAAA,CACVH,OAAOI,cACN,IAAIC,YAAYP,EAAc,CAC7BQ,OAAQ,CAAEC,UAAW/B,IAAAA,EACrBgC,QAAAA,GACAC,SAAAA,EAAU,CAAA,CAAA,CAAA,CAAA,CAIf,CAGA,SAAgCC,GAC/B,OAAOC,EAAAA,kBAAqBD,CAAAA,CAC7B,CAEA,sBAAAE,CACCpC,KAAKC,cAAcoC,KAAAA,EAAK,EACxBrC,KAAKC,cAAcqC,SAAAA,EACnBxC,MAAMsC,qBAAAA,CACP,GC3DWG,EAAiBC,EAAAA,yz0DAExBC,EAA4CC,IACjD,MAAMC,EAAN,MAAMA,UAA2BC,EAAAA,UAAAA,GAChC5C,EAAOe,OAAS,CAACyB,EAAAA,UAAUE,CAAAA,EAAiBH,CAAAA,EAD7C,IAAMI,EAANE,EAGA,OAAOF,CAAAA,gDAG6CD,IACpD,MAAMC,UAA2BhD,EAAY8C,EAAoBC,CAAAA,CAAAA,CAAAA,CAAjE,aAAA7C,CAAAC,MAAAA,GAAAC,WACCC,KAAAoC,qBAAuB,KACtBtC,MAAMsC,qBAAAA,CAAAA,CACP,EAED,OAAOO,CAAAA"}