@sapudex/web-components 2.62.0 → 2.63.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/MastheadCountrySelector.cy.tsx +177 -0
- package/cypress/specs/SideNavigation.cy.tsx +49 -0
- package/cypress/specs/SideNavigationMobile.cy.tsx +69 -0
- package/cypress/support/component-imports.instrumented.ts +4 -0
- package/cypress/support/component-imports.src.ts +4 -0
- package/dist/AccordionItemTemplate.js +1 -1
- package/dist/AccordionItemTemplate.js.map +1 -1
- package/dist/MastheadCountrySelector.d.ts +14 -0
- package/dist/MastheadCountrySelector.js +6 -0
- package/dist/MastheadCountrySelector.js.map +1 -1
- package/dist/MastheadCountrySelectorTemplate.js +1 -1
- package/dist/MastheadCountrySelectorTemplate.js.map +1 -1
- package/dist/MessageStrip.d.ts +1 -0
- package/dist/MessageStrip.js +6 -0
- package/dist/MessageStrip.js.map +1 -1
- package/dist/SearchTemplate.js +1 -1
- package/dist/SearchTemplate.js.map +1 -1
- package/dist/SearchableListBaseTemplate.js +1 -1
- package/dist/SearchableListBaseTemplate.js.map +1 -1
- package/dist/SideNavigation.d.ts +9 -0
- package/dist/SideNavigation.js +9 -0
- package/dist/SideNavigation.js.map +1 -1
- package/dist/SideNavigationMobile.d.ts +19 -0
- package/dist/SideNavigationMobile.js +32 -1
- package/dist/SideNavigationMobile.js.map +1 -1
- package/dist/SideNavigationMobileTemplate.js +1 -2
- package/dist/SideNavigationMobileTemplate.js.map +1 -1
- package/dist/SideNavigationSubItem.d.ts +4 -1
- package/dist/SideNavigationSubItem.js +20 -9
- package/dist/SideNavigationSubItem.js.map +1 -1
- package/dist/SideNavigationSubItemTemplate.js +1 -1
- package/dist/SideNavigationSubItemTemplate.js.map +1 -1
- package/dist/SideNavigationTemplate.d.ts +2 -0
- package/dist/SideNavigationTemplate.js +6 -0
- package/dist/SideNavigationTemplate.js.map +1 -0
- package/dist/assets/{InputSuggestions-BPKrPqPb.js → InputSuggestions-6S5UueXO.js} +2 -2
- package/dist/assets/{ListItemStandardExpandableTextTemplate-DkdOcCxC.js → ListItemStandardExpandableTextTemplate-OidrwM_d.js} +2 -2
- package/dist/assets/{bundle.esm-17Yt5gDr.js → bundle.esm-DaFsZANO.js} +237 -238
- package/dist/assets/messagebundle_ar-22dGHdkl.js +1 -0
- package/dist/assets/messagebundle_ar-DbxuUDUB.js +1 -0
- package/dist/assets/messagebundle_bg-CaaOz5e4.js +1 -0
- package/dist/assets/messagebundle_bg-QOUvq6-8.js +1 -0
- package/dist/assets/messagebundle_ca-D-8eSg1w.js +1 -0
- package/dist/assets/messagebundle_ca-jsUpFfNJ.js +1 -0
- package/dist/assets/messagebundle_cnr-BdSolJRo.js +1 -0
- package/dist/assets/messagebundle_cnr-rtr9Ox4O.js +1 -0
- package/dist/assets/messagebundle_cs-CbM7zJ23.js +1 -0
- package/dist/assets/messagebundle_cy-D5E7e9o1.js +1 -0
- package/dist/assets/messagebundle_cy-hajQLyoj.js +1 -0
- package/dist/assets/messagebundle_da-C3PD-hWQ.js +1 -0
- package/dist/assets/messagebundle_da-DFzvQYW2.js +1 -0
- package/dist/assets/messagebundle_de-C106E9io.js +1 -0
- package/dist/assets/messagebundle_de-C36z5lgV.js +1 -0
- package/dist/assets/messagebundle_el-BLHqa1_J.js +1 -0
- package/dist/assets/messagebundle_el-k8W9FVQI.js +1 -0
- package/dist/assets/messagebundle_en-ClXds397.js +1 -0
- package/dist/assets/messagebundle_en-DgPtAFO8.js +1 -0
- package/dist/assets/messagebundle_en_GB-DxulA9qE.js +1 -0
- package/dist/assets/messagebundle_en_GB-LxAIZigF.js +1 -0
- package/dist/assets/{messagebundle_en_US_sappsd-Se8GgI58.js → messagebundle_en_US_sappsd-TZz2y4pV.js} +1 -1
- package/dist/assets/messagebundle_en_US_sappsd-oE0A2op2.js +1 -0
- package/dist/assets/messagebundle_en_US_saprigi-C6FsbpF8.js +1 -0
- package/dist/assets/{messagebundle_en_US_saprigi-CbfvaHUL.js → messagebundle_en_US_saprigi-CkPhuOLS.js} +1 -1
- package/dist/assets/messagebundle_en_US_saptrc-CFSYKuS7.js +1 -0
- package/dist/assets/messagebundle_en_US_saptrc-CNZe1wPP.js +1 -0
- package/dist/assets/messagebundle_es-C3ijAvKG.js +1 -0
- package/dist/assets/messagebundle_es-wi4P-8Bo.js +1 -0
- package/dist/assets/messagebundle_es_MX-JEoOD2AD.js +1 -0
- package/dist/assets/messagebundle_es_MX-qDQ65ei9.js +1 -0
- package/dist/assets/messagebundle_et-C3wgDmm9.js +1 -0
- package/dist/assets/messagebundle_et-D4r4iubd.js +1 -0
- package/dist/assets/messagebundle_fi-BjyQcbRb.js +1 -0
- package/dist/assets/messagebundle_fi-CivJKH9k.js +1 -0
- package/dist/assets/messagebundle_fr-BxDSBfD5.js +1 -0
- package/dist/assets/messagebundle_fr-JN2VAe-b.js +1 -0
- package/dist/assets/messagebundle_fr_CA-FkrcsWH5.js +1 -0
- package/dist/assets/messagebundle_fr_CA-phd0XOeR.js +1 -0
- package/dist/assets/messagebundle_hi-B_pehoTp.js +1 -0
- package/dist/assets/messagebundle_hi-CVOoC3dA.js +1 -0
- package/dist/assets/messagebundle_hr-BYS-ya62.js +1 -0
- package/dist/assets/messagebundle_hr-DHuCJjK8.js +1 -0
- package/dist/assets/messagebundle_hu-Crn0Y1hl.js +1 -0
- package/dist/assets/messagebundle_hu-DJL3QHT4.js +1 -0
- package/dist/assets/messagebundle_id-BJEG-7Up.js +1 -0
- package/dist/assets/messagebundle_id-CgbG2IVb.js +1 -0
- package/dist/assets/messagebundle_it-B-E3gO1k.js +1 -0
- package/dist/assets/messagebundle_it-DHwy0JuE.js +1 -0
- package/dist/assets/messagebundle_iw-BFfL9nZy.js +1 -0
- package/dist/assets/messagebundle_iw-BgyHu_0a.js +1 -0
- package/dist/assets/messagebundle_ja-BDNEwBMO.js +1 -0
- package/dist/assets/messagebundle_ja-eyoqeb4r.js +1 -0
- package/dist/assets/messagebundle_kk-BA_1qhYv.js +1 -0
- package/dist/assets/messagebundle_kk-CTAXqbPN.js +1 -0
- package/dist/assets/messagebundle_ko-C1tsjQMn.js +1 -0
- package/dist/assets/messagebundle_ko-CkiNi7iV.js +1 -0
- package/dist/assets/messagebundle_lt-Dp0c8r7p.js +1 -0
- package/dist/assets/{messagebundle_lt-BGK5mpcm.js → messagebundle_lt-bNum-ekg.js} +1 -1
- package/dist/assets/messagebundle_lv-B9UWTGX9.js +1 -0
- package/dist/assets/messagebundle_lv-D02PBhtR.js +1 -0
- package/dist/assets/messagebundle_mk--Xt_Ciey.js +1 -0
- package/dist/assets/messagebundle_mk-D6s2Tr95.js +1 -0
- package/dist/assets/messagebundle_ms-BAqsvtp5.js +1 -0
- package/dist/assets/messagebundle_ms-BobJaFPp.js +1 -0
- package/dist/assets/messagebundle_nl-BJCykHj1.js +1 -0
- package/dist/assets/messagebundle_nl-Dj7LaMyb.js +1 -0
- package/dist/assets/messagebundle_no-CR_uQXUz.js +1 -0
- package/dist/assets/messagebundle_no-CnwJbEW8.js +1 -0
- package/dist/assets/messagebundle_pl-D6FQ-6EC.js +1 -0
- package/dist/assets/messagebundle_pl-eJC2NE6N.js +1 -0
- package/dist/assets/messagebundle_pt-CbdPbTKR.js +1 -0
- package/dist/assets/messagebundle_pt-n8LcOyWG.js +1 -0
- package/dist/assets/messagebundle_pt_PT-B17ziKL9.js +1 -0
- package/dist/assets/messagebundle_pt_PT-BVpS4lrC.js +1 -0
- package/dist/assets/messagebundle_ro-C0jrNva4.js +1 -0
- package/dist/assets/messagebundle_ro-ixITTbJt.js +1 -0
- package/dist/assets/messagebundle_ru-Bh6RMNe2.js +1 -0
- package/dist/assets/messagebundle_ru-Dbxms1Xm.js +1 -0
- package/dist/assets/messagebundle_sh-CMDXUWge.js +1 -0
- package/dist/assets/messagebundle_sh-Cb-sVI_0.js +1 -0
- package/dist/assets/messagebundle_sk-DZkkgRSd.js +1 -0
- package/dist/assets/{messagebundle_sk-CXOF1RuF.js → messagebundle_sk-Dqb_XwMg.js} +1 -1
- package/dist/assets/messagebundle_sl-DIl-2Lb1.js +1 -0
- package/dist/assets/messagebundle_sl-Dx6UWXni.js +1 -0
- package/dist/assets/messagebundle_sr-DstlyDjZ.js +1 -0
- package/dist/assets/messagebundle_sr-yQWBd9jR.js +1 -0
- package/dist/assets/messagebundle_sv-Dr2hDyEO.js +1 -0
- package/dist/assets/messagebundle_sv-iHKWgaRg.js +1 -0
- package/dist/assets/messagebundle_th-DbWfCb5y.js +1 -0
- package/dist/assets/messagebundle_th-yLU2SE6L.js +1 -0
- package/dist/assets/messagebundle_tr-CIoGg6uY.js +1 -0
- package/dist/assets/messagebundle_tr-lAQvvdUi.js +1 -0
- package/dist/assets/messagebundle_uk-DIBItAKu.js +1 -0
- package/dist/assets/messagebundle_uk-j_sqGY4D.js +1 -0
- package/dist/assets/messagebundle_vi-C40OW2eC.js +1 -0
- package/dist/assets/messagebundle_vi-xWTpoKPI.js +1 -0
- package/dist/assets/messagebundle_zh_CN-CmeOlVfl.js +1 -0
- package/dist/assets/messagebundle_zh_CN-U8Z0kuQb.js +1 -0
- package/dist/assets/messagebundle_zh_TW-B_1_vc8O.js +1 -0
- package/dist/assets/messagebundle_zh_TW-hwHN6ElU.js +1 -0
- package/dist/assets/{parameters-bundle.css-Cv89y49I.js → parameters-bundle.css-2ZsUlBNO.js} +299 -151
- package/dist/assets/parameters-bundle.css-31Bw5XOG.js +2 -0
- package/dist/assets/parameters-bundle.css-BJp4ZvSQ.js +2 -0
- package/dist/assets/{parameters-bundle.css-vNsSPPU5.js → parameters-bundle.css-BKlkVfkE.js} +742 -494
- package/dist/assets/parameters-bundle.css-BMOU75LU.js +2 -0
- package/dist/assets/parameters-bundle.css-BZF5sWSb.js +1 -0
- package/dist/assets/{parameters-bundle.css-DmEWEk0u.js → parameters-bundle.css-Bf1GOISM.js} +786 -513
- package/dist/assets/parameters-bundle.css-BpWLGMCI.js +2 -0
- package/dist/assets/parameters-bundle.css-BsoxE2UF.js +2 -0
- package/dist/assets/parameters-bundle.css-CAhrGUcA.js +2 -0
- package/dist/assets/{parameters-bundle.css-C3eDVARm.js → parameters-bundle.css-CDJt5bvS.js} +176 -89
- package/dist/assets/parameters-bundle.css-CIr3BQBD.js +2 -0
- package/dist/assets/parameters-bundle.css-CVUmNgQM.js +2 -0
- package/dist/assets/parameters-bundle.css-C_pu3Dce.js +2 -0
- package/dist/assets/parameters-bundle.css-ChtqHIDX.js +2 -0
- package/dist/assets/parameters-bundle.css-CvaMQVtq.js +1 -0
- package/dist/assets/parameters-bundle.css-Cwz89dEH.js +2 -0
- package/dist/assets/parameters-bundle.css-CyCovTbK.js +2 -0
- package/dist/assets/parameters-bundle.css-Cyf5K2-Q.js +2 -0
- package/dist/assets/parameters-bundle.css-DdDLbfHl.js +2 -0
- package/dist/assets/{parameters-bundle.css-C5V2Zp_F.js → parameters-bundle.css-Dfz9lgd6.js} +131 -95
- package/dist/assets/{parameters-bundle.css-K-MvKimD.js → parameters-bundle.css-DjW0INFD.js} +139 -88
- package/dist/assets/parameters-bundle.css-JyFiyY-_.js +2 -0
- package/dist/assets/parameters-bundle.css-tf-z7jv9.js +2 -0
- package/dist/css/themes/MastheadShell.css +1 -1
- package/dist/css/themes/SideNavigation.css +1 -1
- package/dist/css/themes/SideNavigationMobile.css +1 -1
- package/dist/css/themes/Slider.css +1 -1
- package/dist/css/themes/sap_fiori_3/parameters-bundle.css +0 -1
- package/dist/css/themes/sap_glow/parameters-bundle.css +0 -1
- package/dist/css/themes/sap_horizon/parameters-bundle.css +0 -1
- package/dist/custom-elements-internal.json +1436 -0
- package/dist/custom-elements.json +1490 -21
- package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_glow/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
- package/dist/generated/themes/MastheadShell.css.d.ts +1 -1
- package/dist/generated/themes/MastheadShell.css.js +1 -1
- package/dist/generated/themes/MastheadShell.css.js.map +1 -1
- package/dist/generated/themes/SideNavigation.css.d.ts +1 -1
- package/dist/generated/themes/SideNavigation.css.js +1 -1
- package/dist/generated/themes/SideNavigation.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationMobile.css.d.ts +1 -1
- package/dist/generated/themes/SideNavigationMobile.css.js +1 -1
- package/dist/generated/themes/SideNavigationMobile.css.js.map +1 -1
- package/dist/generated/themes/Slider.css.d.ts +1 -1
- package/dist/generated/themes/Slider.css.js +1 -1
- package/dist/generated/themes/Slider.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_glow/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_glow/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_glow/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
- package/dist/vscode.html-custom-data.json +12 -2
- package/dist/web-types.json +33 -3
- package/package.json +8 -8
- package/src/AccordionItemTemplate.tsx +1 -0
- package/src/MastheadCountrySelector.ts +18 -0
- package/src/MastheadCountrySelectorTemplate.tsx +2 -0
- package/src/MessageStrip.ts +7 -0
- package/src/SearchTemplate.tsx +3 -1
- package/src/SearchableListBaseTemplate.tsx +3 -3
- package/src/SideNavigation.ts +17 -0
- package/src/SideNavigationMobile.ts +52 -0
- package/src/SideNavigationMobileTemplate.tsx +3 -5
- package/src/SideNavigationSubItem.ts +17 -5
- package/src/SideNavigationSubItemTemplate.tsx +3 -1
- package/src/SideNavigationTemplate.tsx +17 -0
- package/src/generated/themes/MastheadShell.css.ts +1 -1
- package/src/generated/themes/SideNavigation.css.ts +1 -1
- package/src/generated/themes/SideNavigationMobile.css.ts +1 -1
- package/src/generated/themes/Slider.css.ts +1 -1
- package/src/generated/themes/sap_fiori_3/parameters-bundle.css.ts +1 -1
- package/src/generated/themes/sap_glow/parameters-bundle.css.ts +1 -1
- package/src/generated/themes/sap_horizon/parameters-bundle.css.ts +1 -1
- package/src/themes/MastheadShell.css +13 -1
- package/src/themes/SideNavigation.css +43 -8
- package/src/themes/SideNavigationMobile.css +1 -0
- package/src/themes/Slider.css +25 -11
- package/dist/assets/messagebundle_ar-C3EXytoC.js +0 -1
- package/dist/assets/messagebundle_ar-DmZrrjEF.js +0 -1
- package/dist/assets/messagebundle_bg-BaZ97Q_b.js +0 -1
- package/dist/assets/messagebundle_bg-CgU7GPvK.js +0 -1
- package/dist/assets/messagebundle_ca-BwjVUbUA.js +0 -1
- package/dist/assets/messagebundle_ca-YiUGbO_8.js +0 -1
- package/dist/assets/messagebundle_cnr-CN2hPZIN.js +0 -1
- package/dist/assets/messagebundle_cnr-zdEdPJvc.js +0 -1
- package/dist/assets/messagebundle_cs-CGbnEjza.js +0 -1
- package/dist/assets/messagebundle_cy-BF0YH9Iz.js +0 -1
- package/dist/assets/messagebundle_cy-CUiGsjO6.js +0 -1
- package/dist/assets/messagebundle_da-CWKLQJiq.js +0 -1
- package/dist/assets/messagebundle_da-bTkr4pUc.js +0 -1
- package/dist/assets/messagebundle_de-BmnClk4G.js +0 -1
- package/dist/assets/messagebundle_de-vB6qhgvG.js +0 -1
- package/dist/assets/messagebundle_el-DKdItEgW.js +0 -1
- package/dist/assets/messagebundle_el-Gv1Ly8aj.js +0 -1
- package/dist/assets/messagebundle_en-DbKo-Dkl.js +0 -1
- package/dist/assets/messagebundle_en-DcV886MF.js +0 -1
- package/dist/assets/messagebundle_en_GB-Be93_Z4H.js +0 -1
- package/dist/assets/messagebundle_en_GB-CFh7e8hQ.js +0 -1
- package/dist/assets/messagebundle_en_US_sappsd-HCarC-Yr.js +0 -1
- package/dist/assets/messagebundle_en_US_saprigi-CCHFk7YZ.js +0 -1
- package/dist/assets/messagebundle_en_US_saptrc-B8AIRzlo.js +0 -1
- package/dist/assets/messagebundle_en_US_saptrc-yJ3PcdEm.js +0 -1
- package/dist/assets/messagebundle_es-BH-a8BxO.js +0 -1
- package/dist/assets/messagebundle_es-Dt93wbGV.js +0 -1
- package/dist/assets/messagebundle_es_MX-BedlYlF3.js +0 -1
- package/dist/assets/messagebundle_es_MX-COPqooo9.js +0 -1
- package/dist/assets/messagebundle_et-BsYgDw46.js +0 -1
- package/dist/assets/messagebundle_et-UwpqUE-p.js +0 -1
- package/dist/assets/messagebundle_fi-BN3UWEz0.js +0 -1
- package/dist/assets/messagebundle_fi-Cwf7Puui.js +0 -1
- package/dist/assets/messagebundle_fr-43w09LAE.js +0 -1
- package/dist/assets/messagebundle_fr-CVRaf9_H.js +0 -1
- package/dist/assets/messagebundle_fr_CA-BM04X6xU.js +0 -1
- package/dist/assets/messagebundle_fr_CA-CdnVYumi.js +0 -1
- package/dist/assets/messagebundle_hi-DfeonbAH.js +0 -1
- package/dist/assets/messagebundle_hi-JRJlP9Uh.js +0 -1
- package/dist/assets/messagebundle_hr-CKOnn34q.js +0 -1
- package/dist/assets/messagebundle_hr-CbyIBlH3.js +0 -1
- package/dist/assets/messagebundle_hu-DF1gQudE.js +0 -1
- package/dist/assets/messagebundle_hu-D_IQ9kTy.js +0 -1
- package/dist/assets/messagebundle_id-B0K1usj4.js +0 -1
- package/dist/assets/messagebundle_id-gDJYoaGq.js +0 -1
- package/dist/assets/messagebundle_it-B80_R2Ih.js +0 -1
- package/dist/assets/messagebundle_it-CVqU4g6t.js +0 -1
- package/dist/assets/messagebundle_iw-BoelOIS4.js +0 -1
- package/dist/assets/messagebundle_iw-iMDtLxaa.js +0 -1
- package/dist/assets/messagebundle_ja-BlRbv4vb.js +0 -1
- package/dist/assets/messagebundle_ja-BrDH-19-.js +0 -1
- package/dist/assets/messagebundle_kk-C7VPek1-.js +0 -1
- package/dist/assets/messagebundle_kk-DhAT_bim.js +0 -1
- package/dist/assets/messagebundle_ko-CIqP8x6n.js +0 -1
- package/dist/assets/messagebundle_ko-DgD6uyZ5.js +0 -1
- package/dist/assets/messagebundle_lt-BV0kKrY0.js +0 -1
- package/dist/assets/messagebundle_lv-5IcjoxWD.js +0 -1
- package/dist/assets/messagebundle_lv-DDBi7iKe.js +0 -1
- package/dist/assets/messagebundle_mk-BUrn04sZ.js +0 -1
- package/dist/assets/messagebundle_mk-P5veRdg2.js +0 -1
- package/dist/assets/messagebundle_ms-9VDLR5en.js +0 -1
- package/dist/assets/messagebundle_ms-CB8sQUg2.js +0 -1
- package/dist/assets/messagebundle_nl-BaAgPO7h.js +0 -1
- package/dist/assets/messagebundle_nl-f1Up3dB9.js +0 -1
- package/dist/assets/messagebundle_no-C-_ldp7o.js +0 -1
- package/dist/assets/messagebundle_no-DRSqWQ-C.js +0 -1
- package/dist/assets/messagebundle_pl-BQoPaokq.js +0 -1
- package/dist/assets/messagebundle_pl-DBO1atMe.js +0 -1
- package/dist/assets/messagebundle_pt-BNEglYxa.js +0 -1
- package/dist/assets/messagebundle_pt-DgAMHmW-.js +0 -1
- package/dist/assets/messagebundle_pt_PT-BtYzp9KB.js +0 -1
- package/dist/assets/messagebundle_pt_PT-D1Ef8kUU.js +0 -1
- package/dist/assets/messagebundle_ro-CuDPp2fe.js +0 -1
- package/dist/assets/messagebundle_ro-D591wJ6f.js +0 -1
- package/dist/assets/messagebundle_ru-D0NridWi.js +0 -1
- package/dist/assets/messagebundle_ru-I8YLCfrn.js +0 -1
- package/dist/assets/messagebundle_sh-BswdbSRi.js +0 -1
- package/dist/assets/messagebundle_sh-Dw2y_oct.js +0 -1
- package/dist/assets/messagebundle_sk-BG4S4ZVk.js +0 -1
- package/dist/assets/messagebundle_sl-CAnJO_8X.js +0 -1
- package/dist/assets/messagebundle_sl-kpVWxIp_.js +0 -1
- package/dist/assets/messagebundle_sr-BTWvO8VQ.js +0 -1
- package/dist/assets/messagebundle_sr-VJmRSdj4.js +0 -1
- package/dist/assets/messagebundle_sv-B-RCgnW_.js +0 -1
- package/dist/assets/messagebundle_sv-Bd4wCcDb.js +0 -1
- package/dist/assets/messagebundle_th-CMHmLdI3.js +0 -1
- package/dist/assets/messagebundle_th-CZ1imsCy.js +0 -1
- package/dist/assets/messagebundle_tr-BfWAYIdW.js +0 -1
- package/dist/assets/messagebundle_tr-D-BnBirv.js +0 -1
- package/dist/assets/messagebundle_uk-DhxIThVl.js +0 -1
- package/dist/assets/messagebundle_uk-HU8hI0yj.js +0 -1
- package/dist/assets/messagebundle_vi-BUTqUKd4.js +0 -1
- package/dist/assets/messagebundle_vi-D1El4_Wj.js +0 -1
- package/dist/assets/messagebundle_zh_CN-Dt0azUea.js +0 -1
- package/dist/assets/messagebundle_zh_CN-Ofgx2uXY.js +0 -1
- package/dist/assets/messagebundle_zh_TW-5lv7yYS1.js +0 -1
- package/dist/assets/messagebundle_zh_TW-LSErOAsd.js +0 -1
- package/dist/assets/parameters-bundle.css-B68EyCuR.js +0 -278
- package/dist/assets/parameters-bundle.css-BkJSEiFx.js +0 -278
- package/dist/assets/parameters-bundle.css-CI4HNvFw.js +0 -1
- package/dist/assets/parameters-bundle.css-COeynv6D.js +0 -277
- package/dist/assets/parameters-bundle.css-CRa5DITh.js +0 -1
- package/dist/assets/parameters-bundle.css-CnIzAMdG.js +0 -3
- package/dist/assets/parameters-bundle.css-CsV5qbZp.js +0 -3
- package/dist/assets/parameters-bundle.css-DCvHNL3s.js +0 -3
- package/dist/assets/parameters-bundle.css-DK40uKOQ.js +0 -3
- package/dist/assets/parameters-bundle.css-DMfTAqMv.js +0 -2
- package/dist/assets/parameters-bundle.css-DO35k9r0.js +0 -2
- package/dist/assets/parameters-bundle.css-Df7wtRW4.js +0 -2
- package/dist/assets/parameters-bundle.css-DvAfqdlT.js +0 -3
- package/dist/assets/parameters-bundle.css-KoXGNyLG.js +0 -3
- package/dist/assets/parameters-bundle.css-P_M_rm9z.js +0 -3
- package/dist/assets/parameters-bundle.css-UJIxXHL5.js +0 -2
- package/dist/assets/parameters-bundle.css-co26r5Nz.js +0 -3
- package/dist/assets/parameters-bundle.css-uT62L0va.js +0 -3
package/dist/MessageStrip.js
CHANGED
|
@@ -125,6 +125,12 @@ let UDExMessageStrip = UDExMessageStrip_1 = class UDExMessageStrip extends Messa
|
|
|
125
125
|
get isDesignActionOrIsNotIconType() {
|
|
126
126
|
return this.isDecorativeDesign || this.isNotIconStatusType;
|
|
127
127
|
}
|
|
128
|
+
get _closableText() {
|
|
129
|
+
if (!MessageStrip.i18nBundle) {
|
|
130
|
+
return "";
|
|
131
|
+
}
|
|
132
|
+
return super._closableText;
|
|
133
|
+
}
|
|
128
134
|
get hiddenText() {
|
|
129
135
|
const statusText = this.isDecorativeDesign ? (this.textStatusTypeMapping()[this.design] ?? "") : this.textStatusTypeMapping()[this.design];
|
|
130
136
|
return `${statusText} ${this.hideCloseButton ? "" : this._closableText}`.trim();
|
package/dist/MessageStrip.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageStrip.js","sourceRoot":"","sources":["../src/MessageStrip.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport type { Slot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport MessageStrip from \"@ui5/webcomponents/dist/MessageStrip.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { I18nText } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n MESSAGE_STRIP_ERROR,\n MESSAGE_STRIP_INFORMATION,\n MESSAGE_STRIP_SUCCESS,\n MESSAGE_STRIP_WARNING,\n MESSAGE_STRIP_ACTION,\n MESSAGE_STRIP_CLOSE_BUTTON,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport { UDExMessageStripDesign, UDExMessageStripStatusType } from \"./types/MessageStrip.js\";\nimport translate from \"./utils/translate.js\";\n\n// Template\nimport MessageStripTemplate from \"./MessageStripTemplate.js\";\n\n// Styles\nimport MessageStripCss from \"./generated/themes/MessageStrip.css.js\";\n\n/**\n * @class\n *\n * @constructor\n * @extends MessageStrip\n * @tagname udex-message-strip\n * @public\n */\n@customElement({\n tag: \"udex-message-strip\",\n renderer: jsxRenderer,\n styles: [MessageStrip.styles, MessageStripCss],\n template: MessageStripTemplate,\n})\n\nclass UDExMessageStrip extends MessageStrip {\n /**\n * Defines the component type.\n *\n * @public\n */\n @property()\n /** @ts-expect-error */\n design!: `${UDExMessageStripDesign}` = UDExMessageStripDesign.Neutral;\n\n /**\n * Defines the component Status Type.\n *\n * `Text` value is DEPRECATED! Use `Icon` instead.\n *\n * @public\n */\n @property()\n statusType: `${UDExMessageStripStatusType}` = UDExMessageStripStatusType.Icon;\n\n /**\n * Defines whether the MessageStrip renders close button.\n *\n * @public\n */\n @property({ type: Boolean })\n hideCloseButton!: boolean;\n\n /**\n * Defines custom status text for information type\n *\n * @default \"\"\n * @public\n */\n @property()\n statusInformationText!: string;\n\n /**\n * Defines custom status text for success type\n * @default \"\"\n * @public\n */\n @property()\n statusSuccessText!: string;\n\n /**\n * Defines custom status text for error type\n * @default \"\"\n * @public\n */\n @property()\n statusErrorText!: string;\n\n /**\n * Defines custom status text for warning type\n * @default \"\"\n * @public\n */\n @property()\n statusWarningText!: string;\n\n /**\n * Defines accessible name for close icon\n *\n * @default \"\"\n * @public\n */\n @property()\n closeIconAccessibleName!: string;\n\n /**\n * Defines tooltip for close icon\n *\n * @default \"\"\n * @public\n */\n @property()\n closeIconTooltip!: string;\n\n /**\n * Defines the content of the component.\n *\n * @slot\n * @public\n */\n @slot({ type: Node }) default!: Slot<Node>;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n onBeforeRendering() {\n if (this.isNotIconStatusType || (this.isDecorativeDesign && this.icon.length === 0)) {\n this.hideIcon = true;\n }\n }\n\n getTranslation(text: I18nText): string {\n return translate(UDExMessageStrip, text);\n }\n\n textStatusTypeMapping(): Record<string, string> {\n return {\n [UDExMessageStripDesign.Information]: this.statusInformationText || this.getTranslation(MESSAGE_STRIP_INFORMATION),\n [UDExMessageStripDesign.Positive]: this.statusSuccessText || this.getTranslation(MESSAGE_STRIP_SUCCESS),\n [UDExMessageStripDesign.Negative]: this.statusErrorText || this.getTranslation(MESSAGE_STRIP_ERROR),\n [UDExMessageStripDesign.Warning]: this.statusWarningText || this.getTranslation(MESSAGE_STRIP_WARNING),\n [UDExMessageStripDesign.Action]: this.getTranslation(MESSAGE_STRIP_ACTION),\n [UDExMessageStripDesign.Neutral]: this.getTranslation(MESSAGE_STRIP_ACTION),\n };\n }\n\n isDesignAction(): boolean {\n return this.design === UDExMessageStripDesign.Action || this.design === UDExMessageStripDesign.Neutral;\n }\n\n get isDecorativeDesign(): boolean {\n const decorativeDesigns: string[] = [\n UDExMessageStripDesign.Action,\n UDExMessageStripDesign.Neutral,\n UDExMessageStripDesign.GreyLight,\n UDExMessageStripDesign.GreyDark,\n UDExMessageStripDesign.RedLight,\n UDExMessageStripDesign.RedDark,\n UDExMessageStripDesign.MangoLight,\n UDExMessageStripDesign.MangoDark,\n UDExMessageStripDesign.GreenLight,\n UDExMessageStripDesign.GreenDark,\n UDExMessageStripDesign.TealLight,\n UDExMessageStripDesign.TealDark,\n UDExMessageStripDesign.BlueLight,\n UDExMessageStripDesign.BlueDark,\n UDExMessageStripDesign.IndigoLight,\n UDExMessageStripDesign.IndigoDark,\n UDExMessageStripDesign.PinkLight,\n UDExMessageStripDesign.PinkDark,\n UDExMessageStripDesign.RaspberryLight,\n UDExMessageStripDesign.RaspberryDark,\n ];\n return decorativeDesigns.includes(this.design);\n }\n\n get isDesignWarning(): boolean {\n return this.design === UDExMessageStripDesign.Warning;\n }\n\n _closeClick(): void {\n this.fireDecoratorEvent(\"close\");\n }\n\n get shouldHideIcon(): boolean {\n if (this.isDecorativeDesign) {\n return this.icon.length === 0;\n }\n if (this.isNotIconStatusType) {\n return this.hideIcon || this.icon.length === 0;\n }\n return this.hideIcon;\n }\n\n get hideTextStatus(): boolean {\n return this.statusType !== UDExMessageStripStatusType.Text || this.isDecorativeDesign;\n }\n\n get textStatus(): string | undefined {\n if (!this.isDecorativeDesign) {\n return this.textStatusTypeMapping()[this.design];\n }\n }\n\n get _closeButtonText(): string {\n return this.closeIconTooltip || `${this.textStatus ?? \"\"} ${this.getTranslation(MESSAGE_STRIP_CLOSE_BUTTON)}`;\n }\n\n get isNotIconStatusType(): boolean {\n return this.statusType !== UDExMessageStripStatusType.Icon;\n }\n\n get hasIcon(): boolean {\n return this.icon.length > 0;\n }\n\n get isDesignActionOrIsNotIconType(): boolean {\n return this.isDecorativeDesign || this.isNotIconStatusType;\n }\n\n get hiddenText(): string {\n const statusText = this.isDecorativeDesign ? (this.textStatusTypeMapping()[this.design] ?? \"\") : this.textStatusTypeMapping()[this.design];\n return `${statusText} ${this.hideCloseButton ? \"\" : this._closableText}`.trim();\n }\n}\n\nUDExMessageStrip.define();\n\nexport default UDExMessageStrip;\n"]}
|
|
1
|
+
{"version":3,"file":"MessageStrip.js","sourceRoot":"","sources":["../src/MessageStrip.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport type { Slot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport MessageStrip from \"@ui5/webcomponents/dist/MessageStrip.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { I18nText } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n MESSAGE_STRIP_ERROR,\n MESSAGE_STRIP_INFORMATION,\n MESSAGE_STRIP_SUCCESS,\n MESSAGE_STRIP_WARNING,\n MESSAGE_STRIP_ACTION,\n MESSAGE_STRIP_CLOSE_BUTTON,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport { UDExMessageStripDesign, UDExMessageStripStatusType } from \"./types/MessageStrip.js\";\nimport translate from \"./utils/translate.js\";\n\n// Template\nimport MessageStripTemplate from \"./MessageStripTemplate.js\";\n\n// Styles\nimport MessageStripCss from \"./generated/themes/MessageStrip.css.js\";\n\n/**\n * @class\n *\n * @constructor\n * @extends MessageStrip\n * @tagname udex-message-strip\n * @public\n */\n@customElement({\n tag: \"udex-message-strip\",\n renderer: jsxRenderer,\n styles: [MessageStrip.styles, MessageStripCss],\n template: MessageStripTemplate,\n})\n\nclass UDExMessageStrip extends MessageStrip {\n /**\n * Defines the component type.\n *\n * @public\n */\n @property()\n /** @ts-expect-error */\n design!: `${UDExMessageStripDesign}` = UDExMessageStripDesign.Neutral;\n\n /**\n * Defines the component Status Type.\n *\n * `Text` value is DEPRECATED! Use `Icon` instead.\n *\n * @public\n */\n @property()\n statusType: `${UDExMessageStripStatusType}` = UDExMessageStripStatusType.Icon;\n\n /**\n * Defines whether the MessageStrip renders close button.\n *\n * @public\n */\n @property({ type: Boolean })\n hideCloseButton!: boolean;\n\n /**\n * Defines custom status text for information type\n *\n * @default \"\"\n * @public\n */\n @property()\n statusInformationText!: string;\n\n /**\n * Defines custom status text for success type\n * @default \"\"\n * @public\n */\n @property()\n statusSuccessText!: string;\n\n /**\n * Defines custom status text for error type\n * @default \"\"\n * @public\n */\n @property()\n statusErrorText!: string;\n\n /**\n * Defines custom status text for warning type\n * @default \"\"\n * @public\n */\n @property()\n statusWarningText!: string;\n\n /**\n * Defines accessible name for close icon\n *\n * @default \"\"\n * @public\n */\n @property()\n closeIconAccessibleName!: string;\n\n /**\n * Defines tooltip for close icon\n *\n * @default \"\"\n * @public\n */\n @property()\n closeIconTooltip!: string;\n\n /**\n * Defines the content of the component.\n *\n * @slot\n * @public\n */\n @slot({ type: Node }) default!: Slot<Node>;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n onBeforeRendering() {\n if (this.isNotIconStatusType || (this.isDecorativeDesign && this.icon.length === 0)) {\n this.hideIcon = true;\n }\n }\n\n getTranslation(text: I18nText): string {\n return translate(UDExMessageStrip, text);\n }\n\n textStatusTypeMapping(): Record<string, string> {\n return {\n [UDExMessageStripDesign.Information]: this.statusInformationText || this.getTranslation(MESSAGE_STRIP_INFORMATION),\n [UDExMessageStripDesign.Positive]: this.statusSuccessText || this.getTranslation(MESSAGE_STRIP_SUCCESS),\n [UDExMessageStripDesign.Negative]: this.statusErrorText || this.getTranslation(MESSAGE_STRIP_ERROR),\n [UDExMessageStripDesign.Warning]: this.statusWarningText || this.getTranslation(MESSAGE_STRIP_WARNING),\n [UDExMessageStripDesign.Action]: this.getTranslation(MESSAGE_STRIP_ACTION),\n [UDExMessageStripDesign.Neutral]: this.getTranslation(MESSAGE_STRIP_ACTION),\n };\n }\n\n isDesignAction(): boolean {\n return this.design === UDExMessageStripDesign.Action || this.design === UDExMessageStripDesign.Neutral;\n }\n\n get isDecorativeDesign(): boolean {\n const decorativeDesigns: string[] = [\n UDExMessageStripDesign.Action,\n UDExMessageStripDesign.Neutral,\n UDExMessageStripDesign.GreyLight,\n UDExMessageStripDesign.GreyDark,\n UDExMessageStripDesign.RedLight,\n UDExMessageStripDesign.RedDark,\n UDExMessageStripDesign.MangoLight,\n UDExMessageStripDesign.MangoDark,\n UDExMessageStripDesign.GreenLight,\n UDExMessageStripDesign.GreenDark,\n UDExMessageStripDesign.TealLight,\n UDExMessageStripDesign.TealDark,\n UDExMessageStripDesign.BlueLight,\n UDExMessageStripDesign.BlueDark,\n UDExMessageStripDesign.IndigoLight,\n UDExMessageStripDesign.IndigoDark,\n UDExMessageStripDesign.PinkLight,\n UDExMessageStripDesign.PinkDark,\n UDExMessageStripDesign.RaspberryLight,\n UDExMessageStripDesign.RaspberryDark,\n ];\n return decorativeDesigns.includes(this.design);\n }\n\n get isDesignWarning(): boolean {\n return this.design === UDExMessageStripDesign.Warning;\n }\n\n _closeClick(): void {\n this.fireDecoratorEvent(\"close\");\n }\n\n get shouldHideIcon(): boolean {\n if (this.isDecorativeDesign) {\n return this.icon.length === 0;\n }\n if (this.isNotIconStatusType) {\n return this.hideIcon || this.icon.length === 0;\n }\n return this.hideIcon;\n }\n\n get hideTextStatus(): boolean {\n return this.statusType !== UDExMessageStripStatusType.Text || this.isDecorativeDesign;\n }\n\n get textStatus(): string | undefined {\n if (!this.isDecorativeDesign) {\n return this.textStatusTypeMapping()[this.design];\n }\n }\n\n get _closeButtonText(): string {\n return this.closeIconTooltip || `${this.textStatus ?? \"\"} ${this.getTranslation(MESSAGE_STRIP_CLOSE_BUTTON)}`;\n }\n\n get isNotIconStatusType(): boolean {\n return this.statusType !== UDExMessageStripStatusType.Icon;\n }\n\n get hasIcon(): boolean {\n return this.icon.length > 0;\n }\n\n get isDesignActionOrIsNotIconType(): boolean {\n return this.isDecorativeDesign || this.isNotIconStatusType;\n }\n\n get _closableText(): string {\n if (!MessageStrip.i18nBundle) {\n return \"\";\n }\n return super._closableText;\n }\n\n get hiddenText(): string {\n const statusText = this.isDecorativeDesign ? (this.textStatusTypeMapping()[this.design] ?? \"\") : this.textStatusTypeMapping()[this.design];\n return `${statusText} ${this.hideCloseButton ? \"\" : this._closableText}`.trim();\n }\n}\n\nUDExMessageStrip.define();\n\nexport default UDExMessageStrip;\n"]}
|
package/dist/SearchTemplate.js
CHANGED
|
@@ -16,7 +16,7 @@ import UDExControlButtonDesign from "./types/ControlButtonDesign.js";
|
|
|
16
16
|
import UI5Button from "@ui5/webcomponents/dist/Button.js";
|
|
17
17
|
import UI5ButtonDesign from "@ui5/webcomponents/dist/types/ButtonDesign.js";
|
|
18
18
|
export default function SearchTemplate() {
|
|
19
|
-
return (_jsxs(_Fragment, { children: [_jsxs("div", { class: `udex-search__root ${this.searchClasses}`, children: [this.isShowSearchHomePrefix ? renderSearchHomePrefix.call(this) : "", _jsxs("form", { class: `udex-search__container ${this.focusClasses} ${this.isNotEmptyClass}`, children: [this.labelAnimationDisabled ? renderInputWithStaticLabel.call(this) : renderInputWithAnimatedLabel.call(this), this.open ? (_jsx("span", { "aria-live": "polite", "aria-atomic": "true", id: "search-description", class: "hidden", "aria-hidden": "true", children: this.suggestionsDescription })) : "", _jsxs("div", { class: "udex-search__icons", children: [this.isShowHomeResetButton ? (_jsx(UDExButton, { id: "reset-button", class: "udex-search__button udex-search__reset-button", size: UDExButtonSize.Small, design: UDExButtonDesign.Default, tooltip: this.tooltipInfo.tooltipResetButton, onClick: this.onReset, onKeyDown: this.handleKeyDownReset, children: _jsx(UI5Icon, { class: "udex-search__button-icon", "accessible-
|
|
19
|
+
return (_jsxs(_Fragment, { children: [_jsxs("div", { class: `udex-search__root ${this.searchClasses}`, children: [this.isShowSearchHomePrefix ? renderSearchHomePrefix.call(this) : "", _jsxs("form", { class: `udex-search__container ${this.focusClasses} ${this.isNotEmptyClass}`, children: [this.labelAnimationDisabled ? renderInputWithStaticLabel.call(this) : renderInputWithAnimatedLabel.call(this), this.open ? (_jsx("span", { "aria-live": "polite", "aria-atomic": "true", id: "search-description", class: "hidden", "aria-hidden": "true", children: this.suggestionsDescription })) : "", _jsxs("div", { class: "udex-search__icons", children: [this.isShowHomeResetButton ? (_jsx(UDExButton, { id: "reset-button", class: "udex-search__button udex-search__reset-button", size: UDExButtonSize.Small, design: UDExButtonDesign.Default, tooltip: this.tooltipInfo.tooltipResetButton, "accessible-name": this.accInfo.accessibleNameResetIcon, onClick: this.onReset, onKeyDown: this.handleKeyDownReset, children: _jsx(UI5Icon, { class: "udex-search__button-icon", "accessible-role": "presentation", name: decline }) })) : "", this.isShowResetButton ? (_jsx(UDExControlButton, { id: "reset-button", class: "udex-search__reset-button", design: UDExControlButtonDesign.Default, tooltip: this.tooltipInfo.tooltipResetButton, icon: decline, size: UDExButtonSize.Large, "accessible-name": this.accInfo.accessibleNameResetIcon, onClick: this.onReset, onKeyDown: this.handleKeyDownReset })) : "", this.isVoiceButton ? (_jsx(UDExButton, { id: "voice-button", class: `udex-search__button udex-search__voice-button ${this.voiceActiveClass}`, design: UDExButtonDesign.Default, size: UDExButtonSize.Small, icon: microphone, tooltip: this.tooltipInfo.tooltipVoiceButton, onClick: this.onVoice })) : "", this.showNonInteractiveButton ? (_jsx(UI5Icon, { class: "udex-search__icon", "aria-hidden": "true", "accessible-name": this.accInfo.accessibleNameSearchIcon, name: search })) : "", this.showSubmitHomeButton ? (_jsx(UDExButton, { id: "submit-button", class: `udex-search__button udex-search__submit-button ${this.searchButtonActiveClass}`, design: UDExButtonDesign.Default, icon: search, size: UDExButtonSize.Small, "accessible-name": this.accInfo.accessibleNameSearchIcon, tooltip: this.tooltipInfo.tooltipSubmitButton, onClick: this.onSubmit })) : "", this.showSubmitStandardButton ? (_jsx(UDExControlButton, { id: "submit-button", class: "udex-search__submit-button", size: UDExButtonSize.Large, design: UDExControlButtonDesign.Default, icon: search, tooltip: this.tooltipInfo.tooltipSubmitButton, onClick: this.onSubmit, "accessible-name": this.accInfo.accessibleNameSearchIcon })) : ""] })] })] }), renderSearchSuggestionPopover.call(this)] }));
|
|
20
20
|
}
|
|
21
21
|
function renderSearchHomePrefix() {
|
|
22
22
|
return (_jsxs("div", { class: `udex-search__prefix ${this.prefixWrapperClasses}`, children: [_jsxs("button", { type: "button", role: "combobox", "aria-expanded": this._prefixDropdownExpanded, "aria-label": this.labelPrefix, "aria-haspopup": "true", "aria-controls": "udex-search-prefix", class: "udex-search__prefix-button", onClick: this.handleDropdownClick, children: [_jsx("span", { class: "udex-search__prefix-label", children: this.labelPrefix }), _jsx(UI5Icon, { class: "udex-search__prefix-icon", name: slimArrowDown, mode: UI5IconMode.Decorative })] }), _jsx(UI5Popover, { id: "udex-search-prefix", class: this.prefixPopoverClasses, "hide-arrow": true, placement: UI5PopoverPlacement.Bottom, "horizontal-align": UI5PopoverHAlign.Start, style: this.prefixPopoverStyles, onClose: this.handleAfterClosePrefixPopover, children: _jsx("slot", {}) })] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchTemplate.js","sourceRoot":"","sources":["../src/SearchTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type UDExSearch from \"./Search.js\";\nimport type { SuggestionList } from \"./Search.js\";\nimport slimArrowDown from \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport search from \"@ui5/webcomponents-icons/dist/search.js\";\nimport decline from \"@ui5/webcomponents-icons/dist/decline.js\";\nimport microphone from \"@ui5/webcomponents-icons/dist/microphone.js\";\nimport UDExButton from \"./Button.js\";\nimport UDExButtonDesign from \"./types/ButtonDesign.js\";\nimport UDExButtonSize from \"./types/ButtonSize.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport UI5IconMode from \"@ui5/webcomponents/dist/types/IconMode.js\";\nimport UI5Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport UI5PopoverPlacement from \"@ui5/webcomponents/dist/types/PopoverPlacement.js\";\nimport UI5PopoverHAlign from \"@ui5/webcomponents/dist/types/PopoverHorizontalAlign.js\";\nimport UDExControlButton from \"./ControlButton.js\";\nimport UDExControlButtonDesign from \"./types/ControlButtonDesign.js\";\nimport UI5Button from \"@ui5/webcomponents/dist/Button.js\";\nimport UI5ButtonDesign from \"@ui5/webcomponents/dist/types/ButtonDesign.js\";\n\nexport default function SearchTemplate(this: UDExSearch) {\n return (\n <>\n <div class={`udex-search__root ${this.searchClasses}`}>\n { this.isShowSearchHomePrefix ? renderSearchHomePrefix.call(this) : \"\" }\n\n <form class={`udex-search__container ${this.focusClasses} ${this.isNotEmptyClass}`}>\n { this.labelAnimationDisabled ? renderInputWithStaticLabel.call(this) : renderInputWithAnimatedLabel.call(this) }\n\n {\n this.open ? (\n <span\n aria-live=\"polite\"\n aria-atomic=\"true\"\n id=\"search-description\"\n class=\"hidden\"\n aria-hidden=\"true\"\n >\n {this.suggestionsDescription}\n </span>\n ) : \"\"\n }\n\n <div class=\"udex-search__icons\">\n {\n this.isShowHomeResetButton ? (\n <UDExButton\n id=\"reset-button\"\n class=\"udex-search__button udex-search__reset-button\"\n size={UDExButtonSize.Small}\n design={UDExButtonDesign.Default}\n tooltip={this.tooltipInfo.tooltipResetButton}\n onClick={this.onReset as any}\n onKeyDown={this.handleKeyDownReset}\n >\n <UI5Icon\n class=\"udex-search__button-icon\"\n accessible-name={this.accInfo.accessibleNameResetIcon}\n accessible-role=\"presentation\"\n name={decline}\n ></UI5Icon>\n </UDExButton>\n ) : \"\"\n }\n\n {\n this.isShowResetButton ? (\n <UDExControlButton\n id=\"reset-button\"\n class=\"udex-search__reset-button\"\n design={UDExControlButtonDesign.Default}\n tooltip={this.tooltipInfo.tooltipResetButton}\n icon={decline}\n size={UDExButtonSize.Large}\n accessible-name={this.accInfo.accessibleNameResetIcon}\n onClick={this.onReset as any}\n onKeyDown={this.handleKeyDownReset}\n ></UDExControlButton>\n ) : \"\"\n }\n\n {\n this.isVoiceButton ? (\n <UDExButton\n id=\"voice-button\"\n class={`udex-search__button udex-search__voice-button ${this.voiceActiveClass}`}\n design={UDExButtonDesign.Default}\n size={UDExButtonSize.Small}\n icon={microphone}\n tooltip={this.tooltipInfo.tooltipVoiceButton}\n onClick={this.onVoice as any}\n ></UDExButton>\n ) : \"\"\n }\n\n {\n this.showNonInteractiveButton ? (\n <UI5Icon\n class=\"udex-search__icon\"\n aria-hidden=\"true\"\n accessible-name={this.accInfo.accessibleNameSearchIcon}\n name={search}\n ></UI5Icon>\n ) : \"\"\n }\n\n {\n this.showSubmitHomeButton ? (\n <UDExButton\n id=\"submit-button\"\n class={`udex-search__button udex-search__submit-button ${this.searchButtonActiveClass}`}\n design={UDExButtonDesign.Default}\n icon={search}\n size={UDExButtonSize.Small}\n tooltip={this.tooltipInfo.tooltipSubmitButton}\n onClick={this.onSubmit as any}\n ></UDExButton>\n ) : \"\"\n }\n\n {\n this.showSubmitStandardButton ? (\n <UDExControlButton\n id=\"submit-button\"\n class=\"udex-search__submit-button\"\n size={UDExButtonSize.Large}\n design={UDExControlButtonDesign.Default}\n icon={search}\n tooltip={this.tooltipInfo.tooltipSubmitButton}\n onClick={this.onSubmit as any}\n ></UDExControlButton>\n ) : \"\"\n }\n </div>\n </form>\n </div>\n\n { renderSearchSuggestionPopover.call(this) }\n </>\n );\n}\n\nfunction renderSearchHomePrefix(this: UDExSearch) {\n return (\n <div class={`udex-search__prefix ${this.prefixWrapperClasses}`}>\n <button\n type=\"button\"\n role=\"combobox\"\n aria-expanded={this._prefixDropdownExpanded}\n aria-label={this.labelPrefix}\n aria-haspopup=\"true\"\n aria-controls=\"udex-search-prefix\"\n class=\"udex-search__prefix-button\"\n onClick={this.handleDropdownClick}\n >\n <span class=\"udex-search__prefix-label\">{this.labelPrefix}</span>\n <UI5Icon\n class=\"udex-search__prefix-icon\"\n name={slimArrowDown}\n mode={UI5IconMode.Decorative}\n ></UI5Icon>\n </button>\n\n <UI5Popover\n id=\"udex-search-prefix\"\n class={this.prefixPopoverClasses}\n hide-arrow\n placement={UI5PopoverPlacement.Bottom}\n horizontal-align={UI5PopoverHAlign.Start}\n style={this.prefixPopoverStyles}\n onClose={this.handleAfterClosePrefixPopover}\n >\n <slot></slot>\n </UI5Popover>\n </div>\n );\n}\n\nfunction renderSearchInput(this: UDExSearch, placeholder: boolean = false) {\n return (\n <input\n role=\"searchbox\"\n id=\"search-input\"\n type=\"search\"\n name=\"search\"\n class=\"udex-search__field\"\n autocomplete=\"off\"\n aria-autocomplete=\"list\"\n aria-haspopup={this.getAriaHasPopup}\n aria-label={this.accInfo.ariaLabel}\n aria-describedby=\"search-description\"\n {...(placeholder ? { placeholder: this.effectivePlaceholder } : {})}\n maxlength={this.maxlength}\n value={this.value}\n onInput={this.handleSearchChange}\n onKeyDown={this.handleKeyDown}\n onFocus={this.handleFocus}\n onFocusOut={this.handleFocusout}\n onBlur={this.handleBlur}\n onClick={this.handleInputClick}\n />\n );\n}\n\nfunction renderInputWithStaticLabel(this: UDExSearch) {\n return renderSearchInput.call(this, true);\n}\n\nfunction renderInputWithAnimatedLabel(this: UDExSearch) {\n return (\n <>\n {\n this.label ? (\n <label for=\"search-input\" class={this.labelClasses}>\n {this.label}\n </label>\n ) : \"\"\n }\n\n { renderSearchInput.call(this, false) }\n </>\n );\n}\n\nfunction renderSearchSuggestionPopover(this: UDExSearch) {\n return (\n <UI5Popover\n class={`udex-search-suggestions__root ${this.homeSearchPopoverClass}`}\n hide-arrow\n prevent-initial-focus\n prevent-focus-restore\n placement={UI5PopoverPlacement.Bottom}\n horizontal-align={UI5PopoverHAlign.End}\n style={this.popoverStyles}\n id={this.getSuggestionsPopoverId}\n aria-orientation=\"vertical\"\n onKeyDown={this.handleKeyPressSuggestionList}\n accessible-name={this.suggestionsAccessibleName}\n >\n {\n this.showNoResultMessage ? (\n <span class=\"udex-search-suggestions__message\">{this.noResultMessage}</span>\n ) : renderSearchSuggestionPopoverResults.call(this)\n }\n </UI5Popover>\n );\n}\n\nfunction renderSearchSuggestionPopoverResults(this: UDExSearch) {\n return (\n <div role=\"tree\">\n {\n this.isShowSuggestedList ? (\n renderSearchSuggestionPopoverResultsSuggestedList.call(this)\n ) : \"\"\n }\n\n {\n this.isShowRecommendedList ? (\n renderSearchSuggestionPopoverResultsRecommendedList.call(this)\n ) : \"\"\n }\n </div>\n );\n}\n\nfunction renderSearchSuggestionPopoverResultsSuggestedList(this: UDExSearch) {\n return (\n <div class=\"udex-search-suggestions__block\" role=\"treeitem\">\n {\n this.suggestedHeading ? (\n <span class=\"udex-search-suggestions__heading\" id=\"suggested-heading\">\n {this.suggestedHeading}\n </span>\n ) : \"\"\n }\n\n <div class=\"udex-search-suggestions__list\"\n role=\"listbox\"\n aria-labelledby=\"suggested-heading\"\n onKeyDown={this.handleKeyDownPopover}\n >\n {\n this.suggestedList.map((item, i) => (\n <UI5Button\n key={i}\n id={item.id}\n icon={item.icon}\n type=\"Button\"\n design={UI5ButtonDesign.Default}\n accessible-name={item.suggestionDescription}\n class=\"udex-search-suggestions__item-button\"\n title={item.title}\n tabindex={-1}\n role=\"option\"\n onClick={item.handleSelectItem}\n dangerouslySetInnerHTML={{ __html: item.text }}\n ></UI5Button>\n ))\n }\n </div>\n </div>\n );\n}\n\nfunction renderSearchSuggestionPopoverResultsRecommendedList(this: UDExSearch) {\n return (\n <div class=\"udex-search-suggestions__block\" role=\"treeitem\">\n {\n this.recommendedHeading ? (\n <span class=\"udex-search-suggestions__heading\" id=\"recommended-heading\">\n {this.recommendedHeading}\n </span>\n ) : \"\"\n }\n\n <div class=\"udex-search-suggestions__list\"\n role=\"listbox\"\n aria-labelledby=\"recommended-heading\"\n onKeyDown={this.handleKeyDownPopover}\n >\n {\n this.recommendedList.map((item, i) => (\n item.hasCustomIcon ? (\n renderSearchSuggestionPopoverResultsRecommendedListButton(item, i, item.icon)\n ) : (\n renderSearchSuggestionPopoverResultsRecommendedListButton(item, i)\n )\n ))\n }\n </div>\n </div>\n );\n}\n\nfunction renderSearchSuggestionPopoverResultsRecommendedListButton(button: SuggestionList, key: number, icon: string | undefined = undefined) {\n return (\n <UI5Button\n key={key}\n id={button.id}\n {...(icon ? { \"icon\": icon } : {})}\n type=\"Button\"\n design={UI5ButtonDesign.Default}\n class=\"udex-search-suggestions__item-button\"\n accessible-name={button.suggestionDescription}\n title={button.title}\n tabindex={-1}\n role=\"option\"\n onClick={button.handleSelectItem}\n dangerouslySetInnerHTML={{ __html: button.text }}\n ></UI5Button>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SearchTemplate.js","sourceRoot":"","sources":["../src/SearchTemplate.tsx"],"names":[],"mappings":";AAEA,OAAO,aAAa,MAAM,kDAAkD,CAAC;AAC7E,OAAO,MAAM,MAAM,yCAAyC,CAAC;AAC7D,OAAO,OAAO,MAAM,0CAA0C,CAAC;AAC/D,OAAO,UAAU,MAAM,6CAA6C,CAAC;AACrE,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,gBAAgB,MAAM,yBAAyB,CAAC;AACvD,OAAO,cAAc,MAAM,uBAAuB,CAAC;AACnD,OAAO,OAAO,MAAM,iCAAiC,CAAC;AACtD,OAAO,WAAW,MAAM,2CAA2C,CAAC;AACpE,OAAO,UAAU,MAAM,oCAAoC,CAAC;AAC5D,OAAO,mBAAmB,MAAM,mDAAmD,CAAC;AACpF,OAAO,gBAAgB,MAAM,yDAAyD,CAAC;AACvF,OAAO,iBAAiB,MAAM,oBAAoB,CAAC;AACnD,OAAO,uBAAuB,MAAM,gCAAgC,CAAC;AACrE,OAAO,SAAS,MAAM,mCAAmC,CAAC;AAC1D,OAAO,eAAe,MAAM,+CAA+C,CAAC;AAE5E,MAAM,CAAC,OAAO,UAAU,cAAc;IACpC,OAAO,CACL,8BACE,eAAK,KAAK,EAAE,qBAAqB,IAAI,CAAC,aAAa,EAAE,aACjD,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAEtE,gBAAM,KAAK,EAAE,0BAA0B,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,eAAe,EAAE,aAC9E,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,EAG7G,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CACV,4BACY,QAAQ,iBACN,MAAM,EAClB,EAAE,EAAC,oBAAoB,EACvB,KAAK,EAAC,QAAQ,iBACF,MAAM,YAEjB,IAAI,CAAC,sBAAsB,GACvB,CACR,CAAC,CAAC,CAAC,EAAE,EAGR,eAAK,KAAK,EAAC,oBAAoB,aAE3B,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAC3B,KAAC,UAAU,IACT,EAAE,EAAC,cAAc,EACjB,KAAK,EAAC,+CAA+C,EACrD,IAAI,EAAE,cAAc,CAAC,KAAK,EAC1B,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAChC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,kBAAkB,qBAC3B,IAAI,CAAC,OAAO,CAAC,uBAAuB,EACrD,OAAO,EAAE,IAAI,CAAC,OAAc,EAC5B,SAAS,EAAE,IAAI,CAAC,kBAAkB,YAElC,KAAC,OAAO,IACN,KAAK,EAAC,0BAA0B,qBAChB,cAAc,EAC9B,IAAI,EAAE,OAAO,GACJ,GACA,CACd,CAAC,CAAC,CAAC,EAAE,EAIN,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CACvB,KAAC,iBAAiB,IAChB,EAAE,EAAC,cAAc,EACjB,KAAK,EAAC,2BAA2B,EACjC,MAAM,EAAE,uBAAuB,CAAC,OAAO,EACvC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAC5C,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,cAAc,CAAC,KAAK,qBACT,IAAI,CAAC,OAAO,CAAC,uBAAuB,EACrD,OAAO,EAAE,IAAI,CAAC,OAAc,EAC5B,SAAS,EAAE,IAAI,CAAC,kBAAkB,GACf,CACtB,CAAC,CAAC,CAAC,EAAE,EAIN,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CACnB,KAAC,UAAU,IACT,EAAE,EAAC,cAAc,EACjB,KAAK,EAAE,iDAAiD,IAAI,CAAC,gBAAgB,EAAE,EAC/E,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAChC,IAAI,EAAE,cAAc,CAAC,KAAK,EAC1B,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAC5C,OAAO,EAAE,IAAI,CAAC,OAAc,GAChB,CACf,CAAC,CAAC,CAAC,EAAE,EAIN,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAC9B,KAAC,OAAO,IACN,KAAK,EAAC,mBAAmB,iBACb,MAAM,qBACD,IAAI,CAAC,OAAO,CAAC,wBAAwB,EACtD,IAAI,EAAE,MAAM,GACH,CACZ,CAAC,CAAC,CAAC,EAAE,EAIN,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAC1B,KAAC,UAAU,IACT,EAAE,EAAC,eAAe,EAClB,KAAK,EAAE,kDAAkD,IAAI,CAAC,uBAAuB,EAAE,EACvF,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAChC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,cAAc,CAAC,KAAK,qBACT,IAAI,CAAC,OAAO,CAAC,wBAAwB,EACtD,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAC7C,OAAO,EAAE,IAAI,CAAC,QAAe,GACjB,CACf,CAAC,CAAC,CAAC,EAAE,EAIN,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAC9B,KAAC,iBAAiB,IAChB,EAAE,EAAC,eAAe,EAClB,KAAK,EAAC,4BAA4B,EAClC,IAAI,EAAE,cAAc,CAAC,KAAK,EAC1B,MAAM,EAAE,uBAAuB,CAAC,OAAO,EACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAC7C,OAAO,EAAE,IAAI,CAAC,QAAe,qBACZ,IAAI,CAAC,OAAO,CAAC,wBAAwB,GACnC,CACtB,CAAC,CAAC,CAAC,EAAE,IAEJ,IACD,IACH,EAEJ,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,IACzC,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB;IAC7B,OAAO,CACL,eAAK,KAAK,EAAE,uBAAuB,IAAI,CAAC,oBAAoB,EAAE,aAC5D,kBACE,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,UAAU,mBACA,IAAI,CAAC,uBAAuB,gBAC/B,IAAI,CAAC,WAAW,mBACd,MAAM,mBACN,oBAAoB,EAClC,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAE,IAAI,CAAC,mBAAmB,aAEjC,eAAM,KAAK,EAAC,2BAA2B,YAAE,IAAI,CAAC,WAAW,GAAQ,EACjE,KAAC,OAAO,IACN,KAAK,EAAC,0BAA0B,EAChC,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,WAAW,CAAC,UAAU,GACnB,IACJ,EAET,KAAC,UAAU,IACT,EAAE,EAAC,oBAAoB,EACvB,KAAK,EAAE,IAAI,CAAC,oBAAoB,sBAEhC,SAAS,EAAE,mBAAmB,CAAC,MAAM,sBACnB,gBAAgB,CAAC,KAAK,EACxC,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAC/B,OAAO,EAAE,IAAI,CAAC,6BAA6B,YAE3C,gBAAa,GACF,IACT,CACP,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAmB,cAAuB,KAAK;IACvE,OAAO,CACL,gBACE,IAAI,EAAC,WAAW,EAChB,EAAE,EAAC,cAAc,EACjB,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,oBAAoB,EAC1B,YAAY,EAAC,KAAK,uBACA,MAAM,mBACT,IAAI,CAAC,eAAe,gBACvB,IAAI,CAAC,OAAO,CAAC,SAAS,sBACjB,oBAAoB,KACjC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EACnE,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAChC,SAAS,EAAE,IAAI,CAAC,aAAa,EAC7B,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,UAAU,EAAE,IAAI,CAAC,cAAc,EAC/B,MAAM,EAAE,IAAI,CAAC,UAAU,EACvB,OAAO,EAAE,IAAI,CAAC,gBAAgB,GAC9B,CACH,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B;IACjC,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,4BAA4B;IACnC,OAAO,CACL,8BAEI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CACX,gBAAO,GAAG,EAAC,cAAc,EAAC,KAAK,EAAE,IAAI,CAAC,YAAY,YAC/C,IAAI,CAAC,KAAK,GACL,CACT,CAAC,CAAC,CAAC,EAAE,EAGN,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IACpC,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B;IACpC,OAAO,CACL,KAAC,UAAU,IACT,KAAK,EAAE,iCAAiC,IAAI,CAAC,sBAAsB,EAAE,oFAIrE,SAAS,EAAE,mBAAmB,CAAC,MAAM,sBACnB,gBAAgB,CAAC,GAAG,EACtC,KAAK,EAAE,IAAI,CAAC,aAAa,EACzB,EAAE,EAAE,IAAI,CAAC,uBAAuB,sBACf,UAAU,EAC3B,SAAS,EAAE,IAAI,CAAC,4BAA4B,qBAC3B,IAAI,CAAC,yBAAyB,YAG7C,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CACzB,eAAM,KAAK,EAAC,kCAAkC,YAAE,IAAI,CAAC,eAAe,GAAQ,CAC7E,CAAC,CAAC,CAAC,oCAAoC,CAAC,IAAI,CAAC,IAAI,CAAC,GAE1C,CACd,CAAC;AACJ,CAAC;AAED,SAAS,oCAAoC;IAC3C,OAAO,CACL,eAAK,IAAI,EAAC,MAAM,aAEZ,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CACzB,iDAAiD,CAAC,IAAI,CAAC,IAAI,CAAC,CAC7D,CAAC,CAAC,CAAC,EAAE,EAIN,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAC3B,mDAAmD,CAAC,IAAI,CAAC,IAAI,CAAC,CAC/D,CAAC,CAAC,CAAC,EAAE,IAEJ,CACP,CAAC;AACJ,CAAC;AAED,SAAS,iDAAiD;IACxD,OAAO,CACL,eAAK,KAAK,EAAC,gCAAgC,EAAC,IAAI,EAAC,UAAU,aAEvD,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CACtB,eAAM,KAAK,EAAC,kCAAkC,EAAC,EAAE,EAAC,mBAAmB,YAClE,IAAI,CAAC,gBAAgB,GACjB,CACR,CAAC,CAAC,CAAC,EAAE,EAGR,cAAK,KAAK,EAAC,+BAA+B,EACxC,IAAI,EAAC,SAAS,qBACE,mBAAmB,EACnC,SAAS,EAAE,IAAI,CAAC,oBAAoB,YAGlC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAClC,KAAC,SAAS,IAER,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAC,QAAQ,EACb,MAAM,EAAE,eAAe,CAAC,OAAO,qBACd,IAAI,CAAC,qBAAqB,EAC3C,KAAK,EAAC,sCAAsC,EAC5C,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,QAAQ,EAAE,CAAC,CAAC,EACZ,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAC9B,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAXzC,CAAC,CAYK,CACd,CAAC,GAEA,IACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,mDAAmD;IAC1D,OAAO,CACL,eAAK,KAAK,EAAC,gCAAgC,EAAC,IAAI,EAAC,UAAU,aAEvD,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CACxB,eAAM,KAAK,EAAC,kCAAkC,EAAC,EAAE,EAAC,qBAAqB,YACpE,IAAI,CAAC,kBAAkB,GACnB,CACR,CAAC,CAAC,CAAC,EAAE,EAGR,cAAK,KAAK,EAAC,+BAA+B,EACxC,IAAI,EAAC,SAAS,qBACE,qBAAqB,EACrC,SAAS,EAAE,IAAI,CAAC,oBAAoB,YAGlC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACpC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CACnB,yDAAyD,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAC9E,CAAC,CAAC,CAAC,CACF,yDAAyD,CAAC,IAAI,EAAE,CAAC,CAAC,CACnE,CACF,CAAC,GAEA,IACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,yDAAyD,CAAC,MAAsB,EAAE,GAAW,EAAE,OAA2B,SAAS;IAC1I,OAAO,CACL,KAAC,SAAS,IAER,EAAE,EAAE,MAAM,CAAC,EAAE,KACT,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAClC,IAAI,EAAC,QAAQ,EACb,MAAM,EAAE,eAAe,CAAC,OAAO,EAC/B,KAAK,EAAC,sCAAsC,qBAC3B,MAAM,CAAC,qBAAqB,EAC7C,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,QAAQ,EAAE,CAAC,CAAC,EACZ,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,MAAM,CAAC,gBAAgB,EAChC,uBAAuB,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,IAX3C,GAAG,CAYG,CACd,CAAC;AACJ,CAAC","sourcesContent":["import type UDExSearch from \"./Search.js\";\nimport type { SuggestionList } from \"./Search.js\";\nimport slimArrowDown from \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport search from \"@ui5/webcomponents-icons/dist/search.js\";\nimport decline from \"@ui5/webcomponents-icons/dist/decline.js\";\nimport microphone from \"@ui5/webcomponents-icons/dist/microphone.js\";\nimport UDExButton from \"./Button.js\";\nimport UDExButtonDesign from \"./types/ButtonDesign.js\";\nimport UDExButtonSize from \"./types/ButtonSize.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport UI5IconMode from \"@ui5/webcomponents/dist/types/IconMode.js\";\nimport UI5Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport UI5PopoverPlacement from \"@ui5/webcomponents/dist/types/PopoverPlacement.js\";\nimport UI5PopoverHAlign from \"@ui5/webcomponents/dist/types/PopoverHorizontalAlign.js\";\nimport UDExControlButton from \"./ControlButton.js\";\nimport UDExControlButtonDesign from \"./types/ControlButtonDesign.js\";\nimport UI5Button from \"@ui5/webcomponents/dist/Button.js\";\nimport UI5ButtonDesign from \"@ui5/webcomponents/dist/types/ButtonDesign.js\";\n\nexport default function SearchTemplate(this: UDExSearch) {\n return (\n <>\n <div class={`udex-search__root ${this.searchClasses}`}>\n { this.isShowSearchHomePrefix ? renderSearchHomePrefix.call(this) : \"\" }\n\n <form class={`udex-search__container ${this.focusClasses} ${this.isNotEmptyClass}`}>\n { this.labelAnimationDisabled ? renderInputWithStaticLabel.call(this) : renderInputWithAnimatedLabel.call(this) }\n\n {\n this.open ? (\n <span\n aria-live=\"polite\"\n aria-atomic=\"true\"\n id=\"search-description\"\n class=\"hidden\"\n aria-hidden=\"true\"\n >\n {this.suggestionsDescription}\n </span>\n ) : \"\"\n }\n\n <div class=\"udex-search__icons\">\n {\n this.isShowHomeResetButton ? (\n <UDExButton\n id=\"reset-button\"\n class=\"udex-search__button udex-search__reset-button\"\n size={UDExButtonSize.Small}\n design={UDExButtonDesign.Default}\n tooltip={this.tooltipInfo.tooltipResetButton}\n accessible-name={this.accInfo.accessibleNameResetIcon}\n onClick={this.onReset as any}\n onKeyDown={this.handleKeyDownReset}\n >\n <UI5Icon\n class=\"udex-search__button-icon\"\n accessible-role=\"presentation\"\n name={decline}\n ></UI5Icon>\n </UDExButton>\n ) : \"\"\n }\n\n {\n this.isShowResetButton ? (\n <UDExControlButton\n id=\"reset-button\"\n class=\"udex-search__reset-button\"\n design={UDExControlButtonDesign.Default}\n tooltip={this.tooltipInfo.tooltipResetButton}\n icon={decline}\n size={UDExButtonSize.Large}\n accessible-name={this.accInfo.accessibleNameResetIcon}\n onClick={this.onReset as any}\n onKeyDown={this.handleKeyDownReset}\n ></UDExControlButton>\n ) : \"\"\n }\n\n {\n this.isVoiceButton ? (\n <UDExButton\n id=\"voice-button\"\n class={`udex-search__button udex-search__voice-button ${this.voiceActiveClass}`}\n design={UDExButtonDesign.Default}\n size={UDExButtonSize.Small}\n icon={microphone}\n tooltip={this.tooltipInfo.tooltipVoiceButton}\n onClick={this.onVoice as any}\n ></UDExButton>\n ) : \"\"\n }\n\n {\n this.showNonInteractiveButton ? (\n <UI5Icon\n class=\"udex-search__icon\"\n aria-hidden=\"true\"\n accessible-name={this.accInfo.accessibleNameSearchIcon}\n name={search}\n ></UI5Icon>\n ) : \"\"\n }\n\n {\n this.showSubmitHomeButton ? (\n <UDExButton\n id=\"submit-button\"\n class={`udex-search__button udex-search__submit-button ${this.searchButtonActiveClass}`}\n design={UDExButtonDesign.Default}\n icon={search}\n size={UDExButtonSize.Small}\n accessible-name={this.accInfo.accessibleNameSearchIcon}\n tooltip={this.tooltipInfo.tooltipSubmitButton}\n onClick={this.onSubmit as any}\n ></UDExButton>\n ) : \"\"\n }\n\n {\n this.showSubmitStandardButton ? (\n <UDExControlButton\n id=\"submit-button\"\n class=\"udex-search__submit-button\"\n size={UDExButtonSize.Large}\n design={UDExControlButtonDesign.Default}\n icon={search}\n tooltip={this.tooltipInfo.tooltipSubmitButton}\n onClick={this.onSubmit as any}\n accessible-name={this.accInfo.accessibleNameSearchIcon}\n ></UDExControlButton>\n ) : \"\"\n }\n </div>\n </form>\n </div>\n\n { renderSearchSuggestionPopover.call(this) }\n </>\n );\n}\n\nfunction renderSearchHomePrefix(this: UDExSearch) {\n return (\n <div class={`udex-search__prefix ${this.prefixWrapperClasses}`}>\n <button\n type=\"button\"\n role=\"combobox\"\n aria-expanded={this._prefixDropdownExpanded}\n aria-label={this.labelPrefix}\n aria-haspopup=\"true\"\n aria-controls=\"udex-search-prefix\"\n class=\"udex-search__prefix-button\"\n onClick={this.handleDropdownClick}\n >\n <span class=\"udex-search__prefix-label\">{this.labelPrefix}</span>\n <UI5Icon\n class=\"udex-search__prefix-icon\"\n name={slimArrowDown}\n mode={UI5IconMode.Decorative}\n ></UI5Icon>\n </button>\n\n <UI5Popover\n id=\"udex-search-prefix\"\n class={this.prefixPopoverClasses}\n hide-arrow\n placement={UI5PopoverPlacement.Bottom}\n horizontal-align={UI5PopoverHAlign.Start}\n style={this.prefixPopoverStyles}\n onClose={this.handleAfterClosePrefixPopover}\n >\n <slot></slot>\n </UI5Popover>\n </div>\n );\n}\n\nfunction renderSearchInput(this: UDExSearch, placeholder: boolean = false) {\n return (\n <input\n role=\"searchbox\"\n id=\"search-input\"\n type=\"search\"\n name=\"search\"\n class=\"udex-search__field\"\n autocomplete=\"off\"\n aria-autocomplete=\"list\"\n aria-haspopup={this.getAriaHasPopup}\n aria-label={this.accInfo.ariaLabel}\n aria-describedby=\"search-description\"\n {...(placeholder ? { placeholder: this.effectivePlaceholder } : {})}\n maxlength={this.maxlength}\n value={this.value}\n onInput={this.handleSearchChange}\n onKeyDown={this.handleKeyDown}\n onFocus={this.handleFocus}\n onFocusOut={this.handleFocusout}\n onBlur={this.handleBlur}\n onClick={this.handleInputClick}\n />\n );\n}\n\nfunction renderInputWithStaticLabel(this: UDExSearch) {\n return renderSearchInput.call(this, true);\n}\n\nfunction renderInputWithAnimatedLabel(this: UDExSearch) {\n return (\n <>\n {\n this.label ? (\n <label for=\"search-input\" class={this.labelClasses}>\n {this.label}\n </label>\n ) : \"\"\n }\n\n { renderSearchInput.call(this, false) }\n </>\n );\n}\n\nfunction renderSearchSuggestionPopover(this: UDExSearch) {\n return (\n <UI5Popover\n class={`udex-search-suggestions__root ${this.homeSearchPopoverClass}`}\n hide-arrow\n prevent-initial-focus\n prevent-focus-restore\n placement={UI5PopoverPlacement.Bottom}\n horizontal-align={UI5PopoverHAlign.End}\n style={this.popoverStyles}\n id={this.getSuggestionsPopoverId}\n aria-orientation=\"vertical\"\n onKeyDown={this.handleKeyPressSuggestionList}\n accessible-name={this.suggestionsAccessibleName}\n >\n {\n this.showNoResultMessage ? (\n <span class=\"udex-search-suggestions__message\">{this.noResultMessage}</span>\n ) : renderSearchSuggestionPopoverResults.call(this)\n }\n </UI5Popover>\n );\n}\n\nfunction renderSearchSuggestionPopoverResults(this: UDExSearch) {\n return (\n <div role=\"tree\">\n {\n this.isShowSuggestedList ? (\n renderSearchSuggestionPopoverResultsSuggestedList.call(this)\n ) : \"\"\n }\n\n {\n this.isShowRecommendedList ? (\n renderSearchSuggestionPopoverResultsRecommendedList.call(this)\n ) : \"\"\n }\n </div>\n );\n}\n\nfunction renderSearchSuggestionPopoverResultsSuggestedList(this: UDExSearch) {\n return (\n <div class=\"udex-search-suggestions__block\" role=\"treeitem\">\n {\n this.suggestedHeading ? (\n <span class=\"udex-search-suggestions__heading\" id=\"suggested-heading\">\n {this.suggestedHeading}\n </span>\n ) : \"\"\n }\n\n <div class=\"udex-search-suggestions__list\"\n role=\"listbox\"\n aria-labelledby=\"suggested-heading\"\n onKeyDown={this.handleKeyDownPopover}\n >\n {\n this.suggestedList.map((item, i) => (\n <UI5Button\n key={i}\n id={item.id}\n icon={item.icon}\n type=\"Button\"\n design={UI5ButtonDesign.Default}\n accessible-name={item.suggestionDescription}\n class=\"udex-search-suggestions__item-button\"\n title={item.title}\n tabindex={-1}\n role=\"option\"\n onClick={item.handleSelectItem}\n dangerouslySetInnerHTML={{ __html: item.text }}\n ></UI5Button>\n ))\n }\n </div>\n </div>\n );\n}\n\nfunction renderSearchSuggestionPopoverResultsRecommendedList(this: UDExSearch) {\n return (\n <div class=\"udex-search-suggestions__block\" role=\"treeitem\">\n {\n this.recommendedHeading ? (\n <span class=\"udex-search-suggestions__heading\" id=\"recommended-heading\">\n {this.recommendedHeading}\n </span>\n ) : \"\"\n }\n\n <div class=\"udex-search-suggestions__list\"\n role=\"listbox\"\n aria-labelledby=\"recommended-heading\"\n onKeyDown={this.handleKeyDownPopover}\n >\n {\n this.recommendedList.map((item, i) => (\n item.hasCustomIcon ? (\n renderSearchSuggestionPopoverResultsRecommendedListButton(item, i, item.icon)\n ) : (\n renderSearchSuggestionPopoverResultsRecommendedListButton(item, i)\n )\n ))\n }\n </div>\n </div>\n );\n}\n\nfunction renderSearchSuggestionPopoverResultsRecommendedListButton(button: SuggestionList, key: number, icon: string | undefined = undefined) {\n return (\n <UI5Button\n key={key}\n id={button.id}\n {...(icon ? { \"icon\": icon } : {})}\n type=\"Button\"\n design={UI5ButtonDesign.Default}\n class=\"udex-search-suggestions__item-button\"\n accessible-name={button.suggestionDescription}\n title={button.title}\n tabindex={-1}\n role=\"option\"\n onClick={button.handleSelectItem}\n dangerouslySetInnerHTML={{ __html: button.text }}\n ></UI5Button>\n );\n}\n"]}
|
|
@@ -11,7 +11,7 @@ import { cleanLabel } from "./utils/listItemLabelUtils.js";
|
|
|
11
11
|
import { INDETERMINATE, SELECT_ALL } from "./generated/i18n/i18n-defaults.js";
|
|
12
12
|
import translate from "./utils/translate.js";
|
|
13
13
|
export default function SearchableListBaseTemplate() {
|
|
14
|
-
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: [
|
|
14
|
+
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: [_jsxs(IllustratedMessage, { name: "NoSearchResults", design: "Dot", children: [_jsx("div", { slot: "title" }), _jsx("div", { slot: "subtitle" })] }), _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, ...(this._activeDescendantMode ? {
|
|
15
15
|
"aria-label": this.listAccessibleName,
|
|
16
16
|
accessibleName: this.listAccessibleName,
|
|
17
17
|
} : {}), accessibleRole: this._activeDescendantMode ? "" : this.accessibleRoleForList, ...((this.isTreeStructure || this._activeDescendantMode) && this.modeMultiSelect ? { "aria-multiselectable": "true" } : {}), 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
|
|
@@ -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 { UDExListMode } from \"./types/List.js\";\nimport type { AriaRole } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { cleanLabel } from \"./utils/listItemLabelUtils.js\";\nimport { INDETERMINATE, SELECT_ALL } from \"./generated/i18n/i18n-defaults.js\";\nimport translate from \"./utils/translate.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 {...(this._activeDescendantMode ? {\n \"aria-label\": this.listAccessibleName,\n accessibleName: this.listAccessibleName,\n } : {})}\n accessibleRole={this._activeDescendantMode ? \"\" : this.accessibleRoleForList}\n {...((this.isTreeStructure || this._activeDescendantMode) && this.modeMultiSelect ? { \"aria-multiselectable\": \"true\" } : {})}\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, this._activeDescendantMode, this.isTreeStructure, this._activeDescendantMode ? index + 1 : undefined, this._activeDescendantMode ? this._filteredItems.length : undefined)\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 const label = item.label && item.label !== \"undefined\" ? item.label : translate(UDExListSelectAll, SELECT_ALL);\n return (\n <UDExListSelectAll\n key={index}\n id={item._id}\n {...UDExGroupHostAria.call(this, header, index, label)}\n mode={this.mode}\n _treeMode={this.isTreeStructure}\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, this._activeDescendantMode && this.isTreeStructure ? \"treeitem\" : undefined, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent, this._activeDescendantMode, this.isTreeStructure, this._activeDescendantMode ? i + 1 : undefined, this._activeDescendantMode ? groupItems.length : undefined)\n )}\n </UDExListSelectAll>\n );\n}\n\nfunction UDExGroupHostAria(this: UDExSearchableListBase, header: UDExListGroupHeaderBase, index: number, label = header.label) {\n return this._activeDescendantMode ? {\n role: (this.isTreeStructure ? \"treeitem\" : \"option\") as AriaRole,\n \"aria-label\": [label, header.supportingText].filter(Boolean).map(UDExText => cleanLabel(UDExText)).join(\" \"),\n \"aria-level\": this.isTreeStructure ? 1 : undefined,\n \"aria-posinset\": index + 1,\n \"aria-setsize\": this._filteredItems.length,\n \"aria-selected\": this.modeSingleSelect || this.modeMultiSelect ? String(header.selected && !header.indeterminate) : undefined,\n // aria-selected is Boolean, not tri-state. Describe partial group selection\n // separately rather than exposing the same selection as both checked and selected.\n \"aria-description\": this.modeMultiSelect && header.indeterminate ? translate(UDExListSelectAll, INDETERMINATE) : undefined,\n \"aria-disabled\": header.disabled ? \"true\" : undefined,\n \"aria-expanded\": header.collapsible ? String(header.expanded) : undefined,\n \"_use-host-aria-role\": true,\n } : { role: \"none\" as AriaRole };\n}\n\nfunction renderGroupHeader(this: UDExSearchableListBase, processedItem: UDExProcessedItem, index: number) {\n const { item, groupItems } = processedItem;\n const header = item as UDExListGroupHeaderBase;\n const childAccessibleRole = this.isTreeStructure ? \"treeitem\" : undefined;\n // Explicit positions for real-focus MultiSelect group headers.\n const treeGroups = this.isTreeStructure ? this._filteredItems.filter(p => p.isGroup) : [];\n const groupPosInSet = treeGroups.indexOf(processedItem) + 1;\n const groupSetSize = treeGroups.length;\n // Keep the existing real-focus position overrides separate from host-owned ARIA.\n const treePositionAttrs = (!this._activeDescendantMode && this.isTreeStructure && this.modeMultiSelect) ? {\n \"_aria-pos-in-set\": groupPosInSet,\n \"_aria-set-size\": groupSetSize,\n } : {};\n // In aria-activedescendant mode (SelectBox), each group header host element\n // must carry role + ARIA state so screen readers can reach them via the pointer.\n // In real-focus mode (FilterMenu) the host is always transparent (role=\"none\"):\n // the shadow DOM's div.udex-list__group provides the single role=\"group\" with\n // aria-labelledby=\"group-heading\" in non-tree mode; in tree mode the treeitem is\n // on the focusable div inside the shadow.\n const hostAriaAttrs = UDExGroupHostAria.call(this, header, index);\n return (\n <UDExListGroupHeader\n key={index}\n id={item._id}\n {...hostAriaAttrs}\n {...treePositionAttrs}\n _treeMode={this.isTreeStructure}\n _groupAsListbox={this.isPerGroupListbox}\n mode={this.mode}\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 onAccordionIconClick={this.handleAccordionIconClick}\n indeterminate={header.indeterminate}>\n {groupItems.map((child, i) =>\n renderListItem(child as UDExListItem, i, \"none\", childAccessibleRole, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent, this._activeDescendantMode, this.isTreeStructure, i + 1, groupItems.length)\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 activeDescendantMode?: boolean,\n isTreeStructure?: boolean,\n posInSet?: number,\n setSize?: number,\n) {\n // In aria-activedescendant mode (SelectBox), role + ARIA state must be on the\n // host element so screen readers can reach them via the aria-activedescendant pointer.\n const effectiveRole = accessibleRole ?? (role !== \"none\" ? role : undefined) ?? \"option\";\n const selectable = item.mode !== UDExListMode.SingleContent;\n const hostRole = activeDescendantMode ? (effectiveRole as AriaRole) : (role as AriaRole);\n const hostAriaAttrs = activeDescendantMode ? {\n // Rating-only options need a host name too, rather than a name derived from\n // descendants that can include the decorative checkbox's selection label.\n \"aria-label\": [item.label, item.supportingText, item.additionalText, item.hasRating ? item.ratingAriaLabel : undefined]\n .filter(Boolean).map(UDExText => cleanLabel(UDExText!)).join(\" \") || undefined,\n // Native position metadata replaces the duplicate spoken live-region summary.\n \"aria-level\": isTreeStructure ? ((item.parentElement as UDExListGroupHeaderBase | null)?.isGroup ? 2 : 1) : undefined,\n \"aria-posinset\": posInSet,\n \"aria-setsize\": setSize,\n \"aria-selected\": selectable && (effectiveRole === \"option\" || effectiveRole === \"treeitem\") ? String(item.selected) : undefined,\n \"aria-disabled\": item.disabled ? \"true\" as string : undefined,\n \"_use-host-aria-role\": true,\n ...(accessibleRole ? { \"accessible-role\": accessibleRole } : {}),\n } : {\n ...(accessibleRole ? { \"accessible-role\": accessibleRole } : {}),\n };\n // Real-focus grouped children keep their position on the inner focusable row.\n const treePositionAttrs = (!activeDescendantMode && posInSet != null && setSize != null) ? {\n \"_aria-pos-in-set\": posInSet,\n \"_aria-set-size\": setSize,\n } : {};\n return (\n <UDExListItem\n key={index}\n id={item._id}\n role={hostRole}\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 {...hostAriaAttrs}\n {...treePositionAttrs}\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 { UDExListMode } from \"./types/List.js\";\nimport type { AriaRole } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { cleanLabel } from \"./utils/listItemLabelUtils.js\";\nimport { INDETERMINATE, SELECT_ALL } from \"./generated/i18n/i18n-defaults.js\";\nimport translate from \"./utils/translate.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 <div slot=\"title\"></div>\n <div slot=\"subtitle\"></div>\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 {...(this._activeDescendantMode ? {\n \"aria-label\": this.listAccessibleName,\n accessibleName: this.listAccessibleName,\n } : {})}\n accessibleRole={this._activeDescendantMode ? \"\" : this.accessibleRoleForList}\n {...((this.isTreeStructure || this._activeDescendantMode) && this.modeMultiSelect ? { \"aria-multiselectable\": \"true\" } : {})}\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, this._activeDescendantMode, this.isTreeStructure, this._activeDescendantMode ? index + 1 : undefined, this._activeDescendantMode ? this._filteredItems.length : undefined)\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 const label = item.label && item.label !== \"undefined\" ? item.label : translate(UDExListSelectAll, SELECT_ALL);\n return (\n <UDExListSelectAll\n key={index}\n id={item._id}\n {...UDExGroupHostAria.call(this, header, index, label)}\n mode={this.mode}\n _treeMode={this.isTreeStructure}\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, this._activeDescendantMode && this.isTreeStructure ? \"treeitem\" : undefined, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent, this._activeDescendantMode, this.isTreeStructure, this._activeDescendantMode ? i + 1 : undefined, this._activeDescendantMode ? groupItems.length : undefined)\n )}\n </UDExListSelectAll>\n );\n}\n\nfunction UDExGroupHostAria(this: UDExSearchableListBase, header: UDExListGroupHeaderBase, index: number, label = header.label) {\n return this._activeDescendantMode ? {\n role: (this.isTreeStructure ? \"treeitem\" : \"option\") as AriaRole,\n \"aria-label\": [label, header.supportingText].filter(Boolean).map(UDExText => cleanLabel(UDExText)).join(\" \"),\n \"aria-level\": this.isTreeStructure ? 1 : undefined,\n \"aria-posinset\": index + 1,\n \"aria-setsize\": this._filteredItems.length,\n \"aria-selected\": this.modeSingleSelect || this.modeMultiSelect ? String(header.selected && !header.indeterminate) : undefined,\n // aria-selected is Boolean, not tri-state. Describe partial group selection\n // separately rather than exposing the same selection as both checked and selected.\n \"aria-description\": this.modeMultiSelect && header.indeterminate ? translate(UDExListSelectAll, INDETERMINATE) : undefined,\n \"aria-disabled\": header.disabled ? \"true\" : undefined,\n \"aria-expanded\": header.collapsible ? String(header.expanded) : undefined,\n \"_use-host-aria-role\": true,\n } : { role: \"none\" as AriaRole };\n}\n\nfunction renderGroupHeader(this: UDExSearchableListBase, processedItem: UDExProcessedItem, index: number) {\n const { item, groupItems } = processedItem;\n const header = item as UDExListGroupHeaderBase;\n const childAccessibleRole = this.isTreeStructure ? \"treeitem\" : undefined;\n // Explicit positions for real-focus MultiSelect group headers.\n const treeGroups = this.isTreeStructure ? this._filteredItems.filter(p => p.isGroup) : [];\n const groupPosInSet = treeGroups.indexOf(processedItem) + 1;\n const groupSetSize = treeGroups.length;\n // Keep the existing real-focus position overrides separate from host-owned ARIA.\n const treePositionAttrs = (!this._activeDescendantMode && this.isTreeStructure && this.modeMultiSelect) ? {\n \"_aria-pos-in-set\": groupPosInSet,\n \"_aria-set-size\": groupSetSize,\n } : {};\n // In aria-activedescendant mode (SelectBox), each group header host element\n // must carry role + ARIA state so screen readers can reach them via the pointer.\n // In real-focus mode (FilterMenu) the host is always transparent (role=\"none\"):\n // the shadow DOM's div.udex-list__group provides the single role=\"group\" with\n // aria-labelledby=\"group-heading\" in non-tree mode; in tree mode the treeitem is\n // on the focusable div inside the shadow.\n const hostAriaAttrs = UDExGroupHostAria.call(this, header, index);\n return (\n <UDExListGroupHeader\n key={index}\n id={item._id}\n {...hostAriaAttrs}\n {...treePositionAttrs}\n _treeMode={this.isTreeStructure}\n _groupAsListbox={this.isPerGroupListbox}\n mode={this.mode}\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 onAccordionIconClick={this.handleAccordionIconClick}\n indeterminate={header.indeterminate}>\n {groupItems.map((child, i) =>\n renderListItem(child as UDExListItem, i, \"none\", childAccessibleRole, this.fireFirstIconClickEvent, this.fireSecondIconClickEvent, this._activeDescendantMode, this.isTreeStructure, i + 1, groupItems.length)\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 activeDescendantMode?: boolean,\n isTreeStructure?: boolean,\n posInSet?: number,\n setSize?: number,\n) {\n // In aria-activedescendant mode (SelectBox), role + ARIA state must be on the\n // host element so screen readers can reach them via the aria-activedescendant pointer.\n const effectiveRole = accessibleRole ?? (role !== \"none\" ? role : undefined) ?? \"option\";\n const selectable = item.mode !== UDExListMode.SingleContent;\n const hostRole = activeDescendantMode ? (effectiveRole as AriaRole) : (role as AriaRole);\n const hostAriaAttrs = activeDescendantMode ? {\n // Rating-only options need a host name too, rather than a name derived from\n // descendants that can include the decorative checkbox's selection label.\n \"aria-label\": [item.label, item.supportingText, item.additionalText, item.hasRating ? item.ratingAriaLabel : undefined]\n .filter(Boolean).map(UDExText => cleanLabel(UDExText!)).join(\" \") || undefined,\n // Native position metadata replaces the duplicate spoken live-region summary.\n \"aria-level\": isTreeStructure ? ((item.parentElement as UDExListGroupHeaderBase | null)?.isGroup ? 2 : 1) : undefined,\n \"aria-posinset\": posInSet,\n \"aria-setsize\": setSize,\n \"aria-selected\": selectable && (effectiveRole === \"option\" || effectiveRole === \"treeitem\") ? String(item.selected) : undefined,\n \"aria-disabled\": item.disabled ? \"true\" as string : undefined,\n \"_use-host-aria-role\": true,\n ...(accessibleRole ? { \"accessible-role\": accessibleRole } : {}),\n } : {\n ...(accessibleRole ? { \"accessible-role\": accessibleRole } : {}),\n };\n // Real-focus grouped children keep their position on the inner focusable row.\n const treePositionAttrs = (!activeDescendantMode && posInSet != null && setSize != null) ? {\n \"_aria-pos-in-set\": posInSet,\n \"_aria-set-size\": setSize,\n } : {};\n return (\n <UDExListItem\n key={index}\n id={item._id}\n role={hostRole}\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 {...hostAriaAttrs}\n {...treePositionAttrs}\n {...((item as any).innerHTML ? { dangerouslySetInnerHTML: { __html: (item as any).innerHTML } } : {})}>\n </UDExListItem>\n );\n}\n"]}
|
package/dist/SideNavigation.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Slot } from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
1
2
|
import SideNavigation from "@ui5/webcomponents-fiori/dist/SideNavigation.js";
|
|
2
3
|
export declare enum UDExSideNavigationVariant {
|
|
3
4
|
Full = "Full",
|
|
@@ -46,6 +47,14 @@ declare class UDExSideNavigation extends SideNavigation {
|
|
|
46
47
|
* @public
|
|
47
48
|
*/
|
|
48
49
|
placement: `${UDExSideNavigationPlacement}`;
|
|
50
|
+
/**
|
|
51
|
+
* Defines additional free-form content rendered in a dedicated area at the bottom
|
|
52
|
+
* of the component, below the navigation items.
|
|
53
|
+
*
|
|
54
|
+
* @public
|
|
55
|
+
*/
|
|
56
|
+
additionalContent: Slot<HTMLElement>;
|
|
49
57
|
onBeforeRendering(): void;
|
|
58
|
+
get hasAdditionalContent(): boolean;
|
|
50
59
|
}
|
|
51
60
|
export default UDExSideNavigation;
|
package/dist/SideNavigation.js
CHANGED
|
@@ -7,7 +7,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
8
8
|
import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
|
|
9
9
|
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
10
|
+
import slot from "@ui5/webcomponents-base/dist/decorators/slot-strict.js";
|
|
10
11
|
import SideNavigation from "@ui5/webcomponents-fiori/dist/SideNavigation.js";
|
|
12
|
+
import SideNavigationTemplate from "./SideNavigationTemplate.js";
|
|
11
13
|
// Styles
|
|
12
14
|
import SideNavigationCss from "./generated/themes/SideNavigation.css.js";
|
|
13
15
|
export var UDExSideNavigationVariant;
|
|
@@ -61,6 +63,9 @@ let UDExSideNavigation = class UDExSideNavigation extends SideNavigation {
|
|
|
61
63
|
item.setAttribute("variant", this.variant);
|
|
62
64
|
});
|
|
63
65
|
}
|
|
66
|
+
get hasAdditionalContent() {
|
|
67
|
+
return !!this.additionalContent && this.additionalContent.length > 0;
|
|
68
|
+
}
|
|
64
69
|
};
|
|
65
70
|
__decorate([
|
|
66
71
|
property({ type: Boolean })
|
|
@@ -71,10 +76,14 @@ __decorate([
|
|
|
71
76
|
__decorate([
|
|
72
77
|
property()
|
|
73
78
|
], UDExSideNavigation.prototype, "placement", void 0);
|
|
79
|
+
__decorate([
|
|
80
|
+
slot({ type: HTMLElement, invalidateOnChildChange: true })
|
|
81
|
+
], UDExSideNavigation.prototype, "additionalContent", void 0);
|
|
74
82
|
UDExSideNavigation = __decorate([
|
|
75
83
|
customElement({
|
|
76
84
|
tag: "udex-side-navigation",
|
|
77
85
|
renderer: jsxRenderer,
|
|
86
|
+
template: SideNavigationTemplate,
|
|
78
87
|
styles: [SideNavigation.styles, SideNavigationCss],
|
|
79
88
|
})
|
|
80
89
|
], UDExSideNavigation);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideNavigation.js","sourceRoot":"","sources":["../src/SideNavigation.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,cAAc,MAAM,iDAAiD,CAAC;
|
|
1
|
+
{"version":3,"file":"SideNavigation.js","sourceRoot":"","sources":["../src/SideNavigation.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,wDAAwD,CAAC;AAE1E,OAAO,cAAc,MAAM,iDAAiD,CAAC;AAC7E,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AAEjE,SAAS;AACT,OAAO,iBAAiB,MAAM,0CAA0C,CAAC;AAEzE,MAAM,CAAN,IAAY,yBAGX;AAHD,WAAY,yBAAyB;IACnC,0CAAa,CAAA;IACb,gDAAmB,CAAA;AACrB,CAAC,EAHW,yBAAyB,KAAzB,yBAAyB,QAGpC;AAED,MAAM,CAAN,IAAY,2BAGX;AAHD,WAAY,2BAA2B;IACrC,4CAAa,CAAA;IACb,8CAAe,CAAA;AACjB,CAAC,EAHW,2BAA2B,KAA3B,2BAA2B,QAGtC;AAED;;;;;;;;;;;;;;;;GAgBG;AAQH,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,cAAc;IAA/C;;QAUE;;;;;WAKG;QAED,YAAO,GAAmC,yBAAyB,CAAC,IAAI,CAAC;QAE3E;;;;;WAKG;QAED,cAAS,GAAqC,2BAA2B,CAAC,IAAI,CAAC;IAqBnF,CAAC;IAVC,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,gBAAgB,CAAC,8DAA8D,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,CAAC,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;IACvE,CAAC;CACF,CAAA;AAvCG;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0DACD;AASzB;IADD,QAAQ,EAAE;mDACgE;AASzE;IADD,QAAQ,EAAE;qDACsE;AAS/E;IADD,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;6DACnB;AAnCpC,kBAAkB;IAPvB,aAAa,CAAC;QACb,GAAG,EAAE,sBAAsB;QAC3B,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,sBAAsB;QAChC,MAAM,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,CAAC;KACnD,CAAC;GAEI,kBAAkB,CA+CvB;AAED,kBAAkB,CAAC,MAAM,EAAE,CAAC;AAE5B,eAAe,kBAAkB,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport type { Slot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport SideNavigation from \"@ui5/webcomponents-fiori/dist/SideNavigation.js\";\nimport SideNavigationTemplate from \"./SideNavigationTemplate.js\";\n\n// Styles\nimport SideNavigationCss from \"./generated/themes/SideNavigation.css.js\";\n\nexport enum UDExSideNavigationVariant {\n Full = \"Full\",\n Content = \"Content\",\n}\n\nexport enum UDExSideNavigationPlacement {\n Left = \"Left\",\n Right = \"Right\",\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-side-navigation</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/SideNavigation.js\";</code>\n *\n * @constructor\n * @extends SideNavigation\n * @public\n */\n@customElement({\n tag: \"udex-side-navigation\",\n renderer: jsxRenderer,\n template: SideNavigationTemplate,\n styles: [SideNavigation.styles, SideNavigationCss],\n})\n\nclass UDExSideNavigation extends SideNavigation {\n /**\n * Defines if Side Navigation is fixed in place or scrollable with the content.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n isFixedInPlace!: boolean;\n\n /**\n * Defines the variant of the component.\n *\n * @default \"Full\"\n * @public\n */\n @property()\n variant: `${UDExSideNavigationVariant}` = UDExSideNavigationVariant.Full;\n\n /**\n * Defines which side the navigation panel is on.\n *\n * @default \"Left\"\n * @public\n */\n @property()\n placement: `${UDExSideNavigationPlacement}` = UDExSideNavigationPlacement.Left;\n\n /**\n * Defines additional free-form content rendered in a dedicated area at the bottom\n * of the component, below the navigation items.\n *\n * @public\n */\n @slot({ type: HTMLElement, invalidateOnChildChange: true })\n additionalContent!: Slot<HTMLElement>;\n\n onBeforeRendering() {\n super.onBeforeRendering();\n this.querySelectorAll(\"[udex-side-navigation-item], [udex-side-navigation-sub-item]\").forEach(item => {\n item.setAttribute(\"variant\", this.variant);\n });\n }\n\n get hasAdditionalContent(): boolean {\n return !!this.additionalContent && this.additionalContent.length > 0;\n }\n}\n\nUDExSideNavigation.define();\n\nexport default UDExSideNavigation;\n"]}
|
|
@@ -30,6 +30,13 @@ declare class UDExSideNavigationMobile extends UI5Element {
|
|
|
30
30
|
* @private
|
|
31
31
|
*/
|
|
32
32
|
_dropdownOpened: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Holds the computed max-height of the opened dropdown, so it spans from below the
|
|
35
|
+
* trigger down to a fixed gap above the viewport bottom (matching the mobile secondary navigation).
|
|
36
|
+
*
|
|
37
|
+
* @private
|
|
38
|
+
*/
|
|
39
|
+
_dropdownHeight?: string;
|
|
33
40
|
/**
|
|
34
41
|
* Defines the main items of the `ui5-side-navigation`. Use the `ui5-side-navigation-item` component
|
|
35
42
|
* for the top-level items, and the `ui5-side-navigation-sub-item` component for second-level items, nested
|
|
@@ -47,6 +54,13 @@ declare class UDExSideNavigationMobile extends UI5Element {
|
|
|
47
54
|
* @public
|
|
48
55
|
*/
|
|
49
56
|
fixedItems: Slot<UDExSideNavigationItem | UDExSideNavigationGroup>;
|
|
57
|
+
/**
|
|
58
|
+
* Defines additional free-form content rendered in a dedicated area at the bottom
|
|
59
|
+
* of the dropdown, below the navigation items.
|
|
60
|
+
*
|
|
61
|
+
* @public
|
|
62
|
+
*/
|
|
63
|
+
additionalContent: Slot<HTMLElement>;
|
|
50
64
|
/**
|
|
51
65
|
* Indicates selected item element
|
|
52
66
|
*
|
|
@@ -55,7 +69,11 @@ declare class UDExSideNavigationMobile extends UI5Element {
|
|
|
55
69
|
*/
|
|
56
70
|
_selectedItem: SelectedItem;
|
|
57
71
|
_navItems: Array<UDExSideNavigationItem | UDExSideNavigationGroup>;
|
|
72
|
+
_additionalContentNodes: Array<HTMLElement>;
|
|
58
73
|
_dropdown: UDExDropdown;
|
|
74
|
+
_boundUpdateDropdownHeight: () => void;
|
|
75
|
+
constructor();
|
|
76
|
+
onExitDOM(): void;
|
|
59
77
|
onBeforeRendering(): void;
|
|
60
78
|
onAfterRendering(): void;
|
|
61
79
|
_setNavItems: (sideNavigation: HTMLElement | null) => void;
|
|
@@ -63,6 +81,7 @@ declare class UDExSideNavigationMobile extends UI5Element {
|
|
|
63
81
|
_afterDropdownOpen(): void;
|
|
64
82
|
_afterDropdownClose(): void;
|
|
65
83
|
handleTriggerClick(): void;
|
|
84
|
+
_updateDropdownHeight(): void;
|
|
66
85
|
handleKeydown(event: KeyboardEvent): void;
|
|
67
86
|
_handleSelectionChanged(event: {
|
|
68
87
|
detail: {
|
|
@@ -12,6 +12,8 @@ import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
|
|
|
12
12
|
import SideNavigationMobileTemplate from "./SideNavigationMobileTemplate.js";
|
|
13
13
|
// Styles
|
|
14
14
|
import SideNavigationMobileCss from "./generated/themes/SideNavigationMobile.css.js";
|
|
15
|
+
// Gap (in px) kept between the bottom of the opened dropdown and the viewport bottom.
|
|
16
|
+
const DROPDOWN_BOTTOM_GAP = 24;
|
|
15
17
|
/**
|
|
16
18
|
* @class
|
|
17
19
|
*
|
|
@@ -31,7 +33,7 @@ import SideNavigationMobileCss from "./generated/themes/SideNavigationMobile.css
|
|
|
31
33
|
*/
|
|
32
34
|
let UDExSideNavigationMobile = class UDExSideNavigationMobile extends UI5Element {
|
|
33
35
|
constructor() {
|
|
34
|
-
super(
|
|
36
|
+
super();
|
|
35
37
|
this._setNavItems = (sideNavigation) => {
|
|
36
38
|
if (!sideNavigation) {
|
|
37
39
|
return;
|
|
@@ -41,7 +43,16 @@ let UDExSideNavigationMobile = class UDExSideNavigationMobile extends UI5Element
|
|
|
41
43
|
sideNavigation.appendChild(item);
|
|
42
44
|
}
|
|
43
45
|
});
|
|
46
|
+
this._additionalContentNodes?.forEach(node => {
|
|
47
|
+
if (node.parentElement !== sideNavigation) {
|
|
48
|
+
sideNavigation.appendChild(node);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
44
51
|
};
|
|
52
|
+
this._boundUpdateDropdownHeight = this._updateDropdownHeight.bind(this);
|
|
53
|
+
}
|
|
54
|
+
onExitDOM() {
|
|
55
|
+
window.removeEventListener("resize", this._boundUpdateDropdownHeight);
|
|
45
56
|
}
|
|
46
57
|
onBeforeRendering() {
|
|
47
58
|
const items = this.getSlottedNodes("navItems");
|
|
@@ -53,6 +64,7 @@ let UDExSideNavigationMobile = class UDExSideNavigationMobile extends UI5Element
|
|
|
53
64
|
if (!this._selectedItem && this._navItems?.length) {
|
|
54
65
|
this._selectedItem = this.getSelectedItem() || null;
|
|
55
66
|
}
|
|
67
|
+
this._additionalContentNodes = this.getSlottedNodes("additionalContent");
|
|
56
68
|
}
|
|
57
69
|
onAfterRendering() {
|
|
58
70
|
this._dropdown = this._getResponsePopover();
|
|
@@ -62,13 +74,26 @@ let UDExSideNavigationMobile = class UDExSideNavigationMobile extends UI5Element
|
|
|
62
74
|
}
|
|
63
75
|
_afterDropdownOpen() {
|
|
64
76
|
this._dropdownOpened = true;
|
|
77
|
+
window.addEventListener("resize", this._boundUpdateDropdownHeight);
|
|
65
78
|
}
|
|
66
79
|
_afterDropdownClose() {
|
|
67
80
|
this._dropdownOpened = false;
|
|
81
|
+
window.removeEventListener("resize", this._boundUpdateDropdownHeight);
|
|
68
82
|
}
|
|
69
83
|
handleTriggerClick() {
|
|
84
|
+
if (!this._dropdown.open) {
|
|
85
|
+
this._updateDropdownHeight();
|
|
86
|
+
}
|
|
70
87
|
this._dropdown.open = !this._dropdown.open;
|
|
71
88
|
}
|
|
89
|
+
_updateDropdownHeight() {
|
|
90
|
+
const trigger = this.shadowRoot.querySelector(".udex-side-navigation-mobile__trigger");
|
|
91
|
+
if (!trigger) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
const { bottom } = trigger.getBoundingClientRect();
|
|
95
|
+
this._dropdownHeight = `${window.innerHeight - bottom - DROPDOWN_BOTTOM_GAP}px`;
|
|
96
|
+
}
|
|
72
97
|
handleKeydown(event) {
|
|
73
98
|
if ((event.key === "Enter" || event.key === " ")) {
|
|
74
99
|
this.handleTriggerClick();
|
|
@@ -89,12 +114,18 @@ let UDExSideNavigationMobile = class UDExSideNavigationMobile extends UI5Element
|
|
|
89
114
|
__decorate([
|
|
90
115
|
property({ noAttribute: true, type: Boolean })
|
|
91
116
|
], UDExSideNavigationMobile.prototype, "_dropdownOpened", void 0);
|
|
117
|
+
__decorate([
|
|
118
|
+
property({ noAttribute: true })
|
|
119
|
+
], UDExSideNavigationMobile.prototype, "_dropdownHeight", void 0);
|
|
92
120
|
__decorate([
|
|
93
121
|
slot({ type: HTMLElement, invalidateOnChildChange: true, "default": true })
|
|
94
122
|
], UDExSideNavigationMobile.prototype, "navItems", void 0);
|
|
95
123
|
__decorate([
|
|
96
124
|
slot({ type: HTMLElement, invalidateOnChildChange: true })
|
|
97
125
|
], UDExSideNavigationMobile.prototype, "fixedItems", void 0);
|
|
126
|
+
__decorate([
|
|
127
|
+
slot({ type: HTMLElement, invalidateOnChildChange: true })
|
|
128
|
+
], UDExSideNavigationMobile.prototype, "additionalContent", void 0);
|
|
98
129
|
__decorate([
|
|
99
130
|
property({ noAttribute: true, type: Object })
|
|
100
131
|
], UDExSideNavigationMobile.prototype, "_selectedItem", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideNavigationMobile.js","sourceRoot":"","sources":["../src/SideNavigationMobile.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot, Slot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport SideNavigationMobileTemplate from \"./SideNavigationMobileTemplate.js\";\nimport type UDExDropdown from \"./Dropdown.js\";\nimport type UDExSideNavigationItem from \"./SideNavigationItem.js\";\nimport type UDExSideNavigationSubItem from \"./SideNavigationSubItem.js\";\nimport type UDExSideNavigationGroup from \"./SideNavigationGroup.js\";\n\n// Styles\nimport SideNavigationMobileCss from \"./generated/themes/SideNavigationMobile.css.js\";\n\nexport type SelectedItem = UDExSideNavigationItem | UDExSideNavigationSubItem | null;\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-side-navigation-mobile</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/SideNavigation.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-side-navigation-mobile\",\n renderer: jsxRenderer,\n template: SideNavigationMobileTemplate,\n styles: [SideNavigationMobileCss],\n})\n\nclass UDExSideNavigationMobile extends UI5Element {\n /**\n * Indicates if dropdown is opened\n *\n * @default false\n * @private\n */\n @property({ noAttribute: true, type: Boolean })\n _dropdownOpened!: boolean;\n\n /**\n * Defines the main items of the `ui5-side-navigation`. Use the `ui5-side-navigation-item` component\n * for the top-level items, and the `ui5-side-navigation-sub-item` component for second-level items, nested\n * inside the items.\n *\n * @public\n */\n @slot({ type: HTMLElement, invalidateOnChildChange: true, \"default\": true })\n navItems!: DefaultSlot<UDExSideNavigationItem | UDExSideNavigationGroup>;\n\n /**\n * Defines the fixed items at the bottom of the `ui5-side-navigation`. Use the `ui5-side-navigation-item` component\n * for the fixed items, and optionally the `ui5-side-navigation-sub-item` component to provide second-level items inside them.\n *\n * **Note:** In order to achieve the best user experience, it is recommended that you keep the fixed items \"flat\" (do not pass sub-items)\n *\n * @public\n */\n @slot({ type: HTMLElement, invalidateOnChildChange: true })\n fixedItems!: Slot<UDExSideNavigationItem | UDExSideNavigationGroup>;\n\n /**\n * Indicates selected item element\n *\n * @default false\n * @private\n */\n @property({ noAttribute: true, type: Object })\n _selectedItem!: SelectedItem;\n\n _navItems!: Array<UDExSideNavigationItem | UDExSideNavigationGroup>;\n _dropdown!: UDExDropdown;\n\n onBeforeRendering() {\n const items = this.getSlottedNodes<UDExSideNavigationItem | UDExSideNavigationGroup>(\"navItems\");\n const fixedItems = this.getSlottedNodes<UDExSideNavigationItem | UDExSideNavigationGroup>(\"fixedItems\");\n const allItems = items.concat(fixedItems);\n if (allItems.length > 0) {\n this._navItems = allItems;\n }\n if (!this._selectedItem && this._navItems?.length) {\n this._selectedItem = this.getSelectedItem() || null;\n }\n }\n\n onAfterRendering() {\n this._dropdown = this._getResponsePopover();\n }\n\n _setNavItems = (sideNavigation: HTMLElement | null) => {\n if (!sideNavigation) {\n return;\n }\n this._navItems?.forEach(item => {\n if (item.parentElement !== sideNavigation) {\n sideNavigation.appendChild(item);\n }\n });\n };\n\n _getResponsePopover(): UDExDropdown {\n return this.shadowRoot!.querySelector<UDExDropdown>(`[udex-dropdown]`)!;\n }\n\n _afterDropdownOpen() {\n this._dropdownOpened = true;\n }\n\n _afterDropdownClose() {\n this._dropdownOpened = false;\n }\n\n handleTriggerClick() {\n this._dropdown.open = !this._dropdown.open;\n }\n\n handleKeydown(event: KeyboardEvent) {\n if ((event.key === \"Enter\" || event.key === \" \")) {\n this.handleTriggerClick();\n }\n }\n\n _handleSelectionChanged(event: {detail: { item: UDExSideNavigationItem | UDExSideNavigationSubItem }}) {\n this._dropdown = this._getResponsePopover();\n this._dropdown.open = false;\n this._selectedItem = event.detail.item;\n }\n\n getSelectedItem(): UDExSideNavigationItem | UDExSideNavigationSubItem | undefined {\n const items = this._navItems.reduce((result, item) => {\n return (result).concat((item.allItems as UDExSideNavigationSubItem[]) || []);\n }, new Array<UDExSideNavigationItem | UDExSideNavigationSubItem>());\n return items.find(item => item?._selected);\n }\n}\n\nUDExSideNavigationMobile.define();\n\nexport default UDExSideNavigationMobile;\n"]}
|
|
1
|
+
{"version":3,"file":"SideNavigationMobile.js","sourceRoot":"","sources":["../src/SideNavigationMobile.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot, Slot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport SideNavigationMobileTemplate from \"./SideNavigationMobileTemplate.js\";\nimport type UDExDropdown from \"./Dropdown.js\";\nimport type UDExSideNavigationItem from \"./SideNavigationItem.js\";\nimport type UDExSideNavigationSubItem from \"./SideNavigationSubItem.js\";\nimport type UDExSideNavigationGroup from \"./SideNavigationGroup.js\";\n\n// Styles\nimport SideNavigationMobileCss from \"./generated/themes/SideNavigationMobile.css.js\";\n\nexport type SelectedItem = UDExSideNavigationItem | UDExSideNavigationSubItem | null;\n\n// Gap (in px) kept between the bottom of the opened dropdown and the viewport bottom.\nconst DROPDOWN_BOTTOM_GAP = 24;\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-side-navigation-mobile</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/SideNavigation.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-side-navigation-mobile\",\n renderer: jsxRenderer,\n template: SideNavigationMobileTemplate,\n styles: [SideNavigationMobileCss],\n})\n\nclass UDExSideNavigationMobile extends UI5Element {\n /**\n * Indicates if dropdown is opened\n *\n * @default false\n * @private\n */\n @property({ noAttribute: true, type: Boolean })\n _dropdownOpened!: boolean;\n\n /**\n * Holds the computed max-height of the opened dropdown, so it spans from below the\n * trigger down to a fixed gap above the viewport bottom (matching the mobile secondary navigation).\n *\n * @private\n */\n @property({ noAttribute: true })\n _dropdownHeight?: string;\n\n /**\n * Defines the main items of the `ui5-side-navigation`. Use the `ui5-side-navigation-item` component\n * for the top-level items, and the `ui5-side-navigation-sub-item` component for second-level items, nested\n * inside the items.\n *\n * @public\n */\n @slot({ type: HTMLElement, invalidateOnChildChange: true, \"default\": true })\n navItems!: DefaultSlot<UDExSideNavigationItem | UDExSideNavigationGroup>;\n\n /**\n * Defines the fixed items at the bottom of the `ui5-side-navigation`. Use the `ui5-side-navigation-item` component\n * for the fixed items, and optionally the `ui5-side-navigation-sub-item` component to provide second-level items inside them.\n *\n * **Note:** In order to achieve the best user experience, it is recommended that you keep the fixed items \"flat\" (do not pass sub-items)\n *\n * @public\n */\n @slot({ type: HTMLElement, invalidateOnChildChange: true })\n fixedItems!: Slot<UDExSideNavigationItem | UDExSideNavigationGroup>;\n\n /**\n * Defines additional free-form content rendered in a dedicated area at the bottom\n * of the dropdown, below the navigation items.\n *\n * @public\n */\n @slot({ type: HTMLElement, invalidateOnChildChange: true })\n additionalContent!: Slot<HTMLElement>;\n\n /**\n * Indicates selected item element\n *\n * @default false\n * @private\n */\n @property({ noAttribute: true, type: Object })\n _selectedItem!: SelectedItem;\n\n _navItems!: Array<UDExSideNavigationItem | UDExSideNavigationGroup>;\n _additionalContentNodes!: Array<HTMLElement>;\n _dropdown!: UDExDropdown;\n _boundUpdateDropdownHeight: () => void;\n\n constructor() {\n super();\n this._boundUpdateDropdownHeight = this._updateDropdownHeight.bind(this);\n }\n\n onExitDOM() {\n window.removeEventListener(\"resize\", this._boundUpdateDropdownHeight);\n }\n\n onBeforeRendering() {\n const items = this.getSlottedNodes<UDExSideNavigationItem | UDExSideNavigationGroup>(\"navItems\");\n const fixedItems = this.getSlottedNodes<UDExSideNavigationItem | UDExSideNavigationGroup>(\"fixedItems\");\n const allItems = items.concat(fixedItems);\n if (allItems.length > 0) {\n this._navItems = allItems;\n }\n if (!this._selectedItem && this._navItems?.length) {\n this._selectedItem = this.getSelectedItem() || null;\n }\n this._additionalContentNodes = this.getSlottedNodes<HTMLElement>(\"additionalContent\");\n }\n\n onAfterRendering() {\n this._dropdown = this._getResponsePopover();\n }\n\n _setNavItems = (sideNavigation: HTMLElement | null) => {\n if (!sideNavigation) {\n return;\n }\n this._navItems?.forEach(item => {\n if (item.parentElement !== sideNavigation) {\n sideNavigation.appendChild(item);\n }\n });\n this._additionalContentNodes?.forEach(node => {\n if (node.parentElement !== sideNavigation) {\n sideNavigation.appendChild(node);\n }\n });\n };\n\n _getResponsePopover(): UDExDropdown {\n return this.shadowRoot!.querySelector<UDExDropdown>(`[udex-dropdown]`)!;\n }\n\n _afterDropdownOpen() {\n this._dropdownOpened = true;\n window.addEventListener(\"resize\", this._boundUpdateDropdownHeight);\n }\n\n _afterDropdownClose() {\n this._dropdownOpened = false;\n window.removeEventListener(\"resize\", this._boundUpdateDropdownHeight);\n }\n\n handleTriggerClick() {\n if (!this._dropdown.open) {\n this._updateDropdownHeight();\n }\n this._dropdown.open = !this._dropdown.open;\n }\n\n _updateDropdownHeight() {\n const trigger = this.shadowRoot!.querySelector<HTMLElement>(\".udex-side-navigation-mobile__trigger\");\n if (!trigger) {\n return;\n }\n const { bottom } = trigger.getBoundingClientRect();\n this._dropdownHeight = `${window.innerHeight - bottom - DROPDOWN_BOTTOM_GAP}px`;\n }\n\n handleKeydown(event: KeyboardEvent) {\n if ((event.key === \"Enter\" || event.key === \" \")) {\n this.handleTriggerClick();\n }\n }\n\n _handleSelectionChanged(event: {detail: { item: UDExSideNavigationItem | UDExSideNavigationSubItem }}) {\n this._dropdown = this._getResponsePopover();\n this._dropdown.open = false;\n this._selectedItem = event.detail.item;\n }\n\n getSelectedItem(): UDExSideNavigationItem | UDExSideNavigationSubItem | undefined {\n const items = this._navItems.reduce((result, item) => {\n return (result).concat((item.allItems as UDExSideNavigationSubItem[]) || []);\n }, new Array<UDExSideNavigationItem | UDExSideNavigationSubItem>());\n return items.find(item => item?._selected);\n }\n}\n\nUDExSideNavigationMobile.define();\n\nexport default UDExSideNavigationMobile;\n"]}
|
|
@@ -5,7 +5,6 @@ import UDExSideNavigation from "./SideNavigation.js";
|
|
|
5
5
|
import { PopoverActualHorizontalAlign, PopoverActualPlacement } from "@ui5/webcomponents/Popover.js";
|
|
6
6
|
import slimArrowDown from "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
|
|
7
7
|
export default function SideNavigationMobileTemplate() {
|
|
8
|
-
return (_jsxs(_Fragment, { children: [_jsxs("div", { id: `udex-${this._id}-side-navigation-mobile__opener`, class: "udex-side-navigation-mobile__trigger", "aria-haspopup": "true", tabindex: 0, onKeyDown: this.handleKeydown, onClick: this.handleTriggerClick, "accessible-role": "button", "active": this._dropdownOpened || undefined, children: [_jsx("div", { class: "udex-side-navigation-mobile__selected-item", children: this._selectedItem ? (_jsxs(_Fragment, { children: [this._selectedItem.icon ? (_jsx(Icon, { class: "udex-side-navigation-mobile__selected-item-icon", name: this._selectedItem.icon })) : undefined, _jsx("span", { children: this._selectedItem.text })] })) : undefined }), _jsx(Icon, { class: "udex-side-navigation-mobile__trigger-toggle-icon", name: slimArrowDown })] }), _jsx(UDExDropdown, { id: `udex-${this._id}-side-navigation-mobile__popover`, class: "udex-side-navigation-mobile__popover", placement: PopoverActualPlacement.Bottom, onOpen: this._afterDropdownOpen, onClose: this._afterDropdownClose, horizontalAlign: PopoverActualHorizontalAlign.Stretch, height:
|
|
9
|
-
"disable-target-overlap": "true", children: _jsx(UDExSideNavigation, { ref: this._setNavItems, onSelectionChange: this._handleSelectionChanged, "in-mobile": "" }) })] }));
|
|
8
|
+
return (_jsxs(_Fragment, { children: [_jsxs("div", { id: `udex-${this._id}-side-navigation-mobile__opener`, class: "udex-side-navigation-mobile__trigger", "aria-haspopup": "true", tabindex: 0, onKeyDown: this.handleKeydown, onClick: this.handleTriggerClick, "accessible-role": "button", "active": this._dropdownOpened || undefined, children: [_jsx("div", { class: "udex-side-navigation-mobile__selected-item", children: this._selectedItem ? (_jsxs(_Fragment, { children: [this._selectedItem.icon ? (_jsx(Icon, { class: "udex-side-navigation-mobile__selected-item-icon", name: this._selectedItem.icon })) : undefined, _jsx("span", { children: this._selectedItem.text })] })) : undefined }), _jsx(Icon, { class: "udex-side-navigation-mobile__trigger-toggle-icon", name: slimArrowDown })] }), _jsx(UDExDropdown, { id: `udex-${this._id}-side-navigation-mobile__popover`, class: "udex-side-navigation-mobile__popover", placement: PopoverActualPlacement.Bottom, onOpen: this._afterDropdownOpen, onClose: this._afterDropdownClose, horizontalAlign: PopoverActualHorizontalAlign.Stretch, height: this._dropdownHeight, opener: `udex-${this._id}-side-navigation-mobile__opener`, "disable-target-overlap": "true", children: _jsx(UDExSideNavigation, { ref: this._setNavItems, onSelectionChange: this._handleSelectionChanged, "in-mobile": "" }) })] }));
|
|
10
9
|
}
|
|
11
10
|
//# sourceMappingURL=SideNavigationMobileTemplate.js.map
|