@mhmo91/schmancy 0.2.114 → 0.2.116

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 (305) hide show
  1. package/dist/GT-Eesti/GT-Eesti-Pro-Display-Bold.woff +0 -0
  2. package/dist/GT-Eesti/GT-Eesti-Pro-Display-Light.woff +0 -0
  3. package/dist/GT-Eesti/GT-Eesti-Pro-Display-Medium.woff +0 -0
  4. package/dist/GT-Eesti/GT-Eesti-Pro-Display-Regular.woff +0 -0
  5. package/dist/GT-Eesti/GT-Eesti-Pro-Display-Thin.woff +0 -0
  6. package/dist/GT-Eesti/GT-Eesti-Pro-Display-UBold.woff +0 -0
  7. package/dist/GT-Eesti/GT-Eesti-Pro-Display-ULight.woff +0 -0
  8. package/dist/GT-Eesti/GT-Eesti-Pro-Text-Bold-Italic.woff +0 -0
  9. package/dist/GT-Eesti/GT-Eesti-Pro-Text-Bold.woff +0 -0
  10. package/dist/GT-Eesti/GT-Eesti-Pro-Text-Book-Italic.woff +0 -0
  11. package/dist/GT-Eesti/GT-Eesti-Pro-Text-Book.woff +0 -0
  12. package/dist/GT-Eesti/GT-Eesti-Pro-Text-Light.woff +0 -0
  13. package/dist/GT-Eesti/GT-Eesti-Pro-Text-Medium-Italic.woff +0 -0
  14. package/dist/GT-Eesti/GT-Eesti-Pro-Text-Medium.woff +0 -0
  15. package/dist/GT-Eesti/GT-Eesti-Pro-Text-Regular.woff +0 -0
  16. package/dist/GT-Eesti/GT-Eesti-Pro-Text-Thin-Italic.woff +0 -0
  17. package/dist/GT-Eesti/GT-Eesti-Pro-Text-Thin.woff +0 -0
  18. package/dist/GT-Eesti/GT-Eesti-Pro-Text-ULight-Italic.woff +0 -0
  19. package/dist/GT-Eesti/GT-Eesti-Pro-Text-ULight.woff +0 -0
  20. package/dist/GT-Eesti/GT-Eesti-Text-Regular.woff2 +0 -0
  21. package/dist/{animated-text-B576YswO.cjs → animated-text-DmtCT-2q.cjs} +2 -2
  22. package/dist/{animated-text-B576YswO.cjs.map → animated-text-DmtCT-2q.cjs.map} +1 -1
  23. package/dist/{animated-text-BuRbVM-X.js → animated-text-DrH4Miy7.js} +3 -3
  24. package/dist/{animated-text-BuRbVM-X.js.map → animated-text-DrH4Miy7.js.map} +1 -1
  25. package/dist/animated-text.cjs +1 -1
  26. package/dist/animated-text.js +1 -1
  27. package/dist/area.cjs +1 -1
  28. package/dist/{area.component-BFj0Dvfb.cjs → area.component-Bg1zJKiZ.cjs} +2 -2
  29. package/dist/{area.component-BFj0Dvfb.cjs.map → area.component-Bg1zJKiZ.cjs.map} +1 -1
  30. package/dist/{area.component-Bo5aB8BH.js → area.component-CmsssAq_.js} +10 -10
  31. package/dist/{area.component-Bo5aB8BH.js.map → area.component-CmsssAq_.js.map} +1 -1
  32. package/dist/area.js +1 -1
  33. package/dist/autocomplete-BFj0YUYW.cjs +57 -0
  34. package/dist/autocomplete-BFj0YUYW.cjs.map +1 -0
  35. package/dist/autocomplete-BsrWuTsP.js +295 -0
  36. package/dist/autocomplete-BsrWuTsP.js.map +1 -0
  37. package/dist/autocomplete.cjs +1 -1
  38. package/dist/autocomplete.js +1 -1
  39. package/dist/busy.cjs +1 -1
  40. package/dist/busy.js +1 -1
  41. package/dist/button.cjs +1 -1
  42. package/dist/button.js +1 -1
  43. package/dist/card.cjs +1 -1
  44. package/dist/card.js +1 -1
  45. package/dist/{checkbox-FM06WS9G.cjs → checkbox-Cb7nmI6P.cjs} +2 -2
  46. package/dist/{checkbox-FM06WS9G.cjs.map → checkbox-Cb7nmI6P.cjs.map} +1 -1
  47. package/dist/{checkbox-DQYRlKod.js → checkbox-DUP_qnel.js} +2 -2
  48. package/dist/{checkbox-DQYRlKod.js.map → checkbox-DUP_qnel.js.map} +1 -1
  49. package/dist/checkbox.cjs +1 -1
  50. package/dist/checkbox.js +1 -1
  51. package/dist/{chips-DTDFQDv-.js → chips-0hsW-Rxx.js} +14 -14
  52. package/dist/{chips-DTDFQDv-.js.map → chips-0hsW-Rxx.js.map} +1 -1
  53. package/dist/{chips-CJZbtp-O.cjs → chips-CiesiXpI.cjs} +2 -2
  54. package/dist/{chips-CJZbtp-O.cjs.map → chips-CiesiXpI.cjs.map} +1 -1
  55. package/dist/chips.cjs +1 -1
  56. package/dist/chips.js +1 -1
  57. package/dist/color-D8r6dpWm.cjs +2 -0
  58. package/dist/color-D8r6dpWm.cjs.map +1 -0
  59. package/dist/color-DrgmL7QT.js +19 -0
  60. package/dist/color-DrgmL7QT.js.map +1 -0
  61. package/dist/components.cjs +1 -1
  62. package/dist/components.js +1 -1
  63. package/dist/content-drawer.cjs +1 -1
  64. package/dist/content-drawer.js +1 -1
  65. package/dist/{date-range-CZiZR3OZ.js → date-range-DF_kjOLs.js} +3 -3
  66. package/dist/{date-range-CZiZR3OZ.js.map → date-range-DF_kjOLs.js.map} +1 -1
  67. package/dist/{date-range-FxAO_oqk.cjs → date-range-DvTXqD8e.cjs} +2 -2
  68. package/dist/{date-range-FxAO_oqk.cjs.map → date-range-DvTXqD8e.cjs.map} +1 -1
  69. package/dist/date-range.cjs +1 -1
  70. package/dist/date-range.js +1 -1
  71. package/dist/{delay-gZOjfjX_.js → delay-Cmf_vIaJ.js} +2 -2
  72. package/dist/{delay-gZOjfjX_.js.map → delay-Cmf_vIaJ.js.map} +1 -1
  73. package/dist/{delay-Dzei5ynQ.cjs → delay-DhV8MSPZ.cjs} +2 -2
  74. package/dist/{delay-Dzei5ynQ.cjs.map → delay-DhV8MSPZ.cjs.map} +1 -1
  75. package/dist/delay.cjs +1 -1
  76. package/dist/delay.js +1 -1
  77. package/dist/directives.cjs +1 -1
  78. package/dist/directives.js +5 -4
  79. package/dist/directives.js.map +1 -1
  80. package/dist/{divider-nNk0E_jZ.cjs → divider-4ev5A0v0.cjs} +2 -2
  81. package/dist/{divider-nNk0E_jZ.cjs.map → divider-4ev5A0v0.cjs.map} +1 -1
  82. package/dist/{divider-B-JF8gre.js → divider-B7GoicdG.js} +3 -3
  83. package/dist/{divider-B-JF8gre.js.map → divider-B7GoicdG.js.map} +1 -1
  84. package/dist/divider.cjs +1 -1
  85. package/dist/divider.js +1 -1
  86. package/dist/extra.cjs +1 -1
  87. package/dist/extra.js +1 -1
  88. package/dist/{flex-INEcbqBe.cjs → flex-DFHDHleC.cjs} +2 -2
  89. package/dist/{flex-INEcbqBe.cjs.map → flex-DFHDHleC.cjs.map} +1 -1
  90. package/dist/{flex-CieqpOUS.js → flex-t4F0-R-c.js} +2 -2
  91. package/dist/{flex-CieqpOUS.js.map → flex-t4F0-R-c.js.map} +1 -1
  92. package/dist/{form-CKMp4UzU.cjs → form-D_ShigQq.cjs} +2 -2
  93. package/dist/{form-CKMp4UzU.cjs.map → form-D_ShigQq.cjs.map} +1 -1
  94. package/dist/{form-lcamXnkd.js → form-dVHTERy3.js} +2 -2
  95. package/dist/{form-lcamXnkd.js.map → form-dVHTERy3.js.map} +1 -1
  96. package/dist/form.cjs +1 -1
  97. package/dist/form.js +1 -1
  98. package/dist/{icon-BZqH7sp7.cjs → icon-BNyFKp0p.cjs} +2 -2
  99. package/dist/{icon-BZqH7sp7.cjs.map → icon-BNyFKp0p.cjs.map} +1 -1
  100. package/dist/{icon-CJrmUGTm.js → icon-C3PI8GgN.js} +3 -3
  101. package/dist/{icon-CJrmUGTm.js.map → icon-C3PI8GgN.js.map} +1 -1
  102. package/dist/{icon-button-nMHz4MDw.cjs → icon-button-D4D5bXCm.cjs} +2 -2
  103. package/dist/{icon-button-nMHz4MDw.cjs.map → icon-button-D4D5bXCm.cjs.map} +1 -1
  104. package/dist/{icon-button-BNn0qRfC.js → icon-button-Dr_-8Ey5.js} +3 -3
  105. package/dist/{icon-button-BNn0qRfC.js.map → icon-button-Dr_-8Ey5.js.map} +1 -1
  106. package/dist/icons.cjs +1 -1
  107. package/dist/icons.js +1 -1
  108. package/dist/index.cjs +1 -1
  109. package/dist/index.js +77 -74
  110. package/dist/index.js.map +1 -1
  111. package/dist/input-BHgBONgn.cjs +98 -0
  112. package/dist/input-BHgBONgn.cjs.map +1 -0
  113. package/dist/input-BgmQpY14.js +205 -0
  114. package/dist/input-BgmQpY14.js.map +1 -0
  115. package/dist/input-Bk7EZhOl.cjs +51 -0
  116. package/dist/input-Bk7EZhOl.cjs.map +1 -0
  117. package/dist/{input-CZX1sxBe.js → input-_XU4ILwo.js} +25 -24
  118. package/dist/input-_XU4ILwo.js.map +1 -0
  119. package/dist/input.cjs +1 -1
  120. package/dist/input.js +1 -1
  121. package/dist/layout.cjs +1 -1
  122. package/dist/layout.js +1 -1
  123. package/dist/{list-D4y-Mkap.cjs → list-CCrSL1bZ.cjs} +2 -2
  124. package/dist/{list-D4y-Mkap.cjs.map → list-CCrSL1bZ.cjs.map} +1 -1
  125. package/dist/{list-CjrF4M5H.js → list-r6mo_zcT.js} +2 -2
  126. package/dist/{list-CjrF4M5H.js.map → list-r6mo_zcT.js.map} +1 -1
  127. package/dist/list.cjs +1 -1
  128. package/dist/list.js +1 -1
  129. package/dist/{litElement.mixin-djlKJ0lX.cjs → litElement.mixin-CAXeI5RY.cjs} +2 -2
  130. package/dist/{litElement.mixin-djlKJ0lX.cjs.map → litElement.mixin-CAXeI5RY.cjs.map} +1 -1
  131. package/dist/{litElement.mixin-NzkxESus.js → litElement.mixin-DfYInjJd.js} +2 -2
  132. package/dist/{litElement.mixin-NzkxESus.js.map → litElement.mixin-DfYInjJd.js.map} +1 -1
  133. package/dist/{menu-DAtFS31a.cjs → menu-B6x8xZng.cjs} +2 -2
  134. package/dist/{menu-DAtFS31a.cjs.map → menu-B6x8xZng.cjs.map} +1 -1
  135. package/dist/{menu-Cb5kUAvU.js → menu-yboJ8_V4.js} +3 -3
  136. package/dist/{menu-Cb5kUAvU.js.map → menu-yboJ8_V4.js.map} +1 -1
  137. package/dist/menu.cjs +1 -1
  138. package/dist/menu.js +1 -1
  139. package/dist/mixins/formField.mixin.ts +223 -0
  140. package/dist/nav-drawer.cjs +1 -1
  141. package/dist/nav-drawer.js +1 -1
  142. package/dist/notification.cjs +1 -1
  143. package/dist/notification.js +1 -1
  144. package/dist/{option-CxalubCR.js → option-CmZo8fXU.js} +29 -13
  145. package/dist/option-CmZo8fXU.js.map +1 -0
  146. package/dist/option-gnBrhD_1.cjs +18 -0
  147. package/dist/option-gnBrhD_1.cjs.map +1 -0
  148. package/dist/option.cjs +1 -1
  149. package/dist/option.js +1 -1
  150. package/dist/{outlet-6HZp4fo1.js → outlet-BgJ_WOwi.js} +2 -2
  151. package/dist/{outlet-6HZp4fo1.js.map → outlet-BgJ_WOwi.js.map} +1 -1
  152. package/dist/{outlet-DofHDlGH.cjs → outlet-CSduKjEi.cjs} +2 -2
  153. package/dist/{outlet-DofHDlGH.cjs.map → outlet-CSduKjEi.cjs.map} +1 -1
  154. package/dist/payment-card-form-CVW9uWum.cjs +74 -0
  155. package/dist/{payment-card-form-Bi3yNg4b.cjs.map → payment-card-form-CVW9uWum.cjs.map} +1 -1
  156. package/dist/{payment-card-form-C8FxRlh4.js → payment-card-form-NUTic2b3.js} +183 -134
  157. package/dist/{payment-card-form-C8FxRlh4.js.map → payment-card-form-NUTic2b3.js.map} +1 -1
  158. package/dist/{radio-group-BapuNl8y.js → radio-group-Bl5nhDCh.js} +2 -2
  159. package/dist/{radio-group-BapuNl8y.js.map → radio-group-Bl5nhDCh.js.map} +1 -1
  160. package/dist/{radio-group-A5QxSGOr.cjs → radio-group-CTCnzxmZ.cjs} +2 -2
  161. package/dist/{radio-group-A5QxSGOr.cjs.map → radio-group-CTCnzxmZ.cjs.map} +1 -1
  162. package/dist/radio-group.cjs +1 -1
  163. package/dist/radio-group.js +1 -1
  164. package/dist/ripple-3indJ14o.js +64 -0
  165. package/dist/ripple-3indJ14o.js.map +1 -0
  166. package/dist/ripple-B_wT0zgD.cjs +16 -0
  167. package/dist/ripple-B_wT0zgD.cjs.map +1 -0
  168. package/dist/rxjs-utils.js +4 -4
  169. package/dist/{select-8AjN6LbM.js → select-C2TJxenH.js} +66 -41
  170. package/dist/select-C2TJxenH.js.map +1 -0
  171. package/dist/select-D3yrgnVD.cjs +56 -0
  172. package/dist/select-D3yrgnVD.cjs.map +1 -0
  173. package/dist/select.cjs +1 -1
  174. package/dist/select.js +1 -1
  175. package/dist/sheet-CwzonocJ.cjs +62 -0
  176. package/dist/sheet-CwzonocJ.cjs.map +1 -0
  177. package/dist/sheet-DHyy-OIH.js +244 -0
  178. package/dist/sheet-DHyy-OIH.js.map +1 -0
  179. package/dist/sheet.cjs +1 -1
  180. package/dist/sheet.js +1 -1
  181. package/dist/{slider-BakU-Bdw.js → slider-2mhXBUIM.js} +3 -3
  182. package/dist/{slider-BakU-Bdw.js.map → slider-2mhXBUIM.js.map} +1 -1
  183. package/dist/{slider-B4OCBlQg.cjs → slider-DCJHcXt1.cjs} +2 -2
  184. package/dist/{slider-B4OCBlQg.cjs.map → slider-DCJHcXt1.cjs.map} +1 -1
  185. package/dist/slider.cjs +1 -1
  186. package/dist/slider.js +1 -1
  187. package/dist/{spinner-BDx3SZsl.js → spinner-B9JHqmoP.js} +12 -11
  188. package/dist/{spinner-BDx3SZsl.js.map → spinner-B9JHqmoP.js.map} +1 -1
  189. package/dist/{spinner-C3VJtLgk.cjs → spinner-D-vtqMqq.cjs} +4 -4
  190. package/dist/{spinner-C3VJtLgk.cjs.map → spinner-D-vtqMqq.cjs.map} +1 -1
  191. package/dist/{surface-kjOrb8TO.cjs → surface-DLHFSFU6.cjs} +2 -2
  192. package/dist/{surface-kjOrb8TO.cjs.map → surface-DLHFSFU6.cjs.map} +1 -1
  193. package/dist/{surface-YiaJJQ5m.js → surface-O_-YGi6T.js} +2 -2
  194. package/dist/{surface-YiaJJQ5m.js.map → surface-O_-YGi6T.js.map} +1 -1
  195. package/dist/surface.cjs +1 -1
  196. package/dist/surface.js +1 -1
  197. package/dist/{table-BguYeeBH.js → table-Bvb_ZG7b.js} +2 -2
  198. package/dist/{table-BguYeeBH.js.map → table-Bvb_ZG7b.js.map} +1 -1
  199. package/dist/{table-BZV2dBD5.cjs → table-CdkLZM2b.cjs} +2 -2
  200. package/dist/{table-BZV2dBD5.cjs.map → table-CdkLZM2b.cjs.map} +1 -1
  201. package/dist/table.cjs +1 -1
  202. package/dist/table.js +1 -1
  203. package/dist/{tabs-group-BZFBZ1_G.cjs → tabs-group-B-KvImY2.cjs} +2 -2
  204. package/dist/{tabs-group-BZFBZ1_G.cjs.map → tabs-group-B-KvImY2.cjs.map} +1 -1
  205. package/dist/{tabs-group-H3C6ZnQn.js → tabs-group-CVZ2SEq3.js} +2 -2
  206. package/dist/{tabs-group-H3C6ZnQn.js.map → tabs-group-CVZ2SEq3.js.map} +1 -1
  207. package/dist/tabs.cjs +1 -1
  208. package/dist/tabs.js +1 -1
  209. package/dist/tailwind.mixin-BvhzMkqK.js +43 -0
  210. package/dist/{tailwind.mixin-DklgfhB4.js.map → tailwind.mixin-BvhzMkqK.js.map} +1 -1
  211. package/dist/tailwind.mixin-csgxM8P_.cjs +2 -0
  212. package/dist/{tailwind.mixin-CBhPue3q.cjs.map → tailwind.mixin-csgxM8P_.cjs.map} +1 -1
  213. package/dist/teleport.cjs +1 -1
  214. package/dist/{teleport.component-DY1Q8ilK.js → teleport.component-BRm0yYbM.js} +43 -41
  215. package/dist/{teleport.component-DY1Q8ilK.js.map → teleport.component-BRm0yYbM.js.map} +1 -1
  216. package/dist/{teleport.component-C9Q1WHQe.cjs → teleport.component-D9xuyN_z.cjs} +19 -19
  217. package/dist/{teleport.component-C9Q1WHQe.cjs.map → teleport.component-D9xuyN_z.cjs.map} +1 -1
  218. package/dist/teleport.js +1 -1
  219. package/dist/textarea-BaTTXEtZ.cjs +42 -0
  220. package/dist/{textarea-BCWPb0Sn.cjs.map → textarea-BaTTXEtZ.cjs.map} +1 -1
  221. package/dist/{textarea-D7bTMerW.js → textarea-txN6-t64.js} +9 -8
  222. package/dist/{textarea-D7bTMerW.js.map → textarea-txN6-t64.js.map} +1 -1
  223. package/dist/textarea.cjs +1 -1
  224. package/dist/textarea.js +1 -1
  225. package/dist/{theme-button-CP2_aq__.js → theme-button-C2oB9OCM.js} +2 -2
  226. package/dist/{theme-button-CP2_aq__.js.map → theme-button-C2oB9OCM.js.map} +1 -1
  227. package/dist/{theme-button-DHuXg7vh.cjs → theme-button-qFLBZi0_.cjs} +2 -2
  228. package/dist/{theme-button-DHuXg7vh.cjs.map → theme-button-qFLBZi0_.cjs.map} +1 -1
  229. package/dist/theme-button.cjs +1 -1
  230. package/dist/theme-button.js +1 -1
  231. package/dist/theme.cjs +1 -1
  232. package/dist/{theme.component-Ly2C_fQ8.cjs → theme.component-C-055F7V.cjs} +2 -2
  233. package/dist/{theme.component-Ly2C_fQ8.cjs.map → theme.component-C-055F7V.cjs.map} +1 -1
  234. package/dist/{theme.component-BtBosXb1.js → theme.component-UVrnuMPb.js} +47 -47
  235. package/dist/{theme.component-BtBosXb1.js.map → theme.component-UVrnuMPb.js.map} +1 -1
  236. package/dist/theme.js +1 -1
  237. package/dist/timezone-CvS7opKc.cjs +34 -0
  238. package/dist/timezone-CvS7opKc.cjs.map +1 -0
  239. package/dist/{timezone-EDGZdfbO.js → timezone-DUYp8qD3.js} +93 -41
  240. package/dist/timezone-DUYp8qD3.js.map +1 -0
  241. package/dist/{tree-Y2B7yK7L.js → tree-Cxgw_mi9.js} +2 -2
  242. package/dist/{tree-Y2B7yK7L.js.map → tree-Cxgw_mi9.js.map} +1 -1
  243. package/dist/{tree-CG9B3uQP.cjs → tree-DYLlgF1F.cjs} +2 -2
  244. package/dist/{tree-CG9B3uQP.cjs.map → tree-DYLlgF1F.cjs.map} +1 -1
  245. package/dist/tree.cjs +1 -1
  246. package/dist/tree.js +1 -1
  247. package/dist/{typewriter-C1Ij3c--.js → typewriter-DUdvh6VO.js} +4 -4
  248. package/dist/{typewriter-C1Ij3c--.js.map → typewriter-DUdvh6VO.js.map} +1 -1
  249. package/dist/{typewriter-DtWpV0Xd.cjs → typewriter-DoGLma1z.cjs} +2 -2
  250. package/dist/{typewriter-DtWpV0Xd.cjs.map → typewriter-DoGLma1z.cjs.map} +1 -1
  251. package/dist/typewriter.cjs +1 -1
  252. package/dist/typewriter.js +1 -1
  253. package/dist/{typography-CSQByhJF.js → typography-BnQJ5TWy.js} +2 -2
  254. package/dist/{typography-CSQByhJF.js.map → typography-BnQJ5TWy.js.map} +1 -1
  255. package/dist/{typography-D-a-z23R.cjs → typography-DFREXmBg.cjs} +2 -2
  256. package/dist/{typography-D-a-z23R.cjs.map → typography-DFREXmBg.cjs.map} +1 -1
  257. package/dist/typography.cjs +1 -1
  258. package/dist/typography.js +1 -1
  259. package/dist/v2.cjs +2 -0
  260. package/dist/v2.cjs.map +1 -0
  261. package/dist/v2.js +5 -0
  262. package/dist/v2.js.map +1 -0
  263. package/package.json +3 -4
  264. package/types/mixins/formField.mixin.d.ts +48 -0
  265. package/types/src/autocomplete/autocomplete.d.ts +17 -7
  266. package/types/src/components/form-elements/payment-card-form.d.ts +57 -4
  267. package/types/src/extra/countries/countries.d.ts +13 -0
  268. package/types/src/extra/timezone/timezone.d.ts +13 -0
  269. package/types/src/index.d.ts +1 -0
  270. package/types/src/option/option.d.ts +3 -0
  271. package/types/src/select/select.d.ts +9 -1
  272. package/types/src/sheet/header.d.ts +0 -1
  273. package/types/src/sheet/sheet.d.ts +120 -1
  274. package/types/src/utils/search.d.ts +10 -0
  275. package/types/src/v2/form.d.ts +51 -0
  276. package/types/src/v2/index.d.ts +2 -0
  277. package/types/src/v2/input.d.ts +71 -0
  278. package/dist/autocomplete-BU0sC_l-.cjs +0 -49
  279. package/dist/autocomplete-BU0sC_l-.cjs.map +0 -1
  280. package/dist/autocomplete-u76bIDqg.js +0 -264
  281. package/dist/autocomplete-u76bIDqg.js.map +0 -1
  282. package/dist/input-CTC1BTOb.cjs +0 -51
  283. package/dist/input-CTC1BTOb.cjs.map +0 -1
  284. package/dist/input-CZX1sxBe.js.map +0 -1
  285. package/dist/option-CxalubCR.js.map +0 -1
  286. package/dist/option-DJLLszO6.cjs +0 -18
  287. package/dist/option-DJLLszO6.cjs.map +0 -1
  288. package/dist/payment-card-form-Bi3yNg4b.cjs +0 -48
  289. package/dist/ripple-BumgqsDT.js +0 -78
  290. package/dist/ripple-BumgqsDT.js.map +0 -1
  291. package/dist/ripple-C2BHbhcS.cjs +0 -16
  292. package/dist/ripple-C2BHbhcS.cjs.map +0 -1
  293. package/dist/select-8AjN6LbM.js.map +0 -1
  294. package/dist/select-BdU6KcPX.cjs +0 -54
  295. package/dist/select-BdU6KcPX.cjs.map +0 -1
  296. package/dist/sheet-CQFdHSwJ.cjs +0 -43
  297. package/dist/sheet-CQFdHSwJ.cjs.map +0 -1
  298. package/dist/sheet-xR13xD2A.js +0 -182
  299. package/dist/sheet-xR13xD2A.js.map +0 -1
  300. package/dist/tailwind.mixin-CBhPue3q.cjs +0 -2
  301. package/dist/tailwind.mixin-DklgfhB4.js +0 -43
  302. package/dist/textarea-BCWPb0Sn.cjs +0 -42
  303. package/dist/timezone-Cv2QSsl4.cjs +0 -24
  304. package/dist/timezone-Cv2QSsl4.cjs.map +0 -1
  305. package/dist/timezone-EDGZdfbO.js.map +0 -1
