@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":"sheet-CNMKrulQ.cjs","sources":["../src/sheet/header.ts","../src/sheet/sheet.ts","../src/sheet/hook.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-sheet-header')\nexport default class SchmancySheetHeader extends TailwindElement(css``) {\n\trender() {\n\t\treturn html`\n\t\t\t<sch-flex class=\"absolute top-0 left-0 md:left-[unset] md:right-0\">\n\t\t\t\t<div class=\"block md:hidden flex-1 justify-start items-start\">\n\t\t\t\t\t<slot name=\"back\">\n\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\t\tnew CustomEvent('dismiss', {\n\t\t\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\t\t\tcomposed: true,\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}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span class=\"text-[24px]\">← </span>\n\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t</slot>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"hidden md:block flex-1 justify-end items-end\">\n\t\t\t\t\t<slot name=\"actions\">\n\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\t\tnew CustomEvent('dismiss', {\n\t\t\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\t\t\tcomposed: true,\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}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tclose\n\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t</slot>\n\t\t\t\t</div>\n\t\t\t</sch-flex>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-sheet-header': SchmancySheetHeader\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property, queryAssignedElements } from 'lit/decorators.js'\nimport { cache } from 'lit/directives/cache.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { createRef, ref } from 'lit/directives/ref.js'\nimport { fromEvent, merge, of, take, takeUntil, tap } from 'rxjs'\nimport { on } from './hook'\nimport style from './sheet.scss?inline'\nimport {\n\tSchmancySheetPosition,\n\tSheetHereMorty,\n\tSheetWhereAreYouRicky,\n\tSheetWhereAreYouRickyEvent,\n\tsheet,\n} from './sheet.service'\n\n@customElement('schmancy-sheet')\nexport default class SchmancySheet extends $LitElement(style) {\n\t@property({ type: String, reflect: true }) uid!: string\n\t@property({ type: Boolean, reflect: true }) open = false\n\t@property({ type: String, reflect: true }) header: 'hidden' | 'visible' = 'visible'\n\t@property({ type: String, reflect: true }) position: SchmancySheetPosition = SchmancySheetPosition.Side\n\t@property({ type: Boolean, reflect: true }) persist = false\n\t@property({ type: Boolean, reflect: true }) lock = false\n\t@property({ type: Boolean, reflect: true }) handleHistory = true\n\t@property({ type: String, reflect: true }) title = ''\n\n\t// Use ref directive instead of @query\n\tprivate sheetRef = createRef<HTMLDivElement>()\n\t@queryAssignedElements({ flatten: true }) private assignedElements!: HTMLElement[]\n\n\t@property() focusAttribute = 'autofocus'\n\tprivate lastFocusedElement: HTMLElement | null = null\n\n\t@on('open')\n\tonOpenChange(_oldValue: boolean, newValue: boolean) {\n\t\tif (newValue) {\n\t\t\tthis.lastFocusedElement = document.activeElement as HTMLElement\n\t\t\t// Use native inert attribute to prevent focus outside sheet\n\t\t\tthis.setBackgroundInert(true)\n\t\t\tthis.focus()\n\t\t} else {\n\t\t\tthis.setBackgroundInert(false)\n\t\t\tthis.lastFocusedElement?.focus()\n\t\t\tthis.lastFocusedElement = null\n\t\t}\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tthis.setupEventListeners()\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.disconnecting.next(true)\n\t}\n\n\tprivate setupEventListeners() {\n\t\t// Handle browser back button - only if handleHistory is true\n\t\tconst popState$ = this.handleHistory\n\t\t\t? fromEvent<PopStateEvent>(window, 'popstate').pipe(\n\t\t\t\t\ttap(e => {\n\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\tthis.closeSheet()\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t: of(null).pipe(take(0)) // Empty observable if handleHistory is false\n\n\t\t// Handle ESC key - listen on the sheet element for better event capture\n\t\tconst keyUp$ = fromEvent<KeyboardEvent>(this, 'keydown').pipe(\n\t\t\ttap(event => {\n\t\t\t\tif (event.key === 'Escape' && !this.lock && this.open) {\n\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t\tsheet.dismiss(this.uid)\n\t\t\t\t}\n\t\t\t}),\n\t\t)\n\n\t\t// Handle inter-component communication\n\t\tconst rickyComm$ = fromEvent<SheetWhereAreYouRickyEvent>(window, SheetWhereAreYouRicky).pipe(\n\t\t\ttap(e => {\n\t\t\t\tif (e.detail.uid === this.uid)\n\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\tnew CustomEvent(SheetHereMorty, {\n\t\t\t\t\t\t\tdetail: { sheet: this },\n\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\t\t\t}),\n\t\t)\n\n\t\tmerge(popState$, keyUp$, rickyComm$).pipe(takeUntil(this.disconnecting)).subscribe()\n\t}\n\n\tprivate setBackgroundInert(inert: boolean) {\n\t\t// Get all sibling elements and make them inert\n\t\tconst parent = this.parentElement\n\t\tif (parent) {\n\t\t\tArray.from(parent.children).forEach(child => {\n\t\t\t\tif (child !== this && child instanceof HTMLElement) {\n\t\t\t\t\tif (inert) {\n\t\t\t\t\t\tchild.setAttribute('inert', '')\n\t\t\t\t\t} else {\n\t\t\t\t\t\tchild.removeAttribute('inert')\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\t// Also handle body's direct children if sheet is attached to body\n\t\tif (this.parentElement === document.body) {\n\t\t\tArray.from(document.body.children).forEach(child => {\n\t\t\t\tif (child !== this && child !== parent && child instanceof HTMLElement) {\n\t\t\t\t\tif (inert) {\n\t\t\t\t\t\tchild.setAttribute('inert', '')\n\t\t\t\t\t} else {\n\t\t\t\t\t\tchild.removeAttribute('inert')\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\tsetIsSheetShown(isShown: boolean) {\n\t\tthis.sheetRef.value?.setAttribute('aria-hidden', String(!isShown))\n\t\tthis.sheetRef.value?.setAttribute('aria-modal', String(isShown))\n\t}\n\n\tcloseSheet() {\n\t\tthis.open = false\n\t\tthis.dispatchEvent(new CustomEvent('close'))\n\t}\n\n\tprivate getFocusElement(): HTMLElement | null {\n\t\tconst selector = `[${this.focusAttribute}]`\n\t\treturn (this.assignedElements.find(el => el.matches(selector) || el.querySelector(selector)) as HTMLElement) ?? null\n\t}\n\n\toverride focus() {\n\t\t// First try native autofocus attribute\n\t\tconst autofocusElement = this.querySelector('[autofocus]') as HTMLElement\n\t\tif (autofocusElement) {\n\t\t\tautofocusElement.focus()\n\t\t\treturn\n\t\t}\n\n\t\t// Fallback to custom focus attribute\n\t\tthis.getFocusElement()?.focus()\n\t}\n\n\tprivate handleOverlayClick = (e: Event) => {\n\t\te.stopPropagation()\n\t\tif (!this.lock) {\n\t\t\tsheet.dismiss(this.uid)\n\t\t}\n\t}\n\n\tprivate handleHeaderDismiss = (e: CustomEvent) => {\n\t\te.stopPropagation()\n\t\tsheet.dismiss(this.uid)\n\t}\n\n\trender() {\n\t\tconst sheetClasses = {\n\t\t\tsheet: true,\n\t\t\t'sheet--open': this.open,\n\t\t\t'sheet--locked': this.lock,\n\t\t}\n\n\t\tconst overlayClasses = {\n\t\t\toverlay: true,\n\t\t\t'overlay--interactive': !this.lock,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=${classMap(sheetClasses)}\n\t\t\t\trole=\"dialog\"\n\t\t\t\taria-labelledby=${ifDefined(this.header !== 'hidden' ? 'sheet-title' : undefined)}\n\t\t\t\taria-hidden=${!this.open}\n\t\t\t\taria-modal=${this.open}\n\t\t\t\ttabindex=\"0\"\n\t\t\t\t${ref(this.sheetRef)}\n\t\t\t>\n\t\t\t\t<div class=${classMap(overlayClasses)} @click=${this.lock ? undefined : this.handleOverlayClick}></div>\n\t\t\t\t<schmancy-grid\n\t\t\t\t\trows=${this.header === 'hidden' ? '1fr' : 'auto 1fr'}\n\t\t\t\t\tclass=\"content w-full\"\n\t\t\t\t\tdata-position=${this.position}\n\t\t\t\t>\n\t\t\t\t\t${cache(\n\t\t\t\t\t\tthis.header !== 'hidden'\n\t\t\t\t\t\t\t? html`<schmancy-sheet-header\n\t\t\t\t\t\t\t\t\tclass=\"sticky top-0 z-50 w-full\"\n\t\t\t\t\t\t\t\t\t@dismiss=${this.handleHeaderDismiss}\n\t\t\t\t\t\t\t\t\tid=\"sheet-title\"\n\t\t\t\t\t\t\t\t\ttitle=${ifDefined(this.title || undefined)}\n\t\t\t\t\t\t\t\t></schmancy-sheet-header>`\n\t\t\t\t\t\t\t: '',\n\t\t\t\t\t)}\n\n\t\t\t\t\t<schmancy-surface rounded=\"left\" fill=\"all\" id=\"body\" class=\"overflow-auto\" type=\"surface\">\n\t\t\t\t\t\t<schmancy-scroll> <slot></slot></schmancy-scroll>\n\t\t\t\t\t</schmancy-surface>\n\t\t\t\t</schmancy-grid>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-sheet': SchmancySheet\n\t}\n}\n","// @watch decorator\n//\n// Runs when an observed property changes, e.g. @property or @state, but before the component updates.\n//\n// To wait for an update to complete after a change occurs, use `await this.updateComplete` in the handler. To start\n// watching after the initial update/render, use `{ waitUntilFirstUpdate: true }` or `this.hasUpdated` in the handler.\n//\n// Usage:\n//\n// @watch('propName')\n// handlePropChange(oldValue, newValue) {\n// ...\n// }\n//\ninterface WatchOptions {\n\twaitUntilFirstUpdate?: boolean\n}\n\nexport function on(propName: string, options?: WatchOptions) {\n\treturn (protoOrDescriptor: any, name: string): any => {\n\t\tconst { willUpdate } = protoOrDescriptor\n\n\t\toptions = Object.assign({ waitUntilFirstUpdate: false }, options) as WatchOptions\n\n\t\tprotoOrDescriptor.willUpdate = function (changedProps: Map<string, any>) {\n\t\t\twillUpdate.call(this, changedProps)\n\n\t\t\tif (changedProps.has(propName)) {\n\t\t\t\tconst oldValue = changedProps.get(propName)\n\t\t\t\tconst newValue = this[propName]\n\n\t\t\t\tif (oldValue !== newValue) {\n\t\t\t\t\tif (!options?.waitUntilFirstUpdate || this.hasUpdated) {\n\t\t\t\t\t\tthis[name].call(this, oldValue, newValue)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"],"names":["SchmancySheetHeader","TailwindElement","css","render","html","this","dispatchEvent","CustomEvent","bubbles","composed","customElement","SchmancySheet","$LitElement","constructor","super","arguments","open","header","position","SchmancySheetPosition","Side","persist","lock","handleHistory","title","sheetRef","createRef","focusAttribute","lastFocusedElement","handleOverlayClick","e","stopPropagation","sheet","dismiss","uid","handleHeaderDismiss","_oldValue","newValue","document","activeElement","setBackgroundInert","focus","connectedCallback","setupEventListeners","disconnectedCallback","disconnecting","next","popState$","fromEvent","window","pipe","tap","preventDefault","closeSheet","of","take","keyUp$","event","key","rickyComm$","SheetWhereAreYouRicky","detail","SheetHereMorty","merge","takeUntil","subscribe","inert","parent","parentElement","Array","from","children","forEach","child","HTMLElement","setAttribute","removeAttribute","body","isShown","value","String","getFocusElement","selector","assignedElements","find","el","matches","querySelector","autofocusElement","sheetClasses","overlayClasses","overlay","classMap","ifDefined","ref","cache","propName","options","__decorateClass","property","type","reflect","prototype","Boolean","queryAssignedElements","flatten","protoOrDescriptor","name","willUpdate","Object","assign","waitUntilFirstUpdate","changedProps","call","has","oldValue","get","hasUpdated"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sheet-DP7nFOEo.cjs","sources":["../src/sheet/header.ts","../src/sheet/sheet.ts","../src/sheet/hook.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-sheet-header')\nexport default class SchmancySheetHeader extends TailwindElement(css``) {\n\trender() {\n\t\treturn html`\n\t\t\t<sch-flex class=\"absolute top-0 left-0 md:left-[unset] md:right-0\">\n\t\t\t\t<div class=\"block md:hidden flex-1 justify-start items-start\">\n\t\t\t\t\t<slot name=\"back\">\n\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\t\tnew CustomEvent('dismiss', {\n\t\t\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\t\t\tcomposed: true,\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}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span class=\"text-[24px]\">← </span>\n\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t</slot>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"hidden md:block flex-1 justify-end items-end\">\n\t\t\t\t\t<slot name=\"actions\">\n\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t@click=${() => {\n\t\t\t\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\t\t\t\tnew CustomEvent('dismiss', {\n\t\t\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\t\t\tcomposed: true,\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}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tclose\n\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t</slot>\n\t\t\t\t</div>\n\t\t\t</sch-flex>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-sheet-header': SchmancySheetHeader\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property, queryAssignedElements } from 'lit/decorators.js'\nimport { cache } from 'lit/directives/cache.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { createRef, ref } from 'lit/directives/ref.js'\nimport { fromEvent, merge, of, take, takeUntil, tap } from 'rxjs'\nimport { on } from './hook'\nimport style from './sheet.scss?inline'\nimport {\n\tSchmancySheetPosition,\n\tSheetHereMorty,\n\tSheetWhereAreYouRicky,\n\tSheetWhereAreYouRickyEvent,\n\tsheet,\n} from './sheet.service'\n\n@customElement('schmancy-sheet')\nexport default class SchmancySheet extends $LitElement(style) {\n\t@property({ type: String, reflect: true }) uid!: string\n\t@property({ type: Boolean, reflect: true }) open = false\n\t@property({ type: String, reflect: true }) header: 'hidden' | 'visible' = 'visible'\n\t@property({ type: String, reflect: true }) position: SchmancySheetPosition = SchmancySheetPosition.Side\n\t@property({ type: Boolean, reflect: true }) persist = false\n\t@property({ type: Boolean, reflect: true }) lock = false\n\t@property({ type: Boolean, reflect: true }) handleHistory = true\n\t@property({ type: String, reflect: true }) title = ''\n\n\t// Use ref directive instead of @query\n\tprivate sheetRef = createRef<HTMLDivElement>()\n\t@queryAssignedElements({ flatten: true }) private assignedElements!: HTMLElement[]\n\n\t@property() focusAttribute = 'autofocus'\n\tprivate lastFocusedElement: HTMLElement | null = null\n\n\t@on('open')\n\tonOpenChange(_oldValue: boolean, newValue: boolean) {\n\t\tif (newValue) {\n\t\t\tthis.lastFocusedElement = document.activeElement as HTMLElement\n\t\t\t// Use native inert attribute to prevent focus outside sheet\n\t\t\tthis.setBackgroundInert(true)\n\t\t\tthis.focus()\n\t\t} else {\n\t\t\tthis.setBackgroundInert(false)\n\t\t\tthis.lastFocusedElement?.focus()\n\t\t\tthis.lastFocusedElement = null\n\t\t}\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tthis.setupEventListeners()\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.disconnecting.next(true)\n\t}\n\n\tprivate setupEventListeners() {\n\t\t// Handle browser back button - only if handleHistory is true\n\t\tconst popState$ = this.handleHistory\n\t\t\t? fromEvent<PopStateEvent>(window, 'popstate').pipe(\n\t\t\t\t\ttap(e => {\n\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\tthis.closeSheet()\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t: of(null).pipe(take(0)) // Empty observable if handleHistory is false\n\n\t\t// Handle ESC key - listen on the sheet element for better event capture\n\t\tconst keyUp$ = fromEvent<KeyboardEvent>(this, 'keydown').pipe(\n\t\t\ttap(event => {\n\t\t\t\tif (event.key === 'Escape' && !this.lock && this.open) {\n\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t\tsheet.dismiss(this.uid)\n\t\t\t\t}\n\t\t\t}),\n\t\t)\n\n\t\t// Handle inter-component communication\n\t\tconst rickyComm$ = fromEvent<SheetWhereAreYouRickyEvent>(window, SheetWhereAreYouRicky).pipe(\n\t\t\ttap(e => {\n\t\t\t\tif (e.detail.uid === this.uid)\n\t\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\t\tnew CustomEvent(SheetHereMorty, {\n\t\t\t\t\t\t\tdetail: { sheet: this },\n\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\t\t\t}),\n\t\t)\n\n\t\tmerge(popState$, keyUp$, rickyComm$).pipe(takeUntil(this.disconnecting)).subscribe()\n\t}\n\n\tprivate setBackgroundInert(inert: boolean) {\n\t\t// Get all sibling elements and make them inert\n\t\tconst parent = this.parentElement\n\t\tif (parent) {\n\t\t\tArray.from(parent.children).forEach(child => {\n\t\t\t\tif (child !== this && child instanceof HTMLElement) {\n\t\t\t\t\tif (inert) {\n\t\t\t\t\t\tchild.setAttribute('inert', '')\n\t\t\t\t\t} else {\n\t\t\t\t\t\tchild.removeAttribute('inert')\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\t// Also handle body's direct children if sheet is attached to body\n\t\tif (this.parentElement === document.body) {\n\t\t\tArray.from(document.body.children).forEach(child => {\n\t\t\t\tif (child !== this && child !== parent && child instanceof HTMLElement) {\n\t\t\t\t\tif (inert) {\n\t\t\t\t\t\tchild.setAttribute('inert', '')\n\t\t\t\t\t} else {\n\t\t\t\t\t\tchild.removeAttribute('inert')\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\tsetIsSheetShown(isShown: boolean) {\n\t\tthis.sheetRef.value?.setAttribute('aria-hidden', String(!isShown))\n\t\tthis.sheetRef.value?.setAttribute('aria-modal', String(isShown))\n\t}\n\n\tcloseSheet() {\n\t\tthis.open = false\n\t\tthis.dispatchEvent(new CustomEvent('close'))\n\t}\n\n\tprivate getFocusElement(): HTMLElement | null {\n\t\tconst selector = `[${this.focusAttribute}]`\n\t\treturn (this.assignedElements.find(el => el.matches(selector) || el.querySelector(selector)) as HTMLElement) ?? null\n\t}\n\n\toverride focus() {\n\t\t// First try native autofocus attribute\n\t\tconst autofocusElement = this.querySelector('[autofocus]') as HTMLElement\n\t\tif (autofocusElement) {\n\t\t\tautofocusElement.focus()\n\t\t\treturn\n\t\t}\n\n\t\t// Fallback to custom focus attribute\n\t\tthis.getFocusElement()?.focus()\n\t}\n\n\tprivate handleOverlayClick = (e: Event) => {\n\t\te.stopPropagation()\n\t\tif (!this.lock) {\n\t\t\tsheet.dismiss(this.uid)\n\t\t}\n\t}\n\n\tprivate handleHeaderDismiss = (e: CustomEvent) => {\n\t\te.stopPropagation()\n\t\tsheet.dismiss(this.uid)\n\t}\n\n\trender() {\n\t\tconst sheetClasses = {\n\t\t\tsheet: true,\n\t\t\t'sheet--open': this.open,\n\t\t\t'sheet--locked': this.lock,\n\t\t}\n\n\t\tconst overlayClasses = {\n\t\t\toverlay: true,\n\t\t\t'overlay--interactive': !this.lock,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=${classMap(sheetClasses)}\n\t\t\t\trole=\"dialog\"\n\t\t\t\taria-labelledby=${ifDefined(this.header !== 'hidden' ? 'sheet-title' : undefined)}\n\t\t\t\taria-hidden=${!this.open}\n\t\t\t\taria-modal=${this.open}\n\t\t\t\ttabindex=\"0\"\n\t\t\t\t${ref(this.sheetRef)}\n\t\t\t>\n\t\t\t\t<div class=${classMap(overlayClasses)} @click=${this.lock ? undefined : this.handleOverlayClick}></div>\n\t\t\t\t<schmancy-grid\n\t\t\t\t\trows=${this.header === 'hidden' ? '1fr' : 'auto 1fr'}\n\t\t\t\t\tclass=\"content w-full\"\n\t\t\t\t\tdata-position=${this.position}\n\t\t\t\t>\n\t\t\t\t\t${cache(\n\t\t\t\t\t\tthis.header !== 'hidden'\n\t\t\t\t\t\t\t? html`<schmancy-sheet-header\n\t\t\t\t\t\t\t\t\tclass=\"sticky top-0 z-50 w-full\"\n\t\t\t\t\t\t\t\t\t@dismiss=${this.handleHeaderDismiss}\n\t\t\t\t\t\t\t\t\tid=\"sheet-title\"\n\t\t\t\t\t\t\t\t\ttitle=${ifDefined(this.title || undefined)}\n\t\t\t\t\t\t\t\t></schmancy-sheet-header>`\n\t\t\t\t\t\t\t: '',\n\t\t\t\t\t)}\n\n\t\t\t\t\t<schmancy-surface rounded=\"left\" fill=\"all\" id=\"body\" class=\"overflow-auto\" type=\"surface\">\n\t\t\t\t\t\t<schmancy-scroll> <slot></slot></schmancy-scroll>\n\t\t\t\t\t</schmancy-surface>\n\t\t\t\t</schmancy-grid>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-sheet': SchmancySheet\n\t}\n}\n","// @watch decorator\n//\n// Runs when an observed property changes, e.g. @property or @state, but before the component updates.\n//\n// To wait for an update to complete after a change occurs, use `await this.updateComplete` in the handler. To start\n// watching after the initial update/render, use `{ waitUntilFirstUpdate: true }` or `this.hasUpdated` in the handler.\n//\n// Usage:\n//\n// @watch('propName')\n// handlePropChange(oldValue, newValue) {\n// ...\n// }\n//\ninterface WatchOptions {\n\twaitUntilFirstUpdate?: boolean\n}\n\nexport function on(propName: string, options?: WatchOptions) {\n\treturn (protoOrDescriptor: any, name: string): any => {\n\t\tconst { willUpdate } = protoOrDescriptor\n\n\t\toptions = Object.assign({ waitUntilFirstUpdate: false }, options) as WatchOptions\n\n\t\tprotoOrDescriptor.willUpdate = function (changedProps: Map<string, any>) {\n\t\t\twillUpdate.call(this, changedProps)\n\n\t\t\tif (changedProps.has(propName)) {\n\t\t\t\tconst oldValue = changedProps.get(propName)\n\t\t\t\tconst newValue = this[propName]\n\n\t\t\t\tif (oldValue !== newValue) {\n\t\t\t\t\tif (!options?.waitUntilFirstUpdate || this.hasUpdated) {\n\t\t\t\t\t\tthis[name].call(this, oldValue, newValue)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"],"names":["SchmancySheetHeader","TailwindElement","css","render","html","this","dispatchEvent","CustomEvent","bubbles","composed","customElement","SchmancySheet","$LitElement","constructor","super","arguments","open","header","position","SchmancySheetPosition","Side","persist","lock","handleHistory","title","sheetRef","createRef","focusAttribute","lastFocusedElement","handleOverlayClick","e","stopPropagation","sheet","dismiss","uid","handleHeaderDismiss","_oldValue","newValue","document","activeElement","setBackgroundInert","focus","connectedCallback","setupEventListeners","disconnectedCallback","disconnecting","next","popState$","fromEvent","window","pipe","tap","preventDefault","closeSheet","of","take","keyUp$","event","key","rickyComm$","SheetWhereAreYouRicky","detail","SheetHereMorty","merge","takeUntil","subscribe","inert","parent","parentElement","Array","from","children","forEach","child","HTMLElement","setAttribute","removeAttribute","body","isShown","value","String","getFocusElement","selector","assignedElements","find","el","matches","querySelector","autofocusElement","sheetClasses","overlayClasses","overlay","classMap","ifDefined","ref","cache","propName","options","__decorateClass","property","type","reflect","prototype","Boolean","queryAssignedElements","flatten","protoOrDescriptor","name","willUpdate","Object","assign","waitUntilFirstUpdate","changedProps","call","has","oldValue","get","hasUpdated"],"mappings":"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"}
|
package/dist/sheet.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),require("./sheet-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),require("./sheet-DP7nFOEo.cjs");const e=require("./sheet.service-BxvWBGsJ.cjs");exports.SchmancySheetPosition=e.SchmancySheetPosition,exports.SheetHereMorty=e.SheetHereMorty,exports.SheetWhereAreYouRicky=e.SheetWhereAreYouRicky,exports.sheet=e.sheet;
|
|
2
2
|
//# sourceMappingURL=sheet.cjs.map
|
package/dist/sheet.js
CHANGED
|
@@ -3,8 +3,8 @@ import { throttleTime as x } from "rxjs/operators";
|
|
|
3
3
|
import "lit/directives/class-map.js";
|
|
4
4
|
import "lit/directives/style-map.js";
|
|
5
5
|
import { property as d, customElement as f, state as S, query as y } from "lit/decorators.js";
|
|
6
|
-
import "./tailwind.mixin-
|
|
7
|
-
import { $ as m } from "./litElement.mixin-
|
|
6
|
+
import "./tailwind.mixin-Cn7vup-6.js";
|
|
7
|
+
import { $ as m } from "./litElement.mixin-Dp4mBSNw.js";
|
|
8
8
|
import { css as v, html as c } from "lit";
|
|
9
9
|
import { cache as w } from "lit/directives/cache.js";
|
|
10
10
|
var $ = Object.defineProperty, I = Object.getOwnPropertyDescriptor, a = (e, s, l, o) => {
|
|
@@ -158,4 +158,4 @@ export {
|
|
|
158
158
|
i as S,
|
|
159
159
|
h as a
|
|
160
160
|
};
|
|
161
|
-
//# sourceMappingURL=slider-
|
|
161
|
+
//# sourceMappingURL=slider-Bu7kQ0_w.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider-DIRocNv8.js","sources":["../src/slider/slide.ts","../src/slider/slider.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { cache } from 'lit/directives/cache.js'\n\n/**\n * Supported slide \"types.\"\n * - 'image': Renders an <img>\n * - 'video': Renders a <video>\n * - 'content': Renders a <slot> (the default)\n */\ntype SlideType = 'image' | 'video' | 'content'\n\n/**\n * Allowed values for the 'fit' property,\n * which maps to CSS object-fit.\n */\ntype ObjectFit = 'cover' | 'contain' | 'fill' | 'scale-down' | 'none'\n\n@customElement('schmancy-slide')\nexport class SchmancySlide extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tscroll-snap-align: center; /* If your slider uses scroll-snap */\n\t}\n\n\t.slide {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tobject-fit: var(--object-fit, cover);\n\t}\n`) {\n\t/**\n\t * Determines how this slide should be rendered.\n\t * Defaults to 'content' if not provided.\n\t */\n\t@property({ type: String }) type: SlideType = 'content'\n\n\t/**\n\t * Source for images or videos (if `type` is 'image' or 'video').\n\t */\n\t@property({ type: String }) src: string = ''\n\n\t/**\n\t * Alternate text for images.\n\t */\n\t@property({ type: String }) alt: string = ''\n\n\t/**\n\t * Whether to show default video controls (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) controls = true\n\n\t/**\n\t * Whether the video should autoplay (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) autoplay = false\n\n\t/**\n\t * Whether the video should loop (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) loop = false\n\n\t/**\n\t * Whether the video is muted (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) muted = false\n\n\t/**\n\t * CSS `object-fit` property, applied to images/videos.\n\t */\n\t@property({ type: String }) fit: ObjectFit = 'cover'\n\n\trender() {\n\t\treturn html` <div style=\"--object-fit: ${this.fit}\">${cache(this.renderSlide())}</div> `\n\t}\n\n\tprivate renderSlide() {\n\t\tswitch (this.type) {\n\t\t\tcase 'image':\n\t\t\t\treturn html` <img class=\"slide\" src=\"${this.src}\" alt=\"${this.alt}\" loading=\"lazy\" /> `\n\t\t\tcase 'video':\n\t\t\t\treturn html`\n\t\t\t\t\t<video\n\t\t\t\t\t\tclass=\"slide\"\n\t\t\t\t\t\tsrc=\"${this.src}\"\n\t\t\t\t\t\t?controls=\"${this.controls}\"\n\t\t\t\t\t\t?autoplay=\"${this.autoplay}\"\n\t\t\t\t\t\t?loop=\"${this.loop}\"\n\t\t\t\t\t\t?muted=\"${this.muted}\"\n\t\t\t\t\t>\n\t\t\t\t\t\tYour browser does not support HTML video.\n\t\t\t\t\t</video>\n\t\t\t\t`\n\t\t\tcase 'content':\n\t\t\tdefault:\n\t\t\t\treturn html`<slot></slot>`\n\t\t}\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-slide': SchmancySlide\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { fromEvent } from 'rxjs'\nimport { throttleTime } from 'rxjs/operators'\n\n@customElement('schmancy-slider')\nexport class SchmancySlider extends $LitElement(css`\n\t.slider {\n\t\t/* Lay out slides horizontally, one after another */\n\t\tdisplay: flex;\n\t\toverflow-x: auto;\n\n\t\t/* Optional: scroll snapping */\n\t\tscroll-snap-type: x mandatory;\n\n\t\t/* Hide scrollbars */\n\t\t-ms-overflow-style: none; /* IE and Edge */\n\t\tscrollbar-width: none; /* Firefox */\n\t}\n\t.slider::-webkit-scrollbar {\n\t\tdisplay: none; /* Chrome, Safari, Opera */\n\t}\n\n\t/* \n Ensure each slide takes up the full slider width.\n \"schmancy-slide\" is the child custom element.\n */\n\t::slotted(schmancy-slide) {\n\t\tflex: 0 0 100%;\n\t\tbox-sizing: border-box;\n\t}\n`) {\n\t/**\n\t * Currently centered slide index\n\t */\n\t@state() private selectedIndex: number = 0\n\n\t/**\n\t * If true, renders next/prev buttons\n\t */\n\t@property({ type: Boolean }) showArrows: boolean = true\n\n\t@query('#slider') private slider!: HTMLDivElement\n\t@query('slot') private defaultSlot!: HTMLSlotElement\n\n\tprotected firstUpdated() {\n\t\t// Start at leftmost position\n\t\tthis.slider.scrollLeft = 0\n\n\t\t// Throttle scroll events to update selected index\n\t\tfromEvent(this.slider, 'scroll')\n\t\t\t.pipe(throttleTime(100, undefined, { trailing: true }))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.updateSelectedIndexOnScroll()\n\t\t\t})\n\t}\n\n\tprivate updateSelectedIndexOnScroll() {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\t\tif (!slides.length) return\n\n\t\tconst oldIndex = this.selectedIndex\n\n\t\t// Center of the slider’s visible area\n\t\tconst sliderCenter = this.slider.scrollLeft + this.slider.clientWidth / 2\n\n\t\tlet closestIndex = 0\n\t\tlet closestDistance = Infinity\n\n\t\tslides.forEach((slide, index) => {\n\t\t\tconst itemStart = (slide as HTMLElement).offsetLeft\n\t\t\tconst itemCenter = itemStart + slide.clientWidth / 2\n\t\t\tconst distance = Math.abs(sliderCenter - itemCenter)\n\n\t\t\tif (distance < closestDistance) {\n\t\t\t\tclosestDistance = distance\n\t\t\t\tclosestIndex = index\n\t\t\t}\n\t\t})\n\n\t\tthis.selectedIndex = closestIndex\n\n\t\t// If the index changed, dispatch event\n\t\tif (this.selectedIndex !== oldIndex) {\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent('slide-changed', {\n\t\t\t\t\tdetail: { index: this.selectedIndex },\n\t\t\t\t}),\n\t\t\t)\n\t\t}\n\t}\n\n\tprivate goToSlide(newIndex: number) {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\t\tif (!slides[newIndex]) return\n\n\t\tthis.slider.scrollTo({\n\t\t\tleft: (slides[newIndex] as HTMLElement).offsetLeft,\n\t\t\tbehavior: 'smooth',\n\t\t})\n\t}\n\n\tprivate onPrevClick() {\n\t\tthis.goToSlide(this.selectedIndex - 1)\n\t}\n\n\tprivate onNextClick() {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\t\tif (this.selectedIndex < slides.length - 1) {\n\t\t\tthis.goToSlide(this.selectedIndex + 1)\n\t\t}\n\t}\n\n\trender() {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\n\t\treturn html`\n\t\t\t<div class=\"relative inset-0\">\n\t\t\t\t<!-- The scrollable track -->\n\t\t\t\t<div class=\"slider\" id=\"slider\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Next/Prev Buttons (Optional) -->\n\t\t\t\t${this.showArrows\n\t\t\t\t\t? html`\n\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\tclass=\"absolute left-2 top-1/2 -translate-y-1/2\"\n\t\t\t\t\t\t\t\t@click=${this.onPrevClick}\n\t\t\t\t\t\t\t\t?disabled=${this.selectedIndex === 0}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tchevron_left\n\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\tclass=\"absolute right-2 top-1/2 -translate-y-1/2\"\n\t\t\t\t\t\t\t\t@click=${this.onNextClick}\n\t\t\t\t\t\t\t\t?disabled=${this.selectedIndex === slides.length - 1}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tchevron_right\n\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t`\n\t\t\t\t\t: null}\n\n\t\t\t\t<!-- Dots / indicators -->\n\t\t\t\t<div class=\"absolute bottom-4 left-1/2 -translate-x-1/2 flex space-x-2\">\n\t\t\t\t\t${slides.map((_, index) => {\n\t\t\t\t\t\tconst isSelected = index === this.selectedIndex\n\t\t\t\t\t\treturn html`\n\t\t\t\t\t\t\t<schmancy-button .variant=${isSelected ? 'filled tonal' : 'outlined'} class=\"rounded-full \">\n\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t`\n\t\t\t\t\t})}\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-slider': SchmancySlider\n\t}\n}\n"],"names":["SchmancySlide","$LitElement","css","constructor","super","arguments","this","type","src","alt","controls","autoplay","loop","muted","fit","render","html","cache","renderSlide","__decorateClass","property","String","prototype","Boolean","customElement","SchmancySlider","selectedIndex","showArrows","slider","scrollLeft","fromEvent","pipe","throttleTime","trailing","subscribe","updateSelectedIndexOnScroll","slides","defaultSlot","assignedElements","flatten","length","oldIndex","sliderCenter","clientWidth","closestIndex","closestDistance","Infinity","forEach","slide","index","itemCenter","offsetLeft","distance","Math","abs","dispatchEvent","CustomEvent","detail","newIndex","scrollTo","left","behavior","onPrevClick","goToSlide","onNextClick","map","_","isSelected","state","query"],"mappings":";;;;;;;;;;;;;AAoBO,IAAMA,IAAN,cAA4BC,EAAYC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;EAAxC,cAAAC;AAAAC,UAAAA,GAAAC,SAAAA,GAiBsBC,KAAAC,OAAkB,WAKlBD,KAAAE,MAAc,IAKdF,KAAAG,MAAc,IAKbH,KAAAI,eAKAJ,KAAAK,WAAAA,IAKAL,KAAAM,OAAAA,IAKAN,KAAAO,QAAAA,IAKDP,KAAAQ,MAAiB;AAAA,EAAA;AAAA,EAE7C,SAAAC;AACC,WAAOC,+BAAkCV,KAAKQ,GAAAA,KAAQG,EAAMX,KAAKY,YAAAA,CAAAA,CAAAA;AAAAA,EAClE;AAAA,EAEQ,cAAAA;AACP,YAAQZ,KAAKC;MACZ,KAAK;AACJ,eAAOS,6BAAgCV,KAAKE,GAAAA,UAAaF,KAAKG,GAAAA;AAAAA,MAC/D,KAAK;AACJ,eAAOO;AAAAA;AAAAA;AAAAA,aAGEV,KAAKE,GAAAA;AAAAA,mBACCF,KAAKI,QAAAA;AAAAA,mBACLJ,KAAKK,QAAAA;AAAAA,eACTL,KAAKM,IAAAA;AAAAA,gBACJN,KAAKO,KAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,MAMlB;AACC,eAAOG;AAAAA,IAAA;AAAA,EAEV;AAAA;AA9D4BG,EAAA,CAA3BC,EAAS,EAAEb,MAAMc,OAAAA,CAAAA,CAAAA,GAjBNrB,EAiBgBsB,WAAA,QAAA,IAKAH,EAAA,CAA3BC,EAAS,EAAEb,MAAMc,OAAAA,CAAAA,CAAAA,GAtBNrB,EAsBgBsB,WAAA,OAAA,CAAA,GAKAH,EAAA,CAA3BC,EAAS,EAAEb,MAAMc,OAAAA,CAAAA,CAAAA,GA3BNrB,EA2BgBsB,WAAA,OAAA,CAAA,GAKCH,EAAA,CAA5BC,EAAS,EAAEb,MAAMgB,QAAAA,CAAAA,CAAAA,GAhCNvB,EAgCiBsB,WAAA,YAAA,CAAA,GAKAH,EAAA,CAA5BC,EAAS,EAAEb,MAAMgB,QAAAA,CAAAA,CAAAA,GArCNvB,EAqCiBsB,WAAA,YAAA,CAAA,GAKAH,EAAA,CAA5BC,EAAS,EAAEb,MAAMgB,QAAAA,CAAAA,CAAAA,GA1CNvB,EA0CiBsB,WAAA,QAAA,CAAA,GAKAH,EAAA,CAA5BC,EAAS,EAAEb,MAAMgB,QAAAA,CAAAA,CAAAA,GA/CNvB,EA+CiBsB,WAAA,SAAA,CAAA,GAKDH,EAAA,CAA3BC,EAAS,EAAEb,MAAMc,YApDNrB,EAoDgBsB,WAAA,OAAA,CAAA,GApDhBtB,IAANmB,EAAA,CADNK,EAAc,oBACFxB,CAAAA;;;;;ACbN,IAAMyB,IAAN,cAA6BxB,EAAYC;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,CAAzC,EAAA;AAAA,EAAA;AAAAE,UAAAA,GAAAC,SAAAA,GA6BGC,KAAQoB,gBAAwB,GAKZpB,KAAAqB,aAAAA;AAAAA,EAAsB;AAAA,EAKzC;AAETrB,SAAKsB,OAAOC,aAAa,GAGzBC,EAAUxB,KAAKsB,QAAQ,QAAA,EACrBG,KAAKC,EAAa,aAAgB,EAAEC,aAAU,CAAA,CAAA,EAC9CC,UAAU;AACV5B,WAAK6B,4BAAAA;AAAAA,IAAAA,CAAAA;AAAAA,EAER;AAAA,EAEQ;AACP,UAAMC,IAAS9B,KAAK+B,aAAaC,iBAAiB,EAAEC,SAAAA,GAAS,CAAA,KAAW,CAAA;AACxE,QAAA,CAAKH,EAAOI,OAAQ;AAEpB,UAAMC,IAAWnC,KAAKoB,eAGhBgB,IAAepC,KAAKsB,OAAOC,aAAavB,KAAKsB,OAAOe,cAAc;AAExE,QAAIC,IAAe,GACfC,IAAkBC;AAEtBV,IAAAA,EAAOW,QAAQ,CAACC,GAAOC,MAAAA;AACtB,YACMC,IADaF,EAAsBG,aACVH,EAAML,cAAc,GAC7CS,IAAWC,KAAKC,IAAIZ,IAAeQ;AAErCE,MAAAA,IAAWP,MACdA,IAAkBO,GAClBR,IAAeK;AAAAA,IAAAA,CAAAA,GAIjB3C,KAAKoB,gBAAgBkB,GAGjBtC,KAAKoB,kBAAkBe,KAC1BnC,KAAKiD,cACJ,IAAIC,YAAY,iBAAiB,EAChCC,QAAQ,EAAER,OAAO3C,KAAKoB,cAAAA,EAAAA,CAAAA,CAAAA;AAAAA,EAI1B;AAAA,EAEQ,UAAUgC,GAAAA;AACjB,UAAMtB,IAAS9B,KAAK+B,aAAaC,iBAAiB,EAAEC,SAAAA,GAAS,CAAA,KAAW;AACnEH,MAAOsB,CAAAA,KAEZpD,KAAKsB,OAAO+B,SAAS,EACpBC,MAAOxB,EAAOsB,CAAAA,EAA0BP,YACxCU,UAAU,SAAA,CAAA;AAAA,EAEZ;AAAA,EAEQ,cAAAC;AACPxD,SAAKyD,UAAUzD,KAAKoB,gBAAgB,CAAA;AAAA,EACrC;AAAA,EAEQ,cAAAsC;AACP,UAAM5B,IAAS9B,KAAK+B,aAAaC,iBAAiB,EAAEC,YAAS,CAAA,KAAW,CAAA;AACpEjC,SAAKoB,gBAAgBU,EAAOI,SAAS,KACxClC,KAAKyD,UAAUzD,KAAKoB,gBAAgB,CAAA;AAAA,EAEtC;AAAA,EAEA,SAAAX;AACC,UAAMqB,IAAS9B,KAAK+B,aAAaC,iBAAiB,EAAEC,YAAS,CAAA,KAAW,CAAA;AAExE,WAAOvB;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,MAQHV,KAAKqB,aACJX;AAAAA;AAAAA;AAAAA,iBAGUV,KAAKwD,WAAAA;AAAAA,oBACFxD,KAAKoB,kBAAkB,CAAlBA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,iBAMRpB,KAAK0D,WAAAA;AAAAA,oBACF1D,KAAKoB,kBAAkBU,EAAOI,SAAS,CAAA;AAAA;AAAA;AAAA;AAAA,UAKpD,IAAA;AAAA;AAAA;AAAA;AAAA,OAIAJ,EAAO6B,IAAI,CAACC,GAAGjB,MAAAA;AAChB,YAAMkB,IAAalB,MAAU3C,KAAKoB;AAClC,aAAOV;AAAAA,mCACsBmD,IAAa,iBAAiB,UAAA;AAAA;AAAA;AAAA;;;;EAOhE;AAAA;AAxHiBhD,EAAA,CAAhBiD,EAAAA,CAAAA,GA7BW3C,EA6BKH,WAAA,iBAAA,CAAA,GAKYH,EAAA,CAA5BC,EAAS,EAAEb,MAAMgB,QAAAA,CAAAA,CAAAA,GAlCNE,EAkCiBH,WAAA,cAAA,IAEHH,EAAA,CAAzBkD,EAAM,SAAA,CAAA,GApCK5C,EAoCcH,WAAA,UAAA,IACHH,EAAA,CAAtBkD,EAAM,MAAA,CAAA,GArCK5C,EAqCWH,WAAA,eAAA,IArCXG,IAANN,EAAA,CADNK,EAAc,iBAAA,CAAA,GACFC;"}
|
|
1
|
+
{"version":3,"file":"slider-Bu7kQ0_w.js","sources":["../src/slider/slide.ts","../src/slider/slider.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { cache } from 'lit/directives/cache.js'\n\n/**\n * Supported slide \"types.\"\n * - 'image': Renders an <img>\n * - 'video': Renders a <video>\n * - 'content': Renders a <slot> (the default)\n */\ntype SlideType = 'image' | 'video' | 'content'\n\n/**\n * Allowed values for the 'fit' property,\n * which maps to CSS object-fit.\n */\ntype ObjectFit = 'cover' | 'contain' | 'fill' | 'scale-down' | 'none'\n\n@customElement('schmancy-slide')\nexport class SchmancySlide extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tscroll-snap-align: center; /* If your slider uses scroll-snap */\n\t}\n\n\t.slide {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tobject-fit: var(--object-fit, cover);\n\t}\n`) {\n\t/**\n\t * Determines how this slide should be rendered.\n\t * Defaults to 'content' if not provided.\n\t */\n\t@property({ type: String }) type: SlideType = 'content'\n\n\t/**\n\t * Source for images or videos (if `type` is 'image' or 'video').\n\t */\n\t@property({ type: String }) src: string = ''\n\n\t/**\n\t * Alternate text for images.\n\t */\n\t@property({ type: String }) alt: string = ''\n\n\t/**\n\t * Whether to show default video controls (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) controls = true\n\n\t/**\n\t * Whether the video should autoplay (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) autoplay = false\n\n\t/**\n\t * Whether the video should loop (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) loop = false\n\n\t/**\n\t * Whether the video is muted (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) muted = false\n\n\t/**\n\t * CSS `object-fit` property, applied to images/videos.\n\t */\n\t@property({ type: String }) fit: ObjectFit = 'cover'\n\n\trender() {\n\t\treturn html` <div style=\"--object-fit: ${this.fit}\">${cache(this.renderSlide())}</div> `\n\t}\n\n\tprivate renderSlide() {\n\t\tswitch (this.type) {\n\t\t\tcase 'image':\n\t\t\t\treturn html` <img class=\"slide\" src=\"${this.src}\" alt=\"${this.alt}\" loading=\"lazy\" /> `\n\t\t\tcase 'video':\n\t\t\t\treturn html`\n\t\t\t\t\t<video\n\t\t\t\t\t\tclass=\"slide\"\n\t\t\t\t\t\tsrc=\"${this.src}\"\n\t\t\t\t\t\t?controls=\"${this.controls}\"\n\t\t\t\t\t\t?autoplay=\"${this.autoplay}\"\n\t\t\t\t\t\t?loop=\"${this.loop}\"\n\t\t\t\t\t\t?muted=\"${this.muted}\"\n\t\t\t\t\t>\n\t\t\t\t\t\tYour browser does not support HTML video.\n\t\t\t\t\t</video>\n\t\t\t\t`\n\t\t\tcase 'content':\n\t\t\tdefault:\n\t\t\t\treturn html`<slot></slot>`\n\t\t}\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-slide': SchmancySlide\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { fromEvent } from 'rxjs'\nimport { throttleTime } from 'rxjs/operators'\n\n@customElement('schmancy-slider')\nexport class SchmancySlider extends $LitElement(css`\n\t.slider {\n\t\t/* Lay out slides horizontally, one after another */\n\t\tdisplay: flex;\n\t\toverflow-x: auto;\n\n\t\t/* Optional: scroll snapping */\n\t\tscroll-snap-type: x mandatory;\n\n\t\t/* Hide scrollbars */\n\t\t-ms-overflow-style: none; /* IE and Edge */\n\t\tscrollbar-width: none; /* Firefox */\n\t}\n\t.slider::-webkit-scrollbar {\n\t\tdisplay: none; /* Chrome, Safari, Opera */\n\t}\n\n\t/* \n Ensure each slide takes up the full slider width.\n \"schmancy-slide\" is the child custom element.\n */\n\t::slotted(schmancy-slide) {\n\t\tflex: 0 0 100%;\n\t\tbox-sizing: border-box;\n\t}\n`) {\n\t/**\n\t * Currently centered slide index\n\t */\n\t@state() private selectedIndex: number = 0\n\n\t/**\n\t * If true, renders next/prev buttons\n\t */\n\t@property({ type: Boolean }) showArrows: boolean = true\n\n\t@query('#slider') private slider!: HTMLDivElement\n\t@query('slot') private defaultSlot!: HTMLSlotElement\n\n\tprotected firstUpdated() {\n\t\t// Start at leftmost position\n\t\tthis.slider.scrollLeft = 0\n\n\t\t// Throttle scroll events to update selected index\n\t\tfromEvent(this.slider, 'scroll')\n\t\t\t.pipe(throttleTime(100, undefined, { trailing: true }))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.updateSelectedIndexOnScroll()\n\t\t\t})\n\t}\n\n\tprivate updateSelectedIndexOnScroll() {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\t\tif (!slides.length) return\n\n\t\tconst oldIndex = this.selectedIndex\n\n\t\t// Center of the slider’s visible area\n\t\tconst sliderCenter = this.slider.scrollLeft + this.slider.clientWidth / 2\n\n\t\tlet closestIndex = 0\n\t\tlet closestDistance = Infinity\n\n\t\tslides.forEach((slide, index) => {\n\t\t\tconst itemStart = (slide as HTMLElement).offsetLeft\n\t\t\tconst itemCenter = itemStart + slide.clientWidth / 2\n\t\t\tconst distance = Math.abs(sliderCenter - itemCenter)\n\n\t\t\tif (distance < closestDistance) {\n\t\t\t\tclosestDistance = distance\n\t\t\t\tclosestIndex = index\n\t\t\t}\n\t\t})\n\n\t\tthis.selectedIndex = closestIndex\n\n\t\t// If the index changed, dispatch event\n\t\tif (this.selectedIndex !== oldIndex) {\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent('slide-changed', {\n\t\t\t\t\tdetail: { index: this.selectedIndex },\n\t\t\t\t}),\n\t\t\t)\n\t\t}\n\t}\n\n\tprivate goToSlide(newIndex: number) {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\t\tif (!slides[newIndex]) return\n\n\t\tthis.slider.scrollTo({\n\t\t\tleft: (slides[newIndex] as HTMLElement).offsetLeft,\n\t\t\tbehavior: 'smooth',\n\t\t})\n\t}\n\n\tprivate onPrevClick() {\n\t\tthis.goToSlide(this.selectedIndex - 1)\n\t}\n\n\tprivate onNextClick() {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\t\tif (this.selectedIndex < slides.length - 1) {\n\t\t\tthis.goToSlide(this.selectedIndex + 1)\n\t\t}\n\t}\n\n\trender() {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\n\t\treturn html`\n\t\t\t<div class=\"relative inset-0\">\n\t\t\t\t<!-- The scrollable track -->\n\t\t\t\t<div class=\"slider\" id=\"slider\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Next/Prev Buttons (Optional) -->\n\t\t\t\t${this.showArrows\n\t\t\t\t\t? html`\n\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\tclass=\"absolute left-2 top-1/2 -translate-y-1/2\"\n\t\t\t\t\t\t\t\t@click=${this.onPrevClick}\n\t\t\t\t\t\t\t\t?disabled=${this.selectedIndex === 0}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tchevron_left\n\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\tclass=\"absolute right-2 top-1/2 -translate-y-1/2\"\n\t\t\t\t\t\t\t\t@click=${this.onNextClick}\n\t\t\t\t\t\t\t\t?disabled=${this.selectedIndex === slides.length - 1}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tchevron_right\n\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t`\n\t\t\t\t\t: null}\n\n\t\t\t\t<!-- Dots / indicators -->\n\t\t\t\t<div class=\"absolute bottom-4 left-1/2 -translate-x-1/2 flex space-x-2\">\n\t\t\t\t\t${slides.map((_, index) => {\n\t\t\t\t\t\tconst isSelected = index === this.selectedIndex\n\t\t\t\t\t\treturn html`\n\t\t\t\t\t\t\t<schmancy-button .variant=${isSelected ? 'filled tonal' : 'outlined'} class=\"rounded-full \">\n\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t`\n\t\t\t\t\t})}\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-slider': SchmancySlider\n\t}\n}\n"],"names":["SchmancySlide","$LitElement","css","constructor","super","arguments","this","type","src","alt","controls","autoplay","loop","muted","fit","render","html","cache","renderSlide","__decorateClass","property","String","prototype","Boolean","customElement","SchmancySlider","selectedIndex","showArrows","slider","scrollLeft","fromEvent","pipe","throttleTime","trailing","subscribe","updateSelectedIndexOnScroll","slides","defaultSlot","assignedElements","flatten","length","oldIndex","sliderCenter","clientWidth","closestIndex","closestDistance","Infinity","forEach","slide","index","itemCenter","offsetLeft","distance","Math","abs","dispatchEvent","CustomEvent","detail","newIndex","scrollTo","left","behavior","onPrevClick","goToSlide","onNextClick","map","_","isSelected","state","query"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const u=require("rxjs"),m=require("rxjs/operators");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const o=require("lit/decorators.js");require("./tailwind.mixin-
|
|
1
|
+
"use strict";const u=require("rxjs"),m=require("rxjs/operators");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const o=require("lit/decorators.js");require("./tailwind.mixin-CYhJgwwb.cjs");const p=require("./litElement.mixin-DoBMt4ia.cjs"),d=require("lit"),S=require("lit/directives/cache.js");var f=Object.defineProperty,v=Object.getOwnPropertyDescriptor,c=(t,s,i,l)=>{for(var r,e=l>1?void 0:l?v(s,i):s,n=t.length-1;n>=0;n--)(r=t[n])&&(e=(l?r(s,i,e):r(e))||e);return l&&e&&f(s,i,e),e};exports.SchmancySlide=class extends p.$LitElement(d.css`
|
|
2
2
|
:host {
|
|
3
3
|
display: block;
|
|
4
4
|
scroll-snap-align: center; /* If your slider uses scroll-snap */
|
|
@@ -80,4 +80,4 @@
|
|
|
80
80
|
</div>
|
|
81
81
|
</div>
|
|
82
82
|
`}},a([o.state()],exports.SchmancySlider.prototype,"selectedIndex",2),a([o.property({type:Boolean})],exports.SchmancySlider.prototype,"showArrows",2),a([o.query("#slider")],exports.SchmancySlider.prototype,"slider",2),a([o.query("slot")],exports.SchmancySlider.prototype,"defaultSlot",2),exports.SchmancySlider=a([o.customElement("schmancy-slider")],exports.SchmancySlider);
|
|
83
|
-
//# sourceMappingURL=slider-
|
|
83
|
+
//# sourceMappingURL=slider-Diqgkt3E.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider-BSxJatG-.cjs","sources":["../src/slider/slide.ts","../src/slider/slider.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { cache } from 'lit/directives/cache.js'\n\n/**\n * Supported slide \"types.\"\n * - 'image': Renders an <img>\n * - 'video': Renders a <video>\n * - 'content': Renders a <slot> (the default)\n */\ntype SlideType = 'image' | 'video' | 'content'\n\n/**\n * Allowed values for the 'fit' property,\n * which maps to CSS object-fit.\n */\ntype ObjectFit = 'cover' | 'contain' | 'fill' | 'scale-down' | 'none'\n\n@customElement('schmancy-slide')\nexport class SchmancySlide extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tscroll-snap-align: center; /* If your slider uses scroll-snap */\n\t}\n\n\t.slide {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tobject-fit: var(--object-fit, cover);\n\t}\n`) {\n\t/**\n\t * Determines how this slide should be rendered.\n\t * Defaults to 'content' if not provided.\n\t */\n\t@property({ type: String }) type: SlideType = 'content'\n\n\t/**\n\t * Source for images or videos (if `type` is 'image' or 'video').\n\t */\n\t@property({ type: String }) src: string = ''\n\n\t/**\n\t * Alternate text for images.\n\t */\n\t@property({ type: String }) alt: string = ''\n\n\t/**\n\t * Whether to show default video controls (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) controls = true\n\n\t/**\n\t * Whether the video should autoplay (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) autoplay = false\n\n\t/**\n\t * Whether the video should loop (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) loop = false\n\n\t/**\n\t * Whether the video is muted (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) muted = false\n\n\t/**\n\t * CSS `object-fit` property, applied to images/videos.\n\t */\n\t@property({ type: String }) fit: ObjectFit = 'cover'\n\n\trender() {\n\t\treturn html` <div style=\"--object-fit: ${this.fit}\">${cache(this.renderSlide())}</div> `\n\t}\n\n\tprivate renderSlide() {\n\t\tswitch (this.type) {\n\t\t\tcase 'image':\n\t\t\t\treturn html` <img class=\"slide\" src=\"${this.src}\" alt=\"${this.alt}\" loading=\"lazy\" /> `\n\t\t\tcase 'video':\n\t\t\t\treturn html`\n\t\t\t\t\t<video\n\t\t\t\t\t\tclass=\"slide\"\n\t\t\t\t\t\tsrc=\"${this.src}\"\n\t\t\t\t\t\t?controls=\"${this.controls}\"\n\t\t\t\t\t\t?autoplay=\"${this.autoplay}\"\n\t\t\t\t\t\t?loop=\"${this.loop}\"\n\t\t\t\t\t\t?muted=\"${this.muted}\"\n\t\t\t\t\t>\n\t\t\t\t\t\tYour browser does not support HTML video.\n\t\t\t\t\t</video>\n\t\t\t\t`\n\t\t\tcase 'content':\n\t\t\tdefault:\n\t\t\t\treturn html`<slot></slot>`\n\t\t}\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-slide': SchmancySlide\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { fromEvent } from 'rxjs'\nimport { throttleTime } from 'rxjs/operators'\n\n@customElement('schmancy-slider')\nexport class SchmancySlider extends $LitElement(css`\n\t.slider {\n\t\t/* Lay out slides horizontally, one after another */\n\t\tdisplay: flex;\n\t\toverflow-x: auto;\n\n\t\t/* Optional: scroll snapping */\n\t\tscroll-snap-type: x mandatory;\n\n\t\t/* Hide scrollbars */\n\t\t-ms-overflow-style: none; /* IE and Edge */\n\t\tscrollbar-width: none; /* Firefox */\n\t}\n\t.slider::-webkit-scrollbar {\n\t\tdisplay: none; /* Chrome, Safari, Opera */\n\t}\n\n\t/* \n Ensure each slide takes up the full slider width.\n \"schmancy-slide\" is the child custom element.\n */\n\t::slotted(schmancy-slide) {\n\t\tflex: 0 0 100%;\n\t\tbox-sizing: border-box;\n\t}\n`) {\n\t/**\n\t * Currently centered slide index\n\t */\n\t@state() private selectedIndex: number = 0\n\n\t/**\n\t * If true, renders next/prev buttons\n\t */\n\t@property({ type: Boolean }) showArrows: boolean = true\n\n\t@query('#slider') private slider!: HTMLDivElement\n\t@query('slot') private defaultSlot!: HTMLSlotElement\n\n\tprotected firstUpdated() {\n\t\t// Start at leftmost position\n\t\tthis.slider.scrollLeft = 0\n\n\t\t// Throttle scroll events to update selected index\n\t\tfromEvent(this.slider, 'scroll')\n\t\t\t.pipe(throttleTime(100, undefined, { trailing: true }))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.updateSelectedIndexOnScroll()\n\t\t\t})\n\t}\n\n\tprivate updateSelectedIndexOnScroll() {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\t\tif (!slides.length) return\n\n\t\tconst oldIndex = this.selectedIndex\n\n\t\t// Center of the slider’s visible area\n\t\tconst sliderCenter = this.slider.scrollLeft + this.slider.clientWidth / 2\n\n\t\tlet closestIndex = 0\n\t\tlet closestDistance = Infinity\n\n\t\tslides.forEach((slide, index) => {\n\t\t\tconst itemStart = (slide as HTMLElement).offsetLeft\n\t\t\tconst itemCenter = itemStart + slide.clientWidth / 2\n\t\t\tconst distance = Math.abs(sliderCenter - itemCenter)\n\n\t\t\tif (distance < closestDistance) {\n\t\t\t\tclosestDistance = distance\n\t\t\t\tclosestIndex = index\n\t\t\t}\n\t\t})\n\n\t\tthis.selectedIndex = closestIndex\n\n\t\t// If the index changed, dispatch event\n\t\tif (this.selectedIndex !== oldIndex) {\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent('slide-changed', {\n\t\t\t\t\tdetail: { index: this.selectedIndex },\n\t\t\t\t}),\n\t\t\t)\n\t\t}\n\t}\n\n\tprivate goToSlide(newIndex: number) {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\t\tif (!slides[newIndex]) return\n\n\t\tthis.slider.scrollTo({\n\t\t\tleft: (slides[newIndex] as HTMLElement).offsetLeft,\n\t\t\tbehavior: 'smooth',\n\t\t})\n\t}\n\n\tprivate onPrevClick() {\n\t\tthis.goToSlide(this.selectedIndex - 1)\n\t}\n\n\tprivate onNextClick() {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\t\tif (this.selectedIndex < slides.length - 1) {\n\t\t\tthis.goToSlide(this.selectedIndex + 1)\n\t\t}\n\t}\n\n\trender() {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\n\t\treturn html`\n\t\t\t<div class=\"relative inset-0\">\n\t\t\t\t<!-- The scrollable track -->\n\t\t\t\t<div class=\"slider\" id=\"slider\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Next/Prev Buttons (Optional) -->\n\t\t\t\t${this.showArrows\n\t\t\t\t\t? html`\n\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\tclass=\"absolute left-2 top-1/2 -translate-y-1/2\"\n\t\t\t\t\t\t\t\t@click=${this.onPrevClick}\n\t\t\t\t\t\t\t\t?disabled=${this.selectedIndex === 0}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tchevron_left\n\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\tclass=\"absolute right-2 top-1/2 -translate-y-1/2\"\n\t\t\t\t\t\t\t\t@click=${this.onNextClick}\n\t\t\t\t\t\t\t\t?disabled=${this.selectedIndex === slides.length - 1}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tchevron_right\n\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t`\n\t\t\t\t\t: null}\n\n\t\t\t\t<!-- Dots / indicators -->\n\t\t\t\t<div class=\"absolute bottom-4 left-1/2 -translate-x-1/2 flex space-x-2\">\n\t\t\t\t\t${slides.map((_, index) => {\n\t\t\t\t\t\tconst isSelected = index === this.selectedIndex\n\t\t\t\t\t\treturn html`\n\t\t\t\t\t\t\t<schmancy-button .variant=${isSelected ? 'filled tonal' : 'outlined'} class=\"rounded-full \">\n\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t`\n\t\t\t\t\t})}\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-slider': SchmancySlider\n\t}\n}\n"],"names":["SchmancySlide","$LitElement","css","constructor","super","arguments","this","type","src","alt","controls","autoplay","loop","muted","fit","render","html","cache","renderSlide","__decorateClass","property","String","prototype","Boolean","customElement","SchmancySlider","selectedIndex","showArrows","slider","scrollLeft","fromEvent","pipe","throttleTime","trailing","subscribe","updateSelectedIndexOnScroll","slides","defaultSlot","assignedElements","flatten","length","oldIndex","sliderCenter","clientWidth","closestIndex","closestDistance","Infinity","forEach","slide","index","itemCenter","offsetLeft","distance","Math","abs","dispatchEvent","CustomEvent","detail","newIndex","scrollTo","left","behavior","onPrevClick","goToSlide","onNextClick","map","_","isSelected","state","query"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"slider-Diqgkt3E.cjs","sources":["../src/slider/slide.ts","../src/slider/slider.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { cache } from 'lit/directives/cache.js'\n\n/**\n * Supported slide \"types.\"\n * - 'image': Renders an <img>\n * - 'video': Renders a <video>\n * - 'content': Renders a <slot> (the default)\n */\ntype SlideType = 'image' | 'video' | 'content'\n\n/**\n * Allowed values for the 'fit' property,\n * which maps to CSS object-fit.\n */\ntype ObjectFit = 'cover' | 'contain' | 'fill' | 'scale-down' | 'none'\n\n@customElement('schmancy-slide')\nexport class SchmancySlide extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tscroll-snap-align: center; /* If your slider uses scroll-snap */\n\t}\n\n\t.slide {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tobject-fit: var(--object-fit, cover);\n\t}\n`) {\n\t/**\n\t * Determines how this slide should be rendered.\n\t * Defaults to 'content' if not provided.\n\t */\n\t@property({ type: String }) type: SlideType = 'content'\n\n\t/**\n\t * Source for images or videos (if `type` is 'image' or 'video').\n\t */\n\t@property({ type: String }) src: string = ''\n\n\t/**\n\t * Alternate text for images.\n\t */\n\t@property({ type: String }) alt: string = ''\n\n\t/**\n\t * Whether to show default video controls (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) controls = true\n\n\t/**\n\t * Whether the video should autoplay (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) autoplay = false\n\n\t/**\n\t * Whether the video should loop (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) loop = false\n\n\t/**\n\t * Whether the video is muted (if `type` is 'video').\n\t */\n\t@property({ type: Boolean }) muted = false\n\n\t/**\n\t * CSS `object-fit` property, applied to images/videos.\n\t */\n\t@property({ type: String }) fit: ObjectFit = 'cover'\n\n\trender() {\n\t\treturn html` <div style=\"--object-fit: ${this.fit}\">${cache(this.renderSlide())}</div> `\n\t}\n\n\tprivate renderSlide() {\n\t\tswitch (this.type) {\n\t\t\tcase 'image':\n\t\t\t\treturn html` <img class=\"slide\" src=\"${this.src}\" alt=\"${this.alt}\" loading=\"lazy\" /> `\n\t\t\tcase 'video':\n\t\t\t\treturn html`\n\t\t\t\t\t<video\n\t\t\t\t\t\tclass=\"slide\"\n\t\t\t\t\t\tsrc=\"${this.src}\"\n\t\t\t\t\t\t?controls=\"${this.controls}\"\n\t\t\t\t\t\t?autoplay=\"${this.autoplay}\"\n\t\t\t\t\t\t?loop=\"${this.loop}\"\n\t\t\t\t\t\t?muted=\"${this.muted}\"\n\t\t\t\t\t>\n\t\t\t\t\t\tYour browser does not support HTML video.\n\t\t\t\t\t</video>\n\t\t\t\t`\n\t\t\tcase 'content':\n\t\t\tdefault:\n\t\t\t\treturn html`<slot></slot>`\n\t\t}\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-slide': SchmancySlide\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { fromEvent } from 'rxjs'\nimport { throttleTime } from 'rxjs/operators'\n\n@customElement('schmancy-slider')\nexport class SchmancySlider extends $LitElement(css`\n\t.slider {\n\t\t/* Lay out slides horizontally, one after another */\n\t\tdisplay: flex;\n\t\toverflow-x: auto;\n\n\t\t/* Optional: scroll snapping */\n\t\tscroll-snap-type: x mandatory;\n\n\t\t/* Hide scrollbars */\n\t\t-ms-overflow-style: none; /* IE and Edge */\n\t\tscrollbar-width: none; /* Firefox */\n\t}\n\t.slider::-webkit-scrollbar {\n\t\tdisplay: none; /* Chrome, Safari, Opera */\n\t}\n\n\t/* \n Ensure each slide takes up the full slider width.\n \"schmancy-slide\" is the child custom element.\n */\n\t::slotted(schmancy-slide) {\n\t\tflex: 0 0 100%;\n\t\tbox-sizing: border-box;\n\t}\n`) {\n\t/**\n\t * Currently centered slide index\n\t */\n\t@state() private selectedIndex: number = 0\n\n\t/**\n\t * If true, renders next/prev buttons\n\t */\n\t@property({ type: Boolean }) showArrows: boolean = true\n\n\t@query('#slider') private slider!: HTMLDivElement\n\t@query('slot') private defaultSlot!: HTMLSlotElement\n\n\tprotected firstUpdated() {\n\t\t// Start at leftmost position\n\t\tthis.slider.scrollLeft = 0\n\n\t\t// Throttle scroll events to update selected index\n\t\tfromEvent(this.slider, 'scroll')\n\t\t\t.pipe(throttleTime(100, undefined, { trailing: true }))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.updateSelectedIndexOnScroll()\n\t\t\t})\n\t}\n\n\tprivate updateSelectedIndexOnScroll() {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\t\tif (!slides.length) return\n\n\t\tconst oldIndex = this.selectedIndex\n\n\t\t// Center of the slider’s visible area\n\t\tconst sliderCenter = this.slider.scrollLeft + this.slider.clientWidth / 2\n\n\t\tlet closestIndex = 0\n\t\tlet closestDistance = Infinity\n\n\t\tslides.forEach((slide, index) => {\n\t\t\tconst itemStart = (slide as HTMLElement).offsetLeft\n\t\t\tconst itemCenter = itemStart + slide.clientWidth / 2\n\t\t\tconst distance = Math.abs(sliderCenter - itemCenter)\n\n\t\t\tif (distance < closestDistance) {\n\t\t\t\tclosestDistance = distance\n\t\t\t\tclosestIndex = index\n\t\t\t}\n\t\t})\n\n\t\tthis.selectedIndex = closestIndex\n\n\t\t// If the index changed, dispatch event\n\t\tif (this.selectedIndex !== oldIndex) {\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent('slide-changed', {\n\t\t\t\t\tdetail: { index: this.selectedIndex },\n\t\t\t\t}),\n\t\t\t)\n\t\t}\n\t}\n\n\tprivate goToSlide(newIndex: number) {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\t\tif (!slides[newIndex]) return\n\n\t\tthis.slider.scrollTo({\n\t\t\tleft: (slides[newIndex] as HTMLElement).offsetLeft,\n\t\t\tbehavior: 'smooth',\n\t\t})\n\t}\n\n\tprivate onPrevClick() {\n\t\tthis.goToSlide(this.selectedIndex - 1)\n\t}\n\n\tprivate onNextClick() {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\t\tif (this.selectedIndex < slides.length - 1) {\n\t\t\tthis.goToSlide(this.selectedIndex + 1)\n\t\t}\n\t}\n\n\trender() {\n\t\tconst slides = this.defaultSlot?.assignedElements({ flatten: true }) ?? []\n\n\t\treturn html`\n\t\t\t<div class=\"relative inset-0\">\n\t\t\t\t<!-- The scrollable track -->\n\t\t\t\t<div class=\"slider\" id=\"slider\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Next/Prev Buttons (Optional) -->\n\t\t\t\t${this.showArrows\n\t\t\t\t\t? html`\n\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\tclass=\"absolute left-2 top-1/2 -translate-y-1/2\"\n\t\t\t\t\t\t\t\t@click=${this.onPrevClick}\n\t\t\t\t\t\t\t\t?disabled=${this.selectedIndex === 0}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tchevron_left\n\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\t\tclass=\"absolute right-2 top-1/2 -translate-y-1/2\"\n\t\t\t\t\t\t\t\t@click=${this.onNextClick}\n\t\t\t\t\t\t\t\t?disabled=${this.selectedIndex === slides.length - 1}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tchevron_right\n\t\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t\t\t`\n\t\t\t\t\t: null}\n\n\t\t\t\t<!-- Dots / indicators -->\n\t\t\t\t<div class=\"absolute bottom-4 left-1/2 -translate-x-1/2 flex space-x-2\">\n\t\t\t\t\t${slides.map((_, index) => {\n\t\t\t\t\t\tconst isSelected = index === this.selectedIndex\n\t\t\t\t\t\treturn html`\n\t\t\t\t\t\t\t<schmancy-button .variant=${isSelected ? 'filled tonal' : 'outlined'} class=\"rounded-full \">\n\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t`\n\t\t\t\t\t})}\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-slider': SchmancySlider\n\t}\n}\n"],"names":["SchmancySlide","$LitElement","css","constructor","super","arguments","this","type","src","alt","controls","autoplay","loop","muted","fit","render","html","cache","renderSlide","__decorateClass","property","String","prototype","Boolean","customElement","SchmancySlider","selectedIndex","showArrows","slider","scrollLeft","fromEvent","pipe","throttleTime","trailing","subscribe","updateSelectedIndexOnScroll","slides","defaultSlot","assignedElements","flatten","length","oldIndex","sliderCenter","clientWidth","closestIndex","closestDistance","Infinity","forEach","slide","index","itemCenter","offsetLeft","distance","Math","abs","dispatchEvent","CustomEvent","detail","newIndex","scrollTo","left","behavior","onPrevClick","goToSlide","onNextClick","map","_","isSelected","state","query"],"mappings":"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"}
|
package/dist/slider.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./slider-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./slider-Diqgkt3E.cjs");Object.defineProperty(exports,"SchmancySlide",{enumerable:!0,get:()=>e.SchmancySlide}),Object.defineProperty(exports,"SchmancySlider",{enumerable:!0,get:()=>e.SchmancySlider});
|
|
2
2
|
//# sourceMappingURL=slider.cjs.map
|
package/dist/slider.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";require("rxjs"),require("rxjs/operators"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const l=require("lit/decorators.js"),d=require("./tailwind.mixin-
|
|
1
|
+
"use strict";require("rxjs"),require("rxjs/operators"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const l=require("lit/decorators.js"),d=require("./tailwind.mixin-CYhJgwwb.cjs"),i=require("lit");var p=Object.getOwnPropertyDescriptor;let y=class extends d.TailwindElement(i.css`
|
|
2
2
|
:host {
|
|
3
3
|
display: inline;
|
|
4
4
|
position: absolute;
|
|
@@ -132,4 +132,4 @@
|
|
|
132
132
|
</svg>
|
|
133
133
|
</div>
|
|
134
134
|
`}};h([l.property({type:String,reflect:!0})],n.prototype,"color",2),h([l.property({type:Number})],n.prototype,"size",2),h([l.property({type:Boolean})],n.prototype,"glass",2),n=h([l.customElement("schmancy-spinner")],n);
|
|
135
|
-
//# sourceMappingURL=spinner-
|
|
135
|
+
//# sourceMappingURL=spinner-b6hiAljR.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spinner-
|
|
1
|
+
{"version":3,"file":"spinner-b6hiAljR.cjs","sources":["../src/busy/busy.ts","../src/busy/spinner.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-busy')\nexport default class SchmancyBusy extends TailwindElement(css`\n\t:host {\n\t\tdisplay: inline;\n\t\tposition: absolute;\n\t\tinset: 0;\n\t\tpointer-events: all;\n\t\tz-index: 50;\n\t}\n`) {\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<!-- Clean overlay with subtle backdrop -->\n\t\t\t<div class=\"absolute inset-0 flex items-center justify-center bg-surface-container/10 backdrop-blur-xs rounded-[inherit]\">\n\t\t\t\t<!-- Content container with clean surface -->\n\t\t\t\t<div class=\"relative flex items-center justify-center p-4\">\n\t\t\t\t\t\n\t\t\t\t\t<!-- Content slot -->\n\t\t\t\t\t<div class=\"relative z-10\">\n\t\t\t\t\t\t<slot>\n\t\t\t\t\t\t\t<!-- Default spinner if no content provided -->\n\t\t\t\t\t\t\t<schmancy-spinner size=\"32px\"></schmancy-spinner>\n\t\t\t\t\t\t</slot>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-busy': SchmancyBusy\n\t}\n}","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-spinner')\nexport default class SchmnacySpinner extends TailwindElement(css`\n\t:host {\n\t\tdisplay: inline-block;\n\t\tcolor: inherit; /* Inherit from parent by default */\n\t}\n\n\t/* Explicit color options when needed */\n\t:host([color=\"primary\"]) {\n\t\tcolor: var(--schmancy-sys-color-primary-default);\n\t}\n\n\t:host([color=\"on-primary\"]) {\n\t\tcolor: var(--schmancy-sys-color-primary-on);\n\t}\n\n\t:host([color=\"secondary\"]) {\n\t\tcolor: var(--schmancy-sys-color-secondary-default);\n\t}\n\n\t:host([color=\"on-secondary\"]) {\n\t\tcolor: var(--schmancy-sys-color-secondary-on);\n\t}\n\n\t:host([color=\"tertiary\"]) {\n\t\tcolor: var(--schmancy-sys-color-tertiary-default);\n\t}\n\n\t:host([color=\"on-tertiary\"]) {\n\t\tcolor: var(--schmancy-sys-color-tertiary-on);\n\t}\n\n\t:host([color=\"error\"]) {\n\t\tcolor: var(--schmancy-sys-color-error-default);\n\t}\n\n\t:host([color=\"on-error\"]) {\n\t\tcolor: var(--schmancy-sys-color-error-on);\n\t}\n\n\t:host([color=\"success\"]) {\n\t\tcolor: var(--schmancy-sys-color-success-default);\n\t}\n\n\t:host([color=\"on-success\"]) {\n\t\tcolor: var(--schmancy-sys-color-success-on);\n\t}\n\n\t:host([color=\"surface\"]) {\n\t\tcolor: var(--schmancy-sys-color-surface-default);\n\t}\n\n\t:host([color=\"on-surface\"]) {\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\n\t:host([color=\"surface-variant\"]) {\n\t\tcolor: var(--schmancy-sys-color-surface-variant-default);\n\t}\n\n\t:host([color=\"on-surface-variant\"]) {\n\t\tcolor: var(--schmancy-sys-color-surface-onVariant);\n\t}\n\n\t.spinner {\n\t\tanimation: spin 1s linear infinite;\n\t\tanimation-direction: reverse;\n\t}\n\n\t@keyframes spin {\n\t\tfrom {\n\t\t\ttransform: rotate(0deg);\n\t\t}\n\t\tto {\n\t\t\ttransform: rotate(360deg);\n\t\t}\n\t}\n`) {\n\t@property({ type: String, reflect: true })\n\tcolor?: 'primary' | 'on-primary' | 'secondary' | 'on-secondary' |\n\t 'tertiary' | 'on-tertiary' | 'error' | 'on-error' |\n\t 'success' | 'on-success' | 'surface' | 'on-surface' |\n\t 'surface-variant' | 'on-surface-variant'\n\t@property({ type: Number }) size: number = 6\n\t@property({ type: Boolean }) glass: boolean = false\n\n\tprotected render(): unknown {\n\t\t// Use Tailwind sizing system: size-4 = 1rem = 16px\n\t\t// Each unit is 0.25rem, so size 4 = 1rem, size 6 = 1.5rem, etc.\n\t\t// Fallback to size 6 (24px) if value is invalid\n\t\tconst validSize = typeof this.size === 'number' && !isNaN(this.size) ? this.size : 6\n\t\tconst sizeInRem = `${validSize * 0.25}rem`\n\t\tconst style = {\n\t\t\twidth: sizeInRem,\n\t\t\theight: sizeInRem,\n\t\t}\n\t\t\n\t\treturn this.glass ? html`\n\t\t\t<div class=\"spinner relative\" style=${this.styleMap(style)}>\n\t\t\t\t<!-- Glass container with Apple-style effect -->\n\t\t\t\t<div class=\"absolute inset-0 rounded-full backdrop-blur-xl backdrop-saturate-150\n\t\t\t\t\t\t\tbg-surface-container/20\n\t\t\t\t\t\t\tshadow-[inset_0_1px_1px_0_rgba(255,255,255,0.2)]\n\t\t\t\t\t\t\tborder border-outline-variant/30\"></div>\n\t\t\t\t\n\t\t\t\t<!-- Spinner SVG -->\n\t\t\t\t<svg fill=\"none\" viewBox=\"0 0 16 16\" aria-hidden=\"true\" role=\"img\" \n\t\t\t\t\t style=\"width: 100%; height: 100%;\" class=\"relative z-10\">\n\t\t\t\t\t<path\n\t\t\t\t\t\topacity=\".7\"\n\t\t\t\t\t\td=\"M8 15A7 7 0 108 1a7 7 0 000 14v0z\"\n\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\t></path>\n\t\t\t\t\t<path d=\"M15 8a7 7 0 01-7 7\" stroke=\"currentColor\" stroke-width=\"2\"></path>\n\t\t\t\t\t<path d=\"M8 12a4 4 0 100-8 4 4 0 000 8z\" fill=\"currentColor\" opacity=\"0.8\"></path>\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t` : html`\n\t\t\t<div class=\"spinner\" style=${this.styleMap(style)}>\n\t\t\t\t<svg fill=\"none\" viewBox=\"0 0 16 16\" aria-hidden=\"true\" role=\"img\" style=\"width: 100%; height: 100%;\">\n\t\t\t\t\t<path\n\t\t\t\t\t\topacity=\".5\"\n\t\t\t\t\t\td=\"M8 15A7 7 0 108 1a7 7 0 000 14v0z\"\n\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\t></path>\n\t\t\t\t\t<path d=\"M15 8a7 7 0 01-7 7\" stroke=\"currentColor\" stroke-width=\"2\"></path>\n\t\t\t\t\t<path d=\"M8 12a4 4 0 100-8 4 4 0 000 8z\" fill=\"currentColor\"></path>\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-spinner': SchmnacySpinner\n\t}\n}\n"],"names":["SchmancyBusy","TailwindElement","css","render","html","customElement","SchmnacySpinner","constructor","super","arguments","this","size","glass","sizeInRem","isNaN","style","width","height","styleMap","__decorateClass","property","type","String","reflect","prototype","Number","Boolean"],"mappings":"4QAKA,IAAqBA,EAArB,cAA0CC,EAAAA,gBAAgBC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAS/C,QAAAC,CACT,OAAOC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAgBR,CAAA,EA1BoBJ,wGAArB,CADCK,EAAAA,cAAc,eAAA,CAAA,EACML,mMCArB,IAAqBM,EAArB,cAA6CL,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;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,CAA7D,CAAA,CAAA,aAAAK,CAAAC,MAAAA,GAAAC,SAAAA,EAkF6BC,KAAAC,KAAe,EACdD,KAAAE,MAAAA,EAAiB,CAEpC,QAAAT,CAIT,MACMU,EAA2B,KADM,OAAdH,KAAKC,MAAS,UAAaG,MAAMJ,KAAKC,IAAAA,EAAoB,EAAZD,KAAKC,MAC1D,MACZI,EAAQ,CACbC,MAAOH,EACPI,OAAQJ,CAAAA,EAGT,OAAOH,KAAKE,MAAQR,EAAAA;AAAAA,yCACmBM,KAAKQ,SAASH,CAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAoBjDX,EAAAA;AAAAA,gCAC0BM,KAAKQ,SAASH,CAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAa7C,CAAA,EArDAI,EAAA,CADCC,EAAAA,SAAS,CAAEC,KAAMC,OAAQC,QAAAA,EAAS,CAAA,CAAA,EA7EfjB,EA8EpBkB,UAAA,QAAA,CAAA,EAI4BL,EAAA,CAA3BC,WAAS,CAAEC,KAAMI,MAAAA,CAAAA,CAAAA,EAlFEnB,EAkFQkB,UAAA,OAAA,CAAA,EACCL,EAAA,CAA5BC,WAAS,CAAEC,KAAMK,OAAAA,CAAAA,CAAAA,EAnFEpB,EAmFSkB,UAAA,QAAA,CAAA,EAnFTlB,EAArBa,EAAA,CADCd,EAAAA,cAAc,kBAAA,CAAA,EACMC,CAAAA"}
|
|
@@ -3,7 +3,7 @@ import "rxjs/operators";
|
|
|
3
3
|
import "lit/directives/class-map.js";
|
|
4
4
|
import "lit/directives/style-map.js";
|
|
5
5
|
import { customElement as y, property as l } from "lit/decorators.js";
|
|
6
|
-
import { T as d } from "./tailwind.mixin-
|
|
6
|
+
import { T as d } from "./tailwind.mixin-Cn7vup-6.js";
|
|
7
7
|
import { css as u, html as h } from "lit";
|
|
8
8
|
var v = Object.getOwnPropertyDescriptor;
|
|
9
9
|
let p = class extends d(u`
|
|
@@ -162,4 +162,4 @@ let n = class extends d(u`
|
|
|
162
162
|
}
|
|
163
163
|
};
|
|
164
164
|
i([l({ type: String, reflect: !0 })], n.prototype, "color", 2), i([l({ type: Number })], n.prototype, "size", 2), i([l({ type: Boolean })], n.prototype, "glass", 2), n = i([y("schmancy-spinner")], n);
|
|
165
|
-
//# sourceMappingURL=spinner-
|
|
165
|
+
//# sourceMappingURL=spinner-paAzgY93.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spinner-
|
|
1
|
+
{"version":3,"file":"spinner-paAzgY93.js","sources":["../src/busy/busy.ts","../src/busy/spinner.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-busy')\nexport default class SchmancyBusy extends TailwindElement(css`\n\t:host {\n\t\tdisplay: inline;\n\t\tposition: absolute;\n\t\tinset: 0;\n\t\tpointer-events: all;\n\t\tz-index: 50;\n\t}\n`) {\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<!-- Clean overlay with subtle backdrop -->\n\t\t\t<div class=\"absolute inset-0 flex items-center justify-center bg-surface-container/10 backdrop-blur-xs rounded-[inherit]\">\n\t\t\t\t<!-- Content container with clean surface -->\n\t\t\t\t<div class=\"relative flex items-center justify-center p-4\">\n\t\t\t\t\t\n\t\t\t\t\t<!-- Content slot -->\n\t\t\t\t\t<div class=\"relative z-10\">\n\t\t\t\t\t\t<slot>\n\t\t\t\t\t\t\t<!-- Default spinner if no content provided -->\n\t\t\t\t\t\t\t<schmancy-spinner size=\"32px\"></schmancy-spinner>\n\t\t\t\t\t\t</slot>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-busy': SchmancyBusy\n\t}\n}","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-spinner')\nexport default class SchmnacySpinner extends TailwindElement(css`\n\t:host {\n\t\tdisplay: inline-block;\n\t\tcolor: inherit; /* Inherit from parent by default */\n\t}\n\n\t/* Explicit color options when needed */\n\t:host([color=\"primary\"]) {\n\t\tcolor: var(--schmancy-sys-color-primary-default);\n\t}\n\n\t:host([color=\"on-primary\"]) {\n\t\tcolor: var(--schmancy-sys-color-primary-on);\n\t}\n\n\t:host([color=\"secondary\"]) {\n\t\tcolor: var(--schmancy-sys-color-secondary-default);\n\t}\n\n\t:host([color=\"on-secondary\"]) {\n\t\tcolor: var(--schmancy-sys-color-secondary-on);\n\t}\n\n\t:host([color=\"tertiary\"]) {\n\t\tcolor: var(--schmancy-sys-color-tertiary-default);\n\t}\n\n\t:host([color=\"on-tertiary\"]) {\n\t\tcolor: var(--schmancy-sys-color-tertiary-on);\n\t}\n\n\t:host([color=\"error\"]) {\n\t\tcolor: var(--schmancy-sys-color-error-default);\n\t}\n\n\t:host([color=\"on-error\"]) {\n\t\tcolor: var(--schmancy-sys-color-error-on);\n\t}\n\n\t:host([color=\"success\"]) {\n\t\tcolor: var(--schmancy-sys-color-success-default);\n\t}\n\n\t:host([color=\"on-success\"]) {\n\t\tcolor: var(--schmancy-sys-color-success-on);\n\t}\n\n\t:host([color=\"surface\"]) {\n\t\tcolor: var(--schmancy-sys-color-surface-default);\n\t}\n\n\t:host([color=\"on-surface\"]) {\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t}\n\n\t:host([color=\"surface-variant\"]) {\n\t\tcolor: var(--schmancy-sys-color-surface-variant-default);\n\t}\n\n\t:host([color=\"on-surface-variant\"]) {\n\t\tcolor: var(--schmancy-sys-color-surface-onVariant);\n\t}\n\n\t.spinner {\n\t\tanimation: spin 1s linear infinite;\n\t\tanimation-direction: reverse;\n\t}\n\n\t@keyframes spin {\n\t\tfrom {\n\t\t\ttransform: rotate(0deg);\n\t\t}\n\t\tto {\n\t\t\ttransform: rotate(360deg);\n\t\t}\n\t}\n`) {\n\t@property({ type: String, reflect: true })\n\tcolor?: 'primary' | 'on-primary' | 'secondary' | 'on-secondary' |\n\t 'tertiary' | 'on-tertiary' | 'error' | 'on-error' |\n\t 'success' | 'on-success' | 'surface' | 'on-surface' |\n\t 'surface-variant' | 'on-surface-variant'\n\t@property({ type: Number }) size: number = 6\n\t@property({ type: Boolean }) glass: boolean = false\n\n\tprotected render(): unknown {\n\t\t// Use Tailwind sizing system: size-4 = 1rem = 16px\n\t\t// Each unit is 0.25rem, so size 4 = 1rem, size 6 = 1.5rem, etc.\n\t\t// Fallback to size 6 (24px) if value is invalid\n\t\tconst validSize = typeof this.size === 'number' && !isNaN(this.size) ? this.size : 6\n\t\tconst sizeInRem = `${validSize * 0.25}rem`\n\t\tconst style = {\n\t\t\twidth: sizeInRem,\n\t\t\theight: sizeInRem,\n\t\t}\n\t\t\n\t\treturn this.glass ? html`\n\t\t\t<div class=\"spinner relative\" style=${this.styleMap(style)}>\n\t\t\t\t<!-- Glass container with Apple-style effect -->\n\t\t\t\t<div class=\"absolute inset-0 rounded-full backdrop-blur-xl backdrop-saturate-150\n\t\t\t\t\t\t\tbg-surface-container/20\n\t\t\t\t\t\t\tshadow-[inset_0_1px_1px_0_rgba(255,255,255,0.2)]\n\t\t\t\t\t\t\tborder border-outline-variant/30\"></div>\n\t\t\t\t\n\t\t\t\t<!-- Spinner SVG -->\n\t\t\t\t<svg fill=\"none\" viewBox=\"0 0 16 16\" aria-hidden=\"true\" role=\"img\" \n\t\t\t\t\t style=\"width: 100%; height: 100%;\" class=\"relative z-10\">\n\t\t\t\t\t<path\n\t\t\t\t\t\topacity=\".7\"\n\t\t\t\t\t\td=\"M8 15A7 7 0 108 1a7 7 0 000 14v0z\"\n\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\t></path>\n\t\t\t\t\t<path d=\"M15 8a7 7 0 01-7 7\" stroke=\"currentColor\" stroke-width=\"2\"></path>\n\t\t\t\t\t<path d=\"M8 12a4 4 0 100-8 4 4 0 000 8z\" fill=\"currentColor\" opacity=\"0.8\"></path>\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t` : html`\n\t\t\t<div class=\"spinner\" style=${this.styleMap(style)}>\n\t\t\t\t<svg fill=\"none\" viewBox=\"0 0 16 16\" aria-hidden=\"true\" role=\"img\" style=\"width: 100%; height: 100%;\">\n\t\t\t\t\t<path\n\t\t\t\t\t\topacity=\".5\"\n\t\t\t\t\t\td=\"M8 15A7 7 0 108 1a7 7 0 000 14v0z\"\n\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\t></path>\n\t\t\t\t\t<path d=\"M15 8a7 7 0 01-7 7\" stroke=\"currentColor\" stroke-width=\"2\"></path>\n\t\t\t\t\t<path d=\"M8 12a4 4 0 100-8 4 4 0 000 8z\" fill=\"currentColor\"></path>\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-spinner': SchmnacySpinner\n\t}\n}\n"],"names":["SchmancyBusy","TailwindElement","css","render","html","customElement","SchmnacySpinner","constructor","super","arguments","this","size","glass","sizeInRem","isNaN","style","width","height","styleMap","__decorateClass","property","type","String","reflect","prototype","Number","Boolean"],"mappings":";;;;;;;;AAKA,IAAqBA,IAArB,cAA0CC,EAAgBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;EAS/C,SAAAC;AACT,WAAOC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAgBR;AAAA;AA1BoBJ;;;GAArB,CADCK,EAAc,mBACML,CAAAA;;;;;ACArB,IAAqBM,IAArB,cAA6CL,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;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,CAA7D,EAAA;AAAA,EAAA,cAAAK;AAAAC,UAAAA,GAAAC,SAAAA,GAkF6BC,KAAAC,OAAe,GACdD,KAAAE,QAAAA;AAAAA,EAAiB;AAAA,EAEpC,SAAAT;AAIT,UACMU,IAA2B,QADM,OAAdH,KAAKC,QAAS,YAAaG,MAAMJ,KAAKC,IAAAA,IAAoB,IAAZD,KAAKC,QAC1D,OACZI,IAAQ,EACbC,OAAOH,GACPI,QAAQJ,EAAAA;AAGT,WAAOH,KAAKE,QAAQR;AAAAA,yCACmBM,KAAKQ,SAASH,CAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,MAoBjDX;AAAAA,gCAC0BM,KAAKQ,SAASH,CAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAa7C;AAAA;AArDAI,EAAA,CADCC,EAAS,EAAEC,MAAMC,QAAQC,SAAAA,GAAS,CAAA,CAAA,GA7EfjB,EA8EpBkB,WAAA,SAAA,CAAA,GAI4BL,EAAA,CAA3BC,EAAS,EAAEC,MAAMI,OAAAA,CAAAA,CAAAA,GAlFEnB,EAkFQkB,WAAA,QAAA,CAAA,GACCL,EAAA,CAA5BC,EAAS,EAAEC,MAAMK,QAAAA,CAAAA,CAAAA,GAnFEpB,EAmFSkB,WAAA,SAAA,CAAA,GAnFTlB,IAArBa,EAAA,CADCd,EAAc,kBAAA,CAAA,GACMC,CAAAA;"}
|
package/dist/steps.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./schmancy-steps-container-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./schmancy-steps-container-Bht_BlLU.cjs");Object.defineProperty(exports,"SchmancyStep",{enumerable:!0,get:()=>e.SchmancyStep}),Object.defineProperty(exports,"SchmancyStepsContainer",{enumerable:!0,get:()=>e.SchmancyStepsContainer}),exports.StepsController=e.StepsController,exports.stepsContext=e.stepsContext;
|
|
2
2
|
//# sourceMappingURL=steps.cjs.map
|
package/dist/steps.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const f=require("./tailwind.mixin-
|
|
1
|
+
"use strict";const f=require("./tailwind.mixin-CYhJgwwb.cjs"),a=require("lit"),n=require("lit/decorators.js"),g=require("lit/directives/class-map.js"),h=require("rxjs"),m=require("rxjs/operators");require("lit/directives/style-map.js");const $=require("./litElement.mixin-DoBMt4ia.cjs"),w=require("lit/directives/when.js");var x=Object.defineProperty,S=Object.getOwnPropertyDescriptor,d=(t,e,s,o)=>{for(var l,i=o>1?void 0:o?S(e,s):e,r=t.length-1;r>=0;r--)(l=t[r])&&(i=(o?l(e,s,i):l(i))||i);return o&&i&&x(e,s,i),i};exports.SchmancyAssistChip=class extends f.TailwindElement(a.css`
|
|
2
2
|
:host {
|
|
3
3
|
display: inline-block;
|
|
4
4
|
outline: none;
|
|
@@ -273,4 +273,4 @@
|
|
|
273
273
|
<div class="state-layer"></div>
|
|
274
274
|
</button>
|
|
275
275
|
`}},exports.SchmancySuggestionChip.shadowRootOptions={...a.LitElement.shadowRootOptions,delegatesFocus:!0},p([n.property({reflect:!0})],exports.SchmancySuggestionChip.prototype,"value",2),p([n.property({reflect:!0})],exports.SchmancySuggestionChip.prototype,"icon",2),p([n.property({reflect:!0})],exports.SchmancySuggestionChip.prototype,"href",2),p([n.property({reflect:!0})],exports.SchmancySuggestionChip.prototype,"target",2),p([n.property({type:Boolean,reflect:!0})],exports.SchmancySuggestionChip.prototype,"disabled",2),p([n.property({type:Boolean,reflect:!0})],exports.SchmancySuggestionChip.prototype,"elevated",2),p([n.state()],exports.SchmancySuggestionChip.prototype,"ripples",2),exports.SchmancySuggestionChip=p([n.customElement("schmancy-suggestion-chip")],exports.SchmancySuggestionChip),exports.SchmancyFilterChip=c;
|
|
276
|
-
//# sourceMappingURL=suggestion-chip
|
|
276
|
+
//# sourceMappingURL=suggestion-chip--FVeCUSI.cjs.map
|