@mhmo91/schmancy 0.9.13 → 0.9.14

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 (477) hide show
  1. package/custom-elements.json +194 -0
  2. package/dist/agent/schmancy.agent.js +107 -1
  3. package/dist/agent/schmancy.agent.js.map +1 -1
  4. package/dist/agent/schmancy.manifest.json +148 -0
  5. package/dist/{animation-Bcwh107v.cjs.map → animation-CQRdLgzX.cjs.map} +1 -1
  6. package/dist/{animation-CXKSuUoE.js.map → animation-hXFClrIn.js.map} +1 -1
  7. package/dist/{area-CApZWjqs.cjs → area-DBjAhgjP.cjs} +2 -2
  8. package/dist/area-DBjAhgjP.cjs.map +1 -0
  9. package/dist/{area-D_p1YBgP.js → area-Dr4I9R2p.js} +23 -35
  10. package/dist/area-Dr4I9R2p.js.map +1 -0
  11. package/dist/area.cjs +1 -1
  12. package/dist/area.js +3 -2
  13. package/dist/{audio-DUVz7Ars.cjs → audio-Dvr-RBzE.cjs} +1 -1
  14. package/dist/{audio-DUVz7Ars.cjs.map → audio-Dvr-RBzE.cjs.map} +1 -1
  15. package/dist/{audio-C7TzWI8M.js → audio-ql6nvY0y.js} +1 -1
  16. package/dist/{audio-C7TzWI8M.js.map → audio-ql6nvY0y.js.map} +1 -1
  17. package/dist/audio.cjs +1 -1
  18. package/dist/audio.js +2 -2
  19. package/dist/{autocomplete-DAK35swc.js → autocomplete-CgWUCUU-.js} +3 -3
  20. package/dist/{autocomplete-DAK35swc.js.map → autocomplete-CgWUCUU-.js.map} +1 -1
  21. package/dist/{autocomplete-DlCqS1gW.cjs → autocomplete-EM0jE7X2.cjs} +1 -1
  22. package/dist/{autocomplete-DlCqS1gW.cjs.map → autocomplete-EM0jE7X2.cjs.map} +1 -1
  23. package/dist/autocomplete.cjs +1 -1
  24. package/dist/autocomplete.js +1 -1
  25. package/dist/badge.cjs +1 -1
  26. package/dist/badge.js +1 -1
  27. package/dist/{boat-C57YTPbb.cjs → boat-BjYJI1HS.cjs} +1 -1
  28. package/dist/{boat-C57YTPbb.cjs.map → boat-BjYJI1HS.cjs.map} +1 -1
  29. package/dist/{boat-Dms45k4o.js → boat-Dw8TmOzN.js} +4 -4
  30. package/dist/{boat-Dms45k4o.js.map → boat-Dw8TmOzN.js.map} +1 -1
  31. package/dist/boat.cjs +1 -1
  32. package/dist/boat.js +1 -1
  33. package/dist/breadcrumb.cjs +1 -1
  34. package/dist/breadcrumb.js +1 -1
  35. package/dist/{busy-BfN1p1n8.cjs → busy-BmiumJpB.cjs} +1 -1
  36. package/dist/{busy-BfN1p1n8.cjs.map → busy-BmiumJpB.cjs.map} +1 -1
  37. package/dist/{busy-IKS9obYj.js → busy-D2hP3fOy.js} +1 -1
  38. package/dist/{busy-IKS9obYj.js.map → busy-D2hP3fOy.js.map} +1 -1
  39. package/dist/busy.cjs +1 -1
  40. package/dist/busy.js +1 -1
  41. package/dist/button.cjs +1 -1
  42. package/dist/button.js +4 -4
  43. package/dist/{card-ZObyqkFF.cjs → card-BslSqOsf.cjs} +1 -1
  44. package/dist/{card-ZObyqkFF.cjs.map → card-BslSqOsf.cjs.map} +1 -1
  45. package/dist/{card-DQNBal9V.js → card-CEdgK9nb.js} +2 -2
  46. package/dist/{card-DQNBal9V.js.map → card-CEdgK9nb.js.map} +1 -1
  47. package/dist/card.cjs +1 -1
  48. package/dist/card.js +1 -1
  49. package/dist/charts.cjs +1 -1
  50. package/dist/charts.js +1 -1
  51. package/dist/{checkbox-COhTJ1x5.js → checkbox-Br84TiCs.js} +2 -2
  52. package/dist/{checkbox-COhTJ1x5.js.map → checkbox-Br84TiCs.js.map} +1 -1
  53. package/dist/{checkbox-CiAtIrqB.cjs → checkbox-DtcFMgZL.cjs} +1 -1
  54. package/dist/{checkbox-CiAtIrqB.cjs.map → checkbox-DtcFMgZL.cjs.map} +1 -1
  55. package/dist/checkbox.cjs +1 -1
  56. package/dist/checkbox.js +1 -1
  57. package/dist/{chips-B5o3vNQF.js → chips-BNYOweGm.js} +5 -5
  58. package/dist/{chips-B5o3vNQF.js.map → chips-BNYOweGm.js.map} +1 -1
  59. package/dist/{chips-D2xmsC36.cjs → chips-DoCu5YQb.cjs} +1 -1
  60. package/dist/{chips-D2xmsC36.cjs.map → chips-DoCu5YQb.cjs.map} +1 -1
  61. package/dist/chips.cjs +1 -1
  62. package/dist/chips.js +2 -2
  63. package/dist/{chunk-C_1VqBVD.js → chunk-BM5alsTp.js} +9 -2
  64. package/dist/chunk-CncqDLb2.cjs +1 -0
  65. package/dist/{code-highlight-SkMMTkIJ.js → code-highlight-BgExKEto.js} +1 -1
  66. package/dist/{code-highlight-SkMMTkIJ.js.map → code-highlight-BgExKEto.js.map} +1 -1
  67. package/dist/{code-highlight-BToHh8T6.cjs → code-highlight-zSYcSfCz.cjs} +1 -1
  68. package/dist/{code-highlight-BToHh8T6.cjs.map → code-highlight-zSYcSfCz.cjs.map} +1 -1
  69. package/dist/code-highlight.cjs +1 -1
  70. package/dist/code-highlight.js +1 -1
  71. package/dist/{components-Ca7OTgbQ.js → components-DjKNS9R_.js} +1 -1
  72. package/dist/{components-Ca7OTgbQ.js.map → components-DjKNS9R_.js.map} +1 -1
  73. package/dist/{components-B-XYvUWn.cjs → components-TJT8-tva.cjs} +1 -1
  74. package/dist/{components-B-XYvUWn.cjs.map → components-TJT8-tva.cjs.map} +1 -1
  75. package/dist/components.cjs +1 -1
  76. package/dist/components.js +1 -1
  77. package/dist/connectivity.cjs +1 -1
  78. package/dist/connectivity.js +2 -2
  79. package/dist/content-drawer.cjs +1 -1
  80. package/dist/content-drawer.js +1 -1
  81. package/dist/context-CAYQh-mx.cjs +1 -0
  82. package/dist/{context-C6GwmNJJ.cjs.map → context-CAYQh-mx.cjs.map} +1 -1
  83. package/dist/context-D8Q66KPe.js +3 -0
  84. package/dist/{context-oBTPHrbc.js.map → context-D8Q66KPe.js.map} +1 -1
  85. package/dist/{cursor-glow-C2YRrB8Z.js → cursor-glow-BydlDInj.js} +1 -1
  86. package/dist/{cursor-glow-C2YRrB8Z.js.map → cursor-glow-BydlDInj.js.map} +1 -1
  87. package/dist/{cursor-glow-82y5h3E4.cjs → cursor-glow-Duw9jHmh.cjs} +1 -1
  88. package/dist/{cursor-glow-82y5h3E4.cjs.map → cursor-glow-Duw9jHmh.cjs.map} +1 -1
  89. package/dist/{date-range-BTA9nKbw.cjs → date-range-CIWYm3eS.cjs} +1 -1
  90. package/dist/{date-range-BTA9nKbw.cjs.map → date-range-CIWYm3eS.cjs.map} +1 -1
  91. package/dist/{date-range-inline-LLC3Y0mi.cjs → date-range-inline-B9Dp2z6C.cjs} +1 -1
  92. package/dist/{date-range-inline-LLC3Y0mi.cjs.map → date-range-inline-B9Dp2z6C.cjs.map} +1 -1
  93. package/dist/{date-range-inline-B_g1YXu3.js.map → date-range-inline-CpKG6qt2.js.map} +1 -1
  94. package/dist/date-range-inline.cjs +1 -1
  95. package/dist/date-range-inline.js +1 -1
  96. package/dist/{date-range-DUWpF0Qw.js → date-range-sGkC0KF3.js} +4 -4
  97. package/dist/{date-range-DUWpF0Qw.js.map → date-range-sGkC0KF3.js.map} +1 -1
  98. package/dist/date-range.cjs +1 -1
  99. package/dist/date-range.js +1 -1
  100. package/dist/{delay-Co89XWry.cjs → delay-Bu4WMQlV.cjs} +1 -1
  101. package/dist/{delay-Co89XWry.cjs.map → delay-Bu4WMQlV.cjs.map} +1 -1
  102. package/dist/{delay-CtDrlf1Q.js → delay-DwX65fSc.js} +4 -4
  103. package/dist/{delay-CtDrlf1Q.js.map → delay-DwX65fSc.js.map} +1 -1
  104. package/dist/delay.cjs +1 -1
  105. package/dist/delay.js +1 -1
  106. package/dist/{details-CyXyVdb2.cjs → details-B8p62xmR.cjs} +1 -1
  107. package/dist/{details-CyXyVdb2.cjs.map → details-B8p62xmR.cjs.map} +1 -1
  108. package/dist/{details-B1Ax7WiP.js → details-CCW52lzz.js} +5 -5
  109. package/dist/{details-B1Ax7WiP.js.map → details-CCW52lzz.js.map} +1 -1
  110. package/dist/details.cjs +1 -1
  111. package/dist/details.js +1 -1
  112. package/dist/{dialog-service-DXLGSshF.cjs → dialog-service-CzDO08Gy.cjs} +1 -1
  113. package/dist/{dialog-service-DXLGSshF.cjs.map → dialog-service-CzDO08Gy.cjs.map} +1 -1
  114. package/dist/{dialog-service-CCFGpU7a.js → dialog-service-DH-tjPuE.js} +2 -2
  115. package/dist/{dialog-service-CCFGpU7a.js.map → dialog-service-DH-tjPuE.js.map} +1 -1
  116. package/dist/dialog.cjs +1 -1
  117. package/dist/dialog.js +5 -5
  118. package/dist/directives.cjs +1 -1
  119. package/dist/directives.js +5 -5
  120. package/dist/discovery.cjs +1 -1
  121. package/dist/{divider-DuwCrKQu.js → divider-CbEWg3G_.js} +1 -1
  122. package/dist/{divider-DuwCrKQu.js.map → divider-CbEWg3G_.js.map} +1 -1
  123. package/dist/{divider-xcvHqVBc.cjs → divider-JyyFw_3J.cjs} +1 -1
  124. package/dist/{divider-xcvHqVBc.cjs.map → divider-JyyFw_3J.cjs.map} +1 -1
  125. package/dist/divider.cjs +1 -1
  126. package/dist/divider.js +1 -1
  127. package/dist/dropdown.cjs +1 -1
  128. package/dist/dropdown.js +2 -2
  129. package/dist/{expand-DUgOh1af.cjs → expand-BmwIPNjq.cjs} +1 -1
  130. package/dist/{expand-DUgOh1af.cjs.map → expand-BmwIPNjq.cjs.map} +1 -1
  131. package/dist/{expand-X0C1W279.js → expand-bFa_qVDT.js} +4 -4
  132. package/dist/{expand-X0C1W279.js.map → expand-bFa_qVDT.js.map} +1 -1
  133. package/dist/expand.cjs +1 -1
  134. package/dist/expand.js +1 -1
  135. package/dist/{extra-BqfYIC_q.cjs → extra-BUgyMgjl.cjs} +1 -1
  136. package/dist/{extra-BqfYIC_q.cjs.map → extra-BUgyMgjl.cjs.map} +1 -1
  137. package/dist/{extra-BTyq-5Z6.js → extra-HwbaUnCD.js} +1 -1
  138. package/dist/{extra-BTyq-5Z6.js.map → extra-HwbaUnCD.js.map} +1 -1
  139. package/dist/extra.cjs +1 -1
  140. package/dist/extra.js +1 -1
  141. package/dist/float-BQwhfibw.cjs +1 -0
  142. package/dist/{float-yZoLnUg0.cjs.map → float-BQwhfibw.cjs.map} +1 -1
  143. package/dist/{float-BgGeLER6.js → float-D5ezUurt.js} +1 -1
  144. package/dist/{float-BgGeLER6.js.map → float-D5ezUurt.js.map} +1 -1
  145. package/dist/float.cjs +1 -1
  146. package/dist/float.js +1 -1
  147. package/dist/{flow-BPDtbhLe.js.map → flow-BGkHnOnd.js.map} +1 -1
  148. package/dist/{flow-Dn9AZktE.cjs.map → flow-ClAJ6Qby.cjs.map} +1 -1
  149. package/dist/{form-C1qS9uvS.js.map → form-rCZqoAoK.js.map} +1 -1
  150. package/dist/{form-CzD0JLxM.cjs → form-wI58M85H.cjs} +1 -1
  151. package/dist/{form-CzD0JLxM.cjs.map → form-wI58M85H.cjs.map} +1 -1
  152. package/dist/form.cjs +1 -1
  153. package/dist/form.js +1 -1
  154. package/dist/{hashContent-BUqULUiZ.js.map → hashContent-B2IntJQf.js.map} +1 -1
  155. package/dist/{hashContent-CI39BY-_.cjs.map → hashContent-CahnEuut.cjs.map} +1 -1
  156. package/dist/{icons-BLFEJFDG.cjs → icons-B6V3nZ4-.cjs} +1 -1
  157. package/dist/{icons-BLFEJFDG.cjs.map → icons-B6V3nZ4-.cjs.map} +1 -1
  158. package/dist/{icons-BDcb8dNb.js → icons-C5-DIjet.js} +2 -2
  159. package/dist/{icons-BDcb8dNb.js.map → icons-C5-DIjet.js.map} +1 -1
  160. package/dist/icons.cjs +1 -1
  161. package/dist/icons.js +1 -1
  162. package/dist/{iframe-qCW0HzwB.js → iframe-BXBsuLwt.js} +1 -1
  163. package/dist/{iframe-qCW0HzwB.js.map → iframe-BXBsuLwt.js.map} +1 -1
  164. package/dist/{iframe-CrDpQkhj.cjs → iframe-C7sHg7RC.cjs} +1 -1
  165. package/dist/{iframe-CrDpQkhj.cjs.map → iframe-C7sHg7RC.cjs.map} +1 -1
  166. package/dist/iframe.cjs +1 -1
  167. package/dist/iframe.js +1 -1
  168. package/dist/index.cjs +1 -1
  169. package/dist/index.js +53 -52
  170. package/dist/{input-C1MIZaKq.cjs → input-BGNZlfL8.cjs} +1 -1
  171. package/dist/{input-C1MIZaKq.cjs.map → input-BGNZlfL8.cjs.map} +1 -1
  172. package/dist/{input-Dv-HtkM9.js.map → input-Bc3bVISm.js.map} +1 -1
  173. package/dist/{input-chip-CyvjhQSw.js → input-chip-CiG61y-N.js} +1 -1
  174. package/dist/{input-chip-CyvjhQSw.js.map → input-chip-CiG61y-N.js.map} +1 -1
  175. package/dist/{input-chip-DnfthOSY.cjs → input-chip-p24lkYtY.cjs} +1 -1
  176. package/dist/{input-chip-DnfthOSY.cjs.map → input-chip-p24lkYtY.cjs.map} +1 -1
  177. package/dist/input.cjs +1 -1
  178. package/dist/input.js +1 -1
  179. package/dist/{intersection-C0JuW_7U.js.map → intersection-BrXp4YTO.js.map} +1 -1
  180. package/dist/{intersection-MvbRovUz.cjs → intersection-DqBqnpgh.cjs} +1 -1
  181. package/dist/{intersection-MvbRovUz.cjs.map → intersection-DqBqnpgh.cjs.map} +1 -1
  182. package/dist/json.cjs +1 -1
  183. package/dist/json.js +2 -2
  184. package/dist/kbd.cjs +1 -1
  185. package/dist/kbd.js +1 -1
  186. package/dist/{layout-D0cR3hT1.cjs → layout-B0_IXfov.cjs} +1 -1
  187. package/dist/{layout-D0cR3hT1.cjs.map → layout-B0_IXfov.cjs.map} +1 -1
  188. package/dist/{layout-PZCF3kwl.cjs → layout-CTfRXQoz.cjs} +1 -1
  189. package/dist/{layout-PZCF3kwl.cjs.map → layout-CTfRXQoz.cjs.map} +1 -1
  190. package/dist/{layout-Y5qo3er8.js → layout-Cqghi_rx.js} +2 -2
  191. package/dist/{layout-Y5qo3er8.js.map → layout-Cqghi_rx.js.map} +1 -1
  192. package/dist/{layout-BE2ld1IY.js → layout-fjM1DWlF.js} +1 -1
  193. package/dist/{layout-BE2ld1IY.js.map → layout-fjM1DWlF.js.map} +1 -1
  194. package/dist/layout.cjs +1 -1
  195. package/dist/layout.js +2 -2
  196. package/dist/lazy-BDNnH_r7.cjs +1 -0
  197. package/dist/lazy-BDNnH_r7.cjs.map +1 -0
  198. package/dist/lazy-D6R5N5v4.js +13 -0
  199. package/dist/lazy-D6R5N5v4.js.map +1 -0
  200. package/dist/{lightbox-Ce8nMldr.cjs → lightbox-BWKTzA03.cjs} +1 -1
  201. package/dist/{lightbox-Ce8nMldr.cjs.map → lightbox-BWKTzA03.cjs.map} +1 -1
  202. package/dist/{lightbox-C_pqYF6q.js → lightbox-CnCTvqSu.js} +3 -3
  203. package/dist/{lightbox-C_pqYF6q.js.map → lightbox-CnCTvqSu.js.map} +1 -1
  204. package/dist/lightbox.cjs +1 -1
  205. package/dist/lightbox.js +1 -1
  206. package/dist/{list-DcnTGee0.js → list-BpjKUOzM.js} +2 -2
  207. package/dist/{list-DcnTGee0.js.map → list-BpjKUOzM.js.map} +1 -1
  208. package/dist/{list-CLc_OQ5k.cjs → list-CMWHu6cV.cjs} +1 -1
  209. package/dist/{list-CLc_OQ5k.cjs.map → list-CMWHu6cV.cjs.map} +1 -1
  210. package/dist/list.cjs +1 -1
  211. package/dist/list.js +1 -1
  212. package/dist/{litElement.mixin-Mi8bar6B.js → litElement.mixin-BnNYZ24e.js} +1 -1
  213. package/dist/{litElement.mixin-Mi8bar6B.js.map → litElement.mixin-BnNYZ24e.js.map} +1 -1
  214. package/dist/{litElement.mixin-DeT3kAOS.cjs → litElement.mixin-CtQOmwq6.cjs} +1 -1
  215. package/dist/{litElement.mixin-DeT3kAOS.cjs.map → litElement.mixin-CtQOmwq6.cjs.map} +1 -1
  216. package/dist/{magnetic-Dj52WplI.js → magnetic-BhXebqF3.js} +2 -2
  217. package/dist/{magnetic-Dj52WplI.js.map → magnetic-BhXebqF3.js.map} +1 -1
  218. package/dist/{magnetic-aBBnj_vk.cjs → magnetic-CVXEkYTA.cjs} +1 -1
  219. package/dist/{magnetic-aBBnj_vk.cjs.map → magnetic-CVXEkYTA.cjs.map} +1 -1
  220. package/dist/{mailbox-BrLZPj2o.js → mailbox-CHIpxS3W.js} +5 -5
  221. package/dist/{mailbox-BrLZPj2o.js.map → mailbox-CHIpxS3W.js.map} +1 -1
  222. package/dist/{mailbox-CE5sTDsQ.cjs → mailbox-Tg1CROVz.cjs} +1 -1
  223. package/dist/{mailbox-CE5sTDsQ.cjs.map → mailbox-Tg1CROVz.cjs.map} +1 -1
  224. package/dist/mailbox.cjs +1 -1
  225. package/dist/mailbox.js +1 -1
  226. package/dist/{map-SNb-3q5h.js → map-YY1Q4FWO.js} +1 -1
  227. package/dist/{map-SNb-3q5h.js.map → map-YY1Q4FWO.js.map} +1 -1
  228. package/dist/{map-CKzhM6uY.cjs → map-Z_dsu-dv.cjs} +1 -1
  229. package/dist/{map-CKzhM6uY.cjs.map → map-Z_dsu-dv.cjs.map} +1 -1
  230. package/dist/map.cjs +1 -1
  231. package/dist/map.js +1 -1
  232. package/dist/{menu-VErqs9NG.js → menu-BIBUgS1T.js} +2 -2
  233. package/dist/{menu-VErqs9NG.js.map → menu-BIBUgS1T.js.map} +1 -1
  234. package/dist/{menu-BnGjBrdD.cjs → menu-DS8Iz4fJ.cjs} +1 -1
  235. package/dist/{menu-BnGjBrdD.cjs.map → menu-DS8Iz4fJ.cjs.map} +1 -1
  236. package/dist/menu.cjs +1 -1
  237. package/dist/menu.js +1 -1
  238. package/dist/mixins.cjs +1 -1
  239. package/dist/mixins.js +2 -2
  240. package/dist/nav-drawer.cjs +1 -1
  241. package/dist/nav-drawer.js +1 -1
  242. package/dist/navigation-bar.cjs +1 -1
  243. package/dist/navigation-bar.js +1 -1
  244. package/dist/navigation-rail.cjs +1 -1
  245. package/dist/navigation-rail.js +1 -1
  246. package/dist/{notification-B_Fkxv7d.js → notification-ChAvNXf3.js} +3 -3
  247. package/dist/{notification-B_Fkxv7d.js.map → notification-ChAvNXf3.js.map} +1 -1
  248. package/dist/{notification-DE5dFf8G.cjs → notification-DPUkuifB.cjs} +1 -1
  249. package/dist/{notification-DE5dFf8G.cjs.map → notification-DPUkuifB.cjs.map} +1 -1
  250. package/dist/notification.cjs +1 -1
  251. package/dist/notification.js +1 -1
  252. package/dist/{option-DuAlGv27.js → option-Ci7C8xxh.js} +1 -1
  253. package/dist/{option-DuAlGv27.js.map → option-Ci7C8xxh.js.map} +1 -1
  254. package/dist/{option-BmbP5ulK.cjs → option-OIp0joyN.cjs} +1 -1
  255. package/dist/{option-BmbP5ulK.cjs.map → option-OIp0joyN.cjs.map} +1 -1
  256. package/dist/option.cjs +1 -1
  257. package/dist/option.js +1 -1
  258. package/dist/{overlay-stack-J_eJCUTX.cjs.map → overlay-stack-7bs4ZNnh.cjs.map} +1 -1
  259. package/dist/{overlay-stack-BJt_r6aZ.js.map → overlay-stack-DXPYHPhk.js.map} +1 -1
  260. package/dist/overlay.cjs +130 -0
  261. package/dist/overlay.cjs.map +1 -0
  262. package/dist/overlay.js +570 -0
  263. package/dist/overlay.js.map +1 -0
  264. package/dist/page.cjs +1 -1
  265. package/dist/page.js +4 -4
  266. package/dist/{progress-Bt9gUiGP.cjs → progress-32Cad1NX.cjs} +1 -1
  267. package/dist/{progress-Bt9gUiGP.cjs.map → progress-32Cad1NX.cjs.map} +1 -1
  268. package/dist/{progress-BnXr7aAs.js → progress-DGkwPgDX.js} +1 -1
  269. package/dist/{progress-BnXr7aAs.js.map → progress-DGkwPgDX.js.map} +1 -1
  270. package/dist/progress.cjs +1 -1
  271. package/dist/progress.js +1 -1
  272. package/dist/{provide-Disc6_zz.js → provide-BuzyBLGj.js} +1 -1
  273. package/dist/{provide-Disc6_zz.js.map → provide-BuzyBLGj.js.map} +1 -1
  274. package/dist/{provide-CnXCF-UP.cjs → provide-MvHcXKzT.cjs} +1 -1
  275. package/dist/{provide-CnXCF-UP.cjs.map → provide-MvHcXKzT.cjs.map} +1 -1
  276. package/dist/qr-scanner.cjs +1 -1
  277. package/dist/qr-scanner.js +1 -1
  278. package/dist/{radio-group-BgZgHMoA.js → radio-group-B72sYGnS.js} +1 -1
  279. package/dist/{radio-group-BgZgHMoA.js.map → radio-group-B72sYGnS.js.map} +1 -1
  280. package/dist/{radio-group-DkBFgq_3.cjs → radio-group-B7DuNxUq.cjs} +1 -1
  281. package/dist/{radio-group-DkBFgq_3.cjs.map → radio-group-B7DuNxUq.cjs.map} +1 -1
  282. package/dist/radio-group.cjs +1 -1
  283. package/dist/radio-group.js +1 -1
  284. package/dist/range.cjs +1 -1
  285. package/dist/range.js +1 -1
  286. package/dist/{reduced-motion-DR32yKEO.cjs → reduced-motion-9RjNnhIg.cjs} +1 -1
  287. package/dist/{reduced-motion-DR32yKEO.cjs.map → reduced-motion-9RjNnhIg.cjs.map} +1 -1
  288. package/dist/{reduced-motion-B83yZbcO.js.map → reduced-motion-BZTLqAyl.js.map} +1 -1
  289. package/dist/{rxjs-utils-CN9fv8Xq.js → rxjs-utils-CKTnEKUH.js} +1 -1
  290. package/dist/{rxjs-utils-CN9fv8Xq.js.map → rxjs-utils-CKTnEKUH.js.map} +1 -1
  291. package/dist/{rxjs-utils-Vn6DCKgL.cjs → rxjs-utils-DJbZRjp3.cjs} +1 -1
  292. package/dist/{rxjs-utils-Vn6DCKgL.cjs.map → rxjs-utils-DJbZRjp3.cjs.map} +1 -1
  293. package/dist/rxjs-utils.cjs +1 -1
  294. package/dist/rxjs-utils.js +1 -1
  295. package/dist/{scroll-57rkTHm8.js → scroll-CdmXRXh2.js} +1 -1
  296. package/dist/{scroll-57rkTHm8.js.map → scroll-CdmXRXh2.js.map} +1 -1
  297. package/dist/{scroll-hWt0b1gK.cjs → scroll-V1rAZ9fK.cjs} +1 -1
  298. package/dist/{scroll-hWt0b1gK.cjs.map → scroll-V1rAZ9fK.cjs.map} +1 -1
  299. package/dist/{search-BlGJ6uJv.js.map → search-CvUZRLF1.js.map} +1 -1
  300. package/dist/{search-C8eAOzBm.cjs.map → search-CwMav5QB.cjs.map} +1 -1
  301. package/dist/{select-BDonPD5a.cjs → select-DFxoBgEf.cjs} +1 -1
  302. package/dist/{select-BDonPD5a.cjs.map → select-DFxoBgEf.cjs.map} +1 -1
  303. package/dist/{select-CkOAwmxC.js → select-wFDKDLQI.js} +2 -2
  304. package/dist/{select-CkOAwmxC.js.map → select-wFDKDLQI.js.map} +1 -1
  305. package/dist/select.cjs +1 -1
  306. package/dist/select.js +1 -1
  307. package/dist/{sheet-Bv2mPHWk.cjs → sheet-DdlZhnDG.cjs} +2 -2
  308. package/dist/{sheet-Bv2mPHWk.cjs.map → sheet-DdlZhnDG.cjs.map} +1 -1
  309. package/dist/{sheet-NUgEmozP.js → sheet-LFVo5iN4.js} +4 -4
  310. package/dist/{sheet-NUgEmozP.js.map → sheet-LFVo5iN4.js.map} +1 -1
  311. package/dist/sheet.cjs +1 -1
  312. package/dist/sheet.js +2 -2
  313. package/dist/{sheet.service-BKmnlkpZ.cjs → sheet.service-BfNDB0K0.cjs} +1 -1
  314. package/dist/{sheet.service-BKmnlkpZ.cjs.map → sheet.service-BfNDB0K0.cjs.map} +1 -1
  315. package/dist/{sheet.service-CanLo8ko.js → sheet.service-DQE7-_wq.js} +3 -3
  316. package/dist/{sheet.service-CanLo8ko.js.map → sheet.service-DQE7-_wq.js.map} +1 -1
  317. package/dist/skeleton.cjs +1 -1
  318. package/dist/skeleton.js +1 -1
  319. package/dist/skills/INDEX.md +1 -1
  320. package/dist/skills/overlay.md +200 -0
  321. package/dist/skills/schmancy/INDEX.md +1 -1
  322. package/dist/skills/schmancy/overlay.md +200 -0
  323. package/dist/slider.cjs +1 -1
  324. package/dist/slider.js +1 -1
  325. package/dist/{sound.service-BjSoGjmT.cjs → sound.service-BEN6Xjy_.cjs} +1 -1
  326. package/dist/{sound.service-BjSoGjmT.cjs.map → sound.service-BEN6Xjy_.cjs.map} +1 -1
  327. package/dist/{sound.service-cdkw3Wkv.js → sound.service-DWZe6swU.js} +1 -1
  328. package/dist/{sound.service-cdkw3Wkv.js.map → sound.service-DWZe6swU.js.map} +1 -1
  329. package/dist/{splash-screen-BemqNFNj.cjs → splash-screen-C9HqX2nR.cjs} +1 -1
  330. package/dist/{splash-screen-BemqNFNj.cjs.map → splash-screen-C9HqX2nR.cjs.map} +1 -1
  331. package/dist/{splash-screen-B0ppA3f1.js → splash-screen-COg3Z6n8.js} +1 -1
  332. package/dist/{splash-screen-B0ppA3f1.js.map → splash-screen-COg3Z6n8.js.map} +1 -1
  333. package/dist/splash-screen.cjs +1 -1
  334. package/dist/splash-screen.js +1 -1
  335. package/dist/{src-Cjy9zCiU.js → src-C7niWYur.js} +51 -51
  336. package/dist/{src-Cjy9zCiU.js.map → src-C7niWYur.js.map} +1 -1
  337. package/dist/{src-ByGCYD-E.cjs → src-I4M33WK2.cjs} +3 -3
  338. package/dist/{src-ByGCYD-E.cjs.map → src-I4M33WK2.cjs.map} +1 -1
  339. package/dist/steps.cjs +1 -1
  340. package/dist/steps.js +3 -3
  341. package/dist/{store-CO4nJyGj.cjs → store-CjFHCSDb.cjs} +1 -1
  342. package/dist/{store-CO4nJyGj.cjs.map → store-CjFHCSDb.cjs.map} +1 -1
  343. package/dist/{store-Bmj6rvZY.js.map → store-CjzZDQt8.js.map} +1 -1
  344. package/dist/store.cjs +1 -1
  345. package/dist/store.js +1 -1
  346. package/dist/{surface-CtpWeSGn.js → surface-0XM4DBaT.js} +2 -2
  347. package/dist/{surface-CtpWeSGn.js.map → surface-0XM4DBaT.js.map} +1 -1
  348. package/dist/{surface-CoLYICO1.cjs → surface-B6DA01kL.cjs} +1 -1
  349. package/dist/{surface-CoLYICO1.cjs.map → surface-B6DA01kL.cjs.map} +1 -1
  350. package/dist/surface.cjs +1 -1
  351. package/dist/surface.js +1 -1
  352. package/dist/{surface.mixin-CSKqQH-0.cjs → surface.mixin-DxOi-xo0.cjs} +1 -1
  353. package/dist/{surface.mixin-CSKqQH-0.cjs.map → surface.mixin-DxOi-xo0.cjs.map} +1 -1
  354. package/dist/switch.cjs +1 -1
  355. package/dist/switch.js +1 -1
  356. package/dist/{table-COQKtlJB.cjs → table-B-DsOqzT.cjs} +2 -2
  357. package/dist/{table-COQKtlJB.cjs.map → table-B-DsOqzT.cjs.map} +1 -1
  358. package/dist/{table-bgFb1KYU.js → table-hBEZRxM_.js} +3 -3
  359. package/dist/{table-bgFb1KYU.js.map → table-hBEZRxM_.js.map} +1 -1
  360. package/dist/table.cjs +1 -1
  361. package/dist/table.js +1 -1
  362. package/dist/{tabs-BicCpU1B.js → tabs-C7r4TqcX.js} +2 -2
  363. package/dist/{tabs-BicCpU1B.js.map → tabs-C7r4TqcX.js.map} +1 -1
  364. package/dist/{tabs-CoMJAXDy.cjs → tabs-DZaLZUBy.cjs} +1 -1
  365. package/dist/{tabs-CoMJAXDy.cjs.map → tabs-DZaLZUBy.cjs.map} +1 -1
  366. package/dist/tabs.cjs +1 -1
  367. package/dist/tabs.js +1 -1
  368. package/dist/tailwind.mixin-Bh58QnlW.cjs +2 -0
  369. package/dist/{tailwind.mixin-BfdVIGgD.cjs.map → tailwind.mixin-Bh58QnlW.cjs.map} +1 -1
  370. package/dist/tailwind.mixin-H5Pn7vSJ.js +219 -0
  371. package/dist/{tailwind.mixin-CNdR3zFD.js.map → tailwind.mixin-H5Pn7vSJ.js.map} +1 -1
  372. package/dist/teleport.cjs +1 -1
  373. package/dist/teleport.js +1 -1
  374. package/dist/{textarea-CxTSwn3x.cjs → textarea-B2544vx9.cjs} +1 -1
  375. package/dist/{textarea-CxTSwn3x.cjs.map → textarea-B2544vx9.cjs.map} +1 -1
  376. package/dist/{textarea-D7O9Uo15.js → textarea-CS-KdSLz.js} +1 -1
  377. package/dist/{textarea-D7O9Uo15.js.map → textarea-CS-KdSLz.js.map} +1 -1
  378. package/dist/textarea.cjs +1 -1
  379. package/dist/textarea.js +1 -1
  380. package/dist/{theme-DGiyJMTT.js → theme-Cq_c9IO3.js} +7 -7
  381. package/dist/{theme-DGiyJMTT.js.map → theme-Cq_c9IO3.js.map} +1 -1
  382. package/dist/{theme-CCez6SRm.cjs → theme-DU5yXaV-.cjs} +1 -1
  383. package/dist/{theme-CCez6SRm.cjs.map → theme-DU5yXaV-.cjs.map} +1 -1
  384. package/dist/{theme-button-BV0CxpGn.cjs → theme-button-CPujUbgV.cjs} +1 -1
  385. package/dist/{theme-button-BV0CxpGn.cjs.map → theme-button-CPujUbgV.cjs.map} +1 -1
  386. package/dist/{theme-button-s9GfSQL5.js → theme-button-OJl2ma0u.js} +1 -1
  387. package/dist/{theme-button-s9GfSQL5.js.map → theme-button-OJl2ma0u.js.map} +1 -1
  388. package/dist/theme-button.cjs +1 -1
  389. package/dist/theme-button.js +1 -1
  390. package/dist/theme.cjs +1 -1
  391. package/dist/{theme.events-EznKK2Y0.cjs.map → theme.events-DakXxZeP.cjs.map} +1 -1
  392. package/dist/{theme.events-Bw3mYjUA.js.map → theme.events-NuihzD_p.js.map} +1 -1
  393. package/dist/{theme.interface-Cyqv5XWY.js.map → theme.interface-Buged9Cg.js.map} +1 -1
  394. package/dist/{theme.interface-CCE3L1ql.cjs.map → theme.interface-DTwkuAKJ.cjs.map} +1 -1
  395. package/dist/theme.js +5 -5
  396. package/dist/{theme.service-ETiKUwVy.cjs → theme.service-DxJPUGlu.cjs} +1 -1
  397. package/dist/{theme.service-ETiKUwVy.cjs.map → theme.service-DxJPUGlu.cjs.map} +1 -1
  398. package/dist/{theme.service-_qP5WvB9.js → theme.service-cOfPrtfe.js} +2 -2
  399. package/dist/{theme.service-_qP5WvB9.js.map → theme.service-cOfPrtfe.js.map} +1 -1
  400. package/dist/tooltip.cjs +1 -1
  401. package/dist/tree.cjs +1 -1
  402. package/dist/tree.js +1 -1
  403. package/dist/{tslib.es6-PMITL0Z3.cjs.map → tslib.es6-Cnt75pb6.cjs.map} +1 -1
  404. package/dist/{tslib.es6-vJQZBGJO.js.map → tslib.es6-DMzzJKHV.js.map} +1 -1
  405. package/dist/{typewriter-BTqEQXsX.js → typewriter-DyN7xa0n.js} +5 -5
  406. package/dist/{typewriter-BTqEQXsX.js.map → typewriter-DyN7xa0n.js.map} +1 -1
  407. package/dist/{typewriter-DeaL3NfZ.cjs → typewriter-LK0S4NEr.cjs} +1 -1
  408. package/dist/{typewriter-DeaL3NfZ.cjs.map → typewriter-LK0S4NEr.cjs.map} +1 -1
  409. package/dist/typewriter.cjs +1 -1
  410. package/dist/typewriter.js +1 -1
  411. package/dist/typography.cjs +1 -1
  412. package/dist/typography.js +1 -1
  413. package/dist/{utils-C8PD8So2.cjs → utils-2qrmPb78.cjs} +1 -1
  414. package/dist/{utils-C8PD8So2.cjs.map → utils-2qrmPb78.cjs.map} +1 -1
  415. package/dist/{utils-DVuCPDfw.js → utils-xBXLvebz.js} +3 -3
  416. package/dist/{utils-DVuCPDfw.js.map → utils-xBXLvebz.js.map} +1 -1
  417. package/dist/utils.cjs +1 -1
  418. package/dist/utils.js +5 -5
  419. package/dist/visually-hidden.cjs +1 -1
  420. package/dist/visually-hidden.js +1 -1
  421. package/dist/{window-CDHDVOwO.js → window-BWecg8Ih.js} +6 -6
  422. package/dist/{window-CDHDVOwO.js.map → window-BWecg8Ih.js.map} +1 -1
  423. package/dist/{window-IGZgxuUC.cjs → window-Cjv2GqSN.cjs} +1 -1
  424. package/dist/{window-IGZgxuUC.cjs.map → window-Cjv2GqSN.cjs.map} +1 -1
  425. package/dist/window.cjs +1 -1
  426. package/dist/window.js +1 -1
  427. package/package.json +1 -1
  428. package/skills/schmancy/INDEX.md +1 -1
  429. package/skills/schmancy/overlay.md +200 -0
  430. package/src/overlay/index.ts +15 -0
  431. package/src/overlay/overlay.animations.ts +137 -0
  432. package/src/overlay/overlay.component.ts +452 -0
  433. package/src/overlay/overlay.confirm-body.ts +149 -0
  434. package/src/overlay/overlay.gestures.ts +131 -0
  435. package/src/overlay/overlay.layout.ts +76 -0
  436. package/src/overlay/overlay.service.ts +299 -0
  437. package/src/overlay/overlay.stack.ts +171 -0
  438. package/src/overlay/overlay.types.ts +146 -0
  439. package/types/src/overlay/index.d.ts +5 -0
  440. package/types/src/overlay/overlay.animations.d.ts +26 -0
  441. package/types/src/overlay/overlay.component.d.ts +48 -0
  442. package/types/src/overlay/overlay.confirm-body.d.ts +42 -0
  443. package/types/src/overlay/overlay.gestures.d.ts +39 -0
  444. package/types/src/overlay/overlay.layout.d.ts +48 -0
  445. package/types/src/overlay/overlay.service.d.ts +62 -0
  446. package/types/src/overlay/overlay.stack.d.ts +25 -0
  447. package/types/src/overlay/overlay.types.d.ts +122 -0
  448. package/dist/area-CApZWjqs.cjs.map +0 -1
  449. package/dist/area-D_p1YBgP.js.map +0 -1
  450. package/dist/chunk-BCfY8kxB.cjs +0 -1
  451. package/dist/context-C6GwmNJJ.cjs +0 -1
  452. package/dist/context-oBTPHrbc.js +0 -3
  453. package/dist/float-yZoLnUg0.cjs +0 -1
  454. package/dist/tailwind.mixin-BfdVIGgD.cjs +0 -2
  455. package/dist/tailwind.mixin-CNdR3zFD.js +0 -219
  456. /package/dist/{animation-Bcwh107v.cjs → animation-CQRdLgzX.cjs} +0 -0
  457. /package/dist/{animation-CXKSuUoE.js → animation-hXFClrIn.js} +0 -0
  458. /package/dist/{date-range-inline-B_g1YXu3.js → date-range-inline-CpKG6qt2.js} +0 -0
  459. /package/dist/{flow-BPDtbhLe.js → flow-BGkHnOnd.js} +0 -0
  460. /package/dist/{flow-Dn9AZktE.cjs → flow-ClAJ6Qby.cjs} +0 -0
  461. /package/dist/{form-C1qS9uvS.js → form-rCZqoAoK.js} +0 -0
  462. /package/dist/{hashContent-BUqULUiZ.js → hashContent-B2IntJQf.js} +0 -0
  463. /package/dist/{hashContent-CI39BY-_.cjs → hashContent-CahnEuut.cjs} +0 -0
  464. /package/dist/{input-Dv-HtkM9.js → input-Bc3bVISm.js} +0 -0
  465. /package/dist/{intersection-C0JuW_7U.js → intersection-BrXp4YTO.js} +0 -0
  466. /package/dist/{overlay-stack-J_eJCUTX.cjs → overlay-stack-7bs4ZNnh.cjs} +0 -0
  467. /package/dist/{overlay-stack-BJt_r6aZ.js → overlay-stack-DXPYHPhk.js} +0 -0
  468. /package/dist/{reduced-motion-B83yZbcO.js → reduced-motion-BZTLqAyl.js} +0 -0
  469. /package/dist/{search-BlGJ6uJv.js → search-CvUZRLF1.js} +0 -0
  470. /package/dist/{search-C8eAOzBm.cjs → search-CwMav5QB.cjs} +0 -0
  471. /package/dist/{store-Bmj6rvZY.js → store-CjzZDQt8.js} +0 -0
  472. /package/dist/{theme.events-EznKK2Y0.cjs → theme.events-DakXxZeP.cjs} +0 -0
  473. /package/dist/{theme.events-Bw3mYjUA.js → theme.events-NuihzD_p.js} +0 -0
  474. /package/dist/{theme.interface-Cyqv5XWY.js → theme.interface-Buged9Cg.js} +0 -0
  475. /package/dist/{theme.interface-CCE3L1ql.cjs → theme.interface-DTwkuAKJ.cjs} +0 -0
  476. /package/dist/{tslib.es6-PMITL0Z3.cjs → tslib.es6-Cnt75pb6.cjs} +0 -0
  477. /package/dist/{tslib.es6-vJQZBGJO.js → tslib.es6-DMzzJKHV.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"input-chip-DnfthOSY.cjs","names":[],"sources":["../src/chips/input-chip.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/tailwind.mixin'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { BehaviorSubject, combineLatest } from 'rxjs'\nimport { map, takeUntil, tap } from 'rxjs/operators'\n\n/**\n * Input chip component - represents user-provided information that can be removed.\n *\n * IMPORTANT: Per Material Design 3 specification, input chips do NOT have selected state.\n * They represent discrete pieces of user input (like entered tags, selections from lists, etc.)\n * that can only be removed, not toggled on/off.\n *\n * Use cases:\n * - Displaying selected recipients in an email\n * - Showing applied filters that can be removed\n * - Tags or keywords entered by the user\n * - Selected items from a multi-select dropdown\n *\n * @fires click - Optional click event on chip body (value)\n * @fires remove - Dispatched when remove button is clicked (value)\n *\n * @example\n * ```html\n * <schmancy-input-chip value=\"john@example.com\" avatar=\"/avatars/john.jpg\">\n * John Doe\n * </schmancy-input-chip>\n * ```\n */\n@customElement('schmancy-input-chip')\nexport class SchmancyInputChip extends TailwindElement(css`\n\t:host {\n\t\tdisplay: inline-block;\n\t\toutline: none;\n\t\tmin-width:fit-content\n\n\t}\n\n\t:host([disabled]) {\n\t\tpointer-events: none;\n\t}\n\n\tbutton {\n\t\tfont-family: inherit;\n\t}\n\n\t.avatar-img {\n\t\twidth: 20px;\n\t\theight: 20px;\n\t\tobject-fit: cover;\n\t}\n\n\t/* Material Symbols font for icons */\n\t.material-symbols-outlined {\n\t\tfont-family: 'Material Symbols Outlined';\n\t\tfont-weight: normal;\n\t\tfont-style: normal;\n\t\tfont-size: 18px;\n\t\tline-height: 1;\n\t\tletter-spacing: normal;\n\t\ttext-transform: none;\n\t\tdisplay: inline-block;\n\t\twhite-space: nowrap;\n\t\tword-wrap: normal;\n\t\tdirection: ltr;\n\t\t-webkit-font-smoothing: antialiased;\n\t\ttext-rendering: optimizeLegibility;\n\t\t-moz-osx-font-smoothing: grayscale;\n\t\tfont-feature-settings: 'liga';\n\t\tvertical-align: middle;\n\t}\n\n\t.ripple {\n\t\tposition: absolute;\n\t\tborder-radius: 50%;\n\t\ttransform: scale(0);\n\t\tanimation: ripple 600ms linear;\n\t\tbackground-color: rgba(0, 0, 0, 0.08);\n\t\tpointer-events: none;\n\t}\n\n\t@keyframes ripple {\n\t\tto {\n\t\t\ttransform: scale(4);\n\t\t\topacity: 0;\n\t\t}\n\t}\n\n\t/* State layer for M3 hover/focus/pressed states */\n\t.state-layer {\n\t\tposition: absolute;\n\t\tinset: 0;\n\t\tborder-radius: inherit;\n\t\tpointer-events: none;\n\t\tbackground-color: currentColor;\n\t\topacity: 0;\n\t\ttransition: opacity 200ms ease;\n\t}\n\n\t:host(:not([disabled])) .chip-container:hover .state-layer {\n\t\topacity: 0.08;\n\t}\n\n\t:host(:not([disabled])) .chip-container:focus-visible .state-layer {\n\t\topacity: 0.1;\n\t}\n\n\t:host(:not([disabled])) .chip-container:active .state-layer {\n\t\topacity: 0.1;\n\t}\n`) {\n\t/** Value identifier for the chip */\n\t@property({ type: String, reflect: true })\n\tvalue: string = ''\n\n\t/** Optional icon name (Material Symbols) */\n\t@property({ type: String, reflect: true })\n\ticon: string = ''\n\n\t/** Optional avatar image URL */\n\t@property({ type: String, reflect: true })\n\tavatar: string = ''\n\n\t/** Whether to show remove button (default true for input chips) */\n\t@property({ type: Boolean, reflect: true })\n\tremovable: boolean = true\n\n\t/** Disable the chip */\n\t@property({ type: Boolean, reflect: true })\n\tdisabled: boolean = false\n\n\t/** Elevated style variant */\n\t@property({ type: Boolean, reflect: true })\n\televated: boolean = false\n\n\t// RxJS state streams\n\tprivate chipHover$ = new BehaviorSubject<boolean>(false)\n\tprivate removeHover$ = new BehaviorSubject<boolean>(false)\n\tprivate focused$ = new BehaviorSubject<boolean>(false)\n\tprivate pressed$ = new BehaviorSubject<boolean>(false)\n\n\t// UI state from combined streams\n\t@state() uiState = {\n\t\tchipHover: false,\n\t\tremoveHover: false,\n\t\tfocused: false,\n\t\tpressed: false\n\t}\n\n\t// Ripple effects\n\t@state() private ripples: Array<{ x: number; y: number; id: number }> = []\n\tprivate nextRippleId = 0\n\n\tconstructor() {\n\t\tsuper()\n\t\ttry {\n\t\t\tthis.internals = this.attachInternals()\n\t\t} catch {\n\t\t\tthis.internals = undefined\n\t\t}\n\t}\n\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tdelegatesFocus: true,\n\t}\n\n\tstatic formAssociated = true\n\tinternals: ElementInternals | undefined\n\tget form() {\n\t\treturn this.internals?.form\n\t}\n\n\tprotected updated(changed: Map<string, unknown>) {\n\t\tsuper.updated?.(changed)\n\t\tif (changed.has('value')) {\n\t\t\tthis.internals?.setFormValue(this.value || null)\n\t\t}\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Combine all UI state streams\n\t\tcombineLatest([\n\t\t\tthis.chipHover$,\n\t\t\tthis.removeHover$,\n\t\t\tthis.focused$,\n\t\t\tthis.pressed$\n\t\t]).pipe(\n\t\t\tmap(([chipHover, removeHover, focused, pressed]) => ({\n\t\t\t\tchipHover,\n\t\t\t\tremoveHover,\n\t\t\t\tfocused,\n\t\t\t\tpressed\n\t\t\t})),\n\t\t\ttap(state => {\n\t\t\t\tthis.uiState = state\n\t\t\t}),\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe()\n\t}\n\n\tprivate handleChipClick = (e: MouseEvent) => {\n\t\tif (this.disabled) return\n\n\t\t// Add ripple effect\n\t\tconst chip = this.shadowRoot?.querySelector('.chip-container') as HTMLElement\n\t\tif (chip) {\n\t\t\tconst rect = chip.getBoundingClientRect()\n\t\t\tconst x = e.clientX - rect.left\n\t\t\tconst y = e.clientY - rect.top\n\t\t\tconst id = this.nextRippleId++\n\n\t\t\tthis.ripples = [...this.ripples, { x, y, id }]\n\n\t\t\t// Remove ripple after animation\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.ripples = this.ripples.filter(r => r.id !== id)\n\t\t\t}, 600)\n\t\t}\n\n\t\t// Dispatch optional click event (for custom handling if needed)\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent('click', {\n\t\t\t\tdetail: { value: this.value },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t})\n\t\t)\n\t}\n\n\tprivate handleRemove = (e: Event) => {\n\t\tif (this.disabled) return\n\n\t\te.stopPropagation()\n\n\t\t// Dispatch remove event\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent('remove', {\n\t\t\t\tdetail: { value: this.value },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t})\n\t\t)\n\t}\n\n\tprivate handleKeyDown = (e: KeyboardEvent) => {\n\t\tif (this.disabled) return\n\n\t\t// Delete or Backspace removes the chip\n\t\tif ((e.key === 'Delete' || e.key === 'Backspace') && this.removable) {\n\t\t\te.preventDefault()\n\t\t\tthis.handleRemove(e)\n\t\t}\n\t\t// Enter can optionally trigger click\n\t\telse if (e.key === 'Enter') {\n\t\t\te.preventDefault()\n\t\t\tconst clickEvent = new MouseEvent('click', {\n\t\t\t\tbubbles: true,\n\t\t\t\tcancelable: true,\n\t\t\t\tclientX: 0,\n\t\t\t\tclientY: 0\n\t\t\t})\n\t\t\tthis.handleChipClick(clickEvent)\n\t\t}\n\t}\n\n\tprivate handleFocus = () => {\n\t\tthis.focused$.next(true)\n\t}\n\n\tprivate handleBlur = () => {\n\t\tthis.focused$.next(false)\n\t}\n\n\tprotected render(): unknown {\n\t\tconst hasLeadingIcon = this.avatar || this.icon;\n\n\t\tconst chipClasses = {\n\t\t\t'chip-container': true,\n\t\t\t'inline-flex': true,\n\t\t\t'items-center': true,\n\t\t\t'gap-2': true,\n\t\t\t'h-8': true, // M3: 32px height\n\t\t\t'min-h-[32px]': true,\n\t\t\t'rounded-full': true,\n\t\t\t'cursor-default': true,\n\t\t\t'transition-all': true,\n\t\t\t'duration-200': true,\n\t\t\t'select-none': true,\n\t\t\t'text-sm': true, // M3: 14px Label Large\n\t\t\t'font-medium': true, // M3: 500 weight\n\t\t\t'relative': true,\n\t\t\t'overflow-hidden': true,\n\t\t\t'border': true,\n\n\t\t\t// M3 Padding: 8px with icon, 16px without (leading), 8px with trailing icon\n\t\t\t'pl-2': hasLeadingIcon, // 8px with avatar/icon\n\t\t\t'pl-4': !hasLeadingIcon, // 16px without\n\t\t\t'pr-2': this.removable, // 8px with remove button\n\t\t\t'pr-4': !this.removable, // 16px without\n\n\t\t\t// M3 Colors for input chips\n\t\t\t'bg-surface-containerLow': true,\n\t\t\t'text-surface-onVariant': true,\n\t\t\t'border-outline': true,\n\t\t\t'border-solid':true,\n\t\t\t// Input chips are flat (no elevation) per M3\n\n\t\t\t// Focus-visible state\n\t\t\t'focus-visible:outline': !this.disabled,\n\t\t\t'focus-visible:outline-2': !this.disabled,\n\t\t\t'focus-visible:outline-primary': !this.disabled,\n\t\t\t'focus-visible:outline-offset-2': !this.disabled,\n\n\t\t\t// Disabled state\n\t\t\t'opacity-38': this.disabled, // M3 disabled opacity\n\t\t\t'cursor-not-allowed': this.disabled\n\t\t}\n\n\t\tconst removeButtonClasses = {\n\t\t\t'size-[18px]': true, // M3: 18px icon size\n\t\t\t'flex': true,\n\t\t\t'items-center': true,\n\t\t\t'justify-center': true,\n\t\t\t'rounded-full': true,\n\t\t\t'transition-all': true,\n\t\t\t'duration-200': true,\n\t\t\t'cursor-pointer': !this.disabled,\n\t\t\t'-mr-1': true, // Adjust for visual balance\n\n\t\t\t// Hover state for remove button\n\t\t\t'hover:bg-surface-containerHighest': !this.disabled,\n\t\t\t'opacity-50': this.disabled\n\t\t}\n\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=${classMap(chipClasses)}\n\t\t\t\t@click=${this.handleChipClick}\n\t\t\t\t@keydown=${this.handleKeyDown}\n\t\t\t\t@mouseenter=${() => this.chipHover$.next(true)}\n\t\t\t\t@mouseleave=${() => this.chipHover$.next(false)}\n\t\t\t\t@mousedown=${() => this.pressed$.next(true)}\n\t\t\t\t@mouseup=${() => this.pressed$.next(false)}\n\t\t\t\t@focus=${this.handleFocus}\n\t\t\t\t@blur=${this.handleBlur}\n\t\t\t\trole=\"button\"\n\t\t\t\ttabindex=${this.disabled ? '-1' : '0'}\n\t\t\t\taria-disabled=${this.disabled}\n\t\t\t\taria-label=${this.value}\n\t\t\t>\n\t\t\t\t<!-- Avatar image (if provided) -->\n\t\t\t\t${this.avatar ? html`\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc=${this.avatar}\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tclass=\"avatar-img rounded-full size-5\"\n\t\t\t\t\t/>\n\t\t\t\t` : ''}\n\n\t\t\t\t<!-- Icon (if provided and no avatar) -->\n\t\t\t\t${this.icon && !this.avatar ? html`\n\t\t\t\t\t<span class=\"material-symbols-outlined text-[18px] shrink-0\">\n\t\t\t\t\t\t${this.icon}\n\t\t\t\t\t</span>\n\t\t\t\t` : ''}\n\n\t\t\t\t<!-- Chip content -->\n\t\t\t\t<span class=\"text-sm font-medium leading-5\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</span>\n\n\t\t\t\t<!-- Remove button (shown by default for input chips) -->\n\t\t\t\t${this.removable ? html`\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=${classMap(removeButtonClasses)}\n\t\t\t\t\t\t@click=${this.handleRemove}\n\t\t\t\t\t\t@mouseenter=${() => this.removeHover$.next(true)}\n\t\t\t\t\t\t@mouseleave=${() => this.removeHover$.next(false)}\n\t\t\t\t\t\taria-label=\"Remove\"\n\t\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\t\t?disabled=${this.disabled}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span class=\"material-symbols-outlined text-[18px]\">\n\t\t\t\t\t\t\tclose\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</button>\n\t\t\t\t` : ''}\n\n\t\t\t\t<!-- Ripple effects -->\n\t\t\t\t${this.ripples.map(ripple => html`\n\t\t\t\t\t<span\n\t\t\t\t\t\tclass=\"ripple\"\n\t\t\t\t\t\tstyle=\"left: ${ripple.x}px; top: ${ripple.y}px;\"\n\t\t\t\t\t></span>\n\t\t\t\t`)}\n\n\t\t\t\t<!-- State layer for M3 hover/focus/pressed states -->\n\t\t\t\t<div class=\"state-layer\"></div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-input-chip': SchmancyInputChip\n\t}\n}\n\nexport type InputChipClickEvent = { value: string }\nexport type InputChipRemoveEvent = { value: string }"],"mappings":"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"}
