@mhmo91/schmancy 0.2.125 → 0.2.127

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 (236) hide show
  1. package/dist/{animated-text-CR7nS6VW.js → animated-text-BJXm6krF.js} +3 -3
  2. package/dist/{animated-text-CR7nS6VW.js.map → animated-text-BJXm6krF.js.map} +1 -1
  3. package/dist/{animated-text-C7Kwa_OI.cjs → animated-text-rLaot0v2.cjs} +2 -2
  4. package/dist/{animated-text-C7Kwa_OI.cjs.map → animated-text-rLaot0v2.cjs.map} +1 -1
  5. package/dist/animated-text.cjs +1 -1
  6. package/dist/animated-text.js +1 -1
  7. package/dist/area.cjs +1 -1
  8. package/dist/{area.component-AypdoH-o.cjs → area.component-CP5oin2j.cjs} +2 -2
  9. package/dist/{area.component-AypdoH-o.cjs.map → area.component-CP5oin2j.cjs.map} +1 -1
  10. package/dist/{area.component-DP34t7HX.js → area.component-DlAEUmgd.js} +3 -3
  11. package/dist/{area.component-DP34t7HX.js.map → area.component-DlAEUmgd.js.map} +1 -1
  12. package/dist/area.js +1 -1
  13. package/dist/{autocomplete-DtXL-EYa.js → autocomplete-Bbi68nzP.js} +3 -3
  14. package/dist/{autocomplete-DtXL-EYa.js.map → autocomplete-Bbi68nzP.js.map} +1 -1
  15. package/dist/{autocomplete-BrXYON3m.cjs → autocomplete-DEUfHcCH.cjs} +2 -2
  16. package/dist/{autocomplete-BrXYON3m.cjs.map → autocomplete-DEUfHcCH.cjs.map} +1 -1
  17. package/dist/autocomplete.cjs +1 -1
  18. package/dist/autocomplete.js +1 -1
  19. package/dist/busy.cjs +1 -1
  20. package/dist/busy.js +1 -1
  21. package/dist/button.cjs +1 -1
  22. package/dist/button.js +1 -1
  23. package/dist/card.cjs +1 -1
  24. package/dist/card.js +1 -1
  25. package/dist/{checkbox-D9hGlFti.cjs → checkbox-DrrcDAjr.cjs} +2 -2
  26. package/dist/{checkbox-D9hGlFti.cjs.map → checkbox-DrrcDAjr.cjs.map} +1 -1
  27. package/dist/{checkbox-C6z4niEj.js → checkbox-N_JVa-1W.js} +2 -2
  28. package/dist/{checkbox-C6z4niEj.js.map → checkbox-N_JVa-1W.js.map} +1 -1
  29. package/dist/checkbox.cjs +1 -1
  30. package/dist/checkbox.js +1 -1
  31. package/dist/{chips-wP7Z-qFr.cjs → chips-DrYrCyTG.cjs} +2 -2
  32. package/dist/{chips-wP7Z-qFr.cjs.map → chips-DrYrCyTG.cjs.map} +1 -1
  33. package/dist/{chips-De6Vldxt.js → chips-DuSV3Pg2.js} +3 -3
  34. package/dist/{chips-De6Vldxt.js.map → chips-DuSV3Pg2.js.map} +1 -1
  35. package/dist/chips.cjs +1 -1
  36. package/dist/chips.js +1 -1
  37. package/dist/components.cjs +1 -1
  38. package/dist/components.js +1 -1
  39. package/dist/content-drawer.cjs +1 -1
  40. package/dist/content-drawer.js +1 -1
  41. package/dist/{date-range-rIm4WhKI.js → date-range-6fQ4ypDJ.js} +3 -3
  42. package/dist/{date-range-rIm4WhKI.js.map → date-range-6fQ4ypDJ.js.map} +1 -1
  43. package/dist/{date-range-BHtt61m5.cjs → date-range-DoZNetuD.cjs} +2 -2
  44. package/dist/{date-range-BHtt61m5.cjs.map → date-range-DoZNetuD.cjs.map} +1 -1
  45. package/dist/date-range.cjs +1 -1
  46. package/dist/date-range.js +1 -1
  47. package/dist/{delay-PEhN0JaA.js → delay-CSAsNZ4k.js} +2 -2
  48. package/dist/{delay-PEhN0JaA.js.map → delay-CSAsNZ4k.js.map} +1 -1
  49. package/dist/{delay-xd8PmM2r.cjs → delay-WrR6CJK_.cjs} +2 -2
  50. package/dist/{delay-xd8PmM2r.cjs.map → delay-WrR6CJK_.cjs.map} +1 -1
  51. package/dist/delay.cjs +1 -1
  52. package/dist/delay.js +1 -1
  53. package/dist/{divider-B_GBA6wG.js → divider-ByXACxEQ.js} +3 -3
  54. package/dist/{divider-B_GBA6wG.js.map → divider-ByXACxEQ.js.map} +1 -1
  55. package/dist/{divider-CW3prtEN.cjs → divider-Cl2Thq2Y.cjs} +2 -2
  56. package/dist/{divider-CW3prtEN.cjs.map → divider-Cl2Thq2Y.cjs.map} +1 -1
  57. package/dist/divider.cjs +1 -1
  58. package/dist/divider.js +1 -1
  59. package/dist/extra.cjs +1 -1
  60. package/dist/extra.js +1 -1
  61. package/dist/{flex-Cmd1vWus.js → flex-BGVyAdBX.js} +2 -2
  62. package/dist/{flex-Cmd1vWus.js.map → flex-BGVyAdBX.js.map} +1 -1
  63. package/dist/{flex-CbweZ1uz.cjs → flex-DeB79N0h.cjs} +2 -2
  64. package/dist/{flex-CbweZ1uz.cjs.map → flex-DeB79N0h.cjs.map} +1 -1
  65. package/dist/{form-qGZu5wRz.js → form-DATARECy.js} +2 -2
  66. package/dist/{form-qGZu5wRz.js.map → form-DATARECy.js.map} +1 -1
  67. package/dist/{form-GwdkWkeq.cjs → form-Dkh-YG_8.cjs} +2 -2
  68. package/dist/{form-GwdkWkeq.cjs.map → form-Dkh-YG_8.cjs.map} +1 -1
  69. package/dist/form.cjs +1 -1
  70. package/dist/form.js +1 -1
  71. package/dist/{icon-DYd0ia3y.cjs → icon-BbqYaRVu.cjs} +2 -2
  72. package/dist/{icon-DYd0ia3y.cjs.map → icon-BbqYaRVu.cjs.map} +1 -1
  73. package/dist/{icon-0jYWClYF.js → icon-BdqEZEF8.js} +3 -3
  74. package/dist/{icon-0jYWClYF.js.map → icon-BdqEZEF8.js.map} +1 -1
  75. package/dist/{icon-button-CNn-TBQr.cjs → icon-button-BUUtmKnu.cjs} +2 -2
  76. package/dist/{icon-button-CNn-TBQr.cjs.map → icon-button-BUUtmKnu.cjs.map} +1 -1
  77. package/dist/{icon-button-Cb9UFHRA.js → icon-button-DlnuclQQ.js} +3 -3
  78. package/dist/{icon-button-Cb9UFHRA.js.map → icon-button-DlnuclQQ.js.map} +1 -1
  79. package/dist/icons.cjs +1 -1
  80. package/dist/icons.js +1 -1
  81. package/dist/index.cjs +1 -1
  82. package/dist/index.js +35 -35
  83. package/dist/{input-BwUKlNLv.js → input-BDUd1ZGs.js} +2 -2
  84. package/dist/{input-BwUKlNLv.js.map → input-BDUd1ZGs.js.map} +1 -1
  85. package/dist/{input-BDvmjqzB.cjs → input-B_MWCRet.cjs} +2 -2
  86. package/dist/{input-BDvmjqzB.cjs.map → input-B_MWCRet.cjs.map} +1 -1
  87. package/dist/input.cjs +1 -1
  88. package/dist/input.js +1 -1
  89. package/dist/layout.cjs +1 -1
  90. package/dist/layout.js +1 -1
  91. package/dist/{list-nuLmomtu.js → list-D0J2ndMA.js} +2 -2
  92. package/dist/{list-nuLmomtu.js.map → list-D0J2ndMA.js.map} +1 -1
  93. package/dist/{list-DGZ8nQDV.cjs → list-UOeNjOTt.cjs} +2 -2
  94. package/dist/{list-DGZ8nQDV.cjs.map → list-UOeNjOTt.cjs.map} +1 -1
  95. package/dist/list.cjs +1 -1
  96. package/dist/list.js +1 -1
  97. package/dist/{litElement.mixin-CsMY3rsN.cjs → litElement.mixin-CfkMd-bR.cjs} +2 -2
  98. package/dist/{litElement.mixin-CsMY3rsN.cjs.map → litElement.mixin-CfkMd-bR.cjs.map} +1 -1
  99. package/dist/{litElement.mixin-KVNPHS0h.js → litElement.mixin-PXLBM6N4.js} +2 -2
  100. package/dist/{litElement.mixin-KVNPHS0h.js.map → litElement.mixin-PXLBM6N4.js.map} +1 -1
  101. package/dist/{menu-BoAxrHvz.cjs → menu-B4k2_5rl.cjs} +2 -2
  102. package/dist/{menu-BoAxrHvz.cjs.map → menu-B4k2_5rl.cjs.map} +1 -1
  103. package/dist/{menu-DCdcWg1Q.js → menu-D7PxtMOz.js} +3 -3
  104. package/dist/{menu-DCdcWg1Q.js.map → menu-D7PxtMOz.js.map} +1 -1
  105. package/dist/menu.cjs +1 -1
  106. package/dist/menu.js +1 -1
  107. package/dist/nav-drawer.cjs +1 -1
  108. package/dist/nav-drawer.js +1 -1
  109. package/dist/notification.cjs +1 -1
  110. package/dist/notification.js +1 -1
  111. package/dist/{option-BOoGEXyd.cjs → option-hsAZB8ji.cjs} +2 -2
  112. package/dist/{option-BOoGEXyd.cjs.map → option-hsAZB8ji.cjs.map} +1 -1
  113. package/dist/{option-04xx4j0z.js → option-vV2BM1B_.js} +2 -2
  114. package/dist/{option-04xx4j0z.js.map → option-vV2BM1B_.js.map} +1 -1
  115. package/dist/option.cjs +1 -1
  116. package/dist/option.js +1 -1
  117. package/dist/{outlet-C9H_6XOK.cjs → outlet-DMOeEL6g.cjs} +2 -2
  118. package/dist/{outlet-C9H_6XOK.cjs.map → outlet-DMOeEL6g.cjs.map} +1 -1
  119. package/dist/{outlet-DlGwFO9i.js → outlet-DRaXjbOY.js} +2 -2
  120. package/dist/{outlet-DlGwFO9i.js.map → outlet-DRaXjbOY.js.map} +1 -1
  121. package/dist/{payment-card-form-DtcRjZp8.js → payment-card-form-8oXgNTFN.js} +3 -3
  122. package/dist/{payment-card-form-DtcRjZp8.js.map → payment-card-form-8oXgNTFN.js.map} +1 -1
  123. package/dist/{payment-card-form-BaysKg6Z.cjs → payment-card-form-DfbqzyTv.cjs} +2 -2
  124. package/dist/{payment-card-form-BaysKg6Z.cjs.map → payment-card-form-DfbqzyTv.cjs.map} +1 -1
  125. package/dist/{radio-group-BV6zZQBP.cjs → radio-group-CLt-d-Ni.cjs} +2 -2
  126. package/dist/{radio-group-BV6zZQBP.cjs.map → radio-group-CLt-d-Ni.cjs.map} +1 -1
  127. package/dist/{radio-group-BPFwj4dx.js → radio-group-DRXtgyf5.js} +2 -2
  128. package/dist/{radio-group-BPFwj4dx.js.map → radio-group-DRXtgyf5.js.map} +1 -1
  129. package/dist/radio-group.cjs +1 -1
  130. package/dist/radio-group.js +1 -1
  131. package/dist/{schmancy-steps-container-CT4W6h4t.js → schmancy-steps-container-D1k0kjKI.js} +2 -2
  132. package/dist/{schmancy-steps-container-CT4W6h4t.js.map → schmancy-steps-container-D1k0kjKI.js.map} +1 -1
  133. package/dist/{schmancy-steps-container-CQp7mdgo.cjs → schmancy-steps-container-DguK5NK4.cjs} +2 -2
  134. package/dist/{schmancy-steps-container-CQp7mdgo.cjs.map → schmancy-steps-container-DguK5NK4.cjs.map} +1 -1
  135. package/dist/{select-dLquQtbc.cjs → select-BUUelLow.cjs} +3 -3
  136. package/dist/select-BUUelLow.cjs.map +1 -0
  137. package/dist/{select-CGse8Q3B.js → select-By_Pm8TG.js} +4 -4
  138. package/dist/select-By_Pm8TG.js.map +1 -0
  139. package/dist/select.cjs +1 -1
  140. package/dist/select.js +1 -1
  141. package/dist/{sheet-PKhdztII.js → sheet-CHow9LJ8.js} +3 -3
  142. package/dist/{sheet-PKhdztII.js.map → sheet-CHow9LJ8.js.map} +1 -1
  143. package/dist/{sheet-RxCJqnwE.cjs → sheet-CyZB5a4W.cjs} +2 -2
  144. package/dist/{sheet-RxCJqnwE.cjs.map → sheet-CyZB5a4W.cjs.map} +1 -1
  145. package/dist/sheet.cjs +1 -1
  146. package/dist/sheet.js +1 -1
  147. package/dist/{slider-DKZODC7g.js → slider-BORUoU4I.js} +3 -3
  148. package/dist/{slider-DKZODC7g.js.map → slider-BORUoU4I.js.map} +1 -1
  149. package/dist/{slider-Cw5jFlAO.cjs → slider-DCRfwhaP.cjs} +2 -2
  150. package/dist/{slider-Cw5jFlAO.cjs.map → slider-DCRfwhaP.cjs.map} +1 -1
  151. package/dist/slider.cjs +1 -1
  152. package/dist/slider.js +1 -1
  153. package/dist/{spinner-Cr6ZRUW_.js → spinner-C-rMlbyB.js} +3 -3
  154. package/dist/{spinner-Cr6ZRUW_.js.map → spinner-C-rMlbyB.js.map} +1 -1
  155. package/dist/{spinner-BIT7SlWT.cjs → spinner-DeHbns2e.cjs} +2 -2
  156. package/dist/{spinner-BIT7SlWT.cjs.map → spinner-DeHbns2e.cjs.map} +1 -1
  157. package/dist/steps.cjs +1 -1
  158. package/dist/steps.js +1 -1
  159. package/dist/{surface-BwHzF1Al.js → surface-HAEl5c8W.js} +2 -2
  160. package/dist/{surface-BwHzF1Al.js.map → surface-HAEl5c8W.js.map} +1 -1
  161. package/dist/{surface-CU_71bTu.cjs → surface-TpxKBWnD.cjs} +2 -2
  162. package/dist/{surface-CU_71bTu.cjs.map → surface-TpxKBWnD.cjs.map} +1 -1
  163. package/dist/surface.cjs +1 -1
  164. package/dist/surface.js +1 -1
  165. package/dist/{table-CAAYvRWb.js → table-D7KL2FaN.js} +166 -164
  166. package/dist/table-D7KL2FaN.js.map +1 -0
  167. package/dist/table-DXPDEHEh.cjs +65 -0
  168. package/dist/table-DXPDEHEh.cjs.map +1 -0
  169. package/dist/table.cjs +1 -1
  170. package/dist/table.js +1 -1
  171. package/dist/{tabs-group-DKgFtkF4.cjs → tabs-group-CR2cSCNr.cjs} +2 -2
  172. package/dist/{tabs-group-DKgFtkF4.cjs.map → tabs-group-CR2cSCNr.cjs.map} +1 -1
  173. package/dist/{tabs-group-3mMfpHn0.js → tabs-group-Dm_FCj7q.js} +2 -2
  174. package/dist/{tabs-group-3mMfpHn0.js.map → tabs-group-Dm_FCj7q.js.map} +1 -1
  175. package/dist/tabs.cjs +1 -1
  176. package/dist/tabs.js +1 -1
  177. package/dist/tailwind.mixin-CjSVtdHt.cjs +2 -0
  178. package/dist/{tailwind.mixin-BAMa8YNR.cjs.map → tailwind.mixin-CjSVtdHt.cjs.map} +1 -1
  179. package/dist/tailwind.mixin-Cxj7n9Jd.js +43 -0
  180. package/dist/{tailwind.mixin-BQyZrGP1.js.map → tailwind.mixin-Cxj7n9Jd.js.map} +1 -1
  181. package/dist/teleport.cjs +1 -1
  182. package/dist/{teleport.component-CoBmvVft.cjs → teleport.component-AE9wd-Xe.cjs} +2 -2
  183. package/dist/{teleport.component-CoBmvVft.cjs.map → teleport.component-AE9wd-Xe.cjs.map} +1 -1
  184. package/dist/{teleport.component-kmPwZ6q9.js → teleport.component-B8yyRFCq.js} +37 -37
  185. package/dist/{teleport.component-kmPwZ6q9.js.map → teleport.component-B8yyRFCq.js.map} +1 -1
  186. package/dist/teleport.js +1 -1
  187. package/dist/{textarea-BX6iD8ez.cjs → textarea-CLlh5-HA.cjs} +2 -2
  188. package/dist/{textarea-BX6iD8ez.cjs.map → textarea-CLlh5-HA.cjs.map} +1 -1
  189. package/dist/{textarea-DrtTwsZf.js → textarea-DcSAsR60.js} +2 -2
  190. package/dist/{textarea-DrtTwsZf.js.map → textarea-DcSAsR60.js.map} +1 -1
  191. package/dist/textarea.cjs +1 -1
  192. package/dist/textarea.js +1 -1
  193. package/dist/{theme-button-C8uLYaSN.cjs → theme-button-53Mhj3kQ.cjs} +2 -2
  194. package/dist/{theme-button-C8uLYaSN.cjs.map → theme-button-53Mhj3kQ.cjs.map} +1 -1
  195. package/dist/{theme-button-BedwumBT.js → theme-button-B7_LXWoe.js} +2 -2
  196. package/dist/{theme-button-BedwumBT.js.map → theme-button-B7_LXWoe.js.map} +1 -1
  197. package/dist/theme-button.cjs +1 -1
  198. package/dist/theme-button.js +1 -1
  199. package/dist/theme.cjs +1 -1
  200. package/dist/{theme.component-DvlxAH1p.cjs → theme.component-Drmkh4sF.cjs} +2 -2
  201. package/dist/{theme.component-DvlxAH1p.cjs.map → theme.component-Drmkh4sF.cjs.map} +1 -1
  202. package/dist/{theme.component-zxDCAaxd.js → theme.component-yFb6vlsT.js} +2 -2
  203. package/dist/{theme.component-zxDCAaxd.js.map → theme.component-yFb6vlsT.js.map} +1 -1
  204. package/dist/theme.js +1 -1
  205. package/dist/{timezone-1BrrQMHz.js → timezone-DxkvIe7V.js} +3 -3
  206. package/dist/{timezone-1BrrQMHz.js.map → timezone-DxkvIe7V.js.map} +1 -1
  207. package/dist/{timezone-D14kTMKK.cjs → timezone-enXRjPy1.cjs} +2 -2
  208. package/dist/{timezone-D14kTMKK.cjs.map → timezone-enXRjPy1.cjs.map} +1 -1
  209. package/dist/{tree-C_TPLHEo.cjs → tree-Bt4J6QVI.cjs} +2 -2
  210. package/dist/{tree-C_TPLHEo.cjs.map → tree-Bt4J6QVI.cjs.map} +1 -1
  211. package/dist/{tree-DuaRuwS9.js → tree-CQccoc9W.js} +2 -2
  212. package/dist/{tree-DuaRuwS9.js.map → tree-CQccoc9W.js.map} +1 -1
  213. package/dist/tree.cjs +1 -1
  214. package/dist/tree.js +1 -1
  215. package/dist/{typewriter-Fim6s-vF.js → typewriter-DGserMVU.js} +4 -4
  216. package/dist/{typewriter-Fim6s-vF.js.map → typewriter-DGserMVU.js.map} +1 -1
  217. package/dist/{typewriter-C2NQzIJ9.cjs → typewriter-WqDo75_3.cjs} +2 -2
  218. package/dist/{typewriter-C2NQzIJ9.cjs.map → typewriter-WqDo75_3.cjs.map} +1 -1
  219. package/dist/typewriter.cjs +1 -1
  220. package/dist/typewriter.js +1 -1
  221. package/dist/{typography-C4RygG_b.js → typography-D5E46rwN.js} +2 -2
  222. package/dist/{typography-C4RygG_b.js.map → typography-D5E46rwN.js.map} +1 -1
  223. package/dist/{typography-f0kdRUDj.cjs → typography-DbNitvGl.cjs} +2 -2
  224. package/dist/{typography-f0kdRUDj.cjs.map → typography-DbNitvGl.cjs.map} +1 -1
  225. package/dist/typography.cjs +1 -1
  226. package/dist/typography.js +1 -1
  227. package/package.json +1 -1
  228. package/types/src/table/row.d.ts +8 -7
  229. package/types/src/table/table.d.ts +11 -5
  230. package/dist/select-CGse8Q3B.js.map +0 -1
  231. package/dist/select-dLquQtbc.cjs.map +0 -1
  232. package/dist/table-B3lX6zue.cjs +0 -80
  233. package/dist/table-B3lX6zue.cjs.map +0 -1
  234. package/dist/table-CAAYvRWb.js.map +0 -1
  235. package/dist/tailwind.mixin-BAMa8YNR.cjs +0 -2
  236. package/dist/tailwind.mixin-BQyZrGP1.js +0 -43
