@mhmo91/schmancy 0.2.112 → 0.2.114

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 (258) hide show
  1. package/dist/{animated-text-CrZbI_E_.cjs → animated-text-B576YswO.cjs} +2 -2
  2. package/dist/{animated-text-CrZbI_E_.cjs.map → animated-text-B576YswO.cjs.map} +1 -1
  3. package/dist/{animated-text-CmvbdVJF.js → animated-text-BuRbVM-X.js} +3 -3
  4. package/dist/{animated-text-CmvbdVJF.js.map → animated-text-BuRbVM-X.js.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-D5Fb0wFU.cjs → area.component-BFj0Dvfb.cjs} +2 -2
  9. package/dist/{area.component-D5Fb0wFU.cjs.map → area.component-BFj0Dvfb.cjs.map} +1 -1
  10. package/dist/{area.component-Dzl8Iw9I.js → area.component-Bo5aB8BH.js} +3 -3
  11. package/dist/{area.component-Dzl8Iw9I.js.map → area.component-Bo5aB8BH.js.map} +1 -1
  12. package/dist/area.js +1 -1
  13. package/dist/{autocomplete-Bsx63fvs.cjs → autocomplete-BU0sC_l-.cjs} +2 -2
  14. package/dist/autocomplete-BU0sC_l-.cjs.map +1 -0
  15. package/dist/{autocomplete-C7d1TghO.js → autocomplete-u76bIDqg.js} +30 -30
  16. package/dist/autocomplete-u76bIDqg.js.map +1 -0
  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-Ddc3Nogy.js → checkbox-DQYRlKod.js} +2 -2
  26. package/dist/{checkbox-Ddc3Nogy.js.map → checkbox-DQYRlKod.js.map} +1 -1
  27. package/dist/{checkbox-D5Zw8R82.cjs → checkbox-FM06WS9G.cjs} +2 -2
  28. package/dist/{checkbox-D5Zw8R82.cjs.map → checkbox-FM06WS9G.cjs.map} +1 -1
  29. package/dist/checkbox.cjs +1 -1
  30. package/dist/checkbox.js +1 -1
  31. package/dist/{chips-D5ADFFCU.cjs → chips-CJZbtp-O.cjs} +2 -2
  32. package/dist/{chips-D5ADFFCU.cjs.map → chips-CJZbtp-O.cjs.map} +1 -1
  33. package/dist/{chips-Bm_VYwr5.js → chips-DTDFQDv-.js} +14 -14
  34. package/dist/{chips-Bm_VYwr5.js.map → chips-DTDFQDv-.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-CZiZR3OZ.js +447 -0
  42. package/dist/date-range-CZiZR3OZ.js.map +1 -0
  43. package/dist/date-range-FxAO_oqk.cjs +79 -0
  44. package/dist/date-range-FxAO_oqk.cjs.map +1 -0
  45. package/dist/date-range.cjs +1 -1
  46. package/dist/date-range.js +1 -1
  47. package/dist/{delay-DSBPkKzK.cjs → delay-Dzei5ynQ.cjs} +2 -2
  48. package/dist/{delay-DSBPkKzK.cjs.map → delay-Dzei5ynQ.cjs.map} +1 -1
  49. package/dist/{delay-Nnqipc2p.js → delay-gZOjfjX_.js} +2 -2
  50. package/dist/{delay-Nnqipc2p.js.map → delay-gZOjfjX_.js.map} +1 -1
  51. package/dist/delay.cjs +1 -1
  52. package/dist/delay.js +1 -1
  53. package/dist/{divider-C7JP4sSG.js → divider-B-JF8gre.js} +3 -3
  54. package/dist/{divider-C7JP4sSG.js.map → divider-B-JF8gre.js.map} +1 -1
  55. package/dist/{divider-CcTSaeAl.cjs → divider-nNk0E_jZ.cjs} +2 -2
  56. package/dist/{divider-CcTSaeAl.cjs.map → divider-nNk0E_jZ.cjs.map} +1 -1
  57. package/dist/divider.cjs +1 -1
  58. package/dist/divider.js +1 -1
  59. package/dist/extra.cjs +2 -0
  60. package/dist/extra.cjs.map +1 -0
  61. package/dist/extra.js +6 -0
  62. package/dist/extra.js.map +1 -0
  63. package/dist/{flex-P9rZBgGQ.js → flex-CieqpOUS.js} +2 -2
  64. package/dist/{flex-P9rZBgGQ.js.map → flex-CieqpOUS.js.map} +1 -1
  65. package/dist/{flex-B_mVCq18.cjs → flex-INEcbqBe.cjs} +2 -2
  66. package/dist/{flex-B_mVCq18.cjs.map → flex-INEcbqBe.cjs.map} +1 -1
  67. package/dist/{form-cxzC6GVM.cjs → form-CKMp4UzU.cjs} +2 -2
  68. package/dist/{form-cxzC6GVM.cjs.map → form-CKMp4UzU.cjs.map} +1 -1
  69. package/dist/{form-DPcVlChy.js → form-lcamXnkd.js} +2 -2
  70. package/dist/{form-DPcVlChy.js.map → form-lcamXnkd.js.map} +1 -1
  71. package/dist/form.cjs +1 -1
  72. package/dist/form.js +1 -1
  73. package/dist/{icon-BEKKW3-2.cjs → icon-BZqH7sp7.cjs} +2 -2
  74. package/dist/{icon-BEKKW3-2.cjs.map → icon-BZqH7sp7.cjs.map} +1 -1
  75. package/dist/{icon-BGWDEYcH.js → icon-CJrmUGTm.js} +3 -3
  76. package/dist/{icon-BGWDEYcH.js.map → icon-CJrmUGTm.js.map} +1 -1
  77. package/dist/{icon-button-DlC2-vLK.js → icon-button-BNn0qRfC.js} +3 -3
  78. package/dist/{icon-button-DlC2-vLK.js.map → icon-button-BNn0qRfC.js.map} +1 -1
  79. package/dist/{icon-button-ChOGnclR.cjs → icon-button-nMHz4MDw.cjs} +2 -2
  80. package/dist/{icon-button-ChOGnclR.cjs.map → icon-button-nMHz4MDw.cjs.map} +1 -1
  81. package/dist/icons.cjs +1 -1
  82. package/dist/icons.js +1 -1
  83. package/dist/index.cjs +1 -1
  84. package/dist/index.js +76 -73
  85. package/dist/index.js.map +1 -1
  86. package/dist/input-CTC1BTOb.cjs +51 -0
  87. package/dist/input-CTC1BTOb.cjs.map +1 -0
  88. package/dist/input-CZX1sxBe.js +135 -0
  89. package/dist/input-CZX1sxBe.js.map +1 -0
  90. package/dist/input.cjs +1 -1
  91. package/dist/input.js +1 -1
  92. package/dist/layout.cjs +1 -1
  93. package/dist/layout.js +1 -1
  94. package/dist/{list-Bzx4a2RJ.js → list-CjrF4M5H.js} +2 -2
  95. package/dist/{list-Bzx4a2RJ.js.map → list-CjrF4M5H.js.map} +1 -1
  96. package/dist/{list-D1kS-XDO.cjs → list-D4y-Mkap.cjs} +2 -2
  97. package/dist/{list-D1kS-XDO.cjs.map → list-D4y-Mkap.cjs.map} +1 -1
  98. package/dist/list.cjs +1 -1
  99. package/dist/list.js +1 -1
  100. package/dist/{litElement.mixin-Dx9_p_nV.js → litElement.mixin-NzkxESus.js} +2 -2
  101. package/dist/{litElement.mixin-Dx9_p_nV.js.map → litElement.mixin-NzkxESus.js.map} +1 -1
  102. package/dist/{litElement.mixin-PVEJyATw.cjs → litElement.mixin-djlKJ0lX.cjs} +2 -2
  103. package/dist/{litElement.mixin-PVEJyATw.cjs.map → litElement.mixin-djlKJ0lX.cjs.map} +1 -1
  104. package/dist/{menu-CzcGpZXF.js → menu-Cb5kUAvU.js} +3 -3
  105. package/dist/{menu-CzcGpZXF.js.map → menu-Cb5kUAvU.js.map} +1 -1
  106. package/dist/{menu-D30w9YPg.cjs → menu-DAtFS31a.cjs} +2 -2
  107. package/dist/{menu-D30w9YPg.cjs.map → menu-DAtFS31a.cjs.map} +1 -1
  108. package/dist/menu.cjs +1 -1
  109. package/dist/menu.js +1 -1
  110. package/dist/nav-drawer.cjs +1 -1
  111. package/dist/nav-drawer.js +1 -1
  112. package/dist/notification.cjs +1 -1
  113. package/dist/notification.js +1 -1
  114. package/dist/{option-igpxXgTd.js → option-CxalubCR.js} +19 -9
  115. package/dist/option-CxalubCR.js.map +1 -0
  116. package/dist/option-DJLLszO6.cjs +18 -0
  117. package/dist/option-DJLLszO6.cjs.map +1 -0
  118. package/dist/option.cjs +1 -1
  119. package/dist/option.js +1 -1
  120. package/dist/{outlet-DzAi4iKo.js → outlet-6HZp4fo1.js} +3 -3
  121. package/dist/outlet-6HZp4fo1.js.map +1 -0
  122. package/dist/{outlet-DqRiezsh.cjs → outlet-DofHDlGH.cjs} +3 -3
  123. package/dist/outlet-DofHDlGH.cjs.map +1 -0
  124. package/dist/{payment-card-form-IamvKqiN.cjs → payment-card-form-Bi3yNg4b.cjs} +2 -2
  125. package/dist/{payment-card-form-IamvKqiN.cjs.map → payment-card-form-Bi3yNg4b.cjs.map} +1 -1
  126. package/dist/{payment-card-form-CwqKB8Tm.js → payment-card-form-C8FxRlh4.js} +3 -3
  127. package/dist/{payment-card-form-CwqKB8Tm.js.map → payment-card-form-C8FxRlh4.js.map} +1 -1
  128. package/dist/{radio-group-zGJIFNCR.cjs → radio-group-A5QxSGOr.cjs} +2 -2
  129. package/dist/{radio-group-zGJIFNCR.cjs.map → radio-group-A5QxSGOr.cjs.map} +1 -1
  130. package/dist/{radio-group-C9UaGgCL.js → radio-group-BapuNl8y.js} +2 -2
  131. package/dist/{radio-group-C9UaGgCL.js.map → radio-group-BapuNl8y.js.map} +1 -1
  132. package/dist/radio-group.cjs +1 -1
  133. package/dist/radio-group.js +1 -1
  134. package/dist/rxjs-utils.js +4 -4
  135. package/dist/{select-5ob4WHTf.js → select-8AjN6LbM.js} +3 -3
  136. package/dist/{select-5ob4WHTf.js.map → select-8AjN6LbM.js.map} +1 -1
  137. package/dist/{select-B194j_5a.cjs → select-BdU6KcPX.cjs} +2 -2
  138. package/dist/{select-B194j_5a.cjs.map → select-BdU6KcPX.cjs.map} +1 -1
  139. package/dist/select.cjs +1 -1
  140. package/dist/select.js +1 -1
  141. package/dist/{sheet-CHFHgh29.cjs → sheet-CQFdHSwJ.cjs} +6 -6
  142. package/dist/sheet-CQFdHSwJ.cjs.map +1 -0
  143. package/dist/{sheet-C2RxblaX.js → sheet-xR13xD2A.js} +11 -11
  144. package/dist/sheet-xR13xD2A.js.map +1 -0
  145. package/dist/sheet.cjs +1 -1
  146. package/dist/sheet.js +1 -1
  147. package/dist/{slider-BgNoOOeQ.cjs → slider-B4OCBlQg.cjs} +2 -2
  148. package/dist/{slider-BgNoOOeQ.cjs.map → slider-B4OCBlQg.cjs.map} +1 -1
  149. package/dist/{slider-BOTY8Lhv.js → slider-BakU-Bdw.js} +3 -3
  150. package/dist/{slider-BOTY8Lhv.js.map → slider-BakU-Bdw.js.map} +1 -1
  151. package/dist/slider.cjs +1 -1
  152. package/dist/slider.js +1 -1
  153. package/dist/{spinner-Vwv-mKip.js → spinner-BDx3SZsl.js} +4 -4
  154. package/dist/spinner-BDx3SZsl.js.map +1 -0
  155. package/dist/{spinner-vBTOD2N0.cjs → spinner-C3VJtLgk.cjs} +3 -3
  156. package/dist/spinner-C3VJtLgk.cjs.map +1 -0
  157. package/dist/{surface-CryISDFd.js → surface-YiaJJQ5m.js} +2 -2
  158. package/dist/{surface-CryISDFd.js.map → surface-YiaJJQ5m.js.map} +1 -1
  159. package/dist/{surface-Csc8YLks.cjs → surface-kjOrb8TO.cjs} +2 -2
  160. package/dist/{surface-Csc8YLks.cjs.map → surface-kjOrb8TO.cjs.map} +1 -1
  161. package/dist/surface.cjs +1 -1
  162. package/dist/surface.js +1 -1
  163. package/dist/{table-DHHo5etf.cjs → table-BZV2dBD5.cjs} +2 -2
  164. package/dist/{table-DHHo5etf.cjs.map → table-BZV2dBD5.cjs.map} +1 -1
  165. package/dist/{table-DRL3oAjo.js → table-BguYeeBH.js} +2 -2
  166. package/dist/{table-DRL3oAjo.js.map → table-BguYeeBH.js.map} +1 -1
  167. package/dist/table.cjs +1 -1
  168. package/dist/table.js +1 -1
  169. package/dist/{tabs-group-BRVzKIRX.cjs → tabs-group-BZFBZ1_G.cjs} +2 -2
  170. package/dist/{tabs-group-BRVzKIRX.cjs.map → tabs-group-BZFBZ1_G.cjs.map} +1 -1
  171. package/dist/{tabs-group-BcXgpxUw.js → tabs-group-H3C6ZnQn.js} +2 -2
  172. package/dist/{tabs-group-BcXgpxUw.js.map → tabs-group-H3C6ZnQn.js.map} +1 -1
  173. package/dist/tabs.cjs +1 -1
  174. package/dist/tabs.js +1 -1
  175. package/dist/{tailwind.mixin-BM-bjRjT.cjs → tailwind.mixin-CBhPue3q.cjs} +2 -2
  176. package/dist/{tailwind.mixin-BM-bjRjT.cjs.map → tailwind.mixin-CBhPue3q.cjs.map} +1 -1
  177. package/dist/{tailwind.mixin-YEy_iITN.js → tailwind.mixin-DklgfhB4.js} +2 -2
  178. package/dist/{tailwind.mixin-YEy_iITN.js.map → tailwind.mixin-DklgfhB4.js.map} +1 -1
  179. package/dist/teleport.cjs +1 -1
  180. package/dist/{teleport.component-BVj_m_Kl.cjs → teleport.component-C9Q1WHQe.cjs} +2 -2
  181. package/dist/{teleport.component-BVj_m_Kl.cjs.map → teleport.component-C9Q1WHQe.cjs.map} +1 -1
  182. package/dist/{teleport.component-K6cmr5Tr.js → teleport.component-DY1Q8ilK.js} +40 -39
  183. package/dist/{teleport.component-K6cmr5Tr.js.map → teleport.component-DY1Q8ilK.js.map} +1 -1
  184. package/dist/teleport.js +1 -1
  185. package/dist/{textarea-CUi2u7J7.cjs → textarea-BCWPb0Sn.cjs} +2 -2
  186. package/dist/{textarea-CUi2u7J7.cjs.map → textarea-BCWPb0Sn.cjs.map} +1 -1
  187. package/dist/{textarea-BzI6HMKy.js → textarea-D7bTMerW.js} +2 -2
  188. package/dist/{textarea-BzI6HMKy.js.map → textarea-D7bTMerW.js.map} +1 -1
  189. package/dist/textarea.cjs +1 -1
  190. package/dist/textarea.js +1 -1
  191. package/dist/{theme-button-DhD5GksO.js → theme-button-CP2_aq__.js} +2 -2
  192. package/dist/{theme-button-DhD5GksO.js.map → theme-button-CP2_aq__.js.map} +1 -1
  193. package/dist/{theme-button-BJe1x0Cs.cjs → theme-button-DHuXg7vh.cjs} +2 -2
  194. package/dist/{theme-button-BJe1x0Cs.cjs.map → theme-button-DHuXg7vh.cjs.map} +1 -1
  195. package/dist/theme-button.cjs +1 -1
  196. package/dist/theme-button.js +1 -1
  197. package/dist/theme.cjs +1 -1
  198. package/dist/{theme.component-D4WBav-_.js → theme.component-BtBosXb1.js} +2 -2
  199. package/dist/{theme.component-D4WBav-_.js.map → theme.component-BtBosXb1.js.map} +1 -1
  200. package/dist/{theme.component-BI2OGjYG.cjs → theme.component-Ly2C_fQ8.cjs} +2 -2
  201. package/dist/{theme.component-BI2OGjYG.cjs.map → theme.component-Ly2C_fQ8.cjs.map} +1 -1
  202. package/dist/theme.js +1 -1
  203. package/dist/timezone-Cv2QSsl4.cjs +24 -0
  204. package/dist/timezone-Cv2QSsl4.cjs.map +1 -0
  205. package/dist/timezone-EDGZdfbO.js +67 -0
  206. package/dist/timezone-EDGZdfbO.js.map +1 -0
  207. package/dist/{tree-8ORo7bDg.cjs → tree-CG9B3uQP.cjs} +2 -2
  208. package/dist/{tree-8ORo7bDg.cjs.map → tree-CG9B3uQP.cjs.map} +1 -1
  209. package/dist/{tree-D42tswgB.js → tree-Y2B7yK7L.js} +2 -2
  210. package/dist/{tree-D42tswgB.js.map → tree-Y2B7yK7L.js.map} +1 -1
  211. package/dist/tree.cjs +1 -1
  212. package/dist/tree.js +1 -1
  213. package/dist/{typewriter-BwNXbsZp.js → typewriter-C1Ij3c--.js} +14 -14
  214. package/dist/{typewriter-BwNXbsZp.js.map → typewriter-C1Ij3c--.js.map} +1 -1
  215. package/dist/{typewriter-JuHIja1a.cjs → typewriter-DtWpV0Xd.cjs} +2 -2
  216. package/dist/{typewriter-JuHIja1a.cjs.map → typewriter-DtWpV0Xd.cjs.map} +1 -1
  217. package/dist/typewriter.cjs +1 -1
  218. package/dist/typewriter.js +1 -1
  219. package/dist/{typography-CaOb3D3z.js → typography-CSQByhJF.js} +2 -2
  220. package/dist/{typography-CaOb3D3z.js.map → typography-CSQByhJF.js.map} +1 -1
  221. package/dist/{typography-BMkQ3cH-.cjs → typography-D-a-z23R.cjs} +2 -2
  222. package/dist/{typography-BMkQ3cH-.cjs.map → typography-D-a-z23R.cjs.map} +1 -1
  223. package/dist/typography.cjs +1 -1
  224. package/dist/typography.js +1 -1
  225. package/package.json +2 -2
  226. package/types/src/date-range/date-range.d.ts +2 -2
  227. package/types/src/extra/countries/countries.d.ts +13 -0
  228. package/types/src/extra/countries/countries.data.d.ts +5 -0
  229. package/types/src/extra/countries/index.d.ts +2 -0
  230. package/types/src/extra/index.d.ts +2 -0
  231. package/types/src/extra/timezone/index.d.ts +2 -0
  232. package/types/src/extra/timezone/timezone.d.ts +13 -0
  233. package/types/src/extra/timezone/timezones.data.d.ts +7 -0
  234. package/types/src/index.d.ts +1 -1
  235. package/types/src/option/option.d.ts +1 -0
  236. package/dist/autocomplete-Bsx63fvs.cjs.map +0 -1
  237. package/dist/autocomplete-C7d1TghO.js.map +0 -1
  238. package/dist/data.cjs +0 -2
  239. package/dist/data.cjs.map +0 -1
  240. package/dist/data.js +0 -2
  241. package/dist/data.js.map +0 -1
  242. package/dist/date-range-CH-IKoMW.cjs +0 -72
  243. package/dist/date-range-CH-IKoMW.cjs.map +0 -1
  244. package/dist/date-range-LMnnBclq.js +0 -166
  245. package/dist/date-range-LMnnBclq.js.map +0 -1
  246. package/dist/input-C7C9t_rb.cjs +0 -51
  247. package/dist/input-C7C9t_rb.cjs.map +0 -1
  248. package/dist/input-CIRYUKIL.js +0 -135
  249. package/dist/input-CIRYUKIL.js.map +0 -1
  250. package/dist/option-igpxXgTd.js.map +0 -1
  251. package/dist/option-x_W6-_iT.cjs +0 -18
  252. package/dist/option-x_W6-_iT.cjs.map +0 -1
  253. package/dist/outlet-DqRiezsh.cjs.map +0 -1
  254. package/dist/outlet-DzAi4iKo.js.map +0 -1
  255. package/dist/sheet-C2RxblaX.js.map +0 -1
  256. package/dist/sheet-CHFHgh29.cjs.map +0 -1
  257. package/dist/spinner-Vwv-mKip.js.map +0 -1
  258. package/dist/spinner-vBTOD2N0.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"list-D1kS-XDO.cjs","sources":["../src/list/context.ts","../src/surface/context.ts","../src/list/list-item.ts","../src/list/list.ts"],"sourcesContent":["import { createContext } from '@lit/context'\nimport { TSurfaceColor } from '@schmancy/types/surface'\nexport const SchmancyListTypeContext = createContext<TSurfaceColor>(undefined)\n","import { createContext } from '@lit/context'\nimport { TSurfaceColor } from '@schmancy/types/surface'\nexport const SchmancySurfaceTypeContext = createContext<TSurfaceColor>('surface')\n","import { consume } from '@lit/context'\nimport { TailwindElement } from '@mixins/index'\nimport { SchmancySurfaceTypeContext } from '@schmancy/surface/context'\nimport { TSurfaceColor } from '@schmancy/types/surface'\nimport { html } from 'lit'\nimport { customElement, property, queryAssignedElements } from 'lit/decorators.js'\nimport { when } from 'lit/directives/when.js'\n\n/**\n * @element schmancy-list-item\n * @slot leading - leading content\n * @slot trailing - trailing content\n * @slot - default content\n */\n@customElement('schmancy-list-item')\nexport class SchmancyListItem extends TailwindElement() {\n\t@consume({ context: SchmancySurfaceTypeContext, subscribe: true })\n\t@property()\n\tvariant: TSurfaceColor\n\n\t@property({ type: Boolean })\n\trounded: boolean\n\n\t@property({ type: Boolean }) readonly: boolean\n\n\t@property({ type: Boolean }) selected: boolean = false\n\n\t@queryAssignedElements({\n\t\tslot: 'leading',\n\t\tflatten: true,\n\t})\n\tprivate leading!: HTMLElement[]\n\n\t@queryAssignedElements({\n\t\tslot: 'trailing',\n\t\tflatten: true,\n\t})\n\tprivate trailing!: HTMLElement[]\n\n\tprotected get imgClasses(): string[] {\n\t\treturn ['h-[24px]', 'w-[24px]', 'object-contain']\n\t}\n\n\tfirstUpdated() {\n\t\tthis.leading?.forEach(img => {\n\t\t\timg.classList.add(...this.imgClasses)\n\t\t})\n\t\tthis.trailing?.forEach(img => {\n\t\t\timg.classList.add(...this.imgClasses)\n\t\t})\n\t}\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'rounded-none': this.rounded === false,\n\t\t\t'rounded-full': this.rounded,\n\t\t\t'relative inset-0 w-full flex items-center min-h-[56px] py-[8px] px-[16px] duration-500 transition-colors focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:z-1 outline-secondary-default outline-hidden':\n\t\t\t\ttrue,\n\t\t\t'bg-secondary-container text-secondery-onContainer': this.selected,\n\t\t}\n\n\t\tconst stateLayerClasses = {\n\t\t\t'z-0 duration-500 transition-opacity': true,\n\t\t\t'rounded-none': this.rounded === false,\n\t\t\t'rounded-full': this.rounded,\n\t\t\t'hover:bg-surface-on opacity-[0.08] cursor-pointer absolute inset-0 ': !this.readonly,\n\t\t}\n\t\treturn html` <li .tabIndex=${this.readonly ? -1 : 0} class=${this.classMap(classes)}>\n\t\t\t${when(!this.readonly, () => html` <div class=\"${this.classMap(stateLayerClasses)}\"></div>`)}\n\t\t\t<slot></slot>\n\t\t</li>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-list-item': SchmancyListItem\n\t}\n}\n","import { provide } from '@lit/context'\nimport { TailwindElement } from '@mixins/index'\nimport { SchmancySurfaceFill } from '@schmancy/surface'\nimport { TSurfaceColor } from '@schmancy/types/surface'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { SchmancyListTypeContext } from './context'\n\n/**\n * `<schmancy-list>` component.\n *\n * A list component that wraps its content within a customizable surface.\n * It allows you to set the surface type and fill style, and can optionally\n * enable scrolling behavior by delegating the scroller attribute to the surface.\n *\n * @element schmancy-list\n * @slot - The default slot for list items.\n *\n * @example\n * <schmancy-list surface=\"container\" scroller>\n * <schmancy-list-item>List Item 1</schmancy-list-item>\n * </schmancy-list>\n */\n@customElement('schmancy-list')\nexport class List extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tpadding-top: 8px;\n\t\tpadding-bottom: 8px;\n\t}\n`) {\n\t/**\n\t * Defines the type or color of the surface used by the component.\n\t * This value is provided to descendant components via context.\n\t *\n\t * @attr surface\n\t * @type {TSurfaceColor}\n\t * @default 'surface'\n\t */\n\t@provide({ context: SchmancyListTypeContext })\n\t@property()\n\tsurface: TSurfaceColor\n\n\t/**\n\t * Determines the fill style of the underlying surface.\n\t *\n\t * @attr fill\n\t * @type {SchmancySurfaceFill}\n\t * @default 'auto'\n\t */\n\t@property({ type: String, reflect: true })\n\tfill: SchmancySurfaceFill = 'auto'\n\n\t/**\n\t * Defines the elevation level of the surface.\n\t *\n\t * @attr elevation\n\t * @type {number}\n\t * @default 0\n\t */\n\t@property({ type: Number })\n\televation: 0 | 1 | 2 | 3 | 4 | 5 = 0\n\n\t/**\n\t * Renders the component's template.\n\t * The list content is wrapped inside a `<schmancy-surface>` element.\n\t * The scroller property is delegated to the surface so that it controls\n\t * the scrollable behavior.\n\t *\n\t * @returns The HTML template for the component.\n\t */\n\trender() {\n\t\treturn html`\n\t\t\t<schmancy-surface .elevation=${this.elevation} .fill=${this.fill} type=${this.surface}>\n\t\t\t\t<ul>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</ul>\n\t\t\t</schmancy-surface>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-list': List\n\t}\n}\n"],"names":["SchmancyListTypeContext","createContext","SchmancySurfaceTypeContext","SchmancyListItem","TailwindElement","super","arguments","this","selected","leading","forEach","img","classList","add","imgClasses","trailing","classes","rounded","stateLayerClasses","readonly","html","classMap","when","__decorateClass","consume","context","subscribe","property","prototype","type","Boolean","queryAssignedElements","slot","flatten","customElement","List","css","fill","elevation","surface","provide","String","reflect","Number"],"mappings":"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"}