@@ -0,0 +1,223 @@
1
+ import { CSSResult, LitElement, PropertyValueMap } from 'lit'
2
+ import { property } from 'lit/decorators.js'
3
+ import { IBaseMixin } from '../mixins/baseElement'
4
+ import { Constructor } from '../mixins/constructor'
5
+ import { ITailwindElementMixin, TailwindElement } from '../mixins/tailwind.mixin'
6
+
7
+ /**
8
+ * Interface defining the properties and methods that the FormFieldMixin adds.
9
+ */
10
+ export interface IFormFieldMixin extends Element {
11
+ // Properties
12
+ name: string
13
+ value: string | string[] | boolean | number | undefined
14
+ label: string
15
+ required: boolean
16
+ disabled: boolean
17
+ readonly: boolean
18
+ error: boolean
19
+ validationMessage: string
20
+ hint?: string
21
+ id: string
22
+
23
+ // Form association
24
+ form: HTMLFormElement | null
25
+
26
+ // Methods
27
+ checkValidity(): boolean
28
+ reportValidity(): boolean
29
+ setCustomValidity(message: string): void
30
+
31
+ // Event emitter helper
32
+ emitChange(detail: any): void
33
+ }
34
+
35
+ /**
36
+ * A mixin that adds form field capabilities to a LitElement class.
37
+ * This provides common form field properties, validation, and form association.
38
+ *
39
+ * @example
40
+ * ```ts
41
+ * class MyInput extends FormFieldMixin(TailwindElement(css`...`)) {
42
+ * // Your component code here
43
+ * }
44
+ * ```
45
+ */
46
+ export function FormFieldMixin<T extends Constructor<LitElement>>(superClass: T) {
47
+ class FormFieldMixinClass extends superClass {
48
+ static formAssociated = true
49
+
50
+ // Element internals for form association
51
+ private internals: ElementInternals | undefined
52
+
53
+ // Properties common to form fields
54
+ /**
55
+ * The name of the form field (used for form submission)
56
+ */
57
+ @property({ type: String })
58
+ name: string = ''
59
+
60
+ /**
61
+ * The current value of the form field
62
+ */
63
+ @property({ reflect: true })
64
+ value: string | string[] | boolean | number | undefined = ''
65
+
66
+ /**
67
+ * Label text for the form field
68
+ */
69
+ @property({ type: String })
70
+ label: string = ''
71
+
72
+ /**
73
+ * Whether the field is required
74
+ */
75
+ @property({ type: Boolean, reflect: true })
76
+ required: boolean = false
77
+
78
+ /**
79
+ * Whether the field is disabled
80
+ */
81
+ @property({ type: Boolean, reflect: true })
82
+ disabled: boolean = false
83
+
84
+ /**
85
+ * Whether the field is read-only
86
+ */
87
+ @property({ type: Boolean, reflect: true })
88
+ readonly: boolean = false
89
+
90
+ /**
91
+ * Whether the field is in an error state
92
+ */
93
+ @property({ type: Boolean, reflect: true })
94
+ error: boolean = false
95
+
96
+ /**
97
+ * The validation message to display
98
+ */
99
+ @property({ type: String })
100
+ validationMessage: string = ''
101
+
102
+ /**
103
+ * Optional hint text to display below the field
104
+ */
105
+ @property({ type: String })
106
+ hint?: string
107
+
108
+ /**
109
+ * Unique identifier for the field
110
+ */
111
+ @property({ reflect: true })
112
+ override id: string = `schmancy-field-${Date.now()}-${Math.floor(Math.random() * 1000)}`
113
+
114
+ constructor(...args: any[]) {
115
+ super(...args)
116
+ try {
117
+ this.internals = this.attachInternals()
118
+ } catch {
119
+ this.internals = undefined
120
+ }
121
+ }
122
+
123
+ /**
124
+ * Gets the form this element is associated with
125
+ */
126
+ get form(): HTMLFormElement | null {
127
+ return this.internals?.form ?? null
128
+ }
129
+
130
+ /**
131
+ * Lifecycle method called when properties change
132
+ */
133
+ protected willUpdate(changedProps: PropertyValueMap<any>): void {
134
+ super.willUpdate(changedProps)
135
+
136
+ // Update form value when value changes
137
+ if (changedProps.has('value')) {
138
+ this.internals?.setFormValue(this.value as string | File | FormData | null)
139
+ }
140
+
141
+ // Update validation state when error or validation message changes
142
+ if (changedProps.has('error') || changedProps.has('validationMessage')) {
143
+ if (this.error && this.validationMessage) {
144
+ this.internals?.setValidity({ customError: true }, this.validationMessage)
145
+ } else {
146
+ this.internals?.setValidity({})
147
+ }
148
+ }
149
+ }
150
+
151
+ /**
152
+ * Checks if the field is valid without showing validation UI
153
+ */
154
+ checkValidity(): boolean {
155
+ if (this.disabled) return true
156
+
157
+ if (this.required && (this.value === '' || this.value === undefined || this.value === null)) {
158
+ this.error = true
159
+ this.validationMessage = 'This field is required'
160
+ return false
161
+ }
162
+
163
+ return true
164
+ }
165
+
166
+ /**
167
+ * Reports validity and shows validation UI if invalid
168
+ */
169
+ reportValidity(): boolean {
170
+ const isValid = this.checkValidity()
171
+ if (!isValid) {
172
+ this.internals?.reportValidity()
173
+ }
174
+ return isValid
175
+ }
176
+
177
+ /**
178
+ * Sets a custom validation message
179
+ */
180
+ setCustomValidity(message: string): void {
181
+ this.validationMessage = message
182
+ this.error = message !== ''
183
+ if (message) {
184
+ this.internals?.setValidity({ customError: true }, message)
185
+ } else {
186
+ this.internals?.setValidity({})
187
+ }
188
+ }
189
+
190
+ /**
191
+ * Helper method to emit change events
192
+ */
193
+ emitChange(detail: any): void {
194
+ this.dispatchEvent(
195
+ new CustomEvent('change', {
196
+ detail,
197
+ bubbles: true,
198
+ composed: true,
199
+ }),
200
+ )
201
+ }
202
+ }
203
+
204
+ return FormFieldMixinClass as Constructor<IFormFieldMixin> & T
205
+ }
206
+
207
+ /**
208
+ * A convenience function that composes FormFieldMixin with TailwindElement
209
+ * to create a base class for Schmancy form components.
210
+ *
211
+ * @example
212
+ * ```ts
213
+ * class MyInput extends SchmancyFormField(css`...`) {
214
+ * // Your component code here
215
+ * }
216
+ * ```
217
+ */
218
+ export function SchmancyFormField<T extends CSSResult>(componentStyle?: T) {
219
+ return FormFieldMixin(TailwindElement(componentStyle)) as Constructor<IFormFieldMixin> &
220
+ Constructor<ITailwindElementMixin> &
221
+ Constructor<LitElement> &
222
+ Constructor<IBaseMixin>
223
+ }
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./teleport.component-C9Q1WHQe.cjs");exports.$drawer=e.$drawer,Object.defineProperty(exports,"SchmancyDrawerAppbar",{enumerable:!0,get:()=>e.SchmancyDrawerAppbar}),exports.SchmancyDrawerNavbarMode=e.SchmancyDrawerNavbarMode,exports.SchmancyDrawerNavbarState=e.SchmancyDrawerNavbarState,Object.defineProperty(exports,"SchmancyNavigationDrawer",{enumerable:!0,get:()=>e.SchmancyNavigationDrawer}),Object.defineProperty(exports,"SchmancyNavigationDrawerContent",{enumerable:!0,get:()=>e.SchmancyNavigationDrawerContent}),Object.defineProperty(exports,"SchmancyNavigationDrawerSidebar",{enumerable:!0,get:()=>e.SchmancyNavigationDrawerSidebar}),exports.schmancyNavDrawer=e.schmancyNavDrawer;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./teleport.component-D9xuyN_z.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-DY1Q8ilK.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-BRm0yYbM.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-DofHDlGH.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-CSduKjEi.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-6HZp4fo1.js";
1
+ import { $ as i, S as o, a as c } from "./outlet-BgJ_WOwi.js";
2
2
  export {
3
3
  i as $notify,
4
4
  o as SchmancyNotification,
@@ -1,29 +1,45 @@
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-DklgfhB4.js";
4
+ import { T as p } from "./tailwind.mixin-BvhzMkqK.js";
5
5
  import { html as u } from "lit";
6
6
  import { property as c, customElement as d } from "lit/decorators.js";
7
- var f = Object.defineProperty, h = Object.getOwnPropertyDescriptor, r = (e, t, s, n) => {
8
- for (var i, o = n > 1 ? void 0 : n ? h(t, s) : t, a = e.length - 1; a >= 0; a--) (i = e[a]) && (o = (n ? i(t, s, o) : i(o)) || o);
9
- return n && o && f(t, s, o), o;
7
+ var h = Object.defineProperty, b = Object.getOwnPropertyDescriptor, a = (e, t, s, l) => {
8
+ for (var n, o = l > 1 ? void 0 : l ? b(t, s) : t, r = e.length - 1; r >= 0; r--) (n = e[r]) && (o = (l ? n(t, s, o) : n(o)) || o);
9
+ return l && o && h(t, s, o), o;
10
10
  };
11
- let l = class extends p() {
11
+ let i = class extends p() {
12
12
  constructor() {
13
13
  super(...arguments), this.value = "", this.selected = !1;
14
14
  }
15
+ updateLabelFromSlot() {
16
+ if (!this.label) {
17
+ const e = this.getSlotContent();
18
+ e && (this.label = e);
19
+ }
20
+ }
21
+ connectedCallback() {
22
+ var e;
23
+ (e = super.connectedCallback) == null || e.call(this), this.updateLabelFromSlot();
24
+ }
25
+ firstUpdated() {
26
+ var t;
27
+ const e = (t = this.shadowRoot) == null ? void 0 : t.querySelector("slot:not([name])");
28
+ e && e.addEventListener("slotchange", () => {
29
+ this.updateLabelFromSlot();
30
+ });
31
+ }
15
32
  handleOptionClick() {
16
- const e = this.getSlotContent();
17
- this.dispatchEvent(new CustomEvent("click", { detail: { value: this.value, label: this.label ?? e ?? "" }, bubbles: !0, composed: !0 }));
33
+ this.updateLabelFromSlot(), this.dispatchEvent(new CustomEvent("click", { detail: { value: this.value, label: this.label ?? "" }, bubbles: !0, composed: !0 }));
18
34
  }
19
35
  getSlotContent() {
20
36
  var s;
21
37
  const e = (s = this.shadowRoot) == null ? void 0 : s.querySelector("slot:not([name])");
22
38
  if (!e) return "";
23
39
  const t = e.assignedNodes();
24
- return t.length === 0 ? "" : t.map((n) => {
25
- var i;
26
- return ((i = n.textContent) == null ? void 0 : i.trim()) || "";
40
+ return t.length === 0 ? "" : t.map((l) => {
41
+ var n;
42
+ return ((n = l.textContent) == null ? void 0 : n.trim()) || "";
27
43
  }).join(" ").trim();
28
44
  }
29
45
  focus() {
@@ -46,7 +62,7 @@ let l = class extends p() {
46
62
  >
47
63
  <div class="${this.classMap({ "duration-500 transition-opacity": !0, "hover:bg-surface-on opacity-[0.08] cursor-pointer absolute inset-0": !0 })}"></div>
48
64
  <sch-flex class="text-start" align="center" justify="between" flow="row">
49
- <slot class="self-start"></slot>
65
+ <slot class="self-start" @slotchange=${() => this.updateLabelFromSlot()}></slot>
50
66
  <slot name="support">
51
67
  <span></span>
52
68
  </slot>
@@ -55,5 +71,5 @@ let l = class extends p() {
55
71
  `;
56
72
  }
57
73
  };
58
- r([c({ type: String, reflect: !0 })], l.prototype, "value", 2), r([c({ type: String, reflect: !0 })], l.prototype, "label", 2), r([c({ type: Boolean })], l.prototype, "selected", 2), l = r([d("schmancy-option")], l);
59
- //# sourceMappingURL=option-CxalubCR.js.map
74
+ a([c({ type: String, reflect: !0 })], i.prototype, "value", 2), a([c({ type: String, reflect: !0, attribute: "label" })], i.prototype, "label", 2), a([c({ type: Boolean })], i.prototype, "selected", 2), i = a([d("schmancy-option")], i);
75
+ //# sourceMappingURL=option-CmZo8fXU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"option-CmZo8fXU.js","sources":["../src/option/option.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nexport type SchmancyOptionChangeEvent = CustomEvent<{\n\tvalue: string\n\tlabel: string\n}>\n\n@customElement('schmancy-option')\nexport default class SchmancyOption extends TailwindElement() {\n\t@property({ type: String, reflect: true }) value: string = ''\n\t@property({ type: String, reflect: true, attribute: 'label' }) label: string | undefined\n\t@property({ type: Boolean }) selected: boolean = false\n\n\t// Add a method to update the label with slot content\n\tprivate updateLabelFromSlot() {\n\t\tif (!this.label) {\n\t\t\tconst slotContent = this.getSlotContent()\n\t\t\tif (slotContent) {\n\t\t\t\tthis.label = slotContent\n\t\t\t}\n\t\t}\n\t}\n\n\t// Connect to lifecycle to update label when element is connected\n\tconnectedCallback() {\n\t\tsuper.connectedCallback?.()\n\t\tthis.updateLabelFromSlot()\n\t}\n\n\t// Listen for slot changes to update label\n\tfirstUpdated() {\n\t\tconst slot = this.shadowRoot?.querySelector('slot:not([name])') as HTMLSlotElement\n\t\tif (slot) {\n\t\t\tslot.addEventListener('slotchange', () => {\n\t\t\t\tthis.updateLabelFromSlot()\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate handleOptionClick() {\n\t\t// Update label from slot if not set\n\t\tthis.updateLabelFromSlot()\n\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<SchmancyOptionChangeEvent['detail']>('click', {\n\t\t\t\tdetail: {\n\t\t\t\t\tvalue: this.value,\n\t\t\t\t\tlabel: this.label ?? '',\n\t\t\t\t},\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\t// Get content from the default slot\n\tprivate getSlotContent(): string {\n\t\tconst slot = this.shadowRoot?.querySelector('slot:not([name])') as HTMLSlotElement\n\t\tif (!slot) return ''\n\n\t\tconst assignedNodes = slot.assignedNodes()\n\t\tif (assignedNodes.length === 0) return ''\n\n\t\t// Combine the text content of all assigned nodes\n\t\treturn assignedNodes\n\t\t\t.map(node => node.textContent?.trim() || '')\n\t\t\t.join(' ')\n\t\t\t.trim()\n\t}\n\n\t// override focus method to focus the native element\n\tfocus() {\n\t\tthis.shadowRoot?.querySelector('li')?.focus()\n\t}\n\n\tprotected render() {\n\t\t// Apply highlight styles if `this.selected` is true\n\t\tconst classes = {\n\t\t\t'outline-secondary-default focus-visible:outline-solid focus-visible:outline-2 focus-visible:-outline-offset-2 rounded-md focus-visible:outline-secondary-default':\n\t\t\t\ttrue,\n\t\t\t'font-semibold relative cursor-pointer py-2 px-3': true,\n\t\t\t'bg-secondary-container text-secondery-onContainer': this.selected,\n\t\t}\n\t\tconst stateLayerClasses = {\n\t\t\t'duration-500 transition-opacity': true,\n\t\t\t'hover:bg-surface-on opacity-[0.08] cursor-pointer absolute inset-0': true,\n\t\t}\n\t\treturn html`\n\t\t\t<li\n\t\t\t\ttabindex=\"0\"\n\t\t\t\tclass=\"${this.classMap(classes)}\"\n\t\t\t\trole=\"option\"\n\t\t\t\t@click=${(e: MouseEvent) => {\n\t\t\t\t\te.stopPropagation()\n\t\t\t\t\te.preventDefault()\n\t\t\t\t\tthis.handleOptionClick()\n\t\t\t\t}}\n\t\t\t\t@keydown=${(e: KeyboardEvent) => {\n\t\t\t\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\tthis.handleOptionClick()\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div class=\"${this.classMap(stateLayerClasses)}\"></div>\n\t\t\t\t<sch-flex class=\"text-start\" align=\"center\" justify=\"between\" flow=\"row\">\n\t\t\t\t\t<slot class=\"self-start\" @slotchange=${() => this.updateLabelFromSlot()}></slot>\n\t\t\t\t\t<slot name=\"support\">\n\t\t\t\t\t\t<span></span>\n\t\t\t\t\t</slot>\n\t\t\t\t</sch-flex>\n\t\t\t</li>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-option': SchmancyOption\n\t}\n}\n"],"names":["SchmancyOption","TailwindElement","constructor","super","arguments","this","value","selected","label","slotContent","getSlotContent","connectedCallback","updateLabelFromSlot","slot","shadowRoot","querySelector","addEventListener","dispatchEvent","CustomEvent","detail","bubbles","composed","assignedNodes","length","map","node","textContent","trim","join","focus","render","classes","html","classMap","e","stopPropagation","preventDefault","handleOptionClick","key","__decorateClass","property","type","String","reflect","prototype","attribute","Boolean","customElement"],"mappings":";;;;;;;;;;AAUA,IAAqBA,IAArB,cAA4CC;EAA5C,cAAAC;AAAAC,UAAAC,GAAAA,SAAAA,GAC4DC,KAAAC,QAAA,IAEVD,KAAAE,WAAAA;AAAAA,EAAA;AAAA,EAGzC;AACH,QAACF,CAAAA,KAAKG,OAAO;AACV,YAAAC,IAAcJ,KAAKK,eAAAA;AACrBD,MAAAA,MACHJ,KAAKG,QAAQC;AAAAA,IACd;AAAA,EACD;AAAA,EAID,oBAAAE;;AACCR,KAAAA,IAAAA,MAAMQ,sBAANR,QAAAA,EAAAA,YACAE,KAAKO,oBAAoB;AAAA,EAAA;AAAA,EAI1B,eACC;;AAAA,UAAMC,KAAOR,IAAAA,KAAKS,eAALT,gBAAAA,EAAiBU,cAAc;AACxCF,IAAAA,KACEA,EAAAG,iBAAiB,cAAc;AACnCX,WAAKO,oBAAAA;AAAAA,IAAoB;EAE3B;AAAA,EAGO;AAEPP,SAAKO,oBAAAA,GAEAP,KAAAY,cACJ,IAAIC,YAAiD,SAAS,EAC7DC,QAAQ,EACPb,OAAOD,KAAKC,OACZE,OAAOH,KAAKG,SAAS,GAAA,GAEtBY,aACAC,UAAAA;EAEF;AAAA,EAIO,iBACP;;AAAA,UAAMR,KAAOR,IAAAA,KAAKS,eAALT,gBAAAA,EAAiBU,cAAc;AACxC,SAACF,EAAa,QAAA;AAEZ,UAAAS,IAAgBT,EAAKS,cACvB;AAAA,WAAAA,EAAcC,WAAW,IAAU,KAGhCD,EACLE,IAAYC,CAAAA;;AAAAA,eAAAA,IAAAA,EAAKC,gBAALD,gBAAAA,EAAkBE,WAAU;AAAA,KAAA,EACxCC,KAAK,GAAA,EACLD;EAAK;AAAA,EAIR;;AACCtB,KAAAA,KAAAA,IAAAA,KAAKS,eAALT,gBAAAA,EAAiBU,cAAc,UAA/BV,QAAAA,EAAsCwB;AAAAA,EAAM;AAAA,EAGnC,SAAAC;AAET,UAAMC,IAAU,EACf,wKAEA,mDAAA,IACA,qDAAqD1B,KAAKE,SAMpD;AAAA,WAAAyB;AAAAA;AAAAA;AAAAA,aAGI3B,KAAK4B,SAASF,CAAAA,CAAAA;AAAAA;AAAAA,aAEbG,OAAAA;AACTA,QAAEC,gBAAAA,GACFD,EAAEE,eAAAA,GACF/B,KAAKgC,kBAAkB;AAAA,IAAA,CAAA;AAAA,eAEZH,OACG;AAAA,MAAVA,EAAEI,QAAQ,WAAWJ,EAAEI,QAAQ,QAClCJ,EAAEC,gBACFD,GAAAA,EAAEE,eACF/B,GAAAA,KAAKgC,kBAAkB;AAAA,IAAA,CAAA;AAAA;AAAA,kBAIXhC,KAAK4B,SAtBK,EACzB,mCAAmC,IACnC,sEAAsE,GAAA,CAAA,CAAA;AAAA;AAAA,4CAsB7B,MAAM5B,KAAKO,oBAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAAqB;AAAA;AAlGhC2B,EAAA,CAA1CC,EAAS,EAAEC,MAAMC,QAAQC,YADN3C,CAAAA,CAAAA,GAAAA,EACuB4C,WAAA,SAAA,IACoBL,EAAA,CAA9DC,EAAS,EAAEC,MAAMC,QAAQC,SAAS,IAAME,WAAW,QAAA,CAAA,CAAA,GAFhC7C,EAE2C4C,WAAA,SAAA,IAClCL,EAAA,CAA5BC,EAAS,EAAEC,MAAMK,QAHE9C,CAAAA,CAAAA,GAAAA,EAGS4C,WAAA,YAAA,CAAA,GAHT5C,IAArBuC,EAAA,CADCQ,EAAc,iBACM/C,CAAAA,GAAAA,CAAAA;"}
@@ -0,0 +1,18 @@
1
+ "use strict";require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const u=require("./tailwind.mixin-csgxM8P_.cjs"),p=require("lit"),r=require("lit/decorators.js");var d=Object.defineProperty,h=Object.getOwnPropertyDescriptor,a=(t,e,s,l)=>{for(var i,o=l>1?void 0:l?h(e,s):e,c=t.length-1;c>=0;c--)(i=t[c])&&(o=(l?i(e,s,o):i(o))||o);return l&&o&&d(e,s,o),o};let n=class extends u.TailwindElement(){constructor(){super(...arguments),this.value="",this.selected=!1}updateLabelFromSlot(){if(!this.label){const t=this.getSlotContent();t&&(this.label=t)}}connectedCallback(){var t;(t=super.connectedCallback)==null||t.call(this),this.updateLabelFromSlot()}firstUpdated(){var e;const t=(e=this.shadowRoot)==null?void 0:e.querySelector("slot:not([name])");t&&t.addEventListener("slotchange",()=>{this.updateLabelFromSlot()})}handleOptionClick(){this.updateLabelFromSlot(),this.dispatchEvent(new CustomEvent("click",{detail:{value:this.value,label:this.label??""},bubbles:!0,composed:!0}))}getSlotContent(){var s;const t=(s=this.shadowRoot)==null?void 0:s.querySelector("slot:not([name])");if(!t)return"";const e=t.assignedNodes();return e.length===0?"":e.map(l=>{var i;return((i=l.textContent)==null?void 0:i.trim())||""}).join(" ").trim()}focus(){var t,e;(e=(t=this.shadowRoot)==null?void 0:t.querySelector("li"))==null||e.focus()}render(){const t={"outline-secondary-default focus-visible:outline-solid focus-visible:outline-2 focus-visible:-outline-offset-2 rounded-md focus-visible:outline-secondary-default":!0,"font-semibold relative cursor-pointer py-2 px-3":!0,"bg-secondary-container text-secondery-onContainer":this.selected};return p.html`
2
+ <li
3
+ tabindex="0"
4
+ class="${this.classMap(t)}"
5
+ role="option"
6
+ @click=${e=>{e.stopPropagation(),e.preventDefault(),this.handleOptionClick()}}
7
+ @keydown=${e=>{e.key!=="Enter"&&e.key!==" "||(e.stopPropagation(),e.preventDefault(),this.handleOptionClick())}}
8
+ >
9
+ <div class="${this.classMap({"duration-500 transition-opacity":!0,"hover:bg-surface-on opacity-[0.08] cursor-pointer absolute inset-0":!0})}"></div>
10
+ <sch-flex class="text-start" align="center" justify="between" flow="row">
11
+ <slot class="self-start" @slotchange=${()=>this.updateLabelFromSlot()}></slot>
12
+ <slot name="support">
13
+ <span></span>
14
+ </slot>
15
+ </sch-flex>
16
+ </li>
17
+ `}};a([r.property({type:String,reflect:!0})],n.prototype,"value",2),a([r.property({type:String,reflect:!0,attribute:"label"})],n.prototype,"label",2),a([r.property({type:Boolean})],n.prototype,"selected",2),n=a([r.customElement("schmancy-option")],n);
18
+ //# sourceMappingURL=option-gnBrhD_1.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"option-gnBrhD_1.cjs","sources":["../src/option/option.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nexport type SchmancyOptionChangeEvent = CustomEvent<{\n\tvalue: string\n\tlabel: string\n}>\n\n@customElement('schmancy-option')\nexport default class SchmancyOption extends TailwindElement() {\n\t@property({ type: String, reflect: true }) value: string = ''\n\t@property({ type: String, reflect: true, attribute: 'label' }) label: string | undefined\n\t@property({ type: Boolean }) selected: boolean = false\n\n\t// Add a method to update the label with slot content\n\tprivate updateLabelFromSlot() {\n\t\tif (!this.label) {\n\t\t\tconst slotContent = this.getSlotContent()\n\t\t\tif (slotContent) {\n\t\t\t\tthis.label = slotContent\n\t\t\t}\n\t\t}\n\t}\n\n\t// Connect to lifecycle to update label when element is connected\n\tconnectedCallback() {\n\t\tsuper.connectedCallback?.()\n\t\tthis.updateLabelFromSlot()\n\t}\n\n\t// Listen for slot changes to update label\n\tfirstUpdated() {\n\t\tconst slot = this.shadowRoot?.querySelector('slot:not([name])') as HTMLSlotElement\n\t\tif (slot) {\n\t\t\tslot.addEventListener('slotchange', () => {\n\t\t\t\tthis.updateLabelFromSlot()\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate handleOptionClick() {\n\t\t// Update label from slot if not set\n\t\tthis.updateLabelFromSlot()\n\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<SchmancyOptionChangeEvent['detail']>('click', {\n\t\t\t\tdetail: {\n\t\t\t\t\tvalue: this.value,\n\t\t\t\t\tlabel: this.label ?? '',\n\t\t\t\t},\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\t// Get content from the default slot\n\tprivate getSlotContent(): string {\n\t\tconst slot = this.shadowRoot?.querySelector('slot:not([name])') as HTMLSlotElement\n\t\tif (!slot) return ''\n\n\t\tconst assignedNodes = slot.assignedNodes()\n\t\tif (assignedNodes.length === 0) return ''\n\n\t\t// Combine the text content of all assigned nodes\n\t\treturn assignedNodes\n\t\t\t.map(node => node.textContent?.trim() || '')\n\t\t\t.join(' ')\n\t\t\t.trim()\n\t}\n\n\t// override focus method to focus the native element\n\tfocus() {\n\t\tthis.shadowRoot?.querySelector('li')?.focus()\n\t}\n\n\tprotected render() {\n\t\t// Apply highlight styles if `this.selected` is true\n\t\tconst classes = {\n\t\t\t'outline-secondary-default focus-visible:outline-solid focus-visible:outline-2 focus-visible:-outline-offset-2 rounded-md focus-visible:outline-secondary-default':\n\t\t\t\ttrue,\n\t\t\t'font-semibold relative cursor-pointer py-2 px-3': true,\n\t\t\t'bg-secondary-container text-secondery-onContainer': this.selected,\n\t\t}\n\t\tconst stateLayerClasses = {\n\t\t\t'duration-500 transition-opacity': true,\n\t\t\t'hover:bg-surface-on opacity-[0.08] cursor-pointer absolute inset-0': true,\n\t\t}\n\t\treturn html`\n\t\t\t<li\n\t\t\t\ttabindex=\"0\"\n\t\t\t\tclass=\"${this.classMap(classes)}\"\n\t\t\t\trole=\"option\"\n\t\t\t\t@click=${(e: MouseEvent) => {\n\t\t\t\t\te.stopPropagation()\n\t\t\t\t\te.preventDefault()\n\t\t\t\t\tthis.handleOptionClick()\n\t\t\t\t}}\n\t\t\t\t@keydown=${(e: KeyboardEvent) => {\n\t\t\t\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\tthis.handleOptionClick()\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div class=\"${this.classMap(stateLayerClasses)}\"></div>\n\t\t\t\t<sch-flex class=\"text-start\" align=\"center\" justify=\"between\" flow=\"row\">\n\t\t\t\t\t<slot class=\"self-start\" @slotchange=${() => this.updateLabelFromSlot()}></slot>\n\t\t\t\t\t<slot name=\"support\">\n\t\t\t\t\t\t<span></span>\n\t\t\t\t\t</slot>\n\t\t\t\t</sch-flex>\n\t\t\t</li>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-option': SchmancyOption\n\t}\n}\n"],"names":["SchmancyOption","TailwindElement","super","arguments","this","value","selected","label","slotContent","getSlotContent","connectedCallback","updateLabelFromSlot","firstUpdated","slot","shadowRoot","querySelector","addEventListener","handleOptionClick","dispatchEvent","CustomEvent","detail","bubbles","composed","assignedNodes","length","map","node","textContent","trim","join","focus","classes","html","classMap","e","stopPropagation","preventDefault","key","__decorateClass","property","type","String","reflect","prototype","attribute","Boolean","customElement"],"mappings":"4YAUA,IAAqBA,EAArB,cAA4CC,EAAAA,gBAA5C,CAAA,CAAA,cAAAC,MAAAC,GAAAA,SAAAA,EAC4DC,KAAAC,MAAA,GAEVD,KAAAE,SAAA,EAAA,CAGzC,qBACH,CAAA,GAAA,CAACF,KAAKG,MAAO,CACV,MAAAC,EAAcJ,KAAKK,iBACrBD,IACHJ,KAAKG,MAAQC,EACd,CACD,CAID,mBACCN,QAAAA,EAAAA,MAAMQ,oBAANR,MAAAA,EAAAA,WACAE,KAAKO,oBAAAA,CAAoB,CAI1B,cAAAC,OACC,MAAMC,GAAOT,EAAAA,KAAKU,aAALV,YAAAA,EAAiBW,cAAc,oBACxCF,GACEA,EAAAG,iBAAiB,aAAc,KACnCZ,KAAKO,oBAAAA,CAAoB,CAE3B,CAAA,CAGO,mBAAAM,CAEPb,KAAKO,oBAEAP,EAAAA,KAAAc,cACJ,IAAIC,YAAiD,QAAS,CAC7DC,OAAQ,CACPf,MAAOD,KAAKC,MACZE,MAAOH,KAAKG,OAAS,IAEtBc,QAAS,GACTC,WAEF,CAAA,CAAA,CAAA,CAIO,gBAAAb,OACP,MAAMI,GAAOT,EAAAA,KAAKU,aAALV,YAAAA,EAAiBW,cAAc,oBACxC,GAACF,CAAAA,EAAa,MAAA,GAEZ,MAAAU,EAAgBV,EAAKU,cACvB,EAAA,OAAAA,EAAcC,SAAW,EAAU,GAGhCD,EACLE,IAAYC,UAAAA,QAAAA,EAAAA,EAAKC,cAALD,YAAAA,EAAkBE,SAAU,GAAA,EACxCC,KAAK,GAAA,EACLD,MAAK,CAIR,iBACCxB,GAAAA,EAAAA,KAAKU,aAALV,YAAAA,EAAiBW,cAAc,QAA/BX,MAAAA,EAAsC0B,OAAM,CAGnC,QAET,CAAA,MAAMC,EAAU,CACf,mKAAA,GAEA,kDAAmD,GACnD,oDAAqD3B,KAAKE,QAAAA,EAMpD,OAAA0B,EAAAA;AAAAA;AAAAA;AAAAA,aAGI5B,KAAK6B,SAASF,CAAAA,CAAAA;AAAAA;AAAAA,aAEbG,GAAAA,CACTA,EAAEC,gBAAAA,EACFD,EAAEE,eAAAA,EACFhC,KAAKa,kBAAkB,CAAA,CAAA;AAAA,eAEZiB,GACG,CAAVA,EAAEG,MAAQ,SAAWH,EAAEG,MAAQ,MAClCH,EAAEC,gBACFD,EAAAA,EAAEE,eACFhC,EAAAA,KAAKa,kBAAkB,EAAA,CAAA;AAAA;AAAA,kBAIXb,KAAK6B,SAtBK,CACzB,kCAAmC,GACnC,qEAAsE,EAAA,CAAA,CAAA;AAAA;AAAA,4CAsB7B,IAAM7B,KAAKO,oBAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAAqB,CAlGhC2B,EAAAA,EAAA,CAA1CC,EAAAA,SAAS,CAAEC,KAAMC,OAAQC,UADN1C,CAAAA,CAAAA,EAAAA,EACuB2C,UAAA,QAAA,CAAA,EACoBL,EAAA,CAA9DC,EAAAA,SAAS,CAAEC,KAAMC,OAAQC,QAAS,GAAME,UAAW,OAFhC5C,CAAAA,CAAAA,EAAAA,EAE2C2C,UAAA,QAAA,CAAA,EAClCL,EAAA,CAA5BC,WAAS,CAAEC,KAAMK,WAHE7C,EAGS2C,UAAA,WAAA,CAHT3C,EAAAA,EAArBsC,EAAA,CADCQ,EAAAA,cAAc,iBACM9C,CAAAA,EAAAA,CAAAA"}
package/dist/option.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";require("./option-DJLLszO6.cjs");
1
+ "use strict";require("./option-gnBrhD_1.cjs");
2
2
  //# sourceMappingURL=option.cjs.map
package/dist/option.js CHANGED
@@ -1,2 +1,2 @@
1
- import "./option-CxalubCR.js";
1
+ import "./option-CmZo8fXU.js";
2
2
  //# sourceMappingURL=option.js.map
@@ -1,7 +1,7 @@
1
1
  import { Subject as m, buffer as g, debounceTime as x, race as w, fromEvent as y, timer as b } from "rxjs";
2
2
  import "lit/directives/class-map.js";
3
3
  import "lit/directives/style-map.js";
4
- import { T as v } from "./tailwind.mixin-DklgfhB4.js";
4
+ import { T as v } from "./tailwind.mixin-BvhzMkqK.js";
5
5
  import { html as l } from "lit";
6
6
  import { property as k, customElement as f } from "lit/decorators.js";
7
7
  function a(e, t) {
@@ -125,4 +125,4 @@ export {
125
125
  d as S,
126
126
  u as a
127
127
  };
128
- //# sourceMappingURL=outlet-6HZp4fo1.js.map
128
+ //# sourceMappingURL=outlet-BgJ_WOwi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"outlet-6HZp4fo1.js","sources":["../src/notification/$notification.ts","../src/notification/notification.ts","../src/notification/outlet.ts"],"sourcesContent":["import { Subject, buffer, debounceTime, fromEvent, race, timer } from 'rxjs'\nimport { SchmancyNotification } from './notification'\n\nexport type TNotification = 'success' | 'error' | 'warning' | 'info'\nexport type TNotificationConfig = {\n\taction?: typeof Function\n\tduration?: number\n}\n\n// Create a notification component and assign it the proper type.\nfunction createNotificationComponent(message: string, type: TNotification): SchmancyNotification {\n\tconst notificationComponent = document.createElement('schmancy-notification') as SchmancyNotification\n\tnotificationComponent.setAttribute('type', type)\n\tnotificationComponent.innerHTML = message\n\treturn notificationComponent\n}\n\n// Main notifications subject: each emission will schedule a notification.\nconst $notifications = new Subject<{\n\tcomponent: SchmancyNotification\n\tconfig?: TNotificationConfig\n}>()\n\n// New subject to handle explicit dismiss calls.\nconst $dismissNotification = new Subject<SchmancyNotification>()\n\n// Exported API for notifications\nexport const $notify = {\n\tsuccess: (message: string, config?: TNotificationConfig) => {\n\t\tconst component = createNotificationComponent(message, 'success')\n\t\t$notifications.next({ component, config })\n\t\treturn component\n\t},\n\terror: (message: string, config?: TNotificationConfig) => {\n\t\tconst component = createNotificationComponent(message, 'error')\n\t\t$notifications.next({ component, config })\n\t\treturn component\n\t},\n\twarning: (message: string, config?: TNotificationConfig) => {\n\t\tconst component = createNotificationComponent(message, 'warning')\n\t\t$notifications.next({ component, config })\n\t\treturn component\n\t},\n\tinfo: (message: string, config?: TNotificationConfig) => {\n\t\tconst component = createNotificationComponent(message, 'info')\n\t\t$notifications.next({ component, config })\n\t\treturn component\n\t},\n\t// New dismiss method: call this with a notification component to dismiss it early.\n\tdismiss: (component: SchmancyNotification) => {\n\t\t$dismissNotification.next(component)\n\t},\n}\n\n// Optional: If you want to collapse multiple notifications into a single one,\n// the same logic as before can be retained.\n$notifications.pipe(buffer($notifications.pipe(debounceTime(1000)))).subscribe(notifications => {\n\tif (notifications.length > 1) {\n\t\tconst notification = notifications[notifications.length - 1]\n\t\t// Re-emit the latest notification for display.\n\t\t$notifications.next({ component: notification.component, config: notification.config })\n\t}\n})\n\n// Whenever a notification is published, append it to the DOM and set up removal.\n$notifications.subscribe(({ component, config }) => {\n\tdocument.body?.appendChild(component)\n\n\t// Create a race: wait for either the component’s own 'close' event (or an external dismiss)\n\t// or a timeout based on the config's duration (default: 3000ms).\n\trace(fromEvent(component, 'close'), timer(config?.duration ?? 3000)).subscribe(() => {\n\t\tcomponent.remove()\n\t})\n})\n\n// Listen for explicit dismiss calls. When a notification is to be dismissed via $notify.dismiss(),\n// dispatch a 'close' event on it. This will trigger the race above.\n$dismissNotification.subscribe(component => {\n\t// You could also include any additional logic here if needed.\n\tcomponent.dispatchEvent(new CustomEvent('close'))\n})\n","import { TailwindElement } from '@mixins/index'\nimport { $notify } from '@schmancy/notification'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n@customElement('schmancy-notification')\nexport class SchmancyNotification extends TailwindElement() {\n\t@property({ type: String })\n\ttype: 'success' | 'error' | 'warning' | 'info' = 'success'\n\n\trender() {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\taria-live=\"assertive\"\n\t\t\t\tclass=\"pointer-events-none z-[999999] fixed inset-0 flex items-end px-4 py-6 sm:items-start sm:p-6\"\n\t\t\t>\n\t\t\t\t<div class=\"flex w-full flex-col items-center space-y-4 sm:items-end\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"pointer-events-auto w-full max-w-sm overflow-hidden rounded-lg bg-surface-container shadow-lg ring-1 ring-outlineVariant ring-opacity-5\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"p-2\">\n\t\t\t\t\t\t\t<div class=\"flex items-center\">\n\t\t\t\t\t\t\t\t<div class=\"shrink-0\">\n\t\t\t\t\t\t\t\t\t${this.type === 'success'\n\t\t\t\t\t\t\t\t\t\t? html` <svg\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"h-6 w-6 text-success-default\"\n\t\t\t\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"1.5\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\td=\"M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</svg>`\n\t\t\t\t\t\t\t\t\t\t: html` <svg\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"h-6 w-6 text-error-default\"\n\t\t\t\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"1.5\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\td=\"M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</svg>`}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"ml-3 w-0 flex-1 pt-0.5\">\n\t\t\t\t\t\t\t\t\t<p class=\" text-sm \">\n\t\t\t\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"ml-4 flex shrink-0\">\n\t\t\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\t\t\t\t$notify.dismiss(this)\n\t\t\t\t\t\t\t\t\t\t\tthis.dispatchEvent(new CustomEvent('close'))\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<span class=\"sr-only\">Close</span>\n\t\t\t\t\t\t\t\t\t\tclose\n\t\t\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-notification': SchmancyNotification\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-notification-outlet')\nexport class SchmancyNotificationOutlet extends TailwindElement() {\n\trender() {\n\t\treturn html` <slot></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-notification-outlet': SchmancyNotificationOutlet\n\t}\n}\n"],"names":["createNotificationComponent","message","type","notificationComponent","document","createElement","setAttribute","innerHTML","$notifications","Subject","$dismissNotification","$notify","success","config","component","next","error","warning","info","dismiss","pipe","buffer","debounceTime","subscribe","notifications","length","notification","body","appendChild","race","fromEvent","timer","duration","remove","dispatchEvent","CustomEvent","SchmancyNotification","TailwindElement","super","arguments","this","html","__decorateClass","property","String","prototype","customElement","SchmancyNotificationOutlet"],"mappings":"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"}
1
+ {"version":3,"file":"outlet-BgJ_WOwi.js","sources":["../src/notification/$notification.ts","../src/notification/notification.ts","../src/notification/outlet.ts"],"sourcesContent":["import { Subject, buffer, debounceTime, fromEvent, race, timer } from 'rxjs'\nimport { SchmancyNotification } from './notification'\n\nexport type TNotification = 'success' | 'error' | 'warning' | 'info'\nexport type TNotificationConfig = {\n\taction?: typeof Function\n\tduration?: number\n}\n\n// Create a notification component and assign it the proper type.\nfunction createNotificationComponent(message: string, type: TNotification): SchmancyNotification {\n\tconst notificationComponent = document.createElement('schmancy-notification') as SchmancyNotification\n\tnotificationComponent.setAttribute('type', type)\n\tnotificationComponent.innerHTML = message\n\treturn notificationComponent\n}\n\n// Main notifications subject: each emission will schedule a notification.\nconst $notifications = new Subject<{\n\tcomponent: SchmancyNotification\n\tconfig?: TNotificationConfig\n}>()\n\n// New subject to handle explicit dismiss calls.\nconst $dismissNotification = new Subject<SchmancyNotification>()\n\n// Exported API for notifications\nexport const $notify = {\n\tsuccess: (message: string, config?: TNotificationConfig) => {\n\t\tconst component = createNotificationComponent(message, 'success')\n\t\t$notifications.next({ component, config })\n\t\treturn component\n\t},\n\terror: (message: string, config?: TNotificationConfig) => {\n\t\tconst component = createNotificationComponent(message, 'error')\n\t\t$notifications.next({ component, config })\n\t\treturn component\n\t},\n\twarning: (message: string, config?: TNotificationConfig) => {\n\t\tconst component = createNotificationComponent(message, 'warning')\n\t\t$notifications.next({ component, config })\n\t\treturn component\n\t},\n\tinfo: (message: string, config?: TNotificationConfig) => {\n\t\tconst component = createNotificationComponent(message, 'info')\n\t\t$notifications.next({ component, config })\n\t\treturn component\n\t},\n\t// New dismiss method: call this with a notification component to dismiss it early.\n\tdismiss: (component: SchmancyNotification) => {\n\t\t$dismissNotification.next(component)\n\t},\n}\n\n// Optional: If you want to collapse multiple notifications into a single one,\n// the same logic as before can be retained.\n$notifications.pipe(buffer($notifications.pipe(debounceTime(1000)))).subscribe(notifications => {\n\tif (notifications.length > 1) {\n\t\tconst notification = notifications[notifications.length - 1]\n\t\t// Re-emit the latest notification for display.\n\t\t$notifications.next({ component: notification.component, config: notification.config })\n\t}\n})\n\n// Whenever a notification is published, append it to the DOM and set up removal.\n$notifications.subscribe(({ component, config }) => {\n\tdocument.body?.appendChild(component)\n\n\t// Create a race: wait for either the component’s own 'close' event (or an external dismiss)\n\t// or a timeout based on the config's duration (default: 3000ms).\n\trace(fromEvent(component, 'close'), timer(config?.duration ?? 3000)).subscribe(() => {\n\t\tcomponent.remove()\n\t})\n})\n\n// Listen for explicit dismiss calls. When a notification is to be dismissed via $notify.dismiss(),\n// dispatch a 'close' event on it. This will trigger the race above.\n$dismissNotification.subscribe(component => {\n\t// You could also include any additional logic here if needed.\n\tcomponent.dispatchEvent(new CustomEvent('close'))\n})\n","import { TailwindElement } from '@mixins/index'\nimport { $notify } from '@schmancy/notification'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n@customElement('schmancy-notification')\nexport class SchmancyNotification extends TailwindElement() {\n\t@property({ type: String })\n\ttype: 'success' | 'error' | 'warning' | 'info' = 'success'\n\n\trender() {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\taria-live=\"assertive\"\n\t\t\t\tclass=\"pointer-events-none z-[999999] fixed inset-0 flex items-end px-4 py-6 sm:items-start sm:p-6\"\n\t\t\t>\n\t\t\t\t<div class=\"flex w-full flex-col items-center space-y-4 sm:items-end\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"pointer-events-auto w-full max-w-sm overflow-hidden rounded-lg bg-surface-container shadow-lg ring-1 ring-outlineVariant ring-opacity-5\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"p-2\">\n\t\t\t\t\t\t\t<div class=\"flex items-center\">\n\t\t\t\t\t\t\t\t<div class=\"shrink-0\">\n\t\t\t\t\t\t\t\t\t${this.type === 'success'\n\t\t\t\t\t\t\t\t\t\t? html` <svg\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"h-6 w-6 text-success-default\"\n\t\t\t\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"1.5\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\td=\"M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</svg>`\n\t\t\t\t\t\t\t\t\t\t: html` <svg\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"h-6 w-6 text-error-default\"\n\t\t\t\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"1.5\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\td=\"M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</svg>`}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"ml-3 w-0 flex-1 pt-0.5\">\n\t\t\t\t\t\t\t\t\t<p class=\" text-sm \">\n\t\t\t\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"ml-4 flex shrink-0\">\n\t\t\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\t\t\t\t$notify.dismiss(this)\n\t\t\t\t\t\t\t\t\t\t\tthis.dispatchEvent(new CustomEvent('close'))\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<span class=\"sr-only\">Close</span>\n\t\t\t\t\t\t\t\t\t\tclose\n\t\t\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-notification': SchmancyNotification\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-notification-outlet')\nexport class SchmancyNotificationOutlet extends TailwindElement() {\n\trender() {\n\t\treturn html` <slot></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-notification-outlet': SchmancyNotificationOutlet\n\t}\n}\n"],"names":["createNotificationComponent","message","type","notificationComponent","document","createElement","setAttribute","innerHTML","$notifications","Subject","$dismissNotification","$notify","success","config","component","next","error","warning","info","dismiss","pipe","buffer","debounceTime","subscribe","notifications","length","notification","body","appendChild","race","fromEvent","timer","duration","remove","dispatchEvent","CustomEvent","SchmancyNotification","TailwindElement","super","arguments","this","html","__decorateClass","property","String","prototype","customElement","SchmancyNotificationOutlet"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- "use strict";const r=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const p=require("./tailwind.mixin-CBhPue3q.cjs"),u=require("lit"),d=require("lit/decorators.js");function l(e,t){const n=document.createElement("schmancy-notification");return n.setAttribute("type",t),n.innerHTML=e,n}const s=new r.Subject,f=new r.Subject,v={success:(e,t)=>{const n=l(e,"success");return s.next({component:n,config:t}),n},error:(e,t)=>{const n=l(e,"error");return s.next({component:n,config:t}),n},warning:(e,t)=>{const n=l(e,"warning");return s.next({component:n,config:t}),n},info:(e,t)=>{const n=l(e,"info");return s.next({component:n,config:t}),n},dismiss:e=>{f.next(e)}};s.pipe(r.buffer(s.pipe(r.debounceTime(1e3)))).subscribe(e=>{if(e.length>1){const t=e[e.length-1];s.next({component:t.component,config:t.config})}}),s.subscribe(({component:e,config:t})=>{var n;(n=document.body)==null||n.appendChild(e),r.race(r.fromEvent(e,"close"),r.timer((t==null?void 0:t.duration)??3e3)).subscribe(()=>{e.remove()})}),f.subscribe(e=>{e.dispatchEvent(new CustomEvent("close"))});var h=Object.defineProperty,y=Object.getOwnPropertyDescriptor,m=(e,t,n,o)=>{for(var a,i=o>1?void 0:o?y(t,n):t,c=e.length-1;c>=0;c--)(a=e[c])&&(i=(o?a(t,n,i):a(i))||i);return o&&i&&h(t,n,i),i};exports.SchmancyNotification=class extends p.TailwindElement(){constructor(){super(...arguments),this.type="success"}render(){return u.html`
1
+ "use strict";const r=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const p=require("./tailwind.mixin-csgxM8P_.cjs"),u=require("lit"),d=require("lit/decorators.js");function l(e,t){const n=document.createElement("schmancy-notification");return n.setAttribute("type",t),n.innerHTML=e,n}const s=new r.Subject,f=new r.Subject,v={success:(e,t)=>{const n=l(e,"success");return s.next({component:n,config:t}),n},error:(e,t)=>{const n=l(e,"error");return s.next({component:n,config:t}),n},warning:(e,t)=>{const n=l(e,"warning");return s.next({component:n,config:t}),n},info:(e,t)=>{const n=l(e,"info");return s.next({component:n,config:t}),n},dismiss:e=>{f.next(e)}};s.pipe(r.buffer(s.pipe(r.debounceTime(1e3)))).subscribe(e=>{if(e.length>1){const t=e[e.length-1];s.next({component:t.component,config:t.config})}}),s.subscribe(({component:e,config:t})=>{var n;(n=document.body)==null||n.appendChild(e),r.race(r.fromEvent(e,"close"),r.timer((t==null?void 0:t.duration)??3e3)).subscribe(()=>{e.remove()})}),f.subscribe(e=>{e.dispatchEvent(new CustomEvent("close"))});var h=Object.defineProperty,y=Object.getOwnPropertyDescriptor,m=(e,t,n,o)=>{for(var a,i=o>1?void 0:o?y(t,n):t,c=e.length-1;c>=0;c--)(a=e[c])&&(i=(o?a(t,n,i):a(i))||i);return o&&i&&h(t,n,i),i};exports.SchmancyNotification=class extends p.TailwindElement(){constructor(){super(...arguments),this.type="success"}render(){return u.html`
2
2
  <div
3
3
  aria-live="assertive"
4
4
  class="pointer-events-none z-[999999] fixed inset-0 flex items-end px-4 py-6 sm:items-start sm:p-6"
@@ -58,4 +58,4 @@
58
58
  </div>
59
59
  </div>
60
60
  `}},m([d.property({type:String})],exports.SchmancyNotification.prototype,"type",2),exports.SchmancyNotification=m([d.customElement("schmancy-notification")],exports.SchmancyNotification);var g=Object.getOwnPropertyDescriptor;exports.SchmancyNotificationOutlet=class extends p.TailwindElement(){render(){return u.html` <slot></slot> `}},exports.SchmancyNotificationOutlet=((e,t,n,o)=>{for(var a,i=o>1?void 0:o?g(t,n):t,c=e.length-1;c>=0;c--)(a=e[c])&&(i=a(i)||i);return i})([d.customElement("schmancy-notification-outlet")],exports.SchmancyNotificationOutlet),exports.$notify=v;
61
- //# sourceMappingURL=outlet-DofHDlGH.cjs.map
61
+ //# sourceMappingURL=outlet-CSduKjEi.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"outlet-DofHDlGH.cjs","sources":["../src/notification/$notification.ts","../src/notification/notification.ts","../src/notification/outlet.ts"],"sourcesContent":["import { Subject, buffer, debounceTime, fromEvent, race, timer } from 'rxjs'\nimport { SchmancyNotification } from './notification'\n\nexport type TNotification = 'success' | 'error' | 'warning' | 'info'\nexport type TNotificationConfig = {\n\taction?: typeof Function\n\tduration?: number\n}\n\n// Create a notification component and assign it the proper type.\nfunction createNotificationComponent(message: string, type: TNotification): SchmancyNotification {\n\tconst notificationComponent = document.createElement('schmancy-notification') as SchmancyNotification\n\tnotificationComponent.setAttribute('type', type)\n\tnotificationComponent.innerHTML = message\n\treturn notificationComponent\n}\n\n// Main notifications subject: each emission will schedule a notification.\nconst $notifications = new Subject<{\n\tcomponent: SchmancyNotification\n\tconfig?: TNotificationConfig\n}>()\n\n// New subject to handle explicit dismiss calls.\nconst $dismissNotification = new Subject<SchmancyNotification>()\n\n// Exported API for notifications\nexport const $notify = {\n\tsuccess: (message: string, config?: TNotificationConfig) => {\n\t\tconst component = createNotificationComponent(message, 'success')\n\t\t$notifications.next({ component, config })\n\t\treturn component\n\t},\n\terror: (message: string, config?: TNotificationConfig) => {\n\t\tconst component = createNotificationComponent(message, 'error')\n\t\t$notifications.next({ component, config })\n\t\treturn component\n\t},\n\twarning: (message: string, config?: TNotificationConfig) => {\n\t\tconst component = createNotificationComponent(message, 'warning')\n\t\t$notifications.next({ component, config })\n\t\treturn component\n\t},\n\tinfo: (message: string, config?: TNotificationConfig) => {\n\t\tconst component = createNotificationComponent(message, 'info')\n\t\t$notifications.next({ component, config })\n\t\treturn component\n\t},\n\t// New dismiss method: call this with a notification component to dismiss it early.\n\tdismiss: (component: SchmancyNotification) => {\n\t\t$dismissNotification.next(component)\n\t},\n}\n\n// Optional: If you want to collapse multiple notifications into a single one,\n// the same logic as before can be retained.\n$notifications.pipe(buffer($notifications.pipe(debounceTime(1000)))).subscribe(notifications => {\n\tif (notifications.length > 1) {\n\t\tconst notification = notifications[notifications.length - 1]\n\t\t// Re-emit the latest notification for display.\n\t\t$notifications.next({ component: notification.component, config: notification.config })\n\t}\n})\n\n// Whenever a notification is published, append it to the DOM and set up removal.\n$notifications.subscribe(({ component, config }) => {\n\tdocument.body?.appendChild(component)\n\n\t// Create a race: wait for either the component’s own 'close' event (or an external dismiss)\n\t// or a timeout based on the config's duration (default: 3000ms).\n\trace(fromEvent(component, 'close'), timer(config?.duration ?? 3000)).subscribe(() => {\n\t\tcomponent.remove()\n\t})\n})\n\n// Listen for explicit dismiss calls. When a notification is to be dismissed via $notify.dismiss(),\n// dispatch a 'close' event on it. This will trigger the race above.\n$dismissNotification.subscribe(component => {\n\t// You could also include any additional logic here if needed.\n\tcomponent.dispatchEvent(new CustomEvent('close'))\n})\n","import { TailwindElement } from '@mixins/index'\nimport { $notify } from '@schmancy/notification'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n@customElement('schmancy-notification')\nexport class SchmancyNotification extends TailwindElement() {\n\t@property({ type: String })\n\ttype: 'success' | 'error' | 'warning' | 'info' = 'success'\n\n\trender() {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\taria-live=\"assertive\"\n\t\t\t\tclass=\"pointer-events-none z-[999999] fixed inset-0 flex items-end px-4 py-6 sm:items-start sm:p-6\"\n\t\t\t>\n\t\t\t\t<div class=\"flex w-full flex-col items-center space-y-4 sm:items-end\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"pointer-events-auto w-full max-w-sm overflow-hidden rounded-lg bg-surface-container shadow-lg ring-1 ring-outlineVariant ring-opacity-5\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"p-2\">\n\t\t\t\t\t\t\t<div class=\"flex items-center\">\n\t\t\t\t\t\t\t\t<div class=\"shrink-0\">\n\t\t\t\t\t\t\t\t\t${this.type === 'success'\n\t\t\t\t\t\t\t\t\t\t? html` <svg\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"h-6 w-6 text-success-default\"\n\t\t\t\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"1.5\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\td=\"M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</svg>`\n\t\t\t\t\t\t\t\t\t\t: html` <svg\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"h-6 w-6 text-error-default\"\n\t\t\t\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"1.5\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\td=\"M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</svg>`}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"ml-3 w-0 flex-1 pt-0.5\">\n\t\t\t\t\t\t\t\t\t<p class=\" text-sm \">\n\t\t\t\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"ml-4 flex shrink-0\">\n\t\t\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\t\t\t\t$notify.dismiss(this)\n\t\t\t\t\t\t\t\t\t\t\tthis.dispatchEvent(new CustomEvent('close'))\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<span class=\"sr-only\">Close</span>\n\t\t\t\t\t\t\t\t\t\tclose\n\t\t\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-notification': SchmancyNotification\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-notification-outlet')\nexport class SchmancyNotificationOutlet extends TailwindElement() {\n\trender() {\n\t\treturn html` <slot></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-notification-outlet': SchmancyNotificationOutlet\n\t}\n}\n"],"names":["createNotificationComponent","message","type","notificationComponent","document","createElement","setAttribute","innerHTML","$notifications","Subject","$dismissNotification","$notify","success","config","component","next","error","warning","info","dismiss","pipe","buffer","debounceTime","subscribe","notifications","length","notification","body","appendChild","race","fromEvent","timer","duration","remove","dispatchEvent","CustomEvent","SchmancyNotification","TailwindElement","super","arguments","this","html","__decorateClass","property","String","prototype","customElement","SchmancyNotificationOutlet"],"mappings":"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"}
1
+ {"version":3,"file":"outlet-CSduKjEi.cjs","sources":["../src/notification/$notification.ts","../src/notification/notification.ts","../src/notification/outlet.ts"],"sourcesContent":["import { Subject, buffer, debounceTime, fromEvent, race, timer } from 'rxjs'\nimport { SchmancyNotification } from './notification'\n\nexport type TNotification = 'success' | 'error' | 'warning' | 'info'\nexport type TNotificationConfig = {\n\taction?: typeof Function\n\tduration?: number\n}\n\n// Create a notification component and assign it the proper type.\nfunction createNotificationComponent(message: string, type: TNotification): SchmancyNotification {\n\tconst notificationComponent = document.createElement('schmancy-notification') as SchmancyNotification\n\tnotificationComponent.setAttribute('type', type)\n\tnotificationComponent.innerHTML = message\n\treturn notificationComponent\n}\n\n// Main notifications subject: each emission will schedule a notification.\nconst $notifications = new Subject<{\n\tcomponent: SchmancyNotification\n\tconfig?: TNotificationConfig\n}>()\n\n// New subject to handle explicit dismiss calls.\nconst $dismissNotification = new Subject<SchmancyNotification>()\n\n// Exported API for notifications\nexport const $notify = {\n\tsuccess: (message: string, config?: TNotificationConfig) => {\n\t\tconst component = createNotificationComponent(message, 'success')\n\t\t$notifications.next({ component, config })\n\t\treturn component\n\t},\n\terror: (message: string, config?: TNotificationConfig) => {\n\t\tconst component = createNotificationComponent(message, 'error')\n\t\t$notifications.next({ component, config })\n\t\treturn component\n\t},\n\twarning: (message: string, config?: TNotificationConfig) => {\n\t\tconst component = createNotificationComponent(message, 'warning')\n\t\t$notifications.next({ component, config })\n\t\treturn component\n\t},\n\tinfo: (message: string, config?: TNotificationConfig) => {\n\t\tconst component = createNotificationComponent(message, 'info')\n\t\t$notifications.next({ component, config })\n\t\treturn component\n\t},\n\t// New dismiss method: call this with a notification component to dismiss it early.\n\tdismiss: (component: SchmancyNotification) => {\n\t\t$dismissNotification.next(component)\n\t},\n}\n\n// Optional: If you want to collapse multiple notifications into a single one,\n// the same logic as before can be retained.\n$notifications.pipe(buffer($notifications.pipe(debounceTime(1000)))).subscribe(notifications => {\n\tif (notifications.length > 1) {\n\t\tconst notification = notifications[notifications.length - 1]\n\t\t// Re-emit the latest notification for display.\n\t\t$notifications.next({ component: notification.component, config: notification.config })\n\t}\n})\n\n// Whenever a notification is published, append it to the DOM and set up removal.\n$notifications.subscribe(({ component, config }) => {\n\tdocument.body?.appendChild(component)\n\n\t// Create a race: wait for either the component’s own 'close' event (or an external dismiss)\n\t// or a timeout based on the config's duration (default: 3000ms).\n\trace(fromEvent(component, 'close'), timer(config?.duration ?? 3000)).subscribe(() => {\n\t\tcomponent.remove()\n\t})\n})\n\n// Listen for explicit dismiss calls. When a notification is to be dismissed via $notify.dismiss(),\n// dispatch a 'close' event on it. This will trigger the race above.\n$dismissNotification.subscribe(component => {\n\t// You could also include any additional logic here if needed.\n\tcomponent.dispatchEvent(new CustomEvent('close'))\n})\n","import { TailwindElement } from '@mixins/index'\nimport { $notify } from '@schmancy/notification'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n@customElement('schmancy-notification')\nexport class SchmancyNotification extends TailwindElement() {\n\t@property({ type: String })\n\ttype: 'success' | 'error' | 'warning' | 'info' = 'success'\n\n\trender() {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\taria-live=\"assertive\"\n\t\t\t\tclass=\"pointer-events-none z-[999999] fixed inset-0 flex items-end px-4 py-6 sm:items-start sm:p-6\"\n\t\t\t>\n\t\t\t\t<div class=\"flex w-full flex-col items-center space-y-4 sm:items-end\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"pointer-events-auto w-full max-w-sm overflow-hidden rounded-lg bg-surface-container shadow-lg ring-1 ring-outlineVariant ring-opacity-5\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"p-2\">\n\t\t\t\t\t\t\t<div class=\"flex items-center\">\n\t\t\t\t\t\t\t\t<div class=\"shrink-0\">\n\t\t\t\t\t\t\t\t\t${this.type === 'success'\n\t\t\t\t\t\t\t\t\t\t? html` <svg\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"h-6 w-6 text-success-default\"\n\t\t\t\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"1.5\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\td=\"M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</svg>`\n\t\t\t\t\t\t\t\t\t\t: html` <svg\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"h-6 w-6 text-error-default\"\n\t\t\t\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"1.5\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\t\td=\"M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</svg>`}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"ml-3 w-0 flex-1 pt-0.5\">\n\t\t\t\t\t\t\t\t\t<p class=\" text-sm \">\n\t\t\t\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"ml-4 flex shrink-0\">\n\t\t\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\t\t\t\t$notify.dismiss(this)\n\t\t\t\t\t\t\t\t\t\t\tthis.dispatchEvent(new CustomEvent('close'))\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<span class=\"sr-only\">Close</span>\n\t\t\t\t\t\t\t\t\t\tclose\n\t\t\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-notification': SchmancyNotification\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-notification-outlet')\nexport class SchmancyNotificationOutlet extends TailwindElement() {\n\trender() {\n\t\treturn html` <slot></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-notification-outlet': SchmancyNotificationOutlet\n\t}\n}\n"],"names":["createNotificationComponent","message","type","notificationComponent","document","createElement","setAttribute","innerHTML","$notifications","Subject","$dismissNotification","$notify","success","config","component","next","error","warning","info","dismiss","pipe","buffer","debounceTime","subscribe","notifications","length","notification","body","appendChild","race","fromEvent","timer","duration","remove","dispatchEvent","CustomEvent","SchmancyNotification","TailwindElement","super","arguments","this","html","__decorateClass","property","String","prototype","customElement","SchmancyNotificationOutlet"],"mappings":"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"}