1
+ {"version":3,"file":"input-chip-p24lkYtY.cjs","names":[],"sources":["../src/chips/input-chip.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/tailwind.mixin'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { BehaviorSubject, combineLatest } from 'rxjs'\nimport { map, takeUntil, tap } from 'rxjs/operators'\n\n/**\n * Input chip component - represents user-provided information that can be removed.\n *\n * IMPORTANT: Per Material Design 3 specification, input chips do NOT have selected state.\n * They represent discrete pieces of user input (like entered tags, selections from lists, etc.)\n * that can only be removed, not toggled on/off.\n *\n * Use cases:\n * - Displaying selected recipients in an email\n * - Showing applied filters that can be removed\n * - Tags or keywords entered by the user\n * - Selected items from a multi-select dropdown\n *\n * @fires click - Optional click event on chip body (value)\n * @fires remove - Dispatched when remove button is clicked (value)\n *\n * @example\n * ```html\n * <schmancy-input-chip value=\"john@example.com\" avatar=\"/avatars/john.jpg\">\n * John Doe\n * </schmancy-input-chip>\n * ```\n */\n@customElement('schmancy-input-chip')\nexport class SchmancyInputChip extends TailwindElement(css`\n\t:host {\n\t\tdisplay: inline-block;\n\t\toutline: none;\n\t\tmin-width:fit-content\n\n\t}\n\n\t:host([disabled]) {\n\t\tpointer-events: none;\n\t}\n\n\tbutton {\n\t\tfont-family: inherit;\n\t}\n\n\t.avatar-img {\n\t\twidth: 20px;\n\t\theight: 20px;\n\t\tobject-fit: cover;\n\t}\n\n\t/* Material Symbols font for icons */\n\t.material-symbols-outlined {\n\t\tfont-family: 'Material Symbols Outlined';\n\t\tfont-weight: normal;\n\t\tfont-style: normal;\n\t\tfont-size: 18px;\n\t\tline-height: 1;\n\t\tletter-spacing: normal;\n\t\ttext-transform: none;\n\t\tdisplay: inline-block;\n\t\twhite-space: nowrap;\n\t\tword-wrap: normal;\n\t\tdirection: ltr;\n\t\t-webkit-font-smoothing: antialiased;\n\t\ttext-rendering: optimizeLegibility;\n\t\t-moz-osx-font-smoothing: grayscale;\n\t\tfont-feature-settings: 'liga';\n\t\tvertical-align: middle;\n\t}\n\n\t.ripple {\n\t\tposition: absolute;\n\t\tborder-radius: 50%;\n\t\ttransform: scale(0);\n\t\tanimation: ripple 600ms linear;\n\t\tbackground-color: rgba(0, 0, 0, 0.08);\n\t\tpointer-events: none;\n\t}\n\n\t@keyframes ripple {\n\t\tto {\n\t\t\ttransform: scale(4);\n\t\t\topacity: 0;\n\t\t}\n\t}\n\n\t/* State layer for M3 hover/focus/pressed states */\n\t.state-layer {\n\t\tposition: absolute;\n\t\tinset: 0;\n\t\tborder-radius: inherit;\n\t\tpointer-events: none;\n\t\tbackground-color: currentColor;\n\t\topacity: 0;\n\t\ttransition: opacity 200ms ease;\n\t}\n\n\t:host(:not([disabled])) .chip-container:hover .state-layer {\n\t\topacity: 0.08;\n\t}\n\n\t:host(:not([disabled])) .chip-container:focus-visible .state-layer {\n\t\topacity: 0.1;\n\t}\n\n\t:host(:not([disabled])) .chip-container:active .state-layer {\n\t\topacity: 0.1;\n\t}\n`) {\n\t/** Value identifier for the chip */\n\t@property({ type: String, reflect: true })\n\tvalue: string = ''\n\n\t/** Optional icon name (Material Symbols) */\n\t@property({ type: String, reflect: true })\n\ticon: string = ''\n\n\t/** Optional avatar image URL */\n\t@property({ type: String, reflect: true })\n\tavatar: string = ''\n\n\t/** Whether to show remove button (default true for input chips) */\n\t@property({ type: Boolean, reflect: true })\n\tremovable: boolean = true\n\n\t/** Disable the chip */\n\t@property({ type: Boolean, reflect: true })\n\tdisabled: boolean = false\n\n\t/** Elevated style variant */\n\t@property({ type: Boolean, reflect: true })\n\televated: boolean = false\n\n\t// RxJS state streams\n\tprivate chipHover$ = new BehaviorSubject<boolean>(false)\n\tprivate removeHover$ = new BehaviorSubject<boolean>(false)\n\tprivate focused$ = new BehaviorSubject<boolean>(false)\n\tprivate pressed$ = new BehaviorSubject<boolean>(false)\n\n\t// UI state from combined streams\n\t@state() uiState = {\n\t\tchipHover: false,\n\t\tremoveHover: false,\n\t\tfocused: false,\n\t\tpressed: false\n\t}\n\n\t// Ripple effects\n\t@state() private ripples: Array<{ x: number; y: number; id: number }> = []\n\tprivate nextRippleId = 0\n\n\tconstructor() {\n\t\tsuper()\n\t\ttry {\n\t\t\tthis.internals = this.attachInternals()\n\t\t} catch {\n\t\t\tthis.internals = undefined\n\t\t}\n\t}\n\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tdelegatesFocus: true,\n\t}\n\n\tstatic formAssociated = true\n\tinternals: ElementInternals | undefined\n\tget form() {\n\t\treturn this.internals?.form\n\t}\n\n\tprotected updated(changed: Map<string, unknown>) {\n\t\tsuper.updated?.(changed)\n\t\tif (changed.has('value')) {\n\t\t\tthis.internals?.setFormValue(this.value || null)\n\t\t}\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Combine all UI state streams\n\t\tcombineLatest([\n\t\t\tthis.chipHover$,\n\t\t\tthis.removeHover$,\n\t\t\tthis.focused$,\n\t\t\tthis.pressed$\n\t\t]).pipe(\n\t\t\tmap(([chipHover, removeHover, focused, pressed]) => ({\n\t\t\t\tchipHover,\n\t\t\t\tremoveHover,\n\t\t\t\tfocused,\n\t\t\t\tpressed\n\t\t\t})),\n\t\t\ttap(state => {\n\t\t\t\tthis.uiState = state\n\t\t\t}),\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe()\n\t}\n\n\tprivate handleChipClick = (e: MouseEvent) => {\n\t\tif (this.disabled) return\n\n\t\t// Add ripple effect\n\t\tconst chip = this.shadowRoot?.querySelector('.chip-container') as HTMLElement\n\t\tif (chip) {\n\t\t\tconst rect = chip.getBoundingClientRect()\n\t\t\tconst x = e.clientX - rect.left\n\t\t\tconst y = e.clientY - rect.top\n\t\t\tconst id = this.nextRippleId++\n\n\t\t\tthis.ripples = [...this.ripples, { x, y, id }]\n\n\t\t\t// Remove ripple after animation\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.ripples = this.ripples.filter(r => r.id !== id)\n\t\t\t}, 600)\n\t\t}\n\n\t\t// Dispatch optional click event (for custom handling if needed)\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent('click', {\n\t\t\t\tdetail: { value: this.value },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t})\n\t\t)\n\t}\n\n\tprivate handleRemove = (e: Event) => {\n\t\tif (this.disabled) return\n\n\t\te.stopPropagation()\n\n\t\t// Dispatch remove event\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent('remove', {\n\t\t\t\tdetail: { value: this.value },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t})\n\t\t)\n\t}\n\n\tprivate handleKeyDown = (e: KeyboardEvent) => {\n\t\tif (this.disabled) return\n\n\t\t// Delete or Backspace removes the chip\n\t\tif ((e.key === 'Delete' || e.key === 'Backspace') && this.removable) {\n\t\t\te.preventDefault()\n\t\t\tthis.handleRemove(e)\n\t\t}\n\t\t// Enter can optionally trigger click\n\t\telse if (e.key === 'Enter') {\n\t\t\te.preventDefault()\n\t\t\tconst clickEvent = new MouseEvent('click', {\n\t\t\t\tbubbles: true,\n\t\t\t\tcancelable: true,\n\t\t\t\tclientX: 0,\n\t\t\t\tclientY: 0\n\t\t\t})\n\t\t\tthis.handleChipClick(clickEvent)\n\t\t}\n\t}\n\n\tprivate handleFocus = () => {\n\t\tthis.focused$.next(true)\n\t}\n\n\tprivate handleBlur = () => {\n\t\tthis.focused$.next(false)\n\t}\n\n\tprotected render(): unknown {\n\t\tconst hasLeadingIcon = this.avatar || this.icon;\n\n\t\tconst chipClasses = {\n\t\t\t'chip-container': true,\n\t\t\t'inline-flex': true,\n\t\t\t'items-center': true,\n\t\t\t'gap-2': true,\n\t\t\t'h-8': true, // M3: 32px height\n\t\t\t'min-h-[32px]': true,\n\t\t\t'rounded-full': true,\n\t\t\t'cursor-default': true,\n\t\t\t'transition-all': true,\n\t\t\t'duration-200': true,\n\t\t\t'select-none': true,\n\t\t\t'text-sm': true, // M3: 14px Label Large\n\t\t\t'font-medium': true, // M3: 500 weight\n\t\t\t'relative': true,\n\t\t\t'overflow-hidden': true,\n\t\t\t'border': true,\n\n\t\t\t// M3 Padding: 8px with icon, 16px without (leading), 8px with trailing icon\n\t\t\t'pl-2': hasLeadingIcon, // 8px with avatar/icon\n\t\t\t'pl-4': !hasLeadingIcon, // 16px without\n\t\t\t'pr-2': this.removable, // 8px with remove button\n\t\t\t'pr-4': !this.removable, // 16px without\n\n\t\t\t// M3 Colors for input chips\n\t\t\t'bg-surface-containerLow': true,\n\t\t\t'text-surface-onVariant': true,\n\t\t\t'border-outline': true,\n\t\t\t'border-solid':true,\n\t\t\t// Input chips are flat (no elevation) per M3\n\n\t\t\t// Focus-visible state\n\t\t\t'focus-visible:outline': !this.disabled,\n\t\t\t'focus-visible:outline-2': !this.disabled,\n\t\t\t'focus-visible:outline-primary': !this.disabled,\n\t\t\t'focus-visible:outline-offset-2': !this.disabled,\n\n\t\t\t// Disabled state\n\t\t\t'opacity-38': this.disabled, // M3 disabled opacity\n\t\t\t'cursor-not-allowed': this.disabled\n\t\t}\n\n\t\tconst removeButtonClasses = {\n\t\t\t'size-[18px]': true, // M3: 18px icon size\n\t\t\t'flex': true,\n\t\t\t'items-center': true,\n\t\t\t'justify-center': true,\n\t\t\t'rounded-full': true,\n\t\t\t'transition-all': true,\n\t\t\t'duration-200': true,\n\t\t\t'cursor-pointer': !this.disabled,\n\t\t\t'-mr-1': true, // Adjust for visual balance\n\n\t\t\t// Hover state for remove button\n\t\t\t'hover:bg-surface-containerHighest': !this.disabled,\n\t\t\t'opacity-50': this.disabled\n\t\t}\n\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=${classMap(chipClasses)}\n\t\t\t\t@click=${this.handleChipClick}\n\t\t\t\t@keydown=${this.handleKeyDown}\n\t\t\t\t@mouseenter=${() => this.chipHover$.next(true)}\n\t\t\t\t@mouseleave=${() => this.chipHover$.next(false)}\n\t\t\t\t@mousedown=${() => this.pressed$.next(true)}\n\t\t\t\t@mouseup=${() => this.pressed$.next(false)}\n\t\t\t\t@focus=${this.handleFocus}\n\t\t\t\t@blur=${this.handleBlur}\n\t\t\t\trole=\"button\"\n\t\t\t\ttabindex=${this.disabled ? '-1' : '0'}\n\t\t\t\taria-disabled=${this.disabled}\n\t\t\t\taria-label=${this.value}\n\t\t\t>\n\t\t\t\t<!-- Avatar image (if provided) -->\n\t\t\t\t${this.avatar ? html`\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc=${this.avatar}\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tclass=\"avatar-img rounded-full size-5\"\n\t\t\t\t\t/>\n\t\t\t\t` : ''}\n\n\t\t\t\t<!-- Icon (if provided and no avatar) -->\n\t\t\t\t${this.icon && !this.avatar ? html`\n\t\t\t\t\t<span class=\"material-symbols-outlined text-[18px] shrink-0\">\n\t\t\t\t\t\t${this.icon}\n\t\t\t\t\t</span>\n\t\t\t\t` : ''}\n\n\t\t\t\t<!-- Chip content -->\n\t\t\t\t<span class=\"text-sm font-medium leading-5\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</span>\n\n\t\t\t\t<!-- Remove button (shown by default for input chips) -->\n\t\t\t\t${this.removable ? html`\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=${classMap(removeButtonClasses)}\n\t\t\t\t\t\t@click=${this.handleRemove}\n\t\t\t\t\t\t@mouseenter=${() => this.removeHover$.next(true)}\n\t\t\t\t\t\t@mouseleave=${() => this.removeHover$.next(false)}\n\t\t\t\t\t\taria-label=\"Remove\"\n\t\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\t\t?disabled=${this.disabled}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span class=\"material-symbols-outlined text-[18px]\">\n\t\t\t\t\t\t\tclose\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</button>\n\t\t\t\t` : ''}\n\n\t\t\t\t<!-- Ripple effects -->\n\t\t\t\t${this.ripples.map(ripple => html`\n\t\t\t\t\t<span\n\t\t\t\t\t\tclass=\"ripple\"\n\t\t\t\t\t\tstyle=\"left: ${ripple.x}px; top: ${ripple.y}px;\"\n\t\t\t\t\t></span>\n\t\t\t\t`)}\n\n\t\t\t\t<!-- State layer for M3 hover/focus/pressed states -->\n\t\t\t\t<div class=\"state-layer\"></div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-input-chip': SchmancyInputChip\n\t}\n}\n\nexport type InputChipClickEvent = { value: string }\nexport type InputChipRemoveEvent = { value: string }"],"mappings":"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"}
package/dist/input.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./input-C1MIZaKq.cjs`);exports.SchmancyInput=e.n,Object.defineProperty(exports,`SchmancyInputCompat`,{enumerable:!0,get:function(){return e.t}});
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./input-BGNZlfL8.cjs`);exports.SchmancyInput=e.n,Object.defineProperty(exports,`SchmancyInputCompat`,{enumerable:!0,get:function(){return e.t}});
package/dist/input.js CHANGED
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./input-Dv-HtkM9.js";
1
+ import { n as e, t } from "./input-Bc3bVISm.js";
2
2
  export { e as SchmancyInput, t as SchmancyInputCompat };
