@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
|
@@ -11,7 +11,7 @@ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
|
11
11
|
import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
|
|
12
12
|
import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
|
|
13
13
|
import { cleanLabel } from "./utils/listItemLabelUtils.js";
|
|
14
|
-
import { UDExListMode } from "./types/List.js";
|
|
14
|
+
import { UDExListMode, UDExListStyleType } from "./types/List.js";
|
|
15
15
|
import { SHOW_SEARCH_AFTER_COUNT, UDExPopoverPart } from "./types/SearchableListBase.js";
|
|
16
16
|
import { NO_MATCHES_FOUND, RESULT_RETURNED, STARS } from "./generated/i18n/i18n-defaults.js";
|
|
17
17
|
import translate from "./utils/translate.js";
|
|
@@ -59,6 +59,20 @@ let UDExSearchableListBase = UDExSearchableListBase_1 = class UDExSearchableList
|
|
|
59
59
|
* @public
|
|
60
60
|
*/
|
|
61
61
|
this.mode = UDExListMode.SingleSelect;
|
|
62
|
+
/**
|
|
63
|
+
* Defines the list style type of the dropdown items.
|
|
64
|
+
*
|
|
65
|
+
* @default "None"
|
|
66
|
+
* @public
|
|
67
|
+
*/
|
|
68
|
+
this.type = UDExListStyleType.None;
|
|
69
|
+
/**
|
|
70
|
+
* Defines the name of the UI5 Icon displayed for each item. Use when type is Icon.
|
|
71
|
+
*
|
|
72
|
+
* @default ""
|
|
73
|
+
* @public
|
|
74
|
+
*/
|
|
75
|
+
this.itemIcon = "";
|
|
62
76
|
/**
|
|
63
77
|
* Defines the default accessible role for the list component.
|
|
64
78
|
*
|
|
@@ -174,11 +188,18 @@ let UDExSearchableListBase = UDExSearchableListBase_1 = class UDExSearchableList
|
|
|
174
188
|
return items.filter(preparedItem => {
|
|
175
189
|
const { isGroup, item } = preparedItem;
|
|
176
190
|
if (isGroup) {
|
|
177
|
-
|
|
178
|
-
|
|
191
|
+
const groupHeaderMatches = this.checkAndUpdateLabel(item, str);
|
|
192
|
+
const filteredChildren = this.filterItemsForLabel(preparedItem.groupItems, str);
|
|
193
|
+
if (groupHeaderMatches) {
|
|
194
|
+
preparedItem.groupItems.forEach(child => this.checkAndUpdateLabel(child, str));
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
preparedItem.groupItems = filteredChildren;
|
|
198
|
+
}
|
|
199
|
+
if (hasSearchQuery && (groupHeaderMatches || preparedItem.groupItems.length > 0)) {
|
|
179
200
|
item.collapsed = false;
|
|
180
201
|
}
|
|
181
|
-
return preparedItem.groupItems.length > 0;
|
|
202
|
+
return !hasSearchQuery || groupHeaderMatches || preparedItem.groupItems.length > 0;
|
|
182
203
|
}
|
|
183
204
|
return this.checkAndUpdateLabel(item, str);
|
|
184
205
|
});
|
|
@@ -199,6 +220,7 @@ let UDExSearchableListBase = UDExSearchableListBase_1 = class UDExSearchableList
|
|
|
199
220
|
item.label = this.addSearchTermTag(cleanedLabel, str);
|
|
200
221
|
return true;
|
|
201
222
|
}
|
|
223
|
+
item.label = cleanedLabel;
|
|
202
224
|
return false;
|
|
203
225
|
}
|
|
204
226
|
addSearchTermTag(text, str) {
|
|
@@ -289,6 +311,43 @@ let UDExSearchableListBase = UDExSearchableListBase_1 = class UDExSearchableList
|
|
|
289
311
|
fireSecondIconClickEvent(e) {
|
|
290
312
|
this._fireIconClickEvent("second-icon-click", e);
|
|
291
313
|
}
|
|
314
|
+
_dropdownScrollToTop() {
|
|
315
|
+
this.getPopoverPart(UDExPopoverPart.Content)?.scrollTo({ top: 0 });
|
|
316
|
+
}
|
|
317
|
+
_dropdownScrollToSelectedItem() {
|
|
318
|
+
const content = this.getPopoverPart(UDExPopoverPart.Content);
|
|
319
|
+
const activeItem = this.activeItem;
|
|
320
|
+
if (!content || !activeItem) {
|
|
321
|
+
return;
|
|
322
|
+
}
|
|
323
|
+
const itemRect = activeItem.getBoundingClientRect();
|
|
324
|
+
const contentRect = content.getBoundingClientRect();
|
|
325
|
+
content.scrollTop += itemRect.top - contentRect.top + itemRect.height / 2 - content.clientHeight / 2;
|
|
326
|
+
}
|
|
327
|
+
_handleDropdownScroll() {
|
|
328
|
+
if (this.modeMultiSelect) {
|
|
329
|
+
this._dropdownScrollToTop();
|
|
330
|
+
}
|
|
331
|
+
if (this.modeSingleSelect) {
|
|
332
|
+
this._dropdownScrollToSelectedItem();
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
focusFirstItem() {
|
|
336
|
+
const list = this.getList();
|
|
337
|
+
const items = list.getKeyboardNavigationItems();
|
|
338
|
+
if (!items.length) {
|
|
339
|
+
return;
|
|
340
|
+
}
|
|
341
|
+
const firstIndex = (items[0]?.nonInteractive && !items[0]?.collapsible) ? 1 : 0;
|
|
342
|
+
const firstItem = items[firstIndex];
|
|
343
|
+
list.setTabIndexByIndex(items, firstIndex);
|
|
344
|
+
if (firstItem.isGroup) {
|
|
345
|
+
list.focusHeader(firstItem);
|
|
346
|
+
}
|
|
347
|
+
else {
|
|
348
|
+
firstItem.focus();
|
|
349
|
+
}
|
|
350
|
+
}
|
|
292
351
|
_fireIconClickEvent(eventName, e) {
|
|
293
352
|
const item = e.detail.item;
|
|
294
353
|
const id = this.getDataTokenId(item);
|
|
@@ -327,9 +386,6 @@ let UDExSearchableListBase = UDExSearchableListBase_1 = class UDExSearchableList
|
|
|
327
386
|
getDataTokenId(item) {
|
|
328
387
|
return item.getAttribute("data-token-id");
|
|
329
388
|
}
|
|
330
|
-
get _validItems() {
|
|
331
|
-
return this.items.filter(item => !(item instanceof HTMLElement) || "isGroup" in item);
|
|
332
|
-
}
|
|
333
389
|
getProcessedItems() {
|
|
334
390
|
return this._validItems.map(item => {
|
|
335
391
|
const isGroup = item.isGroup;
|
|
@@ -359,6 +415,12 @@ let UDExSearchableListBase = UDExSearchableListBase_1 = class UDExSearchableList
|
|
|
359
415
|
item.controlled = this.isControlled;
|
|
360
416
|
});
|
|
361
417
|
}
|
|
418
|
+
get activeItem() {
|
|
419
|
+
return this.getDomListItems().find(({ selected }) => selected);
|
|
420
|
+
}
|
|
421
|
+
get _validItems() {
|
|
422
|
+
return this.items.filter(item => !(item instanceof HTMLElement) || "isGroup" in item);
|
|
423
|
+
}
|
|
362
424
|
get getNoResultText() {
|
|
363
425
|
const hasTextProperty = this.noResultText !== undefined && this.noResultText.length > 0;
|
|
364
426
|
return hasTextProperty ? this.noResultText : this.noMatchesFoundText;
|
|
@@ -461,6 +523,12 @@ __decorate([
|
|
|
461
523
|
__decorate([
|
|
462
524
|
property()
|
|
463
525
|
], UDExSearchableListBase.prototype, "mode", void 0);
|
|
526
|
+
__decorate([
|
|
527
|
+
property()
|
|
528
|
+
], UDExSearchableListBase.prototype, "type", void 0);
|
|
529
|
+
__decorate([
|
|
530
|
+
property({ type: String })
|
|
531
|
+
], UDExSearchableListBase.prototype, "itemIcon", void 0);
|
|
464
532
|
__decorate([
|
|
465
533
|
slot({ type: HTMLElement, "default": true, invalidateOnChildChange: true })
|
|
466
534
|
], UDExSearchableListBase.prototype, "items", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchableListBase.js","sourceRoot":"","sources":["../src/SearchableListBase.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport { cleanLabel } from \"./utils/listItemLabelUtils.js\";\nimport { UDExListMode } from \"./types/List.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport type { UDExProcessedItem } from \"./types/SearchableListBase.js\";\nimport type UDExSearch from \"./Search.js\";\nimport type UDExListItemBase from \"./ListItemBase.js\";\nimport type UDExListGroupHeaderBase from \"./ListGroupHeaderBase.js\";\nimport type UDExList from \"./List.js\";\nimport type UDExListItem from \"./ListItem.js\";\nimport type UDExFilterMenuItem from \"./FilterMenuItem.js\";\nimport type UDExSelectBoxItem from \"./SelectBoxItem.js\";\nimport { SHOW_SEARCH_AFTER_COUNT, UDExPopoverPart } from \"./types/SearchableListBase.js\";\nimport { NO_MATCHES_FOUND, RESULT_RETURNED, STARS } from \"./generated/i18n/i18n-defaults.js\";\nimport translate from \"./utils/translate.js\";\n\nexport type UDExItemFromList = UDExListItemBase | UDExListGroupHeaderBase | null | undefined;\n\ntype UDExSearchableListBaseChangeSearchEventDetail = {\n value: string,\n}\n\ntype UDExSearchableListBaseSelectionChangeEventDetail = {\n selectedItems: Array<UDExListItemBase>,\n item: UDExItemFromList,\n}\ntype UDExSearchableListBaseSubmitSearchEventDetail = {\n selectedItems: Array<UDExListItemBase>\n}\n\ntype UDExSelectBoxIconClickEventDetail = {\n originalEvent: PointerEvent,\n item: UDExItemFromList,\n}\n\nexport type UDExSearchableListBaseEvents = {\n \"select-all\": void,\n \"selection-change\": UDExSearchableListBaseSelectionChangeEventDetail,\n \"submit-search\": UDExSearchableListBaseSubmitSearchEventDetail,\n \"reset-search\": void,\n \"change-search\": UDExSearchableListBaseChangeSearchEventDetail,\n \"first-icon-click\": UDExSelectBoxIconClickEventDetail,\n \"second-icon-click\": UDExSelectBoxIconClickEventDetail,\n}\n\n/**\n * @class\n *\n * A class to serve as a foundation\n * for the <code>UDExFilterMenu</code> ,<code>UDExSelectBox</code> and <code>UDExCountrySelector</code> classes.\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @public\n */\n\n/**\n * Fired event when the user click on an item on the list.\n * @param {Array<UDExListItemBase>} selectedItems The selected items.\n * @param {UDExListItemBase | UDExListGroupHeaderBase | null | undefined} item The clicked item.\n * @public\n * @param {Array<UDExListItemBase>} selectedItems The selected items.\n * @param {UDExListItemBase | UDExListGroupHeaderBase | null | undefined} item The clicked item.\n *\n */\n@event(\"selection-change\", { bubbles: true })\n\n/**\n * Fired event when the user clicks on the Select All header.\n *\n * @public\n */\n@event(\"select-all\", { bubbles: true })\n\n/**\n * Fired event when the user clicks on the submitted icon in the search.\n * @param {Array<UDExListItemBase>} selectedItems The selected items.\n * @public\n * @param {Array<UDExListItemBase>} selectedItems The selected items.\n *\n */\n@event(\"submit-search\", { bubbles: true })\n\n/**\n * Fired event when the user clicks on the reset button in the search.\n *\n * @public\n */\n@event(\"reset-search\", { bubbles: true })\n\n/**\n * Fired event when the user submitted the value in the search.\n * @param {string} value The search value.\n * @public\n * @param {string} value The search value.\n */\n@event(\"change-search\", { bubbles: true })\n\n/**\n * Fired event when the user clicks on the first icon.\n * @param { PointerEvent } originalEvent The original event object\n * @param { UDExListItemBase | UDExListGroupHeaderBase | null | undefined } item The list item\n * @public\n * @param { PointerEvent } originalEvent The original event object\n * @param { UDExListItemBase | UDExListGroupHeaderBase | null | undefined } item The list item\n */\n@event(\"first-icon-click\", { bubbles: true })\n\n/**\n * Fired event when the user clicks on the second icon.\n * @param { PointerEvent } originalEvent The original event object\n * @param { UDExListItemBase | UDExListGroupHeaderBase | null | undefined } item The list item\n * @public\n * @param { PointerEvent } originalEvent The original event object\n * @param { UDExListItemBase | UDExListGroupHeaderBase | null | undefined } item The list item\n */\n@event(\"second-icon-click\", { bubbles: true })\n\nclass UDExSearchableListBase extends UI5Element {\n eventDetails!: UDExSearchableListBaseEvents;\n /** @deprecated Tab keyboard navigation is no longer allowed. */\n @property({ type: Boolean })\n tabNavigationEnabled?: boolean;\n\n /**\n * Allows control over the height.\n * @public\n */\n @property({ type: String })\n height?: string;\n\n /**\n * Defines if page scrolling should be prevented within the list of items.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n preventPageScroll = false;\n\n /**\n * Defines if the component would display a loading indicator.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n busy?: boolean;\n\n /**\n * Defines if the search input is visible.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n showSearchInput!: boolean;\n\n /**\n * Defines the delay in milliseconds, after which the busy indicator will show up for this component.\n *\n * @default 1000\n * @public\n */\n @property({ type: Number })\n busyDelay: number = 1000;\n\n /**\n * Defines the \"no result\" text of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n noResultText!: string;\n\n /**\n * Defines the placeholder of the search.\n *\n * @default \"\"\n * @public\n */\n @property()\n searchPlaceholder!: string;\n\n /**\n * Defines the selectAll option of the component.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n selectAll?: boolean;\n\n /**\n * Defines label text for select all header.\n *\n * @default \"Select All\"\n * @public\n */\n @property()\n selectAllLabel!: string;\n\n /**\n * Defines the mode of the component.\n *\n * @default \"SingleSelect\"\n * @public\n */\n @property()\n mode: `${UDExListMode}` = UDExListMode.SingleSelect;\n\n /**\n * Slot for items.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true, invalidateOnChildChange: true })\n items!: DefaultSlot<UDExListItemBase | UDExListGroupHeaderBase>;\n\n /**\n * Defines the default accessible role for the list component.\n *\n * @default \"list\"\n * @public\n */\n @property({ type: String })\n defaultAccessibleRole: string = \"list\";\n\n /**\n * Defines the filtered items for the component.\n *\n * @default []\n * @private\n */\n @property({ type: Object })\n _filteredItems!: Array<UDExProcessedItem>;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _shouldFilterItems?: boolean;\n _accSearchResultInfo?: string;\n _groupCollapseStateBeforeSearch: Map<string, boolean>;\n\n constructor() {\n super();\n this._shouldFilterItems = false;\n this._filteredItems = [];\n this._groupCollapseStateBeforeSearch = new Map();\n }\n\n onBeforeRendering() {\n if (!this._shouldFilterItems) {\n this._filteredItems = this.getProcessedItems();\n }\n }\n\n onItemPress(e:CustomEvent) {\n const dropdownItemId: string = this.getDataTokenId(e.detail.item as UDExListItemBase);\n this.handleDropdownItemPress(dropdownItemId);\n this.fireSelectionChange(dropdownItemId);\n }\n\n handleDropdownItemPress(dropdownItemId: string) {\n this.getProcessedItems().forEach(({ item, groupItems, isGroup }) => {\n if (isGroup) {\n const groupItem: UDExListItemBase = groupItems.find(({ _id }) => _id === dropdownItemId)!;\n if (groupItem) {\n this.handleItemClick(groupItem);\n this.handleGroupHeaderState(item as UDExListGroupHeaderBase);\n }\n } else if (item._id === dropdownItemId) {\n this.handleItemClick(item);\n }\n });\n\n this.syncFilteredItems();\n }\n\n handleItemClick(item: UDExListItemBase) {\n if (this.modeSingleSelect) {\n this.revertSelectedItems(this.selectedItems);\n }\n\n if (this.modeRadioGroup) {\n const groupHeader = item.parentElement as UDExListGroupHeaderBase;\n this.revertSelectedItems(groupHeader.getItems());\n }\n\n item.selected = !item.selected;\n }\n\n handleGroupHeaderState(groupHeader: UDExListGroupHeaderBase) {\n if (this.modeMultiSelect) {\n groupHeader.handleHeaderState();\n }\n }\n\n onHeaderPress(e:CustomEvent) {\n const item = e.detail.item as UDExListItemBase;\n const id = this.getDataTokenId(item);\n this.handleGroupHeaderSelection(id);\n this.syncFilteredItems();\n this.fireSelectionChange(id);\n }\n\n onSelectAllHeaderPress(e:CustomEvent) {\n const item = e.detail.item as UDExListItemBase;\n const id = this.getDataTokenId(item);\n this.handleGroupHeaderSelection(id);\n this.syncFilteredItems();\n this.fireDecoratorEvent(\"select-all\");\n }\n\n handleGroupHeaderSelection(id: string): void {\n this.getProcessedItems().forEach(({ item }) => {\n if (item._id === id) {\n (item as UDExListGroupHeaderBase).handleSelectionGroupState();\n }\n });\n }\n\n onSearch(value: string) {\n const searchValue: string = value;\n const hasSearchQuery = searchValue !== \"\";\n\n if (hasSearchQuery && !this._shouldFilterItems) {\n this.saveGroupCollapseState();\n }\n\n if (!hasSearchQuery && this._shouldFilterItems) {\n this.restoreGroupCollapseState();\n }\n\n this._shouldFilterItems = hasSearchQuery;\n this._filteredItems = this.filterItems(this.getProcessedItems(), searchValue);\n const items = this.getFlattenItemsArray(this._filteredItems);\n this._accSearchResultInfo = items.length ? `${items.length} ${this.resultReturnedText}` : this.noMatchesFoundText;\n this.fireDecoratorEvent(\"change-search\", { value: searchValue });\n }\n\n onReset() {\n this.revertSelectedItems(this.selectedItems);\n }\n\n onResetSearch() {\n this.resetSearch();\n this.fireDecoratorEvent(\"reset-search\");\n }\n\n onSubmitSearch() {\n this.fireDecoratorEvent(\"submit-search\", {\n selectedItems: this.selectedItems,\n });\n }\n\n /**\n * Reset the search value.\n * @public\n */\n resetSearch() {\n const search = this.getSearch();\n search.value = \"\";\n this._shouldFilterItems = false;\n this.restoreGroupCollapseState();\n this._filteredItems = this.filterItems(this.getProcessedItems(), \"\");\n }\n\n filterItems(items: Array<UDExProcessedItem>, str: string): Array<UDExProcessedItem> {\n const hasSearchQuery = str !== \"\";\n\n return items.filter(preparedItem => {\n const { isGroup, item } = preparedItem;\n\n if (isGroup) {\n preparedItem.groupItems = this.filterItemsForLabel(preparedItem.groupItems, str);\n\n if (hasSearchQuery && preparedItem.groupItems.length > 0) {\n item.collapsed = false;\n }\n\n return preparedItem.groupItems.length > 0;\n }\n\n return this.checkAndUpdateLabel(item, str);\n });\n }\n\n filterItemsForLabel(groupItems: Array<UDExListItemBase>, str: string): Array<UDExListItemBase> {\n return groupItems.filter(groupItem => this.checkAndUpdateLabel(groupItem, str));\n }\n\n checkAndUpdateLabel(item: UDExListItemBase | UDExListGroupHeaderBase, str: string): boolean {\n if (item.ratingCount) {\n return this.isIncludes(item.ratingCount, str);\n }\n\n if (!item.label) {\n console.warn(\"A label property is required for the item\");\n return false;\n }\n const cleanedLabel = cleanLabel(item.label);\n if (this.isIncludes(cleanedLabel, str)) {\n item.label = this.addSearchTermTag(cleanedLabel, str);\n return true;\n }\n return false;\n }\n\n addSearchTermTag(text: string, str: string): string {\n if (!str.length) {\n return text;\n }\n\n const regex = new RegExp(`(${str})`, \"i\");\n return text.replace(regex, \"<b>$1</b>\");\n }\n\n isIncludes(string: string, value: string): boolean {\n return string.toLowerCase().includes(value.toLowerCase());\n }\n\n revertSelectedItems(items: Array<UDExListItemBase>) {\n items.forEach((item: UDExListItemBase) => {\n if (!item.disabled) {\n item.selected = false;\n }\n });\n }\n\n syncFilteredItems() {\n const search = this.getSearch();\n if (this._shouldFilterItems) {\n this._filteredItems = this.filterItems(this.getProcessedItems(), search.value);\n } else {\n this._filteredItems = this.getProcessedItems();\n }\n }\n\n saveGroupCollapseState(): void {\n this._groupCollapseStateBeforeSearch.clear();\n\n this.items.forEach(item => {\n if (item.isGroup) {\n this._groupCollapseStateBeforeSearch.set(item._id, Boolean(item.collapsed));\n }\n });\n }\n\n restoreGroupCollapseState(): void {\n if (!this._groupCollapseStateBeforeSearch.size) {\n return;\n }\n\n this.items.forEach(item => {\n if (item.isGroup) {\n const collapsed = this._groupCollapseStateBeforeSearch.get(item._id);\n\n if (collapsed !== undefined) {\n item.collapsed = collapsed;\n }\n }\n });\n\n this._groupCollapseStateBeforeSearch.clear();\n }\n\n getSlottedItems(items: Array<UDExListItemBase | UDExListGroupHeaderBase>): Array<UDExListItemBase | UDExListGroupHeaderBase> {\n const arr: Array<UDExListItemBase | UDExListGroupHeaderBase> = [];\n items.forEach(item => {\n arr.push(item);\n if (item.isGroup) {\n arr.push(...(item as UDExListGroupHeaderBase).getItems());\n }\n });\n return arr;\n }\n\n getItemFromList(itemId:string): UDExItemFromList {\n let menuItem = null;\n\n for (let i = 0; i < this.items.length; i++) {\n const item = this.items[i];\n\n if (item.isGroup) {\n const groupItems = (item as UDExListGroupHeaderBase).getItems();\n menuItem = groupItems.find(({ _id }) => _id === itemId);\n\n if (menuItem) {\n break;\n }\n } else if (item._id === itemId) {\n menuItem = item;\n break;\n }\n }\n\n return menuItem;\n }\n\n fireSelectionChange(itemId: string) {\n this.fireDecoratorEvent(\"selection-change\", {\n selectedItems: this.selectedItems,\n item: this.getItemFromList(itemId),\n });\n }\n\n fireFirstIconClickEvent(e: CustomEvent): void {\n this._fireIconClickEvent(\"first-icon-click\", e);\n }\n\n fireSecondIconClickEvent(e: CustomEvent): void {\n this._fireIconClickEvent(\"second-icon-click\", e);\n }\n\n private _fireIconClickEvent(eventName: \"first-icon-click\" | \"second-icon-click\", e: CustomEvent): void {\n const item = e.detail.item as UDExListItemBase;\n const id = this.getDataTokenId(item);\n this.fireDecoratorEvent(eventName, {\n originalEvent: e.detail.originalEvent,\n item: this.getItemFromList(id),\n });\n }\n\n getFlattenItemsArray(array: Array<UDExProcessedItem>): (UDExProcessedItem | UDExListItemBase)[] {\n return array.flatMap(item => {\n if (item.isGroup) {\n return [\n item,\n ...item.groupItems.filter(groupItem => !groupItem.disabled),\n ];\n }\n return item.item.disabled ? [] : [item.item];\n });\n }\n\n getCurrentIndex(item: UDExListItem): number {\n return this.getDomListItems().indexOf(item);\n }\n\n getList(): UDExList {\n return this.shadowRoot!.querySelector<UDExList>(\"[udex-list]\")!;\n }\n\n getSearch(): UDExSearch | HTMLInputElement {\n return this.shadowRoot!.querySelector<UDExSearch>(\"[udex-search]\")! || this.shadowRoot!.querySelector<HTMLInputElement>(\".udex-text-field__search\")!;\n }\n\n getPopover(): Popover {\n return this.shadowRoot!.querySelector<Popover>(\"[ui5-popover]\")!;\n }\n\n getDomListItems(): UDExListItem[] {\n const elementList = this.shadowRoot!.querySelector(\"[udex-list]\") as HTMLElement;\n return elementList ? Array.from(elementList.querySelectorAll(\"[udex-list-item]\")) : [];\n }\n\n getDataTokenId(item: UDExListItemBase): string {\n return item.getAttribute(\"data-token-id\") as string;\n }\n\n get _validItems(): Array<UDExListItemBase | UDExListGroupHeaderBase> {\n return this.items.filter(item => !(item instanceof HTMLElement) || \"isGroup\" in item);\n }\n\n getProcessedItems(): Array<UDExProcessedItem> {\n return this._validItems.map(item => {\n const isGroup = item.isGroup;\n const groupItems = isGroup ? (item as UDExListGroupHeaderBase).getItems() : [];\n\n if (isGroup) {\n this._setItemsModeAndControl(groupItems);\n }\n\n item.mode = this.mode;\n item.controlled = this.isControlled;\n\n return { item, groupItems, isGroup };\n });\n }\n\n getPopoverPart(part: UDExPopoverPart): HTMLElement {\n return this.getPopover().shadowRoot!.querySelector<HTMLElement>(`[part=${part}]`)!;\n }\n\n _managePopupListeners(part: UDExPopoverPart, action: \"addEventListener\" | \"removeEventListener\"): void {\n const element = this.getPopoverPart(part);\n element?.[action](\"wheel\", ((e: WheelEvent) => e.preventDefault()) as EventListener);\n }\n\n _setContentHeight(): void {\n const content = this.getPopoverPart(UDExPopoverPart.Content);\n content.style.maxHeight = this.height || \"\";\n }\n\n _setItemsModeAndControl(items: Array<UDExFilterMenuItem | UDExSelectBoxItem>) {\n items.forEach(item => {\n item.mode = this.mode;\n item.controlled = this.isControlled;\n });\n }\n\n get getNoResultText(): string {\n const hasTextProperty = this.noResultText !== undefined && this.noResultText.length > 0;\n return hasTextProperty ? this.noResultText : this.noMatchesFoundText;\n }\n\n get noMatchesFoundText(): string {\n return translate(UDExSearchableListBase, NO_MATCHES_FOUND);\n }\n\n get resultReturnedText(): string {\n return translate(UDExSearchableListBase, RESULT_RETURNED);\n }\n\n get startsText(): string {\n return translate(UDExSearchableListBase, STARS);\n }\n\n get isListEmpty(): boolean {\n return this._filteredItems.length === 0;\n }\n\n get selectedItems(): Array<UDExListItemBase> {\n const selectedItems: Array<UDExListItemBase> = this.getSlottedItems(this._validItems).filter(({ selected }) => selected);\n return selectedItems;\n }\n\n get modeMultiSelect(): boolean {\n return this.mode === UDExListMode.MultiSelect;\n }\n\n get modeSingleSelect(): boolean {\n return this.mode === UDExListMode.SingleSelect;\n }\n\n get modeRadioGroup(): boolean {\n return this.mode === UDExListMode.RadioGroup;\n }\n\n get isControlled(): boolean {\n const isGrouping = this.items.some(({ isGroup }) => isGroup);\n return this.modeMultiSelect && isGrouping;\n }\n\n get additionalClassName(): string {\n return `udex-searchable-list__header`;\n }\n\n get groupClassName(): string {\n const classHeader = `udex-searchable-list__header`;\n return this.showSearch ? `${classHeader} udex-searchable-list__header_no-margin` : classHeader;\n }\n\n get showSearch(): boolean {\n const isSearchVisible = this.showSearchInput || (this.isSearchActive && !this.modeRadioGroup);\n return !this.hideDropdownSearch && isSearchVisible;\n }\n\n get isSearchActive(): boolean {\n return this.nonGroupItems.length > SHOW_SEARCH_AFTER_COUNT;\n }\n\n get nonGroupItems(): Array<UDExListItemBase> {\n return this.getSlottedItems(this._validItems).filter(item => !item.isGroup);\n }\n\n get roleForGroupList(): string {\n return this._filteredItems.some(element => element.isGroup) ? \"group\" : \"none\";\n }\n\n get accessibleRoleForList(): string {\n return this._filteredItems.some(element => element.isGroup) ? \"group\" : this.defaultAccessibleRole;\n }\n\n get listItemRole(): string {\n if (this.accessibleRoleForList === \"list\") {\n return \"listitem\";\n }\n\n if (this.accessibleRoleForList === \"listbox\") {\n return \"option\";\n }\n\n return \"none\";\n }\n\n get hideDropdownSearch(): boolean {\n return false;\n }\n}\n\nexport default UDExSearchableListBase;\nexport type {\n UDExSelectBoxIconClickEventDetail, UDExSearchableListBaseSubmitSearchEventDetail, UDExSearchableListBaseChangeSearchEventDetail, UDExSearchableListBaseSelectionChangeEventDetail,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"SearchableListBase.js","sourceRoot":"","sources":["../src/SearchableListBase.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport { cleanLabel } from \"./utils/listItemLabelUtils.js\";\nimport { UDExListMode, UDExListStyleType } from \"./types/List.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport type { UDExProcessedItem } from \"./types/SearchableListBase.js\";\nimport type UDExSearch from \"./Search.js\";\nimport type UDExListItemBase from \"./ListItemBase.js\";\nimport type UDExListGroupHeaderBase from \"./ListGroupHeaderBase.js\";\nimport type UDExList from \"./List.js\";\nimport type UDExListItem from \"./ListItem.js\";\nimport type UDExFilterMenuItem from \"./FilterMenuItem.js\";\nimport type UDExSelectBoxItem from \"./SelectBoxItem.js\";\nimport { SHOW_SEARCH_AFTER_COUNT, UDExPopoverPart } from \"./types/SearchableListBase.js\";\nimport { NO_MATCHES_FOUND, RESULT_RETURNED, STARS } from \"./generated/i18n/i18n-defaults.js\";\nimport translate from \"./utils/translate.js\";\n\nexport type UDExItemFromList = UDExListItemBase | UDExListGroupHeaderBase | null | undefined;\n\ntype UDExSearchableListBaseChangeSearchEventDetail = {\n value: string,\n}\n\ntype UDExSearchableListBaseSelectionChangeEventDetail = {\n selectedItems: Array<UDExListItemBase>,\n item: UDExItemFromList,\n}\ntype UDExSearchableListBaseSubmitSearchEventDetail = {\n selectedItems: Array<UDExListItemBase>\n}\n\ntype UDExSelectBoxIconClickEventDetail = {\n originalEvent: PointerEvent,\n item: UDExItemFromList,\n}\n\nexport type UDExSearchableListBaseEvents = {\n \"select-all\": void,\n \"selection-change\": UDExSearchableListBaseSelectionChangeEventDetail,\n \"submit-search\": UDExSearchableListBaseSubmitSearchEventDetail,\n \"reset-search\": void,\n \"change-search\": UDExSearchableListBaseChangeSearchEventDetail,\n \"first-icon-click\": UDExSelectBoxIconClickEventDetail,\n \"second-icon-click\": UDExSelectBoxIconClickEventDetail,\n}\n\n/**\n * @class\n *\n * A class to serve as a foundation\n * for the <code>UDExFilterMenu</code> ,<code>UDExSelectBox</code> and <code>UDExCountrySelector</code> classes.\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @public\n */\n\n/**\n * Fired event when the user click on an item on the list.\n * @param {Array<UDExListItemBase>} selectedItems The selected items.\n * @param {UDExListItemBase | UDExListGroupHeaderBase | null | undefined} item The clicked item.\n * @public\n * @param {Array<UDExListItemBase>} selectedItems The selected items.\n * @param {UDExListItemBase | UDExListGroupHeaderBase | null | undefined} item The clicked item.\n *\n */\n@event(\"selection-change\", { bubbles: true })\n\n/**\n * Fired event when the user clicks on the Select All header.\n *\n * @public\n */\n@event(\"select-all\", { bubbles: true })\n\n/**\n * Fired event when the user clicks on the submitted icon in the search.\n * @param {Array<UDExListItemBase>} selectedItems The selected items.\n * @public\n * @param {Array<UDExListItemBase>} selectedItems The selected items.\n *\n */\n@event(\"submit-search\", { bubbles: true })\n\n/**\n * Fired event when the user clicks on the reset button in the search.\n *\n * @public\n */\n@event(\"reset-search\", { bubbles: true })\n\n/**\n * Fired event when the user submitted the value in the search.\n * @param {string} value The search value.\n * @public\n * @param {string} value The search value.\n */\n@event(\"change-search\", { bubbles: true })\n\n/**\n * Fired event when the user clicks on the first icon.\n * @param { PointerEvent } originalEvent The original event object\n * @param { UDExListItemBase | UDExListGroupHeaderBase | null | undefined } item The list item\n * @public\n * @param { PointerEvent } originalEvent The original event object\n * @param { UDExListItemBase | UDExListGroupHeaderBase | null | undefined } item The list item\n */\n@event(\"first-icon-click\", { bubbles: true })\n\n/**\n * Fired event when the user clicks on the second icon.\n * @param { PointerEvent } originalEvent The original event object\n * @param { UDExListItemBase | UDExListGroupHeaderBase | null | undefined } item The list item\n * @public\n * @param { PointerEvent } originalEvent The original event object\n * @param { UDExListItemBase | UDExListGroupHeaderBase | null | undefined } item The list item\n */\n@event(\"second-icon-click\", { bubbles: true })\n\nclass UDExSearchableListBase extends UI5Element {\n eventDetails!: UDExSearchableListBaseEvents;\n /** @deprecated Tab keyboard navigation is no longer allowed. */\n @property({ type: Boolean })\n tabNavigationEnabled?: boolean;\n\n /**\n * Allows control over the height.\n * @public\n */\n @property({ type: String })\n height?: string;\n\n /**\n * Defines if page scrolling should be prevented within the list of items.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n preventPageScroll = false;\n\n /**\n * Defines if the component would display a loading indicator.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n busy?: boolean;\n\n /**\n * Defines if the search input is visible.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n showSearchInput!: boolean;\n\n /**\n * Defines the delay in milliseconds, after which the busy indicator will show up for this component.\n *\n * @default 1000\n * @public\n */\n @property({ type: Number })\n busyDelay: number = 1000;\n\n /**\n * Defines the \"no result\" text of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n noResultText!: string;\n\n /**\n * Defines the placeholder of the search.\n *\n * @default \"\"\n * @public\n */\n @property()\n searchPlaceholder!: string;\n\n /**\n * Defines the selectAll option of the component.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n selectAll?: boolean;\n\n /**\n * Defines label text for select all header.\n *\n * @default \"Select All\"\n * @public\n */\n @property()\n selectAllLabel!: string;\n\n /**\n * Defines the mode of the component.\n *\n * @default \"SingleSelect\"\n * @public\n */\n @property()\n mode: `${UDExListMode}` = UDExListMode.SingleSelect;\n\n /**\n * Defines the list style type of the dropdown items.\n *\n * @default \"None\"\n * @public\n */\n @property()\n type: `${UDExListStyleType}` = UDExListStyleType.None;\n\n /**\n * Defines the name of the UI5 Icon displayed for each item. Use when type is Icon.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n itemIcon: string = \"\";\n\n /**\n * Slot for items.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true, invalidateOnChildChange: true })\n items!: DefaultSlot<UDExListItemBase | UDExListGroupHeaderBase>;\n\n /**\n * Defines the default accessible role for the list component.\n *\n * @default \"list\"\n * @public\n */\n @property({ type: String })\n defaultAccessibleRole: string = \"list\";\n\n /**\n * Defines the filtered items for the component.\n *\n * @default []\n * @private\n */\n @property({ type: Object })\n _filteredItems!: Array<UDExProcessedItem>;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _shouldFilterItems?: boolean;\n _accSearchResultInfo?: string;\n _groupCollapseStateBeforeSearch: Map<string, boolean>;\n\n constructor() {\n super();\n this._shouldFilterItems = false;\n this._filteredItems = [];\n this._groupCollapseStateBeforeSearch = new Map();\n }\n\n onBeforeRendering() {\n if (!this._shouldFilterItems) {\n this._filteredItems = this.getProcessedItems();\n }\n }\n\n onItemPress(e:CustomEvent) {\n const dropdownItemId: string = this.getDataTokenId(e.detail.item as UDExListItemBase);\n this.handleDropdownItemPress(dropdownItemId);\n this.fireSelectionChange(dropdownItemId);\n }\n\n handleDropdownItemPress(dropdownItemId: string) {\n this.getProcessedItems().forEach(({ item, groupItems, isGroup }) => {\n if (isGroup) {\n const groupItem: UDExListItemBase = groupItems.find(({ _id }) => _id === dropdownItemId)!;\n if (groupItem) {\n this.handleItemClick(groupItem);\n this.handleGroupHeaderState(item as UDExListGroupHeaderBase);\n }\n } else if (item._id === dropdownItemId) {\n this.handleItemClick(item);\n }\n });\n\n this.syncFilteredItems();\n }\n\n handleItemClick(item: UDExListItemBase) {\n if (this.modeSingleSelect) {\n this.revertSelectedItems(this.selectedItems);\n }\n\n if (this.modeRadioGroup) {\n const groupHeader = item.parentElement as UDExListGroupHeaderBase;\n this.revertSelectedItems(groupHeader.getItems());\n }\n\n item.selected = !item.selected;\n }\n\n handleGroupHeaderState(groupHeader: UDExListGroupHeaderBase) {\n if (this.modeMultiSelect) {\n groupHeader.handleHeaderState();\n }\n }\n\n onHeaderPress(e:CustomEvent) {\n const item = e.detail.item as UDExListItemBase;\n const id = this.getDataTokenId(item);\n this.handleGroupHeaderSelection(id);\n this.syncFilteredItems();\n this.fireSelectionChange(id);\n }\n\n onSelectAllHeaderPress(e:CustomEvent) {\n const item = e.detail.item as UDExListItemBase;\n const id = this.getDataTokenId(item);\n this.handleGroupHeaderSelection(id);\n this.syncFilteredItems();\n this.fireDecoratorEvent(\"select-all\");\n }\n\n handleGroupHeaderSelection(id: string): void {\n this.getProcessedItems().forEach(({ item }) => {\n if (item._id === id) {\n (item as UDExListGroupHeaderBase).handleSelectionGroupState();\n }\n });\n }\n\n onSearch(value: string) {\n const searchValue: string = value;\n const hasSearchQuery = searchValue !== \"\";\n\n if (hasSearchQuery && !this._shouldFilterItems) {\n this.saveGroupCollapseState();\n }\n\n if (!hasSearchQuery && this._shouldFilterItems) {\n this.restoreGroupCollapseState();\n }\n\n this._shouldFilterItems = hasSearchQuery;\n this._filteredItems = this.filterItems(this.getProcessedItems(), searchValue);\n const items = this.getFlattenItemsArray(this._filteredItems);\n this._accSearchResultInfo = items.length ? `${items.length} ${this.resultReturnedText}` : this.noMatchesFoundText;\n this.fireDecoratorEvent(\"change-search\", { value: searchValue });\n }\n\n onReset() {\n this.revertSelectedItems(this.selectedItems);\n }\n\n onResetSearch() {\n this.resetSearch();\n this.fireDecoratorEvent(\"reset-search\");\n }\n\n onSubmitSearch() {\n this.fireDecoratorEvent(\"submit-search\", {\n selectedItems: this.selectedItems,\n });\n }\n\n /**\n * Reset the search value.\n * @public\n */\n resetSearch() {\n const search = this.getSearch();\n search.value = \"\";\n this._shouldFilterItems = false;\n this.restoreGroupCollapseState();\n this._filteredItems = this.filterItems(this.getProcessedItems(), \"\");\n }\n\n filterItems(items: Array<UDExProcessedItem>, str: string): Array<UDExProcessedItem> {\n const hasSearchQuery = str !== \"\";\n\n return items.filter(preparedItem => {\n const { isGroup, item } = preparedItem;\n\n if (isGroup) {\n const groupHeaderMatches = this.checkAndUpdateLabel(item, str);\n const filteredChildren = this.filterItemsForLabel(preparedItem.groupItems, str);\n\n if (groupHeaderMatches) {\n preparedItem.groupItems.forEach(child => this.checkAndUpdateLabel(child, str));\n } else {\n preparedItem.groupItems = filteredChildren;\n }\n\n if (hasSearchQuery && (groupHeaderMatches || preparedItem.groupItems.length > 0)) {\n item.collapsed = false;\n }\n\n return !hasSearchQuery || groupHeaderMatches || preparedItem.groupItems.length > 0;\n }\n\n return this.checkAndUpdateLabel(item, str);\n });\n }\n\n filterItemsForLabel(groupItems: Array<UDExListItemBase>, str: string): Array<UDExListItemBase> {\n return groupItems.filter(groupItem => this.checkAndUpdateLabel(groupItem, str));\n }\n\n checkAndUpdateLabel(item: UDExListItemBase | UDExListGroupHeaderBase, str: string): boolean {\n if (item.ratingCount) {\n return this.isIncludes(item.ratingCount, str);\n }\n\n if (!item.label) {\n console.warn(\"A label property is required for the item\");\n return false;\n }\n const cleanedLabel = cleanLabel(item.label);\n if (this.isIncludes(cleanedLabel, str)) {\n item.label = this.addSearchTermTag(cleanedLabel, str);\n return true;\n }\n\n item.label = cleanedLabel;\n return false;\n }\n\n addSearchTermTag(text: string, str: string): string {\n if (!str.length) {\n return text;\n }\n\n const regex = new RegExp(`(${str})`, \"i\");\n return text.replace(regex, \"<b>$1</b>\");\n }\n\n isIncludes(string: string, value: string): boolean {\n return string.toLowerCase().includes(value.toLowerCase());\n }\n\n revertSelectedItems(items: Array<UDExListItemBase>) {\n items.forEach((item: UDExListItemBase) => {\n if (!item.disabled) {\n item.selected = false;\n }\n });\n }\n\n syncFilteredItems() {\n const search = this.getSearch();\n if (this._shouldFilterItems) {\n this._filteredItems = this.filterItems(this.getProcessedItems(), search.value);\n } else {\n this._filteredItems = this.getProcessedItems();\n }\n }\n\n saveGroupCollapseState(): void {\n this._groupCollapseStateBeforeSearch.clear();\n\n this.items.forEach(item => {\n if (item.isGroup) {\n this._groupCollapseStateBeforeSearch.set(item._id, Boolean(item.collapsed));\n }\n });\n }\n\n restoreGroupCollapseState(): void {\n if (!this._groupCollapseStateBeforeSearch.size) {\n return;\n }\n\n this.items.forEach(item => {\n if (item.isGroup) {\n const collapsed = this._groupCollapseStateBeforeSearch.get(item._id);\n\n if (collapsed !== undefined) {\n item.collapsed = collapsed;\n }\n }\n });\n\n this._groupCollapseStateBeforeSearch.clear();\n }\n\n getSlottedItems(items: Array<UDExListItemBase | UDExListGroupHeaderBase>): Array<UDExListItemBase | UDExListGroupHeaderBase> {\n const arr: Array<UDExListItemBase | UDExListGroupHeaderBase> = [];\n items.forEach(item => {\n arr.push(item);\n if (item.isGroup) {\n arr.push(...(item as UDExListGroupHeaderBase).getItems());\n }\n });\n return arr;\n }\n\n getItemFromList(itemId:string): UDExItemFromList {\n let menuItem = null;\n\n for (let i = 0; i < this.items.length; i++) {\n const item = this.items[i];\n\n if (item.isGroup) {\n const groupItems = (item as UDExListGroupHeaderBase).getItems();\n menuItem = groupItems.find(({ _id }) => _id === itemId);\n\n if (menuItem) {\n break;\n }\n } else if (item._id === itemId) {\n menuItem = item;\n break;\n }\n }\n\n return menuItem;\n }\n\n fireSelectionChange(itemId: string) {\n this.fireDecoratorEvent(\"selection-change\", {\n selectedItems: this.selectedItems,\n item: this.getItemFromList(itemId),\n });\n }\n\n fireFirstIconClickEvent(e: CustomEvent): void {\n this._fireIconClickEvent(\"first-icon-click\", e);\n }\n\n fireSecondIconClickEvent(e: CustomEvent): void {\n this._fireIconClickEvent(\"second-icon-click\", e);\n }\n\n _dropdownScrollToTop() {\n this.getPopoverPart(UDExPopoverPart.Content)?.scrollTo({ top: 0 });\n }\n\n _dropdownScrollToSelectedItem() {\n const content = this.getPopoverPart(UDExPopoverPart.Content);\n const activeItem = this.activeItem;\n if (!content || !activeItem) { return; }\n const itemRect = activeItem.getBoundingClientRect();\n const contentRect = content.getBoundingClientRect();\n content.scrollTop += itemRect.top - contentRect.top + itemRect.height / 2 - content.clientHeight / 2;\n }\n\n _handleDropdownScroll() {\n if (this.modeMultiSelect) {\n this._dropdownScrollToTop();\n }\n if (this.modeSingleSelect) {\n this._dropdownScrollToSelectedItem();\n }\n }\n\n focusFirstItem(): void {\n const list = this.getList();\n const items = list.getKeyboardNavigationItems();\n if (!items.length) { return; }\n const firstIndex = (items[0]?.nonInteractive && !items[0]?.collapsible) ? 1 : 0;\n const firstItem = items[firstIndex];\n list.setTabIndexByIndex(items, firstIndex);\n\n if (firstItem.isGroup) {\n list.focusHeader(firstItem);\n } else {\n firstItem.focus();\n }\n }\n\n private _fireIconClickEvent(eventName: \"first-icon-click\" | \"second-icon-click\", e: CustomEvent): void {\n const item = e.detail.item as UDExListItemBase;\n const id = this.getDataTokenId(item);\n this.fireDecoratorEvent(eventName, {\n originalEvent: e.detail.originalEvent,\n item: this.getItemFromList(id),\n });\n }\n\n getFlattenItemsArray(array: Array<UDExProcessedItem>): (UDExProcessedItem | UDExListItemBase)[] {\n return array.flatMap(item => {\n if (item.isGroup) {\n return [\n item,\n ...item.groupItems.filter(groupItem => !groupItem.disabled),\n ];\n }\n return item.item.disabled ? [] : [item.item];\n });\n }\n\n getCurrentIndex(item: UDExListItem): number {\n return this.getDomListItems().indexOf(item);\n }\n\n getList(): UDExList {\n return this.shadowRoot!.querySelector<UDExList>(\"[udex-list]\")!;\n }\n\n getSearch(): UDExSearch | HTMLInputElement {\n return this.shadowRoot!.querySelector<UDExSearch>(\"[udex-search]\")! || this.shadowRoot!.querySelector<HTMLInputElement>(\".udex-text-field__search\")!;\n }\n\n getPopover(): Popover {\n return this.shadowRoot!.querySelector<Popover>(\"[ui5-popover]\")!;\n }\n\n getDomListItems(): UDExListItem[] {\n const elementList = this.shadowRoot!.querySelector(\"[udex-list]\") as HTMLElement;\n return elementList ? Array.from(elementList.querySelectorAll(\"[udex-list-item]\")) : [];\n }\n\n getDataTokenId(item: UDExListItemBase): string {\n return item.getAttribute(\"data-token-id\") as string;\n }\n\n getProcessedItems(): Array<UDExProcessedItem> {\n return this._validItems.map(item => {\n const isGroup = item.isGroup;\n const groupItems = isGroup ? (item as UDExListGroupHeaderBase).getItems() : [];\n\n if (isGroup) {\n this._setItemsModeAndControl(groupItems);\n }\n\n item.mode = this.mode;\n item.controlled = this.isControlled;\n\n return { item, groupItems, isGroup };\n });\n }\n\n getPopoverPart(part: UDExPopoverPart): HTMLElement {\n return this.getPopover().shadowRoot!.querySelector<HTMLElement>(`[part=${part}]`)!;\n }\n\n _managePopupListeners(part: UDExPopoverPart, action: \"addEventListener\" | \"removeEventListener\"): void {\n const element = this.getPopoverPart(part);\n element?.[action](\"wheel\", ((e: WheelEvent) => e.preventDefault()) as EventListener);\n }\n\n _setContentHeight(): void {\n const content = this.getPopoverPart(UDExPopoverPart.Content);\n content.style.maxHeight = this.height || \"\";\n }\n\n _setItemsModeAndControl(items: Array<UDExFilterMenuItem | UDExSelectBoxItem>) {\n items.forEach(item => {\n item.mode = this.mode;\n item.controlled = this.isControlled;\n });\n }\n\n get activeItem(): UDExListItem | undefined {\n return this.getDomListItems().find(({ selected }) => selected);\n }\n\n get _validItems(): Array<UDExListItemBase | UDExListGroupHeaderBase> {\n return this.items.filter(item => !(item instanceof HTMLElement) || \"isGroup\" in item);\n }\n\n get getNoResultText(): string {\n const hasTextProperty = this.noResultText !== undefined && this.noResultText.length > 0;\n return hasTextProperty ? this.noResultText : this.noMatchesFoundText;\n }\n\n get noMatchesFoundText(): string {\n return translate(UDExSearchableListBase, NO_MATCHES_FOUND);\n }\n\n get resultReturnedText(): string {\n return translate(UDExSearchableListBase, RESULT_RETURNED);\n }\n\n get startsText(): string {\n return translate(UDExSearchableListBase, STARS);\n }\n\n get isListEmpty(): boolean {\n return this._filteredItems.length === 0;\n }\n\n get selectedItems(): Array<UDExListItemBase> {\n const selectedItems: Array<UDExListItemBase> = this.getSlottedItems(this._validItems).filter(({ selected }) => selected);\n return selectedItems;\n }\n\n get modeMultiSelect(): boolean {\n return this.mode === UDExListMode.MultiSelect;\n }\n\n get modeSingleSelect(): boolean {\n return this.mode === UDExListMode.SingleSelect;\n }\n\n get modeRadioGroup(): boolean {\n return this.mode === UDExListMode.RadioGroup;\n }\n\n get isControlled(): boolean {\n const isGrouping = this.items.some(({ isGroup }) => isGroup);\n return this.modeMultiSelect && isGrouping;\n }\n\n get additionalClassName(): string {\n return `udex-searchable-list__header`;\n }\n\n get groupClassName(): string {\n const classHeader = `udex-searchable-list__header`;\n return this.showSearch ? `${classHeader} udex-searchable-list__header_no-margin` : classHeader;\n }\n\n get showSearch(): boolean {\n const isSearchVisible = this.showSearchInput || (this.isSearchActive && !this.modeRadioGroup);\n return !this.hideDropdownSearch && isSearchVisible;\n }\n\n get isSearchActive(): boolean {\n return this.nonGroupItems.length > SHOW_SEARCH_AFTER_COUNT;\n }\n\n get nonGroupItems(): Array<UDExListItemBase> {\n return this.getSlottedItems(this._validItems).filter(item => !item.isGroup);\n }\n\n get roleForGroupList(): string {\n return this._filteredItems.some(element => element.isGroup) ? \"group\" : \"none\";\n }\n\n get accessibleRoleForList(): string {\n return this._filteredItems.some(element => element.isGroup) ? \"group\" : this.defaultAccessibleRole;\n }\n\n get listItemRole(): string {\n if (this.accessibleRoleForList === \"list\") {\n return \"listitem\";\n }\n\n if (this.accessibleRoleForList === \"listbox\") {\n return \"option\";\n }\n\n return \"none\";\n }\n\n get hideDropdownSearch(): boolean {\n return false;\n }\n}\n\nexport default UDExSearchableListBase;\nexport type {\n UDExSelectBoxIconClickEventDetail, UDExSearchableListBaseSubmitSearchEventDetail, UDExSearchableListBaseChangeSearchEventDetail, UDExSearchableListBaseSelectionChangeEventDetail,\n};\n"]}
|
|
@@ -7,7 +7,7 @@ import UDExListItem from "./ListItem.js";
|
|
|
7
7
|
import UDExListGroupHeader from "./ListGroupHeader.js";
|
|
8
8
|
import UDExListSelectAll from "./ListSelectAll.js";
|
|
9
9
|
export default function SearchableListBaseTemplate() {
|
|
10
|
-
return (_jsxs(_Fragment, { children: [this.showSearch && (_jsxs(_Fragment, { children: [_jsx(UDExSearch, { slot: "header", mode: UDExSearchMode.Standard, class: "udex-filter-menu__search", label: this.searchPlaceholder, "label-animation-disabled": true, "non-interactive-submit-button": true, "show-submit-button": true }), _jsx("span", { "aria-live": "polite", "aria-atomic": "true", class: "hidden", children: this._accSearchResultInfo })] })), this.isListEmpty ? (_jsxs("div", { class: "udex-no-result", children: [_jsx(IllustratedMessage, { name: "NoSearchResults", design: "Dot", "title-text": " ", "subtitle-text": " " }), _jsx("span", { children: this.getNoResultText })] })) : this.busy ? (_jsx(UDExBusyIndicator, { class: "udex-busy-indicator", size: "M", delay: this.busyDelay, active: true })) : (_jsx(UDExList, { id: "udex-list", role: this.roleForGroupList, "accessible-role": this.accessibleRoleForList, class: "udex-filter-menu__list", controlled: this.isControlled, mode: this.mode, children: this._filteredItems.map((processedItem, index) => (processedItem.isGroup
|
|
10
|
+
return (_jsxs(_Fragment, { children: [this.showSearch && (_jsxs(_Fragment, { children: [_jsx(UDExSearch, { slot: "header", mode: UDExSearchMode.Standard, class: "udex-filter-menu__search", label: this.searchPlaceholder, "label-animation-disabled": true, "non-interactive-submit-button": true, "show-submit-button": true }), _jsx("span", { "aria-live": "polite", "aria-atomic": "true", class: "hidden", children: this._accSearchResultInfo })] })), this.isListEmpty ? (_jsxs("div", { class: "udex-no-result", children: [_jsx(IllustratedMessage, { name: "NoSearchResults", design: "Dot", "title-text": " ", "subtitle-text": " " }), _jsx("span", { children: this.getNoResultText })] })) : this.busy ? (_jsx(UDExBusyIndicator, { class: "udex-busy-indicator", size: "M", delay: this.busyDelay, active: true })) : (_jsx(UDExList, { id: "udex-list", role: this.roleForGroupList, "accessible-role": this.accessibleRoleForList, class: "udex-filter-menu__list", controlled: this.isControlled, mode: this.mode, type: this.type, "item-icon": this.itemIcon, children: this._filteredItems.map((processedItem, index) => (processedItem.isGroup
|
|
11
11
|
? renderGroup.call(this, processedItem, index)
|
|
12
12
|
: renderListItem(processedItem.item, index, "none", this.listItemRole, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent))) }))] }));
|
|
13
13
|
}
|
|
@@ -24,9 +24,9 @@ function renderSelectAll(processedItem, index) {
|
|
|
24
24
|
function renderGroupHeader(processedItem, index) {
|
|
25
25
|
const { item, groupItems } = processedItem;
|
|
26
26
|
const header = item;
|
|
27
|
-
return (_jsx(UDExListGroupHeader, { role: "group", "_additional-class-name": "udex-searchable-list__header", class: this.groupClassName, "non-interactive": header.nonInteractive, "data-token-id": item._id, label: item.label, "supporting-text": item.supportingText, controlled: header.controlled, collapsible: header.collapsible, collapsed: header.collapsed, _filtered: this._shouldFilterItems, disabled: item.disabled, selected: item.selected, onFirstIconClick: this.fireFirstIconClickEvent, onSecondIconClick: this.fireSecondIconClickEvent, indeterminate: header.indeterminate, children: groupItems.map((child, i) => renderListItem(child, i, "none", undefined, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent)) }, index));
|
|
27
|
+
return (_jsx(UDExListGroupHeader, { role: "group", ...(index === 0 ? { "_no-border": "" } : {}), "_additional-class-name": "udex-searchable-list__header", class: this.groupClassName, "non-interactive": header.nonInteractive, "data-token-id": item._id, label: item.label, "supporting-text": item.supportingText, controlled: header.controlled, collapsible: header.collapsible, collapsed: header.collapsed, _filtered: this._shouldFilterItems, disabled: item.disabled, selected: item.selected, onFirstIconClick: this.fireFirstIconClickEvent, onSecondIconClick: this.fireSecondIconClickEvent, indeterminate: header.indeterminate, children: groupItems.map((child, i) => renderListItem(child, i, "none", undefined, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent)) }, index));
|
|
28
28
|
}
|
|
29
29
|
function renderListItem(item, index, role, accessibleRole, onFirstIconClick, onSecondIconClick) {
|
|
30
|
-
return (_jsx(UDExListItem, { role: role, "data-token-id": item._id, controlled: item.controlled, mode: item.mode, onFirstIconClick: onFirstIconClick, onSecondIconClick: onSecondIconClick, "supporting-text": item.supportingText, "additional-text": item.additionalText, "additional-text-state": item.additionalTextState, divider: item.divider, disabled: item.disabled, selected: item.selected, rating: item.rating, "total-count": item.totalCount, "rating-count": item.ratingCount, "rating-max": item.ratingMax, label: item.label, ...(accessibleRole ? { "accessible-role": accessibleRole } : {}), ...(item.innerHTML ? { dangerouslySetInnerHTML: { __html: item.innerHTML } } : {}) }, index));
|
|
30
|
+
return (_jsx(UDExListItem, { role: role, "data-token-id": item._id, controlled: item.controlled, mode: item.mode, onFirstIconClick: onFirstIconClick, onSecondIconClick: onSecondIconClick, "supporting-text": item.supportingText, "additional-text": item.additionalText, "additional-text-state": item.additionalTextState, divider: item.divider, disabled: item.disabled, selected: item.selected, rating: item.rating, "total-count": item.totalCount, "rating-count": item.ratingCount, "rating-max": item.ratingMax, label: item.label, image: item.image, "image-alt": item.imageAlt, "image-badge-state": item.imageBadgeState, "image-shape": item.imageShape, "image-size": item.imageSize, flag: item.flag, "flag-position": item.flagPosition, size: item.size, type: item.type, ...(accessibleRole ? { "accessible-role": accessibleRole } : {}), ...(item.innerHTML ? { dangerouslySetInnerHTML: { __html: item.innerHTML } } : {}) }, index));
|
|
31
31
|
}
|
|
32
32
|
//# sourceMappingURL=SearchableListBaseTemplate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchableListBaseTemplate.js","sourceRoot":"","sources":["../src/SearchableListBaseTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type UDExSearchableListBase from \"./SearchableListBase.js\";\nimport type { UDExProcessedItem } from \"./types/SearchableListBase.js\";\nimport type UDExListGroupHeaderBase from \"./ListGroupHeaderBase.js\";\nimport UDExSearch, { Mode as UDExSearchMode } from \"./Search.js\";\nimport IllustratedMessage from \"@ui5/webcomponents-fiori/dist/IllustratedMessage.js\";\nimport UDExBusyIndicator from \"./BusyIndicator.js\";\nimport UDExList from \"./List.js\";\nimport UDExListItem from \"./ListItem.js\";\nimport UDExListGroupHeader from \"./ListGroupHeader.js\";\nimport UDExListSelectAll from \"./ListSelectAll.js\";\nimport type { AriaRole } from \"@ui5/webcomponents-base/dist/types.js\";\n\nexport default function SearchableListBaseTemplate(this: UDExSearchableListBase) {\n return (\n <>\n {this.showSearch && (\n <>\n <UDExSearch\n slot=\"header\"\n mode={UDExSearchMode.Standard}\n class=\"udex-filter-menu__search\"\n label={this.searchPlaceholder}\n label-animation-disabled\n non-interactive-submit-button\n show-submit-button>\n </UDExSearch>\n <span aria-live=\"polite\" aria-atomic=\"true\" class=\"hidden\">{this._accSearchResultInfo}</span>\n </>\n )}\n {this.isListEmpty ? (\n <div class=\"udex-no-result\">\n <IllustratedMessage\n name=\"NoSearchResults\"\n design=\"Dot\"\n title-text=\" \"\n subtitle-text=\" \">\n </IllustratedMessage>\n <span>{this.getNoResultText}</span>\n </div>\n ) : this.busy ? (\n <UDExBusyIndicator\n class=\"udex-busy-indicator\"\n size=\"M\"\n delay={this.busyDelay}\n active>\n </UDExBusyIndicator>\n ) : (\n <UDExList\n id=\"udex-list\"\n role={this.roleForGroupList as AriaRole}\n accessible-role={this.accessibleRoleForList}\n class=\"udex-filter-menu__list\"\n controlled={this.isControlled}\n mode={this.mode}>\n {this._filteredItems.map((processedItem, index) => (\n processedItem.isGroup\n ? renderGroup.call(this, processedItem, index)\n : renderListItem(processedItem.item as UDExListItem, index, \"none\", this.listItemRole, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent)\n ))}\n </UDExList>\n )}\n </>\n );\n}\n\nfunction renderGroup(this: UDExSearchableListBase, processedItem: UDExProcessedItem, index: number) {\n return (processedItem.item as UDExListGroupHeaderBase).isSelectAllHeader\n ? renderSelectAll.call(this, processedItem, index)\n : renderGroupHeader.call(this, processedItem, index);\n}\n\nfunction renderSelectAll(this: UDExSearchableListBase, processedItem: UDExProcessedItem, index: number) {\n const { item, groupItems } = processedItem;\n const header = item as UDExListGroupHeaderBase;\n return (\n <UDExListSelectAll\n key={index}\n _additional-class-name={this.additionalClassName}\n data-token-id={item._id}\n label={item.label}\n controlled={header.controlled}\n supporting-text={item.supportingText}\n disabled={item.disabled}\n selected={item.selected}\n indeterminate={header.indeterminate}\n onFirstIconClick={this.fireFirstIconClickEvent}\n onSecondIconClick={this.fireSecondIconClickEvent}>\n {groupItems.map((child, i) =>\n renderListItem(child as UDExListItem, i, this.listItemRole, undefined, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent)\n )}\n </UDExListSelectAll>\n );\n}\n\nfunction renderGroupHeader(this: UDExSearchableListBase, processedItem: UDExProcessedItem, index: number) {\n const { item, groupItems } = processedItem;\n const header = item as UDExListGroupHeaderBase;\n return (\n <UDExListGroupHeader\n key={index}\n role=\"group\"\n _additional-class-name=\"udex-searchable-list__header\"\n class={this.groupClassName}\n non-interactive={header.nonInteractive}\n data-token-id={item._id}\n label={item.label}\n supporting-text={item.supportingText}\n controlled={header.controlled}\n collapsible={header.collapsible}\n collapsed={header.collapsed}\n _filtered={this._shouldFilterItems}\n disabled={item.disabled}\n selected={item.selected}\n onFirstIconClick={this.fireFirstIconClickEvent}\n onSecondIconClick={this.fireSecondIconClickEvent}\n indeterminate={header.indeterminate}>\n {groupItems.map((child, i) =>\n renderListItem(child as UDExListItem, i, \"none\", undefined, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent)\n )}\n </UDExListGroupHeader>\n );\n}\n\nfunction renderListItem(\n item: UDExListItem,\n index: number,\n role: string,\n accessibleRole: string | undefined,\n onFirstIconClick: (e: CustomEvent) => void,\n onSecondIconClick: (e: CustomEvent) => void,\n) {\n return (\n <UDExListItem\n key={index}\n role={role as AriaRole}\n data-token-id={item._id}\n controlled={item.controlled}\n mode={item.mode}\n onFirstIconClick={onFirstIconClick}\n onSecondIconClick={onSecondIconClick}\n supporting-text={item.supportingText}\n additional-text={item.additionalText}\n additional-text-state={item.additionalTextState}\n divider={item.divider}\n disabled={item.disabled}\n selected={item.selected}\n rating={item.rating}\n total-count={item.totalCount}\n rating-count={item.ratingCount}\n rating-max={item.ratingMax}\n label={item.label}\n {...(accessibleRole ? { \"accessible-role\": accessibleRole } : {})}\n {...((item as any).innerHTML ? { dangerouslySetInnerHTML: { __html: (item as any).innerHTML } } : {})}>\n </UDExListItem>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SearchableListBaseTemplate.js","sourceRoot":"","sources":["../src/SearchableListBaseTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type UDExSearchableListBase from \"./SearchableListBase.js\";\nimport type { UDExProcessedItem } from \"./types/SearchableListBase.js\";\nimport type UDExListGroupHeaderBase from \"./ListGroupHeaderBase.js\";\nimport UDExSearch, { Mode as UDExSearchMode } from \"./Search.js\";\nimport IllustratedMessage from \"@ui5/webcomponents-fiori/dist/IllustratedMessage.js\";\nimport UDExBusyIndicator from \"./BusyIndicator.js\";\nimport UDExList from \"./List.js\";\nimport UDExListItem from \"./ListItem.js\";\nimport UDExListGroupHeader from \"./ListGroupHeader.js\";\nimport UDExListSelectAll from \"./ListSelectAll.js\";\nimport type { AriaRole } from \"@ui5/webcomponents-base/dist/types.js\";\n\nexport default function SearchableListBaseTemplate(this: UDExSearchableListBase) {\n return (\n <>\n {this.showSearch && (\n <>\n <UDExSearch\n slot=\"header\"\n mode={UDExSearchMode.Standard}\n class=\"udex-filter-menu__search\"\n label={this.searchPlaceholder}\n label-animation-disabled\n non-interactive-submit-button\n show-submit-button>\n </UDExSearch>\n <span aria-live=\"polite\" aria-atomic=\"true\" class=\"hidden\">{this._accSearchResultInfo}</span>\n </>\n )}\n {this.isListEmpty ? (\n <div class=\"udex-no-result\">\n <IllustratedMessage\n name=\"NoSearchResults\"\n design=\"Dot\"\n title-text=\" \"\n subtitle-text=\" \">\n </IllustratedMessage>\n <span>{this.getNoResultText}</span>\n </div>\n ) : this.busy ? (\n <UDExBusyIndicator\n class=\"udex-busy-indicator\"\n size=\"M\"\n delay={this.busyDelay}\n active>\n </UDExBusyIndicator>\n ) : (\n <UDExList\n id=\"udex-list\"\n role={this.roleForGroupList as AriaRole}\n accessible-role={this.accessibleRoleForList}\n class=\"udex-filter-menu__list\"\n controlled={this.isControlled}\n mode={this.mode}\n type={this.type}\n item-icon={this.itemIcon}>\n {this._filteredItems.map((processedItem, index) => (\n processedItem.isGroup\n ? renderGroup.call(this, processedItem, index)\n : renderListItem(processedItem.item as UDExListItem, index, \"none\", this.listItemRole, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent)\n ))}\n </UDExList>\n )}\n </>\n );\n}\n\nfunction renderGroup(this: UDExSearchableListBase, processedItem: UDExProcessedItem, index: number) {\n return (processedItem.item as UDExListGroupHeaderBase).isSelectAllHeader\n ? renderSelectAll.call(this, processedItem, index)\n : renderGroupHeader.call(this, processedItem, index);\n}\n\nfunction renderSelectAll(this: UDExSearchableListBase, processedItem: UDExProcessedItem, index: number) {\n const { item, groupItems } = processedItem;\n const header = item as UDExListGroupHeaderBase;\n return (\n <UDExListSelectAll\n key={index}\n _additional-class-name={this.additionalClassName}\n data-token-id={item._id}\n label={item.label}\n controlled={header.controlled}\n supporting-text={item.supportingText}\n disabled={item.disabled}\n selected={item.selected}\n indeterminate={header.indeterminate}\n onFirstIconClick={this.fireFirstIconClickEvent}\n onSecondIconClick={this.fireSecondIconClickEvent}>\n {groupItems.map((child, i) =>\n renderListItem(child as UDExListItem, i, this.listItemRole, undefined, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent)\n )}\n </UDExListSelectAll>\n );\n}\n\nfunction renderGroupHeader(this: UDExSearchableListBase, processedItem: UDExProcessedItem, index: number) {\n const { item, groupItems } = processedItem;\n const header = item as UDExListGroupHeaderBase;\n return (\n <UDExListGroupHeader\n key={index}\n role=\"group\"\n {...(index === 0 ? { \"_no-border\": \"\" } : {})}\n _additional-class-name=\"udex-searchable-list__header\"\n class={this.groupClassName}\n non-interactive={header.nonInteractive}\n data-token-id={item._id}\n label={item.label}\n supporting-text={item.supportingText}\n controlled={header.controlled}\n collapsible={header.collapsible}\n collapsed={header.collapsed}\n _filtered={this._shouldFilterItems}\n disabled={item.disabled}\n selected={item.selected}\n onFirstIconClick={this.fireFirstIconClickEvent}\n onSecondIconClick={this.fireSecondIconClickEvent}\n indeterminate={header.indeterminate}>\n {groupItems.map((child, i) =>\n renderListItem(child as UDExListItem, i, \"none\", undefined, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent)\n )}\n </UDExListGroupHeader>\n );\n}\n\nfunction renderListItem(\n item: UDExListItem,\n index: number,\n role: string,\n accessibleRole: string | undefined,\n onFirstIconClick: (e: CustomEvent) => void,\n onSecondIconClick: (e: CustomEvent) => void,\n) {\n return (\n <UDExListItem\n key={index}\n role={role as AriaRole}\n data-token-id={item._id}\n controlled={item.controlled}\n mode={item.mode}\n onFirstIconClick={onFirstIconClick}\n onSecondIconClick={onSecondIconClick}\n supporting-text={item.supportingText}\n additional-text={item.additionalText}\n additional-text-state={item.additionalTextState}\n divider={item.divider}\n disabled={item.disabled}\n selected={item.selected}\n rating={item.rating}\n total-count={item.totalCount}\n rating-count={item.ratingCount}\n rating-max={item.ratingMax}\n label={item.label}\n image={item.image}\n image-alt={item.imageAlt}\n image-badge-state={item.imageBadgeState}\n image-shape={item.imageShape}\n image-size={item.imageSize}\n flag={item.flag}\n flag-position={item.flagPosition}\n size={item.size}\n type={item.type}\n {...(accessibleRole ? { \"accessible-role\": accessibleRole } : {})}\n {...((item as any).innerHTML ? { dangerouslySetInnerHTML: { __html: (item as any).innerHTML } } : {})}>\n </UDExListItem>\n );\n}\n"]}
|
package/dist/SelectBase.d.ts
CHANGED
|
@@ -160,11 +160,13 @@ declare class UDExSelectBase extends UDExSearchableListBase {
|
|
|
160
160
|
handleEscKeyPress(e: KeyboardEvent): void;
|
|
161
161
|
handleItemSelection(e: CustomEvent): void;
|
|
162
162
|
onKeyDownSearch(e: KeyboardEvent): void;
|
|
163
|
-
focusFirstItem(items: UDExListItemBase[]): void;
|
|
164
163
|
handleSearchChange(e: InputEvent): void;
|
|
165
164
|
handleDirection(): void;
|
|
166
165
|
handleDropdownBeforeClose(): void;
|
|
167
166
|
dropdownBeforeOpen(): void;
|
|
167
|
+
handleDropdownOpen(): void;
|
|
168
|
+
fireEventDropdownBeforeOClose(): void;
|
|
169
|
+
fireEventDropdownBeforeOpen(): void;
|
|
168
170
|
fireEventDropdownOpen(): void;
|
|
169
171
|
fireEventDropdownClose(): void;
|
|
170
172
|
handleButtonClick(): void;
|
package/dist/SelectBase.js
CHANGED
|
@@ -275,13 +275,16 @@ class UDExSelectBase extends UDExSearchableListBase {
|
|
|
275
275
|
if (!hasItems) {
|
|
276
276
|
return;
|
|
277
277
|
}
|
|
278
|
+
const firstIndex = (items[0]?.nonInteractive && !items[0]?.collapsible) ? 1 : 0;
|
|
279
|
+
const firstItem = items[firstIndex];
|
|
278
280
|
if (isEscAndPopoverOpened) {
|
|
279
281
|
return this.closeDropdown();
|
|
280
282
|
}
|
|
281
283
|
if (isDownAndPopoverClosed) {
|
|
282
284
|
e.preventDefault();
|
|
283
285
|
this.openDropdown();
|
|
284
|
-
this.focusFirstItem(
|
|
286
|
+
this.focusFirstItem();
|
|
287
|
+
this._selectedOption = firstItem.label;
|
|
285
288
|
if (this.showImageFlags) {
|
|
286
289
|
this.handleImagePosition(items, 0);
|
|
287
290
|
}
|
|
@@ -292,19 +295,8 @@ class UDExSelectBase extends UDExSearchableListBase {
|
|
|
292
295
|
if (this.showImageFlags) {
|
|
293
296
|
this.handleImagePosition(items, 0);
|
|
294
297
|
}
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
}
|
|
298
|
-
focusFirstItem(items) {
|
|
299
|
-
const firstIndex = (items[0]?.nonInteractive && !items[0]?.collapsible) ? 1 : 0;
|
|
300
|
-
const firstItem = items[firstIndex];
|
|
301
|
-
this._list.setTabIndexByIndex(items, firstIndex);
|
|
302
|
-
this._selectedOption = firstItem.label;
|
|
303
|
-
if (firstItem.isGroup) {
|
|
304
|
-
this._list.focusHeader(firstItem);
|
|
305
|
-
}
|
|
306
|
-
else {
|
|
307
|
-
firstItem.focus();
|
|
298
|
+
this._selectedOption = firstItem.label;
|
|
299
|
+
return this.focusFirstItem();
|
|
308
300
|
}
|
|
309
301
|
}
|
|
310
302
|
handleSearchChange(e) {
|
|
@@ -323,12 +315,25 @@ class UDExSelectBase extends UDExSearchableListBase {
|
|
|
323
315
|
this._direction = directionStyles || "ltr";
|
|
324
316
|
}
|
|
325
317
|
handleDropdownBeforeClose() {
|
|
326
|
-
this.
|
|
318
|
+
this._handleDropdownScroll();
|
|
319
|
+
this.fireEventDropdownBeforeOClose();
|
|
327
320
|
}
|
|
328
321
|
dropdownBeforeOpen() {
|
|
329
322
|
if (this.height) {
|
|
330
323
|
this._setContentHeight();
|
|
331
324
|
}
|
|
325
|
+
this.fireEventDropdownBeforeOpen();
|
|
326
|
+
}
|
|
327
|
+
handleDropdownOpen() {
|
|
328
|
+
if (!this.activeItem) {
|
|
329
|
+
this._dropdownScrollToTop();
|
|
330
|
+
}
|
|
331
|
+
this.fireEventDropdownOpen();
|
|
332
|
+
}
|
|
333
|
+
fireEventDropdownBeforeOClose() {
|
|
334
|
+
this.fireDecoratorEvent("before-close");
|
|
335
|
+
}
|
|
336
|
+
fireEventDropdownBeforeOpen() {
|
|
332
337
|
this.fireDecoratorEvent("before-open");
|
|
333
338
|
}
|
|
334
339
|
fireEventDropdownOpen() {
|