1
+ {"version":3,"file":"list-D4y-Mkap.cjs","sources":["../src/list/context.ts","../src/surface/context.ts","../src/list/list-item.ts","../src/list/list.ts"],"sourcesContent":["import { createContext } from '@lit/context'\nimport { TSurfaceColor } from '@schmancy/types/surface'\nexport const SchmancyListTypeContext = createContext<TSurfaceColor>(undefined)\n","import { createContext } from '@lit/context'\nimport { TSurfaceColor } from '@schmancy/types/surface'\nexport const SchmancySurfaceTypeContext = createContext<TSurfaceColor>('surface')\n","import { consume } from '@lit/context'\nimport { TailwindElement } from '@mixins/index'\nimport { SchmancySurfaceTypeContext } from '@schmancy/surface/context'\nimport { TSurfaceColor } from '@schmancy/types/surface'\nimport { html } from 'lit'\nimport { customElement, property, queryAssignedElements } from 'lit/decorators.js'\nimport { when } from 'lit/directives/when.js'\n\n/**\n * @element schmancy-list-item\n * @slot leading - leading content\n * @slot trailing - trailing content\n * @slot - default content\n */\n@customElement('schmancy-list-item')\nexport class SchmancyListItem extends TailwindElement() {\n\t@consume({ context: SchmancySurfaceTypeContext, subscribe: true })\n\t@property()\n\tvariant: TSurfaceColor\n\n\t@property({ type: Boolean })\n\trounded: boolean\n\n\t@property({ type: Boolean }) readonly: boolean\n\n\t@property({ type: Boolean }) selected: boolean = false\n\n\t@queryAssignedElements({\n\t\tslot: 'leading',\n\t\tflatten: true,\n\t})\n\tprivate leading!: HTMLElement[]\n\n\t@queryAssignedElements({\n\t\tslot: 'trailing',\n\t\tflatten: true,\n\t})\n\tprivate trailing!: HTMLElement[]\n\n\tprotected get imgClasses(): string[] {\n\t\treturn ['h-[24px]', 'w-[24px]', 'object-contain']\n\t}\n\n\tfirstUpdated() {\n\t\tthis.leading?.forEach(img => {\n\t\t\timg.classList.add(...this.imgClasses)\n\t\t})\n\t\tthis.trailing?.forEach(img => {\n\t\t\timg.classList.add(...this.imgClasses)\n\t\t})\n\t}\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'rounded-none': this.rounded === false,\n\t\t\t'rounded-full': this.rounded,\n\t\t\t'relative inset-0 w-full flex items-center min-h-[56px] py-[8px] px-[16px] duration-500 transition-colors focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:z-1 outline-secondary-default outline-hidden':\n\t\t\t\ttrue,\n\t\t\t'bg-secondary-container text-secondery-onContainer': this.selected,\n\t\t}\n\n\t\tconst stateLayerClasses = {\n\t\t\t'z-0 duration-500 transition-opacity': true,\n\t\t\t'rounded-none': this.rounded === false,\n\t\t\t'rounded-full': this.rounded,\n\t\t\t'hover:bg-surface-on opacity-[0.08] cursor-pointer absolute inset-0 ': !this.readonly,\n\t\t}\n\t\treturn html` <li .tabIndex=${this.readonly ? -1 : 0} class=${this.classMap(classes)}>\n\t\t\t${when(!this.readonly, () => html` <div class=\"${this.classMap(stateLayerClasses)}\"></div>`)}\n\t\t\t<slot></slot>\n\t\t</li>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-list-item': SchmancyListItem\n\t}\n}\n","import { provide } from '@lit/context'\nimport { TailwindElement } from '@mixins/index'\nimport { SchmancySurfaceFill } from '@schmancy/surface'\nimport { TSurfaceColor } from '@schmancy/types/surface'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { SchmancyListTypeContext } from './context'\n\n/**\n * `<schmancy-list>` component.\n *\n * A list component that wraps its content within a customizable surface.\n * It allows you to set the surface type and fill style, and can optionally\n * enable scrolling behavior by delegating the scroller attribute to the surface.\n *\n * @element schmancy-list\n * @slot - The default slot for list items.\n *\n * @example\n * <schmancy-list surface=\"container\" scroller>\n * <schmancy-list-item>List Item 1</schmancy-list-item>\n * </schmancy-list>\n */\n@customElement('schmancy-list')\nexport class List extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tpadding-top: 8px;\n\t\tpadding-bottom: 8px;\n\t}\n`) {\n\t/**\n\t * Defines the type or color of the surface used by the component.\n\t * This value is provided to descendant components via context.\n\t *\n\t * @attr surface\n\t * @type {TSurfaceColor}\n\t * @default 'surface'\n\t */\n\t@provide({ context: SchmancyListTypeContext })\n\t@property()\n\tsurface: TSurfaceColor\n\n\t/**\n\t * Determines the fill style of the underlying surface.\n\t *\n\t * @attr fill\n\t * @type {SchmancySurfaceFill}\n\t * @default 'auto'\n\t */\n\t@property({ type: String, reflect: true })\n\tfill: SchmancySurfaceFill = 'auto'\n\n\t/**\n\t * Defines the elevation level of the surface.\n\t *\n\t * @attr elevation\n\t * @type {number}\n\t * @default 0\n\t */\n\t@property({ type: Number })\n\televation: 0 | 1 | 2 | 3 | 4 | 5 = 0\n\n\t/**\n\t * Renders the component's template.\n\t * The list content is wrapped inside a `<schmancy-surface>` element.\n\t * The scroller property is delegated to the surface so that it controls\n\t * the scrollable behavior.\n\t *\n\t * @returns The HTML template for the component.\n\t */\n\trender() {\n\t\treturn html`\n\t\t\t<schmancy-surface .elevation=${this.elevation} .fill=${this.fill} type=${this.surface}>\n\t\t\t\t<ul>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</ul>\n\t\t\t</schmancy-surface>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-list': List\n\t}\n}\n"],"names":["SchmancyListTypeContext","createContext","SchmancySurfaceTypeContext","SchmancyListItem","TailwindElement","super","arguments","this","selected","leading","forEach","img","classList","add","imgClasses","trailing","classes","rounded","stateLayerClasses","readonly","html","classMap","when","__decorateClass","consume","context","subscribe","property","prototype","type","Boolean","queryAssignedElements","slot","flatten","customElement","List","css","fill","elevation","surface","provide","String","reflect","Number"],"mappings":"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"}
package/dist/list.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./list-D1kS-XDO.cjs");Object.defineProperty(exports,"List",{enumerable:!0,get:()=>e.List}),Object.defineProperty(exports,"SchmancyListItem",{enumerable:!0,get:()=>e.SchmancyListItem}),exports.SchmancyListTypeContext=e.SchmancyListTypeContext;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./list-D4y-Mkap.cjs");Object.defineProperty(exports,"List",{enumerable:!0,get:()=>e.List}),Object.defineProperty(exports,"SchmancyListItem",{enumerable:!0,get:()=>e.SchmancyListItem}),exports.SchmancyListTypeContext=e.SchmancyListTypeContext;
2
2
  //# sourceMappingURL=list.cjs.map
