@mhmo91/schmancy 0.2.207 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (268) hide show
  1. package/dist/{animated-text-GWb1KFIg.js → animated-text-B2RjyIK5.js} +3 -3
  2. package/dist/{animated-text-GWb1KFIg.js.map → animated-text-B2RjyIK5.js.map} +1 -1
  3. package/dist/{animated-text-CwhCnj-Z.cjs → animated-text-DuL0BVFF.cjs} +2 -2
  4. package/dist/{animated-text-CwhCnj-Z.cjs.map → animated-text-DuL0BVFF.cjs.map} +1 -1
  5. package/dist/animated-text.cjs +1 -1
  6. package/dist/animated-text.js +1 -1
  7. package/dist/area.cjs +1 -1
  8. package/dist/{area.component-BArN-q7n.js → area.component-C4lraBSz.js} +3 -3
  9. package/dist/{area.component-BArN-q7n.js.map → area.component-C4lraBSz.js.map} +1 -1
  10. package/dist/{area.component-6ZFpx2Be.cjs → area.component-DYh2KKnh.cjs} +2 -2
  11. package/dist/{area.component-6ZFpx2Be.cjs.map → area.component-DYh2KKnh.cjs.map} +1 -1
  12. package/dist/area.js +1 -1
  13. package/dist/{autocomplete-CY5UhcZ0.js → autocomplete-BXf34fA-.js} +3 -3
  14. package/dist/{autocomplete-CY5UhcZ0.js.map → autocomplete-BXf34fA-.js.map} +1 -1
  15. package/dist/{autocomplete-Lrf6Xs9H.cjs → autocomplete-C2MgBZdi.cjs} +2 -2
  16. package/dist/{autocomplete-Lrf6Xs9H.cjs.map → autocomplete-C2MgBZdi.cjs.map} +1 -1
  17. package/dist/autocomplete.cjs +1 -1
  18. package/dist/autocomplete.js +1 -1
  19. package/dist/{avatar-DO2e262N.cjs → avatar-DVN44OzV.cjs} +2 -2
  20. package/dist/{avatar-DO2e262N.cjs.map → avatar-DVN44OzV.cjs.map} +1 -1
  21. package/dist/{avatar-BMCu6edd.js → avatar-DupGPy32.js} +43 -43
  22. package/dist/{avatar-BMCu6edd.js.map → avatar-DupGPy32.js.map} +1 -1
  23. package/dist/badge.cjs +1 -1
  24. package/dist/badge.js +1 -1
  25. package/dist/{boat-BB6LmYdx.js → boat-D6RMa9wL.js} +3 -3
  26. package/dist/{boat-BB6LmYdx.js.map → boat-D6RMa9wL.js.map} +1 -1
  27. package/dist/{boat-CJ9Tg8fB.cjs → boat-DeEs020x.cjs} +2 -2
  28. package/dist/{boat-CJ9Tg8fB.cjs.map → boat-DeEs020x.cjs.map} +1 -1
  29. package/dist/boat.cjs +1 -1
  30. package/dist/boat.js +1 -1
  31. package/dist/busy.cjs +1 -1
  32. package/dist/busy.js +1 -1
  33. package/dist/button.cjs +1 -1
  34. package/dist/button.js +1 -1
  35. package/dist/card.cjs +1 -1
  36. package/dist/card.js +1 -1
  37. package/dist/{checkbox-B7DRyBjt.cjs → checkbox-BSndX5zU.cjs} +2 -2
  38. package/dist/{checkbox-B7DRyBjt.cjs.map → checkbox-BSndX5zU.cjs.map} +1 -1
  39. package/dist/{checkbox-BuOkiA0j.js → checkbox-CZUwhaUm.js} +2 -2
  40. package/dist/{checkbox-BuOkiA0j.js.map → checkbox-CZUwhaUm.js.map} +1 -1
  41. package/dist/checkbox.cjs +1 -1
  42. package/dist/checkbox.js +1 -1
  43. package/dist/{chips-DyoQtkqC.js → chips-Cy-Uf0By.js} +3 -3
  44. package/dist/{chips-DyoQtkqC.js.map → chips-Cy-Uf0By.js.map} +1 -1
  45. package/dist/{chips-w7_Vv_P1.cjs → chips-Do9LFtJA.cjs} +2 -2
  46. package/dist/{chips-w7_Vv_P1.cjs.map → chips-Do9LFtJA.cjs.map} +1 -1
  47. package/dist/chips.cjs +1 -1
  48. package/dist/chips.js +1 -1
  49. package/dist/{circular-progress-B7VSuyu1.js → circular-progress-D5vVDl4d.js} +3 -3
  50. package/dist/{circular-progress-B7VSuyu1.js.map → circular-progress-D5vVDl4d.js.map} +1 -1
  51. package/dist/{circular-progress-BT_cAg-m.cjs → circular-progress-DS6pw54i.cjs} +2 -2
  52. package/dist/{circular-progress-BT_cAg-m.cjs.map → circular-progress-DS6pw54i.cjs.map} +1 -1
  53. package/dist/circular-progress.cjs +1 -1
  54. package/dist/circular-progress.js +1 -1
  55. package/dist/code-highlight.cjs +1 -1
  56. package/dist/code-highlight.js +1 -1
  57. package/dist/{code-preview-WdmERMCO.js → code-preview-AQ1T_x11.js} +407 -364
  58. package/dist/{code-preview-WdmERMCO.js.map → code-preview-AQ1T_x11.js.map} +1 -1
  59. package/dist/code-preview-CXO3vsRi.cjs +185 -0
  60. package/dist/{code-preview-BsEGjZB8.cjs.map → code-preview-CXO3vsRi.cjs.map} +1 -1
  61. package/dist/components.cjs +1 -1
  62. package/dist/components.js +1 -1
  63. package/dist/content-drawer.cjs +1 -1
  64. package/dist/content-drawer.js +1 -1
  65. package/dist/{date-range-ooOpxbeQ.cjs → date-range-B0CSi1D6.cjs} +2 -2
  66. package/dist/{date-range-ooOpxbeQ.cjs.map → date-range-B0CSi1D6.cjs.map} +1 -1
  67. package/dist/{date-range-DtrUQ__m.js → date-range-IrXoBUVr.js} +3 -3
  68. package/dist/{date-range-DtrUQ__m.js.map → date-range-IrXoBUVr.js.map} +1 -1
  69. package/dist/date-range.cjs +1 -1
  70. package/dist/date-range.js +1 -1
  71. package/dist/{delay-Bi7N7rfi.cjs → delay-BV4QWYDw.cjs} +2 -2
  72. package/dist/{delay-Bi7N7rfi.cjs.map → delay-BV4QWYDw.cjs.map} +1 -1
  73. package/dist/{delay-CpadwhcQ.js → delay-BjYDvkud.js} +2 -2
  74. package/dist/{delay-CpadwhcQ.js.map → delay-BjYDvkud.js.map} +1 -1
  75. package/dist/delay.cjs +1 -1
  76. package/dist/delay.js +1 -1
  77. package/dist/{dialog-content-C-hz1uOo.cjs → dialog-content-D5kti4-b.cjs} +2 -2
  78. package/dist/{dialog-content-C-hz1uOo.cjs.map → dialog-content-D5kti4-b.cjs.map} +1 -1
  79. package/dist/{dialog-content-DHu6t4FZ.js → dialog-content-D9uVow4E.js} +3 -3
  80. package/dist/{dialog-content-DHu6t4FZ.js.map → dialog-content-D9uVow4E.js.map} +1 -1
  81. package/dist/dialog.cjs +1 -1
  82. package/dist/dialog.js +1 -1
  83. package/dist/{divider-_-MZUPzR.js → divider-3tv52Nso.js} +3 -3
  84. package/dist/{divider-_-MZUPzR.js.map → divider-3tv52Nso.js.map} +1 -1
  85. package/dist/{divider-CMaphWTG.cjs → divider-CEyi1ooH.cjs} +2 -2
  86. package/dist/{divider-CMaphWTG.cjs.map → divider-CEyi1ooH.cjs.map} +1 -1
  87. package/dist/divider.cjs +1 -1
  88. package/dist/divider.js +1 -1
  89. package/dist/{dropdown-content-TrKH6CPO.cjs → dropdown-content-BoKXumxT.cjs} +2 -2
  90. package/dist/{dropdown-content-TrKH6CPO.cjs.map → dropdown-content-BoKXumxT.cjs.map} +1 -1
  91. package/dist/{dropdown-content-DMhWEC5P.js → dropdown-content-R-EVmTas.js} +3 -3
  92. package/dist/{dropdown-content-DMhWEC5P.js.map → dropdown-content-R-EVmTas.js.map} +1 -1
  93. package/dist/dropdown.cjs +1 -1
  94. package/dist/dropdown.js +1 -1
  95. package/dist/extra.cjs +1 -1
  96. package/dist/extra.js +1 -1
  97. package/dist/{flex-Dr8l_bpn.js → flex-DFGC-5rG.js} +2 -2
  98. package/dist/{flex-Dr8l_bpn.js.map → flex-DFGC-5rG.js.map} +1 -1
  99. package/dist/{flex-CaC7hDYr.cjs → flex-Dfk62-Dn.cjs} +2 -2
  100. package/dist/{flex-CaC7hDYr.cjs.map → flex-Dfk62-Dn.cjs.map} +1 -1
  101. package/dist/{form-DXe2MLM6.cjs → form-C-YpNF0Z.cjs} +2 -2
  102. package/dist/{form-DXe2MLM6.cjs.map → form-C-YpNF0Z.cjs.map} +1 -1
  103. package/dist/{form-CWRGjc2L.js → form-DWz7p8Ru.js} +2 -2
  104. package/dist/{form-CWRGjc2L.js.map → form-DWz7p8Ru.js.map} +1 -1
  105. package/dist/form.cjs +1 -1
  106. package/dist/form.js +1 -1
  107. package/dist/{icon-BhA1UDKp.js → icon-D-o0ZArk.js} +2 -2
  108. package/dist/{icon-BhA1UDKp.js.map → icon-D-o0ZArk.js.map} +1 -1
  109. package/dist/{icon-Cpm7fcMG.cjs → icon-D_0MYmHT.cjs} +2 -2
  110. package/dist/{icon-Cpm7fcMG.cjs.map → icon-D_0MYmHT.cjs.map} +1 -1
  111. package/dist/{icon-button-DRJRp7NW.js → icon-button-6K7j0Ifl.js} +3 -3
  112. package/dist/{icon-button-DRJRp7NW.js.map → icon-button-6K7j0Ifl.js.map} +1 -1
  113. package/dist/{icon-button-DuaFGduO.cjs → icon-button-fT0E5fJN.cjs} +2 -2
  114. package/dist/{icon-button-DuaFGduO.cjs.map → icon-button-fT0E5fJN.cjs.map} +1 -1
  115. package/dist/icons.cjs +1 -1
  116. package/dist/icons.js +1 -1
  117. package/dist/index.cjs +1 -1
  118. package/dist/index.js +41 -41
  119. package/dist/{input-D8ZNzDHV.js → input-3-d9ijGr.js} +2 -2
  120. package/dist/{input-D8ZNzDHV.js.map → input-3-d9ijGr.js.map} +1 -1
  121. package/dist/{input-Cm1CnbuH.cjs → input-y7H2rS_c.cjs} +2 -2
  122. package/dist/{input-Cm1CnbuH.cjs.map → input-y7H2rS_c.cjs.map} +1 -1
  123. package/dist/input.cjs +1 -1
  124. package/dist/input.js +1 -1
  125. package/dist/layout.cjs +1 -1
  126. package/dist/layout.js +1 -1
  127. package/dist/{list-DGcdO8kB.cjs → list-CQCRYpMc.cjs} +2 -2
  128. package/dist/{list-DGcdO8kB.cjs.map → list-CQCRYpMc.cjs.map} +1 -1
  129. package/dist/{list-oTKIr7PQ.js → list-DdZ0XbRC.js} +2 -2
  130. package/dist/{list-oTKIr7PQ.js.map → list-DdZ0XbRC.js.map} +1 -1
  131. package/dist/list.cjs +1 -1
  132. package/dist/list.js +1 -1
  133. package/dist/{litElement.mixin-DgPgTgtr.js → litElement.mixin-DCTPuIQ4.js} +2 -2
  134. package/dist/{litElement.mixin-DgPgTgtr.js.map → litElement.mixin-DCTPuIQ4.js.map} +1 -1
  135. package/dist/{litElement.mixin-9Gop8K6U.cjs → litElement.mixin-DcYItU_Y.cjs} +2 -2
  136. package/dist/{litElement.mixin-9Gop8K6U.cjs.map → litElement.mixin-DcYItU_Y.cjs.map} +1 -1
  137. package/dist/{menu-DENXkCTG.js → menu-BBeCodjv.js} +3 -3
  138. package/dist/{menu-DENXkCTG.js.map → menu-BBeCodjv.js.map} +1 -1
  139. package/dist/{menu-DrqS9xPK.cjs → menu-DTNNwC3X.cjs} +2 -2
  140. package/dist/{menu-DrqS9xPK.cjs.map → menu-DTNNwC3X.cjs.map} +1 -1
  141. package/dist/menu.cjs +1 -1
  142. package/dist/menu.js +1 -1
  143. package/dist/nav-drawer.cjs +1 -1
  144. package/dist/nav-drawer.js +1 -1
  145. package/dist/{notification-service-DL1fq8hm.cjs → notification-service-Dw1vWE8m.cjs} +2 -2
  146. package/dist/{notification-service-DL1fq8hm.cjs.map → notification-service-Dw1vWE8m.cjs.map} +1 -1
  147. package/dist/{notification-service-B9B2SOMf.js → notification-service-cV_jYoFM.js} +3 -3
  148. package/dist/{notification-service-B9B2SOMf.js.map → notification-service-cV_jYoFM.js.map} +1 -1
  149. package/dist/notification.cjs +1 -1
  150. package/dist/notification.js +1 -1
  151. package/dist/{option-x_gU_P71.cjs → option-BkYybtqQ.cjs} +2 -2
  152. package/dist/{option-x_gU_P71.cjs.map → option-BkYybtqQ.cjs.map} +1 -1
  153. package/dist/{option-D7hTrzgh.js → option-D9kAMX93.js} +2 -2
  154. package/dist/{option-D7hTrzgh.js.map → option-D9kAMX93.js.map} +1 -1
  155. package/dist/option.cjs +1 -1
  156. package/dist/option.js +1 -1
  157. package/dist/{payment-card-form-D3hyDbdZ.js → payment-card-form-C2X4AyyB.js} +3 -3
  158. package/dist/{payment-card-form-D3hyDbdZ.js.map → payment-card-form-C2X4AyyB.js.map} +1 -1
  159. package/dist/{payment-card-form-AFtDtRfH.cjs → payment-card-form-CLRmWodS.cjs} +2 -2
  160. package/dist/{payment-card-form-AFtDtRfH.cjs.map → payment-card-form-CLRmWodS.cjs.map} +1 -1
  161. package/dist/{radio-button-ncZSGkqc.js → radio-button-C0IThgUp.js} +2 -2
  162. package/dist/{radio-button-ncZSGkqc.js.map → radio-button-C0IThgUp.js.map} +1 -1
  163. package/dist/{radio-button-DaLz4Z3S.cjs → radio-button-b-3WocDM.cjs} +2 -2
  164. package/dist/{radio-button-DaLz4Z3S.cjs.map → radio-button-b-3WocDM.cjs.map} +1 -1
  165. package/dist/radio-group.cjs +1 -1
  166. package/dist/radio-group.js +1 -1
  167. package/dist/{schmancy-steps-container-BMHLfmfG.js → schmancy-steps-container-B1pLiWXH.js} +2 -2
  168. package/dist/{schmancy-steps-container-BMHLfmfG.js.map → schmancy-steps-container-B1pLiWXH.js.map} +1 -1
  169. package/dist/{schmancy-steps-container-Oj0-kdzs.cjs → schmancy-steps-container-zat0B8ZS.cjs} +2 -2
  170. package/dist/{schmancy-steps-container-Oj0-kdzs.cjs.map → schmancy-steps-container-zat0B8ZS.cjs.map} +1 -1
  171. package/dist/{select-CNfzjQc7.js → select-BLI7oX60.js} +3 -3
  172. package/dist/{select-CNfzjQc7.js.map → select-BLI7oX60.js.map} +1 -1
  173. package/dist/{select-kgqACG9u.cjs → select-DsFHJyZw.cjs} +2 -2
  174. package/dist/{select-kgqACG9u.cjs.map → select-DsFHJyZw.cjs.map} +1 -1
  175. package/dist/select.cjs +1 -1
  176. package/dist/select.js +1 -1
  177. package/dist/{sheet-CWGztMJM.js → sheet-cxQG63jb.js} +3 -3
  178. package/dist/{sheet-CWGztMJM.js.map → sheet-cxQG63jb.js.map} +1 -1
  179. package/dist/{sheet-8KVbmBT0.cjs → sheet-xbPPu7eJ.cjs} +2 -2
  180. package/dist/{sheet-8KVbmBT0.cjs.map → sheet-xbPPu7eJ.cjs.map} +1 -1
  181. package/dist/sheet.cjs +1 -1
  182. package/dist/sheet.js +1 -1
  183. package/dist/{slider-BpGbCj5P.js → slider-D5GAJBtp.js} +3 -3
  184. package/dist/{slider-BpGbCj5P.js.map → slider-D5GAJBtp.js.map} +1 -1
  185. package/dist/{slider-BTJK0M8p.cjs → slider-DI42q9wf.cjs} +2 -2
  186. package/dist/{slider-BTJK0M8p.cjs.map → slider-DI42q9wf.cjs.map} +1 -1
  187. package/dist/slider.cjs +1 -1
  188. package/dist/slider.js +1 -1
  189. package/dist/{spinner-o6SsnYml.cjs → spinner-I_J8koHo.cjs} +2 -2
  190. package/dist/{spinner-o6SsnYml.cjs.map → spinner-I_J8koHo.cjs.map} +1 -1
  191. package/dist/{spinner-CZEpYGDr.js → spinner-jxwBlOT6.js} +3 -3
  192. package/dist/{spinner-CZEpYGDr.js.map → spinner-jxwBlOT6.js.map} +1 -1
  193. package/dist/steps.cjs +1 -1
  194. package/dist/steps.js +1 -1
  195. package/dist/{surface-v1R6gg3O.cjs → surface-CgjTa2At.cjs} +2 -2
  196. package/dist/{surface-v1R6gg3O.cjs.map → surface-CgjTa2At.cjs.map} +1 -1
  197. package/dist/{surface-CULbYLWK.js → surface-KO5G93q6.js} +2 -2
  198. package/dist/{surface-CULbYLWK.js.map → surface-KO5G93q6.js.map} +1 -1
  199. package/dist/surface.cjs +1 -1
  200. package/dist/surface.js +1 -1
  201. package/dist/{table-DiyvbCo7.js → table-ae8AvxxX.js} +2 -2
  202. package/dist/{table-DiyvbCo7.js.map → table-ae8AvxxX.js.map} +1 -1
  203. package/dist/{table-C-bANOR2.cjs → table-tMVVNYqd.cjs} +2 -2
  204. package/dist/{table-C-bANOR2.cjs.map → table-tMVVNYqd.cjs.map} +1 -1
  205. package/dist/table.cjs +1 -1
  206. package/dist/table.js +1 -1
  207. package/dist/{tabs-compatibility-gBgyoF-Q.js → tabs-compatibility-DgqIx0_d.js} +2 -2
  208. package/dist/{tabs-compatibility-gBgyoF-Q.js.map → tabs-compatibility-DgqIx0_d.js.map} +1 -1
  209. package/dist/{tabs-compatibility-H_ztF6ET.cjs → tabs-compatibility-K7hN1FMS.cjs} +2 -2
  210. package/dist/{tabs-compatibility-H_ztF6ET.cjs.map → tabs-compatibility-K7hN1FMS.cjs.map} +1 -1
  211. package/dist/tabs.cjs +1 -1
  212. package/dist/tabs.js +1 -1
  213. package/dist/{tailwind.mixin-CBugs0NU.js → tailwind.mixin-BPIDvfDe.js} +2 -2
  214. package/dist/{tailwind.mixin-CBugs0NU.js.map → tailwind.mixin-BPIDvfDe.js.map} +1 -1
  215. package/dist/{tailwind.mixin-by-9p2wJ.cjs → tailwind.mixin-DWvvleWP.cjs} +2 -2
  216. package/dist/{tailwind.mixin-by-9p2wJ.cjs.map → tailwind.mixin-DWvvleWP.cjs.map} +1 -1
  217. package/dist/teleport.cjs +1 -1
  218. package/dist/teleport.js +1 -1
  219. package/dist/{textarea-B1qCCWUj.js → textarea-Coqtz8dI.js} +2 -2
  220. package/dist/{textarea-B1qCCWUj.js.map → textarea-Coqtz8dI.js.map} +1 -1
  221. package/dist/{textarea-uDNXN7E5.cjs → textarea-DlxS_YbV.cjs} +2 -2
  222. package/dist/{textarea-uDNXN7E5.cjs.map → textarea-DlxS_YbV.cjs.map} +1 -1
  223. package/dist/textarea.cjs +1 -1
  224. package/dist/textarea.js +1 -1
  225. package/dist/{theme-button-GGwBDTFe.cjs → theme-button-MLe6lqim.cjs} +2 -2
  226. package/dist/{theme-button-GGwBDTFe.cjs.map → theme-button-MLe6lqim.cjs.map} +1 -1
  227. package/dist/{theme-button-Bb5gE3fO.js → theme-button-aGO9tJ2X.js} +2 -2
  228. package/dist/{theme-button-Bb5gE3fO.js.map → theme-button-aGO9tJ2X.js.map} +1 -1
  229. package/dist/theme-button.cjs +1 -1
  230. package/dist/theme-button.js +1 -1
  231. package/dist/theme.cjs +1 -1
  232. package/dist/{theme.component-Du-mYia7.cjs → theme.component-Bhodmw04.cjs} +2 -2
  233. package/dist/{theme.component-Du-mYia7.cjs.map → theme.component-Bhodmw04.cjs.map} +1 -1
  234. package/dist/{theme.component-C3Az3LCn.js → theme.component-DtSJBwyz.js} +2 -2
  235. package/dist/{theme.component-C3Az3LCn.js.map → theme.component-DtSJBwyz.js.map} +1 -1
  236. package/dist/theme.js +1 -1
  237. package/dist/{timezone-8fpYlPih.js → timezone-DRzBs7kc.js} +3 -3
  238. package/dist/{timezone-8fpYlPih.js.map → timezone-DRzBs7kc.js.map} +1 -1
  239. package/dist/{timezone-BNXuXIk_.cjs → timezone-MNEWy4jq.cjs} +2 -2
  240. package/dist/{timezone-BNXuXIk_.cjs.map → timezone-MNEWy4jq.cjs.map} +1 -1
  241. package/dist/{tooltip-boMvd7Px.js → tooltip-CyHXFI4n.js} +2 -2
  242. package/dist/{tooltip-boMvd7Px.js.map → tooltip-CyHXFI4n.js.map} +1 -1
  243. package/dist/{tooltip-B9PrX-ud.cjs → tooltip-DXepH6lG.cjs} +2 -2
  244. package/dist/{tooltip-B9PrX-ud.cjs.map → tooltip-DXepH6lG.cjs.map} +1 -1
  245. package/dist/tooltip.cjs +1 -1
  246. package/dist/tooltip.js +1 -1
  247. package/dist/{tree-DuMRYuUP.js → tree-BDvR_Ooq.js} +2 -2
  248. package/dist/{tree-DuMRYuUP.js.map → tree-BDvR_Ooq.js.map} +1 -1
  249. package/dist/{tree-DLxiFxTm.cjs → tree-BkqvB6rh.cjs} +2 -2
  250. package/dist/{tree-DLxiFxTm.cjs.map → tree-BkqvB6rh.cjs.map} +1 -1
  251. package/dist/tree.cjs +1 -1
  252. package/dist/tree.js +1 -1
  253. package/dist/{typewriter-DFlhNtuC.js → typewriter-B1uzg12Z.js} +4 -4
  254. package/dist/{typewriter-DFlhNtuC.js.map → typewriter-B1uzg12Z.js.map} +1 -1
  255. package/dist/{typewriter-D2BteuUE.cjs → typewriter-CoOcshun.cjs} +2 -2
  256. package/dist/{typewriter-D2BteuUE.cjs.map → typewriter-CoOcshun.cjs.map} +1 -1
  257. package/dist/typewriter.cjs +1 -1
  258. package/dist/typewriter.js +1 -1
  259. package/dist/{typography-BMNXy5E7.js → typography-BoHmbEy7.js} +2 -2
  260. package/dist/{typography-BMNXy5E7.js.map → typography-BoHmbEy7.js.map} +1 -1
  261. package/dist/{typography-B08MvG9M.cjs → typography-CRa9BYOd.cjs} +2 -2
  262. package/dist/{typography-B08MvG9M.cjs.map → typography-CRa9BYOd.cjs.map} +1 -1
  263. package/dist/typography.cjs +1 -1
  264. package/dist/typography.js +1 -1
  265. package/package.json +1 -1
  266. package/types/src/code-highlight/code-highlight.d.ts +3 -2
  267. package/types/src/code-highlight/code-preview.d.ts +5 -0
  268. package/dist/code-preview-BsEGjZB8.cjs +0 -160
