@sapudex/web-components 2.42.0 → 2.44.0
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/cypress/specs/Checkbox.cy.tsx +1 -1
- package/cypress/specs/FilterMenu.cy.tsx +277 -0
- package/cypress/specs/Search.cy.tsx +20 -0
- package/cypress/specs/SelectBox.cy.tsx +531 -1
- package/cypress/specs/TagGroup.cy.tsx +11 -0
- package/cypress/specs/Toast.cy.tsx +6 -9
- package/dist/FilterMenu.d.ts +4 -0
- package/dist/FilterMenu.js +19 -0
- package/dist/FilterMenu.js.map +1 -1
- package/dist/ListItemBase.js +2 -2
- package/dist/ListItemBase.js.map +1 -1
- package/dist/MastheadCountrySelector.d.ts +5 -7
- package/dist/MastheadCountrySelector.js +17 -64
- package/dist/MastheadCountrySelector.js.map +1 -1
- package/dist/Search.d.ts +6 -0
- package/dist/Search.js +3 -0
- package/dist/Search.js.map +1 -1
- package/dist/SearchTemplate.js +1 -1
- package/dist/SearchTemplate.js.map +1 -1
- package/dist/SearchableListBase.d.ts +21 -2
- package/dist/SearchableListBase.js +75 -7
- package/dist/SearchableListBase.js.map +1 -1
- package/dist/SearchableListBaseTemplate.js +3 -3
- package/dist/SearchableListBaseTemplate.js.map +1 -1
- package/dist/SelectBase.d.ts +3 -1
- package/dist/SelectBase.js +20 -15
- package/dist/SelectBase.js.map +1 -1
- package/dist/SelectBox.d.ts +1 -1
- package/dist/SelectBox.js +17 -13
- package/dist/SelectBox.js.map +1 -1
- package/dist/SelectBoxItem.d.ts +53 -0
- package/dist/SelectBoxItem.js +40 -1
- package/dist/SelectBoxItem.js.map +1 -1
- package/dist/SelectBoxTemplate.js +1 -1
- package/dist/SelectBoxTemplate.js.map +1 -1
- package/dist/Tag.d.ts +1 -0
- package/dist/Tag.js +6 -0
- package/dist/Tag.js.map +1 -1
- package/dist/TagGroup.d.ts +8 -0
- package/dist/TagGroup.js +3 -0
- package/dist/TagGroup.js.map +1 -1
- package/dist/TagGroupTemplate.js +1 -1
- package/dist/TagGroupTemplate.js.map +1 -1
- package/dist/TagTemplate.js +1 -1
- package/dist/TagTemplate.js.map +1 -1
- package/dist/assets/{InputSuggestions-DVRXb_CJ.js → InputSuggestions-B3D8lxAS.js} +2 -2
- package/dist/assets/ListItemStandardExpandableTextTemplate-Is8_hDTt.js +3 -0
- package/dist/assets/{bundle.esm-CjF11YUZ.js → bundle.esm-6rH7NAG7.js} +305 -304
- package/dist/assets/messagebundle_ar-BUmieu9B.js +1 -0
- package/dist/assets/messagebundle_ar-DcH18L3h.js +1 -0
- package/dist/assets/messagebundle_ar-Ic4ckTUt.js +1 -0
- package/dist/assets/messagebundle_bg-BOgOglXh.js +1 -0
- package/dist/assets/messagebundle_bg-CADHX0Gg.js +1 -0
- package/dist/assets/messagebundle_bg-dZrlFeKZ.js +1 -0
- package/dist/assets/messagebundle_ca-2bFyG5Ty.js +1 -0
- package/dist/assets/messagebundle_ca-B2inwHsb.js +1 -0
- package/dist/assets/messagebundle_ca-hDpK1GqB.js +1 -0
- package/dist/assets/messagebundle_cnr-CSmWG9_V.js +1 -0
- package/dist/assets/messagebundle_cnr-DZsc1R1r.js +1 -0
- package/dist/assets/messagebundle_cnr-luAWCJP0.js +1 -0
- package/dist/assets/messagebundle_cs-BL77wptv.js +1 -0
- package/dist/assets/messagebundle_cs-BZXuIszN.js +1 -0
- package/dist/assets/messagebundle_cs-Dso9kSig.js +1 -0
- package/dist/assets/messagebundle_cy-B66O9oBx.js +1 -0
- package/dist/assets/messagebundle_cy-BSiMgZtA.js +1 -0
- package/dist/assets/messagebundle_cy-ZlqQuGUz.js +1 -0
- package/dist/assets/messagebundle_da-C1CzvcXW.js +1 -0
- package/dist/assets/messagebundle_da-CAPY9nnT.js +1 -0
- package/dist/assets/messagebundle_da-DTOADw3Y.js +1 -0
- package/dist/assets/messagebundle_de-CSl05u5u.js +1 -0
- package/dist/assets/messagebundle_de-DHBsUEIt.js +1 -0
- package/dist/assets/messagebundle_de-DWsuh-jj.js +1 -0
- package/dist/assets/messagebundle_el-ByL7ikpl.js +1 -0
- package/dist/assets/messagebundle_el-CwjQKEGb.js +1 -0
- package/dist/assets/messagebundle_el-rU4RAHJr.js +1 -0
- package/dist/assets/messagebundle_en-4Wpx2jqf.js +1 -0
- package/dist/assets/messagebundle_en-Bi068VCa.js +1 -0
- package/dist/assets/messagebundle_en-C3jnlBnZ.js +1 -0
- package/dist/assets/messagebundle_en_GB-BEZ3LbT5.js +1 -0
- package/dist/assets/messagebundle_en_GB-DKEddq_J.js +1 -0
- package/dist/assets/messagebundle_en_GB-DgUUCHvU.js +1 -0
- package/dist/assets/messagebundle_en_US_sappsd-BN4GAQFk.js +1 -0
- package/dist/assets/messagebundle_en_US_sappsd-Bc-vQnEr.js +1 -0
- package/dist/assets/messagebundle_en_US_sappsd-CEGC_XRQ.js +1 -0
- package/dist/assets/messagebundle_en_US_saprigi--hAUIdWq.js +1 -0
- package/dist/assets/messagebundle_en_US_saprigi-C7t8yAP4.js +1 -0
- package/dist/assets/messagebundle_en_US_saprigi-C_gnMw05.js +1 -0
- package/dist/assets/messagebundle_en_US_saptrc-CIbQNg_d.js +1 -0
- package/dist/assets/messagebundle_en_US_saptrc-DY0WM5Yp.js +1 -0
- package/dist/assets/messagebundle_en_US_saptrc-aeJaPF-Z.js +1 -0
- package/dist/assets/messagebundle_es-BHY_U2xi.js +1 -0
- package/dist/assets/messagebundle_es-CjAQjgPh.js +1 -0
- package/dist/assets/messagebundle_es-vhzI0nML.js +1 -0
- package/dist/assets/messagebundle_es_MX-BsU5E2lt.js +1 -0
- package/dist/assets/messagebundle_es_MX-DjJ15Ns4.js +1 -0
- package/dist/assets/messagebundle_es_MX-DmINMi1e.js +1 -0
- package/dist/assets/messagebundle_et-CGVYNV2t.js +1 -0
- package/dist/assets/messagebundle_et-CpVk1Xin.js +1 -0
- package/dist/assets/messagebundle_et-DLssZHh4.js +1 -0
- package/dist/assets/messagebundle_fi-DTWy4DwI.js +1 -0
- package/dist/assets/messagebundle_fi-DmGIB0sc.js +1 -0
- package/dist/assets/messagebundle_fi-YfxQ0aOR.js +1 -0
- package/dist/assets/messagebundle_fr-BFMaF4AX.js +1 -0
- package/dist/assets/messagebundle_fr-BZ-VJ002.js +1 -0
- package/dist/assets/messagebundle_fr-CQZYkI8Y.js +1 -0
- package/dist/assets/messagebundle_fr_CA-B5jFryz1.js +1 -0
- package/dist/assets/messagebundle_fr_CA-BPZVCoKy.js +1 -0
- package/dist/assets/messagebundle_fr_CA-hZ2LGeU2.js +1 -0
- package/dist/assets/messagebundle_hi-92qX3F1U.js +1 -0
- package/dist/assets/messagebundle_hi-B-Bg9gCp.js +1 -0
- package/dist/assets/messagebundle_hi-DFXk6QGw.js +1 -0
- package/dist/assets/messagebundle_hr-CUaLQBjG.js +1 -0
- package/dist/assets/messagebundle_hr-DZwNzpwV.js +1 -0
- package/dist/assets/messagebundle_hr-selqadPV.js +1 -0
- package/dist/assets/messagebundle_hu-BtupF5BC.js +1 -0
- package/dist/assets/messagebundle_hu-CJuQbTfi.js +1 -0
- package/dist/assets/messagebundle_hu-D_rF_cCp.js +1 -0
- package/dist/assets/messagebundle_id-8SuSwuaC.js +1 -0
- package/dist/assets/messagebundle_id-Bvmpblmf.js +1 -0
- package/dist/assets/messagebundle_id-P3JSHcmu.js +1 -0
- package/dist/assets/messagebundle_it-BINon06x.js +1 -0
- package/dist/assets/messagebundle_it-CXnIcrL4.js +1 -0
- package/dist/assets/messagebundle_it-CkVp56-y.js +1 -0
- package/dist/assets/messagebundle_iw-BzixLMjm.js +1 -0
- package/dist/assets/messagebundle_iw-C2PtOYbW.js +1 -0
- package/dist/assets/messagebundle_iw-Cb6M5XGj.js +1 -0
- package/dist/assets/messagebundle_ja-DKtRR53-.js +1 -0
- package/dist/assets/messagebundle_ja-DQ5MCYLw.js +1 -0
- package/dist/assets/messagebundle_ja-J8eqPj7N.js +1 -0
- package/dist/assets/messagebundle_kk-B-ayCgR1.js +1 -0
- package/dist/assets/messagebundle_kk-BIeQLfxu.js +1 -0
- package/dist/assets/messagebundle_kk-DIOzUeHN.js +1 -0
- package/dist/assets/messagebundle_ko-B9_Ss1b5.js +1 -0
- package/dist/assets/messagebundle_ko-BLMVyKh5.js +1 -0
- package/dist/assets/messagebundle_ko-iA71apTw.js +1 -0
- package/dist/assets/messagebundle_lt-CbB2wq2X.js +1 -0
- package/dist/assets/messagebundle_lt-DFh-jl0O.js +1 -0
- package/dist/assets/messagebundle_lt-RzsUvi_1.js +1 -0
- package/dist/assets/messagebundle_lv-6quK3a4e.js +1 -0
- package/dist/assets/messagebundle_lv-BQO-79MM.js +1 -0
- package/dist/assets/messagebundle_lv-C3DWg_wu.js +1 -0
- package/dist/assets/messagebundle_mk-2lJhEAgI.js +1 -0
- package/dist/assets/messagebundle_mk-Cv-rDpUc.js +1 -0
- package/dist/assets/messagebundle_mk-o-SATTof.js +1 -0
- package/dist/assets/messagebundle_ms-3Zupz0mA.js +1 -0
- package/dist/assets/messagebundle_ms-BOQc8ZIR.js +1 -0
- package/dist/assets/messagebundle_ms-DnacCQys.js +1 -0
- package/dist/assets/messagebundle_nl-BVNQuB_K.js +1 -0
- package/dist/assets/messagebundle_nl-C2lsDY4p.js +1 -0
- package/dist/assets/messagebundle_nl-DTnHMKsv.js +1 -0
- package/dist/assets/messagebundle_no-BQMw-opH.js +1 -0
- package/dist/assets/messagebundle_no-CsErf2Px.js +1 -0
- package/dist/assets/messagebundle_no-OUP0Fraw.js +1 -0
- package/dist/assets/messagebundle_pl-BQW6qi8p.js +1 -0
- package/dist/assets/messagebundle_pl-Cc6OWGyn.js +1 -0
- package/dist/assets/messagebundle_pl-PZiQh0Xy.js +1 -0
- package/dist/assets/messagebundle_pt-BlqCbnEN.js +1 -0
- package/dist/assets/messagebundle_pt-DEVzhHU_.js +1 -0
- package/dist/assets/messagebundle_pt-DKJk4Ohl.js +1 -0
- package/dist/assets/messagebundle_pt_PT-BV1ec-3v.js +1 -0
- package/dist/assets/messagebundle_pt_PT-CL5hgi4Q.js +1 -0
- package/dist/assets/messagebundle_pt_PT-DekHH4S1.js +1 -0
- package/dist/assets/messagebundle_ro-D3lrScIy.js +1 -0
- package/dist/assets/messagebundle_ro-fp3znc96.js +1 -0
- package/dist/assets/messagebundle_ro-mHJ-r7ez.js +1 -0
- package/dist/assets/messagebundle_ru-BD3A7Zsx.js +1 -0
- package/dist/assets/messagebundle_ru-BTDmH8CB.js +1 -0
- package/dist/assets/messagebundle_ru-CJECAckd.js +1 -0
- package/dist/assets/messagebundle_ru-D7z2G7DP.js +1 -0
- package/dist/assets/messagebundle_sh-BoaW1EWP.js +1 -0
- package/dist/assets/messagebundle_sh-C4BjzhRr.js +1 -0
- package/dist/assets/messagebundle_sh-DXM15u1O.js +1 -0
- package/dist/assets/messagebundle_sk-Bjnhb-_D.js +1 -0
- package/dist/assets/messagebundle_sk-BxDvjXxb.js +1 -0
- package/dist/assets/messagebundle_sk-Clc7AaEc.js +1 -0
- package/dist/assets/messagebundle_sk-Lb4jvtpc.js +1 -0
- package/dist/assets/messagebundle_sl-BZi2bKSy.js +1 -0
- package/dist/assets/messagebundle_sl-Bi9mgI6m.js +1 -0
- package/dist/assets/messagebundle_sl-Bn5tocYe.js +1 -0
- package/dist/assets/messagebundle_sl-DJj-8V96.js +1 -0
- package/dist/assets/messagebundle_sr-B9TYgxO1.js +1 -0
- package/dist/assets/messagebundle_sr-Dsio4Srd.js +1 -0
- package/dist/assets/messagebundle_sr-SCdbG5fp.js +1 -0
- package/dist/assets/messagebundle_sr-w0tnyPzk.js +1 -0
- package/dist/assets/messagebundle_sv-B-KDauoz.js +1 -0
- package/dist/assets/messagebundle_sv-DCsGSCfn.js +1 -0
- package/dist/assets/messagebundle_sv-DQ0kE9XJ.js +1 -0
- package/dist/assets/messagebundle_sv-DWlY9RTQ.js +1 -0
- package/dist/assets/messagebundle_th-BmHTcbhR.js +1 -0
- package/dist/assets/messagebundle_th-D8qcTN_b.js +1 -0
- package/dist/assets/messagebundle_th-rPoqCsGu.js +1 -0
- package/dist/assets/messagebundle_tr-CyN3jcUR.js +1 -0
- package/dist/assets/messagebundle_tr-DIqpdL9d.js +1 -0
- package/dist/assets/{messagebundle_tr-CKXLfeIL.js → messagebundle_tr-Dw7toCgs.js} +1 -1
- package/dist/assets/messagebundle_uk-C7_nVJ9T.js +1 -0
- package/dist/assets/messagebundle_uk-CycQpntH.js +1 -0
- package/dist/assets/messagebundle_uk-L4kmWPZY.js +1 -0
- package/dist/assets/messagebundle_vi-CKYiMebw.js +1 -0
- package/dist/assets/messagebundle_vi-D1-iiI56.js +1 -0
- package/dist/assets/messagebundle_vi-wJJaYHj7.js +1 -0
- package/dist/assets/messagebundle_zh_CN-CIR_auXr.js +1 -0
- package/dist/assets/messagebundle_zh_CN-D3UfRQq7.js +1 -0
- package/dist/assets/messagebundle_zh_CN-Dv1_J1hu.js +1 -0
- package/dist/assets/messagebundle_zh_TW-CG9O1F7p.js +1 -0
- package/dist/assets/messagebundle_zh_TW-CQChC5zV.js +1 -0
- package/dist/assets/{messagebundle_zh_TW-Bok4mzbM.js → messagebundle_zh_TW-qc8ADbuf.js} +1 -1
- package/dist/assets/{parameters-bundle.css-B89Fdm1T.js → parameters-bundle.css-1rRun2sT.js} +8 -0
- package/dist/assets/parameters-bundle.css-BA_cQYjH.js +2 -0
- package/dist/assets/parameters-bundle.css-BBLk8nbD.js +3 -0
- package/dist/assets/{parameters-bundle.css-BRUthQQI.js → parameters-bundle.css-BBdTemt8.js} +15 -15
- package/dist/assets/parameters-bundle.css-BCB-2TTY.js +2 -0
- package/dist/assets/parameters-bundle.css-BQB0pxRT.js +2 -0
- package/dist/assets/parameters-bundle.css-BVXLOlqR.js +2 -0
- package/dist/assets/parameters-bundle.css-B_rCq3Nc.js +3 -0
- package/dist/assets/{parameters-bundle.css-BWPCcnui.js → parameters-bundle.css-BiSP-Gf0.js} +10 -2
- package/dist/assets/parameters-bundle.css-C90ijvPq.js +2 -0
- package/dist/assets/{parameters-bundle.css-CXAGQb2_.js → parameters-bundle.css-CKNWL0nG.js} +10 -2
- package/dist/assets/parameters-bundle.css-CTIq7sCI.js +2 -0
- package/dist/assets/parameters-bundle.css-CTw0R0y7.js +2 -0
- package/dist/assets/parameters-bundle.css-CV2FCAf_.js +3 -0
- package/dist/assets/parameters-bundle.css-CWfGvXBZ.js +2 -0
- package/dist/assets/parameters-bundle.css-CX7V5RGm.js +3 -0
- package/dist/assets/parameters-bundle.css-D9AHurfl.js +2 -0
- package/dist/assets/parameters-bundle.css-DENVM9pb.js +3 -0
- package/dist/assets/parameters-bundle.css-DHLZEUsz.js +3 -0
- package/dist/assets/{parameters-bundle.css-CaKlToMx.js → parameters-bundle.css-DH_wndOj.js} +6 -6
- package/dist/assets/parameters-bundle.css-DUAp19rB.js +3 -0
- package/dist/assets/{parameters-bundle.css-Bbpzo3n0.js → parameters-bundle.css-DUGC7SPT.js} +8 -0
- package/dist/assets/parameters-bundle.css-DXuX1n-u.js +2 -0
- package/dist/assets/{parameters-bundle.css-DICk53PA.js → parameters-bundle.css-Dd5ajhZR.js} +10 -2
- package/dist/assets/parameters-bundle.css-Dp55UvXM.js +3 -0
- package/dist/assets/parameters-bundle.css-DpJfefgg.js +3 -0
- package/dist/assets/{parameters-bundle.css-DD29SCx8.js → parameters-bundle.css-DuHP0Q5Y.js} +13 -12
- package/dist/assets/parameters-bundle.css-YNYQDxyY.js +2 -0
- package/dist/assets/parameters-bundle.css-tevTlrPX.js +2 -0
- package/dist/assets/{parameters-bundle.css-DPvcwVIm.js → parameters-bundle.css-yvuwi247.js} +5 -5
- package/dist/css/themes/List.css +1 -1
- package/dist/css/themes/ListGroupHeader.css +1 -1
- package/dist/css/themes/ListItem.css +1 -1
- package/dist/css/themes/RadioButton.css +1 -1
- package/dist/css/themes/SearchableList.css +1 -1
- package/dist/css/themes/TextField.css +1 -1
- package/dist/custom-elements-internal.json +488 -0
- package/dist/custom-elements.json +494 -4
- package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
- package/dist/generated/templates/ListGroupHeaderTemplate.lit.js +5 -5
- package/dist/generated/templates/ListGroupHeaderTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.js +1 -1
- package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.js.map +1 -1
- package/dist/generated/themes/List.css.d.ts +1 -1
- package/dist/generated/themes/List.css.js +1 -1
- package/dist/generated/themes/List.css.js.map +1 -1
- package/dist/generated/themes/ListGroupHeader.css.d.ts +1 -1
- package/dist/generated/themes/ListGroupHeader.css.js +1 -1
- package/dist/generated/themes/ListGroupHeader.css.js.map +1 -1
- package/dist/generated/themes/ListItem.css.d.ts +1 -1
- package/dist/generated/themes/ListItem.css.js +1 -1
- package/dist/generated/themes/ListItem.css.js.map +1 -1
- package/dist/generated/themes/RadioButton.css.d.ts +1 -1
- package/dist/generated/themes/RadioButton.css.js +1 -1
- package/dist/generated/themes/RadioButton.css.js.map +1 -1
- package/dist/generated/themes/SearchableList.css.d.ts +1 -1
- package/dist/generated/themes/SearchableList.css.js +1 -1
- package/dist/generated/themes/SearchableList.css.js.map +1 -1
- package/dist/generated/themes/TextField.css.d.ts +1 -1
- package/dist/generated/themes/TextField.css.js +1 -1
- package/dist/generated/themes/TextField.css.js.map +1 -1
- package/dist/messagebundle_ru.properties +128 -0
- package/dist/messagebundle_sk.properties +125 -0
- package/dist/messagebundle_sl.properties +126 -1
- package/dist/messagebundle_sr.properties +128 -0
- package/dist/messagebundle_sv.properties +126 -0
- package/dist/vscode.html-custom-data.json +122 -0
- package/dist/web-types.json +187 -1
- package/package.json +8 -8
- package/src/FilterMenu.ts +23 -0
- package/src/ListGroupHeader.hbs +4 -4
- package/src/ListItemBase.ts +2 -2
- package/src/MastheadCountrySelector.hbs +1 -1
- package/src/MastheadCountrySelector.ts +20 -80
- package/src/Search.ts +9 -0
- package/src/SearchTemplate.tsx +1 -0
- package/src/SearchableListBase.ts +76 -8
- package/src/SearchableListBaseTemplate.tsx +13 -1
- package/src/SelectBase.ts +23 -16
- package/src/SelectBox.ts +19 -14
- package/src/SelectBoxItem.ts +70 -1
- package/src/SelectBoxTemplate.tsx +1 -1
- package/src/Tag.ts +8 -0
- package/src/TagGroup.ts +10 -0
- package/src/TagGroupTemplate.tsx +1 -0
- package/src/TagTemplate.tsx +1 -0
- package/src/generated/templates/ListGroupHeaderTemplate.lit.ts +4 -4
- package/src/generated/templates/MastheadCountrySelectorTemplate.lit.ts +1 -1
- package/src/generated/themes/List.css.ts +1 -1
- package/src/generated/themes/ListGroupHeader.css.ts +1 -1
- package/src/generated/themes/ListItem.css.ts +1 -1
- package/src/generated/themes/RadioButton.css.ts +1 -1
- package/src/generated/themes/SearchableList.css.ts +1 -1
- package/src/generated/themes/TextField.css.ts +1 -1
- package/src/i18n/messagebundle_ru.properties +128 -0
- package/src/i18n/messagebundle_sk.properties +125 -0
- package/src/i18n/messagebundle_sl.properties +126 -1
- package/src/i18n/messagebundle_sr.properties +128 -0
- package/src/i18n/messagebundle_sv.properties +126 -0
- package/src/themes/List.css +1 -2
- package/src/themes/ListGroupHeader.css +10 -12
- package/src/themes/ListItem.css +4 -0
- package/src/themes/RadioButton.css +9 -6
- package/src/themes/SearchableList.css +0 -1
- package/src/themes/TextField.css +2 -1
- package/dist/assets/ListItemStandardExpandableTextTemplate-DhmGlKzk.js +0 -3
- package/dist/assets/messagebundle_ar-B_vGELqE.js +0 -1
- package/dist/assets/messagebundle_ar-ql9y8H7i.js +0 -1
- package/dist/assets/messagebundle_bg-DahjEq9-.js +0 -1
- package/dist/assets/messagebundle_bg-DirTSiBs.js +0 -1
- package/dist/assets/messagebundle_ca-CLoGjgOQ.js +0 -1
- package/dist/assets/messagebundle_ca-Dt0eXv4b.js +0 -1
- package/dist/assets/messagebundle_cnr-CIT4FdxK.js +0 -1
- package/dist/assets/messagebundle_cnr-DcKjQBC2.js +0 -1
- package/dist/assets/messagebundle_cs-D6Ept3aZ.js +0 -1
- package/dist/assets/messagebundle_cs-JybtcHQz.js +0 -1
- package/dist/assets/messagebundle_cy-CBJcBetc.js +0 -1
- package/dist/assets/messagebundle_cy-D6EaO2mc.js +0 -1
- package/dist/assets/messagebundle_da-DP_Ld_m4.js +0 -1
- package/dist/assets/messagebundle_da-DXFv9LbY.js +0 -1
- package/dist/assets/messagebundle_de-C6CVo61I.js +0 -1
- package/dist/assets/messagebundle_de-De1WNx1Z.js +0 -1
- package/dist/assets/messagebundle_el-DjFg6Pxj.js +0 -1
- package/dist/assets/messagebundle_el-x7EAub0z.js +0 -1
- package/dist/assets/messagebundle_en-52Fg7l8z.js +0 -1
- package/dist/assets/messagebundle_en-CAn74huH.js +0 -1
- package/dist/assets/messagebundle_en_GB-BNvEFdpW.js +0 -1
- package/dist/assets/messagebundle_en_GB-mPq0tjYl.js +0 -1
- package/dist/assets/messagebundle_en_US_sappsd-BJo2KiPa.js +0 -1
- package/dist/assets/messagebundle_en_US_sappsd-DynRbkUr.js +0 -1
- package/dist/assets/messagebundle_en_US_saprigi-BQWYyoHW.js +0 -1
- package/dist/assets/messagebundle_en_US_saprigi-D92s1ZRa.js +0 -1
- package/dist/assets/messagebundle_en_US_saptrc-B2DXKZNZ.js +0 -1
- package/dist/assets/messagebundle_en_US_saptrc-hfAEC4kd.js +0 -1
- package/dist/assets/messagebundle_es-BwPFGD9Z.js +0 -1
- package/dist/assets/messagebundle_es-jLk5s13n.js +0 -1
- package/dist/assets/messagebundle_es_MX-C4GAmGhU.js +0 -1
- package/dist/assets/messagebundle_es_MX-D8t2Deqr.js +0 -1
- package/dist/assets/messagebundle_et-BTaXAVVc.js +0 -1
- package/dist/assets/messagebundle_et-Bjo0Et5r.js +0 -1
- package/dist/assets/messagebundle_fi-ChYfzxXr.js +0 -1
- package/dist/assets/messagebundle_fi-CntiBCQA.js +0 -1
- package/dist/assets/messagebundle_fr-BdRWqZJC.js +0 -1
- package/dist/assets/messagebundle_fr-CaZExNBp.js +0 -1
- package/dist/assets/messagebundle_fr_CA-BKRP61J_.js +0 -1
- package/dist/assets/messagebundle_fr_CA-DAzfdGd5.js +0 -1
- package/dist/assets/messagebundle_hi-BcOtK4GQ.js +0 -1
- package/dist/assets/messagebundle_hi-C7UcqZdw.js +0 -1
- package/dist/assets/messagebundle_hr-BLF-FOD0.js +0 -1
- package/dist/assets/messagebundle_hr-Dk6M01RL.js +0 -1
- package/dist/assets/messagebundle_hu-DpIoRnup.js +0 -1
- package/dist/assets/messagebundle_hu-VbDHbZG7.js +0 -1
- package/dist/assets/messagebundle_id-DIBxH6fi.js +0 -1
- package/dist/assets/messagebundle_id-lZaxXrdJ.js +0 -1
- package/dist/assets/messagebundle_it-BhsMY7So.js +0 -1
- package/dist/assets/messagebundle_it-DG7xbfea.js +0 -1
- package/dist/assets/messagebundle_iw-Cc803Nmd.js +0 -1
- package/dist/assets/messagebundle_iw-O_evnbhY.js +0 -1
- package/dist/assets/messagebundle_ja-BQJaLzhD.js +0 -1
- package/dist/assets/messagebundle_ja-DA6u0p66.js +0 -1
- package/dist/assets/messagebundle_kk-D5CooIqJ.js +0 -1
- package/dist/assets/messagebundle_kk-DNvxdh_N.js +0 -1
- package/dist/assets/messagebundle_ko-D8xqECx2.js +0 -1
- package/dist/assets/messagebundle_ko-wbi_wfM_.js +0 -1
- package/dist/assets/messagebundle_lt-DpI4T_Fm.js +0 -1
- package/dist/assets/messagebundle_lt-ln5fzwxi.js +0 -1
- package/dist/assets/messagebundle_lv-CYWgsGbN.js +0 -1
- package/dist/assets/messagebundle_lv-l0vb-OwI.js +0 -1
- package/dist/assets/messagebundle_mk-DIl_j3HQ.js +0 -1
- package/dist/assets/messagebundle_mk-t_B9kLHP.js +0 -1
- package/dist/assets/messagebundle_ms-BFy7Zha3.js +0 -1
- package/dist/assets/messagebundle_ms-DZQm3zbR.js +0 -1
- package/dist/assets/messagebundle_nl-C1aSfvr4.js +0 -1
- package/dist/assets/messagebundle_nl-TRrPBmQF.js +0 -1
- package/dist/assets/messagebundle_no-CLhgj0EG.js +0 -1
- package/dist/assets/messagebundle_no-aR0S5fgl.js +0 -1
- package/dist/assets/messagebundle_pl-BSUgMNBu.js +0 -1
- package/dist/assets/messagebundle_pl-CET5Ib58.js +0 -1
- package/dist/assets/messagebundle_pt-BbXdBcA1.js +0 -1
- package/dist/assets/messagebundle_pt-DkZyB3LQ.js +0 -1
- package/dist/assets/messagebundle_pt_PT-C_oLd5Iw.js +0 -1
- package/dist/assets/messagebundle_pt_PT-DCKLQCBx.js +0 -1
- package/dist/assets/messagebundle_ro-CsDFuVns.js +0 -1
- package/dist/assets/messagebundle_ro-D2wg4wzH.js +0 -1
- package/dist/assets/messagebundle_ru-BT7zyn7i.js +0 -1
- package/dist/assets/messagebundle_ru-C2C4gC1g.js +0 -1
- package/dist/assets/messagebundle_ru-DE3o7RU0.js +0 -1
- package/dist/assets/messagebundle_sh-B7wYluE7.js +0 -1
- package/dist/assets/messagebundle_sh-DKD7IPLY.js +0 -1
- package/dist/assets/messagebundle_sk-BqNiKvir.js +0 -1
- package/dist/assets/messagebundle_sk-CQANpP_i.js +0 -1
- package/dist/assets/messagebundle_sk-gmWb_4Wo.js +0 -1
- package/dist/assets/messagebundle_sl-B4p3OqyZ.js +0 -1
- package/dist/assets/messagebundle_sl-D-C5Ql-U.js +0 -1
- package/dist/assets/messagebundle_sl-Dg8gsTrL.js +0 -1
- package/dist/assets/messagebundle_sr-BrfbPkvb.js +0 -1
- package/dist/assets/messagebundle_sr-CiPp4mnW.js +0 -1
- package/dist/assets/messagebundle_sr-D8Lxl5cz.js +0 -1
- package/dist/assets/messagebundle_sv-DCluCru8.js +0 -1
- package/dist/assets/messagebundle_sv-DZNyuq7Z.js +0 -1
- package/dist/assets/messagebundle_sv-Ip_fKK1p.js +0 -1
- package/dist/assets/messagebundle_th-DwzFsAOp.js +0 -1
- package/dist/assets/messagebundle_th-HY1lYjoi.js +0 -1
- package/dist/assets/messagebundle_tr-B-M7HjSs.js +0 -1
- package/dist/assets/messagebundle_uk-Bh3hLYnV.js +0 -1
- package/dist/assets/messagebundle_uk-gYNrr26j.js +0 -1
- package/dist/assets/messagebundle_vi-CmDSDhxv.js +0 -1
- package/dist/assets/messagebundle_vi-yAL9JrWb.js +0 -1
- package/dist/assets/messagebundle_zh_CN-DOWro3p4.js +0 -1
- package/dist/assets/messagebundle_zh_CN-DRPasXpL.js +0 -1
- package/dist/assets/messagebundle_zh_TW-DCsIDAoN.js +0 -1
- package/dist/assets/parameters-bundle.css-B-LoL5pn.js +0 -2
- package/dist/assets/parameters-bundle.css-B44zldkY.js +0 -2
- package/dist/assets/parameters-bundle.css-B9cNNkge.js +0 -2
- package/dist/assets/parameters-bundle.css-BM3cv0NX.js +0 -3
- package/dist/assets/parameters-bundle.css-BaYJ1Sh3.js +0 -3
- package/dist/assets/parameters-bundle.css-BnDd81m-.js +0 -2
- package/dist/assets/parameters-bundle.css-Bpp5SPIo.js +0 -2
- package/dist/assets/parameters-bundle.css-BxF9_xcQ.js +0 -3
- package/dist/assets/parameters-bundle.css-CIS8Sge3.js +0 -2
- package/dist/assets/parameters-bundle.css-CkZZXcub.js +0 -3
- package/dist/assets/parameters-bundle.css-CqlwqyiK.js +0 -3
- package/dist/assets/parameters-bundle.css-D5iBjAlb.js +0 -2
- package/dist/assets/parameters-bundle.css-DFLKYdpf.js +0 -3
- package/dist/assets/parameters-bundle.css-Df8B8yQY.js +0 -2
- package/dist/assets/parameters-bundle.css-DfFxBNVP.js +0 -3
- package/dist/assets/parameters-bundle.css-DgrQXZRd.js +0 -2
- package/dist/assets/parameters-bundle.css-Dt5cIEI8.js +0 -2
- package/dist/assets/parameters-bundle.css-Wj-Qo16j.js +0 -3
- package/dist/assets/parameters-bundle.css-X9m6S2In.js +0 -2
- package/dist/assets/parameters-bundle.css-defUEOJD.js +0 -2
- package/dist/assets/parameters-bundle.css-oytHmScC.js +0 -3
package/dist/Search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Search.js","sourceRoot":"","sources":["../src/Search.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DefaultSlot, ChangeInfo } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport { getFeature } from \"@ui5/webcomponents-base/dist/FeaturesRegistry.js\";\nimport Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport {\n isEnter, isTabNext, isTabPrevious, isUp, isDown, isEscape, isSpace,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport List from \"./List.js\";\nimport ControlButton from \"./ControlButton.js\";\nimport type ListItemBase from \"./ListItemBase.js\";\nimport \"@ui5/webcomponents-icons/dist/decline.js\";\nimport \"@ui5/webcomponents-icons/dist/search.js\";\nimport \"@ui5/webcomponents-icons/dist/microphone.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport debounce from \"./utils/debounce.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n SUGGESTED_TEXT,\n RECOMMENDED_TEXT,\n AVAILABLE_VALUES,\n NO_MATCHES_FOUND,\n ACCESSIBLE_NAME_RESET_ICON,\n ACCESSIBLE_NAME_SEARCH_ICON,\n TOOLTIP_RESET_BUTTON,\n TOOLTIP_VOICE_BUTTON,\n TOOLTIP_SUBMIT_BUTTON,\n LISTENING,\n OF,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport type SearchInputSuggestion from \"./features/SearchSuggestionsPopover.js\";\nimport retryUntilSuccessful from \"./utils/retryUntilSuccessful.js\";\nimport sanitizeString from \"./utils/sanitizeString.js\";\nimport UDExButton from \"./Button.js\";\nimport translate from \"./utils/translate.js\";\n\nimport SearchTemplate from \"./SearchTemplate.js\";\n\n// Styles\nimport SearchCss from \"./generated/themes/Search.css.js\";\nimport SearchSuggestionsCss from \"./generated/themes/SearchSuggestions.css.js\";\nimport getEffectiveScrollbarStyle from \"./utils/getEffectiveScrollbarStyle.js\";\nimport type { Booleanish } from \"@ui5/webcomponents-base/dist/thirdparty/preact/jsx.js\";\n\nconst SearchIcon: string = \"sap-icon://search\";\n\nconst SuggestionsPopoverId: string = \"suggestions-popover\";\n\nexport type ListItem = {\n label: string;\n icon: string;\n}\n\nexport type DataList = Array<ListItem | string>;\n\nexport type SuggestionData = {\n label: string,\n list: DataList\n}\n\nexport type RecommendData = {\n label: string,\n list: DataList\n}\n\nexport type SuggestionRecommendLists = {\n suggested: SuggestionData | DataList,\n recommended: RecommendData | DataList\n}\n\nexport type SuggestionList = {\n handleSelectItem: () => void,\n text: string,\n icon: string,\n title: string,\n hasCustomIcon: boolean,\n id: string\n suggestionDescription: string;\n}\n\nexport enum Mode {\n Standard = \"Standard\",\n HomeSearch = \"Home Search\"\n}\n\nexport type PopoverPlacement = \"Bottom\" | \"Top\";\n\ntype UDExSearchBaseEventDetail = {\n value: string,\n categoryName?: string\n}\n\ntype UDExSearchPrefixItemClickEventDetail = {\n item: ListItemBase,\n}\n\ntype UDExSearchKeydownEventDetail = {\n e: KeyboardEvent;\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-search</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Search.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-search\n * @public\n */\n@customElement({\n tag: \"udex-search\",\n renderer: jsxRenderer,\n styles: [SearchCss, SearchSuggestionsCss, getEffectiveScrollbarStyle()],\n template: SearchTemplate,\n get dependencies() {\n const Suggestion = getFeature<typeof SearchInputSuggestion>(\"SearchInputSuggestion\");\n return ([ControlButton, UDExButton, Icon, List, Popover] as Array<typeof UI5Element>).concat(Suggestion ? [...Suggestion.dependencies] : []);\n },\n})\n\n/**\n * Fired event when the user submitted the value.\n *\n * @public\n * @param {string} value The submitted search value\n * @param {string} categoryName The category name if an item from the suggestion list is clicked\n * @param {string} item The clicked item from the suggestion list\n *\n */\n@event(\"submit-search-value\", { bubbles: true })\n/**\n * Fired event when the user typed to search field.\n *\n * @public\n * @param {string} value The current value of the search field\n * @param {string} categoryName The category name if an item from the suggestion list is clicked\n * @param {string} item The clicked item from the suggestion list\n *\n */\n@event(\"handle-value-search\", { bubbles: true })\n/**\n * Fired event when the user clicks on the reset button.\n *\n * @public\n */\n@event(\"handle-value-reset\", { bubbles: true })\n/**\n * Fired event when the user clicks on the item inside the popover.\n *\n * @public\n * @param {string} value The value of the clicked item\n * @param {string} categoryName The category name of the clicked item\n * @param {string} item The clicked item from the suggestion list\n *\n */\n@event(\"dropdown-item-click\", { bubbles: true })\n/**\n * Fired event when the user clicks on the intem inside the prefix dropdown.\n *\n * @public\n * @param {ListItemBase} item The clicked item from the prefix dropdown\n *\n */\n@event(\"prefix-item-click\")\n/**\n * Fired event when the user clicks on the intem inside the prefix dropdown.\n *\n * @public\n * @param {KeyboardEvent} e The keyboard event object\n */\n@event(\"search-keydown\", { bubbles: true })\nclass UDExSearch extends UI5Element {\n eventDetails!: {\n \"submit-search-value\": UDExSearchBaseEventDetail,\n \"handle-value-search\": UDExSearchBaseEventDetail,\n \"handle-value-reset\": void,\n \"search-keydown\": UDExSearchKeydownEventDetail,\n \"dropdown-item-click\": UDExSearchBaseEventDetail,\n \"prefix-item-click\": UDExSearchPrefixItemClickEventDetail,\n\n };\n _labelActiveClassName = \"udex-search__label--active\";\n _labelAnimationClassName = \"udex-search__label--animation-enabled\";\n _voiceActiveClassName = \"udex-search__voice-button--active\";\n _focusActiveClassName = \"udex-search__container--focus\";\n _handleResizeBound: ResizeObserverCallback;\n suggestedList!: Array<SuggestionList>;\n recommendedList!: Array<SuggestionList>;\n speechRecognition!: any;\n isNotMozillaFirefox!: boolean;\n isNotMozillaFirefoxIOS!: boolean;\n isFocusedOnTextfield!: boolean;\n Suggestion?: SearchInputSuggestion;\n /**\n * Defines the value of the component.\n *\n * @default \"\"\n * @formEvents input\n * @formProperty\n * @public\n */\n @property({ type: String })\n value: string = \"\";\n\n /**\n * Defines label text for the input field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n label!: string;\n\n /**\n * Defines if the label animation is disabled for the search field.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n labelAnimationDisabled!: boolean;\n\n /**\n * Defines display the reset button for the search field.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean, noAttribute: true })\n showResetButton!: boolean;\n\n /**\n * Defines where the SuggestionPopover is currently placed.\n *\n * @default \"Bottom\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n _popoverPlacement: PopoverPlacement = \"Bottom\";\n\n /**\n * Defines display the submit button for the search field.\n *\n * @default true\n * @public\n */\n @property({ type: Boolean })\n showSubmitButton!: boolean;\n\n /**\n * Defines non-interactive the submit button for the search field.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n nonInteractiveSubmitButton!: boolean;\n\n /**\n * Defines display the voice button for the search field.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n showVoiceButton!: boolean;\n\n /**\n * Defines suggestions and recommended lists for the component.\n * <br><br>\n * <b>Note:</b> Structure of the property:\n * { suggested: [\"string\", string, ...], recommended: [\"string\", \"string\", ...] }\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n suggestionList!: string;\n /**\n * Width of the search component\n * @private\n */\n @property({ type: Number })\n _searchWidth?: number;\n\n /**\n * Define the label of the prefix for the dropdown.\n *\n * @private\n */\n @property({ type: String })\n labelPrefix!: string;\n\n /**\n * Defines display the suggestion popover in the component.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n showSuggestedPopover!: boolean;\n\n /**\n * Defines the language of voice search.\n *\n * @default \"en-US\"\n * @public\n */\n @property({ type: String })\n languageVoice: string = \"en-US\";\n\n /**\n * Defines the mode of component.\n * <br><br>\n * <b>Note:</b> accepts a string \"Standard\" or \"Home Search\".\n *\n * @default \"Standard\"\n * @public\n */\n @property({ type: String })\n mode: Mode = Mode.Standard;\n\n /**\n * Defines open suggestion popover when clicked on the input field.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n showPopoverWhenClickedIntoInput!: boolean;\n\n /**\n * Defines open suggestion popover.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n openSuggestionPopup!: boolean;\n\n /**\n * Defines the accessible ARIA name of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n accessibleName!: string;\n\n /**\n * Defines the accessible ARIA name of the reset icon.\n *\n * @default \"Clear\"\n * @public\n */\n @property({ type: String })\n accessibleNameResetIcon!: string;\n\n /**\n * Defines the accessible ARIA name of the search icon (applied just when \"nonInteractiveSubmitButton\" is active).\n *\n * @default \"Search\"\n * @public\n */\n @property({ type: String })\n accessibleNameSearchIcon!: string;\n\n /**\n * Defines the tooltip of the clear button.\n *\n * @default \"Clear\"\n * @public\n */\n @property({ type: String })\n tooltipResetButton!: string;\n\n /**\n * Defines the tooltip of the voice button.\n *\n * @default \"Voice\"\n * @public\n */\n @property({ type: String })\n tooltipVoiceButton!: string;\n\n /**\n * Defines the tooltip of the submit button.\n *\n * @default \"Search\"\n * @public\n */\n @property({ type: String })\n tooltipSubmitButton!: string;\n\n /**\n * Defines the text if the suggestion list doesn't return results.\n *\n * @default \"No matches found.\"\n * @public\n */\n @property({ type: String })\n noResultText: string = \"No matches found.\";\n\n /**\n * Defines the inner stored class of the label.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n labelActiveClass: string = \"\";\n\n /**\n * Defines the inner stored animation class of the label.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n labelAnimationClass: string = \"\";\n\n /**\n * Defines the voice active class of the button.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n voiceActiveClass: string = \"\";\n\n /**\n * Defines the inner stored value of the classes of the label.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n labelClasses: string = \"\";\n\n /**\n * Defines the class of focus on the input field.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n focusClasses: string = \"\";\n\n /**\n * Defines the suggestion popover is opened\n *\n * @default false\n * @private\n */\n @property({ type: Boolean, noAttribute: true })\n open!: boolean;\n\n /**\n * The label of the suggestion section.\n * @private\n */\n @property({ type: String })\n _suggestionLabel?: string;\n\n /**\n * The label of the recommend section.\n * @private\n */\n @property({ type: String })\n _recommendLabel?: string;\n\n /**\n * The console warning shown after all unsuccessful attempts of opening SearchSuggestionsPopover component.\n * @default \"UdexSearchSuggestionsPopover couldn`t be opened\"\n */\n @property({ type: String })\n unsuccessfulRetryMessage: string = \"UdexSearchSuggestionsPopover couldn`t be opened\";\n\n /**\n * The delay before retrying to open the SerchSuggestionsPopover component.\n * @default 200\n */\n @property({ type: Number })\n retryDelay: number = 200;\n\n /**\n * The maximum number of attempts for opening the SearchSuggestionsPopover component.\n * @default 5\n */\n @property({ type: Number })\n maxRetryAttempts: number = 5;\n\n /**\n * Defines the prefix dropdown of the Search component.\n *\n * @slot dropdownPrefix\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n dropdownPrefix!: DefaultSlot<List>;\n\n /**\n * Defines the open button icon\n *\n * @private\n */\n @property({ type: Boolean, noAttribute: true })\n _prefixDropdownExpanded: boolean = false;\n\n /**\n * Defines the active (focus)\n * @default false\n * @private\n */\n @property({ type: Boolean })\n active!: boolean;\n /**\n * Defines is it the touch of the input field (only for mobile devices).\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _isTouched!: boolean;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n constructor() {\n super();\n this._handleResizeBound = this._handleResize.bind(this);\n }\n\n onEnterDOM(): void {\n this.isNotMozillaFirefox = !this.isMozillaFirefox(\"Firefox\");\n this.isNotMozillaFirefoxIOS = !this.isMozillaFirefox(\"FxiOS\");\n this.initSpeechRecognition();\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n this.removeEventListener(\"dropdown-trigger-event\", () => { });\n }\n\n initSpeechRecognition(): void {\n try {\n if (this.isNotMozillaFirefox || this.isNotMozillaFirefoxIOS) {\n const SpeechRecognition = (window as any).SpeechRecognition || (window as any).webkitSpeechRecognition || (window as any).mozSpeechRecognition || (window as any).msSpeechRecognition;\n this.speechRecognition = new SpeechRecognition();\n this.speechRecognition.continuous = true;\n this.speechRecognition.lang = this.languageVoice;\n this.speechRecognition.interimResults = false;\n this.speechRecognition.maxAlternatives = 5;\n }\n } catch (error: any) {\n console.warn(\"The voice button does not work in this browser\");\n throw (error);\n }\n }\n\n private isMozillaFirefox(keyWord: string) {\n const userAgent = navigator.userAgent;\n const firefoxAgent = userAgent.split(\" \").find(item => item.indexOf(keyWord) > -1);\n\n if (firefoxAgent) {\n const splitAgent = firefoxAgent.split(\"/\");\n const firefoxVersion = splitAgent[splitAgent.length - 1];\n return Number(firefoxVersion) >= 125;\n }\n return false;\n }\n\n onInvalidation(changeInfo: ChangeInfo): void {\n this.setNewValue(changeInfo);\n this.setPopoverState(changeInfo);\n this.setNewSuggestionList(changeInfo);\n }\n\n setNewValue(changeInfo: ChangeInfo): void {\n if (changeInfo.name === \"value\") {\n this.value = changeInfo.newValue as string;\n this.setSuggestedRecommendedLists(this.suggestionList);\n this.toggleLabelActiveClass();\n }\n }\n\n private toggleLabelActiveClass() {\n if (this.labelActiveClass && !this.labelAnimationDisabled && !this.isFocusedOnTextfield) {\n this.handleBlur();\n }\n }\n\n setPopoverState(changeInfo: ChangeInfo): void {\n if (changeInfo.name === \"openSuggestionPopup\") {\n this.handlePopoverTrigger(changeInfo.newValue as boolean);\n }\n }\n\n handlePopoverTrigger(isOpenPopover: boolean): void {\n if (isOpenPopover) {\n this.onOpenPopover();\n } else {\n this.onClosePopover();\n }\n }\n\n setNewSuggestionList(changeInfo: ChangeInfo): void {\n if (changeInfo.name === \"suggestionList\" && !!changeInfo.newValue) {\n this.setSuggestedRecommendedLists(changeInfo.newValue as string);\n }\n }\n\n setSuggestedRecommendedLists(value: string): void {\n if (this.showSuggestedPopover && value) {\n const parsedData: SuggestionRecommendLists = JSON.parse(value);\n const hasDataLabels = this.hasDataLabel(parsedData);\n\n if (this.shouldShowPopover(parsedData, hasDataLabels)) {\n this.setDropdownLabels(parsedData);\n this.suggestedList = this.getListWithSuggestion(this.getSuggestedList(hasDataLabels, parsedData), \"suggested\");\n this.recommendedList = this.getListWithSuggestion(this.getRecommendedList(hasDataLabels, parsedData), \"recommended\");\n }\n if (!this.shouldShowPopover(parsedData, hasDataLabels)) {\n this.onClosePopover();\n this.resetSuggestedRecommendedLists();\n }\n }\n }\n\n private hasDataLabel(parsedData: SuggestionRecommendLists) {\n return Object.values(parsedData).some(item => Object.prototype.hasOwnProperty.call(item, \"label\"));\n }\n\n private hasSuggestedLabel(parsedData: SuggestionRecommendLists) {\n if (parsedData.suggested) {\n const suggestedData = parsedData.suggested as SuggestionData;\n return Object.prototype.hasOwnProperty.call(parsedData.suggested, \"label\") ? !!suggestedData.label : false;\n }\n return false;\n }\n\n private hasRecommendedLabel(parsedData: SuggestionRecommendLists): boolean {\n if (parsedData.recommended) {\n const recommendedData = parsedData.recommended as RecommendData;\n return Object.prototype.hasOwnProperty.call(parsedData.recommended, \"label\") ? !!recommendedData.label : false;\n }\n return false;\n }\n\n private resetSuggestedRecommendedLists() {\n this.suggestedList = [];\n this.recommendedList = [];\n }\n\n private setDropdownLabels(parsedData: SuggestionRecommendLists) {\n this._suggestionLabel = this.getSuggestionLabel(parsedData);\n this._recommendLabel = this.getRecommendLabel(parsedData);\n }\n\n private getRecommendLabel(parsedData: SuggestionRecommendLists): string {\n return this.hasRecommendedLabel(parsedData)\n ? (parsedData.recommended as RecommendData).label || \"\"\n : translate(UDExSearch, RECOMMENDED_TEXT);\n }\n\n private getSuggestionLabel(parsedData: SuggestionRecommendLists): string {\n return this.hasSuggestedLabel(parsedData)\n ? (parsedData.suggested as SuggestionData).label || \"\"\n : translate(UDExSearch, SUGGESTED_TEXT);\n }\n\n private getRecommendedList(hasDataLabels: boolean, parsedData: SuggestionRecommendLists) {\n return hasDataLabels\n ? (parsedData.recommended as RecommendData).list\n : parsedData.recommended as DataList;\n }\n\n private getSuggestedList(hasDataLabels: boolean, parsedData: SuggestionRecommendLists) {\n return hasDataLabels\n ? (parsedData.suggested as SuggestionData).list\n : parsedData.suggested as DataList;\n }\n\n private shouldShowPopover(parsedData: SuggestionRecommendLists, hasDataLabels: boolean) {\n const hasSuggestedListContent = this.hasSuggestedContent(hasDataLabels, parsedData);\n const hasRecommendedContent = this.hasRecommendedContent(hasDataLabels, parsedData);\n return this.showPopoverWhenClickedIntoInput || (hasSuggestedListContent || hasRecommendedContent);\n }\n\n private hasSuggestedContent(hasDataLabels: boolean, parsedData: SuggestionRecommendLists) {\n return hasDataLabels\n ? Object.prototype.hasOwnProperty.call(parsedData.suggested, \"list\") && (parsedData.suggested as SuggestionData).list.length\n : (parsedData.suggested as DataList).length;\n }\n\n private hasRecommendedContent(hasDataLabels: boolean, parsedData: SuggestionRecommendLists) {\n return hasDataLabels\n ? Object.prototype.hasOwnProperty.call(parsedData.recommended, \"list\") && (parsedData.recommended as RecommendData).list.length\n : (parsedData.recommended as DataList).length;\n }\n\n getListWithSuggestion(suggestedList: DataList, idName: string): Array<SuggestionList> {\n return suggestedList?.map((item, index) => {\n const itemWithCustomIcon = typeof item === \"object\";\n const label = itemWithCustomIcon ? item.label : item;\n return {\n handleSelectItem: this.handleSelectItem(label, idName),\n text: sanitizeString(this.getTextWithSuggestion(label)),\n title: sanitizeString(label),\n icon: itemWithCustomIcon ? item.icon : SearchIcon,\n hasCustomIcon: itemWithCustomIcon,\n id: `${idName}-${index}`,\n suggestionDescription: sanitizeString(`${label}, ${idName} ${index + 1} ${translate(UDExSearch, OF)} ${suggestedList.length}`),\n };\n });\n }\n\n escapeRegExp(input: string): string {\n const specialChars = /[-[\\]/{}()*+?.\\\\^$|]/g;\n return input.replace(specialChars, \"\\\\$&\");\n }\n\n getTextWithSuggestion(text: string): string {\n const escapedValue = this.escapeRegExp(this.value);\n const search = new RegExp(escapedValue, \"i\");\n return text.replace(search, \"<b>$&</b>\");\n }\n\n handleSelectItem = (itemValue: string, categoryName: string) => () => {\n this.value = itemValue;\n this.fireDropdownItemClick(itemValue, categoryName);\n this.handleSubmitValue();\n };\n\n fireDropdownItemClick(value: string, categoryName: string) {\n this.fireDecoratorEvent(\"dropdown-item-click\", { value: sanitizeString(value), categoryName });\n }\n\n handleDropdownClick() {\n const dropdown = this.getPrefixPopover();\n\n if (dropdown.open) {\n this.onClosePrefixPopover();\n } else {\n this.onOpenPrefixPopover();\n }\n }\n\n getPrefixWrapper() {\n return this.shadowRoot!.querySelector(\".udex-search__prefix\") as HTMLElement;\n }\n\n getPrefixPopover(): Popover {\n return this.shadowRoot!.querySelector<Popover>(\"#udex-search-prefix\")!;\n }\n\n getPrefixButton() {\n return this.shadowRoot!.querySelector(\".udex-search__prefix-button\") as HTMLElement;\n }\n\n onOpenPrefixPopover() {\n if (this.dropdownPrefix.length) {\n const wrapper = this.getPrefixWrapper();\n const dropdown = this.getPrefixPopover();\n const button = this.getPrefixButton();\n\n this._prefixDropdownExpanded = true;\n dropdown.opener = this.getPrefixButton();\n dropdown.open = true;\n dropdown.style.width = `${button.offsetWidth + 1}px`;\n dropdown.classList.add(this.prefixPopoverClasses);\n button.classList.add(\"udex-search__prefix-button--active\");\n wrapper.classList.add(this.prefixWrapperClasses);\n this.dropdownPrefix[0].addEventListener(\"item-press\", this.handleItemClick);\n }\n }\n\n handleItemClick = (e: Event) => {\n const selectedItemPrefix = (e as CustomEvent).detail.item as ListItemBase;\n this.labelPrefix = selectedItemPrefix.innerText;\n this.fireDecoratorEvent(\"prefix-item-click\", { item: selectedItemPrefix });\n this.onClosePrefixPopover();\n };\n\n onClosePrefixPopover() {\n const dropdown = this.getPrefixPopover();\n this.dropdownPrefix[0].removeEventListener(\"item-press\", this.handleItemClick);\n dropdown.open = false;\n this.handleAfterClosePrefixPopover();\n }\n\n handleAfterClosePrefixPopover() {\n this._prefixDropdownExpanded = false;\n const wrapper = this.getPrefixWrapper();\n const button = this.getPrefixButton();\n wrapper.classList.remove(\"udex-search__prefix--show-popover\", \"udex-search__prefix--show-popover-top\");\n button.classList.remove(\"udex-search__prefix-button--active\");\n }\n\n handleInputClick(): void {\n if (!isDesktop()) {\n this._isTouched = true;\n }\n if (this.showPopoverWhenClickedIntoInput) {\n this.onOpenPopover();\n }\n }\n\n onSubmit(e: MouseEvent): void {\n e.stopPropagation();\n this.handleSubmitValue();\n }\n\n handleSubmitValue(): void {\n this.handleDebounce.cancel();\n this.onClosePopover();\n this.fireDecoratorEvent(\"submit-search-value\", { value: this.value });\n }\n\n handleAriaExpanded() {\n const value = this.open.toString();\n this.getSearchInput()?.setAttribute(\"aria-expanded\", value);\n }\n\n onOpenPopover(): void {\n if (this.showSuggestedPopover) {\n if (!this.Suggestion) {\n retryUntilSuccessful(() => this.Suggestion, this.retryDelay, this.maxRetryAttempts, this.unsuccessfulRetryMessage)\n .then(() => {\n this.Suggestion!.open();\n })\n .catch(error => {\n console.warn(error.message);\n });\n } else {\n this.open = true;\n this.Suggestion.open();\n }\n this.handleAriaExpanded();\n }\n }\n\n onClosePopover(): void {\n if (this.showSuggestedPopover) {\n this.Suggestion!.close();\n this.handleAriaExpanded();\n this.open = false;\n }\n }\n\n handleKeyPressSuggestionList(e: KeyboardEvent): void {\n this.Suggestion?.handleKeyPress(e);\n }\n\n get rootClasses(): string {\n if (this.mode === Mode.HomeSearch && this.showSuggestedPopover && this.open) {\n return this.isSuggestionPopoverTop ? \"udex-search__root--show-popover-top\" : \"udex-search__root--show-popover\";\n }\n return \"\";\n }\n\n onBeforeRendering(): void {\n if (this.showSuggestedPopover) {\n this.enableSuggestions();\n }\n\n if (this.isHomeSearchWithPrefixMode && this.dropdownPrefix.length) {\n const dropdownItems = Array.from(this.dropdownPrefix[0].children) as Array<ListItemBase>;\n const selectedItemIndex = dropdownItems.findIndex(listItem => listItem.selected);\n const selectedItemPrefix = selectedItemIndex >= 0 ? dropdownItems[selectedItemIndex] : dropdownItems[0];\n\n this.labelPrefix = selectedItemPrefix.innerText;\n }\n\n this.showResetButton = !!this.value.length;\n\n if (this.value && this.labelActiveClass === \"\") {\n this.labelActiveClass = this._labelActiveClassName;\n }\n\n if (this.mode === Mode.HomeSearch) {\n this.labelAnimationDisabled = true;\n }\n\n if (!this.labelAnimationDisabled) {\n this.labelAnimationClass = this._labelAnimationClassName;\n }\n\n this.labelClasses = `udex-search__label ${this.labelActiveClass} ${this.labelAnimationClass}`;\n\n if (this.isVoiceButton) {\n this.labelClasses += \" udex-search__label-with-voice-icon\";\n }\n\n if (this.isShowSubmitButton) {\n this.labelClasses += \" udex-search__label-with-search-icon\";\n }\n }\n\n enableSuggestions() {\n if (this.Suggestion) {\n return;\n }\n\n const Suggestion = getFeature<typeof SearchInputSuggestion>(\"SearchInputSuggestion\");\n\n if (Suggestion) {\n this.Suggestion = new Suggestion(this);\n } else {\n throw new Error(\"You have to import '@sapudex/web-components/dist/features/SearchSuggestionsPopover.js' module to use udex-search suggestions\");\n }\n }\n\n private _createObserver(popover: Popover, ingoreOpenState: boolean = false): MutationObserver {\n return new MutationObserver(mutationList => {\n mutationList.forEach(mutation => {\n const newValue = popover?.actualPlacement;\n const oldValue = mutation.oldValue;\n\n if (mutation.attributeName === \"actual-placement\" && newValue !== oldValue) {\n this._popoverPlacement = newValue as PopoverPlacement;\n }\n\n if (mutation.attributeName === \"open\" && newValue !== oldValue && !ingoreOpenState) {\n this.open = popover?.open || false;\n }\n });\n });\n }\n\n onAfterRendering(): void {\n if (this.showSuggestedPopover) {\n const prefixPopover = this.getPrefixPopover();\n\n if (this.Suggestion?.popover) {\n const suggestionObserver = this._createObserver(this.Suggestion.popover);\n const popoverNode = this.Suggestion?.popover as Node;\n suggestionObserver.observe(popoverNode, { attributes: true, attributeOldValue: true });\n this.Suggestion.initLists();\n }\n\n if (prefixPopover) {\n const prefixObserver = this._createObserver(prefixPopover, true);\n const popoverNode = prefixPopover as Node;\n prefixObserver.observe(popoverNode, { attributes: true, attributeOldValue: true });\n }\n\n this.setSearchWidth();\n this.handleOpenSuggestionPopover();\n }\n }\n\n handleOpenSuggestionPopover() {\n if (this.openSuggestionPopup) {\n this.Suggestion?._getSuggestionPopover();\n this.handlePopoverTrigger(this.openSuggestionPopup);\n }\n }\n\n handleBlur(): void {\n this._isTouched = false;\n if (this.value) {\n this.labelActiveClass = this._labelActiveClassName;\n } else {\n this.labelActiveClass = \"\";\n }\n }\n\n handleSearchChange(e: InputEvent): void {\n this.value = (e.target as HTMLInputElement)?.value;\n this.showResetButton = !!this.value.length;\n this.handleDebounce();\n }\n\n handleDebounce = debounce(() => {\n this.fireDecoratorEvent(\"handle-value-search\", { value: this.value });\n if (this.showSuggestedPopover && this.value.length >= 2) {\n this.onOpenPopover();\n }\n if (!this.showPopoverWhenClickedIntoInput && this.showSuggestedPopover && this.value.length < 2) {\n this.onClosePopover();\n }\n });\n\n handleKeyDown = (e: KeyboardEvent) => {\n e.stopPropagation();\n this.handleEnterKey(e);\n this.handleTabKey(e);\n this.handleDownKey(e);\n this.handleEscapeKey(e);\n this.fireDecoratorEvent(\"search-keydown\", { e });\n };\n\n handleEnterKey(e: KeyboardEvent) {\n if (isEnter(e)) {\n if (!this.open) {\n e.preventDefault();\n } else {\n this.Suggestion?.onEnter(e);\n }\n this.handleSubmitValue();\n }\n }\n\n handleTabKey(e: KeyboardEvent) {\n if (!this.open || this.openSuggestionPopup) {\n return;\n }\n if (isTabNext(e) || isTabPrevious(e)) {\n this.onClosePopover();\n }\n }\n\n handleDownKey(e: KeyboardEvent) {\n if (isDown(e) && this.showSuggestedPopover) {\n e.preventDefault();\n if (!this.open) {\n this.onOpenPopover();\n }\n this.Suggestion?.onKeyDown(e);\n }\n }\n\n handleEscapeKey(e: KeyboardEvent) {\n if (isEscape(e)) {\n if (this.open) {\n this.Suggestion?.onEscape(e);\n }\n }\n }\n\n handleKeyDownPopover(e: KeyboardEvent) {\n if (this.open) {\n this.handleTabKeyList(e);\n this.handlePrevTabKeyList(e);\n this.handleDownKeyList(e);\n this.handleUpKeyList(e);\n this.handleEscapeKey(e);\n }\n }\n\n handleTabKeyList(e: KeyboardEvent) {\n if (isTabNext(e)) {\n this.Suggestion?.onKeyTabList(e);\n }\n }\n\n handlePrevTabKeyList(e: KeyboardEvent) {\n if (isTabPrevious(e)) {\n this.Suggestion?.onPrevKeyTabList(e);\n }\n }\n\n handleDownKeyList(e: KeyboardEvent) {\n if (isDown(e)) {\n this.Suggestion?.onKeyDown(e);\n }\n }\n\n handleUpKeyList(e: KeyboardEvent) {\n if (isUp(e)) {\n this.Suggestion?.onKeyUp(e);\n }\n }\n\n handleFocus(): void {\n this.active = true;\n this.isFocusedOnTextfield = true;\n this.focusClasses = this._focusActiveClassName;\n this.labelActiveClass = (this.value || !this.labelAnimationDisabled) ? this._labelActiveClassName : \"\";\n this.labelAnimationClass = !this.labelAnimationDisabled ? this._labelAnimationClassName : \"\";\n }\n\n handleFocusout(): void {\n this.active = false;\n this.isFocusedOnTextfield = false;\n this.focusClasses = \"\";\n }\n\n onReset(e: MouseEvent): void {\n e.stopPropagation();\n this.handleReset();\n }\n\n handleReset(): void {\n this.value = \"\";\n this.showResetButton = false;\n this.onClosePopover();\n this.fireDecoratorEvent(\"handle-value-reset\");\n this.Suggestion?.resetFocusState();\n this.getSearchInput()?.focus();\n }\n\n handleKeyDownReset(e: KeyboardEvent) {\n if (isEnter(e) || isSpace(e)) {\n e.preventDefault();\n e.stopPropagation();\n this.handleReset();\n }\n }\n\n private getSearchInput(): HTMLInputElement {\n return this.shadowRoot?.querySelector(\"[id='search-input']\") as HTMLInputElement;\n }\n\n onVoice(e: MouseEvent): void {\n e.stopPropagation();\n if (this.speechRecognition) {\n this.onSpeechLaunch();\n this.onSpeechStart();\n this.onSpeechResult();\n this.onSpeechEnd();\n }\n }\n\n onSpeechLaunch(): void {\n if (!this.voiceActiveClass) {\n this.speechRecognition.start();\n } else {\n this.speechRecognition.stop();\n }\n }\n\n get effectivePlaceholder() {\n return !this.voiceActiveClass ? this.label : `${translate(UDExSearch, LISTENING)}...`;\n }\n\n onSpeechStart(): void {\n this.speechRecognition.onstart = () => {\n this.voiceActiveClass = this._voiceActiveClassName;\n this.getSearchInput()?.focus();\n };\n }\n\n onSpeechResult(): void {\n this.speechRecognition.onresult = (e: any) => {\n const last = e.results.length - 1;\n this.value = e.results[last][0].transcript;\n this.speechRecognition.stop();\n };\n }\n\n onSpeechEnd(): void {\n this.speechRecognition.onend = () => {\n this.voiceActiveClass = \"\";\n this.handleSubmitValue();\n this.onShowResetButton();\n };\n }\n\n onShowResetButton(): void {\n if (this.value) {\n this.showResetButton = true;\n }\n }\n\n _handleResize() {\n this.setSearchWidth();\n }\n\n private setSearchWidth() {\n const searchContainer = (this.shadowRoot?.querySelector(\".udex-search__container\") as HTMLElement);\n\n if (searchContainer.offsetWidth !== this._searchWidth) {\n this._searchWidth = searchContainer.offsetWidth;\n }\n\n if (this.Suggestion?.popover && this._searchWidth) {\n this.Suggestion.popover.style.width = `${this._searchWidth}px`;\n }\n }\n\n get popoverStyles() {\n return {\n \"width\": this._searchWidth ? `${this._searchWidth}px` : \"\",\n };\n }\n\n get prefixPopoverStyles() {\n return {\n \"width\": this.getPrefixButton() ? `${this.getPrefixButton().offsetWidth + 1}px` : \"\",\n };\n }\n\n get isShowResetButton(): boolean {\n return this.showResetButton && !!this.value.length && this.mode === Mode.Standard;\n }\n\n get isShowHomeResetButton(): boolean {\n return this.showResetButton && !!this.value.length && this.mode === Mode.HomeSearch;\n }\n\n get noResultMessage(): string {\n return this.noResultText || translate(UDExSearch, NO_MATCHES_FOUND);\n }\n\n get showNoResultMessage(): boolean {\n return !this.suggestedList?.length && !this.recommendedList?.length;\n }\n\n get isShowSuggestedList(): boolean {\n return !!this.suggestedList?.length;\n }\n\n get isShowRecommendedList(): boolean {\n return !!this.recommendedList?.length;\n }\n\n get hasPopoverContent(): boolean {\n return !!(this.suggestedList?.length || this.recommendedList?.length);\n }\n\n get getAriaHasPopup(): \"dialog\" | Booleanish {\n return this.showSuggestedPopover ? \"dialog\" : \"false\";\n }\n\n get getSuggestionsPopoverId(): string {\n return SuggestionsPopoverId;\n }\n\n get isShowSubmitButton(): boolean {\n return this.showSubmitButton;\n }\n\n get suggestedHeading(): string | undefined {\n return this._suggestionLabel;\n }\n\n get recommendedHeading(): string | undefined {\n return this._recommendLabel;\n }\n\n get isSuggestionPopoverTop(): boolean {\n const suggestionPopover = this.Suggestion?.popover;\n return suggestionPopover! && suggestionPopover.open && this._popoverPlacement === \"Top\";\n }\n\n get isPrefixSuggestionPopoverTop(): boolean {\n const prefixSuggestionPopover = this.getPrefixPopover();\n return prefixSuggestionPopover && prefixSuggestionPopover.open && this._popoverPlacement === \"Top\";\n }\n\n get isShowSearchHomePrefix(): boolean {\n return this.isHomeSearchWithPrefixMode && !!this.dropdownPrefix.length;\n }\n\n get isHomeSearchMode(): boolean {\n return this.mode === Mode.HomeSearch;\n }\n\n get isHomeSearchWithPrefixMode(): boolean {\n return this.mode === Mode.HomeSearch && !!this.dropdownPrefix.length;\n }\n\n get searchClasses(): string {\n return `${this.classWithPrefix} ${this.rootClasses} udex-search-mode-${this.mode.toLowerCase().replace(\" \", \"-\")}`.trim();\n }\n\n get prefixWrapperClasses(): string {\n const prefixPopover = this.getPrefixPopover();\n if (prefixPopover && prefixPopover.open) {\n return this._popoverPlacement === \"Top\" ? \"udex-search__prefix--show-popover-top\" : \"udex-search__prefix--show-popover\";\n }\n return \"\";\n }\n\n get prefixPopoverClasses(): string {\n return this.isPrefixSuggestionPopoverTop ? \"udex-search__prefix-popover-top\" : \"udex-search__prefix-popover\";\n }\n\n get classWithPrefix(): string {\n return this.isHomeSearchWithPrefixMode ? \"udex-search-prefix\" : \"\";\n }\n\n get homeSearchPopoverClass(): string {\n if (this.isHomeSearchMode || this.isHomeSearchWithPrefixMode) {\n return this.isSuggestionPopoverTop ? \"udex-search-suggestions__root-top--home\" : \"udex-search-suggestions__root--home\";\n }\n return \"\";\n }\n\n get homeSearchWithPrefixPopoverClass(): string {\n return this.isHomeSearchWithPrefixMode ? \"udex-search-suggestions__root--prefix\" : \"\";\n }\n\n get searchButtonActiveClass(): string {\n return this.isHomeSearchMode && this.open ? \"udex-search__submit-button--active\" : \"\";\n }\n\n get isNotEmptyClass(): string {\n return this.value.length > 2 || this.focusClasses.length ? \" udex-search__container--has-value\" : \"\";\n }\n\n get isVoiceButton(): boolean {\n return this.showVoiceButton && this.isNotMozillaFirefox && this.isNotMozillaFirefoxIOS && this.mode === Mode.HomeSearch;\n }\n\n get accInfo() {\n return {\n \"ariaLabel\": this.accessibleName || undefined,\n \"accessibleNameResetIcon\": this.accessibleNameResetIcon || translate(UDExSearch, ACCESSIBLE_NAME_RESET_ICON),\n \"accessibleNameSearchIcon\": this.accessibleNameSearchIcon || translate(UDExSearch, ACCESSIBLE_NAME_SEARCH_ICON),\n };\n }\n\n get suggestionsDescription(): string {\n return !this.showNoResultMessage ? `${this.suggestedList.length} ${this._suggestionLabel}, ${this.recommendedList.length} ${this._recommendLabel}` : `${this.noResultMessage}`;\n }\n\n get tooltipInfo() {\n return {\n \"tooltipResetButton\": this.tooltipResetButton || translate(UDExSearch, TOOLTIP_RESET_BUTTON),\n \"tooltipVoiceButton\": this.tooltipVoiceButton || translate(UDExSearch, TOOLTIP_VOICE_BUTTON),\n \"tooltipSubmitButton\": this.tooltipSubmitButton || translate(UDExSearch, TOOLTIP_SUBMIT_BUTTON),\n };\n }\n\n get suggestionsAccessibleName(): string {\n return translate(UDExSearch, AVAILABLE_VALUES);\n }\n\n get showNonInteractiveButton(): boolean {\n return this.showSubmitButton && this.nonInteractiveSubmitButton;\n }\n\n get showSubmitStandardButton(): boolean {\n return this.showSubmitButton && !this.nonInteractiveSubmitButton && this.mode === Mode.Standard;\n }\n\n get showSubmitHomeButton(): boolean {\n return this.showSubmitButton && !this.nonInteractiveSubmitButton && this.mode === Mode.HomeSearch;\n }\n}\n\nUDExSearch.define();\n\nexport default UDExSearch;\nexport type { UDExSearchBaseEventDetail, UDExSearchKeydownEventDetail, UDExSearchPrefixItemClickEventDetail };\n"]}
|
|
1
|
+
{"version":3,"file":"Search.js","sourceRoot":"","sources":["../src/Search.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DefaultSlot, ChangeInfo } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport { getFeature } from \"@ui5/webcomponents-base/dist/FeaturesRegistry.js\";\nimport Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport {\n isEnter, isTabNext, isTabPrevious, isUp, isDown, isEscape, isSpace,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport List from \"./List.js\";\nimport ControlButton from \"./ControlButton.js\";\nimport type ListItemBase from \"./ListItemBase.js\";\nimport \"@ui5/webcomponents-icons/dist/decline.js\";\nimport \"@ui5/webcomponents-icons/dist/search.js\";\nimport \"@ui5/webcomponents-icons/dist/microphone.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport debounce from \"./utils/debounce.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n SUGGESTED_TEXT,\n RECOMMENDED_TEXT,\n AVAILABLE_VALUES,\n NO_MATCHES_FOUND,\n ACCESSIBLE_NAME_RESET_ICON,\n ACCESSIBLE_NAME_SEARCH_ICON,\n TOOLTIP_RESET_BUTTON,\n TOOLTIP_VOICE_BUTTON,\n TOOLTIP_SUBMIT_BUTTON,\n LISTENING,\n OF,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport type SearchInputSuggestion from \"./features/SearchSuggestionsPopover.js\";\nimport retryUntilSuccessful from \"./utils/retryUntilSuccessful.js\";\nimport sanitizeString from \"./utils/sanitizeString.js\";\nimport UDExButton from \"./Button.js\";\nimport translate from \"./utils/translate.js\";\n\nimport SearchTemplate from \"./SearchTemplate.js\";\n\n// Styles\nimport SearchCss from \"./generated/themes/Search.css.js\";\nimport SearchSuggestionsCss from \"./generated/themes/SearchSuggestions.css.js\";\nimport getEffectiveScrollbarStyle from \"./utils/getEffectiveScrollbarStyle.js\";\nimport type { Booleanish } from \"@ui5/webcomponents-base/dist/thirdparty/preact/jsx.js\";\n\nconst SearchIcon: string = \"sap-icon://search\";\n\nconst SuggestionsPopoverId: string = \"suggestions-popover\";\n\nexport type ListItem = {\n label: string;\n icon: string;\n}\n\nexport type DataList = Array<ListItem | string>;\n\nexport type SuggestionData = {\n label: string,\n list: DataList\n}\n\nexport type RecommendData = {\n label: string,\n list: DataList\n}\n\nexport type SuggestionRecommendLists = {\n suggested: SuggestionData | DataList,\n recommended: RecommendData | DataList\n}\n\nexport type SuggestionList = {\n handleSelectItem: () => void,\n text: string,\n icon: string,\n title: string,\n hasCustomIcon: boolean,\n id: string\n suggestionDescription: string;\n}\n\nexport enum Mode {\n Standard = \"Standard\",\n HomeSearch = \"Home Search\"\n}\n\nexport type PopoverPlacement = \"Bottom\" | \"Top\";\n\ntype UDExSearchBaseEventDetail = {\n value: string,\n categoryName?: string\n}\n\ntype UDExSearchPrefixItemClickEventDetail = {\n item: ListItemBase,\n}\n\ntype UDExSearchKeydownEventDetail = {\n e: KeyboardEvent;\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-search</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Search.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-search\n * @public\n */\n@customElement({\n tag: \"udex-search\",\n renderer: jsxRenderer,\n styles: [SearchCss, SearchSuggestionsCss, getEffectiveScrollbarStyle()],\n template: SearchTemplate,\n get dependencies() {\n const Suggestion = getFeature<typeof SearchInputSuggestion>(\"SearchInputSuggestion\");\n return ([ControlButton, UDExButton, Icon, List, Popover] as Array<typeof UI5Element>).concat(Suggestion ? [...Suggestion.dependencies] : []);\n },\n})\n\n/**\n * Fired event when the user submitted the value.\n *\n * @public\n * @param {string} value The submitted search value\n * @param {string} categoryName The category name if an item from the suggestion list is clicked\n * @param {string} item The clicked item from the suggestion list\n *\n */\n@event(\"submit-search-value\", { bubbles: true })\n/**\n * Fired event when the user typed to search field.\n *\n * @public\n * @param {string} value The current value of the search field\n * @param {string} categoryName The category name if an item from the suggestion list is clicked\n * @param {string} item The clicked item from the suggestion list\n *\n */\n@event(\"handle-value-search\", { bubbles: true })\n/**\n * Fired event when the user clicks on the reset button.\n *\n * @public\n */\n@event(\"handle-value-reset\", { bubbles: true })\n/**\n * Fired event when the user clicks on the item inside the popover.\n *\n * @public\n * @param {string} value The value of the clicked item\n * @param {string} categoryName The category name of the clicked item\n * @param {string} item The clicked item from the suggestion list\n *\n */\n@event(\"dropdown-item-click\", { bubbles: true })\n/**\n * Fired event when the user clicks on the intem inside the prefix dropdown.\n *\n * @public\n * @param {ListItemBase} item The clicked item from the prefix dropdown\n *\n */\n@event(\"prefix-item-click\")\n/**\n * Fired event when the user clicks on the intem inside the prefix dropdown.\n *\n * @public\n * @param {KeyboardEvent} e The keyboard event object\n */\n@event(\"search-keydown\", { bubbles: true })\nclass UDExSearch extends UI5Element {\n eventDetails!: {\n \"submit-search-value\": UDExSearchBaseEventDetail,\n \"handle-value-search\": UDExSearchBaseEventDetail,\n \"handle-value-reset\": void,\n \"search-keydown\": UDExSearchKeydownEventDetail,\n \"dropdown-item-click\": UDExSearchBaseEventDetail,\n \"prefix-item-click\": UDExSearchPrefixItemClickEventDetail,\n\n };\n _labelActiveClassName = \"udex-search__label--active\";\n _labelAnimationClassName = \"udex-search__label--animation-enabled\";\n _voiceActiveClassName = \"udex-search__voice-button--active\";\n _focusActiveClassName = \"udex-search__container--focus\";\n _handleResizeBound: ResizeObserverCallback;\n suggestedList!: Array<SuggestionList>;\n recommendedList!: Array<SuggestionList>;\n speechRecognition!: any;\n isNotMozillaFirefox!: boolean;\n isNotMozillaFirefoxIOS!: boolean;\n isFocusedOnTextfield!: boolean;\n Suggestion?: SearchInputSuggestion;\n /**\n * Defines the value of the component.\n *\n * @default \"\"\n * @formEvents input\n * @formProperty\n * @public\n */\n @property({ type: String })\n value: string = \"\";\n\n /**\n * Defines label text for the input field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n label!: string;\n\n /**\n * Defines if the label animation is disabled for the search field.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n labelAnimationDisabled!: boolean;\n\n /**\n * Defines display the reset button for the search field.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean, noAttribute: true })\n showResetButton!: boolean;\n\n /**\n * Defines where the SuggestionPopover is currently placed.\n *\n * @default \"Bottom\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n _popoverPlacement: PopoverPlacement = \"Bottom\";\n\n /**\n * Defines display the submit button for the search field.\n *\n * @default true\n * @public\n */\n @property({ type: Boolean })\n showSubmitButton!: boolean;\n\n /**\n * Defines non-interactive the submit button for the search field.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n nonInteractiveSubmitButton!: boolean;\n\n /**\n * Defines display the voice button for the search field.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n showVoiceButton!: boolean;\n\n /**\n * Defines suggestions and recommended lists for the component.\n * <br><br>\n * <b>Note:</b> Structure of the property:\n * { suggested: [\"string\", string, ...], recommended: [\"string\", \"string\", ...] }\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n suggestionList!: string;\n\n /**\n * Sets the maximum number of characters available in the input field.\n *\n * @public\n */\n @property({ type: Number })\n maxlength?: number;\n\n /**\n * Width of the search component\n * @private\n */\n @property({ type: Number })\n _searchWidth?: number;\n\n /**\n * Define the label of the prefix for the dropdown.\n *\n * @private\n */\n @property({ type: String })\n labelPrefix!: string;\n\n /**\n * Defines display the suggestion popover in the component.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n showSuggestedPopover!: boolean;\n\n /**\n * Defines the language of voice search.\n *\n * @default \"en-US\"\n * @public\n */\n @property({ type: String })\n languageVoice: string = \"en-US\";\n\n /**\n * Defines the mode of component.\n * <br><br>\n * <b>Note:</b> accepts a string \"Standard\" or \"Home Search\".\n *\n * @default \"Standard\"\n * @public\n */\n @property({ type: String })\n mode: Mode = Mode.Standard;\n\n /**\n * Defines open suggestion popover when clicked on the input field.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n showPopoverWhenClickedIntoInput!: boolean;\n\n /**\n * Defines open suggestion popover.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n openSuggestionPopup!: boolean;\n\n /**\n * Defines the accessible ARIA name of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n accessibleName!: string;\n\n /**\n * Defines the accessible ARIA name of the reset icon.\n *\n * @default \"Clear\"\n * @public\n */\n @property({ type: String })\n accessibleNameResetIcon!: string;\n\n /**\n * Defines the accessible ARIA name of the search icon (applied just when \"nonInteractiveSubmitButton\" is active).\n *\n * @default \"Search\"\n * @public\n */\n @property({ type: String })\n accessibleNameSearchIcon!: string;\n\n /**\n * Defines the tooltip of the clear button.\n *\n * @default \"Clear\"\n * @public\n */\n @property({ type: String })\n tooltipResetButton!: string;\n\n /**\n * Defines the tooltip of the voice button.\n *\n * @default \"Voice\"\n * @public\n */\n @property({ type: String })\n tooltipVoiceButton!: string;\n\n /**\n * Defines the tooltip of the submit button.\n *\n * @default \"Search\"\n * @public\n */\n @property({ type: String })\n tooltipSubmitButton!: string;\n\n /**\n * Defines the text if the suggestion list doesn't return results.\n *\n * @default \"No matches found.\"\n * @public\n */\n @property({ type: String })\n noResultText: string = \"No matches found.\";\n\n /**\n * Defines the inner stored class of the label.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n labelActiveClass: string = \"\";\n\n /**\n * Defines the inner stored animation class of the label.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n labelAnimationClass: string = \"\";\n\n /**\n * Defines the voice active class of the button.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n voiceActiveClass: string = \"\";\n\n /**\n * Defines the inner stored value of the classes of the label.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n labelClasses: string = \"\";\n\n /**\n * Defines the class of focus on the input field.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n focusClasses: string = \"\";\n\n /**\n * Defines the suggestion popover is opened\n *\n * @default false\n * @private\n */\n @property({ type: Boolean, noAttribute: true })\n open!: boolean;\n\n /**\n * The label of the suggestion section.\n * @private\n */\n @property({ type: String })\n _suggestionLabel?: string;\n\n /**\n * The label of the recommend section.\n * @private\n */\n @property({ type: String })\n _recommendLabel?: string;\n\n /**\n * The console warning shown after all unsuccessful attempts of opening SearchSuggestionsPopover component.\n * @default \"UdexSearchSuggestionsPopover couldn`t be opened\"\n */\n @property({ type: String })\n unsuccessfulRetryMessage: string = \"UdexSearchSuggestionsPopover couldn`t be opened\";\n\n /**\n * The delay before retrying to open the SerchSuggestionsPopover component.\n * @default 200\n */\n @property({ type: Number })\n retryDelay: number = 200;\n\n /**\n * The maximum number of attempts for opening the SearchSuggestionsPopover component.\n * @default 5\n */\n @property({ type: Number })\n maxRetryAttempts: number = 5;\n\n /**\n * Defines the prefix dropdown of the Search component.\n *\n * @slot dropdownPrefix\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n dropdownPrefix!: DefaultSlot<List>;\n\n /**\n * Defines the open button icon\n *\n * @private\n */\n @property({ type: Boolean, noAttribute: true })\n _prefixDropdownExpanded: boolean = false;\n\n /**\n * Defines the active (focus)\n * @default false\n * @private\n */\n @property({ type: Boolean })\n active!: boolean;\n /**\n * Defines is it the touch of the input field (only for mobile devices).\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _isTouched!: boolean;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n constructor() {\n super();\n this._handleResizeBound = this._handleResize.bind(this);\n }\n\n onEnterDOM(): void {\n this.isNotMozillaFirefox = !this.isMozillaFirefox(\"Firefox\");\n this.isNotMozillaFirefoxIOS = !this.isMozillaFirefox(\"FxiOS\");\n this.initSpeechRecognition();\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n this.removeEventListener(\"dropdown-trigger-event\", () => { });\n }\n\n initSpeechRecognition(): void {\n try {\n if (this.isNotMozillaFirefox || this.isNotMozillaFirefoxIOS) {\n const SpeechRecognition = (window as any).SpeechRecognition || (window as any).webkitSpeechRecognition || (window as any).mozSpeechRecognition || (window as any).msSpeechRecognition;\n this.speechRecognition = new SpeechRecognition();\n this.speechRecognition.continuous = true;\n this.speechRecognition.lang = this.languageVoice;\n this.speechRecognition.interimResults = false;\n this.speechRecognition.maxAlternatives = 5;\n }\n } catch (error: any) {\n console.warn(\"The voice button does not work in this browser\");\n throw (error);\n }\n }\n\n private isMozillaFirefox(keyWord: string) {\n const userAgent = navigator.userAgent;\n const firefoxAgent = userAgent.split(\" \").find(item => item.indexOf(keyWord) > -1);\n\n if (firefoxAgent) {\n const splitAgent = firefoxAgent.split(\"/\");\n const firefoxVersion = splitAgent[splitAgent.length - 1];\n return Number(firefoxVersion) >= 125;\n }\n return false;\n }\n\n onInvalidation(changeInfo: ChangeInfo): void {\n this.setNewValue(changeInfo);\n this.setPopoverState(changeInfo);\n this.setNewSuggestionList(changeInfo);\n }\n\n setNewValue(changeInfo: ChangeInfo): void {\n if (changeInfo.name === \"value\") {\n this.value = changeInfo.newValue as string;\n this.setSuggestedRecommendedLists(this.suggestionList);\n this.toggleLabelActiveClass();\n }\n }\n\n private toggleLabelActiveClass() {\n if (this.labelActiveClass && !this.labelAnimationDisabled && !this.isFocusedOnTextfield) {\n this.handleBlur();\n }\n }\n\n setPopoverState(changeInfo: ChangeInfo): void {\n if (changeInfo.name === \"openSuggestionPopup\") {\n this.handlePopoverTrigger(changeInfo.newValue as boolean);\n }\n }\n\n handlePopoverTrigger(isOpenPopover: boolean): void {\n if (isOpenPopover) {\n this.onOpenPopover();\n } else {\n this.onClosePopover();\n }\n }\n\n setNewSuggestionList(changeInfo: ChangeInfo): void {\n if (changeInfo.name === \"suggestionList\" && !!changeInfo.newValue) {\n this.setSuggestedRecommendedLists(changeInfo.newValue as string);\n }\n }\n\n setSuggestedRecommendedLists(value: string): void {\n if (this.showSuggestedPopover && value) {\n const parsedData: SuggestionRecommendLists = JSON.parse(value);\n const hasDataLabels = this.hasDataLabel(parsedData);\n\n if (this.shouldShowPopover(parsedData, hasDataLabels)) {\n this.setDropdownLabels(parsedData);\n this.suggestedList = this.getListWithSuggestion(this.getSuggestedList(hasDataLabels, parsedData), \"suggested\");\n this.recommendedList = this.getListWithSuggestion(this.getRecommendedList(hasDataLabels, parsedData), \"recommended\");\n }\n if (!this.shouldShowPopover(parsedData, hasDataLabels)) {\n this.onClosePopover();\n this.resetSuggestedRecommendedLists();\n }\n }\n }\n\n private hasDataLabel(parsedData: SuggestionRecommendLists) {\n return Object.values(parsedData).some(item => Object.prototype.hasOwnProperty.call(item, \"label\"));\n }\n\n private hasSuggestedLabel(parsedData: SuggestionRecommendLists) {\n if (parsedData.suggested) {\n const suggestedData = parsedData.suggested as SuggestionData;\n return Object.prototype.hasOwnProperty.call(parsedData.suggested, \"label\") ? !!suggestedData.label : false;\n }\n return false;\n }\n\n private hasRecommendedLabel(parsedData: SuggestionRecommendLists): boolean {\n if (parsedData.recommended) {\n const recommendedData = parsedData.recommended as RecommendData;\n return Object.prototype.hasOwnProperty.call(parsedData.recommended, \"label\") ? !!recommendedData.label : false;\n }\n return false;\n }\n\n private resetSuggestedRecommendedLists() {\n this.suggestedList = [];\n this.recommendedList = [];\n }\n\n private setDropdownLabels(parsedData: SuggestionRecommendLists) {\n this._suggestionLabel = this.getSuggestionLabel(parsedData);\n this._recommendLabel = this.getRecommendLabel(parsedData);\n }\n\n private getRecommendLabel(parsedData: SuggestionRecommendLists): string {\n return this.hasRecommendedLabel(parsedData)\n ? (parsedData.recommended as RecommendData).label || \"\"\n : translate(UDExSearch, RECOMMENDED_TEXT);\n }\n\n private getSuggestionLabel(parsedData: SuggestionRecommendLists): string {\n return this.hasSuggestedLabel(parsedData)\n ? (parsedData.suggested as SuggestionData).label || \"\"\n : translate(UDExSearch, SUGGESTED_TEXT);\n }\n\n private getRecommendedList(hasDataLabels: boolean, parsedData: SuggestionRecommendLists) {\n return hasDataLabels\n ? (parsedData.recommended as RecommendData).list\n : parsedData.recommended as DataList;\n }\n\n private getSuggestedList(hasDataLabels: boolean, parsedData: SuggestionRecommendLists) {\n return hasDataLabels\n ? (parsedData.suggested as SuggestionData).list\n : parsedData.suggested as DataList;\n }\n\n private shouldShowPopover(parsedData: SuggestionRecommendLists, hasDataLabels: boolean) {\n const hasSuggestedListContent = this.hasSuggestedContent(hasDataLabels, parsedData);\n const hasRecommendedContent = this.hasRecommendedContent(hasDataLabels, parsedData);\n return this.showPopoverWhenClickedIntoInput || (hasSuggestedListContent || hasRecommendedContent);\n }\n\n private hasSuggestedContent(hasDataLabels: boolean, parsedData: SuggestionRecommendLists) {\n return hasDataLabels\n ? Object.prototype.hasOwnProperty.call(parsedData.suggested, \"list\") && (parsedData.suggested as SuggestionData).list.length\n : (parsedData.suggested as DataList).length;\n }\n\n private hasRecommendedContent(hasDataLabels: boolean, parsedData: SuggestionRecommendLists) {\n return hasDataLabels\n ? Object.prototype.hasOwnProperty.call(parsedData.recommended, \"list\") && (parsedData.recommended as RecommendData).list.length\n : (parsedData.recommended as DataList).length;\n }\n\n getListWithSuggestion(suggestedList: DataList, idName: string): Array<SuggestionList> {\n return suggestedList?.map((item, index) => {\n const itemWithCustomIcon = typeof item === \"object\";\n const label = itemWithCustomIcon ? item.label : item;\n return {\n handleSelectItem: this.handleSelectItem(label, idName),\n text: sanitizeString(this.getTextWithSuggestion(label)),\n title: sanitizeString(label),\n icon: itemWithCustomIcon ? item.icon : SearchIcon,\n hasCustomIcon: itemWithCustomIcon,\n id: `${idName}-${index}`,\n suggestionDescription: sanitizeString(`${label}, ${idName} ${index + 1} ${translate(UDExSearch, OF)} ${suggestedList.length}`),\n };\n });\n }\n\n escapeRegExp(input: string): string {\n const specialChars = /[-[\\]/{}()*+?.\\\\^$|]/g;\n return input.replace(specialChars, \"\\\\$&\");\n }\n\n getTextWithSuggestion(text: string): string {\n const escapedValue = this.escapeRegExp(this.value);\n const search = new RegExp(escapedValue, \"i\");\n return text.replace(search, \"<b>$&</b>\");\n }\n\n handleSelectItem = (itemValue: string, categoryName: string) => () => {\n this.value = itemValue;\n this.fireDropdownItemClick(itemValue, categoryName);\n this.handleSubmitValue();\n };\n\n fireDropdownItemClick(value: string, categoryName: string) {\n this.fireDecoratorEvent(\"dropdown-item-click\", { value: sanitizeString(value), categoryName });\n }\n\n handleDropdownClick() {\n const dropdown = this.getPrefixPopover();\n\n if (dropdown.open) {\n this.onClosePrefixPopover();\n } else {\n this.onOpenPrefixPopover();\n }\n }\n\n getPrefixWrapper() {\n return this.shadowRoot!.querySelector(\".udex-search__prefix\") as HTMLElement;\n }\n\n getPrefixPopover(): Popover {\n return this.shadowRoot!.querySelector<Popover>(\"#udex-search-prefix\")!;\n }\n\n getPrefixButton() {\n return this.shadowRoot!.querySelector(\".udex-search__prefix-button\") as HTMLElement;\n }\n\n onOpenPrefixPopover() {\n if (this.dropdownPrefix.length) {\n const wrapper = this.getPrefixWrapper();\n const dropdown = this.getPrefixPopover();\n const button = this.getPrefixButton();\n\n this._prefixDropdownExpanded = true;\n dropdown.opener = this.getPrefixButton();\n dropdown.open = true;\n dropdown.style.width = `${button.offsetWidth + 1}px`;\n dropdown.classList.add(this.prefixPopoverClasses);\n button.classList.add(\"udex-search__prefix-button--active\");\n wrapper.classList.add(this.prefixWrapperClasses);\n this.dropdownPrefix[0].addEventListener(\"item-press\", this.handleItemClick);\n }\n }\n\n handleItemClick = (e: Event) => {\n const selectedItemPrefix = (e as CustomEvent).detail.item as ListItemBase;\n this.labelPrefix = selectedItemPrefix.innerText;\n this.fireDecoratorEvent(\"prefix-item-click\", { item: selectedItemPrefix });\n this.onClosePrefixPopover();\n };\n\n onClosePrefixPopover() {\n const dropdown = this.getPrefixPopover();\n this.dropdownPrefix[0].removeEventListener(\"item-press\", this.handleItemClick);\n dropdown.open = false;\n this.handleAfterClosePrefixPopover();\n }\n\n handleAfterClosePrefixPopover() {\n this._prefixDropdownExpanded = false;\n const wrapper = this.getPrefixWrapper();\n const button = this.getPrefixButton();\n wrapper.classList.remove(\"udex-search__prefix--show-popover\", \"udex-search__prefix--show-popover-top\");\n button.classList.remove(\"udex-search__prefix-button--active\");\n }\n\n handleInputClick(): void {\n if (!isDesktop()) {\n this._isTouched = true;\n }\n if (this.showPopoverWhenClickedIntoInput) {\n this.onOpenPopover();\n }\n }\n\n onSubmit(e: MouseEvent): void {\n e.stopPropagation();\n this.handleSubmitValue();\n }\n\n handleSubmitValue(): void {\n this.handleDebounce.cancel();\n this.onClosePopover();\n this.fireDecoratorEvent(\"submit-search-value\", { value: this.value });\n }\n\n handleAriaExpanded() {\n const value = this.open.toString();\n this.getSearchInput()?.setAttribute(\"aria-expanded\", value);\n }\n\n onOpenPopover(): void {\n if (this.showSuggestedPopover) {\n if (!this.Suggestion) {\n retryUntilSuccessful(() => this.Suggestion, this.retryDelay, this.maxRetryAttempts, this.unsuccessfulRetryMessage)\n .then(() => {\n this.Suggestion!.open();\n })\n .catch(error => {\n console.warn(error.message);\n });\n } else {\n this.open = true;\n this.Suggestion.open();\n }\n this.handleAriaExpanded();\n }\n }\n\n onClosePopover(): void {\n if (this.showSuggestedPopover) {\n this.Suggestion!.close();\n this.handleAriaExpanded();\n this.open = false;\n }\n }\n\n handleKeyPressSuggestionList(e: KeyboardEvent): void {\n this.Suggestion?.handleKeyPress(e);\n }\n\n get rootClasses(): string {\n if (this.mode === Mode.HomeSearch && this.showSuggestedPopover && this.open) {\n return this.isSuggestionPopoverTop ? \"udex-search__root--show-popover-top\" : \"udex-search__root--show-popover\";\n }\n return \"\";\n }\n\n onBeforeRendering(): void {\n if (this.showSuggestedPopover) {\n this.enableSuggestions();\n }\n\n if (this.isHomeSearchWithPrefixMode && this.dropdownPrefix.length) {\n const dropdownItems = Array.from(this.dropdownPrefix[0].children) as Array<ListItemBase>;\n const selectedItemIndex = dropdownItems.findIndex(listItem => listItem.selected);\n const selectedItemPrefix = selectedItemIndex >= 0 ? dropdownItems[selectedItemIndex] : dropdownItems[0];\n\n this.labelPrefix = selectedItemPrefix.innerText;\n }\n\n this.showResetButton = !!this.value.length;\n\n if (this.value && this.labelActiveClass === \"\") {\n this.labelActiveClass = this._labelActiveClassName;\n }\n\n if (this.mode === Mode.HomeSearch) {\n this.labelAnimationDisabled = true;\n }\n\n if (!this.labelAnimationDisabled) {\n this.labelAnimationClass = this._labelAnimationClassName;\n }\n\n this.labelClasses = `udex-search__label ${this.labelActiveClass} ${this.labelAnimationClass}`;\n\n if (this.isVoiceButton) {\n this.labelClasses += \" udex-search__label-with-voice-icon\";\n }\n\n if (this.isShowSubmitButton) {\n this.labelClasses += \" udex-search__label-with-search-icon\";\n }\n }\n\n enableSuggestions() {\n if (this.Suggestion) {\n return;\n }\n\n const Suggestion = getFeature<typeof SearchInputSuggestion>(\"SearchInputSuggestion\");\n\n if (Suggestion) {\n this.Suggestion = new Suggestion(this);\n } else {\n throw new Error(\"You have to import '@sapudex/web-components/dist/features/SearchSuggestionsPopover.js' module to use udex-search suggestions\");\n }\n }\n\n private _createObserver(popover: Popover, ingoreOpenState: boolean = false): MutationObserver {\n return new MutationObserver(mutationList => {\n mutationList.forEach(mutation => {\n const newValue = popover?.actualPlacement;\n const oldValue = mutation.oldValue;\n\n if (mutation.attributeName === \"actual-placement\" && newValue !== oldValue) {\n this._popoverPlacement = newValue as PopoverPlacement;\n }\n\n if (mutation.attributeName === \"open\" && newValue !== oldValue && !ingoreOpenState) {\n this.open = popover?.open || false;\n }\n });\n });\n }\n\n onAfterRendering(): void {\n if (this.showSuggestedPopover) {\n const prefixPopover = this.getPrefixPopover();\n\n if (this.Suggestion?.popover) {\n const suggestionObserver = this._createObserver(this.Suggestion.popover);\n const popoverNode = this.Suggestion?.popover as Node;\n suggestionObserver.observe(popoverNode, { attributes: true, attributeOldValue: true });\n this.Suggestion.initLists();\n }\n\n if (prefixPopover) {\n const prefixObserver = this._createObserver(prefixPopover, true);\n const popoverNode = prefixPopover as Node;\n prefixObserver.observe(popoverNode, { attributes: true, attributeOldValue: true });\n }\n\n this.setSearchWidth();\n this.handleOpenSuggestionPopover();\n }\n }\n\n handleOpenSuggestionPopover() {\n if (this.openSuggestionPopup) {\n this.Suggestion?._getSuggestionPopover();\n this.handlePopoverTrigger(this.openSuggestionPopup);\n }\n }\n\n handleBlur(): void {\n this._isTouched = false;\n if (this.value) {\n this.labelActiveClass = this._labelActiveClassName;\n } else {\n this.labelActiveClass = \"\";\n }\n }\n\n handleSearchChange(e: InputEvent): void {\n this.value = (e.target as HTMLInputElement)?.value;\n this.showResetButton = !!this.value.length;\n this.handleDebounce();\n }\n\n handleDebounce = debounce(() => {\n this.fireDecoratorEvent(\"handle-value-search\", { value: this.value });\n if (this.showSuggestedPopover && this.value.length >= 2) {\n this.onOpenPopover();\n }\n if (!this.showPopoverWhenClickedIntoInput && this.showSuggestedPopover && this.value.length < 2) {\n this.onClosePopover();\n }\n });\n\n handleKeyDown = (e: KeyboardEvent) => {\n e.stopPropagation();\n this.handleEnterKey(e);\n this.handleTabKey(e);\n this.handleDownKey(e);\n this.handleEscapeKey(e);\n this.fireDecoratorEvent(\"search-keydown\", { e });\n };\n\n handleEnterKey(e: KeyboardEvent) {\n if (isEnter(e)) {\n if (!this.open) {\n e.preventDefault();\n } else {\n this.Suggestion?.onEnter(e);\n }\n this.handleSubmitValue();\n }\n }\n\n handleTabKey(e: KeyboardEvent) {\n if (!this.open || this.openSuggestionPopup) {\n return;\n }\n if (isTabNext(e) || isTabPrevious(e)) {\n this.onClosePopover();\n }\n }\n\n handleDownKey(e: KeyboardEvent) {\n if (isDown(e) && this.showSuggestedPopover) {\n e.preventDefault();\n if (!this.open) {\n this.onOpenPopover();\n }\n this.Suggestion?.onKeyDown(e);\n }\n }\n\n handleEscapeKey(e: KeyboardEvent) {\n if (isEscape(e)) {\n if (this.open) {\n this.Suggestion?.onEscape(e);\n }\n }\n }\n\n handleKeyDownPopover(e: KeyboardEvent) {\n if (this.open) {\n this.handleTabKeyList(e);\n this.handlePrevTabKeyList(e);\n this.handleDownKeyList(e);\n this.handleUpKeyList(e);\n this.handleEscapeKey(e);\n }\n }\n\n handleTabKeyList(e: KeyboardEvent) {\n if (isTabNext(e)) {\n this.Suggestion?.onKeyTabList(e);\n }\n }\n\n handlePrevTabKeyList(e: KeyboardEvent) {\n if (isTabPrevious(e)) {\n this.Suggestion?.onPrevKeyTabList(e);\n }\n }\n\n handleDownKeyList(e: KeyboardEvent) {\n if (isDown(e)) {\n this.Suggestion?.onKeyDown(e);\n }\n }\n\n handleUpKeyList(e: KeyboardEvent) {\n if (isUp(e)) {\n this.Suggestion?.onKeyUp(e);\n }\n }\n\n handleFocus(): void {\n this.active = true;\n this.isFocusedOnTextfield = true;\n this.focusClasses = this._focusActiveClassName;\n this.labelActiveClass = (this.value || !this.labelAnimationDisabled) ? this._labelActiveClassName : \"\";\n this.labelAnimationClass = !this.labelAnimationDisabled ? this._labelAnimationClassName : \"\";\n }\n\n handleFocusout(): void {\n this.active = false;\n this.isFocusedOnTextfield = false;\n this.focusClasses = \"\";\n }\n\n onReset(e: MouseEvent): void {\n e.stopPropagation();\n this.handleReset();\n }\n\n handleReset(): void {\n this.value = \"\";\n this.showResetButton = false;\n this.onClosePopover();\n this.fireDecoratorEvent(\"handle-value-reset\");\n this.Suggestion?.resetFocusState();\n this.getSearchInput()?.focus();\n }\n\n handleKeyDownReset(e: KeyboardEvent) {\n if (isEnter(e) || isSpace(e)) {\n e.preventDefault();\n e.stopPropagation();\n this.handleReset();\n }\n }\n\n private getSearchInput(): HTMLInputElement {\n return this.shadowRoot?.querySelector(\"[id='search-input']\") as HTMLInputElement;\n }\n\n onVoice(e: MouseEvent): void {\n e.stopPropagation();\n if (this.speechRecognition) {\n this.onSpeechLaunch();\n this.onSpeechStart();\n this.onSpeechResult();\n this.onSpeechEnd();\n }\n }\n\n onSpeechLaunch(): void {\n if (!this.voiceActiveClass) {\n this.speechRecognition.start();\n } else {\n this.speechRecognition.stop();\n }\n }\n\n get effectivePlaceholder() {\n return !this.voiceActiveClass ? this.label : `${translate(UDExSearch, LISTENING)}...`;\n }\n\n onSpeechStart(): void {\n this.speechRecognition.onstart = () => {\n this.voiceActiveClass = this._voiceActiveClassName;\n this.getSearchInput()?.focus();\n };\n }\n\n onSpeechResult(): void {\n this.speechRecognition.onresult = (e: any) => {\n const last = e.results.length - 1;\n this.value = e.results[last][0].transcript;\n this.speechRecognition.stop();\n };\n }\n\n onSpeechEnd(): void {\n this.speechRecognition.onend = () => {\n this.voiceActiveClass = \"\";\n this.handleSubmitValue();\n this.onShowResetButton();\n };\n }\n\n onShowResetButton(): void {\n if (this.value) {\n this.showResetButton = true;\n }\n }\n\n _handleResize() {\n this.setSearchWidth();\n }\n\n private setSearchWidth() {\n const searchContainer = (this.shadowRoot?.querySelector(\".udex-search__container\") as HTMLElement);\n\n if (searchContainer.offsetWidth !== this._searchWidth) {\n this._searchWidth = searchContainer.offsetWidth;\n }\n\n if (this.Suggestion?.popover && this._searchWidth) {\n this.Suggestion.popover.style.width = `${this._searchWidth}px`;\n }\n }\n\n get popoverStyles() {\n return {\n \"width\": this._searchWidth ? `${this._searchWidth}px` : \"\",\n };\n }\n\n get prefixPopoverStyles() {\n return {\n \"width\": this.getPrefixButton() ? `${this.getPrefixButton().offsetWidth + 1}px` : \"\",\n };\n }\n\n get isShowResetButton(): boolean {\n return this.showResetButton && !!this.value.length && this.mode === Mode.Standard;\n }\n\n get isShowHomeResetButton(): boolean {\n return this.showResetButton && !!this.value.length && this.mode === Mode.HomeSearch;\n }\n\n get noResultMessage(): string {\n return this.noResultText || translate(UDExSearch, NO_MATCHES_FOUND);\n }\n\n get showNoResultMessage(): boolean {\n return !this.suggestedList?.length && !this.recommendedList?.length;\n }\n\n get isShowSuggestedList(): boolean {\n return !!this.suggestedList?.length;\n }\n\n get isShowRecommendedList(): boolean {\n return !!this.recommendedList?.length;\n }\n\n get hasPopoverContent(): boolean {\n return !!(this.suggestedList?.length || this.recommendedList?.length);\n }\n\n get getAriaHasPopup(): \"dialog\" | Booleanish {\n return this.showSuggestedPopover ? \"dialog\" : \"false\";\n }\n\n get getSuggestionsPopoverId(): string {\n return SuggestionsPopoverId;\n }\n\n get isShowSubmitButton(): boolean {\n return this.showSubmitButton;\n }\n\n get suggestedHeading(): string | undefined {\n return this._suggestionLabel;\n }\n\n get recommendedHeading(): string | undefined {\n return this._recommendLabel;\n }\n\n get isSuggestionPopoverTop(): boolean {\n const suggestionPopover = this.Suggestion?.popover;\n return suggestionPopover! && suggestionPopover.open && this._popoverPlacement === \"Top\";\n }\n\n get isPrefixSuggestionPopoverTop(): boolean {\n const prefixSuggestionPopover = this.getPrefixPopover();\n return prefixSuggestionPopover && prefixSuggestionPopover.open && this._popoverPlacement === \"Top\";\n }\n\n get isShowSearchHomePrefix(): boolean {\n return this.isHomeSearchWithPrefixMode && !!this.dropdownPrefix.length;\n }\n\n get isHomeSearchMode(): boolean {\n return this.mode === Mode.HomeSearch;\n }\n\n get isHomeSearchWithPrefixMode(): boolean {\n return this.mode === Mode.HomeSearch && !!this.dropdownPrefix.length;\n }\n\n get searchClasses(): string {\n return `${this.classWithPrefix} ${this.rootClasses} udex-search-mode-${this.mode.toLowerCase().replace(\" \", \"-\")}`.trim();\n }\n\n get prefixWrapperClasses(): string {\n const prefixPopover = this.getPrefixPopover();\n if (prefixPopover && prefixPopover.open) {\n return this._popoverPlacement === \"Top\" ? \"udex-search__prefix--show-popover-top\" : \"udex-search__prefix--show-popover\";\n }\n return \"\";\n }\n\n get prefixPopoverClasses(): string {\n return this.isPrefixSuggestionPopoverTop ? \"udex-search__prefix-popover-top\" : \"udex-search__prefix-popover\";\n }\n\n get classWithPrefix(): string {\n return this.isHomeSearchWithPrefixMode ? \"udex-search-prefix\" : \"\";\n }\n\n get homeSearchPopoverClass(): string {\n if (this.isHomeSearchMode || this.isHomeSearchWithPrefixMode) {\n return this.isSuggestionPopoverTop ? \"udex-search-suggestions__root-top--home\" : \"udex-search-suggestions__root--home\";\n }\n return \"\";\n }\n\n get homeSearchWithPrefixPopoverClass(): string {\n return this.isHomeSearchWithPrefixMode ? \"udex-search-suggestions__root--prefix\" : \"\";\n }\n\n get searchButtonActiveClass(): string {\n return this.isHomeSearchMode && this.open ? \"udex-search__submit-button--active\" : \"\";\n }\n\n get isNotEmptyClass(): string {\n return this.value.length > 2 || this.focusClasses.length ? \" udex-search__container--has-value\" : \"\";\n }\n\n get isVoiceButton(): boolean {\n return this.showVoiceButton && this.isNotMozillaFirefox && this.isNotMozillaFirefoxIOS && this.mode === Mode.HomeSearch;\n }\n\n get accInfo() {\n return {\n \"ariaLabel\": this.accessibleName || undefined,\n \"accessibleNameResetIcon\": this.accessibleNameResetIcon || translate(UDExSearch, ACCESSIBLE_NAME_RESET_ICON),\n \"accessibleNameSearchIcon\": this.accessibleNameSearchIcon || translate(UDExSearch, ACCESSIBLE_NAME_SEARCH_ICON),\n };\n }\n\n get suggestionsDescription(): string {\n return !this.showNoResultMessage ? `${this.suggestedList.length} ${this._suggestionLabel}, ${this.recommendedList.length} ${this._recommendLabel}` : `${this.noResultMessage}`;\n }\n\n get tooltipInfo() {\n return {\n \"tooltipResetButton\": this.tooltipResetButton || translate(UDExSearch, TOOLTIP_RESET_BUTTON),\n \"tooltipVoiceButton\": this.tooltipVoiceButton || translate(UDExSearch, TOOLTIP_VOICE_BUTTON),\n \"tooltipSubmitButton\": this.tooltipSubmitButton || translate(UDExSearch, TOOLTIP_SUBMIT_BUTTON),\n };\n }\n\n get suggestionsAccessibleName(): string {\n return translate(UDExSearch, AVAILABLE_VALUES);\n }\n\n get showNonInteractiveButton(): boolean {\n return this.showSubmitButton && this.nonInteractiveSubmitButton;\n }\n\n get showSubmitStandardButton(): boolean {\n return this.showSubmitButton && !this.nonInteractiveSubmitButton && this.mode === Mode.Standard;\n }\n\n get showSubmitHomeButton(): boolean {\n return this.showSubmitButton && !this.nonInteractiveSubmitButton && this.mode === Mode.HomeSearch;\n }\n}\n\nUDExSearch.define();\n\nexport default UDExSearch;\nexport type { UDExSearchBaseEventDetail, UDExSearchKeydownEventDetail, UDExSearchPrefixItemClickEventDetail };\n"]}
|
package/dist/SearchTemplate.js
CHANGED
|
@@ -22,7 +22,7 @@ function renderSearchHomePrefix() {
|
|
|
22
22
|
return (_jsxs("div", { class: `udex-search__prefix ${this.prefixWrapperClasses}`, children: [_jsxs("button", { type: "button", role: "combobox", "aria-expanded": this._prefixDropdownExpanded, "aria-label": this.labelPrefix, "aria-haspopup": "true", "aria-controls": "udex-search-prefix", class: "udex-search__prefix-button", onClick: this.handleDropdownClick, children: [_jsx("span", { class: "udex-search__prefix-label", children: this.labelPrefix }), _jsx(UI5Icon, { class: "udex-search__prefix-icon", name: slimArrowDown, mode: UI5IconMode.Decorative })] }), _jsx(UI5Popover, { id: "udex-search-prefix", class: this.prefixPopoverClasses, "hide-arrow": true, placement: UI5PopoverPlacement.Bottom, "horizontal-align": UI5PopoverHAlign.Start, style: this.prefixPopoverStyles, onClose: this.handleAfterClosePrefixPopover, children: _jsx("slot", {}) })] }));
|
|
23
23
|
}
|
|
24
24
|
function renderSearchInput(placeholder = false) {
|
|
25
|
-
return (_jsx("input", { role: "searchbox", id: "search-input", type: "search", name: "search", class: "udex-search__field", autocomplete: "off", "aria-autocomplete": "list", "aria-haspopup": this.getAriaHasPopup, "aria-label": this.accInfo.ariaLabel, "aria-describedby": "search-description", ...(placeholder ? { placeholder: this.effectivePlaceholder } : {}), value: this.value, onInput: this.handleSearchChange, onKeyDown: this.handleKeyDown, onFocus: this.handleFocus, onFocusOut: this.handleFocusout, onBlur: this.handleBlur, onClick: this.handleInputClick }));
|
|
25
|
+
return (_jsx("input", { role: "searchbox", id: "search-input", type: "search", name: "search", class: "udex-search__field", autocomplete: "off", "aria-autocomplete": "list", "aria-haspopup": this.getAriaHasPopup, "aria-label": this.accInfo.ariaLabel, "aria-describedby": "search-description", ...(placeholder ? { placeholder: this.effectivePlaceholder } : {}), maxlength: this.maxlength, value: this.value, onInput: this.handleSearchChange, onKeyDown: this.handleKeyDown, onFocus: this.handleFocus, onFocusOut: this.handleFocusout, onBlur: this.handleBlur, onClick: this.handleInputClick }));
|
|
26
26
|
}
|
|
27
27
|
function renderInputWithStaticLabel() {
|
|
28
28
|
return renderSearchInput.call(this, true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchTemplate.js","sourceRoot":"","sources":["../src/SearchTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type UDExSearch from \"./Search.js\";\nimport type { SuggestionList } from \"./Search.js\";\nimport slimArrowDown from \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport search from \"@ui5/webcomponents-icons/dist/search.js\";\nimport decline from \"@ui5/webcomponents-icons/dist/decline.js\";\nimport microphone from \"@ui5/webcomponents-icons/dist/microphone.js\";\nimport UDExButton from \"./Button.js\";\nimport UDExButtonDesign from \"./types/ButtonDesign.js\";\nimport UDExButtonSize from \"./types/ButtonSize.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport UI5IconMode from \"@ui5/webcomponents/dist/types/IconMode.js\";\nimport UI5Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport UI5PopoverPlacement from \"@ui5/webcomponents/dist/types/PopoverPlacement.js\";\nimport UI5PopoverHAlign from \"@ui5/webcomponents/dist/types/PopoverHorizontalAlign.js\";\nimport UDExControlButton from \"./ControlButton.js\";\nimport UDExControlButtonDesign from \"./types/ControlButtonDesign.js\";\nimport UI5Button from \"@ui5/webcomponents/dist/Button.js\";\nimport UI5ButtonDesign from \"@ui5/webcomponents/dist/types/ButtonDesign.js\";\n\nexport default function SearchTemplate(this: UDExSearch) {\n return (\n <>\n <div class={`udex-search__root ${this.searchClasses}`}>\n { this.isShowSearchHomePrefix ? renderSearchHomePrefix.call(this) : \"\" }\n\n <form class={`udex-search__container ${this.focusClasses} ${this.isNotEmptyClass}`}>\n { this.labelAnimationDisabled ? renderInputWithStaticLabel.call(this) : renderInputWithAnimatedLabel.call(this) }\n\n {\n this.open ? (\n <span\n aria-live=\"polite\"\n aria-atomic=\"true\"\n id=\"search-description\"\n class=\"hidden\"\n aria-hidden=\"true\"\n >\n {this.suggestionsDescription}\n </span>\n ) : \"\"\n }\n\n <div class=\"udex-search__icons\">\n {\n this.isShowHomeResetButton ? (\n <UDExButton\n id=\"reset-button\"\n class=\"udex-search__button udex-search__reset-button\"\n size={UDExButtonSize.Small}\n design={UDExButtonDesign.Default}\n tooltip={this.tooltipInfo.tooltipResetButton}\n onClick={this.onReset as any}\n onKeyDown={this.handleKeyDownReset}\n >\n <UI5Icon\n class=\"udex-search__button-icon\"\n accessible-name={this.accInfo.accessibleNameResetIcon}\n accessible-role=\"presentation\"\n name={decline}\n ></UI5Icon>\n </UDExButton>\n ) : \"\"\n }\n\n {\n this.isShowResetButton ? (\n <UDExControlButton\n id=\"reset-button\"\n class=\"udex-search__reset-button\"\n design={UDExControlButtonDesign.Default}\n tooltip={this.tooltipInfo.tooltipResetButton}\n icon={decline}\n size={UDExButtonSize.Large}\n accessible-name={this.accInfo.accessibleNameResetIcon}\n onClick={this.onReset as any}\n onKeyDown={this.handleKeyDownReset}\n ></UDExControlButton>\n ) : \"\"\n }\n\n {\n this.isVoiceButton ? (\n <UDExButton\n id=\"voice-button\"\n class={`udex-search__button udex-search__voice-button ${this.voiceActiveClass}`}\n design={UDExButtonDesign.Default}\n size={UDExButtonSize.Small}\n icon={microphone}\n tooltip={this.tooltipInfo.tooltipVoiceButton}\n onClick={this.onVoice as any}\n ></UDExButton>\n ) : \"\"\n }\n\n {\n this.showNonInteractiveButton ? (\n <UI5Icon\n class=\"udex-search__icon\"\n aria-hidden=\"true\"\n accessible-name={this.accInfo.accessibleNameSearchIcon}\n name={search}\n ></UI5Icon>\n ) : \"\"\n }\n\n {\n this.showSubmitHomeButton ? (\n <UDExButton\n id=\"submit-button\"\n class={`udex-search__button udex-search__submit-button ${this.searchButtonActiveClass}`}\n design={UDExButtonDesign.Default}\n icon={search}\n size={UDExButtonSize.Small}\n tooltip={this.tooltipInfo.tooltipSubmitButton}\n onClick={this.onSubmit as any}\n ></UDExButton>\n ) : \"\"\n }\n\n {\n this.showSubmitStandardButton ? (\n <UDExControlButton\n id=\"submit-button\"\n class=\"udex-search__submit-button\"\n size={UDExButtonSize.Large}\n design={UDExControlButtonDesign.Default}\n icon={search}\n tooltip={this.tooltipInfo.tooltipSubmitButton}\n onClick={this.onSubmit as any}\n ></UDExControlButton>\n ) : \"\"\n }\n </div>\n </form>\n </div>\n\n { renderSearchSuggestionPopover.call(this) }\n </>\n );\n}\n\nfunction renderSearchHomePrefix(this: UDExSearch) {\n return (\n <div class={`udex-search__prefix ${this.prefixWrapperClasses}`}>\n <button\n type=\"button\"\n role=\"combobox\"\n aria-expanded={this._prefixDropdownExpanded}\n aria-label={this.labelPrefix}\n aria-haspopup=\"true\"\n aria-controls=\"udex-search-prefix\"\n class=\"udex-search__prefix-button\"\n onClick={this.handleDropdownClick}\n >\n <span class=\"udex-search__prefix-label\">{this.labelPrefix}</span>\n <UI5Icon\n class=\"udex-search__prefix-icon\"\n name={slimArrowDown}\n mode={UI5IconMode.Decorative}\n ></UI5Icon>\n </button>\n\n <UI5Popover\n id=\"udex-search-prefix\"\n class={this.prefixPopoverClasses}\n hide-arrow\n placement={UI5PopoverPlacement.Bottom}\n horizontal-align={UI5PopoverHAlign.Start}\n style={this.prefixPopoverStyles}\n onClose={this.handleAfterClosePrefixPopover}\n >\n <slot></slot>\n </UI5Popover>\n </div>\n );\n}\n\nfunction renderSearchInput(this: UDExSearch, placeholder: boolean = false) {\n return (\n <input\n role=\"searchbox\"\n id=\"search-input\"\n type=\"search\"\n name=\"search\"\n class=\"udex-search__field\"\n autocomplete=\"off\"\n aria-autocomplete=\"list\"\n aria-haspopup={this.getAriaHasPopup}\n aria-label={this.accInfo.ariaLabel}\n aria-describedby=\"search-description\"\n {...(placeholder ? { placeholder: this.effectivePlaceholder } : {})}\n value={this.value}\n onInput={this.handleSearchChange}\n onKeyDown={this.handleKeyDown}\n onFocus={this.handleFocus}\n onFocusOut={this.handleFocusout}\n onBlur={this.handleBlur}\n onClick={this.handleInputClick}\n />\n );\n}\n\nfunction renderInputWithStaticLabel(this: UDExSearch) {\n return renderSearchInput.call(this, true);\n}\n\nfunction renderInputWithAnimatedLabel(this: UDExSearch) {\n return (\n <>\n {\n this.label ? (\n <label for=\"search-input\" class={this.labelClasses}>\n {this.label}\n </label>\n ) : \"\"\n }\n\n { renderSearchInput.call(this, false) }\n </>\n );\n}\n\nfunction renderSearchSuggestionPopover(this: UDExSearch) {\n return (\n <UI5Popover\n class={`udex-search-suggestions__root ${this.homeSearchPopoverClass}`}\n hide-arrow\n prevent-initial-focus\n prevent-focus-restore\n placement={UI5PopoverPlacement.Bottom}\n horizontal-align={UI5PopoverHAlign.End}\n style={this.popoverStyles}\n id={this.getSuggestionsPopoverId}\n aria-orientation=\"vertical\"\n onKeyDown={this.handleKeyPressSuggestionList}\n accessible-name={this.suggestionsAccessibleName}\n >\n {\n this.showNoResultMessage ? (\n <span class=\"udex-search-suggestions__message\">{this.noResultMessage}</span>\n ) : renderSearchSuggestionPopoverResults.call(this)\n }\n </UI5Popover>\n );\n}\n\nfunction renderSearchSuggestionPopoverResults(this: UDExSearch) {\n return (\n <div role=\"tree\">\n {\n this.isShowSuggestedList ? (\n renderSearchSuggestionPopoverResultsSuggestedList.call(this)\n ) : \"\"\n }\n\n {\n this.isShowRecommendedList ? (\n renderSearchSuggestionPopoverResultsRecommendedList.call(this)\n ) : \"\"\n }\n </div>\n );\n}\n\nfunction renderSearchSuggestionPopoverResultsSuggestedList(this: UDExSearch) {\n return (\n <div class=\"udex-search-suggestions__block\" role=\"treeitem\">\n {\n this.suggestedHeading ? (\n <span class=\"udex-search-suggestions__heading\" id=\"suggested-heading\">\n {this.suggestedHeading}\n </span>\n ) : \"\"\n }\n\n <div class=\"udex-search-suggestions__list\"\n role=\"listbox\"\n aria-labelledby=\"suggested-heading\"\n onKeyDown={this.handleKeyDownPopover}\n >\n {\n this.suggestedList.map((item, i) => (\n <UI5Button\n key={i}\n id={item.id}\n icon={item.icon}\n type=\"Button\"\n design={UI5ButtonDesign.Default}\n accessible-name={item.suggestionDescription}\n class=\"udex-search-suggestions__item-button\"\n title={item.title}\n tabindex={-1}\n role=\"option\"\n onClick={item.handleSelectItem}\n dangerouslySetInnerHTML={{ __html: item.text }}\n ></UI5Button>\n ))\n }\n </div>\n </div>\n );\n}\n\nfunction renderSearchSuggestionPopoverResultsRecommendedList(this: UDExSearch) {\n return (\n <div class=\"udex-search-suggestions__block\" role=\"treeitem\">\n {\n this.recommendedHeading ? (\n <span class=\"udex-search-suggestions__heading\" id=\"recommended-heading\">\n {this.recommendedHeading}\n </span>\n ) : \"\"\n }\n\n <div class=\"udex-search-suggestions__list\"\n role=\"listbox\"\n aria-labelledby=\"recommended-heading\"\n onKeyDown={this.handleKeyDownPopover}\n >\n {\n this.recommendedList.map((item, i) => (\n item.hasCustomIcon ? (\n renderSearchSuggestionPopoverResultsRecommendedListButton(item, i, item.icon)\n ) : (\n renderSearchSuggestionPopoverResultsRecommendedListButton(item, i)\n )\n ))\n }\n </div>\n </div>\n );\n}\n\nfunction renderSearchSuggestionPopoverResultsRecommendedListButton(button: SuggestionList, key: number, icon: string | undefined = undefined) {\n return (\n <UI5Button\n key={key}\n id={button.id}\n {...(icon ? { \"icon\": icon } : {})}\n type=\"Button\"\n design={UI5ButtonDesign.Default}\n class=\"udex-search-suggestions__item-button\"\n accessible-name={button.suggestionDescription}\n title={button.title}\n tabindex={-1}\n role=\"option\"\n onClick={button.handleSelectItem}\n dangerouslySetInnerHTML={{ __html: button.text }}\n ></UI5Button>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SearchTemplate.js","sourceRoot":"","sources":["../src/SearchTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type UDExSearch from \"./Search.js\";\nimport type { SuggestionList } from \"./Search.js\";\nimport slimArrowDown from \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport search from \"@ui5/webcomponents-icons/dist/search.js\";\nimport decline from \"@ui5/webcomponents-icons/dist/decline.js\";\nimport microphone from \"@ui5/webcomponents-icons/dist/microphone.js\";\nimport UDExButton from \"./Button.js\";\nimport UDExButtonDesign from \"./types/ButtonDesign.js\";\nimport UDExButtonSize from \"./types/ButtonSize.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport UI5IconMode from \"@ui5/webcomponents/dist/types/IconMode.js\";\nimport UI5Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport UI5PopoverPlacement from \"@ui5/webcomponents/dist/types/PopoverPlacement.js\";\nimport UI5PopoverHAlign from \"@ui5/webcomponents/dist/types/PopoverHorizontalAlign.js\";\nimport UDExControlButton from \"./ControlButton.js\";\nimport UDExControlButtonDesign from \"./types/ControlButtonDesign.js\";\nimport UI5Button from \"@ui5/webcomponents/dist/Button.js\";\nimport UI5ButtonDesign from \"@ui5/webcomponents/dist/types/ButtonDesign.js\";\n\nexport default function SearchTemplate(this: UDExSearch) {\n return (\n <>\n <div class={`udex-search__root ${this.searchClasses}`}>\n { this.isShowSearchHomePrefix ? renderSearchHomePrefix.call(this) : \"\" }\n\n <form class={`udex-search__container ${this.focusClasses} ${this.isNotEmptyClass}`}>\n { this.labelAnimationDisabled ? renderInputWithStaticLabel.call(this) : renderInputWithAnimatedLabel.call(this) }\n\n {\n this.open ? (\n <span\n aria-live=\"polite\"\n aria-atomic=\"true\"\n id=\"search-description\"\n class=\"hidden\"\n aria-hidden=\"true\"\n >\n {this.suggestionsDescription}\n </span>\n ) : \"\"\n }\n\n <div class=\"udex-search__icons\">\n {\n this.isShowHomeResetButton ? (\n <UDExButton\n id=\"reset-button\"\n class=\"udex-search__button udex-search__reset-button\"\n size={UDExButtonSize.Small}\n design={UDExButtonDesign.Default}\n tooltip={this.tooltipInfo.tooltipResetButton}\n onClick={this.onReset as any}\n onKeyDown={this.handleKeyDownReset}\n >\n <UI5Icon\n class=\"udex-search__button-icon\"\n accessible-name={this.accInfo.accessibleNameResetIcon}\n accessible-role=\"presentation\"\n name={decline}\n ></UI5Icon>\n </UDExButton>\n ) : \"\"\n }\n\n {\n this.isShowResetButton ? (\n <UDExControlButton\n id=\"reset-button\"\n class=\"udex-search__reset-button\"\n design={UDExControlButtonDesign.Default}\n tooltip={this.tooltipInfo.tooltipResetButton}\n icon={decline}\n size={UDExButtonSize.Large}\n accessible-name={this.accInfo.accessibleNameResetIcon}\n onClick={this.onReset as any}\n onKeyDown={this.handleKeyDownReset}\n ></UDExControlButton>\n ) : \"\"\n }\n\n {\n this.isVoiceButton ? (\n <UDExButton\n id=\"voice-button\"\n class={`udex-search__button udex-search__voice-button ${this.voiceActiveClass}`}\n design={UDExButtonDesign.Default}\n size={UDExButtonSize.Small}\n icon={microphone}\n tooltip={this.tooltipInfo.tooltipVoiceButton}\n onClick={this.onVoice as any}\n ></UDExButton>\n ) : \"\"\n }\n\n {\n this.showNonInteractiveButton ? (\n <UI5Icon\n class=\"udex-search__icon\"\n aria-hidden=\"true\"\n accessible-name={this.accInfo.accessibleNameSearchIcon}\n name={search}\n ></UI5Icon>\n ) : \"\"\n }\n\n {\n this.showSubmitHomeButton ? (\n <UDExButton\n id=\"submit-button\"\n class={`udex-search__button udex-search__submit-button ${this.searchButtonActiveClass}`}\n design={UDExButtonDesign.Default}\n icon={search}\n size={UDExButtonSize.Small}\n tooltip={this.tooltipInfo.tooltipSubmitButton}\n onClick={this.onSubmit as any}\n ></UDExButton>\n ) : \"\"\n }\n\n {\n this.showSubmitStandardButton ? (\n <UDExControlButton\n id=\"submit-button\"\n class=\"udex-search__submit-button\"\n size={UDExButtonSize.Large}\n design={UDExControlButtonDesign.Default}\n icon={search}\n tooltip={this.tooltipInfo.tooltipSubmitButton}\n onClick={this.onSubmit as any}\n ></UDExControlButton>\n ) : \"\"\n }\n </div>\n </form>\n </div>\n\n { renderSearchSuggestionPopover.call(this) }\n </>\n );\n}\n\nfunction renderSearchHomePrefix(this: UDExSearch) {\n return (\n <div class={`udex-search__prefix ${this.prefixWrapperClasses}`}>\n <button\n type=\"button\"\n role=\"combobox\"\n aria-expanded={this._prefixDropdownExpanded}\n aria-label={this.labelPrefix}\n aria-haspopup=\"true\"\n aria-controls=\"udex-search-prefix\"\n class=\"udex-search__prefix-button\"\n onClick={this.handleDropdownClick}\n >\n <span class=\"udex-search__prefix-label\">{this.labelPrefix}</span>\n <UI5Icon\n class=\"udex-search__prefix-icon\"\n name={slimArrowDown}\n mode={UI5IconMode.Decorative}\n ></UI5Icon>\n </button>\n\n <UI5Popover\n id=\"udex-search-prefix\"\n class={this.prefixPopoverClasses}\n hide-arrow\n placement={UI5PopoverPlacement.Bottom}\n horizontal-align={UI5PopoverHAlign.Start}\n style={this.prefixPopoverStyles}\n onClose={this.handleAfterClosePrefixPopover}\n >\n <slot></slot>\n </UI5Popover>\n </div>\n );\n}\n\nfunction renderSearchInput(this: UDExSearch, placeholder: boolean = false) {\n return (\n <input\n role=\"searchbox\"\n id=\"search-input\"\n type=\"search\"\n name=\"search\"\n class=\"udex-search__field\"\n autocomplete=\"off\"\n aria-autocomplete=\"list\"\n aria-haspopup={this.getAriaHasPopup}\n aria-label={this.accInfo.ariaLabel}\n aria-describedby=\"search-description\"\n {...(placeholder ? { placeholder: this.effectivePlaceholder } : {})}\n maxlength={this.maxlength}\n value={this.value}\n onInput={this.handleSearchChange}\n onKeyDown={this.handleKeyDown}\n onFocus={this.handleFocus}\n onFocusOut={this.handleFocusout}\n onBlur={this.handleBlur}\n onClick={this.handleInputClick}\n />\n );\n}\n\nfunction renderInputWithStaticLabel(this: UDExSearch) {\n return renderSearchInput.call(this, true);\n}\n\nfunction renderInputWithAnimatedLabel(this: UDExSearch) {\n return (\n <>\n {\n this.label ? (\n <label for=\"search-input\" class={this.labelClasses}>\n {this.label}\n </label>\n ) : \"\"\n }\n\n { renderSearchInput.call(this, false) }\n </>\n );\n}\n\nfunction renderSearchSuggestionPopover(this: UDExSearch) {\n return (\n <UI5Popover\n class={`udex-search-suggestions__root ${this.homeSearchPopoverClass}`}\n hide-arrow\n prevent-initial-focus\n prevent-focus-restore\n placement={UI5PopoverPlacement.Bottom}\n horizontal-align={UI5PopoverHAlign.End}\n style={this.popoverStyles}\n id={this.getSuggestionsPopoverId}\n aria-orientation=\"vertical\"\n onKeyDown={this.handleKeyPressSuggestionList}\n accessible-name={this.suggestionsAccessibleName}\n >\n {\n this.showNoResultMessage ? (\n <span class=\"udex-search-suggestions__message\">{this.noResultMessage}</span>\n ) : renderSearchSuggestionPopoverResults.call(this)\n }\n </UI5Popover>\n );\n}\n\nfunction renderSearchSuggestionPopoverResults(this: UDExSearch) {\n return (\n <div role=\"tree\">\n {\n this.isShowSuggestedList ? (\n renderSearchSuggestionPopoverResultsSuggestedList.call(this)\n ) : \"\"\n }\n\n {\n this.isShowRecommendedList ? (\n renderSearchSuggestionPopoverResultsRecommendedList.call(this)\n ) : \"\"\n }\n </div>\n );\n}\n\nfunction renderSearchSuggestionPopoverResultsSuggestedList(this: UDExSearch) {\n return (\n <div class=\"udex-search-suggestions__block\" role=\"treeitem\">\n {\n this.suggestedHeading ? (\n <span class=\"udex-search-suggestions__heading\" id=\"suggested-heading\">\n {this.suggestedHeading}\n </span>\n ) : \"\"\n }\n\n <div class=\"udex-search-suggestions__list\"\n role=\"listbox\"\n aria-labelledby=\"suggested-heading\"\n onKeyDown={this.handleKeyDownPopover}\n >\n {\n this.suggestedList.map((item, i) => (\n <UI5Button\n key={i}\n id={item.id}\n icon={item.icon}\n type=\"Button\"\n design={UI5ButtonDesign.Default}\n accessible-name={item.suggestionDescription}\n class=\"udex-search-suggestions__item-button\"\n title={item.title}\n tabindex={-1}\n role=\"option\"\n onClick={item.handleSelectItem}\n dangerouslySetInnerHTML={{ __html: item.text }}\n ></UI5Button>\n ))\n }\n </div>\n </div>\n );\n}\n\nfunction renderSearchSuggestionPopoverResultsRecommendedList(this: UDExSearch) {\n return (\n <div class=\"udex-search-suggestions__block\" role=\"treeitem\">\n {\n this.recommendedHeading ? (\n <span class=\"udex-search-suggestions__heading\" id=\"recommended-heading\">\n {this.recommendedHeading}\n </span>\n ) : \"\"\n }\n\n <div class=\"udex-search-suggestions__list\"\n role=\"listbox\"\n aria-labelledby=\"recommended-heading\"\n onKeyDown={this.handleKeyDownPopover}\n >\n {\n this.recommendedList.map((item, i) => (\n item.hasCustomIcon ? (\n renderSearchSuggestionPopoverResultsRecommendedListButton(item, i, item.icon)\n ) : (\n renderSearchSuggestionPopoverResultsRecommendedListButton(item, i)\n )\n ))\n }\n </div>\n </div>\n );\n}\n\nfunction renderSearchSuggestionPopoverResultsRecommendedListButton(button: SuggestionList, key: number, icon: string | undefined = undefined) {\n return (\n <UI5Button\n key={key}\n id={button.id}\n {...(icon ? { \"icon\": icon } : {})}\n type=\"Button\"\n design={UI5ButtonDesign.Default}\n class=\"udex-search-suggestions__item-button\"\n accessible-name={button.suggestionDescription}\n title={button.title}\n tabindex={-1}\n role=\"option\"\n onClick={button.handleSelectItem}\n dangerouslySetInnerHTML={{ __html: button.text }}\n ></UI5Button>\n );\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
2
2
|
import type { DefaultSlot } from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
3
|
-
import { UDExListMode } from "./types/List.js";
|
|
3
|
+
import { UDExListMode, UDExListStyleType } from "./types/List.js";
|
|
4
4
|
import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
5
5
|
import type Popover from "@ui5/webcomponents/dist/Popover.js";
|
|
6
6
|
import type { UDExProcessedItem } from "./types/SearchableListBase.js";
|
|
@@ -128,6 +128,20 @@ declare class UDExSearchableListBase extends UI5Element {
|
|
|
128
128
|
* @public
|
|
129
129
|
*/
|
|
130
130
|
mode: `${UDExListMode}`;
|
|
131
|
+
/**
|
|
132
|
+
* Defines the list style type of the dropdown items.
|
|
133
|
+
*
|
|
134
|
+
* @default "None"
|
|
135
|
+
* @public
|
|
136
|
+
*/
|
|
137
|
+
type: `${UDExListStyleType}`;
|
|
138
|
+
/**
|
|
139
|
+
* Defines the name of the UI5 Icon displayed for each item. Use when type is Icon.
|
|
140
|
+
*
|
|
141
|
+
* @default ""
|
|
142
|
+
* @public
|
|
143
|
+
*/
|
|
144
|
+
itemIcon: string;
|
|
131
145
|
/**
|
|
132
146
|
* Slot for items.
|
|
133
147
|
*
|
|
@@ -185,6 +199,10 @@ declare class UDExSearchableListBase extends UI5Element {
|
|
|
185
199
|
fireSelectionChange(itemId: string): void;
|
|
186
200
|
fireFirstIconClickEvent(e: CustomEvent): void;
|
|
187
201
|
fireSecondIconClickEvent(e: CustomEvent): void;
|
|
202
|
+
_dropdownScrollToTop(): void;
|
|
203
|
+
_dropdownScrollToSelectedItem(): void;
|
|
204
|
+
_handleDropdownScroll(): void;
|
|
205
|
+
focusFirstItem(): void;
|
|
188
206
|
private _fireIconClickEvent;
|
|
189
207
|
getFlattenItemsArray(array: Array<UDExProcessedItem>): (UDExProcessedItem | UDExListItemBase)[];
|
|
190
208
|
getCurrentIndex(item: UDExListItem): number;
|
|
@@ -193,12 +211,13 @@ declare class UDExSearchableListBase extends UI5Element {
|
|
|
193
211
|
getPopover(): Popover;
|
|
194
212
|
getDomListItems(): UDExListItem[];
|
|
195
213
|
getDataTokenId(item: UDExListItemBase): string;
|
|
196
|
-
get _validItems(): Array<UDExListItemBase | UDExListGroupHeaderBase>;
|
|
197
214
|
getProcessedItems(): Array<UDExProcessedItem>;
|
|
198
215
|
getPopoverPart(part: UDExPopoverPart): HTMLElement;
|
|
199
216
|
_managePopupListeners(part: UDExPopoverPart, action: "addEventListener" | "removeEventListener"): void;
|
|
200
217
|
_setContentHeight(): void;
|
|
201
218
|
_setItemsModeAndControl(items: Array<UDExFilterMenuItem | UDExSelectBoxItem>): void;
|
|
219
|
+
get activeItem(): UDExListItem | undefined;
|
|
220
|
+
get _validItems(): Array<UDExListItemBase | UDExListGroupHeaderBase>;
|
|
202
221
|
get getNoResultText(): string;
|
|
203
222
|
get noMatchesFoundText(): string;
|
|
204
223
|
get resultReturnedText(): string;
|