@@ -1 +1 @@
1
- {"version":3,"file":"menu-BoAxrHvz.cjs","sources":["../src/menu/menu-item.ts","../src/menu/menu.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { fromEvent, takeUntil } from 'rxjs'\n\n@customElement('schmancy-menu-item')\nexport default class SchmancyMenuItem extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(this, 'click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(e => {\n\t\t\t\te.stopPropagation()\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('schmancy-menu-item-click', {\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t}\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<schmancy-list-item>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-list-item>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu-item': SchmancyMenuItem\n\t}\n}\n","import { autoUpdate, computePosition, flip, offset, shift, size } from '@floating-ui/dom'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, query, queryAssignedElements } from 'lit/decorators.js'\nimport { filter, fromEvent, takeUntil, tap } from 'rxjs'\n\n@customElement('schmancy-menu')\nexport default class SchmancyMenu extends TailwindElement(css`\n\t:host {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t}\n\n\t#menu {\n\t\tdisplay: none;\n\t}\n\n\t#menu[data-show='true'] {\n\t\tdisplay: block;\n\t}\n`) {\n\t@queryAssignedElements({ flatten: true, slot: 'button' })\n\tbuttonElement!: Array<HTMLElement>\n\n\t@query('#menu') menuElement!: HTMLElement\n\n\tprivate cleanup?: any\n\n\tprivate getMiddleware() {\n\t\treturn [\n\t\t\toffset(5),\n\t\t\tflip(),\n\t\t\tshift({ padding: 5 }),\n\t\t\tsize({\n\t\t\t\tapply({ availableHeight, elements }) {\n\t\t\t\t\telements.floating.style.maxHeight = `${availableHeight}px`\n\t\t\t\t},\n\t\t\t}),\n\t\t]\n\t}\n\n\tasync updatePosition() {\n\t\tif (!this.buttonElement[0] || !this.menuElement) {\n\t\t\treturn\n\t\t}\n\n\t\tawait computePosition(this.buttonElement[0], this.menuElement, {\n\t\t\tplacement: 'bottom-start',\n\t\t\tmiddleware: this.getMiddleware(),\n\t\t}).then(({ x, y }) => {\n\t\t\tObject.assign(this.menuElement.style, {\n\t\t\t\tleft: `${x}px`,\n\t\t\t\ttop: `${y}px`,\n\t\t\t})\n\t\t})\n\t}\n\n\tprivate showMenu() {\n\t\tif (!this.buttonElement[0] || !this.menuElement) return\n\n\t\tthis.menuElement.dataset.show = 'true'\n\n\t\tthis.cleanup = autoUpdate(this.buttonElement[0], this.menuElement, () => {\n\t\t\tcomputePosition(this.buttonElement[0], this.menuElement, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: this.getMiddleware(),\n\t\t\t}).then(({ x, y, strategy }) => {\n\t\t\t\tObject.assign(this.menuElement.style, {\n\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\ttop: `${y}px`,\n\t\t\t\t\tposition: strategy,\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 100,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\n\t\tanimation.onfinish = () => {}\n\t}\n\n\tprivate async hideMenu() {\n\t\t// Make hideMenu async\n\t\tif (this.cleanup) {\n\t\t\tawait this.cleanup() // Await the cleanup!\n\t\t\tthis.cleanup = undefined\n\t\t}\n\t\tthis.menuElement.dataset.show = 'false'\n\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 75,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\t\tanimation.onfinish = () => {} // No need for a promise now\n\t}\n\n\tfirstUpdated(): void {\n\t\tfromEvent(this.buttonElement, 'click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.showMenu()\n\t\t\t})\n\n\t\tfromEvent(this, 'schmancy-menu-item-click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.hideMenu()\n\t\t\t})\n\n\t\tfromEvent(document, 'click')\n\t\t\t.pipe(\n\t\t\t\tfilter((e: Event) => !this.contains(e.target as Node)),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\ttap(() => {\n\t\t\t\t\tif (this.menuElement.dataset.show === 'true') {\n\t\t\t\t\t\tthis.hideMenu()\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<slot name=\"button\">\n\t\t\t\t<schmancy-icon-button> more_vert </schmancy-icon-button>\n\t\t\t</slot>\n\t\t\t<ul\n\t\t\t\tid=\"menu\"\n\t\t\t\tclass=\"absolute z-50 border-outlineVariant rounded-md min-w-[160px] max-w-[320px] w-max bg-surface-default max-h-[90vh] shadow-1 overflow-y-auto\"\n\t\t\t\trole=\"menu\"\n\t\t\t\taria-orientation=\"vertical\"\n\t\t\t\taria-labelledby=\"options-menu-4-button\"\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</ul>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu': SchmancyMenu\n\t}\n}\n"],"names":["SchmancyMenuItem","$LitElement","css","super","connectedCallback","fromEvent","this","pipe","takeUntil","disconnecting","subscribe","e","stopPropagation","dispatchEvent","CustomEvent","bubbles","composed","html","customElement","SchmancyMenu","TailwindElement","offset","flip","shift","padding","size","apply","availableHeight","elements","floating","style","maxHeight","updatePosition","buttonElement","menuElement","computePosition","placement","middleware","getMiddleware","then","x","y","Object","assign","left","top","dataset","show","cleanup","autoUpdate","strategy","position","animate","opacity","transform","duration","easing","onfinish","tap","showMenu","hideMenu","document","filter","contains","target","__decorateClass","queryAssignedElements","flatten","slot","prototype","query"],"mappings":"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"}
1
+ {"version":3,"file":"menu-B4k2_5rl.cjs","sources":["../src/menu/menu-item.ts","../src/menu/menu.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { fromEvent, takeUntil } from 'rxjs'\n\n@customElement('schmancy-menu-item')\nexport default class SchmancyMenuItem extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(this, 'click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(e => {\n\t\t\t\te.stopPropagation()\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('schmancy-menu-item-click', {\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t}\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<schmancy-list-item>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-list-item>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu-item': SchmancyMenuItem\n\t}\n}\n","import { autoUpdate, computePosition, flip, offset, shift, size } from '@floating-ui/dom'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, query, queryAssignedElements } from 'lit/decorators.js'\nimport { filter, fromEvent, takeUntil, tap } from 'rxjs'\n\n@customElement('schmancy-menu')\nexport default class SchmancyMenu extends TailwindElement(css`\n\t:host {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t}\n\n\t#menu {\n\t\tdisplay: none;\n\t}\n\n\t#menu[data-show='true'] {\n\t\tdisplay: block;\n\t}\n`) {\n\t@queryAssignedElements({ flatten: true, slot: 'button' })\n\tbuttonElement!: Array<HTMLElement>\n\n\t@query('#menu') menuElement!: HTMLElement\n\n\tprivate cleanup?: any\n\n\tprivate getMiddleware() {\n\t\treturn [\n\t\t\toffset(5),\n\t\t\tflip(),\n\t\t\tshift({ padding: 5 }),\n\t\t\tsize({\n\t\t\t\tapply({ availableHeight, elements }) {\n\t\t\t\t\telements.floating.style.maxHeight = `${availableHeight}px`\n\t\t\t\t},\n\t\t\t}),\n\t\t]\n\t}\n\n\tasync updatePosition() {\n\t\tif (!this.buttonElement[0] || !this.menuElement) {\n\t\t\treturn\n\t\t}\n\n\t\tawait computePosition(this.buttonElement[0], this.menuElement, {\n\t\t\tplacement: 'bottom-start',\n\t\t\tmiddleware: this.getMiddleware(),\n\t\t}).then(({ x, y }) => {\n\t\t\tObject.assign(this.menuElement.style, {\n\t\t\t\tleft: `${x}px`,\n\t\t\t\ttop: `${y}px`,\n\t\t\t})\n\t\t})\n\t}\n\n\tprivate showMenu() {\n\t\tif (!this.buttonElement[0] || !this.menuElement) return\n\n\t\tthis.menuElement.dataset.show = 'true'\n\n\t\tthis.cleanup = autoUpdate(this.buttonElement[0], this.menuElement, () => {\n\t\t\tcomputePosition(this.buttonElement[0], this.menuElement, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: this.getMiddleware(),\n\t\t\t}).then(({ x, y, strategy }) => {\n\t\t\t\tObject.assign(this.menuElement.style, {\n\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\ttop: `${y}px`,\n\t\t\t\t\tposition: strategy,\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 100,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\n\t\tanimation.onfinish = () => {}\n\t}\n\n\tprivate async hideMenu() {\n\t\t// Make hideMenu async\n\t\tif (this.cleanup) {\n\t\t\tawait this.cleanup() // Await the cleanup!\n\t\t\tthis.cleanup = undefined\n\t\t}\n\t\tthis.menuElement.dataset.show = 'false'\n\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 75,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\t\tanimation.onfinish = () => {} // No need for a promise now\n\t}\n\n\tfirstUpdated(): void {\n\t\tfromEvent(this.buttonElement, 'click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.showMenu()\n\t\t\t})\n\n\t\tfromEvent(this, 'schmancy-menu-item-click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.hideMenu()\n\t\t\t})\n\n\t\tfromEvent(document, 'click')\n\t\t\t.pipe(\n\t\t\t\tfilter((e: Event) => !this.contains(e.target as Node)),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\ttap(() => {\n\t\t\t\t\tif (this.menuElement.dataset.show === 'true') {\n\t\t\t\t\t\tthis.hideMenu()\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<slot name=\"button\">\n\t\t\t\t<schmancy-icon-button> more_vert </schmancy-icon-button>\n\t\t\t</slot>\n\t\t\t<ul\n\t\t\t\tid=\"menu\"\n\t\t\t\tclass=\"absolute z-50 border-outlineVariant rounded-md min-w-[160px] max-w-[320px] w-max bg-surface-default max-h-[90vh] shadow-1 overflow-y-auto\"\n\t\t\t\trole=\"menu\"\n\t\t\t\taria-orientation=\"vertical\"\n\t\t\t\taria-labelledby=\"options-menu-4-button\"\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</ul>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu': SchmancyMenu\n\t}\n}\n"],"names":["SchmancyMenuItem","$LitElement","css","super","connectedCallback","fromEvent","this","pipe","takeUntil","disconnecting","subscribe","e","stopPropagation","dispatchEvent","CustomEvent","bubbles","composed","html","customElement","SchmancyMenu","TailwindElement","offset","flip","shift","padding","size","apply","availableHeight","elements","floating","style","maxHeight","updatePosition","buttonElement","menuElement","computePosition","placement","middleware","getMiddleware","then","x","y","Object","assign","left","top","dataset","show","cleanup","autoUpdate","strategy","position","animate","opacity","transform","duration","easing","onfinish","tap","showMenu","hideMenu","document","filter","contains","target","__decorateClass","queryAssignedElements","flatten","slot","prototype","query"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { fromEvent as l, takeUntil as r, tap as c, filter as f } from "rxjs";
2
2
  import "lit/directives/class-map.js";
3
3
  import "lit/directives/style-map.js";
4
- import { $ as g } from "./litElement.mixin-KVNPHS0h.js";
5
- import { T as E } from "./tailwind.mixin-BQyZrGP1.js";
4
+ import { $ as g } from "./litElement.mixin-PXLBM6N4.js";
5
+ import { T as E } from "./tailwind.mixin-Cxj7n9Jd.js";
6
6
  import { css as d, html as b } from "lit";
7
7
  import { customElement as y, queryAssignedElements as w, query as v } from "lit/decorators.js";
8
8
  import { offset as x, flip as k, shift as M, size as P, computePosition as p, autoUpdate as O } from "@floating-ui/dom";
@@ -96,4 +96,4 @@ let m = class extends E(d`
96
96
  }
97
97
  };
98
98
  u([w({ flatten: !0, slot: "button" })], m.prototype, "buttonElement", 2), u([v("#menu")], m.prototype, "menuElement", 2), m = u([y("schmancy-menu")], m);
99
- //# sourceMappingURL=menu-DCdcWg1Q.js.map
99
+ //# sourceMappingURL=menu-D7PxtMOz.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu-DCdcWg1Q.js","sources":["../src/menu/menu-item.ts","../src/menu/menu.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { fromEvent, takeUntil } from 'rxjs'\n\n@customElement('schmancy-menu-item')\nexport default class SchmancyMenuItem extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(this, 'click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(e => {\n\t\t\t\te.stopPropagation()\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('schmancy-menu-item-click', {\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t}\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<schmancy-list-item>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-list-item>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu-item': SchmancyMenuItem\n\t}\n}\n","import { autoUpdate, computePosition, flip, offset, shift, size } from '@floating-ui/dom'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, query, queryAssignedElements } from 'lit/decorators.js'\nimport { filter, fromEvent, takeUntil, tap } from 'rxjs'\n\n@customElement('schmancy-menu')\nexport default class SchmancyMenu extends TailwindElement(css`\n\t:host {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t}\n\n\t#menu {\n\t\tdisplay: none;\n\t}\n\n\t#menu[data-show='true'] {\n\t\tdisplay: block;\n\t}\n`) {\n\t@queryAssignedElements({ flatten: true, slot: 'button' })\n\tbuttonElement!: Array<HTMLElement>\n\n\t@query('#menu') menuElement!: HTMLElement\n\n\tprivate cleanup?: any\n\n\tprivate getMiddleware() {\n\t\treturn [\n\t\t\toffset(5),\n\t\t\tflip(),\n\t\t\tshift({ padding: 5 }),\n\t\t\tsize({\n\t\t\t\tapply({ availableHeight, elements }) {\n\t\t\t\t\telements.floating.style.maxHeight = `${availableHeight}px`\n\t\t\t\t},\n\t\t\t}),\n\t\t]\n\t}\n\n\tasync updatePosition() {\n\t\tif (!this.buttonElement[0] || !this.menuElement) {\n\t\t\treturn\n\t\t}\n\n\t\tawait computePosition(this.buttonElement[0], this.menuElement, {\n\t\t\tplacement: 'bottom-start',\n\t\t\tmiddleware: this.getMiddleware(),\n\t\t}).then(({ x, y }) => {\n\t\t\tObject.assign(this.menuElement.style, {\n\t\t\t\tleft: `${x}px`,\n\t\t\t\ttop: `${y}px`,\n\t\t\t})\n\t\t})\n\t}\n\n\tprivate showMenu() {\n\t\tif (!this.buttonElement[0] || !this.menuElement) return\n\n\t\tthis.menuElement.dataset.show = 'true'\n\n\t\tthis.cleanup = autoUpdate(this.buttonElement[0], this.menuElement, () => {\n\t\t\tcomputePosition(this.buttonElement[0], this.menuElement, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: this.getMiddleware(),\n\t\t\t}).then(({ x, y, strategy }) => {\n\t\t\t\tObject.assign(this.menuElement.style, {\n\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\ttop: `${y}px`,\n\t\t\t\t\tposition: strategy,\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 100,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\n\t\tanimation.onfinish = () => {}\n\t}\n\n\tprivate async hideMenu() {\n\t\t// Make hideMenu async\n\t\tif (this.cleanup) {\n\t\t\tawait this.cleanup() // Await the cleanup!\n\t\t\tthis.cleanup = undefined\n\t\t}\n\t\tthis.menuElement.dataset.show = 'false'\n\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 75,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\t\tanimation.onfinish = () => {} // No need for a promise now\n\t}\n\n\tfirstUpdated(): void {\n\t\tfromEvent(this.buttonElement, 'click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.showMenu()\n\t\t\t})\n\n\t\tfromEvent(this, 'schmancy-menu-item-click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.hideMenu()\n\t\t\t})\n\n\t\tfromEvent(document, 'click')\n\t\t\t.pipe(\n\t\t\t\tfilter((e: Event) => !this.contains(e.target as Node)),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\ttap(() => {\n\t\t\t\t\tif (this.menuElement.dataset.show === 'true') {\n\t\t\t\t\t\tthis.hideMenu()\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<slot name=\"button\">\n\t\t\t\t<schmancy-icon-button> more_vert </schmancy-icon-button>\n\t\t\t</slot>\n\t\t\t<ul\n\t\t\t\tid=\"menu\"\n\t\t\t\tclass=\"absolute z-50 border-outlineVariant rounded-md min-w-[160px] max-w-[320px] w-max bg-surface-default max-h-[90vh] shadow-1 overflow-y-auto\"\n\t\t\t\trole=\"menu\"\n\t\t\t\taria-orientation=\"vertical\"\n\t\t\t\taria-labelledby=\"options-menu-4-button\"\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</ul>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu': SchmancyMenu\n\t}\n}\n"],"names":["SchmancyMenuItem","$LitElement","css","super","connectedCallback","fromEvent","this","pipe","takeUntil","disconnecting","subscribe","e","stopPropagation","dispatchEvent","CustomEvent","bubbles","composed","render","html","customElement","SchmancyMenu","TailwindElement","getMiddleware","offset","flip","shift","padding","size","availableHeight","elements","floating","style","maxHeight","updatePosition","buttonElement","menuElement","computePosition","placement","middleware","then","x","y","Object","assign","left","top","dataset","show","cleanup","autoUpdate","strategy","position","animate","opacity","transform","duration","easing","onfinish","firstUpdated","tap","showMenu","hideMenu","document","filter","contains","target","__decorateClass","queryAssignedElements","flatten","slot","prototype","query"],"mappings":";;;;;;;;;AAMA,IAAqBA,IAArB,cAA8CC,EAAYC;AAAAA;AAAAA;AAAAA;AAAAA,CAKzD,EAAA;AAAA,EAAA,oBACCC;AAAAA,UAAMC,kBACIC,GAAAA,EAAAC,MAAM,OAAA,EACdC,KAAKC,EAAUF,KAAKG,aAAAA,CAAAA,EACpBC,UAAeC,OAAAA;AACfA,QAAEC,gBAAAA,GACGN,KAAAO,cACJ,IAAIC,YAAY,4BAA4B,EAC3CC,SAAS,IACTC,UAAU,GAAA,CAAA,CAAA;AAAA,IAEZ,CACA;AAAA,EAAA;AAAA,EAEO,SAAAC;AACF,WAAAC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAAA;AApBYlB;AAAAA;;;GAArB,CADCmB,EAAc,wBACMnB;;;;;ACCrB,IAAqBoB,IAArB,cAA0CC,EAAgBnB;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;EAqBjD,gBAAAoB;AACA,WAAA,CACNC,EAAO,CAAA,GACPC,EACAC,GAAAA,EAAM,EAAEC,SAAS,EACjBC,CAAAA,GAAAA,EAAK,EACJ,QAAMC,iBAAEA,GAAiBC,UAAAA,EAAAA,GAAAA;AACxBA,MAAAA,EAASC,SAASC,MAAMC,YAAY,GAAGJ,CAAAA;AAAAA,IAAe,EAGzD,CAAA,CAAA;AAAA,EAAA;AAAA,EAGD,MAAMK,iBAAAA;AACA3B,SAAK4B,cAAc,CAAA,KAAO5B,KAAK6B,eAAAA,MAI9BC,EAAgB9B,KAAK4B,cAAc,CAAA,GAAI5B,KAAK6B,aAAa,EAC9DE,WAAW,gBACXC,YAAYhC,KAAKgB,cAAAA,EAAAA,CAAAA,EACfiB,KAAK,CAAA,EAAGC,GAAGC,GAAAA,GAAAA,EAAAA,MAAAA;AACNC,aAAAC,OAAOrC,KAAK6B,YAAYJ,OAAO,EACrCa,MAAM,GAAGJ,CACTK,MAAAA,KAAK,GAAGJ,CACR,KAAA,CAAA;AAAA,IAAA,CAAA;AAAA,EACD;AAAA,EAGM,WACP;AAAA,IAAA,CAAKnC,KAAK4B,cAAc,CAAO5B,KAAAA,CAAAA,KAAK6B,gBAE/B7B,KAAA6B,YAAYW,QAAQC,OAAO,QAE3BzC,KAAA0C,UAAUC,EAAW3C,KAAK4B,cAAc,CAAA,GAAI5B,KAAK6B,aAAa,MAClEC;AAAAA,MAAAA,EAAgB9B,KAAK4B,cAAc,IAAI5B,KAAK6B,aAAa,EACxDE,WAAW,gBACXC,YAAYhC,KAAKgB,cAAAA,EAAAA,CAAAA,EACfiB,KAAK,CAAA,EAAGC,GAAGC,GAAAA,GAAAA,GAAGS,UACTR,EAAAA,MAAAA;AAAAA,eAAAC,OAAOrC,KAAK6B,YAAYJ,OAAO,EACrCa,MAAM,GAAGJ,CAAAA,MACTK,KAAK,GAAGJ,CACRU,MAAAA,UAAUD,EACV,CAAA;AAAA,MAAA,CAAA;AAAA,IACD,CAGgB5C,GAAAA,KAAK6B,YAAYiB,QAClC,CACC,EAAEC,SAAS,GAAGC,WAAW,cACzB,GAAA,EAAED,SAAS,GAAGC,WAAW,WAAA,CAAA,GAE1B,EACCC,UAAU,KACVC,QAAQ,wCAAA,CAAA,EAIAC,WAAW,MAAA;AAAA,IAAA;AAAA,EAAO;AAAA,EAG7B,MAAA,WAEKnD;AAAAA,SAAK0C,YACF1C,MAAAA,KAAK0C,QACX1C,GAAAA,KAAK0C,UAAU,SAEX1C,KAAA6B,YAAYW,QAAQC,OAAO,SAEdzC,KAAK6B,YAAYiB,QAClC,CACC,EAAEC,SAAS,GAAGC,WAAW,WACzB,GAAA,EAAED,SAAS,GAAGC,WAAW,cAAA,CAAA,GAE1B,EACCC,UAAU,IACVC,QAAQ,wCAGAC,CAAAA,EAAAA,WAAW,MAAO;AAAA,IAAA;AAAA,EAAA;AAAA,EAG7B,eAAAC;AACWrD,IAAAA,EAAAC,KAAK4B,eAAe,OAC5B3B,EAAAA,KACAoD,EAAIhD,OAAKA,EAAEC,gBAAAA,CAAAA,GACXJ,EAAUF,KAAKG,aAEfC,CAAAA,EAAAA,UAAU,MACVJ;AAAAA,WAAKsD,SAAS;AAAA,IAAA,CAAA,GAGNvD,EAAAC,MAAM,0BAAA,EACdC,KACAoD,EAAIhD,OAAKA,EAAEC,gBACXJ,CAAAA,GAAAA,EAAUF,KAAKG,aAAAA,CAAAA,EAEfC,UAAU,MAAA;AACVJ,WAAKuD,SAAAA;AAAAA,IAAS,IAGNxD,EAAAyD,UAAU,OAClBvD,EAAAA,KACAwD,EAAQpD,OAAAA,CAAcL,KAAK0D,SAASrD,EAAEsD,MAAAA,CAAAA,GACtCzD,EAAUF,KAAKG,aACfkD,GAAAA,EAAI,MACmC;AAAA,MAAlCrD,KAAK6B,YAAYW,QAAQC,SAAS,UACrCzC,KAAKuD,SAAAA;AAAAA,IAAS,CAIhBnD,CAAAA,EAAAA,UAAAA;AAAAA,EAAU;AAAA,EAGb,SACQ;AAAA,WAAAQ;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAAA;AAzHRgD;AAAAA,EAAA,CADCC,EAAsB,EAAEC,SAAAA,IAAeC,MAAM,SAAA,CAAA,CAAA,GAd1BjD,EAepBkD,WAAA,iBAAA,CAAA,GAEgBJ,EAAA,CAAfK,EAAM,OAjBanD,CAAAA,GAAAA,EAiBJkD,WAAA,eAAA,IAjBIlD,IAArB8C,EAAA,CADC/C,EAAc,eACMC,CAAAA,GAAAA,CAAAA;"}
1
+ {"version":3,"file":"menu-D7PxtMOz.js","sources":["../src/menu/menu-item.ts","../src/menu/menu.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { fromEvent, takeUntil } from 'rxjs'\n\n@customElement('schmancy-menu-item')\nexport default class SchmancyMenuItem extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(this, 'click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(e => {\n\t\t\t\te.stopPropagation()\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('schmancy-menu-item-click', {\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t}\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<schmancy-list-item>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-list-item>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu-item': SchmancyMenuItem\n\t}\n}\n","import { autoUpdate, computePosition, flip, offset, shift, size } from '@floating-ui/dom'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, query, queryAssignedElements } from 'lit/decorators.js'\nimport { filter, fromEvent, takeUntil, tap } from 'rxjs'\n\n@customElement('schmancy-menu')\nexport default class SchmancyMenu extends TailwindElement(css`\n\t:host {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t}\n\n\t#menu {\n\t\tdisplay: none;\n\t}\n\n\t#menu[data-show='true'] {\n\t\tdisplay: block;\n\t}\n`) {\n\t@queryAssignedElements({ flatten: true, slot: 'button' })\n\tbuttonElement!: Array<HTMLElement>\n\n\t@query('#menu') menuElement!: HTMLElement\n\n\tprivate cleanup?: any\n\n\tprivate getMiddleware() {\n\t\treturn [\n\t\t\toffset(5),\n\t\t\tflip(),\n\t\t\tshift({ padding: 5 }),\n\t\t\tsize({\n\t\t\t\tapply({ availableHeight, elements }) {\n\t\t\t\t\telements.floating.style.maxHeight = `${availableHeight}px`\n\t\t\t\t},\n\t\t\t}),\n\t\t]\n\t}\n\n\tasync updatePosition() {\n\t\tif (!this.buttonElement[0] || !this.menuElement) {\n\t\t\treturn\n\t\t}\n\n\t\tawait computePosition(this.buttonElement[0], this.menuElement, {\n\t\t\tplacement: 'bottom-start',\n\t\t\tmiddleware: this.getMiddleware(),\n\t\t}).then(({ x, y }) => {\n\t\t\tObject.assign(this.menuElement.style, {\n\t\t\t\tleft: `${x}px`,\n\t\t\t\ttop: `${y}px`,\n\t\t\t})\n\t\t})\n\t}\n\n\tprivate showMenu() {\n\t\tif (!this.buttonElement[0] || !this.menuElement) return\n\n\t\tthis.menuElement.dataset.show = 'true'\n\n\t\tthis.cleanup = autoUpdate(this.buttonElement[0], this.menuElement, () => {\n\t\t\tcomputePosition(this.buttonElement[0], this.menuElement, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: this.getMiddleware(),\n\t\t\t}).then(({ x, y, strategy }) => {\n\t\t\t\tObject.assign(this.menuElement.style, {\n\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\ttop: `${y}px`,\n\t\t\t\t\tposition: strategy,\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 100,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\n\t\tanimation.onfinish = () => {}\n\t}\n\n\tprivate async hideMenu() {\n\t\t// Make hideMenu async\n\t\tif (this.cleanup) {\n\t\t\tawait this.cleanup() // Await the cleanup!\n\t\t\tthis.cleanup = undefined\n\t\t}\n\t\tthis.menuElement.dataset.show = 'false'\n\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 75,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\t\tanimation.onfinish = () => {} // No need for a promise now\n\t}\n\n\tfirstUpdated(): void {\n\t\tfromEvent(this.buttonElement, 'click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.showMenu()\n\t\t\t})\n\n\t\tfromEvent(this, 'schmancy-menu-item-click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.hideMenu()\n\t\t\t})\n\n\t\tfromEvent(document, 'click')\n\t\t\t.pipe(\n\t\t\t\tfilter((e: Event) => !this.contains(e.target as Node)),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\ttap(() => {\n\t\t\t\t\tif (this.menuElement.dataset.show === 'true') {\n\t\t\t\t\t\tthis.hideMenu()\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<slot name=\"button\">\n\t\t\t\t<schmancy-icon-button> more_vert </schmancy-icon-button>\n\t\t\t</slot>\n\t\t\t<ul\n\t\t\t\tid=\"menu\"\n\t\t\t\tclass=\"absolute z-50 border-outlineVariant rounded-md min-w-[160px] max-w-[320px] w-max bg-surface-default max-h-[90vh] shadow-1 overflow-y-auto\"\n\t\t\t\trole=\"menu\"\n\t\t\t\taria-orientation=\"vertical\"\n\t\t\t\taria-labelledby=\"options-menu-4-button\"\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</ul>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu': SchmancyMenu\n\t}\n}\n"],"names":["SchmancyMenuItem","$LitElement","css","super","connectedCallback","fromEvent","this","pipe","takeUntil","disconnecting","subscribe","e","stopPropagation","dispatchEvent","CustomEvent","bubbles","composed","render","html","customElement","SchmancyMenu","TailwindElement","getMiddleware","offset","flip","shift","padding","size","availableHeight","elements","floating","style","maxHeight","updatePosition","buttonElement","menuElement","computePosition","placement","middleware","then","x","y","Object","assign","left","top","dataset","show","cleanup","autoUpdate","strategy","position","animate","opacity","transform","duration","easing","onfinish","firstUpdated","tap","showMenu","hideMenu","document","filter","contains","target","__decorateClass","queryAssignedElements","flatten","slot","prototype","query"],"mappings":"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"}
package/dist/menu.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";require("./menu-BoAxrHvz.cjs");
1
+ "use strict";require("./menu-B4k2_5rl.cjs");
2
2
  //# sourceMappingURL=menu.cjs.map
package/dist/menu.js CHANGED
@@ -1,2 +1,2 @@
1
- import "./menu-DCdcWg1Q.js";
1
+ import "./menu-D7PxtMOz.js";
2
2
  //# sourceMappingURL=menu.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./teleport.component-CoBmvVft.cjs");exports.$drawer=e.$drawer,Object.defineProperty(exports,"SchmancyDrawerAppbar",{enumerable:!0,get:()=>e.SchmancyDrawerAppbar}),exports.SchmancyDrawerNavbarMode=e.SchmancyDrawerNavbarMode,exports.SchmancyDrawerNavbarState=e.SchmancyDrawerNavbarState,Object.defineProperty(exports,"SchmancyNavigationDrawer",{enumerable:!0,get:()=>e.SchmancyNavigationDrawer}),Object.defineProperty(exports,"SchmancyNavigationDrawerContent",{enumerable:!0,get:()=>e.SchmancyNavigationDrawerContent}),Object.defineProperty(exports,"SchmancyNavigationDrawerSidebar",{enumerable:!0,get:()=>e.SchmancyNavigationDrawerSidebar}),exports.schmancyNavDrawer=e.schmancyNavDrawer;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./teleport.component-AE9wd-Xe.cjs");exports.$drawer=e.$drawer,Object.defineProperty(exports,"SchmancyDrawerAppbar",{enumerable:!0,get:()=>e.SchmancyDrawerAppbar}),exports.SchmancyDrawerNavbarMode=e.SchmancyDrawerNavbarMode,exports.SchmancyDrawerNavbarState=e.SchmancyDrawerNavbarState,Object.defineProperty(exports,"SchmancyNavigationDrawer",{enumerable:!0,get:()=>e.SchmancyNavigationDrawer}),Object.defineProperty(exports,"SchmancyNavigationDrawerContent",{enumerable:!0,get:()=>e.SchmancyNavigationDrawerContent}),Object.defineProperty(exports,"SchmancyNavigationDrawerSidebar",{enumerable:!0,get:()=>e.SchmancyNavigationDrawerSidebar}),exports.schmancyNavDrawer=e.schmancyNavDrawer;
2
2
  //# sourceMappingURL=nav-drawer.cjs.map
@@ -1,4 +1,4 @@
1
- import { $ as c, i as e, k as n, l as m, m as s, j as h, n as i, h as t } from "./teleport.component-kmPwZ6q9.js";
1
+ import { $ as c, i as e, k as n, l as m, m as s, j as h, n as i, h as t } from "./teleport.component-B8yyRFCq.js";
2
2
  export {
3
3
  c as $drawer,
4
4
  e as SchmancyDrawerAppbar,
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./outlet-C9H_6XOK.cjs");exports.$notify=e.$notify,Object.defineProperty(exports,"SchmancyNotification",{enumerable:!0,get:()=>e.SchmancyNotification}),Object.defineProperty(exports,"SchmancyNotificationOutlet",{enumerable:!0,get:()=>e.SchmancyNotificationOutlet});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./outlet-DMOeEL6g.cjs");exports.$notify=e.$notify,Object.defineProperty(exports,"SchmancyNotification",{enumerable:!0,get:()=>e.SchmancyNotification}),Object.defineProperty(exports,"SchmancyNotificationOutlet",{enumerable:!0,get:()=>e.SchmancyNotificationOutlet});
2
2
  //# sourceMappingURL=notification.cjs.map
@@ -1,4 +1,4 @@
1
- import { $ as i, S as o, a as c } from "./outlet-DlGwFO9i.js";
1
+ import { $ as i, S as o, a as c } from "./outlet-DRaXjbOY.js";
2
2
  export {
3
3
  i as $notify,
4
4
  o as SchmancyNotification,
@@ -1,4 +1,4 @@
1
- "use strict";require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const u=require("./tailwind.mixin-BAMa8YNR.cjs"),p=require("lit"),r=require("lit/decorators.js");var d=Object.defineProperty,h=Object.getOwnPropertyDescriptor,a=(t,e,s,l)=>{for(var i,o=l>1?void 0:l?h(e,s):e,c=t.length-1;c>=0;c--)(i=t[c])&&(o=(l?i(e,s,o):i(o))||o);return l&&o&&d(e,s,o),o};let n=class extends u.TailwindElement(){constructor(){super(...arguments),this.value="",this.selected=!1}updateLabelFromSlot(){if(!this.label){const t=this.getSlotContent();t&&(this.label=t)}}connectedCallback(){var t;(t=super.connectedCallback)==null||t.call(this),this.updateLabelFromSlot()}firstUpdated(){var e;const t=(e=this.shadowRoot)==null?void 0:e.querySelector("slot:not([name])");t&&t.addEventListener("slotchange",()=>{this.updateLabelFromSlot()})}handleOptionClick(){this.updateLabelFromSlot(),this.dispatchEvent(new CustomEvent("click",{detail:{value:this.value,label:this.label??""},bubbles:!0,composed:!0}))}getSlotContent(){var s;const t=(s=this.shadowRoot)==null?void 0:s.querySelector("slot:not([name])");if(!t)return"";const e=t.assignedNodes();return e.length===0?"":e.map(l=>{var i;return((i=l.textContent)==null?void 0:i.trim())||""}).join(" ").trim()}focus(){var t,e;(e=(t=this.shadowRoot)==null?void 0:t.querySelector("li"))==null||e.focus()}render(){const t={"outline-secondary-default focus-visible:outline-solid focus-visible:outline-2 focus-visible:-outline-offset-2 rounded-md focus-visible:outline-secondary-default":!0,"font-semibold relative cursor-pointer py-2 px-3":!0,"bg-secondary-container text-secondery-onContainer":this.selected};return p.html`
1
+ "use strict";require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const u=require("./tailwind.mixin-CjSVtdHt.cjs"),p=require("lit"),r=require("lit/decorators.js");var d=Object.defineProperty,h=Object.getOwnPropertyDescriptor,a=(t,e,s,l)=>{for(var i,o=l>1?void 0:l?h(e,s):e,c=t.length-1;c>=0;c--)(i=t[c])&&(o=(l?i(e,s,o):i(o))||o);return l&&o&&d(e,s,o),o};let n=class extends u.TailwindElement(){constructor(){super(...arguments),this.value="",this.selected=!1}updateLabelFromSlot(){if(!this.label){const t=this.getSlotContent();t&&(this.label=t)}}connectedCallback(){var t;(t=super.connectedCallback)==null||t.call(this),this.updateLabelFromSlot()}firstUpdated(){var e;const t=(e=this.shadowRoot)==null?void 0:e.querySelector("slot:not([name])");t&&t.addEventListener("slotchange",()=>{this.updateLabelFromSlot()})}handleOptionClick(){this.updateLabelFromSlot(),this.dispatchEvent(new CustomEvent("click",{detail:{value:this.value,label:this.label??""},bubbles:!0,composed:!0}))}getSlotContent(){var s;const t=(s=this.shadowRoot)==null?void 0:s.querySelector("slot:not([name])");if(!t)return"";const e=t.assignedNodes();return e.length===0?"":e.map(l=>{var i;return((i=l.textContent)==null?void 0:i.trim())||""}).join(" ").trim()}focus(){var t,e;(e=(t=this.shadowRoot)==null?void 0:t.querySelector("li"))==null||e.focus()}render(){const t={"outline-secondary-default focus-visible:outline-solid focus-visible:outline-2 focus-visible:-outline-offset-2 rounded-md focus-visible:outline-secondary-default":!0,"font-semibold relative cursor-pointer py-2 px-3":!0,"bg-secondary-container text-secondery-onContainer":this.selected};return p.html`
2
2
  <li
3
3
  tabindex="0"
4
4
  class="${this.classMap(t)}"
@@ -15,4 +15,4 @@
15
15
  </sch-flex>
16
16
  </li>
17
17
  `}};a([r.property({type:String,reflect:!0})],n.prototype,"value",2),a([r.property({type:String,reflect:!0,attribute:"label"})],n.prototype,"label",2),a([r.property({type:Boolean})],n.prototype,"selected",2),n=a([r.customElement("schmancy-option")],n);
18
- //# sourceMappingURL=option-BOoGEXyd.cjs.map
18
+ //# sourceMappingURL=option-hsAZB8ji.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"option-BOoGEXyd.cjs","sources":["../src/option/option.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nexport type SchmancyOptionChangeEvent = CustomEvent<{\n\tvalue: string\n\tlabel: string\n}>\n\n@customElement('schmancy-option')\nexport default class SchmancyOption extends TailwindElement() {\n\t@property({ type: String, reflect: true }) value: string = ''\n\t@property({ type: String, reflect: true, attribute: 'label' }) label: string | undefined\n\t@property({ type: Boolean }) selected: boolean = false\n\n\t// Add a method to update the label with slot content\n\tprivate updateLabelFromSlot() {\n\t\tif (!this.label) {\n\t\t\tconst slotContent = this.getSlotContent()\n\t\t\tif (slotContent) {\n\t\t\t\tthis.label = slotContent\n\t\t\t}\n\t\t}\n\t}\n\n\t// Connect to lifecycle to update label when element is connected\n\tconnectedCallback() {\n\t\tsuper.connectedCallback?.()\n\t\tthis.updateLabelFromSlot()\n\t}\n\n\t// Listen for slot changes to update label\n\tfirstUpdated() {\n\t\tconst slot = this.shadowRoot?.querySelector('slot:not([name])') as HTMLSlotElement\n\t\tif (slot) {\n\t\t\tslot.addEventListener('slotchange', () => {\n\t\t\t\tthis.updateLabelFromSlot()\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate handleOptionClick() {\n\t\t// Update label from slot if not set\n\t\tthis.updateLabelFromSlot()\n\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<SchmancyOptionChangeEvent['detail']>('click', {\n\t\t\t\tdetail: {\n\t\t\t\t\tvalue: this.value,\n\t\t\t\t\tlabel: this.label ?? '',\n\t\t\t\t},\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\t// Get content from the default slot\n\tprivate getSlotContent(): string {\n\t\tconst slot = this.shadowRoot?.querySelector('slot:not([name])') as HTMLSlotElement\n\t\tif (!slot) return ''\n\n\t\tconst assignedNodes = slot.assignedNodes()\n\t\tif (assignedNodes.length === 0) return ''\n\n\t\t// Combine the text content of all assigned nodes\n\t\treturn assignedNodes\n\t\t\t.map(node => node.textContent?.trim() || '')\n\t\t\t.join(' ')\n\t\t\t.trim()\n\t}\n\n\t// override focus method to focus the native element\n\tfocus() {\n\t\tthis.shadowRoot?.querySelector('li')?.focus()\n\t}\n\n\tprotected render() {\n\t\t// Apply highlight styles if `this.selected` is true\n\t\tconst classes = {\n\t\t\t'outline-secondary-default focus-visible:outline-solid focus-visible:outline-2 focus-visible:-outline-offset-2 rounded-md focus-visible:outline-secondary-default':\n\t\t\t\ttrue,\n\t\t\t'font-semibold relative cursor-pointer py-2 px-3': true,\n\t\t\t'bg-secondary-container text-secondery-onContainer': this.selected,\n\t\t}\n\t\tconst stateLayerClasses = {\n\t\t\t'duration-500 transition-opacity': true,\n\t\t\t'hover:bg-surface-on opacity-[0.08] cursor-pointer absolute inset-0': true,\n\t\t}\n\t\treturn html`\n\t\t\t<li\n\t\t\t\ttabindex=\"0\"\n\t\t\t\tclass=\"${this.classMap(classes)}\"\n\t\t\t\trole=\"option\"\n\t\t\t\t@click=${(e: MouseEvent) => {\n\t\t\t\t\te.stopPropagation()\n\t\t\t\t\te.preventDefault()\n\t\t\t\t\tthis.handleOptionClick()\n\t\t\t\t}}\n\t\t\t\t@keydown=${(e: KeyboardEvent) => {\n\t\t\t\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\tthis.handleOptionClick()\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div class=\"${this.classMap(stateLayerClasses)}\"></div>\n\t\t\t\t<sch-flex class=\"text-start\" align=\"center\" justify=\"between\" flow=\"row\">\n\t\t\t\t\t<slot class=\"self-start\" @slotchange=${() => this.updateLabelFromSlot()}></slot>\n\t\t\t\t\t<slot name=\"support\">\n\t\t\t\t\t\t<span></span>\n\t\t\t\t\t</slot>\n\t\t\t\t</sch-flex>\n\t\t\t</li>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-option': SchmancyOption\n\t}\n}\n"],"names":["SchmancyOption","TailwindElement","super","arguments","this","value","selected","label","slotContent","getSlotContent","connectedCallback","updateLabelFromSlot","firstUpdated","slot","shadowRoot","querySelector","addEventListener","handleOptionClick","dispatchEvent","CustomEvent","detail","bubbles","composed","assignedNodes","length","map","node","textContent","trim","join","focus","classes","html","classMap","e","stopPropagation","preventDefault","key","__decorateClass","property","type","String","reflect","prototype","attribute","Boolean","customElement"],"mappings":"4YAUA,IAAqBA,EAArB,cAA4CC,EAAAA,gBAA5C,CAAA,CAAA,cAAAC,MAAAC,GAAAA,SAAAA,EAC4DC,KAAAC,MAAA,GAEVD,KAAAE,SAAA,EAAA,CAGzC,qBACH,CAAA,GAAA,CAACF,KAAKG,MAAO,CACV,MAAAC,EAAcJ,KAAKK,iBACrBD,IACHJ,KAAKG,MAAQC,EACd,CACD,CAID,mBACCN,QAAAA,EAAAA,MAAMQ,oBAANR,MAAAA,EAAAA,WACAE,KAAKO,oBAAAA,CAAoB,CAI1B,cAAAC,OACC,MAAMC,GAAOT,EAAAA,KAAKU,aAALV,YAAAA,EAAiBW,cAAc,oBACxCF,GACEA,EAAAG,iBAAiB,aAAc,KACnCZ,KAAKO,oBAAAA,CAAoB,CAE3B,CAAA,CAGO,mBAAAM,CAEPb,KAAKO,oBAEAP,EAAAA,KAAAc,cACJ,IAAIC,YAAiD,QAAS,CAC7DC,OAAQ,CACPf,MAAOD,KAAKC,MACZE,MAAOH,KAAKG,OAAS,IAEtBc,QAAS,GACTC,WAEF,CAAA,CAAA,CAAA,CAIO,gBAAAb,OACP,MAAMI,GAAOT,EAAAA,KAAKU,aAALV,YAAAA,EAAiBW,cAAc,oBACxC,GAACF,CAAAA,EAAa,MAAA,GAEZ,MAAAU,EAAgBV,EAAKU,cACvB,EAAA,OAAAA,EAAcC,SAAW,EAAU,GAGhCD,EACLE,IAAYC,UAAAA,QAAAA,EAAAA,EAAKC,cAALD,YAAAA,EAAkBE,SAAU,GAAA,EACxCC,KAAK,GAAA,EACLD,MAAK,CAIR,iBACCxB,GAAAA,EAAAA,KAAKU,aAALV,YAAAA,EAAiBW,cAAc,QAA/BX,MAAAA,EAAsC0B,OAAM,CAGnC,QAET,CAAA,MAAMC,EAAU,CACf,mKAAA,GAEA,kDAAmD,GACnD,oDAAqD3B,KAAKE,QAAAA,EAMpD,OAAA0B,EAAAA;AAAAA;AAAAA;AAAAA,aAGI5B,KAAK6B,SAASF,CAAAA,CAAAA;AAAAA;AAAAA,aAEbG,GAAAA,CACTA,EAAEC,gBAAAA,EACFD,EAAEE,eAAAA,EACFhC,KAAKa,kBAAkB,CAAA,CAAA;AAAA,eAEZiB,GACG,CAAVA,EAAEG,MAAQ,SAAWH,EAAEG,MAAQ,MAClCH,EAAEC,gBACFD,EAAAA,EAAEE,eACFhC,EAAAA,KAAKa,kBAAkB,EAAA,CAAA;AAAA;AAAA,kBAIXb,KAAK6B,SAtBK,CACzB,kCAAmC,GACnC,qEAAsE,EAAA,CAAA,CAAA;AAAA;AAAA,4CAsB7B,IAAM7B,KAAKO,oBAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAAqB,CAlGhC2B,EAAAA,EAAA,CAA1CC,EAAAA,SAAS,CAAEC,KAAMC,OAAQC,UADN1C,CAAAA,CAAAA,EAAAA,EACuB2C,UAAA,QAAA,CAAA,EACoBL,EAAA,CAA9DC,EAAAA,SAAS,CAAEC,KAAMC,OAAQC,QAAS,GAAME,UAAW,OAFhC5C,CAAAA,CAAAA,EAAAA,EAE2C2C,UAAA,QAAA,CAAA,EAClCL,EAAA,CAA5BC,WAAS,CAAEC,KAAMK,WAHE7C,EAGS2C,UAAA,WAAA,CAHT3C,EAAAA,EAArBsC,EAAA,CADCQ,EAAAA,cAAc,iBACM9C,CAAAA,EAAAA,CAAAA"}
1
+ {"version":3,"file":"option-hsAZB8ji.cjs","sources":["../src/option/option.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nexport type SchmancyOptionChangeEvent = CustomEvent<{\n\tvalue: string\n\tlabel: string\n}>\n\n@customElement('schmancy-option')\nexport default class SchmancyOption extends TailwindElement() {\n\t@property({ type: String, reflect: true }) value: string = ''\n\t@property({ type: String, reflect: true, attribute: 'label' }) label: string | undefined\n\t@property({ type: Boolean }) selected: boolean = false\n\n\t// Add a method to update the label with slot content\n\tprivate updateLabelFromSlot() {\n\t\tif (!this.label) {\n\t\t\tconst slotContent = this.getSlotContent()\n\t\t\tif (slotContent) {\n\t\t\t\tthis.label = slotContent\n\t\t\t}\n\t\t}\n\t}\n\n\t// Connect to lifecycle to update label when element is connected\n\tconnectedCallback() {\n\t\tsuper.connectedCallback?.()\n\t\tthis.updateLabelFromSlot()\n\t}\n\n\t// Listen for slot changes to update label\n\tfirstUpdated() {\n\t\tconst slot = this.shadowRoot?.querySelector('slot:not([name])') as HTMLSlotElement\n\t\tif (slot) {\n\t\t\tslot.addEventListener('slotchange', () => {\n\t\t\t\tthis.updateLabelFromSlot()\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate handleOptionClick() {\n\t\t// Update label from slot if not set\n\t\tthis.updateLabelFromSlot()\n\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<SchmancyOptionChangeEvent['detail']>('click', {\n\t\t\t\tdetail: {\n\t\t\t\t\tvalue: this.value,\n\t\t\t\t\tlabel: this.label ?? '',\n\t\t\t\t},\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\t// Get content from the default slot\n\tprivate getSlotContent(): string {\n\t\tconst slot = this.shadowRoot?.querySelector('slot:not([name])') as HTMLSlotElement\n\t\tif (!slot) return ''\n\n\t\tconst assignedNodes = slot.assignedNodes()\n\t\tif (assignedNodes.length === 0) return ''\n\n\t\t// Combine the text content of all assigned nodes\n\t\treturn assignedNodes\n\t\t\t.map(node => node.textContent?.trim() || '')\n\t\t\t.join(' ')\n\t\t\t.trim()\n\t}\n\n\t// override focus method to focus the native element\n\tfocus() {\n\t\tthis.shadowRoot?.querySelector('li')?.focus()\n\t}\n\n\tprotected render() {\n\t\t// Apply highlight styles if `this.selected` is true\n\t\tconst classes = {\n\t\t\t'outline-secondary-default focus-visible:outline-solid focus-visible:outline-2 focus-visible:-outline-offset-2 rounded-md focus-visible:outline-secondary-default':\n\t\t\t\ttrue,\n\t\t\t'font-semibold relative cursor-pointer py-2 px-3': true,\n\t\t\t'bg-secondary-container text-secondery-onContainer': this.selected,\n\t\t}\n\t\tconst stateLayerClasses = {\n\t\t\t'duration-500 transition-opacity': true,\n\t\t\t'hover:bg-surface-on opacity-[0.08] cursor-pointer absolute inset-0': true,\n\t\t}\n\t\treturn html`\n\t\t\t<li\n\t\t\t\ttabindex=\"0\"\n\t\t\t\tclass=\"${this.classMap(classes)}\"\n\t\t\t\trole=\"option\"\n\t\t\t\t@click=${(e: MouseEvent) => {\n\t\t\t\t\te.stopPropagation()\n\t\t\t\t\te.preventDefault()\n\t\t\t\t\tthis.handleOptionClick()\n\t\t\t\t}}\n\t\t\t\t@keydown=${(e: KeyboardEvent) => {\n\t\t\t\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\tthis.handleOptionClick()\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div class=\"${this.classMap(stateLayerClasses)}\"></div>\n\t\t\t\t<sch-flex class=\"text-start\" align=\"center\" justify=\"between\" flow=\"row\">\n\t\t\t\t\t<slot class=\"self-start\" @slotchange=${() => this.updateLabelFromSlot()}></slot>\n\t\t\t\t\t<slot name=\"support\">\n\t\t\t\t\t\t<span></span>\n\t\t\t\t\t</slot>\n\t\t\t\t</sch-flex>\n\t\t\t</li>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-option': SchmancyOption\n\t}\n}\n"],"names":["SchmancyOption","TailwindElement","super","arguments","this","value","selected","label","slotContent","getSlotContent","connectedCallback","updateLabelFromSlot","firstUpdated","slot","shadowRoot","querySelector","addEventListener","handleOptionClick","dispatchEvent","CustomEvent","detail","bubbles","composed","assignedNodes","length","map","node","textContent","trim","join","focus","classes","html","classMap","e","stopPropagation","preventDefault","key","__decorateClass","property","type","String","reflect","prototype","attribute","Boolean","customElement"],"mappings":"4YAUA,IAAqBA,EAArB,cAA4CC,EAAAA,gBAA5C,CAAA,CAAA,cAAAC,MAAAC,GAAAA,SAAAA,EAC4DC,KAAAC,MAAA,GAEVD,KAAAE,SAAA,EAAA,CAGzC,qBACH,CAAA,GAAA,CAACF,KAAKG,MAAO,CACV,MAAAC,EAAcJ,KAAKK,iBACrBD,IACHJ,KAAKG,MAAQC,EACd,CACD,CAID,mBACCN,QAAAA,EAAAA,MAAMQ,oBAANR,MAAAA,EAAAA,WACAE,KAAKO,oBAAAA,CAAoB,CAI1B,cAAAC,OACC,MAAMC,GAAOT,EAAAA,KAAKU,aAALV,YAAAA,EAAiBW,cAAc,oBACxCF,GACEA,EAAAG,iBAAiB,aAAc,KACnCZ,KAAKO,oBAAAA,CAAoB,CAE3B,CAAA,CAGO,mBAAAM,CAEPb,KAAKO,oBAEAP,EAAAA,KAAAc,cACJ,IAAIC,YAAiD,QAAS,CAC7DC,OAAQ,CACPf,MAAOD,KAAKC,MACZE,MAAOH,KAAKG,OAAS,IAEtBc,QAAS,GACTC,WAEF,CAAA,CAAA,CAAA,CAIO,gBAAAb,OACP,MAAMI,GAAOT,EAAAA,KAAKU,aAALV,YAAAA,EAAiBW,cAAc,oBACxC,GAACF,CAAAA,EAAa,MAAA,GAEZ,MAAAU,EAAgBV,EAAKU,cACvB,EAAA,OAAAA,EAAcC,SAAW,EAAU,GAGhCD,EACLE,IAAYC,UAAAA,QAAAA,EAAAA,EAAKC,cAALD,YAAAA,EAAkBE,SAAU,GAAA,EACxCC,KAAK,GAAA,EACLD,MAAK,CAIR,iBACCxB,GAAAA,EAAAA,KAAKU,aAALV,YAAAA,EAAiBW,cAAc,QAA/BX,MAAAA,EAAsC0B,OAAM,CAGnC,QAET,CAAA,MAAMC,EAAU,CACf,mKAAA,GAEA,kDAAmD,GACnD,oDAAqD3B,KAAKE,QAAAA,EAMpD,OAAA0B,EAAAA;AAAAA;AAAAA;AAAAA,aAGI5B,KAAK6B,SAASF,CAAAA,CAAAA;AAAAA;AAAAA,aAEbG,GAAAA,CACTA,EAAEC,gBAAAA,EACFD,EAAEE,eAAAA,EACFhC,KAAKa,kBAAkB,CAAA,CAAA;AAAA,eAEZiB,GACG,CAAVA,EAAEG,MAAQ,SAAWH,EAAEG,MAAQ,MAClCH,EAAEC,gBACFD,EAAAA,EAAEE,eACFhC,EAAAA,KAAKa,kBAAkB,EAAA,CAAA;AAAA;AAAA,kBAIXb,KAAK6B,SAtBK,CACzB,kCAAmC,GACnC,qEAAsE,EAAA,CAAA,CAAA;AAAA;AAAA,4CAsB7B,IAAM7B,KAAKO,oBAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAAqB,CAlGhC2B,EAAAA,EAAA,CAA1CC,EAAAA,SAAS,CAAEC,KAAMC,OAAQC,UADN1C,CAAAA,CAAAA,EAAAA,EACuB2C,UAAA,QAAA,CAAA,EACoBL,EAAA,CAA9DC,EAAAA,SAAS,CAAEC,KAAMC,OAAQC,QAAS,GAAME,UAAW,OAFhC5C,CAAAA,CAAAA,EAAAA,EAE2C2C,UAAA,QAAA,CAAA,EAClCL,EAAA,CAA5BC,WAAS,CAAEC,KAAMK,WAHE7C,EAGS2C,UAAA,WAAA,CAHT3C,EAAAA,EAArBsC,EAAA,CADCQ,EAAAA,cAAc,iBACM9C,CAAAA,EAAAA,CAAAA"}
@@ -1,7 +1,7 @@
1
1
  import "rxjs";
2
2
  import "lit/directives/class-map.js";
3
3
  import "lit/directives/style-map.js";
4
- import { T as p } from "./tailwind.mixin-BQyZrGP1.js";
4
+ import { T as p } from "./tailwind.mixin-Cxj7n9Jd.js";
5
5
  import { html as u } from "lit";
6
6
  import { property as c, customElement as d } from "lit/decorators.js";
7
7
  var h = Object.defineProperty, b = Object.getOwnPropertyDescriptor, a = (e, t, s, l) => {
@@ -72,4 +72,4 @@ let i = class extends p() {
72
72
  }
73
73
  };
74
74
  a([c({ type: String, reflect: !0 })], i.prototype, "value", 2), a([c({ type: String, reflect: !0, attribute: "label" })], i.prototype, "label", 2), a([c({ type: Boolean })], i.prototype, "selected", 2), i = a([d("schmancy-option")], i);
75
- //# sourceMappingURL=option-04xx4j0z.js.map
75
+ //# sourceMappingURL=option-vV2BM1B_.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"option-04xx4j0z.js","sources":["../src/option/option.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nexport type SchmancyOptionChangeEvent = CustomEvent<{\n\tvalue: string\n\tlabel: string\n}>\n\n@customElement('schmancy-option')\nexport default class SchmancyOption extends TailwindElement() {\n\t@property({ type: String, reflect: true }) value: string = ''\n\t@property({ type: String, reflect: true, attribute: 'label' }) label: string | undefined\n\t@property({ type: Boolean }) selected: boolean = false\n\n\t// Add a method to update the label with slot content\n\tprivate updateLabelFromSlot() {\n\t\tif (!this.label) {\n\t\t\tconst slotContent = this.getSlotContent()\n\t\t\tif (slotContent) {\n\t\t\t\tthis.label = slotContent\n\t\t\t}\n\t\t}\n\t}\n\n\t// Connect to lifecycle to update label when element is connected\n\tconnectedCallback() {\n\t\tsuper.connectedCallback?.()\n\t\tthis.updateLabelFromSlot()\n\t}\n\n\t// Listen for slot changes to update label\n\tfirstUpdated() {\n\t\tconst slot = this.shadowRoot?.querySelector('slot:not([name])') as HTMLSlotElement\n\t\tif (slot) {\n\t\t\tslot.addEventListener('slotchange', () => {\n\t\t\t\tthis.updateLabelFromSlot()\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate handleOptionClick() {\n\t\t// Update label from slot if not set\n\t\tthis.updateLabelFromSlot()\n\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<SchmancyOptionChangeEvent['detail']>('click', {\n\t\t\t\tdetail: {\n\t\t\t\t\tvalue: this.value,\n\t\t\t\t\tlabel: this.label ?? '',\n\t\t\t\t},\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\t// Get content from the default slot\n\tprivate getSlotContent(): string {\n\t\tconst slot = this.shadowRoot?.querySelector('slot:not([name])') as HTMLSlotElement\n\t\tif (!slot) return ''\n\n\t\tconst assignedNodes = slot.assignedNodes()\n\t\tif (assignedNodes.length === 0) return ''\n\n\t\t// Combine the text content of all assigned nodes\n\t\treturn assignedNodes\n\t\t\t.map(node => node.textContent?.trim() || '')\n\t\t\t.join(' ')\n\t\t\t.trim()\n\t}\n\n\t// override focus method to focus the native element\n\tfocus() {\n\t\tthis.shadowRoot?.querySelector('li')?.focus()\n\t}\n\n\tprotected render() {\n\t\t// Apply highlight styles if `this.selected` is true\n\t\tconst classes = {\n\t\t\t'outline-secondary-default focus-visible:outline-solid focus-visible:outline-2 focus-visible:-outline-offset-2 rounded-md focus-visible:outline-secondary-default':\n\t\t\t\ttrue,\n\t\t\t'font-semibold relative cursor-pointer py-2 px-3': true,\n\t\t\t'bg-secondary-container text-secondery-onContainer': this.selected,\n\t\t}\n\t\tconst stateLayerClasses = {\n\t\t\t'duration-500 transition-opacity': true,\n\t\t\t'hover:bg-surface-on opacity-[0.08] cursor-pointer absolute inset-0': true,\n\t\t}\n\t\treturn html`\n\t\t\t<li\n\t\t\t\ttabindex=\"0\"\n\t\t\t\tclass=\"${this.classMap(classes)}\"\n\t\t\t\trole=\"option\"\n\t\t\t\t@click=${(e: MouseEvent) => {\n\t\t\t\t\te.stopPropagation()\n\t\t\t\t\te.preventDefault()\n\t\t\t\t\tthis.handleOptionClick()\n\t\t\t\t}}\n\t\t\t\t@keydown=${(e: KeyboardEvent) => {\n\t\t\t\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\tthis.handleOptionClick()\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div class=\"${this.classMap(stateLayerClasses)}\"></div>\n\t\t\t\t<sch-flex class=\"text-start\" align=\"center\" justify=\"between\" flow=\"row\">\n\t\t\t\t\t<slot class=\"self-start\" @slotchange=${() => this.updateLabelFromSlot()}></slot>\n\t\t\t\t\t<slot name=\"support\">\n\t\t\t\t\t\t<span></span>\n\t\t\t\t\t</slot>\n\t\t\t\t</sch-flex>\n\t\t\t</li>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-option': SchmancyOption\n\t}\n}\n"],"names":["SchmancyOption","TailwindElement","constructor","super","arguments","this","value","selected","label","slotContent","getSlotContent","connectedCallback","updateLabelFromSlot","slot","shadowRoot","querySelector","addEventListener","dispatchEvent","CustomEvent","detail","bubbles","composed","assignedNodes","length","map","node","textContent","trim","join","focus","render","classes","html","classMap","e","stopPropagation","preventDefault","handleOptionClick","key","__decorateClass","property","type","String","reflect","prototype","attribute","Boolean","customElement"],"mappings":";;;;;;;;;;AAUA,IAAqBA,IAArB,cAA4CC;EAA5C,cAAAC;AAAAC,UAAAC,GAAAA,SAAAA,GAC4DC,KAAAC,QAAA,IAEVD,KAAAE,WAAAA;AAAAA,EAAA;AAAA,EAGzC;AACH,QAACF,CAAAA,KAAKG,OAAO;AACV,YAAAC,IAAcJ,KAAKK,eAAAA;AACrBD,MAAAA,MACHJ,KAAKG,QAAQC;AAAAA,IACd;AAAA,EACD;AAAA,EAID,oBAAAE;;AACCR,KAAAA,IAAAA,MAAMQ,sBAANR,QAAAA,EAAAA,YACAE,KAAKO,oBAAoB;AAAA,EAAA;AAAA,EAI1B,eACC;;AAAA,UAAMC,KAAOR,IAAAA,KAAKS,eAALT,gBAAAA,EAAiBU,cAAc;AACxCF,IAAAA,KACEA,EAAAG,iBAAiB,cAAc;AACnCX,WAAKO,oBAAAA;AAAAA,IAAoB;EAE3B;AAAA,EAGO;AAEPP,SAAKO,oBAAAA,GAEAP,KAAAY,cACJ,IAAIC,YAAiD,SAAS,EAC7DC,QAAQ,EACPb,OAAOD,KAAKC,OACZE,OAAOH,KAAKG,SAAS,GAAA,GAEtBY,aACAC,UAAAA;EAEF;AAAA,EAIO,iBACP;;AAAA,UAAMR,KAAOR,IAAAA,KAAKS,eAALT,gBAAAA,EAAiBU,cAAc;AACxC,SAACF,EAAa,QAAA;AAEZ,UAAAS,IAAgBT,EAAKS,cACvB;AAAA,WAAAA,EAAcC,WAAW,IAAU,KAGhCD,EACLE,IAAYC,CAAAA;;AAAAA,eAAAA,IAAAA,EAAKC,gBAALD,gBAAAA,EAAkBE,WAAU;AAAA,KAAA,EACxCC,KAAK,GAAA,EACLD;EAAK;AAAA,EAIR;;AACCtB,KAAAA,KAAAA,IAAAA,KAAKS,eAALT,gBAAAA,EAAiBU,cAAc,UAA/BV,QAAAA,EAAsCwB;AAAAA,EAAM;AAAA,EAGnC,SAAAC;AAET,UAAMC,IAAU,EACf,wKAEA,mDAAA,IACA,qDAAqD1B,KAAKE,SAMpD;AAAA,WAAAyB;AAAAA;AAAAA;AAAAA,aAGI3B,KAAK4B,SAASF,CAAAA,CAAAA;AAAAA;AAAAA,aAEbG,OAAAA;AACTA,QAAEC,gBAAAA,GACFD,EAAEE,eAAAA,GACF/B,KAAKgC,kBAAkB;AAAA,IAAA,CAAA;AAAA,eAEZH,OACG;AAAA,MAAVA,EAAEI,QAAQ,WAAWJ,EAAEI,QAAQ,QAClCJ,EAAEC,gBACFD,GAAAA,EAAEE,eACF/B,GAAAA,KAAKgC,kBAAkB;AAAA,IAAA,CAAA;AAAA;AAAA,kBAIXhC,KAAK4B,SAtBK,EACzB,mCAAmC,IACnC,sEAAsE,GAAA,CAAA,CAAA;AAAA;AAAA,4CAsB7B,MAAM5B,KAAKO,oBAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAAqB;AAAA;AAlGhC2B,EAAA,CAA1CC,EAAS,EAAEC,MAAMC,QAAQC,YADN3C,CAAAA,CAAAA,GAAAA,EACuB4C,WAAA,SAAA,IACoBL,EAAA,CAA9DC,EAAS,EAAEC,MAAMC,QAAQC,SAAS,IAAME,WAAW,QAAA,CAAA,CAAA,GAFhC7C,EAE2C4C,WAAA,SAAA,IAClCL,EAAA,CAA5BC,EAAS,EAAEC,MAAMK,QAHE9C,CAAAA,CAAAA,GAAAA,EAGS4C,WAAA,YAAA,CAAA,GAHT5C,IAArBuC,EAAA,CADCQ,EAAc,iBACM/C,CAAAA,GAAAA,CAAAA;"}
1
+ {"version":3,"file":"option-vV2BM1B_.js","sources":["../src/option/option.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nexport type SchmancyOptionChangeEvent = CustomEvent<{\n\tvalue: string\n\tlabel: string\n}>\n\n@customElement('schmancy-option')\nexport default class SchmancyOption extends TailwindElement() {\n\t@property({ type: String, reflect: true }) value: string = ''\n\t@property({ type: String, reflect: true, attribute: 'label' }) label: string | undefined\n\t@property({ type: Boolean }) selected: boolean = false\n\n\t// Add a method to update the label with slot content\n\tprivate updateLabelFromSlot() {\n\t\tif (!this.label) {\n\t\t\tconst slotContent = this.getSlotContent()\n\t\t\tif (slotContent) {\n\t\t\t\tthis.label = slotContent\n\t\t\t}\n\t\t}\n\t}\n\n\t// Connect to lifecycle to update label when element is connected\n\tconnectedCallback() {\n\t\tsuper.connectedCallback?.()\n\t\tthis.updateLabelFromSlot()\n\t}\n\n\t// Listen for slot changes to update label\n\tfirstUpdated() {\n\t\tconst slot = this.shadowRoot?.querySelector('slot:not([name])') as HTMLSlotElement\n\t\tif (slot) {\n\t\t\tslot.addEventListener('slotchange', () => {\n\t\t\t\tthis.updateLabelFromSlot()\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate handleOptionClick() {\n\t\t// Update label from slot if not set\n\t\tthis.updateLabelFromSlot()\n\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<SchmancyOptionChangeEvent['detail']>('click', {\n\t\t\t\tdetail: {\n\t\t\t\t\tvalue: this.value,\n\t\t\t\t\tlabel: this.label ?? '',\n\t\t\t\t},\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\t// Get content from the default slot\n\tprivate getSlotContent(): string {\n\t\tconst slot = this.shadowRoot?.querySelector('slot:not([name])') as HTMLSlotElement\n\t\tif (!slot) return ''\n\n\t\tconst assignedNodes = slot.assignedNodes()\n\t\tif (assignedNodes.length === 0) return ''\n\n\t\t// Combine the text content of all assigned nodes\n\t\treturn assignedNodes\n\t\t\t.map(node => node.textContent?.trim() || '')\n\t\t\t.join(' ')\n\t\t\t.trim()\n\t}\n\n\t// override focus method to focus the native element\n\tfocus() {\n\t\tthis.shadowRoot?.querySelector('li')?.focus()\n\t}\n\n\tprotected render() {\n\t\t// Apply highlight styles if `this.selected` is true\n\t\tconst classes = {\n\t\t\t'outline-secondary-default focus-visible:outline-solid focus-visible:outline-2 focus-visible:-outline-offset-2 rounded-md focus-visible:outline-secondary-default':\n\t\t\t\ttrue,\n\t\t\t'font-semibold relative cursor-pointer py-2 px-3': true,\n\t\t\t'bg-secondary-container text-secondery-onContainer': this.selected,\n\t\t}\n\t\tconst stateLayerClasses = {\n\t\t\t'duration-500 transition-opacity': true,\n\t\t\t'hover:bg-surface-on opacity-[0.08] cursor-pointer absolute inset-0': true,\n\t\t}\n\t\treturn html`\n\t\t\t<li\n\t\t\t\ttabindex=\"0\"\n\t\t\t\tclass=\"${this.classMap(classes)}\"\n\t\t\t\trole=\"option\"\n\t\t\t\t@click=${(e: MouseEvent) => {\n\t\t\t\t\te.stopPropagation()\n\t\t\t\t\te.preventDefault()\n\t\t\t\t\tthis.handleOptionClick()\n\t\t\t\t}}\n\t\t\t\t@keydown=${(e: KeyboardEvent) => {\n\t\t\t\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\tthis.handleOptionClick()\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div class=\"${this.classMap(stateLayerClasses)}\"></div>\n\t\t\t\t<sch-flex class=\"text-start\" align=\"center\" justify=\"between\" flow=\"row\">\n\t\t\t\t\t<slot class=\"self-start\" @slotchange=${() => this.updateLabelFromSlot()}></slot>\n\t\t\t\t\t<slot name=\"support\">\n\t\t\t\t\t\t<span></span>\n\t\t\t\t\t</slot>\n\t\t\t\t</sch-flex>\n\t\t\t</li>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-option': SchmancyOption\n\t}\n}\n"],"names":["SchmancyOption","TailwindElement","constructor","super","arguments","this","value","selected","label","slotContent","getSlotContent","connectedCallback","updateLabelFromSlot","slot","shadowRoot","querySelector","addEventListener","dispatchEvent","CustomEvent","detail","bubbles","composed","assignedNodes","length","map","node","textContent","trim","join","focus","render","classes","html","classMap","e","stopPropagation","preventDefault","handleOptionClick","key","__decorateClass","property","type","String","reflect","prototype","attribute","Boolean","customElement"],"mappings":";;;;;;;;;;AAUA,IAAqBA,IAArB,cAA4CC;EAA5C,cAAAC;AAAAC,UAAAC,GAAAA,SAAAA,GAC4DC,KAAAC,QAAA,IAEVD,KAAAE,WAAAA;AAAAA,EAAA;AAAA,EAGzC;AACH,QAACF,CAAAA,KAAKG,OAAO;AACV,YAAAC,IAAcJ,KAAKK,eAAAA;AACrBD,MAAAA,MACHJ,KAAKG,QAAQC;AAAAA,IACd;AAAA,EACD;AAAA,EAID,oBAAAE;;AACCR,KAAAA,IAAAA,MAAMQ,sBAANR,QAAAA,EAAAA,YACAE,KAAKO,oBAAoB;AAAA,EAAA;AAAA,EAI1B,eACC;;AAAA,UAAMC,KAAOR,IAAAA,KAAKS,eAALT,gBAAAA,EAAiBU,cAAc;AACxCF,IAAAA,KACEA,EAAAG,iBAAiB,cAAc;AACnCX,WAAKO,oBAAAA;AAAAA,IAAoB;EAE3B;AAAA,EAGO;AAEPP,SAAKO,oBAAAA,GAEAP,KAAAY,cACJ,IAAIC,YAAiD,SAAS,EAC7DC,QAAQ,EACPb,OAAOD,KAAKC,OACZE,OAAOH,KAAKG,SAAS,GAAA,GAEtBY,aACAC,UAAAA;EAEF;AAAA,EAIO,iBACP;;AAAA,UAAMR,KAAOR,IAAAA,KAAKS,eAALT,gBAAAA,EAAiBU,cAAc;AACxC,SAACF,EAAa,QAAA;AAEZ,UAAAS,IAAgBT,EAAKS,cACvB;AAAA,WAAAA,EAAcC,WAAW,IAAU,KAGhCD,EACLE,IAAYC,CAAAA;;AAAAA,eAAAA,IAAAA,EAAKC,gBAALD,gBAAAA,EAAkBE,WAAU;AAAA,KAAA,EACxCC,KAAK,GAAA,EACLD;EAAK;AAAA,EAIR;;AACCtB,KAAAA,KAAAA,IAAAA,KAAKS,eAALT,gBAAAA,EAAiBU,cAAc,UAA/BV,QAAAA,EAAsCwB;AAAAA,EAAM;AAAA,EAGnC,SAAAC;AAET,UAAMC,IAAU,EACf,wKAEA,mDAAA,IACA,qDAAqD1B,KAAKE,SAMpD;AAAA,WAAAyB;AAAAA;AAAAA;AAAAA,aAGI3B,KAAK4B,SAASF,CAAAA,CAAAA;AAAAA;AAAAA,aAEbG,OAAAA;AACTA,QAAEC,gBAAAA,GACFD,EAAEE,eAAAA,GACF/B,KAAKgC,kBAAkB;AAAA,IAAA,CAAA;AAAA,eAEZH,OACG;AAAA,MAAVA,EAAEI,QAAQ,WAAWJ,EAAEI,QAAQ,QAClCJ,EAAEC,gBACFD,GAAAA,EAAEE,eACF/B,GAAAA,KAAKgC,kBAAkB;AAAA,IAAA,CAAA;AAAA;AAAA,kBAIXhC,KAAK4B,SAtBK,EACzB,mCAAmC,IACnC,sEAAsE,GAAA,CAAA,CAAA;AAAA;AAAA,4CAsB7B,MAAM5B,KAAKO,oBAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAAqB;AAAA;AAlGhC2B,EAAA,CAA1CC,EAAS,EAAEC,MAAMC,QAAQC,YADN3C,CAAAA,CAAAA,GAAAA,EACuB4C,WAAA,SAAA,IACoBL,EAAA,CAA9DC,EAAS,EAAEC,MAAMC,QAAQC,SAAS,IAAME,WAAW,QAAA,CAAA,CAAA,GAFhC7C,EAE2C4C,WAAA,SAAA,IAClCL,EAAA,CAA5BC,EAAS,EAAEC,MAAMK,QAHE9C,CAAAA,CAAAA,GAAAA,EAGS4C,WAAA,YAAA,CAAA,GAHT5C,IAArBuC,EAAA,CADCQ,EAAc,iBACM/C,CAAAA,GAAAA,CAAAA;"}
package/dist/option.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";require("./option-BOoGEXyd.cjs");
1
+ "use strict";require("./option-hsAZB8ji.cjs");
2
2
  //# sourceMappingURL=option.cjs.map
package/dist/option.js CHANGED
@@ -1,2 +1,2 @@
1
- import "./option-04xx4j0z.js";
1
+ import "./option-vV2BM1B_.js";
2
2
  //# sourceMappingURL=option.js.map
@@ -1,4 +1,4 @@
1
- "use strict";const r=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const p=require("./tailwind.mixin-BAMa8YNR.cjs"),u=require("lit"),d=require("lit/decorators.js");function l(e,t){const n=document.createElement("schmancy-notification");return n.setAttribute("type",t),n.innerHTML=e,n}const s=new r.Subject,f=new r.Subject,v={success:(e,t)=>{const n=l(e,"success");return s.next({component:n,config:t}),n},error:(e,t)=>{const n=l(e,"error");return s.next({component:n,config:t}),n},warning:(e,t)=>{const n=l(e,"warning");return s.next({component:n,config:t}),n},info:(e,t)=>{const n=l(e,"info");return s.next({component:n,config:t}),n},dismiss:e=>{f.next(e)}};s.pipe(r.buffer(s.pipe(r.debounceTime(1e3)))).subscribe(e=>{if(e.length>1){const t=e[e.length-1];s.next({component:t.component,config:t.config})}}),s.subscribe(({component:e,config:t})=>{var n;(n=document.body)==null||n.appendChild(e),r.race(r.fromEvent(e,"close"),r.timer((t==null?void 0:t.duration)??3e3)).subscribe(()=>{e.remove()})}),f.subscribe(e=>{e.dispatchEvent(new CustomEvent("close"))});var h=Object.defineProperty,y=Object.getOwnPropertyDescriptor,m=(e,t,n,o)=>{for(var a,i=o>1?void 0:o?y(t,n):t,c=e.length-1;c>=0;c--)(a=e[c])&&(i=(o?a(t,n,i):a(i))||i);return o&&i&&h(t,n,i),i};exports.SchmancyNotification=class extends p.TailwindElement(){constructor(){super(...arguments),this.type="success"}render(){return u.html`
1
+ "use strict";const r=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const p=require("./tailwind.mixin-CjSVtdHt.cjs"),u=require("lit"),d=require("lit/decorators.js");function l(e,t){const n=document.createElement("schmancy-notification");return n.setAttribute("type",t),n.innerHTML=e,n}const s=new r.Subject,f=new r.Subject,v={success:(e,t)=>{const n=l(e,"success");return s.next({component:n,config:t}),n},error:(e,t)=>{const n=l(e,"error");return s.next({component:n,config:t}),n},warning:(e,t)=>{const n=l(e,"warning");return s.next({component:n,config:t}),n},info:(e,t)=>{const n=l(e,"info");return s.next({component:n,config:t}),n},dismiss:e=>{f.next(e)}};s.pipe(r.buffer(s.pipe(r.debounceTime(1e3)))).subscribe(e=>{if(e.length>1){const t=e[e.length-1];s.next({component:t.component,config:t.config})}}),s.subscribe(({component:e,config:t})=>{var n;(n=document.body)==null||n.appendChild(e),r.race(r.fromEvent(e,"close"),r.timer((t==null?void 0:t.duration)??3e3)).subscribe(()=>{e.remove()})}),f.subscribe(e=>{e.dispatchEvent(new CustomEvent("close"))});var h=Object.defineProperty,y=Object.getOwnPropertyDescriptor,m=(e,t,n,o)=>{for(var a,i=o>1?void 0:o?y(t,n):t,c=e.length-1;c>=0;c--)(a=e[c])&&(i=(o?a(t,n,i):a(i))||i);return o&&i&&h(t,n,i),i};exports.SchmancyNotification=class extends p.TailwindElement(){constructor(){super(...arguments),this.type="success"}render(){return u.html`
2
2
  <div
3
3
  aria-live="assertive"
4
4
  class="pointer-events-none z-[999999] fixed inset-0 flex items-end px-4 py-6 sm:items-start sm:p-6"
@@ -58,4 +58,4 @@
58
58
  </div>
59
59
  </div>
60
60
  `}},m([d.property({type:String})],exports.SchmancyNotification.prototype,"type",2),exports.SchmancyNotification=m([d.customElement("schmancy-notification")],exports.SchmancyNotification);var g=Object.getOwnPropertyDescriptor;exports.SchmancyNotificationOutlet=class extends p.TailwindElement(){render(){return u.html` <slot></slot> `}},exports.SchmancyNotificationOutlet=((e,t,n,o)=>{for(var a,i=o>1?void 0:o?g(t,n):t,c=e.length-1;c>=0;c--)(a=e[c])&&(i=a(i)||i);return i})([d.customElement("schmancy-notification-outlet")],exports.SchmancyNotificationOutlet),exports.$notify=v;
61
- //# sourceMappingURL=outlet-C9H_6XOK.cjs.map
61
+ //# sourceMappingURL=outlet-DMOeEL6g.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"outlet-C9H_6XOK.cjs","sources":["../src/notification/$notification.ts","../src/notification/notification.ts","../src/notification/outlet.ts"],"sourcesContent":["import { Subject, buffer, debounceTime, fromEvent, race, timer } from 'rxjs'\nimport { SchmancyNotification } from './notification'\n\nexport type TNotification = 'success' | 'error' | 'warning' | 'info'\nexport type TNotificationConfig = {\n\taction?: typeof Function\n\tduration?: number\n}\n\n// Create a notification component and assign it the proper type.\nfunction createNotificationComponent(message: string, type: TNotification): SchmancyNotification {\n\tconst notificationComponent = document.createElement('schmancy-notification') as SchmancyNotification\n\tnotificationComponent.setAttribute('type', type)\n\tnotificationComponent.innerHTML = message\n\treturn notificationComponent\n}\n\n// Main notifications subject: each emission will schedule a notification.\nconst $notifications = new Subject<{\n\tcomponent: SchmancyNotification\n\tconfig?: TNotificationConfig\n}>()\n\n// New subject to handle explicit dismiss calls.\nconst $dismissNotification = new Subject<SchmancyNotification>()\n\n// Exported API for notifications\nexport const $notify = {\n\tsuccess: (message: string, config?: TNotificationConfig) => {\n\t\tconst component = createNotificationComponent(message, 'success')\n\t\t$notifications.next({ component, config })\n\t\treturn component\n\t},\n\terror: (message: string, config?: TNotificationConfig) => {\n\t\tconst component = createNotificationComponent(message, 'error')\n\t\t$notifications.next({ component, config })\n\t\treturn component\n\t},\n\twarning: (message: string, config?: TNotificationConfig) => {\n\t\tconst component = createNotificationComponent(message, 'warning')\n\t\t$notifications.next({ component, config })\n\t\treturn component\n\t},\n\tinfo: (message: string, config?: TNotificationConfig) => {\n\t\tconst component = createNotificationComponent(message, 'info')\n\t\t$notifications.next({ component, config })\n\t\treturn component\n\t},\n\t// New dismiss method: call this with a notification component to dismiss it early.\n\tdismiss: (component: SchmancyNotification) => {\n\t\t$dismissNotification.next(component)\n\t},\n}\n\n// Optional: If you want to collapse multiple notifications into a single one,\n// the same logic as before can be retained.\n$notifications.pipe(buffer($notifications.pipe(debounceTime(1000)))).subscribe(notifications => {\n\tif (notifications.length > 1) {\n\t\tconst notification = notifications[notifications.length - 1]\n\t\t// Re-emit the latest notification for display.\n\t\t$notifications.next({ component: notification.component, config: notification.config })\n\t}\n})\n\n// Whenever a notification is published, append it to the DOM and set up removal.\n$notifications.subscribe(({ component, config }) => {\n\tdocument.body?.appendChild(component)\n\n\t// Create a race: wait for either the component’s own 'close' event (or an external dismiss)\n\t// or a timeout based on the config's duration (default: 3000ms).\n\trace(fromEvent(component, 'close'), timer(config?.duration ?? 3000)).subscribe(() => {\n\t\tcomponent.remove()\n\t})\n})\n\n// Listen for explicit dismiss calls. When a notification is to be dismissed via $notify.dismiss(),\n// dispatch a 'close' event on it. This will trigger the race above.\n$dismissNotification.subscribe(component => {\n\t// You could also include any additional logic here if needed.\n\tcomponent.dispatchEvent(new CustomEvent('close'))\n})\n","import { TailwindElement } from '@mixins/index'\nimport { $notify } from '@schmancy/notification'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n@customElement('schmancy-notification')\nexport class SchmancyNotification extends TailwindElement() {\n\t@property({ type: String })\n\ttype: 'success' | 'error' | 'warning' | 'info' = 'success'\n\n\trender() {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\taria-live=\"assertive\"\n\t\t\t\tclass=\"pointer-events-none z-[999999] fixed inset-0 flex items-end px-4 py-6 sm:items-start sm:p-6\"\n\t\t\t>\n\t\t\t\t<div class=\"flex w-full flex-col items-center space-y-4 sm:items-end\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"pointer-events-auto w-full max-w-sm overflow-hidden rounded-lg bg-surface-container shadow-lg ring-1 ring-outlineVariant ring-opacity-5\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"p-2\">\n\t\t\t\t\t\t\t<div class=\"flex items-center\">\n\t\t\t\t\t\t\t\t<div class=\"shrink-0\">\n\t\t\t\t\t\t\t\t\t${this.type === 'success'\n\t\t\t\t\t\t\t\t\t\t? html` <svg\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"h-6 w-6 text-success-default\"\n\t\t\t\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"1.5\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\td=\"M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</svg>`\n\t\t\t\t\t\t\t\t\t\t: html` <svg\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"h-6 w-6 text-error-default\"\n\t\t\t\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"1.5\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\td=\"M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</svg>`}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"ml-3 w-0 flex-1 pt-0.5\">\n\t\t\t\t\t\t\t\t\t<p class=\" text-sm \">\n\t\t\t\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"ml-4 flex shrink-0\">\n\t\t\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\t\t\t\t$notify.dismiss(this)\n\t\t\t\t\t\t\t\t\t\t\tthis.dispatchEvent(new CustomEvent('close'))\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<span class=\"sr-only\">Close</span>\n\t\t\t\t\t\t\t\t\t\tclose\n\t\t\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-notification': SchmancyNotification\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-notification-outlet')\nexport class SchmancyNotificationOutlet extends TailwindElement() {\n\trender() {\n\t\treturn html` <slot></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-notification-outlet': SchmancyNotificationOutlet\n\t}\n}\n"],"names":["createNotificationComponent","message","type","notificationComponent","document","createElement","setAttribute","innerHTML","$notifications","Subject","$dismissNotification","$notify","success","config","component","next","error","warning","info","dismiss","pipe","buffer","debounceTime","subscribe","notifications","length","notification","body","appendChild","race","fromEvent","timer","duration","remove","dispatchEvent","CustomEvent","SchmancyNotification","TailwindElement","super","arguments","this","html","__decorateClass","property","String","prototype","customElement","SchmancyNotificationOutlet"],"mappings":"oNAUA,SAASA,EAA4BC,EAAiBC,EAAAA,CAC/C,MAAAC,EAAwBC,SAASC,cAAc,uBAG9C,EAAA,OAFeF,EAAAG,aAAa,OAAQJ,CAAAA,EAC3CC,EAAsBI,UAAYN,EAC3BE,CACR,CAGA,MAAMK,EAAiB,IAAIC,EAAAA,QAMrBC,EAAuB,IAAID,EAAAA,QAGpBE,EAAU,CACtBC,QAAS,CAACX,EAAiBY,IAAAA,CACpB,MAAAC,EAAYd,EAA4BC,EAAS,SAEhD,EAAA,OADPO,EAAeO,KAAK,CAAED,UAAWD,EAAAA,OAAAA,CAAAA,CAAAA,EAC1BC,CAAA,EAERE,MAAO,CAACf,EAAiBY,IAAAA,CAClB,MAAAC,EAAYd,EAA4BC,EAAS,OAEhD,EAAA,OADPO,EAAeO,KAAK,CAAED,UAAAA,EAAWD,OAC1BC,CAAAA,CAAAA,EAAAA,CAAA,EAERG,QAAS,CAAChB,EAAiBY,IACpB,CAAA,MAAAC,EAAYd,EAA4BC,EAAS,SAAA,EAEhD,OADPO,EAAeO,KAAK,CAAED,UAAAA,EAAWD,OAC1BC,CAAAA,CAAAA,EAAAA,CAAA,EAERI,KAAM,CAACjB,EAAiBY,IACjB,CAAA,MAAAC,EAAYd,EAA4BC,EAAS,MAAA,EAEhD,OADPO,EAAeO,KAAK,CAAED,UAAWD,EAAAA,OAAAA,CAAAA,CAAAA,EAC1BC,CAAA,EAGRK,QAAUL,GAAAA,CACTJ,EAAqBK,KAAKD,CAAS,CAAA,CAAA,EAMrCN,EAAeY,KAAKC,EAAAA,OAAOb,EAAeY,KAAKE,EAAAA,aAAa,GAAA,CAAA,CAAA,CAAA,EAASC,UAA2BC,GAAAA,CAC3F,GAAAA,EAAcC,OAAS,EAAG,CAC7B,MAAMC,EAAeF,EAAcA,EAAcC,OAAS,CAE3CjB,EAAAA,EAAAO,KAAK,CAAED,UAAWY,EAAaZ,UAAWD,OAAQa,EAAab,MAAAA,CAAAA,CAAQ,CAKxFL,CAAAA,EAAAA,EAAee,UAAU,CAAA,CAAGT,UAAWD,EAAAA,OAAAA,CAAAA,IAAAA,QAC7BT,EAAAA,SAAAuB,OAAAvB,MAAAA,EAAMwB,YAAYd,GAItBe,EAAAA,KAAAC,EAAAA,UAAUhB,EAAW,OAAUiB,EAAAA,EAAAA,OAAMlB,iBAAQmB,WAAY,GAAA,CAAA,EAAOT,UAAU,IAAA,CAC9ET,EAAUmB,OAAAA,CAAO,CACjB,CAAA,CAAA,EAKFvB,EAAqBa,UAAuBT,GAE3CA,CAAAA,EAAUoB,cAAc,IAAIC,YAAY,OAAA,CAAA,CAAQ,mMC1EpCC,QAAAA,qBAAN,cAAmCC,EAAAA,gBAAnC,CAAA,CAAA,aAAAC,CAAAA,MAAAA,GAAAC,SAE2CC,EAAAA,KAAAtC,KAAA,SAAA,CAEjD,QACQ,CAAA,OAAAuC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,WAYED,KAAKtC,OAAS,UACbuC;;;;;;;;;;;;;mBAcAA,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;;;;;;;;;;mBAuBO,IAAA,CACR9B,EAAQQ,QAAQqB,IAAAA,EAChBA,KAAKN,cAAc,IAAIC,YAAY,OAAQ,CAAA,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAC3C,CAAA,EAxDVO,EAAA,CADCC,WAAS,CAAEzC,KAAM0C,MADNR,CAAAA,CAAAA,EAAAA,6BAEZS,UAAA,OAAA,CAFYT,EAAAA,QAANA,qBAAAM,EAAA,CADNI,EAAAA,cAAc,uBAAA,CAAA,EACFV,oECAAW,QAAAA,2BAAN,cAAyCV,EAAAA,gBAC/C,CAAA,CAAA,SACQ,OAAAI,EAAAA,qBAAA,CAAA,EAFIM,QAANA,iIAAA,CADND,EAAAA,cAAc,iCACFC"}
1
+ {"version":3,"file":"outlet-DMOeEL6g.cjs","sources":["../src/notification/$notification.ts","../src/notification/notification.ts","../src/notification/outlet.ts"],"sourcesContent":["import { Subject, buffer, debounceTime, fromEvent, race, timer } from 'rxjs'\nimport { SchmancyNotification } from './notification'\n\nexport type TNotification = 'success' | 'error' | 'warning' | 'info'\nexport type TNotificationConfig = {\n\taction?: typeof Function\n\tduration?: number\n}\n\n// Create a notification component and assign it the proper type.\nfunction createNotificationComponent(message: string, type: TNotification): SchmancyNotification {\n\tconst notificationComponent = document.createElement('schmancy-notification') as SchmancyNotification\n\tnotificationComponent.setAttribute('type', type)\n\tnotificationComponent.innerHTML = message\n\treturn notificationComponent\n}\n\n// Main notifications subject: each emission will schedule a notification.\nconst $notifications = new Subject<{\n\tcomponent: SchmancyNotification\n\tconfig?: TNotificationConfig\n}>()\n\n// New subject to handle explicit dismiss calls.\nconst $dismissNotification = new Subject<SchmancyNotification>()\n\n// Exported API for notifications\nexport const $notify = {\n\tsuccess: (message: string, config?: TNotificationConfig) => {\n\t\tconst component = createNotificationComponent(message, 'success')\n\t\t$notifications.next({ component, config })\n\t\treturn component\n\t},\n\terror: (message: string, config?: TNotificationConfig) => {\n\t\tconst component = createNotificationComponent(message, 'error')\n\t\t$notifications.next({ component, config })\n\t\treturn component\n\t},\n\twarning: (message: string, config?: TNotificationConfig) => {\n\t\tconst component = createNotificationComponent(message, 'warning')\n\t\t$notifications.next({ component, config })\n\t\treturn component\n\t},\n\tinfo: (message: string, config?: TNotificationConfig) => {\n\t\tconst component = createNotificationComponent(message, 'info')\n\t\t$notifications.next({ component, config })\n\t\treturn component\n\t},\n\t// New dismiss method: call this with a notification component to dismiss it early.\n\tdismiss: (component: SchmancyNotification) => {\n\t\t$dismissNotification.next(component)\n\t},\n}\n\n// Optional: If you want to collapse multiple notifications into a single one,\n// the same logic as before can be retained.\n$notifications.pipe(buffer($notifications.pipe(debounceTime(1000)))).subscribe(notifications => {\n\tif (notifications.length > 1) {\n\t\tconst notification = notifications[notifications.length - 1]\n\t\t// Re-emit the latest notification for display.\n\t\t$notifications.next({ component: notification.component, config: notification.config })\n\t}\n})\n\n// Whenever a notification is published, append it to the DOM and set up removal.\n$notifications.subscribe(({ component, config }) => {\n\tdocument.body?.appendChild(component)\n\n\t// Create a race: wait for either the component’s own 'close' event (or an external dismiss)\n\t// or a timeout based on the config's duration (default: 3000ms).\n\trace(fromEvent(component, 'close'), timer(config?.duration ?? 3000)).subscribe(() => {\n\t\tcomponent.remove()\n\t})\n})\n\n// Listen for explicit dismiss calls. When a notification is to be dismissed via $notify.dismiss(),\n// dispatch a 'close' event on it. This will trigger the race above.\n$dismissNotification.subscribe(component => {\n\t// You could also include any additional logic here if needed.\n\tcomponent.dispatchEvent(new CustomEvent('close'))\n})\n","import { TailwindElement } from '@mixins/index'\nimport { $notify } from '@schmancy/notification'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n@customElement('schmancy-notification')\nexport class SchmancyNotification extends TailwindElement() {\n\t@property({ type: String })\n\ttype: 'success' | 'error' | 'warning' | 'info' = 'success'\n\n\trender() {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\taria-live=\"assertive\"\n\t\t\t\tclass=\"pointer-events-none z-[999999] fixed inset-0 flex items-end px-4 py-6 sm:items-start sm:p-6\"\n\t\t\t>\n\t\t\t\t<div class=\"flex w-full flex-col items-center space-y-4 sm:items-end\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"pointer-events-auto w-full max-w-sm overflow-hidden rounded-lg bg-surface-container shadow-lg ring-1 ring-outlineVariant ring-opacity-5\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"p-2\">\n\t\t\t\t\t\t\t<div class=\"flex items-center\">\n\t\t\t\t\t\t\t\t<div class=\"shrink-0\">\n\t\t\t\t\t\t\t\t\t${this.type === 'success'\n\t\t\t\t\t\t\t\t\t\t? html` <svg\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"h-6 w-6 text-success-default\"\n\t\t\t\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"1.5\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\td=\"M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</svg>`\n\t\t\t\t\t\t\t\t\t\t: html` <svg\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"h-6 w-6 text-error-default\"\n\t\t\t\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"1.5\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\td=\"M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</svg>`}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"ml-3 w-0 flex-1 pt-0.5\">\n\t\t\t\t\t\t\t\t\t<p class=\" text-sm \">\n\t\t\t\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"ml-4 flex shrink-0\">\n\t\t\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\t\t\t\t$notify.dismiss(this)\n\t\t\t\t\t\t\t\t\t\t\tthis.dispatchEvent(new CustomEvent('close'))\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<span class=\"sr-only\">Close</span>\n\t\t\t\t\t\t\t\t\t\tclose\n\t\t\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-notification': SchmancyNotification\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-notification-outlet')\nexport class SchmancyNotificationOutlet extends TailwindElement() {\n\trender() {\n\t\treturn html` <slot></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-notification-outlet': SchmancyNotificationOutlet\n\t}\n}\n"],"names":["createNotificationComponent","message","type","notificationComponent","document","createElement","setAttribute","innerHTML","$notifications","Subject","$dismissNotification","$notify","success","config","component","next","error","warning","info","dismiss","pipe","buffer","debounceTime","subscribe","notifications","length","notification","body","appendChild","race","fromEvent","timer","duration","remove","dispatchEvent","CustomEvent","SchmancyNotification","TailwindElement","super","arguments","this","html","__decorateClass","property","String","prototype","customElement","SchmancyNotificationOutlet"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { Subject as m, buffer as g, debounceTime as x, race as w, fromEvent as y, timer as b } from "rxjs";
2
2
  import "lit/directives/class-map.js";
3
3
  import "lit/directives/style-map.js";
4
- import { T as v } from "./tailwind.mixin-BQyZrGP1.js";
4
+ import { T as v } from "./tailwind.mixin-Cxj7n9Jd.js";
5
5
  import { html as l } from "lit";
6
6
  import { property as k, customElement as f } from "lit/decorators.js";
7
7
  function a(e, t) {
@@ -125,4 +125,4 @@ export {
125
125
  d as S,
126
126
  u as a
127
127
  };
128
- //# sourceMappingURL=outlet-DlGwFO9i.js.map
128
+ //# sourceMappingURL=outlet-DRaXjbOY.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"outlet-DlGwFO9i.js","sources":["../src/notification/$notification.ts","../src/notification/notification.ts","../src/notification/outlet.ts"],"sourcesContent":["import { Subject, buffer, debounceTime, fromEvent, race, timer } from 'rxjs'\nimport { SchmancyNotification } from './notification'\n\nexport type TNotification = 'success' | 'error' | 'warning' | 'info'\nexport type TNotificationConfig = {\n\taction?: typeof Function\n\tduration?: number\n}\n\n// Create a notification component and assign it the proper type.\nfunction createNotificationComponent(message: string, type: TNotification): SchmancyNotification {\n\tconst notificationComponent = document.createElement('schmancy-notification') as SchmancyNotification\n\tnotificationComponent.setAttribute('type', type)\n\tnotificationComponent.innerHTML = message\n\treturn notificationComponent\n}\n\n// Main notifications subject: each emission will schedule a notification.\nconst $notifications = new Subject<{\n\tcomponent: SchmancyNotification\n\tconfig?: TNotificationConfig\n}>()\n\n// New subject to handle explicit dismiss calls.\nconst $dismissNotification = new Subject<SchmancyNotification>()\n\n// Exported API for notifications\nexport const $notify = {\n\tsuccess: (message: string, config?: TNotificationConfig) => {\n\t\tconst component = createNotificationComponent(message, 'success')\n\t\t$notifications.next({ component, config })\n\t\treturn component\n\t},\n\terror: (message: string, config?: TNotificationConfig) => {\n\t\tconst component = createNotificationComponent(message, 'error')\n\t\t$notifications.next({ component, config })\n\t\treturn component\n\t},\n\twarning: (message: string, config?: TNotificationConfig) => {\n\t\tconst component = createNotificationComponent(message, 'warning')\n\t\t$notifications.next({ component, config })\n\t\treturn component\n\t},\n\tinfo: (message: string, config?: TNotificationConfig) => {\n\t\tconst component = createNotificationComponent(message, 'info')\n\t\t$notifications.next({ component, config })\n\t\treturn component\n\t},\n\t// New dismiss method: call this with a notification component to dismiss it early.\n\tdismiss: (component: SchmancyNotification) => {\n\t\t$dismissNotification.next(component)\n\t},\n}\n\n// Optional: If you want to collapse multiple notifications into a single one,\n// the same logic as before can be retained.\n$notifications.pipe(buffer($notifications.pipe(debounceTime(1000)))).subscribe(notifications => {\n\tif (notifications.length > 1) {\n\t\tconst notification = notifications[notifications.length - 1]\n\t\t// Re-emit the latest notification for display.\n\t\t$notifications.next({ component: notification.component, config: notification.config })\n\t}\n})\n\n// Whenever a notification is published, append it to the DOM and set up removal.\n$notifications.subscribe(({ component, config }) => {\n\tdocument.body?.appendChild(component)\n\n\t// Create a race: wait for either the component’s own 'close' event (or an external dismiss)\n\t// or a timeout based on the config's duration (default: 3000ms).\n\trace(fromEvent(component, 'close'), timer(config?.duration ?? 3000)).subscribe(() => {\n\t\tcomponent.remove()\n\t})\n})\n\n// Listen for explicit dismiss calls. When a notification is to be dismissed via $notify.dismiss(),\n// dispatch a 'close' event on it. This will trigger the race above.\n$dismissNotification.subscribe(component => {\n\t// You could also include any additional logic here if needed.\n\tcomponent.dispatchEvent(new CustomEvent('close'))\n})\n","import { TailwindElement } from '@mixins/index'\nimport { $notify } from '@schmancy/notification'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n@customElement('schmancy-notification')\nexport class SchmancyNotification extends TailwindElement() {\n\t@property({ type: String })\n\ttype: 'success' | 'error' | 'warning' | 'info' = 'success'\n\n\trender() {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\taria-live=\"assertive\"\n\t\t\t\tclass=\"pointer-events-none z-[999999] fixed inset-0 flex items-end px-4 py-6 sm:items-start sm:p-6\"\n\t\t\t>\n\t\t\t\t<div class=\"flex w-full flex-col items-center space-y-4 sm:items-end\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"pointer-events-auto w-full max-w-sm overflow-hidden rounded-lg bg-surface-container shadow-lg ring-1 ring-outlineVariant ring-opacity-5\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"p-2\">\n\t\t\t\t\t\t\t<div class=\"flex items-center\">\n\t\t\t\t\t\t\t\t<div class=\"shrink-0\">\n\t\t\t\t\t\t\t\t\t${this.type === 'success'\n\t\t\t\t\t\t\t\t\t\t? html` <svg\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"h-6 w-6 text-success-default\"\n\t\t\t\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"1.5\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\td=\"M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</svg>`\n\t\t\t\t\t\t\t\t\t\t: html` <svg\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"h-6 w-6 text-error-default\"\n\t\t\t\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"1.5\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\td=\"M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</svg>`}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"ml-3 w-0 flex-1 pt-0.5\">\n\t\t\t\t\t\t\t\t\t<p class=\" text-sm \">\n\t\t\t\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"ml-4 flex shrink-0\">\n\t\t\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\t\t\t\t$notify.dismiss(this)\n\t\t\t\t\t\t\t\t\t\t\tthis.dispatchEvent(new CustomEvent('close'))\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<span class=\"sr-only\">Close</span>\n\t\t\t\t\t\t\t\t\t\tclose\n\t\t\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-notification': SchmancyNotification\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-notification-outlet')\nexport class SchmancyNotificationOutlet extends TailwindElement() {\n\trender() {\n\t\treturn html` <slot></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-notification-outlet': SchmancyNotificationOutlet\n\t}\n}\n"],"names":["createNotificationComponent","message","type","notificationComponent","document","createElement","setAttribute","innerHTML","$notifications","Subject","$dismissNotification","$notify","success","config","component","next","error","warning","info","dismiss","pipe","buffer","debounceTime","subscribe","notifications","length","notification","body","appendChild","race","fromEvent","timer","duration","remove","dispatchEvent","CustomEvent","SchmancyNotification","TailwindElement","super","arguments","this","html","__decorateClass","property","String","prototype","customElement","SchmancyNotificationOutlet"],"mappings":"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"}
1
+ {"version":3,"file":"outlet-DRaXjbOY.js","sources":["../src/notification/$notification.ts","../src/notification/notification.ts","../src/notification/outlet.ts"],"sourcesContent":["import { Subject, buffer, debounceTime, fromEvent, race, timer } from 'rxjs'\nimport { SchmancyNotification } from './notification'\n\nexport type TNotification = 'success' | 'error' | 'warning' | 'info'\nexport type TNotificationConfig = {\n\taction?: typeof Function\n\tduration?: number\n}\n\n// Create a notification component and assign it the proper type.\nfunction createNotificationComponent(message: string, type: TNotification): SchmancyNotification {\n\tconst notificationComponent = document.createElement('schmancy-notification') as SchmancyNotification\n\tnotificationComponent.setAttribute('type', type)\n\tnotificationComponent.innerHTML = message\n\treturn notificationComponent\n}\n\n// Main notifications subject: each emission will schedule a notification.\nconst $notifications = new Subject<{\n\tcomponent: SchmancyNotification\n\tconfig?: TNotificationConfig\n}>()\n\n// New subject to handle explicit dismiss calls.\nconst $dismissNotification = new Subject<SchmancyNotification>()\n\n// Exported API for notifications\nexport const $notify = {\n\tsuccess: (message: string, config?: TNotificationConfig) => {\n\t\tconst component = createNotificationComponent(message, 'success')\n\t\t$notifications.next({ component, config })\n\t\treturn component\n\t},\n\terror: (message: string, config?: TNotificationConfig) => {\n\t\tconst component = createNotificationComponent(message, 'error')\n\t\t$notifications.next({ component, config })\n\t\treturn component\n\t},\n\twarning: (message: string, config?: TNotificationConfig) => {\n\t\tconst component = createNotificationComponent(message, 'warning')\n\t\t$notifications.next({ component, config })\n\t\treturn component\n\t},\n\tinfo: (message: string, config?: TNotificationConfig) => {\n\t\tconst component = createNotificationComponent(message, 'info')\n\t\t$notifications.next({ component, config })\n\t\treturn component\n\t},\n\t// New dismiss method: call this with a notification component to dismiss it early.\n\tdismiss: (component: SchmancyNotification) => {\n\t\t$dismissNotification.next(component)\n\t},\n}\n\n// Optional: If you want to collapse multiple notifications into a single one,\n// the same logic as before can be retained.\n$notifications.pipe(buffer($notifications.pipe(debounceTime(1000)))).subscribe(notifications => {\n\tif (notifications.length > 1) {\n\t\tconst notification = notifications[notifications.length - 1]\n\t\t// Re-emit the latest notification for display.\n\t\t$notifications.next({ component: notification.component, config: notification.config })\n\t}\n})\n\n// Whenever a notification is published, append it to the DOM and set up removal.\n$notifications.subscribe(({ component, config }) => {\n\tdocument.body?.appendChild(component)\n\n\t// Create a race: wait for either the component’s own 'close' event (or an external dismiss)\n\t// or a timeout based on the config's duration (default: 3000ms).\n\trace(fromEvent(component, 'close'), timer(config?.duration ?? 3000)).subscribe(() => {\n\t\tcomponent.remove()\n\t})\n})\n\n// Listen for explicit dismiss calls. When a notification is to be dismissed via $notify.dismiss(),\n// dispatch a 'close' event on it. This will trigger the race above.\n$dismissNotification.subscribe(component => {\n\t// You could also include any additional logic here if needed.\n\tcomponent.dispatchEvent(new CustomEvent('close'))\n})\n","import { TailwindElement } from '@mixins/index'\nimport { $notify } from '@schmancy/notification'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n@customElement('schmancy-notification')\nexport class SchmancyNotification extends TailwindElement() {\n\t@property({ type: String })\n\ttype: 'success' | 'error' | 'warning' | 'info' = 'success'\n\n\trender() {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\taria-live=\"assertive\"\n\t\t\t\tclass=\"pointer-events-none z-[999999] fixed inset-0 flex items-end px-4 py-6 sm:items-start sm:p-6\"\n\t\t\t>\n\t\t\t\t<div class=\"flex w-full flex-col items-center space-y-4 sm:items-end\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"pointer-events-auto w-full max-w-sm overflow-hidden rounded-lg bg-surface-container shadow-lg ring-1 ring-outlineVariant ring-opacity-5\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"p-2\">\n\t\t\t\t\t\t\t<div class=\"flex items-center\">\n\t\t\t\t\t\t\t\t<div class=\"shrink-0\">\n\t\t\t\t\t\t\t\t\t${this.type === 'success'\n\t\t\t\t\t\t\t\t\t\t? html` <svg\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"h-6 w-6 text-success-default\"\n\t\t\t\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"1.5\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\td=\"M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</svg>`\n\t\t\t\t\t\t\t\t\t\t: html` <svg\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"h-6 w-6 text-error-default\"\n\t\t\t\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"1.5\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\td=\"M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</svg>`}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"ml-3 w-0 flex-1 pt-0.5\">\n\t\t\t\t\t\t\t\t\t<p class=\" text-sm \">\n\t\t\t\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"ml-4 flex shrink-0\">\n\t\t\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\t\t\t\t$notify.dismiss(this)\n\t\t\t\t\t\t\t\t\t\t\tthis.dispatchEvent(new CustomEvent('close'))\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<span class=\"sr-only\">Close</span>\n\t\t\t\t\t\t\t\t\t\tclose\n\t\t\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-notification': SchmancyNotification\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-notification-outlet')\nexport class SchmancyNotificationOutlet extends TailwindElement() {\n\trender() {\n\t\treturn html` <slot></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-notification-outlet': SchmancyNotificationOutlet\n\t}\n}\n"],"names":["createNotificationComponent","message","type","notificationComponent","document","createElement","setAttribute","innerHTML","$notifications","Subject","$dismissNotification","$notify","success","config","component","next","error","warning","info","dismiss","pipe","buffer","debounceTime","subscribe","notifications","length","notification","body","appendChild","race","fromEvent","timer","duration","remove","dispatchEvent","CustomEvent","SchmancyNotification","TailwindElement","super","arguments","this","html","__decorateClass","property","String","prototype","customElement","SchmancyNotificationOutlet"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import "rxjs";
2
2
  import "lit/directives/class-map.js";
3
3
  import "lit/directives/style-map.js";
4
- import { $ as P } from "./litElement.mixin-KVNPHS0h.js";
5
- import "./tailwind.mixin-BQyZrGP1.js";
4
+ import { $ as P } from "./litElement.mixin-PXLBM6N4.js";
5
+ import "./tailwind.mixin-Cxj7n9Jd.js";
6
6
  import { html as b } from "lit";
7
7
  import { property as L, state as y, query as I, customElement as M } from "lit/decorators.js";
8
8
  var C = typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}, x = function(e, t, r, i, a, n, o, l, d, p) {
@@ -511,4 +511,4 @@ g([L({ type: Object, reflect: !0 })], h.prototype, "value", 2), g([y()], h.proto
511
511
  export {
512
512
  h as S
513
513
  };
514
- //# sourceMappingURL=payment-card-form-DtcRjZp8.js.map
514
+ //# sourceMappingURL=payment-card-form-8oXgNTFN.js.map