@@ -1 +1 @@
1
- {"version":3,"file":"sheet-8KVbmBT0.cjs","sources":["../src/sheet/header.ts","../src/sheet/sheet.service.ts","../src/sheet/sheet.ts","../src/sheet/hook.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-sheet-header')\nexport default class SchmancySheetHeader extends TailwindElement(css``) {\n\trender() {\n\t\treturn html`\n\t\t\t<sch-flex class=\"absolute top-0 left-0 md:left-[unset] md:right-0\">\n\t\t\t\t<div class=\"block md:hidden flex-1 justify-start items-start\">\n\t\t\t\t\t<slot name=\"back\">\n\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\t\tnew CustomEvent('dismiss', {\n\t\t\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span class=\"text-[24px]\">&#8592; </span>\n\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t</slot>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"hidden md:block flex-1 justify-end items-end\">\n\t\t\t\t\t<slot name=\"actions\">\n\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\t\tnew CustomEvent('dismiss', {\n\t\t\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tclose\n\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t</slot>\n\t\t\t\t</div>\n\t\t\t</sch-flex>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-sheet-header': SchmancySheetHeader\n\t}\n}\n","import {\n\tdefaultIfEmpty,\n\tdelay,\n\tfilter,\n\tforkJoin,\n\tfromEvent,\n\tmap,\n\tmergeMap,\n\tof,\n\tSubject,\n\tswitchMap,\n\ttake,\n\ttakeUntil,\n\ttap,\n\ttimer,\n} from 'rxjs'\nimport SchmancySheet from './sheet'\n\nexport enum SchmancySheetPosition {\n\tSide = 'side',\n\tBottom = 'bottom',\n\t/**\n\t * @deprecated use bottom instead\n\t */\n\tBottomCenter = 'bottom-center',\n\t/**\n\t * @deprecated use side instead\n\t */\n\tTopRight = 'top-right',\n\t/**\n\t * @deprecated use side instead\n\t */\n\tBottomRight = 'bottom-right',\n}\n\ntype BottomSheeetTarget = {\n\tcomponent: HTMLElement\n\tuid?: string\n\tposition?: SchmancySheetPosition\n\tpersist?: boolean\n\tclose?: () => void\n\tlock?: boolean // Controls both ESC and overlay click dismissal\n\thandleHistory?: boolean // Controls browser back button behavior\n\ttitle?: string\n\theader?: 'hidden' | 'visible'\n}\n\n// Events for communication between bottom-sheet component and bottom-sheet.service\nexport type SheetWhereAreYouRickyEvent = CustomEvent<{\n\tuid: string\n}>\nexport const SheetWhereAreYouRicky = 'are-you-there-sheet'\n\nexport type SheetHereMortyEvent = CustomEvent<{\n\tsheet: SchmancySheet\n}>\nexport const SheetHereMorty = 'yes-here'\n\n// Function to determine the position based on screen size\nconst getPosition = (): SchmancySheetPosition => {\n\treturn window.innerWidth >= 768 ? SchmancySheetPosition.Side : SchmancySheetPosition.Bottom // Adjust 768 as needed for your breakpoint\n}\n\nclass BottomSheetService {\n\tbottomSheet = new Subject<BottomSheeetTarget>()\n\t$dismiss = new Subject<string>()\n\t// Track currently open sheets by uid\n\tprivate activeSheets = new Set<string>()\n\t// To track if we've set up the popstate listener\n\tprivate popStateListenerActive = false\n\n\tconstructor() {\n\t\tthis.setupSheetOpeningLogic()\n\t\tthis.setupSheetDismissLogic()\n\t\tthis.setupPopStateListener()\n\t}\n\n\t/**\n\t * Sets up the main sheet opening logic\n\t */\n\tprivate setupSheetOpeningLogic() {\n\t\tthis.bottomSheet\n\t\t\t.pipe(\n\t\t\t\tswitchMap(target =>\n\t\t\t\t\tforkJoin([\n\t\t\t\t\t\tfromEvent<SheetHereMortyEvent>(window, SheetHereMorty).pipe(\n\t\t\t\t\t\t\ttakeUntil(timer(100)),\n\t\t\t\t\t\t\tmap(e => e.detail.sheet),\n\t\t\t\t\t\t\tdefaultIfEmpty(undefined),\n\t\t\t\t\t\t),\n\t\t\t\t\t\tof(target).pipe(\n\t\t\t\t\t\t\ttap(() => {\n\t\t\t\t\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\t\t\t\t\tnew CustomEvent(SheetWhereAreYouRicky, {\n\t\t\t\t\t\t\t\t\t\tdetail: { uid: target.uid ?? target.component.tagName },\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t),\n\t\t\t\t\t]),\n\t\t\t\t),\n\n\t\t\t\tmap(([sheet, target]) => {\n\t\t\t\t\tconsole.log(sheet, target)\n\t\t\t\t\tif (!sheet) {\n\t\t\t\t\t\t// if sheet is not found, create it\n\t\t\t\t\t\tsheet = document.createElement('schmancy-sheet')\n\t\t\t\t\t\tdocument.body.appendChild(sheet)\n\t\t\t\t\t}\n\t\t\t\t\tsheet.setAttribute('uid', target.uid ?? target.component.tagName)\n\n\t\t\t\t\ttarget.lock && sheet.setAttribute('lock', 'true')\n\n\t\t\t\t\t// Use the dynamic position function here\n\t\t\t\t\tconst position = target.position || getPosition()\n\t\t\t\t\tsheet.setAttribute('position', position)\n\n\t\t\t\t\ttarget.title && sheet.setAttribute('title', target.title)\n\t\t\t\t\ttarget.persist && sheet.setAttribute('persist', target.persist ?? false)\n\t\t\t\t\ttarget.header && sheet.setAttribute('header', target.header)\n\n\t\t\t\t\t// Handle history logic if the property exists\n\t\t\t\t\tif (target.handleHistory !== undefined) {\n\t\t\t\t\t\tsheet.setAttribute('handleHistory', String(target.handleHistory))\n\t\t\t\t\t}\n\n\t\t\t\t\tdocument.body.style.overflow = 'hidden' // lock the scroll of the host\n\t\t\t\t\treturn { target, sheet }\n\t\t\t\t}),\n\t\t\t\tdelay(20),\n\t\t\t\tfilter(({ target, sheet }) => {\n\t\t\t\t\t// if the sheet has already the component, just show it\n\t\t\t\t\tif (\n\t\t\t\t\t\ttarget.persist &&\n\t\t\t\t\t\tsheet?.shadowRoot\n\t\t\t\t\t\t\t?.querySelector('slot')\n\t\t\t\t\t\t\t?.assignedElements()\n\t\t\t\t\t\t\t.find(e => e.tagName === target.component.tagName)\n\t\t\t\t\t) {\n\t\t\t\t\t\tsheet?.setAttribute('open', 'true')\n\t\t\t\t\t\treturn false\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn true // if the sheet does not have the component, continue to the next step\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\ttap(({ target, sheet }) => {\n\t\t\t\t\tsheet?.appendChild(target.component)\n\t\t\t\t}),\n\t\t\t\tdelay(1),\n\t\t\t\ttap(({ target, sheet }) => {\n\t\t\t\t\tsheet?.setAttribute('open', 'true')\n\n\t\t\t\t\t// Add to active sheets tracking\n\t\t\t\t\tconst uid = target.uid ?? target.component.tagName\n\t\t\t\t\tthis.activeSheets.add(uid)\n\n\t\t\t\t\t// Handle history integration - default to true if not specified\n\t\t\t\t\tconst shouldHandleHistory = target.handleHistory !== false\n\n\t\t\t\t\tif (shouldHandleHistory) {\n\t\t\t\t\t\t// Use history state to track this specific sheet\n\t\t\t\t\t\tconst historyState = {\n\t\t\t\t\t\t\tschmancySheet: true,\n\t\t\t\t\t\t\tuid: uid,\n\t\t\t\t\t\t\ttimestamp: Date.now(),\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Push a new history state\n\t\t\t\t\t\thistory.pushState(historyState, '', window.location.href)\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\ttap(({ sheet }) => {\n\t\t\t\t\tfromEvent<CustomEvent>(sheet, 'close')\n\t\t\t\t\t\t.pipe(take(1))\n\t\t\t\t\t\t.pipe(delay(300))\n\t\t\t\t\t\t.subscribe(e => {\n\t\t\t\t\t\t\tconst target = e.target as SchmancySheet\n\t\t\t\t\t\t\tconsole.log(target)\n\n\t\t\t\t\t\t\t// Remove from active sheets tracking\n\t\t\t\t\t\t\tconst uid = target.getAttribute('uid')\n\t\t\t\t\t\t\tif (uid) {\n\t\t\t\t\t\t\t\tthis.activeSheets.delete(uid)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!target?.persist) target?.remove()\n\t\t\t\t\t\t\tdocument.body.style.overflow = 'auto' // unlock the scroll of the host\n\t\t\t\t\t\t})\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\t/**\n\t * Sets up the sheet closing/dismissal logic\n\t */\n\tprivate setupSheetDismissLogic() {\n\t\tthis.$dismiss\n\t\t\t.pipe(\n\t\t\t\tmergeMap(uid =>\n\t\t\t\t\tforkJoin([\n\t\t\t\t\t\tfromEvent<SheetHereMortyEvent>(window, SheetHereMorty).pipe(\n\t\t\t\t\t\t\ttakeUntil(timer(100)),\n\t\t\t\t\t\t\tmap(e => e.detail.sheet),\n\t\t\t\t\t\t\tdefaultIfEmpty(undefined),\n\t\t\t\t\t\t),\n\t\t\t\t\t\tof(uid).pipe(\n\t\t\t\t\t\t\ttap(() => {\n\t\t\t\t\t\t\t\twindow.dispatchEvent(new CustomEvent(SheetWhereAreYouRicky, { detail: { uid } }))\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t),\n\t\t\t\t\t]),\n\t\t\t\t),\n\t\t\t\ttap(([sheet, uid]) => {\n\t\t\t\t\tif (sheet) {\n\t\t\t\t\t\tsheet.closeSheet()\n\t\t\t\t\t\tthis.activeSheets.delete(uid)\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\t/**\n\t * Sets up the popstate listener to handle browser back button\n\t */\n\tprivate setupPopStateListener() {\n\t\tif (this.popStateListenerActive) return\n\n\t\tfromEvent<PopStateEvent>(window, 'popstate').subscribe(event => {\n\t\t\t// If we have active sheets, close the most recently opened one\n\t\t\tif (this.activeSheets.size > 0) {\n\t\t\t\tconst lastSheet = Array.from(this.activeSheets).pop()\n\t\t\t\tif (lastSheet) {\n\t\t\t\t\tthis.dismiss(lastSheet)\n\n\t\t\t\t\t// Prevent default navigation behavior by pushing a new state\n\t\t\t\t\t// This effectively cancels out the back navigation\n\t\t\t\t\tif (event.state && event.state.schmancySheet) {\n\t\t\t\t\t\thistory.pushState({}, '', window.location.href)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\tthis.popStateListenerActive = true\n\t}\n\n\t/**\n\t * Dismiss a sheet by uid\n\t */\n\tdismiss(uid: string) {\n\t\tthis.$dismiss.next(uid)\n\t}\n\n\t/**\n\t * Open a sheet with the given target configuration\n\t */\n\topen(target: BottomSheeetTarget) {\n\t\tthis.bottomSheet.next(target)\n\t}\n\n\t/**\n\t * Check if a sheet is currently open by uid\n\t */\n\tisOpen(uid: string): boolean {\n\t\treturn this.activeSheets.has(uid)\n\t}\n\n\t/**\n\t * Close all open sheets\n\t */\n\tcloseAll() {\n\t\tArray.from(this.activeSheets).forEach(uid => {\n\t\t\tthis.dismiss(uid)\n\t\t})\n\t}\n}\nexport const sheet = new BottomSheetService()\n","import { $LitElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property, query, queryAssignedElements } from 'lit/decorators.js'\nimport { when } from 'lit/directives/when.js'\nimport { fromEvent, merge, of, take, takeUntil, tap } from 'rxjs'\nimport { on } from './hook'\nimport style from './sheet.scss?inline'\nimport {\n\tSchmancySheetPosition,\n\tSheetHereMorty,\n\tSheetWhereAreYouRicky,\n\tSheetWhereAreYouRickyEvent,\n\tsheet,\n} from './sheet.service'\n\n@customElement('schmancy-sheet')\nexport default class SchmancySheet extends $LitElement(style) {\n\t@property({ type: String, reflect: true }) uid!: string\n\t@property({ type: Boolean, reflect: true }) open = false\n\t@property({ type: String, reflect: true }) header: 'hidden' | 'visible' = 'visible'\n\t@property({ type: String, reflect: true }) position: SchmancySheetPosition = SchmancySheetPosition.Side\n\t@property({ type: Boolean, reflect: true }) persist = false\n\t@property({ type: Boolean, reflect: true }) lock = false\n\t@property({ type: Boolean, reflect: true }) handleHistory = true\n\t@property({ type: String, reflect: true }) title = ''\n\n\t@query('.sheet') private sheet!: HTMLElement\n\t@queryAssignedElements({ flatten: true }) private assignedElements!: HTMLElement[]\n\n\t@property() focusAttribute = 'autofocus'\n\tprivate lastFocusedElement: HTMLElement | null = null\n\n\t@on('open')\n\tonOpenChange(_oldValue: boolean, newValue: boolean) {\n\t\tif (newValue) {\n\t\t\tthis.lastFocusedElement = document.activeElement as HTMLElement\n\t\t\tthis.addFocusTrap()\n\t\t\tthis.focus()\n\t\t} else {\n\t\t\tthis.removeFocusTrap()\n\t\t\tthis.lastFocusedElement?.focus()\n\t\t\tthis.lastFocusedElement = null\n\t\t}\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tthis.setupEventListeners()\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.disconnecting.next(true)\n\t}\n\n\tprivate setupEventListeners() {\n\t\t// Handle browser back button - only if handleHistory is true\n\t\tconst popState$ = this.handleHistory\n\t\t\t? fromEvent<PopStateEvent>(window, 'popstate').pipe(\n\t\t\t\t\ttap(e => {\n\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\tthis.closeSheet()\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t: of(null).pipe(take(0)) // Empty observable if handleHistory is false\n\n\t\t// Handle ESC key - respect allowOverlayDismiss\n\t\tconst keyUp$ = fromEvent<KeyboardEvent>(window, 'keyup').pipe(\n\t\t\ttap(event => {\n\t\t\t\t// Only handle ESC key dismissal if allowOverlayDismiss is true\n\t\t\t\tif (event.key === 'Escape' && !this.sheetContainsFocus() && !this.lock) {\n\t\t\t\t\tsheet.dismiss(this.uid)\n\t\t\t\t}\n\t\t\t}),\n\t\t)\n\n\t\t// Handle inter-component communication\n\t\tconst rickyComm$ = fromEvent<SheetWhereAreYouRickyEvent>(window, SheetWhereAreYouRicky).pipe(\n\t\t\ttap(e => {\n\t\t\t\tif (e.detail.uid === this.uid) this.announcePresence()\n\t\t\t}),\n\t\t)\n\n\t\tmerge(popState$, keyUp$, rickyComm$).pipe(takeUntil(this.disconnecting)).subscribe()\n\t}\n\n\tprivate sheetContainsFocus(): boolean {\n\t\treturn this.sheet?.contains(document.activeElement) ?? false\n\t}\n\n\tprivate announcePresence() {\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent(SheetHereMorty, {\n\t\t\t\tdetail: { sheet: this },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\tprivate addFocusTrap() {\n\t\tdocument.addEventListener('focusin', this.handleFocusIn)\n\t}\n\n\tprivate removeFocusTrap() {\n\t\tdocument.removeEventListener('focusin', this.handleFocusIn)\n\t}\n\n\tprivate handleFocusIn = (e: Event) => {\n\t\tif (!this.sheet?.contains(e.target as Node)) {\n\t\t\tthis.focus()\n\t\t}\n\t}\n\n\tsetIsSheetShown(isShown: boolean) {\n\t\tthis.sheet?.setAttribute('aria-hidden', String(!isShown))\n\t\tthis.sheet?.setAttribute('aria-modal', String(isShown))\n\t}\n\n\tcloseSheet() {\n\t\tthis.open = false\n\t\tthis.dispatchEvent(new CustomEvent('close'))\n\t}\n\n\tprivate getFocusElement(): HTMLElement | null {\n\t\tconst selector = `[${this.focusAttribute}]`\n\t\treturn (this.assignedElements.find(el => el.matches(selector) || el.querySelector(selector)) as HTMLElement) ?? null\n\t}\n\n\toverride focus() {\n\t\tthis.getFocusElement()?.focus()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"sheet\" role=\"dialog\" aria-labelledby=\"sheet-title\" aria-hidden=${!this.open} aria-modal=${this.open}>\n\t\t\t\t<div\n\t\t\t\t\tclass=\"overlay\"\n\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\tif (!this.lock) sheet.dismiss(this.uid)\n\t\t\t\t\t}}\n\t\t\t\t></div>\n\t\t\t\t<schmancy-grid\n\t\t\t\t\trows=${this.header === 'hidden' ? '1fr' : 'auto 1fr'}\n\t\t\t\t\tclass=\"content w-full\"\n\t\t\t\t\tdata-position=${this.position}\n\t\t\t\t>\n\t\t\t\t\t${when(\n\t\t\t\t\t\tthis.header !== 'hidden',\n\t\t\t\t\t\t() =>\n\t\t\t\t\t\t\thtml`<schmancy-sheet-header\n\t\t\t\t\t\t\t\tclass=\"sticky top-0 z-50 w-full\"\n\t\t\t\t\t\t\t\t@dismiss=${(e: CustomEvent) => {\n\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\tsheet.dismiss(this.uid)\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tid=\"sheet-title\"\n\t\t\t\t\t\t\t\ttitle=${this.title}\n\t\t\t\t\t\t\t></schmancy-sheet-header>`,\n\t\t\t\t\t)}\n\n\t\t\t\t\t<schmancy-surface rounded=\"left\" fill=\"all\" id=\"body\" class=\"overflow-auto\" type=\"surface\">\n\t\t\t\t\t\t<schmancy-scroll> <slot></slot></schmancy-scroll>\n\t\t\t\t\t</schmancy-surface>\n\t\t\t\t</schmancy-grid>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-sheet': SchmancySheet\n\t}\n}\n","// @watch decorator\n//\n// Runs when an observed property changes, e.g. @property or @state, but before the component updates.\n//\n// To wait for an update to complete after a change occurs, use `await this.updateComplete` in the handler. To start\n// watching after the initial update/render, use `{ waitUntilFirstUpdate: true }` or `this.hasUpdated` in the handler.\n//\n// Usage:\n//\n// @watch('propName')\n// handlePropChange(oldValue, newValue) {\n// ...\n// }\n//\ninterface WatchOptions {\n\twaitUntilFirstUpdate?: boolean\n}\n\nexport function on(propName: string, options?: WatchOptions) {\n\treturn (protoOrDescriptor: any, name: string): any => {\n\t\tconst { willUpdate } = protoOrDescriptor\n\n\t\toptions = Object.assign({ waitUntilFirstUpdate: false }, options) as WatchOptions\n\n\t\tprotoOrDescriptor.willUpdate = function (changedProps: Map<string, any>) {\n\t\t\twillUpdate.call(this, changedProps)\n\n\t\t\tif (changedProps.has(propName)) {\n\t\t\t\tconst oldValue = changedProps.get(propName)\n\t\t\t\tconst newValue = this[propName]\n\n\t\t\t\tif (oldValue !== newValue) {\n\t\t\t\t\tif (!options?.waitUntilFirstUpdate || this.hasUpdated) {\n\t\t\t\t\t\tthis[name].call(this, oldValue, newValue)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"],"names":["SchmancySheetHeader","TailwindElement","css","html","this","dispatchEvent","CustomEvent","bubbles","composed","customElement","SchmancySheetPosition","SheetWhereAreYouRicky","SheetHereMorty","sheet","bottomSheet","Subject","$dismiss","activeSheets","Set","popStateListenerActive","setupSheetOpeningLogic","setupSheetDismissLogic","setupPopStateListener","pipe","switchMap","forkJoin","fromEvent","window","takeUntil","timer","map","e","detail","defaultIfEmpty","of","target","tap","uid","component","tagName","document","createElement","body","appendChild","setAttribute","lock","position","innerWidth","title","persist","header","handleHistory","String","style","overflow","delay","filter","shadowRoot","querySelector","assignedElements","find","add","historyState","schmancySheet","timestamp","Date","now","history","pushState","location","href","take","subscribe","getAttribute","delete","remove","mergeMap","closeSheet","event","size","lastSheet","Array","from","pop","dismiss","state","next","has","forEach","SchmancySheet","$LitElement","super","arguments","open","Side","focusAttribute","lastFocusedElement","handleFocusIn","contains","focus","_oldValue","newValue","activeElement","addFocusTrap","removeFocusTrap","connectedCallback","setupEventListeners","disconnectedCallback","disconnecting","popState$","preventDefault","keyUp$","key","sheetContainsFocus","rickyComm$","announcePresence","merge","addEventListener","removeEventListener","isShown","getFocusElement","selector","el","matches","render","stopPropagation","when","propName","options","__decorateClass","property","type","reflect","prototype","Boolean","query","queryAssignedElements","flatten","protoOrDescriptor","name","willUpdate","Object","assign","waitUntilFirstUpdate","changedProps","call","oldValue","get","hasUpdated"],"mappings":"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"}
1
+ {"version":3,"file":"sheet-xbPPu7eJ.cjs","sources":["../src/sheet/header.ts","../src/sheet/sheet.service.ts","../src/sheet/sheet.ts","../src/sheet/hook.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-sheet-header')\nexport default class SchmancySheetHeader extends TailwindElement(css``) {\n\trender() {\n\t\treturn html`\n\t\t\t<sch-flex class=\"absolute top-0 left-0 md:left-[unset] md:right-0\">\n\t\t\t\t<div class=\"block md:hidden flex-1 justify-start items-start\">\n\t\t\t\t\t<slot name=\"back\">\n\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\t\tnew CustomEvent('dismiss', {\n\t\t\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span class=\"text-[24px]\">&#8592; </span>\n\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t</slot>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"hidden md:block flex-1 justify-end items-end\">\n\t\t\t\t\t<slot name=\"actions\">\n\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\t\tnew CustomEvent('dismiss', {\n\t\t\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tclose\n\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t</slot>\n\t\t\t\t</div>\n\t\t\t</sch-flex>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-sheet-header': SchmancySheetHeader\n\t}\n}\n","import {\n\tdefaultIfEmpty,\n\tdelay,\n\tfilter,\n\tforkJoin,\n\tfromEvent,\n\tmap,\n\tmergeMap,\n\tof,\n\tSubject,\n\tswitchMap,\n\ttake,\n\ttakeUntil,\n\ttap,\n\ttimer,\n} from 'rxjs'\nimport SchmancySheet from './sheet'\n\nexport enum SchmancySheetPosition {\n\tSide = 'side',\n\tBottom = 'bottom',\n\t/**\n\t * @deprecated use bottom instead\n\t */\n\tBottomCenter = 'bottom-center',\n\t/**\n\t * @deprecated use side instead\n\t */\n\tTopRight = 'top-right',\n\t/**\n\t * @deprecated use side instead\n\t */\n\tBottomRight = 'bottom-right',\n}\n\ntype BottomSheeetTarget = {\n\tcomponent: HTMLElement\n\tuid?: string\n\tposition?: SchmancySheetPosition\n\tpersist?: boolean\n\tclose?: () => void\n\tlock?: boolean // Controls both ESC and overlay click dismissal\n\thandleHistory?: boolean // Controls browser back button behavior\n\ttitle?: string\n\theader?: 'hidden' | 'visible'\n}\n\n// Events for communication between bottom-sheet component and bottom-sheet.service\nexport type SheetWhereAreYouRickyEvent = CustomEvent<{\n\tuid: string\n}>\nexport const SheetWhereAreYouRicky = 'are-you-there-sheet'\n\nexport type SheetHereMortyEvent = CustomEvent<{\n\tsheet: SchmancySheet\n}>\nexport const SheetHereMorty = 'yes-here'\n\n// Function to determine the position based on screen size\nconst getPosition = (): SchmancySheetPosition => {\n\treturn window.innerWidth >= 768 ? SchmancySheetPosition.Side : SchmancySheetPosition.Bottom // Adjust 768 as needed for your breakpoint\n}\n\nclass BottomSheetService {\n\tbottomSheet = new Subject<BottomSheeetTarget>()\n\t$dismiss = new Subject<string>()\n\t// Track currently open sheets by uid\n\tprivate activeSheets = new Set<string>()\n\t// To track if we've set up the popstate listener\n\tprivate popStateListenerActive = false\n\n\tconstructor() {\n\t\tthis.setupSheetOpeningLogic()\n\t\tthis.setupSheetDismissLogic()\n\t\tthis.setupPopStateListener()\n\t}\n\n\t/**\n\t * Sets up the main sheet opening logic\n\t */\n\tprivate setupSheetOpeningLogic() {\n\t\tthis.bottomSheet\n\t\t\t.pipe(\n\t\t\t\tswitchMap(target =>\n\t\t\t\t\tforkJoin([\n\t\t\t\t\t\tfromEvent<SheetHereMortyEvent>(window, SheetHereMorty).pipe(\n\t\t\t\t\t\t\ttakeUntil(timer(100)),\n\t\t\t\t\t\t\tmap(e => e.detail.sheet),\n\t\t\t\t\t\t\tdefaultIfEmpty(undefined),\n\t\t\t\t\t\t),\n\t\t\t\t\t\tof(target).pipe(\n\t\t\t\t\t\t\ttap(() => {\n\t\t\t\t\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\t\t\t\t\tnew CustomEvent(SheetWhereAreYouRicky, {\n\t\t\t\t\t\t\t\t\t\tdetail: { uid: target.uid ?? target.component.tagName },\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t),\n\t\t\t\t\t]),\n\t\t\t\t),\n\n\t\t\t\tmap(([sheet, target]) => {\n\t\t\t\t\tconsole.log(sheet, target)\n\t\t\t\t\tif (!sheet) {\n\t\t\t\t\t\t// if sheet is not found, create it\n\t\t\t\t\t\tsheet = document.createElement('schmancy-sheet')\n\t\t\t\t\t\tdocument.body.appendChild(sheet)\n\t\t\t\t\t}\n\t\t\t\t\tsheet.setAttribute('uid', target.uid ?? target.component.tagName)\n\n\t\t\t\t\ttarget.lock && sheet.setAttribute('lock', 'true')\n\n\t\t\t\t\t// Use the dynamic position function here\n\t\t\t\t\tconst position = target.position || getPosition()\n\t\t\t\t\tsheet.setAttribute('position', position)\n\n\t\t\t\t\ttarget.title && sheet.setAttribute('title', target.title)\n\t\t\t\t\ttarget.persist && sheet.setAttribute('persist', target.persist ?? false)\n\t\t\t\t\ttarget.header && sheet.setAttribute('header', target.header)\n\n\t\t\t\t\t// Handle history logic if the property exists\n\t\t\t\t\tif (target.handleHistory !== undefined) {\n\t\t\t\t\t\tsheet.setAttribute('handleHistory', String(target.handleHistory))\n\t\t\t\t\t}\n\n\t\t\t\t\tdocument.body.style.overflow = 'hidden' // lock the scroll of the host\n\t\t\t\t\treturn { target, sheet }\n\t\t\t\t}),\n\t\t\t\tdelay(20),\n\t\t\t\tfilter(({ target, sheet }) => {\n\t\t\t\t\t// if the sheet has already the component, just show it\n\t\t\t\t\tif (\n\t\t\t\t\t\ttarget.persist &&\n\t\t\t\t\t\tsheet?.shadowRoot\n\t\t\t\t\t\t\t?.querySelector('slot')\n\t\t\t\t\t\t\t?.assignedElements()\n\t\t\t\t\t\t\t.find(e => e.tagName === target.component.tagName)\n\t\t\t\t\t) {\n\t\t\t\t\t\tsheet?.setAttribute('open', 'true')\n\t\t\t\t\t\treturn false\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn true // if the sheet does not have the component, continue to the next step\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\ttap(({ target, sheet }) => {\n\t\t\t\t\tsheet?.appendChild(target.component)\n\t\t\t\t}),\n\t\t\t\tdelay(1),\n\t\t\t\ttap(({ target, sheet }) => {\n\t\t\t\t\tsheet?.setAttribute('open', 'true')\n\n\t\t\t\t\t// Add to active sheets tracking\n\t\t\t\t\tconst uid = target.uid ?? target.component.tagName\n\t\t\t\t\tthis.activeSheets.add(uid)\n\n\t\t\t\t\t// Handle history integration - default to true if not specified\n\t\t\t\t\tconst shouldHandleHistory = target.handleHistory !== false\n\n\t\t\t\t\tif (shouldHandleHistory) {\n\t\t\t\t\t\t// Use history state to track this specific sheet\n\t\t\t\t\t\tconst historyState = {\n\t\t\t\t\t\t\tschmancySheet: true,\n\t\t\t\t\t\t\tuid: uid,\n\t\t\t\t\t\t\ttimestamp: Date.now(),\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Push a new history state\n\t\t\t\t\t\thistory.pushState(historyState, '', window.location.href)\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\ttap(({ sheet }) => {\n\t\t\t\t\tfromEvent<CustomEvent>(sheet, 'close')\n\t\t\t\t\t\t.pipe(take(1))\n\t\t\t\t\t\t.pipe(delay(300))\n\t\t\t\t\t\t.subscribe(e => {\n\t\t\t\t\t\t\tconst target = e.target as SchmancySheet\n\t\t\t\t\t\t\tconsole.log(target)\n\n\t\t\t\t\t\t\t// Remove from active sheets tracking\n\t\t\t\t\t\t\tconst uid = target.getAttribute('uid')\n\t\t\t\t\t\t\tif (uid) {\n\t\t\t\t\t\t\t\tthis.activeSheets.delete(uid)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!target?.persist) target?.remove()\n\t\t\t\t\t\t\tdocument.body.style.overflow = 'auto' // unlock the scroll of the host\n\t\t\t\t\t\t})\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\t/**\n\t * Sets up the sheet closing/dismissal logic\n\t */\n\tprivate setupSheetDismissLogic() {\n\t\tthis.$dismiss\n\t\t\t.pipe(\n\t\t\t\tmergeMap(uid =>\n\t\t\t\t\tforkJoin([\n\t\t\t\t\t\tfromEvent<SheetHereMortyEvent>(window, SheetHereMorty).pipe(\n\t\t\t\t\t\t\ttakeUntil(timer(100)),\n\t\t\t\t\t\t\tmap(e => e.detail.sheet),\n\t\t\t\t\t\t\tdefaultIfEmpty(undefined),\n\t\t\t\t\t\t),\n\t\t\t\t\t\tof(uid).pipe(\n\t\t\t\t\t\t\ttap(() => {\n\t\t\t\t\t\t\t\twindow.dispatchEvent(new CustomEvent(SheetWhereAreYouRicky, { detail: { uid } }))\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t),\n\t\t\t\t\t]),\n\t\t\t\t),\n\t\t\t\ttap(([sheet, uid]) => {\n\t\t\t\t\tif (sheet) {\n\t\t\t\t\t\tsheet.closeSheet()\n\t\t\t\t\t\tthis.activeSheets.delete(uid)\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\t/**\n\t * Sets up the popstate listener to handle browser back button\n\t */\n\tprivate setupPopStateListener() {\n\t\tif (this.popStateListenerActive) return\n\n\t\tfromEvent<PopStateEvent>(window, 'popstate').subscribe(event => {\n\t\t\t// If we have active sheets, close the most recently opened one\n\t\t\tif (this.activeSheets.size > 0) {\n\t\t\t\tconst lastSheet = Array.from(this.activeSheets).pop()\n\t\t\t\tif (lastSheet) {\n\t\t\t\t\tthis.dismiss(lastSheet)\n\n\t\t\t\t\t// Prevent default navigation behavior by pushing a new state\n\t\t\t\t\t// This effectively cancels out the back navigation\n\t\t\t\t\tif (event.state && event.state.schmancySheet) {\n\t\t\t\t\t\thistory.pushState({}, '', window.location.href)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\tthis.popStateListenerActive = true\n\t}\n\n\t/**\n\t * Dismiss a sheet by uid\n\t */\n\tdismiss(uid: string) {\n\t\tthis.$dismiss.next(uid)\n\t}\n\n\t/**\n\t * Open a sheet with the given target configuration\n\t */\n\topen(target: BottomSheeetTarget) {\n\t\tthis.bottomSheet.next(target)\n\t}\n\n\t/**\n\t * Check if a sheet is currently open by uid\n\t */\n\tisOpen(uid: string): boolean {\n\t\treturn this.activeSheets.has(uid)\n\t}\n\n\t/**\n\t * Close all open sheets\n\t */\n\tcloseAll() {\n\t\tArray.from(this.activeSheets).forEach(uid => {\n\t\t\tthis.dismiss(uid)\n\t\t})\n\t}\n}\nexport const sheet = new BottomSheetService()\n","import { $LitElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property, query, queryAssignedElements } from 'lit/decorators.js'\nimport { when } from 'lit/directives/when.js'\nimport { fromEvent, merge, of, take, takeUntil, tap } from 'rxjs'\nimport { on } from './hook'\nimport style from './sheet.scss?inline'\nimport {\n\tSchmancySheetPosition,\n\tSheetHereMorty,\n\tSheetWhereAreYouRicky,\n\tSheetWhereAreYouRickyEvent,\n\tsheet,\n} from './sheet.service'\n\n@customElement('schmancy-sheet')\nexport default class SchmancySheet extends $LitElement(style) {\n\t@property({ type: String, reflect: true }) uid!: string\n\t@property({ type: Boolean, reflect: true }) open = false\n\t@property({ type: String, reflect: true }) header: 'hidden' | 'visible' = 'visible'\n\t@property({ type: String, reflect: true }) position: SchmancySheetPosition = SchmancySheetPosition.Side\n\t@property({ type: Boolean, reflect: true }) persist = false\n\t@property({ type: Boolean, reflect: true }) lock = false\n\t@property({ type: Boolean, reflect: true }) handleHistory = true\n\t@property({ type: String, reflect: true }) title = ''\n\n\t@query('.sheet') private sheet!: HTMLElement\n\t@queryAssignedElements({ flatten: true }) private assignedElements!: HTMLElement[]\n\n\t@property() focusAttribute = 'autofocus'\n\tprivate lastFocusedElement: HTMLElement | null = null\n\n\t@on('open')\n\tonOpenChange(_oldValue: boolean, newValue: boolean) {\n\t\tif (newValue) {\n\t\t\tthis.lastFocusedElement = document.activeElement as HTMLElement\n\t\t\tthis.addFocusTrap()\n\t\t\tthis.focus()\n\t\t} else {\n\t\t\tthis.removeFocusTrap()\n\t\t\tthis.lastFocusedElement?.focus()\n\t\t\tthis.lastFocusedElement = null\n\t\t}\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tthis.setupEventListeners()\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.disconnecting.next(true)\n\t}\n\n\tprivate setupEventListeners() {\n\t\t// Handle browser back button - only if handleHistory is true\n\t\tconst popState$ = this.handleHistory\n\t\t\t? fromEvent<PopStateEvent>(window, 'popstate').pipe(\n\t\t\t\t\ttap(e => {\n\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\tthis.closeSheet()\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t: of(null).pipe(take(0)) // Empty observable if handleHistory is false\n\n\t\t// Handle ESC key - respect allowOverlayDismiss\n\t\tconst keyUp$ = fromEvent<KeyboardEvent>(window, 'keyup').pipe(\n\t\t\ttap(event => {\n\t\t\t\t// Only handle ESC key dismissal if allowOverlayDismiss is true\n\t\t\t\tif (event.key === 'Escape' && !this.sheetContainsFocus() && !this.lock) {\n\t\t\t\t\tsheet.dismiss(this.uid)\n\t\t\t\t}\n\t\t\t}),\n\t\t)\n\n\t\t// Handle inter-component communication\n\t\tconst rickyComm$ = fromEvent<SheetWhereAreYouRickyEvent>(window, SheetWhereAreYouRicky).pipe(\n\t\t\ttap(e => {\n\t\t\t\tif (e.detail.uid === this.uid) this.announcePresence()\n\t\t\t}),\n\t\t)\n\n\t\tmerge(popState$, keyUp$, rickyComm$).pipe(takeUntil(this.disconnecting)).subscribe()\n\t}\n\n\tprivate sheetContainsFocus(): boolean {\n\t\treturn this.sheet?.contains(document.activeElement) ?? false\n\t}\n\n\tprivate announcePresence() {\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent(SheetHereMorty, {\n\t\t\t\tdetail: { sheet: this },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\tprivate addFocusTrap() {\n\t\tdocument.addEventListener('focusin', this.handleFocusIn)\n\t}\n\n\tprivate removeFocusTrap() {\n\t\tdocument.removeEventListener('focusin', this.handleFocusIn)\n\t}\n\n\tprivate handleFocusIn = (e: Event) => {\n\t\tif (!this.sheet?.contains(e.target as Node)) {\n\t\t\tthis.focus()\n\t\t}\n\t}\n\n\tsetIsSheetShown(isShown: boolean) {\n\t\tthis.sheet?.setAttribute('aria-hidden', String(!isShown))\n\t\tthis.sheet?.setAttribute('aria-modal', String(isShown))\n\t}\n\n\tcloseSheet() {\n\t\tthis.open = false\n\t\tthis.dispatchEvent(new CustomEvent('close'))\n\t}\n\n\tprivate getFocusElement(): HTMLElement | null {\n\t\tconst selector = `[${this.focusAttribute}]`\n\t\treturn (this.assignedElements.find(el => el.matches(selector) || el.querySelector(selector)) as HTMLElement) ?? null\n\t}\n\n\toverride focus() {\n\t\tthis.getFocusElement()?.focus()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"sheet\" role=\"dialog\" aria-labelledby=\"sheet-title\" aria-hidden=${!this.open} aria-modal=${this.open}>\n\t\t\t\t<div\n\t\t\t\t\tclass=\"overlay\"\n\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\tif (!this.lock) sheet.dismiss(this.uid)\n\t\t\t\t\t}}\n\t\t\t\t></div>\n\t\t\t\t<schmancy-grid\n\t\t\t\t\trows=${this.header === 'hidden' ? '1fr' : 'auto 1fr'}\n\t\t\t\t\tclass=\"content w-full\"\n\t\t\t\t\tdata-position=${this.position}\n\t\t\t\t>\n\t\t\t\t\t${when(\n\t\t\t\t\t\tthis.header !== 'hidden',\n\t\t\t\t\t\t() =>\n\t\t\t\t\t\t\thtml`<schmancy-sheet-header\n\t\t\t\t\t\t\t\tclass=\"sticky top-0 z-50 w-full\"\n\t\t\t\t\t\t\t\t@dismiss=${(e: CustomEvent) => {\n\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\tsheet.dismiss(this.uid)\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tid=\"sheet-title\"\n\t\t\t\t\t\t\t\ttitle=${this.title}\n\t\t\t\t\t\t\t></schmancy-sheet-header>`,\n\t\t\t\t\t)}\n\n\t\t\t\t\t<schmancy-surface rounded=\"left\" fill=\"all\" id=\"body\" class=\"overflow-auto\" type=\"surface\">\n\t\t\t\t\t\t<schmancy-scroll> <slot></slot></schmancy-scroll>\n\t\t\t\t\t</schmancy-surface>\n\t\t\t\t</schmancy-grid>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-sheet': SchmancySheet\n\t}\n}\n","// @watch decorator\n//\n// Runs when an observed property changes, e.g. @property or @state, but before the component updates.\n//\n// To wait for an update to complete after a change occurs, use `await this.updateComplete` in the handler. To start\n// watching after the initial update/render, use `{ waitUntilFirstUpdate: true }` or `this.hasUpdated` in the handler.\n//\n// Usage:\n//\n// @watch('propName')\n// handlePropChange(oldValue, newValue) {\n// ...\n// }\n//\ninterface WatchOptions {\n\twaitUntilFirstUpdate?: boolean\n}\n\nexport function on(propName: string, options?: WatchOptions) {\n\treturn (protoOrDescriptor: any, name: string): any => {\n\t\tconst { willUpdate } = protoOrDescriptor\n\n\t\toptions = Object.assign({ waitUntilFirstUpdate: false }, options) as WatchOptions\n\n\t\tprotoOrDescriptor.willUpdate = function (changedProps: Map<string, any>) {\n\t\t\twillUpdate.call(this, changedProps)\n\n\t\t\tif (changedProps.has(propName)) {\n\t\t\t\tconst oldValue = changedProps.get(propName)\n\t\t\t\tconst newValue = this[propName]\n\n\t\t\t\tif (oldValue !== newValue) {\n\t\t\t\t\tif (!options?.waitUntilFirstUpdate || this.hasUpdated) {\n\t\t\t\t\t\tthis[name].call(this, oldValue, newValue)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"],"names":["SchmancySheetHeader","TailwindElement","css","html","this","dispatchEvent","CustomEvent","bubbles","composed","customElement","SchmancySheetPosition","SheetWhereAreYouRicky","SheetHereMorty","sheet","bottomSheet","Subject","$dismiss","activeSheets","Set","popStateListenerActive","setupSheetOpeningLogic","setupSheetDismissLogic","setupPopStateListener","pipe","switchMap","forkJoin","fromEvent","window","takeUntil","timer","map","e","detail","defaultIfEmpty","of","target","tap","uid","component","tagName","document","createElement","body","appendChild","setAttribute","lock","position","innerWidth","title","persist","header","handleHistory","String","style","overflow","delay","filter","shadowRoot","querySelector","assignedElements","find","add","historyState","schmancySheet","timestamp","Date","now","history","pushState","location","href","take","subscribe","getAttribute","delete","remove","mergeMap","closeSheet","event","size","lastSheet","Array","from","pop","dismiss","state","next","has","forEach","SchmancySheet","$LitElement","super","arguments","open","Side","focusAttribute","lastFocusedElement","handleFocusIn","contains","focus","_oldValue","newValue","activeElement","addFocusTrap","removeFocusTrap","connectedCallback","setupEventListeners","disconnectedCallback","disconnecting","popState$","preventDefault","keyUp$","key","sheetContainsFocus","rickyComm$","announcePresence","merge","addEventListener","removeEventListener","isShown","getFocusElement","selector","el","matches","render","stopPropagation","when","propName","options","__decorateClass","property","type","reflect","prototype","Boolean","query","queryAssignedElements","flatten","protoOrDescriptor","name","willUpdate","Object","assign","waitUntilFirstUpdate","changedProps","call","oldValue","get","hasUpdated"],"mappings":"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"}
package/dist/sheet.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./sheet-8KVbmBT0.cjs");exports.SchmancySheetPosition=e.SchmancySheetPosition,exports.SheetHereMorty=e.SheetHereMorty,exports.SheetWhereAreYouRicky=e.SheetWhereAreYouRicky,exports.sheet=e.sheet;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./sheet-xbPPu7eJ.cjs");exports.SchmancySheetPosition=e.SchmancySheetPosition,exports.SheetHereMorty=e.SheetHereMorty,exports.SheetWhereAreYouRicky=e.SheetWhereAreYouRicky,exports.sheet=e.sheet;
2
2
  //# sourceMappingURL=sheet.cjs.map
