@mhmo91/schmancy 0.7.7 → 0.8.4

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 (551) hide show
  1. package/ai/audio.md +241 -0
  2. package/ai/content-drawer.md +163 -70
  3. package/ai/lightbox.md +381 -0
  4. package/ai/typography.md +75 -49
  5. package/dist/ai/audio.md +241 -0
  6. package/dist/ai/content-drawer.md +163 -70
  7. package/dist/ai/lightbox.md +381 -0
  8. package/dist/ai/typography.md +75 -49
  9. package/dist/{animated-text-Be290e6l.cjs → animated-text-B3DQRJBy.cjs} +2 -2
  10. package/dist/{animated-text-Be290e6l.cjs.map → animated-text-B3DQRJBy.cjs.map} +1 -1
  11. package/dist/{animated-text-DuLrWJ6O.js → animated-text-BAj4-6hE.js} +3 -3
  12. package/dist/{animated-text-DuLrWJ6O.js.map → animated-text-BAj4-6hE.js.map} +1 -1
  13. package/dist/animated-text.cjs +1 -1
  14. package/dist/animated-text.js +1 -1
  15. package/dist/area.cjs +1 -1
  16. package/dist/{area.component-BzjJiNTJ.js → area.component-CP4DZ0d8.js} +104 -98
  17. package/dist/area.component-CP4DZ0d8.js.map +1 -0
  18. package/dist/area.component-ChxSLt16.cjs +12 -0
  19. package/dist/area.component-ChxSLt16.cjs.map +1 -0
  20. package/dist/area.js +1 -1
  21. package/dist/audio.cjs +2 -0
  22. package/dist/audio.cjs.map +1 -0
  23. package/dist/audio.js +9 -0
  24. package/dist/audio.js.map +1 -0
  25. package/dist/{autocomplete-CHmGhBNt.cjs → autocomplete-CAaVSg4g.cjs} +2 -2
  26. package/dist/{autocomplete-CHmGhBNt.cjs.map → autocomplete-CAaVSg4g.cjs.map} +1 -1
  27. package/dist/{autocomplete-FLkd9ju8.js → autocomplete-CGbACUYd.js} +4 -4
  28. package/dist/{autocomplete-FLkd9ju8.js.map → autocomplete-CGbACUYd.js.map} +1 -1
  29. package/dist/autocomplete.cjs +1 -1
  30. package/dist/autocomplete.js +1 -1
  31. package/dist/avatar-nWOZXEsW.cjs +273 -0
  32. package/dist/avatar-nWOZXEsW.cjs.map +1 -0
  33. package/dist/{avatar-C8P4lVfa.js → avatar-rLCF6MSI.js} +244 -259
  34. package/dist/avatar-rLCF6MSI.js.map +1 -0
  35. package/dist/badge.cjs +1 -1
  36. package/dist/badge.js +1 -1
  37. package/dist/{boat-Ma6LW-ny.js → boat-Ckt9v__d.js} +6 -6
  38. package/dist/{boat-Ma6LW-ny.js.map → boat-Ckt9v__d.js.map} +1 -1
  39. package/dist/{boat-kYOUec8f.cjs → boat-yNAZ2LLB.cjs} +5 -5
  40. package/dist/{boat-kYOUec8f.cjs.map → boat-yNAZ2LLB.cjs.map} +1 -1
  41. package/dist/boat.cjs +1 -1
  42. package/dist/boat.js +1 -1
  43. package/dist/busy.cjs +1 -1
  44. package/dist/busy.js +1 -1
  45. package/dist/button.cjs +1 -1
  46. package/dist/button.js +1 -1
  47. package/dist/card.cjs +1 -1
  48. package/dist/card.js +1 -1
  49. package/dist/charts.cjs +2 -0
  50. package/dist/charts.cjs.map +1 -0
  51. package/dist/charts.js +9 -0
  52. package/dist/charts.js.map +1 -0
  53. package/dist/{checkbox-DLZkKaon.cjs → checkbox-BnAlpsJN.cjs} +2 -2
  54. package/dist/{checkbox-DLZkKaon.cjs.map → checkbox-BnAlpsJN.cjs.map} +1 -1
  55. package/dist/{checkbox-x46L-XTG.js → checkbox-D22yfGe3.js} +6 -6
  56. package/dist/{checkbox-x46L-XTG.js.map → checkbox-D22yfGe3.js.map} +1 -1
  57. package/dist/checkbox.cjs +1 -1
  58. package/dist/checkbox.js +1 -1
  59. package/dist/chips.cjs +1 -1
  60. package/dist/chips.js +2 -2
  61. package/dist/code-highlight.cjs +1 -1
  62. package/dist/code-highlight.js +1 -1
  63. package/dist/{code-preview-C3DLglSl.js → code-preview-DPlQayFd.js} +3 -3
  64. package/dist/{code-preview-C3DLglSl.js.map → code-preview-DPlQayFd.js.map} +1 -1
  65. package/dist/{code-preview-BsQq77nu.cjs → code-preview-jPnX60FF.cjs} +2 -2
  66. package/dist/{code-preview-BsQq77nu.cjs.map → code-preview-jPnX60FF.cjs.map} +1 -1
  67. package/dist/components.cjs +1 -1
  68. package/dist/components.js +1 -1
  69. package/dist/content-drawer.cjs +1 -1
  70. package/dist/content-drawer.js +1 -1
  71. package/dist/{context-create-BvxbWTgj.js → context-create-B_S-sD5B.js} +69 -57
  72. package/dist/context-create-B_S-sD5B.js.map +1 -0
  73. package/dist/context-create-DTybDbZp.cjs +2 -0
  74. package/dist/context-create-DTybDbZp.cjs.map +1 -0
  75. package/dist/date-range-GFm5NG33.js +639 -0
  76. package/dist/date-range-GFm5NG33.js.map +1 -0
  77. package/dist/{date-range-inline-cGptw0hr.cjs → date-range-inline-CgX2o0FP.cjs} +2 -2
  78. package/dist/{date-range-inline-cGptw0hr.cjs.map → date-range-inline-CgX2o0FP.cjs.map} +1 -1
  79. package/dist/{date-range-inline-CfDu-lIo.js → date-range-inline-DTQLESAZ.js} +3 -3
  80. package/dist/{date-range-inline-CfDu-lIo.js.map → date-range-inline-DTQLESAZ.js.map} +1 -1
  81. package/dist/date-range-inline.cjs +1 -1
  82. package/dist/date-range-inline.js +1 -1
  83. package/dist/date-range-ug3B9CFT.cjs +119 -0
  84. package/dist/date-range-ug3B9CFT.cjs.map +1 -0
  85. package/dist/date-range.cjs +1 -1
  86. package/dist/date-range.js +1 -1
  87. package/dist/{delay-CXFIM6qK.cjs → delay-CWtBL0VD.cjs} +2 -2
  88. package/dist/delay-CWtBL0VD.cjs.map +1 -0
  89. package/dist/{delay-BINGOQ7f.js → delay-DEe1CmHc.js} +45 -45
  90. package/dist/delay-DEe1CmHc.js.map +1 -0
  91. package/dist/delay.cjs +1 -1
  92. package/dist/delay.js +1 -1
  93. package/dist/details-D-LXW23W.js +100 -0
  94. package/dist/details-D-LXW23W.js.map +1 -0
  95. package/dist/details-DVke77dU.cjs +55 -0
  96. package/dist/details-DVke77dU.cjs.map +1 -0
  97. package/dist/details.cjs +1 -1
  98. package/dist/details.js +1 -1
  99. package/dist/dialog-service-C86xTS8q.cjs +2 -0
  100. package/dist/dialog-service-C86xTS8q.cjs.map +1 -0
  101. package/dist/dialog-service-D9E3jLAR.js +118 -0
  102. package/dist/dialog-service-D9E3jLAR.js.map +1 -0
  103. package/dist/dialog.cjs +1 -1
  104. package/dist/dialog.component-BM0D-hK9.cjs +48 -0
  105. package/dist/dialog.component-BM0D-hK9.cjs.map +1 -0
  106. package/dist/dialog.component-a7FlKhGD.js +145 -0
  107. package/dist/dialog.component-a7FlKhGD.js.map +1 -0
  108. package/dist/dialog.js +7 -7
  109. package/dist/directives.cjs +1 -1
  110. package/dist/directives.js +11 -10
  111. package/dist/directives.js.map +1 -1
  112. package/dist/{divider-Bu6tzwGl.js → divider-CzTpxOqt.js} +3 -3
  113. package/dist/{divider-Bu6tzwGl.js.map → divider-CzTpxOqt.js.map} +1 -1
  114. package/dist/{divider-8tk2mDbL.cjs → divider-D8KStUhN.cjs} +2 -2
  115. package/dist/{divider-8tk2mDbL.cjs.map → divider-D8KStUhN.cjs.map} +1 -1
  116. package/dist/divider.cjs +1 -1
  117. package/dist/divider.js +1 -1
  118. package/dist/{dropdown-content-DFb07S8x.cjs → dropdown-content-CngZN3vv.cjs} +2 -2
  119. package/dist/{dropdown-content-DFb07S8x.cjs.map → dropdown-content-CngZN3vv.cjs.map} +1 -1
  120. package/dist/{dropdown-content-fVhnEKdY.js → dropdown-content-DCn-g0-f.js} +3 -3
  121. package/dist/{dropdown-content-fVhnEKdY.js.map → dropdown-content-DCn-g0-f.js.map} +1 -1
  122. package/dist/dropdown.cjs +1 -1
  123. package/dist/dropdown.js +1 -1
  124. package/dist/{email-recipients-BG3GxJvc.cjs → email-recipients-BhntMZMf.cjs} +2 -2
  125. package/dist/{email-recipients-BG3GxJvc.cjs.map → email-recipients-BhntMZMf.cjs.map} +1 -1
  126. package/dist/{email-recipients-OG52RGiH.js → email-recipients-BzjAKNJ0.js} +8 -7
  127. package/dist/{email-recipients-OG52RGiH.js.map → email-recipients-BzjAKNJ0.js.map} +1 -1
  128. package/dist/emotional-sounds-BRnFhww6.js +234 -0
  129. package/dist/emotional-sounds-BRnFhww6.js.map +1 -0
  130. package/dist/emotional-sounds-DVGhmoZf.cjs +2 -0
  131. package/dist/emotional-sounds-DVGhmoZf.cjs.map +1 -0
  132. package/dist/extra.cjs +1 -1
  133. package/dist/extra.js +1 -1
  134. package/dist/flex-5dR48zie.js +183 -0
  135. package/dist/flex-5dR48zie.js.map +1 -0
  136. package/dist/flex-oHl2EfYB.cjs +18 -0
  137. package/dist/flex-oHl2EfYB.cjs.map +1 -0
  138. package/dist/{form-cWJBcwc6.cjs → form-BlPiAPt7.cjs} +2 -2
  139. package/dist/{form-cWJBcwc6.cjs.map → form-BlPiAPt7.cjs.map} +1 -1
  140. package/dist/{form-tpyd1nsT.js → form-BxVM6JTn.js} +2 -2
  141. package/dist/{form-tpyd1nsT.js.map → form-BxVM6JTn.js.map} +1 -1
  142. package/dist/form.cjs +1 -1
  143. package/dist/form.js +1 -1
  144. package/dist/{formField.mixin-Mx5CwYUh.js → formField.mixin-BCGA7Ea3.js} +2 -2
  145. package/dist/{formField.mixin-Mx5CwYUh.js.map → formField.mixin-BCGA7Ea3.js.map} +1 -1
  146. package/dist/{formField.mixin-XlN2pAL0.cjs → formField.mixin-BfJMifU9.cjs} +2 -2
  147. package/dist/{formField.mixin-XlN2pAL0.cjs.map → formField.mixin-BfJMifU9.cjs.map} +1 -1
  148. package/dist/height-CfECBO2j.js +44 -0
  149. package/dist/height-CfECBO2j.js.map +1 -0
  150. package/dist/height-Z70qJYJK.cjs +2 -0
  151. package/dist/height-Z70qJYJK.cjs.map +1 -0
  152. package/dist/icon-DHEXr3c-.cjs +49 -0
  153. package/dist/icon-DHEXr3c-.cjs.map +1 -0
  154. package/dist/{icon-Y2qLOFqe.js → icon-DYpLoegR.js} +17 -17
  155. package/dist/icon-DYpLoegR.js.map +1 -0
  156. package/dist/icon-button-CmZBLHWC.js +164 -0
  157. package/dist/icon-button-CmZBLHWC.js.map +1 -0
  158. package/dist/icon-button-IbSX8C98.cjs +70 -0
  159. package/dist/icon-button-IbSX8C98.cjs.map +1 -0
  160. package/dist/icons.cjs +1 -1
  161. package/dist/icons.js +1 -1
  162. package/dist/index.cjs +1 -1
  163. package/dist/index.js +275 -250
  164. package/dist/index.js.map +1 -1
  165. package/dist/input-BByjYlgl.cjs +51 -0
  166. package/dist/input-BByjYlgl.cjs.map +1 -0
  167. package/dist/{input-DDCFZ3cr.js → input-D0cQ9DOY.js} +35 -31
  168. package/dist/input-D0cQ9DOY.js.map +1 -0
  169. package/dist/{input-chip-DVE4_1wn.js → input-chip-B5ErXgCB.js} +2 -2
  170. package/dist/{input-chip-DVE4_1wn.js.map → input-chip-B5ErXgCB.js.map} +1 -1
  171. package/dist/{input-chip-Bht9MU9G.cjs → input-chip-DkWaTciP.cjs} +2 -2
  172. package/dist/{input-chip-Bht9MU9G.cjs.map → input-chip-DkWaTciP.cjs.map} +1 -1
  173. package/dist/input.cjs +1 -1
  174. package/dist/input.js +1 -1
  175. package/dist/json-BZVe74np.cjs +12 -0
  176. package/dist/json-BZVe74np.cjs.map +1 -0
  177. package/dist/json-PKewOWuJ.js +51 -0
  178. package/dist/json-PKewOWuJ.js.map +1 -0
  179. package/dist/json.cjs +2 -0
  180. package/dist/json.cjs.map +1 -0
  181. package/dist/json.js +5 -0
  182. package/dist/json.js.map +1 -0
  183. package/dist/layout.cjs +1 -1
  184. package/dist/layout.js +4 -3
  185. package/dist/layout.js.map +1 -1
  186. package/dist/lightbox-service-D-0JtxB1.cjs +202 -0
  187. package/dist/lightbox-service-D-0JtxB1.cjs.map +1 -0
  188. package/dist/lightbox-service-DZMnb1eU.js +458 -0
  189. package/dist/lightbox-service-DZMnb1eU.js.map +1 -0
  190. package/dist/lightbox.cjs +2 -0
  191. package/dist/lightbox.cjs.map +1 -0
  192. package/dist/lightbox.js +8 -0
  193. package/dist/lightbox.js.map +1 -0
  194. package/dist/{list-Bac329kq.cjs → list-B_2m7l3g.cjs} +6 -6
  195. package/dist/list-B_2m7l3g.cjs.map +1 -0
  196. package/dist/{list-BO1gnjmc.js → list-CW56LV-v.js} +13 -13
  197. package/dist/list-CW56LV-v.js.map +1 -0
  198. package/dist/list.cjs +1 -1
  199. package/dist/list.js +1 -1
  200. package/dist/{litElement.mixin-B1WTI3WY.cjs → litElement.mixin-CrpeGpZ7.cjs} +2 -2
  201. package/dist/{litElement.mixin-B1WTI3WY.cjs.map → litElement.mixin-CrpeGpZ7.cjs.map} +1 -1
  202. package/dist/{litElement.mixin-CVje6z-M.js → litElement.mixin-DHZXtvYq.js} +2 -2
  203. package/dist/{litElement.mixin-CVje6z-M.js.map → litElement.mixin-DHZXtvYq.js.map} +1 -1
  204. package/dist/mailbox.cjs +1 -1
  205. package/dist/mailbox.js +1 -1
  206. package/dist/{map-C1jVMhlF.js → map-2Hl60a0A.js} +6 -6
  207. package/dist/{map-C1jVMhlF.js.map → map-2Hl60a0A.js.map} +1 -1
  208. package/dist/{map-BlmS6Zfx.cjs → map-DyPS9G7M.cjs} +3 -3
  209. package/dist/{map-BlmS6Zfx.cjs.map → map-DyPS9G7M.cjs.map} +1 -1
  210. package/dist/map.cjs +1 -1
  211. package/dist/map.js +1 -1
  212. package/dist/{media-CxfrOjie.cjs → media-CS8HpKnK.cjs} +2 -2
  213. package/dist/{media-CxfrOjie.cjs.map → media-CS8HpKnK.cjs.map} +1 -1
  214. package/dist/{media-CNMZbEJe.js → media-DtWbcRxL.js} +2 -2
  215. package/dist/{media-CNMZbEJe.js.map → media-DtWbcRxL.js.map} +1 -1
  216. package/dist/menu-Caju5-zd.js +60 -0
  217. package/dist/{menu-CUKV4pVJ.js.map → menu-Caju5-zd.js.map} +1 -1
  218. package/dist/{menu-DEa2K7Pk.cjs → menu-rX5RPAI2.cjs} +4 -6
  219. package/dist/{menu-DEa2K7Pk.cjs.map → menu-rX5RPAI2.cjs.map} +1 -1
  220. package/dist/menu.cjs +1 -1
  221. package/dist/menu.js +1 -1
  222. package/dist/mixins.cjs +1 -1
  223. package/dist/mixins.js +3 -3
  224. package/dist/nav-drawer.cjs +1 -1
  225. package/dist/nav-drawer.js +1 -1
  226. package/dist/navigation-bar.cjs +1 -1
  227. package/dist/navigation-bar.js +1 -1
  228. package/dist/{navigation-rail-CYKfvZs9.js → navigation-rail-Ctketq5a.js} +43 -38
  229. package/dist/navigation-rail-Ctketq5a.js.map +1 -0
  230. package/dist/navigation-rail-DC9_oSIM.cjs +79 -0
  231. package/dist/navigation-rail-DC9_oSIM.cjs.map +1 -0
  232. package/dist/navigation-rail.cjs +1 -1
  233. package/dist/navigation-rail.js +1 -1
  234. package/dist/notification-service-CUlfXqmj.js +155 -0
  235. package/dist/notification-service-CUlfXqmj.js.map +1 -0
  236. package/dist/notification-service-DknbpqTt.cjs +19 -0
  237. package/dist/notification-service-DknbpqTt.cjs.map +1 -0
  238. package/dist/notification.cjs +1 -1
  239. package/dist/notification.js +6 -8
  240. package/dist/{notify-KvHZ-8z9.js → notify-DJSOWTxv.js} +2 -2
  241. package/dist/notify-DJSOWTxv.js.map +1 -0
  242. package/dist/{notify-VkDx6hMZ.cjs → notify-DickIEHW.cjs} +2 -2
  243. package/dist/notify-DickIEHW.cjs.map +1 -0
  244. package/dist/{option-DnRdbsTb.js → option-Bng41-rY.js} +2 -2
  245. package/dist/{option-DnRdbsTb.js.map → option-Bng41-rY.js.map} +1 -1
  246. package/dist/{option-Eh2AXe-Z.cjs → option-DYT5Rkgy.cjs} +2 -2
  247. package/dist/{option-Eh2AXe-Z.cjs.map → option-DYT5Rkgy.cjs.map} +1 -1
  248. package/dist/option.cjs +1 -1
  249. package/dist/option.js +1 -1
  250. package/dist/page-BLn9gtSd.cjs +20 -0
  251. package/dist/page-BLn9gtSd.cjs.map +1 -0
  252. package/dist/page-D-ROcQDd.js +48 -0
  253. package/dist/page-D-ROcQDd.js.map +1 -0
  254. package/dist/page.cjs +2 -0
  255. package/dist/page.cjs.map +1 -0
  256. package/dist/page.js +5 -0
  257. package/dist/page.js.map +1 -0
  258. package/dist/{payment-card-form-8a4Nqqhy.cjs → payment-card-form-5UtfWzoW.cjs} +2 -2
  259. package/dist/{payment-card-form-8a4Nqqhy.cjs.map → payment-card-form-5UtfWzoW.cjs.map} +1 -1
  260. package/dist/{payment-card-form-EVQEb5OX.js → payment-card-form-BJa4RgF2.js} +3 -3
  261. package/dist/{payment-card-form-EVQEb5OX.js.map → payment-card-form-BJa4RgF2.js.map} +1 -1
  262. package/dist/pills-BS5rZ6C3.js +346 -0
  263. package/dist/pills-BS5rZ6C3.js.map +1 -0
  264. package/dist/pills-Blf7IAeq.cjs +113 -0
  265. package/dist/pills-Blf7IAeq.cjs.map +1 -0
  266. package/dist/progress-DlhYniW_.cjs +35 -0
  267. package/dist/progress-DlhYniW_.cjs.map +1 -0
  268. package/dist/progress-yTIX6EqC.js +56 -0
  269. package/dist/progress-yTIX6EqC.js.map +1 -0
  270. package/dist/progress.cjs +1 -1
  271. package/dist/progress.js +1 -1
  272. package/dist/qr-scanner-DOs7uNS_.cjs +29 -0
  273. package/dist/qr-scanner-DOs7uNS_.cjs.map +1 -0
  274. package/dist/qr-scanner-DjZ8mgHV.js +743 -0
  275. package/dist/qr-scanner-DjZ8mgHV.js.map +1 -0
  276. package/dist/qr-scanner.cjs +2 -0
  277. package/dist/qr-scanner.cjs.map +1 -0
  278. package/dist/qr-scanner.js +5 -0
  279. package/dist/qr-scanner.js.map +1 -0
  280. package/dist/{radio-button-BTdqEOSJ.cjs → radio-button-N_PrrxKB.cjs} +2 -2
  281. package/dist/{radio-button-BTdqEOSJ.cjs.map → radio-button-N_PrrxKB.cjs.map} +1 -1
  282. package/dist/{radio-button-QCukBJLy.js → radio-button-me3SRHGu.js} +3 -3
  283. package/dist/{radio-button-QCukBJLy.js.map → radio-button-me3SRHGu.js.map} +1 -1
  284. package/dist/radio-group.cjs +1 -1
  285. package/dist/radio-group.js +1 -1
  286. package/dist/ripple-BgJXbNSP.js +124 -0
  287. package/dist/ripple-BgJXbNSP.js.map +1 -0
  288. package/dist/ripple-x6sTX02K.cjs +16 -0
  289. package/dist/ripple-x6sTX02K.cjs.map +1 -0
  290. package/dist/{schmancy-steps-container-NZOamraF.js → schmancy-steps-container-J6P-NNNj.js} +3 -3
  291. package/dist/{schmancy-steps-container-NZOamraF.js.map → schmancy-steps-container-J6P-NNNj.js.map} +1 -1
  292. package/dist/{schmancy-steps-container-CtwqkRBU.cjs → schmancy-steps-container-T57BKMzi.cjs} +2 -2
  293. package/dist/{schmancy-steps-container-CtwqkRBU.cjs.map → schmancy-steps-container-T57BKMzi.cjs.map} +1 -1
  294. package/dist/scroll-C_gfUgjn.js +87 -0
  295. package/dist/scroll-C_gfUgjn.js.map +1 -0
  296. package/dist/scroll-CecsowP7.cjs +27 -0
  297. package/dist/scroll-CecsowP7.cjs.map +1 -0
  298. package/dist/{select-DSTQ-Zau.js → select-BBA0gBHf.js} +5 -4
  299. package/dist/select-BBA0gBHf.js.map +1 -0
  300. package/dist/{select-C-Kv7ey_.cjs → select-D9oCjv7N.cjs} +2 -2
  301. package/dist/select-D9oCjv7N.cjs.map +1 -0
  302. package/dist/select.cjs +1 -1
  303. package/dist/select.js +1 -1
  304. package/dist/{selector-hook-Cok22ifx.cjs → selector-hook-9w2auh2O.cjs} +2 -2
  305. package/dist/{selector-hook-Cok22ifx.cjs.map → selector-hook-9w2auh2O.cjs.map} +1 -1
  306. package/dist/{selector-hook-l2fe2UO5.js → selector-hook-CHV4kDMd.js} +3 -3
  307. package/dist/{selector-hook-l2fe2UO5.js.map → selector-hook-CHV4kDMd.js.map} +1 -1
  308. package/dist/{sheet-IzYy3H8n.cjs → sheet-0oUfBmXX.cjs} +2 -2
  309. package/dist/{sheet-IzYy3H8n.cjs.map → sheet-0oUfBmXX.cjs.map} +1 -1
  310. package/dist/{sheet-DY-z5_tm.js → sheet-CNcDT3VP.js} +5 -5
  311. package/dist/{sheet-DY-z5_tm.js.map → sheet-CNcDT3VP.js.map} +1 -1
  312. package/dist/sheet.cjs +1 -1
  313. package/dist/sheet.js +2 -2
  314. package/dist/{sheet.service-DuVcXyOB.js → sheet.service-2MobB-9z.js} +20 -18
  315. package/dist/sheet.service-2MobB-9z.js.map +1 -0
  316. package/dist/sheet.service-su_7yDQ-.cjs +2 -0
  317. package/dist/sheet.service-su_7yDQ-.cjs.map +1 -0
  318. package/dist/{slider-CGE_Qeok.cjs → slider-CV-Ehp_5.cjs} +2 -2
  319. package/dist/{slider-CGE_Qeok.cjs.map → slider-CV-Ehp_5.cjs.map} +1 -1
  320. package/dist/{slider-CFtbSQ9Y.js → slider-CkE-iFUy.js} +3 -3
  321. package/dist/{slider-CFtbSQ9Y.js.map → slider-CkE-iFUy.js.map} +1 -1
  322. package/dist/slider.cjs +1 -1
  323. package/dist/slider.js +1 -1
  324. package/dist/sound.service-Nza4c6wv.js +102 -0
  325. package/dist/sound.service-Nza4c6wv.js.map +1 -0
  326. package/dist/sound.service-eRirZw59.cjs +2 -0
  327. package/dist/sound.service-eRirZw59.cjs.map +1 -0
  328. package/dist/{spinner-CSPJs8CL.cjs → spinner-Bfn8KC-9.cjs} +9 -9
  329. package/dist/spinner-Bfn8KC-9.cjs.map +1 -0
  330. package/dist/{spinner-DAF-hCvQ.js → spinner-DiMbWXp9.js} +15 -12
  331. package/dist/spinner-DiMbWXp9.js.map +1 -0
  332. package/dist/steps.cjs +1 -1
  333. package/dist/steps.js +1 -1
  334. package/dist/store.cjs +1 -1
  335. package/dist/store.js +2 -2
  336. package/dist/{suggestion-chip-CYu-4xrL.js → suggestion-chip-CEDqUNoS.js} +50 -46
  337. package/dist/suggestion-chip-CEDqUNoS.js.map +1 -0
  338. package/dist/{suggestion-chip-Cj8gwZqq.cjs → suggestion-chip-HhsLtZXR.cjs} +18 -23
  339. package/dist/suggestion-chip-HhsLtZXR.cjs.map +1 -0
  340. package/dist/{surface-VX_THUHv.cjs → surface-CW3H23Va.cjs} +5 -4
  341. package/dist/surface-CW3H23Va.cjs.map +1 -0
  342. package/dist/{surface-DTOK-0E4.js → surface-eBfnSwQS.js} +12 -11
  343. package/dist/surface-eBfnSwQS.js.map +1 -0
  344. package/dist/surface.cjs +1 -1
  345. package/dist/surface.js +1 -1
  346. package/dist/{table-BV0-o9Wi.cjs → table-D0tiSL_u.cjs} +2 -2
  347. package/dist/{table-BV0-o9Wi.cjs.map → table-D0tiSL_u.cjs.map} +1 -1
  348. package/dist/{table-CkXbXqi9.js → table-Dmo4TvTx.js} +3 -3
  349. package/dist/{table-CkXbXqi9.js.map → table-Dmo4TvTx.js.map} +1 -1
  350. package/dist/table.cjs +1 -1
  351. package/dist/table.js +1 -1
  352. package/dist/{tabs-compatibility-D_BBW655.js → tabs-compatibility-Bit6y6en.js} +2 -2
  353. package/dist/{tabs-compatibility-D_BBW655.js.map → tabs-compatibility-Bit6y6en.js.map} +1 -1
  354. package/dist/{tabs-compatibility-DsfD60U_.cjs → tabs-compatibility-Vq_2-ekz.cjs} +2 -2
  355. package/dist/{tabs-compatibility-DsfD60U_.cjs.map → tabs-compatibility-Vq_2-ekz.cjs.map} +1 -1
  356. package/dist/tabs.cjs +1 -1
  357. package/dist/tabs.js +1 -1
  358. package/dist/tailwind.mixin-Bp_PR6yc.js +67 -0
  359. package/dist/{tailwind.mixin-wLaKUxf1.js.map → tailwind.mixin-Bp_PR6yc.js.map} +1 -1
  360. package/dist/tailwind.mixin-Cp4PyXok.cjs +2 -0
  361. package/dist/{tailwind.mixin-JFXu3GSo.cjs.map → tailwind.mixin-Cp4PyXok.cjs.map} +1 -1
  362. package/dist/teleport.cjs +1 -1
  363. package/dist/teleport.js +1 -1
  364. package/dist/{textarea-TeVnUeIJ.js → textarea-B1d1QCqT.js} +4 -3
  365. package/dist/{textarea-TeVnUeIJ.js.map → textarea-B1d1QCqT.js.map} +1 -1
  366. package/dist/textarea-DG8CHhZA.cjs +44 -0
  367. package/dist/{textarea-B6LDhRed.cjs.map → textarea-DG8CHhZA.cjs.map} +1 -1
  368. package/dist/textarea.cjs +1 -1
  369. package/dist/textarea.js +1 -1
  370. package/dist/{theme-button-DxMbO3yP.cjs → theme-button-CPL6Eaqd.cjs} +2 -2
  371. package/dist/{theme-button-DxMbO3yP.cjs.map → theme-button-CPL6Eaqd.cjs.map} +1 -1
  372. package/dist/{theme-button-BXXqAu2Y.js → theme-button-CrLuMQNe.js} +2 -2
  373. package/dist/{theme-button-BXXqAu2Y.js.map → theme-button-CrLuMQNe.js.map} +1 -1
  374. package/dist/theme-button.cjs +1 -1
  375. package/dist/theme-button.js +1 -1
  376. package/dist/theme-controller-boat-CXbNJSI3.cjs +178 -0
  377. package/dist/theme-controller-boat-CXbNJSI3.cjs.map +1 -0
  378. package/dist/{theme-controller-boat-CVS77gnH.js → theme-controller-boat-CzSmjyKq.js} +420 -228
  379. package/dist/theme-controller-boat-CzSmjyKq.js.map +1 -0
  380. package/dist/theme.cjs +1 -1
  381. package/dist/theme.js +13 -11
  382. package/dist/{timezone-RBV74f85.js → timezone-4vwX0BgA.js} +3 -3
  383. package/dist/{timezone-RBV74f85.js.map → timezone-4vwX0BgA.js.map} +1 -1
  384. package/dist/{timezone-D7YOMM8G.cjs → timezone-BxvQcqe1.cjs} +2 -2
  385. package/dist/{timezone-D7YOMM8G.cjs.map → timezone-BxvQcqe1.cjs.map} +1 -1
  386. package/dist/{tooltip-DssL6Qfx.js → tooltip-CjdvBf4X.js} +2 -2
  387. package/dist/{tooltip-DssL6Qfx.js.map → tooltip-CjdvBf4X.js.map} +1 -1
  388. package/dist/{tooltip-BH_RLoZI.cjs → tooltip-ZtnGjoJd.cjs} +2 -2
  389. package/dist/{tooltip-BH_RLoZI.cjs.map → tooltip-ZtnGjoJd.cjs.map} +1 -1
  390. package/dist/tooltip.cjs +1 -1
  391. package/dist/tooltip.js +1 -1
  392. package/dist/{tree-C33t9-0j.js → tree-CBEjV7jP.js} +2 -2
  393. package/dist/{tree-C33t9-0j.js.map → tree-CBEjV7jP.js.map} +1 -1
  394. package/dist/{tree-7Zz1sJKl.cjs → tree-DP5U00NA.cjs} +2 -2
  395. package/dist/{tree-7Zz1sJKl.cjs.map → tree-DP5U00NA.cjs.map} +1 -1
  396. package/dist/tree.cjs +1 -1
  397. package/dist/tree.js +1 -1
  398. package/dist/{typewriter-WbYqfXO7.cjs → typewriter-C6kFjLcX.cjs} +4 -4
  399. package/dist/{typewriter-WbYqfXO7.cjs.map → typewriter-C6kFjLcX.cjs.map} +1 -1
  400. package/dist/{typewriter-Dt1Js2lP.js → typewriter-Eo5qXoGC.js} +5 -5
  401. package/dist/{typewriter-Dt1Js2lP.js.map → typewriter-Eo5qXoGC.js.map} +1 -1
  402. package/dist/typewriter.cjs +1 -1
  403. package/dist/typewriter.js +1 -1
  404. package/dist/{typography-DdG9aEAg.js → typography-C_1gdM2I.js} +13 -53
  405. package/dist/typography-C_1gdM2I.js.map +1 -0
  406. package/dist/{typography-Ck-OdI83.cjs → typography-DGyjlLCE.cjs} +3 -46
  407. package/dist/typography-DGyjlLCE.cjs.map +1 -0
  408. package/dist/typography.cjs +1 -1
  409. package/dist/typography.js +1 -1
  410. package/mixins/tailwind.css +37 -6
  411. package/package.json +21 -20
  412. package/types/src/area/area.service.d.ts +1 -1
  413. package/types/src/area/router.types.d.ts +1 -0
  414. package/types/src/audio/emotional-sounds.d.ts +122 -0
  415. package/types/src/audio/index.d.ts +30 -0
  416. package/types/src/audio/sound.service.d.ts +111 -0
  417. package/types/src/avatar.d.ts +10 -1
  418. package/types/src/busy/spinner.d.ts +6 -1
  419. package/types/src/button/button.d.ts +15 -2
  420. package/types/src/button/icon-button.d.ts +1 -1
  421. package/types/src/charts/area-chart.d.ts +58 -0
  422. package/types/src/charts/index.d.ts +4 -0
  423. package/types/src/charts/pills.d.ts +51 -0
  424. package/types/src/charts/types.d.ts +62 -0
  425. package/types/src/charts/utils.d.ts +28 -0
  426. package/types/src/checkbox/checkbox.d.ts +3 -2
  427. package/types/src/chips/chips.d.ts +2 -0
  428. package/types/src/content-drawer/drawer.service.d.ts +1 -7
  429. package/types/src/date-range/date-range-dialog.d.ts +16 -0
  430. package/types/src/date-range/date-range.d.ts +1 -1
  431. package/types/src/details/details.d.ts +3 -7
  432. package/types/src/dialog/dailog.d.ts +1 -5
  433. package/types/src/dialog/dialog-base.mixin.d.ts +26 -0
  434. package/types/src/dialog/dialog-service.d.ts +3 -66
  435. package/types/src/dialog/dialog.component.d.ts +63 -30
  436. package/types/src/dialog/index.d.ts +1 -3
  437. package/types/src/directives/height.d.ts +11 -6
  438. package/types/src/icons/icon.d.ts +17 -0
  439. package/types/src/index.d.ts +6 -0
  440. package/types/src/input/input.d.ts +13 -9
  441. package/types/src/json/index.d.ts +1 -0
  442. package/types/src/json/json.d.ts +15 -0
  443. package/types/src/lightbox/flip-directive.d.ts +29 -0
  444. package/types/src/lightbox/flip.directive.d.ts +22 -0
  445. package/types/src/lightbox/index.d.ts +4 -0
  446. package/types/src/lightbox/lightbox-service.d.ts +24 -0
  447. package/types/src/lightbox/lightbox.d.ts +34 -0
  448. package/types/src/lightbox/lightbox.directive.d.ts +30 -0
  449. package/types/src/nav-drawer/appbar.d.ts +0 -5
  450. package/types/src/nav-drawer/drawer.d.ts +1 -32
  451. package/types/src/navigation-rail/navigation-rail.d.ts +2 -0
  452. package/types/src/notification/index.d.ts +1 -3
  453. package/types/src/notification/notification-service.d.ts +13 -1
  454. package/types/src/notification/notification.d.ts +13 -12
  455. package/types/src/notification/notify.d.ts +1 -1
  456. package/types/src/page/index.d.ts +1 -0
  457. package/types/src/page/page.d.ts +31 -0
  458. package/types/src/progress/progress.d.ts +2 -2
  459. package/types/src/qr-scanner/index.d.ts +1 -0
  460. package/types/src/qr-scanner/qr-scanner.d.ts +26 -0
  461. package/types/src/select/select.d.ts +1 -1
  462. package/types/src/theme/index.d.ts +1 -0
  463. package/types/src/theme/theme-audio-player.d.ts +100 -0
  464. package/types/src/theme/theme-controller-boat.d.ts +1 -0
  465. package/types/src/theme/theme.component.d.ts +1 -1
  466. package/types/src/types/index.d.ts +1 -0
  467. package/types/src/types/mood-audio.types.d.ts +173 -0
  468. package/types/src/typography/typography.d.ts +1 -0
  469. package/dist/area.component-BzjJiNTJ.js.map +0 -1
  470. package/dist/area.component-FL_IUylM.cjs +0 -12
  471. package/dist/area.component-FL_IUylM.cjs.map +0 -1
  472. package/dist/avatar-B_uJN9WV.cjs +0 -288
  473. package/dist/avatar-B_uJN9WV.cjs.map +0 -1
  474. package/dist/avatar-C8P4lVfa.js.map +0 -1
  475. package/dist/context-create-BJkkLr1D.cjs +0 -2
  476. package/dist/context-create-BJkkLr1D.cjs.map +0 -1
  477. package/dist/context-create-BvxbWTgj.js.map +0 -1
  478. package/dist/date-range-Cm0TCfwu.js +0 -664
  479. package/dist/date-range-Cm0TCfwu.js.map +0 -1
  480. package/dist/date-range-Cy97kOP_.cjs +0 -134
  481. package/dist/date-range-Cy97kOP_.cjs.map +0 -1
  482. package/dist/delay-BINGOQ7f.js.map +0 -1
  483. package/dist/delay-CXFIM6qK.cjs.map +0 -1
  484. package/dist/details-CLRikV4s.cjs +0 -64
  485. package/dist/details-CLRikV4s.cjs.map +0 -1
  486. package/dist/details-bgq2X_hO.js +0 -115
  487. package/dist/details-bgq2X_hO.js.map +0 -1
  488. package/dist/dialog-content-B59ekS_y.cjs +0 -85
  489. package/dist/dialog-content-B59ekS_y.cjs.map +0 -1
  490. package/dist/dialog-content-Cu7fqN8Y.js +0 -256
  491. package/dist/dialog-content-Cu7fqN8Y.js.map +0 -1
  492. package/dist/dialog-service-B4nR8Em5.cjs +0 -2
  493. package/dist/dialog-service-B4nR8Em5.cjs.map +0 -1
  494. package/dist/dialog-service-Bege4HF4.js +0 -140
  495. package/dist/dialog-service-Bege4HF4.js.map +0 -1
  496. package/dist/flex-CYQU6Pf8.js +0 -260
  497. package/dist/flex-CYQU6Pf8.js.map +0 -1
  498. package/dist/flex-DytMcHmq.cjs +0 -43
  499. package/dist/flex-DytMcHmq.cjs.map +0 -1
  500. package/dist/icon-C8Q_XMtJ.cjs +0 -49
  501. package/dist/icon-C8Q_XMtJ.cjs.map +0 -1
  502. package/dist/icon-Y2qLOFqe.js.map +0 -1
  503. package/dist/icon-button-CJ6AVTv9.js +0 -156
  504. package/dist/icon-button-CJ6AVTv9.js.map +0 -1
  505. package/dist/icon-button-IdG1NVgA.cjs +0 -65
  506. package/dist/icon-button-IdG1NVgA.cjs.map +0 -1
  507. package/dist/input-DDCFZ3cr.js.map +0 -1
  508. package/dist/input-UyknNHNr.cjs +0 -51
  509. package/dist/input-UyknNHNr.cjs.map +0 -1
  510. package/dist/list-BO1gnjmc.js.map +0 -1
  511. package/dist/list-Bac329kq.cjs.map +0 -1
  512. package/dist/menu-CUKV4pVJ.js +0 -61
  513. package/dist/navigation-rail-CYKfvZs9.js.map +0 -1
  514. package/dist/navigation-rail-DXr4NJnN.cjs +0 -81
  515. package/dist/navigation-rail-DXr4NJnN.cjs.map +0 -1
  516. package/dist/notification-service-CZ56fXew.js +0 -532
  517. package/dist/notification-service-CZ56fXew.js.map +0 -1
  518. package/dist/notification-service-DQGs9O0f.cjs +0 -143
  519. package/dist/notification-service-DQGs9O0f.cjs.map +0 -1
  520. package/dist/notify-KvHZ-8z9.js.map +0 -1
  521. package/dist/notify-VkDx6hMZ.cjs.map +0 -1
  522. package/dist/progress-D5kgn2Fg.js +0 -58
  523. package/dist/progress-D5kgn2Fg.js.map +0 -1
  524. package/dist/progress-yFxoJDYf.cjs +0 -35
  525. package/dist/progress-yFxoJDYf.cjs.map +0 -1
  526. package/dist/ripple-QoNZUUw_.js +0 -148
  527. package/dist/ripple-QoNZUUw_.js.map +0 -1
  528. package/dist/ripple-Ujq_REH4.cjs +0 -16
  529. package/dist/ripple-Ujq_REH4.cjs.map +0 -1
  530. package/dist/select-C-Kv7ey_.cjs.map +0 -1
  531. package/dist/select-DSTQ-Zau.js.map +0 -1
  532. package/dist/sheet.service-BNz-ird-.cjs +0 -2
  533. package/dist/sheet.service-BNz-ird-.cjs.map +0 -1
  534. package/dist/sheet.service-DuVcXyOB.js.map +0 -1
  535. package/dist/spinner-CSPJs8CL.cjs.map +0 -1
  536. package/dist/spinner-DAF-hCvQ.js.map +0 -1
  537. package/dist/suggestion-chip-CYu-4xrL.js.map +0 -1
  538. package/dist/suggestion-chip-Cj8gwZqq.cjs.map +0 -1
  539. package/dist/surface-DTOK-0E4.js.map +0 -1
  540. package/dist/surface-VX_THUHv.cjs.map +0 -1
  541. package/dist/tailwind.mixin-JFXu3GSo.cjs +0 -2
  542. package/dist/tailwind.mixin-wLaKUxf1.js +0 -67
  543. package/dist/textarea-B6LDhRed.cjs +0 -44
  544. package/dist/theme-controller-boat-CCBNOGxF.cjs +0 -64
  545. package/dist/theme-controller-boat-CCBNOGxF.cjs.map +0 -1
  546. package/dist/theme-controller-boat-CVS77gnH.js.map +0 -1
  547. package/dist/typography-Ck-OdI83.cjs.map +0 -1
  548. package/dist/typography-DdG9aEAg.js.map +0 -1
  549. package/types/src/notification/notification-audio-generator.d.ts +0 -45
  550. package/types/src/notification/notification-audio.d.ts +0 -79
  551. package/types/src/notification/notification-container.d.ts +0 -48
