@mhmo91/schmancy 0.2.65 → 0.2.71

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 (259) hide show
  1. package/dist/{animated-text-C1UstA51.js → animated-text-Drgel89a.js} +3 -3
  2. package/dist/{animated-text-C1UstA51.js.map → animated-text-Drgel89a.js.map} +1 -1
  3. package/dist/{animated-text-k30n5ffs.cjs → animated-text-ZUEQQHIA.cjs} +2 -2
  4. package/dist/{animated-text-k30n5ffs.cjs.map → animated-text-ZUEQQHIA.cjs.map} +1 -1
  5. package/dist/animated-text.cjs +1 -1
  6. package/dist/animated-text.js +1 -1
  7. package/dist/area.cjs +1 -1
  8. package/dist/{area.component-TDK2-3sf.js → area.component-BWniFh72.js} +4 -4
  9. package/dist/{area.component-TDK2-3sf.js.map → area.component-BWniFh72.js.map} +1 -1
  10. package/dist/{area.component-CDyk4TQX.cjs → area.component-Cfvbb333.cjs} +2 -2
  11. package/dist/{area.component-CDyk4TQX.cjs.map → area.component-Cfvbb333.cjs.map} +1 -1
  12. package/dist/area.js +1 -1
  13. package/dist/{autocomplete-BdqEtlUZ.js → autocomplete-CaqTiWXc.js} +3 -3
  14. package/dist/autocomplete-CaqTiWXc.js.map +1 -0
  15. package/dist/{autocomplete-Cwn1Bwj7.cjs → autocomplete-pDDovAE3.cjs} +2 -2
  16. package/dist/autocomplete-pDDovAE3.cjs.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-g8T27Ih6.cjs → checkbox-9lpB6PGQ.cjs} +3 -3
  26. package/dist/{checkbox-kWG8GEGF.js.map → checkbox-9lpB6PGQ.cjs.map} +1 -1
  27. package/dist/{checkbox-kWG8GEGF.js → checkbox-BClcyH7K.js} +4 -4
  28. package/dist/checkbox-BClcyH7K.js.map +1 -0
  29. package/dist/checkbox.cjs +1 -1
  30. package/dist/checkbox.js +1 -1
  31. package/dist/{chips-8G-fC-BB.cjs → chips-C5BbSIAo.cjs} +2 -2
  32. package/dist/chips-C5BbSIAo.cjs.map +1 -0
  33. package/dist/{chips-CcVWASnN.js → chips-CECbQF-e.js} +3 -3
  34. package/dist/chips-CECbQF-e.js.map +1 -0
  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/consume-Bb7_UzYd.cjs +2 -0
  40. package/dist/consume-Bb7_UzYd.cjs.map +1 -0
  41. package/dist/{consume-DSKPc5vj.js → consume-fRVATvdE.js} +8 -8
  42. package/dist/consume-fRVATvdE.js.map +1 -0
  43. package/dist/content-drawer.cjs +1 -1
  44. package/dist/content-drawer.js +1 -1
  45. package/dist/context-CHWQnKZ-.cjs +2 -0
  46. package/dist/{context-BATZj31H.cjs.map → context-CHWQnKZ-.cjs.map} +1 -1
  47. package/dist/context-YZmnxxIi.js +6 -0
  48. package/dist/{context-5nmahssp.js.map → context-YZmnxxIi.js.map} +1 -1
  49. package/dist/{date-range-DmaG6n9K.js → date-range-BhYqCSZp.js} +3 -3
  50. package/dist/{date-range-DmaG6n9K.js.map → date-range-BhYqCSZp.js.map} +1 -1
  51. package/dist/{date-range-DT5Gc-8v.cjs → date-range-J-JT-8ba.cjs} +2 -2
  52. package/dist/{date-range-DT5Gc-8v.cjs.map → date-range-J-JT-8ba.cjs.map} +1 -1
  53. package/dist/date-range.cjs +1 -1
  54. package/dist/date-range.js +1 -1
  55. package/dist/{delay-Dcxd6izx.cjs → delay-CpKz9qoJ.cjs} +2 -2
  56. package/dist/delay-CpKz9qoJ.cjs.map +1 -0
  57. package/dist/{delay-3BI6NTLb.js → delay-tojIaYXv.js} +6 -6
  58. package/dist/delay-tojIaYXv.js.map +1 -0
  59. package/dist/delay.cjs +1 -1
  60. package/dist/delay.js +1 -1
  61. package/dist/{divider-2FKklOvJ.cjs → divider-CjeXqpY8.cjs} +2 -2
  62. package/dist/{divider-2FKklOvJ.cjs.map → divider-CjeXqpY8.cjs.map} +1 -1
  63. package/dist/{divider-BoSDlAmp.js → divider-Dp6Usk1d.js} +3 -3
  64. package/dist/{divider-BoSDlAmp.js.map → divider-Dp6Usk1d.js.map} +1 -1
  65. package/dist/divider.cjs +1 -1
  66. package/dist/divider.js +1 -1
  67. package/dist/{flex-Rc813PWc.js → flex-CLZyrhZ_.js} +2 -2
  68. package/dist/{flex-Rc813PWc.js.map → flex-CLZyrhZ_.js.map} +1 -1
  69. package/dist/{flex-wH1HLvFA.cjs → flex-lEIKuhdY.cjs} +2 -2
  70. package/dist/{flex-wH1HLvFA.cjs.map → flex-lEIKuhdY.cjs.map} +1 -1
  71. package/dist/{form-k_nFgiSi.js → form-BfV5JUNV.js} +2 -2
  72. package/dist/{form-k_nFgiSi.js.map → form-BfV5JUNV.js.map} +1 -1
  73. package/dist/{form-C4cWM0em.cjs → form-Bnzb6YbT.cjs} +2 -2
  74. package/dist/{form-C4cWM0em.cjs.map → form-Bnzb6YbT.cjs.map} +1 -1
  75. package/dist/form.cjs +1 -1
  76. package/dist/form.js +1 -1
  77. package/dist/{icon-ClskDmBq.js → icon-CS7L7dYv.js} +3 -3
  78. package/dist/{icon-ClskDmBq.js.map → icon-CS7L7dYv.js.map} +1 -1
  79. package/dist/{icon-CLgg4kma.cjs → icon-DXyemmCt.cjs} +2 -2
  80. package/dist/{icon-CLgg4kma.cjs.map → icon-DXyemmCt.cjs.map} +1 -1
  81. package/dist/{icon-button-BkNubwVr.cjs → icon-button-CWUpvLIc.cjs} +2 -2
  82. package/dist/{icon-button-BkNubwVr.cjs.map → icon-button-CWUpvLIc.cjs.map} +1 -1
  83. package/dist/{icon-button-DTmOv8Ny.js → icon-button-GJ_fOvRP.js} +3 -3
  84. package/dist/{icon-button-DTmOv8Ny.js.map → icon-button-GJ_fOvRP.js.map} +1 -1
  85. package/dist/icons.cjs +1 -1
  86. package/dist/icons.js +1 -1
  87. package/dist/index-CuY8m6ta.js.map +1 -1
  88. package/dist/index-DyJ0oDpR.cjs.map +1 -1
  89. package/dist/index.cjs +1 -1
  90. package/dist/index.js +33 -33
  91. package/dist/{input-DMV5Kg7d.js → input-BOity9fs.js} +4 -4
  92. package/dist/input-BOity9fs.js.map +1 -0
  93. package/dist/{input-BqSrvFYo.cjs → input-DP4Mi51t.cjs} +3 -3
  94. package/dist/input-DP4Mi51t.cjs.map +1 -0
  95. package/dist/input.cjs +1 -1
  96. package/dist/input.js +1 -1
  97. package/dist/layout.cjs +1 -1
  98. package/dist/layout.js +1 -1
  99. package/dist/{list-CZlRzIBI.js → list-CGCKKnfk.js} +5 -5
  100. package/dist/{list-CZlRzIBI.js.map → list-CGCKKnfk.js.map} +1 -1
  101. package/dist/{list-CkruFXk2.cjs → list-CwampsMO.cjs} +2 -2
  102. package/dist/{list-CkruFXk2.cjs.map → list-CwampsMO.cjs.map} +1 -1
  103. package/dist/list.cjs +1 -1
  104. package/dist/list.js +1 -1
  105. package/dist/{litElement.mixin-AiJtwDLp.cjs → litElement.mixin-C-c-2rdW.cjs} +2 -2
  106. package/dist/{litElement.mixin-AiJtwDLp.cjs.map → litElement.mixin-C-c-2rdW.cjs.map} +1 -1
  107. package/dist/{litElement.mixin-BSd9c8Xf.js → litElement.mixin-vAR9BIyD.js} +2 -2
  108. package/dist/{litElement.mixin-BSd9c8Xf.js.map → litElement.mixin-vAR9BIyD.js.map} +1 -1
  109. package/dist/{menu-D5N7PhDE.js → menu-BW3qO2A1.js} +13 -13
  110. package/dist/{menu-D5N7PhDE.js.map → menu-BW3qO2A1.js.map} +1 -1
  111. package/dist/{menu-TbqjiUg2.cjs → menu-Dem8Myie.cjs} +3 -3
  112. package/dist/{menu-TbqjiUg2.cjs.map → menu-Dem8Myie.cjs.map} +1 -1
  113. package/dist/menu.cjs +1 -1
  114. package/dist/menu.js +1 -1
  115. package/dist/nav-drawer.cjs +1 -1
  116. package/dist/nav-drawer.js +1 -1
  117. package/dist/notification.cjs +1 -1
  118. package/dist/notification.js +1 -1
  119. package/dist/{option-J1ewccBk.cjs → option-C-gBYdv8.cjs} +2 -2
  120. package/dist/{option-J1ewccBk.cjs.map → option-C-gBYdv8.cjs.map} +1 -1
  121. package/dist/{option-Bc31vPPI.js → option-DCA4GidB.js} +2 -2
  122. package/dist/{option-Bc31vPPI.js.map → option-DCA4GidB.js.map} +1 -1
  123. package/dist/option.cjs +1 -1
  124. package/dist/option.js +1 -1
  125. package/dist/{outlet-eGbH9Byt.cjs → outlet-6MP6k9wf.cjs} +3 -3
  126. package/dist/{outlet-eGbH9Byt.cjs.map → outlet-6MP6k9wf.cjs.map} +1 -1
  127. package/dist/{outlet-DWLojgRf.js → outlet-jd-bRdrF.js} +21 -21
  128. package/dist/{outlet-DWLojgRf.js.map → outlet-jd-bRdrF.js.map} +1 -1
  129. package/dist/{payment-card-form-V5STwP-8.cjs → payment-card-form-BZiEUnKn.cjs} +2 -2
  130. package/dist/payment-card-form-BZiEUnKn.cjs.map +1 -0
  131. package/dist/{payment-card-form-Ctv_rIi1.js → payment-card-form-CInoqXsW.js} +3 -3
  132. package/dist/payment-card-form-CInoqXsW.js.map +1 -0
  133. package/dist/provide-BLSgVvMJ.js +105 -0
  134. package/dist/provide-BLSgVvMJ.js.map +1 -0
  135. package/dist/provide-DSU87U5x.cjs +2 -0
  136. package/dist/provide-DSU87U5x.cjs.map +1 -0
  137. package/dist/{radio-group-DPqaJa00.cjs → radio-group-B4Of8FBA.cjs} +2 -2
  138. package/dist/{radio-group-DPqaJa00.cjs.map → radio-group-B4Of8FBA.cjs.map} +1 -1
  139. package/dist/{radio-group-Pq_gbHVb.js → radio-group-C98aizGb.js} +2 -2
  140. package/dist/{radio-group-Pq_gbHVb.js.map → radio-group-C98aizGb.js.map} +1 -1
  141. package/dist/radio-group.cjs +1 -1
  142. package/dist/radio-group.js +1 -1
  143. package/dist/redispatch-event-vOGO-T8W.js.map +1 -1
  144. package/dist/redispatch-event-yBlefmeU.cjs.map +1 -1
  145. package/dist/{select-CENAt67G.cjs → select-BTSVFloo.cjs} +2 -2
  146. package/dist/{select-CENAt67G.cjs.map → select-BTSVFloo.cjs.map} +1 -1
  147. package/dist/{select-CmNozz2O.js → select-Iem1gGwb.js} +3 -3
  148. package/dist/{select-CmNozz2O.js.map → select-Iem1gGwb.js.map} +1 -1
  149. package/dist/select.cjs +1 -1
  150. package/dist/select.js +1 -1
  151. package/dist/{sheet-CpxhwF3c.cjs → sheet-BgbV6g2F.cjs} +2 -2
  152. package/dist/{sheet-CpxhwF3c.cjs.map → sheet-BgbV6g2F.cjs.map} +1 -1
  153. package/dist/{sheet-DEnU17L8.js → sheet-WsaFx6-i.js} +6 -6
  154. package/dist/{sheet-DEnU17L8.js.map → sheet-WsaFx6-i.js.map} +1 -1
  155. package/dist/sheet.cjs +1 -1
  156. package/dist/sheet.js +1 -1
  157. package/dist/{slider-Bwzc2P35.js → slider-BOXmzToY.js} +3 -3
  158. package/dist/{slider-Bwzc2P35.js.map → slider-BOXmzToY.js.map} +1 -1
  159. package/dist/{slider-0Uk2z9y_.cjs → slider-CR2itGT0.cjs} +2 -2
  160. package/dist/{slider-0Uk2z9y_.cjs.map → slider-CR2itGT0.cjs.map} +1 -1
  161. package/dist/slider.cjs +1 -1
  162. package/dist/slider.js +1 -1
  163. package/dist/{spinner-N0DFwOAl.js → spinner-BKVFC3qz.js} +18 -18
  164. package/dist/{spinner-N0DFwOAl.js.map → spinner-BKVFC3qz.js.map} +1 -1
  165. package/dist/{spinner-Azsjno5r.cjs → spinner-Do8LNQoW.cjs} +6 -6
  166. package/dist/{spinner-Azsjno5r.cjs.map → spinner-Do8LNQoW.cjs.map} +1 -1
  167. package/dist/{surface-KPpEcbzd.cjs → surface-CfAH2c9U.cjs} +2 -2
  168. package/dist/{surface-KPpEcbzd.cjs.map → surface-CfAH2c9U.cjs.map} +1 -1
  169. package/dist/{surface-yaUvZzID.js → surface-Ci1xR_sr.js} +4 -4
  170. package/dist/{surface-yaUvZzID.js.map → surface-Ci1xR_sr.js.map} +1 -1
  171. package/dist/surface.cjs +1 -1
  172. package/dist/surface.js +1 -1
  173. package/dist/table-379iohVA.cjs +6 -0
  174. package/dist/{table-CBJ26MIg.cjs.map → table-379iohVA.cjs.map} +1 -1
  175. package/dist/table-iRPRoThv.js +21 -0
  176. package/dist/{table-Ci3U3uYV.js.map → table-iRPRoThv.js.map} +1 -1
  177. package/dist/table.cjs +1 -1
  178. package/dist/table.js +1 -1
  179. package/dist/{tabs-group-CXTZCyMb.cjs → tabs-group-BTUwCflk.cjs} +2 -2
  180. package/dist/{tabs-group-CXTZCyMb.cjs.map → tabs-group-BTUwCflk.cjs.map} +1 -1
  181. package/dist/{tabs-group-Ccy51d97.js → tabs-group-BYuZ4dIc.js} +4 -4
  182. package/dist/{tabs-group-Ccy51d97.js.map → tabs-group-BYuZ4dIc.js.map} +1 -1
  183. package/dist/tabs.cjs +1 -1
  184. package/dist/tabs.js +1 -1
  185. package/dist/tailwind.mixin-B7_ZpVpC.cjs +2 -0
  186. package/dist/{tailwind.mixin-04vClyRW.cjs.map → tailwind.mixin-B7_ZpVpC.cjs.map} +1 -1
  187. package/dist/tailwind.mixin-DxmWMnBQ.js +43 -0
  188. package/dist/{tailwind.mixin-B1TvmOuJ.js.map → tailwind.mixin-DxmWMnBQ.js.map} +1 -1
  189. package/dist/teleport.cjs +1 -1
  190. package/dist/{teleport.component-Dj5lNIaQ.cjs → teleport.component-14_ksDPx.cjs} +13 -13
  191. package/dist/{teleport.component-Dj5lNIaQ.cjs.map → teleport.component-14_ksDPx.cjs.map} +1 -1
  192. package/dist/{teleport.component-QBoSpyzC.js → teleport.component-D2o6a-Yh.js} +84 -84
  193. package/dist/{teleport.component-QBoSpyzC.js.map → teleport.component-D2o6a-Yh.js.map} +1 -1
  194. package/dist/teleport.js +1 -1
  195. package/dist/{textarea-B0Q1ND3D.js → textarea-C5i4amtn.js} +2 -2
  196. package/dist/{textarea-B0Q1ND3D.js.map → textarea-C5i4amtn.js.map} +1 -1
  197. package/dist/{textarea-Ct0tCiZE.cjs → textarea-DFEdjfVW.cjs} +2 -2
  198. package/dist/{textarea-Ct0tCiZE.cjs.map → textarea-DFEdjfVW.cjs.map} +1 -1
  199. package/dist/textarea.cjs +1 -1
  200. package/dist/textarea.js +1 -1
  201. package/dist/{theme-button-Xe0AKvu4.js → theme-button-BFWwX__i.js} +2 -2
  202. package/dist/{theme-button-Xe0AKvu4.js.map → theme-button-BFWwX__i.js.map} +1 -1
  203. package/dist/{theme-button-CZICh6mv.cjs → theme-button-DsGEWHcv.cjs} +2 -2
  204. package/dist/{theme-button-CZICh6mv.cjs.map → theme-button-DsGEWHcv.cjs.map} +1 -1
  205. package/dist/theme-button.cjs +1 -1
  206. package/dist/theme-button.js +1 -1
  207. package/dist/theme.cjs +1 -1
  208. package/dist/{theme.component-DM774Lyr.cjs → theme.component-BTfo42Lo.cjs} +2 -2
  209. package/dist/theme.component-BTfo42Lo.cjs.map +1 -0
  210. package/dist/{theme.component-dphOzgia.js → theme.component-GuFArxKG.js} +3 -3
  211. package/dist/theme.component-GuFArxKG.js.map +1 -0
  212. package/dist/theme.js +1 -1
  213. package/dist/{tree-DAEL96xl.cjs → tree-DJDSDjnb.cjs} +2 -2
  214. package/dist/{tree-DAEL96xl.cjs.map → tree-DJDSDjnb.cjs.map} +1 -1
  215. package/dist/{tree-Dham7fla.js → tree-XbaraF4_.js} +2 -2
  216. package/dist/{tree-Dham7fla.js.map → tree-XbaraF4_.js.map} +1 -1
  217. package/dist/tree.cjs +1 -1
  218. package/dist/tree.js +1 -1
  219. package/dist/{typewriter-BBRroqBP.cjs → typewriter-BF7pgYH2.cjs} +2 -2
  220. package/dist/typewriter-BF7pgYH2.cjs.map +1 -0
  221. package/dist/{typewriter-CJijgjI7.js → typewriter-DGO4rddH.js} +5 -5
  222. package/dist/typewriter-DGO4rddH.js.map +1 -0
  223. package/dist/typewriter.cjs +1 -1
  224. package/dist/typewriter.js +1 -1
  225. package/dist/{typography-B1vPffcD.js → typography-CLPItwOI.js} +2 -2
  226. package/dist/{typography-B1vPffcD.js.map → typography-CLPItwOI.js.map} +1 -1
  227. package/dist/{typography-_8EJsERF.cjs → typography-DVm5bpVi.cjs} +2 -2
  228. package/dist/{typography-_8EJsERF.cjs.map → typography-DVm5bpVi.cjs.map} +1 -1
  229. package/dist/typography.cjs +1 -1
  230. package/dist/typography.js +1 -1
  231. package/package.json +7 -2
  232. package/dist/autocomplete-BdqEtlUZ.js.map +0 -1
  233. package/dist/autocomplete-Cwn1Bwj7.cjs.map +0 -1
  234. package/dist/checkbox-g8T27Ih6.cjs.map +0 -1
  235. package/dist/chips-8G-fC-BB.cjs.map +0 -1
  236. package/dist/chips-CcVWASnN.js.map +0 -1
  237. package/dist/consume-DSKPc5vj.js.map +0 -1
  238. package/dist/consume-Di0U0iBU.cjs +0 -2
  239. package/dist/consume-Di0U0iBU.cjs.map +0 -1
  240. package/dist/context-5nmahssp.js +0 -6
  241. package/dist/context-BATZj31H.cjs +0 -2
  242. package/dist/delay-3BI6NTLb.js.map +0 -1
  243. package/dist/delay-Dcxd6izx.cjs.map +0 -1
  244. package/dist/input-BqSrvFYo.cjs.map +0 -1
  245. package/dist/input-DMV5Kg7d.js.map +0 -1
  246. package/dist/payment-card-form-Ctv_rIi1.js.map +0 -1
  247. package/dist/payment-card-form-V5STwP-8.cjs.map +0 -1
  248. package/dist/provide-_VUNOf1R.cjs +0 -2
  249. package/dist/provide-_VUNOf1R.cjs.map +0 -1
  250. package/dist/provide-kj6-udep.js +0 -105
  251. package/dist/provide-kj6-udep.js.map +0 -1
  252. package/dist/table-CBJ26MIg.cjs +0 -6
  253. package/dist/table-Ci3U3uYV.js +0 -21
  254. package/dist/tailwind.mixin-04vClyRW.cjs +0 -2
  255. package/dist/tailwind.mixin-B1TvmOuJ.js +0 -43
  256. package/dist/theme.component-DM774Lyr.cjs.map +0 -1
  257. package/dist/theme.component-dphOzgia.js.map +0 -1
  258. package/dist/typewriter-BBRroqBP.cjs.map +0 -1
  259. package/dist/typewriter-CJijgjI7.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"list-CkruFXk2.cjs","sources":["../src/list/list-item.ts","../src/list/context.ts","../src/list/list.ts"],"sourcesContent":["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 { createContext } from '@lit/context'\nimport { TSurfaceColor } from '@schmancy/types/surface'\nexport const SchmancyListTypeContext = createContext<TSurfaceColor>(undefined)\n","import { provide } from '@lit/context'\nimport { TailwindElement } from '@mixins/index'\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 * @slot - The default slot.\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 * The type of list.\n\t * @attr type\n\t * @type {SchmancyListType}\n\t * @default 'surface'\n\t */\n\t@provide({ context: SchmancyListTypeContext })\n\t@property()\n\tsurface: TSurfaceColor\n\n\trender() {\n\t\treturn html`\n\t\t\t<schmancy-surface 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":["SchmancyListItem","TailwindElement","super","arguments","this","selected","leading","forEach","img","classList","add","imgClasses","trailing","classes","rounded","stateLayerClasses","readonly","html","classMap","when","__decorateClass","consume","context","SchmancySurfaceTypeContext","subscribe","property","prototype","type","Boolean","queryAssignedElements","slot","flatten","customElement","SchmancyListTypeContext","createContext","List","css","render","surface","provide"],"mappings":"kiBAeaA,QAAAA,iBAAN,cAA+BC,EAAAA,gBAA/B,CAAA,CAAA,aAAAC,CAAAA,MAAAA,GAAAC,WAU2CC,KAAAC,SAAAA,EAAA,CAcjD,gBACQ,CAAA,MAAA,CAAC,WAAY,WAAY,iBAAgB,CAGjD,cACMD,UAAAA,EAAAA,KAAAE,UAAAF,MAAAA,EAASG,QAAeC,GAAAA,CAC5BA,EAAIC,UAAUC,OAAON,KAAKO,UAAAA,CAAU,IAEhCP,EAAAA,KAAAQ,WAAAR,MAAAA,EAAUG,QAAeC,GAAAA,CAC7BA,EAAIC,UAAUC,IAAAA,GAAON,KAAKO,UAAU,CAAA,EACpC,CAGF,SACC,MAAME,EAAU,CACf,eAAgBT,KAAKU,UAArB,GACA,eAAgBV,KAAKU,QACrB,0PACC,GACD,oDAAqDV,KAAKC,QAAAA,EAGrDU,EAAoB,CACzB,sCAAA,GACA,eAAgBX,KAAKU,UAArB,GACA,eAAgBV,KAAKU,QACrB,uEAAwEV,KAAKY,QAAAA,EAEvE,OAAAC,wBAAsBb,KAAKY,YAAgB,CAAA,UAAWZ,KAAKc,SAASL,CAAAA,CAAAA;AAAAA,KACxEM,QAAMf,KAAKY,SAAU,IAAMC,EAAoBA,oBAAAb,KAAKc,SAASH,CAAAA,CAAAA,UAAAA,CAAAA;AAAAA;AAAAA,QAA6B,CAAA,EAlD9FK,EAAA,CAFCC,EAAAA,EAAQ,CAAEC,QAASC,EAA4BA,2BAAAC,UAAAA,KAC/CC,EAASA,SAAAA,CAAAA,EAFEzB,yBAGZ0B,UAAA,UAAA,CAAA,EAGAN,EAAA,CADCK,WAAS,CAAEE,KAAMC,OAAAA,CAAAA,CAAAA,EALN5B,yBAMZ0B,UAAA,UAAA,CAAA,EAE6BN,EAAA,CAA5BK,WAAS,CAAEE,KAAMC,OARN5B,CAAAA,CAAAA,EAAAA,yBAQiB0B,UAAA,WAAA,CAEAN,EAAAA,EAAA,CAA5BK,WAAS,CAAEE,KAAMC,OAVN5B,CAAAA,CAAAA,EAAAA,yBAUiB0B,UAAA,WAAA,CAMrBN,EAAAA,EAAA,CAJPS,wBAAsB,CACtBC,KAAM,UACNC,QAAS,EAAA,CAAA,CAAA,EAdE/B,yBAgBJ0B,UAAA,UAAA,CAAA,EAMAN,EAAA,CAJPS,wBAAsB,CACtBC,KAAM,WACNC,UApBW/B,CAAAA,CAAAA,EAAAA,yBAsBJ0B,UAAA,WAAA,CAAA,EAtBI1B,QAANA,iBAAAoB,EAAA,CADNY,EAAAA,cAAc,oBAAA,CAAA,EACFhC,wBCbA,EAAA,MAAAiC,EAA0BC,4MCS1BC,QAAAA,KAAN,cAAmBlC,EAAAA,gBAAgBmC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAiBzC,QAAAC,CACQ,OAAApB,EAAAA;AAAAA,4BACmBb,KAAKkC,OAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAAO,CAJvClB,EAAAA,EAAA,CAFCmB,IAAQ,CAAEjB,QAASW,CAAAA,CAAAA,EACnBR,EAASA,SAdEU,CAAAA,EAAAA,aAeZT,UAAA,UAAA,GAfYS,QAANA,KAAAf,EAAA,CADNY,EAAAA,cAAc,eAAA,CAAA,EACFG"}