@@ -1 +1 @@
1
- {"version":3,"file":"intersection-C0JuW_7U.js","names":[],"sources":["../src/utils/intersection.ts"],"sourcesContent":["import { Observable } from 'rxjs'\n\nexport function intersection$(\n\telement: Element | Element[],\n\toptions = {\n\t\tthreshold: 0.5,\n\t},\n) {\n\treturn new Observable(subscriber => {\n\t\tconst observer = new IntersectionObserver(entries => {\n\t\t\tsubscriber.next(entries) // Emit the entries array\n\t\t}, options)\n\n\t\t// Observe each element\n\t\tArray.isArray(element) ? element.forEach(el => observer.observe(el)) : observer.observe(element)\n\n\t\t// Cleanup on unsubscription\n\t\treturn () => {\n\t\t\tobserver.disconnect()\n\t\t}\n\t})\n}\n"],"mappings":";AAEA,SAAgB,EACf,GACA,IAAU,EACT,WAAW,IAAA,EAAA;AAGZ,QAAO,IAAI,GAAW,MAAA;EACrB,IAAM,IAAW,IAAI,sBAAqB,MAAA;AACzC,KAAW,KAAK,EAAA;KACd,EAAA;AAMH,SAHA,MAAM,QAAQ,EAAA,GAAW,EAAQ,SAAQ,MAAM,EAAS,QAAQ,EAAA,CAAA,GAAO,EAAS,QAAQ,EAAA,QAGxF;AACC,KAAS,YAAA;;GAAA;;AAAA,SAAA"}
1
+ {"version":3,"file":"intersection-BrXp4YTO.js","names":[],"sources":["../src/utils/intersection.ts"],"sourcesContent":["import { Observable } from 'rxjs'\n\nexport function intersection$(\n\telement: Element | Element[],\n\toptions = {\n\t\tthreshold: 0.5,\n\t},\n) {\n\treturn new Observable(subscriber => {\n\t\tconst observer = new IntersectionObserver(entries => {\n\t\t\tsubscriber.next(entries) // Emit the entries array\n\t\t}, options)\n\n\t\t// Observe each element\n\t\tArray.isArray(element) ? element.forEach(el => observer.observe(el)) : observer.observe(element)\n\n\t\t// Cleanup on unsubscription\n\t\treturn () => {\n\t\t\tobserver.disconnect()\n\t\t}\n\t})\n}\n"],"mappings":";AAEA,SAAgB,EACf,GACA,IAAU,EACT,WAAW,IAAA,EAAA;AAGZ,QAAO,IAAI,GAAW,MAAA;EACrB,IAAM,IAAW,IAAI,sBAAqB,MAAA;AACzC,KAAW,KAAK,EAAA;KACd,EAAA;AAMH,SAHA,MAAM,QAAQ,EAAA,GAAW,EAAQ,SAAQ,MAAM,EAAS,QAAQ,EAAA,CAAA,GAAO,EAAS,QAAQ,EAAA,QAGxF;AACC,KAAS,YAAA;;GAAA;;AAAA,SAAA"}
@@ -1 +1 @@
1
- require(`./chunk-BCfY8kxB.cjs`);let e=require(`rxjs`);function t(t,n={threshold:.5}){return new e.Observable(e=>{let r=new IntersectionObserver(t=>{e.next(t)},n);return Array.isArray(t)?t.forEach(e=>r.observe(e)):r.observe(t),()=>{r.disconnect()}})}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return t}});
1
+ require(`./chunk-CncqDLb2.cjs`);let e=require(`rxjs`);function t(t,n={threshold:.5}){return new e.Observable(e=>{let r=new IntersectionObserver(t=>{e.next(t)},n);return Array.isArray(t)?t.forEach(e=>r.observe(e)):r.observe(t),()=>{r.disconnect()}})}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return t}});
@@ -1 +1 @@
1
- {"version":3,"file":"intersection-MvbRovUz.cjs","names":[],"sources":["../src/utils/intersection.ts"],"sourcesContent":["import { Observable } from 'rxjs'\n\nexport function intersection$(\n\telement: Element | Element[],\n\toptions = {\n\t\tthreshold: 0.5,\n\t},\n) {\n\treturn new Observable(subscriber => {\n\t\tconst observer = new IntersectionObserver(entries => {\n\t\t\tsubscriber.next(entries) // Emit the entries array\n\t\t}, options)\n\n\t\t// Observe each element\n\t\tArray.isArray(element) ? element.forEach(el => observer.observe(el)) : observer.observe(element)\n\n\t\t// Cleanup on unsubscription\n\t\treturn () => {\n\t\t\tobserver.disconnect()\n\t\t}\n\t})\n}\n"],"mappings":"sDAEA,SAAgB,EACf,EACA,EAAU,CACT,UAAW,GAAA,CAAA,CAGZ,OAAO,IAAI,EAAA,WAAW,GAAA,CACrB,IAAM,EAAW,IAAI,qBAAqB,GAAA,CACzC,EAAW,KAAK,EAAA,EACd,EAAA,CAMH,OAHA,MAAM,QAAQ,EAAA,CAAW,EAAQ,QAAQ,GAAM,EAAS,QAAQ,EAAA,CAAA,CAAO,EAAS,QAAQ,EAAA,KAGxF,CACC,EAAS,YAAA,GAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"intersection-DqBqnpgh.cjs","names":[],"sources":["../src/utils/intersection.ts"],"sourcesContent":["import { Observable } from 'rxjs'\n\nexport function intersection$(\n\telement: Element | Element[],\n\toptions = {\n\t\tthreshold: 0.5,\n\t},\n) {\n\treturn new Observable(subscriber => {\n\t\tconst observer = new IntersectionObserver(entries => {\n\t\t\tsubscriber.next(entries) // Emit the entries array\n\t\t}, options)\n\n\t\t// Observe each element\n\t\tArray.isArray(element) ? element.forEach(el => observer.observe(el)) : observer.observe(element)\n\n\t\t// Cleanup on unsubscription\n\t\treturn () => {\n\t\t\tobserver.disconnect()\n\t\t}\n\t})\n}\n"],"mappings":"sDAEA,SAAgB,EACf,EACA,EAAU,CACT,UAAW,GAAA,CAAA,CAGZ,OAAO,IAAI,EAAA,WAAW,GAAA,CACrB,IAAM,EAAW,IAAI,qBAAqB,GAAA,CACzC,EAAW,KAAK,EAAA,EACd,EAAA,CAMH,OAHA,MAAM,QAAQ,EAAA,CAAW,EAAQ,QAAQ,GAAM,EAAS,QAAQ,EAAA,CAAA,CAAO,EAAS,QAAQ,EAAA,KAGxF,CACC,EAAS,YAAA,GAAA,CAAA,OAAA,eAAA,QAAA,IAAA,CAAA,WAAA,CAAA,EAAA,IAAA,UAAA,CAAA,OAAA,GAAA,CAAA"}
package/dist/json.cjs CHANGED
@@ -1,4 +1,4 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunk-BCfY8kxB.cjs`);const e=require(`./tailwind.mixin-BfdVIGgD.cjs`),t=require(`./decorate-F9CuyeHg.cjs`);require(`./mixins.cjs`);const n=require(`./notification-DE5dFf8G.cjs`);let r=require(`lit/decorators.js`),i=require(`lit`),a=require(`lit/directives/unsafe-html.js`);var o=class extends e.t(i.css`:host { display: block }`){constructor(...e){super(...e),this.data={},this.highlightKeys=[],this.compact=!1}highlightChanges(e,t){let n=e;return t.forEach(e=>{let t=RegExp(`("${e}":\\s*)([^,\\n}]+)`,`g`);n=n.replace(t,(e,t,n)=>`${t}<span class="text-warning-default font-bold">${n}</span>`)}),n}async copyJSON(){try{await navigator.clipboard.writeText(JSON.stringify(this.data,null,2)),n.r.success(`JSON copied to clipboard`)}catch{n.r.error(`Failed to copy JSON`)}}render(){let e=JSON.stringify(this.data,null,this.compact?0:2),t=this.highlightKeys.length>0?this.highlightChanges(e,this.highlightKeys):e;return i.html`
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunk-CncqDLb2.cjs`);const e=require(`./tailwind.mixin-Bh58QnlW.cjs`),t=require(`./decorate-F9CuyeHg.cjs`);require(`./mixins.cjs`);const n=require(`./notification-DPUkuifB.cjs`);let r=require(`lit/decorators.js`),i=require(`lit`),a=require(`lit/directives/unsafe-html.js`);var o=class extends e.t(i.css`:host { display: block }`){constructor(...e){super(...e),this.data={},this.highlightKeys=[],this.compact=!1}highlightChanges(e,t){let n=e;return t.forEach(e=>{let t=RegExp(`("${e}":\\s*)([^,\\n}]+)`,`g`);n=n.replace(t,(e,t,n)=>`${t}<span class="text-warning-default font-bold">${n}</span>`)}),n}async copyJSON(){try{await navigator.clipboard.writeText(JSON.stringify(this.data,null,2)),n.r.success(`JSON copied to clipboard`)}catch{n.r.error(`Failed to copy JSON`)}}render(){let e=JSON.stringify(this.data,null,this.compact?0:2),t=this.highlightKeys.length>0?this.highlightChanges(e,this.highlightKeys):e;return i.html`
2
2
  <div
3
3
  class="bg-surface-container rounded-lg p-2 font-mono overflow-auto cursor-pointer hover:bg-surface-container-high transition-colors"
4
4
  @click=${this.copyJSON}
package/dist/json.js CHANGED
@@ -1,7 +1,7 @@
1
- import { t as e } from "./tailwind.mixin-CNdR3zFD.js";
1
+ import { t as e } from "./tailwind.mixin-H5Pn7vSJ.js";
2
2
  import { t } from "./decorate-D_utPUsC.js";
3
3
  import "./mixins.js";
4
- import { r as n } from "./notification-B_Fkxv7d.js";
4
+ import { r as n } from "./notification-ChAvNXf3.js";
5
5
  import { customElement as r, property as i } from "lit/decorators.js";
6
6
  import { css as a, html as o } from "lit";
7
7
  import { unsafeHTML as s } from "lit/directives/unsafe-html.js";
package/dist/kbd.cjs CHANGED
@@ -1,4 +1,4 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunk-BCfY8kxB.cjs`);const e=require(`./tailwind.mixin-BfdVIGgD.cjs`),t=require(`./decorate-F9CuyeHg.cjs`);require(`./mixins.cjs`);let n=require(`lit/decorators.js`),r=require(`lit`);var i=class extends e.t(r.css`
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunk-CncqDLb2.cjs`);const e=require(`./tailwind.mixin-Bh58QnlW.cjs`),t=require(`./decorate-F9CuyeHg.cjs`);require(`./mixins.cjs`);let n=require(`lit/decorators.js`),r=require(`lit`);var i=class extends e.t(r.css`
2
2
  :host {
3
3
  display: inline-block;
4
4
  vertical-align: middle;
package/dist/kbd.js CHANGED
@@ -1,4 +1,4 @@
1
- import { t as e } from "./tailwind.mixin-CNdR3zFD.js";
1
+ import { t as e } from "./tailwind.mixin-H5Pn7vSJ.js";
2
2
  import { t } from "./decorate-D_utPUsC.js";
3
3
  import "./mixins.js";
4
4
  import { customElement as n, property as r } from "lit/decorators.js";
@@ -1,4 +1,4 @@
1
- require(`./chunk-BCfY8kxB.cjs`);const e=require(`./tailwind.mixin-BfdVIGgD.cjs`),t=require(`./decorate-F9CuyeHg.cjs`);require(`./mixins.cjs`),require(`./scroll-hWt0b1gK.cjs`);let n=require(`rxjs`),r=require(`lit/directives/class-map.js`),i=require(`lit/directives/style-map.js`),a=require(`lit/decorators.js`),o=require(`lit`);var s=class extends e.t(){constructor(...e){super(...e),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}static{this.styles=[this.styles]}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`))}};t.t([(0,a.property)({type:Boolean})],s.prototype,`center`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`padding`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`margin`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`width`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`height`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`minWidth`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`minHeight`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`maxWidth`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`maxHeight`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`display`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`overflow`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`overflowX`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`overflowY`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`position`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`top`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`right`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`bottom`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`left`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`inset`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`zIndex`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`border`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`borderTop`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`borderRight`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`borderBottom`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`borderLeft`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`borderColor`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`borderRadius`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`borderWidth`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`boxShadow`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`opacity`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`background`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`backgroundImage`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`backgroundPosition`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`backgroundSize`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`backgroundRepeat`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`backgroundAttachment`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`backgroundColor`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`backgroundClip`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`backgroundOrigin`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`backgroundBlendMode`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`filter`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`backdropFilter`,void 0);var c=class extends s{constructor(...e){super(...e),this.layout=!0,this.flow=`col`,this.wrap=`wrap`,this.align=`start`,this.justify=`start`,this.gap=`none`}static{this.styles=[s.styles,(0,o.unsafeCSS)(`:host{background-color:inherit;display:block}`)]}render(){return o.html`
1
+ require(`./chunk-CncqDLb2.cjs`);const e=require(`./tailwind.mixin-Bh58QnlW.cjs`),t=require(`./decorate-F9CuyeHg.cjs`);require(`./mixins.cjs`),require(`./scroll-V1rAZ9fK.cjs`);let n=require(`rxjs`),r=require(`lit/directives/class-map.js`),i=require(`lit/directives/style-map.js`),a=require(`lit/decorators.js`),o=require(`lit`);var s=class extends e.t(){constructor(...e){super(...e),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}static{this.styles=[this.styles]}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`))}};t.t([(0,a.property)({type:Boolean})],s.prototype,`center`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`padding`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`margin`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`width`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`height`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`minWidth`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`minHeight`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`maxWidth`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`maxHeight`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`display`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`overflow`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`overflowX`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`overflowY`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`position`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`top`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`right`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`bottom`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`left`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`inset`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`zIndex`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`border`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`borderTop`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`borderRight`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`borderBottom`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`borderLeft`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`borderColor`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`borderRadius`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`borderWidth`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`boxShadow`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`opacity`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`background`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`backgroundImage`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`backgroundPosition`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`backgroundSize`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`backgroundRepeat`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`backgroundAttachment`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`backgroundColor`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`backgroundClip`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`backgroundOrigin`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`backgroundBlendMode`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`filter`,void 0),t.t([(0,a.property)({type:String})],s.prototype,`backdropFilter`,void 0);var c=class extends s{constructor(...e){super(...e),this.layout=!0,this.flow=`col`,this.wrap=`wrap`,this.align=`start`,this.justify=`start`,this.gap=`none`}static{this.styles=[s.styles,(0,o.unsafeCSS)(`:host{background-color:inherit;display:block}`)]}render(){return o.html`
2
2
  <section class=${(0,r.classMap)({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`})} style=${(0,i.styleMap)({})}>
3
3
  <slot></slot>
4
4
  </section>
@@ -1 +1 @@
1
- {"version":3,"file":"layout-D0cR3hT1.cjs","names":[],"sources":["../src/layout/layout.ts","../src/layout/flex/flex.scss?inline","../src/layout/flex/flex.ts","../src/layout/grid/grid.scss?inline","../src/layout/grid/grid.ts","../src/layout/v2/flex.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { property } from 'lit/decorators.js'\n\n/**\n * @deprecated Use Tailwind CSS utility classes directly on HTML elements instead of this base class.\n * This component will be removed in a future version.\n * \n * Migration guide:\n * - Use inline styles or Tailwind utility classes for layout properties\n * - Replace properties like padding, margin, width, etc. with their CSS equivalents\n * \n * @class Layout\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",":host {\n\tdisplay: block;\n\tbackground-color: inherit;\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\n/**\n * @deprecated Use Tailwind CSS flex classes directly instead of this component.\n * This component will be removed in a future version.\n * \n * Migration guide:\n * - Replace <schmancy-flex> with <div class=\"flex ...\">\n * - Use Tailwind's flex utilities: flex-row, flex-col, gap-*, items-*, justify-*, etc.\n * \n * @element schmancy-flex\n */\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",":host {\n\theight: max-content;\n\twidth: -webkit-fill-available;\n\tdisplay: block;\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/**\n * @deprecated Use Tailwind CSS grid classes directly instead of this component.\n * This component will be removed in a future version.\n * \n * Migration guide:\n * - Replace <schmancy-grid> with <div class=\"grid ...\">\n * - Use Tailwind's grid utilities: grid-cols-*, gap-*, items-*, justify-items-*, etc.\n * \n * @element schmancy-grid\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 { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport Layout from '../layout'\n\n/**\n * @deprecated Use Tailwind CSS flex classes directly instead of this component.\n * This component will be removed in a future version.\n * \n * Migration guide:\n * - Replace <sch-flex> with <div class=\"flex ...\">\n * - Use Tailwind's flex utilities: flex-row, flex-col, gap-*, items-*, justify-*, etc.\n * \n * Original documentation:\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"],"mappings":"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"}
1
+ {"version":3,"file":"layout-B0_IXfov.cjs","names":[],"sources":["../src/layout/layout.ts","../src/layout/flex/flex.scss?inline","../src/layout/flex/flex.ts","../src/layout/grid/grid.scss?inline","../src/layout/grid/grid.ts","../src/layout/v2/flex.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { property } from 'lit/decorators.js'\n\n/**\n * @deprecated Use Tailwind CSS utility classes directly on HTML elements instead of this base class.\n * This component will be removed in a future version.\n * \n * Migration guide:\n * - Use inline styles or Tailwind utility classes for layout properties\n * - Replace properties like padding, margin, width, etc. with their CSS equivalents\n * \n * @class Layout\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",":host {\n\tdisplay: block;\n\tbackground-color: inherit;\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\n/**\n * @deprecated Use Tailwind CSS flex classes directly instead of this component.\n * This component will be removed in a future version.\n * \n * Migration guide:\n * - Replace <schmancy-flex> with <div class=\"flex ...\">\n * - Use Tailwind's flex utilities: flex-row, flex-col, gap-*, items-*, justify-*, etc.\n * \n * @element schmancy-flex\n */\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",":host {\n\theight: max-content;\n\twidth: -webkit-fill-available;\n\tdisplay: block;\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/**\n * @deprecated Use Tailwind CSS grid classes directly instead of this component.\n * This component will be removed in a future version.\n * \n * Migration guide:\n * - Replace <schmancy-grid> with <div class=\"grid ...\">\n * - Use Tailwind's grid utilities: grid-cols-*, gap-*, items-*, justify-items-*, etc.\n * \n * @element schmancy-grid\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 { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport Layout from '../layout'\n\n/**\n * @deprecated Use Tailwind CSS flex classes directly instead of this component.\n * This component will be removed in a future version.\n * \n * Migration guide:\n * - Replace <sch-flex> with <div class=\"flex ...\">\n * - Use Tailwind's flex utilities: flex-row, flex-col, gap-*, items-*, justify-*, etc.\n * \n * Original documentation:\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"],"mappings":"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"}
@@ -1 +1 @@
1
- require(`./chunk-BCfY8kxB.cjs`);const e=require(`./theme.service-ETiKUwVy.cjs`);let t=require(`rxjs`),n=require(`rxjs/operators`),r=require(`lit/async-directive.js`),i=require(`lit/directive.js`);function a(){let e=window.visualViewport;return!!e&&Math.abs(e.scale-1)>.01}var o=null,s=null,c=0;function l(){if(!o){o=new t.Subject;let e=(0,t.fromEvent)(window,`resize`,{passive:!0});s=(0,t.merge)(e,window.visualViewport?(0,t.merge)((0,t.fromEvent)(window.visualViewport,`resize`,{passive:!0}),(0,t.fromEvent)(window.visualViewport,`scroll`,{passive:!0})):e,(0,t.fromEvent)(window,`orientationchange`),(0,t.fromEvent)(document,`focusout`,{passive:!0}).pipe((0,n.switchMap)(()=>(0,t.timer)(100)))).pipe((0,n.debounceTime)(16)).subscribe(()=>o.next())}return o}function u(){c===0&&s&&(s.unsubscribe(),s=null,o=null)}function d(e){return new t.Observable(t=>{let n=new ResizeObserver(e=>t.next(e));return n.observe(e),()=>n.disconnect()})}var f=class extends r.AsyncDirective{constructor(...e){super(...e),this.element=null,this.disconnecting$=new t.Subject}calculateHeight(){if(!this.element)return 0;let e=window.visualViewport?.height??window.innerHeight,t=this.element.getBoundingClientRect().top;return Math.max(0,e-t)}applyStyles(e,t){this.element&&(this.element.style.boxSizing=`border-box`,this.element.style.height=`${e}px`,this.element.style.paddingBottom=`${t}px`)}setupHeightStream(){if(!this.element)return;let r=this.element;(0,t.combineLatest)([(0,t.merge)(r.parentElement?d(r.parentElement):t.EMPTY,l()).pipe((0,n.startWith)(null)),e.n.bottomOffset$,e.n.fullscreen$]).pipe((0,n.filter)(()=>!a()),(0,n.map)(([,e,t])=>({height:this.calculateHeight(),padding:t?0:e})),(0,n.distinctUntilChanged)((e,t)=>e.height===t.height&&e.padding===t.padding),(0,n.tap)(({height:e,padding:t})=>this.applyStyles(e,t)),(0,n.takeUntil)(this.disconnecting$)).subscribe()}render(){}update(e){if(e.type!==i.PartType.ELEMENT)throw Error(`fullHeight directive can only be used on elements`);let t=e.element;this.element!==t&&(this.element=t,c++,this.setupHeightStream())}disconnected(){this.disconnecting$.next(),c--,u(),this.element=null}reconnected(){this.element&&(c++,this.disconnecting$=new t.Subject,this.setupHeightStream())}},p=(0,i.directive)(f),m=class extends r.AsyncDirective{constructor(...e){super(...e),this.element=null,this.disconnecting$=new t.Subject}calculateWidth(){if(!this.element)return 0;let e=window.visualViewport?.width??window.innerWidth,t=this.element.getBoundingClientRect().left;return Math.max(0,e-t)}applyStyles(e){this.element&&(this.element.style.boxSizing=`border-box`,this.element.style.maxWidth=`${e}px`)}setupWidthStream(){if(!this.element)return;let r=this.element;(0,t.combineLatest)([(0,t.merge)(d(r),r.parentElement?d(r.parentElement):t.EMPTY,l()).pipe((0,n.startWith)(null)),e.n.fullscreen$]).pipe((0,n.filter)(()=>!a()),(0,n.map)(()=>this.calculateWidth()),(0,n.distinctUntilChanged)(),(0,n.tap)(e=>this.applyStyles(e)),(0,n.takeUntil)(this.disconnecting$)).subscribe()}render(){}update(e){if(e.type!==i.PartType.ELEMENT)throw Error(`fullWidth directive can only be used on elements`);let t=e.element;this.element!==t&&(this.element=t,c++,this.setupWidthStream())}disconnected(){this.disconnecting$.next(),c--,u(),this.element=null}reconnected(){this.element&&(c++,this.disconnecting$=new t.Subject,this.setupWidthStream())}},h=(0,i.directive)(m);Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return d}});
1
+ require(`./chunk-CncqDLb2.cjs`);const e=require(`./theme.service-DxJPUGlu.cjs`);let t=require(`rxjs`),n=require(`rxjs/operators`),r=require(`lit/async-directive.js`),i=require(`lit/directive.js`);function a(){let e=window.visualViewport;return!!e&&Math.abs(e.scale-1)>.01}var o=null,s=null,c=0;function l(){if(!o){o=new t.Subject;let e=(0,t.fromEvent)(window,`resize`,{passive:!0});s=(0,t.merge)(e,window.visualViewport?(0,t.merge)((0,t.fromEvent)(window.visualViewport,`resize`,{passive:!0}),(0,t.fromEvent)(window.visualViewport,`scroll`,{passive:!0})):e,(0,t.fromEvent)(window,`orientationchange`),(0,t.fromEvent)(document,`focusout`,{passive:!0}).pipe((0,n.switchMap)(()=>(0,t.timer)(100)))).pipe((0,n.debounceTime)(16)).subscribe(()=>o.next())}return o}function u(){c===0&&s&&(s.unsubscribe(),s=null,o=null)}function d(e){return new t.Observable(t=>{let n=new ResizeObserver(e=>t.next(e));return n.observe(e),()=>n.disconnect()})}var f=class extends r.AsyncDirective{constructor(...e){super(...e),this.element=null,this.disconnecting$=new t.Subject}calculateHeight(){if(!this.element)return 0;let e=window.visualViewport?.height??window.innerHeight,t=this.element.getBoundingClientRect().top;return Math.max(0,e-t)}applyStyles(e,t){this.element&&(this.element.style.boxSizing=`border-box`,this.element.style.height=`${e}px`,this.element.style.paddingBottom=`${t}px`)}setupHeightStream(){if(!this.element)return;let r=this.element;(0,t.combineLatest)([(0,t.merge)(r.parentElement?d(r.parentElement):t.EMPTY,l()).pipe((0,n.startWith)(null)),e.n.bottomOffset$,e.n.fullscreen$]).pipe((0,n.filter)(()=>!a()),(0,n.map)(([,e,t])=>({height:this.calculateHeight(),padding:t?0:e})),(0,n.distinctUntilChanged)((e,t)=>e.height===t.height&&e.padding===t.padding),(0,n.tap)(({height:e,padding:t})=>this.applyStyles(e,t)),(0,n.takeUntil)(this.disconnecting$)).subscribe()}render(){}update(e){if(e.type!==i.PartType.ELEMENT)throw Error(`fullHeight directive can only be used on elements`);let t=e.element;this.element!==t&&(this.element=t,c++,this.setupHeightStream())}disconnected(){this.disconnecting$.next(),c--,u(),this.element=null}reconnected(){this.element&&(c++,this.disconnecting$=new t.Subject,this.setupHeightStream())}},p=(0,i.directive)(f),m=class extends r.AsyncDirective{constructor(...e){super(...e),this.element=null,this.disconnecting$=new t.Subject}calculateWidth(){if(!this.element)return 0;let e=window.visualViewport?.width??window.innerWidth,t=this.element.getBoundingClientRect().left;return Math.max(0,e-t)}applyStyles(e){this.element&&(this.element.style.boxSizing=`border-box`,this.element.style.maxWidth=`${e}px`)}setupWidthStream(){if(!this.element)return;let r=this.element;(0,t.combineLatest)([(0,t.merge)(d(r),r.parentElement?d(r.parentElement):t.EMPTY,l()).pipe((0,n.startWith)(null)),e.n.fullscreen$]).pipe((0,n.filter)(()=>!a()),(0,n.map)(()=>this.calculateWidth()),(0,n.distinctUntilChanged)(),(0,n.tap)(e=>this.applyStyles(e)),(0,n.takeUntil)(this.disconnecting$)).subscribe()}render(){}update(e){if(e.type!==i.PartType.ELEMENT)throw Error(`fullWidth directive can only be used on elements`);let t=e.element;this.element!==t&&(this.element=t,c++,this.setupWidthStream())}disconnected(){this.disconnecting$.next(),c--,u(),this.element=null}reconnected(){this.element&&(c++,this.disconnecting$=new t.Subject,this.setupWidthStream())}},h=(0,i.directive)(m);Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return d}});
@@ -1 +1 @@
1
- {"version":3,"file":"layout-PZCF3kwl.cjs","names":[],"sources":["../src/directives/layout.ts"],"sourcesContent":["import { directive, ElementPart, PartType } from 'lit/directive.js'\nimport { AsyncDirective } from 'lit/async-directive.js'\nimport { Subject, fromEvent, merge, Observable, EMPTY, timer, combineLatest } from 'rxjs'\nimport { debounceTime, switchMap, takeUntil, distinctUntilChanged, map, tap, startWith, filter } from 'rxjs/operators'\n\n/** Returns true if user is pinch-zoomed (scale !== 1) */\nfunction isZoomed(): boolean {\n\tconst vv = window.visualViewport\n\treturn vv ? Math.abs(vv.scale - 1) > 0.01 : false\n}\nimport { theme } from '../theme/theme.service'\n\n// Shared global update stream (lazy-initialized, cleaned up when no elements use it)\nlet update$: Subject<void> | null = null\nlet updateSub: { unsubscribe: () => void } | null = null\nlet elementCount = 0\n\nfunction getUpdateStream(): Subject<void> {\n\tif (!update$) {\n\t\tupdate$ = new Subject<void>()\n\n\t\tconst windowResize$ = fromEvent(window, 'resize', { passive: true })\n\n\t\tconst viewportEvents$ = window.visualViewport\n\t\t\t? merge(\n\t\t\t\t\tfromEvent(window.visualViewport, 'resize', { passive: true }),\n\t\t\t\t\tfromEvent(window.visualViewport, 'scroll', { passive: true })\n\t\t\t\t)\n\t\t\t: windowResize$\n\n\t\tconst orientation$ = fromEvent(window, 'orientationchange')\n\n\t\t// iOS Safari: force recalc after keyboard dismissal\n\t\tconst focusOut$ = fromEvent(document, 'focusout', { passive: true }).pipe(\n\t\t\tswitchMap(() => timer(100))\n\t\t)\n\n\t\tupdateSub = merge(windowResize$, viewportEvents$, orientation$, focusOut$)\n\t\t\t.pipe(debounceTime(16))\n\t\t\t.subscribe(() => update$!.next())\n\t}\n\treturn update$\n}\n\nfunction cleanup() {\n\tif (elementCount === 0 && updateSub) {\n\t\tupdateSub.unsubscribe()\n\t\tupdateSub = null\n\t\tupdate$ = null\n\t}\n}\n\n\n/**\n * RxJS wrapper for ResizeObserver - auto-cleans on unsubscribe\n */\nexport function fromResizeObserver(element: Element): Observable<ResizeObserverEntry[]> {\n\treturn new Observable(subscriber => {\n\t\tconst observer = new ResizeObserver(entries => subscriber.next(entries))\n\t\tobserver.observe(element)\n\t\treturn () => observer.disconnect()\n\t})\n}\n\n/**\n * fullHeight directive - fills remaining viewport space\n *\n * Reactive sources:\n * - Parent ResizeObserver (layout shifts)\n * - Window resize / visualViewport (viewport changes)\n * - Orientation change (device rotation)\n * - Focus out (mobile keyboard dismiss)\n * - Theme fullscreen toggle\n *\n * Performance:\n * - distinctUntilChanged prevents redundant style writes\n * - debounceTime(16) batches rapid events (~60fps)\n * - Single shared stream for global events\n */\nclass FullHeight extends AsyncDirective {\n\tprivate element: HTMLElement | null = null\n\tprivate disconnecting$ = new Subject<void>()\n\n\tprivate calculateHeight(): number {\n\t\tif (!this.element) return 0\n\t\tconst viewportHeight = window.visualViewport?.height ?? window.innerHeight\n\t\tconst topOffset = this.element.getBoundingClientRect().top\n\t\treturn Math.max(0, viewportHeight - topOffset)\n\t}\n\n\tprivate applyStyles(height: number, bottomPadding: number) {\n\t\tif (this.element) {\n\t\t\tthis.element.style.boxSizing = 'border-box'\n\t\t\tthis.element.style.height = `${height}px`\n\t\t\tthis.element.style.paddingBottom = `${bottomPadding}px`\n\t\t}\n\t}\n\n\tprivate setupHeightStream() {\n\t\tif (!this.element) return\n\n\t\tconst element = this.element\n\n\t\t// Parent resize detects layout shifts (e.g., header rendering after load)\n\t\tconst parentResize$ = element.parentElement\n\t\t\t? fromResizeObserver(element.parentElement)\n\t\t\t: EMPTY\n\n\t\t// Global events (resize, viewport, orientation, fullscreen)\n\t\tconst globalEvents$ = getUpdateStream()\n\n\t\t// Combine all sources, calculate height and padding, dedupe, apply\n\t\t// Skip updates while pinch-zoomed to prevent layout thrashing\n\t\tcombineLatest([\n\t\t\tmerge(parentResize$, globalEvents$).pipe(startWith(null)),\n\t\t\ttheme.bottomOffset$,\n\t\t\ttheme.fullscreen$\n\t\t]).pipe(\n\t\t\tfilter(() => !isZoomed()),\n\t\t\tmap(([, bottomOffset, isFullscreen]) => ({\n\t\t\t\theight: this.calculateHeight(),\n\t\t\t\tpadding: isFullscreen ? 0 : bottomOffset\n\t\t\t})),\n\t\t\tdistinctUntilChanged((a, b) => a.height === b.height && a.padding === b.padding),\n\t\t\ttap(({ height, padding }) => this.applyStyles(height, padding)),\n\t\t\ttakeUntil(this.disconnecting$)\n\t\t).subscribe()\n\n\t}\n\n\trender() {\n\t\treturn\n\t}\n\n\tupdate(part: ElementPart) {\n\t\tif (part.type !== PartType.ELEMENT) {\n\t\t\tthrow new Error('fullHeight directive can only be used on elements')\n\t\t}\n\t\tconst el = part.element as HTMLElement\n\t\tif (this.element !== el) {\n\t\t\tthis.element = el\n\t\t\telementCount++\n\t\t\tthis.setupHeightStream()\n\t\t}\n\t}\n\n\tdisconnected() {\n\t\tthis.disconnecting$.next()\n\t\telementCount--\n\t\tcleanup()\n\t\tthis.element = null\n\t}\n\n\treconnected() {\n\t\tif (this.element) {\n\t\t\telementCount++\n\t\t\tthis.disconnecting$ = new Subject<void>()\n\t\t\tthis.setupHeightStream()\n\t\t}\n\t}\n}\n\nexport const fullHeight = directive(FullHeight)\n\n/**\n * fullWidth directive - fills remaining horizontal viewport space\n *\n * Reactive sources:\n * - Element ResizeObserver (detects when element moves/resizes)\n * - Parent ResizeObserver (layout shifts, e.g., sidebar)\n * - Window resize / visualViewport (viewport changes)\n * - Orientation change (device rotation)\n * - Theme fullscreen toggle (sidebar visibility)\n *\n * Performance:\n * - distinctUntilChanged prevents redundant style writes\n * - debounceTime(16) batches rapid events (~60fps)\n * - Single shared stream for global events\n */\nclass FullWidth extends AsyncDirective {\n\tprivate element: HTMLElement | null = null\n\tprivate disconnecting$ = new Subject<void>()\n\n\tprivate calculateWidth(): number {\n\t\tif (!this.element) return 0\n\t\tconst viewportWidth = window.visualViewport?.width ?? window.innerWidth\n\t\tconst leftOffset = this.element.getBoundingClientRect().left\n\t\treturn Math.max(0, viewportWidth - leftOffset)\n\t}\n\n\tprivate applyStyles(width: number) {\n\t\tif (this.element) {\n\t\t\tthis.element.style.boxSizing = 'border-box'\n\t\t\tthis.element.style.maxWidth = `${width}px`\n\t\t}\n\t}\n\n\tprivate setupWidthStream() {\n\t\tif (!this.element) return\n\n\t\tconst element = this.element\n\n\t\t// Element resize detects when element itself moves (e.g., after layout settles)\n\t\tconst elementResize$ = fromResizeObserver(element)\n\n\t\t// Parent resize detects layout shifts (e.g., sidebar opening/closing)\n\t\tconst parentResize$ = element.parentElement\n\t\t\t? fromResizeObserver(element.parentElement)\n\t\t\t: EMPTY\n\n\t\t// Global events (resize, viewport, orientation)\n\t\tconst globalEvents$ = getUpdateStream()\n\n\t\t// Combine all sources with theme observables for synchronous initial emission\n\t\t// theme.fullscreen$ has shareReplay(1) ensuring immediate emission on subscribe\n\t\t// Skip updates while pinch-zoomed to prevent layout thrashing\n\t\tcombineLatest([\n\t\t\tmerge(elementResize$, parentResize$, globalEvents$).pipe(startWith(null)),\n\t\t\ttheme.fullscreen$\n\t\t]).pipe(\n\t\t\tfilter(() => !isZoomed()),\n\t\t\tmap(() => this.calculateWidth()),\n\t\t\tdistinctUntilChanged(),\n\t\t\ttap(width => this.applyStyles(width)),\n\t\t\ttakeUntil(this.disconnecting$)\n\t\t).subscribe()\n\t}\n\n\trender() {\n\t\treturn\n\t}\n\n\tupdate(part: ElementPart) {\n\t\tif (part.type !== PartType.ELEMENT) {\n\t\t\tthrow new Error('fullWidth directive can only be used on elements')\n\t\t}\n\t\tconst el = part.element as HTMLElement\n\t\tif (this.element !== el) {\n\t\t\tthis.element = el\n\t\t\telementCount++\n\t\t\tthis.setupWidthStream()\n\t\t}\n\t}\n\n\tdisconnected() {\n\t\tthis.disconnecting$.next()\n\t\telementCount--\n\t\tcleanup()\n\t\tthis.element = null\n\t}\n\n\treconnected() {\n\t\tif (this.element) {\n\t\t\telementCount++\n\t\t\tthis.disconnecting$ = new Subject<void>()\n\t\t\tthis.setupWidthStream()\n\t\t}\n\t}\n}\n\nexport const fullWidth = directive(FullWidth)\n"],"mappings":"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"}
1
+ {"version":3,"file":"layout-CTfRXQoz.cjs","names":[],"sources":["../src/directives/layout.ts"],"sourcesContent":["import { directive, ElementPart, PartType } from 'lit/directive.js'\nimport { AsyncDirective } from 'lit/async-directive.js'\nimport { Subject, fromEvent, merge, Observable, EMPTY, timer, combineLatest } from 'rxjs'\nimport { debounceTime, switchMap, takeUntil, distinctUntilChanged, map, tap, startWith, filter } from 'rxjs/operators'\n\n/** Returns true if user is pinch-zoomed (scale !== 1) */\nfunction isZoomed(): boolean {\n\tconst vv = window.visualViewport\n\treturn vv ? Math.abs(vv.scale - 1) > 0.01 : false\n}\nimport { theme } from '../theme/theme.service'\n\n// Shared global update stream (lazy-initialized, cleaned up when no elements use it)\nlet update$: Subject<void> | null = null\nlet updateSub: { unsubscribe: () => void } | null = null\nlet elementCount = 0\n\nfunction getUpdateStream(): Subject<void> {\n\tif (!update$) {\n\t\tupdate$ = new Subject<void>()\n\n\t\tconst windowResize$ = fromEvent(window, 'resize', { passive: true })\n\n\t\tconst viewportEvents$ = window.visualViewport\n\t\t\t? merge(\n\t\t\t\t\tfromEvent(window.visualViewport, 'resize', { passive: true }),\n\t\t\t\t\tfromEvent(window.visualViewport, 'scroll', { passive: true })\n\t\t\t\t)\n\t\t\t: windowResize$\n\n\t\tconst orientation$ = fromEvent(window, 'orientationchange')\n\n\t\t// iOS Safari: force recalc after keyboard dismissal\n\t\tconst focusOut$ = fromEvent(document, 'focusout', { passive: true }).pipe(\n\t\t\tswitchMap(() => timer(100))\n\t\t)\n\n\t\tupdateSub = merge(windowResize$, viewportEvents$, orientation$, focusOut$)\n\t\t\t.pipe(debounceTime(16))\n\t\t\t.subscribe(() => update$!.next())\n\t}\n\treturn update$\n}\n\nfunction cleanup() {\n\tif (elementCount === 0 && updateSub) {\n\t\tupdateSub.unsubscribe()\n\t\tupdateSub = null\n\t\tupdate$ = null\n\t}\n}\n\n\n/**\n * RxJS wrapper for ResizeObserver - auto-cleans on unsubscribe\n */\nexport function fromResizeObserver(element: Element): Observable<ResizeObserverEntry[]> {\n\treturn new Observable(subscriber => {\n\t\tconst observer = new ResizeObserver(entries => subscriber.next(entries))\n\t\tobserver.observe(element)\n\t\treturn () => observer.disconnect()\n\t})\n}\n\n/**\n * fullHeight directive - fills remaining viewport space\n *\n * Reactive sources:\n * - Parent ResizeObserver (layout shifts)\n * - Window resize / visualViewport (viewport changes)\n * - Orientation change (device rotation)\n * - Focus out (mobile keyboard dismiss)\n * - Theme fullscreen toggle\n *\n * Performance:\n * - distinctUntilChanged prevents redundant style writes\n * - debounceTime(16) batches rapid events (~60fps)\n * - Single shared stream for global events\n */\nclass FullHeight extends AsyncDirective {\n\tprivate element: HTMLElement | null = null\n\tprivate disconnecting$ = new Subject<void>()\n\n\tprivate calculateHeight(): number {\n\t\tif (!this.element) return 0\n\t\tconst viewportHeight = window.visualViewport?.height ?? window.innerHeight\n\t\tconst topOffset = this.element.getBoundingClientRect().top\n\t\treturn Math.max(0, viewportHeight - topOffset)\n\t}\n\n\tprivate applyStyles(height: number, bottomPadding: number) {\n\t\tif (this.element) {\n\t\t\tthis.element.style.boxSizing = 'border-box'\n\t\t\tthis.element.style.height = `${height}px`\n\t\t\tthis.element.style.paddingBottom = `${bottomPadding}px`\n\t\t}\n\t}\n\n\tprivate setupHeightStream() {\n\t\tif (!this.element) return\n\n\t\tconst element = this.element\n\n\t\t// Parent resize detects layout shifts (e.g., header rendering after load)\n\t\tconst parentResize$ = element.parentElement\n\t\t\t? fromResizeObserver(element.parentElement)\n\t\t\t: EMPTY\n\n\t\t// Global events (resize, viewport, orientation, fullscreen)\n\t\tconst globalEvents$ = getUpdateStream()\n\n\t\t// Combine all sources, calculate height and padding, dedupe, apply\n\t\t// Skip updates while pinch-zoomed to prevent layout thrashing\n\t\tcombineLatest([\n\t\t\tmerge(parentResize$, globalEvents$).pipe(startWith(null)),\n\t\t\ttheme.bottomOffset$,\n\t\t\ttheme.fullscreen$\n\t\t]).pipe(\n\t\t\tfilter(() => !isZoomed()),\n\t\t\tmap(([, bottomOffset, isFullscreen]) => ({\n\t\t\t\theight: this.calculateHeight(),\n\t\t\t\tpadding: isFullscreen ? 0 : bottomOffset\n\t\t\t})),\n\t\t\tdistinctUntilChanged((a, b) => a.height === b.height && a.padding === b.padding),\n\t\t\ttap(({ height, padding }) => this.applyStyles(height, padding)),\n\t\t\ttakeUntil(this.disconnecting$)\n\t\t).subscribe()\n\n\t}\n\n\trender() {\n\t\treturn\n\t}\n\n\tupdate(part: ElementPart) {\n\t\tif (part.type !== PartType.ELEMENT) {\n\t\t\tthrow new Error('fullHeight directive can only be used on elements')\n\t\t}\n\t\tconst el = part.element as HTMLElement\n\t\tif (this.element !== el) {\n\t\t\tthis.element = el\n\t\t\telementCount++\n\t\t\tthis.setupHeightStream()\n\t\t}\n\t}\n\n\tdisconnected() {\n\t\tthis.disconnecting$.next()\n\t\telementCount--\n\t\tcleanup()\n\t\tthis.element = null\n\t}\n\n\treconnected() {\n\t\tif (this.element) {\n\t\t\telementCount++\n\t\t\tthis.disconnecting$ = new Subject<void>()\n\t\t\tthis.setupHeightStream()\n\t\t}\n\t}\n}\n\nexport const fullHeight = directive(FullHeight)\n\n/**\n * fullWidth directive - fills remaining horizontal viewport space\n *\n * Reactive sources:\n * - Element ResizeObserver (detects when element moves/resizes)\n * - Parent ResizeObserver (layout shifts, e.g., sidebar)\n * - Window resize / visualViewport (viewport changes)\n * - Orientation change (device rotation)\n * - Theme fullscreen toggle (sidebar visibility)\n *\n * Performance:\n * - distinctUntilChanged prevents redundant style writes\n * - debounceTime(16) batches rapid events (~60fps)\n * - Single shared stream for global events\n */\nclass FullWidth extends AsyncDirective {\n\tprivate element: HTMLElement | null = null\n\tprivate disconnecting$ = new Subject<void>()\n\n\tprivate calculateWidth(): number {\n\t\tif (!this.element) return 0\n\t\tconst viewportWidth = window.visualViewport?.width ?? window.innerWidth\n\t\tconst leftOffset = this.element.getBoundingClientRect().left\n\t\treturn Math.max(0, viewportWidth - leftOffset)\n\t}\n\n\tprivate applyStyles(width: number) {\n\t\tif (this.element) {\n\t\t\tthis.element.style.boxSizing = 'border-box'\n\t\t\tthis.element.style.maxWidth = `${width}px`\n\t\t}\n\t}\n\n\tprivate setupWidthStream() {\n\t\tif (!this.element) return\n\n\t\tconst element = this.element\n\n\t\t// Element resize detects when element itself moves (e.g., after layout settles)\n\t\tconst elementResize$ = fromResizeObserver(element)\n\n\t\t// Parent resize detects layout shifts (e.g., sidebar opening/closing)\n\t\tconst parentResize$ = element.parentElement\n\t\t\t? fromResizeObserver(element.parentElement)\n\t\t\t: EMPTY\n\n\t\t// Global events (resize, viewport, orientation)\n\t\tconst globalEvents$ = getUpdateStream()\n\n\t\t// Combine all sources with theme observables for synchronous initial emission\n\t\t// theme.fullscreen$ has shareReplay(1) ensuring immediate emission on subscribe\n\t\t// Skip updates while pinch-zoomed to prevent layout thrashing\n\t\tcombineLatest([\n\t\t\tmerge(elementResize$, parentResize$, globalEvents$).pipe(startWith(null)),\n\t\t\ttheme.fullscreen$\n\t\t]).pipe(\n\t\t\tfilter(() => !isZoomed()),\n\t\t\tmap(() => this.calculateWidth()),\n\t\t\tdistinctUntilChanged(),\n\t\t\ttap(width => this.applyStyles(width)),\n\t\t\ttakeUntil(this.disconnecting$)\n\t\t).subscribe()\n\t}\n\n\trender() {\n\t\treturn\n\t}\n\n\tupdate(part: ElementPart) {\n\t\tif (part.type !== PartType.ELEMENT) {\n\t\t\tthrow new Error('fullWidth directive can only be used on elements')\n\t\t}\n\t\tconst el = part.element as HTMLElement\n\t\tif (this.element !== el) {\n\t\t\tthis.element = el\n\t\t\telementCount++\n\t\t\tthis.setupWidthStream()\n\t\t}\n\t}\n\n\tdisconnected() {\n\t\tthis.disconnecting$.next()\n\t\telementCount--\n\t\tcleanup()\n\t\tthis.element = null\n\t}\n\n\treconnected() {\n\t\tif (this.element) {\n\t\t\telementCount++\n\t\t\tthis.disconnecting$ = new Subject<void>()\n\t\t\tthis.setupWidthStream()\n\t\t}\n\t}\n}\n\nexport const fullWidth = directive(FullWidth)\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { t as e } from "./tailwind.mixin-CNdR3zFD.js";
1
+ import { t as e } from "./tailwind.mixin-H5Pn7vSJ.js";
2
2
  import { t } from "./decorate-D_utPUsC.js";
3
3
  import "./mixins.js";
4
- import "./scroll-57rkTHm8.js";
4
+ import "./scroll-CdmXRXh2.js";
5
5
  import { debounceTime as n, distinctUntilChanged as r, fromEvent as i, map as a, startWith as o, takeUntil as s } from "rxjs";
6
6
  import { classMap as c } from "lit/directives/class-map.js";
7
7
  import { styleMap as l } from "lit/directives/style-map.js";