@mhmo91/schmancy 0.2.200 → 0.2.202

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 (287) hide show
  1. package/ai/boat.md +118 -0
  2. package/ai/chips.md +89 -123
  3. package/dist/ai/boat.md +118 -0
  4. package/dist/ai/chips.md +89 -123
  5. package/dist/{animated-text-BZWvzqEZ.js → animated-text-BYS4ollO.js} +3 -3
  6. package/dist/{animated-text-BZWvzqEZ.js.map → animated-text-BYS4ollO.js.map} +1 -1
  7. package/dist/{animated-text-BgLktXr-.cjs → animated-text-jb8xtsKZ.cjs} +2 -2
  8. package/dist/{animated-text-BgLktXr-.cjs.map → animated-text-jb8xtsKZ.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-zvrF1R-P.js → area.component-DxNRxMvF.js} +4 -4
  13. package/dist/area.component-DxNRxMvF.js.map +1 -0
  14. package/dist/{area.component-CqKoQRDp.cjs → area.component-VivYGPFY.cjs} +3 -3
  15. package/dist/area.component-VivYGPFY.cjs.map +1 -0
  16. package/dist/area.js +1 -1
  17. package/dist/{autocomplete-CpYDECg0.js → autocomplete-Bau2LIoa.js} +3 -3
  18. package/dist/{autocomplete-CpYDECg0.js.map → autocomplete-Bau2LIoa.js.map} +1 -1
  19. package/dist/{autocomplete-BCE9oBkO.cjs → autocomplete-CfpLrL2J.cjs} +2 -2
  20. package/dist/{autocomplete-BCE9oBkO.cjs.map → autocomplete-CfpLrL2J.cjs.map} +1 -1
  21. package/dist/autocomplete.cjs +1 -1
  22. package/dist/autocomplete.js +1 -1
  23. package/dist/{avatar-B_y2vLrR.cjs → avatar-CUD4cs6U.cjs} +2 -2
  24. package/dist/{avatar-B_y2vLrR.cjs.map → avatar-CUD4cs6U.cjs.map} +1 -1
  25. package/dist/{avatar-B_BubJYb.js → avatar-CsMJfDiv.js} +47 -46
  26. package/dist/{avatar-B_BubJYb.js.map → avatar-CsMJfDiv.js.map} +1 -1
  27. package/dist/badge.cjs +1 -1
  28. package/dist/badge.js +1 -1
  29. package/dist/boat-BH_EwwX-.cjs +64 -0
  30. package/dist/boat-BH_EwwX-.cjs.map +1 -0
  31. package/dist/boat-CqW5lpYZ.js +95 -0
  32. package/dist/boat-CqW5lpYZ.js.map +1 -0
  33. package/dist/boat.cjs +2 -0
  34. package/dist/boat.cjs.map +1 -0
  35. package/dist/boat.js +5 -0
  36. package/dist/boat.js.map +1 -0
  37. package/dist/busy.cjs +1 -1
  38. package/dist/busy.js +1 -1
  39. package/dist/button.cjs +1 -1
  40. package/dist/button.js +1 -1
  41. package/dist/card.cjs +1 -1
  42. package/dist/card.js +1 -1
  43. package/dist/{checkbox-DATn1US_.cjs → checkbox-BPaB8gjl.cjs} +2 -2
  44. package/dist/{checkbox-DATn1US_.cjs.map → checkbox-BPaB8gjl.cjs.map} +1 -1
  45. package/dist/{checkbox-CJ6x-G_b.js → checkbox-DWzhuPa4.js} +6 -6
  46. package/dist/{checkbox-CJ6x-G_b.js.map → checkbox-DWzhuPa4.js.map} +1 -1
  47. package/dist/checkbox.cjs +1 -1
  48. package/dist/checkbox.js +1 -1
  49. package/dist/{chips-BbWIMKDU.cjs → chips-B_JKvtqB.cjs} +2 -2
  50. package/dist/{chips-BbWIMKDU.cjs.map → chips-B_JKvtqB.cjs.map} +1 -1
  51. package/dist/{chips-CcT1N7--.js → chips-K6z9BIbc.js} +9 -9
  52. package/dist/{chips-CcT1N7--.js.map → chips-K6z9BIbc.js.map} +1 -1
  53. package/dist/chips.cjs +1 -1
  54. package/dist/chips.js +1 -1
  55. package/dist/{circular-progress-JGc2_9ef.cjs → circular-progress-BG_EnVTn.cjs} +2 -2
  56. package/dist/{circular-progress-JGc2_9ef.cjs.map → circular-progress-BG_EnVTn.cjs.map} +1 -1
  57. package/dist/{circular-progress-Cs3G6PHo.js → circular-progress-irMd5G3E.js} +3 -3
  58. package/dist/{circular-progress-Cs3G6PHo.js.map → circular-progress-irMd5G3E.js.map} +1 -1
  59. package/dist/circular-progress.cjs +1 -1
  60. package/dist/circular-progress.js +1 -1
  61. package/dist/code-highlight.cjs +1 -1
  62. package/dist/code-highlight.js +1 -1
  63. package/dist/{code-preview-DXf_SN2X.cjs → code-preview-BDi-9C_7.cjs} +14 -9
  64. package/dist/{code-preview-DXf_SN2X.cjs.map → code-preview-BDi-9C_7.cjs.map} +1 -1
  65. package/dist/{code-preview-BZ-uk6y1.js → code-preview-D_QJybDt.js} +129 -124
  66. package/dist/{code-preview-BZ-uk6y1.js.map → code-preview-D_QJybDt.js.map} +1 -1
  67. package/dist/components.cjs +1 -1
  68. package/dist/components.js +1 -1
  69. package/dist/content-drawer.cjs +1 -1
  70. package/dist/content-drawer.js +1 -1
  71. package/dist/{date-range-D85imfq-.cjs → date-range--jCSlkf3.cjs} +2 -2
  72. package/dist/{date-range-D85imfq-.cjs.map → date-range--jCSlkf3.cjs.map} +1 -1
  73. package/dist/{date-range-Dt9V5MyB.js → date-range-B9UeIzcl.js} +3 -3
  74. package/dist/{date-range-Dt9V5MyB.js.map → date-range-B9UeIzcl.js.map} +1 -1
  75. package/dist/date-range.cjs +1 -1
  76. package/dist/date-range.js +1 -1
  77. package/dist/{delay-CE3iPMYG.js → delay-CCOKwDX3.js} +2 -2
  78. package/dist/{delay-CE3iPMYG.js.map → delay-CCOKwDX3.js.map} +1 -1
  79. package/dist/{delay-BH-y0tJg.cjs → delay-OOtwG41o.cjs} +2 -2
  80. package/dist/{delay-BH-y0tJg.cjs.map → delay-OOtwG41o.cjs.map} +1 -1
  81. package/dist/delay.cjs +1 -1
  82. package/dist/delay.js +1 -1
  83. package/dist/{dialog-content-BQN75NSZ.cjs → dialog-content-B3kd79fM.cjs} +2 -2
  84. package/dist/{dialog-content-BQN75NSZ.cjs.map → dialog-content-B3kd79fM.cjs.map} +1 -1
  85. package/dist/{dialog-content-E5R1XfK5.js → dialog-content-BpvJPGA8.js} +3 -3
  86. package/dist/{dialog-content-E5R1XfK5.js.map → dialog-content-BpvJPGA8.js.map} +1 -1
  87. package/dist/dialog.cjs +1 -1
  88. package/dist/dialog.js +1 -1
  89. package/dist/{divider-BEtL0P-_.cjs → divider-Bf9Slnvo.cjs} +2 -2
  90. package/dist/{divider-BEtL0P-_.cjs.map → divider-Bf9Slnvo.cjs.map} +1 -1
  91. package/dist/{divider-BlSi0WWi.js → divider-CmpZyxZz.js} +3 -3
  92. package/dist/{divider-BlSi0WWi.js.map → divider-CmpZyxZz.js.map} +1 -1
  93. package/dist/divider.cjs +1 -1
  94. package/dist/divider.js +1 -1
  95. package/dist/{dropdown-content-DkKciM_R.js → dropdown-content-CU1cly-s.js} +3 -3
  96. package/dist/{dropdown-content-DkKciM_R.js.map → dropdown-content-CU1cly-s.js.map} +1 -1
  97. package/dist/{dropdown-content-HRI7Jkak.cjs → dropdown-content-DBk4DHeT.cjs} +2 -2
  98. package/dist/{dropdown-content-HRI7Jkak.cjs.map → dropdown-content-DBk4DHeT.cjs.map} +1 -1
  99. package/dist/dropdown.cjs +1 -1
  100. package/dist/dropdown.js +1 -1
  101. package/dist/extra.cjs +1 -1
  102. package/dist/extra.js +1 -1
  103. package/dist/{flex-DHA02Mfw.js → flex-CujhhojR.js} +2 -2
  104. package/dist/{flex-DHA02Mfw.js.map → flex-CujhhojR.js.map} +1 -1
  105. package/dist/{flex-CwTn3AfA.cjs → flex-W05LrmiY.cjs} +2 -2
  106. package/dist/{flex-CwTn3AfA.cjs.map → flex-W05LrmiY.cjs.map} +1 -1
  107. package/dist/{form-DsprWndI.js → form-BHEhndln.js} +2 -2
  108. package/dist/{form-DsprWndI.js.map → form-BHEhndln.js.map} +1 -1
  109. package/dist/{form-C9llOgOw.cjs → form-D99IyIWZ.cjs} +2 -2
  110. package/dist/{form-C9llOgOw.cjs.map → form-D99IyIWZ.cjs.map} +1 -1
  111. package/dist/form.cjs +1 -1
  112. package/dist/form.js +1 -1
  113. package/dist/{icon-D967cxey.js → icon-C200ch2d.js} +2 -2
  114. package/dist/{icon-D967cxey.js.map → icon-C200ch2d.js.map} +1 -1
  115. package/dist/{icon-B1vaqlkD.cjs → icon-DwMgmWET.cjs} +2 -2
  116. package/dist/{icon-B1vaqlkD.cjs.map → icon-DwMgmWET.cjs.map} +1 -1
  117. package/dist/{icon-button-C_OqjQfc.js → icon-button-CpaZ6Sl4.js} +3 -3
  118. package/dist/{icon-button-C_OqjQfc.js.map → icon-button-CpaZ6Sl4.js.map} +1 -1
  119. package/dist/{icon-button-D6RzSEQb.cjs → icon-button-DjdXn0i9.cjs} +2 -2
  120. package/dist/{icon-button-D6RzSEQb.cjs.map → icon-button-DjdXn0i9.cjs.map} +1 -1
  121. package/dist/icons.cjs +1 -1
  122. package/dist/icons.js +1 -1
  123. package/dist/index.cjs +1 -1
  124. package/dist/index.js +157 -155
  125. package/dist/index.js.map +1 -1
  126. package/dist/{input-DschQCBp.cjs → input-BeOn-cgH.cjs} +2 -2
  127. package/dist/{input-DschQCBp.cjs.map → input-BeOn-cgH.cjs.map} +1 -1
  128. package/dist/{input-4heVsnGw.js → input-oJU4j5gv.js} +2 -2
  129. package/dist/{input-4heVsnGw.js.map → input-oJU4j5gv.js.map} +1 -1
  130. package/dist/input.cjs +1 -1
  131. package/dist/input.js +1 -1
  132. package/dist/layout.cjs +1 -1
  133. package/dist/layout.js +1 -1
  134. package/dist/{list-B1bxSmd5.cjs → list-77ofKN4f.cjs} +2 -2
  135. package/dist/{list-B1bxSmd5.cjs.map → list-77ofKN4f.cjs.map} +1 -1
  136. package/dist/{list-DE1otSG3.js → list-DA5qfp5T.js} +2 -2
  137. package/dist/{list-DE1otSG3.js.map → list-DA5qfp5T.js.map} +1 -1
  138. package/dist/list.cjs +1 -1
  139. package/dist/list.js +1 -1
  140. package/dist/{litElement.mixin-1-y-wwQg.js → litElement.mixin-BWl8md6o.js} +2 -2
  141. package/dist/{litElement.mixin-1-y-wwQg.js.map → litElement.mixin-BWl8md6o.js.map} +1 -1
  142. package/dist/{litElement.mixin-CB6DWbFn.cjs → litElement.mixin-DWxMKydc.cjs} +2 -2
  143. package/dist/{litElement.mixin-CB6DWbFn.cjs.map → litElement.mixin-DWxMKydc.cjs.map} +1 -1
  144. package/dist/{menu-TDH53RmV.cjs → menu-Bo6lczzN.cjs} +2 -2
  145. package/dist/{menu-TDH53RmV.cjs.map → menu-Bo6lczzN.cjs.map} +1 -1
  146. package/dist/{menu-B1qPlV2t.js → menu-DHJGkSYp.js} +3 -3
  147. package/dist/{menu-B1qPlV2t.js.map → menu-DHJGkSYp.js.map} +1 -1
  148. package/dist/menu.cjs +1 -1
  149. package/dist/menu.js +1 -1
  150. package/dist/nav-drawer.cjs +1 -1
  151. package/dist/nav-drawer.js +1 -1
  152. package/dist/{notification-service-D2pgTqTS.js → notification-service-DzLqQyQY.js} +3 -3
  153. package/dist/{notification-service-D2pgTqTS.js.map → notification-service-DzLqQyQY.js.map} +1 -1
  154. package/dist/{notification-service-BKSRwonz.cjs → notification-service-WLfJOHGg.cjs} +2 -2
  155. package/dist/{notification-service-BKSRwonz.cjs.map → notification-service-WLfJOHGg.cjs.map} +1 -1
  156. package/dist/notification.cjs +1 -1
  157. package/dist/notification.js +1 -1
  158. package/dist/{option-Q6l-t3es.cjs → option-D7kpmdEM.cjs} +2 -2
  159. package/dist/{option-Q6l-t3es.cjs.map → option-D7kpmdEM.cjs.map} +1 -1
  160. package/dist/{option-CLY6hO5V.js → option-DQpRizvO.js} +2 -2
  161. package/dist/{option-CLY6hO5V.js.map → option-DQpRizvO.js.map} +1 -1
  162. package/dist/option.cjs +1 -1
  163. package/dist/option.js +1 -1
  164. package/dist/{payment-card-form-BpaCnjrt.js → payment-card-form-BZLHY7HJ.js} +3 -3
  165. package/dist/{payment-card-form-BpaCnjrt.js.map → payment-card-form-BZLHY7HJ.js.map} +1 -1
  166. package/dist/{payment-card-form-V5eIamA9.cjs → payment-card-form-DfgGRWy8.cjs} +2 -2
  167. package/dist/{payment-card-form-V5eIamA9.cjs.map → payment-card-form-DfgGRWy8.cjs.map} +1 -1
  168. package/dist/{radio-button-CuTpkLr8.js → radio-button-BNpFaQX8.js} +2 -2
  169. package/dist/{radio-button-CuTpkLr8.js.map → radio-button-BNpFaQX8.js.map} +1 -1
  170. package/dist/{radio-button-Dm2I9Ic4.cjs → radio-button-BiHHYFbP.cjs} +2 -2
  171. package/dist/{radio-button-Dm2I9Ic4.cjs.map → radio-button-BiHHYFbP.cjs.map} +1 -1
  172. package/dist/radio-group.cjs +1 -1
  173. package/dist/radio-group.js +1 -1
  174. package/dist/{schmancy-steps-container-DO4tx0KH.cjs → schmancy-steps-container-DhJWC3Lf.cjs} +2 -2
  175. package/dist/{schmancy-steps-container-DO4tx0KH.cjs.map → schmancy-steps-container-DhJWC3Lf.cjs.map} +1 -1
  176. package/dist/{schmancy-steps-container-SrnYbTe-.js → schmancy-steps-container-idw6M7gT.js} +2 -2
  177. package/dist/{schmancy-steps-container-SrnYbTe-.js.map → schmancy-steps-container-idw6M7gT.js.map} +1 -1
  178. package/dist/{select-BJdRm5US.cjs → select-BQVRqkgK.cjs} +2 -2
  179. package/dist/{select-BJdRm5US.cjs.map → select-BQVRqkgK.cjs.map} +1 -1
  180. package/dist/{select-DfemPf0w.js → select-DV_tG6Z1.js} +3 -3
  181. package/dist/{select-DfemPf0w.js.map → select-DV_tG6Z1.js.map} +1 -1
  182. package/dist/select.cjs +1 -1
  183. package/dist/select.js +1 -1
  184. package/dist/{sheet-Bvj7tapP.js → sheet-DGaUsOLM.js} +3 -3
  185. package/dist/{sheet-Bvj7tapP.js.map → sheet-DGaUsOLM.js.map} +1 -1
  186. package/dist/{sheet-BtaT1eui.cjs → sheet-Ds_huwa_.cjs} +2 -2
  187. package/dist/{sheet-BtaT1eui.cjs.map → sheet-Ds_huwa_.cjs.map} +1 -1
  188. package/dist/sheet.cjs +1 -1
  189. package/dist/sheet.js +1 -1
  190. package/dist/{slider-AQvRuZ-m.cjs → slider-CJINpiTK.cjs} +2 -2
  191. package/dist/{slider-AQvRuZ-m.cjs.map → slider-CJINpiTK.cjs.map} +1 -1
  192. package/dist/{slider-DAwHA6Az.js → slider-Cl30H-Ky.js} +3 -3
  193. package/dist/{slider-DAwHA6Az.js.map → slider-Cl30H-Ky.js.map} +1 -1
  194. package/dist/slider.cjs +1 -1
  195. package/dist/slider.js +1 -1
  196. package/dist/{spinner-DrZuae0L.js → spinner-Dpo3W3c-.js} +3 -3
  197. package/dist/{spinner-DrZuae0L.js.map → spinner-Dpo3W3c-.js.map} +1 -1
  198. package/dist/{spinner-BLy3-lqb.cjs → spinner-uO1siKhB.cjs} +2 -2
  199. package/dist/{spinner-BLy3-lqb.cjs.map → spinner-uO1siKhB.cjs.map} +1 -1
  200. package/dist/steps.cjs +1 -1
  201. package/dist/steps.js +1 -1
  202. package/dist/{surface-CAlEVfSs.js → surface-C6Krb1lv.js} +3 -3
  203. package/dist/{surface-CAlEVfSs.js.map → surface-C6Krb1lv.js.map} +1 -1
  204. package/dist/{surface-BOerTano.cjs → surface-JsTE_chE.cjs} +3 -3
  205. package/dist/{surface-BOerTano.cjs.map → surface-JsTE_chE.cjs.map} +1 -1
  206. package/dist/surface.cjs +1 -1
  207. package/dist/surface.js +1 -1
  208. package/dist/{table-hjsAGpRq.js → table-Dbf_6MHf.js} +2 -2
  209. package/dist/{table-hjsAGpRq.js.map → table-Dbf_6MHf.js.map} +1 -1
  210. package/dist/{table-B3VrNQUV.cjs → table-ZmivCJrn.cjs} +2 -2
  211. package/dist/{table-B3VrNQUV.cjs.map → table-ZmivCJrn.cjs.map} +1 -1
  212. package/dist/table.cjs +1 -1
  213. package/dist/table.js +1 -1
  214. package/dist/{tabs-compatibility-D9ajXdXz.js → tabs-compatibility-CDMklQAm.js} +2 -2
  215. package/dist/{tabs-compatibility-D9ajXdXz.js.map → tabs-compatibility-CDMklQAm.js.map} +1 -1
  216. package/dist/{tabs-compatibility-DdXO8DcF.cjs → tabs-compatibility-CTswDDwq.cjs} +2 -2
  217. package/dist/{tabs-compatibility-DdXO8DcF.cjs.map → tabs-compatibility-CTswDDwq.cjs.map} +1 -1
  218. package/dist/tabs.cjs +1 -1
  219. package/dist/tabs.js +1 -1
  220. package/dist/tailwind.mixin-B1NF3tDz.cjs +2 -0
  221. package/dist/{tailwind.mixin-mxyACxyp.cjs.map → tailwind.mixin-B1NF3tDz.cjs.map} +1 -1
  222. package/dist/tailwind.mixin-DRbXmwPy.js +43 -0
  223. package/dist/{tailwind.mixin-DPUboU_5.js.map → tailwind.mixin-DRbXmwPy.js.map} +1 -1
  224. package/dist/teleport.cjs +1 -1
  225. package/dist/teleport.js +1 -1
  226. package/dist/{textarea-C16vg4ME.cjs → textarea-B5NhHUmB.cjs} +2 -2
  227. package/dist/{textarea-C16vg4ME.cjs.map → textarea-B5NhHUmB.cjs.map} +1 -1
  228. package/dist/{textarea-DqFx1pM1.js → textarea-BgIcOe2_.js} +2 -2
  229. package/dist/{textarea-DqFx1pM1.js.map → textarea-BgIcOe2_.js.map} +1 -1
  230. package/dist/textarea.cjs +1 -1
  231. package/dist/textarea.js +1 -1
  232. package/dist/{theme-button-CgZ5qc7_.cjs → theme-button-ByTuVI2m.cjs} +2 -2
  233. package/dist/{theme-button-CgZ5qc7_.cjs.map → theme-button-ByTuVI2m.cjs.map} +1 -1
  234. package/dist/{theme-button-D5fnf2QD.js → theme-button-CHfJgh_S.js} +2 -2
  235. package/dist/{theme-button-D5fnf2QD.js.map → theme-button-CHfJgh_S.js.map} +1 -1
  236. package/dist/theme-button.cjs +1 -1
  237. package/dist/theme-button.js +1 -1
  238. package/dist/theme.cjs +1 -1
  239. package/dist/{theme.component-BOnjDUB3.js → theme.component-BOA_RlkP.js} +2 -2
  240. package/dist/{theme.component-BOnjDUB3.js.map → theme.component-BOA_RlkP.js.map} +1 -1
  241. package/dist/{theme.component-B5uMqEbH.cjs → theme.component-Dqb12V2Y.cjs} +2 -2
  242. package/dist/{theme.component-B5uMqEbH.cjs.map → theme.component-Dqb12V2Y.cjs.map} +1 -1
  243. package/dist/theme.js +1 -1
  244. package/dist/{timezone-CdAu8QsM.cjs → timezone-CeArJOdv.cjs} +2 -2
  245. package/dist/{timezone-CdAu8QsM.cjs.map → timezone-CeArJOdv.cjs.map} +1 -1
  246. package/dist/{timezone-DwU-YCRw.js → timezone-EnguJE1R.js} +3 -3
  247. package/dist/{timezone-DwU-YCRw.js.map → timezone-EnguJE1R.js.map} +1 -1
  248. package/dist/{tooltip-Bn-UWxd4.js → tooltip-beiWb2qf.js} +2 -2
  249. package/dist/{tooltip-Bn-UWxd4.js.map → tooltip-beiWb2qf.js.map} +1 -1
  250. package/dist/{tooltip-CyI3NYzI.cjs → tooltip-swpV3EIO.cjs} +2 -2
  251. package/dist/{tooltip-CyI3NYzI.cjs.map → tooltip-swpV3EIO.cjs.map} +1 -1
  252. package/dist/tooltip.cjs +1 -1
  253. package/dist/tooltip.js +1 -1
  254. package/dist/{tree-D2g2zq2B.js → tree-BJfdIGMP.js} +2 -2
  255. package/dist/{tree-D2g2zq2B.js.map → tree-BJfdIGMP.js.map} +1 -1
  256. package/dist/{tree-DdXcAF6S.cjs → tree-CwNbvxdt.cjs} +2 -2
  257. package/dist/{tree-DdXcAF6S.cjs.map → tree-CwNbvxdt.cjs.map} +1 -1
  258. package/dist/tree.cjs +1 -1
  259. package/dist/tree.js +1 -1
  260. package/dist/{typewriter-3w_PiJFo.js → typewriter-BAfCN_JJ.js} +4 -4
  261. package/dist/{typewriter-3w_PiJFo.js.map → typewriter-BAfCN_JJ.js.map} +1 -1
  262. package/dist/{typewriter-RVqJuWSv.cjs → typewriter-CQePZbSj.cjs} +2 -2
  263. package/dist/{typewriter-RVqJuWSv.cjs.map → typewriter-CQePZbSj.cjs.map} +1 -1
  264. package/dist/typewriter.cjs +1 -1
  265. package/dist/typewriter.js +1 -1
  266. package/dist/typography-CUv4DPU-.js +342 -0
  267. package/dist/typography-CUv4DPU-.js.map +1 -0
  268. package/dist/typography-DrDWI6Bh.cjs +318 -0
  269. package/dist/typography-DrDWI6Bh.cjs.map +1 -0
  270. package/dist/typography.cjs +1 -1
  271. package/dist/typography.js +1 -1
  272. package/package.json +15 -15
  273. package/types/src/area/area.component.d.ts +1 -1
  274. package/types/src/area/router.types.d.ts +1 -1
  275. package/types/src/boat/boat.d.ts +12 -0
  276. package/types/src/boat/index.d.ts +1 -0
  277. package/types/src/index.d.ts +1 -0
  278. package/types/src/surface/surface.d.ts +1 -1
  279. package/types/src/typography/typography.d.ts +6 -5
  280. package/dist/area.component-CqKoQRDp.cjs.map +0 -1
  281. package/dist/area.component-zvrF1R-P.js.map +0 -1
  282. package/dist/tailwind.mixin-DPUboU_5.js +0 -43
  283. package/dist/tailwind.mixin-mxyACxyp.cjs +0 -2
  284. package/dist/typography-BLJPXhuT.cjs +0 -10
  285. package/dist/typography-BLJPXhuT.cjs.map +0 -1
  286. package/dist/typography-izBBu-t8.js +0 -37
  287. package/dist/typography-izBBu-t8.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-content-HRI7Jkak.cjs","sources":["../src/dropdown/dropdown-component.ts","../src/dropdown/dropdown-content.ts"],"sourcesContent":["import { autoUpdate, computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { filter, fromEvent, takeUntil } from 'rxjs'\n\n/**\n * A dropdown component that displays content when triggered.\n *\n * @element schmancy-dropdown\n * @slot trigger - The element that triggers the dropdown\n * @slot - Default slot for the dropdown content\n */\n@customElement('schmancy-dropdown')\nexport class SchmancyDropdown extends $LitElement(css`\n\t:host {\n\t\tdisplay: inline-block;\n\t\tposition: relative;\n\t}\n`) {\n\t/**\n\t * Whether the dropdown is currently open\n\t */\n\t@property({ type: Boolean, reflect: true })\n\topen = false\n\n\t/**\n\t * Placement of the dropdown relative to the trigger\n\t */\n\t@property({ type: String })\n\tplacement:\n\t\t| 'top'\n\t\t| 'top-start'\n\t\t| 'top-end'\n\t\t| 'right'\n\t\t| 'right-start'\n\t\t| 'right-end'\n\t\t| 'bottom'\n\t\t| 'bottom-start'\n\t\t| 'bottom-end'\n\t\t| 'left'\n\t\t| 'left-start'\n\t\t| 'left-end' = 'bottom-start'\n\n\t/**\n\t * Offset distance in pixels\n\t */\n\t@property({ type: Number })\n\tdistance = 8\n\n\t@query('.trigger-container') triggerContainer!: HTMLElement\n\t@query('.dropdown-content-container') contentContainer!: HTMLElement\n\t@queryAssignedElements({ flatten: true }) contentElements!: HTMLElement[]\n\t@state() private portal: HTMLElement | null = null\n\n\t@queryAssignedElements({ slot: 'trigger', flatten: true })\n\ttriggerElements!: Array<HTMLElement>\n\n\tprivate cleanupPositioner?: () => void\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Create portal container for teleporting content to document body\n\t\tthis.setupPortal()\n\n\t\t// Listen for document clicks to close dropdown when clicking outside\n\t\tfromEvent<MouseEvent>(document, 'click')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => this.open && !this.isEventFromSelf(event)),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.open = false\n\t\t\t})\n\n\t\t// Listen for escape key to close dropdown\n\t\tfromEvent<KeyboardEvent>(document, 'keydown')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => this.open && event.key === 'Escape'),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.open = false\n\t\t\t})\n\t}\n\n\t/**\n\t * Set up the portal element for teleporting content\n\t */\n\tprivate setupPortal() {\n\t\t// Check if portal container exists\n\t\tlet portalContainer = document.getElementById('schmancy-portal-container')\n\n\t\t// Create portal container if it doesn't exist\n\t\tif (!portalContainer) {\n\t\t\tportalContainer = document.createElement('div')\n\t\t\tportalContainer.id = 'schmancy-portal-container'\n\t\t\tportalContainer.style.position = 'fixed'\n\t\t\tportalContainer.style.zIndex = '10000'\n\t\t\tportalContainer.style.top = '0'\n\t\t\tportalContainer.style.left = '0'\n\t\t\tportalContainer.style.pointerEvents = 'none'\n\t\t\tdocument.body.appendChild(portalContainer)\n\t\t}\n\n\t\t// Create portal for this specific dropdown\n\t\tconst portal = document.createElement('div')\n\t\tportal.className = 'schmancy-dropdown-portal'\n\t\tportal.style.position = 'absolute'\n\t\tportal.style.pointerEvents = 'auto'\n\t\tportal.style.display = 'none'\n\t\tportalContainer.appendChild(portal)\n\n\t\tthis.portal = portal\n\t}\n\n\t/**\n\t * Check if an event originated from within this component\n\t */\n\tprivate isEventFromSelf(event: Event): boolean {\n\t\treturn event.composedPath().some(el => el === this)\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.cleanupPositioner?.()\n\n\t\t// Remove portal when component is disconnected\n\t\tif (this.portal) {\n\t\t\tthis.portal.remove()\n\t\t\tthis.portal = null\n\t\t}\n\n\t\tsuper.disconnectedCallback()\n\t}\n\n\t/**\n\t * Toggle the dropdown open state\n\t */\n\ttoggle() {\n\t\tthis.open = !this.open\n\t}\n\n\tupdated(changedProps: Map<string, any>) {\n\t\tsuper.updated(changedProps)\n\n\t\tif (changedProps.has('open')) {\n\t\t\tif (this.open) {\n\t\t\t\tthis.setupPositioner()\n\t\t\t} else {\n\t\t\t\tthis.cleanupPositioner?.()\n\n\t\t\t\t// Hide portal when dropdown is closed\n\t\t\t\tif (this.portal) {\n\t\t\t\t\tthis.portal.style.display = 'none'\n\t\t\t\t\tthis.portal.innerHTML = ''\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Setup floating UI positioning with teleportation\n\t */\n\tprivate setupPositioner() {\n\t\tif (!this.triggerContainer || !this.portal) return\n\n\t\t// Show the portal\n\t\tthis.portal.style.display = 'block'\n\n\t\t// Move content to portal\n\t\tthis.teleportContentToPortal()\n\n\t\t// Setup positioning\n\t\tthis.cleanupPositioner = autoUpdate(this.triggerContainer, this.portal, () => {\n\t\t\tcomputePosition(this.triggerContainer, this.portal, {\n\t\t\t\tplacement: this.placement,\n\t\t\t\tmiddleware: [\n\t\t\t\t\toffset(this.distance),\n\t\t\t\t\tflip({\n\t\t\t\t\t\tfallbackPlacements: ['top-start', 'bottom-start'],\n\t\t\t\t\t}),\n\t\t\t\t\tshift({ padding: 0 }),\n\t\t\t\t],\n\t\t\t}).then(({ x, y }) => {\n\t\t\t\t// Update portal position\n\t\t\t\tObject.assign(this.portal.style, {\n\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\ttop: `${y - 8}px`,\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\t}\n\n\t/**\n\t * Move slotted content to the portal\n\t */\n\tprivate teleportContentToPortal() {\n\t\tif (!this.portal) return\n\n\t\t// Clear existing content\n\t\tthis.portal.innerHTML = ''\n\n\t\t// Clone and move slotted content to portal\n\t\tthis.contentElements.forEach(element => {\n\t\t\t// Get computed styles to ensure portal content matches original styling\n\t\t\tconst clonedElement = element.cloneNode(true) as HTMLElement\n\n\t\t\t// Ensure dropdown-content elements maintain their styles when teleported\n\t\t\tif (element.tagName.toLowerCase() === 'schmancy-dropdown-content') {\n\t\t\t\tclonedElement.addEventListener('slotchange', () => {\n\t\t\t\t\t// Propagate any slot changes to class changes on children\n\t\t\t\t\tconst contentDiv = clonedElement.shadowRoot?.querySelector('[part=\"content\"]')\n\t\t\t\t\tif (contentDiv) {\n\t\t\t\t\t\tcontentDiv.classList.add('schmancy-dropdown-content')\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tthis.portal?.appendChild(clonedElement)\n\t\t})\n\t}\n\n\t/**\n\t * Handle trigger click to toggle dropdown\n\t */\n\tprivate handleTriggerClick(e: Event) {\n\t\te.stopPropagation()\n\t\tthis.toggle()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"trigger-container\" @click=${this.handleTriggerClick}>\n\t\t\t\t<slot name=\"trigger\"></slot>\n\t\t\t</div>\n\n\t\t\t<div class=\"dropdown-content-container\" ?hidden=${!this.open}>\n\t\t\t\t<slot\n\t\t\t\t\t@slotchange=${() => {\n\t\t\t\t\t\tif (this.open) {\n\t\t\t\t\t\t\tthis.teleportContentToPortal()\n\t\t\t\t\t\t\tthis.setupPositioner()\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-dropdown': SchmancyDropdown\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n/**\n * Content container for the schmancy-dropdown component.\n *\n * @element schmancy-dropdown-content\n * @slot - Default slot for dropdown content\n */\n@customElement('schmancy-dropdown-content')\nexport class SchmancyDropdownContent extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\tz-index: 1000;\n\t\tmin-width: 10rem;\n\t\tmargin: 0;\n\t\ttext-align: left;\n\t\tlist-style: none;\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\n\t\tbackground-clip: padding-box;\n\t\tborder-radius: 0.375rem;\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t\twill-change: transform;\n\t\ttransform-origin: top left;\n\t\tanimation: dropdownAnimation 0.1s ease-out forwards;\n\t}\n\n\t:host([hidden]) {\n\t\tdisplay: none;\n\t}\n\n\t@keyframes dropdownAnimation {\n\t\tfrom {\n\t\t\topacity: 0;\n\t\t\ttransform: scale(0.95);\n\t\t}\n\t\tto {\n\t\t\topacity: 1;\n\t\t\ttransform: scale(1);\n\t\t}\n\t}\n\n\t/* Apply styles to content both in the component and when teleported to the portal */\n\t.schmancy-dropdown-content {\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\n\t\tborder-radius: 0.375rem;\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t\twill-change: transform;\n\t\ttransform-origin: top left;\n\t\tanimation: dropdownAnimation 0.1s ease-out forwards;\n\t}\n`) {\n\t/**\n\t * Width of the dropdown content\n\t */\n\t@property({ type: String })\n\twidth: string = 'auto'\n\n\t/**\n\t * Maximum height of the dropdown content\n\t */\n\t@property({ type: String })\n\tmaxHeight: string = '80vh'\n\n\t/**\n\t * Whether to render with a shadow\n\t */\n\t@property({ type: Boolean })\n\tshadow: boolean = true\n\n\t/**\n\t * Border radius style\n\t */\n\t@property({ type: String })\n\tradius: 'none' | 'sm' | 'md' | 'lg' | 'full' = 'md'\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'schmancy-dropdown-content': true,\n\t\t\t'overflow-auto': true,\n\t\t\t'shadow-none': !this.shadow,\n\t\t\t'rounded-none': this.radius === 'none',\n\t\t\t'rounded-sm': this.radius === 'sm',\n\t\t\t'rounded-md': this.radius === 'md',\n\t\t\t'rounded-lg': this.radius === 'lg',\n\t\t\t'rounded-full': this.radius === 'full',\n\t\t}\n\n\t\tconst styles = {\n\t\t\twidth: this.width,\n\t\t\tmaxHeight: this.maxHeight,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=${this.classMap(classes)} style=${this.styleMap(styles)} part=\"content\">\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-dropdown-content': SchmancyDropdownContent\n\t}\n}\n"],"names":["SchmancyDropdown","$LitElement","css","super","arguments","this","open","placement","distance","portal","connectedCallback","setupPortal","fromEvent","document","pipe","filter","isEventFromSelf","event","takeUntil","disconnecting","subscribe","key","portalContainer","getElementById","createElement","id","style","position","zIndex","top","left","pointerEvents","body","appendChild","className","display","composedPath","some","el","cleanupPositioner","remove","disconnectedCallback","changedProps","updated","has","setupPositioner","innerHTML","triggerContainer","teleportContentToPortal","autoUpdate","computePosition","middleware","offset","flip","fallbackPlacements","shift","padding","then","x","y","Object","assign","contentElements","forEach","element","clonedElement","cloneNode","tagName","toLowerCase","addEventListener","contentDiv","shadowRoot","querySelector","classList","add","e","stopPropagation","toggle","html","handleTriggerClick","__decorateClass","property","type","Boolean","reflect","prototype","String","Number","query","queryAssignedElements","flatten","state","slot","customElement","SchmancyDropdownContent","TailwindElement","constructor","width","maxHeight","shadow","radius","classes","styles","classMap","styleMap"],"mappings":"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"}
1
+ {"version":3,"file":"dropdown-content-DBk4DHeT.cjs","sources":["../src/dropdown/dropdown-component.ts","../src/dropdown/dropdown-content.ts"],"sourcesContent":["import { autoUpdate, computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { filter, fromEvent, takeUntil } from 'rxjs'\n\n/**\n * A dropdown component that displays content when triggered.\n *\n * @element schmancy-dropdown\n * @slot trigger - The element that triggers the dropdown\n * @slot - Default slot for the dropdown content\n */\n@customElement('schmancy-dropdown')\nexport class SchmancyDropdown extends $LitElement(css`\n\t:host {\n\t\tdisplay: inline-block;\n\t\tposition: relative;\n\t}\n`) {\n\t/**\n\t * Whether the dropdown is currently open\n\t */\n\t@property({ type: Boolean, reflect: true })\n\topen = false\n\n\t/**\n\t * Placement of the dropdown relative to the trigger\n\t */\n\t@property({ type: String })\n\tplacement:\n\t\t| 'top'\n\t\t| 'top-start'\n\t\t| 'top-end'\n\t\t| 'right'\n\t\t| 'right-start'\n\t\t| 'right-end'\n\t\t| 'bottom'\n\t\t| 'bottom-start'\n\t\t| 'bottom-end'\n\t\t| 'left'\n\t\t| 'left-start'\n\t\t| 'left-end' = 'bottom-start'\n\n\t/**\n\t * Offset distance in pixels\n\t */\n\t@property({ type: Number })\n\tdistance = 8\n\n\t@query('.trigger-container') triggerContainer!: HTMLElement\n\t@query('.dropdown-content-container') contentContainer!: HTMLElement\n\t@queryAssignedElements({ flatten: true }) contentElements!: HTMLElement[]\n\t@state() private portal: HTMLElement | null = null\n\n\t@queryAssignedElements({ slot: 'trigger', flatten: true })\n\ttriggerElements!: Array<HTMLElement>\n\n\tprivate cleanupPositioner?: () => void\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Create portal container for teleporting content to document body\n\t\tthis.setupPortal()\n\n\t\t// Listen for document clicks to close dropdown when clicking outside\n\t\tfromEvent<MouseEvent>(document, 'click')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => this.open && !this.isEventFromSelf(event)),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.open = false\n\t\t\t})\n\n\t\t// Listen for escape key to close dropdown\n\t\tfromEvent<KeyboardEvent>(document, 'keydown')\n\t\t\t.pipe(\n\t\t\t\tfilter(event => this.open && event.key === 'Escape'),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.open = false\n\t\t\t})\n\t}\n\n\t/**\n\t * Set up the portal element for teleporting content\n\t */\n\tprivate setupPortal() {\n\t\t// Check if portal container exists\n\t\tlet portalContainer = document.getElementById('schmancy-portal-container')\n\n\t\t// Create portal container if it doesn't exist\n\t\tif (!portalContainer) {\n\t\t\tportalContainer = document.createElement('div')\n\t\t\tportalContainer.id = 'schmancy-portal-container'\n\t\t\tportalContainer.style.position = 'fixed'\n\t\t\tportalContainer.style.zIndex = '10000'\n\t\t\tportalContainer.style.top = '0'\n\t\t\tportalContainer.style.left = '0'\n\t\t\tportalContainer.style.pointerEvents = 'none'\n\t\t\tdocument.body.appendChild(portalContainer)\n\t\t}\n\n\t\t// Create portal for this specific dropdown\n\t\tconst portal = document.createElement('div')\n\t\tportal.className = 'schmancy-dropdown-portal'\n\t\tportal.style.position = 'absolute'\n\t\tportal.style.pointerEvents = 'auto'\n\t\tportal.style.display = 'none'\n\t\tportalContainer.appendChild(portal)\n\n\t\tthis.portal = portal\n\t}\n\n\t/**\n\t * Check if an event originated from within this component\n\t */\n\tprivate isEventFromSelf(event: Event): boolean {\n\t\treturn event.composedPath().some(el => el === this)\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.cleanupPositioner?.()\n\n\t\t// Remove portal when component is disconnected\n\t\tif (this.portal) {\n\t\t\tthis.portal.remove()\n\t\t\tthis.portal = null\n\t\t}\n\n\t\tsuper.disconnectedCallback()\n\t}\n\n\t/**\n\t * Toggle the dropdown open state\n\t */\n\ttoggle() {\n\t\tthis.open = !this.open\n\t}\n\n\tupdated(changedProps: Map<string, any>) {\n\t\tsuper.updated(changedProps)\n\n\t\tif (changedProps.has('open')) {\n\t\t\tif (this.open) {\n\t\t\t\tthis.setupPositioner()\n\t\t\t} else {\n\t\t\t\tthis.cleanupPositioner?.()\n\n\t\t\t\t// Hide portal when dropdown is closed\n\t\t\t\tif (this.portal) {\n\t\t\t\t\tthis.portal.style.display = 'none'\n\t\t\t\t\tthis.portal.innerHTML = ''\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Setup floating UI positioning with teleportation\n\t */\n\tprivate setupPositioner() {\n\t\tif (!this.triggerContainer || !this.portal) return\n\n\t\t// Show the portal\n\t\tthis.portal.style.display = 'block'\n\n\t\t// Move content to portal\n\t\tthis.teleportContentToPortal()\n\n\t\t// Setup positioning\n\t\tthis.cleanupPositioner = autoUpdate(this.triggerContainer, this.portal, () => {\n\t\t\tcomputePosition(this.triggerContainer, this.portal, {\n\t\t\t\tplacement: this.placement,\n\t\t\t\tmiddleware: [\n\t\t\t\t\toffset(this.distance),\n\t\t\t\t\tflip({\n\t\t\t\t\t\tfallbackPlacements: ['top-start', 'bottom-start'],\n\t\t\t\t\t}),\n\t\t\t\t\tshift({ padding: 0 }),\n\t\t\t\t],\n\t\t\t}).then(({ x, y }) => {\n\t\t\t\t// Update portal position\n\t\t\t\tObject.assign(this.portal.style, {\n\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\ttop: `${y - 8}px`,\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\t}\n\n\t/**\n\t * Move slotted content to the portal\n\t */\n\tprivate teleportContentToPortal() {\n\t\tif (!this.portal) return\n\n\t\t// Clear existing content\n\t\tthis.portal.innerHTML = ''\n\n\t\t// Clone and move slotted content to portal\n\t\tthis.contentElements.forEach(element => {\n\t\t\t// Get computed styles to ensure portal content matches original styling\n\t\t\tconst clonedElement = element.cloneNode(true) as HTMLElement\n\n\t\t\t// Ensure dropdown-content elements maintain their styles when teleported\n\t\t\tif (element.tagName.toLowerCase() === 'schmancy-dropdown-content') {\n\t\t\t\tclonedElement.addEventListener('slotchange', () => {\n\t\t\t\t\t// Propagate any slot changes to class changes on children\n\t\t\t\t\tconst contentDiv = clonedElement.shadowRoot?.querySelector('[part=\"content\"]')\n\t\t\t\t\tif (contentDiv) {\n\t\t\t\t\t\tcontentDiv.classList.add('schmancy-dropdown-content')\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tthis.portal?.appendChild(clonedElement)\n\t\t})\n\t}\n\n\t/**\n\t * Handle trigger click to toggle dropdown\n\t */\n\tprivate handleTriggerClick(e: Event) {\n\t\te.stopPropagation()\n\t\tthis.toggle()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"trigger-container\" @click=${this.handleTriggerClick}>\n\t\t\t\t<slot name=\"trigger\"></slot>\n\t\t\t</div>\n\n\t\t\t<div class=\"dropdown-content-container\" ?hidden=${!this.open}>\n\t\t\t\t<slot\n\t\t\t\t\t@slotchange=${() => {\n\t\t\t\t\t\tif (this.open) {\n\t\t\t\t\t\t\tthis.teleportContentToPortal()\n\t\t\t\t\t\t\tthis.setupPositioner()\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-dropdown': SchmancyDropdown\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n/**\n * Content container for the schmancy-dropdown component.\n *\n * @element schmancy-dropdown-content\n * @slot - Default slot for dropdown content\n */\n@customElement('schmancy-dropdown-content')\nexport class SchmancyDropdownContent extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\tz-index: 1000;\n\t\tmin-width: 10rem;\n\t\tmargin: 0;\n\t\ttext-align: left;\n\t\tlist-style: none;\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\n\t\tbackground-clip: padding-box;\n\t\tborder-radius: 0.375rem;\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t\twill-change: transform;\n\t\ttransform-origin: top left;\n\t\tanimation: dropdownAnimation 0.1s ease-out forwards;\n\t}\n\n\t:host([hidden]) {\n\t\tdisplay: none;\n\t}\n\n\t@keyframes dropdownAnimation {\n\t\tfrom {\n\t\t\topacity: 0;\n\t\t\ttransform: scale(0.95);\n\t\t}\n\t\tto {\n\t\t\topacity: 1;\n\t\t\ttransform: scale(1);\n\t\t}\n\t}\n\n\t/* Apply styles to content both in the component and when teleported to the portal */\n\t.schmancy-dropdown-content {\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\n\t\tborder-radius: 0.375rem;\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t\twill-change: transform;\n\t\ttransform-origin: top left;\n\t\tanimation: dropdownAnimation 0.1s ease-out forwards;\n\t}\n`) {\n\t/**\n\t * Width of the dropdown content\n\t */\n\t@property({ type: String })\n\twidth: string = 'auto'\n\n\t/**\n\t * Maximum height of the dropdown content\n\t */\n\t@property({ type: String })\n\tmaxHeight: string = '80vh'\n\n\t/**\n\t * Whether to render with a shadow\n\t */\n\t@property({ type: Boolean })\n\tshadow: boolean = true\n\n\t/**\n\t * Border radius style\n\t */\n\t@property({ type: String })\n\tradius: 'none' | 'sm' | 'md' | 'lg' | 'full' = 'md'\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'schmancy-dropdown-content': true,\n\t\t\t'overflow-auto': true,\n\t\t\t'shadow-none': !this.shadow,\n\t\t\t'rounded-none': this.radius === 'none',\n\t\t\t'rounded-sm': this.radius === 'sm',\n\t\t\t'rounded-md': this.radius === 'md',\n\t\t\t'rounded-lg': this.radius === 'lg',\n\t\t\t'rounded-full': this.radius === 'full',\n\t\t}\n\n\t\tconst styles = {\n\t\t\twidth: this.width,\n\t\t\tmaxHeight: this.maxHeight,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=${this.classMap(classes)} style=${this.styleMap(styles)} part=\"content\">\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-dropdown-content': SchmancyDropdownContent\n\t}\n}\n"],"names":["SchmancyDropdown","$LitElement","css","super","arguments","this","open","placement","distance","portal","connectedCallback","setupPortal","fromEvent","document","pipe","filter","isEventFromSelf","event","takeUntil","disconnecting","subscribe","key","portalContainer","getElementById","createElement","id","style","position","zIndex","top","left","pointerEvents","body","appendChild","className","display","composedPath","some","el","cleanupPositioner","remove","disconnectedCallback","changedProps","updated","has","setupPositioner","innerHTML","triggerContainer","teleportContentToPortal","autoUpdate","computePosition","middleware","offset","flip","fallbackPlacements","shift","padding","then","x","y","Object","assign","contentElements","forEach","element","clonedElement","cloneNode","tagName","toLowerCase","addEventListener","contentDiv","shadowRoot","querySelector","classList","add","e","stopPropagation","toggle","html","handleTriggerClick","__decorateClass","property","type","Boolean","reflect","prototype","String","Number","query","queryAssignedElements","flatten","state","slot","customElement","SchmancyDropdownContent","TailwindElement","constructor","width","maxHeight","shadow","radius","classes","styles","classMap","styleMap"],"mappings":"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"}
package/dist/dropdown.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./dropdown-content-HRI7Jkak.cjs");Object.defineProperty(exports,"SchmancyDropdown",{enumerable:!0,get:()=>e.SchmancyDropdown}),Object.defineProperty(exports,"SchmancyDropdownContent",{enumerable:!0,get:()=>e.SchmancyDropdownContent});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./dropdown-content-DBk4DHeT.cjs");Object.defineProperty(exports,"SchmancyDropdown",{enumerable:!0,get:()=>e.SchmancyDropdown}),Object.defineProperty(exports,"SchmancyDropdownContent",{enumerable:!0,get:()=>e.SchmancyDropdownContent});
2
2
  //# sourceMappingURL=dropdown.cjs.map
package/dist/dropdown.js CHANGED
@@ -1,4 +1,4 @@
1
- import { S as a, a as c } from "./dropdown-content-DkKciM_R.js";
1
+ import { S as a, a as c } from "./dropdown-content-CU1cly-s.js";
2
2
  export {
3
3
  a as SchmancyDropdown,
4
4
  c as SchmancyDropdownContent
package/dist/extra.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./timezone-CdAu8QsM.cjs");Object.defineProperty(exports,"SchmancyCountriesSelect",{enumerable:!0,get:()=>e.SchmancyCountriesSelect}),Object.defineProperty(exports,"SchmancyTimezonesSelect",{enumerable:!0,get:()=>e.SchmancyTimezonesSelect});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./timezone-CeArJOdv.cjs");Object.defineProperty(exports,"SchmancyCountriesSelect",{enumerable:!0,get:()=>e.SchmancyCountriesSelect}),Object.defineProperty(exports,"SchmancyTimezonesSelect",{enumerable:!0,get:()=>e.SchmancyTimezonesSelect});
2
2
  //# sourceMappingURL=extra.cjs.map
package/dist/extra.js CHANGED
@@ -1,4 +1,4 @@
1
- import { S as a, a as S } from "./timezone-DwU-YCRw.js";
1
+ import { S as a, a as S } from "./timezone-EnguJE1R.js";
2
2
  export {
3
3
  a as SchmancyCountriesSelect,
4
4
  S as SchmancyTimezonesSelect
@@ -3,7 +3,7 @@ import { property as t, customElement as v, queryAssignedElements as $, query as
3
3
  import { classMap as I } from "lit/directives/class-map.js";
4
4
  import { styleMap as L } from "lit/directives/style-map.js";
5
5
  import { fromEvent as k, map as S, startWith as D, distinctUntilChanged as U, takeUntil as x, debounceTime as H, filter as A } from "rxjs";
6
- import { T as R } from "./tailwind.mixin-DPUboU_5.js";
6
+ import { T as R } from "./tailwind.mixin-DRbXmwPy.js";
7
7
  var F = Object.defineProperty, i = (r, o, p, l) => {
8
8
  for (var n, e = void 0, a = r.length - 1; a >= 0; a--) (n = r[a]) && (e = n(o, p, e) || e);
9
9
  return e && F(o, p, e), e;
@@ -235,4 +235,4 @@ export {
235
235
  f as b,
236
236
  y as c
237
237
  };
238
- //# sourceMappingURL=flex-DHA02Mfw.js.map
238
+ //# sourceMappingURL=flex-CujhhojR.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"flex-DHA02Mfw.js","sources":["../src/layout/layout.ts","../src/layout/flex/flex.ts","../src/layout/grid/grid.ts","../src/layout/scroll/scroll.ts","../src/layout/v2/flex.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { property } from 'lit/decorators.js'\n\nexport default class Layout extends TailwindElement() {\n\tstatic styles = [this.styles]\n\tlayout = true\n\t@property({ type: Boolean }) center: boolean | undefined = undefined\n\t@property({ type: String }) padding: string | undefined\n\t@property({ type: String }) margin: string | undefined\n\t@property({ type: String }) width: string | undefined\n\t@property({ type: String }) height: string | undefined\n\t@property({ type: String }) minWidth: string | undefined\n\t@property({ type: String }) minHeight: string | undefined\n\t@property({ type: String }) maxWidth: string | undefined\n\t@property({ type: String }) maxHeight: string | undefined\n\t@property({ type: String }) display:\n\t\t| 'block'\n\t\t| 'inline-block'\n\t\t| 'inline'\n\t\t| 'flex'\n\t\t| 'inline-flex'\n\t\t| 'grid'\n\t\t| 'inline-grid'\n\t\t| 'table'\n\t\t| 'inline-table'\n\t\t| 'flow-root'\n\t\t| 'none'\n\t\t| undefined = undefined\n\t@property({ type: String }) overflow: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) overflowX: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) overflowY: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) position: 'static' | 'relative' | 'absolute' | 'fixed' | 'sticky' | undefined = undefined\n\t@property({ type: String }) top: string | undefined\n\t@property({ type: String }) right: string | undefined\n\t@property({ type: String }) bottom: string | undefined\n\t@property({ type: String }) left: string | undefined\n\t@property({ type: String }) inset: string | undefined\n\t@property({ type: String }) zIndex: string | undefined\n\n\t@property({ type: String }) border: string | undefined\n\t@property({ type: String }) borderTop: string | undefined\n\t@property({ type: String }) borderRight: string | undefined\n\t@property({ type: String }) borderBottom: string | undefined\n\t@property({ type: String }) borderLeft: string | undefined\n\t@property({ type: String }) borderColor: string | undefined\n\t@property({ type: String }) borderRadius: string | undefined\n\t@property({ type: String }) borderWidth: string | undefined\n\n\t@property({ type: String }) boxShadow: string | undefined\n\t@property({ type: String }) opacity: string | undefined\n\t@property({ type: String }) background: string | undefined\n\t@property({ type: String }) backgroundImage: string | undefined\n\t@property({ type: String }) backgroundPosition: string | undefined\n\t@property({ type: String }) backgroundSize: string | undefined\n\t@property({ type: String }) backgroundRepeat: string | undefined\n\t@property({ type: String }) backgroundAttachment: string | undefined\n\t@property({ type: String }) backgroundColor: string | undefined\n\t@property({ type: String }) backgroundClip: string | undefined\n\t@property({ type: String }) backgroundOrigin: string | undefined\n\t@property({ type: String }) backgroundBlendMode: string | undefined\n\t@property({ type: String }) filter: string | undefined\n\t@property({ type: String }) backdropFilter: string | undefined\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.style.setProperty('padding', this.padding ?? '')\n\t\tthis.style.setProperty('margin', this.margin ?? '')\n\t\tthis.style.setProperty('width', this.width ?? '')\n\t\tthis.style.setProperty('height', this.height ?? '')\n\t\tthis.style.setProperty('min-width', this.minWidth ?? '')\n\t\tthis.style.setProperty('min-height', this.minHeight ?? '')\n\t\tthis.style.setProperty('max-width', this.maxWidth ?? '')\n\t\tthis.style.setProperty('max-height', this.maxHeight ?? '')\n\t\tthis.style.setProperty('display', this.display ?? '')\n\t\tthis.style.setProperty('overflow', this.overflow ?? '')\n\t\tthis.style.setProperty('overflow-x', this.overflowX ?? '')\n\t\tthis.style.setProperty('overflow-y', this.overflowY ?? '')\n\t\tthis.style.setProperty('position', this.position ?? '')\n\t\tthis.style.setProperty('top', this.top ?? '')\n\t\tthis.style.setProperty('right', this.right ?? '')\n\t\tthis.style.setProperty('bottom', this.bottom ?? '')\n\t\tthis.style.setProperty('left', this.left ?? '')\n\t\tthis.style.setProperty('inset', this.inset ?? '')\n\t\tthis.style.setProperty('z-index', this.zIndex ?? '')\n\t\tthis.style.setProperty('border', this.border ?? '')\n\t\tthis.style.setProperty('border-top', this.borderTop ?? '')\n\t\tthis.style.setProperty('border-right', this.borderRight ?? '')\n\t\tthis.style.setProperty('border-bottom', this.borderBottom ?? '')\n\t\tthis.style.setProperty('border-left', this.borderLeft ?? '')\n\t\tthis.style.setProperty('border-color', this.borderColor ?? '')\n\t\tthis.style.setProperty('border-radius', this.borderRadius ?? '')\n\t\tthis.style.setProperty('border-width', this.borderWidth ?? '')\n\t\tthis.style.setProperty('box-shadow', this.boxShadow ?? '')\n\t\tthis.style.setProperty('opacity', this.opacity ?? '')\n\t\tthis.style.setProperty('background', this.background ?? '')\n\t\tthis.style.setProperty('background-image', this.backgroundImage ?? '')\n\t\tthis.style.setProperty('background-position', this.backgroundPosition ?? '')\n\t\tthis.style.setProperty('background-size', this.backgroundSize ?? '')\n\t\tthis.style.setProperty('background-repeat', this.backgroundRepeat ?? '')\n\t\tthis.style.setProperty('background-attachment', this.backgroundAttachment ?? '')\n\t\tthis.style.setProperty('background-color', this.backgroundColor ?? '')\n\t\tthis.style.setProperty('background-clip', this.backgroundClip ?? '')\n\t\tthis.style.setProperty('background-origin', this.backgroundOrigin ?? '')\n\t\tthis.style.setProperty('background-blend-mode', this.backgroundBlendMode ?? '')\n\t\tthis.style.setProperty('filter', this.filter ?? '')\n\t\tthis.style.setProperty('backdrop-filter', this.backdropFilter ?? '')\n\t\tif (this.center) {\n\t\t\tthis.style.setProperty('margin-left', 'auto')\n\t\t\tthis.style.setProperty('margin-right', 'auto')\n\t\t}\n\t}\n}\n","import { html, unsafeCSS } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { styleMap } from 'lit/directives/style-map.js'\nimport Layout from '../layout'\nimport style from './flex.scss?inline'\n@customElement('schmancy-flex')\nexport class SchmancyFlex extends Layout {\n\tstatic styles = [Layout.styles, unsafeCSS(style)]\n\tlayout = true\n\t@property({ type: String, reflect: true }) flow: 'row' | 'row-reverse' | 'col' | 'col-reverse' = 'col'\n\t@property({ type: String, reflect: true }) wrap: 'wrap' | 'nowrap' | 'wrap-reverse' = 'wrap'\n\t@property({ type: String, reflect: true }) align: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'start'\n\t@property({ type: String, reflect: true }) justify: 'start' | 'center' | 'end' | 'stretch' | 'between' = 'start'\n\t@property({ type: String, reflect: true }) gap: 'none' | 'sm' | 'md' | 'lg' = 'none'\n\n\trender() {\n\t\tconst classes = {\n\t\t\tflex: true,\n\t\t\t// Direction\n\t\t\t'flex-col': this.flow === 'row',\n\t\t\t'flex-col-reverse': this.flow === 'row-reverse',\n\t\t\t'flex-row': this.flow === 'col',\n\t\t\t'flex-row-reverse': this.flow === 'col-reverse',\n\t\t\t// Wrap\n\t\t\t'flex-wrap': this.wrap === 'wrap',\n\t\t\t'flex-wrap-reverse': this.wrap === 'wrap-reverse',\n\t\t\t'flex-nowrap': this.wrap === 'nowrap',\n\t\t\t// Align\n\t\t\t'items-start': this.align === 'start',\n\t\t\t'items-center': this.align === 'center',\n\t\t\t'items-end': this.align === 'end',\n\t\t\t'items-stretch': this.align === 'stretch',\n\t\t\t'justify-baseline': this.align === 'baseline',\n\n\t\t\t// Justify\n\t\t\t'justify-center': this.justify === 'center',\n\t\t\t'justify-end': this.justify === 'end',\n\t\t\t'justify-start': this.justify === 'start',\n\t\t\t'justify-stretch': this.justify === 'stretch',\n\t\t\t'justify-between': this.justify === 'between',\n\n\t\t\t// Gap\n\t\t\t'gap-0': this.gap === 'none',\n\t\t\t'gap-2': this.gap === 'sm',\n\t\t\t'gap-4': this.gap === 'md',\n\t\t\t'gap-8': this.gap === 'lg',\n\t\t}\n\n\t\tconst styles = {}\n\t\treturn html`\n\t\t\t<section class=${classMap(classes)} style=${styleMap(styles)}>\n\t\t\t\t<slot></slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-flex': SchmancyFlex\n\t}\n}\n","import { html, unsafeCSS } from 'lit'\nimport { customElement, property, queryAssignedElements } from 'lit/decorators.js'\nimport { debounceTime, distinctUntilChanged, fromEvent, map, startWith, takeUntil } from 'rxjs'\nimport Layout from '../layout'\nimport style from './grid.scss?inline'\n\n@customElement('schmancy-grid')\nexport class SchmancyGrid extends Layout {\n\tstatic styles = [Layout.styles, unsafeCSS(style)]\n\tlayout = true\n\t@property({ type: String }) flow: 'row' | 'col' | 'dense' | 'row-dense' | 'col-dense' = 'row'\n\t@property({ type: String }) align: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'stretch'\n\t@property({ type: String }) justify: 'start' | 'center' | 'end' | 'stretch' = 'stretch'\n\t@property({ type: String }) content: 'start' | 'center' | 'end' | 'stretch' | 'around' | 'evenly' | 'between' =\n\t\t'stretch'\n\t@property({ type: String }) gap: 'none' | 'xs' | 'sm' | 'md' | 'lg' = 'none'\n\n\t@property({ type: String }) cols?: string\n\t@property({ type: String }) rows?: string\n\t@property({ type: Object }) rcols?: {\n\t\txs?: string | number\n\t\tsm?: string | number\n\t\tmd?: string | number\n\t\tlg?: string | number\n\t\txl?: string | number\n\t\t'2xl'?: string | number\n\t}\n\n\t@property({ type: Boolean }) wrap = false\n\n\t@queryAssignedElements() assignedElements!: HTMLElement[]\n\n\tfirstUpdated() {\n\t\tif (this.rcols)\n\t\t\tfromEvent<CustomEvent>(window, 'resize')\n\t\t\t\t.pipe(\n\t\t\t\t\tmap(event => event.target as Window),\n\t\t\t\t\tstartWith(1),\n\t\t\t\t\tmap(() => (this.clientWidth ? this.clientWidth : window.innerWidth)),\n\t\t\t\t\tdistinctUntilChanged(),\n\t\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\t\tdebounceTime(10),\n\t\t\t\t\tmap(w => {\n\t\t\t\t\t\tlet cols\n\t\t\t\t\t\tif (this.rcols?.['2xl'] && w >= 1536) cols = this.rcols?.['2xl']\n\t\t\t\t\t\telse if (this.rcols?.xl && w >= 1280) cols = this.rcols?.xl\n\t\t\t\t\t\telse if (this.rcols?.lg && w >= 1024) cols = this.rcols?.lg\n\t\t\t\t\t\telse if (this.rcols?.md && w >= 768) cols = this.rcols?.md\n\t\t\t\t\t\telse if (this.rcols?.sm && w >= 640) cols = this.rcols?.sm\n\t\t\t\t\t\telse if (this.rcols?.xs && w < 640) cols = this.rcols?.xs\n\t\t\t\t\t\treturn cols\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\t.subscribe(cols => {\n\t\t\t\t\tthis.cols = cols\n\t\t\t\t})\n\t}\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'h-full': true,\n\t\t\t'grid flex-1': true,\n\t\t\t// flow classes: https://tailwindcss.com/docs/grid-auto-flow\n\t\t\t'grid-flow-row auto-rows-max': this.flow === 'row',\n\t\t\t'grid-flow-col auto-cols-max': this.flow === 'col',\n\t\t\t'grid-flow-row-dense': this.flow === 'row-dense',\n\t\t\t'grid-flow-col-dense': this.flow === 'col-dense',\n\t\t\t'grid-flow-dense': this.flow === 'dense',\n\n\t\t\t'justify-center': this.content === 'center',\n\t\t\t'justify-end': this.content === 'end',\n\t\t\t'justify-start': this.content === 'start',\n\t\t\t'justify-stretch': this.content === 'stretch',\n\t\t\t'justify-between': this.content === 'between',\n\t\t\t'justify-around': this.content === 'around',\n\t\t\t'justify-evenly': this.content === 'evenly',\n\n\t\t\t'justify-items-center': this.justify === 'center',\n\t\t\t'justify-items-end': this.justify === 'end',\n\t\t\t'justify-items-start': this.justify === 'start',\n\t\t\t'justify-items-stretch': this.justify === 'stretch',\n\t\t\t'items-center': this.align === 'center',\n\t\t\t'items-end': this.align === 'end',\n\t\t\t'items-start': this.align === 'start',\n\t\t\t'items-stretch': this.align === 'stretch',\n\t\t\t'items-baseline': this.align === 'baseline',\n\t\t\t'gap-0': this.gap === 'none',\n\t\t\t'gap-1': this.gap === 'xs',\n\t\t\t'gap-2': this.gap === 'sm',\n\t\t\t'gap-4': this.gap === 'md',\n\t\t\t'gap-8': this.gap === 'lg',\n\t\t\t'flex-nowrap': this.wrap,\n\t\t\t'flex-wrap': !this.wrap,\n\t\t}\n\t\tconst style = {\n\t\t\tgridTemplateRows: this.rows ? this.rows : undefined,\n\t\t\tgridTemplateColumns: this.cols ? this.cols : undefined,\n\t\t}\n\t\treturn html`\n\t\t\t<section class=\"${this.classMap(classes)}\" style=${this.styleMap(style)}>\n\t\t\t\t<slot> </slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-grid': SchmancyGrid\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { debounceTime, filter, fromEvent, takeUntil } from 'rxjs'\n\n/**\n * Custom scroll event interface for the SchmancyScroll component.\n * Contains detailed information about the scroll state.\n */\nexport interface SchmancyScrollEvent\n\textends CustomEvent<{\n\t\t/** Current scroll position from the top */\n\t\tscrollTop: number\n\t\t/** Total scrollable height of the content */\n\t\tscrollHeight: number\n\t\t/** Visible height of the container */\n\t\tclientHeight: number\n\t\t/** Original scroll event */\n\t\te: Event\n\t\t/** Current scroll position from the left (for horizontal scrolling) */\n\t\tscrollLeft?: number\n\t\t/** Total scrollable width of the content (for horizontal scrolling) */\n\t\tscrollWidth?: number\n\t\t/** Visible width of the container (for horizontal scrolling) */\n\t\tclientWidth?: number\n\t}> {}\n\n/**\n * Command event interface for controlling SchmancyScroll components\n */\nexport interface SchmancyScrollCommandEvent\n\textends CustomEvent<{\n\t\t/** Target component name */\n\t\tname: string\n\t\t/** Command action to perform */\n\t\taction: 'scrollTo'\n\t\t/** Scroll position for scrollTo action */\n\t\ttop: number\n\t\t/** Horizontal scroll position for scrollTo action (optional) */\n\t\tleft?: number\n\t}> {}\n\n// Augment the HTMLElementEventMap to include our custom events\ndeclare global {\n\tinterface HTMLElementEventMap {\n\t\tscroll: SchmancyScrollEvent\n\t\t'schmancy-scroll-command': SchmancyScrollCommandEvent\n\t}\n}\n\n/**\n * A custom scrollable container with enhanced features.\n *\n * @fires {SchmancyScrollEvent} scroll - Fired when scrolling occurs (with a configurable debounce)\n * @slot - Default slot for content to be scrolled\n * @csspart scroller - The inner scrollable div element\n *\n * @example\n * ```html\n * <schmancy-scroll hide name=\"main-content\">\n * <div>Scrollable content goes here</div>\n * </schmancy-scroll>\n * ```\n *\n * @example\n * ```html\n * <schmancy-scroll direction=\"horizontal\" hide name=\"image-carousel\">\n * <div class=\"flex\">\n * <img src=\"image1.jpg\" alt=\"Image 1\">\n * <img src=\"image2.jpg\" alt=\"Image 2\">\n * </div>\n * </schmancy-scroll>\n * ```\n */\n@customElement('schmancy-scroll')\nexport class SchmancyScroll extends TailwindElement(css`\n\t:host {\n\t\theight: 100%;\n\t\twidth: 100%;\n\t\toverflow: hidden;\n\t\tbox-sizing: border-box; /* Ensures proper sizing */\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tinset: 0px;\n\t}\n\t.scrollbar-hide {\n\t\t-ms-overflow-style: none; /* IE and Edge */\n\t\tscrollbar-width: none; /* Firefox */\n\t}\n\t.scrollbar-hide::-webkit-scrollbar {\n\t\tdisplay: none; /* Chrome, Safari, and Opera */\n\t}\n`) {\n\t/**\n\t * Determines whether the scrollbar is hidden.\n\t *\n\t * When `hide` is true, the inner scrollable div receives the `scrollbar-hide` class,\n\t * which hides scrollbars in supported browsers.\n\t *\n\t * @attr hide\n\t * @example <schmancy-scroll hide></schmancy-scroll>\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpublic hide = false\n\n\t/**\n\t * Optional name identifier for the component.\n\t * Used for targeting this specific component with global events.\n\t *\n\t * @attr name\n\t * @example <schmancy-scroll name=\"main-content\"></schmancy-scroll>\n\t */\n\t@property({ type: String, reflect: true })\n\tpublic name?: string\n\n\t/**\n\t * Direction of scrolling: vertical, horizontal, or both.\n\t * - vertical: Only allows vertical scrolling\n\t * - horizontal: Only allows horizontal scrolling\n\t * - both: Allows both horizontal and vertical scrolling (default)\n\t *\n\t * @attr direction\n\t * @example <schmancy-scroll direction=\"horizontal\"></schmancy-scroll>\n\t */\n\t@property({ type: String, reflect: true })\n\tpublic direction: 'vertical' | 'horizontal' | 'both' = 'both'\n\n\t/**\n\t * Reference to the inner scrollable div element\n\t * @public\n\t */\n\t@query('#scroller')\n\tscroller!: HTMLElement\n\n\t/**\n\t * Debounce time in milliseconds for the scroll event.\n\t * Higher values reduce the frequency of scroll events being dispatched.\n\t *\n\t * @attr debounce\n\t * @example <schmancy-scroll debounce=\"50\"></schmancy-scroll>\n\t */\n\t@property({ type: Number })\n\tpublic debounce = 10\n\n\t/**\n\t * Scrolls the container to the specified position\n\t * @param options - ScrollToOptions or a number representing the top position\n\t * @param top - For backward compatibility, if options is a number, this is treated as \"behavior\"\n\t */\n\tpublic override scrollTo(options?: ScrollToOptions | number, top?: number): void {\n\t\tif (!this.scroller) return\n\n\t\tif (typeof options === 'number') {\n\t\t\t// Legacy support for scrollTo(top, behavior)\n\t\t\tthis.scroller.scrollTo({\n\t\t\t\ttop: options,\n\t\t\t\tbehavior: top ? 'smooth' : 'auto',\n\t\t\t})\n\t\t} else if (options) {\n\t\t\tthis.scroller.scrollTo(options)\n\t\t} else {\n\t\t\tthis.scroller.scrollTo({\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0,\n\t\t\t\tbehavior: 'auto',\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * Scrolls the container horizontally to the specified position\n\t * @param left - The horizontal position to scroll to (in pixels)\n\t * @param behavior - The scroll behavior ('auto' or 'smooth')\n\t */\n\tpublic scrollToLeft(left: number, behavior: ScrollBehavior = 'auto'): void {\n\t\tif (this.scroller) {\n\t\t\tthis.scroller.scrollTo({\n\t\t\t\tleft,\n\t\t\t\tbehavior,\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * Called after the component's first update\n\t * Sets up the scroll event listener with debouncing\n\t * @protected\n\t */\n\tprotected firstUpdated(): void {\n\t\t// Set up scroll event listening with debounce\n\t\tfromEvent(this.scroller, 'scroll', {\n\t\t\tpassive: true,\n\t\t})\n\t\t\t.pipe(\n\t\t\t\tdebounceTime(this.debounce),\n\t\t\t\ttakeUntil(this.disconnecting), // Unsubscribe when the element is destroyed\n\t\t\t)\n\t\t\t.subscribe(e => {\n\t\t\t\t// Always include the original required properties for backward compatibility\n\t\t\t\tconst scrollTop = this.scroller.scrollTop\n\t\t\t\tconst scrollHeight = this.scroller.scrollHeight\n\t\t\t\tconst clientHeight = this.scroller.clientHeight\n\n\t\t\t\t// Include horizontal scroll information as optional properties\n\t\t\t\tconst scrollLeft = this.scroller.scrollLeft\n\t\t\t\tconst scrollWidth = this.scroller.scrollWidth\n\t\t\t\tconst clientWidth = this.scroller.clientWidth\n\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('scroll', {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t// Original required properties first\n\t\t\t\t\t\t\tscrollTop,\n\t\t\t\t\t\t\tscrollHeight,\n\t\t\t\t\t\t\tclientHeight,\n\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t// New optional properties last\n\t\t\t\t\t\t\tscrollLeft,\n\t\t\t\t\t\t\tscrollWidth,\n\t\t\t\t\t\t\tclientWidth,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}) as SchmancyScrollEvent,\n\t\t\t\t)\n\t\t\t})\n\n\t\t// Set up global command event listener\n\t\tfromEvent<SchmancyScrollCommandEvent>(window, '@schmancy:scrollTo')\n\t\t\t.pipe(\n\t\t\t\t// Only process events targeting this component by name\n\t\t\t\tfilter(e => this.name !== undefined && e.detail.name === this.name),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(e => {\n\t\t\t\tif (e.detail.action === 'scrollTo' && typeof e.detail.top === 'number') {\n\t\t\t\t\tconst options: ScrollToOptions = {\n\t\t\t\t\t\tbehavior: 'smooth',\n\t\t\t\t\t\ttop: e.detail.top, // Required for backward compatibility\n\t\t\t\t\t}\n\n\t\t\t\t\t// Add optional left position if provided\n\t\t\t\t\tif (typeof e.detail.left === 'number') {\n\t\t\t\t\t\toptions.left = e.detail.left\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.scrollTo(options)\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\t/**\n\t * Renders the component template\n\t * @returns {TemplateResult} The template to render\n\t * @protected\n\t */\n\tprotected render() {\n\t\t// The classes are dynamically assigned based on the properties\n\t\tconst classes = {\n\t\t\t'h-full w-full inset-0 scroll-smooth overscroll-contain': true,\n\t\t\t'overflow-y-auto': this.direction !== 'horizontal',\n\t\t\t'overflow-y-hidden': this.direction === 'horizontal',\n\t\t\t'overflow-x-auto': this.direction !== 'vertical',\n\t\t\t'overflow-x-hidden': this.direction === 'vertical',\n\t\t\t'scrollbar-hide': this.hide,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=\"relative inset-0 h-full w-full overscroll-none\">\n\t\t\t\t<div id=\"scroller\" part=\"scroller\" class=${this.classMap(classes)}>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-scroll': SchmancyScroll\n\t}\n}\n","import { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport Layout from '../layout'\n\n/**\n * SchmancyFlex exposes a flex container with all the Tailwind CSS 4 options:\n *\n * - **Display**: By default uses `flex` but can be set to inline using the `inline` property.\n * - **Flow**: Accepts 'row', 'row-reverse', 'col', 'col-reverse' as well as grid‐like dense variants:\n * - Dense variants (`row-dense`, `col-dense`) force wrapping.\n * - **Wrap**: 'wrap', 'nowrap', or 'wrap-reverse'\n * - **Align Items**: 'start', 'center', 'end', 'stretch', or 'baseline'\n * - **Justify Content**: 'start', 'center', 'end', 'between', 'around', or 'evenly'\n * - **Align Content** (for multi-line flex containers): 'start', 'center', 'end', 'between', 'around', or 'evenly'\n * - **Gap**: Supports Tailwind’s spacing scale (e.g. 'none', '0', '1', '2', …, '64')\n */\n@customElement('sch-flex')\nexport class SchmancyFlexV2 extends Layout {\n\tstatic styles = [\n\t\tLayout.styles,\n\t\tcss`\n\t\t\t:host {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t`,\n\t]\n\t// If true, the container will use inline-flex instead of flex.\n\t@property({ type: Boolean, reflect: true })\n\tinline = false\n\n\t/**\n\t * Flow property that determines the flex direction.\n\t * Allowed values:\n\t * - Standard: 'row', 'row-reverse', 'col', 'col-reverse'\n\t * - Dense variants: 'row-dense', 'col-dense' (dense implies wrapping)\n\t */\n\t@property({ type: String, reflect: true })\n\tflow: 'row' | 'row-reverse' | 'col' | 'col-reverse' | 'row-dense' | 'col-dense' = 'row'\n\n\t/**\n\t * Flex-wrap options:\n\t * - 'wrap', 'nowrap', or 'wrap-reverse'\n\t */\n\t@property({ type: String, reflect: true })\n\twrap: 'wrap' | 'nowrap' | 'wrap-reverse' = 'wrap'\n\n\t/**\n\t * Align-items (vertical alignment of flex items):\n\t * - 'start', 'center', 'end', 'stretch', or 'baseline'\n\t */\n\t@property({ type: String, reflect: true })\n\talign: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'stretch'\n\n\t/**\n\t * Justify-content (horizontal distribution):\n\t * - 'start', 'center', 'end', 'between', 'around', or 'evenly'\n\t */\n\t@property({ type: String, reflect: true })\n\tjustify: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly' = 'start'\n\n\t/**\n\t * Align-content (spacing between rows when wrapping):\n\t * - 'start', 'center', 'end', 'between', 'around', or 'evenly'\n\t */\n\t@property({ type: String, reflect: true })\n\tcontent?: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly'\n\n\t/**\n\t * Gap between flex items.\n\t * Options (based on Tailwind CSS 4 spacing scale):\n\t * - 'none', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '12', '16', '20', '24', '32', '40', '48', '56', or '64'\n\t */\n\t@property({ type: String, reflect: true })\n\tgap:\n\t\t| 'none'\n\t\t| '0'\n\t\t| '1'\n\t\t| '2'\n\t\t| '3'\n\t\t| '4'\n\t\t| '5'\n\t\t| '6'\n\t\t| '7'\n\t\t| '8'\n\t\t| '9'\n\t\t| '10'\n\t\t| '12'\n\t\t| '16'\n\t\t| '20'\n\t\t| '24'\n\t\t| '32'\n\t\t| '40'\n\t\t| '48'\n\t\t| '56'\n\t\t| '64' = 'none'\n\n\trender() {\n\t\t// Determine whether to use inline-flex or flex.\n\t\tconst baseDisplay = this.inline ? 'inline-flex' : 'flex'\n\n\t\t// Map the flow property to a flex-direction class.\n\t\t// (Dense variants use the same class as their standard counterparts.)\n\t\tlet directionClass = ''\n\t\tswitch (this.flow) {\n\t\t\tcase 'row':\n\t\t\tcase 'row-dense':\n\t\t\t\tdirectionClass = 'flex-row'\n\t\t\t\tbreak\n\t\t\tcase 'row-reverse':\n\t\t\t\tdirectionClass = 'flex-row-reverse'\n\t\t\t\tbreak\n\t\t\tcase 'col':\n\t\t\tcase 'col-dense':\n\t\t\t\tdirectionClass = 'flex-col'\n\t\t\t\tbreak\n\t\t\tcase 'col-reverse':\n\t\t\t\tdirectionClass = 'flex-col-reverse'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tdirectionClass = 'flex-row'\n\t\t}\n\n\t\t// Dense variants force wrapping regardless of the wrap property.\n\t\tconst isDense = this.flow === 'row-dense' || this.flow === 'col-dense'\n\t\tconst effectiveWrap = isDense ? 'wrap' : this.wrap\n\n\t\tlet wrapClass = ''\n\t\tswitch (effectiveWrap) {\n\t\t\tcase 'wrap':\n\t\t\t\twrapClass = 'flex-wrap'\n\t\t\t\tbreak\n\t\t\tcase 'nowrap':\n\t\t\t\twrapClass = 'flex-nowrap'\n\t\t\t\tbreak\n\t\t\tcase 'wrap-reverse':\n\t\t\t\twrapClass = 'flex-wrap-reverse'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\twrapClass = 'flex-wrap'\n\t\t}\n\n\t\t// Map align-items.\n\t\tlet alignClass = ''\n\t\tswitch (this.align) {\n\t\t\tcase 'start':\n\t\t\t\talignClass = 'items-start'\n\t\t\t\tbreak\n\t\t\tcase 'center':\n\t\t\t\talignClass = 'items-center'\n\t\t\t\tbreak\n\t\t\tcase 'end':\n\t\t\t\talignClass = 'items-end'\n\t\t\t\tbreak\n\t\t\tcase 'stretch':\n\t\t\t\talignClass = 'items-stretch'\n\t\t\t\tbreak\n\t\t\tcase 'baseline':\n\t\t\t\talignClass = 'items-baseline'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\talignClass = 'items-stretch'\n\t\t}\n\n\t\t// Map justify-content.\n\t\tlet justifyClass = ''\n\t\tswitch (this.justify) {\n\t\t\tcase 'start':\n\t\t\t\tjustifyClass = 'justify-start'\n\t\t\t\tbreak\n\t\t\tcase 'center':\n\t\t\t\tjustifyClass = 'justify-center'\n\t\t\t\tbreak\n\t\t\tcase 'end':\n\t\t\t\tjustifyClass = 'justify-end'\n\t\t\t\tbreak\n\t\t\tcase 'between':\n\t\t\t\tjustifyClass = 'justify-between'\n\t\t\t\tbreak\n\t\t\tcase 'around':\n\t\t\t\tjustifyClass = 'justify-around'\n\t\t\t\tbreak\n\t\t\tcase 'evenly':\n\t\t\t\tjustifyClass = 'justify-evenly'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tjustifyClass = 'justify-start'\n\t\t}\n\n\t\t// Map align-content (if provided).\n\t\tlet contentClass = ''\n\t\tif (this.content) {\n\t\t\tswitch (this.content) {\n\t\t\t\tcase 'start':\n\t\t\t\t\tcontentClass = 'content-start'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'center':\n\t\t\t\t\tcontentClass = 'content-center'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'end':\n\t\t\t\t\tcontentClass = 'content-end'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'between':\n\t\t\t\t\tcontentClass = 'content-between'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'around':\n\t\t\t\t\tcontentClass = 'content-around'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'evenly':\n\t\t\t\t\tcontentClass = 'content-evenly'\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\t// Map gap value.\n\t\tconst gapClass = this.gap === 'none' ? 'gap-0' : `gap-${this.gap}`\n\n\t\t// Build the complete list of classes.\n\t\tconst classes = [baseDisplay, directionClass, wrapClass, alignClass, justifyClass, contentClass, gapClass]\n\t\t\t.filter(Boolean)\n\t\t\t.join(' ')\n\n\t\treturn html`\n\t\t\t<section class=${classes}>\n\t\t\t\t<slot></slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'sch-flex': SchmancyFlexV2\n\t}\n}\n"],"names":["Layout","TailwindElement","constructor","super","arguments","this","layout","center","display","overflow","overflowX","overflowY","position","connectedCallback","style","setProperty","padding","margin","width","height","minWidth","minHeight","maxWidth","maxHeight","top","right","bottom","left","inset","zIndex","border","borderTop","borderRight","borderBottom","borderLeft","borderColor","borderRadius","borderWidth","boxShadow","opacity","background","backgroundImage","backgroundPosition","backgroundSize","backgroundRepeat","backgroundAttachment","backgroundColor","backgroundClip","backgroundOrigin","backgroundBlendMode","filter","backdropFilter","styles","_m","__decorateClass","property","type","Boolean","prototype","String","SchmancyFlex","flow","wrap","align","justify","gap","render","classes","flex","html","classMap","styleMap","unsafeCSS","reflect","customElement","SchmancyGrid","content","rcols","fromEvent","window","pipe","map","event","target","startWith","clientWidth","innerWidth","distinctUntilChanged","takeUntil","disconnecting","debounceTime","w","cols","xl","lg","md","sm","xs","subscribe","gridTemplateRows","rows","gridTemplateColumns","Object","queryAssignedElements","SchmancyScroll","css","hide","direction","debounce","options","scroller","scrollTo","behavior","passive","e","scrollTop","scrollHeight","clientHeight","scrollLeft","scrollWidth","dispatchEvent","CustomEvent","detail","bubbles","composed","name","action","query","Number","SchmancyFlexV2","inline","baseDisplay","directionClass","wrapClass","alignClass","justifyClass","contentClass","join"],"mappings":"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"}
1
+ {"version":3,"file":"flex-CujhhojR.js","sources":["../src/layout/layout.ts","../src/layout/flex/flex.ts","../src/layout/grid/grid.ts","../src/layout/scroll/scroll.ts","../src/layout/v2/flex.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { property } from 'lit/decorators.js'\n\nexport default class Layout extends TailwindElement() {\n\tstatic styles = [this.styles]\n\tlayout = true\n\t@property({ type: Boolean }) center: boolean | undefined = undefined\n\t@property({ type: String }) padding: string | undefined\n\t@property({ type: String }) margin: string | undefined\n\t@property({ type: String }) width: string | undefined\n\t@property({ type: String }) height: string | undefined\n\t@property({ type: String }) minWidth: string | undefined\n\t@property({ type: String }) minHeight: string | undefined\n\t@property({ type: String }) maxWidth: string | undefined\n\t@property({ type: String }) maxHeight: string | undefined\n\t@property({ type: String }) display:\n\t\t| 'block'\n\t\t| 'inline-block'\n\t\t| 'inline'\n\t\t| 'flex'\n\t\t| 'inline-flex'\n\t\t| 'grid'\n\t\t| 'inline-grid'\n\t\t| 'table'\n\t\t| 'inline-table'\n\t\t| 'flow-root'\n\t\t| 'none'\n\t\t| undefined = undefined\n\t@property({ type: String }) overflow: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) overflowX: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) overflowY: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) position: 'static' | 'relative' | 'absolute' | 'fixed' | 'sticky' | undefined = undefined\n\t@property({ type: String }) top: string | undefined\n\t@property({ type: String }) right: string | undefined\n\t@property({ type: String }) bottom: string | undefined\n\t@property({ type: String }) left: string | undefined\n\t@property({ type: String }) inset: string | undefined\n\t@property({ type: String }) zIndex: string | undefined\n\n\t@property({ type: String }) border: string | undefined\n\t@property({ type: String }) borderTop: string | undefined\n\t@property({ type: String }) borderRight: string | undefined\n\t@property({ type: String }) borderBottom: string | undefined\n\t@property({ type: String }) borderLeft: string | undefined\n\t@property({ type: String }) borderColor: string | undefined\n\t@property({ type: String }) borderRadius: string | undefined\n\t@property({ type: String }) borderWidth: string | undefined\n\n\t@property({ type: String }) boxShadow: string | undefined\n\t@property({ type: String }) opacity: string | undefined\n\t@property({ type: String }) background: string | undefined\n\t@property({ type: String }) backgroundImage: string | undefined\n\t@property({ type: String }) backgroundPosition: string | undefined\n\t@property({ type: String }) backgroundSize: string | undefined\n\t@property({ type: String }) backgroundRepeat: string | undefined\n\t@property({ type: String }) backgroundAttachment: string | undefined\n\t@property({ type: String }) backgroundColor: string | undefined\n\t@property({ type: String }) backgroundClip: string | undefined\n\t@property({ type: String }) backgroundOrigin: string | undefined\n\t@property({ type: String }) backgroundBlendMode: string | undefined\n\t@property({ type: String }) filter: string | undefined\n\t@property({ type: String }) backdropFilter: string | undefined\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.style.setProperty('padding', this.padding ?? '')\n\t\tthis.style.setProperty('margin', this.margin ?? '')\n\t\tthis.style.setProperty('width', this.width ?? '')\n\t\tthis.style.setProperty('height', this.height ?? '')\n\t\tthis.style.setProperty('min-width', this.minWidth ?? '')\n\t\tthis.style.setProperty('min-height', this.minHeight ?? '')\n\t\tthis.style.setProperty('max-width', this.maxWidth ?? '')\n\t\tthis.style.setProperty('max-height', this.maxHeight ?? '')\n\t\tthis.style.setProperty('display', this.display ?? '')\n\t\tthis.style.setProperty('overflow', this.overflow ?? '')\n\t\tthis.style.setProperty('overflow-x', this.overflowX ?? '')\n\t\tthis.style.setProperty('overflow-y', this.overflowY ?? '')\n\t\tthis.style.setProperty('position', this.position ?? '')\n\t\tthis.style.setProperty('top', this.top ?? '')\n\t\tthis.style.setProperty('right', this.right ?? '')\n\t\tthis.style.setProperty('bottom', this.bottom ?? '')\n\t\tthis.style.setProperty('left', this.left ?? '')\n\t\tthis.style.setProperty('inset', this.inset ?? '')\n\t\tthis.style.setProperty('z-index', this.zIndex ?? '')\n\t\tthis.style.setProperty('border', this.border ?? '')\n\t\tthis.style.setProperty('border-top', this.borderTop ?? '')\n\t\tthis.style.setProperty('border-right', this.borderRight ?? '')\n\t\tthis.style.setProperty('border-bottom', this.borderBottom ?? '')\n\t\tthis.style.setProperty('border-left', this.borderLeft ?? '')\n\t\tthis.style.setProperty('border-color', this.borderColor ?? '')\n\t\tthis.style.setProperty('border-radius', this.borderRadius ?? '')\n\t\tthis.style.setProperty('border-width', this.borderWidth ?? '')\n\t\tthis.style.setProperty('box-shadow', this.boxShadow ?? '')\n\t\tthis.style.setProperty('opacity', this.opacity ?? '')\n\t\tthis.style.setProperty('background', this.background ?? '')\n\t\tthis.style.setProperty('background-image', this.backgroundImage ?? '')\n\t\tthis.style.setProperty('background-position', this.backgroundPosition ?? '')\n\t\tthis.style.setProperty('background-size', this.backgroundSize ?? '')\n\t\tthis.style.setProperty('background-repeat', this.backgroundRepeat ?? '')\n\t\tthis.style.setProperty('background-attachment', this.backgroundAttachment ?? '')\n\t\tthis.style.setProperty('background-color', this.backgroundColor ?? '')\n\t\tthis.style.setProperty('background-clip', this.backgroundClip ?? '')\n\t\tthis.style.setProperty('background-origin', this.backgroundOrigin ?? '')\n\t\tthis.style.setProperty('background-blend-mode', this.backgroundBlendMode ?? '')\n\t\tthis.style.setProperty('filter', this.filter ?? '')\n\t\tthis.style.setProperty('backdrop-filter', this.backdropFilter ?? '')\n\t\tif (this.center) {\n\t\t\tthis.style.setProperty('margin-left', 'auto')\n\t\t\tthis.style.setProperty('margin-right', 'auto')\n\t\t}\n\t}\n}\n","import { html, unsafeCSS } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { styleMap } from 'lit/directives/style-map.js'\nimport Layout from '../layout'\nimport style from './flex.scss?inline'\n@customElement('schmancy-flex')\nexport class SchmancyFlex extends Layout {\n\tstatic styles = [Layout.styles, unsafeCSS(style)]\n\tlayout = true\n\t@property({ type: String, reflect: true }) flow: 'row' | 'row-reverse' | 'col' | 'col-reverse' = 'col'\n\t@property({ type: String, reflect: true }) wrap: 'wrap' | 'nowrap' | 'wrap-reverse' = 'wrap'\n\t@property({ type: String, reflect: true }) align: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'start'\n\t@property({ type: String, reflect: true }) justify: 'start' | 'center' | 'end' | 'stretch' | 'between' = 'start'\n\t@property({ type: String, reflect: true }) gap: 'none' | 'sm' | 'md' | 'lg' = 'none'\n\n\trender() {\n\t\tconst classes = {\n\t\t\tflex: true,\n\t\t\t// Direction\n\t\t\t'flex-col': this.flow === 'row',\n\t\t\t'flex-col-reverse': this.flow === 'row-reverse',\n\t\t\t'flex-row': this.flow === 'col',\n\t\t\t'flex-row-reverse': this.flow === 'col-reverse',\n\t\t\t// Wrap\n\t\t\t'flex-wrap': this.wrap === 'wrap',\n\t\t\t'flex-wrap-reverse': this.wrap === 'wrap-reverse',\n\t\t\t'flex-nowrap': this.wrap === 'nowrap',\n\t\t\t// Align\n\t\t\t'items-start': this.align === 'start',\n\t\t\t'items-center': this.align === 'center',\n\t\t\t'items-end': this.align === 'end',\n\t\t\t'items-stretch': this.align === 'stretch',\n\t\t\t'justify-baseline': this.align === 'baseline',\n\n\t\t\t// Justify\n\t\t\t'justify-center': this.justify === 'center',\n\t\t\t'justify-end': this.justify === 'end',\n\t\t\t'justify-start': this.justify === 'start',\n\t\t\t'justify-stretch': this.justify === 'stretch',\n\t\t\t'justify-between': this.justify === 'between',\n\n\t\t\t// Gap\n\t\t\t'gap-0': this.gap === 'none',\n\t\t\t'gap-2': this.gap === 'sm',\n\t\t\t'gap-4': this.gap === 'md',\n\t\t\t'gap-8': this.gap === 'lg',\n\t\t}\n\n\t\tconst styles = {}\n\t\treturn html`\n\t\t\t<section class=${classMap(classes)} style=${styleMap(styles)}>\n\t\t\t\t<slot></slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-flex': SchmancyFlex\n\t}\n}\n","import { html, unsafeCSS } from 'lit'\nimport { customElement, property, queryAssignedElements } from 'lit/decorators.js'\nimport { debounceTime, distinctUntilChanged, fromEvent, map, startWith, takeUntil } from 'rxjs'\nimport Layout from '../layout'\nimport style from './grid.scss?inline'\n\n@customElement('schmancy-grid')\nexport class SchmancyGrid extends Layout {\n\tstatic styles = [Layout.styles, unsafeCSS(style)]\n\tlayout = true\n\t@property({ type: String }) flow: 'row' | 'col' | 'dense' | 'row-dense' | 'col-dense' = 'row'\n\t@property({ type: String }) align: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'stretch'\n\t@property({ type: String }) justify: 'start' | 'center' | 'end' | 'stretch' = 'stretch'\n\t@property({ type: String }) content: 'start' | 'center' | 'end' | 'stretch' | 'around' | 'evenly' | 'between' =\n\t\t'stretch'\n\t@property({ type: String }) gap: 'none' | 'xs' | 'sm' | 'md' | 'lg' = 'none'\n\n\t@property({ type: String }) cols?: string\n\t@property({ type: String }) rows?: string\n\t@property({ type: Object }) rcols?: {\n\t\txs?: string | number\n\t\tsm?: string | number\n\t\tmd?: string | number\n\t\tlg?: string | number\n\t\txl?: string | number\n\t\t'2xl'?: string | number\n\t}\n\n\t@property({ type: Boolean }) wrap = false\n\n\t@queryAssignedElements() assignedElements!: HTMLElement[]\n\n\tfirstUpdated() {\n\t\tif (this.rcols)\n\t\t\tfromEvent<CustomEvent>(window, 'resize')\n\t\t\t\t.pipe(\n\t\t\t\t\tmap(event => event.target as Window),\n\t\t\t\t\tstartWith(1),\n\t\t\t\t\tmap(() => (this.clientWidth ? this.clientWidth : window.innerWidth)),\n\t\t\t\t\tdistinctUntilChanged(),\n\t\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\t\tdebounceTime(10),\n\t\t\t\t\tmap(w => {\n\t\t\t\t\t\tlet cols\n\t\t\t\t\t\tif (this.rcols?.['2xl'] && w >= 1536) cols = this.rcols?.['2xl']\n\t\t\t\t\t\telse if (this.rcols?.xl && w >= 1280) cols = this.rcols?.xl\n\t\t\t\t\t\telse if (this.rcols?.lg && w >= 1024) cols = this.rcols?.lg\n\t\t\t\t\t\telse if (this.rcols?.md && w >= 768) cols = this.rcols?.md\n\t\t\t\t\t\telse if (this.rcols?.sm && w >= 640) cols = this.rcols?.sm\n\t\t\t\t\t\telse if (this.rcols?.xs && w < 640) cols = this.rcols?.xs\n\t\t\t\t\t\treturn cols\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\t.subscribe(cols => {\n\t\t\t\t\tthis.cols = cols\n\t\t\t\t})\n\t}\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'h-full': true,\n\t\t\t'grid flex-1': true,\n\t\t\t// flow classes: https://tailwindcss.com/docs/grid-auto-flow\n\t\t\t'grid-flow-row auto-rows-max': this.flow === 'row',\n\t\t\t'grid-flow-col auto-cols-max': this.flow === 'col',\n\t\t\t'grid-flow-row-dense': this.flow === 'row-dense',\n\t\t\t'grid-flow-col-dense': this.flow === 'col-dense',\n\t\t\t'grid-flow-dense': this.flow === 'dense',\n\n\t\t\t'justify-center': this.content === 'center',\n\t\t\t'justify-end': this.content === 'end',\n\t\t\t'justify-start': this.content === 'start',\n\t\t\t'justify-stretch': this.content === 'stretch',\n\t\t\t'justify-between': this.content === 'between',\n\t\t\t'justify-around': this.content === 'around',\n\t\t\t'justify-evenly': this.content === 'evenly',\n\n\t\t\t'justify-items-center': this.justify === 'center',\n\t\t\t'justify-items-end': this.justify === 'end',\n\t\t\t'justify-items-start': this.justify === 'start',\n\t\t\t'justify-items-stretch': this.justify === 'stretch',\n\t\t\t'items-center': this.align === 'center',\n\t\t\t'items-end': this.align === 'end',\n\t\t\t'items-start': this.align === 'start',\n\t\t\t'items-stretch': this.align === 'stretch',\n\t\t\t'items-baseline': this.align === 'baseline',\n\t\t\t'gap-0': this.gap === 'none',\n\t\t\t'gap-1': this.gap === 'xs',\n\t\t\t'gap-2': this.gap === 'sm',\n\t\t\t'gap-4': this.gap === 'md',\n\t\t\t'gap-8': this.gap === 'lg',\n\t\t\t'flex-nowrap': this.wrap,\n\t\t\t'flex-wrap': !this.wrap,\n\t\t}\n\t\tconst style = {\n\t\t\tgridTemplateRows: this.rows ? this.rows : undefined,\n\t\t\tgridTemplateColumns: this.cols ? this.cols : undefined,\n\t\t}\n\t\treturn html`\n\t\t\t<section class=\"${this.classMap(classes)}\" style=${this.styleMap(style)}>\n\t\t\t\t<slot> </slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-grid': SchmancyGrid\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { debounceTime, filter, fromEvent, takeUntil } from 'rxjs'\n\n/**\n * Custom scroll event interface for the SchmancyScroll component.\n * Contains detailed information about the scroll state.\n */\nexport interface SchmancyScrollEvent\n\textends CustomEvent<{\n\t\t/** Current scroll position from the top */\n\t\tscrollTop: number\n\t\t/** Total scrollable height of the content */\n\t\tscrollHeight: number\n\t\t/** Visible height of the container */\n\t\tclientHeight: number\n\t\t/** Original scroll event */\n\t\te: Event\n\t\t/** Current scroll position from the left (for horizontal scrolling) */\n\t\tscrollLeft?: number\n\t\t/** Total scrollable width of the content (for horizontal scrolling) */\n\t\tscrollWidth?: number\n\t\t/** Visible width of the container (for horizontal scrolling) */\n\t\tclientWidth?: number\n\t}> {}\n\n/**\n * Command event interface for controlling SchmancyScroll components\n */\nexport interface SchmancyScrollCommandEvent\n\textends CustomEvent<{\n\t\t/** Target component name */\n\t\tname: string\n\t\t/** Command action to perform */\n\t\taction: 'scrollTo'\n\t\t/** Scroll position for scrollTo action */\n\t\ttop: number\n\t\t/** Horizontal scroll position for scrollTo action (optional) */\n\t\tleft?: number\n\t}> {}\n\n// Augment the HTMLElementEventMap to include our custom events\ndeclare global {\n\tinterface HTMLElementEventMap {\n\t\tscroll: SchmancyScrollEvent\n\t\t'schmancy-scroll-command': SchmancyScrollCommandEvent\n\t}\n}\n\n/**\n * A custom scrollable container with enhanced features.\n *\n * @fires {SchmancyScrollEvent} scroll - Fired when scrolling occurs (with a configurable debounce)\n * @slot - Default slot for content to be scrolled\n * @csspart scroller - The inner scrollable div element\n *\n * @example\n * ```html\n * <schmancy-scroll hide name=\"main-content\">\n * <div>Scrollable content goes here</div>\n * </schmancy-scroll>\n * ```\n *\n * @example\n * ```html\n * <schmancy-scroll direction=\"horizontal\" hide name=\"image-carousel\">\n * <div class=\"flex\">\n * <img src=\"image1.jpg\" alt=\"Image 1\">\n * <img src=\"image2.jpg\" alt=\"Image 2\">\n * </div>\n * </schmancy-scroll>\n * ```\n */\n@customElement('schmancy-scroll')\nexport class SchmancyScroll extends TailwindElement(css`\n\t:host {\n\t\theight: 100%;\n\t\twidth: 100%;\n\t\toverflow: hidden;\n\t\tbox-sizing: border-box; /* Ensures proper sizing */\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tinset: 0px;\n\t}\n\t.scrollbar-hide {\n\t\t-ms-overflow-style: none; /* IE and Edge */\n\t\tscrollbar-width: none; /* Firefox */\n\t}\n\t.scrollbar-hide::-webkit-scrollbar {\n\t\tdisplay: none; /* Chrome, Safari, and Opera */\n\t}\n`) {\n\t/**\n\t * Determines whether the scrollbar is hidden.\n\t *\n\t * When `hide` is true, the inner scrollable div receives the `scrollbar-hide` class,\n\t * which hides scrollbars in supported browsers.\n\t *\n\t * @attr hide\n\t * @example <schmancy-scroll hide></schmancy-scroll>\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpublic hide = false\n\n\t/**\n\t * Optional name identifier for the component.\n\t * Used for targeting this specific component with global events.\n\t *\n\t * @attr name\n\t * @example <schmancy-scroll name=\"main-content\"></schmancy-scroll>\n\t */\n\t@property({ type: String, reflect: true })\n\tpublic name?: string\n\n\t/**\n\t * Direction of scrolling: vertical, horizontal, or both.\n\t * - vertical: Only allows vertical scrolling\n\t * - horizontal: Only allows horizontal scrolling\n\t * - both: Allows both horizontal and vertical scrolling (default)\n\t *\n\t * @attr direction\n\t * @example <schmancy-scroll direction=\"horizontal\"></schmancy-scroll>\n\t */\n\t@property({ type: String, reflect: true })\n\tpublic direction: 'vertical' | 'horizontal' | 'both' = 'both'\n\n\t/**\n\t * Reference to the inner scrollable div element\n\t * @public\n\t */\n\t@query('#scroller')\n\tscroller!: HTMLElement\n\n\t/**\n\t * Debounce time in milliseconds for the scroll event.\n\t * Higher values reduce the frequency of scroll events being dispatched.\n\t *\n\t * @attr debounce\n\t * @example <schmancy-scroll debounce=\"50\"></schmancy-scroll>\n\t */\n\t@property({ type: Number })\n\tpublic debounce = 10\n\n\t/**\n\t * Scrolls the container to the specified position\n\t * @param options - ScrollToOptions or a number representing the top position\n\t * @param top - For backward compatibility, if options is a number, this is treated as \"behavior\"\n\t */\n\tpublic override scrollTo(options?: ScrollToOptions | number, top?: number): void {\n\t\tif (!this.scroller) return\n\n\t\tif (typeof options === 'number') {\n\t\t\t// Legacy support for scrollTo(top, behavior)\n\t\t\tthis.scroller.scrollTo({\n\t\t\t\ttop: options,\n\t\t\t\tbehavior: top ? 'smooth' : 'auto',\n\t\t\t})\n\t\t} else if (options) {\n\t\t\tthis.scroller.scrollTo(options)\n\t\t} else {\n\t\t\tthis.scroller.scrollTo({\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0,\n\t\t\t\tbehavior: 'auto',\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * Scrolls the container horizontally to the specified position\n\t * @param left - The horizontal position to scroll to (in pixels)\n\t * @param behavior - The scroll behavior ('auto' or 'smooth')\n\t */\n\tpublic scrollToLeft(left: number, behavior: ScrollBehavior = 'auto'): void {\n\t\tif (this.scroller) {\n\t\t\tthis.scroller.scrollTo({\n\t\t\t\tleft,\n\t\t\t\tbehavior,\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * Called after the component's first update\n\t * Sets up the scroll event listener with debouncing\n\t * @protected\n\t */\n\tprotected firstUpdated(): void {\n\t\t// Set up scroll event listening with debounce\n\t\tfromEvent(this.scroller, 'scroll', {\n\t\t\tpassive: true,\n\t\t})\n\t\t\t.pipe(\n\t\t\t\tdebounceTime(this.debounce),\n\t\t\t\ttakeUntil(this.disconnecting), // Unsubscribe when the element is destroyed\n\t\t\t)\n\t\t\t.subscribe(e => {\n\t\t\t\t// Always include the original required properties for backward compatibility\n\t\t\t\tconst scrollTop = this.scroller.scrollTop\n\t\t\t\tconst scrollHeight = this.scroller.scrollHeight\n\t\t\t\tconst clientHeight = this.scroller.clientHeight\n\n\t\t\t\t// Include horizontal scroll information as optional properties\n\t\t\t\tconst scrollLeft = this.scroller.scrollLeft\n\t\t\t\tconst scrollWidth = this.scroller.scrollWidth\n\t\t\t\tconst clientWidth = this.scroller.clientWidth\n\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('scroll', {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t// Original required properties first\n\t\t\t\t\t\t\tscrollTop,\n\t\t\t\t\t\t\tscrollHeight,\n\t\t\t\t\t\t\tclientHeight,\n\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t// New optional properties last\n\t\t\t\t\t\t\tscrollLeft,\n\t\t\t\t\t\t\tscrollWidth,\n\t\t\t\t\t\t\tclientWidth,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}) as SchmancyScrollEvent,\n\t\t\t\t)\n\t\t\t})\n\n\t\t// Set up global command event listener\n\t\tfromEvent<SchmancyScrollCommandEvent>(window, '@schmancy:scrollTo')\n\t\t\t.pipe(\n\t\t\t\t// Only process events targeting this component by name\n\t\t\t\tfilter(e => this.name !== undefined && e.detail.name === this.name),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(e => {\n\t\t\t\tif (e.detail.action === 'scrollTo' && typeof e.detail.top === 'number') {\n\t\t\t\t\tconst options: ScrollToOptions = {\n\t\t\t\t\t\tbehavior: 'smooth',\n\t\t\t\t\t\ttop: e.detail.top, // Required for backward compatibility\n\t\t\t\t\t}\n\n\t\t\t\t\t// Add optional left position if provided\n\t\t\t\t\tif (typeof e.detail.left === 'number') {\n\t\t\t\t\t\toptions.left = e.detail.left\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.scrollTo(options)\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\t/**\n\t * Renders the component template\n\t * @returns {TemplateResult} The template to render\n\t * @protected\n\t */\n\tprotected render() {\n\t\t// The classes are dynamically assigned based on the properties\n\t\tconst classes = {\n\t\t\t'h-full w-full inset-0 scroll-smooth overscroll-contain': true,\n\t\t\t'overflow-y-auto': this.direction !== 'horizontal',\n\t\t\t'overflow-y-hidden': this.direction === 'horizontal',\n\t\t\t'overflow-x-auto': this.direction !== 'vertical',\n\t\t\t'overflow-x-hidden': this.direction === 'vertical',\n\t\t\t'scrollbar-hide': this.hide,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=\"relative inset-0 h-full w-full overscroll-none\">\n\t\t\t\t<div id=\"scroller\" part=\"scroller\" class=${this.classMap(classes)}>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-scroll': SchmancyScroll\n\t}\n}\n","import { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport Layout from '../layout'\n\n/**\n * SchmancyFlex exposes a flex container with all the Tailwind CSS 4 options:\n *\n * - **Display**: By default uses `flex` but can be set to inline using the `inline` property.\n * - **Flow**: Accepts 'row', 'row-reverse', 'col', 'col-reverse' as well as grid‐like dense variants:\n * - Dense variants (`row-dense`, `col-dense`) force wrapping.\n * - **Wrap**: 'wrap', 'nowrap', or 'wrap-reverse'\n * - **Align Items**: 'start', 'center', 'end', 'stretch', or 'baseline'\n * - **Justify Content**: 'start', 'center', 'end', 'between', 'around', or 'evenly'\n * - **Align Content** (for multi-line flex containers): 'start', 'center', 'end', 'between', 'around', or 'evenly'\n * - **Gap**: Supports Tailwind’s spacing scale (e.g. 'none', '0', '1', '2', …, '64')\n */\n@customElement('sch-flex')\nexport class SchmancyFlexV2 extends Layout {\n\tstatic styles = [\n\t\tLayout.styles,\n\t\tcss`\n\t\t\t:host {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t`,\n\t]\n\t// If true, the container will use inline-flex instead of flex.\n\t@property({ type: Boolean, reflect: true })\n\tinline = false\n\n\t/**\n\t * Flow property that determines the flex direction.\n\t * Allowed values:\n\t * - Standard: 'row', 'row-reverse', 'col', 'col-reverse'\n\t * - Dense variants: 'row-dense', 'col-dense' (dense implies wrapping)\n\t */\n\t@property({ type: String, reflect: true })\n\tflow: 'row' | 'row-reverse' | 'col' | 'col-reverse' | 'row-dense' | 'col-dense' = 'row'\n\n\t/**\n\t * Flex-wrap options:\n\t * - 'wrap', 'nowrap', or 'wrap-reverse'\n\t */\n\t@property({ type: String, reflect: true })\n\twrap: 'wrap' | 'nowrap' | 'wrap-reverse' = 'wrap'\n\n\t/**\n\t * Align-items (vertical alignment of flex items):\n\t * - 'start', 'center', 'end', 'stretch', or 'baseline'\n\t */\n\t@property({ type: String, reflect: true })\n\talign: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'stretch'\n\n\t/**\n\t * Justify-content (horizontal distribution):\n\t * - 'start', 'center', 'end', 'between', 'around', or 'evenly'\n\t */\n\t@property({ type: String, reflect: true })\n\tjustify: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly' = 'start'\n\n\t/**\n\t * Align-content (spacing between rows when wrapping):\n\t * - 'start', 'center', 'end', 'between', 'around', or 'evenly'\n\t */\n\t@property({ type: String, reflect: true })\n\tcontent?: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly'\n\n\t/**\n\t * Gap between flex items.\n\t * Options (based on Tailwind CSS 4 spacing scale):\n\t * - 'none', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '12', '16', '20', '24', '32', '40', '48', '56', or '64'\n\t */\n\t@property({ type: String, reflect: true })\n\tgap:\n\t\t| 'none'\n\t\t| '0'\n\t\t| '1'\n\t\t| '2'\n\t\t| '3'\n\t\t| '4'\n\t\t| '5'\n\t\t| '6'\n\t\t| '7'\n\t\t| '8'\n\t\t| '9'\n\t\t| '10'\n\t\t| '12'\n\t\t| '16'\n\t\t| '20'\n\t\t| '24'\n\t\t| '32'\n\t\t| '40'\n\t\t| '48'\n\t\t| '56'\n\t\t| '64' = 'none'\n\n\trender() {\n\t\t// Determine whether to use inline-flex or flex.\n\t\tconst baseDisplay = this.inline ? 'inline-flex' : 'flex'\n\n\t\t// Map the flow property to a flex-direction class.\n\t\t// (Dense variants use the same class as their standard counterparts.)\n\t\tlet directionClass = ''\n\t\tswitch (this.flow) {\n\t\t\tcase 'row':\n\t\t\tcase 'row-dense':\n\t\t\t\tdirectionClass = 'flex-row'\n\t\t\t\tbreak\n\t\t\tcase 'row-reverse':\n\t\t\t\tdirectionClass = 'flex-row-reverse'\n\t\t\t\tbreak\n\t\t\tcase 'col':\n\t\t\tcase 'col-dense':\n\t\t\t\tdirectionClass = 'flex-col'\n\t\t\t\tbreak\n\t\t\tcase 'col-reverse':\n\t\t\t\tdirectionClass = 'flex-col-reverse'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tdirectionClass = 'flex-row'\n\t\t}\n\n\t\t// Dense variants force wrapping regardless of the wrap property.\n\t\tconst isDense = this.flow === 'row-dense' || this.flow === 'col-dense'\n\t\tconst effectiveWrap = isDense ? 'wrap' : this.wrap\n\n\t\tlet wrapClass = ''\n\t\tswitch (effectiveWrap) {\n\t\t\tcase 'wrap':\n\t\t\t\twrapClass = 'flex-wrap'\n\t\t\t\tbreak\n\t\t\tcase 'nowrap':\n\t\t\t\twrapClass = 'flex-nowrap'\n\t\t\t\tbreak\n\t\t\tcase 'wrap-reverse':\n\t\t\t\twrapClass = 'flex-wrap-reverse'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\twrapClass = 'flex-wrap'\n\t\t}\n\n\t\t// Map align-items.\n\t\tlet alignClass = ''\n\t\tswitch (this.align) {\n\t\t\tcase 'start':\n\t\t\t\talignClass = 'items-start'\n\t\t\t\tbreak\n\t\t\tcase 'center':\n\t\t\t\talignClass = 'items-center'\n\t\t\t\tbreak\n\t\t\tcase 'end':\n\t\t\t\talignClass = 'items-end'\n\t\t\t\tbreak\n\t\t\tcase 'stretch':\n\t\t\t\talignClass = 'items-stretch'\n\t\t\t\tbreak\n\t\t\tcase 'baseline':\n\t\t\t\talignClass = 'items-baseline'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\talignClass = 'items-stretch'\n\t\t}\n\n\t\t// Map justify-content.\n\t\tlet justifyClass = ''\n\t\tswitch (this.justify) {\n\t\t\tcase 'start':\n\t\t\t\tjustifyClass = 'justify-start'\n\t\t\t\tbreak\n\t\t\tcase 'center':\n\t\t\t\tjustifyClass = 'justify-center'\n\t\t\t\tbreak\n\t\t\tcase 'end':\n\t\t\t\tjustifyClass = 'justify-end'\n\t\t\t\tbreak\n\t\t\tcase 'between':\n\t\t\t\tjustifyClass = 'justify-between'\n\t\t\t\tbreak\n\t\t\tcase 'around':\n\t\t\t\tjustifyClass = 'justify-around'\n\t\t\t\tbreak\n\t\t\tcase 'evenly':\n\t\t\t\tjustifyClass = 'justify-evenly'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tjustifyClass = 'justify-start'\n\t\t}\n\n\t\t// Map align-content (if provided).\n\t\tlet contentClass = ''\n\t\tif (this.content) {\n\t\t\tswitch (this.content) {\n\t\t\t\tcase 'start':\n\t\t\t\t\tcontentClass = 'content-start'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'center':\n\t\t\t\t\tcontentClass = 'content-center'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'end':\n\t\t\t\t\tcontentClass = 'content-end'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'between':\n\t\t\t\t\tcontentClass = 'content-between'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'around':\n\t\t\t\t\tcontentClass = 'content-around'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'evenly':\n\t\t\t\t\tcontentClass = 'content-evenly'\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\t// Map gap value.\n\t\tconst gapClass = this.gap === 'none' ? 'gap-0' : `gap-${this.gap}`\n\n\t\t// Build the complete list of classes.\n\t\tconst classes = [baseDisplay, directionClass, wrapClass, alignClass, justifyClass, contentClass, gapClass]\n\t\t\t.filter(Boolean)\n\t\t\t.join(' ')\n\n\t\treturn html`\n\t\t\t<section class=${classes}>\n\t\t\t\t<slot></slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'sch-flex': SchmancyFlexV2\n\t}\n}\n"],"names":["Layout","TailwindElement","constructor","super","arguments","this","layout","center","display","overflow","overflowX","overflowY","position","connectedCallback","style","setProperty","padding","margin","width","height","minWidth","minHeight","maxWidth","maxHeight","top","right","bottom","left","inset","zIndex","border","borderTop","borderRight","borderBottom","borderLeft","borderColor","borderRadius","borderWidth","boxShadow","opacity","background","backgroundImage","backgroundPosition","backgroundSize","backgroundRepeat","backgroundAttachment","backgroundColor","backgroundClip","backgroundOrigin","backgroundBlendMode","filter","backdropFilter","styles","_m","__decorateClass","property","type","Boolean","prototype","String","SchmancyFlex","flow","wrap","align","justify","gap","render","classes","flex","html","classMap","styleMap","unsafeCSS","reflect","customElement","SchmancyGrid","content","rcols","fromEvent","window","pipe","map","event","target","startWith","clientWidth","innerWidth","distinctUntilChanged","takeUntil","disconnecting","debounceTime","w","cols","xl","lg","md","sm","xs","subscribe","gridTemplateRows","rows","gridTemplateColumns","Object","queryAssignedElements","SchmancyScroll","css","hide","direction","debounce","options","scroller","scrollTo","behavior","passive","e","scrollTop","scrollHeight","clientHeight","scrollLeft","scrollWidth","dispatchEvent","CustomEvent","detail","bubbles","composed","name","action","query","Number","SchmancyFlexV2","inline","baseDisplay","directionClass","wrapClass","alignClass","justifyClass","contentClass","join"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- "use strict";const d=require("lit"),t=require("lit/decorators.js"),j=require("lit/directives/class-map.js"),F=require("lit/directives/style-map.js"),y=require("rxjs"),P=require("./tailwind.mixin-mxyACxyp.cjs");var T=Object.defineProperty,i=(r,s,n,p)=>{for(var l,e=void 0,c=r.length-1;c>=0;c--)(l=r[c])&&(e=l(s,n,e)||e);return e&&T(s,n,e),e};const u=class u extends P.TailwindElement(){constructor(){super(...arguments),this.layout=!0,this.center=void 0,this.display=void 0,this.overflow=void 0,this.overflowX=void 0,this.overflowY=void 0,this.position=void 0}connectedCallback(){super.connectedCallback(),this.style.setProperty("padding",this.padding??""),this.style.setProperty("margin",this.margin??""),this.style.setProperty("width",this.width??""),this.style.setProperty("height",this.height??""),this.style.setProperty("min-width",this.minWidth??""),this.style.setProperty("min-height",this.minHeight??""),this.style.setProperty("max-width",this.maxWidth??""),this.style.setProperty("max-height",this.maxHeight??""),this.style.setProperty("display",this.display??""),this.style.setProperty("overflow",this.overflow??""),this.style.setProperty("overflow-x",this.overflowX??""),this.style.setProperty("overflow-y",this.overflowY??""),this.style.setProperty("position",this.position??""),this.style.setProperty("top",this.top??""),this.style.setProperty("right",this.right??""),this.style.setProperty("bottom",this.bottom??""),this.style.setProperty("left",this.left??""),this.style.setProperty("inset",this.inset??""),this.style.setProperty("z-index",this.zIndex??""),this.style.setProperty("border",this.border??""),this.style.setProperty("border-top",this.borderTop??""),this.style.setProperty("border-right",this.borderRight??""),this.style.setProperty("border-bottom",this.borderBottom??""),this.style.setProperty("border-left",this.borderLeft??""),this.style.setProperty("border-color",this.borderColor??""),this.style.setProperty("border-radius",this.borderRadius??""),this.style.setProperty("border-width",this.borderWidth??""),this.style.setProperty("box-shadow",this.boxShadow??""),this.style.setProperty("opacity",this.opacity??""),this.style.setProperty("background",this.background??""),this.style.setProperty("background-image",this.backgroundImage??""),this.style.setProperty("background-position",this.backgroundPosition??""),this.style.setProperty("background-size",this.backgroundSize??""),this.style.setProperty("background-repeat",this.backgroundRepeat??""),this.style.setProperty("background-attachment",this.backgroundAttachment??""),this.style.setProperty("background-color",this.backgroundColor??""),this.style.setProperty("background-clip",this.backgroundClip??""),this.style.setProperty("background-origin",this.backgroundOrigin??""),this.style.setProperty("background-blend-mode",this.backgroundBlendMode??""),this.style.setProperty("filter",this.filter??""),this.style.setProperty("backdrop-filter",this.backdropFilter??""),this.center&&(this.style.setProperty("margin-left","auto"),this.style.setProperty("margin-right","auto"))}};u.styles=[u.styles];let o=u;i([t.property({type:Boolean})],o.prototype,"center"),i([t.property({type:String})],o.prototype,"padding"),i([t.property({type:String})],o.prototype,"margin"),i([t.property({type:String})],o.prototype,"width"),i([t.property({type:String})],o.prototype,"height"),i([t.property({type:String})],o.prototype,"minWidth"),i([t.property({type:String})],o.prototype,"minHeight"),i([t.property({type:String})],o.prototype,"maxWidth"),i([t.property({type:String})],o.prototype,"maxHeight"),i([t.property({type:String})],o.prototype,"display"),i([t.property({type:String})],o.prototype,"overflow"),i([t.property({type:String})],o.prototype,"overflowX"),i([t.property({type:String})],o.prototype,"overflowY"),i([t.property({type:String})],o.prototype,"position"),i([t.property({type:String})],o.prototype,"top"),i([t.property({type:String})],o.prototype,"right"),i([t.property({type:String})],o.prototype,"bottom"),i([t.property({type:String})],o.prototype,"left"),i([t.property({type:String})],o.prototype,"inset"),i([t.property({type:String})],o.prototype,"zIndex"),i([t.property({type:String})],o.prototype,"border"),i([t.property({type:String})],o.prototype,"borderTop"),i([t.property({type:String})],o.prototype,"borderRight"),i([t.property({type:String})],o.prototype,"borderBottom"),i([t.property({type:String})],o.prototype,"borderLeft"),i([t.property({type:String})],o.prototype,"borderColor"),i([t.property({type:String})],o.prototype,"borderRadius"),i([t.property({type:String})],o.prototype,"borderWidth"),i([t.property({type:String})],o.prototype,"boxShadow"),i([t.property({type:String})],o.prototype,"opacity"),i([t.property({type:String})],o.prototype,"background"),i([t.property({type:String})],o.prototype,"backgroundImage"),i([t.property({type:String})],o.prototype,"backgroundPosition"),i([t.property({type:String})],o.prototype,"backgroundSize"),i([t.property({type:String})],o.prototype,"backgroundRepeat"),i([t.property({type:String})],o.prototype,"backgroundAttachment"),i([t.property({type:String})],o.prototype,"backgroundColor"),i([t.property({type:String})],o.prototype,"backgroundClip"),i([t.property({type:String})],o.prototype,"backgroundOrigin"),i([t.property({type:String})],o.prototype,"backgroundBlendMode"),i([t.property({type:String})],o.prototype,"filter"),i([t.property({type:String})],o.prototype,"backdropFilter");var O=Object.defineProperty,E=Object.getOwnPropertyDescriptor,g=(r,s,n,p)=>{for(var l,e=p>1?void 0:p?E(s,n):s,c=r.length-1;c>=0;c--)(l=r[c])&&(e=(p?l(s,n,e):l(e))||e);return p&&e&&O(s,n,e),e};exports.SchmancyFlex=class extends o{constructor(){super(...arguments),this.layout=!0,this.flow="col",this.wrap="wrap",this.align="start",this.justify="start",this.gap="none"}render(){const r={flex:!0,"flex-col":this.flow==="row","flex-col-reverse":this.flow==="row-reverse","flex-row":this.flow==="col","flex-row-reverse":this.flow==="col-reverse","flex-wrap":this.wrap==="wrap","flex-wrap-reverse":this.wrap==="wrap-reverse","flex-nowrap":this.wrap==="nowrap","items-start":this.align==="start","items-center":this.align==="center","items-end":this.align==="end","items-stretch":this.align==="stretch","justify-baseline":this.align==="baseline","justify-center":this.justify==="center","justify-end":this.justify==="end","justify-start":this.justify==="start","justify-stretch":this.justify==="stretch","justify-between":this.justify==="between","gap-0":this.gap==="none","gap-2":this.gap==="sm","gap-4":this.gap==="md","gap-8":this.gap==="lg"};return d.html`
1
+ "use strict";const d=require("lit"),t=require("lit/decorators.js"),j=require("lit/directives/class-map.js"),F=require("lit/directives/style-map.js"),y=require("rxjs"),P=require("./tailwind.mixin-B1NF3tDz.cjs");var T=Object.defineProperty,i=(r,s,n,p)=>{for(var l,e=void 0,c=r.length-1;c>=0;c--)(l=r[c])&&(e=l(s,n,e)||e);return e&&T(s,n,e),e};const u=class u extends P.TailwindElement(){constructor(){super(...arguments),this.layout=!0,this.center=void 0,this.display=void 0,this.overflow=void 0,this.overflowX=void 0,this.overflowY=void 0,this.position=void 0}connectedCallback(){super.connectedCallback(),this.style.setProperty("padding",this.padding??""),this.style.setProperty("margin",this.margin??""),this.style.setProperty("width",this.width??""),this.style.setProperty("height",this.height??""),this.style.setProperty("min-width",this.minWidth??""),this.style.setProperty("min-height",this.minHeight??""),this.style.setProperty("max-width",this.maxWidth??""),this.style.setProperty("max-height",this.maxHeight??""),this.style.setProperty("display",this.display??""),this.style.setProperty("overflow",this.overflow??""),this.style.setProperty("overflow-x",this.overflowX??""),this.style.setProperty("overflow-y",this.overflowY??""),this.style.setProperty("position",this.position??""),this.style.setProperty("top",this.top??""),this.style.setProperty("right",this.right??""),this.style.setProperty("bottom",this.bottom??""),this.style.setProperty("left",this.left??""),this.style.setProperty("inset",this.inset??""),this.style.setProperty("z-index",this.zIndex??""),this.style.setProperty("border",this.border??""),this.style.setProperty("border-top",this.borderTop??""),this.style.setProperty("border-right",this.borderRight??""),this.style.setProperty("border-bottom",this.borderBottom??""),this.style.setProperty("border-left",this.borderLeft??""),this.style.setProperty("border-color",this.borderColor??""),this.style.setProperty("border-radius",this.borderRadius??""),this.style.setProperty("border-width",this.borderWidth??""),this.style.setProperty("box-shadow",this.boxShadow??""),this.style.setProperty("opacity",this.opacity??""),this.style.setProperty("background",this.background??""),this.style.setProperty("background-image",this.backgroundImage??""),this.style.setProperty("background-position",this.backgroundPosition??""),this.style.setProperty("background-size",this.backgroundSize??""),this.style.setProperty("background-repeat",this.backgroundRepeat??""),this.style.setProperty("background-attachment",this.backgroundAttachment??""),this.style.setProperty("background-color",this.backgroundColor??""),this.style.setProperty("background-clip",this.backgroundClip??""),this.style.setProperty("background-origin",this.backgroundOrigin??""),this.style.setProperty("background-blend-mode",this.backgroundBlendMode??""),this.style.setProperty("filter",this.filter??""),this.style.setProperty("backdrop-filter",this.backdropFilter??""),this.center&&(this.style.setProperty("margin-left","auto"),this.style.setProperty("margin-right","auto"))}};u.styles=[u.styles];let o=u;i([t.property({type:Boolean})],o.prototype,"center"),i([t.property({type:String})],o.prototype,"padding"),i([t.property({type:String})],o.prototype,"margin"),i([t.property({type:String})],o.prototype,"width"),i([t.property({type:String})],o.prototype,"height"),i([t.property({type:String})],o.prototype,"minWidth"),i([t.property({type:String})],o.prototype,"minHeight"),i([t.property({type:String})],o.prototype,"maxWidth"),i([t.property({type:String})],o.prototype,"maxHeight"),i([t.property({type:String})],o.prototype,"display"),i([t.property({type:String})],o.prototype,"overflow"),i([t.property({type:String})],o.prototype,"overflowX"),i([t.property({type:String})],o.prototype,"overflowY"),i([t.property({type:String})],o.prototype,"position"),i([t.property({type:String})],o.prototype,"top"),i([t.property({type:String})],o.prototype,"right"),i([t.property({type:String})],o.prototype,"bottom"),i([t.property({type:String})],o.prototype,"left"),i([t.property({type:String})],o.prototype,"inset"),i([t.property({type:String})],o.prototype,"zIndex"),i([t.property({type:String})],o.prototype,"border"),i([t.property({type:String})],o.prototype,"borderTop"),i([t.property({type:String})],o.prototype,"borderRight"),i([t.property({type:String})],o.prototype,"borderBottom"),i([t.property({type:String})],o.prototype,"borderLeft"),i([t.property({type:String})],o.prototype,"borderColor"),i([t.property({type:String})],o.prototype,"borderRadius"),i([t.property({type:String})],o.prototype,"borderWidth"),i([t.property({type:String})],o.prototype,"boxShadow"),i([t.property({type:String})],o.prototype,"opacity"),i([t.property({type:String})],o.prototype,"background"),i([t.property({type:String})],o.prototype,"backgroundImage"),i([t.property({type:String})],o.prototype,"backgroundPosition"),i([t.property({type:String})],o.prototype,"backgroundSize"),i([t.property({type:String})],o.prototype,"backgroundRepeat"),i([t.property({type:String})],o.prototype,"backgroundAttachment"),i([t.property({type:String})],o.prototype,"backgroundColor"),i([t.property({type:String})],o.prototype,"backgroundClip"),i([t.property({type:String})],o.prototype,"backgroundOrigin"),i([t.property({type:String})],o.prototype,"backgroundBlendMode"),i([t.property({type:String})],o.prototype,"filter"),i([t.property({type:String})],o.prototype,"backdropFilter");var O=Object.defineProperty,E=Object.getOwnPropertyDescriptor,g=(r,s,n,p)=>{for(var l,e=p>1?void 0:p?E(s,n):s,c=r.length-1;c>=0;c--)(l=r[c])&&(e=(p?l(s,n,e):l(e))||e);return p&&e&&O(s,n,e),e};exports.SchmancyFlex=class extends o{constructor(){super(...arguments),this.layout=!0,this.flow="col",this.wrap="wrap",this.align="start",this.justify="start",this.gap="none"}render(){const r={flex:!0,"flex-col":this.flow==="row","flex-col-reverse":this.flow==="row-reverse","flex-row":this.flow==="col","flex-row-reverse":this.flow==="col-reverse","flex-wrap":this.wrap==="wrap","flex-wrap-reverse":this.wrap==="wrap-reverse","flex-nowrap":this.wrap==="nowrap","items-start":this.align==="start","items-center":this.align==="center","items-end":this.align==="end","items-stretch":this.align==="stretch","justify-baseline":this.align==="baseline","justify-center":this.justify==="center","justify-end":this.justify==="end","justify-start":this.justify==="start","justify-stretch":this.justify==="stretch","justify-between":this.justify==="between","gap-0":this.gap==="none","gap-2":this.gap==="sm","gap-4":this.gap==="md","gap-8":this.gap==="lg"};return d.html`
2
2
  <section class=${j.classMap(r)} style=${F.styleMap({})}>
3
3
  <slot></slot>
4
4
  </section>
@@ -38,4 +38,4 @@
38
38
  display: block;
39
39
  }
40
40
  `],h([t.property({type:Boolean,reflect:!0})],exports.SchmancyFlexV2.prototype,"inline",2),h([t.property({type:String,reflect:!0})],exports.SchmancyFlexV2.prototype,"flow",2),h([t.property({type:String,reflect:!0})],exports.SchmancyFlexV2.prototype,"wrap",2),h([t.property({type:String,reflect:!0})],exports.SchmancyFlexV2.prototype,"align",2),h([t.property({type:String,reflect:!0})],exports.SchmancyFlexV2.prototype,"justify",2),h([t.property({type:String,reflect:!0})],exports.SchmancyFlexV2.prototype,"content",2),h([t.property({type:String,reflect:!0})],exports.SchmancyFlexV2.prototype,"gap",2),exports.SchmancyFlexV2=h([t.customElement("sch-flex")],exports.SchmancyFlexV2);
41
- //# sourceMappingURL=flex-CwTn3AfA.cjs.map
41
+ //# sourceMappingURL=flex-W05LrmiY.cjs.map