@mhmo91/schmancy 0.4.53 → 0.4.55
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.
- package/ai/map.md +232 -0
- package/ai/notification.md +158 -45
- package/dist/ai/map.md +232 -0
- package/dist/ai/notification.md +158 -45
- package/dist/{animated-text-D26Fv13t.js → animated-text-Bns9oiIU.js} +3 -3
- package/dist/{animated-text-D26Fv13t.js.map → animated-text-Bns9oiIU.js.map} +1 -1
- package/dist/{animated-text-CtXY3MHV.cjs → animated-text-CHUcj2G2.cjs} +2 -2
- package/dist/{animated-text-CtXY3MHV.cjs.map → animated-text-CHUcj2G2.cjs.map} +1 -1
- package/dist/animated-text.cjs +1 -1
- package/dist/animated-text.js +1 -1
- package/dist/area.cjs +1 -1
- package/dist/{area.component-BCcq9Nb7.js → area.component-Aur5h5TN.js} +10 -10
- package/dist/{area.component-BCcq9Nb7.js.map → area.component-Aur5h5TN.js.map} +1 -1
- package/dist/{area.component-DQ_erV9e.cjs → area.component-BTZcyqR5.cjs} +2 -2
- package/dist/{area.component-DQ_erV9e.cjs.map → area.component-BTZcyqR5.cjs.map} +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-CkycjWy4.js → autocomplete-BhjrqWor.js} +3 -3
- package/dist/{autocomplete-CkycjWy4.js.map → autocomplete-BhjrqWor.js.map} +1 -1
- package/dist/{autocomplete-CrhgxhFI.cjs → autocomplete-CleoNM85.cjs} +2 -2
- package/dist/{autocomplete-CrhgxhFI.cjs.map → autocomplete-CleoNM85.cjs.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{avatar-nwqyt3uc.cjs → avatar-DoUVCqad.cjs} +2 -2
- package/dist/{avatar-nwqyt3uc.cjs.map → avatar-DoUVCqad.cjs.map} +1 -1
- package/dist/{avatar-BXx1oJMG.js → avatar-j733KoCV.js} +53 -51
- package/dist/{avatar-BXx1oJMG.js.map → avatar-j733KoCV.js.map} +1 -1
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-C_BvtlNQ.js → boat-CIA-nk8V.js} +2 -2
- package/dist/{boat-C_BvtlNQ.js.map → boat-CIA-nk8V.js.map} +1 -1
- package/dist/{boat-B_xZilsk.cjs → boat-DU_GhEJ2.cjs} +2 -2
- package/dist/{boat-B_xZilsk.cjs.map → boat-DU_GhEJ2.cjs.map} +1 -1
- package/dist/boat.cjs +1 -1
- package/dist/boat.js +1 -1
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/button.cjs +1 -1
- package/dist/button.js +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/{checkbox-c3DzDvWH.js → checkbox-BCTABF4s.js} +6 -6
- package/dist/{checkbox-c3DzDvWH.js.map → checkbox-BCTABF4s.js.map} +1 -1
- package/dist/{checkbox-BAuVXvYL.cjs → checkbox-DblOhLz_.cjs} +2 -2
- package/dist/{checkbox-BAuVXvYL.cjs.map → checkbox-DblOhLz_.cjs.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-Dn8RpKCE.js → chips-BbMM2s8r.js} +3 -3
- package/dist/{chips-Dn8RpKCE.js.map → chips-BbMM2s8r.js.map} +1 -1
- package/dist/{chips-Dg2otqDI.cjs → chips-LAtr3to0.cjs} +2 -2
- package/dist/{chips-Dg2otqDI.cjs.map → chips-LAtr3to0.cjs.map} +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +1 -1
- package/dist/{circular-progress-DZUJU-z3.cjs → circular-progress-BKwcIgEZ.cjs} +2 -2
- package/dist/{circular-progress-DZUJU-z3.cjs.map → circular-progress-BKwcIgEZ.cjs.map} +1 -1
- package/dist/{circular-progress-B1RjFzcp.js → circular-progress-DtAG2JJn.js} +3 -3
- package/dist/{circular-progress-B1RjFzcp.js.map → circular-progress-DtAG2JJn.js.map} +1 -1
- package/dist/circular-progress.cjs +1 -1
- package/dist/circular-progress.js +1 -1
- package/dist/code-highlight.cjs +1 -1
- package/dist/code-highlight.js +1 -1
- package/dist/{code-preview-JlSLKkKg.js → code-preview-BgwAlMc_.js} +2 -2
- package/dist/{code-preview-JlSLKkKg.js.map → code-preview-BgwAlMc_.js.map} +1 -1
- package/dist/{code-preview-CYHNaPek.cjs → code-preview-Bn6-jpNm.cjs} +2 -2
- package/dist/{code-preview-CYHNaPek.cjs.map → code-preview-Bn6-jpNm.cjs.map} +1 -1
- package/dist/components.cjs +1 -1
- package/dist/components.js +1 -1
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/{date-range-8o_f5N7V.js → date-range-CBfV-vU_.js} +4 -4
- package/dist/{date-range-8o_f5N7V.js.map → date-range-CBfV-vU_.js.map} +1 -1
- package/dist/{date-range-9NUFmKqd.cjs → date-range-CNsf8eFb.cjs} +2 -2
- package/dist/{date-range-9NUFmKqd.cjs.map → date-range-CNsf8eFb.cjs.map} +1 -1
- package/dist/{date-range-inline-Czq1wHs1.cjs → date-range-inline-ECHd558D.cjs} +2 -2
- package/dist/{date-range-inline-Czq1wHs1.cjs.map → date-range-inline-ECHd558D.cjs.map} +1 -1
- package/dist/{date-range-inline-B_K4YPtB.js → date-range-inline-VA3xdfyl.js} +3 -3
- package/dist/{date-range-inline-B_K4YPtB.js.map → date-range-inline-VA3xdfyl.js.map} +1 -1
- package/dist/date-range-inline.cjs +1 -1
- package/dist/date-range-inline.js +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-DtVBjjLV.js → delay-B_3yscDy.js} +2 -2
- package/dist/{delay-DtVBjjLV.js.map → delay-B_3yscDy.js.map} +1 -1
- package/dist/{delay-FgtrEHdo.cjs → delay-DtUJwLKe.cjs} +2 -2
- package/dist/{delay-FgtrEHdo.cjs.map → delay-DtUJwLKe.cjs.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/details-Bkt6fV0b.js +134 -0
- package/dist/details-Bkt6fV0b.js.map +1 -0
- package/dist/details-X-ciBYba.cjs +109 -0
- package/dist/details-X-ciBYba.cjs.map +1 -0
- package/dist/details.cjs +2 -0
- package/dist/details.cjs.map +1 -0
- package/dist/details.js +5 -0
- package/dist/details.js.map +1 -0
- package/dist/{dialog-content-C_paCOeM.js → dialog-content-Y4RvMloi.js} +4 -4
- package/dist/{dialog-content-C_paCOeM.js.map → dialog-content-Y4RvMloi.js.map} +1 -1
- package/dist/{dialog-content-tGl9B67L.cjs → dialog-content-puP-JDoT.cjs} +2 -2
- package/dist/{dialog-content-tGl9B67L.cjs.map → dialog-content-puP-JDoT.cjs.map} +1 -1
- package/dist/{dialog-service-JNWTLfAy.cjs → dialog-service-BCfRtG2U.cjs} +2 -2
- package/dist/{dialog-service-JNWTLfAy.cjs.map → dialog-service-BCfRtG2U.cjs.map} +1 -1
- package/dist/{dialog-service-DZv4KB89.js → dialog-service-CY9yBEhe.js} +2 -2
- package/dist/{dialog-service-DZv4KB89.js.map → dialog-service-CY9yBEhe.js.map} +1 -1
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +2 -2
- package/dist/{divider-Dn26vIou.js → divider-BZq3k_da.js} +3 -3
- package/dist/{divider-Dn26vIou.js.map → divider-BZq3k_da.js.map} +1 -1
- package/dist/{divider-2yg9r1tF.cjs → divider-t1KWAOnw.cjs} +2 -2
- package/dist/{divider-2yg9r1tF.cjs.map → divider-t1KWAOnw.cjs.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-DJ4CA3ug.cjs → dropdown-content-D834SoZi.cjs} +2 -2
- package/dist/{dropdown-content-DJ4CA3ug.cjs.map → dropdown-content-D834SoZi.cjs.map} +1 -1
- package/dist/{dropdown-content-DNJhJCdV.js → dropdown-content-JvpnX2RS.js} +3 -3
- package/dist/{dropdown-content-DNJhJCdV.js.map → dropdown-content-JvpnX2RS.js.map} +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{flex-DV2W2Zgu.js → flex-CAsda_Fe.js} +2 -2
- package/dist/{flex-DV2W2Zgu.js.map → flex-CAsda_Fe.js.map} +1 -1
- package/dist/{flex-DWnX0ZPR.cjs → flex-LjqLwPhI.cjs} +2 -2
- package/dist/{flex-DWnX0ZPR.cjs.map → flex-LjqLwPhI.cjs.map} +1 -1
- package/dist/{form-Dpokur4M.cjs → form-CpIQ4L1j.cjs} +2 -2
- package/dist/{form-Dpokur4M.cjs.map → form-CpIQ4L1j.cjs.map} +1 -1
- package/dist/{form-Cots2cbN.js → form-czxHWLos.js} +2 -2
- package/dist/{form-Cots2cbN.js.map → form-czxHWLos.js.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{formField.mixin-ySoLTrgX.cjs → formField.mixin-BD-_Rnyy.cjs} +2 -2
- package/dist/{formField.mixin-ySoLTrgX.cjs.map → formField.mixin-BD-_Rnyy.cjs.map} +1 -1
- package/dist/{formField.mixin-DdTDdv9g.js → formField.mixin-bSNupTkm.js} +2 -2
- package/dist/{formField.mixin-DdTDdv9g.js.map → formField.mixin-bSNupTkm.js.map} +1 -1
- package/dist/{icon-BZxC9aoA.js → icon-B8LhF-rS.js} +2 -2
- package/dist/{icon-BZxC9aoA.js.map → icon-B8LhF-rS.js.map} +1 -1
- package/dist/{icon-mhchC8Qw.cjs → icon-DgnS9IuB.cjs} +2 -2
- package/dist/{icon-mhchC8Qw.cjs.map → icon-DgnS9IuB.cjs.map} +1 -1
- package/dist/{icon-button-DbvjV5zJ.cjs → icon-button-CK0UyXcE.cjs} +2 -2
- package/dist/{icon-button-DbvjV5zJ.cjs.map → icon-button-CK0UyXcE.cjs.map} +1 -1
- package/dist/{icon-button-BGvSPuE-.js → icon-button-DdvdiQga.js} +3 -3
- package/dist/{icon-button-BGvSPuE-.js.map → icon-button-DdvdiQga.js.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +166 -159
- package/dist/index.js.map +1 -1
- package/dist/{input-DzNoI9qU.cjs → input-DJKVCqiL.cjs} +2 -2
- package/dist/{input-DzNoI9qU.cjs.map → input-DJKVCqiL.cjs.map} +1 -1
- package/dist/{input-Cpo-ws8k.js → input-rNxC53BQ.js} +3 -3
- package/dist/{input-Cpo-ws8k.js.map → input-rNxC53BQ.js.map} +1 -1
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +1 -1
- package/dist/{list-BTyoQ42F.js → list-ccMISKKN.js} +2 -2
- package/dist/{list-BTyoQ42F.js.map → list-ccMISKKN.js.map} +1 -1
- package/dist/{list-DRbkWHho.cjs → list-e54Aokyk.cjs} +2 -2
- package/dist/{list-DRbkWHho.cjs.map → list-e54Aokyk.cjs.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-BH9PTyUD.js → litElement.mixin-BMewYv9c.js} +2 -2
- package/dist/{litElement.mixin-BH9PTyUD.js.map → litElement.mixin-BMewYv9c.js.map} +1 -1
- package/dist/{litElement.mixin-B01R2oT7.cjs → litElement.mixin-Brn_lsa3.cjs} +2 -2
- package/dist/{litElement.mixin-B01R2oT7.cjs.map → litElement.mixin-Brn_lsa3.cjs.map} +1 -1
- package/dist/map-CsuRRLbB.js +175 -0
- package/dist/map-CsuRRLbB.js.map +1 -0
- package/dist/map-D3nhiTCn.cjs +81 -0
- package/dist/map-D3nhiTCn.cjs.map +1 -0
- package/dist/map.cjs +2 -0
- package/dist/map.cjs.map +1 -0
- package/dist/map.js +5 -0
- package/dist/map.js.map +1 -0
- package/dist/{media-BO-aZBTp.js → media-BtAS-xyw.js} +2 -2
- package/dist/{media-BO-aZBTp.js.map → media-BtAS-xyw.js.map} +1 -1
- package/dist/{media-CIuTybvD.cjs → media-Dd0PTrZ3.cjs} +2 -2
- package/dist/{media-CIuTybvD.cjs.map → media-Dd0PTrZ3.cjs.map} +1 -1
- package/dist/{menu-DWCDQvGY.js → menu-CAhuu8Ei.js} +3 -3
- package/dist/{menu-DWCDQvGY.js.map → menu-CAhuu8Ei.js.map} +1 -1
- package/dist/{menu-DEbZxoXr.cjs → menu-CFqp1aH7.cjs} +2 -2
- package/dist/{menu-DEbZxoXr.cjs.map → menu-CFqp1aH7.cjs.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +1 -1
- package/dist/{notification-service-L_h9_d4v.js → notification-service-Byz67oln.js} +142 -113
- package/dist/notification-service-Byz67oln.js.map +1 -0
- package/dist/notification-service-KWQfnc6d.cjs +143 -0
- package/dist/notification-service-KWQfnc6d.cjs.map +1 -0
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +7 -4
- package/dist/notification.js.map +1 -1
- package/dist/notify-BIdXyvMf.js +35 -0
- package/dist/notify-BIdXyvMf.js.map +1 -0
- package/dist/notify-DDzsX0lt.cjs +2 -0
- package/dist/notify-DDzsX0lt.cjs.map +1 -0
- package/dist/number-B7aCRYnH.cjs.map +1 -1
- package/dist/number-BhTiptLA.js.map +1 -1
- package/dist/{option-vRGeXw_u.js → option-BCg6S7Jj.js} +2 -2
- package/dist/{option-vRGeXw_u.js.map → option-BCg6S7Jj.js.map} +1 -1
- package/dist/{option-BPmOG_Hw.cjs → option-DarGe_f3.cjs} +2 -2
- package/dist/{option-BPmOG_Hw.cjs.map → option-DarGe_f3.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{payment-card-form-Cs5bP5Di.js → payment-card-form-C1W2DPu4.js} +3 -3
- package/dist/{payment-card-form-Cs5bP5Di.js.map → payment-card-form-C1W2DPu4.js.map} +1 -1
- package/dist/{payment-card-form-ccF9dfGC.cjs → payment-card-form-CW3KC9QK.cjs} +2 -2
- package/dist/{payment-card-form-ccF9dfGC.cjs.map → payment-card-form-CW3KC9QK.cjs.map} +1 -1
- package/dist/{progress-BqZ7yHQe.cjs → progress-B-ZZ40CK.cjs} +2 -2
- package/dist/{progress-BqZ7yHQe.cjs.map → progress-B-ZZ40CK.cjs.map} +1 -1
- package/dist/{progress-DM_jha7D.js → progress-BSJSsYj7.js} +2 -2
- package/dist/{progress-DM_jha7D.js.map → progress-BSJSsYj7.js.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{radio-button-WmbuT_YW.cjs → radio-button-CsIIrM_C.cjs} +2 -2
- package/dist/{radio-button-WmbuT_YW.cjs.map → radio-button-CsIIrM_C.cjs.map} +1 -1
- package/dist/{radio-button-YDzqdRA-.js → radio-button-DX4XSjAy.js} +3 -3
- package/dist/{radio-button-YDzqdRA-.js.map → radio-button-DX4XSjAy.js.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{schmancy-steps-container-CoARMXfB.js → schmancy-steps-container-8RdoKtdK.js} +2 -2
- package/dist/{schmancy-steps-container-CoARMXfB.js.map → schmancy-steps-container-8RdoKtdK.js.map} +1 -1
- package/dist/{schmancy-steps-container-CjAsrjKf.cjs → schmancy-steps-container-DADzK9o0.cjs} +2 -2
- package/dist/{schmancy-steps-container-CjAsrjKf.cjs.map → schmancy-steps-container-DADzK9o0.cjs.map} +1 -1
- package/dist/{select-rwocpGs2.js → select-C-KLPYEJ.js} +3 -3
- package/dist/{select-rwocpGs2.js.map → select-C-KLPYEJ.js.map} +1 -1
- package/dist/{select-CPnSionr.cjs → select-CF9aojhZ.cjs} +2 -2
- package/dist/{select-CPnSionr.cjs.map → select-CF9aojhZ.cjs.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-Cw2qLdzN.js → sheet-BQ2PhU-0.js} +4 -4
- package/dist/{sheet-Cw2qLdzN.js.map → sheet-BQ2PhU-0.js.map} +1 -1
- package/dist/{sheet-eCDoMdHF.cjs → sheet-CzCiJ3yC.cjs} +2 -2
- package/dist/{sheet-eCDoMdHF.cjs.map → sheet-CzCiJ3yC.cjs.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-C7Z1bPq7.js → slider-Bo0_X0Xt.js} +3 -3
- package/dist/{slider-C7Z1bPq7.js.map → slider-Bo0_X0Xt.js.map} +1 -1
- package/dist/{slider-DBNoXRWS.cjs → slider-C4fwo5P3.cjs} +2 -2
- package/dist/{slider-DBNoXRWS.cjs.map → slider-C4fwo5P3.cjs.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-CbA-FXRK.js → spinner-CKnK4QHu.js} +2 -2
- package/dist/{spinner-CbA-FXRK.js.map → spinner-CKnK4QHu.js.map} +1 -1
- package/dist/{spinner-CV62BBoF.cjs → spinner-DMoZTIMe.cjs} +2 -2
- package/dist/{spinner-CV62BBoF.cjs.map → spinner-DMoZTIMe.cjs.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{surface-By8o7nWa.js → surface-BEaRxAZt.js} +2 -2
- package/dist/{surface-By8o7nWa.js.map → surface-BEaRxAZt.js.map} +1 -1
- package/dist/{surface-ClfeUI6q.cjs → surface-Bcy2LzAX.cjs} +2 -2
- package/dist/{surface-ClfeUI6q.cjs.map → surface-Bcy2LzAX.cjs.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-Rqnb4AJl.cjs → table-9AyLMNRe.cjs} +2 -2
- package/dist/{table-Rqnb4AJl.cjs.map → table-9AyLMNRe.cjs.map} +1 -1
- package/dist/{table-CvMo5lOi.js → table-MzCzXjAC.js} +2 -2
- package/dist/{table-CvMo5lOi.js.map → table-MzCzXjAC.js.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-BEXurIiZ.js → tabs-compatibility-D5xv33oo.js} +2 -2
- package/dist/{tabs-compatibility-BEXurIiZ.js.map → tabs-compatibility-D5xv33oo.js.map} +1 -1
- package/dist/{tabs-compatibility-B1bE7hSG.cjs → tabs-compatibility-N1qxOCYJ.cjs} +2 -2
- package/dist/{tabs-compatibility-B1bE7hSG.cjs.map → tabs-compatibility-N1qxOCYJ.cjs.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-BTGoGfEI.js +43 -0
- package/dist/{tailwind.mixin-CaIkmP6j.js.map → tailwind.mixin-BTGoGfEI.js.map} +1 -1
- package/dist/tailwind.mixin-KC3Nl9kj.cjs +2 -0
- package/dist/{tailwind.mixin-DVKI3qb9.cjs.map → tailwind.mixin-KC3Nl9kj.cjs.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-DM3lgEUp.js → textarea-BHGIbEBY.js} +2 -2
- package/dist/{textarea-DM3lgEUp.js.map → textarea-BHGIbEBY.js.map} +1 -1
- package/dist/{textarea-Dlnyyrbq.cjs → textarea-DUBjaAfu.cjs} +2 -2
- package/dist/{textarea-Dlnyyrbq.cjs.map → textarea-DUBjaAfu.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-Cao8AH8r.cjs → theme-button-C2-L23sJ.cjs} +2 -2
- package/dist/{theme-button-Cao8AH8r.cjs.map → theme-button-C2-L23sJ.cjs.map} +1 -1
- package/dist/{theme-button-C4JWRMiC.js → theme-button-FU1OUOBA.js} +2 -2
- package/dist/{theme-button-C4JWRMiC.js.map → theme-button-FU1OUOBA.js.map} +1 -1
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/{theme.component-RtV3l-Ns.cjs → theme.component-BQr3n0fE.cjs} +3 -3
- package/dist/{theme.component-RtV3l-Ns.cjs.map → theme.component-BQr3n0fE.cjs.map} +1 -1
- package/dist/{theme.component-ColRTbY5.js → theme.component-BYGB9dTb.js} +2 -2
- package/dist/{theme.component-ColRTbY5.js.map → theme.component-BYGB9dTb.js.map} +1 -1
- package/dist/theme.js +1 -1
- package/dist/{timezone-Cvsd--fr.js → timezone-BgX3qSF-.js} +3 -3
- package/dist/{timezone-Cvsd--fr.js.map → timezone-BgX3qSF-.js.map} +1 -1
- package/dist/{timezone-UBBApQoU.cjs → timezone-DexhNs9f.cjs} +2 -2
- package/dist/{timezone-UBBApQoU.cjs.map → timezone-DexhNs9f.cjs.map} +1 -1
- package/dist/{tooltip-nwQwCEgl.js → tooltip-CkGy17kd.js} +2 -2
- package/dist/{tooltip-nwQwCEgl.js.map → tooltip-CkGy17kd.js.map} +1 -1
- package/dist/{tooltip-WpE4e-fO.cjs → tooltip-xj7RGLlB.cjs} +2 -2
- package/dist/{tooltip-WpE4e-fO.cjs.map → tooltip-xj7RGLlB.cjs.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-BDmB7KmQ.js → tree-BeU8nzGP.js} +2 -2
- package/dist/{tree-BDmB7KmQ.js.map → tree-BeU8nzGP.js.map} +1 -1
- package/dist/{tree-Dn0t7MUR.cjs → tree-DSpkwuOO.cjs} +2 -2
- package/dist/{tree-Dn0t7MUR.cjs.map → tree-DSpkwuOO.cjs.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-Fq4uV6Gm.cjs → typewriter-Bn7fe4nG.cjs} +2 -2
- package/dist/{typewriter-Fq4uV6Gm.cjs.map → typewriter-Bn7fe4nG.cjs.map} +1 -1
- package/dist/{typewriter-CXadCi-4.js → typewriter-CbONIeGA.js} +7 -7
- package/dist/{typewriter-CXadCi-4.js.map → typewriter-CbONIeGA.js.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-BhCrqK_b.cjs → typography-CJ5-RiNW.cjs} +2 -2
- package/dist/{typography-BhCrqK_b.cjs.map → typography-CJ5-RiNW.cjs.map} +1 -1
- package/dist/{typography-DYCOngD7.js → typography-D1m-mdd7.js} +2 -2
- package/dist/{typography-DYCOngD7.js.map → typography-D1m-mdd7.js.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +1 -1
- package/types/src/details/details.d.ts +14 -0
- package/types/src/details/index.d.ts +1 -0
- package/types/src/index.d.ts +2 -0
- package/types/src/map/index.d.ts +1 -0
- package/types/src/map/map.d.ts +129 -0
- package/types/src/notification/index.d.ts +2 -0
- package/types/src/notification/notification-container.d.ts +3 -0
- package/types/src/notification/notification-service.d.ts +19 -0
- package/types/src/notification/notification.d.ts +2 -0
- package/types/src/notification/notify.d.ts +100 -0
- package/types/src/utils/number.d.ts +2 -0
- package/dist/notification-service-B6nHqzq5.cjs +0 -141
- package/dist/notification-service-B6nHqzq5.cjs.map +0 -1
- package/dist/notification-service-L_h9_d4v.js.map +0 -1
- package/dist/tailwind.mixin-CaIkmP6j.js +0 -43
- package/dist/tailwind.mixin-DVKI3qb9.cjs +0 -2
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
interface GoogleMapsAPI {
|
|
3
|
+
maps: {
|
|
4
|
+
Map: new (element: HTMLElement, options: any) => any;
|
|
5
|
+
Marker: new (options: any) => any;
|
|
6
|
+
Geocoder: new () => any;
|
|
7
|
+
LatLng: new (lat: number, lng: number) => any;
|
|
8
|
+
MapTypeId: {
|
|
9
|
+
ROADMAP: string;
|
|
10
|
+
SATELLITE: string;
|
|
11
|
+
HYBRID: string;
|
|
12
|
+
TERRAIN: string;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
declare global {
|
|
17
|
+
interface Window {
|
|
18
|
+
google?: GoogleMapsAPI;
|
|
19
|
+
initGoogleMaps?: () => void;
|
|
20
|
+
__schmancyGoogleMapsLoading?: Observable<boolean>;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
declare const SchmancyMap_base: import("@mixins/index").Constructor<CustomElementConstructor> & import("@mixins/index").Constructor<import("@mixins/index").ITailwindElementMixin> & import("@mixins/index").Constructor<import("lit").LitElement> & import("@mixins/index").Constructor<import("@mixins/index").IBaseMixin>;
|
|
24
|
+
/**
|
|
25
|
+
* `<schmancy-map>` component
|
|
26
|
+
*
|
|
27
|
+
* A Google Maps component with an intuitive API for displaying interactive or static maps.
|
|
28
|
+
* Supports both address strings (with automatic geocoding) and precise coordinates.
|
|
29
|
+
*
|
|
30
|
+
* @element schmancy-map
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* <!-- Simple address -->
|
|
34
|
+
* <schmancy-map address="Times Square, New York"></schmancy-map>
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* <!-- With coordinates -->
|
|
38
|
+
* <schmancy-map latitude="40.758" longitude="-73.985" zoom="17"></schmancy-map>
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* <!-- Satellite view -->
|
|
42
|
+
* <schmancy-map address="Grand Canyon" type="satellite" height="500px"></schmancy-map>
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* <!-- Static map -->
|
|
46
|
+
* <schmancy-map address="Eiffel Tower, Paris" interactive="false" controls="false"></schmancy-map>
|
|
47
|
+
*/
|
|
48
|
+
export default class SchmancyMap extends SchmancyMap_base {
|
|
49
|
+
/**
|
|
50
|
+
* Simple address string that automatically geocodes to display the location.
|
|
51
|
+
* Takes precedence over latitude/longitude if both are provided.
|
|
52
|
+
*/
|
|
53
|
+
address: string;
|
|
54
|
+
/**
|
|
55
|
+
* Latitude coordinate for precise location.
|
|
56
|
+
* Used when address is not provided.
|
|
57
|
+
*/
|
|
58
|
+
latitude?: number;
|
|
59
|
+
/**
|
|
60
|
+
* Longitude coordinate for precise location.
|
|
61
|
+
* Used when address is not provided.
|
|
62
|
+
*/
|
|
63
|
+
longitude?: number;
|
|
64
|
+
/**
|
|
65
|
+
* Map zoom level. Higher numbers show more detail.
|
|
66
|
+
* @default 15
|
|
67
|
+
*/
|
|
68
|
+
zoom: number;
|
|
69
|
+
/**
|
|
70
|
+
* Height of the map with CSS unit (e.g., "400px", "50vh").
|
|
71
|
+
* @default "400px"
|
|
72
|
+
*/
|
|
73
|
+
height: string;
|
|
74
|
+
/**
|
|
75
|
+
* Whether to show a marker at the location.
|
|
76
|
+
* @default true
|
|
77
|
+
*/
|
|
78
|
+
marker: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Tooltip text for the location marker.
|
|
81
|
+
*/
|
|
82
|
+
markerTitle: string;
|
|
83
|
+
/**
|
|
84
|
+
* Map display type.
|
|
85
|
+
* Options: "roadmap", "satellite", "hybrid", "terrain"
|
|
86
|
+
* @default "roadmap"
|
|
87
|
+
*/
|
|
88
|
+
type: 'roadmap' | 'satellite' | 'hybrid' | 'terrain';
|
|
89
|
+
/**
|
|
90
|
+
* Whether users can interact with the map (pan, zoom, click).
|
|
91
|
+
* @default true
|
|
92
|
+
*/
|
|
93
|
+
interactive: boolean;
|
|
94
|
+
/**
|
|
95
|
+
* Whether to show map controls (zoom buttons, fullscreen, etc.).
|
|
96
|
+
* @default true
|
|
97
|
+
*/
|
|
98
|
+
controls: boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Google Maps API key. Required for the map to load.
|
|
101
|
+
*/
|
|
102
|
+
apiKey: string;
|
|
103
|
+
private loading;
|
|
104
|
+
private error;
|
|
105
|
+
private mapRef;
|
|
106
|
+
private map?;
|
|
107
|
+
private mapMarker?;
|
|
108
|
+
private geocoder?;
|
|
109
|
+
private intersectionObserver?;
|
|
110
|
+
private hasLoadedMap;
|
|
111
|
+
connectedCallback(): void;
|
|
112
|
+
disconnectedCallback(): void;
|
|
113
|
+
private setupIntersectionObserver;
|
|
114
|
+
private loadMap;
|
|
115
|
+
private pendingCoordinates?;
|
|
116
|
+
private getCoordinates;
|
|
117
|
+
private geocodeAddress;
|
|
118
|
+
private initializeMap;
|
|
119
|
+
private getMapTypeId;
|
|
120
|
+
private addMarker;
|
|
121
|
+
protected updated(changedProperties: Map<string, any>): void;
|
|
122
|
+
protected render(): import("lit-html").TemplateResult<1>;
|
|
123
|
+
}
|
|
124
|
+
declare global {
|
|
125
|
+
interface HTMLElementTagNameMap {
|
|
126
|
+
'schmancy-map': SchmancyMap;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
export {};
|
|
@@ -4,3 +4,5 @@ export { NotificationAudioService } from './notification-audio';
|
|
|
4
4
|
export { default as SchmancyNotificationContainer } from './notification-container';
|
|
5
5
|
export type { NotificationItem, NotificationOptions } from './notification-container';
|
|
6
6
|
export { $notify } from './notification-service';
|
|
7
|
+
export { notify, notifyProgress } from './notify';
|
|
8
|
+
export type { NotifyOptions } from './notify';
|
|
@@ -7,6 +7,7 @@ export interface NotificationItem {
|
|
|
7
7
|
duration: number;
|
|
8
8
|
closable: boolean;
|
|
9
9
|
playSound: boolean;
|
|
10
|
+
showProgress?: boolean;
|
|
10
11
|
}
|
|
11
12
|
export interface NotificationOptions {
|
|
12
13
|
id?: string;
|
|
@@ -16,6 +17,7 @@ export interface NotificationOptions {
|
|
|
16
17
|
duration?: number;
|
|
17
18
|
closable?: boolean;
|
|
18
19
|
playSound?: boolean;
|
|
20
|
+
showProgress?: boolean;
|
|
19
21
|
}
|
|
20
22
|
declare const SchmancyNotificationContainer_base: CustomElementConstructor & import("@mixins/index").Constructor<import("lit").LitElement> & import("@mixins/index").Constructor<import("@mixins/index").IBaseMixin>;
|
|
21
23
|
/**
|
|
@@ -33,6 +35,7 @@ export default class SchmancyNotificationContainer extends SchmancyNotificationC
|
|
|
33
35
|
connectedCallback(): void;
|
|
34
36
|
addNotification(options: NotificationOptions): string;
|
|
35
37
|
removeNotification(id: string): void;
|
|
38
|
+
updateNotification(id: string, options: Partial<NotificationOptions>): void;
|
|
36
39
|
private _handleClose;
|
|
37
40
|
render(): import("lit-html").TemplateResult<1>;
|
|
38
41
|
}
|
|
@@ -5,6 +5,7 @@ import { NotificationOptions } from './notification-container';
|
|
|
5
5
|
*/
|
|
6
6
|
export declare class NotificationService {
|
|
7
7
|
private static instance;
|
|
8
|
+
private notificationStack;
|
|
8
9
|
private static DEFAULT_OPTIONS;
|
|
9
10
|
private constructor();
|
|
10
11
|
/**
|
|
@@ -16,6 +17,15 @@ export declare class NotificationService {
|
|
|
16
17
|
* @returns The ID of the created notification
|
|
17
18
|
*/
|
|
18
19
|
notify(options: NotificationOptions): string;
|
|
20
|
+
/**
|
|
21
|
+
* Dismiss a notification
|
|
22
|
+
* @param id Optional notification ID. If not provided, dismisses the most recent notification
|
|
23
|
+
*/
|
|
24
|
+
dismiss(id?: string): void;
|
|
25
|
+
/**
|
|
26
|
+
* Update a notification's content
|
|
27
|
+
*/
|
|
28
|
+
update(id: string, options: Partial<NotificationOptions>): void;
|
|
19
29
|
/**
|
|
20
30
|
* Show an info notification
|
|
21
31
|
*/
|
|
@@ -76,5 +86,14 @@ export declare const $notify: {
|
|
|
76
86
|
* Show a persistent notification that won't auto-dismiss
|
|
77
87
|
*/
|
|
78
88
|
persistent: (message: string, options?: Partial<Omit<NotificationOptions, "message" | "duration">>) => string;
|
|
89
|
+
/**
|
|
90
|
+
* Dismiss a notification
|
|
91
|
+
* @param id Optional notification ID. If not provided, dismisses the most recent notification (queue-like behavior)
|
|
92
|
+
*/
|
|
93
|
+
dismiss: (id?: string) => void;
|
|
94
|
+
/**
|
|
95
|
+
* Update a notification's content
|
|
96
|
+
*/
|
|
97
|
+
update: (id: string, options: Partial<NotificationOptions>) => void;
|
|
79
98
|
};
|
|
80
99
|
export default NotificationService;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { PropertyValues } from 'lit';
|
|
2
|
+
import '@schmancy/progress';
|
|
2
3
|
export type NotificationType = 'info' | 'success' | 'warning' | 'error';
|
|
3
4
|
declare const SchmancyNotification_base: CustomElementConstructor & import("@mixins/index").Constructor<import("lit").LitElement> & import("@mixins/index").Constructor<import("@mixins/index").IBaseMixin>;
|
|
4
5
|
/**
|
|
@@ -12,6 +13,7 @@ export default class SchmancyNotification extends SchmancyNotification_base {
|
|
|
12
13
|
duration: number;
|
|
13
14
|
id: string;
|
|
14
15
|
playSound: boolean;
|
|
16
|
+
showProgress: boolean;
|
|
15
17
|
private _visible;
|
|
16
18
|
private _progress;
|
|
17
19
|
private _hovered;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { NotificationOptions } from './notification-container';
|
|
3
|
+
export interface NotifyOptions {
|
|
4
|
+
/**
|
|
5
|
+
* Message to show while the operation is in progress
|
|
6
|
+
*/
|
|
7
|
+
loadingMessage?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Message to show when the operation completes successfully
|
|
10
|
+
*/
|
|
11
|
+
successMessage?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Message to show when the operation fails (can be a function to format error)
|
|
14
|
+
*/
|
|
15
|
+
errorMessage?: string | ((error: any) => string);
|
|
16
|
+
/**
|
|
17
|
+
* Type of notification for loading state
|
|
18
|
+
*/
|
|
19
|
+
loadingType?: NotificationOptions['type'];
|
|
20
|
+
/**
|
|
21
|
+
* Type of notification for success state
|
|
22
|
+
*/
|
|
23
|
+
successType?: NotificationOptions['type'];
|
|
24
|
+
/**
|
|
25
|
+
* Type of notification for error state
|
|
26
|
+
*/
|
|
27
|
+
errorType?: NotificationOptions['type'];
|
|
28
|
+
/**
|
|
29
|
+
* Whether to auto-dismiss the loading notification on complete/error
|
|
30
|
+
*/
|
|
31
|
+
autoDismissLoading?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Duration for success notification (ms). Use 0 for persistent
|
|
34
|
+
*/
|
|
35
|
+
successDuration?: number;
|
|
36
|
+
/**
|
|
37
|
+
* Duration for error notification (ms). Use 0 for persistent
|
|
38
|
+
*/
|
|
39
|
+
errorDuration?: number;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Wraps an Observable with notification lifecycle management.
|
|
43
|
+
* Shows a loading notification with progress indicator, then auto-dismisses and shows success/error notification.
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```typescript
|
|
47
|
+
* // Basic usage with progress indicator
|
|
48
|
+
* someApiCall().pipe(
|
|
49
|
+
* notify({
|
|
50
|
+
* loadingMessage: 'Loading data...',
|
|
51
|
+
* successMessage: 'Data loaded successfully!',
|
|
52
|
+
* errorMessage: 'Failed to load data'
|
|
53
|
+
* })
|
|
54
|
+
* ).subscribe()
|
|
55
|
+
*
|
|
56
|
+
* // With custom durations
|
|
57
|
+
* saveData().pipe(
|
|
58
|
+
* notify({
|
|
59
|
+
* loadingMessage: 'Saving...',
|
|
60
|
+
* successMessage: 'Saved!',
|
|
61
|
+
* successDuration: 5000, // Success stays for 5 seconds
|
|
62
|
+
* errorMessage: (err) => `Save failed: ${err.message}`,
|
|
63
|
+
* errorDuration: 0 // Error is persistent until dismissed
|
|
64
|
+
* })
|
|
65
|
+
* ).subscribe()
|
|
66
|
+
*
|
|
67
|
+
* // Full configuration example
|
|
68
|
+
* uploadFile().pipe(
|
|
69
|
+
* notify({
|
|
70
|
+
* loadingMessage: 'Uploading file...',
|
|
71
|
+
* loadingType: 'info',
|
|
72
|
+
* successMessage: 'Upload complete!',
|
|
73
|
+
* successType: 'success',
|
|
74
|
+
* successDuration: 3000,
|
|
75
|
+
* errorMessage: (err) => `Upload failed: ${err.message}`,
|
|
76
|
+
* errorType: 'error',
|
|
77
|
+
* errorDuration: 10000,
|
|
78
|
+
* autoDismissLoading: true
|
|
79
|
+
* })
|
|
80
|
+
* ).subscribe()
|
|
81
|
+
* ```
|
|
82
|
+
*/
|
|
83
|
+
export declare function notify<T>(options: NotifyOptions): (source: Observable<T>) => Observable<T>;
|
|
84
|
+
/**
|
|
85
|
+
* Simplified version for API calls that just need loading and auto-dismiss.
|
|
86
|
+
* Perfect for fire-and-forget operations where you want to show progress.
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```typescript
|
|
90
|
+
* downloadData().pipe(
|
|
91
|
+
* notifyProgress('Downloading...')
|
|
92
|
+
* ).subscribe()
|
|
93
|
+
*
|
|
94
|
+
* // With custom messages
|
|
95
|
+
* saveDocument().pipe(
|
|
96
|
+
* notifyProgress('Saving document...', 'Document saved!', 'Save failed')
|
|
97
|
+
* ).subscribe()
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
100
|
+
export declare function notifyProgress<T>(loadingMessage: string, successMessage?: string, errorMessage?: string): (source: Observable<T>) => Observable<T>;
|
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
"use strict";const b=require("rxjs"),T=require("lit/directives/class-map.js"),v=require("lit/directives/style-map.js"),w=require("./litElement.mixin-B01R2oT7.cjs");require("./tailwind.mixin-DVKI3qb9.cjs");const u=require("lit/decorators.js"),x=require("./ripple-C2BHbhcS.cjs"),l=require("./theme.interface-Xg5Zi46a.cjs"),h=require("lit"),A=require("lit/directives/repeat.js");var C=Object.defineProperty,_=Object.getOwnPropertyDescriptor,d=(s,t,e,i)=>{for(var o,n=i>1?void 0:i?_(t,e):t,a=s.length-1;a>=0;a--)(o=s[a])&&(n=(i?o(t,e,n):o(n))||n);return i&&n&&C(t,e,n),n};exports.SchmancyNotification=class extends w.$LitElement(':host{display:block;margin-bottom:10px}:host:last-child{margin-bottom:0}.notification{width:100%;max-width:400px;box-shadow:var(--schmancy-sys-elevation-2);overflow:hidden;transform:translate(0);opacity:1;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1);background-color:var(--schmancy-sys-color-surface-container);color:var(--schmancy-sys-color-surface-on);border-radius:16px;position:relative}.notification:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,#ffffff14,#fff0);z-index:1}.notification.info{border-left:4px solid var(--schmancy-sys-color-primary-default);background-color:color-mix(in srgb,var(--schmancy-sys-color-surface-container) 90%,var(--schmancy-sys-color-primary-container) 10%)}.notification.success{border-left:4px solid var(--schmancy-sys-color-success-default);background-color:color-mix(in srgb,var(--schmancy-sys-color-surface-container) 90%,var(--schmancy-sys-color-success-container) 10%)}.notification.warning{border-left:4px solid var(--schmancy-sys-color-tertiary-default);background-color:color-mix(in srgb,var(--schmancy-sys-color-surface-container) 90%,var(--schmancy-sys-color-tertiary-container) 10%)}.notification.error{border-left:4px solid var(--schmancy-sys-color-error-default);background-color:color-mix(in srgb,var(--schmancy-sys-color-surface-container) 90%,var(--schmancy-sys-color-error-container) 10%)}.notification.closing{transform:translate(120%);opacity:0}.notification .notification-content{display:flex;padding:18px 20px;align-items:flex-start;position:relative;z-index:2}.notification .icon-container{flex-shrink:0;margin-right:14px;display:flex;align-items:center;justify-content:center;border-radius:50%;width:28px;height:28px;position:relative}.notification .content{flex:1;min-width:0;display:flex;flex-direction:column}.notification .title{font-weight:500;font-size:16px;line-height:1.5;margin-bottom:2px;word-break:break-word;letter-spacing:.15px}.notification .message{font-size:14px;line-height:1.5;word-break:break-word;letter-spacing:.25px;opacity:.92}.notification .close-button{background:transparent;border:none;cursor:pointer;color:var(--schmancy-sys-color-surface-onVariant);padding:8px;margin-left:8px;margin-right:-4px;margin-top:-4px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,transform .2s ease}.notification .close-button:hover{background-color:color-mix(in srgb,var(--schmancy-sys-color-surface-onVariant) 8%,transparent);transform:scale(1.05)}.notification .close-button:active{transform:scale(.95)}.notification .close-button:focus-visible{outline:none;box-shadow:0 0 0 2px var(--schmancy-sys-color-primary-default)}.notification .progress-bar-container{height:4px;width:100%;background-color:color-mix(in srgb,currentColor 8%,transparent);overflow:hidden;position:relative;z-index:2}.notification .progress-bar{height:100%;width:100%;transition:width .1s linear;border-radius:0 0 0 4px;background-image:linear-gradient(to right,currentColor 70%,color-mix(in srgb,currentColor 80%,white) 100%);opacity:.9}'){constructor(){super(...arguments),this.title="",this.message="",this.type="info",this.closable=!0,this.duration=5e3,this.id=`notification-${Date.now()}-${Math.floor(1e4*Math.random())}`,this.playSound=!0,this._visible=!0,this._progress=100,this._hovered=!1,this._closing=!1}connectedCallback(){super.connectedCallback(),this.duration>0&&this._startAutoCloseTimer(),this.playSound&&this._playSound()}disconnectedCallback(){this._clearTimers(),super.disconnectedCallback()}updated(s){super.updated(s),s.has("duration")&&this.duration>0&&(this._clearTimers(),this._startAutoCloseTimer())}_startAutoCloseTimer(){if(this.duration<=0)return;const s=Date.now()+this.duration;this._autoCloseTimer=window.setTimeout(()=>{this.close()},this.duration),this._progressTimer=window.setInterval(()=>{if(this._hovered)return;const t=Date.now(),e=Math.max(0,s-t);this._progress=e/this.duration*100,e<=0&&this._clearTimers()},16)}_clearTimers(){this._autoCloseTimer&&(clearTimeout(this._autoCloseTimer),this._autoCloseTimer=void 0),this._progressTimer&&(clearInterval(this._progressTimer),this._progressTimer=void 0)}_pauseTimers(){this._clearTimers()}_resumeTimers(){if(this.duration>0){const s=this._progress/100*this.duration;if(s>0){this._autoCloseTimer=window.setTimeout(()=>{this.close()},s);const t=Date.now()+s;this._progressTimer=window.setInterval(()=>{if(this._hovered)return;const e=Date.now(),i=Math.max(0,t-e);this._progress=i/s*100,i<=0&&this._clearTimers()},16)}}}_playSound(){this.dispatchEvent(new CustomEvent("playsound",{detail:{type:this.type},bubbles:!0,composed:!0}))}_handleMouseEnter(){this._hovered=!0,this._pauseTimers()}_handleMouseLeave(){this._hovered=!1,this._resumeTimers()}close(){this._closing||(this._closing=!0,this._clearTimers(),this._visible=!1,setTimeout(()=>{this.dispatchEvent(new CustomEvent("close",{detail:{id:this.id},bubbles:!0,composed:!0}))},300))}render(){if(!this._visible&&this._closing)return h.html``;const s=this._getTypeStyles(),t=this._hovered?"3":"2";return h.html`
|
|
2
|
-
<div
|
|
3
|
-
class=${T.classMap({notification:!0,closing:this._closing,[this.type]:!0})}
|
|
4
|
-
role="alert"
|
|
5
|
-
style=${v.styleMap({transform:this._closing?"translateX(120%)":"translateX(0)",opacity:this._closing?"0":"1",boxShadow:`var(--schmancy-sys-elevation-${t})`,transition:"transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s ease"})}
|
|
6
|
-
@mouseenter=${this._handleMouseEnter}
|
|
7
|
-
@mouseleave=${this._handleMouseLeave}
|
|
8
|
-
>
|
|
9
|
-
<div class="notification-content">
|
|
10
|
-
<div
|
|
11
|
-
class="icon-container"
|
|
12
|
-
${x.color({color:s.iconColor,bgColor:`color-mix(in srgb, ${s.iconColor} 10%, transparent)`})}
|
|
13
|
-
>
|
|
14
|
-
${s.icon}
|
|
15
|
-
</div>
|
|
16
|
-
|
|
17
|
-
<div class="content">
|
|
18
|
-
${this.title?h.html`
|
|
19
|
-
<div
|
|
20
|
-
class="title"
|
|
21
|
-
style=${v.styleMap({color:this.type==="info"?`color-mix(in srgb, ${l.SchmancyTheme.sys.color.primary.default} 90%, ${l.SchmancyTheme.sys.color.surface.on} 10%)`:this.type==="success"?`color-mix(in srgb, ${l.SchmancyTheme.sys.color.success.default} 90%, ${l.SchmancyTheme.sys.color.surface.on} 10%)`:this.type==="warning"?`color-mix(in srgb, ${l.SchmancyTheme.sys.color.tertiary.default} 90%, ${l.SchmancyTheme.sys.color.surface.on} 10%)`:`color-mix(in srgb, ${l.SchmancyTheme.sys.color.error.default} 90%, ${l.SchmancyTheme.sys.color.surface.on} 10%)`})}
|
|
22
|
-
>
|
|
23
|
-
${this.title}
|
|
24
|
-
</div>
|
|
25
|
-
`:""}
|
|
26
|
-
|
|
27
|
-
<div class="message">${this.message}</div>
|
|
28
|
-
</div>
|
|
29
|
-
|
|
30
|
-
${this.closable?h.html`
|
|
31
|
-
<button
|
|
32
|
-
class="close-button"
|
|
33
|
-
aria-label="Close notification"
|
|
34
|
-
@click=${this.close}
|
|
35
|
-
style=${v.styleMap({color:this.type==="info"?l.SchmancyTheme.sys.color.surface.onVariant:`color-mix(in srgb, ${s.iconColor} 80%, ${l.SchmancyTheme.sys.color.surface.onVariant} 20%)`})}
|
|
36
|
-
>
|
|
37
|
-
<svg
|
|
38
|
-
width="18"
|
|
39
|
-
height="18"
|
|
40
|
-
viewBox="0 0 24 24"
|
|
41
|
-
fill="none"
|
|
42
|
-
stroke="currentColor"
|
|
43
|
-
stroke-width="2"
|
|
44
|
-
stroke-linecap="round"
|
|
45
|
-
stroke-linejoin="round"
|
|
46
|
-
>
|
|
47
|
-
<line x1="18" y1="6" x2="6" y2="18"></line>
|
|
48
|
-
<line x1="6" y1="6" x2="18" y2="18"></line>
|
|
49
|
-
</svg>
|
|
50
|
-
</button>
|
|
51
|
-
`:""}
|
|
52
|
-
</div>
|
|
53
|
-
|
|
54
|
-
${this.duration>0?h.html`
|
|
55
|
-
<div class="progress-bar-container">
|
|
56
|
-
<div
|
|
57
|
-
class="progress-bar"
|
|
58
|
-
style="width: ${this._progress}%"
|
|
59
|
-
${x.color({color:s.progressColor})}
|
|
60
|
-
></div>
|
|
61
|
-
</div>
|
|
62
|
-
`:""}
|
|
63
|
-
</div>
|
|
64
|
-
`}_getTypeStyles(){switch(this.type){case"success":return{icon:h.html`
|
|
65
|
-
<svg
|
|
66
|
-
width="20"
|
|
67
|
-
height="20"
|
|
68
|
-
viewBox="0 0 24 24"
|
|
69
|
-
fill="none"
|
|
70
|
-
stroke="currentColor"
|
|
71
|
-
stroke-width="2"
|
|
72
|
-
stroke-linecap="round"
|
|
73
|
-
stroke-linejoin="round"
|
|
74
|
-
>
|
|
75
|
-
<path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path>
|
|
76
|
-
<polyline points="22 4 12 14.01 9 11.01"></polyline>
|
|
77
|
-
</svg>
|
|
78
|
-
`,iconColor:l.SchmancyTheme.sys.color.success.default,progressColor:`color-mix(in srgb, ${l.SchmancyTheme.sys.color.success.default} 95%, ${l.SchmancyTheme.sys.color.success.container} 5%)`};case"warning":return{icon:h.html`
|
|
79
|
-
<svg
|
|
80
|
-
width="20"
|
|
81
|
-
height="20"
|
|
82
|
-
viewBox="0 0 24 24"
|
|
83
|
-
fill="none"
|
|
84
|
-
stroke="currentColor"
|
|
85
|
-
stroke-width="2"
|
|
86
|
-
stroke-linecap="round"
|
|
87
|
-
stroke-linejoin="round"
|
|
88
|
-
>
|
|
89
|
-
<path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path>
|
|
90
|
-
<line x1="12" y1="9" x2="12" y2="13"></line>
|
|
91
|
-
<line x1="12" y1="17" x2="12.01" y2="17"></line>
|
|
92
|
-
</svg>
|
|
93
|
-
`,iconColor:l.SchmancyTheme.sys.color.tertiary.default,progressColor:`color-mix(in srgb, ${l.SchmancyTheme.sys.color.tertiary.default} 90%, ${l.SchmancyTheme.sys.color.tertiary.container} 10%)`};case"error":return{icon:h.html`
|
|
94
|
-
<svg
|
|
95
|
-
width="20"
|
|
96
|
-
height="20"
|
|
97
|
-
viewBox="0 0 24 24"
|
|
98
|
-
fill="none"
|
|
99
|
-
stroke="currentColor"
|
|
100
|
-
stroke-width="2"
|
|
101
|
-
stroke-linecap="round"
|
|
102
|
-
stroke-linejoin="round"
|
|
103
|
-
>
|
|
104
|
-
<circle cx="12" cy="12" r="10"></circle>
|
|
105
|
-
<line x1="15" y1="9" x2="9" y2="15"></line>
|
|
106
|
-
<line x1="9" y1="9" x2="15" y2="15"></line>
|
|
107
|
-
</svg>
|
|
108
|
-
`,iconColor:l.SchmancyTheme.sys.color.error.default,progressColor:`color-mix(in srgb, ${l.SchmancyTheme.sys.color.error.default} 92%, ${l.SchmancyTheme.sys.color.error.container} 8%)`};default:return{icon:h.html`
|
|
109
|
-
<svg
|
|
110
|
-
width="20"
|
|
111
|
-
height="20"
|
|
112
|
-
viewBox="0 0 24 24"
|
|
113
|
-
fill="none"
|
|
114
|
-
stroke="currentColor"
|
|
115
|
-
stroke-width="2"
|
|
116
|
-
stroke-linecap="round"
|
|
117
|
-
stroke-linejoin="round"
|
|
118
|
-
>
|
|
119
|
-
<circle cx="12" cy="12" r="10"></circle>
|
|
120
|
-
<line x1="12" y1="16" x2="12" y2="12"></line>
|
|
121
|
-
<line x1="12" y1="8" x2="12.01" y2="8"></line>
|
|
122
|
-
</svg>
|
|
123
|
-
`,iconColor:l.SchmancyTheme.sys.color.primary.default,progressColor:`color-mix(in srgb, ${l.SchmancyTheme.sys.color.primary.default} 94%, ${l.SchmancyTheme.sys.color.primary.container} 6%)`}}}},d([u.property({type:String})],exports.SchmancyNotification.prototype,"title",2),d([u.property({type:String})],exports.SchmancyNotification.prototype,"message",2),d([u.property({type:String})],exports.SchmancyNotification.prototype,"type",2),d([u.property({type:Boolean})],exports.SchmancyNotification.prototype,"closable",2),d([u.property({type:Number})],exports.SchmancyNotification.prototype,"duration",2),d([u.property({type:String})],exports.SchmancyNotification.prototype,"id",2),d([u.property({type:Boolean})],exports.SchmancyNotification.prototype,"playSound",2),d([u.state()],exports.SchmancyNotification.prototype,"_visible",2),d([u.state()],exports.SchmancyNotification.prototype,"_progress",2),d([u.state()],exports.SchmancyNotification.prototype,"_hovered",2),d([u.state()],exports.SchmancyNotification.prototype,"_closing",2),d([u.state()],exports.SchmancyNotification.prototype,"_autoCloseTimer",2),d([u.state()],exports.SchmancyNotification.prototype,"_progressTimer",2),exports.SchmancyNotification=d([u.customElement("sch-notification")],exports.SchmancyNotification);class V{constructor(){this.audioContext=null}getAudioContext(){if(!this.audioContext){const t=window.AudioContext||window.webkitAudioContext;this.audioContext=new t}return this.audioContext}playInfoSound(t=.2){const e=this.getAudioContext(),i=e.currentTime,o=e.createOscillator(),n=e.createGain(),a=e.createBiquadFilter();o.type="sine",o.frequency.setValueAtTime(392,i),o.frequency.exponentialRampToValueAtTime(523.25,i+.25),a.type="lowpass",a.frequency.value=1500,n.gain.setValueAtTime(1e-4,i),n.gain.exponentialRampToValueAtTime(t,i+.15),n.gain.exponentialRampToValueAtTime(1e-4,i+.4),o.connect(a).connect(n).connect(e.destination),o.start(i),o.stop(i+.45)}playSuccessSound(t=.2){const e=this.getAudioContext(),i=e.currentTime,o=(n,a,r)=>{const c=e.createOscillator(),y=e.createGain(),g=e.createBiquadFilter();c.type="sine",c.frequency.setValueAtTime(n,i),g.type="lowpass",g.frequency.value=4*n,y.gain.setValueAtTime(1e-4,i),y.gain.exponentialRampToValueAtTime(t,i+.1),y.gain.exponentialRampToValueAtTime(1e-4,i+r),c.connect(g).connect(y).connect(e.destination),c.start(i+a),c.stop(i+r)};o(659.25,0,.6),o(523.25,.05,.55)}playWarningSound(t=.25){const e=this.getAudioContext(),i=e.currentTime,o=e.createOscillator(),n=e.createOscillator(),a=e.createGain(),r=e.createBiquadFilter();o.type="sine",n.type="sine",o.frequency.setValueAtTime(349.23,i),n.frequency.setValueAtTime(440,i),r.type="lowpass",r.frequency.value=1e3,a.gain.setValueAtTime(1e-4,i),a.gain.exponentialRampToValueAtTime(t,i+.08),a.gain.exponentialRampToValueAtTime(1e-4,i+.5),o.connect(r),n.connect(r),r.connect(a).connect(e.destination),o.start(i),n.start(i),o.stop(i+.55),n.stop(i+.55)}playErrorSound(t=.25){const e=this.getAudioContext(),i=e.currentTime,o=e.createOscillator(),n=e.createGain(),a=e.createBiquadFilter();o.type="triangle",o.frequency.setValueAtTime(220,i),o.frequency.exponentialRampToValueAtTime(1760,i+.3),a.type="lowpass",a.frequency.value=800,a.Q.value=.5,n.gain.setValueAtTime(1e-4,i),n.gain.exponentialRampToValueAtTime(.8*t,i+.1),n.gain.exponentialRampToValueAtTime(1e-4,i+.7),o.connect(a).connect(n).connect(e.destination),o.start(i),o.stop(i+.75)}async generateAudioFiles(t=.25){const i={};return i.info=await this.generateAudioFile(async o=>{const n=o.createOscillator();n.type="sine",n.frequency.setValueAtTime(320,0),n.frequency.exponentialRampToValueAtTime(520,.3);const a=o.createGain();a.gain.setValueAtTime(0,0),a.gain.linearRampToValueAtTime(t,.1),a.gain.linearRampToValueAtTime(0,.5),n.connect(a),a.connect(o.destination),n.start(),n.stop(.5)},44100,1),i.success=await this.generateAudioFile(async o=>{const n=o.createOscillator();n.type="sine",n.frequency.setValueAtTime(660,0);const a=o.createOscillator();a.type="sine",a.frequency.setValueAtTime(440,0);const r=o.createGain();r.gain.setValueAtTime(0,0),r.gain.linearRampToValueAtTime(t,.1),r.gain.linearRampToValueAtTime(0,.5);const c=o.createGain();c.gain.setValueAtTime(0,0),c.gain.linearRampToValueAtTime(.6*t,.15),c.gain.linearRampToValueAtTime(0,.7),n.connect(r),r.connect(o.destination),a.connect(c),c.connect(o.destination),n.start(),a.start(.15),n.stop(.5),a.stop(.7)},44100,1),i.warning=await this.generateAudioFile(async o=>{const n=o.createOscillator();n.type="sine",n.frequency.setValueAtTime(293.66,0);const a=o.createOscillator();a.type="sine",a.frequency.setValueAtTime(349.23,0);const r=o.createGain();r.gain.setValueAtTime(0,0),r.gain.linearRampToValueAtTime(t,.1),r.gain.linearRampToValueAtTime(.6*t,.2),r.gain.linearRampToValueAtTime(.8*t,.3),r.gain.linearRampToValueAtTime(0,.6),n.connect(r),a.connect(r),r.connect(o.destination),n.start(),a.start(),n.stop(.6),a.stop(.6)},44100,1),i.error=await this.generateAudioFile(async o=>{const n=o.createOscillator();n.type="sine",n.frequency.setValueAtTime(196,0);const a=o.createGain();a.gain.setValueAtTime(0,0),a.gain.linearRampToValueAtTime(t,.1),a.gain.linearRampToValueAtTime(.4*t,.2),a.gain.linearRampToValueAtTime(.6*t,.3),a.gain.linearRampToValueAtTime(0,.7);const r=o.createBiquadFilter();r.type="lowpass",r.frequency.value=600,r.Q.value=.7,n.connect(r),r.connect(a),a.connect(o.destination),n.start(),n.stop(.7)},44100,1),i}async generateAudioFile(t,e=44100,i=1){const o=new OfflineAudioContext(2,e*i,e);await t(o);const n=await o.startRendering(),a=this.audioBufferToWav(n);return URL.createObjectURL(a)}audioBufferToWav(t){const e=t.numberOfChannels,i=t.sampleRate,o=2*e,n=this.getAudioSamples(t,16),a=2*n.length,r=new ArrayBuffer(44+a),c=new DataView(r);return this.writeString(c,0,"RIFF"),c.setUint32(4,36+a,!0),this.writeString(c,8,"WAVE"),this.writeString(c,12,"fmt "),c.setUint32(16,16,!0),c.setUint16(20,1,!0),c.setUint16(22,e,!0),c.setUint32(24,i,!0),c.setUint32(28,i*o,!0),c.setUint16(32,o,!0),c.setUint16(34,16,!0),this.writeString(c,36,"data"),c.setUint32(40,a,!0),this.writeInt16Samples(c,44,n),new Blob([r],{type:"audio/wav"})}getAudioSamples(t,e){const i=t.numberOfChannels,o=t.length,n=[],a=e===16?32768:128;for(let r=0;r<o;r++)for(let c=0;c<i;c++){const y=t.getChannelData(c)[r],g=Math.max(-1,Math.min(1,y));n.push(g*a)}return n}writeInt16Samples(t,e,i){for(let o=0;o<i.length;o++)t.setInt16(e+2*o,i[o],!0)}writeString(t,e,i){for(let o=0;o<i.length;o++)t.setUint8(e+o,i.charCodeAt(o))}}class S{constructor(){this.audioContext=null,this.soundBuffers=new Map,this.volume=.5,this.muted=!1,this.soundGenerator=new V,this.soundUrls={info:"/assets/sounds/notification-info.mp3",success:"/assets/sounds/notification-success.mp3",warning:"/assets/sounds/notification-warning.mp3",error:"/assets/sounds/notification-error.mp3"},this.initializeAudioFiles()}async initializeAudioFiles(){try{await this.preloadSounds()}catch{try{const e=await this.soundGenerator.generateAudioFiles(this.volume);this.soundUrls=e}catch{}}}getAudioContext(){if(!this.audioContext){const t=window.AudioContext||window.webkitAudioContext;this.audioContext=new t}return this.audioContext}async preloadSounds(){const t=["info","success","warning","error"];for(const e of t)try{const i=await this.loadSound(e);this.soundBuffers.set(e,i)}catch{}}async loadSound(t){const e=this.soundUrls[t],i=await fetch(e);if(!i.ok)throw new Error(`Failed to load sound from ${e}: ${i.statusText}`);const o=await i.arrayBuffer();return await this.getAudioContext().decodeAudioData(o)}async playSound(t){if(!this.muted)try{const e=this.getAudioContext();if(e.state==="suspended"&&await e.resume(),this.soundUrls[t].startsWith("blob:"))return void this.playFallbackSound(t);if(!this.soundBuffers.has(t))try{const a=await this.loadSound(t);this.soundBuffers.set(t,a)}catch{return void this.playDirectGeneratedSound(t)}const i=this.soundBuffers.get(t);if(!i)throw new Error(`Sound buffer for ${t} not available`);const o=e.createBufferSource();o.buffer=i;const n=e.createGain();n.gain.value=this.volume,o.connect(n),n.connect(e.destination),o.start(0)}catch{this.playDirectGeneratedSound(t)}}playDirectGeneratedSound(t){if(!this.muted)try{switch(t){case"info":this.soundGenerator.playInfoSound(this.volume);break;case"success":this.soundGenerator.playSuccessSound(this.volume);break;case"warning":this.soundGenerator.playWarningSound(this.volume);break;case"error":this.soundGenerator.playErrorSound(this.volume)}}catch{}}playFallbackSound(t){if(!this.muted)try{const e=new Audio(this.soundUrls[t]);e.volume=this.volume,e.addEventListener("ended",()=>{e.remove()}),e.play().catch(i=>{this.playDirectGeneratedSound(t)})}catch{this.playDirectGeneratedSound(t)}}setVolume(t){this.volume=Math.max(0,Math.min(1,t))}getVolume(){return this.volume}mute(){this.muted=!0}unmute(){this.muted=!1}isMuted(){return this.muted}setSoundUrl(t,e){this.soundUrls[t]=e,this.soundBuffers.delete(t)}getSoundUrl(t){return this.soundUrls[t]}}var $=Object.defineProperty,k=Object.getOwnPropertyDescriptor,f=(s,t,e,i)=>{for(var o,n=i>1?void 0:i?k(t,e):t,a=s.length-1;a>=0;a--)(o=s[a])&&(n=(i?o(t,e,n):o(n))||n);return i&&n&&$(t,e,n),n};exports.SchmancyNotificationContainer=class extends w.$LitElement(":host{display:block}.notification-container{position:fixed;z-index:9999;padding:12px;pointer-events:none;width:100%;max-width:424px}.notification-container sch-notification{pointer-events:auto}.notification-container.top-right{top:0;right:0;display:flex;flex-direction:column-reverse}.notification-container.top-left{top:0;left:0;display:flex;flex-direction:column-reverse}.notification-container.bottom-right{bottom:0;right:0;display:flex;flex-direction:column}.notification-container.bottom-left{bottom:0;left:0;display:flex;flex-direction:column}.notification-container.top-center{top:0;left:50%;transform:translate(-50%);display:flex;flex-direction:column-reverse}.notification-container.bottom-center{bottom:0;left:50%;transform:translate(-50%);display:flex;flex-direction:column}"){constructor(){super(...arguments),this.position="top-right",this.maxVisibleNotifications=2,this.playSound=!1,this.audioVolume=.1,this._notifications=[],this._audioService=new S}connectedCallback(){super.connectedCallback(),this._audioService.setVolume(this.audioVolume),b.fromEvent(window,"schmancy-notification").pipe(b.takeUntil(this.disconnecting)).subscribe(s=>{this.addNotification(s.detail)}),this.addEventListener("playsound",s=>{this.playSound&&this._audioService.playSound(s.detail.type)})}addNotification(s){const t=s.id||`notification-${Date.now()}-${Math.floor(1e4*Math.random())}`,e={id:t,title:s.title||"",message:s.message,type:s.type||"info",duration:s.duration!==void 0?s.duration:750,closable:s.closable===void 0||s.closable,playSound:s.playSound!==void 0?s.playSound:this.playSound};return this.position.startsWith("top")?this._notifications=[...this._notifications,e]:this._notifications=[e,...this._notifications],this._notifications.length>this.maxVisibleNotifications&&(this._notifications=this._notifications.slice(-this.maxVisibleNotifications)),e.playSound&&this._audioService.playSound(e.type),t}removeNotification(s){this._notifications=this._notifications.filter(t=>t.id!==s)}_handleClose(s){const t=s.detail.id;this.removeNotification(t)}render(){return h.html`
|
|
124
|
-
<div
|
|
125
|
-
class=${T.classMap({"notification-container":!0,[this.position]:!0})}
|
|
126
|
-
>
|
|
127
|
-
${A.repeat(this._notifications,s=>s.id,s=>h.html`
|
|
128
|
-
<sch-notification
|
|
129
|
-
.id=${s.id}
|
|
130
|
-
.title=${s.title}
|
|
131
|
-
.message=${s.message}
|
|
132
|
-
.type=${s.type}
|
|
133
|
-
.duration=${s.duration}
|
|
134
|
-
?closable=${s.closable}
|
|
135
|
-
?playSound=${!1} /* We already played the sound on add */
|
|
136
|
-
@close=${this._handleClose}
|
|
137
|
-
></sch-notification>
|
|
138
|
-
`)}
|
|
139
|
-
</div>
|
|
140
|
-
`}},f([u.property({type:String})],exports.SchmancyNotificationContainer.prototype,"position",2),f([u.property({type:Number})],exports.SchmancyNotificationContainer.prototype,"maxVisibleNotifications",2),f([u.property({type:Boolean})],exports.SchmancyNotificationContainer.prototype,"playSound",2),f([u.property({type:Number})],exports.SchmancyNotificationContainer.prototype,"audioVolume",2),f([u.state()],exports.SchmancyNotificationContainer.prototype,"_notifications",2),exports.SchmancyNotificationContainer=f([u.customElement("sch-notification-container")],exports.SchmancyNotificationContainer);const p=class p{constructor(){}static getInstance(){return p.instance||(p.instance=new p),p.instance}notify(t){const e={...p.DEFAULT_OPTIONS,...t,duration:t.duration??p.DEFAULT_OPTIONS.duration},i=e.id||`notification-${Date.now()}-${Math.floor(1e4*Math.random())}`,o=new CustomEvent("schmancy-notification",{bubbles:!0,composed:!0,detail:{...e,id:i}});return window.dispatchEvent(o),i}info(t,e={}){return this.notify({message:t??"",type:"info",duration:t?e.duration:1,...e})}success(t,e={}){return this.notify({message:t??"",type:"success",duration:t?e.duration:1,...e})}warning(t,e={}){return this.notify({message:t??"",type:"warning",duration:t?e.duration:1,...e})}error(t,e={}){return this.notify({message:t??"",type:"error",duration:t?e.duration:1,...e})}customDuration(t,e,i={}){return this.notify({message:t,duration:e,...i})}persistent(t,e={}){return this.notify({message:t,duration:0,...e})}};p.DEFAULT_OPTIONS={duration:1e3,closable:!0,playSound:!0};let m=p;const N={show:s=>m.getInstance().notify(s),info:(s,t={})=>m.getInstance().info(s,t),success:(s,t={})=>m.getInstance().success(s,t),warning:(s,t={})=>m.getInstance().warning(s,t),error:(s,t={})=>m.getInstance().error(s,t),customDuration:(s,t,e={})=>m.getInstance().customDuration(s,t,e),persistent:(s,t={})=>m.getInstance().persistent(s,t)};exports.$notify=N,exports.NotificationAudioService=S;
|
|
141
|
-
//# sourceMappingURL=notification-service-B6nHqzq5.cjs.map
|