@mhmo91/schmancy 0.4.73 → 0.4.74
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/area.md +525 -108
- package/ai/busy.md +2 -1
- package/ai/button.md +4 -0
- package/ai/code-highlight.md +2 -1
- package/ai/content-drawer.md +2 -1
- package/ai/context.md +7 -2
- package/ai/countries.md +2 -1
- package/ai/date-range-inline.md +262 -0
- package/ai/date-range.md +2 -1
- package/ai/details.md +194 -0
- package/ai/dialog.md +2 -1
- package/ai/directives.md +2 -1
- package/ai/form.md +10 -10
- package/ai/list.md +10 -9
- package/ai/mailbox.md +530 -0
- package/ai/map.md +2 -1
- package/ai/notification.md +14 -12
- package/ai/payment-card-form.md +2 -1
- package/ai/sheet.md +6 -4
- package/ai/steps.md +6 -0
- package/ai/store.md +8 -4
- package/ai/surface.md +2 -1
- package/ai/teleport.md +2 -1
- package/ai/theme.md +690 -8
- package/ai/timezone.md +2 -1
- package/ai/typography.md +2 -1
- package/dist/ai/area.md +525 -108
- package/dist/ai/busy.md +2 -1
- package/dist/ai/button.md +4 -0
- package/dist/ai/code-highlight.md +2 -1
- package/dist/ai/content-drawer.md +2 -1
- package/dist/ai/context.md +7 -2
- package/dist/ai/countries.md +2 -1
- package/dist/ai/date-range-inline.md +262 -0
- package/dist/ai/date-range.md +2 -1
- package/dist/ai/details.md +194 -0
- package/dist/ai/dialog.md +2 -1
- package/dist/ai/directives.md +2 -1
- package/dist/ai/form.md +10 -10
- package/dist/ai/list.md +10 -9
- package/dist/ai/mailbox.md +530 -0
- package/dist/ai/map.md +2 -1
- package/dist/ai/notification.md +14 -12
- package/dist/ai/payment-card-form.md +2 -1
- package/dist/ai/sheet.md +6 -4
- package/dist/ai/steps.md +6 -0
- package/dist/ai/store.md +8 -4
- package/dist/ai/surface.md +2 -1
- package/dist/ai/teleport.md +2 -1
- package/dist/ai/theme.md +690 -8
- package/dist/ai/timezone.md +2 -1
- package/dist/ai/typography.md +2 -1
- package/dist/{animated-text-Dj3HHUD4.js → animated-text-CqpyC7Y0.js} +3 -3
- package/dist/{animated-text-Dj3HHUD4.js.map → animated-text-CqpyC7Y0.js.map} +1 -1
- package/dist/{animated-text-CPAqO_J3.cjs → animated-text-DlRt6Q09.cjs} +2 -2
- package/dist/{animated-text-CPAqO_J3.cjs.map → animated-text-DlRt6Q09.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.js +1 -1
- package/dist/{autocomplete-kJ7y028b.js → autocomplete-B-oKMH7m.js} +3 -3
- package/dist/{autocomplete-kJ7y028b.js.map → autocomplete-B-oKMH7m.js.map} +1 -1
- package/dist/{autocomplete-B3ArCTZl.cjs → autocomplete-BOGG_9iL.cjs} +2 -2
- package/dist/{autocomplete-B3ArCTZl.cjs.map → autocomplete-BOGG_9iL.cjs.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{avatar-DI5vtg3k.js → avatar-U5IpwJuj.js} +50 -50
- package/dist/{avatar-DI5vtg3k.js.map → avatar-U5IpwJuj.js.map} +1 -1
- package/dist/{avatar-r7OnlyPP.cjs → avatar-qkIAB2cX.cjs} +2 -2
- package/dist/{avatar-r7OnlyPP.cjs.map → avatar-qkIAB2cX.cjs.map} +1 -1
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-Cp8VgFWP.js → boat-CdR5Pqik.js} +2 -2
- package/dist/{boat-Cp8VgFWP.js.map → boat-CdR5Pqik.js.map} +1 -1
- package/dist/{boat-COlWXsv8.cjs → boat-DMKcZpZb.cjs} +2 -2
- package/dist/{boat-COlWXsv8.cjs.map → boat-DMKcZpZb.cjs.map} +1 -1
- package/dist/boat.cjs +1 -1
- package/dist/boat.js +1 -1
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/button.cjs +1 -1
- package/dist/button.js +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/{checkbox-Cbkcvj-3.js → checkbox-CVwU3M4h.js} +2 -2
- package/dist/{checkbox-Cbkcvj-3.js.map → checkbox-CVwU3M4h.js.map} +1 -1
- package/dist/{checkbox-u355dDEB.cjs → checkbox-DP_zX786.cjs} +2 -2
- package/dist/{checkbox-u355dDEB.cjs.map → checkbox-DP_zX786.cjs.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-BFn88CJs.cjs → chips-BuMUH3zA.cjs} +2 -2
- package/dist/{chips-BFn88CJs.cjs.map → chips-BuMUH3zA.cjs.map} +1 -1
- package/dist/{chips-Y5nzkBJw.js → chips-DcCUwYBu.js} +3 -3
- package/dist/{chips-Y5nzkBJw.js.map → chips-DcCUwYBu.js.map} +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +1 -1
- package/dist/code-highlight.cjs +1 -1
- package/dist/code-highlight.js +1 -1
- package/dist/{code-preview-D2peRzvQ.js → code-preview-CIXEd04f.js} +3 -3
- package/dist/{code-preview-D2peRzvQ.js.map → code-preview-CIXEd04f.js.map} +1 -1
- package/dist/{code-preview-CsQWYHL5.cjs → code-preview-CdCzzZTX.cjs} +3 -3
- package/dist/{code-preview-CsQWYHL5.cjs.map → code-preview-CdCzzZTX.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-Ya1J9HQQ.cjs → date-range-CvD9zwK9.cjs} +2 -2
- package/dist/{date-range-Ya1J9HQQ.cjs.map → date-range-CvD9zwK9.cjs.map} +1 -1
- package/dist/{date-range-inline-Q5qz2lG_.js → date-range-inline-5QP9av94.js} +3 -3
- package/dist/{date-range-inline-Q5qz2lG_.js.map → date-range-inline-5QP9av94.js.map} +1 -1
- package/dist/{date-range-inline-CXBrxoim.cjs → date-range-inline-CP_a_w01.cjs} +2 -2
- package/dist/{date-range-inline-CXBrxoim.cjs.map → date-range-inline-CP_a_w01.cjs.map} +1 -1
- package/dist/date-range-inline.cjs +1 -1
- package/dist/date-range-inline.js +1 -1
- package/dist/{date-range-DnKu_v9b.js → date-range-lJ_fPY4v.js} +4 -4
- package/dist/{date-range-DnKu_v9b.js.map → date-range-lJ_fPY4v.js.map} +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-DVqCtHik.js → delay-BM1jk7XF.js} +2 -2
- package/dist/{delay-DVqCtHik.js.map → delay-BM1jk7XF.js.map} +1 -1
- package/dist/{delay-Dl6B_yyv.cjs → delay-CB0Wohe7.cjs} +2 -2
- package/dist/{delay-Dl6B_yyv.cjs.map → delay-CB0Wohe7.cjs.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{details-w1ooWiKA.js → details-B9JrXrCO.js} +2 -2
- package/dist/{details-w1ooWiKA.js.map → details-B9JrXrCO.js.map} +1 -1
- package/dist/{details-LZ_GGbW-.cjs → details-C22WoRWP.cjs} +2 -2
- package/dist/{details-LZ_GGbW-.cjs.map → details-C22WoRWP.cjs.map} +1 -1
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{dialog-content-B7V_S6GR.js → dialog-content-BHR9cUJ-.js} +4 -4
- package/dist/{dialog-content-B7V_S6GR.js.map → dialog-content-BHR9cUJ-.js.map} +1 -1
- package/dist/{dialog-content-VroTT22f.cjs → dialog-content-CpxWMPlh.cjs} +2 -2
- package/dist/{dialog-content-VroTT22f.cjs.map → dialog-content-CpxWMPlh.cjs.map} +1 -1
- package/dist/{dialog-service-Dpz_NIRP.js → dialog-service-DwhuICgc.js} +2 -2
- package/dist/dialog-service-DwhuICgc.js.map +1 -0
- package/dist/dialog-service-juvsgc5X.cjs +2 -0
- package/dist/dialog-service-juvsgc5X.cjs.map +1 -0
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +2 -2
- package/dist/{divider-OuCqxcUB.js → divider-Cz4g_Ept.js} +3 -3
- package/dist/{divider-OuCqxcUB.js.map → divider-Cz4g_Ept.js.map} +1 -1
- package/dist/{divider-CegpMW-2.cjs → divider-DAg0oW4T.cjs} +2 -2
- package/dist/{divider-CegpMW-2.cjs.map → divider-DAg0oW4T.cjs.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-BuKCBydD.js → dropdown-content-Bto1swKT.js} +3 -3
- package/dist/{dropdown-content-BuKCBydD.js.map → dropdown-content-Bto1swKT.js.map} +1 -1
- package/dist/{dropdown-content-f0LuoUKR.cjs → dropdown-content-QvR9QvT0.cjs} +2 -2
- package/dist/{dropdown-content-f0LuoUKR.cjs.map → dropdown-content-QvR9QvT0.cjs.map} +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/{email-recipients-CvSwxcso.js → email-recipients-C9Yx0eML.js} +7 -7
- package/dist/{email-recipients-CvSwxcso.js.map → email-recipients-C9Yx0eML.js.map} +1 -1
- package/dist/{email-recipients-BlEtpbdr.cjs → email-recipients-aEI5Hz1y.cjs} +2 -2
- package/dist/{email-recipients-BlEtpbdr.cjs.map → email-recipients-aEI5Hz1y.cjs.map} +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{flex-HyTTaFX9.js → flex-8Zt64KfZ.js} +2 -2
- package/dist/{flex-HyTTaFX9.js.map → flex-8Zt64KfZ.js.map} +1 -1
- package/dist/{flex-Cdv04m_E.cjs → flex-BWZv2xik.cjs} +2 -2
- package/dist/{flex-Cdv04m_E.cjs.map → flex-BWZv2xik.cjs.map} +1 -1
- package/dist/{form-CXRNS-AS.cjs → form-BH43OMu3.cjs} +2 -2
- package/dist/{form-CXRNS-AS.cjs.map → form-BH43OMu3.cjs.map} +1 -1
- package/dist/{form-BNTXCzQo.js → form-DeoSuBtM.js} +2 -2
- package/dist/{form-BNTXCzQo.js.map → form-DeoSuBtM.js.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{formField.mixin-MhetZTeW.js → formField.mixin-BaPL0TYo.js} +2 -2
- package/dist/{formField.mixin-MhetZTeW.js.map → formField.mixin-BaPL0TYo.js.map} +1 -1
- package/dist/{formField.mixin-zezhhNIA.cjs → formField.mixin-Dta3OeAY.cjs} +2 -2
- package/dist/{formField.mixin-zezhhNIA.cjs.map → formField.mixin-Dta3OeAY.cjs.map} +1 -1
- package/dist/{icon-C71zn7AW.js → icon-B0JNrBfq.js} +2 -2
- package/dist/{icon-C71zn7AW.js.map → icon-B0JNrBfq.js.map} +1 -1
- package/dist/{icon-e6XggWlw.cjs → icon-DY2pBLIU.cjs} +2 -2
- package/dist/{icon-e6XggWlw.cjs.map → icon-DY2pBLIU.cjs.map} +1 -1
- package/dist/{icon-button-CO8rMFUR.cjs → icon-button-D1GjgM8z.cjs} +2 -2
- package/dist/{icon-button-CO8rMFUR.cjs.map → icon-button-D1GjgM8z.cjs.map} +1 -1
- package/dist/{icon-button-KoYGGW6a.js → icon-button-OZM1xg0D.js} +3 -3
- package/dist/{icon-button-KoYGGW6a.js.map → icon-button-OZM1xg0D.js.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +76 -74
- package/dist/index.js.map +1 -1
- package/dist/{input-LTpT28E4.js → input-CkvjCut5.js} +3 -3
- package/dist/{input-LTpT28E4.js.map → input-CkvjCut5.js.map} +1 -1
- package/dist/{input-CFvMe_KR.cjs → input-lUWuO40Q.cjs} +2 -2
- package/dist/{input-CFvMe_KR.cjs.map → input-lUWuO40Q.cjs.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-CAJJTrLl.js → list-5rw56k73.js} +2 -2
- package/dist/{list-CAJJTrLl.js.map → list-5rw56k73.js.map} +1 -1
- package/dist/{list-D2dyHYN9.cjs → list-CIt75CB5.cjs} +2 -2
- package/dist/{list-D2dyHYN9.cjs.map → list-CIt75CB5.cjs.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-4iclDbF3.cjs → litElement.mixin-BLa7fWsS.cjs} +2 -2
- package/dist/{litElement.mixin-4iclDbF3.cjs.map → litElement.mixin-BLa7fWsS.cjs.map} +1 -1
- package/dist/{litElement.mixin-SeAIQuRg.js → litElement.mixin-BZErt4H3.js} +2 -2
- package/dist/{litElement.mixin-SeAIQuRg.js.map → litElement.mixin-BZErt4H3.js.map} +1 -1
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/{map-CMkosiu4.cjs → map-BY_0W4ER.cjs} +2 -2
- package/dist/{map-CMkosiu4.cjs.map → map-BY_0W4ER.cjs.map} +1 -1
- package/dist/{map-DwMX_LnY.js → map-BrguuFGa.js} +2 -2
- package/dist/{map-DwMX_LnY.js.map → map-BrguuFGa.js.map} +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/{media-B98kFRvT.js → media-CLz2t5zS.js} +2 -2
- package/dist/{media-B98kFRvT.js.map → media-CLz2t5zS.js.map} +1 -1
- package/dist/{media-DxbLFhc5.cjs → media-D6ZtvTjC.cjs} +2 -2
- package/dist/{media-DxbLFhc5.cjs.map → media-D6ZtvTjC.cjs.map} +1 -1
- package/dist/{menu-ChMwBut9.js → menu-CgDSJpDV.js} +3 -3
- package/dist/{menu-ChMwBut9.js.map → menu-CgDSJpDV.js.map} +1 -1
- package/dist/{menu-DTRbll_X.cjs → menu-DWD_IywE.cjs} +2 -2
- package/dist/{menu-DTRbll_X.cjs.map → menu-DWD_IywE.cjs.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +1 -1
- package/dist/{notification-service-BiEAwrL6.js → notification-service-1HGYK2tM.js} +4 -4
- package/dist/{notification-service-BiEAwrL6.js.map → notification-service-1HGYK2tM.js.map} +1 -1
- package/dist/{notification-service-h3GuXar7.cjs → notification-service-A3reAJZQ.cjs} +2 -2
- package/dist/{notification-service-h3GuXar7.cjs.map → notification-service-A3reAJZQ.cjs.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +2 -2
- package/dist/{notify-1NUgv3Qz.js → notify-Bt-KiLeP.js} +2 -2
- package/dist/{notify-1NUgv3Qz.js.map → notify-Bt-KiLeP.js.map} +1 -1
- package/dist/{notify-CP9929J0.cjs → notify-CVbsMt75.cjs} +2 -2
- package/dist/{notify-CP9929J0.cjs.map → notify-CVbsMt75.cjs.map} +1 -1
- package/dist/{option-VxlQIYFR.cjs → option-Cd0TxMBE.cjs} +2 -2
- package/dist/{option-VxlQIYFR.cjs.map → option-Cd0TxMBE.cjs.map} +1 -1
- package/dist/{option-DvEFWkrm.js → option-DvSZ0D0R.js} +2 -2
- package/dist/{option-DvEFWkrm.js.map → option-DvSZ0D0R.js.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{payment-card-form-CEd08rns.js → payment-card-form-C6wrIT_X.js} +3 -3
- package/dist/{payment-card-form-CEd08rns.js.map → payment-card-form-C6wrIT_X.js.map} +1 -1
- package/dist/{payment-card-form-CAPM_YfT.cjs → payment-card-form-CJkWQ3j4.cjs} +2 -2
- package/dist/{payment-card-form-CAPM_YfT.cjs.map → payment-card-form-CJkWQ3j4.cjs.map} +1 -1
- package/dist/{progress-Bu8wtPRI.cjs → progress-D0iWLtHk.cjs} +2 -2
- package/dist/{progress-Bu8wtPRI.cjs.map → progress-D0iWLtHk.cjs.map} +1 -1
- package/dist/{progress-CL4SPk5b.js → progress-pOL6OHwT.js} +2 -2
- package/dist/{progress-CL4SPk5b.js.map → progress-pOL6OHwT.js.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{radio-button-B087BeTl.js → radio-button-C-t6JJsj.js} +3 -3
- package/dist/{radio-button-B087BeTl.js.map → radio-button-C-t6JJsj.js.map} +1 -1
- package/dist/{radio-button-vz9nLR-m.cjs → radio-button-CSV7-ftB.cjs} +2 -2
- package/dist/{radio-button-vz9nLR-m.cjs.map → radio-button-CSV7-ftB.cjs.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{route.component-ke_nkgvP.cjs → route.component-DaBx0B3g.cjs} +3 -3
- package/dist/route.component-DaBx0B3g.cjs.map +1 -0
- package/dist/{route.component-D1xujH8n.js → route.component-DlVlAMWF.js} +66 -68
- package/dist/route.component-DlVlAMWF.js.map +1 -0
- package/dist/{schmancy-steps-container-CEvpeKIe.js → schmancy-steps-container-AIJ2_ZSN.js} +2 -2
- package/dist/{schmancy-steps-container-CEvpeKIe.js.map → schmancy-steps-container-AIJ2_ZSN.js.map} +1 -1
- package/dist/{schmancy-steps-container-DvSClSo1.cjs → schmancy-steps-container-CgzGlBCk.cjs} +2 -2
- package/dist/{schmancy-steps-container-DvSClSo1.cjs.map → schmancy-steps-container-CgzGlBCk.cjs.map} +1 -1
- package/dist/{select-BoUYZPyl.js → select-CwJ4OuVo.js} +3 -3
- package/dist/{select-BoUYZPyl.js.map → select-CwJ4OuVo.js.map} +1 -1
- package/dist/{select-4VXPMU8r.cjs → select-GBaqnfMC.cjs} +2 -2
- package/dist/{select-4VXPMU8r.cjs.map → select-GBaqnfMC.cjs.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-IfHxyIo_.cjs → sheet-CXd47YKG.cjs} +2 -2
- package/dist/{sheet-IfHxyIo_.cjs.map → sheet-CXd47YKG.cjs.map} +1 -1
- package/dist/{sheet-C6djCmPV.js → sheet-fT1oxKgG.js} +4 -4
- package/dist/{sheet-C6djCmPV.js.map → sheet-fT1oxKgG.js.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +2 -2
- package/dist/sheet.service-BxvWBGsJ.cjs +2 -0
- package/dist/sheet.service-BxvWBGsJ.cjs.map +1 -0
- package/dist/{sheet.service-DZGMoIHy.js → sheet.service-lXqUf6n5.js} +2 -2
- package/dist/sheet.service-lXqUf6n5.js.map +1 -0
- package/dist/{slider-DERHNjqI.js → slider-CYsku-3b.js} +3 -3
- package/dist/{slider-DERHNjqI.js.map → slider-CYsku-3b.js.map} +1 -1
- package/dist/{slider-BfNNQ6qI.cjs → slider-DxSzFbQe.cjs} +2 -2
- package/dist/{slider-BfNNQ6qI.cjs.map → slider-DxSzFbQe.cjs.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-BOdUWwXq.js → spinner-CrK1E8LD.js} +2 -2
- package/dist/{spinner-BOdUWwXq.js.map → spinner-CrK1E8LD.js.map} +1 -1
- package/dist/{spinner-Bip-lfsc.cjs → spinner-DrG_NQpx.cjs} +2 -2
- package/dist/{spinner-Bip-lfsc.cjs.map → spinner-DrG_NQpx.cjs.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{surface-CyhVK7JG.js → surface-C64YekDh.js} +2 -2
- package/dist/{surface-CyhVK7JG.js.map → surface-C64YekDh.js.map} +1 -1
- package/dist/{surface--Nh6Q896.cjs → surface-DVNi8l6T.cjs} +2 -2
- package/dist/{surface--Nh6Q896.cjs.map → surface-DVNi8l6T.cjs.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-x9dbc3AY.cjs → table-B3WKGYlu.cjs} +2 -2
- package/dist/{table-x9dbc3AY.cjs.map → table-B3WKGYlu.cjs.map} +1 -1
- package/dist/{table-DnPQ0zCd.js → table-DmrYZ1hR.js} +2 -2
- package/dist/{table-DnPQ0zCd.js.map → table-DmrYZ1hR.js.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-D3HfZRKv.cjs → tabs-compatibility-Ds7SEeST.cjs} +2 -2
- package/dist/{tabs-compatibility-D3HfZRKv.cjs.map → tabs-compatibility-Ds7SEeST.cjs.map} +1 -1
- package/dist/{tabs-compatibility-Dazz1g0Q.js → tabs-compatibility-Uetjk25R.js} +2 -2
- package/dist/{tabs-compatibility-Dazz1g0Q.js.map → tabs-compatibility-Uetjk25R.js.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/{tailwind.mixin-kvywknTU.js → tailwind.mixin-B6ADeWOc.js} +2 -2
- package/dist/{tailwind.mixin-kvywknTU.js.map → tailwind.mixin-B6ADeWOc.js.map} +1 -1
- package/dist/{tailwind.mixin-Bwf86oi5.cjs → tailwind.mixin-df9KoZ9x.cjs} +2 -2
- package/dist/{tailwind.mixin-Bwf86oi5.cjs.map → tailwind.mixin-df9KoZ9x.cjs.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-bHJFDEva.js → textarea-B1Tng7F9.js} +2 -2
- package/dist/{textarea-bHJFDEva.js.map → textarea-B1Tng7F9.js.map} +1 -1
- package/dist/{textarea-xRo6a5-Y.cjs → textarea-QKNA3oAQ.cjs} +2 -2
- package/dist/{textarea-xRo6a5-Y.cjs.map → textarea-QKNA3oAQ.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-BPFuZSBY.js → theme-button-CYEhS3ub.js} +2 -2
- package/dist/{theme-button-BPFuZSBY.js.map → theme-button-CYEhS3ub.js.map} +1 -1
- package/dist/{theme-button-lvD9uCTZ.cjs → theme-button-CoCFS3Rx.cjs} +2 -2
- package/dist/{theme-button-lvD9uCTZ.cjs.map → theme-button-CoCFS3Rx.cjs.map} +1 -1
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/theme.component-C12jLwtB.cjs +3 -0
- package/dist/theme.component-C12jLwtB.cjs.map +1 -0
- package/dist/{theme.component-C-PfGTcN.js → theme.component-Df731_fn.js} +247 -171
- package/dist/theme.component-Df731_fn.js.map +1 -0
- package/dist/theme.events-CPSLaOlR.js +6 -0
- package/dist/theme.events-CPSLaOlR.js.map +1 -0
- package/dist/theme.events-Car6U_SQ.cjs +2 -0
- package/dist/theme.events-Car6U_SQ.cjs.map +1 -0
- package/dist/theme.interface-C5Kj6WjD.js.map +1 -1
- package/dist/theme.interface-Xg5Zi46a.cjs.map +1 -1
- package/dist/theme.js +9 -7
- package/dist/theme.js.map +1 -1
- package/dist/{timezone-OLjylRB7.cjs → timezone-B7bscKFN.cjs} +2 -2
- package/dist/{timezone-OLjylRB7.cjs.map → timezone-B7bscKFN.cjs.map} +1 -1
- package/dist/{timezone-BDSbTYTk.js → timezone-CdtCVjMF.js} +3 -3
- package/dist/{timezone-BDSbTYTk.js.map → timezone-CdtCVjMF.js.map} +1 -1
- package/dist/{tooltip-iM0cfzsV.cjs → tooltip-CjoNCIvr.cjs} +2 -2
- package/dist/{tooltip-iM0cfzsV.cjs.map → tooltip-CjoNCIvr.cjs.map} +1 -1
- package/dist/{tooltip-CWiU3SEA.js → tooltip-JVkexTyf.js} +2 -2
- package/dist/{tooltip-CWiU3SEA.js.map → tooltip-JVkexTyf.js.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-CXIrKI2O.cjs → tree-Be48ABq4.cjs} +2 -2
- package/dist/{tree-CXIrKI2O.cjs.map → tree-Be48ABq4.cjs.map} +1 -1
- package/dist/{tree-JUf2hHiW.js → tree-CaqiNcJJ.js} +2 -2
- package/dist/{tree-JUf2hHiW.js.map → tree-CaqiNcJJ.js.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-DQuULTla.js → typewriter-CoMrmwFJ.js} +8 -8
- package/dist/{typewriter-DQuULTla.js.map → typewriter-CoMrmwFJ.js.map} +1 -1
- package/dist/{typewriter-YW7NGa6H.cjs → typewriter-DCYDScE9.cjs} +2 -2
- package/dist/{typewriter-YW7NGa6H.cjs.map → typewriter-DCYDScE9.cjs.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-CkLztts5.cjs → typography-BQg6J2hD.cjs} +2 -2
- package/dist/{typography-CkLztts5.cjs.map → typography-BQg6J2hD.cjs.map} +1 -1
- package/dist/{typography-kXb173Io.js → typography-DkJagEoF.js} +2 -2
- package/dist/{typography-kXb173Io.js.map → typography-DkJagEoF.js.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +1 -1
- package/types/src/theme/context.d.ts +24 -0
- package/types/src/theme/index.d.ts +2 -0
- package/types/src/theme/theme.component.d.ts +49 -6
- package/types/src/theme/theme.events.d.ts +55 -0
- package/types/src/theme/theme.interface.d.ts +36 -0
- package/types/src/theme/theme.service.d.ts +261 -0
- package/dist/dialog-service-Dpz_NIRP.js.map +0 -1
- package/dist/dialog-service-Wna1JO09.cjs +0 -2
- package/dist/dialog-service-Wna1JO09.cjs.map +0 -1
- package/dist/route.component-D1xujH8n.js.map +0 -1
- package/dist/route.component-ke_nkgvP.cjs.map +0 -1
- package/dist/sheet.service-DR9KJfMa.cjs +0 -2
- package/dist/sheet.service-DR9KJfMa.cjs.map +0 -1
- package/dist/sheet.service-DZGMoIHy.js.map +0 -1
- package/dist/theme.component-C-PfGTcN.js.map +0 -1
- package/dist/theme.component-DkcM8QzH.cjs +0 -3
- package/dist/theme.component-DkcM8QzH.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocomplete-B3ArCTZl.cjs","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 {\n BehaviorSubject,\n combineLatest,\n EMPTY,\n fromEvent,\n of,\n Subject,\n timer\n} from 'rxjs'\nimport {\n debounceTime,\n distinctUntilChanged,\n filter,\n switchMap,\n take,\n takeUntil,\n tap,\n withLatestFrom\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\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 // 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 = 'on'\n @property({ type: Number }) debounceMs = 200\n @property({ type: Number }) similarityThreshold = 0.3 // Minimum similarity score to show option\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._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 if (this.multi) {\n this._selectedValues$.next(\n val ? val.split(',').map(v => v.trim()).filter(Boolean) : []\n )\n } else {\n this._selectedValue$.next(val)\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\n private _selectedValue$ = new BehaviorSubject<string>('')\n private _selectedValues$ = new BehaviorSubject<string[]>([])\n private _inputValue$ = new BehaviorSubject<string>('')\n private _open$ = new BehaviorSubject<boolean>(false)\n private _options$ = new BehaviorSubject<SchmancyOption[]>([])\n private _optionSelect$ = new Subject<SchmancyOption>()\n private _documentClick$ = new Subject<MouseEvent>()\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 // Complex autofill detection disabled - using simple auto-select on blur instead\n // this._setupAutofillDetection()\n }\n\n private _setupAutocompleteLogic() {\n // Options management pipeline\n this._options$.pipe(\n tap(options => {\n 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 if (!option.hasAttribute('data-event-bound')) {\n fromEvent(option, 'pointerdown').pipe(\n tap(e => {\n e.preventDefault() // Prevent blur from firing\n e.stopPropagation()\n }),\n takeUntil(this.disconnecting)\n ).subscribe(() => this._optionSelect$.next(option))\n option.setAttribute('data-event-bound', 'true')\n }\n })\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n\n // Selection sync pipeline\n combineLatest([\n this._selectedValue$,\n this._selectedValues$,\n this._options$\n ]).pipe(\n tap(([selectedValue, selectedValues, options]) => {\n 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 takeUntil(this.disconnecting)\n ).subscribe()\n\n // Enhanced fuzzy filtering pipeline\n this._inputValue$.pipe(\n distinctUntilChanged(),\n debounceTime(this.debounceMs),\n withLatestFrom(this._options$, this._open$),\n tap(([searchTerm, options, isOpen]) => {\n if (!isOpen) return\n\n const term = searchTerm.trim()\n \n if (!term) {\n // Show all options if no search term\n options.forEach(option => {\n option.hidden = false\n option.style.order = '0' // Reset order\n })\n this._visibleOptionsCount = options.length\n this._hasResults = true\n } else {\n // Calculate similarity scores for all options\n const scoredOptions: FilteredOption[] = options.map(option => {\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(term, optionLabel)\n const valueScore = similarity(term, 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 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 // Hide options below threshold\n if (score < this.similarityThreshold) {\n option.hidden = true\n } else {\n option.hidden = false\n visibleCount++\n // Use CSS order to sort visible options by relevance\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 takeUntil(this.disconnecting)\n ).subscribe()\n\n // Option selection pipeline\n this._optionSelect$.pipe(\n withLatestFrom(this._selectedValue$, this._selectedValues$),\n tap(([option, _, currentValues]) => {\n if (this.multi) {\n const index = currentValues.indexOf(option.value)\n const newValues = index > -1\n ? [...currentValues.slice(0, index), ...currentValues.slice(index + 1)]\n : [...currentValues, option.value]\n this._selectedValues$.next(newValues)\n \n this._inputValue$.next('')\n this._inputValue = ''\n \n const labels = this._getSelectedLabels()\n this._announceToScreenReader(\n labels.length > 0 \n ? `Selected: ${labels.join(', ')}`\n : 'No options selected'\n )\n } else {\n this._selectedValue$.next(option.value)\n this._open$.next(false)\n this._open = false\n \n this._inputValue = option.label || option.textContent || ''\n this._inputValue$.next(this._inputValue)\n \n timer(100).pipe(\n tap(() => this._inputElementRef.value?.blur()),\n take(1)\n ).subscribe()\n \n this._announceToScreenReader(`Selected: ${option.label || option.textContent}`)\n }\n }),\n tap(() => this._fireChangeEvent()),\n takeUntil(this.disconnecting)\n ).subscribe()\n\n // Display update pipeline\n combineLatest([\n this._open$,\n this._selectedValue$,\n this._selectedValues$,\n this._options$\n ]).pipe(\n filter(() => !this._open$.value),\n tap(([, selectedValue, selectedValues, options]) => {\n if (this.multi) {\n const labels = options\n .filter(opt => selectedValues.includes(opt.value))\n .map(opt => opt.label || opt.textContent || '')\n this._inputValue = labels.join(', ')\n } else {\n const option = options.find(opt => opt.value === selectedValue)\n this._inputValue = option ? option.label || option.textContent || '' : ''\n }\n this._inputValue$.next(this._inputValue)\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n\n // Open state sync\n this._open$.pipe(\n tap(open => this._open = open),\n takeUntil(this.disconnecting)\n ).subscribe()\n }\n\n private _setupDocumentClickHandler() {\n this._documentClick$.pipe(\n filter(e => !e.composedPath().includes(this)),\n filter(e => !this._options.some(opt => e.composedPath().includes(opt))),\n filter(() => this._open),\n tap(() => {\n this._open$.next(false)\n this._updateInputDisplay()\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n\n this._open$.pipe(\n distinctUntilChanged(),\n switchMap(open => \n open \n ? timer(10).pipe(\n tap(() => document.addEventListener('click', e => this._documentClick$.next(e))),\n switchMap(() => EMPTY)\n )\n : of(null).pipe(\n tap(() => document.removeEventListener('click', e => this._documentClick$.next(e)))\n )\n ),\n takeUntil(this.disconnecting)\n ).subscribe()\n }\n\n\n private _updateInputDisplay() {\n of(null).pipe(\n withLatestFrom(\n this._selectedValue$,\n this._selectedValues$,\n this._options$,\n this._open$\n ),\n tap(([, selectedValue, selectedValues, options, isOpen]) => {\n if (!this._inputElementRef.value) return\n\n if (!isOpen || !this.multi) {\n if (this.multi) {\n const labels = options\n .filter(opt => selectedValues.includes(opt.value))\n .map(opt => opt.label || opt.textContent || '')\n this._inputValue = labels.join(', ')\n } else {\n const option = options.find(opt => opt.value === selectedValue)\n this._inputValue = option ? option.label || option.textContent || '' : ''\n }\n this._inputValue$.next(this._inputValue)\n this._inputElementRef.value.value = this._inputValue\n }\n }),\n take(1)\n ).subscribe()\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 // Auto-selection now happens on blur, no need for autofill detection\n }\n\n render() {\n const descriptionId = `${this.id}-desc`\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 <!-- Input -->\n <slot name=\"trigger\">\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 \n const hasSelection = this.multi \n ? this._selectedValues$.value.length > 0\n : !!this._selectedValue$.value\n \n if (this.multi && !hasSelection) {\n this._inputValue = ''\n this._inputValue$.next('')\n if (this._inputElementRef.value) {\n this._inputElementRef.value.value = ''\n }\n }\n \n this._open$.next(true)\n }}\n @click=${(e: MouseEvent) => {\n e.stopPropagation()\n this._open$.next(true)\n }}\n @keydown=${(e: KeyboardEvent) => {\n this._handleKeyDown(e)\n }}\n @blur=${() => {\n this._handleAutoSelectOnBlur()\n }}\n >\n </schmancy-input>\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._options$.next(this._options)\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 // Select the option using the existing pipeline\n this._optionSelect$.next(bestMatch)\n \n // Close the dropdown\n this._open$.next(false)\n this._open = false\n \n }\n }\n\n private _handleKeyDown(_e: KeyboardEvent) {\n fromEvent<KeyboardEvent>(document, 'keydown').pipe(\n take(1),\n withLatestFrom(this._open$, this._options$),\n tap(([event, isOpen, options]) => {\n if (!isOpen && (event.key === 'ArrowDown' || event.key === 'Enter')) {\n event.preventDefault()\n this._open$.next(true)\n \n timer(10).pipe(\n tap(() => {\n const firstVisible = options.find(opt => !opt.hidden)\n firstVisible?.focus()\n }),\n take(1)\n ).subscribe()\n return\n }\n\n if (!isOpen) return\n\n const visibleOptions = 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$.next(false)\n this._updateInputDisplay()\n this._inputElementRef.value?.focus()\n break\n\n case 'Tab':\n this._open$.next(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._optionSelect$.next(focusedOption)\n }\n break\n }\n })\n ).subscribe()\n }\n}\n\n\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'schmancy-autocomplete': SchmancyAutocomplete\n }\n}"],"names":["SchmancyAutocomplete","$LitElement","constructor","super","arguments","this","required","placeholder","label","name","maxHeight","multi","description","size","autocomplete","debounceMs","similarityThreshold","_open","_inputValue","_visibleOptionsCount","_hasResults","_inputElementRef","createRef","_selectedValue$","BehaviorSubject","_selectedValues$","_inputValue$","_open$","_options$","_optionSelect$","Subject","_documentClick$","values","value","vals","next","Array","isArray","join","val","split","map","v","trim","filter","Boolean","connectedCallback","id","Math","random","toString","slice","_setupAutocompleteLogic","_setupDocumentClickHandler","pipe","tap","options","forEach","option","index","setAttribute","tabIndex","hasAttribute","fromEvent","e","preventDefault","stopPropagation","takeUntil","disconnecting","subscribe","combineLatest","selectedValue","selectedValues","selected","includes","String","distinctUntilChanged","debounceTime","withLatestFrom","searchTerm","isOpen","term","scoredOptions","optionLabel","textContent","optionValue","labelScore","similarity","valueScore","score","max","sort","a","b","visibleCount","item","hidden","style","order","length","_announceToScreenReader","_","currentValues","indexOf","newValues","labels","_getSelectedLabels","timer","blur","take","_fireChangeEvent","opt","find","open","composedPath","_options","some","_updateInputDisplay","switchMap","document","addEventListener","EMPTY","of","removeEventListener","message","liveRegion","shadowRoot","querySelector","detail","dispatchEvent","CustomEvent","bubbles","composed","checkValidity","reportValidity","firstUpdated","render","descriptionId","html","ref","toLowerCase","replace","target","hasSelection","_handleKeyDown","_handleAutoSelectOnBlur","classMap","absolute","flex","bestMatch","bestScore","_e","event","key","focus","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-BOGG_9iL.cjs","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 {\n BehaviorSubject,\n combineLatest,\n EMPTY,\n fromEvent,\n of,\n Subject,\n timer\n} from 'rxjs'\nimport {\n debounceTime,\n distinctUntilChanged,\n filter,\n switchMap,\n take,\n takeUntil,\n tap,\n withLatestFrom\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\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 // 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 = 'on'\n @property({ type: Number }) debounceMs = 200\n @property({ type: Number }) similarityThreshold = 0.3 // Minimum similarity score to show option\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._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 if (this.multi) {\n this._selectedValues$.next(\n val ? val.split(',').map(v => v.trim()).filter(Boolean) : []\n )\n } else {\n this._selectedValue$.next(val)\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\n private _selectedValue$ = new BehaviorSubject<string>('')\n private _selectedValues$ = new BehaviorSubject<string[]>([])\n private _inputValue$ = new BehaviorSubject<string>('')\n private _open$ = new BehaviorSubject<boolean>(false)\n private _options$ = new BehaviorSubject<SchmancyOption[]>([])\n private _optionSelect$ = new Subject<SchmancyOption>()\n private _documentClick$ = new Subject<MouseEvent>()\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 // Complex autofill detection disabled - using simple auto-select on blur instead\n // this._setupAutofillDetection()\n }\n\n private _setupAutocompleteLogic() {\n // Options management pipeline\n this._options$.pipe(\n tap(options => {\n 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 if (!option.hasAttribute('data-event-bound')) {\n fromEvent(option, 'pointerdown').pipe(\n tap(e => {\n e.preventDefault() // Prevent blur from firing\n e.stopPropagation()\n }),\n takeUntil(this.disconnecting)\n ).subscribe(() => this._optionSelect$.next(option))\n option.setAttribute('data-event-bound', 'true')\n }\n })\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n\n // Selection sync pipeline\n combineLatest([\n this._selectedValue$,\n this._selectedValues$,\n this._options$\n ]).pipe(\n tap(([selectedValue, selectedValues, options]) => {\n 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 takeUntil(this.disconnecting)\n ).subscribe()\n\n // Enhanced fuzzy filtering pipeline\n this._inputValue$.pipe(\n distinctUntilChanged(),\n debounceTime(this.debounceMs),\n withLatestFrom(this._options$, this._open$),\n tap(([searchTerm, options, isOpen]) => {\n if (!isOpen) return\n\n const term = searchTerm.trim()\n \n if (!term) {\n // Show all options if no search term\n options.forEach(option => {\n option.hidden = false\n option.style.order = '0' // Reset order\n })\n this._visibleOptionsCount = options.length\n this._hasResults = true\n } else {\n // Calculate similarity scores for all options\n const scoredOptions: FilteredOption[] = options.map(option => {\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(term, optionLabel)\n const valueScore = similarity(term, 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 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 // Hide options below threshold\n if (score < this.similarityThreshold) {\n option.hidden = true\n } else {\n option.hidden = false\n visibleCount++\n // Use CSS order to sort visible options by relevance\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 takeUntil(this.disconnecting)\n ).subscribe()\n\n // Option selection pipeline\n this._optionSelect$.pipe(\n withLatestFrom(this._selectedValue$, this._selectedValues$),\n tap(([option, _, currentValues]) => {\n if (this.multi) {\n const index = currentValues.indexOf(option.value)\n const newValues = index > -1\n ? [...currentValues.slice(0, index), ...currentValues.slice(index + 1)]\n : [...currentValues, option.value]\n this._selectedValues$.next(newValues)\n \n this._inputValue$.next('')\n this._inputValue = ''\n \n const labels = this._getSelectedLabels()\n this._announceToScreenReader(\n labels.length > 0 \n ? `Selected: ${labels.join(', ')}`\n : 'No options selected'\n )\n } else {\n this._selectedValue$.next(option.value)\n this._open$.next(false)\n this._open = false\n \n this._inputValue = option.label || option.textContent || ''\n this._inputValue$.next(this._inputValue)\n \n timer(100).pipe(\n tap(() => this._inputElementRef.value?.blur()),\n take(1)\n ).subscribe()\n \n this._announceToScreenReader(`Selected: ${option.label || option.textContent}`)\n }\n }),\n tap(() => this._fireChangeEvent()),\n takeUntil(this.disconnecting)\n ).subscribe()\n\n // Display update pipeline\n combineLatest([\n this._open$,\n this._selectedValue$,\n this._selectedValues$,\n this._options$\n ]).pipe(\n filter(() => !this._open$.value),\n tap(([, selectedValue, selectedValues, options]) => {\n if (this.multi) {\n const labels = options\n .filter(opt => selectedValues.includes(opt.value))\n .map(opt => opt.label || opt.textContent || '')\n this._inputValue = labels.join(', ')\n } else {\n const option = options.find(opt => opt.value === selectedValue)\n this._inputValue = option ? option.label || option.textContent || '' : ''\n }\n this._inputValue$.next(this._inputValue)\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n\n // Open state sync\n this._open$.pipe(\n tap(open => this._open = open),\n takeUntil(this.disconnecting)\n ).subscribe()\n }\n\n private _setupDocumentClickHandler() {\n this._documentClick$.pipe(\n filter(e => !e.composedPath().includes(this)),\n filter(e => !this._options.some(opt => e.composedPath().includes(opt))),\n filter(() => this._open),\n tap(() => {\n this._open$.next(false)\n this._updateInputDisplay()\n }),\n takeUntil(this.disconnecting)\n ).subscribe()\n\n this._open$.pipe(\n distinctUntilChanged(),\n switchMap(open => \n open \n ? timer(10).pipe(\n tap(() => document.addEventListener('click', e => this._documentClick$.next(e))),\n switchMap(() => EMPTY)\n )\n : of(null).pipe(\n tap(() => document.removeEventListener('click', e => this._documentClick$.next(e)))\n )\n ),\n takeUntil(this.disconnecting)\n ).subscribe()\n }\n\n\n private _updateInputDisplay() {\n of(null).pipe(\n withLatestFrom(\n this._selectedValue$,\n this._selectedValues$,\n this._options$,\n this._open$\n ),\n tap(([, selectedValue, selectedValues, options, isOpen]) => {\n if (!this._inputElementRef.value) return\n\n if (!isOpen || !this.multi) {\n if (this.multi) {\n const labels = options\n .filter(opt => selectedValues.includes(opt.value))\n .map(opt => opt.label || opt.textContent || '')\n this._inputValue = labels.join(', ')\n } else {\n const option = options.find(opt => opt.value === selectedValue)\n this._inputValue = option ? option.label || option.textContent || '' : ''\n }\n this._inputValue$.next(this._inputValue)\n this._inputElementRef.value.value = this._inputValue\n }\n }),\n take(1)\n ).subscribe()\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 // Auto-selection now happens on blur, no need for autofill detection\n }\n\n render() {\n const descriptionId = `${this.id}-desc`\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 <!-- Input -->\n <slot name=\"trigger\">\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 \n const hasSelection = this.multi \n ? this._selectedValues$.value.length > 0\n : !!this._selectedValue$.value\n \n if (this.multi && !hasSelection) {\n this._inputValue = ''\n this._inputValue$.next('')\n if (this._inputElementRef.value) {\n this._inputElementRef.value.value = ''\n }\n }\n \n this._open$.next(true)\n }}\n @click=${(e: MouseEvent) => {\n e.stopPropagation()\n this._open$.next(true)\n }}\n @keydown=${(e: KeyboardEvent) => {\n this._handleKeyDown(e)\n }}\n @blur=${() => {\n this._handleAutoSelectOnBlur()\n }}\n >\n </schmancy-input>\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._options$.next(this._options)\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 // Select the option using the existing pipeline\n this._optionSelect$.next(bestMatch)\n \n // Close the dropdown\n this._open$.next(false)\n this._open = false\n \n }\n }\n\n private _handleKeyDown(_e: KeyboardEvent) {\n fromEvent<KeyboardEvent>(document, 'keydown').pipe(\n take(1),\n withLatestFrom(this._open$, this._options$),\n tap(([event, isOpen, options]) => {\n if (!isOpen && (event.key === 'ArrowDown' || event.key === 'Enter')) {\n event.preventDefault()\n this._open$.next(true)\n \n timer(10).pipe(\n tap(() => {\n const firstVisible = options.find(opt => !opt.hidden)\n firstVisible?.focus()\n }),\n take(1)\n ).subscribe()\n return\n }\n\n if (!isOpen) return\n\n const visibleOptions = 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$.next(false)\n this._updateInputDisplay()\n this._inputElementRef.value?.focus()\n break\n\n case 'Tab':\n this._open$.next(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._optionSelect$.next(focusedOption)\n }\n break\n }\n })\n ).subscribe()\n }\n}\n\n\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'schmancy-autocomplete': SchmancyAutocomplete\n }\n}"],"names":["SchmancyAutocomplete","$LitElement","constructor","super","arguments","this","required","placeholder","label","name","maxHeight","multi","description","size","autocomplete","debounceMs","similarityThreshold","_open","_inputValue","_visibleOptionsCount","_hasResults","_inputElementRef","createRef","_selectedValue$","BehaviorSubject","_selectedValues$","_inputValue$","_open$","_options$","_optionSelect$","Subject","_documentClick$","values","value","vals","next","Array","isArray","join","val","split","map","v","trim","filter","Boolean","connectedCallback","id","Math","random","toString","slice","_setupAutocompleteLogic","_setupDocumentClickHandler","pipe","tap","options","forEach","option","index","setAttribute","tabIndex","hasAttribute","fromEvent","e","preventDefault","stopPropagation","takeUntil","disconnecting","subscribe","combineLatest","selectedValue","selectedValues","selected","includes","String","distinctUntilChanged","debounceTime","withLatestFrom","searchTerm","isOpen","term","scoredOptions","optionLabel","textContent","optionValue","labelScore","similarity","valueScore","score","max","sort","a","b","visibleCount","item","hidden","style","order","length","_announceToScreenReader","_","currentValues","indexOf","newValues","labels","_getSelectedLabels","timer","blur","take","_fireChangeEvent","opt","find","open","composedPath","_options","some","_updateInputDisplay","switchMap","document","addEventListener","EMPTY","of","removeEventListener","message","liveRegion","shadowRoot","querySelector","detail","dispatchEvent","CustomEvent","bubbles","composed","checkValidity","reportValidity","firstUpdated","render","descriptionId","html","ref","toLowerCase","replace","target","hasSelection","_handleKeyDown","_handleAutoSelectOnBlur","classMap","absolute","flex","bestMatch","bestScore","_e","event","key","focus","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-BOGG_9iL.cjs");
|
|
2
2
|
//# sourceMappingURL=autocomplete.cjs.map
|
package/dist/autocomplete.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import "./autocomplete-
|
|
1
|
+
import "./autocomplete-B-oKMH7m.js";
|
|
2
2
|
//# sourceMappingURL=autocomplete.js.map
|
|
@@ -1,65 +1,65 @@
|
|
|
1
1
|
import { css as z, html as c, nothing as lt } from "lit";
|
|
2
2
|
import { property as l, customElement as y, state as d, queryAssignedElements as ct, query as F } from "lit/decorators.js";
|
|
3
3
|
import { Subject as G, merge as J, fromEvent as f, startWith as bt, map as v, debounceTime as q, tap as O, distinctUntilChanged as K, takeUntil as p, from as st, of as B, Observable as gt, zip as rt, filter as dt, take as ft, timeout as vt, bufferTime as wt, concatMap as xt, interval as $t, throwIfEmpty as Ct } from "rxjs";
|
|
4
|
-
import "./animated-text-
|
|
5
|
-
import { b as it, F as St, H as Dt } from "./route.component-
|
|
6
|
-
import "./autocomplete-
|
|
4
|
+
import "./animated-text-CqpyC7Y0.js";
|
|
5
|
+
import { b as it, F as St, H as Dt } from "./route.component-DlVlAMWF.js";
|
|
6
|
+
import "./autocomplete-B-oKMH7m.js";
|
|
7
7
|
import "lit/directives/class-map.js";
|
|
8
8
|
import "lit/directives/style-map.js";
|
|
9
|
-
import { T as ht } from "./tailwind.mixin-
|
|
9
|
+
import { T as ht } from "./tailwind.mixin-B6ADeWOc.js";
|
|
10
10
|
import { c as U, f as Ot } from "./ripple-BumgqsDT.js";
|
|
11
|
-
import "./boat-
|
|
12
|
-
import "./spinner-
|
|
13
|
-
import "./icon-button-
|
|
14
|
-
import "./media-
|
|
15
|
-
import "./checkbox-
|
|
16
|
-
import "./chips-
|
|
17
|
-
import "./code-preview-
|
|
18
|
-
import "./payment-card-form-
|
|
11
|
+
import "./boat-CdR5Pqik.js";
|
|
12
|
+
import "./spinner-CrK1E8LD.js";
|
|
13
|
+
import "./icon-button-OZM1xg0D.js";
|
|
14
|
+
import "./media-CLz2t5zS.js";
|
|
15
|
+
import "./checkbox-CVwU3M4h.js";
|
|
16
|
+
import "./chips-DcCUwYBu.js";
|
|
17
|
+
import "./code-preview-CIXEd04f.js";
|
|
18
|
+
import "./payment-card-form-C6wrIT_X.js";
|
|
19
19
|
import { SchmancyEvents as m } from "./types.js";
|
|
20
20
|
import { n as j, e as M } from "./provide-tcktw8xB.js";
|
|
21
|
-
import { $ as E } from "./litElement.mixin-
|
|
21
|
+
import { $ as E } from "./litElement.mixin-BZErt4H3.js";
|
|
22
22
|
import { c as h } from "./consume-5D1qfVWM.js";
|
|
23
|
-
import "./date-range-
|
|
24
|
-
import "./date-range-inline-
|
|
25
|
-
import "./delay-
|
|
26
|
-
import "./details-
|
|
27
|
-
import "./dialog-content-
|
|
28
|
-
import "./dialog-service-
|
|
29
|
-
import "./divider-
|
|
30
|
-
import "./dropdown-content-
|
|
31
|
-
import "./timezone-
|
|
32
|
-
import "./form-
|
|
33
|
-
import "./icon-
|
|
34
|
-
import "./input-
|
|
35
|
-
import "./flex-
|
|
36
|
-
import "./list-
|
|
37
|
-
import "./email-recipients-
|
|
38
|
-
import "./map-
|
|
39
|
-
import "./menu-
|
|
23
|
+
import "./date-range-lJ_fPY4v.js";
|
|
24
|
+
import "./date-range-inline-5QP9av94.js";
|
|
25
|
+
import "./delay-BM1jk7XF.js";
|
|
26
|
+
import "./details-B9JrXrCO.js";
|
|
27
|
+
import "./dialog-content-BHR9cUJ-.js";
|
|
28
|
+
import "./dialog-service-DwhuICgc.js";
|
|
29
|
+
import "./divider-Cz4g_Ept.js";
|
|
30
|
+
import "./dropdown-content-Bto1swKT.js";
|
|
31
|
+
import "./timezone-CdtCVjMF.js";
|
|
32
|
+
import "./form-DeoSuBtM.js";
|
|
33
|
+
import "./icon-B0JNrBfq.js";
|
|
34
|
+
import "./input-CkvjCut5.js";
|
|
35
|
+
import "./flex-8Zt64KfZ.js";
|
|
36
|
+
import "./list-5rw56k73.js";
|
|
37
|
+
import "./email-recipients-C9Yx0eML.js";
|
|
38
|
+
import "./map-BrguuFGa.js";
|
|
39
|
+
import "./menu-CgDSJpDV.js";
|
|
40
40
|
import { when as Y } from "lit/directives/when.js";
|
|
41
|
-
import "./notification-service-
|
|
42
|
-
import "./option-
|
|
43
|
-
import "./progress-
|
|
44
|
-
import "./radio-button-
|
|
41
|
+
import "./notification-service-1HGYK2tM.js";
|
|
42
|
+
import "./option-DvSZ0D0R.js";
|
|
43
|
+
import "./progress-pOL6OHwT.js";
|
|
44
|
+
import "./radio-button-C-t6JJsj.js";
|
|
45
45
|
import "./index-CW6PhEkx.js";
|
|
46
|
-
import "./select-
|
|
47
|
-
import "./sheet-
|
|
48
|
-
import { s as V } from "./sheet.service-
|
|
49
|
-
import "./slider-
|
|
50
|
-
import "./schmancy-steps-container-
|
|
46
|
+
import "./select-CwJ4OuVo.js";
|
|
47
|
+
import "./sheet-fT1oxKgG.js";
|
|
48
|
+
import { s as V } from "./sheet.service-lXqUf6n5.js";
|
|
49
|
+
import "./slider-CYsku-3b.js";
|
|
50
|
+
import "./schmancy-steps-container-AIJ2_ZSN.js";
|
|
51
51
|
import "./context-object-u5gBaozZ.js";
|
|
52
52
|
import { map as zt, distinctUntilChanged as Et, take as kt } from "rxjs/operators";
|
|
53
|
-
import "./surface-
|
|
54
|
-
import "./table-
|
|
55
|
-
import "./tabs-compatibility-
|
|
56
|
-
import "./textarea-
|
|
57
|
-
import "./theme.component-
|
|
58
|
-
import "./theme-button-
|
|
59
|
-
import "./tooltip-
|
|
60
|
-
import "./tree-
|
|
61
|
-
import "./typewriter-
|
|
62
|
-
import "./typography-
|
|
53
|
+
import "./surface-C64YekDh.js";
|
|
54
|
+
import "./table-DmrYZ1hR.js";
|
|
55
|
+
import "./tabs-compatibility-Uetjk25R.js";
|
|
56
|
+
import "./textarea-B1Tng7F9.js";
|
|
57
|
+
import "./theme.component-Df731_fn.js";
|
|
58
|
+
import "./theme-button-CYEhS3ub.js";
|
|
59
|
+
import "./tooltip-JVkexTyf.js";
|
|
60
|
+
import "./tree-CaqiNcJJ.js";
|
|
61
|
+
import "./typewriter-CoMrmwFJ.js";
|
|
62
|
+
import "./typography-DkJagEoF.js";
|
|
63
63
|
import { S as i } from "./theme.interface-C5Kj6WjD.js";
|
|
64
64
|
var Wt = Object.defineProperty, Mt = Object.getOwnPropertyDescriptor, D = (t, e, r, o) => {
|
|
65
65
|
for (var n, s = o > 1 ? void 0 : o ? Mt(e, r) : e, a = t.length - 1; a >= 0; a--) (n = t[a]) && (s = (o ? n(e, r, s) : n(s)) || s);
|
|
@@ -633,4 +633,4 @@ export {
|
|
|
633
633
|
os as s,
|
|
634
634
|
H as t
|
|
635
635
|
};
|
|
636
|
-
//# sourceMappingURL=avatar-
|
|
636
|
+
//# sourceMappingURL=avatar-U5IpwJuj.js.map
|