package/dist/list.js CHANGED
@@ -1,4 +1,4 @@
1
- import { L as s, a as c, S as e } from "./list-Bzx4a2RJ.js";
1
+ import { L as s, a as c, S as e } from "./list-CjrF4M5H.js";
2
2
  export {
3
3
  s as List,
4
4
  c as SchmancyListItem,
@@ -1,4 +1,4 @@
1
- import { B as t, T as r } from "./tailwind.mixin-YEy_iITN.js";
1
+ import { B as t, T as r } from "./tailwind.mixin-DklgfhB4.js";
2
2
  const n = (s) => {
3
3
  class e extends t(r(s)) {
4
4
  constructor() {
@@ -12,4 +12,4 @@ const n = (s) => {
12
12
  export {
13
13
  n as $
14
14
  };
15
- //# sourceMappingURL=litElement.mixin-Dx9_p_nV.js.map
15
+ //# sourceMappingURL=litElement.mixin-NzkxESus.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"litElement.mixin-Dx9_p_nV.js","sources":["../mixins/litElement.mixin.ts"],"sourcesContent":["import { CSSResult, LitElement } from 'lit'\nimport { TailwindElement } from './tailwind.mixin'\nimport { BaseElement, IBaseMixin } from './baseElement'\nimport { Constructor } from './constructor'\n\nexport const $LitElement = <T extends CSSResult>(componentStyle?: T) => {\n\tclass TailwindMixinClass extends BaseElement(TailwindElement(componentStyle)) {\n\t\tdisconnectedCallback = () => {\n\t\t\tsuper.disconnectedCallback()\n\t\t}\n\t}\n\treturn TailwindMixinClass as CustomElementConstructor &\n\t\tConstructor<LitElement> &\n\t\tConstructor<IBaseMixin> /* see \"typing the subclass\" below */\n}\n"],"names":["$LitElement","componentStyle","TailwindMixinClass","BaseElement","TailwindElement","super","arguments","this","disconnectedCallback"],"mappings":";AAKa,MAAAA,IAAoCC,CAAAA;EAChD,MAAMC,UAA2BC,EAAYC,EAAgBH,CAA7D,CAAA,EAAA;AAAA,IAAA;AAAAI,YAAAC,GAAAA,SAAAA,GACCC,KAAAC,uBAAuB,MACtBH;AAAAA,cAAMG;MAAqB;AAAA,IAC5B;AAAA,EAAA;AAEM,SAAAN;AAAA;"}
1
+ {"version":3,"file":"litElement.mixin-NzkxESus.js","sources":["../mixins/litElement.mixin.ts"],"sourcesContent":["import { CSSResult, LitElement } from 'lit'\nimport { TailwindElement } from './tailwind.mixin'\nimport { BaseElement, IBaseMixin } from './baseElement'\nimport { Constructor } from './constructor'\n\nexport const $LitElement = <T extends CSSResult>(componentStyle?: T) => {\n\tclass TailwindMixinClass extends BaseElement(TailwindElement(componentStyle)) {\n\t\tdisconnectedCallback = () => {\n\t\t\tsuper.disconnectedCallback()\n\t\t}\n\t}\n\treturn TailwindMixinClass as CustomElementConstructor &\n\t\tConstructor<LitElement> &\n\t\tConstructor<IBaseMixin> /* see \"typing the subclass\" below */\n}\n"],"names":["$LitElement","componentStyle","TailwindMixinClass","BaseElement","TailwindElement","super","arguments","this","disconnectedCallback"],"mappings":";AAKa,MAAAA,IAAoCC,CAAAA;EAChD,MAAMC,UAA2BC,EAAYC,EAAgBH,CAA7D,CAAA,EAAA;AAAA,IAAA;AAAAI,YAAAC,GAAAA,SAAAA,GACCC,KAAAC,uBAAuB,MACtBH;AAAAA,cAAMG;MAAqB;AAAA,IAC5B;AAAA,EAAA;AAEM,SAAAN;AAAA;"}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("./tailwind.mixin-BM-bjRjT.cjs");exports.$LitElement=t=>{class s extends e.BaseElement(e.TailwindElement(t)){constructor(){super(...arguments),this.disconnectedCallback=()=>{super.disconnectedCallback()}}}return s};
2
- //# sourceMappingURL=litElement.mixin-PVEJyATw.cjs.map
1
+ "use strict";const e=require("./tailwind.mixin-CBhPue3q.cjs");exports.$LitElement=t=>{class s extends e.BaseElement(e.TailwindElement(t)){constructor(){super(...arguments),this.disconnectedCallback=()=>{super.disconnectedCallback()}}}return s};
2
+ //# sourceMappingURL=litElement.mixin-djlKJ0lX.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"litElement.mixin-PVEJyATw.cjs","sources":["../mixins/litElement.mixin.ts"],"sourcesContent":["import { CSSResult, LitElement } from 'lit'\nimport { TailwindElement } from './tailwind.mixin'\nimport { BaseElement, IBaseMixin } from './baseElement'\nimport { Constructor } from './constructor'\n\nexport const $LitElement = <T extends CSSResult>(componentStyle?: T) => {\n\tclass TailwindMixinClass extends BaseElement(TailwindElement(componentStyle)) {\n\t\tdisconnectedCallback = () => {\n\t\t\tsuper.disconnectedCallback()\n\t\t}\n\t}\n\treturn TailwindMixinClass as CustomElementConstructor &\n\t\tConstructor<LitElement> &\n\t\tConstructor<IBaseMixin> /* see \"typing the subclass\" below */\n}\n"],"names":["componentStyle","TailwindMixinClass","BaseElement","TailwindElement","constructor","super","arguments","this","disconnectedCallback"],"mappings":"kFAKiDA,GAAAA,CAChD,MAAMC,UAA2BC,EAAAA,YAAYC,kBAAgBH,IAA7D,aAAAI,CAAAC,MAAAC,GAAAA,SAAAA,EACCC,KAAAC,qBAAuB,IACtBH,CAAAA,MAAMG,qBAAqB,CAAA,CAC5B,CAEM,CAAA,OAAAP,CAAA"}
1
+ {"version":3,"file":"litElement.mixin-djlKJ0lX.cjs","sources":["../mixins/litElement.mixin.ts"],"sourcesContent":["import { CSSResult, LitElement } from 'lit'\nimport { TailwindElement } from './tailwind.mixin'\nimport { BaseElement, IBaseMixin } from './baseElement'\nimport { Constructor } from './constructor'\n\nexport const $LitElement = <T extends CSSResult>(componentStyle?: T) => {\n\tclass TailwindMixinClass extends BaseElement(TailwindElement(componentStyle)) {\n\t\tdisconnectedCallback = () => {\n\t\t\tsuper.disconnectedCallback()\n\t\t}\n\t}\n\treturn TailwindMixinClass as CustomElementConstructor &\n\t\tConstructor<LitElement> &\n\t\tConstructor<IBaseMixin> /* see \"typing the subclass\" below */\n}\n"],"names":["componentStyle","TailwindMixinClass","BaseElement","TailwindElement","constructor","super","arguments","this","disconnectedCallback"],"mappings":"kFAKiDA,GAAAA,CAChD,MAAMC,UAA2BC,EAAAA,YAAYC,kBAAgBH,IAA7D,aAAAI,CAAAC,MAAAC,GAAAA,SAAAA,EACCC,KAAAC,qBAAuB,IACtBH,CAAAA,MAAMG,qBAAqB,CAAA,CAC5B,CAEM,CAAA,OAAAP,CAAA"}
@@ -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-Dx9_p_nV.js";
5
- import { T as E } from "./tailwind.mixin-YEy_iITN.js";
4
+ import { $ as g } from "./litElement.mixin-NzkxESus.js";
5
+ import { T as E } from "./tailwind.mixin-DklgfhB4.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-CzcGpZXF.js.map
99
+ //# sourceMappingURL=menu-Cb5kUAvU.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu-CzcGpZXF.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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"}
1
+ {"version":3,"file":"menu-Cb5kUAvU.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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"}
@@ -1,4 +1,4 @@
1
- "use strict";const i=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const d=require("./litElement.mixin-PVEJyATw.cjs"),b=require("./tailwind.mixin-BM-bjRjT.cjs"),u=require("lit"),c=require("lit/decorators.js"),l=require("@floating-ui/dom");var y=Object.getOwnPropertyDescriptor;let p=class extends d.$LitElement(u.css`
1
+ "use strict";const i=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const d=require("./litElement.mixin-djlKJ0lX.cjs"),b=require("./tailwind.mixin-CBhPue3q.cjs"),u=require("lit"),c=require("lit/decorators.js"),l=require("@floating-ui/dom");var y=Object.getOwnPropertyDescriptor;let p=class extends d.$LitElement(u.css`
2
2
  :host {
3
3
  display: block;
4
4
  }
@@ -33,4 +33,4 @@
33
33
  <slot></slot>
34
34
  </ul>
35
35
  `}};h([c.queryAssignedElements({flatten:!0,slot:"button"})],m.prototype,"buttonElement",2),h([c.query("#menu")],m.prototype,"menuElement",2),m=h([c.customElement("schmancy-menu")],m);
36
- //# sourceMappingURL=menu-D30w9YPg.cjs.map
36
+ //# sourceMappingURL=menu-DAtFS31a.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu-D30w9YPg.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":"qUAMA,IAAqBA,EAArB,cAA8CC,EAAAA,YAAYC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAKzD,CAAA,CAAA,mBACCC,CAAAA,MAAMC,kBACIC,EAAAA,EAAAA,UAAAC,KAAM,OAAA,EACdC,KAAKC,EAAAA,UAAUF,KAAKG,aACpBC,CAAAA,EAAAA,UAAeC,IACfA,EAAEC,gBAAAA,EACGN,KAAAO,cACJ,IAAIC,YAAY,2BAA4B,CAC3CC,WACAC,SAAAA,EAEF,CAAA,CAAA,CAAA,CAAA,CACA,CAEO,QACF,CAAA,OAAAC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAAA,CApBYjB,EAAAA,wGAArB,CADCkB,EAAAA,cAAc,oBAAA,CAAA,EACMlB,mMCCrB,IAAqBmB,EAArB,cAA0CC,EAAAA,gBAAgBlB,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAqBjD,CAAA,CAAA,eACA,CAAA,MAAA,CACNmB,EAAAA,OAAO,CAAA,EACPC,SACAC,QAAM,CAAEC,QAAS,CACjBC,CAAAA,EAAAA,OAAK,CACJ,MAAAC,CAAMC,gBAAEA,EAAiBC,SAAAA,CAAAA,EAAAA,CACxBA,EAASC,SAASC,MAAMC,UAAY,GAAGJ,CAAAA,IAAe,CAGzD,CAAA,CAAA,CAAA,CAGD,MAAMK,gBAAAA,CACA1B,KAAK2B,cAAc,CAAO3B,GAAAA,KAAK4B,aAI9BC,MAAAA,EAAAA,gBAAgB7B,KAAK2B,cAAc,CAAA,EAAI3B,KAAK4B,YAAa,CAC9DE,UAAW,eACXC,WAAY/B,KAAKgC,cAAAA,CAAAA,CAAAA,EACfC,KAAK,CAAA,CAAGC,EAAGC,EAAAA,EAAAA,CAAAA,IAAAA,CACNC,OAAAC,OAAOrC,KAAK4B,YAAYJ,MAAO,CACrCc,KAAM,GAAGJ,CAAAA,KACTK,IAAK,GAAGJ,CACR,IAAA,CAAA,CAAA,CAAA,CACD,CAGM,UACP,CAAA,CAAKnC,KAAK2B,cAAc,CAAO3B,GAAAA,CAAAA,KAAK4B,cAE/B5B,KAAA4B,YAAYY,QAAQC,KAAO,OAE3BzC,KAAA0C,QAAUC,EAAAA,WAAW3C,KAAK2B,cAAc,CAAA,EAAI3B,KAAK4B,YAAa,IAClEC,CAAAA,EAAAA,gBAAgB7B,KAAK2B,cAAc,CAAI3B,EAAAA,KAAK4B,YAAa,CACxDE,UAAW,eACXC,WAAY/B,KAAKgC,cACfC,CAAAA,CAAAA,EAAAA,KAAK,CAAGC,CAAAA,EAAAA,EAAGC,EAAGS,EAAAA,SAAAA,CAAAA,IAAAA,CACTR,OAAAC,OAAOrC,KAAK4B,YAAYJ,MAAO,CACrCc,KAAM,GAAGJ,CACTK,KAAAA,IAAK,GAAGJ,CAAAA,KACRU,SAAUD,CAAAA,CAAAA,CACV,CACD,CAAA,CAAA,EAGgB5C,KAAK4B,YAAYkB,QAClC,CACC,CAAEC,QAAS,EAAGC,UAAW,aAAA,EACzB,CAAED,QAAS,EAAGC,UAAW,UAE1B,CAAA,EAAA,CACCC,SAAU,IACVC,OAAQ,uCAAA,CAAA,EAIAC,SAAW,IAAA,CAAA,EAAO,CAG7B,MAAA,UAEKnD,CAAAA,KAAK0C,UACF1C,MAAAA,KAAK0C,QACX1C,EAAAA,KAAK0C,QAAU,QAEX1C,KAAA4B,YAAYY,QAAQC,KAAO,QAEdzC,KAAK4B,YAAYkB,QAClC,CACC,CAAEC,QAAS,EAAGC,UAAW,UAAA,EACzB,CAAED,QAAS,EAAGC,UAAW,aAE1B,CAAA,EAAA,CACCC,SAAU,GACVC,OAAQ,uCAAA,CAAA,EAGAC,SAAW,IAAA,CAAA,CAAO,CAG7B,cACWpD,CAAAA,EAAAA,UAAAC,KAAK2B,cAAe,OAAA,EAC5B1B,KACAmD,EAAAA,IAAI/C,GAAKA,EAAEC,gBACXJ,CAAAA,EAAAA,EAAAA,UAAUF,KAAKG,aAEfC,CAAAA,EAAAA,UAAU,IACVJ,CAAAA,KAAKqD,SAAS,CAAA,CAAA,EAGNtD,YAAAC,KAAM,0BAAA,EACdC,KACAmD,EAAAA,IAAI/C,GAAKA,EAAEC,gBAAAA,CAAAA,EACXJ,EAAAA,UAAUF,KAAKG,aAAAA,CAAAA,EAEfC,UAAU,IAAA,CACVJ,KAAKsD,SAAAA,CAAS,GAGNvD,YAAAwD,SAAU,OAAA,EAClBtD,KACAuD,EAAAA,OAAQnD,GAAAA,CAAcL,KAAKyD,SAASpD,EAAEqD,MAAAA,CAAAA,EACtCxD,EAAAA,UAAUF,KAAKG,aAAAA,EACfiD,EAAAA,IAAI,IACmC,CAAlCpD,KAAK4B,YAAYY,QAAQC,OAAS,QACrCzC,KAAKsD,SAAAA,CAAS,CAIhBlD,CAAAA,EAAAA,UAAAA,CAAU,CAGb,QACQ,CAAA,OAAAO,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAAA,CAzHRgD,EAAAA,EAAA,CADCC,EAAAA,sBAAsB,CAAEC,QAAS,GAAMC,KAAM,QAAA,CAAA,CAAA,EAd1BjD,EAepBkD,UAAA,gBAAA,CAAA,EAEgBJ,EAAA,CAAfK,EAAAA,MAAM,OAjBanD,CAAAA,EAAAA,EAiBJkD,UAAA,cAAA,CAjBIlD,EAAAA,EAArB8C,EAAA,CADC/C,EAAAA,cAAc,eACMC,CAAAA,EAAAA,CAAAA"}
1
+ {"version":3,"file":"menu-DAtFS31a.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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"}
package/dist/menu.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";require("./menu-D30w9YPg.cjs");
1
+ "use strict";require("./menu-DAtFS31a.cjs");
2
2
  //# sourceMappingURL=menu.cjs.map
package/dist/menu.js CHANGED
@@ -1,2 +1,2 @@
1
- import "./menu-CzcGpZXF.js";
1
+ import "./menu-Cb5kUAvU.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-BVj_m_Kl.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-C9Q1WHQe.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-K6cmr5Tr.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-DY1Q8ilK.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-DqRiezsh.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-DofHDlGH.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-DzAi4iKo.js";
1
+ import { $ as i, S as o, a as c } from "./outlet-6HZp4fo1.js";
2
2
  export {
3
3
  i as $notify,
4
4
  o as SchmancyNotification,
@@ -1,20 +1,30 @@
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-YEy_iITN.js";
4
+ import { T as p } from "./tailwind.mixin-DklgfhB4.js";
5
5
  import { html as u } from "lit";
6
6
  import { property as c, customElement as d } from "lit/decorators.js";
7
- var f = Object.defineProperty, h = Object.getOwnPropertyDescriptor, l = (e, t, r, i) => {
8
- for (var n, o = i > 1 ? void 0 : i ? h(t, r) : t, a = e.length - 1; a >= 0; a--) (n = e[a]) && (o = (i ? n(t, r, o) : n(o)) || o);
9
- return i && o && f(t, r, o), o;
7
+ var f = Object.defineProperty, h = Object.getOwnPropertyDescriptor, r = (e, t, s, n) => {
8
+ for (var i, o = n > 1 ? void 0 : n ? h(t, s) : t, a = e.length - 1; a >= 0; a--) (i = e[a]) && (o = (n ? i(t, s, o) : i(o)) || o);
9
+ return n && o && f(t, s, o), o;
10
10
  };
11
- let s = class extends p() {
11
+ let l = class extends p() {
12
12
  constructor() {
13
13
  super(...arguments), this.value = "", this.selected = !1;
14
14
  }
15
15
  handleOptionClick() {
16
- var e;
17
- this.dispatchEvent(new CustomEvent("click", { detail: { value: this.value, label: this.label ?? ((e = this.textContent) == null ? void 0 : e.trim()) ?? "" }, bubbles: !0, composed: !0 }));
16
+ const e = this.getSlotContent();
17
+ this.dispatchEvent(new CustomEvent("click", { detail: { value: this.value, label: this.label ?? e ?? "" }, bubbles: !0, composed: !0 }));
18
+ }
19
+ getSlotContent() {
20
+ var s;
21
+ const e = (s = this.shadowRoot) == null ? void 0 : s.querySelector("slot:not([name])");
22
+ if (!e) return "";
23
+ const t = e.assignedNodes();
24
+ return t.length === 0 ? "" : t.map((n) => {
25
+ var i;
26
+ return ((i = n.textContent) == null ? void 0 : i.trim()) || "";
27
+ }).join(" ").trim();
18
28
  }
19
29
  focus() {
20
30
  var e, t;
@@ -45,5 +55,5 @@ let s = class extends p() {
45
55
  `;
46
56
  }
47
57
  };
48
- l([c({ type: String, reflect: !0 })], s.prototype, "value", 2), l([c({ type: String, reflect: !0 })], s.prototype, "label", 2), l([c({ type: Boolean })], s.prototype, "selected", 2), s = l([d("schmancy-option")], s);
49
- //# sourceMappingURL=option-igpxXgTd.js.map
58
+ r([c({ type: String, reflect: !0 })], l.prototype, "value", 2), r([c({ type: String, reflect: !0 })], l.prototype, "label", 2), r([c({ type: Boolean })], l.prototype, "selected", 2), l = r([d("schmancy-option")], l);
59
+ //# sourceMappingURL=option-CxalubCR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"option-CxalubCR.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 }) label: string | undefined\n\t@property({ type: Boolean }) selected: boolean = false\n\n\tprivate handleOptionClick() {\n\t\t// Get the text content from the slot\n\t\tconst slotContent = this.getSlotContent()\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 ?? slotContent ?? '',\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\"></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","slotContent","getSlotContent","dispatchEvent","CustomEvent","detail","label","bubbles","composed","slot","shadowRoot","querySelector","assignedNodes","length","map","node","textContent","trim","join","focus","classes","html","classMap","e","stopPropagation","preventDefault","handleOptionClick","key","__decorateClass","property","type","String","reflect","prototype","Boolean","customElement"],"mappings":";;;;;;;;;;AAUA,IAAqBA,IAArB,cAA4CC;EAA5C,cAAAC;AAAAC,UAAAC,GAAAA,SAAAA,GAC4DC,KAAAC,QAAA,IAEVD,KAAAE,WAAAA;AAAAA,EAAA;AAAA,EAEzC,oBAED;AAAA,UAAAC,IAAcH,KAAKI,eAAAA;AAEpBJ,SAAAK,cACJ,IAAIC,YAAiD,SAAS,EAC7DC,QAAQ,EACPN,OAAOD,KAAKC,OACZO,OAAOR,KAAKQ,SAASL,KAAe,GAErCM,GAAAA,SAAAA,IACAC,UAAU,GAAA,CAAA,CAAA;AAAA,EAEZ;AAAA,EAIO;;AACP,UAAMC,KAAOX,IAAAA,KAAKY,eAALZ,gBAAAA,EAAiBa,cAAc;AACxC,QAAA,CAACF,EAAa,QAAA;AAEZ,UAAAG,IAAgBH,EAAKG,cAAAA;AACvB,WAAAA,EAAcC,WAAW,IAAU,KAGhCD,EACLE,IAAYC,CAAAA,MAAAA;;AAAAA,eAAAA,IAAAA,EAAKC,gBAALD,gBAAAA,EAAkBE,WAAU;AAAA,KACxCC,EAAAA,KAAK,GACLD,EAAAA,KAAAA;AAAAA,EAAK;AAAA,EAIR,QAAAE;;AACCrB,KAAAA,KAAAA,IAAAA,KAAKY,eAALZ,gBAAAA,EAAiBa,cAAc,UAA/Bb,QAAAA,EAAsCqB;AAAAA,EAAM;AAAA,EAGnC;AAET,UAAMC,IAAU,EACf,oKAAA,IAEA,mDAAmD,IACnD,qDAAqDtB,KAAKE,SAAAA;AAMpD,WAAAqB;AAAAA;AAAAA;AAAAA,aAGIvB,KAAKwB,SAASF,CAAAA,CAAAA;AAAAA;AAAAA,aAEbG,OAAAA;AACTA,QAAEC,gBAAAA,GACFD,EAAEE,eAAAA,GACF3B,KAAK4B,kBAAkB;AAAA,IAAA,CAAA;AAAA,eAEZH,OACG;AAAA,MAAVA,EAAEI,QAAQ,WAAWJ,EAAEI,QAAQ,QAClCJ,EAAEC,gBACFD,GAAAA,EAAEE,eACF3B,GAAAA,KAAK4B,kBAAkB;AAAA,IAAA,CAAA;AAAA;AAAA,kBAIX5B,KAAKwB,SAtBK,EACzB,mCAAmC,IACnC,sEAAsE,GAAA,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBvB;AAAA;AAtENM,EAAA,CAA1CC,EAAS,EAAEC,MAAMC,QAAQC,SAAS,GAAA,CAAA,CAAA,GADfvC,EACuBwC,WAAA,SAAA,CACAL,GAAAA,EAAA,CAA1CC,EAAS,EAAEC,MAAMC,QAAQC,SAAAA,GAFNvC,CAAAA,CAAAA,GAAAA,EAEuBwC,WAAA,SAAA,CAAA,GACdL,EAAA,CAA5BC,EAAS,EAAEC,MAAMI,QAHEzC,CAAAA,CAAAA,GAAAA,EAGSwC,WAAA,YAAA,CAAA,GAHTxC,IAArBmC,EAAA,CADCO,EAAc,iBACM1C,CAAAA,GAAAA,CAAAA;"}
@@ -0,0 +1,18 @@
1
+ "use strict";require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const u=require("./tailwind.mixin-CBhPue3q.cjs"),p=require("lit"),l=require("lit/decorators.js");var d=Object.defineProperty,h=Object.getOwnPropertyDescriptor,a=(t,e,s,r)=>{for(var i,o=r>1?void 0:r?h(e,s):e,c=t.length-1;c>=0;c--)(i=t[c])&&(o=(r?i(e,s,o):i(o))||o);return r&&o&&d(e,s,o),o};let n=class extends u.TailwindElement(){constructor(){super(...arguments),this.value="",this.selected=!1}handleOptionClick(){const t=this.getSlotContent();this.dispatchEvent(new CustomEvent("click",{detail:{value:this.value,label:this.label??t??""},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(r=>{var i;return((i=r.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
+ <li
3
+ tabindex="0"
4
+ class="${this.classMap(t)}"
5
+ role="option"
6
+ @click=${e=>{e.stopPropagation(),e.preventDefault(),this.handleOptionClick()}}
7
+ @keydown=${e=>{e.key!=="Enter"&&e.key!==" "||(e.stopPropagation(),e.preventDefault(),this.handleOptionClick())}}
8
+ >
9
+ <div class="${this.classMap({"duration-500 transition-opacity":!0,"hover:bg-surface-on opacity-[0.08] cursor-pointer absolute inset-0":!0})}"></div>
10
+ <sch-flex class="text-start" align="center" justify="between" flow="row">
11
+ <slot class="self-start"></slot>
12
+ <slot name="support">
13
+ <span></span>
14
+ </slot>
15
+ </sch-flex>
16
+ </li>
17
+ `}};a([l.property({type:String,reflect:!0})],n.prototype,"value",2),a([l.property({type:String,reflect:!0})],n.prototype,"label",2),a([l.property({type:Boolean})],n.prototype,"selected",2),n=a([l.customElement("schmancy-option")],n);
18
+ //# sourceMappingURL=option-DJLLszO6.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"option-DJLLszO6.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 }) label: string | undefined\n\t@property({ type: Boolean }) selected: boolean = false\n\n\tprivate handleOptionClick() {\n\t\t// Get the text content from the slot\n\t\tconst slotContent = this.getSlotContent()\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 ?? slotContent ?? '',\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\"></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","slotContent","getSlotContent","dispatchEvent","CustomEvent","detail","label","bubbles","composed","slot","shadowRoot","querySelector","assignedNodes","length","map","node","textContent","trim","join","focus","render","classes","html","classMap","e","stopPropagation","preventDefault","handleOptionClick","key","__decorateClass","property","type","String","reflect","prototype","Boolean","customElement"],"mappings":"4YAUA,IAAqBA,EAArB,cAA4CC,EAAAA,gBAAAA,CAAAA,CAA5C,aAAAC,CAAAA,MAAAA,GAAAC,WAC4DC,KAAAC,MAAA,GAEVD,KAAAE,SAAAA,EAAA,CAEzC,mBAED,CAAA,MAAAC,EAAcH,KAAKI,iBAEpBJ,KAAAK,cACJ,IAAIC,YAAiD,QAAS,CAC7DC,OAAQ,CACPN,MAAOD,KAAKC,MACZO,MAAOR,KAAKQ,OAASL,GAAe,IAErCM,QAAS,GACTC,SAAU,EAAA,CAAA,CAAA,CAEZ,CAIO,gBAAAN,OACP,MAAMO,GAAOX,EAAAA,KAAKY,aAALZ,YAAAA,EAAiBa,cAAc,oBACxC,GAACF,CAAAA,EAAa,MAAA,GAEZ,MAAAG,EAAgBH,EAAKG,gBACvB,OAAAA,EAAcC,SAAW,EAAU,GAGhCD,EACLE,IAAYC,GAAAA,OAAAA,QAAAA,EAAAA,EAAKC,cAALD,YAAAA,EAAkBE,SAAU,GAAA,EACxCC,KAAK,GACLD,EAAAA,KAAAA,CAAK,CAIR,OAAAE,UACCrB,GAAAA,EAAAA,KAAKY,aAALZ,YAAAA,EAAiBa,cAAc,QAA/Bb,MAAAA,EAAsCqB,OAAM,CAGnC,QAAAC,CAET,MAAMC,EAAU,CACf,mKACC,GACD,qDACA,oDAAqDvB,KAAKE,QAMpD,EAAA,OAAAsB,EAAAA;AAAAA;AAAAA;AAAAA,aAGIxB,KAAKyB,SAASF,CAAAA,CAAAA;AAAAA;AAAAA,aAEbG,GAAAA,CACTA,EAAEC,gBAAAA,EACFD,EAAEE,eAAAA,EACF5B,KAAK6B,kBAAkB,CAAA,CAAA;AAAA,eAEZH,GACG,CAAVA,EAAEI,MAAQ,SAAWJ,EAAEI,MAAQ,MAClCJ,EAAEC,gBACFD,EAAAA,EAAEE,eACF5B,EAAAA,KAAK6B,kBAAkB,EAAA,CAAA;AAAA;AAAA,kBAIX7B,KAAKyB,SAtBK,CACzB,kCAAmC,GACnC,qEAAsE,EAAA,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAoBvB,CAAA,EAtENM,EAAA,CAA1CC,EAAAA,SAAS,CAAEC,KAAMC,OAAQC,QAAS,EAAA,CAAA,CAAA,EADfvC,EACuBwC,UAAA,QAAA,GACAL,EAAA,CAA1CC,EAAAA,SAAS,CAAEC,KAAMC,OAAQC,QAAAA,EAFNvC,CAAAA,CAAAA,EAAAA,EAEuBwC,UAAA,QAAA,CAAA,EACdL,EAAA,CAA5BC,WAAS,CAAEC,KAAMI,WAHEzC,EAGSwC,UAAA,WAAA,CAHTxC,EAAAA,EAArBmC,EAAA,CADCO,EAAAA,cAAc,iBACM1C,CAAAA,EAAAA,CAAAA"}
package/dist/option.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";require("./option-x_W6-_iT.cjs");
1
+ "use strict";require("./option-DJLLszO6.cjs");
2
2
  //# sourceMappingURL=option.cjs.map
package/dist/option.js CHANGED
@@ -1,2 +1,2 @@
1
- import "./option-igpxXgTd.js";
1
+ import "./option-CxalubCR.js";
2
2
  //# sourceMappingURL=option.js.map
@@ -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-YEy_iITN.js";
4
+ import { T as v } from "./tailwind.mixin-DklgfhB4.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) {
@@ -48,7 +48,7 @@ let d = class extends v() {
48
48
  return l`
49
49
  <div
50
50
  aria-live="assertive"
51
- class="pointer-events-none z-100 fixed inset-0 flex items-end px-4 py-6 sm:items-start sm:p-6"
51
+ class="pointer-events-none z-[999999] fixed inset-0 flex items-end px-4 py-6 sm:items-start sm:p-6"
52
52
  >
53
53
  <div class="flex w-full flex-col items-center space-y-4 sm:items-end">
54
54
  <div
@@ -125,4 +125,4 @@ export {
125
125
  d as S,
126
126
  u as a
127
127
  };
128
- //# sourceMappingURL=outlet-DzAi4iKo.js.map
128
+ //# sourceMappingURL=outlet-6HZp4fo1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outlet-6HZp4fo1.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,7 +1,7 @@
1
- "use strict";const r=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const p=require("./tailwind.mixin-BM-bjRjT.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-CBhPue3q.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
- class="pointer-events-none z-100 fixed inset-0 flex items-end px-4 py-6 sm:items-start sm:p-6"
4
+ class="pointer-events-none z-[999999] fixed inset-0 flex items-end px-4 py-6 sm:items-start sm:p-6"
5
5
  >
6
6
  <div class="flex w-full flex-col items-center space-y-4 sm:items-end">
7
7
  <div
@@ -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-DqRiezsh.cjs.map
61
+ //# sourceMappingURL=outlet-DofHDlGH.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outlet-DofHDlGH.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"}