@mhmo91/schmancy 0.4.56 → 0.4.57
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/dist/{animated-text-Q1hfnAer.cjs → animated-text-BkL-4Zfc.cjs} +2 -2
- package/dist/{animated-text-Q1hfnAer.cjs.map → animated-text-BkL-4Zfc.cjs.map} +1 -1
- package/dist/{animated-text-CLjHeM_c.js → animated-text-DrgUZxlk.js} +3 -3
- package/dist/{animated-text-CLjHeM_c.js.map → animated-text-DrgUZxlk.js.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-B4kp0LKH.js → area.component-BIc_W59P.js} +3 -3
- package/dist/{area.component-B4kp0LKH.js.map → area.component-BIc_W59P.js.map} +1 -1
- package/dist/{area.component-CNTVHafq.cjs → area.component-BdjALblc.cjs} +2 -2
- package/dist/{area.component-CNTVHafq.cjs.map → area.component-BdjALblc.cjs.map} +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-wG22PnTc.js → autocomplete-7Md-DAgu.js} +3 -3
- package/dist/{autocomplete-wG22PnTc.js.map → autocomplete-7Md-DAgu.js.map} +1 -1
- package/dist/{autocomplete-CP1NTObi.cjs → autocomplete-C6eBvBLN.cjs} +2 -2
- package/dist/{autocomplete-CP1NTObi.cjs.map → autocomplete-C6eBvBLN.cjs.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{avatar-B2GUqK4L.js → avatar-DMEjkTXa.js} +49 -49
- package/dist/{avatar-B2GUqK4L.js.map → avatar-DMEjkTXa.js.map} +1 -1
- package/dist/{avatar-BNBYKgXb.cjs → avatar-WQhh4x64.cjs} +2 -2
- package/dist/{avatar-BNBYKgXb.cjs.map → avatar-WQhh4x64.cjs.map} +1 -1
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-CNjpHAl7.js → boat-8AUFg_N1.js} +2 -2
- package/dist/{boat-CNjpHAl7.js.map → boat-8AUFg_N1.js.map} +1 -1
- package/dist/{boat-BBtYRMGr.cjs → boat-B-mfl1Mb.cjs} +2 -2
- package/dist/{boat-BBtYRMGr.cjs.map → boat-B-mfl1Mb.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-DMDq4nrQ.cjs → checkbox-ADFaRwXh.cjs} +2 -2
- package/dist/{checkbox-DMDq4nrQ.cjs.map → checkbox-ADFaRwXh.cjs.map} +1 -1
- package/dist/{checkbox-CdvtpBak.js → checkbox-BZ6YYyDP.js} +2 -2
- package/dist/{checkbox-CdvtpBak.js.map → checkbox-BZ6YYyDP.js.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-CXfJzIKX.js → chips-CoOlYu41.js} +3 -3
- package/dist/{chips-CXfJzIKX.js.map → chips-CoOlYu41.js.map} +1 -1
- package/dist/{chips-D_VM8pye.cjs → chips-Djs5BsJb.cjs} +2 -2
- package/dist/{chips-D_VM8pye.cjs.map → chips-Djs5BsJb.cjs.map} +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +1 -1
- package/dist/{circular-progress-CToMz17U.cjs → circular-progress-Bd_50vCv.cjs} +2 -2
- package/dist/{circular-progress-CToMz17U.cjs.map → circular-progress-Bd_50vCv.cjs.map} +1 -1
- package/dist/{circular-progress-fhXgEisi.js → circular-progress-CRjTzkR5.js} +3 -3
- package/dist/{circular-progress-fhXgEisi.js.map → circular-progress-CRjTzkR5.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-B33GzCuh.js → code-preview-BGtHM8rZ.js} +2 -2
- package/dist/{code-preview-B33GzCuh.js.map → code-preview-BGtHM8rZ.js.map} +1 -1
- package/dist/{code-preview-CjrMxvGf.cjs → code-preview-qo_1yNRD.cjs} +2 -2
- package/dist/{code-preview-CjrMxvGf.cjs.map → code-preview-qo_1yNRD.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-cqxQG6E0.js → date-range-B81hrRXp.js} +4 -4
- package/dist/{date-range-cqxQG6E0.js.map → date-range-B81hrRXp.js.map} +1 -1
- package/dist/{date-range-BsY35xa9.cjs → date-range-B__PYZ1O.cjs} +2 -2
- package/dist/{date-range-BsY35xa9.cjs.map → date-range-B__PYZ1O.cjs.map} +1 -1
- package/dist/{date-range-inline-B4lf5rPQ.js → date-range-inline-Cwg9Orn9.js} +3 -3
- package/dist/{date-range-inline-B4lf5rPQ.js.map → date-range-inline-Cwg9Orn9.js.map} +1 -1
- package/dist/{date-range-inline-CNjM63uj.cjs → date-range-inline-D7wcenh1.cjs} +2 -2
- package/dist/{date-range-inline-CNjM63uj.cjs.map → date-range-inline-D7wcenh1.cjs.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-CcdMOTSl.cjs → delay-CrGqDIld.cjs} +2 -2
- package/dist/{delay-CcdMOTSl.cjs.map → delay-CrGqDIld.cjs.map} +1 -1
- package/dist/{delay-IwDr1j8v.js → delay-HypqMt6T.js} +2 -2
- package/dist/{delay-IwDr1j8v.js.map → delay-HypqMt6T.js.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{details-BfPfuW55.cjs → details-B6e2XHDI.cjs} +2 -2
- package/dist/{details-BfPfuW55.cjs.map → details-B6e2XHDI.cjs.map} +1 -1
- package/dist/{details-DhWV9D0A.js → details-tUVa6yxT.js} +2 -2
- package/dist/{details-DhWV9D0A.js.map → details-tUVa6yxT.js.map} +1 -1
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{dialog-content-DICph7AS.js → dialog-content-CosoTy8k.js} +4 -4
- package/dist/{dialog-content-DICph7AS.js.map → dialog-content-CosoTy8k.js.map} +1 -1
- package/dist/{dialog-content-BdVi2eTC.cjs → dialog-content-DhyhRHrM.cjs} +2 -2
- package/dist/{dialog-content-BdVi2eTC.cjs.map → dialog-content-DhyhRHrM.cjs.map} +1 -1
- package/dist/{dialog-service-CbRp40iS.js → dialog-service-BqFyjidQ.js} +2 -2
- package/dist/{dialog-service-CbRp40iS.js.map → dialog-service-BqFyjidQ.js.map} +1 -1
- package/dist/{dialog-service-CeF_iQ6v.cjs → dialog-service-CVPfnLT2.cjs} +2 -2
- package/dist/{dialog-service-CeF_iQ6v.cjs.map → dialog-service-CVPfnLT2.cjs.map} +1 -1
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +2 -2
- package/dist/{divider-CjWffdoF.js → divider-BqRj6UxZ.js} +3 -3
- package/dist/{divider-CjWffdoF.js.map → divider-BqRj6UxZ.js.map} +1 -1
- package/dist/{divider-yZhSudJH.cjs → divider-igWIHJSn.cjs} +2 -2
- package/dist/{divider-yZhSudJH.cjs.map → divider-igWIHJSn.cjs.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-Bfn0XEeT.cjs → dropdown-content-BAvi90_R.cjs} +2 -2
- package/dist/{dropdown-content-Bfn0XEeT.cjs.map → dropdown-content-BAvi90_R.cjs.map} +1 -1
- package/dist/{dropdown-content-DdmdUtwj.js → dropdown-content-cSEhg-Nb.js} +3 -3
- package/dist/{dropdown-content-DdmdUtwj.js.map → dropdown-content-cSEhg-Nb.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-CswRyQcd.js → flex-Bgb3KRRe.js} +2 -2
- package/dist/{flex-CswRyQcd.js.map → flex-Bgb3KRRe.js.map} +1 -1
- package/dist/{flex-DV4Ee5dx.cjs → flex-CR0dZOIp.cjs} +2 -2
- package/dist/{flex-DV4Ee5dx.cjs.map → flex-CR0dZOIp.cjs.map} +1 -1
- package/dist/{form-BU1Igi_W.cjs → form-2EErS4Qz.cjs} +2 -2
- package/dist/{form-BU1Igi_W.cjs.map → form-2EErS4Qz.cjs.map} +1 -1
- package/dist/{form-D_IoQKNn.js → form-DzPgImRY.js} +2 -2
- package/dist/{form-D_IoQKNn.js.map → form-DzPgImRY.js.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{formField.mixin-Cj6U-L1P.cjs → formField.mixin-B3YdUi1V.cjs} +2 -2
- package/dist/{formField.mixin-Cj6U-L1P.cjs.map → formField.mixin-B3YdUi1V.cjs.map} +1 -1
- package/dist/{formField.mixin-C8I5ht-6.js → formField.mixin-eghJlAGk.js} +2 -2
- package/dist/{formField.mixin-C8I5ht-6.js.map → formField.mixin-eghJlAGk.js.map} +1 -1
- package/dist/{icon-DIQ1yZJt.js → icon-CdvX9Uee.js} +2 -2
- package/dist/{icon-DIQ1yZJt.js.map → icon-CdvX9Uee.js.map} +1 -1
- package/dist/{icon-DTR5xLBE.cjs → icon-Cfn7-dee.cjs} +2 -2
- package/dist/{icon-DTR5xLBE.cjs.map → icon-Cfn7-dee.cjs.map} +1 -1
- package/dist/{icon-button-BkgBX10e.cjs → icon-button-CuiwQHWa.cjs} +2 -2
- package/dist/{icon-button-BkgBX10e.cjs.map → icon-button-CuiwQHWa.cjs.map} +1 -1
- package/dist/{icon-button-CJt7WRsT.js → icon-button-CxvX8bhV.js} +3 -3
- package/dist/{icon-button-CJt7WRsT.js.map → icon-button-CxvX8bhV.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 +48 -48
- package/dist/input-C7HGyOON.cjs +50 -0
- package/dist/{input-DNrg9fyQ.cjs.map → input-C7HGyOON.cjs.map} +1 -1
- package/dist/{input-B7szijOK.js → input-J4PZ5mx6.js} +47 -48
- package/dist/{input-B7szijOK.js.map → input-J4PZ5mx6.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-BPQMexX4.cjs → list-C_TB-ABg.cjs} +2 -2
- package/dist/{list-BPQMexX4.cjs.map → list-C_TB-ABg.cjs.map} +1 -1
- package/dist/{list-DQatYh3q.js → list-DzSYh-wL.js} +2 -2
- package/dist/{list-DQatYh3q.js.map → list-DzSYh-wL.js.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-BuEn1yw0.js → litElement.mixin-B3DViDp3.js} +2 -2
- package/dist/{litElement.mixin-BuEn1yw0.js.map → litElement.mixin-B3DViDp3.js.map} +1 -1
- package/dist/{litElement.mixin-wcuhiwNu.cjs → litElement.mixin-DBcQhPm4.cjs} +2 -2
- package/dist/{litElement.mixin-wcuhiwNu.cjs.map → litElement.mixin-DBcQhPm4.cjs.map} +1 -1
- package/dist/{map-tpmHD8Pd.cjs → map-CX2AHaig.cjs} +2 -2
- package/dist/{map-tpmHD8Pd.cjs.map → map-CX2AHaig.cjs.map} +1 -1
- package/dist/{map-DsCefSkt.js → map-NSbqp1n5.js} +2 -2
- package/dist/{map-DsCefSkt.js.map → map-NSbqp1n5.js.map} +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/{media-DYB4SLZh.cjs → media-DlbdBcJx.cjs} +2 -2
- package/dist/{media-DYB4SLZh.cjs.map → media-DlbdBcJx.cjs.map} +1 -1
- package/dist/{media-CnG3K4S_.js → media-yNoBGbIW.js} +2 -2
- package/dist/{media-CnG3K4S_.js.map → media-yNoBGbIW.js.map} +1 -1
- package/dist/{menu-D4rCY1Ps.js → menu-DHXR2hMy.js} +3 -3
- package/dist/{menu-D4rCY1Ps.js.map → menu-DHXR2hMy.js.map} +1 -1
- package/dist/{menu-DHJ41YiK.cjs → menu-DjpbmDCT.cjs} +2 -2
- package/dist/{menu-DHJ41YiK.cjs.map → menu-DjpbmDCT.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-CJ95tokn.cjs → notification-service-B32hOref.cjs} +2 -2
- package/dist/{notification-service-CJ95tokn.cjs.map → notification-service-B32hOref.cjs.map} +1 -1
- package/dist/{notification-service-DT1mqB8y.js → notification-service-DYjanzr0.js} +4 -4
- package/dist/{notification-service-DT1mqB8y.js.map → notification-service-DYjanzr0.js.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +2 -2
- package/dist/{notify-CWgEdHfi.js → notify-BpEBmrOc.js} +2 -2
- package/dist/{notify-CWgEdHfi.js.map → notify-BpEBmrOc.js.map} +1 -1
- package/dist/{notify-CJKveO7A.cjs → notify-O3ekho2t.cjs} +2 -2
- package/dist/{notify-CJKveO7A.cjs.map → notify-O3ekho2t.cjs.map} +1 -1
- package/dist/{option-Dh2bfixl.cjs → option-DK955zvf.cjs} +2 -2
- package/dist/{option-Dh2bfixl.cjs.map → option-DK955zvf.cjs.map} +1 -1
- package/dist/{option-D8m2Eyps.js → option-inF2WcDS.js} +2 -2
- package/dist/{option-D8m2Eyps.js.map → option-inF2WcDS.js.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{payment-card-form-CC1BfZU7.js → payment-card-form-Cq_PQYH1.js} +3 -3
- package/dist/{payment-card-form-CC1BfZU7.js.map → payment-card-form-Cq_PQYH1.js.map} +1 -1
- package/dist/{payment-card-form-C24Od0e4.cjs → payment-card-form-D2qgy1v2.cjs} +2 -2
- package/dist/{payment-card-form-C24Od0e4.cjs.map → payment-card-form-D2qgy1v2.cjs.map} +1 -1
- package/dist/{progress-_-KrJL6P.cjs → progress-BADNaijE.cjs} +2 -2
- package/dist/{progress-_-KrJL6P.cjs.map → progress-BADNaijE.cjs.map} +1 -1
- package/dist/{progress-DbRYk_vN.js → progress-DMeUsOoq.js} +2 -2
- package/dist/{progress-DbRYk_vN.js.map → progress-DMeUsOoq.js.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{radio-button-qhVXLMIU.cjs → radio-button-CBbb1D0v.cjs} +2 -2
- package/dist/{radio-button-qhVXLMIU.cjs.map → radio-button-CBbb1D0v.cjs.map} +1 -1
- package/dist/{radio-button-CSXQCDVF.js → radio-button-skXo9_2Z.js} +3 -3
- package/dist/{radio-button-CSXQCDVF.js.map → radio-button-skXo9_2Z.js.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{schmancy-steps-container-i0lIq4G9.js → schmancy-steps-container-AQATjRbH.js} +2 -2
- package/dist/{schmancy-steps-container-i0lIq4G9.js.map → schmancy-steps-container-AQATjRbH.js.map} +1 -1
- package/dist/{schmancy-steps-container-BNs57JEy.cjs → schmancy-steps-container-zSMLb9le.cjs} +2 -2
- package/dist/{schmancy-steps-container-BNs57JEy.cjs.map → schmancy-steps-container-zSMLb9le.cjs.map} +1 -1
- package/dist/{select-D4ZrbxJz.js → select-BbIFwv0h.js} +3 -3
- package/dist/{select-D4ZrbxJz.js.map → select-BbIFwv0h.js.map} +1 -1
- package/dist/{select-C1Enzm_J.cjs → select-CQ9x4XyA.cjs} +2 -2
- package/dist/{select-C1Enzm_J.cjs.map → select-CQ9x4XyA.cjs.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-DZYHhdDu.cjs → sheet-BS0Qe0Td.cjs} +2 -2
- package/dist/{sheet-DZYHhdDu.cjs.map → sheet-BS0Qe0Td.cjs.map} +1 -1
- package/dist/{sheet-DoRbb5DN.js → sheet-DHpu1ALk.js} +4 -4
- package/dist/{sheet-DoRbb5DN.js.map → sheet-DHpu1ALk.js.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-CmIsBmgU.cjs → slider-D53uMirf.cjs} +2 -2
- package/dist/{slider-CmIsBmgU.cjs.map → slider-D53uMirf.cjs.map} +1 -1
- package/dist/{slider-BbjYCp76.js → slider-FduzwQaj.js} +3 -3
- package/dist/{slider-BbjYCp76.js.map → slider-FduzwQaj.js.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-Dd0oPt1r.js → spinner-C1zbU-Fn.js} +2 -2
- package/dist/{spinner-Dd0oPt1r.js.map → spinner-C1zbU-Fn.js.map} +1 -1
- package/dist/{spinner-lCgpt3QP.cjs → spinner-CYWF3UD6.cjs} +2 -2
- package/dist/{spinner-lCgpt3QP.cjs.map → spinner-CYWF3UD6.cjs.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{surface-Cif29fRD.js → surface-DHcaWxcD.js} +2 -2
- package/dist/{surface-Cif29fRD.js.map → surface-DHcaWxcD.js.map} +1 -1
- package/dist/{surface-WsA8z_FS.cjs → surface-DggUxcdm.cjs} +2 -2
- package/dist/{surface-WsA8z_FS.cjs.map → surface-DggUxcdm.cjs.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-Vi66Jns6.js → table-CzENdfG3.js} +2 -2
- package/dist/{table-Vi66Jns6.js.map → table-CzENdfG3.js.map} +1 -1
- package/dist/{table-CmQsicMy.cjs → table-fOsDINqV.cjs} +2 -2
- package/dist/{table-CmQsicMy.cjs.map → table-fOsDINqV.cjs.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-Cqev-DcY.cjs → tabs-compatibility-DTCJgM46.cjs} +2 -2
- package/dist/{tabs-compatibility-Cqev-DcY.cjs.map → tabs-compatibility-DTCJgM46.cjs.map} +1 -1
- package/dist/{tabs-compatibility-Js1MktRW.js → tabs-compatibility-DaAAqsNq.js} +2 -2
- package/dist/{tabs-compatibility-Js1MktRW.js.map → tabs-compatibility-DaAAqsNq.js.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-CZTk9eGO.cjs +2 -0
- package/dist/{tailwind.mixin-Cl3yu0Cj.cjs.map → tailwind.mixin-CZTk9eGO.cjs.map} +1 -1
- package/dist/tailwind.mixin-CzyZKLbe.js +43 -0
- package/dist/{tailwind.mixin-D4iX2lD7.js.map → tailwind.mixin-CzyZKLbe.js.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-CXSBrd0S.js → textarea-BFCDQ2GT.js} +2 -2
- package/dist/{textarea-CXSBrd0S.js.map → textarea-BFCDQ2GT.js.map} +1 -1
- package/dist/{textarea-Dvd1VFKN.cjs → textarea-zXQTFn05.cjs} +2 -2
- package/dist/{textarea-Dvd1VFKN.cjs.map → textarea-zXQTFn05.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-CarTFeLZ.js → theme-button-C7wWyjKO.js} +2 -2
- package/dist/{theme-button-CarTFeLZ.js.map → theme-button-C7wWyjKO.js.map} +1 -1
- package/dist/{theme-button-A-aEIS5T.cjs → theme-button-DzIOCd3h.cjs} +2 -2
- package/dist/{theme-button-A-aEIS5T.cjs.map → theme-button-DzIOCd3h.cjs.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-qwakcK7J.js → theme.component-BKgJfpNl.js} +2 -2
- package/dist/{theme.component-qwakcK7J.js.map → theme.component-BKgJfpNl.js.map} +1 -1
- package/dist/{theme.component-BQvaBDDQ.cjs → theme.component-DuN_MT-I.cjs} +2 -2
- package/dist/{theme.component-BQvaBDDQ.cjs.map → theme.component-DuN_MT-I.cjs.map} +1 -1
- package/dist/theme.js +1 -1
- package/dist/{timezone-Bq7SuRuQ.js → timezone-BYnaaL3j.js} +3 -3
- package/dist/{timezone-Bq7SuRuQ.js.map → timezone-BYnaaL3j.js.map} +1 -1
- package/dist/{timezone-_IxIvwMi.cjs → timezone-N5PVVp_E.cjs} +2 -2
- package/dist/{timezone-_IxIvwMi.cjs.map → timezone-N5PVVp_E.cjs.map} +1 -1
- package/dist/{tooltip-v2tu65Gl.cjs → tooltip-BgwJ0DmV.cjs} +2 -2
- package/dist/{tooltip-v2tu65Gl.cjs.map → tooltip-BgwJ0DmV.cjs.map} +1 -1
- package/dist/{tooltip-B0m4YI0w.js → tooltip-DaUOeHF_.js} +2 -2
- package/dist/{tooltip-B0m4YI0w.js.map → tooltip-DaUOeHF_.js.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-V9u7LdtZ.cjs → tree-Bvpk4MpH.cjs} +2 -2
- package/dist/{tree-V9u7LdtZ.cjs.map → tree-Bvpk4MpH.cjs.map} +1 -1
- package/dist/{tree-tmP72oIY.js → tree-Cq36MuXu.js} +2 -2
- package/dist/{tree-tmP72oIY.js.map → tree-Cq36MuXu.js.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-CxZkSMuN.js → typewriter-C635iFze.js} +4 -4
- package/dist/{typewriter-CxZkSMuN.js.map → typewriter-C635iFze.js.map} +1 -1
- package/dist/{typewriter-BCN_KKDm.cjs → typewriter-CQwrujZ8.cjs} +2 -2
- package/dist/{typewriter-BCN_KKDm.cjs.map → typewriter-CQwrujZ8.cjs.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-DfJ5K2CM.cjs → typography-Do--_1jL.cjs} +2 -2
- package/dist/{typography-DfJ5K2CM.cjs.map → typography-Do--_1jL.cjs.map} +1 -1
- package/dist/{typography-6mKlSjCG.js → typography-_p9jkBnA.js} +2 -2
- package/dist/{typography-6mKlSjCG.js.map → typography-_p9jkBnA.js.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +1 -1
- package/dist/input-DNrg9fyQ.cjs +0 -51
- package/dist/tailwind.mixin-Cl3yu0Cj.cjs +0 -2
- package/dist/tailwind.mixin-D4iX2lD7.js +0 -43
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map-DsCefSkt.js","sources":["../src/map/map.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { ref, createRef } from 'lit/directives/ref.js'\nimport { when } from 'lit/directives/when.js'\nimport { of, EMPTY, Observable } from 'rxjs'\nimport { switchMap, tap, catchError, takeUntil, finalize, shareReplay } from 'rxjs/operators'\n\ninterface GoogleMapsAPI {\n maps: {\n Map: new (element: HTMLElement, options: any) => any\n Marker: new (options: any) => any\n Geocoder: new () => any\n LatLng: new (lat: number, lng: number) => any\n MapTypeId: {\n ROADMAP: string\n SATELLITE: string\n HYBRID: string\n TERRAIN: string\n }\n }\n}\n\ndeclare global {\n interface Window {\n google?: GoogleMapsAPI\n initGoogleMaps?: () => void\n __schmancyGoogleMapsLoading?: Observable<boolean>\n }\n}\n\n// Singleton for managing Google Maps script loading\nclass GoogleMapsLoader {\n private static loading$?: Observable<boolean>\n\n static load(apiKey: string): Observable<boolean> {\n // If already loaded, return success\n if (window.google?.maps) {\n return of(true)\n }\n\n // If already loading, return the existing observable\n if (this.loading$) {\n return this.loading$\n }\n\n // Create a new loading observable\n this.loading$ = new Observable<boolean>(observer => {\n // Check again if loaded while waiting\n if (window.google?.maps) {\n observer.next(true)\n observer.complete()\n return\n }\n\n const script = document.createElement('script')\n // Using places library instead of geometry for geocoding\n script.src = `https://maps.googleapis.com/maps/api/js?key=${apiKey}&libraries=places&callback=initGoogleMaps&v=weekly`\n script.async = true\n script.defer = true\n\n window.initGoogleMaps = () => {\n observer.next(true)\n observer.complete()\n }\n\n script.onerror = (error) => {\n console.error('Google Maps script loading error:', error)\n observer.error(new Error('Failed to load Google Maps. Please check API key configuration and ensure the domain is authorized.'))\n }\n\n document.head.appendChild(script)\n }).pipe(\n shareReplay(1) // Share the result among all subscribers\n )\n\n return this.loading$\n }\n}\n\n/**\n * `<schmancy-map>` component\n *\n * A Google Maps component with an intuitive API for displaying interactive or static maps.\n * Supports both address strings (with automatic geocoding) and precise coordinates.\n *\n * @element schmancy-map\n *\n * @example\n * <!-- Simple address -->\n * <schmancy-map address=\"Times Square, New York\"></schmancy-map>\n *\n * @example\n * <!-- With coordinates -->\n * <schmancy-map latitude=\"40.758\" longitude=\"-73.985\" zoom=\"17\"></schmancy-map>\n *\n * @example\n * <!-- Satellite view -->\n * <schmancy-map address=\"Grand Canyon\" type=\"satellite\" height=\"500px\"></schmancy-map>\n *\n * @example\n * <!-- Static map -->\n * <schmancy-map address=\"Eiffel Tower, Paris\" interactive=\"false\" controls=\"false\"></schmancy-map>\n */\n@customElement('schmancy-map')\nexport default class SchmancyMap extends TailwindElement(css`\n :host {\n display: block;\n position: relative;\n border-radius: 8px;\n overflow: hidden;\n background-color: var(--schmancy-sys-color-surface-container);\n color: var(--schmancy-sys-color-surface-on);\n }\n \n :host([height]) {\n height: var(--map-height);\n }\n \n .map-container {\n width: 100%;\n height: 100%;\n min-height: 400px;\n }\n \n .loading-container {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n min-height: 400px;\n background-color: var(--schmancy-sys-color-surface-containerLow);\n }\n \n .error-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n min-height: 400px;\n padding: 24px;\n text-align: center;\n background-color: var(--schmancy-sys-color-surface-containerLow);\n }\n \n .error-icon {\n width: 48px;\n height: 48px;\n margin-bottom: 16px;\n color: var(--schmancy-sys-color-error-default);\n }\n \n .error-title {\n font-size: 18px;\n font-weight: 600;\n margin-bottom: 8px;\n color: var(--schmancy-sys-color-surface-on);\n }\n \n .error-message {\n font-size: 14px;\n color: var(--schmancy-sys-color-surface-onVariant);\n line-height: 1.5;\n }\n`) {\n /**\n * Simple address string that automatically geocodes to display the location.\n * Takes precedence over latitude/longitude if both are provided.\n */\n @property({ type: String })\n address: string = ''\n\n /**\n * Latitude coordinate for precise location.\n * Used when address is not provided.\n */\n @property({ type: Number })\n latitude?: number\n\n /**\n * Longitude coordinate for precise location.\n * Used when address is not provided.\n */\n @property({ type: Number })\n longitude?: number\n\n /**\n * Map zoom level. Higher numbers show more detail.\n * @default 15\n */\n @property({ type: Number })\n zoom: number = 15\n\n /**\n * Height of the map with CSS unit (e.g., \"400px\", \"50vh\").\n * @default \"400px\"\n */\n @property({ type: String, reflect: true })\n height: string = '400px'\n\n /**\n * Whether to show a marker at the location.\n * @default true\n */\n @property({ type: Boolean })\n marker: boolean = true\n\n /**\n * Tooltip text for the location marker.\n */\n @property({ type: String })\n markerTitle: string = ''\n\n /**\n * Map display type.\n * Options: \"roadmap\", \"satellite\", \"hybrid\", \"terrain\"\n * @default \"roadmap\"\n */\n @property({ type: String })\n type: 'roadmap' | 'satellite' | 'hybrid' | 'terrain' = 'roadmap'\n\n /**\n * Whether users can interact with the map (pan, zoom, click).\n * @default true\n */\n @property({ type: Boolean })\n interactive: boolean = true\n\n /**\n * Whether to show map controls (zoom buttons, fullscreen, etc.).\n * @default true\n */\n @property({ type: Boolean })\n controls: boolean = true\n\n /**\n * Google Maps API key. Required for the map to load.\n */\n @property({ type: String })\n apiKey: string = ''\n\n @state() private loading: boolean = false\n @state() private error: string = ''\n\n private mapRef = createRef<HTMLDivElement>()\n private map?: any\n private mapMarker?: any\n private geocoder?: any\n private intersectionObserver?: IntersectionObserver\n private hasLoadedMap = false\n\n connectedCallback() {\n super.connectedCallback()\n \n // Set CSS custom property for height\n this.style.setProperty('--map-height', this.height)\n \n // Only load map when component becomes visible\n this.setupIntersectionObserver()\n }\n\n disconnectedCallback() {\n super.disconnectedCallback()\n if (this.intersectionObserver) {\n this.intersectionObserver.disconnect()\n }\n }\n\n private setupIntersectionObserver() {\n // Load map only when it's visible in the viewport\n this.intersectionObserver = new IntersectionObserver(\n (entries) => {\n entries.forEach(entry => {\n if (entry.isIntersecting && !this.hasLoadedMap) {\n this.hasLoadedMap = true\n this.loadMap()\n // Stop observing after loading\n this.intersectionObserver?.disconnect()\n }\n })\n },\n {\n root: null,\n rootMargin: '50px',\n threshold: 0.01\n }\n )\n \n this.intersectionObserver.observe(this)\n }\n\n private loadMap() {\n of(null).pipe(\n tap(() => {\n this.loading = true\n this.error = ''\n }),\n switchMap(() => {\n if (!this.apiKey) {\n throw new Error('Google Maps API key is required. Please provide it via the apiKey property.')\n }\n return GoogleMapsLoader.load(this.apiKey)\n }),\n switchMap(() => this.getCoordinates()),\n tap((coordinates) => {\n // Store coordinates for later use\n this.pendingCoordinates = coordinates\n }),\n catchError((error) => {\n console.error('Map loading error:', error)\n this.error = error.message || 'Failed to load map'\n return EMPTY\n }),\n finalize(() => {\n this.loading = false\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n }\n\n private pendingCoordinates?: { lat: number; lng: number }\n\n private getCoordinates() {\n if (this.address) {\n return this.geocodeAddress(this.address)\n }\n\n if (this.latitude !== undefined && this.longitude !== undefined) {\n return of({ lat: this.latitude, lng: this.longitude })\n }\n\n throw new Error('Either address or latitude/longitude coordinates are required')\n }\n\n private geocodeAddress(address: string) {\n if (!this.geocoder) {\n this.geocoder = new window.google!.maps.Geocoder()\n }\n\n return new Promise<{ lat: number; lng: number }>((resolve, reject) => {\n this.geocoder.geocode({ address }, (results: any[], status: string) => {\n if (status === 'OK' && results[0]) {\n const location = results[0].geometry.location\n resolve({\n lat: location.lat(),\n lng: location.lng()\n })\n } else {\n reject(new Error(`Geocoding failed: ${status}`))\n }\n })\n })\n }\n\n private initializeMap(coordinates: { lat: number; lng: number }) {\n if (!this.mapRef.value || !window.google?.maps) {\n return\n }\n\n const mapOptions = {\n center: coordinates,\n zoom: this.zoom,\n mapTypeId: this.getMapTypeId(),\n disableDefaultUI: !this.controls,\n gestureHandling: this.interactive ? 'cooperative' : 'none',\n zoomControl: this.controls,\n mapTypeControl: this.controls,\n scaleControl: this.controls,\n streetViewControl: this.controls,\n rotateControl: this.controls,\n fullscreenControl: this.controls,\n styles: this.interactive ? undefined : [\n {\n featureType: 'poi',\n stylers: [{ visibility: 'off' }]\n }\n ]\n }\n\n this.map = new window.google.maps.Map(this.mapRef.value, mapOptions)\n\n if (this.marker) {\n this.addMarker(coordinates)\n }\n }\n\n private getMapTypeId(): string {\n const typeMap = {\n roadmap: window.google!.maps.MapTypeId.ROADMAP,\n satellite: window.google!.maps.MapTypeId.SATELLITE,\n hybrid: window.google!.maps.MapTypeId.HYBRID,\n terrain: window.google!.maps.MapTypeId.TERRAIN\n }\n return typeMap[this.type] || typeMap.roadmap\n }\n\n private addMarker(coordinates: { lat: number; lng: number }) {\n if (!window.google?.maps || !this.map) {\n return\n }\n\n this.mapMarker = new window.google.maps.Marker({\n position: coordinates,\n map: this.map,\n title: this.markerTitle || this.address || 'Location'\n })\n }\n\n protected updated(changedProperties: Map<string, any>) {\n super.updated(changedProperties)\n\n if (changedProperties.has('height')) {\n this.style.setProperty('--map-height', this.height)\n }\n\n // Initialize map when loading completes and container is ready\n if (changedProperties.has('loading') && !this.loading && this.pendingCoordinates && !this.map) {\n // Wait for next frame to ensure map container is rendered\n requestAnimationFrame(() => {\n if (this.mapRef.value && this.pendingCoordinates) {\n this.initializeMap(this.pendingCoordinates)\n this.pendingCoordinates = undefined\n }\n })\n }\n\n // Reload map if critical properties change (only if map was already loaded)\n if (\n changedProperties.has('address') ||\n changedProperties.has('latitude') ||\n changedProperties.has('longitude') ||\n changedProperties.has('type') ||\n changedProperties.has('zoom')\n ) {\n if (this.map && this.hasLoadedMap) {\n this.loadMap()\n }\n }\n\n // Update marker title if it changes\n if (changedProperties.has('markerTitle') && this.mapMarker) {\n this.mapMarker.setTitle(this.markerTitle || this.address || 'Location')\n }\n }\n\n protected render() {\n return html`\n ${when(\n this.loading,\n () => html`\n <div class=\"loading-container\">\n <schmancy-spinner size=\"32px\"></schmancy-spinner>\n </div>\n `,\n () => when(\n this.error,\n () => html`\n <div class=\"error-container\">\n <svg class=\"error-icon\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" \n d=\"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L4.082 16.5c-.77.833.192 2.5 1.732 2.5z\" />\n </svg>\n <div class=\"error-title\">Map could not be loaded</div>\n <div class=\"error-message\">${this.error}</div>\n </div>\n `,\n () => html`\n <div class=\"map-container\" ${ref(this.mapRef)}></div>\n `\n )\n )}\n `\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'schmancy-map': SchmancyMap\n }\n}"],"names":["GoogleMapsLoader","apiKey","window","google","maps","of","this","loading$","Observable","observer","next","complete","script","document","createElement","src","async","defer","initGoogleMaps","onerror","error","Error","head","appendChild","pipe","shareReplay","SchmancyMap","TailwindElement","css","constructor","super","arguments","address","zoom","height","marker","markerTitle","type","interactive","controls","loading","mapRef","createRef","hasLoadedMap","connectedCallback","style","setProperty","setupIntersectionObserver","disconnectedCallback","intersectionObserver","disconnect","IntersectionObserver","entries","forEach","entry","isIntersecting","loadMap","root","rootMargin","threshold","observe","tap","switchMap","load","getCoordinates","coordinates","pendingCoordinates","catchError","message","EMPTY","finalize","takeUntil","disconnecting","subscribe","geocodeAddress","latitude","longitude","lat","lng","geocoder","Geocoder","Promise","resolve","reject","geocode","results","status","location","geometry","value","mapOptions","center","mapTypeId","getMapTypeId","disableDefaultUI","gestureHandling","zoomControl","mapTypeControl","scaleControl","streetViewControl","rotateControl","fullscreenControl","styles","featureType","stylers","visibility","map","Map","addMarker","typeMap","roadmap","MapTypeId","ROADMAP","satellite","SATELLITE","hybrid","HYBRID","terrain","TERRAIN","mapMarker","Marker","position","title","changedProperties","updated","has","requestAnimationFrame","initializeMap","setTitle","render","html","when","ref","__decorateClass","property","String","prototype","Number","reflect","Boolean","state","customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"map-NSbqp1n5.js","sources":["../src/map/map.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { ref, createRef } from 'lit/directives/ref.js'\nimport { when } from 'lit/directives/when.js'\nimport { of, EMPTY, Observable } from 'rxjs'\nimport { switchMap, tap, catchError, takeUntil, finalize, shareReplay } from 'rxjs/operators'\n\ninterface GoogleMapsAPI {\n maps: {\n Map: new (element: HTMLElement, options: any) => any\n Marker: new (options: any) => any\n Geocoder: new () => any\n LatLng: new (lat: number, lng: number) => any\n MapTypeId: {\n ROADMAP: string\n SATELLITE: string\n HYBRID: string\n TERRAIN: string\n }\n }\n}\n\ndeclare global {\n interface Window {\n google?: GoogleMapsAPI\n initGoogleMaps?: () => void\n __schmancyGoogleMapsLoading?: Observable<boolean>\n }\n}\n\n// Singleton for managing Google Maps script loading\nclass GoogleMapsLoader {\n private static loading$?: Observable<boolean>\n\n static load(apiKey: string): Observable<boolean> {\n // If already loaded, return success\n if (window.google?.maps) {\n return of(true)\n }\n\n // If already loading, return the existing observable\n if (this.loading$) {\n return this.loading$\n }\n\n // Create a new loading observable\n this.loading$ = new Observable<boolean>(observer => {\n // Check again if loaded while waiting\n if (window.google?.maps) {\n observer.next(true)\n observer.complete()\n return\n }\n\n const script = document.createElement('script')\n // Using places library instead of geometry for geocoding\n script.src = `https://maps.googleapis.com/maps/api/js?key=${apiKey}&libraries=places&callback=initGoogleMaps&v=weekly`\n script.async = true\n script.defer = true\n\n window.initGoogleMaps = () => {\n observer.next(true)\n observer.complete()\n }\n\n script.onerror = (error) => {\n console.error('Google Maps script loading error:', error)\n observer.error(new Error('Failed to load Google Maps. Please check API key configuration and ensure the domain is authorized.'))\n }\n\n document.head.appendChild(script)\n }).pipe(\n shareReplay(1) // Share the result among all subscribers\n )\n\n return this.loading$\n }\n}\n\n/**\n * `<schmancy-map>` component\n *\n * A Google Maps component with an intuitive API for displaying interactive or static maps.\n * Supports both address strings (with automatic geocoding) and precise coordinates.\n *\n * @element schmancy-map\n *\n * @example\n * <!-- Simple address -->\n * <schmancy-map address=\"Times Square, New York\"></schmancy-map>\n *\n * @example\n * <!-- With coordinates -->\n * <schmancy-map latitude=\"40.758\" longitude=\"-73.985\" zoom=\"17\"></schmancy-map>\n *\n * @example\n * <!-- Satellite view -->\n * <schmancy-map address=\"Grand Canyon\" type=\"satellite\" height=\"500px\"></schmancy-map>\n *\n * @example\n * <!-- Static map -->\n * <schmancy-map address=\"Eiffel Tower, Paris\" interactive=\"false\" controls=\"false\"></schmancy-map>\n */\n@customElement('schmancy-map')\nexport default class SchmancyMap extends TailwindElement(css`\n :host {\n display: block;\n position: relative;\n border-radius: 8px;\n overflow: hidden;\n background-color: var(--schmancy-sys-color-surface-container);\n color: var(--schmancy-sys-color-surface-on);\n }\n \n :host([height]) {\n height: var(--map-height);\n }\n \n .map-container {\n width: 100%;\n height: 100%;\n min-height: 400px;\n }\n \n .loading-container {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n min-height: 400px;\n background-color: var(--schmancy-sys-color-surface-containerLow);\n }\n \n .error-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n min-height: 400px;\n padding: 24px;\n text-align: center;\n background-color: var(--schmancy-sys-color-surface-containerLow);\n }\n \n .error-icon {\n width: 48px;\n height: 48px;\n margin-bottom: 16px;\n color: var(--schmancy-sys-color-error-default);\n }\n \n .error-title {\n font-size: 18px;\n font-weight: 600;\n margin-bottom: 8px;\n color: var(--schmancy-sys-color-surface-on);\n }\n \n .error-message {\n font-size: 14px;\n color: var(--schmancy-sys-color-surface-onVariant);\n line-height: 1.5;\n }\n`) {\n /**\n * Simple address string that automatically geocodes to display the location.\n * Takes precedence over latitude/longitude if both are provided.\n */\n @property({ type: String })\n address: string = ''\n\n /**\n * Latitude coordinate for precise location.\n * Used when address is not provided.\n */\n @property({ type: Number })\n latitude?: number\n\n /**\n * Longitude coordinate for precise location.\n * Used when address is not provided.\n */\n @property({ type: Number })\n longitude?: number\n\n /**\n * Map zoom level. Higher numbers show more detail.\n * @default 15\n */\n @property({ type: Number })\n zoom: number = 15\n\n /**\n * Height of the map with CSS unit (e.g., \"400px\", \"50vh\").\n * @default \"400px\"\n */\n @property({ type: String, reflect: true })\n height: string = '400px'\n\n /**\n * Whether to show a marker at the location.\n * @default true\n */\n @property({ type: Boolean })\n marker: boolean = true\n\n /**\n * Tooltip text for the location marker.\n */\n @property({ type: String })\n markerTitle: string = ''\n\n /**\n * Map display type.\n * Options: \"roadmap\", \"satellite\", \"hybrid\", \"terrain\"\n * @default \"roadmap\"\n */\n @property({ type: String })\n type: 'roadmap' | 'satellite' | 'hybrid' | 'terrain' = 'roadmap'\n\n /**\n * Whether users can interact with the map (pan, zoom, click).\n * @default true\n */\n @property({ type: Boolean })\n interactive: boolean = true\n\n /**\n * Whether to show map controls (zoom buttons, fullscreen, etc.).\n * @default true\n */\n @property({ type: Boolean })\n controls: boolean = true\n\n /**\n * Google Maps API key. Required for the map to load.\n */\n @property({ type: String })\n apiKey: string = ''\n\n @state() private loading: boolean = false\n @state() private error: string = ''\n\n private mapRef = createRef<HTMLDivElement>()\n private map?: any\n private mapMarker?: any\n private geocoder?: any\n private intersectionObserver?: IntersectionObserver\n private hasLoadedMap = false\n\n connectedCallback() {\n super.connectedCallback()\n \n // Set CSS custom property for height\n this.style.setProperty('--map-height', this.height)\n \n // Only load map when component becomes visible\n this.setupIntersectionObserver()\n }\n\n disconnectedCallback() {\n super.disconnectedCallback()\n if (this.intersectionObserver) {\n this.intersectionObserver.disconnect()\n }\n }\n\n private setupIntersectionObserver() {\n // Load map only when it's visible in the viewport\n this.intersectionObserver = new IntersectionObserver(\n (entries) => {\n entries.forEach(entry => {\n if (entry.isIntersecting && !this.hasLoadedMap) {\n this.hasLoadedMap = true\n this.loadMap()\n // Stop observing after loading\n this.intersectionObserver?.disconnect()\n }\n })\n },\n {\n root: null,\n rootMargin: '50px',\n threshold: 0.01\n }\n )\n \n this.intersectionObserver.observe(this)\n }\n\n private loadMap() {\n of(null).pipe(\n tap(() => {\n this.loading = true\n this.error = ''\n }),\n switchMap(() => {\n if (!this.apiKey) {\n throw new Error('Google Maps API key is required. Please provide it via the apiKey property.')\n }\n return GoogleMapsLoader.load(this.apiKey)\n }),\n switchMap(() => this.getCoordinates()),\n tap((coordinates) => {\n // Store coordinates for later use\n this.pendingCoordinates = coordinates\n }),\n catchError((error) => {\n console.error('Map loading error:', error)\n this.error = error.message || 'Failed to load map'\n return EMPTY\n }),\n finalize(() => {\n this.loading = false\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n }\n\n private pendingCoordinates?: { lat: number; lng: number }\n\n private getCoordinates() {\n if (this.address) {\n return this.geocodeAddress(this.address)\n }\n\n if (this.latitude !== undefined && this.longitude !== undefined) {\n return of({ lat: this.latitude, lng: this.longitude })\n }\n\n throw new Error('Either address or latitude/longitude coordinates are required')\n }\n\n private geocodeAddress(address: string) {\n if (!this.geocoder) {\n this.geocoder = new window.google!.maps.Geocoder()\n }\n\n return new Promise<{ lat: number; lng: number }>((resolve, reject) => {\n this.geocoder.geocode({ address }, (results: any[], status: string) => {\n if (status === 'OK' && results[0]) {\n const location = results[0].geometry.location\n resolve({\n lat: location.lat(),\n lng: location.lng()\n })\n } else {\n reject(new Error(`Geocoding failed: ${status}`))\n }\n })\n })\n }\n\n private initializeMap(coordinates: { lat: number; lng: number }) {\n if (!this.mapRef.value || !window.google?.maps) {\n return\n }\n\n const mapOptions = {\n center: coordinates,\n zoom: this.zoom,\n mapTypeId: this.getMapTypeId(),\n disableDefaultUI: !this.controls,\n gestureHandling: this.interactive ? 'cooperative' : 'none',\n zoomControl: this.controls,\n mapTypeControl: this.controls,\n scaleControl: this.controls,\n streetViewControl: this.controls,\n rotateControl: this.controls,\n fullscreenControl: this.controls,\n styles: this.interactive ? undefined : [\n {\n featureType: 'poi',\n stylers: [{ visibility: 'off' }]\n }\n ]\n }\n\n this.map = new window.google.maps.Map(this.mapRef.value, mapOptions)\n\n if (this.marker) {\n this.addMarker(coordinates)\n }\n }\n\n private getMapTypeId(): string {\n const typeMap = {\n roadmap: window.google!.maps.MapTypeId.ROADMAP,\n satellite: window.google!.maps.MapTypeId.SATELLITE,\n hybrid: window.google!.maps.MapTypeId.HYBRID,\n terrain: window.google!.maps.MapTypeId.TERRAIN\n }\n return typeMap[this.type] || typeMap.roadmap\n }\n\n private addMarker(coordinates: { lat: number; lng: number }) {\n if (!window.google?.maps || !this.map) {\n return\n }\n\n this.mapMarker = new window.google.maps.Marker({\n position: coordinates,\n map: this.map,\n title: this.markerTitle || this.address || 'Location'\n })\n }\n\n protected updated(changedProperties: Map<string, any>) {\n super.updated(changedProperties)\n\n if (changedProperties.has('height')) {\n this.style.setProperty('--map-height', this.height)\n }\n\n // Initialize map when loading completes and container is ready\n if (changedProperties.has('loading') && !this.loading && this.pendingCoordinates && !this.map) {\n // Wait for next frame to ensure map container is rendered\n requestAnimationFrame(() => {\n if (this.mapRef.value && this.pendingCoordinates) {\n this.initializeMap(this.pendingCoordinates)\n this.pendingCoordinates = undefined\n }\n })\n }\n\n // Reload map if critical properties change (only if map was already loaded)\n if (\n changedProperties.has('address') ||\n changedProperties.has('latitude') ||\n changedProperties.has('longitude') ||\n changedProperties.has('type') ||\n changedProperties.has('zoom')\n ) {\n if (this.map && this.hasLoadedMap) {\n this.loadMap()\n }\n }\n\n // Update marker title if it changes\n if (changedProperties.has('markerTitle') && this.mapMarker) {\n this.mapMarker.setTitle(this.markerTitle || this.address || 'Location')\n }\n }\n\n protected render() {\n return html`\n ${when(\n this.loading,\n () => html`\n <div class=\"loading-container\">\n <schmancy-spinner size=\"32px\"></schmancy-spinner>\n </div>\n `,\n () => when(\n this.error,\n () => html`\n <div class=\"error-container\">\n <svg class=\"error-icon\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" \n d=\"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L4.082 16.5c-.77.833.192 2.5 1.732 2.5z\" />\n </svg>\n <div class=\"error-title\">Map could not be loaded</div>\n <div class=\"error-message\">${this.error}</div>\n </div>\n `,\n () => html`\n <div class=\"map-container\" ${ref(this.mapRef)}></div>\n `\n )\n )}\n `\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'schmancy-map': SchmancyMap\n }\n}"],"names":["GoogleMapsLoader","apiKey","window","google","maps","of","this","loading$","Observable","observer","next","complete","script","document","createElement","src","async","defer","initGoogleMaps","onerror","error","Error","head","appendChild","pipe","shareReplay","SchmancyMap","TailwindElement","css","constructor","super","arguments","address","zoom","height","marker","markerTitle","type","interactive","controls","loading","mapRef","createRef","hasLoadedMap","connectedCallback","style","setProperty","setupIntersectionObserver","disconnectedCallback","intersectionObserver","disconnect","IntersectionObserver","entries","forEach","entry","isIntersecting","loadMap","root","rootMargin","threshold","observe","tap","switchMap","load","getCoordinates","coordinates","pendingCoordinates","catchError","message","EMPTY","finalize","takeUntil","disconnecting","subscribe","geocodeAddress","latitude","longitude","lat","lng","geocoder","Geocoder","Promise","resolve","reject","geocode","results","status","location","geometry","value","mapOptions","center","mapTypeId","getMapTypeId","disableDefaultUI","gestureHandling","zoomControl","mapTypeControl","scaleControl","streetViewControl","rotateControl","fullscreenControl","styles","featureType","stylers","visibility","map","Map","addMarker","typeMap","roadmap","MapTypeId","ROADMAP","satellite","SATELLITE","hybrid","HYBRID","terrain","TERRAIN","mapMarker","Marker","position","title","changedProperties","updated","has","requestAnimationFrame","initializeMap","setTitle","render","html","when","ref","__decorateClass","property","String","prototype","Number","reflect","Boolean","state","customElement"],"mappings":"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"}
|
package/dist/map.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./map-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./map-CX2AHaig.cjs");Object.defineProperty(exports,"SchmancyMap",{enumerable:!0,get:()=>e.SchmancyMap});
|
|
2
2
|
//# sourceMappingURL=map.cjs.map
|
package/dist/map.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const y=require("./tailwind.mixin-
|
|
1
|
+
"use strict";require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const y=require("./tailwind.mixin-CZTk9eGO.cjs"),l=require("lit/decorators.js"),a=require("lit");var u=Object.getOwnPropertyDescriptor;let p=class extends y.TailwindElement(a.css`
|
|
2
2
|
:host {
|
|
3
3
|
display: flex;
|
|
4
4
|
gap: 0.5rem;
|
|
@@ -97,4 +97,4 @@
|
|
|
97
97
|
object-fit: scale-down;
|
|
98
98
|
}
|
|
99
99
|
`){constructor(){super(...arguments),this.src="",this.fit="contain",this.alt=""}render(){return this.src?a.html`<img src="${this.src}" alt="${this.alt}" />`:a.html`<slot></slot>`}};d([l.property({type:String,reflect:!0})],c.prototype,"src",2),d([l.property({type:String,reflect:!0})],c.prototype,"fit",2),d([l.property({type:String})],c.prototype,"alt",2),c=d([l.customElement("schmancy-card-media")],c);
|
|
100
|
-
//# sourceMappingURL=media-
|
|
100
|
+
//# sourceMappingURL=media-DlbdBcJx.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-
|
|
1
|
+
{"version":3,"file":"media-DlbdBcJx.cjs","sources":["../src/card/actions.ts","../src/card/card.ts","../src/card/content.ts","../src/card/media.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n/**\n * @element schmancy-card-action\n * @slot - The content of the action\n */\n@customElement('schmancy-card-action')\nexport default class SchmancyCardAction extends TailwindElement(css`\n\t:host {\n\t\tdisplay: flex;\n\t\tgap: 0.5rem;\n\t\tpadding: 0.5rem 1rem;\n\t\talign-items: center;\n\t\tjustify-content: flex-end;\n\t}\n`) {\n\tprotected render(): unknown {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-action': SchmancyCardAction\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-card')\nexport default class SchmancyCard extends TailwindElement(css`:host{\n\tdisplay: block;\n\tposition: relative;\n\tinset: 0;\n\tborder-radius: 0.375rem; /* rounded-md */\n}\n:host([type=\"elevated\"]) {\n\tbackground-color: var(--schmancy-sys-color-surface-low);\n\tbox-shadow: var(--schmancy-sys-elevation-1);\n}\n:host([type=\"elevated\"]:hover) {\n\tbox-shadow: var(--schmancy-sys-elevation-2);\n}\n:host([type=\"filled\"]) {\n\tbackground-color: var(--schmancy-sys-color-surface-highest);\n}\n:host([type=\"filled\"]:hover) {\n\tbox-shadow: var(--schmancy-sys-elevation-1);\n}\n:host([type=\"outlined\"]) {\n\tbackground-color: var(--schmancy-sys-color-surface-default);\n\tborder: 1px solid var(--schmancy-sys-color-outlineVariant);\n}\n:host([type=\"outlined\"]:hover) {\n\tbox-shadow: var(--schmancy-sys-elevation-1);\n}\n:host([elevation=\"1\"]) {\n\tbox-shadow: var(--schmancy-sys-elevation-1);\n}\n:host([elevation=\"2\"]) {\n\tbox-shadow: var(--schmancy-sys-elevation-2);\n}\n:host([elevation=\"3\"]) {\n\tbox-shadow: var(--schmancy-sys-elevation-3);\n}\n:host([elevation=\"4\"]) {\n\tbox-shadow: var(--schmancy-sys-elevation-4);\n}\n:host([elevation=\"5\"]) {\n\tbox-shadow: var(--schmancy-sys-elevation-5);\n}`) {\n\t@property() type: 'elevated' | 'filled' | 'outlined' = 'elevated'\n\t@property({ type: Number }) elevation: 0 | 1 | 2 | 3 | 4 | 5 = 0\n\tprotected render(): unknown {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card': SchmancyCard\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n/**\n * @element schmancy-card-content\n */\n@customElement('schmancy-card-content')\nexport default class SchmancyCardContent extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tpadding: 1rem;\n\t}\n`) {\n\tprotected render(): unknown {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-content': SchmancyCardContent\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n/**\n * @element schmancy-card-media\n */\n@customElement('schmancy-card-media')\nexport default class SchmancyCardMedia extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\theight: 200px;\n\t\toverflow: hidden;\n\t}\n\t\n\t/* Allow height to be overridden when used in flex/grid layouts */\n\t:host-context(.h-full) {\n\t\theight: 100%;\n\t}\n\t\n\t::slotted(img),\n\timg {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tobject-position: center;\n\t}\n\t\n\t/* Object fit styles based on fit attribute */\n\t:host([fit=\"contain\"]) img,\n\t:host([fit=\"contain\"]) ::slotted(img) {\n\t\tobject-fit: contain;\n\t}\n\t\n\t:host([fit=\"cover\"]) img,\n\t:host([fit=\"cover\"]) ::slotted(img) {\n\t\tobject-fit: cover;\n\t}\n\t\n\t:host([fit=\"fill\"]) img,\n\t:host([fit=\"fill\"]) ::slotted(img) {\n\t\tobject-fit: fill;\n\t}\n\t\n\t:host([fit=\"none\"]) img,\n\t:host([fit=\"none\"]) ::slotted(img) {\n\t\tobject-fit: none;\n\t}\n\t\n\t:host([fit=\"scale-down\"]) img,\n\t:host([fit=\"scale-down\"]) ::slotted(img) {\n\t\tobject-fit: scale-down;\n\t}\n`) {\n\t@property({ type: String, reflect: true })\n\tsrc: string = ''\n\n\t@property({ type: String, reflect: true })\n\tfit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down' = 'contain'\n\t\n\t@property({ type: String })\n\talt: string = ''\n\n\tprotected render(): unknown {\n\t\t// If src is provided, render an img element\n\t\t// Otherwise, allow users to slot their own content\n\t\treturn this.src \n\t\t\t? html`<img src=\"${this.src}\" alt=\"${this.alt}\" />` \n\t\t\t: html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-media': SchmancyCardMedia\n\t}\n}\n"],"names":["SchmancyCardAction","TailwindElement","css","render","html","customElement","SchmancyCard","constructor","super","arguments","this","type","elevation","__decorateClass","property","prototype","Number","SchmancyCardContent","SchmancyCardMedia","src","fit","alt","String","reflect"],"mappings":"kPASA,IAAqBA,EAArB,cAAgDC,EAAAA,gBAAgBC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GASrD,QAAAC,CACT,OAAOC,EAAAA,mBACR,CAAA,EAXoBJ,wGAArB,CADCK,EAAAA,cAAc,sBAAA,CAAA,EACML,mMCJrB,IAAqBM,EAArB,cAA0CL,EAAAA,gBAAgBC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAA1D,aAAAK,CAAAC,MAAAA,GAAAC,SAAAA,EAyCaC,KAAAC,KAA2C,WAC3BD,KAAAE,UAAmC,CAAA,CACrD,QAAAT,CACT,OAAOC,EAAAA,mBACR,CAAA,EAJYS,EAAA,CAAXC,EAAAA,SAAAA,CAAAA,EAzCmBR,EAyCRS,UAAA,OAAA,CAAA,EACgBF,EAAA,CAA3BC,WAAS,CAAEH,KAAMK,MAAAA,CAAAA,CAAAA,EA1CEV,EA0CQS,UAAA,YAAA,CAAA,EA1CRT,EAArBO,EAAA,CADCR,EAAAA,cAAc,eAAA,CAAA,EACMC,CAAAA,wCCGrB,IAAqBW,EAArB,cAAiDhB,EAAAA,gBAAgBC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAMtD,QAAAC,CACT,OAAOC,EAAAA,mBACR,CAAA,EARoBa,wGAArB,CADCZ,EAAAA,cAAc,uBAAA,CAAA,EACMY,mMCArB,IAAqBC,EAArB,cAA+CjB,EAAAA,gBAAgBC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAA/D,CAAA,CAAA,aAAAK,CAAAC,MAAAA,GAAAC,SAAAA,EA+CCC,KAAAS,IAAc,GAGdT,KAAAU,IAA4D,UAG5DV,KAAAW,IAAc,EAAA,CAEJ,QAAAlB,CAGT,OAAOO,KAAKS,IACTf,mBAAiBM,KAAKS,aAAaT,KAAKW,GAAAA,OACxCjB,EAAAA,mBACJ,CAAA,EAdAS,EAAA,CADCC,EAAAA,SAAS,CAAEH,KAAMW,OAAQC,QAAAA,EAAS,CAAA,CAAA,EA9CfL,EA+CpBH,UAAA,MAAA,GAGAF,EAAA,CADCC,EAAAA,SAAS,CAAEH,KAAMW,OAAQC,QAAAA,EAAS,CAAA,CAAA,EAjDfL,EAkDpBH,UAAA,MAAA,CAAA,EAGAF,EAAA,CADCC,WAAS,CAAEH,KAAMW,MAAAA,CAAAA,CAAAA,EApDEJ,EAqDpBH,UAAA,MAAA,GArDoBG,EAArBL,EAAA,CADCR,EAAAA,cAAc,qBAAA,CAAA,EACMa,CAAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "rxjs";
|
|
2
2
|
import "lit/directives/class-map.js";
|
|
3
3
|
import "lit/directives/style-map.js";
|
|
4
|
-
import { T as y } from "./tailwind.mixin-
|
|
4
|
+
import { T as y } from "./tailwind.mixin-CzyZKLbe.js";
|
|
5
5
|
import { customElement as v, property as c } from "lit/decorators.js";
|
|
6
6
|
import { css as m, html as l } from "lit";
|
|
7
7
|
var b = Object.getOwnPropertyDescriptor;
|
|
@@ -148,4 +148,4 @@ let a = class extends y(m`
|
|
|
148
148
|
}
|
|
149
149
|
};
|
|
150
150
|
d([c({ type: String, reflect: !0 })], a.prototype, "src", 2), d([c({ type: String, reflect: !0 })], a.prototype, "fit", 2), d([c({ type: String })], a.prototype, "alt", 2), a = d([v("schmancy-card-media")], a);
|
|
151
|
-
//# sourceMappingURL=media-
|
|
151
|
+
//# sourceMappingURL=media-yNoBGbIW.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-
|
|
1
|
+
{"version":3,"file":"media-yNoBGbIW.js","sources":["../src/card/actions.ts","../src/card/card.ts","../src/card/content.ts","../src/card/media.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n/**\n * @element schmancy-card-action\n * @slot - The content of the action\n */\n@customElement('schmancy-card-action')\nexport default class SchmancyCardAction extends TailwindElement(css`\n\t:host {\n\t\tdisplay: flex;\n\t\tgap: 0.5rem;\n\t\tpadding: 0.5rem 1rem;\n\t\talign-items: center;\n\t\tjustify-content: flex-end;\n\t}\n`) {\n\tprotected render(): unknown {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-action': SchmancyCardAction\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-card')\nexport default class SchmancyCard extends TailwindElement(css`:host{\n\tdisplay: block;\n\tposition: relative;\n\tinset: 0;\n\tborder-radius: 0.375rem; /* rounded-md */\n}\n:host([type=\"elevated\"]) {\n\tbackground-color: var(--schmancy-sys-color-surface-low);\n\tbox-shadow: var(--schmancy-sys-elevation-1);\n}\n:host([type=\"elevated\"]:hover) {\n\tbox-shadow: var(--schmancy-sys-elevation-2);\n}\n:host([type=\"filled\"]) {\n\tbackground-color: var(--schmancy-sys-color-surface-highest);\n}\n:host([type=\"filled\"]:hover) {\n\tbox-shadow: var(--schmancy-sys-elevation-1);\n}\n:host([type=\"outlined\"]) {\n\tbackground-color: var(--schmancy-sys-color-surface-default);\n\tborder: 1px solid var(--schmancy-sys-color-outlineVariant);\n}\n:host([type=\"outlined\"]:hover) {\n\tbox-shadow: var(--schmancy-sys-elevation-1);\n}\n:host([elevation=\"1\"]) {\n\tbox-shadow: var(--schmancy-sys-elevation-1);\n}\n:host([elevation=\"2\"]) {\n\tbox-shadow: var(--schmancy-sys-elevation-2);\n}\n:host([elevation=\"3\"]) {\n\tbox-shadow: var(--schmancy-sys-elevation-3);\n}\n:host([elevation=\"4\"]) {\n\tbox-shadow: var(--schmancy-sys-elevation-4);\n}\n:host([elevation=\"5\"]) {\n\tbox-shadow: var(--schmancy-sys-elevation-5);\n}`) {\n\t@property() type: 'elevated' | 'filled' | 'outlined' = 'elevated'\n\t@property({ type: Number }) elevation: 0 | 1 | 2 | 3 | 4 | 5 = 0\n\tprotected render(): unknown {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card': SchmancyCard\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n/**\n * @element schmancy-card-content\n */\n@customElement('schmancy-card-content')\nexport default class SchmancyCardContent extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tpadding: 1rem;\n\t}\n`) {\n\tprotected render(): unknown {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-content': SchmancyCardContent\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n/**\n * @element schmancy-card-media\n */\n@customElement('schmancy-card-media')\nexport default class SchmancyCardMedia extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\theight: 200px;\n\t\toverflow: hidden;\n\t}\n\t\n\t/* Allow height to be overridden when used in flex/grid layouts */\n\t:host-context(.h-full) {\n\t\theight: 100%;\n\t}\n\t\n\t::slotted(img),\n\timg {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tobject-position: center;\n\t}\n\t\n\t/* Object fit styles based on fit attribute */\n\t:host([fit=\"contain\"]) img,\n\t:host([fit=\"contain\"]) ::slotted(img) {\n\t\tobject-fit: contain;\n\t}\n\t\n\t:host([fit=\"cover\"]) img,\n\t:host([fit=\"cover\"]) ::slotted(img) {\n\t\tobject-fit: cover;\n\t}\n\t\n\t:host([fit=\"fill\"]) img,\n\t:host([fit=\"fill\"]) ::slotted(img) {\n\t\tobject-fit: fill;\n\t}\n\t\n\t:host([fit=\"none\"]) img,\n\t:host([fit=\"none\"]) ::slotted(img) {\n\t\tobject-fit: none;\n\t}\n\t\n\t:host([fit=\"scale-down\"]) img,\n\t:host([fit=\"scale-down\"]) ::slotted(img) {\n\t\tobject-fit: scale-down;\n\t}\n`) {\n\t@property({ type: String, reflect: true })\n\tsrc: string = ''\n\n\t@property({ type: String, reflect: true })\n\tfit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down' = 'contain'\n\t\n\t@property({ type: String })\n\talt: string = ''\n\n\tprotected render(): unknown {\n\t\t// If src is provided, render an img element\n\t\t// Otherwise, allow users to slot their own content\n\t\treturn this.src \n\t\t\t? html`<img src=\"${this.src}\" alt=\"${this.alt}\" />` \n\t\t\t: html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-media': SchmancyCardMedia\n\t}\n}\n"],"names":["SchmancyCardAction","TailwindElement","css","render","html","customElement","SchmancyCard","constructor","super","arguments","this","type","elevation","__decorateClass","property","prototype","Number","SchmancyCardContent","SchmancyCardMedia","src","fit","alt","String","reflect"],"mappings":";;;;;;;AASA,IAAqBA,IAArB,cAAgDC,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;EASrD,SAAAC;AACT,WAAOC;AAAAA,EACR;;AAXoBJ;;;GAArB,CADCK,EAAc,sBAAA,CAAA,GACML;;;;;ACJrB,IAAqBM,IAArB,cAA0CL,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;EAA1D,cAAAK;AAAAC,aAAAC,SAAAA,GAyCaC,KAAAC,OAA2C,YAC3BD,KAAAE,YAAmC;AAAA,EAAA;AAAA,EACrD,SAAAT;AACT,WAAOC;AAAAA,EACR;AAAA;AAJYS,EAAA,CAAXC,EAAAA,CAAAA,GAzCmBR,EAyCRS,WAAA,QAAA,CAAA,GACgBF,EAAA,CAA3BC,EAAS,EAAEH,MAAMK,OAAAA,CAAAA,CAAAA,GA1CEV,EA0CQS,WAAA,aAAA,CAAA,GA1CRT,IAArBO,EAAA,CADCR,EAAc,eAAA,CAAA,GACMC,CAAAA;;ACGrB,IAAqBW,IAArB,cAAiDhB,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;EAMtD,SAAAC;AACT,WAAOC;AAAAA,EACR;;AARoBa;;;GAArB,CADCZ,EAAc,uBAAA,CAAA,GACMY;;;;;ACArB,IAAqBC,IAArB,cAA+CjB,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAA/D,EAAA;AAAA,EAAA,cAAAK;AAAAC,UAAAA,GAAAC,SAAAA,GA+CCC,KAAAS,MAAc,IAGdT,KAAAU,MAA4D,WAG5DV,KAAAW,MAAc;AAAA,EAAA;AAAA,EAEJ,SAAAlB;AAGT,WAAOO,KAAKS,MACTf,cAAiBM,KAAKS,GAAAA,UAAaT,KAAKW,GAAAA,SACxCjB;AAAAA,EACJ;AAAA;AAdAS,EAAA,CADCC,EAAS,EAAEH,MAAMW,QAAQC,SAAAA,GAAS,CAAA,CAAA,GA9CfL,EA+CpBH,WAAA,OAAA,CAAA,GAGAF,EAAA,CADCC,EAAS,EAAEH,MAAMW,QAAQC,SAAAA,QAjDNL,EAkDpBH,WAAA,OAAA,CAAA,GAGAF,EAAA,CADCC,EAAS,EAAEH,MAAMW,OAAAA,CAAAA,CAAAA,GApDEJ,EAqDpBH,WAAA,OAAA,CAAA,GArDoBG,IAArBL,EAAA,CADCR,EAAc,qBAAA,CAAA,GACMa,CAAAA;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { fromEvent as l, takeUntil as r, tap as c, filter as f } from "rxjs";
|
|
2
2
|
import "lit/directives/class-map.js";
|
|
3
3
|
import "lit/directives/style-map.js";
|
|
4
|
-
import { $ as g } from "./litElement.mixin-
|
|
5
|
-
import { T as E } from "./tailwind.mixin-
|
|
4
|
+
import { $ as g } from "./litElement.mixin-B3DViDp3.js";
|
|
5
|
+
import { T as E } from "./tailwind.mixin-CzyZKLbe.js";
|
|
6
6
|
import { customElement as d, queryAssignedElements as w, query as v } from "lit/decorators.js";
|
|
7
7
|
import { css as b, html as y } from "lit";
|
|
8
8
|
import { offset as x, flip as k, shift as M, size as P, computePosition as p, autoUpdate as O } from "@floating-ui/dom";
|
|
@@ -96,4 +96,4 @@ let m = class extends E(b`
|
|
|
96
96
|
}
|
|
97
97
|
};
|
|
98
98
|
u([w({ flatten: !0, slot: "button" })], m.prototype, "buttonElement", 2), u([v("#menu")], m.prototype, "menuElement", 2), m = u([d("schmancy-menu")], m);
|
|
99
|
-
//# sourceMappingURL=menu-
|
|
99
|
+
//# sourceMappingURL=menu-DHXR2hMy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-
|
|
1
|
+
{"version":3,"file":"menu-DHXR2hMy.js","sources":["../src/menu/menu-item.ts","../src/menu/menu.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { fromEvent, takeUntil } from 'rxjs'\n\n@customElement('schmancy-menu-item')\nexport default class SchmancyMenuItem extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(this, 'click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(e => {\n\t\t\t\te.stopPropagation()\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('schmancy-menu-item-click', {\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t}\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<schmancy-list-item>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-list-item>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu-item': SchmancyMenuItem\n\t}\n}\n","import { autoUpdate, computePosition, flip, offset, shift, size } from '@floating-ui/dom'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, query, queryAssignedElements } from 'lit/decorators.js'\nimport { filter, fromEvent, takeUntil, tap } from 'rxjs'\n\n@customElement('schmancy-menu')\nexport default class SchmancyMenu extends TailwindElement(css`\n\t:host {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t}\n\n\t#menu {\n\t\tdisplay: none;\n\t}\n\n\t#menu[data-show='true'] {\n\t\tdisplay: block;\n\t}\n`) {\n\t@queryAssignedElements({ flatten: true, slot: 'button' })\n\tbuttonElement!: Array<HTMLElement>\n\n\t@query('#menu') menuElement!: HTMLElement\n\n\tprivate cleanup?: any\n\n\tprivate getMiddleware() {\n\t\treturn [\n\t\t\toffset(5),\n\t\t\tflip(),\n\t\t\tshift({ padding: 5 }),\n\t\t\tsize({\n\t\t\t\tapply({ availableHeight, elements }) {\n\t\t\t\t\telements.floating.style.maxHeight = `${availableHeight}px`\n\t\t\t\t},\n\t\t\t}),\n\t\t]\n\t}\n\n\tasync updatePosition() {\n\t\tif (!this.buttonElement[0] || !this.menuElement) {\n\t\t\treturn\n\t\t}\n\n\t\tawait computePosition(this.buttonElement[0], this.menuElement, {\n\t\t\tplacement: 'bottom-start',\n\t\t\tmiddleware: this.getMiddleware(),\n\t\t}).then(({ x, y }) => {\n\t\t\tObject.assign(this.menuElement.style, {\n\t\t\t\tleft: `${x}px`,\n\t\t\t\ttop: `${y}px`,\n\t\t\t})\n\t\t})\n\t}\n\n\tprivate showMenu() {\n\t\tif (!this.buttonElement[0] || !this.menuElement) return\n\n\t\tthis.menuElement.dataset.show = 'true'\n\n\t\tthis.cleanup = autoUpdate(this.buttonElement[0], this.menuElement, () => {\n\t\t\tcomputePosition(this.buttonElement[0], this.menuElement, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: this.getMiddleware(),\n\t\t\t}).then(({ x, y, strategy }) => {\n\t\t\t\tObject.assign(this.menuElement.style, {\n\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\ttop: `${y}px`,\n\t\t\t\t\tposition: strategy,\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 100,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\n\t\tanimation.onfinish = () => {}\n\t}\n\n\tprivate async hideMenu() {\n\t\t// Make hideMenu async\n\t\tif (this.cleanup) {\n\t\t\tawait this.cleanup() // Await the cleanup!\n\t\t\tthis.cleanup = undefined\n\t\t}\n\t\tthis.menuElement.dataset.show = 'false'\n\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 75,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\t\tanimation.onfinish = () => {} // No need for a promise now\n\t}\n\n\tfirstUpdated(): void {\n\t\tfromEvent(this.buttonElement, 'click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.showMenu()\n\t\t\t})\n\n\t\tfromEvent(this, 'schmancy-menu-item-click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.hideMenu()\n\t\t\t})\n\n\t\tfromEvent(document, 'click')\n\t\t\t.pipe(\n\t\t\t\tfilter((e: Event) => !this.contains(e.target as Node)),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\ttap(() => {\n\t\t\t\t\tif (this.menuElement.dataset.show === 'true') {\n\t\t\t\t\t\tthis.hideMenu()\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<slot name=\"button\">\n\t\t\t\t<schmancy-icon-button> more_vert </schmancy-icon-button>\n\t\t\t</slot>\n\t\t\t<ul\n\t\t\t\tid=\"menu\"\n\t\t\t\tclass=\"absolute z-50 border-outlineVariant rounded-md min-w-[160px] max-w-[320px] w-max bg-surface-default max-h-[90vh] shadow-1 overflow-y-auto\"\n\t\t\t\trole=\"menu\"\n\t\t\t\taria-orientation=\"vertical\"\n\t\t\t\taria-labelledby=\"options-menu-4-button\"\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</ul>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu': SchmancyMenu\n\t}\n}\n"],"names":["SchmancyMenuItem","$LitElement","css","connectedCallback","super","fromEvent","this","pipe","takeUntil","disconnecting","subscribe","e","stopPropagation","dispatchEvent","CustomEvent","bubbles","composed","render","html","customElement","SchmancyMenu","TailwindElement","getMiddleware","offset","flip","shift","padding","size","apply","availableHeight","elements","floating","style","maxHeight","buttonElement","menuElement","computePosition","placement","middleware","then","x","y","Object","assign","left","top","showMenu","dataset","show","cleanup","autoUpdate","strategy","position","animate","opacity","transform","duration","easing","onfinish","hideMenu","firstUpdated","tap","document","filter","contains","target","__decorateClass","queryAssignedElements","flatten","slot","prototype","query"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const i=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const d=require("./litElement.mixin-
|
|
1
|
+
"use strict";const i=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const d=require("./litElement.mixin-DBcQhPm4.cjs"),b=require("./tailwind.mixin-CZTk9eGO.cjs"),c=require("lit/decorators.js"),u=require("lit"),l=require("@floating-ui/dom");var y=Object.getOwnPropertyDescriptor;let p=class extends d.$LitElement(u.css`
|
|
2
2
|
:host {
|
|
3
3
|
display: block;
|
|
4
4
|
}
|
|
@@ -33,4 +33,4 @@
|
|
|
33
33
|
<slot></slot>
|
|
34
34
|
</ul>
|
|
35
35
|
`}};h([c.queryAssignedElements({flatten:!0,slot:"button"})],m.prototype,"buttonElement",2),h([c.query("#menu")],m.prototype,"menuElement",2),m=h([c.customElement("schmancy-menu")],m);
|
|
36
|
-
//# sourceMappingURL=menu-
|
|
36
|
+
//# sourceMappingURL=menu-DjpbmDCT.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-
|
|
1
|
+
{"version":3,"file":"menu-DjpbmDCT.cjs","sources":["../src/menu/menu-item.ts","../src/menu/menu.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { fromEvent, takeUntil } from 'rxjs'\n\n@customElement('schmancy-menu-item')\nexport default class SchmancyMenuItem extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(this, 'click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(e => {\n\t\t\t\te.stopPropagation()\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('schmancy-menu-item-click', {\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t}\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<schmancy-list-item>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-list-item>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu-item': SchmancyMenuItem\n\t}\n}\n","import { autoUpdate, computePosition, flip, offset, shift, size } from '@floating-ui/dom'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, query, queryAssignedElements } from 'lit/decorators.js'\nimport { filter, fromEvent, takeUntil, tap } from 'rxjs'\n\n@customElement('schmancy-menu')\nexport default class SchmancyMenu extends TailwindElement(css`\n\t:host {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t}\n\n\t#menu {\n\t\tdisplay: none;\n\t}\n\n\t#menu[data-show='true'] {\n\t\tdisplay: block;\n\t}\n`) {\n\t@queryAssignedElements({ flatten: true, slot: 'button' })\n\tbuttonElement!: Array<HTMLElement>\n\n\t@query('#menu') menuElement!: HTMLElement\n\n\tprivate cleanup?: any\n\n\tprivate getMiddleware() {\n\t\treturn [\n\t\t\toffset(5),\n\t\t\tflip(),\n\t\t\tshift({ padding: 5 }),\n\t\t\tsize({\n\t\t\t\tapply({ availableHeight, elements }) {\n\t\t\t\t\telements.floating.style.maxHeight = `${availableHeight}px`\n\t\t\t\t},\n\t\t\t}),\n\t\t]\n\t}\n\n\tasync updatePosition() {\n\t\tif (!this.buttonElement[0] || !this.menuElement) {\n\t\t\treturn\n\t\t}\n\n\t\tawait computePosition(this.buttonElement[0], this.menuElement, {\n\t\t\tplacement: 'bottom-start',\n\t\t\tmiddleware: this.getMiddleware(),\n\t\t}).then(({ x, y }) => {\n\t\t\tObject.assign(this.menuElement.style, {\n\t\t\t\tleft: `${x}px`,\n\t\t\t\ttop: `${y}px`,\n\t\t\t})\n\t\t})\n\t}\n\n\tprivate showMenu() {\n\t\tif (!this.buttonElement[0] || !this.menuElement) return\n\n\t\tthis.menuElement.dataset.show = 'true'\n\n\t\tthis.cleanup = autoUpdate(this.buttonElement[0], this.menuElement, () => {\n\t\t\tcomputePosition(this.buttonElement[0], this.menuElement, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: this.getMiddleware(),\n\t\t\t}).then(({ x, y, strategy }) => {\n\t\t\t\tObject.assign(this.menuElement.style, {\n\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\ttop: `${y}px`,\n\t\t\t\t\tposition: strategy,\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 100,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\n\t\tanimation.onfinish = () => {}\n\t}\n\n\tprivate async hideMenu() {\n\t\t// Make hideMenu async\n\t\tif (this.cleanup) {\n\t\t\tawait this.cleanup() // Await the cleanup!\n\t\t\tthis.cleanup = undefined\n\t\t}\n\t\tthis.menuElement.dataset.show = 'false'\n\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 75,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\t\tanimation.onfinish = () => {} // No need for a promise now\n\t}\n\n\tfirstUpdated(): void {\n\t\tfromEvent(this.buttonElement, 'click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.showMenu()\n\t\t\t})\n\n\t\tfromEvent(this, 'schmancy-menu-item-click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.hideMenu()\n\t\t\t})\n\n\t\tfromEvent(document, 'click')\n\t\t\t.pipe(\n\t\t\t\tfilter((e: Event) => !this.contains(e.target as Node)),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\ttap(() => {\n\t\t\t\t\tif (this.menuElement.dataset.show === 'true') {\n\t\t\t\t\t\tthis.hideMenu()\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<slot name=\"button\">\n\t\t\t\t<schmancy-icon-button> more_vert </schmancy-icon-button>\n\t\t\t</slot>\n\t\t\t<ul\n\t\t\t\tid=\"menu\"\n\t\t\t\tclass=\"absolute z-50 border-outlineVariant rounded-md min-w-[160px] max-w-[320px] w-max bg-surface-default max-h-[90vh] shadow-1 overflow-y-auto\"\n\t\t\t\trole=\"menu\"\n\t\t\t\taria-orientation=\"vertical\"\n\t\t\t\taria-labelledby=\"options-menu-4-button\"\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</ul>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu': SchmancyMenu\n\t}\n}\n"],"names":["SchmancyMenuItem","$LitElement","css","connectedCallback","super","fromEvent","this","pipe","takeUntil","disconnecting","subscribe","e","stopPropagation","dispatchEvent","CustomEvent","bubbles","composed","render","html","customElement","SchmancyMenu","TailwindElement","getMiddleware","offset","flip","shift","padding","size","apply","availableHeight","elements","floating","style","maxHeight","updatePosition","buttonElement","menuElement","computePosition","placement","middleware","then","x","y","Object","assign","left","top","showMenu","dataset","show","cleanup","autoUpdate","strategy","position","animate","opacity","transform","duration","easing","onfinish","hideMenu","firstUpdated","tap","document","filter","contains","target","__decorateClass","queryAssignedElements","flatten","slot","prototype","query"],"mappings":"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"}
|
package/dist/menu.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";require("./menu-
|
|
1
|
+
"use strict";require("./menu-DjpbmDCT.cjs");
|
|
2
2
|
//# sourceMappingURL=menu.cjs.map
|
package/dist/menu.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import "./menu-
|
|
1
|
+
import "./menu-DHXR2hMy.js";
|
|
2
2
|
//# sourceMappingURL=menu.js.map
|
package/dist/nav-drawer.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./avatar-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./avatar-WQhh4x64.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
|
package/dist/nav-drawer.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const f=require("rxjs"),b=require("lit/directives/class-map.js"),v=require("lit/directives/style-map.js"),T=require("./litElement.mixin-
|
|
1
|
+
"use strict";const f=require("rxjs"),b=require("lit/directives/class-map.js"),v=require("lit/directives/style-map.js"),T=require("./litElement.mixin-DBcQhPm4.cjs");require("./tailwind.mixin-CZTk9eGO.cjs");const u=require("lit/decorators.js"),S=require("./ripple-C2BHbhcS.cjs"),l=require("./theme.interface-Xg5Zi46a.cjs"),d=require("lit");require("./progress-BADNaijE.cjs");const A=require("lit/directives/repeat.js");var _=Object.defineProperty,C=Object.getOwnPropertyDescriptor,h=(o,t,e,i)=>{for(var n,s=i>1?void 0:i?C(t,e):t,a=o.length-1;a>=0;a--)(n=o[a])&&(s=(i?n(t,e,s):n(s))||s);return i&&s&&_(t,e,s),s};exports.SchmancyNotification=class extends T.$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)}'){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.showProgress=!1,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(o){super.updated(o),o.has("duration")&&this.duration>0&&(this._clearTimers(),this._startAutoCloseTimer())}_startAutoCloseTimer(){if(this.duration<=0)return;const o=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,o-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 o=this._progress/100*this.duration;if(o>0){this._autoCloseTimer=window.setTimeout(()=>{this.close()},o);const t=Date.now()+o;this._progressTimer=window.setInterval(()=>{if(this._hovered)return;const e=Date.now(),i=Math.max(0,t-e);this._progress=i/o*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 d.html``;const o=this._getTypeStyles(),t=this._hovered?"3":"2";return d.html`
|
|
2
2
|
<div
|
|
3
3
|
class=${b.classMap({notification:!0,closing:this._closing,[this.type]:!0})}
|
|
4
4
|
role="alert"
|
|
@@ -140,4 +140,4 @@
|
|
|
140
140
|
`)}
|
|
141
141
|
</div>
|
|
142
142
|
`}},g([u.property({type:String})],exports.SchmancyNotificationContainer.prototype,"position",2),g([u.property({type:Number})],exports.SchmancyNotificationContainer.prototype,"maxVisibleNotifications",2),g([u.property({type:Boolean})],exports.SchmancyNotificationContainer.prototype,"playSound",2),g([u.property({type:Number})],exports.SchmancyNotificationContainer.prototype,"audioVolume",2),g([u.state()],exports.SchmancyNotificationContainer.prototype,"_notifications",2),exports.SchmancyNotificationContainer=g([u.customElement("sch-notification-container")],exports.SchmancyNotificationContainer);const p=class p{constructor(){this.notificationStack=[]}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())}`;this.notificationStack.push(i);const n=new CustomEvent("schmancy-notification",{bubbles:!0,composed:!0,detail:{...e,id:i}});return window.dispatchEvent(n),i}dismiss(t){let e;if(t){const i=this.notificationStack.indexOf(t);i>-1&&(this.notificationStack.splice(i,1),e=t)}else e=this.notificationStack.pop();if(e){const i=new CustomEvent("schmancy-notification-dismiss",{bubbles:!0,composed:!0,detail:{id:e}});window.dispatchEvent(i)}}update(t,e){const i=new CustomEvent("schmancy-notification-update",{bubbles:!0,composed:!0,detail:{id:t,...e}});window.dispatchEvent(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:o=>m.getInstance().notify(o),info:(o,t={})=>m.getInstance().info(o,t),success:(o,t={})=>m.getInstance().success(o,t),warning:(o,t={})=>m.getInstance().warning(o,t),error:(o,t={})=>m.getInstance().error(o,t),customDuration:(o,t,e={})=>m.getInstance().customDuration(o,t,e),persistent:(o,t={})=>m.getInstance().persistent(o,t),dismiss:o=>m.getInstance().dismiss(o),update:(o,t)=>m.getInstance().update(o,t)};exports.$notify=N,exports.NotificationAudioService=x;
|
|
143
|
-
//# sourceMappingURL=notification-service-
|
|
143
|
+
//# sourceMappingURL=notification-service-B32hOref.cjs.map
|