1
+ {"version":3,"file":"list-CwampsMO.cjs","sources":["../src/list/list-item.ts","../src/list/context.ts","../src/list/list.ts"],"sourcesContent":["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 { createContext } from '@lit/context'\nimport { TSurfaceColor } from '@schmancy/types/surface'\nexport const SchmancyListTypeContext = createContext<TSurfaceColor>(undefined)\n","import { provide } from '@lit/context'\nimport { TailwindElement } from '@mixins/index'\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 * @slot - The default slot.\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 * The type of list.\n\t * @attr type\n\t * @type {SchmancyListType}\n\t * @default 'surface'\n\t */\n\t@provide({ context: SchmancyListTypeContext })\n\t@property()\n\tsurface: TSurfaceColor\n\n\trender() {\n\t\treturn html`\n\t\t\t<schmancy-surface 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":["SchmancyListItem","TailwindElement","super","arguments","this","selected","leading","forEach","img","classList","add","imgClasses","trailing","classes","rounded","stateLayerClasses","readonly","html","classMap","when","__decorateClass","consume","context","SchmancySurfaceTypeContext","subscribe","property","prototype","type","Boolean","queryAssignedElements","slot","flatten","customElement","SchmancyListTypeContext","createContext","List","css","render","surface","provide"],"mappings":"kiBAeaA,QAAAA,iBAAN,cAA+BC,EAAAA,gBAA/B,CAAA,CAAA,aAAAC,CAAAA,MAAAA,GAAAC,WAU2CC,KAAAC,SAAAA,EAAA,CAcjD,gBACQ,CAAA,MAAA,CAAC,WAAY,WAAY,iBAAgB,CAGjD,cACMD,UAAAA,EAAAA,KAAAE,UAAAF,MAAAA,EAASG,QAAeC,GAAAA,CAC5BA,EAAIC,UAAUC,OAAON,KAAKO,UAAAA,CAAU,IAEhCP,EAAAA,KAAAQ,WAAAR,MAAAA,EAAUG,QAAeC,GAAAA,CAC7BA,EAAIC,UAAUC,IAAAA,GAAON,KAAKO,UAAU,CAAA,EACpC,CAGF,SACC,MAAME,EAAU,CACf,eAAgBT,KAAKU,UAArB,GACA,eAAgBV,KAAKU,QACrB,0PACC,GACD,oDAAqDV,KAAKC,QAAAA,EAGrDU,EAAoB,CACzB,sCAAA,GACA,eAAgBX,KAAKU,UAArB,GACA,eAAgBV,KAAKU,QACrB,uEAAwEV,KAAKY,QAAAA,EAEvE,OAAAC,wBAAsBb,KAAKY,YAAgB,CAAA,UAAWZ,KAAKc,SAASL,CAAAA,CAAAA;AAAAA,KACxEM,QAAMf,KAAKY,SAAU,IAAMC,EAAoBA,oBAAAb,KAAKc,SAASH,CAAAA,CAAAA,UAAAA,CAAAA;AAAAA;AAAAA,QAA6B,CAAA,EAlD9FK,EAAA,CAFCC,EAAAA,EAAQ,CAAEC,QAASC,EAA4BA,2BAAAC,UAAAA,KAC/CC,EAASA,SAAAA,CAAAA,EAFEzB,yBAGZ0B,UAAA,UAAA,CAAA,EAGAN,EAAA,CADCK,WAAS,CAAEE,KAAMC,OAAAA,CAAAA,CAAAA,EALN5B,yBAMZ0B,UAAA,UAAA,CAAA,EAE6BN,EAAA,CAA5BK,WAAS,CAAEE,KAAMC,OARN5B,CAAAA,CAAAA,EAAAA,yBAQiB0B,UAAA,WAAA,CAEAN,EAAAA,EAAA,CAA5BK,WAAS,CAAEE,KAAMC,OAVN5B,CAAAA,CAAAA,EAAAA,yBAUiB0B,UAAA,WAAA,CAMrBN,EAAAA,EAAA,CAJPS,wBAAsB,CACtBC,KAAM,UACNC,QAAS,EAAA,CAAA,CAAA,EAdE/B,yBAgBJ0B,UAAA,UAAA,CAAA,EAMAN,EAAA,CAJPS,wBAAsB,CACtBC,KAAM,WACNC,UApBW/B,CAAAA,CAAAA,EAAAA,yBAsBJ0B,UAAA,WAAA,CAAA,EAtBI1B,QAANA,iBAAAoB,EAAA,CADNY,EAAAA,cAAc,oBAAA,CAAA,EACFhC,wBCbA,EAAA,MAAAiC,EAA0BC,4MCS1BC,QAAAA,KAAN,cAAmBlC,EAAAA,gBAAgBmC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAiBzC,QAAAC,CACQ,OAAApB,EAAAA;AAAAA,4BACmBb,KAAKkC,OAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAAO,CAJvClB,EAAAA,EAAA,CAFCmB,IAAQ,CAAEjB,QAASW,CAAAA,CAAAA,EACnBR,EAASA,SAdEU,CAAAA,EAAAA,aAeZT,UAAA,UAAA,GAfYS,QAANA,KAAAf,EAAA,CADNY,EAAAA,cAAc,eAAA,CAAA,EACFG"}
package/dist/list.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./list-CkruFXk2.cjs");Object.defineProperty(exports,"List",{enumerable:!0,get:()=>e.List}),Object.defineProperty(exports,"SchmancyListItem",{enumerable:!0,get:()=>e.SchmancyListItem});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./list-CwampsMO.cjs");Object.defineProperty(exports,"List",{enumerable:!0,get:()=>e.List}),Object.defineProperty(exports,"SchmancyListItem",{enumerable:!0,get:()=>e.SchmancyListItem});
2
2
  //# sourceMappingURL=list.cjs.map