@@ -1 +1 @@
1
- {"version":3,"file":"input-chip-Bht9MU9G.cjs","sources":["../src/chips/input-chip.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/tailwind.mixin'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { BehaviorSubject, combineLatest } from 'rxjs'\nimport { map, takeUntil, tap } from 'rxjs/operators'\n\n/**\n * Input chip component - represents user-provided information that can be removed.\n *\n * IMPORTANT: Per Material Design 3 specification, input chips do NOT have selected state.\n * They represent discrete pieces of user input (like entered tags, selections from lists, etc.)\n * that can only be removed, not toggled on/off.\n *\n * Use cases:\n * - Displaying selected recipients in an email\n * - Showing applied filters that can be removed\n * - Tags or keywords entered by the user\n * - Selected items from a multi-select dropdown\n *\n * @fires click - Optional click event on chip body (value)\n * @fires remove - Dispatched when remove button is clicked (value)\n *\n * @example\n * ```html\n * <schmancy-input-chip value=\"john@example.com\" avatar=\"/avatars/john.jpg\">\n * John Doe\n * </schmancy-input-chip>\n * ```\n */\n@customElement('schmancy-input-chip')\nexport class SchmancyInputChip extends TailwindElement(css`\n\t:host {\n\t\tdisplay: inline-block;\n\t\toutline: none;\n\t\tmin-width:fit-content\n\n\t}\n\n\t:host([disabled]) {\n\t\tpointer-events: none;\n\t}\n\n\tbutton {\n\t\tfont-family: inherit;\n\t}\n\n\t.avatar-img {\n\t\twidth: 20px;\n\t\theight: 20px;\n\t\tobject-fit: cover;\n\t}\n\n\t/* Material Symbols font for icons */\n\t.material-symbols-outlined {\n\t\tfont-family: 'Material Symbols Outlined';\n\t\tfont-weight: normal;\n\t\tfont-style: normal;\n\t\tfont-size: 18px;\n\t\tline-height: 1;\n\t\tletter-spacing: normal;\n\t\ttext-transform: none;\n\t\tdisplay: inline-block;\n\t\twhite-space: nowrap;\n\t\tword-wrap: normal;\n\t\tdirection: ltr;\n\t\t-webkit-font-smoothing: antialiased;\n\t\ttext-rendering: optimizeLegibility;\n\t\t-moz-osx-font-smoothing: grayscale;\n\t\tfont-feature-settings: 'liga';\n\t\tvertical-align: middle;\n\t}\n\n\t.ripple {\n\t\tposition: absolute;\n\t\tborder-radius: 50%;\n\t\ttransform: scale(0);\n\t\tanimation: ripple 600ms linear;\n\t\tbackground-color: rgba(0, 0, 0, 0.08);\n\t\tpointer-events: none;\n\t}\n\n\t@keyframes ripple {\n\t\tto {\n\t\t\ttransform: scale(4);\n\t\t\topacity: 0;\n\t\t}\n\t}\n\n\t/* State layer for M3 hover/focus/pressed states */\n\t.state-layer {\n\t\tposition: absolute;\n\t\tinset: 0;\n\t\tborder-radius: inherit;\n\t\tpointer-events: none;\n\t\tbackground-color: currentColor;\n\t\topacity: 0;\n\t\ttransition: opacity 200ms ease;\n\t}\n\n\t:host(:not([disabled])) .chip-container:hover .state-layer {\n\t\topacity: 0.08;\n\t}\n\n\t:host(:not([disabled])) .chip-container:focus-visible .state-layer {\n\t\topacity: 0.1;\n\t}\n\n\t:host(:not([disabled])) .chip-container:active .state-layer {\n\t\topacity: 0.1;\n\t}\n`) {\n\t/** Value identifier for the chip */\n\t@property({ type: String, reflect: true })\n\tvalue: string = ''\n\n\t/** Optional icon name (Material Symbols) */\n\t@property({ type: String, reflect: true })\n\ticon: string = ''\n\n\t/** Optional avatar image URL */\n\t@property({ type: String, reflect: true })\n\tavatar: string = ''\n\n\t/** Whether to show remove button (default true for input chips) */\n\t@property({ type: Boolean, reflect: true })\n\tremovable: boolean = true\n\n\t/** Disable the chip */\n\t@property({ type: Boolean, reflect: true })\n\tdisabled: boolean = false\n\n\t/** Elevated style variant */\n\t@property({ type: Boolean, reflect: true })\n\televated: boolean = false\n\n\t// RxJS state streams\n\tprivate chipHover$ = new BehaviorSubject<boolean>(false)\n\tprivate removeHover$ = new BehaviorSubject<boolean>(false)\n\tprivate focused$ = new BehaviorSubject<boolean>(false)\n\tprivate pressed$ = new BehaviorSubject<boolean>(false)\n\n\t// UI state from combined streams\n\t@state() uiState = {\n\t\tchipHover: false,\n\t\tremoveHover: false,\n\t\tfocused: false,\n\t\tpressed: false\n\t}\n\n\t// Ripple effects\n\t@state() private ripples: Array<{ x: number; y: number; id: number }> = []\n\tprivate nextRippleId = 0\n\n\tconstructor() {\n\t\tsuper()\n\t\ttry {\n\t\t\tthis.internals = this.attachInternals()\n\t\t} catch {\n\t\t\tthis.internals = undefined\n\t\t}\n\t}\n\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tdelegatesFocus: true,\n\t}\n\n\tstatic formAssociated = true\n\tinternals: ElementInternals | undefined\n\tget form() {\n\t\treturn this.internals?.form\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Combine all UI state streams\n\t\tcombineLatest([\n\t\t\tthis.chipHover$,\n\t\t\tthis.removeHover$,\n\t\t\tthis.focused$,\n\t\t\tthis.pressed$\n\t\t]).pipe(\n\t\t\tmap(([chipHover, removeHover, focused, pressed]) => ({\n\t\t\t\tchipHover,\n\t\t\t\tremoveHover,\n\t\t\t\tfocused,\n\t\t\t\tpressed\n\t\t\t})),\n\t\t\ttap(state => {\n\t\t\t\tthis.uiState = state\n\t\t\t}),\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe()\n\t}\n\n\tprivate handleChipClick = (e: MouseEvent) => {\n\t\tif (this.disabled) return\n\n\t\t// Add ripple effect\n\t\tconst chip = this.shadowRoot?.querySelector('.chip-container') as HTMLElement\n\t\tif (chip) {\n\t\t\tconst rect = chip.getBoundingClientRect()\n\t\t\tconst x = e.clientX - rect.left\n\t\t\tconst y = e.clientY - rect.top\n\t\t\tconst id = this.nextRippleId++\n\n\t\t\tthis.ripples = [...this.ripples, { x, y, id }]\n\n\t\t\t// Remove ripple after animation\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.ripples = this.ripples.filter(r => r.id !== id)\n\t\t\t}, 600)\n\t\t}\n\n\t\t// Dispatch optional click event (for custom handling if needed)\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent('click', {\n\t\t\t\tdetail: { value: this.value },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t})\n\t\t)\n\t}\n\n\tprivate handleRemove = (e: Event) => {\n\t\tif (this.disabled) return\n\n\t\te.stopPropagation()\n\n\t\t// Dispatch remove event\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent('remove', {\n\t\t\t\tdetail: { value: this.value },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t})\n\t\t)\n\t}\n\n\tprivate handleKeyDown = (e: KeyboardEvent) => {\n\t\tif (this.disabled) return\n\n\t\t// Delete or Backspace removes the chip\n\t\tif ((e.key === 'Delete' || e.key === 'Backspace') && this.removable) {\n\t\t\te.preventDefault()\n\t\t\tthis.handleRemove(e)\n\t\t}\n\t\t// Enter can optionally trigger click\n\t\telse if (e.key === 'Enter') {\n\t\t\te.preventDefault()\n\t\t\tconst clickEvent = new MouseEvent('click', {\n\t\t\t\tbubbles: true,\n\t\t\t\tcancelable: true,\n\t\t\t\tclientX: 0,\n\t\t\t\tclientY: 0\n\t\t\t})\n\t\t\tthis.handleChipClick(clickEvent)\n\t\t}\n\t}\n\n\tprivate handleFocus = () => {\n\t\tthis.focused$.next(true)\n\t}\n\n\tprivate handleBlur = () => {\n\t\tthis.focused$.next(false)\n\t}\n\n\tprotected render(): unknown {\n\t\tconst hasLeadingIcon = this.avatar || this.icon;\n\n\t\tconst chipClasses = {\n\t\t\t'chip-container': true,\n\t\t\t'inline-flex': true,\n\t\t\t'items-center': true,\n\t\t\t'gap-2': true,\n\t\t\t'h-8': true, // M3: 32px height\n\t\t\t'min-h-[32px]': true,\n\t\t\t'rounded-full': true,\n\t\t\t'cursor-default': true,\n\t\t\t'transition-all': true,\n\t\t\t'duration-200': true,\n\t\t\t'select-none': true,\n\t\t\t'text-sm': true, // M3: 14px Label Large\n\t\t\t'font-medium': true, // M3: 500 weight\n\t\t\t'relative': true,\n\t\t\t'overflow-hidden': true,\n\t\t\t'border': true,\n\n\t\t\t// M3 Padding: 8px with icon, 16px without (leading), 8px with trailing icon\n\t\t\t'pl-2': hasLeadingIcon, // 8px with avatar/icon\n\t\t\t'pl-4': !hasLeadingIcon, // 16px without\n\t\t\t'pr-2': this.removable, // 8px with remove button\n\t\t\t'pr-4': !this.removable, // 16px without\n\n\t\t\t// M3 Colors for input chips\n\t\t\t'bg-surface-containerLow': true,\n\t\t\t'text-surface-onVariant': true,\n\t\t\t'border-outline': true,\n\t\t\t'border-solid':true,\n\t\t\t// Input chips are flat (no elevation) per M3\n\n\t\t\t// Focus-visible state\n\t\t\t'focus-visible:outline': !this.disabled,\n\t\t\t'focus-visible:outline-2': !this.disabled,\n\t\t\t'focus-visible:outline-primary': !this.disabled,\n\t\t\t'focus-visible:outline-offset-2': !this.disabled,\n\n\t\t\t// Disabled state\n\t\t\t'opacity-38': this.disabled, // M3 disabled opacity\n\t\t\t'cursor-not-allowed': this.disabled\n\t\t}\n\n\t\tconst removeButtonClasses = {\n\t\t\t'size-[18px]': true, // M3: 18px icon size\n\t\t\t'flex': true,\n\t\t\t'items-center': true,\n\t\t\t'justify-center': true,\n\t\t\t'rounded-full': true,\n\t\t\t'transition-all': true,\n\t\t\t'duration-200': true,\n\t\t\t'cursor-pointer': !this.disabled,\n\t\t\t'-mr-1': true, // Adjust for visual balance\n\n\t\t\t// Hover state for remove button\n\t\t\t'hover:bg-surface-containerHighest': !this.disabled,\n\t\t\t'opacity-50': this.disabled\n\t\t}\n\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=${classMap(chipClasses)}\n\t\t\t\t@click=${this.handleChipClick}\n\t\t\t\t@keydown=${this.handleKeyDown}\n\t\t\t\t@mouseenter=${() => this.chipHover$.next(true)}\n\t\t\t\t@mouseleave=${() => this.chipHover$.next(false)}\n\t\t\t\t@mousedown=${() => this.pressed$.next(true)}\n\t\t\t\t@mouseup=${() => this.pressed$.next(false)}\n\t\t\t\t@focus=${this.handleFocus}\n\t\t\t\t@blur=${this.handleBlur}\n\t\t\t\trole=\"button\"\n\t\t\t\ttabindex=${this.disabled ? '-1' : '0'}\n\t\t\t\taria-disabled=${this.disabled}\n\t\t\t\taria-label=${this.value}\n\t\t\t>\n\t\t\t\t<!-- Avatar image (if provided) -->\n\t\t\t\t${this.avatar ? html`\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc=${this.avatar}\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tclass=\"avatar-img rounded-full size-5\"\n\t\t\t\t\t/>\n\t\t\t\t` : ''}\n\n\t\t\t\t<!-- Icon (if provided and no avatar) -->\n\t\t\t\t${this.icon && !this.avatar ? html`\n\t\t\t\t\t<span class=\"material-symbols-outlined text-[18px] shrink-0\">\n\t\t\t\t\t\t${this.icon}\n\t\t\t\t\t</span>\n\t\t\t\t` : ''}\n\n\t\t\t\t<!-- Chip content -->\n\t\t\t\t<span class=\"text-sm font-medium leading-5\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</span>\n\n\t\t\t\t<!-- Remove button (shown by default for input chips) -->\n\t\t\t\t${this.removable ? html`\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=${classMap(removeButtonClasses)}\n\t\t\t\t\t\t@click=${this.handleRemove}\n\t\t\t\t\t\t@mouseenter=${() => this.removeHover$.next(true)}\n\t\t\t\t\t\t@mouseleave=${() => this.removeHover$.next(false)}\n\t\t\t\t\t\taria-label=\"Remove\"\n\t\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\t\t?disabled=${this.disabled}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span class=\"material-symbols-outlined text-[18px]\">\n\t\t\t\t\t\t\tclose\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</button>\n\t\t\t\t` : ''}\n\n\t\t\t\t<!-- Ripple effects -->\n\t\t\t\t${this.ripples.map(ripple => html`\n\t\t\t\t\t<span\n\t\t\t\t\t\tclass=\"ripple\"\n\t\t\t\t\t\tstyle=\"left: ${ripple.x}px; top: ${ripple.y}px;\"\n\t\t\t\t\t></span>\n\t\t\t\t`)}\n\n\t\t\t\t<!-- State layer for M3 hover/focus/pressed states -->\n\t\t\t\t<div class=\"state-layer\"></div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-input-chip': SchmancyInputChip\n\t}\n}\n\nexport type InputChipClickEvent = { value: string }\nexport type InputChipRemoveEvent = { value: string }"],"names":["SchmancyInputChip","TailwindElement","css","super","this","value","icon","avatar","removable","disabled","elevated","chipHover$","BehaviorSubject","removeHover$","focused$","pressed$","uiState","chipHover","removeHover","focused","pressed","ripples","nextRippleId","handleChipClick","e","chip","shadowRoot","querySelector","rect","getBoundingClientRect","x","clientX","left","y","clientY","top","id","setTimeout","filter","r","dispatchEvent","CustomEvent","detail","bubbles","composed","handleRemove","stopPropagation","handleKeyDown","key","preventDefault","clickEvent","MouseEvent","cancelable","handleFocus","next","handleBlur","internals","attachInternals","form","connectedCallback","combineLatest","pipe","map","tap","state","takeUntil","disconnecting","subscribe","hasLeadingIcon","chipClasses","relative","border","removeButtonClasses","flex","html","classMap","ripple","shadowRootOptions","LitElement","delegatesFocus","formAssociated","__decorateClass","property","type","String","reflect","prototype","Boolean","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"input-chip-DkWaTciP.cjs","sources":["../src/chips/input-chip.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/tailwind.mixin'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { BehaviorSubject, combineLatest } from 'rxjs'\nimport { map, takeUntil, tap } from 'rxjs/operators'\n\n/**\n * Input chip component - represents user-provided information that can be removed.\n *\n * IMPORTANT: Per Material Design 3 specification, input chips do NOT have selected state.\n * They represent discrete pieces of user input (like entered tags, selections from lists, etc.)\n * that can only be removed, not toggled on/off.\n *\n * Use cases:\n * - Displaying selected recipients in an email\n * - Showing applied filters that can be removed\n * - Tags or keywords entered by the user\n * - Selected items from a multi-select dropdown\n *\n * @fires click - Optional click event on chip body (value)\n * @fires remove - Dispatched when remove button is clicked (value)\n *\n * @example\n * ```html\n * <schmancy-input-chip value=\"john@example.com\" avatar=\"/avatars/john.jpg\">\n * John Doe\n * </schmancy-input-chip>\n * ```\n */\n@customElement('schmancy-input-chip')\nexport class SchmancyInputChip extends TailwindElement(css`\n\t:host {\n\t\tdisplay: inline-block;\n\t\toutline: none;\n\t\tmin-width:fit-content\n\n\t}\n\n\t:host([disabled]) {\n\t\tpointer-events: none;\n\t}\n\n\tbutton {\n\t\tfont-family: inherit;\n\t}\n\n\t.avatar-img {\n\t\twidth: 20px;\n\t\theight: 20px;\n\t\tobject-fit: cover;\n\t}\n\n\t/* Material Symbols font for icons */\n\t.material-symbols-outlined {\n\t\tfont-family: 'Material Symbols Outlined';\n\t\tfont-weight: normal;\n\t\tfont-style: normal;\n\t\tfont-size: 18px;\n\t\tline-height: 1;\n\t\tletter-spacing: normal;\n\t\ttext-transform: none;\n\t\tdisplay: inline-block;\n\t\twhite-space: nowrap;\n\t\tword-wrap: normal;\n\t\tdirection: ltr;\n\t\t-webkit-font-smoothing: antialiased;\n\t\ttext-rendering: optimizeLegibility;\n\t\t-moz-osx-font-smoothing: grayscale;\n\t\tfont-feature-settings: 'liga';\n\t\tvertical-align: middle;\n\t}\n\n\t.ripple {\n\t\tposition: absolute;\n\t\tborder-radius: 50%;\n\t\ttransform: scale(0);\n\t\tanimation: ripple 600ms linear;\n\t\tbackground-color: rgba(0, 0, 0, 0.08);\n\t\tpointer-events: none;\n\t}\n\n\t@keyframes ripple {\n\t\tto {\n\t\t\ttransform: scale(4);\n\t\t\topacity: 0;\n\t\t}\n\t}\n\n\t/* State layer for M3 hover/focus/pressed states */\n\t.state-layer {\n\t\tposition: absolute;\n\t\tinset: 0;\n\t\tborder-radius: inherit;\n\t\tpointer-events: none;\n\t\tbackground-color: currentColor;\n\t\topacity: 0;\n\t\ttransition: opacity 200ms ease;\n\t}\n\n\t:host(:not([disabled])) .chip-container:hover .state-layer {\n\t\topacity: 0.08;\n\t}\n\n\t:host(:not([disabled])) .chip-container:focus-visible .state-layer {\n\t\topacity: 0.1;\n\t}\n\n\t:host(:not([disabled])) .chip-container:active .state-layer {\n\t\topacity: 0.1;\n\t}\n`) {\n\t/** Value identifier for the chip */\n\t@property({ type: String, reflect: true })\n\tvalue: string = ''\n\n\t/** Optional icon name (Material Symbols) */\n\t@property({ type: String, reflect: true })\n\ticon: string = ''\n\n\t/** Optional avatar image URL */\n\t@property({ type: String, reflect: true })\n\tavatar: string = ''\n\n\t/** Whether to show remove button (default true for input chips) */\n\t@property({ type: Boolean, reflect: true })\n\tremovable: boolean = true\n\n\t/** Disable the chip */\n\t@property({ type: Boolean, reflect: true })\n\tdisabled: boolean = false\n\n\t/** Elevated style variant */\n\t@property({ type: Boolean, reflect: true })\n\televated: boolean = false\n\n\t// RxJS state streams\n\tprivate chipHover$ = new BehaviorSubject<boolean>(false)\n\tprivate removeHover$ = new BehaviorSubject<boolean>(false)\n\tprivate focused$ = new BehaviorSubject<boolean>(false)\n\tprivate pressed$ = new BehaviorSubject<boolean>(false)\n\n\t// UI state from combined streams\n\t@state() uiState = {\n\t\tchipHover: false,\n\t\tremoveHover: false,\n\t\tfocused: false,\n\t\tpressed: false\n\t}\n\n\t// Ripple effects\n\t@state() private ripples: Array<{ x: number; y: number; id: number }> = []\n\tprivate nextRippleId = 0\n\n\tconstructor() {\n\t\tsuper()\n\t\ttry {\n\t\t\tthis.internals = this.attachInternals()\n\t\t} catch {\n\t\t\tthis.internals = undefined\n\t\t}\n\t}\n\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tdelegatesFocus: true,\n\t}\n\n\tstatic formAssociated = true\n\tinternals: ElementInternals | undefined\n\tget form() {\n\t\treturn this.internals?.form\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Combine all UI state streams\n\t\tcombineLatest([\n\t\t\tthis.chipHover$,\n\t\t\tthis.removeHover$,\n\t\t\tthis.focused$,\n\t\t\tthis.pressed$\n\t\t]).pipe(\n\t\t\tmap(([chipHover, removeHover, focused, pressed]) => ({\n\t\t\t\tchipHover,\n\t\t\t\tremoveHover,\n\t\t\t\tfocused,\n\t\t\t\tpressed\n\t\t\t})),\n\t\t\ttap(state => {\n\t\t\t\tthis.uiState = state\n\t\t\t}),\n\t\t\ttakeUntil(this.disconnecting)\n\t\t).subscribe()\n\t}\n\n\tprivate handleChipClick = (e: MouseEvent) => {\n\t\tif (this.disabled) return\n\n\t\t// Add ripple effect\n\t\tconst chip = this.shadowRoot?.querySelector('.chip-container') as HTMLElement\n\t\tif (chip) {\n\t\t\tconst rect = chip.getBoundingClientRect()\n\t\t\tconst x = e.clientX - rect.left\n\t\t\tconst y = e.clientY - rect.top\n\t\t\tconst id = this.nextRippleId++\n\n\t\t\tthis.ripples = [...this.ripples, { x, y, id }]\n\n\t\t\t// Remove ripple after animation\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.ripples = this.ripples.filter(r => r.id !== id)\n\t\t\t}, 600)\n\t\t}\n\n\t\t// Dispatch optional click event (for custom handling if needed)\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent('click', {\n\t\t\t\tdetail: { value: this.value },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t})\n\t\t)\n\t}\n\n\tprivate handleRemove = (e: Event) => {\n\t\tif (this.disabled) return\n\n\t\te.stopPropagation()\n\n\t\t// Dispatch remove event\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent('remove', {\n\t\t\t\tdetail: { value: this.value },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t})\n\t\t)\n\t}\n\n\tprivate handleKeyDown = (e: KeyboardEvent) => {\n\t\tif (this.disabled) return\n\n\t\t// Delete or Backspace removes the chip\n\t\tif ((e.key === 'Delete' || e.key === 'Backspace') && this.removable) {\n\t\t\te.preventDefault()\n\t\t\tthis.handleRemove(e)\n\t\t}\n\t\t// Enter can optionally trigger click\n\t\telse if (e.key === 'Enter') {\n\t\t\te.preventDefault()\n\t\t\tconst clickEvent = new MouseEvent('click', {\n\t\t\t\tbubbles: true,\n\t\t\t\tcancelable: true,\n\t\t\t\tclientX: 0,\n\t\t\t\tclientY: 0\n\t\t\t})\n\t\t\tthis.handleChipClick(clickEvent)\n\t\t}\n\t}\n\n\tprivate handleFocus = () => {\n\t\tthis.focused$.next(true)\n\t}\n\n\tprivate handleBlur = () => {\n\t\tthis.focused$.next(false)\n\t}\n\n\tprotected render(): unknown {\n\t\tconst hasLeadingIcon = this.avatar || this.icon;\n\n\t\tconst chipClasses = {\n\t\t\t'chip-container': true,\n\t\t\t'inline-flex': true,\n\t\t\t'items-center': true,\n\t\t\t'gap-2': true,\n\t\t\t'h-8': true, // M3: 32px height\n\t\t\t'min-h-[32px]': true,\n\t\t\t'rounded-full': true,\n\t\t\t'cursor-default': true,\n\t\t\t'transition-all': true,\n\t\t\t'duration-200': true,\n\t\t\t'select-none': true,\n\t\t\t'text-sm': true, // M3: 14px Label Large\n\t\t\t'font-medium': true, // M3: 500 weight\n\t\t\t'relative': true,\n\t\t\t'overflow-hidden': true,\n\t\t\t'border': true,\n\n\t\t\t// M3 Padding: 8px with icon, 16px without (leading), 8px with trailing icon\n\t\t\t'pl-2': hasLeadingIcon, // 8px with avatar/icon\n\t\t\t'pl-4': !hasLeadingIcon, // 16px without\n\t\t\t'pr-2': this.removable, // 8px with remove button\n\t\t\t'pr-4': !this.removable, // 16px without\n\n\t\t\t// M3 Colors for input chips\n\t\t\t'bg-surface-containerLow': true,\n\t\t\t'text-surface-onVariant': true,\n\t\t\t'border-outline': true,\n\t\t\t'border-solid':true,\n\t\t\t// Input chips are flat (no elevation) per M3\n\n\t\t\t// Focus-visible state\n\t\t\t'focus-visible:outline': !this.disabled,\n\t\t\t'focus-visible:outline-2': !this.disabled,\n\t\t\t'focus-visible:outline-primary': !this.disabled,\n\t\t\t'focus-visible:outline-offset-2': !this.disabled,\n\n\t\t\t// Disabled state\n\t\t\t'opacity-38': this.disabled, // M3 disabled opacity\n\t\t\t'cursor-not-allowed': this.disabled\n\t\t}\n\n\t\tconst removeButtonClasses = {\n\t\t\t'size-[18px]': true, // M3: 18px icon size\n\t\t\t'flex': true,\n\t\t\t'items-center': true,\n\t\t\t'justify-center': true,\n\t\t\t'rounded-full': true,\n\t\t\t'transition-all': true,\n\t\t\t'duration-200': true,\n\t\t\t'cursor-pointer': !this.disabled,\n\t\t\t'-mr-1': true, // Adjust for visual balance\n\n\t\t\t// Hover state for remove button\n\t\t\t'hover:bg-surface-containerHighest': !this.disabled,\n\t\t\t'opacity-50': this.disabled\n\t\t}\n\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=${classMap(chipClasses)}\n\t\t\t\t@click=${this.handleChipClick}\n\t\t\t\t@keydown=${this.handleKeyDown}\n\t\t\t\t@mouseenter=${() => this.chipHover$.next(true)}\n\t\t\t\t@mouseleave=${() => this.chipHover$.next(false)}\n\t\t\t\t@mousedown=${() => this.pressed$.next(true)}\n\t\t\t\t@mouseup=${() => this.pressed$.next(false)}\n\t\t\t\t@focus=${this.handleFocus}\n\t\t\t\t@blur=${this.handleBlur}\n\t\t\t\trole=\"button\"\n\t\t\t\ttabindex=${this.disabled ? '-1' : '0'}\n\t\t\t\taria-disabled=${this.disabled}\n\t\t\t\taria-label=${this.value}\n\t\t\t>\n\t\t\t\t<!-- Avatar image (if provided) -->\n\t\t\t\t${this.avatar ? html`\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc=${this.avatar}\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tclass=\"avatar-img rounded-full size-5\"\n\t\t\t\t\t/>\n\t\t\t\t` : ''}\n\n\t\t\t\t<!-- Icon (if provided and no avatar) -->\n\t\t\t\t${this.icon && !this.avatar ? html`\n\t\t\t\t\t<span class=\"material-symbols-outlined text-[18px] shrink-0\">\n\t\t\t\t\t\t${this.icon}\n\t\t\t\t\t</span>\n\t\t\t\t` : ''}\n\n\t\t\t\t<!-- Chip content -->\n\t\t\t\t<span class=\"text-sm font-medium leading-5\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</span>\n\n\t\t\t\t<!-- Remove button (shown by default for input chips) -->\n\t\t\t\t${this.removable ? html`\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=${classMap(removeButtonClasses)}\n\t\t\t\t\t\t@click=${this.handleRemove}\n\t\t\t\t\t\t@mouseenter=${() => this.removeHover$.next(true)}\n\t\t\t\t\t\t@mouseleave=${() => this.removeHover$.next(false)}\n\t\t\t\t\t\taria-label=\"Remove\"\n\t\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\t\t?disabled=${this.disabled}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span class=\"material-symbols-outlined text-[18px]\">\n\t\t\t\t\t\t\tclose\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</button>\n\t\t\t\t` : ''}\n\n\t\t\t\t<!-- Ripple effects -->\n\t\t\t\t${this.ripples.map(ripple => html`\n\t\t\t\t\t<span\n\t\t\t\t\t\tclass=\"ripple\"\n\t\t\t\t\t\tstyle=\"left: ${ripple.x}px; top: ${ripple.y}px;\"\n\t\t\t\t\t></span>\n\t\t\t\t`)}\n\n\t\t\t\t<!-- State layer for M3 hover/focus/pressed states -->\n\t\t\t\t<div class=\"state-layer\"></div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-input-chip': SchmancyInputChip\n\t}\n}\n\nexport type InputChipClickEvent = { value: string }\nexport type InputChipRemoveEvent = { value: string }"],"names":["SchmancyInputChip","TailwindElement","css","super","this","value","icon","avatar","removable","disabled","elevated","chipHover$","BehaviorSubject","removeHover$","focused$","pressed$","uiState","chipHover","removeHover","focused","pressed","ripples","nextRippleId","handleChipClick","e","chip","shadowRoot","querySelector","rect","getBoundingClientRect","x","clientX","left","y","clientY","top","id","setTimeout","filter","r","dispatchEvent","CustomEvent","detail","bubbles","composed","handleRemove","stopPropagation","handleKeyDown","key","preventDefault","clickEvent","MouseEvent","cancelable","handleFocus","next","handleBlur","internals","attachInternals","form","connectedCallback","combineLatest","pipe","map","tap","state","takeUntil","disconnecting","subscribe","hasLeadingIcon","chipClasses","relative","border","removeButtonClasses","flex","html","classMap","ripple","shadowRootOptions","LitElement","delegatesFocus","formAssociated","__decorateClass","property","type","String","reflect","prototype","Boolean","customElement"],"mappings":"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"}
package/dist/input.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./input-UyknNHNr.cjs");Object.defineProperty(exports,"SchmancyInput",{enumerable:!0,get:()=>e.SchmancyInput}),Object.defineProperty(exports,"SchmancyInputCompat",{enumerable:!0,get:()=>e.SchmancyInputCompat});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./input-BByjYlgl.cjs");Object.defineProperty(exports,"SchmancyInput",{enumerable:!0,get:()=>e.SchmancyInput}),Object.defineProperty(exports,"SchmancyInputCompat",{enumerable:!0,get:()=>e.SchmancyInputCompat});
2
2
  //# sourceMappingURL=input.cjs.map
