@mhmo91/schmancy 0.7.2 → 0.7.4
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/README.md +1 -0
- package/ai/animated-text.md +2 -0
- package/ai/boat.md +1 -0
- package/ai/map.md +1 -0
- package/dist/ai/animated-text.md +2 -0
- package/dist/ai/boat.md +1 -0
- package/dist/ai/map.md +1 -0
- package/dist/{animated-text-B8pXfnjg.cjs → animated-text-DnFenRS1.cjs} +2 -2
- package/dist/{animated-text-B8pXfnjg.cjs.map → animated-text-DnFenRS1.cjs.map} +1 -1
- package/dist/{animated-text-C7RzcmyV.js → animated-text-YBgWXuVJ.js} +3 -3
- package/dist/{animated-text-C7RzcmyV.js.map → animated-text-YBgWXuVJ.js.map} +1 -1
- package/dist/animated-text.cjs +1 -1
- package/dist/animated-text.js +1 -1
- package/dist/area.cjs +1 -1
- package/dist/{area.component-TRIJcSoQ.cjs → area.component-BojFAcRk.cjs} +2 -2
- package/dist/{area.component-TRIJcSoQ.cjs.map → area.component-BojFAcRk.cjs.map} +1 -1
- package/dist/{area.component-DfGcGjsN.js → area.component-C_nUxyiY.js} +3 -3
- package/dist/{area.component-DfGcGjsN.js.map → area.component-C_nUxyiY.js.map} +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-Bhv2JOnL.js → autocomplete-B-X_D8MC.js} +5 -5
- package/dist/{autocomplete-Bhv2JOnL.js.map → autocomplete-B-X_D8MC.js.map} +1 -1
- package/dist/{autocomplete-Dio0lk_E.cjs → autocomplete-B8oOdRsV.cjs} +2 -2
- package/dist/{autocomplete-Dio0lk_E.cjs.map → autocomplete-B8oOdRsV.cjs.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{avatar-DecX7RJw.cjs → avatar-Db95uagl.cjs} +2 -2
- package/dist/{avatar-DecX7RJw.cjs.map → avatar-Db95uagl.cjs.map} +1 -1
- package/dist/{avatar-BCLeThlA.js → avatar-TpHjBCrR.js} +53 -53
- package/dist/{avatar-BCLeThlA.js.map → avatar-TpHjBCrR.js.map} +1 -1
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-DrAkyCAd.js → boat-B7AKN6Ge.js} +3 -3
- package/dist/{boat-DrAkyCAd.js.map → boat-B7AKN6Ge.js.map} +1 -1
- package/dist/{boat-B3IhIJhy.cjs → boat-BhAuteUk.cjs} +2 -2
- package/dist/{boat-B3IhIJhy.cjs.map → boat-BhAuteUk.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-BKT1cZnv.js → checkbox-BOmazo-k.js} +14 -14
- package/dist/checkbox-BOmazo-k.js.map +1 -0
- package/dist/{checkbox-C4CHTajr.cjs → checkbox-DMfwDgYx.cjs} +3 -3
- package/dist/checkbox-DMfwDgYx.cjs.map +1 -0
- 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-CbZzYTk2.cjs +193 -0
- package/dist/code-preview-CbZzYTk2.cjs.map +1 -0
- package/dist/{code-preview-DzMETSJv.js → code-preview-DgyY3Jlw.js} +27 -27
- package/dist/code-preview-DgyY3Jlw.js.map +1 -0
- package/dist/components.cjs +1 -1
- package/dist/components.js +1 -1
- package/dist/consume-5D1qfVWM.js.map +1 -1
- package/dist/consume-edta5ng5.cjs.map +1 -1
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/context-create-BJkkLr1D.cjs +2 -0
- package/dist/context-create-BJkkLr1D.cjs.map +1 -0
- package/dist/{context-create-DCiujzV2.js → context-create-BvxbWTgj.js} +276 -263
- package/dist/context-create-BvxbWTgj.js.map +1 -0
- package/dist/date-range-47SnbVM6.cjs +134 -0
- package/dist/date-range-47SnbVM6.cjs.map +1 -0
- package/dist/{date-range-B-5LtvhH.js → date-range-BV0479CW.js} +18 -18
- package/dist/date-range-BV0479CW.js.map +1 -0
- package/dist/{date-range-inline-D90CpK7z.js → date-range-inline-GfLao0NN.js} +3 -3
- package/dist/{date-range-inline-D90CpK7z.js.map → date-range-inline-GfLao0NN.js.map} +1 -1
- package/dist/{date-range-inline-DLV7jB_x.cjs → date-range-inline-HNDLTnYi.cjs} +2 -2
- package/dist/{date-range-inline-DLV7jB_x.cjs.map → date-range-inline-HNDLTnYi.cjs.map} +1 -1
- package/dist/date-range-inline.cjs +1 -1
- package/dist/date-range-inline.js +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-D5RAR00M.js → delay-B40l99jW.js} +2 -2
- package/dist/delay-B40l99jW.js.map +1 -0
- package/dist/{delay-UAjkp-21.cjs → delay-Dr3Fr5YB.cjs} +2 -2
- package/dist/delay-Dr3Fr5YB.cjs.map +1 -0
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{details-CiuixU2H.js → details-CQPpI_la.js} +2 -2
- package/dist/{details-CiuixU2H.js.map → details-CQPpI_la.js.map} +1 -1
- package/dist/{details-RHTdNCLS.cjs → details-DydvHvfw.cjs} +2 -2
- package/dist/{details-RHTdNCLS.cjs.map → details-DydvHvfw.cjs.map} +1 -1
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{dialog-content-dtIrTHLU.js → dialog-content-B_amCfq7.js} +4 -4
- package/dist/{dialog-content-dtIrTHLU.js.map → dialog-content-B_amCfq7.js.map} +1 -1
- package/dist/{dialog-content-BF1xiYWw.cjs → dialog-content-Emd7BLQA.cjs} +2 -2
- package/dist/{dialog-content-BF1xiYWw.cjs.map → dialog-content-Emd7BLQA.cjs.map} +1 -1
- package/dist/dialog-service-B4nR8Em5.cjs +2 -0
- package/dist/dialog-service-B4nR8Em5.cjs.map +1 -0
- package/dist/dialog-service-Bege4HF4.js +140 -0
- package/dist/dialog-service-Bege4HF4.js.map +1 -0
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +2 -2
- package/dist/{divider-ZhcWRyc2.cjs → divider-BF9xljgI.cjs} +2 -2
- package/dist/{divider-ZhcWRyc2.cjs.map → divider-BF9xljgI.cjs.map} +1 -1
- package/dist/{divider-DcEB9uHV.js → divider-BHruVdsE.js} +3 -3
- package/dist/{divider-DcEB9uHV.js.map → divider-BHruVdsE.js.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-klaWLDI-.cjs → dropdown-content-BpJq8Q1u.cjs} +2 -2
- package/dist/{dropdown-content-klaWLDI-.cjs.map → dropdown-content-BpJq8Q1u.cjs.map} +1 -1
- package/dist/{dropdown-content-BoUnfAyz.js → dropdown-content-Bw9jnfCR.js} +3 -3
- package/dist/{dropdown-content-BoUnfAyz.js.map → dropdown-content-Bw9jnfCR.js.map} +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/{email-recipients-DA2HLG8K.cjs → email-recipients-Bxvu6zi9.cjs} +2 -2
- package/dist/{email-recipients-DA2HLG8K.cjs.map → email-recipients-Bxvu6zi9.cjs.map} +1 -1
- package/dist/{email-recipients-yN1Jcu9X.js → email-recipients-DZGMhyg4.js} +7 -7
- package/dist/{email-recipients-yN1Jcu9X.js.map → email-recipients-DZGMhyg4.js.map} +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{flex-C_fGjgWC.js → flex-DUgMxT_9.js} +2 -2
- package/dist/{flex-C_fGjgWC.js.map → flex-DUgMxT_9.js.map} +1 -1
- package/dist/{flex-CYCtLC7W.cjs → flex-DakK9gco.cjs} +2 -2
- package/dist/{flex-CYCtLC7W.cjs.map → flex-DakK9gco.cjs.map} +1 -1
- package/dist/flow-D0e7hGXO.cjs.map +1 -1
- package/dist/flow-DXYqC9OA.js.map +1 -1
- package/dist/{form-CYBgxvdH.cjs → form-CPmMvWvE.cjs} +2 -2
- package/dist/{form-CYBgxvdH.cjs.map → form-CPmMvWvE.cjs.map} +1 -1
- package/dist/{form-Dn3XWE7d.js → form-yZ1fh3h9.js} +2 -2
- package/dist/{form-Dn3XWE7d.js.map → form-yZ1fh3h9.js.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{formField.mixin-Ds2S1kRc.js → formField.mixin-Cmb9YpmX.js} +2 -2
- package/dist/{formField.mixin-Ds2S1kRc.js.map → formField.mixin-Cmb9YpmX.js.map} +1 -1
- package/dist/{formField.mixin-D_gQgJXC.cjs → formField.mixin-D51klHq7.cjs} +2 -2
- package/dist/{formField.mixin-D_gQgJXC.cjs.map → formField.mixin-D51klHq7.cjs.map} +1 -1
- package/dist/{icon-Bw8hqRtQ.js → icon-DHT8YsE3.js} +2 -2
- package/dist/{icon-Bw8hqRtQ.js.map → icon-DHT8YsE3.js.map} +1 -1
- package/dist/{icon-DYGsNRVu.cjs → icon-Dsa_BddL.cjs} +2 -2
- package/dist/{icon-DYGsNRVu.cjs.map → icon-Dsa_BddL.cjs.map} +1 -1
- package/dist/{icon-button-BfjcTNKq.cjs → icon-button-BRcfLsJL.cjs} +2 -2
- package/dist/{icon-button-BfjcTNKq.cjs.map → icon-button-BRcfLsJL.cjs.map} +1 -1
- package/dist/{icon-button-Cu-RShdY.js → icon-button-PpRHFLCj.js} +3 -3
- package/dist/{icon-button-Cu-RShdY.js.map → icon-button-PpRHFLCj.js.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/index-CCi1otmh.cjs.map +1 -1
- package/dist/index-CW6PhEkx.js.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +54 -54
- package/dist/{input-UlrGLoXt.js → input-CYGSlByl.js} +4 -4
- package/dist/{input-UlrGLoXt.js.map → input-CYGSlByl.js.map} +1 -1
- package/dist/{input-D-YRT2vo.cjs → input-DB269a2X.cjs} +2 -2
- package/dist/{input-D-YRT2vo.cjs.map → input-DB269a2X.cjs.map} +1 -1
- package/dist/{input-chip-pho9bYvS.cjs → input-chip-CKYO8Lww.cjs} +2 -2
- package/dist/{input-chip-pho9bYvS.cjs.map → input-chip-CKYO8Lww.cjs.map} +1 -1
- package/dist/{input-chip-BwEuJAV5.js → input-chip-CTKPIRVA.js} +2 -2
- package/dist/{input-chip-BwEuJAV5.js.map → input-chip-CTKPIRVA.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-CyCR5ywg.cjs → list-BQVTFNkq.cjs} +2 -2
- package/dist/{list-CyCR5ywg.cjs.map → list-BQVTFNkq.cjs.map} +1 -1
- package/dist/{list-B4x432bs.js → list-BbzeVuby.js} +2 -2
- package/dist/{list-B4x432bs.js.map → list-BbzeVuby.js.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-BPe38Tqd.js → litElement.mixin-BzbZQbxa.js} +2 -2
- package/dist/{litElement.mixin-BPe38Tqd.js.map → litElement.mixin-BzbZQbxa.js.map} +1 -1
- package/dist/{litElement.mixin-DXaT0TQx.cjs → litElement.mixin-DzCpXwcY.cjs} +2 -2
- package/dist/{litElement.mixin-DXaT0TQx.cjs.map → litElement.mixin-DzCpXwcY.cjs.map} +1 -1
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/{map-CNoi0TZi.js → map-CgwU5Px4.js} +2 -2
- package/dist/{map-CNoi0TZi.js.map → map-CgwU5Px4.js.map} +1 -1
- package/dist/{map-C2fG3es8.cjs → map-DuTFI2lm.cjs} +2 -2
- package/dist/{map-C2fG3es8.cjs.map → map-DuTFI2lm.cjs.map} +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/{media-D_ne5TmT.js → media-BnktmFRW.js} +2 -2
- package/dist/{media-D_ne5TmT.js.map → media-BnktmFRW.js.map} +1 -1
- package/dist/{media-dMr54ISj.cjs → media-gtpSHRFx.cjs} +2 -2
- package/dist/{media-dMr54ISj.cjs.map → media-gtpSHRFx.cjs.map} +1 -1
- package/dist/menu-C8PcWr7Y.cjs +26 -0
- package/dist/menu-C8PcWr7Y.cjs.map +1 -0
- package/dist/menu-DthqNQR7.js +63 -0
- package/dist/menu-DthqNQR7.js.map +1 -0
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/mixins.cjs +1 -1
- package/dist/mixins.js +3 -3
- 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-DM2NQY_2.js → navigation-rail-CUMNSz0h.js} +3 -3
- package/dist/{navigation-rail-DM2NQY_2.js.map → navigation-rail-CUMNSz0h.js.map} +1 -1
- package/dist/{navigation-rail-DfFgV2PX.cjs → navigation-rail-D8otIR2P.cjs} +2 -2
- package/dist/{navigation-rail-DfFgV2PX.cjs.map → navigation-rail-D8otIR2P.cjs.map} +1 -1
- package/dist/navigation-rail.cjs +1 -1
- package/dist/navigation-rail.js +1 -1
- package/dist/{notification-service-Cm_0BsnA.cjs → notification-service-CP6kGXVL.cjs} +2 -2
- package/dist/{notification-service-Cm_0BsnA.cjs.map → notification-service-CP6kGXVL.cjs.map} +1 -1
- package/dist/{notification-service-DDfyKN2r.js → notification-service-E16lPsiT.js} +4 -4
- package/dist/{notification-service-DDfyKN2r.js.map → notification-service-E16lPsiT.js.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +2 -2
- package/dist/{notify-DMoBBADS.cjs → notify-Czdp7BbG.cjs} +2 -2
- package/dist/{notify-DMoBBADS.cjs.map → notify-Czdp7BbG.cjs.map} +1 -1
- package/dist/{notify-BGHQRbsD.js → notify-D865xIlu.js} +2 -2
- package/dist/{notify-BGHQRbsD.js.map → notify-D865xIlu.js.map} +1 -1
- package/dist/{option-MaqD_vGw.cjs → option-B1r0hb3H.cjs} +2 -2
- package/dist/{option-MaqD_vGw.cjs.map → option-B1r0hb3H.cjs.map} +1 -1
- package/dist/{option-EBGoYClu.js → option-cJ8fM5qJ.js} +2 -2
- package/dist/{option-EBGoYClu.js.map → option-cJ8fM5qJ.js.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{payment-card-form-DZmaLaVl.cjs → payment-card-form-EO3auDS8.cjs} +2 -2
- package/dist/payment-card-form-EO3auDS8.cjs.map +1 -0
- package/dist/{payment-card-form-p_Wj1NRm.js → payment-card-form-RBjpMc2m.js} +3 -3
- package/dist/payment-card-form-RBjpMc2m.js.map +1 -0
- package/dist/{progress-DC88fksT.js → progress-4v9FzvOT.js} +2 -2
- package/dist/{progress-DC88fksT.js.map → progress-4v9FzvOT.js.map} +1 -1
- package/dist/{progress-BqIOFoJX.cjs → progress-DnhvJMz_.cjs} +2 -2
- package/dist/{progress-BqIOFoJX.cjs.map → progress-DnhvJMz_.cjs.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/provide-BxZ2kn_p.cjs.map +1 -1
- package/dist/provide-tcktw8xB.js.map +1 -1
- package/dist/{radio-button-BfpkkEgE.cjs → radio-button-BVegeFKE.cjs} +2 -2
- package/dist/{radio-button-BfpkkEgE.cjs.map → radio-button-BVegeFKE.cjs.map} +1 -1
- package/dist/{radio-button-DQA5Kswx.js → radio-button-DDavzgCz.js} +3 -3
- package/dist/{radio-button-DQA5Kswx.js.map → radio-button-DDavzgCz.js.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{schmancy-steps-container-Br5qKWIs.js → schmancy-steps-container-DN9c-HeX.js} +2 -2
- package/dist/{schmancy-steps-container-Br5qKWIs.js.map → schmancy-steps-container-DN9c-HeX.js.map} +1 -1
- package/dist/{schmancy-steps-container-Cr2B9C-w.cjs → schmancy-steps-container-s6kZWhcr.cjs} +2 -2
- package/dist/{schmancy-steps-container-Cr2B9C-w.cjs.map → schmancy-steps-container-s6kZWhcr.cjs.map} +1 -1
- package/dist/{search-6Hr7K1gh.js → search-BeEqIiuO.js} +7 -7
- package/dist/{search-6Hr7K1gh.js.map → search-BeEqIiuO.js.map} +1 -1
- package/dist/search-bfOHCuHZ.cjs +2 -0
- package/dist/{search-DWW8IoOp.cjs.map → search-bfOHCuHZ.cjs.map} +1 -1
- package/dist/{select-B_DaDLhe.js → select--D6l5ru7.js} +3 -3
- package/dist/{select-B_DaDLhe.js.map → select--D6l5ru7.js.map} +1 -1
- package/dist/{select-DwaiJBG2.cjs → select-DVT_kFNR.cjs} +2 -2
- package/dist/{select-DwaiJBG2.cjs.map → select-DVT_kFNR.cjs.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{selector-hook-BWMY8npH.cjs → selector-hook-BG6g_IEN.cjs} +2 -2
- package/dist/{selector-hook-BWMY8npH.cjs.map → selector-hook-BG6g_IEN.cjs.map} +1 -1
- package/dist/{selector-hook-CKeyK4K-.js → selector-hook-CrwQCPxL.js} +4 -4
- package/dist/{selector-hook-CKeyK4K-.js.map → selector-hook-CrwQCPxL.js.map} +1 -1
- package/dist/{sheet-BrK8_X4J.cjs → sheet-Bza5jVS2.cjs} +2 -2
- package/dist/{sheet-BrK8_X4J.cjs.map → sheet-Bza5jVS2.cjs.map} +1 -1
- package/dist/{sheet-5c6WR3vS.js → sheet-CNn_huhz.js} +5 -5
- package/dist/{sheet-5c6WR3vS.js.map → sheet-CNn_huhz.js.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +2 -2
- package/dist/{sheet.service-BkKHvgFa.cjs → sheet.service--zUgftN3.cjs} +2 -2
- package/dist/{sheet.service-BkKHvgFa.cjs.map → sheet.service--zUgftN3.cjs.map} +1 -1
- package/dist/{sheet.service-EPEmcCpX.js → sheet.service-CmNDL4f6.js} +2 -2
- package/dist/{sheet.service-EPEmcCpX.js.map → sheet.service-CmNDL4f6.js.map} +1 -1
- package/dist/{slider-DW9URxIY.cjs → slider-Cf0pED-U.cjs} +2 -2
- package/dist/{slider-DW9URxIY.cjs.map → slider-Cf0pED-U.cjs.map} +1 -1
- package/dist/{slider-CiNvtgZJ.js → slider-DPxBmmFD.js} +3 -3
- package/dist/{slider-CiNvtgZJ.js.map → slider-DPxBmmFD.js.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-9JRrKdub.cjs → spinner-BDSDxr_W.cjs} +2 -2
- package/dist/{spinner-9JRrKdub.cjs.map → spinner-BDSDxr_W.cjs.map} +1 -1
- package/dist/{spinner-D8stZ8uP.js → spinner-Dyz6HBFa.js} +2 -2
- package/dist/{spinner-D8stZ8uP.js.map → spinner-Dyz6HBFa.js.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/store.cjs +1 -1
- package/dist/store.js +2 -2
- package/dist/{suggestion-chip-inBIBMff.cjs → suggestion-chip-B7COqb4l.cjs} +2 -2
- package/dist/{suggestion-chip-inBIBMff.cjs.map → suggestion-chip-B7COqb4l.cjs.map} +1 -1
- package/dist/{suggestion-chip-CXPMf7Je.js → suggestion-chip-CCW8g_3S.js} +3 -3
- package/dist/{suggestion-chip-CXPMf7Je.js.map → suggestion-chip-CCW8g_3S.js.map} +1 -1
- package/dist/{surface-BcZEnDON.js → surface-B4CxtF38.js} +2 -2
- package/dist/{surface-BcZEnDON.js.map → surface-B4CxtF38.js.map} +1 -1
- package/dist/{surface-BsrV4kzE.cjs → surface-CkzbeSYN.cjs} +2 -2
- package/dist/{surface-BsrV4kzE.cjs.map → surface-CkzbeSYN.cjs.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/table-D-g4ZBys.cjs +63 -0
- package/dist/table-D-g4ZBys.cjs.map +1 -0
- package/dist/{table-B5CHKp8S.js → table-KPNVMJtn.js} +8 -8
- package/dist/table-KPNVMJtn.js.map +1 -0
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-UitZoxcs.cjs → tabs-compatibility-sMoQP12I.cjs} +2 -2
- package/dist/{tabs-compatibility-UitZoxcs.cjs.map → tabs-compatibility-sMoQP12I.cjs.map} +1 -1
- package/dist/{tabs-compatibility-8NddfF1x.js → tabs-compatibility-xUK4vD1M.js} +2 -2
- package/dist/{tabs-compatibility-8NddfF1x.js.map → tabs-compatibility-xUK4vD1M.js.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-scDxsqaX.cjs +2 -0
- package/dist/{tailwind.mixin-2PdnHg0B.cjs.map → tailwind.mixin-scDxsqaX.cjs.map} +1 -1
- package/dist/tailwind.mixin-xIIxrXd8.js +67 -0
- package/dist/{tailwind.mixin-BgdEBNZM.js.map → tailwind.mixin-xIIxrXd8.js.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-D24UakyK.cjs → textarea-BSBYVs99.cjs} +2 -2
- package/dist/{textarea-D24UakyK.cjs.map → textarea-BSBYVs99.cjs.map} +1 -1
- package/dist/{textarea-2oVdZPXR.js → textarea-CFrirT5y.js} +2 -2
- package/dist/{textarea-2oVdZPXR.js.map → textarea-CFrirT5y.js.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-D0Xi4WHC.cjs → theme-button-B8Xqrz1M.cjs} +2 -2
- package/dist/{theme-button-D0Xi4WHC.cjs.map → theme-button-B8Xqrz1M.cjs.map} +1 -1
- package/dist/{theme-button-D4BhpOj6.js → theme-button-D-LTPh88.js} +2 -2
- package/dist/{theme-button-D4BhpOj6.js.map → theme-button-D-LTPh88.js.map} +1 -1
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/{theme-controller-boat-C8AnrOkJ.js → theme-controller-boat-BOddzVdU.js} +20 -20
- package/dist/theme-controller-boat-BOddzVdU.js.map +1 -0
- package/dist/theme-controller-boat-C2F-qRyu.cjs +64 -0
- package/dist/theme-controller-boat-C2F-qRyu.cjs.map +1 -0
- package/dist/theme.cjs +1 -1
- package/dist/theme.js +1 -1
- package/dist/{timezone-D4wUA6zL.js → timezone-BvOWa9Nt.js} +3 -3
- package/dist/{timezone-D4wUA6zL.js.map → timezone-BvOWa9Nt.js.map} +1 -1
- package/dist/{timezone-BbGoZoJM.cjs → timezone-xHmnktrm.cjs} +2 -2
- package/dist/{timezone-BbGoZoJM.cjs.map → timezone-xHmnktrm.cjs.map} +1 -1
- package/dist/{tooltip-DxdU3Drr.cjs → tooltip-D24v5bvM.cjs} +2 -2
- package/dist/{tooltip-DxdU3Drr.cjs.map → tooltip-D24v5bvM.cjs.map} +1 -1
- package/dist/{tooltip-BL92Hwwe.js → tooltip-D3ZZJEAk.js} +4 -4
- package/dist/{tooltip-BL92Hwwe.js.map → tooltip-D3ZZJEAk.js.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-cZIPOana.js → tree-CfVyhRIH.js} +2 -2
- package/dist/{tree-cZIPOana.js.map → tree-CfVyhRIH.js.map} +1 -1
- package/dist/{tree-BuGpk0as.cjs → tree-DC_jbDRu.cjs} +2 -2
- package/dist/{tree-BuGpk0as.cjs.map → tree-DC_jbDRu.cjs.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/tslib.es6-DgOcxv4s.cjs.map +1 -1
- package/dist/tslib.es6-ujVQHAQ4.js.map +1 -1
- package/dist/{typewriter-DT0f_Fla.js → typewriter-By-3T0Jm.js} +8 -8
- package/dist/typewriter-By-3T0Jm.js.map +1 -0
- package/dist/typewriter-vit0P1N1.cjs +9 -0
- package/dist/typewriter-vit0P1N1.cjs.map +1 -0
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-BBCRpsA_.cjs → typography-9lVCjAbj.cjs} +2 -2
- package/dist/{typography-BBCRpsA_.cjs.map → typography-9lVCjAbj.cjs.map} +1 -1
- package/dist/{typography-DayYVIRD.js → typography-B7kvO8iJ.js} +2 -2
- package/dist/{typography-DayYVIRD.js.map → typography-B7kvO8iJ.js.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.js +1 -1
- package/package.json +2 -2
- package/types/src/menu/menu.d.ts +30 -5
- package/dist/checkbox-BKT1cZnv.js.map +0 -1
- package/dist/checkbox-C4CHTajr.cjs.map +0 -1
- package/dist/code-preview-CEbRCvUd.cjs +0 -193
- package/dist/code-preview-CEbRCvUd.cjs.map +0 -1
- package/dist/code-preview-DzMETSJv.js.map +0 -1
- package/dist/context-create-CA907mdD.cjs +0 -2
- package/dist/context-create-CA907mdD.cjs.map +0 -1
- package/dist/context-create-DCiujzV2.js.map +0 -1
- package/dist/date-range-B-5LtvhH.js.map +0 -1
- package/dist/date-range-B1PGOR7h.cjs +0 -134
- package/dist/date-range-B1PGOR7h.cjs.map +0 -1
- package/dist/delay-D5RAR00M.js.map +0 -1
- package/dist/delay-UAjkp-21.cjs.map +0 -1
- package/dist/dialog-service-Bdaxn2t0.cjs +0 -2
- package/dist/dialog-service-Bdaxn2t0.cjs.map +0 -1
- package/dist/dialog-service-CyQzm5qE.js +0 -147
- package/dist/dialog-service-CyQzm5qE.js.map +0 -1
- package/dist/menu-BdWhwHXc.js +0 -89
- package/dist/menu-BdWhwHXc.js.map +0 -1
- package/dist/menu-BsX4Mjjn.cjs +0 -23
- package/dist/menu-BsX4Mjjn.cjs.map +0 -1
- package/dist/payment-card-form-DZmaLaVl.cjs.map +0 -1
- package/dist/payment-card-form-p_Wj1NRm.js.map +0 -1
- package/dist/search-DWW8IoOp.cjs +0 -2
- package/dist/table-B5CHKp8S.js.map +0 -1
- package/dist/table-CzejyN5W.cjs +0 -63
- package/dist/table-CzejyN5W.cjs.map +0 -1
- package/dist/tailwind.mixin-2PdnHg0B.cjs +0 -2
- package/dist/tailwind.mixin-BgdEBNZM.js +0 -67
- package/dist/theme-controller-boat-C8AnrOkJ.js.map +0 -1
- package/dist/theme-controller-boat-r74J3tyl.cjs +0 -64
- package/dist/theme-controller-boat-r74J3tyl.cjs.map +0 -1
- package/dist/typewriter-DT0f_Fla.js.map +0 -1
- package/dist/typewriter-Dc7MHBRy.cjs +0 -9
- package/dist/typewriter-Dc7MHBRy.cjs.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const _=require("rxjs"),c=require("rxjs/operators"),v=require("lit/directives/class-map.js");require("lit/directives/style-map.js");const a=require("lit/decorators.js");require("./tailwind.mixin-
|
|
1
|
+
"use strict";const _=require("rxjs"),c=require("rxjs/operators"),v=require("lit/directives/class-map.js");require("lit/directives/style-map.js");const a=require("lit/decorators.js");require("./tailwind.mixin-scDxsqaX.cjs");const b=require("./litElement.mixin-DzCpXwcY.cjs"),h=require("lit"),f=require("lit/directives/ref.js"),$=require("lit/directives/repeat.js"),y=require("lit/directives/when.js"),m=require("./search-bfOHCuHZ.cjs");require("./input-chip-CKYO8Lww.cjs");var g=Object.defineProperty,x=Object.getOwnPropertyDescriptor,r=(e,t,i,n)=>{for(var u,s=n>1?void 0:n?x(t,i):t,l=e.length-1;l>=0;l--)(u=e[l])&&(s=(n?u(t,i,s):u(s))||s);return n&&s&&g(t,i,s),s};let o=class extends b.$LitElement(":host{display:block;border:unset!important;line-height:unset!important;background:unset!important;padding:unset!important;font-size:unset!important;box-shadow:unset!important}:host:focus{box-shadow:unset!important}@keyframes onAutoFillStart{}sch-input::part(input):-webkit-autofill,sch-input input:-webkit-autofill{animation-name:onAutoFillStart;animation-duration:1ms}"){constructor(){super(...arguments),this._valueSet=!1,this._valuesSet=!1,this.required=!1,this.placeholder="",this.label="",this.name="",this.maxHeight="300px",this.multi=!1,this.description="",this.size="md",this.autocomplete="off",this.debounceMs=200,this.similarityThreshold=.3,this.error=!1,this.validationMessage="",this._open=!1,this._inputValue="",this._visibleOptionsCount=0,this._hasResults=!0,this._inputElementRef=f.createRef(),this._selectedValue$=new _.BehaviorSubject(""),this._selectedValues$=new _.BehaviorSubject([]),this._inputValue$=new _.BehaviorSubject("")}get values(){return[...this._selectedValues$.value]}set values(e){this._valuesSet=!0,this._selectedValues$.next(Array.isArray(e)?[...e]:[])}get value(){return this.multi?this._selectedValues$.value.join(","):this._selectedValue$.value}set value(e){if(this._valueSet=!0,this.multi){const t=e?e.split(",").map(n=>n.trim()).filter(Boolean):[],i=this._selectedValues$.value;JSON.stringify(t)!==JSON.stringify(i)&&this._selectedValues$.next(t)}else e!==this._selectedValue$.value&&(this._selectedValue$.next(e),this._updateInputDisplay())}connectedCallback(){super.connectedCallback(),this.id||(this.id=`sch-autocomplete-${Math.random().toString(36).slice(2,9)}`),this._setupAutocompleteLogic(),this._setupDocumentClickHandler()}_setupAutocompleteLogic(){_.combineLatest([this._selectedValue$,this._selectedValues$]).pipe(c.tap(([e,t])=>{this._updateOptionSelection(e,t)}),c.takeUntil(this.disconnecting)).subscribe(),this._inputValue$.pipe(c.distinctUntilChanged(),c.debounceTime(this.debounceMs),c.tap(e=>{this._open&&this._filterOptions(e)}),c.takeUntil(this.disconnecting)).subscribe()}_setupOptionHandlers(){this._options.forEach((e,t)=>{e.setAttribute("role","option"),e.tabIndex=-1,e.id||(e.id=`${this.id}-option-${t}`),e.onmousedown=i=>{i.preventDefault()},e.onclick=i=>{i.stopPropagation(),this._selectOption(e)}})}_updateOptionSelection(e,t){this._options.forEach(i=>{i.selected=this.multi?t.includes(i.value):i.value===e,i.setAttribute("aria-selected",String(i.selected))})}_filterOptions(e){const t=e.trim();if(t){const i=this._options.map(u=>{const s=u.label||u.textContent||"",l=u.value,p=m.similarity(t,s),d=m.similarity(t,l);return{option:u,score:Math.max(1.1*p,d)}});i.sort((u,s)=>s.score-u.score);let n=0;i.forEach((u,s)=>{const{option:l,score:p}=u;p<this.similarityThreshold?l.hidden=!0:(l.hidden=!1,n++,l.style.order=String(s))}),this._visibleOptionsCount=n,this._hasResults=n>0}else this._options.forEach(i=>{i.hidden=!1,i.style.order="0"}),this._visibleOptionsCount=this._options.length,this._hasResults=!0;this._announceToScreenReader(this._visibleOptionsCount>0?`${this._visibleOptionsCount} option${this._visibleOptionsCount===1?"":"s"} available.`:"No results found.")}_openDropdown(){this._open=!0,this._filterOptions(this._inputValue)}_selectOption(e){if(this.multi){const t=this._selectedValues$.value,i=t.indexOf(e.value)>-1?t.filter(n=>n!==e.value):[...t,e.value];this._selectedValues$.next(i),this._announceToScreenReader(i.length>0?`Selected: ${this._getSelectedLabels().join(", ")}`:"No options selected"),this._fireChangeEvent()}else this._selectedValue$.next(e.value),this._open=!1,this._fireChangeEvent(),this._inputValue=e.label||e.textContent||"",this._inputValue$.next(this._inputValue),this._announceToScreenReader(`Selected: ${e.label||e.textContent}`)}_setupDocumentClickHandler(){const e=t=>{if(!this._open)return;const i=t.composedPath();i.includes(this)||this._options.some(n=>i.includes(n))||(this._open=!1,this._updateInputDisplay())};document.addEventListener("click",e),this.disconnecting.pipe(c.take(1)).subscribe(()=>{document.removeEventListener("click",e)})}_updateInputDisplay(){if(this.multi)return;const e=this._selectedValue$.value,t=this._options.find(i=>i.value===e);this._inputValue=t&&(t.label||t.textContent)||"",this._inputValue$.next(this._inputValue),this._inputElementRef.value&&(this._inputElementRef.value.value=this._inputValue)}_getSelectedLabels(){return this._options.filter(e=>this.multi?this._selectedValues$.value.includes(e.value):e.value===this._selectedValue$.value).map(e=>e.label||e.textContent||"")}_announceToScreenReader(e){const t=this.shadowRoot?.querySelector("#live-status");t&&(t.textContent=e)}_fireChangeEvent(){const e={value:this.value};this.multi&&(e.values=[...this._selectedValues$.value]),this.dispatchEvent(new CustomEvent("change",{detail:e,bubbles:!0,composed:!0}))}checkValidity(){return!this.required||(this.multi?this._selectedValues$.value.length>0:!!this._selectedValue$.value)}reportValidity(){return this._inputElementRef.value?this._inputElementRef.value.reportValidity():this.checkValidity()}firstUpdated(){this._setupOptionHandlers(),this._updateInputDisplay(),this.shadowRoot?.querySelector("slot")?.addEventListener("slotchange",()=>{this._setupOptionHandlers(),this._updateOptionSelection(this._selectedValue$.value,this._selectedValues$.value)})}handleChipRemove(e){const t=this._selectedValues$.value.filter(i=>i!==e);this._selectedValues$.next(t),this._fireChangeEvent(),this._announceToScreenReader(`Removed: ${this._getChipLabel(e)}`)}_getChipLabel(e){const t=this._options.find(i=>i.value===e);return t&&(t.label||t.textContent)||e}_focusTextInput(){this._inputElementRef.value&&this._inputElementRef.value.focus()}render(){const e=`${this.id}-desc`,{height:t,padding:i,fontSize:n,labelSize:u}=(()=>{switch(this.size){case"sm":return{height:"min-h-[40px]",padding:"px-2",fontSize:"text-sm",labelSize:"text-sm"};case"lg":return{height:"min-h-[60px]",padding:"px-5",fontSize:"text-lg",labelSize:"text-lg"};default:return{height:"min-h-[50px]",padding:"px-4",fontSize:"text-base",labelSize:"text-base"}}})();return h.html`
|
|
2
2
|
<div class="relative">
|
|
3
3
|
<!-- Screen reader live region -->
|
|
4
4
|
<div id="live-status" role="status" aria-live="polite" class="sr-only"></div>
|
|
@@ -109,4 +109,4 @@
|
|
|
109
109
|
</ul>
|
|
110
110
|
</div>
|
|
111
111
|
`}_handleAutoSelectOnBlur(){if(this.multi||!this._open||!this._inputValue.trim())return;const e=this._inputValue.trim();let t=null,i=0;this._options.forEach(n=>{if(n.hidden)return;const u=n.label||n.textContent||"",s=n.value,l=m.similarity(e,u),p=m.similarity(e,s),d=Math.max(1.1*l,p);d>i&&d>=this.similarityThreshold&&(i=d,t=n)}),t&&(this._selectedValue$.next(t.value),this._inputValue=t.label||t.textContent||"",this._inputValue$.next(this._inputValue),this._open=!1)}_handleKeyDown(e){const t=this._open,i=this._selectedValues$.value;if(this.multi&&e.key==="Backspace"&&!this._inputValue&&i.length>0&&!t){e.preventDefault();const l=i[i.length-1];return void this.handleChipRemove(l)}if(!t&&(e.key==="ArrowDown"||e.key==="Enter"))return e.preventDefault(),this._openDropdown(),void setTimeout(()=>{this._options.find(p=>!p.hidden)?.focus()},10);if(!t)return;const n=this._options.filter(l=>!l.hidden).sort((l,p)=>parseInt(l.style.order||"0")-parseInt(p.style.order||"0")),u=n.find(l=>l===document.activeElement),s=u?n.indexOf(u):-1;switch(e.key){case"Escape":e.preventDefault(),this._open=!1,this._updateInputDisplay(),this._inputElementRef.value?.focus();break;case"Tab":this._open=!1,this._updateInputDisplay();break;case"ArrowDown":e.preventDefault();const l=s<n.length-1?s+1:0;n[l]?.focus();break;case"ArrowUp":e.preventDefault();const p=s>0?s-1:n.length-1;n[p]?.focus();break;case"Home":e.preventDefault(),n[0]?.focus();break;case"End":e.preventDefault(),n[n.length-1]?.focus();break;case"Enter":case" ":u&&(e.preventDefault(),this._selectOption(u))}}};r([a.property({type:Boolean})],o.prototype,"required",2),r([a.property({type:String})],o.prototype,"placeholder",2),r([a.property({type:String,reflect:!0})],o.prototype,"label",2),r([a.property({type:String})],o.prototype,"name",2),r([a.property({type:String})],o.prototype,"maxHeight",2),r([a.property({type:Boolean})],o.prototype,"multi",2),r([a.property({type:String})],o.prototype,"description",2),r([a.property({type:String,reflect:!0})],o.prototype,"size",2),r([a.property({type:String})],o.prototype,"autocomplete",2),r([a.property({type:Number})],o.prototype,"debounceMs",2),r([a.property({type:Number})],o.prototype,"similarityThreshold",2),r([a.property({type:Boolean})],o.prototype,"error",2),r([a.property({type:String})],o.prototype,"validationMessage",2),r([a.property({type:Array})],o.prototype,"values",1),r([a.property({type:String,reflect:!0})],o.prototype,"value",1),r([a.state()],o.prototype,"_open",2),r([a.state()],o.prototype,"_inputValue",2),r([a.state()],o.prototype,"_visibleOptionsCount",2),r([a.state()],o.prototype,"_hasResults",2),r([a.query("#options")],o.prototype,"_listbox",2),r([a.query("sch-input")],o.prototype,"_input",2),r([a.queryAssignedElements({flatten:!0})],o.prototype,"_options",2),o=r([a.customElement("schmancy-autocomplete")],o);
|
|
112
|
-
//# sourceMappingURL=autocomplete-
|
|
112
|
+
//# sourceMappingURL=autocomplete-B8oOdRsV.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocomplete-Dio0lk_E.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 { 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/**\n * Autocomplete input component with filtering and multi-select support.\n *\n * @prop {string} name - Name attribute for form submission\n * @prop {string} label - Label text displayed above the input\n * @prop {string} placeholder - Placeholder text for the input\n * @prop {boolean} required - Whether the field is required\n * @prop {boolean} multi - Enable multi-select mode\n * @prop {string} value - Selected value (single select mode)\n * @prop {string[]} values - Selected values (multi-select mode)\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","constructor","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","reportValidity","checkValidity","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","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-B8oOdRsV.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 { 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/**\n * Autocomplete input component with filtering and multi-select support.\n *\n * @prop {string} name - Name attribute for form submission\n * @prop {string} label - Label text displayed above the input\n * @prop {string} placeholder - Placeholder text for the input\n * @prop {boolean} required - Whether the field is required\n * @prop {boolean} multi - Enable multi-select mode\n * @prop {string} value - Selected value (single select mode)\n * @prop {string[]} values - Selected values (multi-select mode)\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","constructor","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","reportValidity","checkValidity","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","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-B8oOdRsV.cjs");
|
|
2
2
|
//# sourceMappingURL=autocomplete.cjs.map
|
package/dist/autocomplete.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import "./autocomplete-
|
|
1
|
+
import "./autocomplete-B-X_D8MC.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-DnFenRS1.cjs");const j=require("./area.component-BojFAcRk.cjs");require("./autocomplete-B8oOdRsV.cjs");const d=require("rxjs/operators");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const I=require("./tailwind.mixin-scDxsqaX.cjs"),b=require("./ripple-DqQrvaTe.cjs");require("lit/directives/guard.js"),require("./boat-BhAuteUk.cjs"),require("./spinner-BDSDxr_W.cjs"),require("./icon-button-BRcfLsJL.cjs"),require("./media-gtpSHRFx.cjs"),require("./checkbox-DMfwDgYx.cjs"),require("./suggestion-chip-B7COqb4l.cjs"),require("./input-chip-CKYO8Lww.cjs"),require("./code-preview-CbZzYTk2.cjs"),require("./payment-card-form-EO3auDS8.cjs");const y=require("./types.cjs"),p=require("./provide-BxZ2kn_p.cjs"),S=require("./litElement.mixin-DzCpXwcY.cjs"),m=require("./consume-edta5ng5.cjs");require("./date-range-47SnbVM6.cjs"),require("./date-range-inline-HNDLTnYi.cjs"),require("./delay-Dr3Fr5YB.cjs"),require("./details-DydvHvfw.cjs"),require("./dialog-content-Emd7BLQA.cjs"),require("./dialog-service-B4nR8Em5.cjs"),require("./divider-BF9xljgI.cjs"),require("./dropdown-content-BpJq8Q1u.cjs"),require("./timezone-xHmnktrm.cjs"),require("./form-CPmMvWvE.cjs"),require("./icon-Dsa_BddL.cjs"),require("./input-DB269a2X.cjs"),require("./flex-DakK9gco.cjs"),require("./list-BQVTFNkq.cjs"),require("./email-recipients-Bxvu6zi9.cjs"),require("./map-DuTFI2lm.cjs"),require("./menu-C8PcWr7Y.cjs");const A=require("lit/directives/when.js");require("./navigation-rail-D8otIR2P.cjs"),require("./notification-service-CP6kGXVL.cjs"),require("./option-B1r0hb3H.cjs"),require("./progress-DnhvJMz_.cjs"),require("./radio-button-BVegeFKE.cjs"),require("./index-CCi1otmh.cjs"),require("./select-DVT_kFNR.cjs");const R=require("./sheet.service--zUgftN3.cjs");require("./sheet-Bza5jVS2.cjs"),require("./slider-Cf0pED-U.cjs"),require("./schmancy-steps-container-s6kZWhcr.cjs"),require("./context-create-BJkkLr1D.cjs"),require("./surface-CkzbeSYN.cjs"),require("./table-D-g4ZBys.cjs"),require("./tabs-compatibility-sMoQP12I.cjs"),require("./textarea-BSBYVs99.cjs"),require("./theme-controller-boat-C2F-qRyu.cjs"),require("./theme-button-B8Xqrz1M.cjs"),require("./tooltip-D24v5bvM.cjs"),require("./tree-DC_jbDRu.cjs"),require("./typewriter-vit0P1N1.cjs"),require("./typography-9lVCjAbj.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
|
}
|
|
@@ -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-Db95uagl.cjs.map
|