@mhmo91/schmancy 0.5.36 → 0.5.37
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/theme.md +778 -144
- package/dist/ai/theme.md +778 -144
- package/dist/{animated-text-BEAHZetl.js → animated-text-Cfs1zx2e.js} +3 -3
- package/dist/{animated-text-BEAHZetl.js.map → animated-text-Cfs1zx2e.js.map} +1 -1
- package/dist/{animated-text-ChV1GUee.cjs → animated-text-DoLx8YhT.cjs} +2 -2
- package/dist/{animated-text-ChV1GUee.cjs.map → animated-text-DoLx8YhT.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-R4KQInpP.js → area.component-A6Xw-dfF.js} +3 -3
- package/dist/{area.component-R4KQInpP.js.map → area.component-A6Xw-dfF.js.map} +1 -1
- package/dist/{area.component-cxxQIhCN.cjs → area.component-DMRF1lD-.cjs} +2 -2
- package/dist/{area.component-cxxQIhCN.cjs.map → area.component-DMRF1lD-.cjs.map} +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-DKYBmt2q.js → autocomplete-C5DIxpTG.js} +4 -4
- package/dist/{autocomplete-DKYBmt2q.js.map → autocomplete-C5DIxpTG.js.map} +1 -1
- package/dist/{autocomplete-Cq_NzrBX.cjs → autocomplete-DkJqOYTg.cjs} +2 -2
- package/dist/{autocomplete-Cq_NzrBX.cjs.map → autocomplete-DkJqOYTg.cjs.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{avatar-DJ7qYc6-.js → avatar-BDy0wAek.js} +50 -50
- package/dist/{avatar-DJ7qYc6-.js.map → avatar-BDy0wAek.js.map} +1 -1
- package/dist/{avatar-DbUCDe1w.cjs → avatar-BmcocEQ4.cjs} +2 -2
- package/dist/{avatar-DbUCDe1w.cjs.map → avatar-BmcocEQ4.cjs.map} +1 -1
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-BSYtwy1W.cjs → boat-CfIXRMn-.cjs} +2 -2
- package/dist/{boat-BSYtwy1W.cjs.map → boat-CfIXRMn-.cjs.map} +1 -1
- package/dist/{boat-BBFE1yJY.js → boat-DumUFcmT.js} +3 -3
- package/dist/{boat-BBFE1yJY.js.map → boat-DumUFcmT.js.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-geD1IIHh.js → checkbox-CHG-gT2P.js} +2 -2
- package/dist/{checkbox-geD1IIHh.js.map → checkbox-CHG-gT2P.js.map} +1 -1
- package/dist/{checkbox-BBJqucMb.cjs → checkbox-CsMLbxBY.cjs} +2 -2
- package/dist/{checkbox-BBJqucMb.cjs.map → checkbox-CsMLbxBY.cjs.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +2 -2
- package/dist/code-highlight.cjs +1 -1
- package/dist/code-highlight.js +1 -1
- package/dist/{code-preview-CR3U6wXD.cjs → code-preview-BgUU7bPR.cjs} +2 -2
- package/dist/{code-preview-CR3U6wXD.cjs.map → code-preview-BgUU7bPR.cjs.map} +1 -1
- package/dist/{code-preview-D2ZpTZ7C.js → code-preview-Bp4OemTD.js} +2 -2
- package/dist/{code-preview-D2ZpTZ7C.js.map → code-preview-Bp4OemTD.js.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-NB6Q02hz.js → date-range-BcJ0YN2n.js} +3 -3
- package/dist/{date-range-NB6Q02hz.js.map → date-range-BcJ0YN2n.js.map} +1 -1
- package/dist/{date-range-DkSLcajW.cjs → date-range-D_DBil9n.cjs} +2 -2
- package/dist/{date-range-DkSLcajW.cjs.map → date-range-D_DBil9n.cjs.map} +1 -1
- package/dist/{date-range-inline-C8InUZoD.cjs → date-range-inline-DQjOVUxD.cjs} +2 -2
- package/dist/{date-range-inline-C8InUZoD.cjs.map → date-range-inline-DQjOVUxD.cjs.map} +1 -1
- package/dist/{date-range-inline-DXBR0Ocx.js → date-range-inline-Dqxqgu2s.js} +3 -3
- package/dist/{date-range-inline-DXBR0Ocx.js.map → date-range-inline-Dqxqgu2s.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-B4IPKZEn.cjs → delay-BbtlKEc4.cjs} +2 -2
- package/dist/{delay-B4IPKZEn.cjs.map → delay-BbtlKEc4.cjs.map} +1 -1
- package/dist/{delay-DsOC-uuq.js → delay-CC_14mn4.js} +2 -2
- package/dist/{delay-DsOC-uuq.js.map → delay-CC_14mn4.js.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{details-7pcQWJF9.cjs → details-CTdm7rbG.cjs} +2 -2
- package/dist/{details-7pcQWJF9.cjs.map → details-CTdm7rbG.cjs.map} +1 -1
- package/dist/{details-D6Vq36lN.js → details-dk2hnRIp.js} +2 -2
- package/dist/{details-D6Vq36lN.js.map → details-dk2hnRIp.js.map} +1 -1
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{dialog-content-XoKxxGTv.js → dialog-content-BM-lfqHq.js} +3 -3
- package/dist/{dialog-content-XoKxxGTv.js.map → dialog-content-BM-lfqHq.js.map} +1 -1
- package/dist/{dialog-content-BC--KBf7.cjs → dialog-content-BSZ5dwnP.cjs} +2 -2
- package/dist/{dialog-content-BC--KBf7.cjs.map → dialog-content-BSZ5dwnP.cjs.map} +1 -1
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +1 -1
- package/dist/{divider-JaB5FtmR.js → divider-BWVdeJm1.js} +3 -3
- package/dist/{divider-JaB5FtmR.js.map → divider-BWVdeJm1.js.map} +1 -1
- package/dist/{divider-55yUklFI.cjs → divider-DgJXEKxB.cjs} +2 -2
- package/dist/{divider-55yUklFI.cjs.map → divider-DgJXEKxB.cjs.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-Qzt-B1FB.js → dropdown-content-BgLy9dwU.js} +3 -3
- package/dist/{dropdown-content-Qzt-B1FB.js.map → dropdown-content-BgLy9dwU.js.map} +1 -1
- package/dist/{dropdown-content-C2nxdAFA.cjs → dropdown-content-ZAB82v-h.cjs} +2 -2
- package/dist/{dropdown-content-C2nxdAFA.cjs.map → dropdown-content-ZAB82v-h.cjs.map} +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/{email-recipients-C3TfQU2c.js → email-recipients-IXQLqBaI.js} +5 -5
- package/dist/{email-recipients-C3TfQU2c.js.map → email-recipients-IXQLqBaI.js.map} +1 -1
- package/dist/{email-recipients-7reIxhmF.cjs → email-recipients-R7jCXy_I.cjs} +2 -2
- package/dist/{email-recipients-7reIxhmF.cjs.map → email-recipients-R7jCXy_I.cjs.map} +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{flex-DauT7n0E.js → flex-Cp1nomar.js} +2 -2
- package/dist/{flex-DauT7n0E.js.map → flex-Cp1nomar.js.map} +1 -1
- package/dist/{flex-1y7FNRpS.cjs → flex-sAQsXdsk.cjs} +2 -2
- package/dist/{flex-1y7FNRpS.cjs.map → flex-sAQsXdsk.cjs.map} +1 -1
- package/dist/{form-Xg8jZsBF.cjs → form-DHTbrnEl.cjs} +2 -2
- package/dist/{form-Xg8jZsBF.cjs.map → form-DHTbrnEl.cjs.map} +1 -1
- package/dist/{form-DqA7DfNR.js → form-Dtc128QU.js} +2 -2
- package/dist/{form-DqA7DfNR.js.map → form-Dtc128QU.js.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{formField.mixin-YvrrvL_A.js → formField.mixin-CCB_CKYb.js} +2 -2
- package/dist/{formField.mixin-YvrrvL_A.js.map → formField.mixin-CCB_CKYb.js.map} +1 -1
- package/dist/{formField.mixin-BnSYnYXQ.cjs → formField.mixin-CZQ7alVs.cjs} +2 -2
- package/dist/{formField.mixin-BnSYnYXQ.cjs.map → formField.mixin-CZQ7alVs.cjs.map} +1 -1
- package/dist/{icon-BtdeB2JT.js → icon-BHhOyVjB.js} +2 -2
- package/dist/{icon-BtdeB2JT.js.map → icon-BHhOyVjB.js.map} +1 -1
- package/dist/{icon-BFYUD00J.cjs → icon-CocdSdlX.cjs} +2 -2
- package/dist/{icon-BFYUD00J.cjs.map → icon-CocdSdlX.cjs.map} +1 -1
- package/dist/{icon-button-DwL4WnDE.js → icon-button-CjSaBrg0.js} +3 -3
- package/dist/{icon-button-DwL4WnDE.js.map → icon-button-CjSaBrg0.js.map} +1 -1
- package/dist/{icon-button-B-uxvO86.cjs → icon-button-m8kXxOvS.cjs} +2 -2
- package/dist/{icon-button-B-uxvO86.cjs.map → icon-button-m8kXxOvS.cjs.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 +49 -49
- package/dist/{input-PoerIsqx.cjs → input-BuDPnk5e.cjs} +2 -2
- package/dist/{input-PoerIsqx.cjs.map → input-BuDPnk5e.cjs.map} +1 -1
- package/dist/{input-CuOmXLVJ.js → input-D_gdNxxR.js} +3 -3
- package/dist/{input-CuOmXLVJ.js.map → input-D_gdNxxR.js.map} +1 -1
- package/dist/{input-chip-BlmZB-cO.cjs → input-chip-CDLblIp9.cjs} +2 -2
- package/dist/{input-chip-BlmZB-cO.cjs.map → input-chip-CDLblIp9.cjs.map} +1 -1
- package/dist/{input-chip-CcNElytP.js → input-chip-CLnR4vSR.js} +2 -2
- package/dist/{input-chip-CcNElytP.js.map → input-chip-CLnR4vSR.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-Bou3BRYQ.js → list-C069T9ey.js} +2 -2
- package/dist/{list-Bou3BRYQ.js.map → list-C069T9ey.js.map} +1 -1
- package/dist/{list-BJjW-iAW.cjs → list-KCakyWxw.cjs} +2 -2
- package/dist/{list-BJjW-iAW.cjs.map → list-KCakyWxw.cjs.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-Di-HgRnn.cjs → litElement.mixin-DoBMt4ia.cjs} +2 -2
- package/dist/{litElement.mixin-Di-HgRnn.cjs.map → litElement.mixin-DoBMt4ia.cjs.map} +1 -1
- package/dist/{litElement.mixin-Bkdw4DeE.js → litElement.mixin-Dp4mBSNw.js} +2 -2
- package/dist/{litElement.mixin-Bkdw4DeE.js.map → litElement.mixin-Dp4mBSNw.js.map} +1 -1
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/{map-bUVyL7jN.js → map-pn_6ziZf.js} +2 -2
- package/dist/{map-bUVyL7jN.js.map → map-pn_6ziZf.js.map} +1 -1
- package/dist/{map-CXNKwo__.cjs → map-vNMrrat-.cjs} +2 -2
- package/dist/{map-CXNKwo__.cjs.map → map-vNMrrat-.cjs.map} +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/{media-8D6oDv1e.cjs → media-CAtXPif3.cjs} +2 -2
- package/dist/{media-8D6oDv1e.cjs.map → media-CAtXPif3.cjs.map} +1 -1
- package/dist/{media-CF1lpFAm.js → media-DC3r4y8-.js} +2 -2
- package/dist/{media-CF1lpFAm.js.map → media-DC3r4y8-.js.map} +1 -1
- package/dist/{menu-C9mJa_ck.js → menu-BAs2snSu.js} +3 -3
- package/dist/{menu-C9mJa_ck.js.map → menu-BAs2snSu.js.map} +1 -1
- package/dist/{menu-B8Ad1OVm.cjs → menu-C2ZKJe1g.cjs} +2 -2
- package/dist/{menu-B8Ad1OVm.cjs.map → menu-C2ZKJe1g.cjs.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/mixins/baseElement.ts +1 -1
- package/dist/mixins/discovery.service.ts +60 -0
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +1 -1
- package/dist/navigation-bar.cjs +1 -1
- package/dist/navigation-bar.js +1 -1
- package/dist/{navigation-rail-CAgKSJh4.cjs → navigation-rail-B0zofile.cjs} +2 -2
- package/dist/{navigation-rail-CAgKSJh4.cjs.map → navigation-rail-B0zofile.cjs.map} +1 -1
- package/dist/{navigation-rail-Dh3B6B0L.js → navigation-rail-KdVjbO1I.js} +3 -3
- package/dist/{navigation-rail-Dh3B6B0L.js.map → navigation-rail-KdVjbO1I.js.map} +1 -1
- package/dist/navigation-rail.cjs +1 -1
- package/dist/navigation-rail.js +1 -1
- package/dist/{notification-service-IBQJTcmw.js → notification-service-BOCdK7B0.js} +4 -4
- package/dist/{notification-service-IBQJTcmw.js.map → notification-service-BOCdK7B0.js.map} +1 -1
- package/dist/{notification-service-L82ozhd0.cjs → notification-service-DXsySIdG.cjs} +2 -2
- package/dist/{notification-service-L82ozhd0.cjs.map → notification-service-DXsySIdG.cjs.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +2 -2
- package/dist/{notify-CtxRmxjL.js → notify-Cglpgay3.js} +2 -2
- package/dist/{notify-CtxRmxjL.js.map → notify-Cglpgay3.js.map} +1 -1
- package/dist/{notify-AIKWEjDG.cjs → notify-CvDL-o79.cjs} +2 -2
- package/dist/{notify-AIKWEjDG.cjs.map → notify-CvDL-o79.cjs.map} +1 -1
- package/dist/{option-D5OW1kDk.cjs → option-ezGy71aI.cjs} +2 -2
- package/dist/{option-D5OW1kDk.cjs.map → option-ezGy71aI.cjs.map} +1 -1
- package/dist/{option-DHGTgRBn.js → option-tDU1Z_vP.js} +2 -2
- package/dist/{option-DHGTgRBn.js.map → option-tDU1Z_vP.js.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{payment-card-form-CHS_s_Fk.cjs → payment-card-form-B5b-LA2Y.cjs} +2 -2
- package/dist/{payment-card-form-CHS_s_Fk.cjs.map → payment-card-form-B5b-LA2Y.cjs.map} +1 -1
- package/dist/{payment-card-form-wj2JWoyn.js → payment-card-form-CZpc-zfO.js} +3 -3
- package/dist/{payment-card-form-wj2JWoyn.js.map → payment-card-form-CZpc-zfO.js.map} +1 -1
- package/dist/{progress-ZrDv_k3Z.js → progress-Bqih11TQ.js} +2 -2
- package/dist/{progress-ZrDv_k3Z.js.map → progress-Bqih11TQ.js.map} +1 -1
- package/dist/{progress-CP4R_l3i.cjs → progress-OMGbiNv5.cjs} +2 -2
- package/dist/{progress-CP4R_l3i.cjs.map → progress-OMGbiNv5.cjs.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{radio-button-BXP_yPjS.cjs → radio-button-BuSpPTO4.cjs} +2 -2
- package/dist/{radio-button-BXP_yPjS.cjs.map → radio-button-BuSpPTO4.cjs.map} +1 -1
- package/dist/{radio-button-D0pVoIe-.js → radio-button-mHT1573u.js} +3 -3
- package/dist/{radio-button-D0pVoIe-.js.map → radio-button-mHT1573u.js.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{schmancy-steps-container-BSv1aURP.cjs → schmancy-steps-container-Bht_BlLU.cjs} +2 -2
- package/dist/{schmancy-steps-container-BSv1aURP.cjs.map → schmancy-steps-container-Bht_BlLU.cjs.map} +1 -1
- package/dist/{schmancy-steps-container-vjioa19k.js → schmancy-steps-container-DDMiJJyw.js} +2 -2
- package/dist/{schmancy-steps-container-vjioa19k.js.map → schmancy-steps-container-DDMiJJyw.js.map} +1 -1
- package/dist/{select-SgSe22qC.js → select-CKtpFPTr.js} +3 -3
- package/dist/{select-SgSe22qC.js.map → select-CKtpFPTr.js.map} +1 -1
- package/dist/{select-DZ-Cy-lg.cjs → select-HPtumqyg.cjs} +2 -2
- package/dist/{select-DZ-Cy-lg.cjs.map → select-HPtumqyg.cjs.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-CevNG0tZ.js → sheet-B-vTiTi8.js} +3 -3
- package/dist/{sheet-CevNG0tZ.js.map → sheet-B-vTiTi8.js.map} +1 -1
- package/dist/{sheet-CNMKrulQ.cjs → sheet-DP7nFOEo.cjs} +2 -2
- package/dist/{sheet-CNMKrulQ.cjs.map → sheet-DP7nFOEo.cjs.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-DIRocNv8.js → slider-Bu7kQ0_w.js} +3 -3
- package/dist/{slider-DIRocNv8.js.map → slider-Bu7kQ0_w.js.map} +1 -1
- package/dist/{slider-BSxJatG-.cjs → slider-Diqgkt3E.cjs} +2 -2
- package/dist/{slider-BSxJatG-.cjs.map → slider-Diqgkt3E.cjs.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-Cx54uto8.cjs → spinner-b6hiAljR.cjs} +2 -2
- package/dist/{spinner-Cx54uto8.cjs.map → spinner-b6hiAljR.cjs.map} +1 -1
- package/dist/{spinner-DZcG-AtO.js → spinner-paAzgY93.js} +2 -2
- package/dist/{spinner-DZcG-AtO.js.map → spinner-paAzgY93.js.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{suggestion-chip-ssmmc0q6.cjs → suggestion-chip--FVeCUSI.cjs} +2 -2
- package/dist/{suggestion-chip-ssmmc0q6.cjs.map → suggestion-chip--FVeCUSI.cjs.map} +1 -1
- package/dist/{suggestion-chip-DADIje6B.js → suggestion-chip-DnnfUAqx.js} +3 -3
- package/dist/{suggestion-chip-DADIje6B.js.map → suggestion-chip-DnnfUAqx.js.map} +1 -1
- package/dist/{surface-_cS9Ehk0.js → surface-BBhAIoZq.js} +2 -2
- package/dist/{surface-_cS9Ehk0.js.map → surface-BBhAIoZq.js.map} +1 -1
- package/dist/{surface-ix9qOb7a.cjs → surface-SICYUsoB.cjs} +2 -2
- package/dist/{surface-ix9qOb7a.cjs.map → surface-SICYUsoB.cjs.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-Bi2ftsJe.js → table-CepjNGT6.js} +2 -2
- package/dist/{table-Bi2ftsJe.js.map → table-CepjNGT6.js.map} +1 -1
- package/dist/{table-DSEK3bMb.cjs → table-yYKET4qQ.cjs} +2 -2
- package/dist/{table-DSEK3bMb.cjs.map → table-yYKET4qQ.cjs.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-BE2Q3rig.cjs → tabs-compatibility-BWaRkr9s.cjs} +2 -2
- package/dist/{tabs-compatibility-BE2Q3rig.cjs.map → tabs-compatibility-BWaRkr9s.cjs.map} +1 -1
- package/dist/{tabs-compatibility-DA3RIq35.js → tabs-compatibility-BXdyrybs.js} +2 -2
- package/dist/{tabs-compatibility-DA3RIq35.js.map → tabs-compatibility-BXdyrybs.js.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-CYhJgwwb.cjs +2 -0
- package/dist/tailwind.mixin-CYhJgwwb.cjs.map +1 -0
- package/dist/{tailwind.mixin-DGLcZhRp.js → tailwind.mixin-Cn7vup-6.js} +29 -22
- package/dist/tailwind.mixin-Cn7vup-6.js.map +1 -0
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-CBb2CzKu.js → textarea-BpNEwBP9.js} +2 -2
- package/dist/{textarea-CBb2CzKu.js.map → textarea-BpNEwBP9.js.map} +1 -1
- package/dist/{textarea-ClgK_mP6.cjs → textarea-Xgbs3rjA.cjs} +2 -2
- package/dist/{textarea-ClgK_mP6.cjs.map → textarea-Xgbs3rjA.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-Z_xWXMaf.js → theme-button-77xbTIaH.js} +2 -2
- package/dist/{theme-button-Z_xWXMaf.js.map → theme-button-77xbTIaH.js.map} +1 -1
- package/dist/{theme-button-Dhp3ozyB.cjs → theme-button-BsjsULjH.cjs} +2 -2
- package/dist/{theme-button-Dhp3ozyB.cjs.map → theme-button-BsjsULjH.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.controls-C_zAMJgA.cjs → theme.controls-BeNS8iSM.cjs} +2 -2
- package/dist/{theme.controls-C_zAMJgA.cjs.map → theme.controls-BeNS8iSM.cjs.map} +1 -1
- package/dist/{theme.controls-BtaZcM7z.js → theme.controls-DtcpHuz9.js} +3 -3
- package/dist/{theme.controls-BtaZcM7z.js.map → theme.controls-DtcpHuz9.js.map} +1 -1
- package/dist/theme.js +1 -1
- package/dist/{timezone-CZ0gCI2P.js → timezone-CtH2a7Hw.js} +3 -3
- package/dist/{timezone-CZ0gCI2P.js.map → timezone-CtH2a7Hw.js.map} +1 -1
- package/dist/{timezone-DucGbWcE.cjs → timezone-D3kdUX6c.cjs} +2 -2
- package/dist/{timezone-DucGbWcE.cjs.map → timezone-D3kdUX6c.cjs.map} +1 -1
- package/dist/{tooltip-BSWp7Mmz.cjs → tooltip-BwZ_zIEI.cjs} +2 -2
- package/dist/{tooltip-BSWp7Mmz.cjs.map → tooltip-BwZ_zIEI.cjs.map} +1 -1
- package/dist/{tooltip-BSppSqZM.js → tooltip-DgGZouB5.js} +2 -2
- package/dist/{tooltip-BSppSqZM.js.map → tooltip-DgGZouB5.js.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-DL71EUih.cjs → tree-B9fWtaGW.cjs} +2 -2
- package/dist/{tree-DL71EUih.cjs.map → tree-B9fWtaGW.cjs.map} +1 -1
- package/dist/{tree-dEse6eMH.js → tree-BSENnhB2.js} +2 -2
- package/dist/{tree-dEse6eMH.js.map → tree-BSENnhB2.js.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-DBvUYzpl.js → typewriter-BCXtlffJ.js} +4 -4
- package/dist/{typewriter-DBvUYzpl.js.map → typewriter-BCXtlffJ.js.map} +1 -1
- package/dist/{typewriter-B1Au4MRO.cjs → typewriter-DeNR2E_p.cjs} +2 -2
- package/dist/{typewriter-B1Au4MRO.cjs.map → typewriter-DeNR2E_p.cjs.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-3gXQvLXN.cjs → typography-Cm7pGqRe.cjs} +2 -2
- package/dist/{typography-3gXQvLXN.cjs.map → typography-Cm7pGqRe.cjs.map} +1 -1
- package/dist/{typography-iOtjgSkI.js → typography-sxQLtA6a.js} +2 -2
- package/dist/{typography-iOtjgSkI.js.map → typography-sxQLtA6a.js.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +1 -1
- package/types/mixins/discovery.service.d.ts +17 -0
- package/dist/tailwind.mixin-CvQn8Ynb.cjs +0 -2
- package/dist/tailwind.mixin-CvQn8Ynb.cjs.map +0 -1
- package/dist/tailwind.mixin-DGLcZhRp.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-CF1lpFAm.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, LitElement } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\n\n@customElement('schmancy-card')\nexport default class SchmancyCard extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tborder-radius: var(--schmancy-sys-shape-corner-medium);\n\t\ttransition: box-shadow var(--schmancy-sys-motion-duration-short4) var(--schmancy-sys-motion-easing-standard);\n\t\toutline: none;\n\t}\n\n\t/* Type variants */\n\t:host([type='elevated']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-low);\n\t\tbox-shadow: var(--schmancy-sys-elevation-1);\n\t}\n\t:host([type='filled']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-highest);\n\t\tbox-shadow: var(--schmancy-sys-elevation-0);\n\t}\n\t:host([type='outlined']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-default);\n\t\tborder: 1px solid var(--schmancy-sys-color-outlineVariant);\n\t\tbox-shadow: var(--schmancy-sys-elevation-0);\n\t}\n\n\t/* Interactive states */\n\t:host([interactive]) {\n\t\tcursor: pointer;\n\t\t-webkit-tap-highlight-color: transparent;\n\t}\n\t:host([interactive]:focus-visible:not([disabled])) {\n\t\toutline: 2px solid var(--schmancy-sys-color-primary-default);\n\t\toutline-offset: 2px;\n\t}\n\t:host([disabled]) {\n\t\tpointer-events: none;\n\t\topacity: var(--schmancy-sys-state-disabled-opacity);\n\t}\n\n\t/* Hover elevations */\n\t:host([type='elevated'][interactive]:hover:not([disabled])) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-2);\n\t}\n\t:host([type='filled'][interactive]:hover:not([disabled])),\n\t:host([type='outlined'][interactive]:hover:not([disabled])) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-1);\n\t}\n\n\t/* Dragged state */\n\t:host([dragged]) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t}\n\n\t@keyframes ripple {\n\t\tto {\n\t\t\ttransform: scale(4);\n\t\t\topacity: 0;\n\t\t}\n\t}\n`) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open',\n\t\tdelegatesFocus: true,\n\t}\n\n\t/**\n\t * The visual style of the card.\n\t * @default 'elevated'\n\t */\n\t@property({ reflect: true })\n\ttype: 'elevated' | 'filled' | 'outlined' = 'elevated'\n\n\t/**\n\t * Makes the card interactive (clickable).\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tinteractive = false\n\n\t/**\n\t * Disables the card.\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tdisabled = false\n\n\t/**\n\t * Indicates the card is being dragged.\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tdragged = false\n\n\t/**\n\t * URL to navigate to when card is clicked (makes it act like a link).\n\t */\n\t@property()\n\thref?: string\n\n\t/**\n\t * Target for the link navigation.\n\t */\n\t@property()\n\ttarget?: string\n\n\t/**\n\t * ARIA role for accessibility.\n\t */\n\t@property({ attribute: 'role' })\n\toverride role = 'article'\n\n\t/**\n\t * ARIA label for accessibility.\n\t */\n\t@property({ attribute: 'aria-label' })\n\toverride ariaLabel: string = ''\n\n\t// Internal state for interaction feedback\n\t@state() pressed = false\n\t@state() private ripples: Array<{ x: number; y: number; id: number }> = []\n\n\tprivate nextRippleId = 0\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tthis._updateAriaAttributes()\n\t}\n\n\tupdated(changedProperties: Map<string, any>) {\n\t\tsuper.updated(changedProperties)\n\t\tif (changedProperties.has('interactive') || changedProperties.has('disabled')) {\n\t\t\tthis._updateAriaAttributes()\n\t\t}\n\t}\n\n\t// Consolidate ARIA attribute updates\n\tprivate _updateAriaAttributes() {\n\t\tconst isInteractive = this.interactive && !this.disabled\n\n\t\tif (isInteractive) {\n\t\t\tthis.setAttribute('tabindex', '0')\n\t\t\tif (!this.role || this.role === 'article') {\n\t\t\t\tthis.role = this.href ? 'link' : 'button'\n\t\t\t}\n\t\t} else {\n\t\t\tthis.removeAttribute('tabindex')\n\t\t\tif (this.role === 'button' || this.role === 'link') {\n\t\t\t\tthis.role = 'article'\n\t\t\t}\n\t\t}\n\t}\n\n\t// Shared ripple creation logic\n\tprivate _addRipple(x: number, y: number) {\n\t\tconst id = this.nextRippleId++\n\t\tthis.ripples = [...this.ripples, { x, y, id }]\n\n\t\t// Remove ripple after animation completes\n\t\tsetTimeout(() => {\n\t\t\tthis.ripples = this.ripples.filter(r => r.id !== id)\n\t\t}, 600) // M3 medium duration\n\t}\n\n\t// Shared navigation logic\n\tprivate _navigate() {\n\t\tif (!this.href) return\n\n\t\tif (this.target === '_blank') {\n\t\t\twindow.open(this.href, '_blank')\n\t\t} else {\n\t\t\twindow.location.href = this.href\n\t\t}\n\t}\n\n\t// Combined action trigger (ripple + navigate + event)\n\tprivate _triggerAction(x: number, y: number) {\n\t\tthis._addRipple(x, y)\n\t\tthis._navigate()\n\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent('schmancy-click', {\n\t\t\t\tdetail: { value: this.type },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\tprivate handleClick = (e: MouseEvent) => {\n\t\tif (this.disabled || !this.interactive) return\n\n\t\tconst rect = this.getBoundingClientRect()\n\t\tthis._triggerAction(e.clientX - rect.left, e.clientY - rect.top)\n\t}\n\n\tprivate handleKeyDown = (e: KeyboardEvent) => {\n\t\tif (this.disabled || !this.interactive) return\n\n\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\te.preventDefault()\n\t\t\tthis._setPressed(true)\n\n\t\t\t// Simulate click at center\n\t\t\tconst rect = this.getBoundingClientRect()\n\t\t\tthis._triggerAction(rect.width / 2, rect.height / 2)\n\t\t}\n\t}\n\n\tprivate handleKeyUp = (e: KeyboardEvent) => {\n\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\tthis._setPressed(false)\n\t\t}\n\t}\n\n\t// Consolidate pressed state management\n\tprivate _setPressed(pressed: boolean) {\n\t\tthis.pressed = pressed\n\t\tif (pressed) {\n\t\t\tthis.setAttribute('pressed', '')\n\t\t} else {\n\t\t\tthis.removeAttribute('pressed')\n\t\t}\n\t}\n\n\tprivate handleMouseDown = () => {\n\t\tif (this.disabled || !this.interactive) return\n\t\tthis._setPressed(true)\n\t}\n\n\tprivate handleMouseUp = () => this._setPressed(false)\n\tprivate handleMouseLeave = () => this._setPressed(false)\n\n\tprotected render() {\n\t\tconst isInteractive = this.interactive && !this.disabled\n\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=\"relative w-full h-full rounded-xl ${isInteractive ? 'cursor-pointer' : ''}\"\n\t\t\t\t@click=${this.handleClick}\n\t\t\t\t@keydown=${this.handleKeyDown}\n\t\t\t\t@keyup=${this.handleKeyUp}\n\t\t\t\t@mousedown=${this.handleMouseDown}\n\t\t\t\t@mouseup=${this.handleMouseUp}\n\t\t\t\t@mouseleave=${this.handleMouseLeave}\n\t\t\t\taria-label=${ifDefined(this.ariaLabel)}\n\t\t\t\taria-disabled=${this.disabled ? 'true' : 'false'}\n\t\t\t>\n\t\t\t\t<!-- State layer -->\n\t\t\t\t<div\n\t\t\t\t\tclass=\"absolute inset-0 rounded-xl pointer-events-none transition-opacity duration-200 bg-surface-on ${!isInteractive\n\t\t\t\t\t\t? 'opacity-0'\n\t\t\t\t\t\t: this.pressed\n\t\t\t\t\t\t\t? 'opacity-[var(--schmancy-sys-state-pressed-opacity)]'\n\t\t\t\t\t\t\t: 'opacity-0 hover:opacity-[var(--schmancy-sys-state-hover-opacity)] focus-visible:opacity-[var(--schmancy-sys-state-focus-opacity)]'}\"\n\t\t\t\t></div>\n\n\t\t\t\t<!-- Ripples -->\n\t\t\t\t${this.interactive && this.ripples.length\n\t\t\t\t\t? html`\n\t\t\t\t\t\t\t<div class=\"absolute inset-0 rounded-xl overflow-hidden pointer-events-none\">\n\t\t\t\t\t\t\t\t${this.ripples.map(\n\t\t\t\t\t\t\t\t\tr => html`\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\tclass=\"absolute rounded-full scale-0 animate-[ripple_600ms_linear] bg-surface-on opacity-[0.12] w-5 h-5 -ml-2.5 -mt-2.5\"\n\t\t\t\t\t\t\t\t\t\t\tstyle=\"left: ${r.x}px; top: ${r.y}px\"\n\t\t\t\t\t\t\t\t\t\t></span>\n\t\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t`\n\t\t\t\t\t: ''}\n\n\t\t\t\t<!-- Content -->\n\t\t\t\t<div class=\"relative h-full w-full rounded-xl\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-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","interactive","disabled","dragged","role","ariaLabel","pressed","ripples","nextRippleId","handleClick","e","rect","getBoundingClientRect","_triggerAction","clientX","left","clientY","top","handleKeyDown","key","preventDefault","_setPressed","width","height","handleKeyUp","handleMouseDown","handleMouseUp","handleMouseLeave","connectedCallback","_updateAriaAttributes","changedProperties","updated","has","setAttribute","href","removeAttribute","x","y","id","setTimeout","filter","r","_navigate","target","window","open","location","_addRipple","dispatchEvent","CustomEvent","detail","value","bubbles","composed","isInteractive","ifDefined","length","map","shadowRootOptions","LitElement","mode","delegatesFocus","__decorateClass","property","reflect","prototype","Boolean","attribute","state","SchmancyCardContent","SchmancyCardMedia","src","fit","alt","String"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"media-DC3r4y8-.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, LitElement } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\n\n@customElement('schmancy-card')\nexport default class SchmancyCard extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tborder-radius: var(--schmancy-sys-shape-corner-medium);\n\t\ttransition: box-shadow var(--schmancy-sys-motion-duration-short4) var(--schmancy-sys-motion-easing-standard);\n\t\toutline: none;\n\t}\n\n\t/* Type variants */\n\t:host([type='elevated']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-low);\n\t\tbox-shadow: var(--schmancy-sys-elevation-1);\n\t}\n\t:host([type='filled']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-highest);\n\t\tbox-shadow: var(--schmancy-sys-elevation-0);\n\t}\n\t:host([type='outlined']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-default);\n\t\tborder: 1px solid var(--schmancy-sys-color-outlineVariant);\n\t\tbox-shadow: var(--schmancy-sys-elevation-0);\n\t}\n\n\t/* Interactive states */\n\t:host([interactive]) {\n\t\tcursor: pointer;\n\t\t-webkit-tap-highlight-color: transparent;\n\t}\n\t:host([interactive]:focus-visible:not([disabled])) {\n\t\toutline: 2px solid var(--schmancy-sys-color-primary-default);\n\t\toutline-offset: 2px;\n\t}\n\t:host([disabled]) {\n\t\tpointer-events: none;\n\t\topacity: var(--schmancy-sys-state-disabled-opacity);\n\t}\n\n\t/* Hover elevations */\n\t:host([type='elevated'][interactive]:hover:not([disabled])) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-2);\n\t}\n\t:host([type='filled'][interactive]:hover:not([disabled])),\n\t:host([type='outlined'][interactive]:hover:not([disabled])) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-1);\n\t}\n\n\t/* Dragged state */\n\t:host([dragged]) {\n\t\tbox-shadow: var(--schmancy-sys-elevation-3);\n\t}\n\n\t@keyframes ripple {\n\t\tto {\n\t\t\ttransform: scale(4);\n\t\t\topacity: 0;\n\t\t}\n\t}\n`) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open',\n\t\tdelegatesFocus: true,\n\t}\n\n\t/**\n\t * The visual style of the card.\n\t * @default 'elevated'\n\t */\n\t@property({ reflect: true })\n\ttype: 'elevated' | 'filled' | 'outlined' = 'elevated'\n\n\t/**\n\t * Makes the card interactive (clickable).\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tinteractive = false\n\n\t/**\n\t * Disables the card.\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tdisabled = false\n\n\t/**\n\t * Indicates the card is being dragged.\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tdragged = false\n\n\t/**\n\t * URL to navigate to when card is clicked (makes it act like a link).\n\t */\n\t@property()\n\thref?: string\n\n\t/**\n\t * Target for the link navigation.\n\t */\n\t@property()\n\ttarget?: string\n\n\t/**\n\t * ARIA role for accessibility.\n\t */\n\t@property({ attribute: 'role' })\n\toverride role = 'article'\n\n\t/**\n\t * ARIA label for accessibility.\n\t */\n\t@property({ attribute: 'aria-label' })\n\toverride ariaLabel: string = ''\n\n\t// Internal state for interaction feedback\n\t@state() pressed = false\n\t@state() private ripples: Array<{ x: number; y: number; id: number }> = []\n\n\tprivate nextRippleId = 0\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tthis._updateAriaAttributes()\n\t}\n\n\tupdated(changedProperties: Map<string, any>) {\n\t\tsuper.updated(changedProperties)\n\t\tif (changedProperties.has('interactive') || changedProperties.has('disabled')) {\n\t\t\tthis._updateAriaAttributes()\n\t\t}\n\t}\n\n\t// Consolidate ARIA attribute updates\n\tprivate _updateAriaAttributes() {\n\t\tconst isInteractive = this.interactive && !this.disabled\n\n\t\tif (isInteractive) {\n\t\t\tthis.setAttribute('tabindex', '0')\n\t\t\tif (!this.role || this.role === 'article') {\n\t\t\t\tthis.role = this.href ? 'link' : 'button'\n\t\t\t}\n\t\t} else {\n\t\t\tthis.removeAttribute('tabindex')\n\t\t\tif (this.role === 'button' || this.role === 'link') {\n\t\t\t\tthis.role = 'article'\n\t\t\t}\n\t\t}\n\t}\n\n\t// Shared ripple creation logic\n\tprivate _addRipple(x: number, y: number) {\n\t\tconst id = this.nextRippleId++\n\t\tthis.ripples = [...this.ripples, { x, y, id }]\n\n\t\t// Remove ripple after animation completes\n\t\tsetTimeout(() => {\n\t\t\tthis.ripples = this.ripples.filter(r => r.id !== id)\n\t\t}, 600) // M3 medium duration\n\t}\n\n\t// Shared navigation logic\n\tprivate _navigate() {\n\t\tif (!this.href) return\n\n\t\tif (this.target === '_blank') {\n\t\t\twindow.open(this.href, '_blank')\n\t\t} else {\n\t\t\twindow.location.href = this.href\n\t\t}\n\t}\n\n\t// Combined action trigger (ripple + navigate + event)\n\tprivate _triggerAction(x: number, y: number) {\n\t\tthis._addRipple(x, y)\n\t\tthis._navigate()\n\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent('schmancy-click', {\n\t\t\t\tdetail: { value: this.type },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\tprivate handleClick = (e: MouseEvent) => {\n\t\tif (this.disabled || !this.interactive) return\n\n\t\tconst rect = this.getBoundingClientRect()\n\t\tthis._triggerAction(e.clientX - rect.left, e.clientY - rect.top)\n\t}\n\n\tprivate handleKeyDown = (e: KeyboardEvent) => {\n\t\tif (this.disabled || !this.interactive) return\n\n\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\te.preventDefault()\n\t\t\tthis._setPressed(true)\n\n\t\t\t// Simulate click at center\n\t\t\tconst rect = this.getBoundingClientRect()\n\t\t\tthis._triggerAction(rect.width / 2, rect.height / 2)\n\t\t}\n\t}\n\n\tprivate handleKeyUp = (e: KeyboardEvent) => {\n\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\tthis._setPressed(false)\n\t\t}\n\t}\n\n\t// Consolidate pressed state management\n\tprivate _setPressed(pressed: boolean) {\n\t\tthis.pressed = pressed\n\t\tif (pressed) {\n\t\t\tthis.setAttribute('pressed', '')\n\t\t} else {\n\t\t\tthis.removeAttribute('pressed')\n\t\t}\n\t}\n\n\tprivate handleMouseDown = () => {\n\t\tif (this.disabled || !this.interactive) return\n\t\tthis._setPressed(true)\n\t}\n\n\tprivate handleMouseUp = () => this._setPressed(false)\n\tprivate handleMouseLeave = () => this._setPressed(false)\n\n\tprotected render() {\n\t\tconst isInteractive = this.interactive && !this.disabled\n\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=\"relative w-full h-full rounded-xl ${isInteractive ? 'cursor-pointer' : ''}\"\n\t\t\t\t@click=${this.handleClick}\n\t\t\t\t@keydown=${this.handleKeyDown}\n\t\t\t\t@keyup=${this.handleKeyUp}\n\t\t\t\t@mousedown=${this.handleMouseDown}\n\t\t\t\t@mouseup=${this.handleMouseUp}\n\t\t\t\t@mouseleave=${this.handleMouseLeave}\n\t\t\t\taria-label=${ifDefined(this.ariaLabel)}\n\t\t\t\taria-disabled=${this.disabled ? 'true' : 'false'}\n\t\t\t>\n\t\t\t\t<!-- State layer -->\n\t\t\t\t<div\n\t\t\t\t\tclass=\"absolute inset-0 rounded-xl pointer-events-none transition-opacity duration-200 bg-surface-on ${!isInteractive\n\t\t\t\t\t\t? 'opacity-0'\n\t\t\t\t\t\t: this.pressed\n\t\t\t\t\t\t\t? 'opacity-[var(--schmancy-sys-state-pressed-opacity)]'\n\t\t\t\t\t\t\t: 'opacity-0 hover:opacity-[var(--schmancy-sys-state-hover-opacity)] focus-visible:opacity-[var(--schmancy-sys-state-focus-opacity)]'}\"\n\t\t\t\t></div>\n\n\t\t\t\t<!-- Ripples -->\n\t\t\t\t${this.interactive && this.ripples.length\n\t\t\t\t\t? html`\n\t\t\t\t\t\t\t<div class=\"absolute inset-0 rounded-xl overflow-hidden pointer-events-none\">\n\t\t\t\t\t\t\t\t${this.ripples.map(\n\t\t\t\t\t\t\t\t\tr => html`\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\tclass=\"absolute rounded-full scale-0 animate-[ripple_600ms_linear] bg-surface-on opacity-[0.12] w-5 h-5 -ml-2.5 -mt-2.5\"\n\t\t\t\t\t\t\t\t\t\t\tstyle=\"left: ${r.x}px; top: ${r.y}px\"\n\t\t\t\t\t\t\t\t\t\t></span>\n\t\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t`\n\t\t\t\t\t: ''}\n\n\t\t\t\t<!-- Content -->\n\t\t\t\t<div class=\"relative h-full w-full rounded-xl\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-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","interactive","disabled","dragged","role","ariaLabel","pressed","ripples","nextRippleId","handleClick","e","rect","getBoundingClientRect","_triggerAction","clientX","left","clientY","top","handleKeyDown","key","preventDefault","_setPressed","width","height","handleKeyUp","handleMouseDown","handleMouseUp","handleMouseLeave","connectedCallback","_updateAriaAttributes","changedProperties","updated","has","setAttribute","href","removeAttribute","x","y","id","setTimeout","filter","r","_navigate","target","window","open","location","_addRipple","dispatchEvent","CustomEvent","detail","value","bubbles","composed","isInteractive","ifDefined","length","map","shadowRootOptions","LitElement","mode","delegatesFocus","__decorateClass","property","reflect","prototype","Boolean","attribute","state","SchmancyCardContent","SchmancyCardMedia","src","fit","alt","String"],"mappings":"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"}
|
|
@@ -3,8 +3,8 @@ import "rxjs/operators";
|
|
|
3
3
|
import "lit/directives/class-map.js";
|
|
4
4
|
import "lit/directives/style-map.js";
|
|
5
5
|
import { customElement as d, queryAssignedElements as g, query as E } from "lit/decorators.js";
|
|
6
|
-
import { T as w } from "./tailwind.mixin-
|
|
7
|
-
import { $ as v } from "./litElement.mixin-
|
|
6
|
+
import { T as w } from "./tailwind.mixin-Cn7vup-6.js";
|
|
7
|
+
import { $ as v } from "./litElement.mixin-Dp4mBSNw.js";
|
|
8
8
|
import { css as b, html as y } from "lit";
|
|
9
9
|
import { offset as x, flip as k, shift as M, size as P, computePosition as p, autoUpdate as O } from "@floating-ui/dom";
|
|
10
10
|
var j = Object.getOwnPropertyDescriptor;
|
|
@@ -97,4 +97,4 @@ let m = class extends w(b`
|
|
|
97
97
|
}
|
|
98
98
|
};
|
|
99
99
|
u([g({ flatten: !0, slot: "button" })], m.prototype, "buttonElement", 2), u([E("#menu")], m.prototype, "menuElement", 2), m = u([d("schmancy-menu")], m);
|
|
100
|
-
//# sourceMappingURL=menu-
|
|
100
|
+
//# sourceMappingURL=menu-BAs2snSu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-
|
|
1
|
+
{"version":3,"file":"menu-BAs2snSu.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("rxjs/operators"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const c=require("lit/decorators.js"),d=require("./tailwind.mixin-
|
|
1
|
+
"use strict";const i=require("rxjs");require("rxjs/operators"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const c=require("lit/decorators.js"),d=require("./tailwind.mixin-CYhJgwwb.cjs"),b=require("./litElement.mixin-DoBMt4ia.cjs"),u=require("lit"),l=require("@floating-ui/dom");var y=Object.getOwnPropertyDescriptor;let p=class extends b.$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-C2ZKJe1g.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-
|
|
1
|
+
{"version":3,"file":"menu-C2ZKJe1g.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-C2ZKJe1g.cjs");
|
|
2
2
|
//# sourceMappingURL=menu.cjs.map
|
package/dist/menu.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import "./menu-
|
|
1
|
+
import "./menu-BAs2snSu.js";
|
|
2
2
|
//# sourceMappingURL=menu.js.map
|
|
@@ -4,7 +4,7 @@ import { Subject, fromEvent, Observable } from 'rxjs'
|
|
|
4
4
|
import { takeUntil } from 'rxjs/operators'
|
|
5
5
|
import { classMap } from 'lit/directives/class-map.js'
|
|
6
6
|
import { styleMap } from 'lit/directives/style-map.js'
|
|
7
|
-
import { discoverComponent } from '
|
|
7
|
+
import { discoverComponent } from './discovery.service'
|
|
8
8
|
|
|
9
9
|
export declare class IBaseMixin {
|
|
10
10
|
disconnecting: Subject<boolean>
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { fromEvent, timer, race, Observable } from 'rxjs'
|
|
2
|
+
import { takeUntil, map, defaultIfEmpty } from 'rxjs/operators'
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Discover a component in the DOM using the WhereAreYou/HereIAm pattern.
|
|
6
|
+
*
|
|
7
|
+
* @param componentTag - The tag name of the component to discover (e.g., 'schmancy-navigation-rail')
|
|
8
|
+
* @param timeout - How long to wait for a response in milliseconds (default: 100)
|
|
9
|
+
* @returns Observable that emits the discovered component or null if not found
|
|
10
|
+
*/
|
|
11
|
+
export function discoverComponent<T extends HTMLElement>(
|
|
12
|
+
componentTag: string,
|
|
13
|
+
timeout = 100,
|
|
14
|
+
): Observable<T | null> {
|
|
15
|
+
const whereAreYouEvent = `${componentTag}-where-are-you`
|
|
16
|
+
const hereIAmEvent = `${componentTag}-here-i-am`
|
|
17
|
+
|
|
18
|
+
return new Observable(subscriber => {
|
|
19
|
+
// Listen for response first (you were right!)
|
|
20
|
+
const subscription = fromEvent<CustomEvent>(window, hereIAmEvent)
|
|
21
|
+
.pipe(
|
|
22
|
+
takeUntil(timer(timeout)),
|
|
23
|
+
map(e => e.detail.component as T),
|
|
24
|
+
defaultIfEmpty(null),
|
|
25
|
+
)
|
|
26
|
+
.subscribe(component => {
|
|
27
|
+
subscriber.next(component)
|
|
28
|
+
subscriber.complete()
|
|
29
|
+
})
|
|
30
|
+
|
|
31
|
+
// Then dispatch discovery request
|
|
32
|
+
window.dispatchEvent(
|
|
33
|
+
new CustomEvent(whereAreYouEvent, {
|
|
34
|
+
bubbles: true,
|
|
35
|
+
composed: true,
|
|
36
|
+
}),
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
// Return cleanup function
|
|
40
|
+
return () => subscription.unsubscribe()
|
|
41
|
+
})
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Discover any of multiple components using race.
|
|
46
|
+
* Returns the first component that responds.
|
|
47
|
+
*
|
|
48
|
+
* @param componentTags - Array of component tag names to discover
|
|
49
|
+
* @returns Observable that emits the first discovered component or null if none found
|
|
50
|
+
*/
|
|
51
|
+
export function discoverAnyComponent<T extends HTMLElement>(...componentTags: string[]): Observable<T | null> {
|
|
52
|
+
if (componentTags.length === 0) {
|
|
53
|
+
return new Observable(subscriber => {
|
|
54
|
+
subscriber.next(null)
|
|
55
|
+
subscriber.complete()
|
|
56
|
+
})
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return race(...componentTags.map(tag => discoverComponent<T>(tag)))
|
|
60
|
+
}
|
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-BmcocEQ4.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
package/dist/navigation-bar.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-BmcocEQ4.cjs");Object.defineProperty(exports,"SchmancyNavigationBar",{enumerable:!0,get:()=>e.SchmancyNavigationBar}),Object.defineProperty(exports,"SchmancyNavigationBarItem",{enumerable:!0,get:()=>e.SchmancyNavigationBarItem});
|
|
2
2
|
//# sourceMappingURL=navigation-bar.cjs.map
|
package/dist/navigation-bar.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const n=require("rxjs"),r=require("rxjs/operators");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const a=require("lit/decorators.js");require("./tailwind.mixin-
|
|
1
|
+
"use strict";const n=require("rxjs"),r=require("rxjs/operators");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const a=require("lit/decorators.js");require("./tailwind.mixin-CYhJgwwb.cjs");const b=require("./litElement.mixin-DoBMt4ia.cjs"),p=require("lit"),u=require("lit/directives/when.js");var g=Object.defineProperty,f=Object.getOwnPropertyDescriptor,o=(e,t,i,s)=>{for(var c,l=s>1?void 0:s?f(t,i):t,d=e.length-1;d>=0;d--)(c=e[d])&&(l=(s?c(t,i,l):c(l))||l);return s&&l&&g(t,i,l),l};exports.SchmancyNavigationRailItem=class extends b.$LitElement(){constructor(){super(...arguments),this.hovering$=new n.BehaviorSubject(!1),this.pressing$=new n.BehaviorSubject(!1),this.active$=new n.BehaviorSubject(!1),this.icon="",this.label="",this.value="",this.badge="",this.badgeVariant="error",this.showLabel=!1,this.disabled=!1,this.nested=!1,this.group=!1,this.showRipple=!1}get active(){return this.active$.value}set active(e){this.active$.next(e)}get selected(){return this.active}set selected(e){this.active=e}connectedCallback(){super.connectedCallback(),n.merge(n.fromEvent(this,"mouseenter").pipe(r.tap(()=>this.hovering$.next(!0))),n.fromEvent(this,"mouseleave").pipe(r.tap(()=>this.hovering$.next(!1)))).pipe(n.takeUntil(this.disconnecting)).subscribe(),n.merge(n.fromEvent(this,"mousedown").pipe(r.tap(()=>this.pressing$.next(!0))),n.fromEvent(this,"mouseup").pipe(r.tap(()=>this.pressing$.next(!1))),n.fromEvent(this,"mouseleave").pipe(r.tap(()=>this.pressing$.next(!1)))).pipe(n.takeUntil(this.disconnecting)).subscribe(),this.pressing$.pipe(r.tap(e=>{e&&!this.disabled&&(this.showRipple=!0)}),r.delay(600),r.tap(()=>this.showRipple=!1),n.takeUntil(this.disconnecting)).subscribe(),this.active$.pipe(r.distinctUntilChanged(),r.tap(e=>{this.requestUpdate(),this.setAttribute("aria-selected",String(e)),this.setAttribute("tabindex",e?"0":"-1")}),n.takeUntil(this.disconnecting)).subscribe(),this.setAttribute("role","listitem"),this.hasAttribute("tabindex")||this.setAttribute("tabindex",this.active?"0":"-1")}updated(e){super.updated(e),e.has("disabled")&&this.setAttribute("aria-disabled",String(this.disabled)),e.has("label")&&this.setAttribute("aria-label",this.label)}handleClick(e){if(this.disabled)return e.preventDefault(),void e.stopPropagation();this.dispatchEvent(new CustomEvent("navigate",{detail:this.value||this.label,bubbles:!0,composed:!0}))}handleKeyDown(e){this.disabled||e.key!=="Enter"&&e.key!==" "||(e.preventDefault(),this.click())}render(){const e=this.querySelector('[slot="icon"]'),t=this.querySelector(":not([slot])"),i=this.querySelector('[slot="badge"]'),s=this.classMap({"flex flex-col items-center justify-center":!0,"min-h-14 w-full":!0,"py-3":!0,"gap-1":!0,"rounded-lg":!0,"cursor-pointer":!0,relative:!0,"select-none":!0,"box-border":!0,"text-surface-onVariant":!this.active,"text-secondary-onContainer":this.active,"hover:bg-surface-containerHighest":!0,"transition-all duration-150 ease-out":!0,"pointer-events-none opacity-38":this.disabled,"[&>.ripple]:scale-100":this.showRipple,"min-h-12 pl-8":this.nested,"mb-2 after:absolute after:bottom-[-4px] after:left-3 after:right-3 after:h-px after:bg-outline-variant after:opacity-12":this.group}),c=this.classMap({"flex items-center justify-center":!0,"w-auto min-w-14 h-8":!0,"flex-shrink-0 relative z-10":!0}),l=this.classMap({"absolute top-1/2 left-1/2 opacity-50":!0,"w-14 h-8":!0,"rounded-lg":!0,"bg-secondary-container":!0,"transition-transform duration-150 ease-out":!0,"z-0":!0,"scale-0 -translate-x-1/2 -translate-y-1/2":!this.active,"scale-100 -translate-x-1/2 -translate-y-1/2":this.active}),d=this.classMap({"text-2xl leading-none":!this.nested,"text-xl leading-none":this.nested,"relative z-10":!0}),v=this.classMap({"text-xs font-medium leading-4":!0,"text-center":!0,"overflow-hidden text-ellipsis whitespace-nowrap":!0,"z-10 max-w-14 px-1":!0,hidden:!this.showLabel&&!this.label}),y=this.classMap({"absolute top-2 right-3":!0,"min-w-4 h-4":!0,"rounded-sm":!0,"text-xs font-semibold":!0,"flex items-center justify-center":!0,"px-1 box-border z-20":!0,"animate-pulse":!0,"bg-error-default text-error-on":this.badgeVariant==="error","bg-primary-default text-primary-on":this.badgeVariant==="primary","bg-secondary-default text-secondary-on":this.badgeVariant==="secondary"}),m=this.classMap({"absolute inset-0 rounded-lg overflow-hidden z-0":!0,'before:content-[""] before:absolute before:top-1/2 before:left-1/2':!0,"before:w-0 before:h-0 before:rounded-full":!0,"before:bg-current before:opacity-0":!0,"before:-translate-x-1/2 before:-translate-y-1/2":!0,"before:transition-all before:duration-300":!0,"before:w-[200%] before:h-[200%] before:opacity-12":this.showRipple});return p.html`
|
|
2
2
|
<div
|
|
3
3
|
class=${s}
|
|
4
4
|
part="container"
|
|
@@ -78,4 +78,4 @@
|
|
|
78
78
|
</div>
|
|
79
79
|
</div>
|
|
80
80
|
`}setupNavigateListener(){this.addEventListener("navigate",e=>{if(e instanceof CustomEvent){const t=e.detail,i=this.navigationItems.findIndex(s=>s.value===t||s.label===t);i>=0&&(this.activeIndex=i,this._activeValue=t)}})}handleSlotChange(){this.updateLabelVisibility(),this.updateActiveStates(this.activeIndex),this.navigationItems.forEach((e,t)=>{e.setAttribute("role","listitem"),e.hasAttribute("tabindex")||e.setAttribute("tabindex",t===this.activeIndex?"0":"-1")})}},h([a.property({type:Number})],exports.SchmancyNavigationRail.prototype,"activeIndex",1),h([a.property({type:String})],exports.SchmancyNavigationRail.prototype,"activeValue",1),h([a.property({type:String,attribute:"label-visibility",reflect:!0})],exports.SchmancyNavigationRail.prototype,"labelVisibility",2),h([a.property({type:String,reflect:!0})],exports.SchmancyNavigationRail.prototype,"alignment",2),h([a.property({type:Boolean})],exports.SchmancyNavigationRail.prototype,"showTooltips",2),h([a.property({type:Boolean})],exports.SchmancyNavigationRail.prototype,"keyboardNavigation",2),h([a.property({type:Boolean,reflect:!0})],exports.SchmancyNavigationRail.prototype,"expanded",2),h([a.state()],exports.SchmancyNavigationRail.prototype,"focusedIndex",2),h([a.state()],exports.SchmancyNavigationRail.prototype,"isFullscreen",2),h([a.queryAssignedElements({flatten:!0})],exports.SchmancyNavigationRail.prototype,"allElements",2),exports.SchmancyNavigationRail=h([a.customElement("schmancy-navigation-rail")],exports.SchmancyNavigationRail);
|
|
81
|
-
//# sourceMappingURL=navigation-rail-
|
|
81
|
+
//# sourceMappingURL=navigation-rail-B0zofile.cjs.map
|