@mhmo91/schmancy 0.6.13 → 0.6.14
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/navigation-bar.md +23 -7
- package/dist/ai/navigation-bar.md +23 -7
- package/dist/{animated-text-CUmecSA0.js → animated-text-CXkLixsn.js} +3 -3
- package/dist/{animated-text-CUmecSA0.js.map → animated-text-CXkLixsn.js.map} +1 -1
- package/dist/{animated-text-D4VX-d9R.cjs → animated-text-DwlmOCAu.cjs} +2 -2
- package/dist/{animated-text-D4VX-d9R.cjs.map → animated-text-DwlmOCAu.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-Dy_bNCum.cjs → area.component-DLKsm0cJ.cjs} +2 -2
- package/dist/{area.component-Dy_bNCum.cjs.map → area.component-DLKsm0cJ.cjs.map} +1 -1
- package/dist/{area.component-CY-wcftl.js → area.component-DbyIwSen.js} +3 -3
- package/dist/{area.component-CY-wcftl.js.map → area.component-DbyIwSen.js.map} +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-BQTNgzWU.cjs → autocomplete-BtJueYNt.cjs} +2 -2
- package/dist/{autocomplete-BQTNgzWU.cjs.map → autocomplete-BtJueYNt.cjs.map} +1 -1
- package/dist/{autocomplete-BLmTfG1M.js → autocomplete-X2TcRii_.js} +4 -4
- package/dist/{autocomplete-BLmTfG1M.js.map → autocomplete-X2TcRii_.js.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{avatar-D8kuLXpu.cjs → avatar-8kT0fLuL.cjs} +3 -3
- package/dist/avatar-8kT0fLuL.cjs.map +1 -0
- package/dist/{avatar-CCwr3pAC.js → avatar-BK3a-7Ex.js} +52 -52
- package/dist/avatar-BK3a-7Ex.js.map +1 -0
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-C_tZIBSz.cjs → boat-DLniPpKM.cjs} +2 -2
- package/dist/{boat-C_tZIBSz.cjs.map → boat-DLniPpKM.cjs.map} +1 -1
- package/dist/{boat-DgUy8xs-.js → boat-DsG5xqRQ.js} +3 -3
- package/dist/{boat-DgUy8xs-.js.map → boat-DsG5xqRQ.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-DjaUfANf.cjs → checkbox-D4k9hOGr.cjs} +2 -2
- package/dist/{checkbox-DjaUfANf.cjs.map → checkbox-D4k9hOGr.cjs.map} +1 -1
- package/dist/{checkbox-D6ri_ioM.js → checkbox-DJfcWdHu.js} +2 -2
- package/dist/{checkbox-D6ri_ioM.js.map → checkbox-DJfcWdHu.js.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-eQCRfE8d.js → code-preview-2QujfDM-.js} +2 -2
- package/dist/{code-preview-eQCRfE8d.js.map → code-preview-2QujfDM-.js.map} +1 -1
- package/dist/{code-preview-WyZg7w_7.cjs → code-preview-BCExTzlk.cjs} +2 -2
- package/dist/{code-preview-WyZg7w_7.cjs.map → code-preview-BCExTzlk.cjs.map} +1 -1
- package/dist/components.cjs +1 -1
- package/dist/components.js +1 -1
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/{date-range-8-fGyR3Z.js → date-range-1jcMQxpT.js} +3 -3
- package/dist/{date-range-8-fGyR3Z.js.map → date-range-1jcMQxpT.js.map} +1 -1
- package/dist/{date-range-CmKmNOnp.cjs → date-range-CUOzti4w.cjs} +2 -2
- package/dist/{date-range-CmKmNOnp.cjs.map → date-range-CUOzti4w.cjs.map} +1 -1
- package/dist/{date-range-inline-DjC2j9SN.cjs → date-range-inline-CtP8EErp.cjs} +2 -2
- package/dist/{date-range-inline-DjC2j9SN.cjs.map → date-range-inline-CtP8EErp.cjs.map} +1 -1
- package/dist/{date-range-inline-BEPXeeXh.js → date-range-inline-TNQO_qOG.js} +3 -3
- package/dist/{date-range-inline-BEPXeeXh.js.map → date-range-inline-TNQO_qOG.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-BsFf3qCR.js → delay-BS6JZiTl.js} +2 -2
- package/dist/{delay-BsFf3qCR.js.map → delay-BS6JZiTl.js.map} +1 -1
- package/dist/{delay-UxAcUuZu.cjs → delay-SQQC8r0A.cjs} +2 -2
- package/dist/{delay-UxAcUuZu.cjs.map → delay-SQQC8r0A.cjs.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{details-2Mdm-CDN.js → details-8r7gRioQ.js} +2 -2
- package/dist/{details-2Mdm-CDN.js.map → details-8r7gRioQ.js.map} +1 -1
- package/dist/{details-BxeylMkN.cjs → details-DEvfK6Y_.cjs} +2 -2
- package/dist/{details-BxeylMkN.cjs.map → details-DEvfK6Y_.cjs.map} +1 -1
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{dialog-content-Ca4gzlOi.js → dialog-content-BLXnQPe_.js} +3 -3
- package/dist/{dialog-content-Ca4gzlOi.js.map → dialog-content-BLXnQPe_.js.map} +1 -1
- package/dist/{dialog-content-CN7O3ZVZ.cjs → dialog-content-eMPblRN-.cjs} +2 -2
- package/dist/{dialog-content-CN7O3ZVZ.cjs.map → dialog-content-eMPblRN-.cjs.map} +1 -1
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +1 -1
- package/dist/{divider-CVwVe6Gj.cjs → divider-B5Lscbmv.cjs} +2 -2
- package/dist/{divider-CVwVe6Gj.cjs.map → divider-B5Lscbmv.cjs.map} +1 -1
- package/dist/{divider-BzILgs8q.js → divider-DVOP9fKz.js} +3 -3
- package/dist/{divider-BzILgs8q.js.map → divider-DVOP9fKz.js.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-DevuaHdH.js → dropdown-content-BYicwGyz.js} +3 -3
- package/dist/{dropdown-content-DevuaHdH.js.map → dropdown-content-BYicwGyz.js.map} +1 -1
- package/dist/{dropdown-content-CLMuMtcs.cjs → dropdown-content-Bw7XWcwi.cjs} +2 -2
- package/dist/{dropdown-content-CLMuMtcs.cjs.map → dropdown-content-Bw7XWcwi.cjs.map} +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/{email-recipients-M_Id-4uD.js → email-recipients-B1BIM0D8.js} +6 -6
- package/dist/{email-recipients-M_Id-4uD.js.map → email-recipients-B1BIM0D8.js.map} +1 -1
- package/dist/{email-recipients-BRSQsglN.cjs → email-recipients-gR5xX1BV.cjs} +2 -2
- package/dist/{email-recipients-BRSQsglN.cjs.map → email-recipients-gR5xX1BV.cjs.map} +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{flex-Bc217dkI.js → flex-DmDh3Xck.js} +2 -2
- package/dist/{flex-Bc217dkI.js.map → flex-DmDh3Xck.js.map} +1 -1
- package/dist/{flex-Bmct0fDD.cjs → flex-swmc0cUu.cjs} +2 -2
- package/dist/{flex-Bmct0fDD.cjs.map → flex-swmc0cUu.cjs.map} +1 -1
- package/dist/{form-De_aVOKV.js → form-AnAbcU3R.js} +2 -2
- package/dist/{form-De_aVOKV.js.map → form-AnAbcU3R.js.map} +1 -1
- package/dist/{form-BpVLzotp.cjs → form-j2b0DSLw.cjs} +2 -2
- package/dist/{form-BpVLzotp.cjs.map → form-j2b0DSLw.cjs.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{formField.mixin-DZ3CBzQ7.js → formField.mixin-ClH5rpgp.js} +2 -2
- package/dist/{formField.mixin-DZ3CBzQ7.js.map → formField.mixin-ClH5rpgp.js.map} +1 -1
- package/dist/{formField.mixin-CPhGXtB-.cjs → formField.mixin-SDERSPsB.cjs} +2 -2
- package/dist/{formField.mixin-CPhGXtB-.cjs.map → formField.mixin-SDERSPsB.cjs.map} +1 -1
- package/dist/{icon-D05NBa8J.js → icon-BC3uU_kR.js} +2 -2
- package/dist/{icon-D05NBa8J.js.map → icon-BC3uU_kR.js.map} +1 -1
- package/dist/{icon-D9KDm0_c.cjs → icon-XSmJ_oNG.cjs} +2 -2
- package/dist/{icon-D9KDm0_c.cjs.map → icon-XSmJ_oNG.cjs.map} +1 -1
- package/dist/{icon-button-D-K64Mol.js → icon-button-3uyKYV7-.js} +3 -3
- package/dist/{icon-button-D-K64Mol.js.map → icon-button-3uyKYV7-.js.map} +1 -1
- package/dist/{icon-button-oBh0tLNe.cjs → icon-button-CMa6DB99.cjs} +2 -2
- package/dist/{icon-button-oBh0tLNe.cjs.map → icon-button-CMa6DB99.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 +50 -50
- package/dist/{input-D7w4ndXi.cjs → input-B2YwvRXR.cjs} +2 -2
- package/dist/{input-D7w4ndXi.cjs.map → input-B2YwvRXR.cjs.map} +1 -1
- package/dist/{input-BVnJlKsv.js → input-Dexl-lrG.js} +3 -3
- package/dist/{input-BVnJlKsv.js.map → input-Dexl-lrG.js.map} +1 -1
- package/dist/{input-chip-BVmNlWuq.cjs → input-chip-DB3ZBcZn.cjs} +2 -2
- package/dist/{input-chip-BVmNlWuq.cjs.map → input-chip-DB3ZBcZn.cjs.map} +1 -1
- package/dist/{input-chip-CizoVJge.js → input-chip-_YszUd8z.js} +2 -2
- package/dist/{input-chip-CizoVJge.js.map → input-chip-_YszUd8z.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-D-dsHFWw.cjs → list-BR-JEmOj.cjs} +2 -2
- package/dist/{list-D-dsHFWw.cjs.map → list-BR-JEmOj.cjs.map} +1 -1
- package/dist/{list-BQ3UOtc2.js → list-CquiBoXQ.js} +2 -2
- package/dist/{list-BQ3UOtc2.js.map → list-CquiBoXQ.js.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-Cv7EISwD.js → litElement.mixin-BkJ5xSe0.js} +2 -2
- package/dist/{litElement.mixin-Cv7EISwD.js.map → litElement.mixin-BkJ5xSe0.js.map} +1 -1
- package/dist/{litElement.mixin-CJY2Cfqe.cjs → litElement.mixin-ByATw3mZ.cjs} +2 -2
- package/dist/{litElement.mixin-CJY2Cfqe.cjs.map → litElement.mixin-ByATw3mZ.cjs.map} +1 -1
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/{map-p0Ds9nkV.cjs → map-BvR3poWa.cjs} +2 -2
- package/dist/{map-p0Ds9nkV.cjs.map → map-BvR3poWa.cjs.map} +1 -1
- package/dist/{map-1TRayP2G.js → map-nq-UJIG1.js} +2 -2
- package/dist/{map-1TRayP2G.js.map → map-nq-UJIG1.js.map} +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/{media-jZAzIaPe.js → media-B0G4a4dk.js} +2 -2
- package/dist/{media-jZAzIaPe.js.map → media-B0G4a4dk.js.map} +1 -1
- package/dist/{media-CyPm58zF.cjs → media-LEiWsBFD.cjs} +2 -2
- package/dist/{media-CyPm58zF.cjs.map → media-LEiWsBFD.cjs.map} +1 -1
- package/dist/{menu-Dura_BY4.js → menu-7cP5tC2B.js} +3 -3
- package/dist/{menu-Dura_BY4.js.map → menu-7cP5tC2B.js.map} +1 -1
- package/dist/{menu-LDhTIPWk.cjs → menu-BKq36UN8.cjs} +2 -2
- package/dist/{menu-LDhTIPWk.cjs.map → menu-BKq36UN8.cjs.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +1 -1
- package/dist/navigation-bar.cjs +1 -1
- package/dist/navigation-bar.js +1 -1
- package/dist/{navigation-rail-D-BOM8gm.cjs → navigation-rail-BKxtEDx8.cjs} +2 -2
- package/dist/{navigation-rail-D-BOM8gm.cjs.map → navigation-rail-BKxtEDx8.cjs.map} +1 -1
- package/dist/{navigation-rail-Bu7lGEel.js → navigation-rail-D5987GsB.js} +3 -3
- package/dist/{navigation-rail-Bu7lGEel.js.map → navigation-rail-D5987GsB.js.map} +1 -1
- package/dist/navigation-rail.cjs +1 -1
- package/dist/navigation-rail.js +1 -1
- package/dist/{notification-service-CI3DgEy_.cjs → notification-service-BEUd4eSl.cjs} +2 -2
- package/dist/{notification-service-CI3DgEy_.cjs.map → notification-service-BEUd4eSl.cjs.map} +1 -1
- package/dist/{notification-service-CE15AIwh.js → notification-service-ChB6yIdF.js} +4 -4
- package/dist/{notification-service-CE15AIwh.js.map → notification-service-ChB6yIdF.js.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +2 -2
- package/dist/{notify-B4IuXbge.cjs → notify-DVeG-xkY.cjs} +2 -2
- package/dist/{notify-B4IuXbge.cjs.map → notify-DVeG-xkY.cjs.map} +1 -1
- package/dist/{notify-ChLnWIbA.js → notify-DtV3hOAh.js} +2 -2
- package/dist/{notify-ChLnWIbA.js.map → notify-DtV3hOAh.js.map} +1 -1
- package/dist/{option-DRama3yg.js → option-B3ZuuS7d.js} +2 -2
- package/dist/{option-DRama3yg.js.map → option-B3ZuuS7d.js.map} +1 -1
- package/dist/{option-BanGLIfi.cjs → option-BnCqyZ1G.cjs} +2 -2
- package/dist/{option-BanGLIfi.cjs.map → option-BnCqyZ1G.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{payment-card-form-QlR9k4BD.cjs → payment-card-form-BbIb4L73.cjs} +2 -2
- package/dist/{payment-card-form-QlR9k4BD.cjs.map → payment-card-form-BbIb4L73.cjs.map} +1 -1
- package/dist/{payment-card-form-v-KnKUZO.js → payment-card-form-DVdvTj4q.js} +3 -3
- package/dist/{payment-card-form-v-KnKUZO.js.map → payment-card-form-DVdvTj4q.js.map} +1 -1
- package/dist/{progress-UBKScNdh.js → progress-DJaKqm9N.js} +2 -2
- package/dist/{progress-UBKScNdh.js.map → progress-DJaKqm9N.js.map} +1 -1
- package/dist/{progress-CiDHs_md.cjs → progress-UpWHuWNo.cjs} +2 -2
- package/dist/{progress-CiDHs_md.cjs.map → progress-UpWHuWNo.cjs.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{radio-button-DflI0Xw0.cjs → radio-button-BCFhfUmi.cjs} +2 -2
- package/dist/{radio-button-DflI0Xw0.cjs.map → radio-button-BCFhfUmi.cjs.map} +1 -1
- package/dist/{radio-button-CRr1UMdw.js → radio-button-De_M5gs5.js} +3 -3
- package/dist/{radio-button-CRr1UMdw.js.map → radio-button-De_M5gs5.js.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{schmancy-steps-container-cU2g6cMS.js → schmancy-steps-container-B78yjMzg.js} +2 -2
- package/dist/{schmancy-steps-container-cU2g6cMS.js.map → schmancy-steps-container-B78yjMzg.js.map} +1 -1
- package/dist/{schmancy-steps-container-CQqY3dOG.cjs → schmancy-steps-container-C3bMTFEN.cjs} +2 -2
- package/dist/{schmancy-steps-container-CQqY3dOG.cjs.map → schmancy-steps-container-C3bMTFEN.cjs.map} +1 -1
- package/dist/{select-CsYqzyKi.js → select-BniRmX8N.js} +3 -3
- package/dist/{select-CsYqzyKi.js.map → select-BniRmX8N.js.map} +1 -1
- package/dist/{select-CQbsbS_s.cjs → select-Dyi3H5Gi.cjs} +2 -2
- package/dist/{select-CQbsbS_s.cjs.map → select-Dyi3H5Gi.cjs.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-D74r4jeP.js → sheet-Bjt_7O9d.js} +5 -5
- package/dist/{sheet-D74r4jeP.js.map → sheet-Bjt_7O9d.js.map} +1 -1
- package/dist/{sheet-BH4evGq6.cjs → sheet-Boqpk0ZI.cjs} +2 -2
- package/dist/{sheet-BH4evGq6.cjs.map → sheet-Boqpk0ZI.cjs.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +2 -2
- package/dist/{sheet.service-CdcwIejg.cjs → sheet.service-DerP3lOT.cjs} +2 -2
- package/dist/{sheet.service-CdcwIejg.cjs.map → sheet.service-DerP3lOT.cjs.map} +1 -1
- package/dist/{sheet.service-Bn-Ea0gS.js → sheet.service-v6ZcXxgt.js} +2 -2
- package/dist/{sheet.service-Bn-Ea0gS.js.map → sheet.service-v6ZcXxgt.js.map} +1 -1
- package/dist/{slider-DPggZXEs.js → slider-BRoxL04w.js} +3 -3
- package/dist/{slider-DPggZXEs.js.map → slider-BRoxL04w.js.map} +1 -1
- package/dist/{slider-CGKeX2gT.cjs → slider-DFqI8sV_.cjs} +2 -2
- package/dist/{slider-CGKeX2gT.cjs.map → slider-DFqI8sV_.cjs.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-8kd9IUxN.js → spinner-CTld58nR.js} +2 -2
- package/dist/{spinner-8kd9IUxN.js.map → spinner-CTld58nR.js.map} +1 -1
- package/dist/{spinner-nEBRJu36.cjs → spinner-DcSXDzOD.cjs} +2 -2
- package/dist/{spinner-nEBRJu36.cjs.map → spinner-DcSXDzOD.cjs.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{suggestion-chip-BqoNDMth.js → suggestion-chip-CLJFJgkY.js} +3 -3
- package/dist/{suggestion-chip-BqoNDMth.js.map → suggestion-chip-CLJFJgkY.js.map} +1 -1
- package/dist/{suggestion-chip-HRnLGmOl.cjs → suggestion-chip-Lby1Ejkz.cjs} +2 -2
- package/dist/{suggestion-chip-HRnLGmOl.cjs.map → suggestion-chip-Lby1Ejkz.cjs.map} +1 -1
- package/dist/{surface-CIbY6840.js → surface-C6OOSJCL.js} +2 -2
- package/dist/{surface-CIbY6840.js.map → surface-C6OOSJCL.js.map} +1 -1
- package/dist/{surface-4lHxccmh.cjs → surface-DDLedRWY.cjs} +2 -2
- package/dist/{surface-4lHxccmh.cjs.map → surface-DDLedRWY.cjs.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-BMMEyi9V.cjs → table-BUff-4Nd.cjs} +39 -41
- package/dist/{table-BMMEyi9V.cjs.map → table-BUff-4Nd.cjs.map} +1 -1
- package/dist/{table-BT0B3T1X.js → table-BWroz_LA.js} +76 -78
- package/dist/{table-BT0B3T1X.js.map → table-BWroz_LA.js.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-CdGLLPpX.js → tabs-compatibility-B2pilxIp.js} +2 -2
- package/dist/{tabs-compatibility-CdGLLPpX.js.map → tabs-compatibility-B2pilxIp.js.map} +1 -1
- package/dist/{tabs-compatibility-BifVBxsm.cjs → tabs-compatibility-BnutHPg5.cjs} +2 -2
- package/dist/{tabs-compatibility-BifVBxsm.cjs.map → tabs-compatibility-BnutHPg5.cjs.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-D9gOO2Zy.js +66 -0
- package/dist/{tailwind.mixin-Cb9Uc9-p.js.map → tailwind.mixin-D9gOO2Zy.js.map} +1 -1
- package/dist/tailwind.mixin-Dn3V28jr.cjs +2 -0
- package/dist/{tailwind.mixin-Wo-oNBIM.cjs.map → tailwind.mixin-Dn3V28jr.cjs.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-8WnHuPcI.cjs → textarea-BIWsJYHo.cjs} +2 -2
- package/dist/{textarea-8WnHuPcI.cjs.map → textarea-BIWsJYHo.cjs.map} +1 -1
- package/dist/{textarea-BbAE_Wts.js → textarea-HnoNbteD.js} +2 -2
- package/dist/{textarea-BbAE_Wts.js.map → textarea-HnoNbteD.js.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-DD6odcW3.cjs → theme-button-B47eE2NA.cjs} +2 -2
- package/dist/{theme-button-DD6odcW3.cjs.map → theme-button-B47eE2NA.cjs.map} +1 -1
- package/dist/{theme-button-CGfvi4Vf.js → theme-button-CQtvf5rQ.js} +2 -2
- package/dist/{theme-button-CGfvi4Vf.js.map → theme-button-CQtvf5rQ.js.map} +1 -1
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/{theme-controller-boat-BNrDduYM.js → theme-controller-boat-BMEhTj7b.js} +3 -3
- package/dist/{theme-controller-boat-BNrDduYM.js.map → theme-controller-boat-BMEhTj7b.js.map} +1 -1
- package/dist/{theme-controller-boat-BoQZXtXm.cjs → theme-controller-boat-DFeOAqvr.cjs} +2 -2
- package/dist/{theme-controller-boat-BoQZXtXm.cjs.map → theme-controller-boat-DFeOAqvr.cjs.map} +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/theme.js +1 -1
- package/dist/{timezone-C9yeppAo.cjs → timezone-4RUcnYyR.cjs} +2 -2
- package/dist/{timezone-C9yeppAo.cjs.map → timezone-4RUcnYyR.cjs.map} +1 -1
- package/dist/{timezone--ZlhKaw9.js → timezone-W0NClemY.js} +3 -3
- package/dist/{timezone--ZlhKaw9.js.map → timezone-W0NClemY.js.map} +1 -1
- package/dist/{tooltip-UDXYtkrc.js → tooltip-BNaxRCyZ.js} +2 -2
- package/dist/{tooltip-UDXYtkrc.js.map → tooltip-BNaxRCyZ.js.map} +1 -1
- package/dist/{tooltip-DEAW7vHx.cjs → tooltip-CUJ21qgG.cjs} +2 -2
- package/dist/{tooltip-DEAW7vHx.cjs.map → tooltip-CUJ21qgG.cjs.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-x4n8_wjx.cjs → tree-Bt5grLhM.cjs} +2 -2
- package/dist/{tree-x4n8_wjx.cjs.map → tree-Bt5grLhM.cjs.map} +1 -1
- package/dist/{tree-uUYbbF3b.js → tree-YcyL10ct.js} +2 -2
- package/dist/{tree-uUYbbF3b.js.map → tree-YcyL10ct.js.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-CMrJs0Xu.cjs → typewriter-CePISW4C.cjs} +2 -2
- package/dist/{typewriter-CMrJs0Xu.cjs.map → typewriter-CePISW4C.cjs.map} +1 -1
- package/dist/{typewriter-Dy1DQ2Hc.js → typewriter-ZlQ0l08y.js} +4 -4
- package/dist/{typewriter-Dy1DQ2Hc.js.map → typewriter-ZlQ0l08y.js.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-D5P7HS-U.js → typography-CMrtj1dN.js} +2 -2
- package/dist/{typography-D5P7HS-U.js.map → typography-CMrtj1dN.js.map} +1 -1
- package/dist/{typography-DQd9Sd2x.cjs → typography-ooHH_FZc.cjs} +2 -2
- package/dist/{typography-DQd9Sd2x.cjs.map → typography-ooHH_FZc.cjs.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +1 -1
- package/types/src/navigation-bar/navigation-bar.d.ts +4 -4
- package/dist/avatar-CCwr3pAC.js.map +0 -1
- package/dist/avatar-D8kuLXpu.cjs.map +0 -1
- package/dist/tailwind.mixin-Cb9Uc9-p.js +0 -66
- package/dist/tailwind.mixin-Wo-oNBIM.cjs +0 -2
|
@@ -3,14 +3,14 @@ import { tap as b, takeUntil as y, distinctUntilChanged as V, debounceTime as w,
|
|
|
3
3
|
import { classMap as f } from "lit/directives/class-map.js";
|
|
4
4
|
import "lit/directives/style-map.js";
|
|
5
5
|
import { property as u, state as d, query as $, queryAssignedElements as C, customElement as k } from "lit/decorators.js";
|
|
6
|
-
import "./tailwind.mixin-
|
|
7
|
-
import { $ as O } from "./litElement.mixin-
|
|
6
|
+
import "./tailwind.mixin-D9gOO2Zy.js";
|
|
7
|
+
import { $ as O } from "./litElement.mixin-BkJ5xSe0.js";
|
|
8
8
|
import { html as h } from "lit";
|
|
9
9
|
import { createRef as E, ref as g } from "lit/directives/ref.js";
|
|
10
10
|
import { repeat as D } from "lit/directives/repeat.js";
|
|
11
11
|
import { when as v } from "lit/directives/when.js";
|
|
12
12
|
import { s as m } from "./search-6Hr7K1gh.js";
|
|
13
|
-
import "./input-chip-
|
|
13
|
+
import "./input-chip-_YszUd8z.js";
|
|
14
14
|
var R = Object.defineProperty, A = Object.getOwnPropertyDescriptor, a = (e, t, i, n) => {
|
|
15
15
|
for (var r, s = n > 1 ? void 0 : n ? A(t, i) : t, o = e.length - 1; o >= 0; o--) (r = e[o]) && (s = (n ? r(t, i, s) : r(s)) || s);
|
|
16
16
|
return n && s && R(t, i, s), s;
|
|
@@ -330,4 +330,4 @@ let l = class extends O(":host{display:block;border:unset!important;line-height:
|
|
|
330
330
|
}
|
|
331
331
|
};
|
|
332
332
|
a([u({ type: Boolean })], l.prototype, "required", 2), a([u({ type: String })], l.prototype, "placeholder", 2), a([u({ type: String, reflect: !0 })], l.prototype, "label", 2), a([u({ type: String })], l.prototype, "name", 2), a([u({ type: String })], l.prototype, "maxHeight", 2), a([u({ type: Boolean })], l.prototype, "multi", 2), a([u({ type: String })], l.prototype, "description", 2), a([u({ type: String, reflect: !0 })], l.prototype, "size", 2), a([u({ type: String })], l.prototype, "autocomplete", 2), a([u({ type: Number })], l.prototype, "debounceMs", 2), a([u({ type: Number })], l.prototype, "similarityThreshold", 2), a([u({ type: Boolean })], l.prototype, "error", 2), a([u({ type: String })], l.prototype, "validationMessage", 2), a([u({ type: Array })], l.prototype, "values", 1), a([u({ type: String, reflect: !0 })], l.prototype, "value", 1), a([d()], l.prototype, "_open", 2), a([d()], l.prototype, "_inputValue", 2), a([d()], l.prototype, "_visibleOptionsCount", 2), a([d()], l.prototype, "_hasResults", 2), a([$("#options")], l.prototype, "_listbox", 2), a([$("sch-input")], l.prototype, "_input", 2), a([C({ flatten: !0 })], l.prototype, "_options", 2), l = a([k("schmancy-autocomplete")], l);
|
|
333
|
-
//# sourceMappingURL=autocomplete-
|
|
333
|
+
//# sourceMappingURL=autocomplete-X2TcRii_.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocomplete-BLmTfG1M.js","sources":["../src/autocomplete/autocomplete.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { InputSize, SchmancyInput } from '@schmancy/input'\nimport SchmancyOption from '@schmancy/option/option'\nimport { html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { createRef, ref } from 'lit/directives/ref.js'\nimport { repeat } from 'lit/directives/repeat.js'\nimport { when } from 'lit/directives/when.js'\nimport {\n BehaviorSubject,\n combineLatest\n} from 'rxjs'\nimport {\n debounceTime,\n distinctUntilChanged,\n take,\n takeUntil,\n tap\n} from 'rxjs/operators'\nimport style from './autocomplete.scss?inline'\n\n// Import the similarity function (or include it inline)\nimport { similarity } from '../utils/search'\n// Import chip component for multi-select display\nimport '../chips/input-chip'\n\nexport type SchmancyAutocompleteChangeEvent = CustomEvent<{\n value: string | string[]\n values?: string[]\n}>\n\ninterface FilteredOption {\n option: SchmancyOption\n score: number\n}\n\n@customElement('schmancy-autocomplete')\nexport default class SchmancyAutocomplete extends $LitElement(style) {\n // Track whether value/values have been explicitly set\n _valueSet: boolean = false\n _valuesSet: boolean = false\n\n // Public API properties\n @property({ type: Boolean }) required = false\n @property({ type: String }) placeholder = ''\n @property({ type: String, reflect: true }) label = ''\n @property({ type: String }) name = ''\n @property({ type: String }) maxHeight = '300px'\n @property({ type: Boolean }) multi = false\n @property({ type: String }) description = ''\n @property({ type: String, reflect: true }) size: InputSize = 'md'\n @property({ type: String }) autocomplete = 'off'\n @property({ type: Number }) debounceMs = 200\n @property({ type: Number }) similarityThreshold = 0.3 // Minimum similarity score to show option\n @property({ type: Boolean }) error = false\n @property({ type: String }) validationMessage = ''\n\n // Values property for multi-select mode\n @property({ type: Array })\n get values() {\n return [...this._selectedValues$.value]\n }\n set values(vals: string[]) {\n this._valuesSet = true\n this._selectedValues$.next(Array.isArray(vals) ? [...vals] : [])\n }\n\n // Value property\n @property({ type: String, reflect: true })\n get value() {\n return this.multi \n ? this._selectedValues$.value.join(',')\n : this._selectedValue$.value\n }\n set value(val: string) {\n this._valueSet = true\n if (this.multi) {\n const newValues = val ? val.split(',').map(v => v.trim()).filter(Boolean) : []\n const currentValues = this._selectedValues$.value\n // Only update if values actually changed\n if (JSON.stringify(newValues) !== JSON.stringify(currentValues)) {\n this._selectedValues$.next(newValues)\n }\n } else {\n // Only update if value actually changed\n if (val !== this._selectedValue$.value) {\n this._selectedValue$.next(val)\n // Update the input display when value is set\n this._updateInputDisplay()\n }\n }\n }\n\n // State\n @state() private _open = false\n @state() private _inputValue = ''\n @state() private _visibleOptionsCount = 0\n @state() private _hasResults = true\n\n // DOM references\n @query('#options') _listbox!: HTMLUListElement\n @query('sch-input') _input!: SchmancyInput\n @queryAssignedElements({ flatten: true }) private _options!: SchmancyOption[]\n private _inputElementRef = createRef<HTMLInputElement>()\n\n // RxJS Subjects - only what we actually need\n private _selectedValue$ = new BehaviorSubject<string>('')\n private _selectedValues$ = new BehaviorSubject<string[]>([])\n private _inputValue$ = new BehaviorSubject<string>('')\n\n connectedCallback() {\n super.connectedCallback()\n\n if (!this.id) {\n this.id = `sch-autocomplete-${Math.random().toString(36).slice(2, 9)}`\n }\n\n this._setupAutocompleteLogic()\n this._setupDocumentClickHandler()\n }\n\n private _setupAutocompleteLogic() {\n // Sync selection state\n combineLatest([\n this._selectedValue$,\n this._selectedValues$\n ]).pipe(\n tap(([selectedValue, selectedValues]) => {\n this._updateOptionSelection(selectedValue, selectedValues)\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n\n // Filter options based on input\n this._inputValue$.pipe(\n distinctUntilChanged(),\n debounceTime(this.debounceMs),\n tap(searchTerm => {\n if (this._open) {\n this._filterOptions(searchTerm)\n }\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n }\n\n private _setupOptionHandlers() {\n this._options.forEach((option, index) => {\n option.setAttribute('role', 'option')\n option.tabIndex = -1\n if (!option.id) {\n option.id = `${this.id}-option-${index}`\n }\n // Prevent blur handler from interfering with option selection\n option.onmousedown = (e: MouseEvent) => {\n e.preventDefault() // Prevent focus loss\n }\n\n // Handle the actual selection\n option.onclick = (e: MouseEvent) => {\n e.stopPropagation()\n this._selectOption(option)\n }\n })\n }\n\n private _updateOptionSelection(selectedValue: string, selectedValues: string[]) {\n this._options.forEach(option => {\n option.selected = this.multi\n ? selectedValues.includes(option.value)\n : option.value === selectedValue\n option.setAttribute('aria-selected', String(option.selected))\n })\n }\n\n private _filterOptions(searchTerm: string) {\n const term = searchTerm.trim()\n\n if (!term) {\n // Show all options if no search term\n this._options.forEach(option => {\n option.hidden = false\n option.style.order = '0'\n })\n this._visibleOptionsCount = this._options.length\n this._hasResults = true\n } else {\n // Calculate similarity scores for all options\n const scoredOptions: FilteredOption[] = this._options.map(option => {\n const optionLabel = option.label || option.textContent || ''\n const optionValue = option.value\n\n const labelScore = similarity(term, optionLabel)\n const valueScore = similarity(term, optionValue)\n const score = Math.max(labelScore * 1.1, valueScore)\n\n return { option, score }\n })\n\n // Sort by score (highest first)\n scoredOptions.sort((a, b) => b.score - a.score)\n\n // Apply visibility and ordering\n let visibleCount = 0\n scoredOptions.forEach((item, index) => {\n const { option, score } = item\n\n if (score < this.similarityThreshold) {\n option.hidden = true\n } else {\n option.hidden = false\n visibleCount++\n option.style.order = String(index)\n }\n })\n\n this._visibleOptionsCount = visibleCount\n this._hasResults = visibleCount > 0\n }\n\n this._announceToScreenReader(\n this._visibleOptionsCount > 0\n ? `${this._visibleOptionsCount} option${this._visibleOptionsCount === 1 ? '' : 's'} available.`\n : 'No results found.'\n )\n }\n\n private _openDropdown() {\n this._open = true\n // Reset filters based on current input value when dropdown opens\n this._filterOptions(this._inputValue)\n }\n\n private _selectOption(option: SchmancyOption) {\n if (this.multi) {\n const currentValues = this._selectedValues$.value\n const index = currentValues.indexOf(option.value)\n const newValues = index > -1\n ? currentValues.filter(v => v !== option.value)\n : [...currentValues, option.value]\n\n this._selectedValues$.next(newValues)\n this._announceToScreenReader(\n newValues.length > 0\n ? `Selected: ${this._getSelectedLabels().join(', ')}`\n : 'No options selected'\n )\n this._fireChangeEvent()\n } else {\n // Update value first\n this._selectedValue$.next(option.value)\n\n // Close dropdown IMMEDIATELY to prevent blur handler from firing\n this._open = false\n\n // Now fire event with the NEW value\n this._fireChangeEvent()\n\n // Update UI\n this._inputValue = option.label || option.textContent || ''\n this._inputValue$.next(this._inputValue)\n\n this._announceToScreenReader(`Selected: ${option.label || option.textContent}`)\n }\n }\n\n private _setupDocumentClickHandler() {\n // Simple document click handler\n const handleDocumentClick = (e: MouseEvent) => {\n if (!this._open) return\n\n const path = e.composedPath()\n if (!path.includes(this) && !this._options.some(opt => path.includes(opt))) {\n this._open = false\n this._updateInputDisplay()\n }\n }\n\n document.addEventListener('click', handleDocumentClick)\n\n // Cleanup on disconnect\n this.disconnecting.pipe(take(1)).subscribe(() => {\n document.removeEventListener('click', handleDocumentClick)\n })\n }\n\n\n private _updateInputDisplay() {\n // For multi-select, we don't update input display since chips show the selections\n if (this.multi) return\n\n const selectedValue = this._selectedValue$.value\n const option = this._options.find(opt => opt.value === selectedValue)\n this._inputValue = option ? option.label || option.textContent || '' : ''\n this._inputValue$.next(this._inputValue)\n\n if (this._inputElementRef.value) {\n this._inputElementRef.value.value = this._inputValue\n }\n }\n\n private _getSelectedLabels(): string[] {\n return this._options\n .filter(option => \n this.multi \n ? this._selectedValues$.value.includes(option.value)\n : option.value === this._selectedValue$.value\n )\n .map(option => option.label || option.textContent || '')\n }\n\n private _announceToScreenReader(message: string) {\n const liveRegion = this.shadowRoot?.querySelector('#live-status')\n if (liveRegion) {\n liveRegion.textContent = message\n }\n }\n\n private _fireChangeEvent() {\n const detail: SchmancyAutocompleteChangeEvent['detail'] = {\n value: this.value,\n }\n\n if (this.multi) {\n detail.values = [...this._selectedValues$.value]\n }\n\n this.dispatchEvent(\n new CustomEvent<SchmancyAutocompleteChangeEvent['detail']>('change', {\n detail,\n bubbles: true,\n composed: true,\n })\n )\n }\n\n public checkValidity(): boolean {\n if (!this.required) return true\n return this.multi \n ? this._selectedValues$.value.length > 0 \n : Boolean(this._selectedValue$.value)\n }\n\n public reportValidity(): boolean {\n if (this._inputElementRef.value) {\n return this._inputElementRef.value.reportValidity()\n }\n return this.checkValidity()\n }\n\n firstUpdated() {\n this._setupOptionHandlers()\n\n // Sync initial value with display after options are available\n this._updateInputDisplay()\n\n // Update options when slot changes\n const slot = this.shadowRoot?.querySelector('slot')\n slot?.addEventListener('slotchange', () => {\n this._setupOptionHandlers()\n this._updateOptionSelection(this._selectedValue$.value, this._selectedValues$.value)\n })\n }\n\n private handleChipRemove(value: string) {\n const currentValues = this._selectedValues$.value\n const newValues = currentValues.filter(v => v !== value)\n this._selectedValues$.next(newValues)\n this._fireChangeEvent()\n this._announceToScreenReader(`Removed: ${this._getChipLabel(value)}`)\n }\n\n private _getChipLabel(value: string): string {\n const option = this._options.find(opt => opt.value === value)\n return option ? option.label || option.textContent || value : value\n }\n\n private _focusTextInput() {\n if (this._inputElementRef.value) {\n this._inputElementRef.value.focus()\n }\n }\n\n render() {\n const descriptionId = `${this.id}-desc`\n\n // Get size-based styling to match Schmancy input\n const getSizeStyles = () => {\n switch (this.size) {\n case 'sm':\n return {\n height: 'min-h-[40px]',\n padding: 'px-2',\n fontSize: 'text-sm', // 14px\n labelSize: 'text-sm'\n }\n case 'lg':\n return {\n height: 'min-h-[60px]',\n padding: 'px-5',\n fontSize: 'text-lg', // 18px\n labelSize: 'text-lg'\n }\n case 'md':\n default:\n return {\n height: 'min-h-[50px]',\n padding: 'px-4',\n fontSize: 'text-base', // 16px\n labelSize: 'text-base'\n }\n }\n }\n\n const { height, padding, fontSize, labelSize } = getSizeStyles()\n\n return html`\n <div class=\"relative\">\n <!-- Screen reader live region -->\n <div id=\"live-status\" role=\"status\" aria-live=\"polite\" class=\"sr-only\"></div>\n\n <!-- Description -->\n ${this.description ? html`<div id=\"${descriptionId}\" class=\"sr-only\">${this.description}</div>` : ''}\n\n <!-- Custom input wrapper for Gmail-style chip input -->\n <slot name=\"trigger\">\n ${when(this.multi,\n () => html`\n <!-- Custom multi-select input with inline chips -->\n <div class=\"relative\">\n ${when(this.label, () => html`\n <label class=\"${classMap({\n 'block mb-1 font-medium': true,\n 'text-primary-default': !this.error,\n 'text-error-default': this.error,\n [labelSize]: true\n })}\">\n ${this.label}${this.required ? html`<span class=\"text-error-default ml-1\">*</span>` : ''}\n </label>\n `)}\n <div\n class=\"${classMap({\n 'flex flex-wrap items-center gap-1': true,\n [height]: true,\n [padding]: true,\n 'block w-full min-w-0 rounded-[8px] border-0': true,\n 'bg-surface-highest text-surface-on': true,\n 'ring-0 ring-inset focus-within:ring-1 focus-within:ring-inset': true,\n 'ring-secondary-default focus-within:ring-secondary-default': !this.error,\n 'ring-error-default focus-within:ring-error-default': this.error,\n 'cursor-text transition-colors duration-200': true\n })}\"\n @click=${() => this._focusTextInput()}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n aria-controls=\"options\"\n aria-expanded=${this._open}\n >\n <!-- Render chips inline -->\n ${repeat(\n this._selectedValues$.value,\n value => value,\n value => html`\n <schmancy-input-chip\n .value=${value}\n @remove=${(e: CustomEvent) => this.handleChipRemove(e.detail.value)}\n class=\"flex-shrink-0 my-0.5\"\n >\n ${this._getChipLabel(value)}\n </schmancy-input-chip>\n `\n )}\n\n <!-- Text input for typing -->\n <input\n ${ref(this._inputElementRef)}\n id=\"autocomplete-input\"\n type=\"text\"\n class=\"flex-1 min-w-[120px] py-1 bg-transparent border-none outline-none ${fontSize} font-medium text-surface-on placeholder:text-muted\"\n name=${this.name || this.label?.toLowerCase().replace(/\\s+/g, '-') || ''}\n .placeholder=${this._selectedValues$.value.length > 0 ? 'Add more...' : this.placeholder}\n .value=${this._inputValue}\n .autocomplete=${this.autocomplete}\n @input=${(e: Event) => {\n const value = (e.target as HTMLInputElement).value\n this._inputValue = value\n this._inputValue$.next(value)\n }}\n @focus=${(e: FocusEvent) => {\n e.stopPropagation()\n // Clear input on focus for new searches\n this._inputValue = ''\n this._inputValue$.next('')\n this._openDropdown()\n }}\n @keydown=${(e: KeyboardEvent) => {\n this._handleKeyDown(e)\n }}\n @blur=${() => {\n this._handleAutoSelectOnBlur()\n }}\n />\n </div>\n\n <!-- Validation message -->\n ${when(this.error && this.validationMessage, () => html`\n <div class=\"mt-1 text-sm text-error-default\">\n ${this.validationMessage}\n </div>\n `)}\n </div>\n `,\n () => html`\n <!-- Regular single-select input -->\n <schmancy-input\n .size=${this.size}\n ${ref(this._inputElementRef)}\n id=\"autocomplete-input\"\n class=\"w-full\"\n .name=${this.name || this.label?.toLowerCase().replace(/\\s+/g, '-') || ''}\n .label=${this.label}\n .placeholder=${this.placeholder}\n .required=${this.required}\n .value=${this._inputValue}\n type=\"text\"\n autocomplete=${this.autocomplete}\n clickable\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n aria-controls=\"options\"\n aria-expanded=${this._open}\n aria-describedby=${this.description ? descriptionId : undefined}\n @input=${(e: Event) => {\n const value = (e.target as HTMLInputElement).value\n this._inputValue = value\n this._inputValue$.next(value)\n }}\n @focus=${(e: FocusEvent) => {\n e.stopPropagation()\n this._openDropdown()\n }}\n @click=${(e: MouseEvent) => {\n e.stopPropagation()\n this._openDropdown()\n }}\n @keydown=${(e: KeyboardEvent) => {\n this._handleKeyDown(e)\n }}\n @blur=${() => {\n this._handleAutoSelectOnBlur()\n }}\n >\n </schmancy-input>\n `\n )}\n </slot>\n\n <!-- Options dropdown -->\n <ul\n id=\"options\"\n class=${classMap({\n 'absolute': true,\n 'z-[1000]': true,\n 'mt-1': true,\n 'w-full': true,\n 'rounded-md': true,\n 'shadow-md': true,\n 'overflow-auto': true,\n 'min-w-full': true,\n 'bg-surface-low': true,\n 'flex': true,\n 'flex-col': true, // Enable flexbox for ordering\n })}\n role=\"listbox\"\n aria-multiselectable=${this.multi ? 'true' : 'false'}\n aria-label=${`${this.label || 'Options'} dropdown`}\n ?hidden=${!this._open}\n style=\"max-height: ${this.maxHeight}; display: ${this._open ? 'flex' : 'none'};\"\n @slotchange=${() => {\n this._setupOptionHandlers()\n }}\n >\n <slot></slot>\n ${!this._hasResults ? html`\n <li class=\"px-3 py-2 text-sm text-muted\">No results found</li>\n ` : ''}\n </ul>\n </div>\n `\n }\n\n private _handleAutoSelectOnBlur() {\n // Only auto-select in single-select mode and when dropdown is open with a search term\n if (this.multi || !this._open || !this._inputValue.trim()) {\n return\n }\n \n const searchTerm = this._inputValue.trim()\n \n // Find the best matching option using the same similarity logic as filtering\n let bestMatch: SchmancyOption | null = null\n let bestScore = 0\n \n this._options.forEach(option => {\n // Skip hidden options\n if (option.hidden) return\n \n // Get text to search in (prioritize label, then textContent, then value)\n const optionLabel = option.label || option.textContent || ''\n const optionValue = option.value\n \n // Calculate similarity scores for both label and value\n const labelScore = similarity(searchTerm, optionLabel)\n const valueScore = similarity(searchTerm, optionValue)\n \n // Use the higher score (prioritizing label matches)\n const score = Math.max(labelScore * 1.1, valueScore) // Slight boost for label matches\n \n // Keep track of best match that meets threshold\n if (score > bestScore && score >= this.similarityThreshold) {\n bestScore = score\n bestMatch = option\n }\n })\n \n // Auto-select the best match if found\n if (bestMatch) {\n // Silently update the selected value without firing change event\n this._selectedValue$.next(bestMatch.value)\n this._inputValue = bestMatch.label || bestMatch.textContent || ''\n this._inputValue$.next(this._inputValue)\n this._open = false\n }\n }\n\n private _handleKeyDown(event: KeyboardEvent) {\n const isOpen = this._open\n const selectedValues = this._selectedValues$.value\n\n // Handle backspace to remove last chip in multi-select when input is empty\n if (this.multi && event.key === 'Backspace' && !this._inputValue && selectedValues.length > 0 && !isOpen) {\n event.preventDefault()\n const lastValue = selectedValues[selectedValues.length - 1]\n this.handleChipRemove(lastValue)\n return\n }\n\n if (!isOpen && (event.key === 'ArrowDown' || event.key === 'Enter')) {\n event.preventDefault()\n this._openDropdown()\n\n setTimeout(() => {\n const firstVisible = this._options.find(opt => !opt.hidden)\n firstVisible?.focus()\n }, 10)\n return\n }\n\n if (!isOpen) return\n\n const visibleOptions = this._options.filter(opt => !opt.hidden)\n .sort((a, b) => parseInt(a.style.order || '0') - parseInt(b.style.order || '0'))\n\n const focusedOption = visibleOptions.find(opt => opt === document.activeElement)\n const currentIndex = focusedOption ? visibleOptions.indexOf(focusedOption) : -1\n\n switch (event.key) {\n case 'Escape':\n event.preventDefault()\n this._open = false\n this._updateInputDisplay()\n this._inputElementRef.value?.focus()\n break\n\n case 'Tab':\n this._open = false\n this._updateInputDisplay()\n break\n\n case 'ArrowDown':\n event.preventDefault()\n const nextIndex = currentIndex < visibleOptions.length - 1 ? currentIndex + 1 : 0\n visibleOptions[nextIndex]?.focus()\n break\n\n case 'ArrowUp':\n event.preventDefault()\n const prevIndex = currentIndex > 0 ? currentIndex - 1 : visibleOptions.length - 1\n visibleOptions[prevIndex]?.focus()\n break\n\n case 'Home':\n event.preventDefault()\n visibleOptions[0]?.focus()\n break\n\n case 'End':\n event.preventDefault()\n visibleOptions[visibleOptions.length - 1]?.focus()\n break\n\n case 'Enter':\n case ' ':\n if (focusedOption) {\n event.preventDefault()\n this._selectOption(focusedOption)\n }\n break\n }\n }\n}\n\n\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'schmancy-autocomplete': SchmancyAutocomplete\n }\n}"],"names":["SchmancyAutocomplete","$LitElement","super","arguments","this","_valueSet","_valuesSet","required","placeholder","label","name","maxHeight","multi","description","size","autocomplete","debounceMs","similarityThreshold","error","validationMessage","_open","_inputValue","_visibleOptionsCount","_hasResults","_inputElementRef","createRef","_selectedValue$","BehaviorSubject","_selectedValues$","_inputValue$","values","value","vals","next","Array","isArray","join","val","newValues","split","map","v","trim","filter","Boolean","currentValues","JSON","stringify","_updateInputDisplay","connectedCallback","id","Math","random","toString","slice","_setupAutocompleteLogic","_setupDocumentClickHandler","combineLatest","pipe","tap","selectedValue","selectedValues","_updateOptionSelection","takeUntil","disconnecting","subscribe","distinctUntilChanged","debounceTime","searchTerm","_filterOptions","_setupOptionHandlers","_options","forEach","option","index","setAttribute","tabIndex","onmousedown","e","preventDefault","onclick","stopPropagation","_selectOption","selected","includes","String","term","scoredOptions","optionLabel","textContent","optionValue","labelScore","similarity","valueScore","score","max","sort","a","b","visibleCount","item","hidden","style","order","length","_announceToScreenReader","_openDropdown","indexOf","_getSelectedLabels","_fireChangeEvent","handleDocumentClick","path","composedPath","some","opt","document","addEventListener","take","removeEventListener","find","message","liveRegion","shadowRoot","querySelector","detail","dispatchEvent","CustomEvent","bubbles","composed","checkValidity","reportValidity","firstUpdated","_getChipLabel","_focusTextInput","focus","render","descriptionId","height","padding","fontSize","labelSize","getSizeStyles","html","when","classMap","repeat","handleChipRemove","ref","toLowerCase","replace","target","_handleKeyDown","_handleAutoSelectOnBlur","absolute","flex","bestMatch","bestScore","event","isOpen","key","lastValue","setTimeout","firstVisible","visibleOptions","parseInt","focusedOption","activeElement","currentIndex","nextIndex","prevIndex","__decorateClass","property","type","prototype","reflect","Number","state","query","queryAssignedElements","flatten","customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"autocomplete-X2TcRii_.js","sources":["../src/autocomplete/autocomplete.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { InputSize, SchmancyInput } from '@schmancy/input'\nimport SchmancyOption from '@schmancy/option/option'\nimport { html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { createRef, ref } from 'lit/directives/ref.js'\nimport { repeat } from 'lit/directives/repeat.js'\nimport { when } from 'lit/directives/when.js'\nimport {\n BehaviorSubject,\n combineLatest\n} from 'rxjs'\nimport {\n debounceTime,\n distinctUntilChanged,\n take,\n takeUntil,\n tap\n} from 'rxjs/operators'\nimport style from './autocomplete.scss?inline'\n\n// Import the similarity function (or include it inline)\nimport { similarity } from '../utils/search'\n// Import chip component for multi-select display\nimport '../chips/input-chip'\n\nexport type SchmancyAutocompleteChangeEvent = CustomEvent<{\n value: string | string[]\n values?: string[]\n}>\n\ninterface FilteredOption {\n option: SchmancyOption\n score: number\n}\n\n@customElement('schmancy-autocomplete')\nexport default class SchmancyAutocomplete extends $LitElement(style) {\n // Track whether value/values have been explicitly set\n _valueSet: boolean = false\n _valuesSet: boolean = false\n\n // Public API properties\n @property({ type: Boolean }) required = false\n @property({ type: String }) placeholder = ''\n @property({ type: String, reflect: true }) label = ''\n @property({ type: String }) name = ''\n @property({ type: String }) maxHeight = '300px'\n @property({ type: Boolean }) multi = false\n @property({ type: String }) description = ''\n @property({ type: String, reflect: true }) size: InputSize = 'md'\n @property({ type: String }) autocomplete = 'off'\n @property({ type: Number }) debounceMs = 200\n @property({ type: Number }) similarityThreshold = 0.3 // Minimum similarity score to show option\n @property({ type: Boolean }) error = false\n @property({ type: String }) validationMessage = ''\n\n // Values property for multi-select mode\n @property({ type: Array })\n get values() {\n return [...this._selectedValues$.value]\n }\n set values(vals: string[]) {\n this._valuesSet = true\n this._selectedValues$.next(Array.isArray(vals) ? [...vals] : [])\n }\n\n // Value property\n @property({ type: String, reflect: true })\n get value() {\n return this.multi \n ? this._selectedValues$.value.join(',')\n : this._selectedValue$.value\n }\n set value(val: string) {\n this._valueSet = true\n if (this.multi) {\n const newValues = val ? val.split(',').map(v => v.trim()).filter(Boolean) : []\n const currentValues = this._selectedValues$.value\n // Only update if values actually changed\n if (JSON.stringify(newValues) !== JSON.stringify(currentValues)) {\n this._selectedValues$.next(newValues)\n }\n } else {\n // Only update if value actually changed\n if (val !== this._selectedValue$.value) {\n this._selectedValue$.next(val)\n // Update the input display when value is set\n this._updateInputDisplay()\n }\n }\n }\n\n // State\n @state() private _open = false\n @state() private _inputValue = ''\n @state() private _visibleOptionsCount = 0\n @state() private _hasResults = true\n\n // DOM references\n @query('#options') _listbox!: HTMLUListElement\n @query('sch-input') _input!: SchmancyInput\n @queryAssignedElements({ flatten: true }) private _options!: SchmancyOption[]\n private _inputElementRef = createRef<HTMLInputElement>()\n\n // RxJS Subjects - only what we actually need\n private _selectedValue$ = new BehaviorSubject<string>('')\n private _selectedValues$ = new BehaviorSubject<string[]>([])\n private _inputValue$ = new BehaviorSubject<string>('')\n\n connectedCallback() {\n super.connectedCallback()\n\n if (!this.id) {\n this.id = `sch-autocomplete-${Math.random().toString(36).slice(2, 9)}`\n }\n\n this._setupAutocompleteLogic()\n this._setupDocumentClickHandler()\n }\n\n private _setupAutocompleteLogic() {\n // Sync selection state\n combineLatest([\n this._selectedValue$,\n this._selectedValues$\n ]).pipe(\n tap(([selectedValue, selectedValues]) => {\n this._updateOptionSelection(selectedValue, selectedValues)\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n\n // Filter options based on input\n this._inputValue$.pipe(\n distinctUntilChanged(),\n debounceTime(this.debounceMs),\n tap(searchTerm => {\n if (this._open) {\n this._filterOptions(searchTerm)\n }\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n }\n\n private _setupOptionHandlers() {\n this._options.forEach((option, index) => {\n option.setAttribute('role', 'option')\n option.tabIndex = -1\n if (!option.id) {\n option.id = `${this.id}-option-${index}`\n }\n // Prevent blur handler from interfering with option selection\n option.onmousedown = (e: MouseEvent) => {\n e.preventDefault() // Prevent focus loss\n }\n\n // Handle the actual selection\n option.onclick = (e: MouseEvent) => {\n e.stopPropagation()\n this._selectOption(option)\n }\n })\n }\n\n private _updateOptionSelection(selectedValue: string, selectedValues: string[]) {\n this._options.forEach(option => {\n option.selected = this.multi\n ? selectedValues.includes(option.value)\n : option.value === selectedValue\n option.setAttribute('aria-selected', String(option.selected))\n })\n }\n\n private _filterOptions(searchTerm: string) {\n const term = searchTerm.trim()\n\n if (!term) {\n // Show all options if no search term\n this._options.forEach(option => {\n option.hidden = false\n option.style.order = '0'\n })\n this._visibleOptionsCount = this._options.length\n this._hasResults = true\n } else {\n // Calculate similarity scores for all options\n const scoredOptions: FilteredOption[] = this._options.map(option => {\n const optionLabel = option.label || option.textContent || ''\n const optionValue = option.value\n\n const labelScore = similarity(term, optionLabel)\n const valueScore = similarity(term, optionValue)\n const score = Math.max(labelScore * 1.1, valueScore)\n\n return { option, score }\n })\n\n // Sort by score (highest first)\n scoredOptions.sort((a, b) => b.score - a.score)\n\n // Apply visibility and ordering\n let visibleCount = 0\n scoredOptions.forEach((item, index) => {\n const { option, score } = item\n\n if (score < this.similarityThreshold) {\n option.hidden = true\n } else {\n option.hidden = false\n visibleCount++\n option.style.order = String(index)\n }\n })\n\n this._visibleOptionsCount = visibleCount\n this._hasResults = visibleCount > 0\n }\n\n this._announceToScreenReader(\n this._visibleOptionsCount > 0\n ? `${this._visibleOptionsCount} option${this._visibleOptionsCount === 1 ? '' : 's'} available.`\n : 'No results found.'\n )\n }\n\n private _openDropdown() {\n this._open = true\n // Reset filters based on current input value when dropdown opens\n this._filterOptions(this._inputValue)\n }\n\n private _selectOption(option: SchmancyOption) {\n if (this.multi) {\n const currentValues = this._selectedValues$.value\n const index = currentValues.indexOf(option.value)\n const newValues = index > -1\n ? currentValues.filter(v => v !== option.value)\n : [...currentValues, option.value]\n\n this._selectedValues$.next(newValues)\n this._announceToScreenReader(\n newValues.length > 0\n ? `Selected: ${this._getSelectedLabels().join(', ')}`\n : 'No options selected'\n )\n this._fireChangeEvent()\n } else {\n // Update value first\n this._selectedValue$.next(option.value)\n\n // Close dropdown IMMEDIATELY to prevent blur handler from firing\n this._open = false\n\n // Now fire event with the NEW value\n this._fireChangeEvent()\n\n // Update UI\n this._inputValue = option.label || option.textContent || ''\n this._inputValue$.next(this._inputValue)\n\n this._announceToScreenReader(`Selected: ${option.label || option.textContent}`)\n }\n }\n\n private _setupDocumentClickHandler() {\n // Simple document click handler\n const handleDocumentClick = (e: MouseEvent) => {\n if (!this._open) return\n\n const path = e.composedPath()\n if (!path.includes(this) && !this._options.some(opt => path.includes(opt))) {\n this._open = false\n this._updateInputDisplay()\n }\n }\n\n document.addEventListener('click', handleDocumentClick)\n\n // Cleanup on disconnect\n this.disconnecting.pipe(take(1)).subscribe(() => {\n document.removeEventListener('click', handleDocumentClick)\n })\n }\n\n\n private _updateInputDisplay() {\n // For multi-select, we don't update input display since chips show the selections\n if (this.multi) return\n\n const selectedValue = this._selectedValue$.value\n const option = this._options.find(opt => opt.value === selectedValue)\n this._inputValue = option ? option.label || option.textContent || '' : ''\n this._inputValue$.next(this._inputValue)\n\n if (this._inputElementRef.value) {\n this._inputElementRef.value.value = this._inputValue\n }\n }\n\n private _getSelectedLabels(): string[] {\n return this._options\n .filter(option => \n this.multi \n ? this._selectedValues$.value.includes(option.value)\n : option.value === this._selectedValue$.value\n )\n .map(option => option.label || option.textContent || '')\n }\n\n private _announceToScreenReader(message: string) {\n const liveRegion = this.shadowRoot?.querySelector('#live-status')\n if (liveRegion) {\n liveRegion.textContent = message\n }\n }\n\n private _fireChangeEvent() {\n const detail: SchmancyAutocompleteChangeEvent['detail'] = {\n value: this.value,\n }\n\n if (this.multi) {\n detail.values = [...this._selectedValues$.value]\n }\n\n this.dispatchEvent(\n new CustomEvent<SchmancyAutocompleteChangeEvent['detail']>('change', {\n detail,\n bubbles: true,\n composed: true,\n })\n )\n }\n\n public checkValidity(): boolean {\n if (!this.required) return true\n return this.multi \n ? this._selectedValues$.value.length > 0 \n : Boolean(this._selectedValue$.value)\n }\n\n public reportValidity(): boolean {\n if (this._inputElementRef.value) {\n return this._inputElementRef.value.reportValidity()\n }\n return this.checkValidity()\n }\n\n firstUpdated() {\n this._setupOptionHandlers()\n\n // Sync initial value with display after options are available\n this._updateInputDisplay()\n\n // Update options when slot changes\n const slot = this.shadowRoot?.querySelector('slot')\n slot?.addEventListener('slotchange', () => {\n this._setupOptionHandlers()\n this._updateOptionSelection(this._selectedValue$.value, this._selectedValues$.value)\n })\n }\n\n private handleChipRemove(value: string) {\n const currentValues = this._selectedValues$.value\n const newValues = currentValues.filter(v => v !== value)\n this._selectedValues$.next(newValues)\n this._fireChangeEvent()\n this._announceToScreenReader(`Removed: ${this._getChipLabel(value)}`)\n }\n\n private _getChipLabel(value: string): string {\n const option = this._options.find(opt => opt.value === value)\n return option ? option.label || option.textContent || value : value\n }\n\n private _focusTextInput() {\n if (this._inputElementRef.value) {\n this._inputElementRef.value.focus()\n }\n }\n\n render() {\n const descriptionId = `${this.id}-desc`\n\n // Get size-based styling to match Schmancy input\n const getSizeStyles = () => {\n switch (this.size) {\n case 'sm':\n return {\n height: 'min-h-[40px]',\n padding: 'px-2',\n fontSize: 'text-sm', // 14px\n labelSize: 'text-sm'\n }\n case 'lg':\n return {\n height: 'min-h-[60px]',\n padding: 'px-5',\n fontSize: 'text-lg', // 18px\n labelSize: 'text-lg'\n }\n case 'md':\n default:\n return {\n height: 'min-h-[50px]',\n padding: 'px-4',\n fontSize: 'text-base', // 16px\n labelSize: 'text-base'\n }\n }\n }\n\n const { height, padding, fontSize, labelSize } = getSizeStyles()\n\n return html`\n <div class=\"relative\">\n <!-- Screen reader live region -->\n <div id=\"live-status\" role=\"status\" aria-live=\"polite\" class=\"sr-only\"></div>\n\n <!-- Description -->\n ${this.description ? html`<div id=\"${descriptionId}\" class=\"sr-only\">${this.description}</div>` : ''}\n\n <!-- Custom input wrapper for Gmail-style chip input -->\n <slot name=\"trigger\">\n ${when(this.multi,\n () => html`\n <!-- Custom multi-select input with inline chips -->\n <div class=\"relative\">\n ${when(this.label, () => html`\n <label class=\"${classMap({\n 'block mb-1 font-medium': true,\n 'text-primary-default': !this.error,\n 'text-error-default': this.error,\n [labelSize]: true\n })}\">\n ${this.label}${this.required ? html`<span class=\"text-error-default ml-1\">*</span>` : ''}\n </label>\n `)}\n <div\n class=\"${classMap({\n 'flex flex-wrap items-center gap-1': true,\n [height]: true,\n [padding]: true,\n 'block w-full min-w-0 rounded-[8px] border-0': true,\n 'bg-surface-highest text-surface-on': true,\n 'ring-0 ring-inset focus-within:ring-1 focus-within:ring-inset': true,\n 'ring-secondary-default focus-within:ring-secondary-default': !this.error,\n 'ring-error-default focus-within:ring-error-default': this.error,\n 'cursor-text transition-colors duration-200': true\n })}\"\n @click=${() => this._focusTextInput()}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n aria-controls=\"options\"\n aria-expanded=${this._open}\n >\n <!-- Render chips inline -->\n ${repeat(\n this._selectedValues$.value,\n value => value,\n value => html`\n <schmancy-input-chip\n .value=${value}\n @remove=${(e: CustomEvent) => this.handleChipRemove(e.detail.value)}\n class=\"flex-shrink-0 my-0.5\"\n >\n ${this._getChipLabel(value)}\n </schmancy-input-chip>\n `\n )}\n\n <!-- Text input for typing -->\n <input\n ${ref(this._inputElementRef)}\n id=\"autocomplete-input\"\n type=\"text\"\n class=\"flex-1 min-w-[120px] py-1 bg-transparent border-none outline-none ${fontSize} font-medium text-surface-on placeholder:text-muted\"\n name=${this.name || this.label?.toLowerCase().replace(/\\s+/g, '-') || ''}\n .placeholder=${this._selectedValues$.value.length > 0 ? 'Add more...' : this.placeholder}\n .value=${this._inputValue}\n .autocomplete=${this.autocomplete}\n @input=${(e: Event) => {\n const value = (e.target as HTMLInputElement).value\n this._inputValue = value\n this._inputValue$.next(value)\n }}\n @focus=${(e: FocusEvent) => {\n e.stopPropagation()\n // Clear input on focus for new searches\n this._inputValue = ''\n this._inputValue$.next('')\n this._openDropdown()\n }}\n @keydown=${(e: KeyboardEvent) => {\n this._handleKeyDown(e)\n }}\n @blur=${() => {\n this._handleAutoSelectOnBlur()\n }}\n />\n </div>\n\n <!-- Validation message -->\n ${when(this.error && this.validationMessage, () => html`\n <div class=\"mt-1 text-sm text-error-default\">\n ${this.validationMessage}\n </div>\n `)}\n </div>\n `,\n () => html`\n <!-- Regular single-select input -->\n <schmancy-input\n .size=${this.size}\n ${ref(this._inputElementRef)}\n id=\"autocomplete-input\"\n class=\"w-full\"\n .name=${this.name || this.label?.toLowerCase().replace(/\\s+/g, '-') || ''}\n .label=${this.label}\n .placeholder=${this.placeholder}\n .required=${this.required}\n .value=${this._inputValue}\n type=\"text\"\n autocomplete=${this.autocomplete}\n clickable\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n aria-controls=\"options\"\n aria-expanded=${this._open}\n aria-describedby=${this.description ? descriptionId : undefined}\n @input=${(e: Event) => {\n const value = (e.target as HTMLInputElement).value\n this._inputValue = value\n this._inputValue$.next(value)\n }}\n @focus=${(e: FocusEvent) => {\n e.stopPropagation()\n this._openDropdown()\n }}\n @click=${(e: MouseEvent) => {\n e.stopPropagation()\n this._openDropdown()\n }}\n @keydown=${(e: KeyboardEvent) => {\n this._handleKeyDown(e)\n }}\n @blur=${() => {\n this._handleAutoSelectOnBlur()\n }}\n >\n </schmancy-input>\n `\n )}\n </slot>\n\n <!-- Options dropdown -->\n <ul\n id=\"options\"\n class=${classMap({\n 'absolute': true,\n 'z-[1000]': true,\n 'mt-1': true,\n 'w-full': true,\n 'rounded-md': true,\n 'shadow-md': true,\n 'overflow-auto': true,\n 'min-w-full': true,\n 'bg-surface-low': true,\n 'flex': true,\n 'flex-col': true, // Enable flexbox for ordering\n })}\n role=\"listbox\"\n aria-multiselectable=${this.multi ? 'true' : 'false'}\n aria-label=${`${this.label || 'Options'} dropdown`}\n ?hidden=${!this._open}\n style=\"max-height: ${this.maxHeight}; display: ${this._open ? 'flex' : 'none'};\"\n @slotchange=${() => {\n this._setupOptionHandlers()\n }}\n >\n <slot></slot>\n ${!this._hasResults ? html`\n <li class=\"px-3 py-2 text-sm text-muted\">No results found</li>\n ` : ''}\n </ul>\n </div>\n `\n }\n\n private _handleAutoSelectOnBlur() {\n // Only auto-select in single-select mode and when dropdown is open with a search term\n if (this.multi || !this._open || !this._inputValue.trim()) {\n return\n }\n \n const searchTerm = this._inputValue.trim()\n \n // Find the best matching option using the same similarity logic as filtering\n let bestMatch: SchmancyOption | null = null\n let bestScore = 0\n \n this._options.forEach(option => {\n // Skip hidden options\n if (option.hidden) return\n \n // Get text to search in (prioritize label, then textContent, then value)\n const optionLabel = option.label || option.textContent || ''\n const optionValue = option.value\n \n // Calculate similarity scores for both label and value\n const labelScore = similarity(searchTerm, optionLabel)\n const valueScore = similarity(searchTerm, optionValue)\n \n // Use the higher score (prioritizing label matches)\n const score = Math.max(labelScore * 1.1, valueScore) // Slight boost for label matches\n \n // Keep track of best match that meets threshold\n if (score > bestScore && score >= this.similarityThreshold) {\n bestScore = score\n bestMatch = option\n }\n })\n \n // Auto-select the best match if found\n if (bestMatch) {\n // Silently update the selected value without firing change event\n this._selectedValue$.next(bestMatch.value)\n this._inputValue = bestMatch.label || bestMatch.textContent || ''\n this._inputValue$.next(this._inputValue)\n this._open = false\n }\n }\n\n private _handleKeyDown(event: KeyboardEvent) {\n const isOpen = this._open\n const selectedValues = this._selectedValues$.value\n\n // Handle backspace to remove last chip in multi-select when input is empty\n if (this.multi && event.key === 'Backspace' && !this._inputValue && selectedValues.length > 0 && !isOpen) {\n event.preventDefault()\n const lastValue = selectedValues[selectedValues.length - 1]\n this.handleChipRemove(lastValue)\n return\n }\n\n if (!isOpen && (event.key === 'ArrowDown' || event.key === 'Enter')) {\n event.preventDefault()\n this._openDropdown()\n\n setTimeout(() => {\n const firstVisible = this._options.find(opt => !opt.hidden)\n firstVisible?.focus()\n }, 10)\n return\n }\n\n if (!isOpen) return\n\n const visibleOptions = this._options.filter(opt => !opt.hidden)\n .sort((a, b) => parseInt(a.style.order || '0') - parseInt(b.style.order || '0'))\n\n const focusedOption = visibleOptions.find(opt => opt === document.activeElement)\n const currentIndex = focusedOption ? visibleOptions.indexOf(focusedOption) : -1\n\n switch (event.key) {\n case 'Escape':\n event.preventDefault()\n this._open = false\n this._updateInputDisplay()\n this._inputElementRef.value?.focus()\n break\n\n case 'Tab':\n this._open = false\n this._updateInputDisplay()\n break\n\n case 'ArrowDown':\n event.preventDefault()\n const nextIndex = currentIndex < visibleOptions.length - 1 ? currentIndex + 1 : 0\n visibleOptions[nextIndex]?.focus()\n break\n\n case 'ArrowUp':\n event.preventDefault()\n const prevIndex = currentIndex > 0 ? currentIndex - 1 : visibleOptions.length - 1\n visibleOptions[prevIndex]?.focus()\n break\n\n case 'Home':\n event.preventDefault()\n visibleOptions[0]?.focus()\n break\n\n case 'End':\n event.preventDefault()\n visibleOptions[visibleOptions.length - 1]?.focus()\n break\n\n case 'Enter':\n case ' ':\n if (focusedOption) {\n event.preventDefault()\n this._selectOption(focusedOption)\n }\n break\n }\n }\n}\n\n\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'schmancy-autocomplete': SchmancyAutocomplete\n }\n}"],"names":["SchmancyAutocomplete","$LitElement","super","arguments","this","_valueSet","_valuesSet","required","placeholder","label","name","maxHeight","multi","description","size","autocomplete","debounceMs","similarityThreshold","error","validationMessage","_open","_inputValue","_visibleOptionsCount","_hasResults","_inputElementRef","createRef","_selectedValue$","BehaviorSubject","_selectedValues$","_inputValue$","values","value","vals","next","Array","isArray","join","val","newValues","split","map","v","trim","filter","Boolean","currentValues","JSON","stringify","_updateInputDisplay","connectedCallback","id","Math","random","toString","slice","_setupAutocompleteLogic","_setupDocumentClickHandler","combineLatest","pipe","tap","selectedValue","selectedValues","_updateOptionSelection","takeUntil","disconnecting","subscribe","distinctUntilChanged","debounceTime","searchTerm","_filterOptions","_setupOptionHandlers","_options","forEach","option","index","setAttribute","tabIndex","onmousedown","e","preventDefault","onclick","stopPropagation","_selectOption","selected","includes","String","term","scoredOptions","optionLabel","textContent","optionValue","labelScore","similarity","valueScore","score","max","sort","a","b","visibleCount","item","hidden","style","order","length","_announceToScreenReader","_openDropdown","indexOf","_getSelectedLabels","_fireChangeEvent","handleDocumentClick","path","composedPath","some","opt","document","addEventListener","take","removeEventListener","find","message","liveRegion","shadowRoot","querySelector","detail","dispatchEvent","CustomEvent","bubbles","composed","checkValidity","reportValidity","firstUpdated","_getChipLabel","_focusTextInput","focus","render","descriptionId","height","padding","fontSize","labelSize","getSizeStyles","html","when","classMap","repeat","handleChipRemove","ref","toLowerCase","replace","target","_handleKeyDown","_handleAutoSelectOnBlur","absolute","flex","bestMatch","bestScore","event","isOpen","key","lastValue","setTimeout","firstVisible","visibleOptions","parseInt","focusedOption","activeElement","currentIndex","nextIndex","prevIndex","__decorateClass","property","type","prototype","reflect","Number","state","query","queryAssignedElements","flatten","customElement"],"mappings":"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"}
|
package/dist/autocomplete.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";require("./autocomplete-
|
|
1
|
+
"use strict";require("./autocomplete-BtJueYNt.cjs");
|
|
2
2
|
//# sourceMappingURL=autocomplete.cjs.map
|
package/dist/autocomplete.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import "./autocomplete-
|
|
1
|
+
import "./autocomplete-X2TcRii_.js";
|
|
2
2
|
//# sourceMappingURL=autocomplete.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const h=require("lit"),a=require("lit/decorators.js"),n=require("rxjs");require("./animated-text-
|
|
1
|
+
"use strict";const h=require("lit"),a=require("lit/decorators.js"),n=require("rxjs");require("./animated-text-DwlmOCAu.cjs");const j=require("./area.component-DLKsm0cJ.cjs");require("./autocomplete-BtJueYNt.cjs");const d=require("rxjs/operators");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const I=require("./tailwind.mixin-Dn3V28jr.cjs"),b=require("./ripple-DqQrvaTe.cjs");require("lit/directives/guard.js"),require("./boat-DLniPpKM.cjs"),require("./spinner-DcSXDzOD.cjs"),require("./icon-button-CMa6DB99.cjs"),require("./media-LEiWsBFD.cjs"),require("./checkbox-D4k9hOGr.cjs"),require("./suggestion-chip-Lby1Ejkz.cjs"),require("./input-chip-DB3ZBcZn.cjs"),require("./code-preview-BCExTzlk.cjs"),require("./payment-card-form-BbIb4L73.cjs");const y=require("./types.cjs"),p=require("./provide-BxZ2kn_p.cjs"),S=require("./litElement.mixin-ByATw3mZ.cjs"),m=require("./consume-edta5ng5.cjs");require("./date-range-CUOzti4w.cjs"),require("./date-range-inline-CtP8EErp.cjs"),require("./delay-SQQC8r0A.cjs"),require("./details-DEvfK6Y_.cjs"),require("./dialog-content-eMPblRN-.cjs"),require("./dialog-service-Bdaxn2t0.cjs"),require("./divider-B5Lscbmv.cjs"),require("./dropdown-content-Bw7XWcwi.cjs"),require("./timezone-4RUcnYyR.cjs"),require("./form-j2b0DSLw.cjs"),require("./icon-XSmJ_oNG.cjs"),require("./input-B2YwvRXR.cjs"),require("./flex-swmc0cUu.cjs"),require("./list-BR-JEmOj.cjs"),require("./email-recipients-gR5xX1BV.cjs"),require("./map-BvR3poWa.cjs"),require("./menu-BKq36UN8.cjs");const A=require("lit/directives/when.js");require("./navigation-rail-BKxtEDx8.cjs"),require("./notification-service-BEUd4eSl.cjs"),require("./option-BnCqyZ1G.cjs"),require("./progress-UpWHuWNo.cjs"),require("./radio-button-BCFhfUmi.cjs"),require("./index-CCi1otmh.cjs"),require("./select-Dyi3H5Gi.cjs");const R=require("./sheet.service-DerP3lOT.cjs");require("./sheet-Boqpk0ZI.cjs"),require("./slider-DFqI8sV_.cjs"),require("./schmancy-steps-container-C3bMTFEN.cjs"),require("./context-create-CA907mdD.cjs"),require("./surface-DDLedRWY.cjs"),require("./table-BUff-4Nd.cjs"),require("./tabs-compatibility-BnutHPg5.cjs"),require("./textarea-BIWsJYHo.cjs"),require("./theme-controller-boat-DFeOAqvr.cjs"),require("./theme-button-B47eE2NA.cjs"),require("./tooltip-CUJ21qgG.cjs"),require("./tree-Bt5grLhM.cjs"),require("./typewriter-CePISW4C.cjs"),require("./typography-ooHH_FZc.cjs");const o=require("./theme.interface-BMeNadVb.cjs");var Y=Object.defineProperty,F=Object.getOwnPropertyDescriptor,v=(e,t,i,r)=>{for(var c,s=r>1?void 0:r?F(t,i):t,l=e.length-1;l>=0;l--)(c=e[l])&&(s=(r?c(t,i,s):c(s))||s);return r&&s&&Y(t,i,s),s};exports.SchmancyBadgeV2=class extends I.TailwindElement(h.css`
|
|
2
2
|
:host {
|
|
3
3
|
display: inline-flex;
|
|
4
4
|
}
|
|
@@ -267,7 +267,7 @@
|
|
|
267
267
|
`){constructor(){super(...arguments),this.activeIndex$=new n.BehaviorSubject(-1),this.hideLabels=!1,this.elevation=2,this.hideOnScroll=!1,this.focusedIndex=-1,this.isHiddenByScroll=!1,this.isFullscreen=!1,this.SCROLL_THRESHOLD=10,this.handleItemClick=e=>{const t=this.getItems(),i=e.target,r=t.indexOf(i);if(r!==-1&&this.activeIndex!==r){const c=this.activeIndex;this.activeIndex=r,this.dispatchEvent(new CustomEvent("navigation-change",{detail:{oldIndex:c,newIndex:r,item:i},bubbles:!0,composed:!0}))}},this.handleKeyDown=e=>{const t=this.getItems(),i=this.focusedIndex===-1?this.activeIndex:this.focusedIndex;switch(e.key){case"ArrowLeft":e.preventDefault(),i>0&&this.focusItem(i-1);break;case"ArrowRight":e.preventDefault(),i<t.length-1&&this.focusItem(i+1);break;case"Home":e.preventDefault(),this.focusItem(0);break;case"End":e.preventDefault(),this.focusItem(t.length-1);break;case"Enter":case" ":e.preventDefault(),this.focusedIndex!==-1&&t[this.focusedIndex]?.click()}}}get activeIndex(){return this.activeIndex$.value}set activeIndex(e){this.activeIndex$.next(e)}getItems(){const e=this.shadowRoot?.querySelector("slot");return e?e.assignedElements({flatten:!0}).filter(t=>t.tagName.toLowerCase()==="schmancy-navigation-bar-item"):[]}connectedCallback(){super.connectedCallback(),n.fromEvent(this,"bar-item-click").pipe(d.tap(e=>this.handleItemClick(e)),d.takeUntil(this.disconnecting)).subscribe(),n.fromEvent(this,"keydown").pipe(d.tap(e=>this.handleKeyDown(e)),d.takeUntil(this.disconnecting)).subscribe(),this.activeIndex$.pipe(d.takeUntil(this.disconnecting)).subscribe(e=>{this.updateActiveStates(e)}),n.fromEvent(window,"fullscreen").pipe(d.tap(e=>{const t=e;this.isFullscreen=t.detail}),d.takeUntil(this.disconnecting)).subscribe(),this.hideOnScroll&&this.setupScrollListener(),this.updateItems()}setupScrollListener(){n.fromEvent(window,"scroll").pipe(d.throttleTime(100),d.map(()=>window.scrollY),d.pairwise(),d.filter(([e,t])=>Math.abs(t-e)>this.SCROLL_THRESHOLD),d.tap(([e,t])=>{const i=t<e;t>e&&!this.isHiddenByScroll?this.isHiddenByScroll=!0:i&&this.isHiddenByScroll&&(this.isHiddenByScroll=!1),t<=this.SCROLL_THRESHOLD&&(this.isHiddenByScroll=!1)}),d.takeUntil(this.disconnecting)).subscribe()}focusItem(e){const t=this.getItems();t[e]&&(this.focusedIndex=e,t[e].focus())}updateItems(){const e=this.shadowRoot?.querySelector("slot");if(e){const t=()=>{this.updateActiveStates(this.activeIndex)};e.addEventListener("slotchange",t),t()}}addBoatItem(e){const t=this.querySelector(`[value="${e.id}"]`);if(t)return t;const i=document.createElement("schmancy-navigation-bar-item");return i.setAttribute("value",e.id),i.innerHTML=`
|
|
268
268
|
<schmancy-icon>${e.icon||"widgets"}</schmancy-icon>
|
|
269
269
|
<span>${e.title}</span>
|
|
270
|
-
`,this.appendChild(i),i}updateActiveStates(e){this.getItems().forEach((t,i)=>{const r=t;r.setActive?r.setActive(i===e):r.active=i===e,r.hideLabels=this.hideLabels,t.tabIndex=i===e?0:-1})}updated(e){super.updated(e),e.has("hideLabels")&&this.updateActiveStates(this.activeIndex),e.has("hideOnScroll")&&(this.hideOnScroll&&!e.get("hideOnScroll")?this.setupScrollListener():this.hideOnScroll||(this.isHiddenByScroll=!1))}render(){const e=this.isFullscreen||this.isHiddenByScroll,t={"h-20":!0,"flex items-center justify-around":!0,"px-2 py-3 box-border":!0,"transition-all duration-300 ease-in-out":!0,"shadow-none":this.elevation===0,"shadow-sm":this.elevation===1,"shadow-md":this.elevation===2,"shadow-lg":this.elevation===3,"shadow-xl":this.elevation===4,"shadow-2xl":this.elevation===5},i=e?"translateY(100%)":"translateY(0)";return h.html`
|
|
270
|
+
`,this.appendChild(i),i}updateActiveStates(e){this.getItems().forEach((t,i)=>{const r=t;r.setActive?r.setActive(i===e):r.active=i===e,r.hideLabels=this.hideLabels,t.tabIndex=i===e?0:-1})}updated(e){super.updated(e),e.has("hideLabels")&&this.updateActiveStates(this.activeIndex),e.has("hideOnScroll")&&(this.hideOnScroll&&!e.get("hideOnScroll")?this.setupScrollListener():this.hideOnScroll||(this.isHiddenByScroll=!1))}render(){const e=this.isFullscreen||this.isHiddenByScroll,t={"h-20":!0,"flex items-center justify-around":!0,"px-2 py-3 box-border":!0,"transition-all duration-300 ease-in-out":!0,"z-10":!0,"shadow-none":this.elevation===0,"shadow-sm":this.elevation===1,"shadow-md":this.elevation===2,"shadow-lg":this.elevation===3,"shadow-xl":this.elevation===4,"shadow-2xl":this.elevation===5},i=e?"translateY(100%)":"translateY(0)";return h.html`
|
|
271
271
|
<nav
|
|
272
272
|
class=${this.classMap(t)}
|
|
273
273
|
role="navigation"
|
|
@@ -285,4 +285,4 @@
|
|
|
285
285
|
`}getColorAttributes(){const e={primary:{bgColor:o.SchmancyTheme.sys.color.primary.container,color:o.SchmancyTheme.sys.color.primary.onContainer},secondary:{bgColor:o.SchmancyTheme.sys.color.secondary.container,color:o.SchmancyTheme.sys.color.secondary.onContainer},tertiary:{bgColor:o.SchmancyTheme.sys.color.tertiary.container,color:o.SchmancyTheme.sys.color.tertiary.onContainer},success:{bgColor:o.SchmancyTheme.sys.color.success.container,color:o.SchmancyTheme.sys.color.success.onContainer},error:{bgColor:o.SchmancyTheme.sys.color.error.container,color:o.SchmancyTheme.sys.color.error.onContainer},neutral:{bgColor:o.SchmancyTheme.sys.color.surface.container,color:o.SchmancyTheme.sys.color.surface.on}};return b.color(e[this.color])}renderStatusIndicator(){const e={online:o.SchmancyTheme.sys.color.success.default,offline:o.SchmancyTheme.sys.color.surface.onVariant,busy:o.SchmancyTheme.sys.color.error.default,away:o.SchmancyTheme.sys.color.tertiary.default},t={"absolute bottom-0 right-0 rounded-full border-2 border-surface-default":!0,[{xs:"w-1.5 h-1.5",sm:"w-2 h-2",md:"w-2.5 h-2.5",lg:"w-3 h-3",xl:"w-4 h-4"}[this.size]]:!0};return h.html`
|
|
286
286
|
<div class="${this.classMap(t)}" style="background-color: ${e[this.status]};"></div>
|
|
287
287
|
`}},g([a.property({type:String})],exports.SchmancyAvatar.prototype,"initials",2),g([a.property({type:String})],exports.SchmancyAvatar.prototype,"src",2),g([a.property({type:String})],exports.SchmancyAvatar.prototype,"icon",2),g([a.property({type:String})],exports.SchmancyAvatar.prototype,"size",2),g([a.property({type:String})],exports.SchmancyAvatar.prototype,"color",2),g([a.property({type:String})],exports.SchmancyAvatar.prototype,"shape",2),g([a.property({type:Boolean})],exports.SchmancyAvatar.prototype,"bordered",2),g([a.property({type:String})],exports.SchmancyAvatar.prototype,"status",2),exports.SchmancyAvatar=g([a.customElement("schmancy-avatar")],exports.SchmancyAvatar),exports.$drawer=se,exports.HereMorty=H,exports.SchmancyContentDrawerID=P,exports.SchmancyContentDrawerMaxHeight=O,exports.SchmancyContentDrawerMinWidth=M,exports.SchmancyContentDrawerSheetMode=N,exports.SchmancyContentDrawerSheetState=L,exports.SchmancyDrawerNavbarMode=B,exports.SchmancyDrawerNavbarState=z,exports.WhereAreYouRicky=W,exports.schmancyContentDrawer=G,exports.schmancyNavDrawer=X,exports.teleport=E;
|
|
288
|
-
//# sourceMappingURL=avatar-
|
|
288
|
+
//# sourceMappingURL=avatar-8kT0fLuL.cjs.map
|