package/dist/list.js CHANGED
@@ -1,4 +1,4 @@
1
- import { L as a, S as m } from "./list-CZlRzIBI.js";
1
+ import { L as a, S as m } from "./list-CGCKKnfk.js";
2
2
  export {
3
3
  a as List,
4
4
  m as SchmancyListItem
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("./tailwind.mixin-04vClyRW.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-AiJtwDLp.cjs.map
1
+ "use strict";const e=require("./tailwind.mixin-B7_ZpVpC.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-C-c-2rdW.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"litElement.mixin-AiJtwDLp.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-C-c-2rdW.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,4 +1,4 @@
1
- import { B as t, T as r } from "./tailwind.mixin-B1TvmOuJ.js";
1
+ import { B as t, T as r } from "./tailwind.mixin-DxmWMnBQ.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-BSd9c8Xf.js.map
15
+ //# sourceMappingURL=litElement.mixin-vAR9BIyD.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"litElement.mixin-BSd9c8Xf.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-vAR9BIyD.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,12 +1,12 @@
1
1
  import { fromEvent as m, takeUntil as l, tap as p, switchMap as u, from as h, filter as g } from "rxjs";
2
2
  import "lit/directives/class-map.js";
3
3
  import "lit/directives/style-map.js";
4
- import { $ as v } from "./litElement.mixin-BSd9c8Xf.js";
5
- import { T as E } from "./tailwind.mixin-B1TvmOuJ.js";
4
+ import { $ as v } from "./litElement.mixin-vAR9BIyD.js";
5
+ import { T as E } from "./tailwind.mixin-DxmWMnBQ.js";
6
6
  import { css as d, html as f } from "lit";
7
- import { customElement as y, state as w, queryAssignedElements as x, query as P } from "lit/decorators.js";
8
- import { computePosition as k, offset as M, flip as O, shift as j, size as $ } from "@floating-ui/dom";
9
- var z = Object.defineProperty, C = Object.getOwnPropertyDescriptor;
7
+ import { customElement as y, state as w, queryAssignedElements as x, query as k } from "lit/decorators.js";
8
+ import { computePosition as P, offset as M, flip as O, shift as j, size as $ } from "@floating-ui/dom";
9
+ var z = Object.getOwnPropertyDescriptor;
10
10
  let b = class extends v(d`
11
11
  :host {
12
12
  display: block;
@@ -26,12 +26,12 @@ let b = class extends v(d`
26
26
  }
27
27
  };
28
28
  b = ((t, e, n, o) => {
29
- for (var i, s = o > 1 ? void 0 : o ? C(e, n) : e, a = t.length - 1; a >= 0; a--) (i = t[a]) && (s = (o ? i(e, n, s) : i(s)) || s);
30
- return o && s && z(e, n, s), s;
29
+ for (var a, s = o > 1 ? void 0 : o ? z(e, n) : e, i = t.length - 1; i >= 0; i--) (a = t[i]) && (s = a(s) || s);
30
+ return s;
31
31
  })([y("schmancy-menu-item")], b);
32
- var D = Object.defineProperty, q = Object.getOwnPropertyDescriptor, c = (t, e, n, o) => {
33
- for (var i, s = o > 1 ? void 0 : o ? q(e, n) : e, a = t.length - 1; a >= 0; a--) (i = t[a]) && (s = (o ? i(e, n, s) : i(s)) || s);
34
- return o && s && D(e, n, s), s;
32
+ var C = Object.defineProperty, D = Object.getOwnPropertyDescriptor, c = (t, e, n, o) => {
33
+ for (var a, s = o > 1 ? void 0 : o ? D(e, n) : e, i = t.length - 1; i >= 0; i--) (a = t[i]) && (s = (o ? a(e, n, s) : a(s)) || s);
34
+ return o && s && C(e, n, s), s;
35
35
  };
36
36
  let r = class extends E(d`
37
37
  :host {
@@ -60,7 +60,7 @@ let r = class extends E(d`
60
60
  }
61
61
  async positionMenu() {
62
62
  if (this.buttonElement.length && this.menuElement) {
63
- const { x: t, y: e } = await k(this.buttonElement[0], this.menuElement, { placement: "bottom-start", middleware: [M(5), O(), j({ padding: 5 }), $({ apply({ availableHeight: n, elements: o }) {
63
+ const { x: t, y: e } = await P(this.buttonElement[0], this.menuElement, { placement: "bottom-start", middleware: [M(5), O(), j({ padding: 5 }), $({ apply({ availableHeight: n, elements: o }) {
64
64
  o.floating.style.maxHeight = `${n}px`;
65
65
  } })] });
66
66
  Object.assign(this.menuElement.style, { left: `${t}px`, top: `${e}px`, position: "absolute" });
@@ -89,5 +89,5 @@ let r = class extends E(d`
89
89
  `;
90
90
  }
91
91
  };
92
- c([w()], r.prototype, "open", 2), c([x({ flatten: !0, slot: "button" })], r.prototype, "buttonElement", 2), c([P("#menu")], r.prototype, "menuElement", 2), r = c([y("schmancy-menu")], r);
93
- //# sourceMappingURL=menu-D5N7PhDE.js.map
92
+ c([w()], r.prototype, "open", 2), c([x({ flatten: !0, slot: "button" })], r.prototype, "buttonElement", 2), c([k("#menu")], r.prototype, "menuElement", 2), r = c([y("schmancy-menu")], r);
93
+ //# sourceMappingURL=menu-BW3qO2A1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu-D5N7PhDE.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 { computePosition, flip, offset, shift, size } from '@floating-ui/dom'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { filter, from, fromEvent, switchMap, 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@state() open = false\n\n\t@queryAssignedElements({ flatten: true, slot: 'button' })\n\tbuttonElement!: Array<HTMLElement>\n\n\t// The element to be positioned by Floating UI remains identified by the id \"menu\"\n\t@query('#menu') menuElement!: HTMLElement\n\n\topenMenu() {\n\t\tthis.open = true\n\t\tthis.positionMenu()\n\n\t\t// Approx. \"easeInQuad\" with a cubic-bezier:\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\treturn new Promise<void>(resolve => {\n\t\t\tanimation.onfinish = () => resolve()\n\t\t})\n\t}\n\n\tcloseMenu(e?: Event) {\n\t\tif (e && e instanceof Event) {\n\t\t\te.preventDefault()\n\t\t\te.stopPropagation()\n\t\t}\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\n\t\treturn new Promise<void>(resolve => {\n\t\t\tanimation.onfinish = () => {\n\t\t\t\tthis.open = false\n\t\t\t\tresolve()\n\t\t\t}\n\t\t})\n\t}\n\n\tasync positionMenu() {\n\t\tif (this.buttonElement.length && this.menuElement) {\n\t\t\tconst { x, y } = await computePosition(this.buttonElement[0], this.menuElement, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: [\n\t\t\t\t\toffset(5),\n\t\t\t\t\tflip(),\n\t\t\t\t\tshift({ padding: 5 }),\n\t\t\t\t\t// Use size() to set the maxHeight based on available viewport space\n\t\t\t\t\tsize({\n\t\t\t\t\t\tapply({ availableHeight, elements }) {\n\t\t\t\t\t\t\t// Limit the menu’s maximum height to the available height on the viewport\n\t\t\t\t\t\t\telements.floating.style.maxHeight = `${availableHeight}px`\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t})\n\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\tposition: 'absolute',\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected firstUpdated(): void {\n\t\t// When the button is clicked, open the menu\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\tswitchMap(() => from(this.openMenu())),\n\t\t\t)\n\t\t\t.subscribe()\n\n\t\t// When an item inside the menu is clicked, close the menu\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\tswitchMap(() => from(this.closeMenu())),\n\t\t\t)\n\t\t\t.subscribe()\n\n\t\t// When clicking anywhere outside of this component, close the menu\n\t\tfromEvent(document, 'click')\n\t\t\t.pipe(\n\t\t\t\t// Only proceed if the click target is not inside this component\n\t\t\t\tfilter((e: Event) => {\n\t\t\t\t\tconst path = e.composedPath()\n\t\t\t\t\treturn !path.includes(this)\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\ttap(() => {\n\t\t\t\t\tif (this.open) {\n\t\t\t\t\t\tthis.closeMenu()\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\t.hidden=${!this.open}\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","constructor","arguments","open","openMenu","positionMenu","animation","menuElement","animate","opacity","transform","duration","easing","Promise","resolve","onfinish","Event","preventDefault","buttonElement","length","x","y","computePosition","placement","middleware","offset","flip","shift","padding","size","availableHeight","elements","floating","style","maxHeight","Object","assign","left","top","position","firstUpdated","tap","switchMap","from","closeMenu","document","filter","composedPath","includes","__decorateClass","state","prototype","queryAssignedElements","flatten","slot","query"],"mappings":"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"}
1
+ {"version":3,"file":"menu-BW3qO2A1.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 { computePosition, flip, offset, shift, size } from '@floating-ui/dom'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { filter, from, fromEvent, switchMap, 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@state() open = false\n\n\t@queryAssignedElements({ flatten: true, slot: 'button' })\n\tbuttonElement!: Array<HTMLElement>\n\n\t// The element to be positioned by Floating UI remains identified by the id \"menu\"\n\t@query('#menu') menuElement!: HTMLElement\n\n\topenMenu() {\n\t\tthis.open = true\n\t\tthis.positionMenu()\n\n\t\t// Approx. \"easeInQuad\" with a cubic-bezier:\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\treturn new Promise<void>(resolve => {\n\t\t\tanimation.onfinish = () => resolve()\n\t\t})\n\t}\n\n\tcloseMenu(e?: Event) {\n\t\tif (e && e instanceof Event) {\n\t\t\te.preventDefault()\n\t\t\te.stopPropagation()\n\t\t}\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\n\t\treturn new Promise<void>(resolve => {\n\t\t\tanimation.onfinish = () => {\n\t\t\t\tthis.open = false\n\t\t\t\tresolve()\n\t\t\t}\n\t\t})\n\t}\n\n\tasync positionMenu() {\n\t\tif (this.buttonElement.length && this.menuElement) {\n\t\t\tconst { x, y } = await computePosition(this.buttonElement[0], this.menuElement, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: [\n\t\t\t\t\toffset(5),\n\t\t\t\t\tflip(),\n\t\t\t\t\tshift({ padding: 5 }),\n\t\t\t\t\t// Use size() to set the maxHeight based on available viewport space\n\t\t\t\t\tsize({\n\t\t\t\t\t\tapply({ availableHeight, elements }) {\n\t\t\t\t\t\t\t// Limit the menu’s maximum height to the available height on the viewport\n\t\t\t\t\t\t\telements.floating.style.maxHeight = `${availableHeight}px`\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t})\n\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\tposition: 'absolute',\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected firstUpdated(): void {\n\t\t// When the button is clicked, open the menu\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\tswitchMap(() => from(this.openMenu())),\n\t\t\t)\n\t\t\t.subscribe()\n\n\t\t// When an item inside the menu is clicked, close the menu\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\tswitchMap(() => from(this.closeMenu())),\n\t\t\t)\n\t\t\t.subscribe()\n\n\t\t// When clicking anywhere outside of this component, close the menu\n\t\tfromEvent(document, 'click')\n\t\t\t.pipe(\n\t\t\t\t// Only proceed if the click target is not inside this component\n\t\t\t\tfilter((e: Event) => {\n\t\t\t\t\tconst path = e.composedPath()\n\t\t\t\t\treturn !path.includes(this)\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\ttap(() => {\n\t\t\t\t\tif (this.open) {\n\t\t\t\t\t\tthis.closeMenu()\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\t.hidden=${!this.open}\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","constructor","arguments","open","openMenu","positionMenu","animation","menuElement","animate","opacity","transform","duration","easing","Promise","resolve","onfinish","Event","preventDefault","buttonElement","length","x","y","computePosition","placement","middleware","offset","flip","shift","padding","size","availableHeight","elements","floating","style","maxHeight","Object","assign","left","top","position","firstUpdated","tap","switchMap","from","closeMenu","document","filter","composedPath","includes","__decorateClass","state","prototype","queryAssignedElements","flatten","slot","query"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- "use strict";const t=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const b=require("./litElement.mixin-AiJtwDLp.cjs"),d=require("./tailwind.mixin-04vClyRW.cjs"),p=require("lit"),m=require("lit/decorators.js"),c=require("@floating-ui/dom");var f=Object.defineProperty,y=Object.getOwnPropertyDescriptor;let h=class extends b.$LitElement(p.css`
1
+ "use strict";const t=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const b=require("./litElement.mixin-C-c-2rdW.cjs"),d=require("./tailwind.mixin-B7_ZpVpC.cjs"),p=require("lit"),m=require("lit/decorators.js"),c=require("@floating-ui/dom");var f=Object.getOwnPropertyDescriptor;let h=class extends b.$LitElement(p.css`
2
2
  :host {
3
3
  display: block;
4
4
  }
@@ -6,7 +6,7 @@
6
6
  <schmancy-list-item>
7
7
  <slot></slot>
8
8
  </schmancy-list-item>
9
- `}};h=((e,n,s,o)=>{for(var r,i=o>1?void 0:o?y(n,s):n,a=e.length-1;a>=0;a--)(r=e[a])&&(i=(o?r(n,s,i):r(i))||i);return o&&i&&f(n,s,i),i})([m.customElement("schmancy-menu-item")],h);var g=Object.defineProperty,E=Object.getOwnPropertyDescriptor,u=(e,n,s,o)=>{for(var r,i=o>1?void 0:o?E(n,s):n,a=e.length-1;a>=0;a--)(r=e[a])&&(i=(o?r(n,s,i):r(i))||i);return o&&i&&g(n,s,i),i};let l=class extends d.TailwindElement(p.css`
9
+ `}};h=((e,n,s,o)=>{for(var a,i=o>1?void 0:o?f(n,s):n,r=e.length-1;r>=0;r--)(a=e[r])&&(i=a(i)||i);return i})([m.customElement("schmancy-menu-item")],h);var y=Object.defineProperty,g=Object.getOwnPropertyDescriptor,u=(e,n,s,o)=>{for(var a,i=o>1?void 0:o?g(n,s):n,r=e.length-1;r>=0;r--)(a=e[r])&&(i=(o?a(n,s,i):a(i))||i);return o&&i&&y(n,s,i),i};let l=class extends d.TailwindElement(p.css`
10
10
  :host {
11
11
  position: relative;
12
12
  display: inline-block;
@@ -26,4 +26,4 @@
26
26
  <slot></slot>
27
27
  </ul>
28
28
  `}};u([m.state()],l.prototype,"open",2),u([m.queryAssignedElements({flatten:!0,slot:"button"})],l.prototype,"buttonElement",2),u([m.query("#menu")],l.prototype,"menuElement",2),l=u([m.customElement("schmancy-menu")],l);
29
- //# sourceMappingURL=menu-TbqjiUg2.cjs.map
29
+ //# sourceMappingURL=menu-Dem8Myie.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu-TbqjiUg2.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 { computePosition, flip, offset, shift, size } from '@floating-ui/dom'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { filter, from, fromEvent, switchMap, 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@state() open = false\n\n\t@queryAssignedElements({ flatten: true, slot: 'button' })\n\tbuttonElement!: Array<HTMLElement>\n\n\t// The element to be positioned by Floating UI remains identified by the id \"menu\"\n\t@query('#menu') menuElement!: HTMLElement\n\n\topenMenu() {\n\t\tthis.open = true\n\t\tthis.positionMenu()\n\n\t\t// Approx. \"easeInQuad\" with a cubic-bezier:\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\treturn new Promise<void>(resolve => {\n\t\t\tanimation.onfinish = () => resolve()\n\t\t})\n\t}\n\n\tcloseMenu(e?: Event) {\n\t\tif (e && e instanceof Event) {\n\t\t\te.preventDefault()\n\t\t\te.stopPropagation()\n\t\t}\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\n\t\treturn new Promise<void>(resolve => {\n\t\t\tanimation.onfinish = () => {\n\t\t\t\tthis.open = false\n\t\t\t\tresolve()\n\t\t\t}\n\t\t})\n\t}\n\n\tasync positionMenu() {\n\t\tif (this.buttonElement.length && this.menuElement) {\n\t\t\tconst { x, y } = await computePosition(this.buttonElement[0], this.menuElement, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: [\n\t\t\t\t\toffset(5),\n\t\t\t\t\tflip(),\n\t\t\t\t\tshift({ padding: 5 }),\n\t\t\t\t\t// Use size() to set the maxHeight based on available viewport space\n\t\t\t\t\tsize({\n\t\t\t\t\t\tapply({ availableHeight, elements }) {\n\t\t\t\t\t\t\t// Limit the menu’s maximum height to the available height on the viewport\n\t\t\t\t\t\t\telements.floating.style.maxHeight = `${availableHeight}px`\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t})\n\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\tposition: 'absolute',\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected firstUpdated(): void {\n\t\t// When the button is clicked, open the menu\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\tswitchMap(() => from(this.openMenu())),\n\t\t\t)\n\t\t\t.subscribe()\n\n\t\t// When an item inside the menu is clicked, close the menu\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\tswitchMap(() => from(this.closeMenu())),\n\t\t\t)\n\t\t\t.subscribe()\n\n\t\t// When clicking anywhere outside of this component, close the menu\n\t\tfromEvent(document, 'click')\n\t\t\t.pipe(\n\t\t\t\t// Only proceed if the click target is not inside this component\n\t\t\t\tfilter((e: Event) => {\n\t\t\t\t\tconst path = e.composedPath()\n\t\t\t\t\treturn !path.includes(this)\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\ttap(() => {\n\t\t\t\t\tif (this.open) {\n\t\t\t\t\t\tthis.closeMenu()\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\t.hidden=${!this.open}\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","constructor","arguments","open","positionMenu","animation","menuElement","animate","opacity","transform","duration","easing","Promise","resolve","onfinish","Event","preventDefault","buttonElement","length","x","y","computePosition","placement","middleware","offset","flip","shift","padding","size","availableHeight","elements","floating","style","maxHeight","Object","assign","left","top","position","firstUpdated","tap","switchMap","from","openMenu","closeMenu","document","filter","composedPath","includes","render","__decorateClass","state","prototype","queryAssignedElements","flatten","slot","query"],"mappings":"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"}
1
+ {"version":3,"file":"menu-Dem8Myie.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 { computePosition, flip, offset, shift, size } from '@floating-ui/dom'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { filter, from, fromEvent, switchMap, 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@state() open = false\n\n\t@queryAssignedElements({ flatten: true, slot: 'button' })\n\tbuttonElement!: Array<HTMLElement>\n\n\t// The element to be positioned by Floating UI remains identified by the id \"menu\"\n\t@query('#menu') menuElement!: HTMLElement\n\n\topenMenu() {\n\t\tthis.open = true\n\t\tthis.positionMenu()\n\n\t\t// Approx. \"easeInQuad\" with a cubic-bezier:\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\treturn new Promise<void>(resolve => {\n\t\t\tanimation.onfinish = () => resolve()\n\t\t})\n\t}\n\n\tcloseMenu(e?: Event) {\n\t\tif (e && e instanceof Event) {\n\t\t\te.preventDefault()\n\t\t\te.stopPropagation()\n\t\t}\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\n\t\treturn new Promise<void>(resolve => {\n\t\t\tanimation.onfinish = () => {\n\t\t\t\tthis.open = false\n\t\t\t\tresolve()\n\t\t\t}\n\t\t})\n\t}\n\n\tasync positionMenu() {\n\t\tif (this.buttonElement.length && this.menuElement) {\n\t\t\tconst { x, y } = await computePosition(this.buttonElement[0], this.menuElement, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: [\n\t\t\t\t\toffset(5),\n\t\t\t\t\tflip(),\n\t\t\t\t\tshift({ padding: 5 }),\n\t\t\t\t\t// Use size() to set the maxHeight based on available viewport space\n\t\t\t\t\tsize({\n\t\t\t\t\t\tapply({ availableHeight, elements }) {\n\t\t\t\t\t\t\t// Limit the menu’s maximum height to the available height on the viewport\n\t\t\t\t\t\t\telements.floating.style.maxHeight = `${availableHeight}px`\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t})\n\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\tposition: 'absolute',\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected firstUpdated(): void {\n\t\t// When the button is clicked, open the menu\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\tswitchMap(() => from(this.openMenu())),\n\t\t\t)\n\t\t\t.subscribe()\n\n\t\t// When an item inside the menu is clicked, close the menu\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\tswitchMap(() => from(this.closeMenu())),\n\t\t\t)\n\t\t\t.subscribe()\n\n\t\t// When clicking anywhere outside of this component, close the menu\n\t\tfromEvent(document, 'click')\n\t\t\t.pipe(\n\t\t\t\t// Only proceed if the click target is not inside this component\n\t\t\t\tfilter((e: Event) => {\n\t\t\t\t\tconst path = e.composedPath()\n\t\t\t\t\treturn !path.includes(this)\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\ttap(() => {\n\t\t\t\t\tif (this.open) {\n\t\t\t\t\t\tthis.closeMenu()\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\t.hidden=${!this.open}\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","constructor","arguments","open","positionMenu","animation","menuElement","animate","opacity","transform","duration","easing","Promise","resolve","onfinish","Event","preventDefault","buttonElement","length","x","y","computePosition","placement","middleware","offset","flip","shift","padding","size","availableHeight","elements","floating","style","maxHeight","Object","assign","left","top","position","firstUpdated","tap","switchMap","from","openMenu","closeMenu","document","filter","composedPath","includes","render","__decorateClass","state","prototype","queryAssignedElements","flatten","slot","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,GAA1D,aAAAmB,CAAAlB,MAAAmB,GAAAA,SAAAA,EAMiBhB,KAAAiB,KAAAA,EAAA,CAQhB,UACCjB,CAAAA,KAAKiB,KAAO,GACZjB,KAAKkB,aAGC,EAAA,MAAAC,EAAYnB,KAAKoB,YAAYC,QAClC,CACC,CAAEC,QAAS,EAAGC,UAAW,aAAA,EACzB,CAAED,QAAS,EAAGC,UAAW,UAAA,CAAA,EAE1B,CACCC,SAAU,IACVC,OAAQ,uCAIH,CAAA,EAAA,OAAA,IAAIC,QAAyBC,GACzBR,CAAAA,EAAAS,SAAW,IAAMD,GAAQ,CACnC,CAAA,CAGF,UAAUtB,EACLA,CAAAA,GAAKA,aAAawB,QACrBxB,EAAEyB,eAAAA,EACFzB,EAAEC,gBAAAA,GAGG,MAAAa,EAAYnB,KAAKoB,YAAYC,QAClC,CACC,CAAEC,QAAS,EAAGC,UAAW,UAAA,EACzB,CAAED,QAAS,EAAGC,UAAW,aAE1B,CAAA,EAAA,CACCC,SAAU,GACVC,OAAQ,uCAIH,CAAA,EAAA,OAAA,IAAIC,QAAyBC,GACnCR,CAAAA,EAAUS,SAAW,IAAA,CACpB5B,KAAKiB,KAAAA,GACGU,EAAAA,CAAA,CACT,CACA,CAAA,CAGF,MAAMT,cAAAA,CACL,GAAIlB,KAAK+B,cAAcC,QAAUhC,KAAKoB,YAAa,CAC5C,KAAA,CAAAa,EAAEA,EAAGC,EAAAA,CAAYC,EAAAA,MAAAA,EAAgBA,gBAAAnC,KAAK+B,cAAc,CAAA,EAAI/B,KAAKoB,YAAa,CAC/EgB,UAAW,eACXC,WAAY,CACXC,EAAAA,OAAO,CACPC,EAAAA,OACAC,EAAAA,QAAM,CAAEC,QAAS,CAAA,CAAA,EAEjBC,OAAK,CACJ,MAAMC,CAAAA,gBAAEA,EAAiBC,SAAAA,CAAAA,EAAAA,CAExBA,EAASC,SAASC,MAAMC,UAAY,GAAGJ,CAAAA,IAAe,CAMnDK,CAAAA,CAAAA,CAAAA,CAAAA,EAAAA,OAAAC,OAAOjD,KAAKoB,YAAY0B,MAAO,CACrCI,KAAM,GAAGjB,CACTkB,KAAAA,IAAK,GAAGjB,CAAAA,KACRkB,SAAU,UAAA,CAAA,CACV,CACF,CAGS,cAAAC,CAECtD,EAAAA,UAAAC,KAAK+B,cAAe,OAAA,EAC5B9B,KACAqD,EAAAA,IAAIjD,GAAKA,EAAEC,gBAAAA,CAAAA,EACXJ,EAAAA,UAAUF,KAAKG,aAAAA,EACfoD,EAAAA,UAAU,IAAMC,EAAAA,KAAKxD,KAAKyD,SAAAA,CAAAA,CAAAA,CAAAA,EAE1BrD,UAGQL,EAAAA,YAAAC,KAAM,0BACdC,EAAAA,KACAqD,EAAAA,IAAIjD,GAAKA,EAAEC,mBACXJ,EAAAA,UAAUF,KAAKG,aAAAA,EACfoD,EAAAA,UAAU,IAAMC,EAAAA,KAAKxD,KAAK0D,UAE1BtD,CAAAA,CAAAA,CAAAA,EAAAA,UAAAA,EAGQL,YAAA4D,SAAU,OAClB1D,EAAAA,KAEA2D,EAAAA,OAAQvD,GACMA,CAAAA,EAAEwD,aACFC,EAAAA,SAAS9D,IAEvBE,CAAAA,EAAAA,EAAAA,UAAUF,KAAKG,aACfmD,EAAAA,EAAAA,IAAI,IACCtD,CAAAA,KAAKiB,MACRjB,KAAK0D,UAAU,CAAA,CAAA,CAAA,EAIjBtD,UAAU,CAAA,CAGb,QAAA2D,CACQ,OAAApD,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,eAMMX,KAAKiB,IAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAAI,CAAA,EA5Hd+C,EAAA,CAARC,EAAMA,MAAAA,CAAAA,EANapD,EAMXqD,UAAA,OAAA,CAGTF,EAAAA,EAAA,CADCG,EAAAA,sBAAsB,CAAEC,QAAAA,GAAeC,KAAM,QAAA,CAAA,CAAA,EAR1BxD,EASpBqD,UAAA,gBAAA,CAGgBF,EAAAA,EAAA,CAAfM,EAAAA,MAAM,OAZazD,CAAAA,EAAAA,EAYJqD,UAAA,cAAA,GAZIrD,EAArBmD,EAAA,CADCpD,EAAAA,cAAc,eACMC,CAAAA,EAAAA,CAAAA"}
package/dist/menu.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";require("./menu-TbqjiUg2.cjs");
1
+ "use strict";require("./menu-Dem8Myie.cjs");
2
2
  //# sourceMappingURL=menu.cjs.map
package/dist/menu.js CHANGED
@@ -1,2 +1,2 @@
1
- import "./menu-D5N7PhDE.js";
1
+ import "./menu-BW3qO2A1.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-Dj5lNIaQ.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-14_ksDPx.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-QBoSpyzC.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-D2o6a-Yh.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-eGbH9Byt.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-6MP6k9wf.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-DWLojgRf.js";
1
+ import { $ as i, S as o, a as c } from "./outlet-jd-bRdrF.js";
2
2
  export {
3
3
  i as $notify,
4
4
  o as SchmancyNotification,
@@ -1,4 +1,4 @@
1
- "use strict";require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const p=require("./tailwind.mixin-04vClyRW.cjs"),u=require("lit"),r=require("lit/decorators.js");var d=Object.defineProperty,y=Object.getOwnPropertyDescriptor,l=(t,e,n,i)=>{for(var a,o=i>1?void 0:i?y(e,n):e,c=t.length-1;c>=0;c--)(a=t[c])&&(o=(i?a(e,n,o):a(o))||o);return i&&o&&d(e,n,o),o};let s=class extends p.TailwindElement(){constructor(){super(...arguments),this.value="",this.selected=!1}handleOptionClick(){var t;this.dispatchEvent(new CustomEvent("click",{detail:{value:this.value,label:this.label??((t=this.textContent)==null?void 0:t.trim())??""},bubbles:!0,composed:!0}))}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 u.html`
1
+ "use strict";require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const p=require("./tailwind.mixin-B7_ZpVpC.cjs"),u=require("lit"),r=require("lit/decorators.js");var d=Object.defineProperty,y=Object.getOwnPropertyDescriptor,l=(t,e,n,i)=>{for(var a,o=i>1?void 0:i?y(e,n):e,c=t.length-1;c>=0;c--)(a=t[c])&&(o=(i?a(e,n,o):a(o))||o);return i&&o&&d(e,n,o),o};let s=class extends p.TailwindElement(){constructor(){super(...arguments),this.value="",this.selected=!1}handleOptionClick(){var t;this.dispatchEvent(new CustomEvent("click",{detail:{value:this.value,label:this.label??((t=this.textContent)==null?void 0:t.trim())??""},bubbles:!0,composed:!0}))}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 u.html`
2
2
  <li
3
3
  tabindex="0"
4
4
  class="${this.classMap(t)}"
@@ -15,4 +15,4 @@
15
15
  </sch-flex>
16
16
  </li>
17
17
  `}};l([r.property({type:String,reflect:!0})],s.prototype,"value",2),l([r.property({type:String,reflect:!0})],s.prototype,"label",2),l([r.property({type:Boolean})],s.prototype,"selected",2),s=l([r.customElement("schmancy-option")],s);
18
- //# sourceMappingURL=option-J1ewccBk.cjs.map
18
+ //# sourceMappingURL=option-C-gBYdv8.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"option-J1ewccBk.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\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 ?? this.textContent?.trim() ?? '',\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// 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\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","handleOptionClick","dispatchEvent","CustomEvent","detail","label","textContent","trim","bubbles","composed","focus","shadowRoot","querySelector","classes","html","classMap","e","stopPropagation","preventDefault","key","__decorateClass","property","type","String","reflect","prototype","Boolean","customElement"],"mappings":"4YAUA,IAAqBA,EAArB,cAA4CC,EAAAA,gBAAAA,CAAAA,CAA5C,aAAAC,CAAAC,MAAAC,GAAAA,SAAAA,EAC4DC,KAAAC,MAAA,GAEVD,KAAAE,SAAAA,EAAA,CAEzC,mBAAAC,OACFH,KAAAI,cACJ,IAAIC,YAAiD,QAAS,CAC7DC,OAAQ,CACPL,MAAOD,KAAKC,MACZM,MAAOP,KAAKO,SAASP,EAAAA,KAAKQ,cAALR,YAAAA,EAAkBS,SAAU,EAElDC,EAAAA,QAAAA,GACAC,SAAAA,EAEF,CAAA,CAAA,CAAA,CAID,OAAAC,UACCZ,GAAAA,EAAAA,KAAKa,aAALb,YAAAA,EAAiBc,cAAc,QAA/Bd,MAAAA,EAAsCY,OAAM,CAGnC,QAET,CAAA,MAAMG,EAAU,CACf,mKACC,GACD,kDAAmD,GACnD,oDAAqDf,KAAKE,QAOpD,EAAA,OAAAc,EAAAA;AAAAA;AAAAA;AAAAA,aAGIhB,KAAKiB,SAASF,CAAAA,CAAAA;AAAAA;AAAAA,aAEbG,GAAAA,CACTA,EAAEC,gBAAAA,EACFD,EAAEE,eAAAA,EACFpB,KAAKG,kBAAkB,CAAA,CAAA;AAAA,eAEZe,GACG,CAAVA,EAAEG,MAAQ,SAAWH,EAAEG,MAAQ,MAClCH,EAAEC,gBACFD,EAAAA,EAAEE,eACFpB,EAAAA,KAAKG,kBAAkB,EAAA,CAAA;AAAA;AAAA,kBAIXH,KAAKiB,SAvBK,CACzB,kCAAmC,GACnC,qEAAsE,EAAA,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAqBvB,CAAA,EArDNK,EAAA,CAA1CC,EAAAA,SAAS,CAAEC,KAAMC,OAAQC,QAAS,EAAA,CAAA,CAAA,EADf/B,EACuBgC,UAAA,QAAA,GACAL,EAAA,CAA1CC,EAAAA,SAAS,CAAEC,KAAMC,OAAQC,QAAAA,EAFN/B,CAAAA,CAAAA,EAAAA,EAEuBgC,UAAA,QAAA,CAAA,EACdL,EAAA,CAA5BC,WAAS,CAAEC,KAAMI,WAHEjC,EAGSgC,UAAA,WAAA,CAHThC,EAAAA,EAArB2B,EAAA,CADCO,EAAAA,cAAc,iBACMlC,CAAAA,EAAAA,CAAAA"}
1
+ {"version":3,"file":"option-C-gBYdv8.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\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 ?? this.textContent?.trim() ?? '',\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// 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\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","handleOptionClick","dispatchEvent","CustomEvent","detail","label","textContent","trim","bubbles","composed","focus","shadowRoot","querySelector","classes","html","classMap","e","stopPropagation","preventDefault","key","__decorateClass","property","type","String","reflect","prototype","Boolean","customElement"],"mappings":"4YAUA,IAAqBA,EAArB,cAA4CC,EAAAA,gBAAAA,CAAAA,CAA5C,aAAAC,CAAAC,MAAAC,GAAAA,SAAAA,EAC4DC,KAAAC,MAAA,GAEVD,KAAAE,SAAAA,EAAA,CAEzC,mBAAAC,OACFH,KAAAI,cACJ,IAAIC,YAAiD,QAAS,CAC7DC,OAAQ,CACPL,MAAOD,KAAKC,MACZM,MAAOP,KAAKO,SAASP,EAAAA,KAAKQ,cAALR,YAAAA,EAAkBS,SAAU,EAElDC,EAAAA,QAAAA,GACAC,SAAAA,EAEF,CAAA,CAAA,CAAA,CAID,OAAAC,UACCZ,GAAAA,EAAAA,KAAKa,aAALb,YAAAA,EAAiBc,cAAc,QAA/Bd,MAAAA,EAAsCY,OAAM,CAGnC,QAET,CAAA,MAAMG,EAAU,CACf,mKACC,GACD,kDAAmD,GACnD,oDAAqDf,KAAKE,QAOpD,EAAA,OAAAc,EAAAA;AAAAA;AAAAA;AAAAA,aAGIhB,KAAKiB,SAASF,CAAAA,CAAAA;AAAAA;AAAAA,aAEbG,GAAAA,CACTA,EAAEC,gBAAAA,EACFD,EAAEE,eAAAA,EACFpB,KAAKG,kBAAkB,CAAA,CAAA;AAAA,eAEZe,GACG,CAAVA,EAAEG,MAAQ,SAAWH,EAAEG,MAAQ,MAClCH,EAAEC,gBACFD,EAAAA,EAAEE,eACFpB,EAAAA,KAAKG,kBAAkB,EAAA,CAAA;AAAA;AAAA,kBAIXH,KAAKiB,SAvBK,CACzB,kCAAmC,GACnC,qEAAsE,EAAA,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAqBvB,CAAA,EArDNK,EAAA,CAA1CC,EAAAA,SAAS,CAAEC,KAAMC,OAAQC,QAAS,EAAA,CAAA,CAAA,EADf/B,EACuBgC,UAAA,QAAA,GACAL,EAAA,CAA1CC,EAAAA,SAAS,CAAEC,KAAMC,OAAQC,QAAAA,EAFN/B,CAAAA,CAAAA,EAAAA,EAEuBgC,UAAA,QAAA,CAAA,EACdL,EAAA,CAA5BC,WAAS,CAAEC,KAAMI,WAHEjC,EAGSgC,UAAA,WAAA,CAHThC,EAAAA,EAArB2B,EAAA,CADCO,EAAAA,cAAc,iBACMlC,CAAAA,EAAAA,CAAAA"}
@@ -1,7 +1,7 @@
1
1
  import "rxjs";
2
2
  import "lit/directives/class-map.js";
3
3
  import "lit/directives/style-map.js";
4
- import { T as p } from "./tailwind.mixin-B1TvmOuJ.js";
4
+ import { T as p } from "./tailwind.mixin-DxmWMnBQ.js";
5
5
  import { html as u } from "lit";
6
6
  import { property as c, customElement as d } from "lit/decorators.js";
7
7
  var f = Object.defineProperty, h = Object.getOwnPropertyDescriptor, l = (e, t, r, i) => {
@@ -46,4 +46,4 @@ let s = class extends p() {
46
46
  }
47
47
  };
48
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-Bc31vPPI.js.map
49
+ //# sourceMappingURL=option-DCA4GidB.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"option-Bc31vPPI.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\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 ?? this.textContent?.trim() ?? '',\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// 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\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","handleOptionClick","dispatchEvent","CustomEvent","detail","label","textContent","trim","bubbles","composed","shadowRoot","querySelector","focus","classes","html","classMap","e","stopPropagation","preventDefault","key","__decorateClass","property","type","String","reflect","prototype","Boolean","customElement"],"mappings":";;;;;;;;;;AAUA,IAAqBA,IAArB,cAA4CC,EAA5C,EAAA;AAAA,EAAA,cAAAC;AAAAA,UAAAA,GAAAC,SAC4DC,GAAAA,KAAAC,QAAA,IAEVD,KAAAE,WAAAA;AAAAA,EAAA;AAAA,EAEzC,oBAAAC;;AACFH,SAAAI,cACJ,IAAIC,YAAiD,SAAS,EAC7DC,QAAQ,EACPL,OAAOD,KAAKC,OACZM,OAAOP,KAAKO,WAASP,IAAAA,KAAKQ,gBAALR,gBAAAA,EAAkBS,WAAU,GAAA,GAElDC,SAAS,IACTC,UAAU,GAAA,CAAA,CAAA;AAAA,EAEZ;AAAA,EAID,QACCX;;AAAAA,KAAAA,KAAAA,IAAAA,KAAKY,eAALZ,gBAAAA,EAAiBa,cAAc,UAA/Bb,QAAAA,EAAsCc;AAAAA,EAAM;AAAA,EAGnC,SAET;AAAA,UAAMC,IAAU,EACf,oKACC,IACD,mDAAmD,IACnD,qDAAqDf,KAAKE,SAOpD;AAAA,WAAAc;AAAAA;AAAAA;AAAAA,aAGIhB,KAAKiB,SAASF,CAAAA,CAAAA;AAAAA;AAAAA,aAEbG,OAAAA;AACTA,QAAEC,gBAAAA,GACFD,EAAEE,eAAAA,GACFpB,KAAKG,kBAAkB;AAAA,IAAA,CAAA;AAAA,eAEZe,OACG;AAAA,MAAVA,EAAEG,QAAQ,WAAWH,EAAEG,QAAQ,QAClCH,EAAEC,gBACFD,GAAAA,EAAEE,eACFpB,GAAAA,KAAKG,kBAAkB;AAAA,IAAA,CAAA;AAAA;AAAA,kBAIXH,KAAKiB,SAvBK,EACzB,mCAAmC,IACnC,sEAAsE,GAAA,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqBvB;AAAA;AArDNK,EAAA,CAA1CC,EAAS,EAAEC,MAAMC,QAAQC,SAAS,GAAA,CAAA,CAAA,GADf9B,EACuB+B,WAAA,SAAA,CACAL,GAAAA,EAAA,CAA1CC,EAAS,EAAEC,MAAMC,QAAQC,SAAAA,GAFN9B,CAAAA,CAAAA,GAAAA,EAEuB+B,WAAA,SAAA,CAAA,GACdL,EAAA,CAA5BC,EAAS,EAAEC,MAAMI,QAHEhC,CAAAA,CAAAA,GAAAA,EAGS+B,WAAA,YAAA,CAAA,GAHT/B,IAArB0B,EAAA,CADCO,EAAc,iBACMjC,CAAAA,GAAAA,CAAAA;"}
1
+ {"version":3,"file":"option-DCA4GidB.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\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 ?? this.textContent?.trim() ?? '',\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// 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\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","handleOptionClick","dispatchEvent","CustomEvent","detail","label","textContent","trim","bubbles","composed","shadowRoot","querySelector","focus","classes","html","classMap","e","stopPropagation","preventDefault","key","__decorateClass","property","type","String","reflect","prototype","Boolean","customElement"],"mappings":";;;;;;;;;;AAUA,IAAqBA,IAArB,cAA4CC,EAA5C,EAAA;AAAA,EAAA,cAAAC;AAAAA,UAAAA,GAAAC,SAC4DC,GAAAA,KAAAC,QAAA,IAEVD,KAAAE,WAAAA;AAAAA,EAAA;AAAA,EAEzC,oBAAAC;;AACFH,SAAAI,cACJ,IAAIC,YAAiD,SAAS,EAC7DC,QAAQ,EACPL,OAAOD,KAAKC,OACZM,OAAOP,KAAKO,WAASP,IAAAA,KAAKQ,gBAALR,gBAAAA,EAAkBS,WAAU,GAAA,GAElDC,SAAS,IACTC,UAAU,GAAA,CAAA,CAAA;AAAA,EAEZ;AAAA,EAID,QACCX;;AAAAA,KAAAA,KAAAA,IAAAA,KAAKY,eAALZ,gBAAAA,EAAiBa,cAAc,UAA/Bb,QAAAA,EAAsCc;AAAAA,EAAM;AAAA,EAGnC,SAET;AAAA,UAAMC,IAAU,EACf,oKACC,IACD,mDAAmD,IACnD,qDAAqDf,KAAKE,SAOpD;AAAA,WAAAc;AAAAA;AAAAA;AAAAA,aAGIhB,KAAKiB,SAASF,CAAAA,CAAAA;AAAAA;AAAAA,aAEbG,OAAAA;AACTA,QAAEC,gBAAAA,GACFD,EAAEE,eAAAA,GACFpB,KAAKG,kBAAkB;AAAA,IAAA,CAAA;AAAA,eAEZe,OACG;AAAA,MAAVA,EAAEG,QAAQ,WAAWH,EAAEG,QAAQ,QAClCH,EAAEC,gBACFD,GAAAA,EAAEE,eACFpB,GAAAA,KAAKG,kBAAkB;AAAA,IAAA,CAAA;AAAA;AAAA,kBAIXH,KAAKiB,SAvBK,EACzB,mCAAmC,IACnC,sEAAsE,GAAA,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqBvB;AAAA;AArDNK,EAAA,CAA1CC,EAAS,EAAEC,MAAMC,QAAQC,SAAS,GAAA,CAAA,CAAA,GADf9B,EACuB+B,WAAA,SAAA,CACAL,GAAAA,EAAA,CAA1CC,EAAS,EAAEC,MAAMC,QAAQC,SAAAA,GAFN9B,CAAAA,CAAAA,GAAAA,EAEuB+B,WAAA,SAAA,CAAA,GACdL,EAAA,CAA5BC,EAAS,EAAEC,MAAMI,QAHEhC,CAAAA,CAAAA,GAAAA,EAGS+B,WAAA,YAAA,CAAA,GAHT/B,IAArB0B,EAAA,CADCO,EAAc,iBACMjC,CAAAA,GAAAA,CAAAA;"}
package/dist/option.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";require("./option-J1ewccBk.cjs");
1
+ "use strict";require("./option-C-gBYdv8.cjs");
2
2
  //# sourceMappingURL=option.cjs.map
package/dist/option.js CHANGED
@@ -1,2 +1,2 @@
1
- import "./option-Bc31vPPI.js";
1
+ import "./option-DCA4GidB.js";
2
2
  //# sourceMappingURL=option.js.map
@@ -1,4 +1,4 @@
1
- "use strict";const a=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const p=require("./tailwind.mixin-04vClyRW.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 a.Subject,f=new a.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(a.buffer(s.pipe(a.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),a.race(a.fromEvent(e,"close"),a.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 c,i=o>1?void 0:o?y(t,n):t,r=e.length-1;r>=0;r--)(c=e[r])&&(i=(o?c(t,n,i):c(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-B7_ZpVpC.cjs"),u=require("lit"),d=require("lit/decorators.js");function l(e,t){const n=document.createElement("schmancy-notification");return n.setAttribute("type",t),n.innerHTML=e,n}const s=new r.Subject,f=new r.Subject,v={success:(e,t)=>{const n=l(e,"success");return s.next({component:n,config:t}),n},error:(e,t)=>{const n=l(e,"error");return s.next({component:n,config:t}),n},warning:(e,t)=>{const n=l(e,"warning");return s.next({component:n,config:t}),n},info:(e,t)=>{const n=l(e,"info");return s.next({component:n,config:t}),n},dismiss:e=>{f.next(e)}};s.pipe(r.buffer(s.pipe(r.debounceTime(1e3)))).subscribe(e=>{if(e.length>1){const t=e[e.length-1];s.next({component:t.component,config:t.config})}}),s.subscribe(({component:e,config:t})=>{var n;(n=document.body)==null||n.appendChild(e),r.race(r.fromEvent(e,"close"),r.timer((t==null?void 0:t.duration)??3e3)).subscribe(()=>{e.remove()})}),f.subscribe(e=>{e.dispatchEvent(new CustomEvent("close"))});var h=Object.defineProperty,y=Object.getOwnPropertyDescriptor,m=(e,t,n,o)=>{for(var a,i=o>1?void 0:o?y(t,n):t,c=e.length-1;c>=0;c--)(a=e[c])&&(i=(o?a(t,n,i):a(i))||i);return o&&i&&h(t,n,i),i};exports.SchmancyNotification=class extends p.TailwindElement(){constructor(){super(...arguments),this.type="success"}render(){return u.html`
2
2
  <div
3
3
  aria-live="assertive"
4
4
  class="pointer-events-none z-100 fixed inset-0 flex items-end px-4 py-6 sm:items-start sm:p-6"
@@ -57,5 +57,5 @@
57
57
  </div>
58
58
  </div>
59
59
  </div>
60
- `}},m([d.property({type:String})],exports.SchmancyNotification.prototype,"type",2),exports.SchmancyNotification=m([d.customElement("schmancy-notification")],exports.SchmancyNotification);var g=Object.defineProperty,b=Object.getOwnPropertyDescriptor;exports.SchmancyNotificationOutlet=class extends p.TailwindElement(){render(){return u.html` <slot></slot> `}},exports.SchmancyNotificationOutlet=((e,t,n,o)=>{for(var c,i=o>1?void 0:o?b(t,n):t,r=e.length-1;r>=0;r--)(c=e[r])&&(i=(o?c(t,n,i):c(i))||i);return o&&i&&g(t,n,i),i})([d.customElement("schmancy-notification-outlet")],exports.SchmancyNotificationOutlet),exports.$notify=v;
61
- //# sourceMappingURL=outlet-eGbH9Byt.cjs.map
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-6MP6k9wf.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"outlet-eGbH9Byt.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-100 fixed inset-0 flex items-end px-4 py-6 sm:items-start sm:p-6\"\n\t\t\t>\n\t\t\t\t<div class=\"flex w-full flex-col items-center space-y-4 sm:items-end\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"pointer-events-auto w-full max-w-sm overflow-hidden rounded-lg bg-surface-container shadow-lg ring-1 ring-outlineVariant ring-opacity-5\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"p-2\">\n\t\t\t\t\t\t\t<div class=\"flex items-center\">\n\t\t\t\t\t\t\t\t<div class=\"shrink-0\">\n\t\t\t\t\t\t\t\t\t${this.type === 'success'\n\t\t\t\t\t\t\t\t\t\t? html` <svg\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"h-6 w-6 text-success-default\"\n\t\t\t\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"1.5\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\td=\"M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</svg>`\n\t\t\t\t\t\t\t\t\t\t: html` <svg\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"h-6 w-6 text-error-default\"\n\t\t\t\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"1.5\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\td=\"M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</svg>`}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"ml-3 w-0 flex-1 pt-0.5\">\n\t\t\t\t\t\t\t\t\t<p class=\" text-sm \">\n\t\t\t\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"ml-4 flex shrink-0\">\n\t\t\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\t\t\t\t$notify.dismiss(this)\n\t\t\t\t\t\t\t\t\t\t\tthis.dispatchEvent(new CustomEvent('close'))\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<span class=\"sr-only\">Close</span>\n\t\t\t\t\t\t\t\t\t\tclose\n\t\t\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-notification': SchmancyNotification\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-notification-outlet')\nexport class SchmancyNotificationOutlet extends TailwindElement() {\n\trender() {\n\t\treturn html` <slot></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-notification-outlet': SchmancyNotificationOutlet\n\t}\n}\n"],"names":["createNotificationComponent","message","type","notificationComponent","document","createElement","setAttribute","innerHTML","$notifications","Subject","$dismissNotification","$notify","success","config","component","next","error","warning","info","dismiss","pipe","buffer","debounceTime","subscribe","notifications","length","notification","body","appendChild","race","fromEvent","timer","duration","remove","dispatchEvent","CustomEvent","SchmancyNotification","TailwindElement","super","arguments","this","html","__decorateClass","property","String","prototype","customElement","SchmancyNotificationOutlet"],"mappings":"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"}
1
+ {"version":3,"file":"outlet-6MP6k9wf.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-100 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,44 +1,44 @@
1
- import { Subject as m, buffer as g, debounceTime as x, race as y, fromEvent as b, timer as w } from "rxjs";
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-B1TvmOuJ.js";
4
+ import { T as v } from "./tailwind.mixin-DxmWMnBQ.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) {
8
8
  const n = document.createElement("schmancy-notification");
9
9
  return n.setAttribute("type", t), n.innerHTML = e, n;
10
10
  }
11
- const r = new m(), h = new m(), j = { success: (e, t) => {
11
+ const o = new m(), h = new m(), E = { success: (e, t) => {
12
12
  const n = a(e, "success");
13
- return r.next({ component: n, config: t }), n;
13
+ return o.next({ component: n, config: t }), n;
14
14
  }, error: (e, t) => {
15
15
  const n = a(e, "error");
16
- return r.next({ component: n, config: t }), n;
16
+ return o.next({ component: n, config: t }), n;
17
17
  }, warning: (e, t) => {
18
18
  const n = a(e, "warning");
19
- return r.next({ component: n, config: t }), n;
19
+ return o.next({ component: n, config: t }), n;
20
20
  }, info: (e, t) => {
21
21
  const n = a(e, "info");
22
- return r.next({ component: n, config: t }), n;
22
+ return o.next({ component: n, config: t }), n;
23
23
  }, dismiss: (e) => {
24
24
  h.next(e);
25
25
  } };
26
- r.pipe(g(r.pipe(x(1e3)))).subscribe((e) => {
26
+ o.pipe(g(o.pipe(x(1e3)))).subscribe((e) => {
27
27
  if (e.length > 1) {
28
28
  const t = e[e.length - 1];
29
- r.next({ component: t.component, config: t.config });
29
+ o.next({ component: t.component, config: t.config });
30
30
  }
31
- }), r.subscribe(({ component: e, config: t }) => {
31
+ }), o.subscribe(({ component: e, config: t }) => {
32
32
  var n;
33
- (n = document.body) == null || n.appendChild(e), y(b(e, "close"), w((t == null ? void 0 : t.duration) ?? 3e3)).subscribe(() => {
33
+ (n = document.body) == null || n.appendChild(e), w(y(e, "close"), b((t == null ? void 0 : t.duration) ?? 3e3)).subscribe(() => {
34
34
  e.remove();
35
35
  });
36
36
  }), h.subscribe((e) => {
37
37
  e.dispatchEvent(new CustomEvent("close"));
38
38
  });
39
- var E = Object.defineProperty, C = Object.getOwnPropertyDescriptor, p = (e, t, n, o) => {
40
- for (var c, s = o > 1 ? void 0 : o ? C(t, n) : t, i = e.length - 1; i >= 0; i--) (c = e[i]) && (s = (o ? c(t, n, s) : c(s)) || s);
41
- return o && s && E(t, n, s), s;
39
+ var j = Object.defineProperty, C = Object.getOwnPropertyDescriptor, p = (e, t, n, r) => {
40
+ for (var c, s = r > 1 ? void 0 : r ? C(t, n) : t, i = e.length - 1; i >= 0; i--) (c = e[i]) && (s = (r ? c(t, n, s) : c(s)) || s);
41
+ return r && s && j(t, n, s), s;
42
42
  };
43
43
  let d = class extends v() {
44
44
  constructor() {
@@ -94,7 +94,7 @@ let d = class extends v() {
94
94
  <schmancy-icon-button
95
95
  type="button"
96
96
  @click=${() => {
97
- j.dismiss(this), this.dispatchEvent(new CustomEvent("close"));
97
+ E.dismiss(this), this.dispatchEvent(new CustomEvent("close"));
98
98
  }}
99
99
  >
100
100
  <span class="sr-only">Close</span>
@@ -110,19 +110,19 @@ let d = class extends v() {
110
110
  }
111
111
  };
112
112
  p([k({ type: String })], d.prototype, "type", 2), d = p([f("schmancy-notification")], d);
113
- var O = Object.defineProperty, M = Object.getOwnPropertyDescriptor;
113
+ var M = Object.getOwnPropertyDescriptor;
114
114
  let u = class extends v() {
115
115
  render() {
116
116
  return l` <slot></slot> `;
117
117
  }
118
118
  };
119
- u = ((e, t, n, o) => {
120
- for (var c, s = o > 1 ? void 0 : o ? M(t, n) : t, i = e.length - 1; i >= 0; i--) (c = e[i]) && (s = (o ? c(t, n, s) : c(s)) || s);
121
- return o && s && O(t, n, s), s;
119
+ u = ((e, t, n, r) => {
120
+ for (var c, s = r > 1 ? void 0 : r ? M(t, n) : t, i = e.length - 1; i >= 0; i--) (c = e[i]) && (s = c(s) || s);
121
+ return s;
122
122
  })([f("schmancy-notification-outlet")], u);
123
123
  export {
124
- j as $,
124
+ E as $,
125
125
  d as S,
126
126
  u as a
127
127
  };
128
- //# sourceMappingURL=outlet-DWLojgRf.js.map
128
+ //# sourceMappingURL=outlet-jd-bRdrF.js.map