package/dist/input.js CHANGED
@@ -1,4 +1,4 @@
1
- import { S as m, a as n } from "./input-DDCFZ3cr.js";
1
+ import { S as m, a as n } from "./input-D0cQ9DOY.js";
2
2
  export {
3
3
  m as SchmancyInput,
4
4
  n as SchmancyInputCompat
@@ -0,0 +1,12 @@
1
+ "use strict";require("rxjs"),require("rxjs/operators"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const n=require("lit/decorators.js"),y=require("./tailwind.mixin-Cp4PyXok.cjs"),h=require("lit"),g=require("lit/directives/unsafe-html.js"),p=require("./notification-service-DknbpqTt.cjs");var u=Object.defineProperty,d=Object.getOwnPropertyDescriptor,a=(e,t,s,c)=>{for(var i,r=c>1?void 0:c?d(t,s):t,o=e.length-1;o>=0;o--)(i=e[o])&&(r=(c?i(t,s,r):i(r))||r);return c&&r&&u(t,s,r),r};exports.SchmancyJson=class extends y.TailwindElement(h.css`:host { display: block }`){constructor(){super(...arguments),this.data={},this.highlightKeys=[],this.compact=!1}highlightChanges(e,t){let s=e;return t.forEach(c=>{const i=new RegExp(`("${c}":\\s*)([^,\\n}]+)`,"g");s=s.replace(i,(r,o,l)=>`${o}<span class="text-warning-default font-bold">${l}</span>`)}),s}async copyJSON(){try{await navigator.clipboard.writeText(JSON.stringify(this.data,null,2)),p.$notify.success("JSON copied to clipboard")}catch{p.$notify.error("Failed to copy JSON")}}render(){const e=JSON.stringify(this.data,null,this.compact?0:2),t=this.highlightKeys.length>0?this.highlightChanges(e,this.highlightKeys):e;return h.html`
2
+ <div
3
+ class="bg-surface-container rounded-lg p-2 font-mono overflow-auto cursor-pointer hover:bg-surface-container-high transition-colors"
4
+ @click=${this.copyJSON}
5
+ >
6
+ <div class="flex items-center justify-between mb-1">
7
+ <schmancy-icon size="12px" class="text-on-surface-variant">content_copy</schmancy-icon>
8
+ </div>
9
+ <pre class="text-[10px] leading-tight">${g.unsafeHTML(t)}</pre>
10
+ </div>
11
+ `}},a([n.property({type:Object})],exports.SchmancyJson.prototype,"data",2),a([n.property({type:Array})],exports.SchmancyJson.prototype,"highlightKeys",2),a([n.property({type:Boolean})],exports.SchmancyJson.prototype,"compact",2),exports.SchmancyJson=a([n.customElement("schmancy-json")],exports.SchmancyJson);
12
+ //# sourceMappingURL=json-BZVe74np.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-BZVe74np.cjs","sources":["../src/json/json.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js'\nimport { $notify } from '@schmancy/notification'\n\n@customElement('schmancy-json')\nexport class SchmancyJson extends TailwindElement(css`:host { display: block }`) {\n\t@property({ type: Object }) data: Record<string, any> = {}\n\t@property({ type: Array }) highlightKeys: string[] = []\n\t@property({ type: Boolean }) compact = false\n\n\tprivate highlightChanges(json: string, changedKeys: string[]): string {\n\t\tlet highlighted = json\n\t\tchangedKeys.forEach(key => {\n\t\t\tconst regex = new RegExp(`(\"${key}\":\\\\s*)([^,\\\\n}]+)`, 'g')\n\t\t\thighlighted = highlighted.replace(regex, (_match, keyPart, valuePart) => {\n\t\t\t\treturn `${keyPart}<span class=\"text-warning-default font-bold\">${valuePart}</span>`\n\t\t\t})\n\t\t})\n\t\treturn highlighted\n\t}\n\n\tprivate async copyJSON() {\n\t\ttry {\n\t\t\tawait navigator.clipboard.writeText(JSON.stringify(this.data, null, 2))\n\t\t\t$notify.success('JSON copied to clipboard')\n\t\t} catch (error) {\n\t\t\t$notify.error('Failed to copy JSON')\n\t\t}\n\t}\n\n\trender() {\n\t\tconst jsonString = JSON.stringify(this.data, null, this.compact ? 0 : 2)\n\t\tconst highlighted = this.highlightKeys.length > 0 ? this.highlightChanges(jsonString, this.highlightKeys) : jsonString\n\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=\"bg-surface-container rounded-lg p-2 font-mono overflow-auto cursor-pointer hover:bg-surface-container-high transition-colors\"\n\t\t\t\t@click=${this.copyJSON}\n\t\t\t>\n\t\t\t\t<div class=\"flex items-center justify-between mb-1\">\n\t\t\t\t\t<schmancy-icon size=\"12px\" class=\"text-on-surface-variant\">content_copy</schmancy-icon>\n\t\t\t\t</div>\n\t\t\t\t<pre class=\"text-[10px] leading-tight\">${unsafeHTML(highlighted)}</pre>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-json': SchmancyJson\n\t}\n}\n"],"names":["SchmancyJson","TailwindElement","css","constructor","super","arguments","this","data","highlightKeys","compact","json","changedKeys","highlighted","forEach","key","regex","RegExp","replace","_match","keyPart","valuePart","copyJSON","navigator","clipboard","writeText","JSON","stringify","$notify","success","error","jsonString","length","highlightChanges","html","unsafeHTML","__decorateClass","property","type","Object","prototype","Array","Boolean","customElement"],"mappings":"kgBAOaA,QAAAA,aAAN,cAA2BC,EAAAA,gBAAgBC,+BAAA,CAAA,CAA3C,aAAAC,CAAAC,MAAAA,GAAAC,WACsBC,KAAAC,KAA4B,CAAA,EAC7BD,KAAAE,cAA0B,CAAA,EACxBF,KAAAG,QAAAA,EAAU,CAE/B,iBAAiBC,EAAcC,EAAAA,CACtC,IAAIC,EAAcF,EAOlB,OANAC,EAAYE,QAAQC,GAAAA,CACnB,MAAMC,EAAQ,IAAIC,OAAO,KAAKF,sBAAyB,GAAA,EACvDF,EAAcA,EAAYK,QAAQF,EAAO,CAACG,EAAQC,EAASC,IACnD,GAAGD,CAAAA,gDAAuDC,cAG5DR,CACR,CAEA,gBAAcS,CACb,GAAA,CAAA,MACOC,UAAUC,UAAUC,UAAUC,KAAKC,UAAUpB,KAAKC,KAAM,KAAM,IACpEoB,EAAAA,QAAQC,QAAQ,0BAAA,CACjB,MAASC,CACRF,EAAAA,QAAQE,MAAM,qBAAA,CACf,CACD,CAEA,SACC,MAAMC,EAAaL,KAAKC,UAAUpB,KAAKC,KAAM,KAAMD,KAAKG,QAAU,EAAI,CAAA,EAChEG,EAAcN,KAAKE,cAAcuB,OAAS,EAAIzB,KAAK0B,iBAAiBF,EAAYxB,KAAKE,eAAiBsB,EAE5G,OAAOG,EAAAA;AAAAA;AAAAA;AAAAA,aAGI3B,KAAKe,QAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,6CAK2Ba,EAAAA,WAAWtB,CAAAA,CAAAA;AAAAA;AAAAA,GAGvD,CAAA,EAvC4BuB,EAAA,CAA3BC,WAAS,CAAEC,KAAMC,UADNtC,qBACgBuC,UAAA,OAAA,CAAA,EACDJ,EAAA,CAA1BC,WAAS,CAAEC,KAAMG,SAFNxC,qBAEeuC,UAAA,gBAAA,CAAA,EACEJ,EAAA,CAA5BC,WAAS,CAAEC,KAAMI,WAHNzC,qBAGiBuC,UAAA,UAAA,CAAA,EAHjBvC,QAAAA,aAANmC,EAAA,CADNO,EAAAA,cAAc,kBACF1C"}
@@ -0,0 +1,51 @@
1
+ import "rxjs";
2
+ import "rxjs/operators";
3
+ import "lit/directives/class-map.js";
4
+ import "lit/directives/style-map.js";
5
+ import { property as p, customElement as g } from "lit/decorators.js";
6
+ import { T as m } from "./tailwind.mixin-Bp_PR6yc.js";
7
+ import { css as y, html as d } from "lit";
8
+ import { unsafeHTML as f } from "lit/directives/unsafe-html.js";
9
+ import { $ as h } from "./notification-service-CUlfXqmj.js";
10
+ var u = Object.defineProperty, b = Object.getOwnPropertyDescriptor, n = (t, r, s, e) => {
11
+ for (var i, o = e > 1 ? void 0 : e ? b(r, s) : r, a = t.length - 1; a >= 0; a--) (i = t[a]) && (o = (e ? i(r, s, o) : i(o)) || o);
12
+ return e && o && u(r, s, o), o;
13
+ };
14
+ let c = class extends m(y`:host { display: block }`) {
15
+ constructor() {
16
+ super(...arguments), this.data = {}, this.highlightKeys = [], this.compact = !1;
17
+ }
18
+ highlightChanges(t, r) {
19
+ let s = t;
20
+ return r.forEach((e) => {
21
+ const i = new RegExp(`("${e}":\\s*)([^,\\n}]+)`, "g");
22
+ s = s.replace(i, (o, a, l) => `${a}<span class="text-warning-default font-bold">${l}</span>`);
23
+ }), s;
24
+ }
25
+ async copyJSON() {
26
+ try {
27
+ await navigator.clipboard.writeText(JSON.stringify(this.data, null, 2)), h.success("JSON copied to clipboard");
28
+ } catch {
29
+ h.error("Failed to copy JSON");
30
+ }
31
+ }
32
+ render() {
33
+ const t = JSON.stringify(this.data, null, this.compact ? 0 : 2), r = this.highlightKeys.length > 0 ? this.highlightChanges(t, this.highlightKeys) : t;
34
+ return d`
35
+ <div
36
+ class="bg-surface-container rounded-lg p-2 font-mono overflow-auto cursor-pointer hover:bg-surface-container-high transition-colors"
37
+ @click=${this.copyJSON}
38
+ >
39
+ <div class="flex items-center justify-between mb-1">
40
+ <schmancy-icon size="12px" class="text-on-surface-variant">content_copy</schmancy-icon>
41
+ </div>
42
+ <pre class="text-[10px] leading-tight">${f(r)}</pre>
43
+ </div>
44
+ `;
45
+ }
46
+ };
47
+ n([p({ type: Object })], c.prototype, "data", 2), n([p({ type: Array })], c.prototype, "highlightKeys", 2), n([p({ type: Boolean })], c.prototype, "compact", 2), c = n([g("schmancy-json")], c);
48
+ export {
49
+ c as S
50
+ };
51
+ //# sourceMappingURL=json-PKewOWuJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-PKewOWuJ.js","sources":["../src/json/json.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js'\nimport { $notify } from '@schmancy/notification'\n\n@customElement('schmancy-json')\nexport class SchmancyJson extends TailwindElement(css`:host { display: block }`) {\n\t@property({ type: Object }) data: Record<string, any> = {}\n\t@property({ type: Array }) highlightKeys: string[] = []\n\t@property({ type: Boolean }) compact = false\n\n\tprivate highlightChanges(json: string, changedKeys: string[]): string {\n\t\tlet highlighted = json\n\t\tchangedKeys.forEach(key => {\n\t\t\tconst regex = new RegExp(`(\"${key}\":\\\\s*)([^,\\\\n}]+)`, 'g')\n\t\t\thighlighted = highlighted.replace(regex, (_match, keyPart, valuePart) => {\n\t\t\t\treturn `${keyPart}<span class=\"text-warning-default font-bold\">${valuePart}</span>`\n\t\t\t})\n\t\t})\n\t\treturn highlighted\n\t}\n\n\tprivate async copyJSON() {\n\t\ttry {\n\t\t\tawait navigator.clipboard.writeText(JSON.stringify(this.data, null, 2))\n\t\t\t$notify.success('JSON copied to clipboard')\n\t\t} catch (error) {\n\t\t\t$notify.error('Failed to copy JSON')\n\t\t}\n\t}\n\n\trender() {\n\t\tconst jsonString = JSON.stringify(this.data, null, this.compact ? 0 : 2)\n\t\tconst highlighted = this.highlightKeys.length > 0 ? this.highlightChanges(jsonString, this.highlightKeys) : jsonString\n\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=\"bg-surface-container rounded-lg p-2 font-mono overflow-auto cursor-pointer hover:bg-surface-container-high transition-colors\"\n\t\t\t\t@click=${this.copyJSON}\n\t\t\t>\n\t\t\t\t<div class=\"flex items-center justify-between mb-1\">\n\t\t\t\t\t<schmancy-icon size=\"12px\" class=\"text-on-surface-variant\">content_copy</schmancy-icon>\n\t\t\t\t</div>\n\t\t\t\t<pre class=\"text-[10px] leading-tight\">${unsafeHTML(highlighted)}</pre>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-json': SchmancyJson\n\t}\n}\n"],"names":["SchmancyJson","TailwindElement","css","super","arguments","this","data","highlightKeys","compact","json","changedKeys","highlighted","forEach","key","regex","RegExp","replace","_match","keyPart","valuePart","navigator","clipboard","writeText","JSON","stringify","$notify","success","error","render","jsonString","length","highlightChanges","html","copyJSON","unsafeHTML","__decorateClass","property","type","Object","prototype","Array","Boolean","customElement"],"mappings":";;;;;;;;;;;;;AAOO,IAAMA,IAAN,cAA2BC,EAAgBC,2BAAA,EAAA;AAAA,EAA3C;AAAAC,UAAAA,GAAAC,SAAAA,GACsBC,KAAAC,OAA4B,CAAA,GAC7BD,KAAAE,gBAA0B,CAAA,GACxBF,KAAAG;EAAU;AAAA,EAE/B,iBAAiBC,GAAcC,GAAAA;AACtC,QAAIC,IAAcF;AAOlB,WANAC,EAAYE,QAAQC,CAAAA;AACnB,YAAMC,IAAQ,IAAIC,OAAO,KAAKF,CAAAA,sBAAyB,GAAA;AACvDF,UAAcA,EAAYK,QAAQF,GAAO,CAACG,GAAQC,GAASC,MACnD,GAAGD,CAAAA,gDAAuDC,CAAAA,SAAAA;AAAAA,IAAAA,CAAAA,GAG5DR;AAAAA,EACR;AAAA,EAEA,MAAA;AACC,QAAA;AAAA,YACOS,UAAUC,UAAUC,UAAUC,KAAKC,UAAUnB,KAAKC,MAAM,MAAM,CAAA,CAAA,GACpEmB,EAAQC,QAAQ;IACjB,QAASC;AACRF,MAAAA,EAAQE,MAAM,qBAAA;AAAA,IACf;AAAA,EACD;AAAA,EAEA,SAAAC;AACC,UAAMC,IAAaN,KAAKC,UAAUnB,KAAKC,MAAM,MAAMD,KAAKG,UAAU,IAAI,CAAA,GAChEG,IAAcN,KAAKE,cAAcuB,SAAS,IAAIzB,KAAK0B,iBAAiBF,GAAYxB,KAAKE,aAAAA,IAAiBsB;AAE5G,WAAOG;AAAAA;AAAAA;AAAAA,aAGI3B,KAAK4B,QAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,6CAK2BC,EAAWvB,CAAAA,CAAAA;AAAAA;AAAAA;AAAAA,EAGvD;AAAA;AAvC4BwB,EAAA,CAA3BC,EAAS,EAAEC,MAAMC,OAAAA,CAAAA,CAAAA,GADNtC,EACgBuC,WAAA,QAAA,IACDJ,EAAA,CAA1BC,EAAS,EAAEC,MAAMG,MAAAA,CAAAA,CAAAA,GAFNxC,EAEeuC,WAAA,iBAAA,IACEJ,EAAA,CAA5BC,EAAS,EAAEC,MAAMI,QAAAA,CAAAA,CAAAA,GAHNzC,EAGiBuC,WAAA,WAAA,IAHjBvC,IAANmC,EAAA,CADNO,EAAc,mBACF1C,CAAAA;"}
package/dist/json.cjs ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./json-BZVe74np.cjs");Object.defineProperty(exports,"SchmancyJson",{enumerable:!0,get:()=>e.SchmancyJson});
2
+ //# sourceMappingURL=json.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
package/dist/json.js ADDED
@@ -0,0 +1,5 @@
1
+ import { S as c } from "./json-PKewOWuJ.js";
2
+ export {
3
+ c as SchmancyJson
4
+ };
5
+ //# sourceMappingURL=json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
package/dist/layout.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./flex-DytMcHmq.cjs");Object.defineProperty(exports,"SchmancyFlex",{enumerable:!0,get:()=>e.SchmancyFlex}),Object.defineProperty(exports,"SchmancyFlexV2",{enumerable:!0,get:()=>e.SchmancyFlexV2}),Object.defineProperty(exports,"SchmancyGrid",{enumerable:!0,get:()=>e.SchmancyGrid}),Object.defineProperty(exports,"SchmancyScroll",{enumerable:!0,get:()=>e.SchmancyScroll});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./flex-oHl2EfYB.cjs"),c=require("./scroll-CecsowP7.cjs");Object.defineProperty(exports,"SchmancyFlex",{enumerable:!0,get:()=>e.SchmancyFlex}),Object.defineProperty(exports,"SchmancyFlexV2",{enumerable:!0,get:()=>e.SchmancyFlexV2}),Object.defineProperty(exports,"SchmancyGrid",{enumerable:!0,get:()=>e.SchmancyGrid}),Object.defineProperty(exports,"SchmancyScroll",{enumerable:!0,get:()=>c.SchmancyScroll});
2
2
  //# sourceMappingURL=layout.cjs.map
package/dist/layout.js CHANGED
@@ -1,8 +1,9 @@
1
- import { S, c as m, a as h, b as l } from "./flex-CYQU6Pf8.js";
1
+ import { S, b as m, a as r } from "./flex-5dR48zie.js";
2
+ import { S as e } from "./scroll-C_gfUgjn.js";
2
3
  export {
3
4
  S as SchmancyFlex,
4
5
  m as SchmancyFlexV2,
5
- h as SchmancyGrid,
6
- l as SchmancyScroll
6
+ r as SchmancyGrid,
7
+ e as SchmancyScroll
7
8
  };
8
9
  //# sourceMappingURL=layout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"layout.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"layout.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,202 @@
1
+ "use strict";const l=require("lit"),u=require("lit/decorators.js"),I=require("lit/directives/when.js"),y=require("lit/directives/ref.js"),h=require("rxjs"),m=require("rxjs/operators");require("lit/directives/class-map.js");const k=require("lit/directives/style-map.js"),A=require("./tailwind.mixin-Cp4PyXok.cjs"),N=require("./litElement.mixin-CrpeGpZ7.cjs"),$=require("lit/directive.js"),q=require("lit/async-directive.js");var H=Object.defineProperty,O=Object.getOwnPropertyDescriptor,g=(s,e,t,i)=>{for(var a,n=i>1?void 0:i?O(e,t):e,o=s.length-1;o>=0;o--)(a=s[o])&&(n=(i?a(e,t,n):a(n))||n);return i&&n&&H(e,t,n),n};function C(s,e,t="up",i=.3){const a=(s.x+e.x)/2,n=(s.y+e.y)/2,o=Math.sqrt(Math.pow(e.x-s.x,2)+Math.pow(e.y-s.y,2)),r=Math.min(o*i,150);return{x:a,y:t==="up"?n-r:n+r}}exports.SchmancyLightbox=class extends N.$LitElement(l.css`
2
+ :host {
3
+ display: contents;
4
+ }
5
+ `){constructor(){super(...arguments),this.src="",this.images=[],this.initialIndex=0,this.open=!1,this.currentIndex=0,this.isLoading=!1,this.swipeThreshold=50,this.overlayRef=y.createRef(),this.contentRef=y.createRef(),this.imageRef=y.createRef(),this.handleClose=()=>{this.open=!1},this.handlePrevious=()=>{this.isGalleryMode&&this.images.length>1&&(this.isLoading=!0,this.currentIndex=(this.currentIndex-1+this.images.length)%this.images.length,this.dispatchEvent(new CustomEvent("change",{detail:{index:this.currentIndex},bubbles:!0,composed:!0})))},this.handleNext=()=>{this.isGalleryMode&&this.images.length>1&&(this.isLoading=!0,this.currentIndex=(this.currentIndex+1)%this.images.length,this.dispatchEvent(new CustomEvent("change",{detail:{index:this.currentIndex},bubbles:!0,composed:!0})))},this.handleImageLoad=()=>{this.isLoading=!1},this.handleOverlayClick=s=>{s.target===s.currentTarget&&this.handleClose()}}get isGalleryMode(){return this.images.length>0}get currentImageSrc(){return this.isGalleryMode?this.images[this.currentIndex]||"":this.src}connectedCallback(){super.connectedCallback(),this.currentIndex=this.initialIndex}updated(s){super.updated(s),s.has("open")&&(this.open?(document.body.style.overflow="hidden",this.animateIn(),this.setupEventListeners()):(document.body.style.overflow="",this.animateOut())),s.has("initialIndex")&&(this.currentIndex=this.initialIndex),s.has("currentIndex")&&this.open&&this.animateImageChange()}animateIn(){const s=this.overlayRef.value,e=this.contentRef.value,t=this.imageRef.value;s&&(s.style.backgroundColor="rgba(0, 0, 0, 0)",s.style.opacity="0",s.animate([{opacity:0},{opacity:1}],{duration:300,easing:"cubic-bezier(0.25, 1, 0.5, 1)",fill:"forwards"}),requestAnimationFrame(()=>{s.style.backgroundColor="rgba(0, 0, 0, 0.95)"})),e&&e.animate([{transform:"scale(0.95)",opacity:0},{transform:"scale(1)",opacity:1}],{duration:400,delay:100,easing:"cubic-bezier(0.34, 1.56, 0.64, 1)",fill:"forwards"}),t&&t.animate([{opacity:0,transform:"scale(0.98)"},{opacity:1,transform:"scale(1)"}],{duration:350,delay:150,easing:"cubic-bezier(0.25, 1, 0.5, 1)",fill:"forwards"})}animateOut(){const s=this.overlayRef.value,e=this.contentRef.value,t=this.imageRef.value;t&&t.animate([{transform:"scale(1)",opacity:1},{transform:"scale(0.95)",opacity:0}],{duration:200,easing:"ease-out",fill:"forwards"}),e&&e.animate([{transform:"scale(1)",opacity:1},{transform:"scale(0.95)",opacity:0}],{duration:250,easing:"ease-out",fill:"forwards"}),s&&(s.animate([{opacity:1},{opacity:0}],{duration:250,delay:50,easing:"ease-out",fill:"forwards"}).onfinish=()=>{s.style.backgroundColor="rgba(0, 0, 0, 0)",this.dispatchEvent(new CustomEvent("close",{bubbles:!0,composed:!0}))})}animateImageChange(){const s=this.imageRef.value;s&&(s.animate([{opacity:1,transform:"scale(1)"},{opacity:0,transform:"scale(0.98)"}],{duration:150,easing:"ease-out",fill:"forwards"}).onfinish=()=>{s.animate([{opacity:0,transform:"scale(0.98)"},{opacity:1,transform:"scale(1)"}],{duration:200,easing:"cubic-bezier(0.25, 1, 0.5, 1)",fill:"forwards"})})}setupEventListeners(){if(h.fromEvent(document,"keydown").pipe(m.filter(()=>this.open),m.tap(i=>{switch(i.key){case"Escape":this.handleClose();break;case"ArrowLeft":this.handlePrevious();break;case"ArrowRight":this.handleNext()}}),m.takeUntil(this.disconnecting)).subscribe(),!this.isGalleryMode||this.images.length<=1)return;const s=this.contentRef.value;if(!s)return;const e=h.fromEvent(s,"touchstart"),t=h.fromEvent(s,"touchend");e.pipe(m.switchMap(i=>{const a=i.touches[0].clientX;return t.pipe(m.first(),m.map(n=>n.changedTouches[0].clientX-a))}),m.filter(i=>Math.abs(i)>this.swipeThreshold),m.tap(i=>i>0?this.handlePrevious():this.handleNext()),m.takeUntil(this.disconnecting)).subscribe()}render(){return this.open?l.html`
6
+ <div
7
+ ${y.ref(this.overlayRef)}
8
+ class="fixed inset-0 z-9999 flex items-center justify-center backdrop-blur-sm"
9
+ @click=${this.handleOverlayClick}
10
+ >
11
+ <div
12
+ ${y.ref(this.contentRef)}
13
+ class="relative max-w-[90vw] max-h-[90vh]"
14
+ @click=${s=>s.stopPropagation()}
15
+ >
16
+ <!-- Close Button -->
17
+ <button
18
+ class="absolute top-4 right-4 md:top-4 md:right-4 sm:top-2 sm:right-2 bg-white/15 backdrop-blur-md border border-white/20 text-white w-11 h-11 rounded-full flex items-center justify-center cursor-pointer z-10 transition-all duration-200 hover:bg-white/25 hover:scale-105 active:scale-95"
19
+ @click=${this.handleClose}
20
+ aria-label="Close lightbox"
21
+ title="Close (Esc)"
22
+ >
23
+ <schmancy-icon>close</schmancy-icon>
24
+ </button>
25
+
26
+ <!-- Touch Zones for Gallery Navigation -->
27
+ ${I.when(this.isGalleryMode&&this.images.length>1,()=>l.html`
28
+ <div
29
+ class="absolute top-0 bottom-0 left-0 w-1/3 cursor-pointer z-5"
30
+ @click=${this.handlePrevious}
31
+ ></div>
32
+ <div
33
+ class="absolute top-0 bottom-0 right-0 w-1/3 cursor-pointer z-5"
34
+ @click=${this.handleNext}
35
+ ></div>
36
+ `)}
37
+
38
+ <!-- Loading Spinner -->
39
+ ${I.when(this.isLoading,()=>l.html`
40
+ <div class="absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2">
41
+ <schmancy-progress indeterminate></schmancy-progress>
42
+ </div>
43
+ `)}
44
+
45
+ <!-- Main Image -->
46
+ <img
47
+ ${y.ref(this.imageRef)}
48
+ class="max-w-[90vw] max-h-[90vh] object-contain rounded select-none touch-pinch-zoom ${this.isGalleryMode?"cursor-default":"cursor-pointer"}"
49
+ .src=${this.currentImageSrc}
50
+ alt="Full size image"
51
+ @load=${this.handleImageLoad}
52
+ @click=${()=>this.isGalleryMode?null:this.handleClose()}
53
+ />
54
+
55
+ <!-- Navigation Controls (Gallery Mode Only) -->
56
+ ${I.when(this.isGalleryMode&&this.images.length>1,()=>l.html`
57
+ <div
58
+ class="absolute bottom-[-3.5rem] md:bottom-[-3.5rem] sm:bottom-[-3rem] left-1/2 -translate-x-1/2 flex items-center gap-4 z-10"
59
+ >
60
+ <button
61
+ class="bg-white/15 backdrop-blur-md border border-white/20 text-white w-10 h-10 rounded-full flex items-center justify-center cursor-pointer transition-all duration-200 hover:bg-white/25 hover:scale-105 active:scale-95"
62
+ @click=${this.handlePrevious}
63
+ aria-label="Previous image"
64
+ title="Previous (←)"
65
+ >
66
+ <schmancy-icon>arrow_back</schmancy-icon>
67
+ </button>
68
+
69
+ <div class="text-white text-base font-medium min-w-16 text-center" aria-live="polite">
70
+ ${this.currentIndex+1} / ${this.images.length}
71
+ </div>
72
+
73
+ <button
74
+ class="bg-white/15 backdrop-blur-md border border-white/20 text-white w-10 h-10 rounded-full flex items-center justify-center cursor-pointer transition-all duration-200 hover:bg-white/25 hover:scale-105 active:scale-95"
75
+ @click=${this.handleNext}
76
+ aria-label="Next image"
77
+ title="Next (→)"
78
+ >
79
+ <schmancy-icon>arrow_forward</schmancy-icon>
80
+ </button>
81
+ </div>
82
+ `)}
83
+ </div>
84
+ </div>
85
+ `:l.html``}},g([u.property({type:String})],exports.SchmancyLightbox.prototype,"src",2),g([u.property({type:Array})],exports.SchmancyLightbox.prototype,"images",2),g([u.property({type:Number})],exports.SchmancyLightbox.prototype,"initialIndex",2),g([u.property({type:Boolean})],exports.SchmancyLightbox.prototype,"open",2),g([u.state()],exports.SchmancyLightbox.prototype,"currentIndex",2),g([u.state()],exports.SchmancyLightbox.prototype,"isLoading",2),exports.SchmancyLightbox=g([u.customElement("schmancy-lightbox")],exports.SchmancyLightbox);class G extends q.AsyncDirective{constructor(e){if(super(e),this.hasAnimated=!1,e.type!==$.PartType.ELEMENT)throw new Error("flip directive can only be used on elements")}render(e){return l.noChange}update(e,[t]){this.element=e.element;const i=t?.sourceElement||t?.position;return!this.hasAnimated&&i&&(this.hasAnimated=!0,this.animateIn(t)),l.noChange}animateIn(e){if(!this.element||window.matchMedia("(prefers-reduced-motion: reduce)").matches)return;const t=e?.duration??600,i=e?.scale!==!1,a=e?.blackbird!==!1,n=(o=e?.position,o?"clientX"in o?{x:o.clientX,y:o.clientY}:"touches"in o&&o.touches.length?{x:o.touches[0].clientX,y:o.touches[0].clientY}:"x"in o&&"y"in o?{x:o.x,y:o.y}:null:null);var o;const r=e?.sourceElement?.getBoundingClientRect(),b=()=>{const d=this.element.getBoundingClientRect(),c={x:d.left+d.width/2,y:d.top+d.height/2};let x,f={x:.1,y:.1};r?(x={x:r.left+r.width/2,y:r.top+r.height/2},i&&(f={x:r.width/d.width,y:r.height/d.height})):x=n||{x:window.innerWidth/2,y:window.innerHeight/2};const L=x.x-c.x,E=x.y-c.y;if(a&&n&&r){const v={x:n.x-c.x,y:n.y-c.y},w=C(x,n,"up",.4),j=C(n,c,"down",.3),P={x:w.x-c.x,y:w.y-c.y},S={x:j.x-c.x,y:j.y-c.y},M=.3;this.element.animate([{transform:`translate(${L}px, ${E}px) scale(${f.x}, ${f.y})`,opacity:.6,offset:0},{transform:`translate(${P.x}px, ${P.y}px) scale(${.7*M})`,opacity:.8,offset:.25},{transform:`translate(${v.x}px, ${v.y}px) scale(${M})`,opacity:.9,offset:.5},{transform:`translate(${S.x}px, ${S.y}px) scale(0.6)`,opacity:.95,offset:.75},{transform:"translate(0, 0) scale(1)",opacity:1,offset:1}],{duration:t,easing:"cubic-bezier(0.34, 1.2, 0.64, 1)",fill:"forwards"})}else if(a&&n){const v=C(n,c,"down",.35),w={x:v.x-c.x,y:v.y-c.y};this.element.animate([{transform:`translate(${L}px, ${E}px) scale(0.1)`,opacity:0,offset:0},{transform:`translate(${w.x}px, ${w.y}px) scale(0.5)`,opacity:.8,offset:.5},{transform:"translate(0, 0) scale(1)",opacity:1,offset:1}],{duration:t,easing:"cubic-bezier(0.34, 1.2, 0.64, 1)",fill:"forwards"})}else this.element.animate([{transform:`translate(${L}px, ${E}px) scale(${f.x}, ${f.y})`,opacity:0},{transform:"translate(0, 0) scale(1, 1)",opacity:1}],{duration:t,easing:e?.easing??"cubic-bezier(0.34, 1.56, 0.64, 1)",fill:"forwards"})};this.element instanceof HTMLImageElement?this.element.complete?requestAnimationFrame(b):this.element.onload=()=>requestAnimationFrame(b):requestAnimationFrame(b)}}const R=$.directive(G);class T extends q.AsyncDirective{constructor(e){if(super(e),this.currentIndex=0,this.images=[],e.type!==$.PartType.ELEMENT)throw new Error("lightbox directive can only be used on elements")}render(e){return l.noChange}update(e,[t]){return this.element=e.element,this.clickHandler||(this.clickHandler=i=>{if(i.preventDefault(),i.stopPropagation(),"clientX"in i)this.clickPosition={x:i.clientX,y:i.clientY};else if("touches"in i&&i.touches.length){const a=i.touches[0];this.clickPosition={x:a.clientX,y:a.clientY}}t?.images&&t.images.length>0?(this.images=t.images,this.currentIndex=t.index||0):(this.images=[this.element.src],this.currentIndex=0),this.overlay=t?.overlay,this.open()},this.element.addEventListener("click",this.clickHandler),this.element.style.cursor="pointer",this.element.classList.add("hover:opacity-80","transition-opacity")),l.noChange}open(){this.overlayElement=document.createElement("div"),this.overlayElement.className="fixed inset-0 flex items-center justify-center opacity-0 bg-black/95 backdrop-blur-sm",this.overlayElement.style.zIndex="1000",l.render(this.renderLightbox(),this.overlayElement),document.body.appendChild(this.overlayElement),document.body.style.overflow="hidden",requestAnimationFrame(()=>{this.overlayElement.animate([{opacity:0},{opacity:1}],{duration:300,easing:"cubic-bezier(0.25, 1, 0.5, 1)",fill:"forwards"})}),this.keyHandler=e=>{e.key==="Escape"&&this.close(),e.key==="ArrowLeft"&&this.images.length>1&&this.prev(),e.key==="ArrowRight"&&this.images.length>1&&this.next()},document.addEventListener("keydown",this.keyHandler),this.overlayElement.addEventListener("click",e=>{e.target===this.overlayElement&&this.close()})}close(){if(!this.overlayElement)return;const e=this.overlayElement.querySelector("[data-lightbox-content]");if(e&&this.clickPosition){const t=e.getBoundingClientRect(),i=this.clickPosition.x-(t.left+t.width/2),a=this.clickPosition.y-(t.top+t.height/2),n=e.animate([{transform:"translate(0, 0) scale(1)",opacity:1},{transform:`translate(${i}px, ${a}px) scale(0.1)`,opacity:0}],{duration:300,easing:"cubic-bezier(0.4, 0, 0.2, 1)",fill:"forwards"});this.overlayElement.animate([{opacity:1},{opacity:0}],{duration:250,easing:"ease-out",fill:"forwards"}),n.onfinish=()=>{this.overlayElement?.remove(),this.overlayElement=void 0,document.body.style.overflow=""}}else this.overlayElement.animate([{opacity:1},{opacity:0}],{duration:250,easing:"ease-out",fill:"forwards"}).onfinish=()=>{this.overlayElement?.remove(),this.overlayElement=void 0,document.body.style.overflow=""};this.keyHandler&&(document.removeEventListener("keydown",this.keyHandler),this.keyHandler=void 0)}prev(){this.currentIndex=(this.currentIndex-1+this.images.length)%this.images.length,this.updateImage()}next(){this.currentIndex=(this.currentIndex+1)%this.images.length,this.updateImage()}updateImage(){this.overlayElement&&l.render(this.renderLightbox(),this.overlayElement)}renderLightbox(){const e=this.images[this.currentIndex],t=this.images.length>1;return l.html`
86
+ <div
87
+ data-lightbox-content
88
+ class="relative"
89
+ style=${k.styleMap({transformOrigin:"center center"})}
90
+ @click=${i=>i.stopPropagation()}
91
+ >
92
+ <!-- Close button -->
93
+ <button
94
+ class="absolute top-2 right-2 z-10 w-10 h-10 rounded-full bg-white/20 hover:bg-white/30 flex items-center justify-center text-white transition-colors"
95
+ @click=${()=>this.close()}
96
+ aria-label="Close"
97
+ >
98
+ <span class="text-2xl">×</span>
99
+ </button>
100
+
101
+ <!-- Image container with optional overlay -->
102
+ <div class="relative">
103
+ <img
104
+ src=${e}
105
+ ${R({sourceElement:this.element,position:this.clickPosition,duration:600,scale:!0,blackbird:!0})}
106
+ class="object-contain rounded-lg"
107
+ style="max-height: calc(100vh - 40px); max-width: 90vw;"
108
+ @click=${()=>!t&&this.close()}
109
+ />
110
+ ${this.overlay?this.overlay:""}
111
+ </div>
112
+
113
+ <!-- Gallery controls -->
114
+ ${t?l.html`
115
+ <div class="flex items-center justify-center gap-4 text-white mt-4">
116
+ <button
117
+ class="w-10 h-10 rounded-full bg-white/20 hover:bg-white/30 flex items-center justify-center transition-colors"
118
+ @click=${()=>this.prev()}
119
+ aria-label="Previous"
120
+ >
121
+
122
+ </button>
123
+
124
+ <div class="text-lg">${this.currentIndex+1} / ${this.images.length}</div>
125
+
126
+ <button
127
+ class="w-10 h-10 rounded-full bg-white/20 hover:bg-white/30 flex items-center justify-center transition-colors"
128
+ @click=${()=>this.next()}
129
+ aria-label="Next"
130
+ >
131
+
132
+ </button>
133
+ </div>
134
+ `:""}
135
+ </div>
136
+ `}disconnected(){this.element&&this.clickHandler&&this.element.removeEventListener("click",this.clickHandler),this.close()}}const z=$.directive(T);class p{constructor(){this.pushSubject=new h.Subject,this.dismissSubject=new h.Subject,this.setupLightboxOpeningLogic(),this.setupLightboxDismissLogic()}static getInstance(){return p.instance||(p.instance=new p),p.instance}setupLightboxOpeningLogic(){this.pushSubject.pipe(h.switchMap(e=>A.discoverComponent("schmancy-theme").pipe(h.map(t=>{const i=t||document.body,a=document.createElement("div");return a.className="fixed inset-0 flex items-center justify-center opacity-0 bg-black/95 backdrop-blur-sm",a.style.zIndex="1000",i.appendChild(a),document.body.style.overflow="hidden",{overlay:a,config:e,container:i}}))),h.tap(({overlay:e,config:t})=>{let i=[],a=0;t.images&&t.images.length>0?(i=t.images,a=t.index||0):t.image&&(i=[t.image],a=0),this.activeLightbox={element:e,config:t,currentIndex:a,images:i},h.fromEvent(document,"keydown").pipe(h.takeUntil(this.dismissSubject),h.filter(()=>!!this.activeLightbox),h.tap(n=>{n.key==="Escape"&&this.dismiss(),n.key==="ArrowLeft"&&this.activeLightbox.images.length>1&&this.navigatePrev(),n.key==="ArrowRight"&&this.activeLightbox.images.length>1&&this.navigateNext()})).subscribe(),h.fromEvent(e,"click").pipe(h.takeUntil(this.dismissSubject),h.filter(n=>n.target===e),h.tap(()=>this.dismiss())).subscribe(),t.component?this.renderComponent(e,t):this.renderLightbox(e,t,i,a),requestAnimationFrame(()=>{e.animate([{opacity:0},{opacity:1}],{duration:300,easing:"cubic-bezier(0.25, 1, 0.5, 1)",fill:"forwards"})})})).subscribe()}setupLightboxDismissLogic(){this.dismissSubject.pipe(h.tap(()=>{if(!this.activeLightbox)return;const{element:e}=this.activeLightbox;e.animate([{opacity:1},{opacity:0}],{duration:250,easing:"ease-out",fill:"forwards"}).onfinish=()=>{e.remove(),document.body.style.overflow=""},this.activeLightbox=void 0})).subscribe()}push(e){this.activeLightbox&&this.dismiss(),this.pushSubject.next(e)}dismiss(){this.dismissSubject.next()}navigatePrev(){if(!this.activeLightbox||this.activeLightbox.images.length<=1)return;const{images:e,config:t,element:i}=this.activeLightbox;this.activeLightbox.currentIndex=(this.activeLightbox.currentIndex-1+e.length)%e.length,this.renderLightbox(i,t,e,this.activeLightbox.currentIndex)}navigateNext(){if(!this.activeLightbox||this.activeLightbox.images.length<=1)return;const{images:e,config:t,element:i}=this.activeLightbox;this.activeLightbox.currentIndex=(this.activeLightbox.currentIndex+1)%e.length,this.renderLightbox(i,t,e,this.activeLightbox.currentIndex)}renderComponent(e,t){if(!t.component)return;let i;i=typeof t.component=="string"?document.createElement(t.component):new t.component,t.props&&Object.entries(t.props).forEach(([o,r])=>{i[o]=r});const a=l.html`
137
+ <div class="relative" @click=${o=>o.stopPropagation()}>
138
+ <!-- Close button -->
139
+ <button
140
+ class="absolute -top-12 right-0 z-10 w-10 h-10 rounded-full bg-white/20 hover:bg-white/30 flex items-center justify-center text-white transition-colors"
141
+ @click=${()=>this.dismiss()}
142
+ aria-label="Close"
143
+ >
144
+ <span class="text-2xl">×</span>
145
+ </button>
146
+
147
+ <!-- Component container -->
148
+ <div id="lightbox-component-container"></div>
149
+ </div>
150
+ `;l.render(a,e);const n=e.querySelector("#lightbox-component-container");n&&n.appendChild(i)}renderLightbox(e,t,i,a){const n=i[a],o=i.length>1;let r=null;t.overlay&&(typeof t.overlay=="string"?r=document.createElement(t.overlay):typeof t.overlay=="function"&&(r=new t.overlay),t.props&&r&&Object.entries(t.props).forEach(([d,c])=>{r[d]=c}));const b=l.html`
151
+ <div
152
+ class="relative"
153
+ style=${k.styleMap({maxWidth:"90vw",maxHeight:"90vh"})}
154
+ @click=${d=>d.stopPropagation()}
155
+ >
156
+ <!-- Close button -->
157
+ <button
158
+ class="absolute top-4 right-4 z-10 w-10 h-10 rounded-full bg-white/20 hover:bg-white/30 flex items-center justify-center text-white transition-colors"
159
+ @click=${()=>this.dismiss()}
160
+ aria-label="Close"
161
+ >
162
+ <span class="text-2xl">×</span>
163
+ </button>
164
+
165
+ <!-- Image container with optional overlay -->
166
+ <div class="relative" id="lightbox-image-container">
167
+ <img
168
+ src=${n}
169
+ class="max-w-full object-contain rounded-lg"
170
+ style=${k.styleMap({maxHeight:"85vh"})}
171
+ @click=${()=>!o&&this.dismiss()}
172
+ />
173
+ </div>
174
+
175
+ <!-- Gallery controls -->
176
+ ${o?l.html`
177
+ <div
178
+ class="absolute left-1/2 -translate-x-1/2 flex items-center gap-4 text-white"
179
+ style=${k.styleMap({bottom:"-60px"})}
180
+ >
181
+ <button
182
+ class="w-10 h-10 rounded-full bg-white/20 hover:bg-white/30 flex items-center justify-center transition-colors"
183
+ @click=${()=>this.navigatePrev()}
184
+ aria-label="Previous"
185
+ >
186
+
187
+ </button>
188
+
189
+ <div class="text-lg">${a+1} / ${i.length}</div>
190
+
191
+ <button
192
+ class="w-10 h-10 rounded-full bg-white/20 hover:bg-white/30 flex items-center justify-center transition-colors"
193
+ @click=${()=>this.navigateNext()}
194
+ aria-label="Next"
195
+ >
196
+
197
+ </button>
198
+ </div>
199
+ `:""}
200
+ </div>
201
+ `;if(l.render(b,e),r){const d=e.querySelector("#lightbox-image-container");if(d){const c=d.querySelector("[data-lightbox-overlay]");c&&c.remove(),r.setAttribute("data-lightbox-overlay",""),d.appendChild(r)}}}}const X=Object.assign(s=>z(s),{push:s=>p.getInstance().push(s),dismiss:()=>p.getInstance().dismiss()});exports.flip=R,exports.lightbox=z,exports.lightbox$1=X;
202
+ //# sourceMappingURL=lightbox-service-D-0JtxB1.cjs.map