@mhmo91/schmancy 0.7.7 → 0.8.3

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 (547) 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-Bc3qyXjp.cjs} +2 -2
  10. package/dist/{animated-text-Be290e6l.cjs.map → animated-text-Bc3qyXjp.cjs.map} +1 -1
  11. package/dist/{animated-text-DuLrWJ6O.js → animated-text-CNx6Pmlo.js} +3 -3
  12. package/dist/{animated-text-DuLrWJ6O.js.map → animated-text-CNx6Pmlo.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-7mWxekxE.js} +104 -98
  17. package/dist/area.component-7mWxekxE.js.map +1 -0
  18. package/dist/area.component-CS_gSutH.cjs +12 -0
  19. package/dist/area.component-CS_gSutH.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-FLkd9ju8.js → autocomplete-Ci4jo3Ur.js} +4 -4
  26. package/dist/{autocomplete-FLkd9ju8.js.map → autocomplete-Ci4jo3Ur.js.map} +1 -1
  27. package/dist/{autocomplete-CHmGhBNt.cjs → autocomplete-y-IyzH4r.cjs} +2 -2
  28. package/dist/{autocomplete-CHmGhBNt.cjs.map → autocomplete-y-IyzH4r.cjs.map} +1 -1
  29. package/dist/autocomplete.cjs +1 -1
  30. package/dist/autocomplete.js +1 -1
  31. package/dist/{avatar-C8P4lVfa.js → avatar-BdyuuIk7.js} +243 -258
  32. package/dist/avatar-BdyuuIk7.js.map +1 -0
  33. package/dist/avatar-DBfJucB9.cjs +273 -0
  34. package/dist/avatar-DBfJucB9.cjs.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-CowHieO2.js} +6 -6
  38. package/dist/{boat-Ma6LW-ny.js.map → boat-CowHieO2.js.map} +1 -1
  39. package/dist/{boat-kYOUec8f.cjs → boat-DkNUc1UO.cjs} +5 -5
  40. package/dist/{boat-kYOUec8f.cjs.map → boat-DkNUc1UO.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-x46L-XTG.js → checkbox-BY4Sn8F2.js} +6 -6
  54. package/dist/{checkbox-x46L-XTG.js.map → checkbox-BY4Sn8F2.js.map} +1 -1
  55. package/dist/{checkbox-DLZkKaon.cjs → checkbox-BvWcABPr.cjs} +2 -2
  56. package/dist/{checkbox-DLZkKaon.cjs.map → checkbox-BvWcABPr.cjs.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-BsQq77nu.cjs → code-preview-BIFIJigy.cjs} +2 -2
  64. package/dist/{code-preview-BsQq77nu.cjs.map → code-preview-BIFIJigy.cjs.map} +1 -1
  65. package/dist/{code-preview-C3DLglSl.js → code-preview-CYjmAxfs.js} +3 -3
  66. package/dist/{code-preview-C3DLglSl.js.map → code-preview-CYjmAxfs.js.map} +1 -1
  67. package/dist/components.cjs +1 -1
  68. package/dist/components.js +1 -1
  69. package/dist/content-drawer.cjs +1 -1
  70. package/dist/content-drawer.js +1 -1
  71. package/dist/{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-B80Ummtv.cjs +119 -0
  76. package/dist/date-range-B80Ummtv.cjs.map +1 -0
  77. package/dist/date-range-BdIqI7LC.js +639 -0
  78. package/dist/date-range-BdIqI7LC.js.map +1 -0
  79. package/dist/{date-range-inline-CfDu-lIo.js → date-range-inline-Cnhs9atd.js} +3 -3
  80. package/dist/{date-range-inline-CfDu-lIo.js.map → date-range-inline-Cnhs9atd.js.map} +1 -1
  81. package/dist/{date-range-inline-cGptw0hr.cjs → date-range-inline-Df8u6Ecy.cjs} +2 -2
  82. package/dist/{date-range-inline-cGptw0hr.cjs.map → date-range-inline-Df8u6Ecy.cjs.map} +1 -1
  83. package/dist/date-range-inline.cjs +1 -1
  84. package/dist/date-range-inline.js +1 -1
  85. package/dist/date-range.cjs +1 -1
  86. package/dist/date-range.js +1 -1
  87. package/dist/{delay-CXFIM6qK.cjs → delay-BWsVHQib.cjs} +2 -2
  88. package/dist/delay-BWsVHQib.cjs.map +1 -0
  89. package/dist/{delay-BINGOQ7f.js → delay-CCa9nN4A.js} +45 -45
  90. package/dist/delay-CCa9nN4A.js.map +1 -0
  91. package/dist/delay.cjs +1 -1
  92. package/dist/delay.js +1 -1
  93. package/dist/details-Bee5ya0L.js +100 -0
  94. package/dist/details-Bee5ya0L.js.map +1 -0
  95. package/dist/details-oaVHXU7U.cjs +55 -0
  96. package/dist/details-oaVHXU7U.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-BriB-kFi.cjs +48 -0
  105. package/dist/dialog.component-BriB-kFi.cjs.map +1 -0
  106. package/dist/dialog.component-CMUoCC7O.js +145 -0
  107. package/dist/dialog.component-CMUoCC7O.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-B7DBbYFI.js} +3 -3
  113. package/dist/{divider-Bu6tzwGl.js.map → divider-B7DBbYFI.js.map} +1 -1
  114. package/dist/{divider-8tk2mDbL.cjs → divider-Dl4TToQZ.cjs} +2 -2
  115. package/dist/{divider-8tk2mDbL.cjs.map → divider-Dl4TToQZ.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-C2W7OttQ.cjs} +2 -2
  119. package/dist/{dropdown-content-DFb07S8x.cjs.map → dropdown-content-C2W7OttQ.cjs.map} +1 -1
  120. package/dist/{dropdown-content-fVhnEKdY.js → dropdown-content-DzhOtilY.js} +3 -3
  121. package/dist/{dropdown-content-fVhnEKdY.js.map → dropdown-content-DzhOtilY.js.map} +1 -1
  122. package/dist/dropdown.cjs +1 -1
  123. package/dist/dropdown.js +1 -1
  124. package/dist/{email-recipients-OG52RGiH.js → email-recipients-BWqZKo3m.js} +8 -7
  125. package/dist/{email-recipients-OG52RGiH.js.map → email-recipients-BWqZKo3m.js.map} +1 -1
  126. package/dist/{email-recipients-BG3GxJvc.cjs → email-recipients-Bh5VC0rc.cjs} +2 -2
  127. package/dist/{email-recipients-BG3GxJvc.cjs.map → email-recipients-Bh5VC0rc.cjs.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-53G-PJx7.js +183 -0
  135. package/dist/flex-53G-PJx7.js.map +1 -0
  136. package/dist/flex-DFSIy0t4.cjs +18 -0
  137. package/dist/flex-DFSIy0t4.cjs.map +1 -0
  138. package/dist/{form-tpyd1nsT.js → form-BtRK9bnp.js} +2 -2
  139. package/dist/{form-tpyd1nsT.js.map → form-BtRK9bnp.js.map} +1 -1
  140. package/dist/{form-cWJBcwc6.cjs → form-Zq7g2JS8.cjs} +2 -2
  141. package/dist/{form-cWJBcwc6.cjs.map → form-Zq7g2JS8.cjs.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-2jSL7WF_.js} +2 -2
  145. package/dist/{formField.mixin-Mx5CwYUh.js.map → formField.mixin-2jSL7WF_.js.map} +1 -1
  146. package/dist/{formField.mixin-XlN2pAL0.cjs → formField.mixin-DkN2ufR_.cjs} +2 -2
  147. package/dist/{formField.mixin-XlN2pAL0.cjs.map → formField.mixin-DkN2ufR_.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-Y2qLOFqe.js → icon-B5qeYrDu.js} +17 -17
  153. package/dist/icon-B5qeYrDu.js.map +1 -0
  154. package/dist/icon-button-BpmGFjaR.cjs +70 -0
  155. package/dist/icon-button-BpmGFjaR.cjs.map +1 -0
  156. package/dist/icon-button-HSYaQBNF.js +164 -0
  157. package/dist/icon-button-HSYaQBNF.js.map +1 -0
  158. package/dist/icon-pU_cfmpD.cjs +49 -0
  159. package/dist/icon-pU_cfmpD.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-8G9YY9qv.cjs +51 -0
  166. package/dist/input-8G9YY9qv.cjs.map +1 -0
  167. package/dist/{input-DDCFZ3cr.js → input-BJMF5Fyk.js} +35 -31
  168. package/dist/input-BJMF5Fyk.js.map +1 -0
  169. package/dist/{input-chip-Bht9MU9G.cjs → input-chip-CocdqTzr.cjs} +2 -2
  170. package/dist/{input-chip-Bht9MU9G.cjs.map → input-chip-CocdqTzr.cjs.map} +1 -1
  171. package/dist/{input-chip-DVE4_1wn.js → input-chip-tbrw56ix.js} +2 -2
  172. package/dist/{input-chip-DVE4_1wn.js.map → input-chip-tbrw56ix.js.map} +1 -1
  173. package/dist/input.cjs +1 -1
  174. package/dist/input.js +1 -1
  175. package/dist/json-CvcloKQv.js +51 -0
  176. package/dist/json-CvcloKQv.js.map +1 -0
  177. package/dist/json-DPnyOA3K.cjs +12 -0
  178. package/dist/json-DPnyOA3K.cjs.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-3mHqBKEh.cjs +202 -0
  187. package/dist/lightbox-service-3mHqBKEh.cjs.map +1 -0
  188. package/dist/lightbox-service-DxbYZAuv.js +458 -0
  189. package/dist/lightbox-service-DxbYZAuv.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-BO1gnjmc.js → list-FWXmY-eQ.js} +2 -2
  195. package/dist/{list-BO1gnjmc.js.map → list-FWXmY-eQ.js.map} +1 -1
  196. package/dist/{list-Bac329kq.cjs → list-JjR7WOrd.cjs} +2 -2
  197. package/dist/{list-Bac329kq.cjs.map → list-JjR7WOrd.cjs.map} +1 -1
  198. package/dist/list.cjs +1 -1
  199. package/dist/list.js +1 -1
  200. package/dist/{litElement.mixin-B1WTI3WY.cjs → litElement.mixin-BVBdv0GP.cjs} +2 -2
  201. package/dist/{litElement.mixin-B1WTI3WY.cjs.map → litElement.mixin-BVBdv0GP.cjs.map} +1 -1
  202. package/dist/{litElement.mixin-CVje6z-M.js → litElement.mixin-Wcu4yIIs.js} +2 -2
  203. package/dist/{litElement.mixin-CVje6z-M.js.map → litElement.mixin-Wcu4yIIs.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-Br6xJFxG.js} +2 -2
  207. package/dist/{map-C1jVMhlF.js.map → map-Br6xJFxG.js.map} +1 -1
  208. package/dist/{map-BlmS6Zfx.cjs → map-D9R3OCne.cjs} +2 -2
  209. package/dist/{map-BlmS6Zfx.cjs.map → map-D9R3OCne.cjs.map} +1 -1
  210. package/dist/map.cjs +1 -1
  211. package/dist/map.js +1 -1
  212. package/dist/{media-CNMZbEJe.js → media-BV_1DfcW.js} +2 -2
  213. package/dist/{media-CNMZbEJe.js.map → media-BV_1DfcW.js.map} +1 -1
  214. package/dist/{media-CxfrOjie.cjs → media-DibPwAjJ.cjs} +2 -2
  215. package/dist/{media-CxfrOjie.cjs.map → media-DibPwAjJ.cjs.map} +1 -1
  216. package/dist/menu-HKqlq99V.js +60 -0
  217. package/dist/{menu-CUKV4pVJ.js.map → menu-HKqlq99V.js.map} +1 -1
  218. package/dist/{menu-DEa2K7Pk.cjs → menu-vNrV-Nuq.cjs} +4 -6
  219. package/dist/{menu-DEa2K7Pk.cjs.map → menu-vNrV-Nuq.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-DXr4NJnN.cjs → navigation-rail-D1o3qDe_.cjs} +15 -17
  229. package/dist/navigation-rail-D1o3qDe_.cjs.map +1 -0
  230. package/dist/{navigation-rail-CYKfvZs9.js → navigation-rail-DKXumnmt.js} +30 -32
  231. package/dist/navigation-rail-DKXumnmt.js.map +1 -0
  232. package/dist/navigation-rail.cjs +1 -1
  233. package/dist/navigation-rail.js +1 -1
  234. package/dist/notification-service-B5ljba4P.js +155 -0
  235. package/dist/notification-service-B5ljba4P.js.map +1 -0
  236. package/dist/notification-service-ICRT05L0.cjs +19 -0
  237. package/dist/notification-service-ICRT05L0.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-B9CpO1Ru.js} +2 -2
  241. package/dist/notify-B9CpO1Ru.js.map +1 -0
  242. package/dist/{notify-VkDx6hMZ.cjs → notify-NX-dl60E.cjs} +2 -2
  243. package/dist/notify-NX-dl60E.cjs.map +1 -0
  244. package/dist/{option-DnRdbsTb.js → option-B4JKMrLg.js} +2 -2
  245. package/dist/{option-DnRdbsTb.js.map → option-B4JKMrLg.js.map} +1 -1
  246. package/dist/{option-Eh2AXe-Z.cjs → option-epyXLWoY.cjs} +2 -2
  247. package/dist/{option-Eh2AXe-Z.cjs.map → option-epyXLWoY.cjs.map} +1 -1
  248. package/dist/option.cjs +1 -1
  249. package/dist/option.js +1 -1
  250. package/dist/page-Bmi1QHtq.cjs +20 -0
  251. package/dist/page-Bmi1QHtq.cjs.map +1 -0
  252. package/dist/page-BpygEntU.js +48 -0
  253. package/dist/page-BpygEntU.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-3kAXDbXf.cjs} +2 -2
  259. package/dist/{payment-card-form-8a4Nqqhy.cjs.map → payment-card-form-3kAXDbXf.cjs.map} +1 -1
  260. package/dist/{payment-card-form-EVQEb5OX.js → payment-card-form-BxkHuSls.js} +3 -3
  261. package/dist/{payment-card-form-EVQEb5OX.js.map → payment-card-form-BxkHuSls.js.map} +1 -1
  262. package/dist/pills-C3fIvfn8.js +346 -0
  263. package/dist/pills-C3fIvfn8.js.map +1 -0
  264. package/dist/pills-MmHyBGQu.cjs +113 -0
  265. package/dist/pills-MmHyBGQu.cjs.map +1 -0
  266. package/dist/progress-0POmJs5o.js +59 -0
  267. package/dist/progress-0POmJs5o.js.map +1 -0
  268. package/dist/progress-qx8jtrOA.cjs +35 -0
  269. package/dist/progress-qx8jtrOA.cjs.map +1 -0
  270. package/dist/progress.cjs +1 -1
  271. package/dist/progress.js +1 -1
  272. package/dist/qr-scanner-DQq-WLyo.cjs +29 -0
  273. package/dist/qr-scanner-DQq-WLyo.cjs.map +1 -0
  274. package/dist/qr-scanner-jwOSrD0N.js +743 -0
  275. package/dist/qr-scanner-jwOSrD0N.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-QCukBJLy.js → radio-button-B0EUK_wg.js} +3 -3
  281. package/dist/{radio-button-QCukBJLy.js.map → radio-button-B0EUK_wg.js.map} +1 -1
  282. package/dist/{radio-button-BTdqEOSJ.cjs → radio-button-DraEYR2R.cjs} +2 -2
  283. package/dist/{radio-button-BTdqEOSJ.cjs.map → radio-button-DraEYR2R.cjs.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-CtwqkRBU.cjs → schmancy-steps-container-B5aiqgMA.cjs} +2 -2
  291. package/dist/{schmancy-steps-container-CtwqkRBU.cjs.map → schmancy-steps-container-B5aiqgMA.cjs.map} +1 -1
  292. package/dist/{schmancy-steps-container-NZOamraF.js → schmancy-steps-container-C2StAA5K.js} +3 -3
  293. package/dist/{schmancy-steps-container-NZOamraF.js.map → schmancy-steps-container-C2StAA5K.js.map} +1 -1
  294. package/dist/scroll-BqT7bvhu.cjs +27 -0
  295. package/dist/scroll-BqT7bvhu.cjs.map +1 -0
  296. package/dist/scroll-Bu-vAg3d.js +87 -0
  297. package/dist/scroll-Bu-vAg3d.js.map +1 -0
  298. package/dist/{select-C-Kv7ey_.cjs → select-HiEGJvOX.cjs} +2 -2
  299. package/dist/select-HiEGJvOX.cjs.map +1 -0
  300. package/dist/{select-DSTQ-Zau.js → select-i-uKur-W.js} +5 -4
  301. package/dist/select-i-uKur-W.js.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-DY-z5_tm.js → sheet-B1g7E4dQ.js} +5 -5
  309. package/dist/{sheet-DY-z5_tm.js.map → sheet-B1g7E4dQ.js.map} +1 -1
  310. package/dist/{sheet-IzYy3H8n.cjs → sheet-BbrRW0S5.cjs} +2 -2
  311. package/dist/{sheet-IzYy3H8n.cjs.map → sheet-BbrRW0S5.cjs.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-4etIM-p6.js} +20 -18
  315. package/dist/sheet.service-4etIM-p6.js.map +1 -0
  316. package/dist/sheet.service-BiRZjCdN.cjs +2 -0
  317. package/dist/sheet.service-BiRZjCdN.cjs.map +1 -0
  318. package/dist/{slider-CFtbSQ9Y.js → slider-8E3Wad0t.js} +3 -3
  319. package/dist/{slider-CFtbSQ9Y.js.map → slider-8E3Wad0t.js.map} +1 -1
  320. package/dist/{slider-CGE_Qeok.cjs → slider-VYnbIRH2.cjs} +2 -2
  321. package/dist/{slider-CGE_Qeok.cjs.map → slider-VYnbIRH2.cjs.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-DAF-hCvQ.js → spinner-CKm13CKN.js} +15 -12
  329. package/dist/spinner-CKm13CKN.js.map +1 -0
  330. package/dist/{spinner-CSPJs8CL.cjs → spinner-DJgcI5wr.cjs} +9 -9
  331. package/dist/spinner-DJgcI5wr.cjs.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-6njXvvHm.js} +50 -46
  337. package/dist/suggestion-chip-6njXvvHm.js.map +1 -0
  338. package/dist/{suggestion-chip-Cj8gwZqq.cjs → suggestion-chip-DdLfqk7o.cjs} +18 -23
  339. package/dist/suggestion-chip-DdLfqk7o.cjs.map +1 -0
  340. package/dist/{surface-DTOK-0E4.js → surface-BYU3l_Q2.js} +12 -11
  341. package/dist/surface-BYU3l_Q2.js.map +1 -0
  342. package/dist/{surface-VX_THUHv.cjs → surface-DcqbWGub.cjs} +5 -4
  343. package/dist/surface-DcqbWGub.cjs.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-C9fzDjjk.cjs} +2 -2
  347. package/dist/{table-BV0-o9Wi.cjs.map → table-C9fzDjjk.cjs.map} +1 -1
  348. package/dist/{table-CkXbXqi9.js → table-Dq12ollZ.js} +3 -3
  349. package/dist/{table-CkXbXqi9.js.map → table-Dq12ollZ.js.map} +1 -1
  350. package/dist/table.cjs +1 -1
  351. package/dist/table.js +1 -1
  352. package/dist/{tabs-compatibility-DsfD60U_.cjs → tabs-compatibility-Dwtjfkcf.cjs} +2 -2
  353. package/dist/{tabs-compatibility-DsfD60U_.cjs.map → tabs-compatibility-Dwtjfkcf.cjs.map} +1 -1
  354. package/dist/{tabs-compatibility-D_BBW655.js → tabs-compatibility-wnzlHtln.js} +2 -2
  355. package/dist/{tabs-compatibility-D_BBW655.js.map → tabs-compatibility-wnzlHtln.js.map} +1 -1
  356. package/dist/tabs.cjs +1 -1
  357. package/dist/tabs.js +1 -1
  358. package/dist/tailwind.mixin-Ddt05Frc.js +67 -0
  359. package/dist/{tailwind.mixin-wLaKUxf1.js.map → tailwind.mixin-Ddt05Frc.js.map} +1 -1
  360. package/dist/tailwind.mixin-UijsBrYW.cjs +2 -0
  361. package/dist/{tailwind.mixin-JFXu3GSo.cjs.map → tailwind.mixin-UijsBrYW.cjs.map} +1 -1
  362. package/dist/teleport.cjs +1 -1
  363. package/dist/teleport.js +1 -1
  364. package/dist/textarea-DGmsw1B_.cjs +44 -0
  365. package/dist/{textarea-B6LDhRed.cjs.map → textarea-DGmsw1B_.cjs.map} +1 -1
  366. package/dist/{textarea-TeVnUeIJ.js → textarea-Vd3zayJZ.js} +4 -3
  367. package/dist/{textarea-TeVnUeIJ.js.map → textarea-Vd3zayJZ.js.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-DG_Xwg9H.cjs} +2 -2
  371. package/dist/{theme-button-DxMbO3yP.cjs.map → theme-button-DG_Xwg9H.cjs.map} +1 -1
  372. package/dist/{theme-button-BXXqAu2Y.js → theme-button-rGpEW_xS.js} +2 -2
  373. package/dist/{theme-button-BXXqAu2Y.js.map → theme-button-rGpEW_xS.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-CVS77gnH.js → theme-controller-boat-B1fjcqJI.js} +420 -228
  377. package/dist/theme-controller-boat-B1fjcqJI.js.map +1 -0
  378. package/dist/theme-controller-boat-pLzK5zxL.cjs +178 -0
  379. package/dist/theme-controller-boat-pLzK5zxL.cjs.map +1 -0
  380. package/dist/theme.cjs +1 -1
  381. package/dist/theme.js +13 -11
  382. package/dist/{timezone-D7YOMM8G.cjs → timezone-BhUaIAV7.cjs} +2 -2
  383. package/dist/{timezone-D7YOMM8G.cjs.map → timezone-BhUaIAV7.cjs.map} +1 -1
  384. package/dist/{timezone-RBV74f85.js → timezone-IQkwr6Oh.js} +3 -3
  385. package/dist/{timezone-RBV74f85.js.map → timezone-IQkwr6Oh.js.map} +1 -1
  386. package/dist/{tooltip-DssL6Qfx.js → tooltip-CwaiZC8f.js} +2 -2
  387. package/dist/{tooltip-DssL6Qfx.js.map → tooltip-CwaiZC8f.js.map} +1 -1
  388. package/dist/{tooltip-BH_RLoZI.cjs → tooltip-iEvxKg8g.cjs} +2 -2
  389. package/dist/{tooltip-BH_RLoZI.cjs.map → tooltip-iEvxKg8g.cjs.map} +1 -1
  390. package/dist/tooltip.cjs +1 -1
  391. package/dist/tooltip.js +1 -1
  392. package/dist/{tree-7Zz1sJKl.cjs → tree-Bclu6uvv.cjs} +2 -2
  393. package/dist/{tree-7Zz1sJKl.cjs.map → tree-Bclu6uvv.cjs.map} +1 -1
  394. package/dist/{tree-C33t9-0j.js → tree-D9EbEsxn.js} +2 -2
  395. package/dist/{tree-C33t9-0j.js.map → tree-D9EbEsxn.js.map} +1 -1
  396. package/dist/tree.cjs +1 -1
  397. package/dist/tree.js +1 -1
  398. package/dist/{typewriter-Dt1Js2lP.js → typewriter-BjDPgRlj.js} +5 -5
  399. package/dist/{typewriter-Dt1Js2lP.js.map → typewriter-BjDPgRlj.js.map} +1 -1
  400. package/dist/{typewriter-WbYqfXO7.cjs → typewriter-Bscwd-36.cjs} +4 -4
  401. package/dist/{typewriter-WbYqfXO7.cjs.map → typewriter-Bscwd-36.cjs.map} +1 -1
  402. package/dist/typewriter.cjs +1 -1
  403. package/dist/typewriter.js +1 -1
  404. package/dist/{typography-DdG9aEAg.js → typography-CConBBFH.js} +13 -53
  405. package/dist/typography-CConBBFH.js.map +1 -0
  406. package/dist/{typography-Ck-OdI83.cjs → typography-DLGT3DGz.cjs} +3 -46
  407. package/dist/typography-DLGT3DGz.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/notification/index.d.ts +1 -3
  452. package/types/src/notification/notification-service.d.ts +13 -1
  453. package/types/src/notification/notification.d.ts +13 -12
  454. package/types/src/notification/notify.d.ts +1 -1
  455. package/types/src/page/index.d.ts +1 -0
  456. package/types/src/page/page.d.ts +31 -0
  457. package/types/src/progress/progress.d.ts +2 -2
  458. package/types/src/qr-scanner/index.d.ts +1 -0
  459. package/types/src/qr-scanner/qr-scanner.d.ts +26 -0
  460. package/types/src/select/select.d.ts +1 -1
  461. package/types/src/theme/index.d.ts +1 -0
  462. package/types/src/theme/theme-audio-player.d.ts +100 -0
  463. package/types/src/theme/theme-controller-boat.d.ts +1 -0
  464. package/types/src/theme/theme.component.d.ts +1 -1
  465. package/types/src/types/index.d.ts +1 -0
  466. package/types/src/types/mood-audio.types.d.ts +173 -0
  467. package/types/src/typography/typography.d.ts +1 -0
  468. package/dist/area.component-BzjJiNTJ.js.map +0 -1
  469. package/dist/area.component-FL_IUylM.cjs +0 -12
  470. package/dist/area.component-FL_IUylM.cjs.map +0 -1
  471. package/dist/avatar-B_uJN9WV.cjs +0 -288
  472. package/dist/avatar-B_uJN9WV.cjs.map +0 -1
  473. package/dist/avatar-C8P4lVfa.js.map +0 -1
  474. package/dist/context-create-BJkkLr1D.cjs +0 -2
  475. package/dist/context-create-BJkkLr1D.cjs.map +0 -1
  476. package/dist/context-create-BvxbWTgj.js.map +0 -1
  477. package/dist/date-range-Cm0TCfwu.js +0 -664
  478. package/dist/date-range-Cm0TCfwu.js.map +0 -1
  479. package/dist/date-range-Cy97kOP_.cjs +0 -134
  480. package/dist/date-range-Cy97kOP_.cjs.map +0 -1
  481. package/dist/delay-BINGOQ7f.js.map +0 -1
  482. package/dist/delay-CXFIM6qK.cjs.map +0 -1
  483. package/dist/details-CLRikV4s.cjs +0 -64
  484. package/dist/details-CLRikV4s.cjs.map +0 -1
  485. package/dist/details-bgq2X_hO.js +0 -115
  486. package/dist/details-bgq2X_hO.js.map +0 -1
  487. package/dist/dialog-content-B59ekS_y.cjs +0 -85
  488. package/dist/dialog-content-B59ekS_y.cjs.map +0 -1
  489. package/dist/dialog-content-Cu7fqN8Y.js +0 -256
  490. package/dist/dialog-content-Cu7fqN8Y.js.map +0 -1
  491. package/dist/dialog-service-B4nR8Em5.cjs +0 -2
  492. package/dist/dialog-service-B4nR8Em5.cjs.map +0 -1
  493. package/dist/dialog-service-Bege4HF4.js +0 -140
  494. package/dist/dialog-service-Bege4HF4.js.map +0 -1
  495. package/dist/flex-CYQU6Pf8.js +0 -260
  496. package/dist/flex-CYQU6Pf8.js.map +0 -1
  497. package/dist/flex-DytMcHmq.cjs +0 -43
  498. package/dist/flex-DytMcHmq.cjs.map +0 -1
  499. package/dist/icon-C8Q_XMtJ.cjs +0 -49
  500. package/dist/icon-C8Q_XMtJ.cjs.map +0 -1
  501. package/dist/icon-Y2qLOFqe.js.map +0 -1
  502. package/dist/icon-button-CJ6AVTv9.js +0 -156
  503. package/dist/icon-button-CJ6AVTv9.js.map +0 -1
  504. package/dist/icon-button-IdG1NVgA.cjs +0 -65
  505. package/dist/icon-button-IdG1NVgA.cjs.map +0 -1
  506. package/dist/input-DDCFZ3cr.js.map +0 -1
  507. package/dist/input-UyknNHNr.cjs +0 -51
  508. package/dist/input-UyknNHNr.cjs.map +0 -1
  509. package/dist/menu-CUKV4pVJ.js +0 -61
  510. package/dist/navigation-rail-CYKfvZs9.js.map +0 -1
  511. package/dist/navigation-rail-DXr4NJnN.cjs.map +0 -1
  512. package/dist/notification-service-CZ56fXew.js +0 -532
  513. package/dist/notification-service-CZ56fXew.js.map +0 -1
  514. package/dist/notification-service-DQGs9O0f.cjs +0 -143
  515. package/dist/notification-service-DQGs9O0f.cjs.map +0 -1
  516. package/dist/notify-KvHZ-8z9.js.map +0 -1
  517. package/dist/notify-VkDx6hMZ.cjs.map +0 -1
  518. package/dist/progress-D5kgn2Fg.js +0 -58
  519. package/dist/progress-D5kgn2Fg.js.map +0 -1
  520. package/dist/progress-yFxoJDYf.cjs +0 -35
  521. package/dist/progress-yFxoJDYf.cjs.map +0 -1
  522. package/dist/ripple-QoNZUUw_.js +0 -148
  523. package/dist/ripple-QoNZUUw_.js.map +0 -1
  524. package/dist/ripple-Ujq_REH4.cjs +0 -16
  525. package/dist/ripple-Ujq_REH4.cjs.map +0 -1
  526. package/dist/select-C-Kv7ey_.cjs.map +0 -1
  527. package/dist/select-DSTQ-Zau.js.map +0 -1
  528. package/dist/sheet.service-BNz-ird-.cjs +0 -2
  529. package/dist/sheet.service-BNz-ird-.cjs.map +0 -1
  530. package/dist/sheet.service-DuVcXyOB.js.map +0 -1
  531. package/dist/spinner-CSPJs8CL.cjs.map +0 -1
  532. package/dist/spinner-DAF-hCvQ.js.map +0 -1
  533. package/dist/suggestion-chip-CYu-4xrL.js.map +0 -1
  534. package/dist/suggestion-chip-Cj8gwZqq.cjs.map +0 -1
  535. package/dist/surface-DTOK-0E4.js.map +0 -1
  536. package/dist/surface-VX_THUHv.cjs.map +0 -1
  537. package/dist/tailwind.mixin-JFXu3GSo.cjs +0 -2
  538. package/dist/tailwind.mixin-wLaKUxf1.js +0 -67
  539. package/dist/textarea-B6LDhRed.cjs +0 -44
  540. package/dist/theme-controller-boat-CCBNOGxF.cjs +0 -64
  541. package/dist/theme-controller-boat-CCBNOGxF.cjs.map +0 -1
  542. package/dist/theme-controller-boat-CVS77gnH.js.map +0 -1
  543. package/dist/typography-Ck-OdI83.cjs.map +0 -1
  544. package/dist/typography-DdG9aEAg.js.map +0 -1
  545. package/types/src/notification/notification-audio-generator.d.ts +0 -45
  546. package/types/src/notification/notification-audio.d.ts +0 -79
  547. package/types/src/notification/notification-container.d.ts +0 -48
@@ -1 +1 @@
1
- {"version":3,"file":"input-chip-DVE4_1wn.js","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","render","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-tbrw56ix.js","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","render","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-8G9YY9qv.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-BJMF5Fyk.js";
2
2
  export {
3
3
  m as SchmancyInput,
4
4
  n as SchmancyInputCompat
@@ -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-Ddt05Frc.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-B5ljba4P.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-CvcloKQv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-CvcloKQv.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;"}
@@ -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-UijsBrYW.cjs"),h=require("lit"),g=require("lit/directives/unsafe-html.js"),p=require("./notification-service-ICRT05L0.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-DPnyOA3K.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-DPnyOA3K.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"}
package/dist/json.cjs ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./json-DPnyOA3K.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-CvcloKQv.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-DFSIy0t4.cjs"),c=require("./scroll-BqT7bvhu.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-53G-PJx7.js";
2
+ import { S as e } from "./scroll-Bu-vAg3d.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-UijsBrYW.cjs"),N=require("./litElement.mixin-BVBdv0GP.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-3mHqBKEh.cjs.map