package/dist/sheet.js CHANGED
@@ -1,4 +1,4 @@
1
- import { S as t, b as a, a as h, s as o } from "./sheet-CWGztMJM.js";
1
+ import { S as t, b as a, a as h, s as o } from "./sheet-cxQG63jb.js";
2
2
  export {
3
3
  t as SchmancySheetPosition,
4
4
  a as SheetHereMorty,
@@ -1,8 +1,8 @@
1
1
  import { fromEvent as x } from "rxjs";
2
2
  import "lit/directives/class-map.js";
3
3
  import "lit/directives/style-map.js";
4
- import { $ as f } from "./litElement.mixin-DgPgTgtr.js";
5
- import "./tailwind.mixin-CBugs0NU.js";
4
+ import { $ as f } from "./litElement.mixin-DCTPuIQ4.js";
5
+ import "./tailwind.mixin-BPIDvfDe.js";
6
6
  import { css as m, html as c } from "lit";
7
7
  import { property as d, customElement as v, state as S, query as y } from "lit/decorators.js";
8
8
  import { cache as w } from "lit/directives/cache.js";
@@ -162,4 +162,4 @@ export {
162
162
  n as S,
163
163
  h as a
164
164
  };
165
- //# sourceMappingURL=slider-BpGbCj5P.js.map
165
+ //# sourceMappingURL=slider-D5GAJBtp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slider-BpGbCj5P.js","sources":["../src/slider/slide.ts","../src/slider/slider.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { cache } from 'lit/directives/cache.js'\n\n/**\n * Supported slide \"types.\"\n * - 'image': Renders an <img>\n * - 'video': Renders a <video>\n * - 'content': Renders a <slot> (the default)\n */\ntype SlideType = 'image' | 'video' | 'content'\n\n/**\n * Allowed values for the 'fit' property,\n * which maps to CSS object-fit.\n */\ntype ObjectFit = 'cover' | 'contain' | 'fill' | 'scale-down' | 'none'\n\n@customElement('schmancy-slide')\nexport class SchmancySlide extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tscroll-snap-align: center; /* If your slider uses scroll-snap */\n\t}\n\n\t.slide {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tobject-fit: var(--object-fit, cover);\n\t}\n`) {\n\t/**\n\t * Determines how this slide should be rendered.\n\t * Defaults to 'content' if not provided.\n\t */\n\t@property({ type: String }) type: SlideType = 'content'\n\n\t/**\n\t * Source for images or videos (if `type` is 'image' or 'video').\n\t */\n\t@property({ type: String }) src: string = ''\n\n\t/**\n\t * Alternate text for images.\n\t */\n\t@property({ type: String }) alt: string = ''\n\n\t/**\n\t * Whether to show default video controls (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) controls = true\n\n\t/**\n\t * Whether the video should autoplay (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) autoplay = false\n\n\t/**\n\t * Whether the video should loop (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) loop = false\n\n\t/**\n\t * Whether the video is muted (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) muted = false\n\n\t/**\n\t * CSS `object-fit` property, applied to images/videos.\n\t */\n\t@property({ type: String }) fit: ObjectFit = 'cover'\n\n\trender() {\n\t\treturn html` <div style=\"--object-fit: ${this.fit}\">${cache(this.renderSlide())}</div> `\n\t}\n\n\tprivate renderSlide() {\n\t\tswitch (this.type) {\n\t\t\tcase 'image':\n\t\t\t\treturn html` <img class=\"slide\" src=\"${this.src}\" alt=\"${this.alt}\" loading=\"lazy\" /> `\n\t\t\tcase 'video':\n\t\t\t\treturn html`\n\t\t\t\t\t<video\n\t\t\t\t\t\tclass=\"slide\"\n\t\t\t\t\t\tsrc=\"${this.src}\"\n\t\t\t\t\t\t?controls=\"${this.controls}\"\n\t\t\t\t\t\t?autoplay=\"${this.autoplay}\"\n\t\t\t\t\t\t?loop=\"${this.loop}\"\n\t\t\t\t\t\t?muted=\"${this.muted}\"\n\t\t\t\t\t>\n\t\t\t\t\t\tYour browser does not support HTML video.\n\t\t\t\t\t</video>\n\t\t\t\t`\n\t\t\tcase 'content':\n\t\t\tdefault:\n\t\t\t\treturn html`<slot></slot>`\n\t\t}\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-slide': SchmancySlide\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { fromEvent } from 'rxjs'\nimport { throttleTime } from 'rxjs/operators'\n\n@customElement('schmancy-slider')\nexport class SchmancySlider extends $LitElement(css`\n\t.slider {\n\t\t/* Lay out slides horizontally, one after another */\n\t\tdisplay: flex;\n\t\toverflow-x: auto;\n\n\t\t/* Optional: scroll snapping */\n\t\tscroll-snap-type: x mandatory;\n\n\t\t/* Hide scrollbars */\n\t\t-ms-overflow-style: none; /* IE and Edge */\n\t\tscrollbar-width: none; /* Firefox */\n\t}\n\t.slider::-webkit-scrollbar {\n\t\tdisplay: none; /* Chrome, Safari, Opera */\n\t}\n\n\t/* \n Ensure each slide takes up the full slider width.\n \"schmancy-slide\" is the child custom element.\n */\n\t::slotted(schmancy-slide) {\n\t\tflex: 0 0 100%;\n\t\tbox-sizing: border-box;\n\t}\n`) {\n\t/**\n\t * Currently centered slide index\n\t */\n\t@state() private selectedIndex: number = 0\n\n\t/**\n\t * If true, renders next/prev buttons\n\t */\n\t@property({ type: Boolean }) showArrows: boolean = true\n\n\t@query('#slider') private slider!: HTMLDivElement\n\t@query('slot') private defaultSlot!: HTMLSlotElement\n\n\tprotected firstUpdated() {\n\t\t// Start at leftmost position\n\t\tthis.slider.scrollLeft = 0\n\n\t\t// Throttle scroll events to update selected index\n\t\tfromEvent(this.slider, 'scroll')\n\t\t\t.pipe(throttleTime(100, undefined, { trailing: true }))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.updateSelectedIndexOnScroll()\n\t\t\t})\n\t}\n\n\tprivate updateSelectedIndexOnScroll() {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\t\tif (!slides.length) return\n\n\t\tconst oldIndex = this.selectedIndex\n\n\t\t// Center of the slider’s visible area\n\t\tconst sliderCenter = this.slider.scrollLeft + this.slider.clientWidth / 2\n\n\t\tlet closestIndex = 0\n\t\tlet closestDistance = Infinity\n\n\t\tslides.forEach((slide, index) => {\n\t\t\tconst itemStart = (slide as HTMLElement).offsetLeft\n\t\t\tconst itemCenter = itemStart + slide.clientWidth / 2\n\t\t\tconst distance = Math.abs(sliderCenter - itemCenter)\n\n\t\t\tif (distance < closestDistance) {\n\t\t\t\tclosestDistance = distance\n\t\t\t\tclosestIndex = index\n\t\t\t}\n\t\t})\n\n\t\tthis.selectedIndex = closestIndex\n\n\t\t// If the index changed, dispatch event\n\t\tif (this.selectedIndex !== oldIndex) {\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent('slide-changed', {\n\t\t\t\t\tdetail: { index: this.selectedIndex },\n\t\t\t\t}),\n\t\t\t)\n\t\t}\n\t}\n\n\tprivate goToSlide(newIndex: number) {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\t\tif (!slides[newIndex]) return\n\n\t\tthis.slider.scrollTo({\n\t\t\tleft: (slides[newIndex] as HTMLElement).offsetLeft,\n\t\t\tbehavior: 'smooth',\n\t\t})\n\t}\n\n\tprivate onPrevClick() {\n\t\tthis.goToSlide(this.selectedIndex - 1)\n\t}\n\n\tprivate onNextClick() {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\t\tif (this.selectedIndex < slides.length - 1) {\n\t\t\tthis.goToSlide(this.selectedIndex + 1)\n\t\t}\n\t}\n\n\trender() {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\n\t\treturn html`\n\t\t\t<div class=\"relative inset-0\">\n\t\t\t\t<!-- The scrollable track -->\n\t\t\t\t<div class=\"slider\" id=\"slider\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Next/Prev Buttons (Optional) -->\n\t\t\t\t${this.showArrows\n\t\t\t\t\t? html`\n\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\tclass=\"absolute left-2 top-1/2 -translate-y-1/2\"\n\t\t\t\t\t\t\t\t@click=${this.onPrevClick}\n\t\t\t\t\t\t\t\t?disabled=${this.selectedIndex === 0}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tchevron_left\n\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\tclass=\"absolute right-2 top-1/2 -translate-y-1/2\"\n\t\t\t\t\t\t\t\t@click=${this.onNextClick}\n\t\t\t\t\t\t\t\t?disabled=${this.selectedIndex === slides.length - 1}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tchevron_right\n\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t`\n\t\t\t\t\t: null}\n\n\t\t\t\t<!-- Dots / indicators -->\n\t\t\t\t<div class=\"absolute bottom-4 left-1/2 -translate-x-1/2 flex space-x-2\">\n\t\t\t\t\t${slides.map((_, index) => {\n\t\t\t\t\t\tconst isSelected = index === this.selectedIndex\n\t\t\t\t\t\treturn html`\n\t\t\t\t\t\t\t<schmancy-button .variant=${isSelected ? 'filled tonal' : 'outlined'} class=\"rounded-full \">\n\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t`\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-slider': SchmancySlider\n\t}\n}\n"],"names":["SchmancySlide","$LitElement","css","constructor","super","arguments","this","type","src","alt","controls","autoplay","loop","muted","fit","html","cache","renderSlide","__decorateClass","property","String","prototype","Boolean","customElement","SchmancySlider","selectedIndex","showArrows","slider","scrollLeft","fromEvent","pipe","throttleTime","trailing","subscribe","updateSelectedIndexOnScroll","slides","defaultSlot","assignedElements","flatten","length","oldIndex","sliderCenter","clientWidth","closestIndex","closestDistance","Infinity","forEach","slide","index","itemCenter","offsetLeft","distance","Math","abs","dispatchEvent","CustomEvent","detail","newIndex","scrollTo","left","behavior","goToSlide","onNextClick","render","onPrevClick","map","_","isSelected","state","query"],"mappings":"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"}
1
+ {"version":3,"file":"slider-D5GAJBtp.js","sources":["../src/slider/slide.ts","../src/slider/slider.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { cache } from 'lit/directives/cache.js'\n\n/**\n * Supported slide \"types.\"\n * - 'image': Renders an <img>\n * - 'video': Renders a <video>\n * - 'content': Renders a <slot> (the default)\n */\ntype SlideType = 'image' | 'video' | 'content'\n\n/**\n * Allowed values for the 'fit' property,\n * which maps to CSS object-fit.\n */\ntype ObjectFit = 'cover' | 'contain' | 'fill' | 'scale-down' | 'none'\n\n@customElement('schmancy-slide')\nexport class SchmancySlide extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tscroll-snap-align: center; /* If your slider uses scroll-snap */\n\t}\n\n\t.slide {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tobject-fit: var(--object-fit, cover);\n\t}\n`) {\n\t/**\n\t * Determines how this slide should be rendered.\n\t * Defaults to 'content' if not provided.\n\t */\n\t@property({ type: String }) type: SlideType = 'content'\n\n\t/**\n\t * Source for images or videos (if `type` is 'image' or 'video').\n\t */\n\t@property({ type: String }) src: string = ''\n\n\t/**\n\t * Alternate text for images.\n\t */\n\t@property({ type: String }) alt: string = ''\n\n\t/**\n\t * Whether to show default video controls (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) controls = true\n\n\t/**\n\t * Whether the video should autoplay (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) autoplay = false\n\n\t/**\n\t * Whether the video should loop (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) loop = false\n\n\t/**\n\t * Whether the video is muted (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) muted = false\n\n\t/**\n\t * CSS `object-fit` property, applied to images/videos.\n\t */\n\t@property({ type: String }) fit: ObjectFit = 'cover'\n\n\trender() {\n\t\treturn html` <div style=\"--object-fit: ${this.fit}\">${cache(this.renderSlide())}</div> `\n\t}\n\n\tprivate renderSlide() {\n\t\tswitch (this.type) {\n\t\t\tcase 'image':\n\t\t\t\treturn html` <img class=\"slide\" src=\"${this.src}\" alt=\"${this.alt}\" loading=\"lazy\" /> `\n\t\t\tcase 'video':\n\t\t\t\treturn html`\n\t\t\t\t\t<video\n\t\t\t\t\t\tclass=\"slide\"\n\t\t\t\t\t\tsrc=\"${this.src}\"\n\t\t\t\t\t\t?controls=\"${this.controls}\"\n\t\t\t\t\t\t?autoplay=\"${this.autoplay}\"\n\t\t\t\t\t\t?loop=\"${this.loop}\"\n\t\t\t\t\t\t?muted=\"${this.muted}\"\n\t\t\t\t\t>\n\t\t\t\t\t\tYour browser does not support HTML video.\n\t\t\t\t\t</video>\n\t\t\t\t`\n\t\t\tcase 'content':\n\t\t\tdefault:\n\t\t\t\treturn html`<slot></slot>`\n\t\t}\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-slide': SchmancySlide\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { fromEvent } from 'rxjs'\nimport { throttleTime } from 'rxjs/operators'\n\n@customElement('schmancy-slider')\nexport class SchmancySlider extends $LitElement(css`\n\t.slider {\n\t\t/* Lay out slides horizontally, one after another */\n\t\tdisplay: flex;\n\t\toverflow-x: auto;\n\n\t\t/* Optional: scroll snapping */\n\t\tscroll-snap-type: x mandatory;\n\n\t\t/* Hide scrollbars */\n\t\t-ms-overflow-style: none; /* IE and Edge */\n\t\tscrollbar-width: none; /* Firefox */\n\t}\n\t.slider::-webkit-scrollbar {\n\t\tdisplay: none; /* Chrome, Safari, Opera */\n\t}\n\n\t/* \n Ensure each slide takes up the full slider width.\n \"schmancy-slide\" is the child custom element.\n */\n\t::slotted(schmancy-slide) {\n\t\tflex: 0 0 100%;\n\t\tbox-sizing: border-box;\n\t}\n`) {\n\t/**\n\t * Currently centered slide index\n\t */\n\t@state() private selectedIndex: number = 0\n\n\t/**\n\t * If true, renders next/prev buttons\n\t */\n\t@property({ type: Boolean }) showArrows: boolean = true\n\n\t@query('#slider') private slider!: HTMLDivElement\n\t@query('slot') private defaultSlot!: HTMLSlotElement\n\n\tprotected firstUpdated() {\n\t\t// Start at leftmost position\n\t\tthis.slider.scrollLeft = 0\n\n\t\t// Throttle scroll events to update selected index\n\t\tfromEvent(this.slider, 'scroll')\n\t\t\t.pipe(throttleTime(100, undefined, { trailing: true }))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.updateSelectedIndexOnScroll()\n\t\t\t})\n\t}\n\n\tprivate updateSelectedIndexOnScroll() {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\t\tif (!slides.length) return\n\n\t\tconst oldIndex = this.selectedIndex\n\n\t\t// Center of the slider’s visible area\n\t\tconst sliderCenter = this.slider.scrollLeft + this.slider.clientWidth / 2\n\n\t\tlet closestIndex = 0\n\t\tlet closestDistance = Infinity\n\n\t\tslides.forEach((slide, index) => {\n\t\t\tconst itemStart = (slide as HTMLElement).offsetLeft\n\t\t\tconst itemCenter = itemStart + slide.clientWidth / 2\n\t\t\tconst distance = Math.abs(sliderCenter - itemCenter)\n\n\t\t\tif (distance < closestDistance) {\n\t\t\t\tclosestDistance = distance\n\t\t\t\tclosestIndex = index\n\t\t\t}\n\t\t})\n\n\t\tthis.selectedIndex = closestIndex\n\n\t\t// If the index changed, dispatch event\n\t\tif (this.selectedIndex !== oldIndex) {\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent('slide-changed', {\n\t\t\t\t\tdetail: { index: this.selectedIndex },\n\t\t\t\t}),\n\t\t\t)\n\t\t}\n\t}\n\n\tprivate goToSlide(newIndex: number) {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\t\tif (!slides[newIndex]) return\n\n\t\tthis.slider.scrollTo({\n\t\t\tleft: (slides[newIndex] as HTMLElement).offsetLeft,\n\t\t\tbehavior: 'smooth',\n\t\t})\n\t}\n\n\tprivate onPrevClick() {\n\t\tthis.goToSlide(this.selectedIndex - 1)\n\t}\n\n\tprivate onNextClick() {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\t\tif (this.selectedIndex < slides.length - 1) {\n\t\t\tthis.goToSlide(this.selectedIndex + 1)\n\t\t}\n\t}\n\n\trender() {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\n\t\treturn html`\n\t\t\t<div class=\"relative inset-0\">\n\t\t\t\t<!-- The scrollable track -->\n\t\t\t\t<div class=\"slider\" id=\"slider\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Next/Prev Buttons (Optional) -->\n\t\t\t\t${this.showArrows\n\t\t\t\t\t? html`\n\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\tclass=\"absolute left-2 top-1/2 -translate-y-1/2\"\n\t\t\t\t\t\t\t\t@click=${this.onPrevClick}\n\t\t\t\t\t\t\t\t?disabled=${this.selectedIndex === 0}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tchevron_left\n\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\tclass=\"absolute right-2 top-1/2 -translate-y-1/2\"\n\t\t\t\t\t\t\t\t@click=${this.onNextClick}\n\t\t\t\t\t\t\t\t?disabled=${this.selectedIndex === slides.length - 1}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tchevron_right\n\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t`\n\t\t\t\t\t: null}\n\n\t\t\t\t<!-- Dots / indicators -->\n\t\t\t\t<div class=\"absolute bottom-4 left-1/2 -translate-x-1/2 flex space-x-2\">\n\t\t\t\t\t${slides.map((_, index) => {\n\t\t\t\t\t\tconst isSelected = index === this.selectedIndex\n\t\t\t\t\t\treturn html`\n\t\t\t\t\t\t\t<schmancy-button .variant=${isSelected ? 'filled tonal' : 'outlined'} class=\"rounded-full \">\n\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t`\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-slider': SchmancySlider\n\t}\n}\n"],"names":["SchmancySlide","$LitElement","css","constructor","super","arguments","this","type","src","alt","controls","autoplay","loop","muted","fit","html","cache","renderSlide","__decorateClass","property","String","prototype","Boolean","customElement","SchmancySlider","selectedIndex","showArrows","slider","scrollLeft","fromEvent","pipe","throttleTime","trailing","subscribe","updateSelectedIndexOnScroll","slides","defaultSlot","assignedElements","flatten","length","oldIndex","sliderCenter","clientWidth","closestIndex","closestDistance","Infinity","forEach","slide","index","itemCenter","offsetLeft","distance","Math","abs","dispatchEvent","CustomEvent","detail","newIndex","scrollTo","left","behavior","goToSlide","onNextClick","render","onPrevClick","map","_","isSelected","state","query"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- "use strict";const m=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const p=require("./litElement.mixin-9Gop8K6U.cjs");require("./tailwind.mixin-by-9p2wJ.cjs");const d=require("lit"),o=require("lit/decorators.js"),S=require("lit/directives/cache.js"),f=require("rxjs/operators");var v=Object.defineProperty,b=Object.getOwnPropertyDescriptor,c=(s,e,i,l)=>{for(var r,t=l>1?void 0:l?b(e,i):e,n=s.length-1;n>=0;n--)(r=s[n])&&(t=(l?r(e,i,t):r(t))||t);return l&&t&&v(e,i,t),t};exports.SchmancySlide=class extends p.$LitElement(d.css`
1
+ "use strict";const m=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const p=require("./litElement.mixin-DcYItU_Y.cjs");require("./tailwind.mixin-DWvvleWP.cjs");const d=require("lit"),o=require("lit/decorators.js"),S=require("lit/directives/cache.js"),f=require("rxjs/operators");var v=Object.defineProperty,b=Object.getOwnPropertyDescriptor,c=(s,e,i,l)=>{for(var r,t=l>1?void 0:l?b(e,i):e,n=s.length-1;n>=0;n--)(r=s[n])&&(t=(l?r(e,i,t):r(t))||t);return l&&t&&v(e,i,t),t};exports.SchmancySlide=class extends p.$LitElement(d.css`
2
2
  :host {
3
3
  display: block;
4
4
  scroll-snap-align: center; /* If your slider uses scroll-snap */
@@ -80,4 +80,4 @@
80
80
  </div>
81
81
  </div>
82
82
  `}},a([o.state()],exports.SchmancySlider.prototype,"selectedIndex",2),a([o.property({type:Boolean})],exports.SchmancySlider.prototype,"showArrows",2),a([o.query("#slider")],exports.SchmancySlider.prototype,"slider",2),a([o.query("slot")],exports.SchmancySlider.prototype,"defaultSlot",2),exports.SchmancySlider=a([o.customElement("schmancy-slider")],exports.SchmancySlider);
83
- //# sourceMappingURL=slider-BTJK0M8p.cjs.map
83
+ //# sourceMappingURL=slider-DI42q9wf.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"slider-BTJK0M8p.cjs","sources":["../src/slider/slide.ts","../src/slider/slider.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { cache } from 'lit/directives/cache.js'\n\n/**\n * Supported slide \"types.\"\n * - 'image': Renders an <img>\n * - 'video': Renders a <video>\n * - 'content': Renders a <slot> (the default)\n */\ntype SlideType = 'image' | 'video' | 'content'\n\n/**\n * Allowed values for the 'fit' property,\n * which maps to CSS object-fit.\n */\ntype ObjectFit = 'cover' | 'contain' | 'fill' | 'scale-down' | 'none'\n\n@customElement('schmancy-slide')\nexport class SchmancySlide extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tscroll-snap-align: center; /* If your slider uses scroll-snap */\n\t}\n\n\t.slide {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tobject-fit: var(--object-fit, cover);\n\t}\n`) {\n\t/**\n\t * Determines how this slide should be rendered.\n\t * Defaults to 'content' if not provided.\n\t */\n\t@property({ type: String }) type: SlideType = 'content'\n\n\t/**\n\t * Source for images or videos (if `type` is 'image' or 'video').\n\t */\n\t@property({ type: String }) src: string = ''\n\n\t/**\n\t * Alternate text for images.\n\t */\n\t@property({ type: String }) alt: string = ''\n\n\t/**\n\t * Whether to show default video controls (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) controls = true\n\n\t/**\n\t * Whether the video should autoplay (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) autoplay = false\n\n\t/**\n\t * Whether the video should loop (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) loop = false\n\n\t/**\n\t * Whether the video is muted (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) muted = false\n\n\t/**\n\t * CSS `object-fit` property, applied to images/videos.\n\t */\n\t@property({ type: String }) fit: ObjectFit = 'cover'\n\n\trender() {\n\t\treturn html` <div style=\"--object-fit: ${this.fit}\">${cache(this.renderSlide())}</div> `\n\t}\n\n\tprivate renderSlide() {\n\t\tswitch (this.type) {\n\t\t\tcase 'image':\n\t\t\t\treturn html` <img class=\"slide\" src=\"${this.src}\" alt=\"${this.alt}\" loading=\"lazy\" /> `\n\t\t\tcase 'video':\n\t\t\t\treturn html`\n\t\t\t\t\t<video\n\t\t\t\t\t\tclass=\"slide\"\n\t\t\t\t\t\tsrc=\"${this.src}\"\n\t\t\t\t\t\t?controls=\"${this.controls}\"\n\t\t\t\t\t\t?autoplay=\"${this.autoplay}\"\n\t\t\t\t\t\t?loop=\"${this.loop}\"\n\t\t\t\t\t\t?muted=\"${this.muted}\"\n\t\t\t\t\t>\n\t\t\t\t\t\tYour browser does not support HTML video.\n\t\t\t\t\t</video>\n\t\t\t\t`\n\t\t\tcase 'content':\n\t\t\tdefault:\n\t\t\t\treturn html`<slot></slot>`\n\t\t}\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-slide': SchmancySlide\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { fromEvent } from 'rxjs'\nimport { throttleTime } from 'rxjs/operators'\n\n@customElement('schmancy-slider')\nexport class SchmancySlider extends $LitElement(css`\n\t.slider {\n\t\t/* Lay out slides horizontally, one after another */\n\t\tdisplay: flex;\n\t\toverflow-x: auto;\n\n\t\t/* Optional: scroll snapping */\n\t\tscroll-snap-type: x mandatory;\n\n\t\t/* Hide scrollbars */\n\t\t-ms-overflow-style: none; /* IE and Edge */\n\t\tscrollbar-width: none; /* Firefox */\n\t}\n\t.slider::-webkit-scrollbar {\n\t\tdisplay: none; /* Chrome, Safari, Opera */\n\t}\n\n\t/* \n Ensure each slide takes up the full slider width.\n \"schmancy-slide\" is the child custom element.\n */\n\t::slotted(schmancy-slide) {\n\t\tflex: 0 0 100%;\n\t\tbox-sizing: border-box;\n\t}\n`) {\n\t/**\n\t * Currently centered slide index\n\t */\n\t@state() private selectedIndex: number = 0\n\n\t/**\n\t * If true, renders next/prev buttons\n\t */\n\t@property({ type: Boolean }) showArrows: boolean = true\n\n\t@query('#slider') private slider!: HTMLDivElement\n\t@query('slot') private defaultSlot!: HTMLSlotElement\n\n\tprotected firstUpdated() {\n\t\t// Start at leftmost position\n\t\tthis.slider.scrollLeft = 0\n\n\t\t// Throttle scroll events to update selected index\n\t\tfromEvent(this.slider, 'scroll')\n\t\t\t.pipe(throttleTime(100, undefined, { trailing: true }))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.updateSelectedIndexOnScroll()\n\t\t\t})\n\t}\n\n\tprivate updateSelectedIndexOnScroll() {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\t\tif (!slides.length) return\n\n\t\tconst oldIndex = this.selectedIndex\n\n\t\t// Center of the slider’s visible area\n\t\tconst sliderCenter = this.slider.scrollLeft + this.slider.clientWidth / 2\n\n\t\tlet closestIndex = 0\n\t\tlet closestDistance = Infinity\n\n\t\tslides.forEach((slide, index) => {\n\t\t\tconst itemStart = (slide as HTMLElement).offsetLeft\n\t\t\tconst itemCenter = itemStart + slide.clientWidth / 2\n\t\t\tconst distance = Math.abs(sliderCenter - itemCenter)\n\n\t\t\tif (distance < closestDistance) {\n\t\t\t\tclosestDistance = distance\n\t\t\t\tclosestIndex = index\n\t\t\t}\n\t\t})\n\n\t\tthis.selectedIndex = closestIndex\n\n\t\t// If the index changed, dispatch event\n\t\tif (this.selectedIndex !== oldIndex) {\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent('slide-changed', {\n\t\t\t\t\tdetail: { index: this.selectedIndex },\n\t\t\t\t}),\n\t\t\t)\n\t\t}\n\t}\n\n\tprivate goToSlide(newIndex: number) {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\t\tif (!slides[newIndex]) return\n\n\t\tthis.slider.scrollTo({\n\t\t\tleft: (slides[newIndex] as HTMLElement).offsetLeft,\n\t\t\tbehavior: 'smooth',\n\t\t})\n\t}\n\n\tprivate onPrevClick() {\n\t\tthis.goToSlide(this.selectedIndex - 1)\n\t}\n\n\tprivate onNextClick() {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\t\tif (this.selectedIndex < slides.length - 1) {\n\t\t\tthis.goToSlide(this.selectedIndex + 1)\n\t\t}\n\t}\n\n\trender() {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\n\t\treturn html`\n\t\t\t<div class=\"relative inset-0\">\n\t\t\t\t<!-- The scrollable track -->\n\t\t\t\t<div class=\"slider\" id=\"slider\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Next/Prev Buttons (Optional) -->\n\t\t\t\t${this.showArrows\n\t\t\t\t\t? html`\n\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\tclass=\"absolute left-2 top-1/2 -translate-y-1/2\"\n\t\t\t\t\t\t\t\t@click=${this.onPrevClick}\n\t\t\t\t\t\t\t\t?disabled=${this.selectedIndex === 0}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tchevron_left\n\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\tclass=\"absolute right-2 top-1/2 -translate-y-1/2\"\n\t\t\t\t\t\t\t\t@click=${this.onNextClick}\n\t\t\t\t\t\t\t\t?disabled=${this.selectedIndex === slides.length - 1}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tchevron_right\n\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t`\n\t\t\t\t\t: null}\n\n\t\t\t\t<!-- Dots / indicators -->\n\t\t\t\t<div class=\"absolute bottom-4 left-1/2 -translate-x-1/2 flex space-x-2\">\n\t\t\t\t\t${slides.map((_, index) => {\n\t\t\t\t\t\tconst isSelected = index === this.selectedIndex\n\t\t\t\t\t\treturn html`\n\t\t\t\t\t\t\t<schmancy-button .variant=${isSelected ? 'filled tonal' : 'outlined'} class=\"rounded-full \">\n\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t`\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-slider': SchmancySlider\n\t}\n}\n"],"names":["SchmancySlide","$LitElement","css","super","arguments","this","type","src","alt","controls","autoplay","loop","muted","fit","render","html","cache","renderSlide","__decorateClass","property","String","prototype","Boolean","customElement","SchmancySlider","selectedIndex","showArrows","slider","scrollLeft","fromEvent","pipe","throttleTime","trailing","subscribe","updateSelectedIndexOnScroll","slides","defaultSlot","assignedElements","flatten","length","oldIndex","sliderCenter","clientWidth","closestIndex","closestDistance","Infinity","forEach","slide","index","itemCenter","offsetLeft","distance","Math","abs","dispatchEvent","CustomEvent","detail","newIndex","scrollTo","left","behavior","goToSlide","onNextClick","onPrevClick","map","_","isSelected","state","query"],"mappings":"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"}
1
+ {"version":3,"file":"slider-DI42q9wf.cjs","sources":["../src/slider/slide.ts","../src/slider/slider.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { cache } from 'lit/directives/cache.js'\n\n/**\n * Supported slide \"types.\"\n * - 'image': Renders an <img>\n * - 'video': Renders a <video>\n * - 'content': Renders a <slot> (the default)\n */\ntype SlideType = 'image' | 'video' | 'content'\n\n/**\n * Allowed values for the 'fit' property,\n * which maps to CSS object-fit.\n */\ntype ObjectFit = 'cover' | 'contain' | 'fill' | 'scale-down' | 'none'\n\n@customElement('schmancy-slide')\nexport class SchmancySlide extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tscroll-snap-align: center; /* If your slider uses scroll-snap */\n\t}\n\n\t.slide {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tobject-fit: var(--object-fit, cover);\n\t}\n`) {\n\t/**\n\t * Determines how this slide should be rendered.\n\t * Defaults to 'content' if not provided.\n\t */\n\t@property({ type: String }) type: SlideType = 'content'\n\n\t/**\n\t * Source for images or videos (if `type` is 'image' or 'video').\n\t */\n\t@property({ type: String }) src: string = ''\n\n\t/**\n\t * Alternate text for images.\n\t */\n\t@property({ type: String }) alt: string = ''\n\n\t/**\n\t * Whether to show default video controls (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) controls = true\n\n\t/**\n\t * Whether the video should autoplay (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) autoplay = false\n\n\t/**\n\t * Whether the video should loop (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) loop = false\n\n\t/**\n\t * Whether the video is muted (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) muted = false\n\n\t/**\n\t * CSS `object-fit` property, applied to images/videos.\n\t */\n\t@property({ type: String }) fit: ObjectFit = 'cover'\n\n\trender() {\n\t\treturn html` <div style=\"--object-fit: ${this.fit}\">${cache(this.renderSlide())}</div> `\n\t}\n\n\tprivate renderSlide() {\n\t\tswitch (this.type) {\n\t\t\tcase 'image':\n\t\t\t\treturn html` <img class=\"slide\" src=\"${this.src}\" alt=\"${this.alt}\" loading=\"lazy\" /> `\n\t\t\tcase 'video':\n\t\t\t\treturn html`\n\t\t\t\t\t<video\n\t\t\t\t\t\tclass=\"slide\"\n\t\t\t\t\t\tsrc=\"${this.src}\"\n\t\t\t\t\t\t?controls=\"${this.controls}\"\n\t\t\t\t\t\t?autoplay=\"${this.autoplay}\"\n\t\t\t\t\t\t?loop=\"${this.loop}\"\n\t\t\t\t\t\t?muted=\"${this.muted}\"\n\t\t\t\t\t>\n\t\t\t\t\t\tYour browser does not support HTML video.\n\t\t\t\t\t</video>\n\t\t\t\t`\n\t\t\tcase 'content':\n\t\t\tdefault:\n\t\t\t\treturn html`<slot></slot>`\n\t\t}\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-slide': SchmancySlide\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { fromEvent } from 'rxjs'\nimport { throttleTime } from 'rxjs/operators'\n\n@customElement('schmancy-slider')\nexport class SchmancySlider extends $LitElement(css`\n\t.slider {\n\t\t/* Lay out slides horizontally, one after another */\n\t\tdisplay: flex;\n\t\toverflow-x: auto;\n\n\t\t/* Optional: scroll snapping */\n\t\tscroll-snap-type: x mandatory;\n\n\t\t/* Hide scrollbars */\n\t\t-ms-overflow-style: none; /* IE and Edge */\n\t\tscrollbar-width: none; /* Firefox */\n\t}\n\t.slider::-webkit-scrollbar {\n\t\tdisplay: none; /* Chrome, Safari, Opera */\n\t}\n\n\t/* \n Ensure each slide takes up the full slider width.\n \"schmancy-slide\" is the child custom element.\n */\n\t::slotted(schmancy-slide) {\n\t\tflex: 0 0 100%;\n\t\tbox-sizing: border-box;\n\t}\n`) {\n\t/**\n\t * Currently centered slide index\n\t */\n\t@state() private selectedIndex: number = 0\n\n\t/**\n\t * If true, renders next/prev buttons\n\t */\n\t@property({ type: Boolean }) showArrows: boolean = true\n\n\t@query('#slider') private slider!: HTMLDivElement\n\t@query('slot') private defaultSlot!: HTMLSlotElement\n\n\tprotected firstUpdated() {\n\t\t// Start at leftmost position\n\t\tthis.slider.scrollLeft = 0\n\n\t\t// Throttle scroll events to update selected index\n\t\tfromEvent(this.slider, 'scroll')\n\t\t\t.pipe(throttleTime(100, undefined, { trailing: true }))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.updateSelectedIndexOnScroll()\n\t\t\t})\n\t}\n\n\tprivate updateSelectedIndexOnScroll() {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\t\tif (!slides.length) return\n\n\t\tconst oldIndex = this.selectedIndex\n\n\t\t// Center of the slider’s visible area\n\t\tconst sliderCenter = this.slider.scrollLeft + this.slider.clientWidth / 2\n\n\t\tlet closestIndex = 0\n\t\tlet closestDistance = Infinity\n\n\t\tslides.forEach((slide, index) => {\n\t\t\tconst itemStart = (slide as HTMLElement).offsetLeft\n\t\t\tconst itemCenter = itemStart + slide.clientWidth / 2\n\t\t\tconst distance = Math.abs(sliderCenter - itemCenter)\n\n\t\t\tif (distance < closestDistance) {\n\t\t\t\tclosestDistance = distance\n\t\t\t\tclosestIndex = index\n\t\t\t}\n\t\t})\n\n\t\tthis.selectedIndex = closestIndex\n\n\t\t// If the index changed, dispatch event\n\t\tif (this.selectedIndex !== oldIndex) {\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent('slide-changed', {\n\t\t\t\t\tdetail: { index: this.selectedIndex },\n\t\t\t\t}),\n\t\t\t)\n\t\t}\n\t}\n\n\tprivate goToSlide(newIndex: number) {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\t\tif (!slides[newIndex]) return\n\n\t\tthis.slider.scrollTo({\n\t\t\tleft: (slides[newIndex] as HTMLElement).offsetLeft,\n\t\t\tbehavior: 'smooth',\n\t\t})\n\t}\n\n\tprivate onPrevClick() {\n\t\tthis.goToSlide(this.selectedIndex - 1)\n\t}\n\n\tprivate onNextClick() {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\t\tif (this.selectedIndex < slides.length - 1) {\n\t\t\tthis.goToSlide(this.selectedIndex + 1)\n\t\t}\n\t}\n\n\trender() {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\n\t\treturn html`\n\t\t\t<div class=\"relative inset-0\">\n\t\t\t\t<!-- The scrollable track -->\n\t\t\t\t<div class=\"slider\" id=\"slider\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Next/Prev Buttons (Optional) -->\n\t\t\t\t${this.showArrows\n\t\t\t\t\t? html`\n\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\tclass=\"absolute left-2 top-1/2 -translate-y-1/2\"\n\t\t\t\t\t\t\t\t@click=${this.onPrevClick}\n\t\t\t\t\t\t\t\t?disabled=${this.selectedIndex === 0}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tchevron_left\n\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\tclass=\"absolute right-2 top-1/2 -translate-y-1/2\"\n\t\t\t\t\t\t\t\t@click=${this.onNextClick}\n\t\t\t\t\t\t\t\t?disabled=${this.selectedIndex === slides.length - 1}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tchevron_right\n\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t`\n\t\t\t\t\t: null}\n\n\t\t\t\t<!-- Dots / indicators -->\n\t\t\t\t<div class=\"absolute bottom-4 left-1/2 -translate-x-1/2 flex space-x-2\">\n\t\t\t\t\t${slides.map((_, index) => {\n\t\t\t\t\t\tconst isSelected = index === this.selectedIndex\n\t\t\t\t\t\treturn html`\n\t\t\t\t\t\t\t<schmancy-button .variant=${isSelected ? 'filled tonal' : 'outlined'} class=\"rounded-full \">\n\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t`\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-slider': SchmancySlider\n\t}\n}\n"],"names":["SchmancySlide","$LitElement","css","super","arguments","this","type","src","alt","controls","autoplay","loop","muted","fit","render","html","cache","renderSlide","__decorateClass","property","String","prototype","Boolean","customElement","SchmancySlider","selectedIndex","showArrows","slider","scrollLeft","fromEvent","pipe","throttleTime","trailing","subscribe","updateSelectedIndexOnScroll","slides","defaultSlot","assignedElements","flatten","length","oldIndex","sliderCenter","clientWidth","closestIndex","closestDistance","Infinity","forEach","slide","index","itemCenter","offsetLeft","distance","Math","abs","dispatchEvent","CustomEvent","detail","newIndex","scrollTo","left","behavior","goToSlide","onNextClick","onPrevClick","map","_","isSelected","state","query"],"mappings":"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"}
package/dist/slider.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./slider-BTJK0M8p.cjs");Object.defineProperty(exports,"SchmancySlide",{enumerable:!0,get:()=>e.SchmancySlide}),Object.defineProperty(exports,"SchmancySlider",{enumerable:!0,get:()=>e.SchmancySlider});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./slider-DI42q9wf.cjs");Object.defineProperty(exports,"SchmancySlide",{enumerable:!0,get:()=>e.SchmancySlide}),Object.defineProperty(exports,"SchmancySlider",{enumerable:!0,get:()=>e.SchmancySlider});
2
2
  //# sourceMappingURL=slider.cjs.map
package/dist/slider.js CHANGED
@@ -1,4 +1,4 @@
1
- import { S as c, a as e } from "./slider-BpGbCj5P.js";
1
+ import { S as c, a as e } from "./slider-D5GAJBtp.js";
2
2
  export {
3
3
  c as SchmancySlide,
4
4
  e as SchmancySlider
@@ -1,4 +1,4 @@
1
- "use strict";require("./theme.component-Du-mYia7.cjs");const y=require("./theme.interface-Xg5Zi46a.cjs"),u=require("./ripple-C2BHbhcS.cjs");require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const m=require("./tailwind.mixin-by-9p2wJ.cjs"),l=require("lit"),c=require("lit/decorators.js");var h=Object.getOwnPropertyDescriptor;let p=class extends m.TailwindElement(l.css`
1
+ "use strict";require("./theme.component-Bhodmw04.cjs");const y=require("./theme.interface-Xg5Zi46a.cjs"),u=require("./ripple-C2BHbhcS.cjs");require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const m=require("./tailwind.mixin-DWvvleWP.cjs"),l=require("lit"),c=require("lit/decorators.js");var h=Object.getOwnPropertyDescriptor;let p=class extends m.TailwindElement(l.css`
2
2
  :host {
3
3
  display: inline;
4
4
  position: absolute;
@@ -42,4 +42,4 @@
42
42
  </svg>
43
43
  </div>
44
44
  `}};d([c.property({type:String})],a.prototype,"color",2),d([c.property({type:String})],a.prototype,"size",2),a=d([c.customElement("schmancy-spinner")],a);
45
- //# sourceMappingURL=spinner-o6SsnYml.cjs.map
45
+ //# sourceMappingURL=spinner-I_J8koHo.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"spinner-o6SsnYml.cjs","sources":["../src/busy/busy.ts","../src/busy/spinner.ts"],"sourcesContent":["import { SchmancyTheme } from '@schmancy/theme'\nimport { color } from '@schmancy/directives'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-busy')\nexport default class SchmancyBusy extends TailwindElement(css`\n\t:host {\n\t\tdisplay: inline;\n\t\tposition: absolute;\n\t\tinset: 0;\n\t}\n`) {\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<div class=\"absolute inset-0 flex justify-center items-center animate-pulse z-[9999999]\">\n\t\t\t\t<!-- glass window -->\n\t\t\t\t<div\n\t\t\t\t\t${color({\n\t\t\t\t\t\tbgColor: SchmancyTheme.sys.color.secondary.container,\n\t\t\t\t\t\tcolor: SchmancyTheme.sys.color.tertiary.onContainer,\n\t\t\t\t\t})}\n\t\t\t\t\tclass=\"absolute transform-gpu inset-0 rounded-[inherit] opacity-50 flex align-middle justify-center items-center \"\n\t\t\t\t>\n\t\t\t\t\t<slot> </slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-busy': SchmancyBusy\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-spinner')\nexport default class SchmnacySpinner extends TailwindElement(css`\n\t.spinner {\n\t\tanimation: spin 1s linear infinite;\n\t\tanimation-direction: reverse;\n\t}\n\n\t@keyframes spin {\n\t\tfrom {\n\t\t\ttransform: rotate(0deg);\n\t\t}\n\t\tto {\n\t\t\ttransform: rotate(360deg);\n\t\t}\n\t}\n`) {\n\t@property({ type: String }) color: string = 'gray'\n\t@property({ type: String }) size: string = '24px'\n\n\tprotected render(): unknown {\n\t\tconst style = {\n\t\t\tfontSize: this.size,\n\t\t\tmaxWidth: this.size,\n\t\t\toverflow: 'hidden',\n\t\t}\n\t\treturn html`\n\t\t\t<div class=\"spinner\" style=${this.styleMap(style)}>\n\t\t\t\t<svg fill=\"none\" viewBox=\"0 0 16 16\" class=\"anim-rotate\" aria-hidden=\"true\" role=\"img\">\n\t\t\t\t\t<path\n\t\t\t\t\t\topacity=\".5\"\n\t\t\t\t\t\td=\"M8 15A7 7 0 108 1a7 7 0 000 14v0z\"\n\t\t\t\t\t\tstroke=\"var(--schmancy-sys-color-secondary-default)\"\n\t\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\t></path>\n\t\t\t\t\t<path d=\"M15 8a7 7 0 01-7 7\" stroke=\"var(--schmancy-sys-color-secondary-default)\" stroke-width=\"2\"></path>\n\t\t\t\t\t<path d=\"M8 12a4 4 0 100-8 4 4 0 000 8z\" fill=\"var(--schmancy-sys-color-secondary-default)\"></path>\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-spinner': SchmnacySpinner\n\t}\n}\n"],"names":["SchmancyBusy","TailwindElement","css","render","html","color","bgColor","SchmancyTheme","sys","secondary","container","tertiary","onContainer","customElement","SchmnacySpinner","constructor","super","arguments","this","size","style","fontSize","maxWidth","overflow","styleMap","__decorateClass","property","type","String","prototype"],"mappings":"iXAOA,IAAqBA,EAArB,cAA0CC,EAAAA,gBAAgBC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAO/C,QAAAC,CACF,OAAAC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA,OAIFC,QAAM,CACPC,QAASC,EAAAA,cAAcC,IAAIH,MAAMI,UAAUC,UAC3CL,MAAOE,EAAAA,cAAcC,IAAIH,MAAMM,SAASC,WAAAA,CAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GACvC,CAfcZ,EAAAA,wGAArB,CADCa,EAAAA,cAAc,eAAA,CAAA,EACMb,mMCFrB,IAAqBc,EAArB,cAA6Cb,EAAAA,gBAAgBC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAA7D,aAAAa,CAAAC,MAAAC,GAAAA,SAAAA,EAe6CC,KAAAb,MAAA,OACDa,KAAAC,KAAA,MAAA,CAEjC,QAAAhB,CACT,MAAMiB,EAAQ,CACbC,SAAUH,KAAKC,KACfG,SAAUJ,KAAKC,KACfI,SAAU,QAAA,EAEJ,OAAAnB,EAAAA;AAAAA,gCACuBc,KAAKM,SAASJ,CAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAAM,CAVvBK,EAAAA,EAAA,CAA3BC,WAAS,CAAEC,KAAMC,MAAAA,CAAAA,CAAAA,EAfEd,EAeQe,UAAA,QAAA,CAAA,EACAJ,EAAA,CAA3BC,WAAS,CAAEC,KAAMC,MAhBEd,CAAAA,CAAAA,EAAAA,EAgBQe,UAAA,OAAA,CAhBRf,EAAAA,EAArBW,EAAA,CADCZ,EAAAA,cAAc,kBACMC,CAAAA,EAAAA,CAAAA"}
1
+ {"version":3,"file":"spinner-I_J8koHo.cjs","sources":["../src/busy/busy.ts","../src/busy/spinner.ts"],"sourcesContent":["import { SchmancyTheme } from '@schmancy/theme'\nimport { color } from '@schmancy/directives'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-busy')\nexport default class SchmancyBusy extends TailwindElement(css`\n\t:host {\n\t\tdisplay: inline;\n\t\tposition: absolute;\n\t\tinset: 0;\n\t}\n`) {\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<div class=\"absolute inset-0 flex justify-center items-center animate-pulse z-[9999999]\">\n\t\t\t\t<!-- glass window -->\n\t\t\t\t<div\n\t\t\t\t\t${color({\n\t\t\t\t\t\tbgColor: SchmancyTheme.sys.color.secondary.container,\n\t\t\t\t\t\tcolor: SchmancyTheme.sys.color.tertiary.onContainer,\n\t\t\t\t\t})}\n\t\t\t\t\tclass=\"absolute transform-gpu inset-0 rounded-[inherit] opacity-50 flex align-middle justify-center items-center \"\n\t\t\t\t>\n\t\t\t\t\t<slot> </slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-busy': SchmancyBusy\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-spinner')\nexport default class SchmnacySpinner extends TailwindElement(css`\n\t.spinner {\n\t\tanimation: spin 1s linear infinite;\n\t\tanimation-direction: reverse;\n\t}\n\n\t@keyframes spin {\n\t\tfrom {\n\t\t\ttransform: rotate(0deg);\n\t\t}\n\t\tto {\n\t\t\ttransform: rotate(360deg);\n\t\t}\n\t}\n`) {\n\t@property({ type: String }) color: string = 'gray'\n\t@property({ type: String }) size: string = '24px'\n\n\tprotected render(): unknown {\n\t\tconst style = {\n\t\t\tfontSize: this.size,\n\t\t\tmaxWidth: this.size,\n\t\t\toverflow: 'hidden',\n\t\t}\n\t\treturn html`\n\t\t\t<div class=\"spinner\" style=${this.styleMap(style)}>\n\t\t\t\t<svg fill=\"none\" viewBox=\"0 0 16 16\" class=\"anim-rotate\" aria-hidden=\"true\" role=\"img\">\n\t\t\t\t\t<path\n\t\t\t\t\t\topacity=\".5\"\n\t\t\t\t\t\td=\"M8 15A7 7 0 108 1a7 7 0 000 14v0z\"\n\t\t\t\t\t\tstroke=\"var(--schmancy-sys-color-secondary-default)\"\n\t\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\t></path>\n\t\t\t\t\t<path d=\"M15 8a7 7 0 01-7 7\" stroke=\"var(--schmancy-sys-color-secondary-default)\" stroke-width=\"2\"></path>\n\t\t\t\t\t<path d=\"M8 12a4 4 0 100-8 4 4 0 000 8z\" fill=\"var(--schmancy-sys-color-secondary-default)\"></path>\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-spinner': SchmnacySpinner\n\t}\n}\n"],"names":["SchmancyBusy","TailwindElement","css","render","html","color","bgColor","SchmancyTheme","sys","secondary","container","tertiary","onContainer","customElement","SchmnacySpinner","constructor","super","arguments","this","size","style","fontSize","maxWidth","overflow","styleMap","__decorateClass","property","type","String","prototype"],"mappings":"iXAOA,IAAqBA,EAArB,cAA0CC,EAAAA,gBAAgBC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAO/C,QAAAC,CACF,OAAAC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA,OAIFC,QAAM,CACPC,QAASC,EAAAA,cAAcC,IAAIH,MAAMI,UAAUC,UAC3CL,MAAOE,EAAAA,cAAcC,IAAIH,MAAMM,SAASC,WAAAA,CAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GACvC,CAfcZ,EAAAA,wGAArB,CADCa,EAAAA,cAAc,eAAA,CAAA,EACMb,mMCFrB,IAAqBc,EAArB,cAA6Cb,EAAAA,gBAAgBC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAA7D,aAAAa,CAAAC,MAAAC,GAAAA,SAAAA,EAe6CC,KAAAb,MAAA,OACDa,KAAAC,KAAA,MAAA,CAEjC,QAAAhB,CACT,MAAMiB,EAAQ,CACbC,SAAUH,KAAKC,KACfG,SAAUJ,KAAKC,KACfI,SAAU,QAAA,EAEJ,OAAAnB,EAAAA;AAAAA,gCACuBc,KAAKM,SAASJ,CAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAAM,CAVvBK,EAAAA,EAAA,CAA3BC,WAAS,CAAEC,KAAMC,MAAAA,CAAAA,CAAAA,EAfEd,EAeQe,UAAA,QAAA,CAAA,EACAJ,EAAA,CAA3BC,WAAS,CAAEC,KAAMC,MAhBEd,CAAAA,CAAAA,EAAAA,EAgBQe,UAAA,OAAA,CAhBRf,EAAAA,EAArBW,EAAA,CADCZ,EAAAA,cAAc,kBACMC,CAAAA,EAAAA,CAAAA"}
@@ -1,10 +1,10 @@
1
- import "./theme.component-C3Az3LCn.js";
1
+ import "./theme.component-DtSJBwyz.js";
2
2
  import { S as l } from "./theme.interface-C5Kj6WjD.js";
3
3
  import { c as u } from "./ripple-BumgqsDT.js";
4
4
  import "rxjs";
5
5
  import "lit/directives/class-map.js";
6
6
  import "lit/directives/style-map.js";
7
- import { T as m } from "./tailwind.mixin-CBugs0NU.js";
7
+ import { T as m } from "./tailwind.mixin-BPIDvfDe.js";
8
8
  import { css as y, html as h } from "lit";
9
9
  import { customElement as f, property as p } from "lit/decorators.js";
10
10
  var v = Object.getOwnPropertyDescriptor;
@@ -74,4 +74,4 @@ let a = class extends m(y`
74
74
  }
75
75
  };
76
76
  c([p({ type: String })], a.prototype, "color", 2), c([p({ type: String })], a.prototype, "size", 2), a = c([f("schmancy-spinner")], a);
77
- //# sourceMappingURL=spinner-CZEpYGDr.js.map
77
+ //# sourceMappingURL=spinner-jxwBlOT6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spinner-CZEpYGDr.js","sources":["../src/busy/busy.ts","../src/busy/spinner.ts"],"sourcesContent":["import { SchmancyTheme } from '@schmancy/theme'\nimport { color } from '@schmancy/directives'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-busy')\nexport default class SchmancyBusy extends TailwindElement(css`\n\t:host {\n\t\tdisplay: inline;\n\t\tposition: absolute;\n\t\tinset: 0;\n\t}\n`) {\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<div class=\"absolute inset-0 flex justify-center items-center animate-pulse z-[9999999]\">\n\t\t\t\t<!-- glass window -->\n\t\t\t\t<div\n\t\t\t\t\t${color({\n\t\t\t\t\t\tbgColor: SchmancyTheme.sys.color.secondary.container,\n\t\t\t\t\t\tcolor: SchmancyTheme.sys.color.tertiary.onContainer,\n\t\t\t\t\t})}\n\t\t\t\t\tclass=\"absolute transform-gpu inset-0 rounded-[inherit] opacity-50 flex align-middle justify-center items-center \"\n\t\t\t\t>\n\t\t\t\t\t<slot> </slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-busy': SchmancyBusy\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-spinner')\nexport default class SchmnacySpinner extends TailwindElement(css`\n\t.spinner {\n\t\tanimation: spin 1s linear infinite;\n\t\tanimation-direction: reverse;\n\t}\n\n\t@keyframes spin {\n\t\tfrom {\n\t\t\ttransform: rotate(0deg);\n\t\t}\n\t\tto {\n\t\t\ttransform: rotate(360deg);\n\t\t}\n\t}\n`) {\n\t@property({ type: String }) color: string = 'gray'\n\t@property({ type: String }) size: string = '24px'\n\n\tprotected render(): unknown {\n\t\tconst style = {\n\t\t\tfontSize: this.size,\n\t\t\tmaxWidth: this.size,\n\t\t\toverflow: 'hidden',\n\t\t}\n\t\treturn html`\n\t\t\t<div class=\"spinner\" style=${this.styleMap(style)}>\n\t\t\t\t<svg fill=\"none\" viewBox=\"0 0 16 16\" class=\"anim-rotate\" aria-hidden=\"true\" role=\"img\">\n\t\t\t\t\t<path\n\t\t\t\t\t\topacity=\".5\"\n\t\t\t\t\t\td=\"M8 15A7 7 0 108 1a7 7 0 000 14v0z\"\n\t\t\t\t\t\tstroke=\"var(--schmancy-sys-color-secondary-default)\"\n\t\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\t></path>\n\t\t\t\t\t<path d=\"M15 8a7 7 0 01-7 7\" stroke=\"var(--schmancy-sys-color-secondary-default)\" stroke-width=\"2\"></path>\n\t\t\t\t\t<path d=\"M8 12a4 4 0 100-8 4 4 0 000 8z\" fill=\"var(--schmancy-sys-color-secondary-default)\"></path>\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-spinner': SchmnacySpinner\n\t}\n}\n"],"names":["SchmancyBusy","TailwindElement","css","render","html","color","bgColor","SchmancyTheme","sys","secondary","container","tertiary","onContainer","customElement","SchmnacySpinner","constructor","super","arguments","this","size","style","fontSize","maxWidth","overflow","styleMap","__decorateClass","property","type","String","prototype"],"mappings":";;;;;;;;;;AAOA,IAAqBA,IAArB,cAA0CC,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;EAO/C,SAAAC;AACF,WAAAC;AAAAA;AAAAA;AAAAA;AAAAA,OAIFC,EAAM,EACPC,SAASC,EAAcC,IAAIH,MAAMI,UAAUC,WAC3CL,OAAOE,EAAcC,IAAIH,MAAMM,SAASC,YAAAA,CAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EACvC;AAfcZ;AAAAA;;;GAArB,CADCa,EAAc,mBACMb;;;;;ACFrB,IAAqBc,IAArB,cAA6Cb,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;EAA7D,cAAAa;AAAAC,UAAAC,GAAAA,SAAAA,GAe6CC,KAAAb,QAAA,QACDa,KAAAC,OAAA;AAAA,EAAA;AAAA,EAEjC,SAAAhB;AACT,UAAMiB,IAAQ,EACbC,UAAUH,KAAKC,MACfG,UAAUJ,KAAKC,MACfI,UAAU,SAEJ;AAAA,WAAAnB;AAAAA,gCACuBc,KAAKM,SAASJ,CAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAAM;AAVvBK;AAAAA,EAAA,CAA3BC,EAAS,EAAEC,MAAMC,YAfEd,EAeQe,WAAA,SAAA,CAAA,GACAJ,EAAA,CAA3BC,EAAS,EAAEC,MAAMC,OAhBEd,CAAAA,CAAAA,GAAAA,EAgBQe,WAAA,QAAA,IAhBRf,IAArBW,EAAA,CADCZ,EAAc,kBACMC,CAAAA,GAAAA,CAAAA;"}
1
+ {"version":3,"file":"spinner-jxwBlOT6.js","sources":["../src/busy/busy.ts","../src/busy/spinner.ts"],"sourcesContent":["import { SchmancyTheme } from '@schmancy/theme'\nimport { color } from '@schmancy/directives'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-busy')\nexport default class SchmancyBusy extends TailwindElement(css`\n\t:host {\n\t\tdisplay: inline;\n\t\tposition: absolute;\n\t\tinset: 0;\n\t}\n`) {\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<div class=\"absolute inset-0 flex justify-center items-center animate-pulse z-[9999999]\">\n\t\t\t\t<!-- glass window -->\n\t\t\t\t<div\n\t\t\t\t\t${color({\n\t\t\t\t\t\tbgColor: SchmancyTheme.sys.color.secondary.container,\n\t\t\t\t\t\tcolor: SchmancyTheme.sys.color.tertiary.onContainer,\n\t\t\t\t\t})}\n\t\t\t\t\tclass=\"absolute transform-gpu inset-0 rounded-[inherit] opacity-50 flex align-middle justify-center items-center \"\n\t\t\t\t>\n\t\t\t\t\t<slot> </slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-busy': SchmancyBusy\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-spinner')\nexport default class SchmnacySpinner extends TailwindElement(css`\n\t.spinner {\n\t\tanimation: spin 1s linear infinite;\n\t\tanimation-direction: reverse;\n\t}\n\n\t@keyframes spin {\n\t\tfrom {\n\t\t\ttransform: rotate(0deg);\n\t\t}\n\t\tto {\n\t\t\ttransform: rotate(360deg);\n\t\t}\n\t}\n`) {\n\t@property({ type: String }) color: string = 'gray'\n\t@property({ type: String }) size: string = '24px'\n\n\tprotected render(): unknown {\n\t\tconst style = {\n\t\t\tfontSize: this.size,\n\t\t\tmaxWidth: this.size,\n\t\t\toverflow: 'hidden',\n\t\t}\n\t\treturn html`\n\t\t\t<div class=\"spinner\" style=${this.styleMap(style)}>\n\t\t\t\t<svg fill=\"none\" viewBox=\"0 0 16 16\" class=\"anim-rotate\" aria-hidden=\"true\" role=\"img\">\n\t\t\t\t\t<path\n\t\t\t\t\t\topacity=\".5\"\n\t\t\t\t\t\td=\"M8 15A7 7 0 108 1a7 7 0 000 14v0z\"\n\t\t\t\t\t\tstroke=\"var(--schmancy-sys-color-secondary-default)\"\n\t\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\t></path>\n\t\t\t\t\t<path d=\"M15 8a7 7 0 01-7 7\" stroke=\"var(--schmancy-sys-color-secondary-default)\" stroke-width=\"2\"></path>\n\t\t\t\t\t<path d=\"M8 12a4 4 0 100-8 4 4 0 000 8z\" fill=\"var(--schmancy-sys-color-secondary-default)\"></path>\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-spinner': SchmnacySpinner\n\t}\n}\n"],"names":["SchmancyBusy","TailwindElement","css","render","html","color","bgColor","SchmancyTheme","sys","secondary","container","tertiary","onContainer","customElement","SchmnacySpinner","constructor","super","arguments","this","size","style","fontSize","maxWidth","overflow","styleMap","__decorateClass","property","type","String","prototype"],"mappings":";;;;;;;;;;AAOA,IAAqBA,IAArB,cAA0CC,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;EAO/C,SAAAC;AACF,WAAAC;AAAAA;AAAAA;AAAAA;AAAAA,OAIFC,EAAM,EACPC,SAASC,EAAcC,IAAIH,MAAMI,UAAUC,WAC3CL,OAAOE,EAAcC,IAAIH,MAAMM,SAASC,YAAAA,CAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EACvC;AAfcZ;AAAAA;;;GAArB,CADCa,EAAc,mBACMb;;;;;ACFrB,IAAqBc,IAArB,cAA6Cb,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;EAA7D,cAAAa;AAAAC,UAAAC,GAAAA,SAAAA,GAe6CC,KAAAb,QAAA,QACDa,KAAAC,OAAA;AAAA,EAAA;AAAA,EAEjC,SAAAhB;AACT,UAAMiB,IAAQ,EACbC,UAAUH,KAAKC,MACfG,UAAUJ,KAAKC,MACfI,UAAU,SAEJ;AAAA,WAAAnB;AAAAA,gCACuBc,KAAKM,SAASJ,CAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAAM;AAVvBK;AAAAA,EAAA,CAA3BC,EAAS,EAAEC,MAAMC,YAfEd,EAeQe,WAAA,SAAA,CAAA,GACAJ,EAAA,CAA3BC,EAAS,EAAEC,MAAMC,OAhBEd,CAAAA,CAAAA,GAAAA,EAgBQe,WAAA,QAAA,IAhBRf,IAArBW,EAAA,CADCZ,EAAc,kBACMC,CAAAA,GAAAA,CAAAA;"}
package/dist/steps.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./schmancy-steps-container-Oj0-kdzs.cjs");Object.defineProperty(exports,"SchmancyStep",{enumerable:!0,get:()=>e.SchmancyStep}),Object.defineProperty(exports,"SchmancyStepsContainer",{enumerable:!0,get:()=>e.SchmancyStepsContainer}),exports.StepsController=e.StepsController,exports.stepsContext=e.stepsContext;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./schmancy-steps-container-zat0B8ZS.cjs");Object.defineProperty(exports,"SchmancyStep",{enumerable:!0,get:()=>e.SchmancyStep}),Object.defineProperty(exports,"SchmancyStepsContainer",{enumerable:!0,get:()=>e.SchmancyStepsContainer}),exports.StepsController=e.StepsController,exports.stepsContext=e.stepsContext;
2
2
  //# sourceMappingURL=steps.cjs.map
package/dist/steps.js CHANGED
@@ -1,4 +1,4 @@
1
- import { S as a, a as e, b as n, s as o } from "./schmancy-steps-container-BMHLfmfG.js";
1
+ import { S as a, a as e, b as n, s as o } from "./schmancy-steps-container-B1pLiWXH.js";
2
2
  export {
3
3
  a as SchmancyStep,
4
4
  e as SchmancyStepsContainer,
@@ -1,4 +1,4 @@
1
- "use strict";const i=require("./provide-BGGp1Iks.cjs"),u=require("./tailwind.mixin-by-9p2wJ.cjs"),h=require("lit"),r=require("lit/decorators.js");var d=Object.defineProperty,p=Object.getOwnPropertyDescriptor,e=(l,c,t,s)=>{for(var a,o=s>1?void 0:s?p(c,t):c,n=l.length-1;n>=0;n--)(a=l[n])&&(o=(s?a(c,t,o):a(o))||o);return s&&o&&d(c,t,o),o};const y=i.n("surface");exports.SchmancySurface=class extends u.TailwindElement(h.css`
1
+ "use strict";const i=require("./provide-BGGp1Iks.cjs"),u=require("./tailwind.mixin-DWvvleWP.cjs"),h=require("lit"),r=require("lit/decorators.js");var d=Object.defineProperty,p=Object.getOwnPropertyDescriptor,e=(l,c,t,s)=>{for(var a,o=s>1?void 0:s?p(c,t):c,n=l.length-1;n>=0;n--)(a=l[n])&&(o=(s?a(c,t,o):a(o))||o);return s&&o&&d(c,t,o),o};const y=i.n("surface");exports.SchmancySurface=class extends u.TailwindElement(h.css`
2
2
  :host {
3
3
  display: block;
4
4
  position: relative;
@@ -89,4 +89,4 @@
89
89
  color: var(--schmancy-sys-color-surface-on);
90
90
  }
91
91
  `){constructor(){super(...arguments),this.fill="auto",this.rounded="none",this.type="container",this.elevation=0}render(){return h.html`<slot></slot>`}},e([r.property({type:String,reflect:!0})],exports.SchmancySurface.prototype,"fill",2),e([r.property({reflect:!0})],exports.SchmancySurface.prototype,"rounded",2),e([i.e({context:y}),r.property({reflect:!0})],exports.SchmancySurface.prototype,"type",2),e([r.property({type:Number,reflect:!0})],exports.SchmancySurface.prototype,"elevation",2),exports.SchmancySurface=e([r.customElement("schmancy-surface")],exports.SchmancySurface),exports.SchmancySurfaceTypeContext=y;
92
- //# sourceMappingURL=surface-v1R6gg3O.cjs.map
92
+ //# sourceMappingURL=surface-CgjTa2At.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"surface-v1R6gg3O.cjs","sources":["../src/surface/surface.ts"],"sourcesContent":["import { createContext, provide } from '@lit/context'\nimport { TailwindElement } from '@mixins/tailwind.mixin'\nimport { TSurfaceColor } from '@schmancy/types'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nexport const SchmancySurfaceTypeContext = createContext<TSurfaceColor>('surface')\n\nexport type SchmancySurfaceFill = 'all' | 'width' | 'height' | 'auto'\n/**\n * `<schmancy-surface>` component\n *\n * This component renders a styled container that adapts its dimensions based on the `fill` property.\n * It supports various rounding options, elevation levels, and applies background and text color classes\n * based on the specified surface variant. Additionally, when the `scroller` property is true, the component\n * enables internal scrolling by applying overflow and scroll-behavior styles.\n *\n * @element schmancy-surface\n * @slot - Default slot for projecting child content.\n *\n * @example\n * <schmancy-surface fill=\"all\" rounded=\"all\" elevation=\"3\" type=\"surfaceBright\" scroller>\n * <p>Your scrollable content here</p>\n * </schmancy-surface>\n */\n@customElement('schmancy-surface')\nexport class SchmancySurface extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tinset: 0;\n\t\tbox-sizing: border-box;\n\t}\n\t\n\t/* Fill styles */\n\t:host([fill='all']) {\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\t:host([fill='width']) {\n\t\twidth: 100%;\n\t}\n\t:host([fill='height']) {\n\t\theight: 100%;\n\t}\n\t\n\t/* Rounded corner styles */\n\t:host([rounded='none']) {\n\t\tborder-radius: 0;\n\t}\n\t:host([rounded='top']) {\n\t\tborder-radius: 8px 8px 0 0;\n\t}\n\t:host([rounded='left']) {\n\t\tborder-radius: 8px 0 0 8px;\n\t}\n\t:host([rounded='right']) {\n\t\tborder-radius: 0 8px 8px 0;\n\t}\n\t:host([rounded='bottom']) {\n\t\tborder-radius: 0 0 8px 8px;\n\t}\n\t:host([rounded='all']) {\n\t\tborder-radius: 8px;\n\t}\n\t\n\t/* Elevation styles */\n\t:host([elevation='1']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-1);\n\t}\n\t:host([elevation='2']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-2);\n\t}\n\t:host([elevation='3']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t}\n\t:host([elevation='4']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-4);\n\t}\n\t:host([elevation='5']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-5);\n\t}\n\t\n\t/* Surface type styles - background and text colors */\n\t:host([type='surface']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-default);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='surfaceDim']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-dim);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='surfaceBright']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-bright);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='containerLowest']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-lowest);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='containerLow']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-low);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='container']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='containerHigh']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-high);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='containerHighest']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-highest);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n`) {\n\t/**\n\t * Fill the width and/or height of the parent container.\n\t * Options: 'all', 'width', 'height', 'auto'.\n\t * @default 'auto'\n\t */\n\t@property({ type: String, reflect: true })\n\tfill: 'all' | 'width' | 'height' | 'auto' = 'auto'\n\n\t/**\n\t * Specifies the rounding style of the component's corners.\n\t * Options: 'none', 'top', 'left', 'right', 'bottom', 'all'.\n\t * @default 'none'\n\t */\n\t@property({ reflect: true })\n\trounded: 'none' | 'top' | 'left' | 'right' | 'bottom' | 'all' = 'none'\n\n\t/**\n\t * Specifies the surface type for styling.\n\t * Provided to descendant components via context.\n\t * Options: 'surface', 'surfaceDim', 'surfaceBright', 'containerLowest',\n\t * 'containerLow', 'container', 'containerHigh', 'containerHighest'.\n\t * @default 'container'\n\t */\n\t@provide({ context: SchmancySurfaceTypeContext })\n\t@property({ reflect: true })\n\ttype: TSurfaceColor = 'container'\n\n\t/**\n\t * Defines the elevation level (shadow depth) of the surface.\n\t * Valid values: 0, 1, 2, 3, 4, 5.\n\t * @default 0\n\t */\n\t@property({ type: Number, reflect: true })\n\televation: 0 | 1 | 2 | 3 | 4 | 5 = 0\n\n\tprotected render(): unknown {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-surface': SchmancySurface\n\t}\n}"],"names":["SchmancySurfaceTypeContext","createContext","SchmancySurface","TailwindElement","css","super","arguments","this","fill","rounded","type","elevation","render","html","__decorateClass","property","String","reflect","prototype","provide","context","Number","customElement"],"mappings":"kVAMa,MAAAA,EAA6BC,IAA6B,WAoB1DC,QAAAA,gBAAN,cAA8BC,EAAAA,gBAAgBC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAA9C,CAAA,CAAA,cAAAC,MAAAC,GAAAA,SAAAA,EAiGsCC,KAAAC,KAAA,OAQoBD,KAAAE,QAAA,OAW1CF,KAAAG,KAAA,YAQaH,KAAAI,UAAA,CAAA,CAEzB,QAAAC,CACF,OAAAC,EAAAA,mBAAA,CA9BRC,EAAAA,EAAA,CADCC,EAAAA,SAAS,CAAEL,KAAMM,OAAQC,UAhGdf,CAAAA,CAAAA,EAAAA,wBAiGZgB,UAAA,OAAA,GAQAJ,EAAA,CADCC,WAAS,CAAEE,UAxGAf,CAAAA,CAAAA,EAAAA,wBAyGZgB,UAAA,UAAA,CAWAJ,EAAAA,EAAA,CAFCK,IAAQ,CAAEC,QAASpB,CAAAA,CAAAA,EACnBe,WAAS,CAAEE,UAnHAf,CAAAA,CAAAA,EAAAA,wBAoHZgB,UAAA,OAAA,GAQAJ,EAAA,CADCC,EAAAA,SAAS,CAAEL,KAAMW,OAAQJ,QAAAA,MA3Hdf,wBA4HZgB,UAAA,YAAA,CAAA,EA5HYhB,QAANA,gBAAAY,EAAA,CADNQ,EAAAA,cAAc,qBACFpB"}
1
+ {"version":3,"file":"surface-CgjTa2At.cjs","sources":["../src/surface/surface.ts"],"sourcesContent":["import { createContext, provide } from '@lit/context'\nimport { TailwindElement } from '@mixins/tailwind.mixin'\nimport { TSurfaceColor } from '@schmancy/types'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nexport const SchmancySurfaceTypeContext = createContext<TSurfaceColor>('surface')\n\nexport type SchmancySurfaceFill = 'all' | 'width' | 'height' | 'auto'\n/**\n * `<schmancy-surface>` component\n *\n * This component renders a styled container that adapts its dimensions based on the `fill` property.\n * It supports various rounding options, elevation levels, and applies background and text color classes\n * based on the specified surface variant. Additionally, when the `scroller` property is true, the component\n * enables internal scrolling by applying overflow and scroll-behavior styles.\n *\n * @element schmancy-surface\n * @slot - Default slot for projecting child content.\n *\n * @example\n * <schmancy-surface fill=\"all\" rounded=\"all\" elevation=\"3\" type=\"surfaceBright\" scroller>\n * <p>Your scrollable content here</p>\n * </schmancy-surface>\n */\n@customElement('schmancy-surface')\nexport class SchmancySurface extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tinset: 0;\n\t\tbox-sizing: border-box;\n\t}\n\t\n\t/* Fill styles */\n\t:host([fill='all']) {\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\t:host([fill='width']) {\n\t\twidth: 100%;\n\t}\n\t:host([fill='height']) {\n\t\theight: 100%;\n\t}\n\t\n\t/* Rounded corner styles */\n\t:host([rounded='none']) {\n\t\tborder-radius: 0;\n\t}\n\t:host([rounded='top']) {\n\t\tborder-radius: 8px 8px 0 0;\n\t}\n\t:host([rounded='left']) {\n\t\tborder-radius: 8px 0 0 8px;\n\t}\n\t:host([rounded='right']) {\n\t\tborder-radius: 0 8px 8px 0;\n\t}\n\t:host([rounded='bottom']) {\n\t\tborder-radius: 0 0 8px 8px;\n\t}\n\t:host([rounded='all']) {\n\t\tborder-radius: 8px;\n\t}\n\t\n\t/* Elevation styles */\n\t:host([elevation='1']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-1);\n\t}\n\t:host([elevation='2']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-2);\n\t}\n\t:host([elevation='3']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t}\n\t:host([elevation='4']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-4);\n\t}\n\t:host([elevation='5']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-5);\n\t}\n\t\n\t/* Surface type styles - background and text colors */\n\t:host([type='surface']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-default);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='surfaceDim']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-dim);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='surfaceBright']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-bright);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='containerLowest']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-lowest);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='containerLow']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-low);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='container']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='containerHigh']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-high);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='containerHighest']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-highest);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n`) {\n\t/**\n\t * Fill the width and/or height of the parent container.\n\t * Options: 'all', 'width', 'height', 'auto'.\n\t * @default 'auto'\n\t */\n\t@property({ type: String, reflect: true })\n\tfill: 'all' | 'width' | 'height' | 'auto' = 'auto'\n\n\t/**\n\t * Specifies the rounding style of the component's corners.\n\t * Options: 'none', 'top', 'left', 'right', 'bottom', 'all'.\n\t * @default 'none'\n\t */\n\t@property({ reflect: true })\n\trounded: 'none' | 'top' | 'left' | 'right' | 'bottom' | 'all' = 'none'\n\n\t/**\n\t * Specifies the surface type for styling.\n\t * Provided to descendant components via context.\n\t * Options: 'surface', 'surfaceDim', 'surfaceBright', 'containerLowest',\n\t * 'containerLow', 'container', 'containerHigh', 'containerHighest'.\n\t * @default 'container'\n\t */\n\t@provide({ context: SchmancySurfaceTypeContext })\n\t@property({ reflect: true })\n\ttype: TSurfaceColor = 'container'\n\n\t/**\n\t * Defines the elevation level (shadow depth) of the surface.\n\t * Valid values: 0, 1, 2, 3, 4, 5.\n\t * @default 0\n\t */\n\t@property({ type: Number, reflect: true })\n\televation: 0 | 1 | 2 | 3 | 4 | 5 = 0\n\n\tprotected render(): unknown {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-surface': SchmancySurface\n\t}\n}"],"names":["SchmancySurfaceTypeContext","createContext","SchmancySurface","TailwindElement","css","super","arguments","this","fill","rounded","type","elevation","render","html","__decorateClass","property","String","reflect","prototype","provide","context","Number","customElement"],"mappings":"kVAMa,MAAAA,EAA6BC,IAA6B,WAoB1DC,QAAAA,gBAAN,cAA8BC,EAAAA,gBAAgBC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAA9C,CAAA,CAAA,cAAAC,MAAAC,GAAAA,SAAAA,EAiGsCC,KAAAC,KAAA,OAQoBD,KAAAE,QAAA,OAW1CF,KAAAG,KAAA,YAQaH,KAAAI,UAAA,CAAA,CAEzB,QAAAC,CACF,OAAAC,EAAAA,mBAAA,CA9BRC,EAAAA,EAAA,CADCC,EAAAA,SAAS,CAAEL,KAAMM,OAAQC,UAhGdf,CAAAA,CAAAA,EAAAA,wBAiGZgB,UAAA,OAAA,GAQAJ,EAAA,CADCC,WAAS,CAAEE,UAxGAf,CAAAA,CAAAA,EAAAA,wBAyGZgB,UAAA,UAAA,CAWAJ,EAAAA,EAAA,CAFCK,IAAQ,CAAEC,QAASpB,CAAAA,CAAAA,EACnBe,WAAS,CAAEE,UAnHAf,CAAAA,CAAAA,EAAAA,wBAoHZgB,UAAA,OAAA,GAQAJ,EAAA,CADCC,EAAAA,SAAS,CAAEL,KAAMW,OAAQJ,QAAAA,MA3Hdf,wBA4HZgB,UAAA,YAAA,CAAA,EA5HYhB,QAANA,gBAAAY,EAAA,CADNQ,EAAAA,cAAc,qBACFpB"}
@@ -1,5 +1,5 @@
1
1
  import { e as y, n as i } from "./provide-hwQSumt-.js";
2
- import { T as d } from "./tailwind.mixin-CBugs0NU.js";
2
+ import { T as d } from "./tailwind.mixin-BPIDvfDe.js";
3
3
  import { css as u, html as p } from "lit";
4
4
  import { property as t, customElement as f } from "lit/decorators.js";
5
5
  var m = Object.defineProperty, v = Object.getOwnPropertyDescriptor, s = (h, e, a, c) => {
@@ -110,4 +110,4 @@ export {
110
110
  b as S,
111
111
  r as a
112
112
  };
113
- //# sourceMappingURL=surface-CULbYLWK.js.map
113
+ //# sourceMappingURL=surface-KO5G93q6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"surface-CULbYLWK.js","sources":["../src/surface/surface.ts"],"sourcesContent":["import { createContext, provide } from '@lit/context'\nimport { TailwindElement } from '@mixins/tailwind.mixin'\nimport { TSurfaceColor } from '@schmancy/types'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nexport const SchmancySurfaceTypeContext = createContext<TSurfaceColor>('surface')\n\nexport type SchmancySurfaceFill = 'all' | 'width' | 'height' | 'auto'\n/**\n * `<schmancy-surface>` component\n *\n * This component renders a styled container that adapts its dimensions based on the `fill` property.\n * It supports various rounding options, elevation levels, and applies background and text color classes\n * based on the specified surface variant. Additionally, when the `scroller` property is true, the component\n * enables internal scrolling by applying overflow and scroll-behavior styles.\n *\n * @element schmancy-surface\n * @slot - Default slot for projecting child content.\n *\n * @example\n * <schmancy-surface fill=\"all\" rounded=\"all\" elevation=\"3\" type=\"surfaceBright\" scroller>\n * <p>Your scrollable content here</p>\n * </schmancy-surface>\n */\n@customElement('schmancy-surface')\nexport class SchmancySurface extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tinset: 0;\n\t\tbox-sizing: border-box;\n\t}\n\t\n\t/* Fill styles */\n\t:host([fill='all']) {\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\t:host([fill='width']) {\n\t\twidth: 100%;\n\t}\n\t:host([fill='height']) {\n\t\theight: 100%;\n\t}\n\t\n\t/* Rounded corner styles */\n\t:host([rounded='none']) {\n\t\tborder-radius: 0;\n\t}\n\t:host([rounded='top']) {\n\t\tborder-radius: 8px 8px 0 0;\n\t}\n\t:host([rounded='left']) {\n\t\tborder-radius: 8px 0 0 8px;\n\t}\n\t:host([rounded='right']) {\n\t\tborder-radius: 0 8px 8px 0;\n\t}\n\t:host([rounded='bottom']) {\n\t\tborder-radius: 0 0 8px 8px;\n\t}\n\t:host([rounded='all']) {\n\t\tborder-radius: 8px;\n\t}\n\t\n\t/* Elevation styles */\n\t:host([elevation='1']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-1);\n\t}\n\t:host([elevation='2']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-2);\n\t}\n\t:host([elevation='3']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t}\n\t:host([elevation='4']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-4);\n\t}\n\t:host([elevation='5']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-5);\n\t}\n\t\n\t/* Surface type styles - background and text colors */\n\t:host([type='surface']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-default);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='surfaceDim']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-dim);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='surfaceBright']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-bright);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='containerLowest']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-lowest);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='containerLow']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-low);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='container']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='containerHigh']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-high);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='containerHighest']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-highest);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n`) {\n\t/**\n\t * Fill the width and/or height of the parent container.\n\t * Options: 'all', 'width', 'height', 'auto'.\n\t * @default 'auto'\n\t */\n\t@property({ type: String, reflect: true })\n\tfill: 'all' | 'width' | 'height' | 'auto' = 'auto'\n\n\t/**\n\t * Specifies the rounding style of the component's corners.\n\t * Options: 'none', 'top', 'left', 'right', 'bottom', 'all'.\n\t * @default 'none'\n\t */\n\t@property({ reflect: true })\n\trounded: 'none' | 'top' | 'left' | 'right' | 'bottom' | 'all' = 'none'\n\n\t/**\n\t * Specifies the surface type for styling.\n\t * Provided to descendant components via context.\n\t * Options: 'surface', 'surfaceDim', 'surfaceBright', 'containerLowest',\n\t * 'containerLow', 'container', 'containerHigh', 'containerHighest'.\n\t * @default 'container'\n\t */\n\t@provide({ context: SchmancySurfaceTypeContext })\n\t@property({ reflect: true })\n\ttype: TSurfaceColor = 'container'\n\n\t/**\n\t * Defines the elevation level (shadow depth) of the surface.\n\t * Valid values: 0, 1, 2, 3, 4, 5.\n\t * @default 0\n\t */\n\t@property({ type: Number, reflect: true })\n\televation: 0 | 1 | 2 | 3 | 4 | 5 = 0\n\n\tprotected render(): unknown {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-surface': SchmancySurface\n\t}\n}"],"names":["SchmancySurfaceTypeContext","createContext","SchmancySurface","TailwindElement","css","super","arguments","this","fill","rounded","type","elevation","render","html","__decorateClass","property","String","reflect","prototype","provide","context","Number","customElement"],"mappings":";;;;;;;;AAMa,MAAAA,IAA6BC,EAA6B,SAoB1D;AAAA,IAAAC,IAAN,cAA8BC,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAA9C,EAAA;AAAA,EAAA;AAAAC,UAAAC,GAAAA,SAAAA,GAiGsCC,KAAAC,OAAA,QAQoBD,KAAAE,UAAA,QAW1CF,KAAAG,OAAA,aAQaH,KAAAI,YAAA;AAAA,EAAA;AAAA,EAEzB,SAAAC;AACF,WAAAC;AAAAA,EAAA;AA9BRC;AAAAA,EAAA,CADCC,EAAS,EAAEL,MAAMM,QAAQC,SAAS,GAAA,CAAA,CAAA,GAhGvBf,EAiGZgB,WAAA,QAAA,CAQAJ,GAAAA,EAAA,CADCC,EAAS,EAAEE,SAAS,GAAA,CAAA,CAAA,GAxGTf,EAyGZgB,WAAA,WAAA,CAWAJ,GAAAA,EAAA,CAFCK,EAAQ,EAAEC,SAASpB,EAAAA,CAAAA,GACnBe,EAAS,EAAEE,SAAAA,GAnHAf,CAAAA,CAAAA,GAAAA,EAoHZgB,WAAA,QAAA,CAAA,GAQAJ,EAAA,CADCC,EAAS,EAAEL,MAAMW,QAAQJ,SAAAA,QA3Hdf,EA4HZgB,WAAA,aAAA,CAAA,GA5HYhB,IAANY,EAAA,CADNQ,EAAc,kBAAA,CAAA,GACFpB;"}
1
+ {"version":3,"file":"surface-KO5G93q6.js","sources":["../src/surface/surface.ts"],"sourcesContent":["import { createContext, provide } from '@lit/context'\nimport { TailwindElement } from '@mixins/tailwind.mixin'\nimport { TSurfaceColor } from '@schmancy/types'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nexport const SchmancySurfaceTypeContext = createContext<TSurfaceColor>('surface')\n\nexport type SchmancySurfaceFill = 'all' | 'width' | 'height' | 'auto'\n/**\n * `<schmancy-surface>` component\n *\n * This component renders a styled container that adapts its dimensions based on the `fill` property.\n * It supports various rounding options, elevation levels, and applies background and text color classes\n * based on the specified surface variant. Additionally, when the `scroller` property is true, the component\n * enables internal scrolling by applying overflow and scroll-behavior styles.\n *\n * @element schmancy-surface\n * @slot - Default slot for projecting child content.\n *\n * @example\n * <schmancy-surface fill=\"all\" rounded=\"all\" elevation=\"3\" type=\"surfaceBright\" scroller>\n * <p>Your scrollable content here</p>\n * </schmancy-surface>\n */\n@customElement('schmancy-surface')\nexport class SchmancySurface extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tinset: 0;\n\t\tbox-sizing: border-box;\n\t}\n\t\n\t/* Fill styles */\n\t:host([fill='all']) {\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\t:host([fill='width']) {\n\t\twidth: 100%;\n\t}\n\t:host([fill='height']) {\n\t\theight: 100%;\n\t}\n\t\n\t/* Rounded corner styles */\n\t:host([rounded='none']) {\n\t\tborder-radius: 0;\n\t}\n\t:host([rounded='top']) {\n\t\tborder-radius: 8px 8px 0 0;\n\t}\n\t:host([rounded='left']) {\n\t\tborder-radius: 8px 0 0 8px;\n\t}\n\t:host([rounded='right']) {\n\t\tborder-radius: 0 8px 8px 0;\n\t}\n\t:host([rounded='bottom']) {\n\t\tborder-radius: 0 0 8px 8px;\n\t}\n\t:host([rounded='all']) {\n\t\tborder-radius: 8px;\n\t}\n\t\n\t/* Elevation styles */\n\t:host([elevation='1']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-1);\n\t}\n\t:host([elevation='2']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-2);\n\t}\n\t:host([elevation='3']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t}\n\t:host([elevation='4']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-4);\n\t}\n\t:host([elevation='5']) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-5);\n\t}\n\t\n\t/* Surface type styles - background and text colors */\n\t:host([type='surface']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-default);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='surfaceDim']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-dim);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='surfaceBright']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-bright);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='containerLowest']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-lowest);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='containerLow']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-low);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='container']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='containerHigh']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-high);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\t:host([type='containerHighest']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-highest);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n`) {\n\t/**\n\t * Fill the width and/or height of the parent container.\n\t * Options: 'all', 'width', 'height', 'auto'.\n\t * @default 'auto'\n\t */\n\t@property({ type: String, reflect: true })\n\tfill: 'all' | 'width' | 'height' | 'auto' = 'auto'\n\n\t/**\n\t * Specifies the rounding style of the component's corners.\n\t * Options: 'none', 'top', 'left', 'right', 'bottom', 'all'.\n\t * @default 'none'\n\t */\n\t@property({ reflect: true })\n\trounded: 'none' | 'top' | 'left' | 'right' | 'bottom' | 'all' = 'none'\n\n\t/**\n\t * Specifies the surface type for styling.\n\t * Provided to descendant components via context.\n\t * Options: 'surface', 'surfaceDim', 'surfaceBright', 'containerLowest',\n\t * 'containerLow', 'container', 'containerHigh', 'containerHighest'.\n\t * @default 'container'\n\t */\n\t@provide({ context: SchmancySurfaceTypeContext })\n\t@property({ reflect: true })\n\ttype: TSurfaceColor = 'container'\n\n\t/**\n\t * Defines the elevation level (shadow depth) of the surface.\n\t * Valid values: 0, 1, 2, 3, 4, 5.\n\t * @default 0\n\t */\n\t@property({ type: Number, reflect: true })\n\televation: 0 | 1 | 2 | 3 | 4 | 5 = 0\n\n\tprotected render(): unknown {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-surface': SchmancySurface\n\t}\n}"],"names":["SchmancySurfaceTypeContext","createContext","SchmancySurface","TailwindElement","css","super","arguments","this","fill","rounded","type","elevation","render","html","__decorateClass","property","String","reflect","prototype","provide","context","Number","customElement"],"mappings":";;;;;;;;AAMa,MAAAA,IAA6BC,EAA6B,SAoB1D;AAAA,IAAAC,IAAN,cAA8BC,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAA9C,EAAA;AAAA,EAAA;AAAAC,UAAAC,GAAAA,SAAAA,GAiGsCC,KAAAC,OAAA,QAQoBD,KAAAE,UAAA,QAW1CF,KAAAG,OAAA,aAQaH,KAAAI,YAAA;AAAA,EAAA;AAAA,EAEzB,SAAAC;AACF,WAAAC;AAAAA,EAAA;AA9BRC;AAAAA,EAAA,CADCC,EAAS,EAAEL,MAAMM,QAAQC,SAAS,GAAA,CAAA,CAAA,GAhGvBf,EAiGZgB,WAAA,QAAA,CAQAJ,GAAAA,EAAA,CADCC,EAAS,EAAEE,SAAS,GAAA,CAAA,CAAA,GAxGTf,EAyGZgB,WAAA,WAAA,CAWAJ,GAAAA,EAAA,CAFCK,EAAQ,EAAEC,SAASpB,EAAAA,CAAAA,GACnBe,EAAS,EAAEE,SAAAA,GAnHAf,CAAAA,CAAAA,GAAAA,EAoHZgB,WAAA,QAAA,CAAA,GAQAJ,EAAA,CADCC,EAAS,EAAEL,MAAMW,QAAQJ,SAAAA,QA3Hdf,EA4HZgB,WAAA,aAAA,CAAA,GA5HYhB,IAANY,EAAA,CADNQ,EAAc,kBAAA,CAAA,GACFpB;"}
package/dist/surface.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./surface-v1R6gg3O.cjs");Object.defineProperty(exports,"SchmancySurface",{enumerable:!0,get:()=>e.SchmancySurface}),exports.SchmancySurfaceTypeContext=e.SchmancySurfaceTypeContext;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./surface-CgjTa2At.cjs");Object.defineProperty(exports,"SchmancySurface",{enumerable:!0,get:()=>e.SchmancySurface}),exports.SchmancySurfaceTypeContext=e.SchmancySurfaceTypeContext;
2
2
  //# sourceMappingURL=surface.cjs.map
package/dist/surface.js CHANGED
@@ -1,4 +1,4 @@
1
- import { a as e, S } from "./surface-CULbYLWK.js";
1
+ import { a as e, S } from "./surface-KO5G93q6.js";
2
2
  export {
3
3
  e as SchmancySurface,
4
4
  S as SchmancySurfaceTypeContext
@@ -4,7 +4,7 @@ import { property as v } from "lit/decorators/property.js";
4
4
  import { directive as W, PartType as q } from "lit/directive.js";
5
5
  import { AsyncDirective as U } from "lit/async-directive.js";
6
6
  import { repeat as G } from "lit/directives/repeat.js";
7
- import { $ as D } from "./litElement.mixin-DgPgTgtr.js";
7
+ import { $ as D } from "./litElement.mixin-DCTPuIQ4.js";
8
8
  import { property as _, customElement as M, state as x } from "lit/decorators.js";
9
9
  var J = Object.defineProperty, X = Object.getOwnPropertyDescriptor, w = (s, t, e, i) => {
10
10
  for (var r, l = i > 1 ? void 0 : i ? X(t, e) : t, o = s.length - 1; o >= 0; o--) (r = s[o]) && (l = (i ? r(t, e, l) : r(l)) || l);
@@ -566,4 +566,4 @@ export {
566
566
  b as S,
567
567
  u as a
568
568
  };
569
- //# sourceMappingURL=table-DiyvbCo7.js.map
569
+ //# sourceMappingURL=table-ae8AvxxX.js.map