@sapudex/web-components 2.57.0 → 2.59.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/FilterMenu.cy.tsx +209 -19
- package/cypress/specs/List.cy.tsx +67 -4
- package/cypress/specs/ListItem.cy.tsx +35 -9
- package/cypress/specs/SelectBox.cy.tsx +101 -1
- package/cypress/specs/TabNavigation.cy.tsx +351 -21
- package/cypress/specs/TagGroup.cy.tsx +1 -1
- package/dist/List.d.ts +15 -1
- package/dist/List.js +23 -2
- package/dist/List.js.map +1 -1
- package/dist/ListGroupHeaderBase.d.ts +13 -0
- package/dist/ListGroupHeaderBase.js +43 -2
- package/dist/ListGroupHeaderBase.js.map +1 -1
- package/dist/ListGroupHeaderTemplate.js +26 -7
- package/dist/ListGroupHeaderTemplate.js.map +1 -1
- package/dist/ListItem.d.ts +0 -3
- package/dist/ListItem.js +18 -12
- package/dist/ListItem.js.map +1 -1
- package/dist/ListItemBase.d.ts +17 -0
- package/dist/ListItemBase.js +15 -0
- package/dist/ListItemBase.js.map +1 -1
- package/dist/ListItemTemplate.js +2 -2
- package/dist/ListItemTemplate.js.map +1 -1
- package/dist/MastheadCountrySelector.js +5 -5
- package/dist/MastheadCountrySelector.js.map +1 -1
- package/dist/MastheadCountrySelectorTemplate.d.ts +2 -0
- package/dist/MastheadCountrySelectorTemplate.js +15 -0
- package/dist/MastheadCountrySelectorTemplate.js.map +1 -0
- package/dist/MastheadItem.d.ts +0 -3
- package/dist/MastheadItem.js +3 -6
- package/dist/MastheadItem.js.map +1 -1
- package/dist/MastheadItemTemplate.d.ts +2 -0
- package/dist/MastheadItemTemplate.js +41 -0
- package/dist/MastheadItemTemplate.js.map +1 -0
- package/dist/MastheadMenu.d.ts +1 -0
- package/dist/MastheadMenu.js +4 -6
- package/dist/MastheadMenu.js.map +1 -1
- package/dist/MastheadMenuItem.d.ts +0 -3
- package/dist/MastheadMenuItem.js +3 -6
- package/dist/MastheadMenuItem.js.map +1 -1
- package/dist/MastheadMenuItemTemplate.d.ts +2 -0
- package/dist/MastheadMenuItemTemplate.js +36 -0
- package/dist/MastheadMenuItemTemplate.js.map +1 -0
- package/dist/MastheadMenuTemplate.d.ts +2 -0
- package/dist/MastheadMenuTemplate.js +13 -0
- package/dist/MastheadMenuTemplate.js.map +1 -0
- package/dist/MastheadMobileMenu.js +3 -3
- package/dist/MastheadMobileMenu.js.map +1 -1
- package/dist/MastheadMobileMenuTemplate.d.ts +2 -0
- package/dist/MastheadMobileMenuTemplate.js +33 -0
- package/dist/MastheadMobileMenuTemplate.js.map +1 -0
- package/dist/MastheadProfileMenu.d.ts +2 -4
- package/dist/MastheadProfileMenu.js +5 -20
- package/dist/MastheadProfileMenu.js.map +1 -1
- package/dist/MastheadProfileMenuTemplate.d.ts +2 -0
- package/dist/MastheadProfileMenuTemplate.js +24 -0
- package/dist/MastheadProfileMenuTemplate.js.map +1 -0
- package/dist/MastheadShell.js +3 -5
- package/dist/MastheadShell.js.map +1 -1
- package/dist/MastheadShellTemplate.d.ts +2 -0
- package/dist/MastheadShellTemplate.js +20 -0
- package/dist/MastheadShellTemplate.js.map +1 -0
- package/dist/RatingIndicatorTemplate.js +1 -1
- package/dist/RatingIndicatorTemplate.js.map +1 -1
- package/dist/SearchableListBase.d.ts +10 -0
- package/dist/SearchableListBase.js +34 -1
- package/dist/SearchableListBase.js.map +1 -1
- package/dist/SearchableListBaseTemplate.js +35 -4
- package/dist/SearchableListBaseTemplate.js.map +1 -1
- package/dist/SecondaryNavigation.d.ts +1 -0
- package/dist/SecondaryNavigation.js +23 -9
- package/dist/SecondaryNavigation.js.map +1 -1
- package/dist/SecondaryNavigationItem.d.ts +0 -1
- package/dist/SecondaryNavigationItem.js +4 -6
- package/dist/SecondaryNavigationItem.js.map +1 -1
- package/dist/SecondaryNavigationItemBase.js +2 -2
- package/dist/SecondaryNavigationItemBase.js.map +1 -1
- package/dist/SecondaryNavigationItemTemplate.d.ts +2 -0
- package/dist/SecondaryNavigationItemTemplate.js +12 -0
- package/dist/SecondaryNavigationItemTemplate.js.map +1 -0
- package/dist/SecondaryNavigationSubItem.d.ts +0 -2
- package/dist/SecondaryNavigationSubItem.js +3 -7
- package/dist/SecondaryNavigationSubItem.js.map +1 -1
- package/dist/SecondaryNavigationSubItemTemplate.d.ts +2 -0
- package/dist/SecondaryNavigationSubItemTemplate.js +16 -0
- package/dist/SecondaryNavigationSubItemTemplate.js.map +1 -0
- package/dist/SecondaryNavigationTemplate.d.ts +2 -0
- package/dist/SecondaryNavigationTemplate.js +7 -0
- package/dist/SecondaryNavigationTemplate.js.map +1 -0
- package/dist/SelectBase.js +8 -3
- package/dist/SelectBase.js.map +1 -1
- package/dist/SideNavigationMobile.d.ts +2 -3
- package/dist/SideNavigationMobile.js +22 -16
- package/dist/SideNavigationMobile.js.map +1 -1
- package/dist/SideNavigationMobileTemplate.d.ts +2 -0
- package/dist/SideNavigationMobileTemplate.js +11 -0
- package/dist/SideNavigationMobileTemplate.js.map +1 -0
- package/dist/Tab.d.ts +0 -7
- package/dist/Tab.js +4 -19
- package/dist/Tab.js.map +1 -1
- package/dist/TabHeaderTemplate.d.ts +2 -0
- package/dist/TabHeaderTemplate.js +15 -0
- package/dist/TabHeaderTemplate.js.map +1 -0
- package/dist/TabInOverflowTemplate.d.ts +2 -0
- package/dist/TabInOverflowTemplate.js +7 -0
- package/dist/TabInOverflowTemplate.js.map +1 -0
- package/dist/TabNavigation.d.ts +15 -4
- package/dist/TabNavigation.js +70 -40
- package/dist/TabNavigation.js.map +1 -1
- package/dist/TabNavigationPopoverTemplate.d.ts +2 -0
- package/dist/TabNavigationPopoverTemplate.js +9 -0
- package/dist/TabNavigationPopoverTemplate.js.map +1 -0
- package/dist/TabNavigationTemplate.d.ts +2 -0
- package/dist/TabNavigationTemplate.js +10 -0
- package/dist/TabNavigationTemplate.js.map +1 -0
- package/dist/TabTemplate.d.ts +2 -0
- package/dist/TabTemplate.js +5 -0
- package/dist/TabTemplate.js.map +1 -0
- package/dist/TagGroup.d.ts +2 -2
- package/dist/TagGroup.js +14 -3
- package/dist/TagGroup.js.map +1 -1
- package/dist/assets/InputSuggestions-CloTVyrf.js +2 -0
- package/dist/assets/{ListItemStandardExpandableTextTemplate-BQtSr7yg.js → ListItemStandardExpandableTextTemplate-DpquSMb2.js} +1 -1
- package/dist/assets/{ar-6UKwJun6.js → ar-CMU2PGtw.js} +1 -1
- package/dist/assets/{ar_EG-BTSal4jr.js → ar_EG-Bi2CIb24.js} +1 -1
- package/dist/assets/{ar_SA-Ck13AOrQ.js → ar_SA-BXTzBfWR.js} +1 -1
- package/dist/assets/{bg-fF9FXKHH.js → bg-B6_PMtzW.js} +1 -1
- package/dist/assets/{bundle.esm-GvPkDyXP.js → bundle.esm-Cyz8a5IX.js} +244 -262
- package/dist/assets/{ca-ZuvXTynI.js → ca-DFP6ILMq.js} +1 -1
- package/dist/assets/{cnr-CiidS6E_.js → cnr-Grlu3JuX.js} +1 -1
- package/dist/assets/{cs-CKH0PBiM.js → cs-lgNqqL4u.js} +1 -1
- package/dist/assets/{da-DLJy-V4w.js → da-ZKggtzGq.js} +1 -1
- package/dist/assets/{de-0N92OkSB.js → de-DL1zgfsi.js} +1 -1
- package/dist/assets/{de_AT-D8g7Tth2.js → de_AT-CmarUHhe.js} +1 -1
- package/dist/assets/{de_CH-DYTcKEqU.js → de_CH-CFp86jVo.js} +1 -1
- package/dist/assets/{el-OYZuNIHv.js → el-FdvefiDT.js} +1 -1
- package/dist/assets/{el_CY-D79vuMAa.js → el_CY-BJPkkKi8.js} +1 -1
- package/dist/assets/{en-CllNN7YY.js → en-B1Q_JFFb.js} +1 -1
- package/dist/assets/{en_AU-Ddrviu44.js → en_AU-Bm6lcfFm.js} +1 -1
- package/dist/assets/{en_GB-B9eSErHy.js → en_GB-CCipb5dG.js} +1 -1
- package/dist/assets/{en_HK-FdAjB4tQ.js → en_HK-Bu8Js72H.js} +1 -1
- package/dist/assets/{en_IE-zdmtzUDu.js → en_IE-BZXJHeYM.js} +1 -1
- package/dist/assets/{en_IN-DJJRjMIF.js → en_IN-Dh3537uv.js} +1 -1
- package/dist/assets/{en_NZ-BY--qj4s.js → en_NZ-Bx3mG4fb.js} +1 -1
- package/dist/assets/{en_PG-RcJi2hvJ.js → en_PG-CyRO9VGd.js} +1 -1
- package/dist/assets/{en_SG-BUtJMBS2.js → en_SG-BEsuw651.js} +1 -1
- package/dist/assets/{en_ZA-D-uqJ4Za.js → en_ZA-i0tdkruX.js} +1 -1
- package/dist/assets/{es-DgitLRHt.js → es-BKtAFDBk.js} +1 -1
- package/dist/assets/{es_AR-7a81KXAl.js → es_AR-Cgh6Q2W_.js} +1 -1
- package/dist/assets/{es_BO-CdNGyTgv.js → es_BO-CaK9OOQC.js} +1 -1
- package/dist/assets/{es_CL-DuHBIVFo.js → es_CL-u6fJ6PPk.js} +1 -1
- package/dist/assets/{es_CO-C0CJWwB-.js → es_CO-DAO-13dw.js} +1 -1
- package/dist/assets/{es_MX-DtPgyxGD.js → es_MX-D1KhXUy4.js} +1 -1
- package/dist/assets/{es_PE-DGF7Yjrt.js → es_PE-DEUen4VG.js} +1 -1
- package/dist/assets/{es_UY-fD9lVhfR.js → es_UY-CPBMwHSz.js} +1 -1
- package/dist/assets/{es_VE-BX3pigg8.js → es_VE-CNZouG2K.js} +1 -1
- package/dist/assets/{et-BMj4rjsT.js → et-DNQPssPo.js} +1 -1
- package/dist/assets/{fa-CQhbGi8S.js → fa-4zj1zCg1.js} +1 -1
- package/dist/assets/{fi-DBKA9_K5.js → fi-C6HFNTL6.js} +1 -1
- package/dist/assets/{fr-CMQtkd4R.js → fr-BydrHZkq.js} +1 -1
- package/dist/assets/{fr_BE-Bl0FruWm.js → fr_BE-C8hcZNOL.js} +1 -1
- package/dist/assets/{fr_CA-DFlIL_d4.js → fr_CA-Cw2zy44G.js} +1 -1
- package/dist/assets/{fr_CH-C8lyCDBe.js → fr_CH-BbCQFx3s.js} +1 -1
- package/dist/assets/{fr_LU-CG5r3b1-.js → fr_LU-BpH6nMiI.js} +1 -1
- package/dist/assets/{he-D3P1Q9GQ.js → he-CfKmVVrF.js} +1 -1
- package/dist/assets/{hi-B3yky8gy.js → hi-D1WBUmI6.js} +1 -1
- package/dist/assets/{hr-cQ9G2h7E.js → hr-pnk2hlkB.js} +1 -1
- package/dist/assets/{hu-D0ywysYs.js → hu-CCzBj3iT.js} +1 -1
- package/dist/assets/{id-B-yAWgiT.js → id-BeGrqJpK.js} +1 -1
- package/dist/assets/{it-DLzjbv-9.js → it-B6Mz1czr.js} +1 -1
- package/dist/assets/{it_CH-DKz1oDNC.js → it_CH-CwPXoj3N.js} +1 -1
- package/dist/assets/{ja-C8zg_Zor.js → ja-BILluLT2.js} +1 -1
- package/dist/assets/{kk-DZZOQ4wh.js → kk-YSUtf5Jy.js} +1 -1
- package/dist/assets/{ko-BEJWYeL9.js → ko-DUlXl0QQ.js} +1 -1
- package/dist/assets/{lt-Cji-Zk_r.js → lt-Dn5sAAtt.js} +1 -1
- package/dist/assets/{lv-rjxWTRTn.js → lv-D_k8IElJ.js} +1 -1
- package/dist/assets/messagebundle_ar-C3EXytoC.js +1 -0
- package/dist/assets/messagebundle_ar-DmZrrjEF.js +1 -0
- package/dist/assets/messagebundle_bg-BaZ97Q_b.js +1 -0
- package/dist/assets/messagebundle_bg-CgU7GPvK.js +1 -0
- package/dist/assets/messagebundle_ca-BwjVUbUA.js +1 -0
- package/dist/assets/messagebundle_ca-YiUGbO_8.js +1 -0
- package/dist/assets/messagebundle_cnr-CN2hPZIN.js +1 -0
- package/dist/assets/messagebundle_cnr-zdEdPJvc.js +1 -0
- package/dist/assets/messagebundle_cs-CGbnEjza.js +1 -0
- package/dist/assets/messagebundle_cs-DmRWH--o.js +1 -0
- package/dist/assets/messagebundle_cy-BF0YH9Iz.js +1 -0
- package/dist/assets/messagebundle_cy-CUiGsjO6.js +1 -0
- package/dist/assets/messagebundle_da-CWKLQJiq.js +1 -0
- package/dist/assets/messagebundle_da-bTkr4pUc.js +1 -0
- package/dist/assets/messagebundle_de-BmnClk4G.js +1 -0
- package/dist/assets/messagebundle_de-vB6qhgvG.js +1 -0
- package/dist/assets/messagebundle_el-DKdItEgW.js +1 -0
- package/dist/assets/messagebundle_el-Gv1Ly8aj.js +1 -0
- package/dist/assets/messagebundle_en-B7YJOdQz.js +1 -0
- package/dist/assets/messagebundle_en-DbKo-Dkl.js +1 -0
- package/dist/assets/messagebundle_en-DcV886MF.js +1 -0
- package/dist/assets/messagebundle_en_GB-Be93_Z4H.js +1 -0
- package/dist/assets/messagebundle_en_GB-CFh7e8hQ.js +1 -0
- package/dist/assets/messagebundle_en_US_sappsd-HCarC-Yr.js +1 -0
- package/dist/assets/messagebundle_en_US_sappsd-Se8GgI58.js +1 -0
- package/dist/assets/messagebundle_en_US_saprigi-CCHFk7YZ.js +1 -0
- package/dist/assets/messagebundle_en_US_saprigi-CbfvaHUL.js +1 -0
- package/dist/assets/messagebundle_en_US_saptrc-B8AIRzlo.js +1 -0
- package/dist/assets/messagebundle_en_US_saptrc-yJ3PcdEm.js +1 -0
- package/dist/assets/messagebundle_es-BH-a8BxO.js +1 -0
- package/dist/assets/messagebundle_es-Dt93wbGV.js +1 -0
- package/dist/assets/messagebundle_es_MX-BedlYlF3.js +1 -0
- package/dist/assets/messagebundle_es_MX-COPqooo9.js +1 -0
- package/dist/assets/messagebundle_et-BsYgDw46.js +1 -0
- package/dist/assets/messagebundle_et-UwpqUE-p.js +1 -0
- package/dist/assets/messagebundle_fi-BN3UWEz0.js +1 -0
- package/dist/assets/messagebundle_fi-Cwf7Puui.js +1 -0
- package/dist/assets/messagebundle_fr-43w09LAE.js +1 -0
- package/dist/assets/messagebundle_fr-CVRaf9_H.js +1 -0
- package/dist/assets/messagebundle_fr_CA-BM04X6xU.js +1 -0
- package/dist/assets/messagebundle_fr_CA-CdnVYumi.js +1 -0
- package/dist/assets/messagebundle_hi-DfeonbAH.js +1 -0
- package/dist/assets/messagebundle_hi-JRJlP9Uh.js +1 -0
- package/dist/assets/messagebundle_hr-CKOnn34q.js +1 -0
- package/dist/assets/messagebundle_hr-CbyIBlH3.js +1 -0
- package/dist/assets/messagebundle_hu-DF1gQudE.js +1 -0
- package/dist/assets/messagebundle_hu-D_IQ9kTy.js +1 -0
- package/dist/assets/messagebundle_id-B0K1usj4.js +1 -0
- package/dist/assets/messagebundle_id-gDJYoaGq.js +1 -0
- package/dist/assets/messagebundle_it-B80_R2Ih.js +1 -0
- package/dist/assets/messagebundle_it-CVqU4g6t.js +1 -0
- package/dist/assets/messagebundle_iw-BoelOIS4.js +1 -0
- package/dist/assets/messagebundle_iw-iMDtLxaa.js +1 -0
- package/dist/assets/messagebundle_ja-BlRbv4vb.js +1 -0
- package/dist/assets/messagebundle_ja-BrDH-19-.js +1 -0
- package/dist/assets/messagebundle_kk-C7VPek1-.js +1 -0
- package/dist/assets/messagebundle_kk-DhAT_bim.js +1 -0
- package/dist/assets/messagebundle_ko-CIqP8x6n.js +1 -0
- package/dist/assets/messagebundle_ko-DgD6uyZ5.js +1 -0
- package/dist/assets/messagebundle_lt-BGK5mpcm.js +1 -0
- package/dist/assets/messagebundle_lt-BV0kKrY0.js +1 -0
- package/dist/assets/messagebundle_lv-5IcjoxWD.js +1 -0
- package/dist/assets/messagebundle_lv-DDBi7iKe.js +1 -0
- package/dist/assets/messagebundle_mk-BUrn04sZ.js +1 -0
- package/dist/assets/messagebundle_mk-P5veRdg2.js +1 -0
- package/dist/assets/messagebundle_ms-9VDLR5en.js +1 -0
- package/dist/assets/messagebundle_ms-CB8sQUg2.js +1 -0
- package/dist/assets/messagebundle_nl-BaAgPO7h.js +1 -0
- package/dist/assets/messagebundle_nl-f1Up3dB9.js +1 -0
- package/dist/assets/messagebundle_no-C-_ldp7o.js +1 -0
- package/dist/assets/messagebundle_no-DRSqWQ-C.js +1 -0
- package/dist/assets/messagebundle_pl-BQoPaokq.js +1 -0
- package/dist/assets/messagebundle_pl-DBO1atMe.js +1 -0
- package/dist/assets/messagebundle_pt-BNEglYxa.js +1 -0
- package/dist/assets/messagebundle_pt-DgAMHmW-.js +1 -0
- package/dist/assets/messagebundle_pt_PT-BtYzp9KB.js +1 -0
- package/dist/assets/messagebundle_pt_PT-D1Ef8kUU.js +1 -0
- package/dist/assets/messagebundle_ro-CuDPp2fe.js +1 -0
- package/dist/assets/messagebundle_ro-D591wJ6f.js +1 -0
- package/dist/assets/messagebundle_ru-D0NridWi.js +1 -0
- package/dist/assets/messagebundle_ru-I8YLCfrn.js +1 -0
- package/dist/assets/messagebundle_sh-BswdbSRi.js +1 -0
- package/dist/assets/messagebundle_sh-Dw2y_oct.js +1 -0
- package/dist/assets/messagebundle_sk-BG4S4ZVk.js +1 -0
- package/dist/assets/messagebundle_sk-CXOF1RuF.js +1 -0
- package/dist/assets/messagebundle_sl-CAnJO_8X.js +1 -0
- package/dist/assets/messagebundle_sl-kpVWxIp_.js +1 -0
- package/dist/assets/messagebundle_sr-BTWvO8VQ.js +1 -0
- package/dist/assets/messagebundle_sr-VJmRSdj4.js +1 -0
- package/dist/assets/messagebundle_sv-B-RCgnW_.js +1 -0
- package/dist/assets/messagebundle_sv-Bd4wCcDb.js +1 -0
- package/dist/assets/messagebundle_th-CMHmLdI3.js +1 -0
- package/dist/assets/messagebundle_th-CZ1imsCy.js +1 -0
- package/dist/assets/messagebundle_tr-BfWAYIdW.js +1 -0
- package/dist/assets/messagebundle_tr-D-BnBirv.js +1 -0
- package/dist/assets/messagebundle_uk-DhxIThVl.js +1 -0
- package/dist/assets/messagebundle_uk-HU8hI0yj.js +1 -0
- package/dist/assets/messagebundle_vi-BUTqUKd4.js +1 -0
- package/dist/assets/messagebundle_vi-D1El4_Wj.js +1 -0
- package/dist/assets/messagebundle_zh_CN-Dt0azUea.js +1 -0
- package/dist/assets/messagebundle_zh_CN-Ofgx2uXY.js +1 -0
- package/dist/assets/messagebundle_zh_TW-5lv7yYS1.js +1 -0
- package/dist/assets/messagebundle_zh_TW-LSErOAsd.js +1 -0
- package/dist/assets/{mk-9_dtu4u_.js → mk-DTLhuyCG.js} +1 -1
- package/dist/assets/{ms-9b0nct8m.js → ms-BrLiVOVI.js} +1 -1
- package/dist/assets/{nb-CbGeVRux.js → nb-BeQEL0TR.js} +1 -1
- package/dist/assets/{nl-C0vlsmuT.js → nl-CGAh49hZ.js} +1 -1
- package/dist/assets/{nl_BE-Cteh34au.js → nl_BE-CxJbQu5q.js} +1 -1
- package/dist/assets/{parameters-bundle.css-D7WciSOr.js → parameters-bundle.css-B68EyCuR.js} +2 -0
- package/dist/assets/{parameters-bundle.css-CT-eTeTy.js → parameters-bundle.css-BkJSEiFx.js} +2 -0
- package/dist/assets/{parameters-bundle.css-BXQ-0CBp.js → parameters-bundle.css-C5V2Zp_F.js} +2 -0
- package/dist/assets/{parameters-bundle.css-XYDTPt-n.js → parameters-bundle.css-COeynv6D.js} +3 -1
- package/dist/assets/parameters-bundle.css-CnIzAMdG.js +3 -0
- package/dist/assets/parameters-bundle.css-CsV5qbZp.js +3 -0
- package/dist/assets/{parameters-bundle.css-C7KCPeJ8.js → parameters-bundle.css-DCvHNL3s.js} +1 -1
- package/dist/assets/{parameters-bundle.css-CQFZmxYm.js → parameters-bundle.css-DK40uKOQ.js} +1 -1
- package/dist/assets/parameters-bundle.css-DMfTAqMv.js +2 -0
- package/dist/assets/parameters-bundle.css-DO35k9r0.js +2 -0
- package/dist/assets/parameters-bundle.css-Df7wtRW4.js +2 -0
- package/dist/assets/{parameters-bundle.css-CxjtOlRD.js → parameters-bundle.css-DmEWEk0u.js} +36 -28
- package/dist/assets/{parameters-bundle.css-CSUOmZKr.js → parameters-bundle.css-DvAfqdlT.js} +1 -1
- package/dist/assets/{parameters-bundle.css-DPz62M1p.js → parameters-bundle.css-K-MvKimD.js} +3 -1
- package/dist/assets/parameters-bundle.css-KoXGNyLG.js +3 -0
- package/dist/assets/{parameters-bundle.css-CLLnzh9T.js → parameters-bundle.css-P_M_rm9z.js} +1 -1
- package/dist/assets/parameters-bundle.css-UJIxXHL5.js +2 -0
- package/dist/assets/{parameters-bundle.css-V2I5eOdH.js → parameters-bundle.css-co26r5Nz.js} +1 -1
- package/dist/assets/parameters-bundle.css-uT62L0va.js +3 -0
- package/dist/assets/{parameters-bundle.css-Cmk27zY9.js → parameters-bundle.css-vNsSPPU5.js} +38 -31
- package/dist/assets/{pl-CDjXMBDR.js → pl-DaZJCEN3.js} +1 -1
- package/dist/assets/{pt-BXklB5_T.js → pt-RxoGfR56.js} +1 -1
- package/dist/assets/{pt_PT-DEzSdlMb.js → pt_PT-CuC22O4H.js} +1 -1
- package/dist/assets/{ro-bFLE5ZuX.js → ro-kcCACdbI.js} +1 -1
- package/dist/assets/{ru-DuGdFJZn.js → ru-BQzoU2Gq.js} +1 -1
- package/dist/assets/{ru_UA-DujiLlPN.js → ru_UA-BtdbuqWW.js} +1 -1
- package/dist/assets/{sk-GkzEgQor.js → sk-D4C2H17S.js} +1 -1
- package/dist/assets/{sl-BhuoMxwQ.js → sl-7ESgddjQ.js} +1 -1
- package/dist/assets/{sr-Bb668mIq.js → sr-m2FCxV00.js} +1 -1
- package/dist/assets/{sr_Latn-C61cXg9o.js → sr_Latn-Dh8ru1_a.js} +1 -1
- package/dist/assets/{sv-yft9g0aL.js → sv-DkcDHqsr.js} +1 -1
- package/dist/assets/{th-BiAki51N.js → th-sJeg9F0h.js} +1 -1
- package/dist/assets/{tr-DDt0vBOs.js → tr-C2e7ABy0.js} +1 -1
- package/dist/assets/{uk-A-zqF2vZ.js → uk-Cdp63d6T.js} +1 -1
- package/dist/assets/{vi-Bleu1lwm.js → vi-DuFuMCO2.js} +1 -1
- package/dist/assets/{zh_CN-kJCGkFOs.js → zh_CN-BOAGYFIg.js} +1 -1
- package/dist/assets/{zh_HK-BJMkT2Ze.js → zh_HK-Bmft66uR.js} +1 -1
- package/dist/assets/{zh_SG-Lz9Li7LQ.js → zh_SG-ChcB0A9F.js} +1 -1
- package/dist/assets/{zh_TW-P8-QBSyv.js → zh_TW-C8FI5AC8.js} +1 -1
- package/dist/css/themes/AccordionSpotlight.css +1 -1
- package/dist/css/themes/Button.css +1 -1
- package/dist/css/themes/Checkbox.css +1 -1
- package/dist/css/themes/Footer.css +1 -1
- package/dist/css/themes/ListGroupHeader.css +1 -1
- package/dist/css/themes/PromoTile.css +1 -1
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/SecondaryNavigation.css +1 -1
- package/dist/css/themes/SecondaryNavigationItem.css +1 -1
- package/dist/css/themes/SecondaryNavigationSubItem.css +1 -1
- package/dist/css/themes/TabInOverflow.css +1 -1
- package/dist/css/themes/WizardTab.css +1 -1
- package/dist/custom-elements-internal.json +19 -0
- package/dist/custom-elements.json +52 -0
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +3 -1
- package/dist/generated/i18n/i18n-defaults.js +3 -1
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/themes/AccordionSpotlight.css.d.ts +1 -1
- package/dist/generated/themes/AccordionSpotlight.css.js +1 -1
- package/dist/generated/themes/AccordionSpotlight.css.js.map +1 -1
- package/dist/generated/themes/Button.css.d.ts +1 -1
- package/dist/generated/themes/Button.css.js +1 -1
- package/dist/generated/themes/Button.css.js.map +1 -1
- package/dist/generated/themes/Checkbox.css.d.ts +1 -1
- package/dist/generated/themes/Checkbox.css.js +1 -1
- package/dist/generated/themes/Checkbox.css.js.map +1 -1
- package/dist/generated/themes/Footer.css.d.ts +1 -1
- package/dist/generated/themes/Footer.css.js +1 -1
- package/dist/generated/themes/Footer.css.js.map +1 -1
- package/dist/generated/themes/ListGroupHeader.css.d.ts +1 -1
- package/dist/generated/themes/ListGroupHeader.css.js +1 -1
- package/dist/generated/themes/ListGroupHeader.css.js.map +1 -1
- package/dist/generated/themes/PromoTile.css.d.ts +1 -1
- package/dist/generated/themes/PromoTile.css.js +1 -1
- package/dist/generated/themes/PromoTile.css.js.map +1 -1
- package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
- package/dist/generated/themes/RatingIndicator.css.js +1 -1
- package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
- package/dist/generated/themes/SecondaryNavigation.css.d.ts +1 -1
- package/dist/generated/themes/SecondaryNavigation.css.js +1 -1
- package/dist/generated/themes/SecondaryNavigation.css.js.map +1 -1
- package/dist/generated/themes/SecondaryNavigationItem.css.d.ts +1 -1
- package/dist/generated/themes/SecondaryNavigationItem.css.js +1 -1
- package/dist/generated/themes/SecondaryNavigationItem.css.js.map +1 -1
- package/dist/generated/themes/SecondaryNavigationSubItem.css.d.ts +1 -1
- package/dist/generated/themes/SecondaryNavigationSubItem.css.js +1 -1
- package/dist/generated/themes/SecondaryNavigationSubItem.css.js.map +1 -1
- package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
- package/dist/generated/themes/TabInOverflow.css.js +1 -1
- package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
- package/dist/generated/themes/WizardTab.css.d.ts +1 -1
- package/dist/generated/themes/WizardTab.css.js +1 -1
- package/dist/generated/themes/WizardTab.css.js.map +1 -1
- package/dist/messagebundle.properties +4 -0
- package/dist/messagebundle_en.properties +2 -0
- package/dist/utils/Breakpoints.d.ts +20 -1
- package/dist/utils/Breakpoints.js +38 -8
- package/dist/utils/Breakpoints.js.map +1 -1
- package/dist/vscode.html-custom-data.json +115 -456
- package/dist/web-types.json +11 -1
- package/package.json +8 -8
- package/src/List.ts +24 -2
- package/src/ListGroupHeaderBase.ts +44 -2
- package/src/ListGroupHeaderTemplate.tsx +74 -23
- package/src/ListItem.ts +18 -15
- package/src/ListItemBase.ts +30 -0
- package/src/ListItemTemplate.tsx +4 -4
- package/src/MastheadCountrySelector.ts +5 -5
- package/src/MastheadCountrySelectorTemplate.tsx +98 -0
- package/src/MastheadItem.ts +3 -6
- package/src/MastheadItemTemplate.tsx +178 -0
- package/src/MastheadMenu.ts +5 -6
- package/src/MastheadMenuItem.ts +3 -7
- package/src/MastheadMenuItemTemplate.tsx +123 -0
- package/src/MastheadMenuTemplate.tsx +142 -0
- package/src/MastheadMobileMenu.ts +3 -3
- package/src/MastheadMobileMenuTemplate.tsx +274 -0
- package/src/MastheadProfileMenu.ts +10 -23
- package/src/MastheadProfileMenuTemplate.tsx +143 -0
- package/src/MastheadShell.ts +3 -5
- package/src/MastheadShellTemplate.tsx +228 -0
- package/src/RatingIndicatorTemplate.tsx +0 -1
- package/src/SearchableListBase.ts +37 -1
- package/src/SearchableListBaseTemplate.tsx +38 -2
- package/src/SecondaryNavigation.ts +24 -9
- package/src/SecondaryNavigationItem.ts +4 -6
- package/src/SecondaryNavigationItemBase.ts +2 -2
- package/src/SecondaryNavigationItemTemplate.tsx +80 -0
- package/src/SecondaryNavigationSubItem.ts +3 -7
- package/src/SecondaryNavigationSubItemTemplate.tsx +63 -0
- package/src/SecondaryNavigationTemplate.tsx +90 -0
- package/src/SelectBase.ts +8 -3
- package/src/SideNavigationMobile.ts +24 -17
- package/src/SideNavigationMobileTemplate.tsx +59 -0
- package/src/Tab.ts +4 -24
- package/src/TabHeaderTemplate.tsx +153 -0
- package/src/TabInOverflowTemplate.tsx +68 -0
- package/src/TabNavigation.ts +78 -44
- package/src/TabNavigationPopoverTemplate.tsx +27 -0
- package/src/TabNavigationTemplate.tsx +98 -0
- package/src/TabTemplate.tsx +7 -0
- package/src/TagGroup.ts +16 -5
- package/src/generated/i18n/i18n-defaults.ts +2 -2
- package/src/generated/themes/AccordionSpotlight.css.ts +1 -1
- package/src/generated/themes/Button.css.ts +1 -1
- package/src/generated/themes/Checkbox.css.ts +1 -1
- package/src/generated/themes/Footer.css.ts +1 -1
- package/src/generated/themes/ListGroupHeader.css.ts +1 -1
- package/src/generated/themes/PromoTile.css.ts +1 -1
- package/src/generated/themes/RatingIndicator.css.ts +1 -1
- package/src/generated/themes/SecondaryNavigation.css.ts +1 -1
- package/src/generated/themes/SecondaryNavigationItem.css.ts +1 -1
- package/src/generated/themes/SecondaryNavigationSubItem.css.ts +1 -1
- package/src/generated/themes/TabInOverflow.css.ts +1 -1
- package/src/generated/themes/WizardTab.css.ts +1 -1
- package/src/i18n/messagebundle.properties +4 -0
- package/src/i18n/messagebundle_en.properties +2 -0
- package/src/themes/AccordionSpotlight.css +1 -1
- package/src/themes/Button.css +2 -1
- package/src/themes/Checkbox.css +5 -1
- package/src/themes/Footer.css +4 -4
- package/src/themes/ListGroupHeader.css +50 -7
- package/src/themes/PromoTile.css +1 -0
- package/src/themes/RatingIndicator.css +6 -1
- package/src/themes/SecondaryNavigation.css +3 -3
- package/src/themes/SecondaryNavigationItem.css +2 -2
- package/src/themes/SecondaryNavigationSubItem.css +2 -2
- package/src/themes/TabInOverflow.css +9 -4
- package/src/themes/WizardTab.css +6 -1
- package/src/utils/Breakpoints.ts +39 -8
- package/dist/assets/InputSuggestions-C8grDr_8.js +0 -2
- package/dist/assets/messagebundle_ar-BRkfjlVF.js +0 -1
- package/dist/assets/messagebundle_ar-D5A573iZ.js +0 -1
- package/dist/assets/messagebundle_bg-ByA8yRlQ.js +0 -1
- package/dist/assets/messagebundle_bg-CIVFOczQ.js +0 -1
- package/dist/assets/messagebundle_ca-BR3XuU9o.js +0 -1
- package/dist/assets/messagebundle_ca-CnMQ87v0.js +0 -1
- package/dist/assets/messagebundle_cnr-C6YhRiS7.js +0 -1
- package/dist/assets/messagebundle_cnr-CKZii51E.js +0 -1
- package/dist/assets/messagebundle_cs-DcOu8IOK.js +0 -1
- package/dist/assets/messagebundle_cs-I7yYpbsI.js +0 -1
- package/dist/assets/messagebundle_cy-BxrFUGJ9.js +0 -1
- package/dist/assets/messagebundle_cy-iXD_sJ-H.js +0 -1
- package/dist/assets/messagebundle_da-BVQHPgwf.js +0 -1
- package/dist/assets/messagebundle_da-CMGObFa5.js +0 -1
- package/dist/assets/messagebundle_de-CSl05u5u.js +0 -1
- package/dist/assets/messagebundle_de-Ca8NttFO.js +0 -1
- package/dist/assets/messagebundle_el-Cqfj_U5v.js +0 -1
- package/dist/assets/messagebundle_el-D9Zgq5tn.js +0 -1
- package/dist/assets/messagebundle_en-D0JTZvAf.js +0 -1
- package/dist/assets/messagebundle_en-DBpf5Il2.js +0 -1
- package/dist/assets/messagebundle_en-DWqF0cay.js +0 -1
- package/dist/assets/messagebundle_en_GB-CGB_FKp4.js +0 -1
- package/dist/assets/messagebundle_en_GB-Cl7ekzz2.js +0 -1
- package/dist/assets/messagebundle_en_US_sappsd-7UdOh8vN.js +0 -1
- package/dist/assets/messagebundle_en_US_sappsd-B8rqsyFQ.js +0 -1
- package/dist/assets/messagebundle_en_US_saprigi-9VCo5QY0.js +0 -1
- package/dist/assets/messagebundle_en_US_saprigi-DfLzOCPY.js +0 -1
- package/dist/assets/messagebundle_en_US_saptrc-DZqYka05.js +0 -1
- package/dist/assets/messagebundle_en_US_saptrc-Wh_IysAB.js +0 -1
- package/dist/assets/messagebundle_es-DKn8EzzP.js +0 -1
- package/dist/assets/messagebundle_es-lf5AJZNW.js +0 -1
- package/dist/assets/messagebundle_es_MX-DyYZGjON.js +0 -1
- package/dist/assets/messagebundle_es_MX-yBTcvu7u.js +0 -1
- package/dist/assets/messagebundle_et-Dz8Ohhcp.js +0 -1
- package/dist/assets/messagebundle_et-rMWbS-Nu.js +0 -1
- package/dist/assets/messagebundle_fi-Bfbyhuuz.js +0 -1
- package/dist/assets/messagebundle_fi-DnXm7LPH.js +0 -1
- package/dist/assets/messagebundle_fr-BvbeCfZ-.js +0 -1
- package/dist/assets/messagebundle_fr-KQhoZEew.js +0 -1
- package/dist/assets/messagebundle_fr_CA-CE2lzYx5.js +0 -1
- package/dist/assets/messagebundle_fr_CA-CIhDzHAJ.js +0 -1
- package/dist/assets/messagebundle_hi-BRQ9tZ6F.js +0 -1
- package/dist/assets/messagebundle_hi-DPwH9vag.js +0 -1
- package/dist/assets/messagebundle_hr-BSKQ6zHT.js +0 -1
- package/dist/assets/messagebundle_hr-D3gQg5JN.js +0 -1
- package/dist/assets/messagebundle_hu-CAA4oM1C.js +0 -1
- package/dist/assets/messagebundle_hu-CZNs1K9T.js +0 -1
- package/dist/assets/messagebundle_id-9H0uJyXB.js +0 -1
- package/dist/assets/messagebundle_id-m6iosVVP.js +0 -1
- package/dist/assets/messagebundle_it-BWzxa-Mi.js +0 -1
- package/dist/assets/messagebundle_it-Cm_0HF21.js +0 -1
- package/dist/assets/messagebundle_iw-DpB2YXTa.js +0 -1
- package/dist/assets/messagebundle_iw-NfqePNtD.js +0 -1
- package/dist/assets/messagebundle_ja-BCSZcI8t.js +0 -1
- package/dist/assets/messagebundle_ja-C-qqwzFf.js +0 -1
- package/dist/assets/messagebundle_kk--PGqyTVS.js +0 -1
- package/dist/assets/messagebundle_kk-DAlCQkFU.js +0 -1
- package/dist/assets/messagebundle_ko-D8mIkPe1.js +0 -1
- package/dist/assets/messagebundle_ko-qoWc4ZGG.js +0 -1
- package/dist/assets/messagebundle_lt-BIEH02V4.js +0 -1
- package/dist/assets/messagebundle_lt-ruMxSuY-.js +0 -1
- package/dist/assets/messagebundle_lv-C2om7wu0.js +0 -1
- package/dist/assets/messagebundle_lv-Dfrbh1ci.js +0 -1
- package/dist/assets/messagebundle_mk-DHvZle6t.js +0 -1
- package/dist/assets/messagebundle_mk-l_Kubx1p.js +0 -1
- package/dist/assets/messagebundle_ms-CKCmj1p_.js +0 -1
- package/dist/assets/messagebundle_ms-IhSEK5ij.js +0 -1
- package/dist/assets/messagebundle_nl-BiIb6e5c.js +0 -1
- package/dist/assets/messagebundle_nl-DquG38Cj.js +0 -1
- package/dist/assets/messagebundle_no-CX23v_jg.js +0 -1
- package/dist/assets/messagebundle_no-DFdvykvP.js +0 -1
- package/dist/assets/messagebundle_pl-BAeue3mo.js +0 -1
- package/dist/assets/messagebundle_pl-iHE_prgN.js +0 -1
- package/dist/assets/messagebundle_pt-BpQnTLvl.js +0 -1
- package/dist/assets/messagebundle_pt-C_bG3Erm.js +0 -1
- package/dist/assets/messagebundle_pt_PT-CR7qXFK-.js +0 -1
- package/dist/assets/messagebundle_pt_PT-DyseXKQQ.js +0 -1
- package/dist/assets/messagebundle_ro-CHU1E6hv.js +0 -1
- package/dist/assets/messagebundle_ro-C_amsd63.js +0 -1
- package/dist/assets/messagebundle_ru-Cab4H6Ud.js +0 -1
- package/dist/assets/messagebundle_ru-D6JMraBp.js +0 -1
- package/dist/assets/messagebundle_sh-DusYn00L.js +0 -1
- package/dist/assets/messagebundle_sh-hThvw_lF.js +0 -1
- package/dist/assets/messagebundle_sk-BqiUMEcX.js +0 -1
- package/dist/assets/messagebundle_sk-CZHfFNQ_.js +0 -1
- package/dist/assets/messagebundle_sl-B79d3kfY.js +0 -1
- package/dist/assets/messagebundle_sl-SfAn6n6j.js +0 -1
- package/dist/assets/messagebundle_sr-4iz7n4Te.js +0 -1
- package/dist/assets/messagebundle_sr-DxELdG62.js +0 -1
- package/dist/assets/messagebundle_sv-CPOHCrxs.js +0 -1
- package/dist/assets/messagebundle_sv-i6GuWK0l.js +0 -1
- package/dist/assets/messagebundle_th-D-kPI3tt.js +0 -1
- package/dist/assets/messagebundle_th-D64J-JvN.js +0 -1
- package/dist/assets/messagebundle_tr-CuE9DqZT.js +0 -1
- package/dist/assets/messagebundle_tr-gTuGftNt.js +0 -1
- package/dist/assets/messagebundle_uk-C6JSX-jF.js +0 -1
- package/dist/assets/messagebundle_uk-IKxyo-LT.js +0 -1
- package/dist/assets/messagebundle_vi-BRdRT5L6.js +0 -1
- package/dist/assets/messagebundle_vi-rZGL12-x.js +0 -1
- package/dist/assets/messagebundle_zh_CN-L55Y4Dfs.js +0 -1
- package/dist/assets/messagebundle_zh_CN-ZalS15WG.js +0 -1
- package/dist/assets/messagebundle_zh_TW-BcMzZCW2.js +0 -1
- package/dist/assets/messagebundle_zh_TW-sRVDBYOx.js +0 -1
- package/dist/assets/parameters-bundle.css-8pAQYERs.js +0 -3
- package/dist/assets/parameters-bundle.css-B_KvbSAR.js +0 -2
- package/dist/assets/parameters-bundle.css-Ciey0vhA.js +0 -2
- package/dist/assets/parameters-bundle.css-D7Hj83QD.js +0 -2
- package/dist/assets/parameters-bundle.css-DJgsxqD8.js +0 -2
- package/dist/assets/parameters-bundle.css-DMVuljH3.js +0 -3
- package/dist/assets/parameters-bundle.css-DkHyiuRq.js +0 -3
- package/dist/assets/parameters-bundle.css-Dvgwa73x.js +0 -3
- package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.js +0 -13
- package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.js.map +0 -1
- package/dist/generated/templates/MastheadItemTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/MastheadItemTemplate.lit.js +0 -43
- package/dist/generated/templates/MastheadItemTemplate.lit.js.map +0 -1
- package/dist/generated/templates/MastheadMenuItemTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/MastheadMenuItemTemplate.lit.js +0 -21
- package/dist/generated/templates/MastheadMenuItemTemplate.lit.js.map +0 -1
- package/dist/generated/templates/MastheadMenuTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/MastheadMenuTemplate.lit.js +0 -25
- package/dist/generated/templates/MastheadMenuTemplate.lit.js.map +0 -1
- package/dist/generated/templates/MastheadMobileMenuTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js +0 -37
- package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js.map +0 -1
- package/dist/generated/templates/MastheadProfileMenuTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js +0 -18
- package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js.map +0 -1
- package/dist/generated/templates/MastheadShellTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/MastheadShellTemplate.lit.js +0 -28
- package/dist/generated/templates/MastheadShellTemplate.lit.js.map +0 -1
- package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js +0 -13
- package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js.map +0 -1
- package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.js +0 -12
- package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.js.map +0 -1
- package/dist/generated/templates/SecondaryNavigationTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/SecondaryNavigationTemplate.lit.js +0 -15
- package/dist/generated/templates/SecondaryNavigationTemplate.lit.js.map +0 -1
- package/dist/generated/templates/SideNavigationMobileTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/SideNavigationMobileTemplate.lit.js +0 -10
- package/dist/generated/templates/SideNavigationMobileTemplate.lit.js.map +0 -1
- package/dist/generated/templates/TabHeaderTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/TabHeaderTemplate.lit.js +0 -52
- package/dist/generated/templates/TabHeaderTemplate.lit.js.map +0 -1
- package/dist/generated/templates/TabInOverflowTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/TabInOverflowTemplate.lit.js +0 -15
- package/dist/generated/templates/TabInOverflowTemplate.lit.js.map +0 -1
- package/dist/generated/templates/TabNavigationPopoverTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/TabNavigationPopoverTemplate.lit.js +0 -8
- package/dist/generated/templates/TabNavigationPopoverTemplate.lit.js.map +0 -1
- package/dist/generated/templates/TabNavigationTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/TabNavigationTemplate.lit.js +0 -16
- package/dist/generated/templates/TabNavigationTemplate.lit.js.map +0 -1
- package/dist/generated/templates/TabTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/TabTemplate.lit.js +0 -7
- package/dist/generated/templates/TabTemplate.lit.js.map +0 -1
- package/src/MastheadCountrySelector.hbs +0 -76
- package/src/MastheadItem.hbs +0 -136
- package/src/MastheadMenu.hbs +0 -131
- package/src/MastheadMenuItem.hbs +0 -102
- package/src/MastheadMobileMenu.hbs +0 -253
- package/src/MastheadProfileMenu.hbs +0 -121
- package/src/MastheadShell.hbs +0 -223
- package/src/SecondaryNavigation.hbs +0 -87
- package/src/SecondaryNavigationItem.hbs +0 -68
- package/src/SecondaryNavigationSubItem.hbs +0 -47
- package/src/SideNavigationMobile.hbs +0 -41
- package/src/Tab.hbs +0 -1
- package/src/TabHeader.hbs +0 -141
- package/src/TabInOverflow.hbs +0 -59
- package/src/TabNavigation.hbs +0 -88
- package/src/TabNavigationPopover.hbs +0 -18
- package/src/generated/templates/MastheadCountrySelectorTemplate.lit.ts +0 -17
- package/src/generated/templates/MastheadItemTemplate.lit.ts +0 -47
- package/src/generated/templates/MastheadMenuItemTemplate.lit.ts +0 -25
- package/src/generated/templates/MastheadMenuTemplate.lit.ts +0 -29
- package/src/generated/templates/MastheadMobileMenuTemplate.lit.ts +0 -41
- package/src/generated/templates/MastheadProfileMenuTemplate.lit.ts +0 -22
- package/src/generated/templates/MastheadShellTemplate.lit.ts +0 -32
- package/src/generated/templates/SecondaryNavigationItemTemplate.lit.ts +0 -17
- package/src/generated/templates/SecondaryNavigationSubItemTemplate.lit.ts +0 -16
- package/src/generated/templates/SecondaryNavigationTemplate.lit.ts +0 -19
- package/src/generated/templates/SideNavigationMobileTemplate.lit.ts +0 -14
- package/src/generated/templates/TabHeaderTemplate.lit.ts +0 -56
- package/src/generated/templates/TabInOverflowTemplate.lit.ts +0 -19
- package/src/generated/templates/TabNavigationPopoverTemplate.lit.ts +0 -12
- package/src/generated/templates/TabNavigationTemplate.lit.ts +0 -20
- package/src/generated/templates/TabTemplate.lit.ts +0 -11
package/dist/MastheadItem.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MastheadItem.js","sourceRoot":"","sources":["../src/MastheadItem.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot, Slot, ChangeInfo } 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 i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/search.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { isEscape, isTabNext } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport {\n OPENS_IN_A_NEW_WINDOW, PROFILE, CART, COUNTRY_SELECTOR, SUPPORT, SEARCH,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport UDExMastheadMenu from \"./MastheadMenu.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport \"@ui5/webcomponents-icons/dist/world.js\";\nimport type UDExAvatar from \"./Avatar.js\";\nimport type UDExMastheadShell from \"./MastheadShell.js\";\nimport type UDExMastheadProfileMenu from \"./MastheadProfileMenu.js\";\nimport type UDExMastheadMobileMenu from \"./MastheadMobileMenu.js\";\nimport MastheadItemTemplate from \"./generated/templates/MastheadItemTemplate.lit.js\";\nimport { UDExTarget } from \"./types/common.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\nimport parseArrayFromString from \"./utils/parseArrayFromString.js\";\nimport AnalyticsName from \"./types/AnalyticsName.js\";\nimport translate from \"./utils/translate.js\";\n\n// Styles\nimport MastheadItemCss from \"./generated/themes/MastheadItem.css.js\";\n\nexport enum UDExMastheadDropdownItemAction {\n Open = \"Open\",\n Close = \"Close\",\n ClickOutside = \"Click Outside\",\n}\n\nexport interface IMastheadItem {\n selected?: boolean;\n icon?: string;\n avatar?: Array<HTMLElement>;\n href?: string;\n}\n\nexport type CategoryItem = {\n title: string;\n url?: string;\n externalLink: boolean;\n subItems?: CategoryItem[];\n};\n\nexport type SubMenuLinkItem = {\n category: string;\n url?: string;\n items: CategoryItem[];\n index: number;\n};\n\nexport type MenuItem = {\n subMenuLinkItems: SubMenuLinkItem[];\n};\n\ntype UDExMastheadItemItemClickEventDetail = {\n originalEvent: PointerEvent,\n item: UDExMastheadItem,\n analyticsName: AnalyticsName,\n sourceNode: HTMLElement,\n}\n\ntype UDExMastheadDropdownEventDetail = {\n title: string,\n action: UDExMastheadDropdownItemAction,\n analyticsName: AnalyticsName,\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-masthead-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MastheadItem.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-item\",\n renderer: litRender,\n languageAware: true,\n styles: MastheadItemCss,\n template: MastheadItemTemplate,\n dependencies: [\n UDExMastheadMenu,\n UI5Icon,\n ],\n})\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n * @param {Event} originalEvent the original event object\n * @param {UDExMastheadItem} item the clicked item\n * @param {AnalyticsName} analyticsName the analytics name\n * @param {HTMLElement} sourceNode the source node\n */\n@event(\"item-click\", { bubbles: true })\n\n/**\n * Fires when dropdown is closed\n *\n * @allowPreventDefault\n * @public\n * @param {string} title the title of the item\n * @param {UDExMastheadDropdownItemAction} action the action that caused the event\n * @param {AnalyticsName} analyticsName the analytics name\n */\n@event(\"dropdown-closed\", { bubbles: true })\n\n/**\n * Fires when dropdown is opened\n *\n * @allowPreventDefault\n * @public\n * @param {string} title the title of the item\n * @param {UDExMastheadDropdownItemAction} action the action that caused the event\n * @param {AnalyticsName} analyticsName the analytics name\n */\n@event(\"dropdown-opened\", { bubbles: true })\n\nclass UDExMastheadItem extends UI5Element implements IMastheadItem {\n eventDetails!: {\n \"item-click\": UDExMastheadItemItemClickEventDetail,\n \"dropdown-closed\": UDExMastheadDropdownEventDetail,\n \"dropdown-opened\": UDExMastheadDropdownEventDetail,\n };\n /**\n * Defines sub items for item\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n subItems: string = \"\";\n\n /**\n * Defines a title for sub menu items\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n menuTitle: string = \"\";\n\n /**\n * Defines the selected item.\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n selected!: boolean;\n\n /**\n * Defines if the arrow icon is hidden.\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n hideArrowIcon!: boolean;\n\n /**\n * Defines the icon in the item.\n *\n * @public\n * @default \"\"\n */\n @property({ type: String })\n icon: string = \"\";\n\n /**\n * Defines the image in the item.\n *\n * @public\n * @default \"\"\n */\n @property({ type: String })\n image!: string;\n\n /**\n * Defines an alt text for item image\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n imageAlt!: string;\n\n /**\n * Defines the href of the item.\n *\n * @public\n */\n @property({ type: String })\n href!: string;\n\n /**\n * Define the target of the item\n * <b>Note:</b> Standard hyperlink behavior is supported.\n * @public\n */\n @property()\n target: UDExTarget = UDExTarget._self;\n\n /**\n * Controls the ARIA name of the item\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n accessibleName?: string;\n\n /**\n * Controls the ARIA role of the item\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n accessibleRole?: string;\n\n /**\n * Defines an alt text for item icon\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n iconAlt: string = \"\";\n\n /**\n * Hide active border for item\n *\n * @default \"\"\n * @public\n */\n @property({ type: Boolean })\n hideActiveBorder!: boolean;\n\n /**\n * Defines direction of the text.\n *\n * @private\n */\n @property({ type: String })\n _direction!: string;\n\n /**\n * Defines the mobile mode for component\n *\n * @private\n */\n @property({ type: Boolean })\n _isMobileMode!: boolean;\n\n /**\n * Defines the label for analytics\n *\n * @public\n */\n @property({ type: String })\n label!: string;\n\n /**\n * Defines the number badge for item\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n numberBadge?: string;\n\n /**\n * Slot for the dropdown\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n dropdown!: Slot<HTMLElement>;\n\n /**\n * Slot for any content\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n content!: DefaultSlot<HTMLElement>;\n\n /**\n * Defines the prevents the item from losing focus.\n *\n * @private\n */\n\n @property({ type: Boolean })\n _preventFocusOut!: boolean;\n\n /**\n * Defines the item is a menu close button\n *\n * @private\n */\n @property({ type: Boolean })\n _isMenuCloseBtn?: boolean;\n\n /**\n * Defines if the image failed to load\n *\n * @private\n */\n @property({ type: Boolean })\n _imageLoadError = false;\n\n /**\n * Defines if the item has the dropdown with four columns menu\n *\n * @private\n */\n @property({ type: Boolean })\n _hasFourColumnsMenu = false;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _profileAvatar!: UDExAvatar;\n _mastheadShell!: UDExMastheadShell;\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n onBeforeRendering(): void {\n this.label = this.eventItemTitle;\n if (this.hasFourColumnsMenu && !this.isExploreBtn) {\n this._hasFourColumnsMenu = true;\n }\n }\n\n onAfterRendering(): void {\n this._profileAvatar = this.profileAvatar;\n this._mastheadShell = this.mastheadShell;\n this.handleDirection();\n if (this.selected && this.hasDropdownSlot && !this.isMobile && !this.isExploreBtn && !this.hasFourColumnsMenu) {\n this.setDropdownInsetStart();\n }\n\n this.handleOutsideClick();\n }\n\n onInvalidation({ name, newValue }: ChangeInfo): void {\n if (name === \"selected\" && !newValue && this.isMobile) {\n this.dropdownScrollToTop();\n }\n }\n\n handleOutsideClick(): void {\n document.addEventListener(\"click\", (e: Event) => {\n const target = e.target as HTMLElement;\n const item = target.closest(\"[udex-masthead-item]\");\n if (item !== this && !this.isMobile && this.selected) {\n if (this.isDropdownOpened) {\n this.fireDropdownCloseEvent(this.eventItemTitle, UDExMastheadDropdownItemAction.ClickOutside);\n }\n\n this.selected = false;\n }\n });\n }\n\n handleMouseDown(): void {\n this._preventFocusOut = true;\n }\n\n handleMouseUp(): void {\n this._preventFocusOut = false;\n }\n\n handleFocusout(e: FocusEvent): void {\n if (this.isFocusOutPrevented(e)) {\n return;\n }\n\n this.handleFocusOutForDropdowns(e);\n }\n\n handleFocusOutForDropdowns(e: FocusEvent): void {\n const relatedTarget = e.relatedTarget as HTMLElement;\n const currentItem = relatedTarget.closest(\"[udex-masthead-item]\");\n\n if (currentItem !== this) {\n this.closeDropdown();\n }\n }\n\n handleKeyDown(e: KeyboardEvent): void {\n if (isEscape(e) && this.hasDropdownSlot) {\n if (this.isMobile) {\n this.handleKeyEscapeMobile();\n } else {\n this.handleKeyEscape();\n }\n }\n if (isTabNext(e) && this.isDropdownOpened) {\n const button = this.getDomElement(\".udex-masthead-item__btn, .udex-masthead-item__profile-btn\");\n if (button && e.currentTarget === button) {\n this.handleTabIntoDropdown(e);\n }\n }\n }\n\n handleTabIntoDropdown(e: KeyboardEvent): void {\n const menu = this.getSlottedNodes<UDExMastheadMenu>(\"dropdown\")[0];\n if (menu && typeof menu.focusFirstItem === \"function\") {\n e.preventDefault();\n menu.focusFirstItem();\n }\n }\n\n handleKeyEscape(): void {\n this.closeDropdown();\n if (this.isProfileBtn) {\n this._profileAvatar.focus();\n } else {\n this.focus();\n }\n }\n\n handleKeyEscapeMobile(): void {\n this.fireDropdownCloseEvent(this.eventItemTitle, UDExMastheadDropdownItemAction.Close);\n this._mastheadShell.closeMobileMenu();\n this._mastheadShell.mobileBtn?.focus();\n }\n\n handleItemClick(e: PointerEvent): void {\n if (this.isProfileBtn) {\n this.handleProfileButtonClick();\n }\n this.handleSelectedChange();\n this.fireItemClickEvent(e);\n this.fireDropdownEvents();\n }\n\n handleSelectedChange(): void {\n this.selected = this.isMobile ? true : !this.selected;\n }\n\n handleProfileButtonClick(): void {\n const profile = this.profileSlot;\n if (profile) {\n profile.closeIdentitiesPanel();\n profile.scrollToTopProfileMenu();\n profile._requestRender = true;\n }\n }\n\n handleImageError(): void {\n this._imageLoadError = true;\n }\n\n fireDropdownEvents(): void {\n if (this.hasDropdownSlot) {\n const { Open, Close } = UDExMastheadDropdownItemAction;\n const action = this.selected ? Open : Close;\n if (this.selected) {\n this.fireDropdownOpenEvent(this.eventItemTitle, action);\n } else {\n this.fireDropdownCloseEvent(this.eventItemTitle, action);\n }\n }\n }\n\n fireDropdownCloseEvent(title: string, action: UDExMastheadDropdownItemAction): void {\n this.fireDecoratorEvent(\"dropdown-closed\", { title, action, analyticsName: AnalyticsName.Header });\n }\n\n fireDropdownOpenEvent(title: string, action: UDExMastheadDropdownItemAction): void {\n this.fireDecoratorEvent(\"dropdown-opened\", { title, action, analyticsName: AnalyticsName.Header });\n }\n\n fireItemClickEvent(e: PointerEvent): void {\n this.fireDecoratorEvent(\"item-click\", {\n item: this,\n originalEvent: e,\n analyticsName: AnalyticsName.Header,\n sourceNode: e.currentTarget as HTMLElement,\n });\n }\n\n dropdownScrollToTop(): void {\n if (this.isMobileMenuOpenBtn) {\n const menu = this.getSlottedNodes<UDExMastheadMobileMenu>(\"dropdown\")[0];\n menu.mobileMenuScrollToTop();\n } else {\n const dropdown = this.getDomElement(\".udex-masthead-item__dropdown-holder\");\n dropdown?.scrollTo({ top: 0 });\n }\n }\n\n setDropdownInsetStart(): void {\n const dropdown = this.dropdownHolder;\n if (dropdown) {\n const rect = dropdown.getBoundingClientRect();\n const marginInlineStart = this.calculateMarginInlineStart(rect);\n\n if (marginInlineStart !== null) {\n dropdown.style.marginInlineStart = `${marginInlineStart - 3}px`;\n }\n }\n }\n\n recalculateDropdownPosition(): void {\n const dropdown = this.dropdownHolder;\n if (dropdown && !this.hasFourColumnsMenu) {\n dropdown.style.marginInlineStart = \"\";\n this.setDropdownInsetStart();\n }\n }\n\n calculateMarginInlineStart(rect: DOMRect): number | null {\n const { left, right } = rect;\n const viewportWidth = document.documentElement.clientWidth;\n\n if (this.isLtrDirection && left < 0) {\n return left * -1 + 15;\n }\n\n if (this.isRtlDirection && left < 0) {\n return left - 15;\n }\n\n if (this.isRtlDirection && right > viewportWidth) {\n return right - viewportWidth + 15;\n }\n\n if (this.isLtrDirection && right > viewportWidth) {\n return viewportWidth - right - 15;\n }\n\n return null;\n }\n\n handleDirection(): void {\n const directionStyles = window\n .getComputedStyle(this)\n .getPropertyValue(\"direction\");\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n\n closeDropdown(): void {\n this.selected = false;\n this.fireDropdownCloseEvent(this.accessibleName || this.eventItemTitle, UDExMastheadDropdownItemAction.Close);\n }\n\n getDomElement(selector: string): HTMLElement | undefined | null {\n return this.shadowRoot?.querySelector(`${selector}`);\n }\n\n getSubItems(): Array<MenuItem> {\n return parseArrayFromString(this.subItems);\n }\n\n private isFocusOutPrevented(e: FocusEvent): boolean {\n return this.isMobile || e.relatedTarget === null || this._preventFocusOut;\n }\n\n get dropdownHolder(): HTMLElement {\n return this.getDomElement(\".udex-masthead-item__dropdown\")!;\n }\n\n get mastheadShell(): UDExMastheadShell {\n return document.querySelector<UDExMastheadShell>(\"[udex-masthead-shell]\")!;\n }\n\n get additionalClass(): string {\n const iconClass = (this.icon || this.image || this.isProfileBtn) ? \"udex-masthead-item__button--icon\" : \"\";\n const profileClass = this.isProfileBtn ? \"udex-masthead-item__button--profile\" : \"\";\n const exploreClass = this.isExploreBtn ? \"udex-masthead-item__button--explore\" : \"\";\n const supportClass = this.isSupportBtn ? \"udex-masthead-item__button--support\" : \"\";\n const countrySelectorClass = this.isCountrySelectorBtn ? \"udex-masthead-item__button--country-selector\" : \"\";\n return `udex-masthead-item ${iconClass} ${profileClass} ${exploreClass} ${countrySelectorClass} ${supportClass}`.trim();\n }\n\n get profileAvatar(): UDExAvatar {\n return this.querySelector(\"[udex-avatar]\")!;\n }\n\n get iconAltText(): string {\n return this._isMenuCloseBtn ? this.accessibleName || this.icon : this.iconAlt;\n }\n\n get isRtlDirection(): boolean {\n return this._direction === \"rtl\";\n }\n\n get isLtrDirection(): boolean {\n return this._direction === \"ltr\";\n }\n\n get hasHref(): boolean {\n return !!this.href?.length;\n }\n\n get accessibleRoleName(): string {\n return this.accessibleRole ? this.accessibleRole : \"button\";\n }\n\n get selectedClass(): string {\n return this.selected ? \" udex-masthead-item__button--active\" : \"\";\n }\n\n get ariaDescribedBy(): string | undefined {\n const labels = [];\n\n if (this.isTargetBlank) {\n labels.push(`new-win-desc`);\n }\n\n if (this.imageAlt) {\n labels.push(`image-desc`);\n }\n\n return labels.length ? labels.join(\" \").trim() : undefined;\n }\n\n get isDropdownOpened(): boolean {\n return this.hasDropdownSlot && this.selected;\n }\n\n get isMobileMenuOpenBtn(): boolean {\n return this.hasAttribute(\"_is-menu-open-btn\");\n }\n\n get hasDropdownSlot(): boolean {\n return !!this.getSlottedNodes(\"dropdown\").length;\n }\n\n get hasArrowDown(): boolean {\n return this.hasDropdownSlot && !this.isProfileBtn && !this.icon.length && !this.hideArrowIcon;\n }\n\n get isProfileBtn(): boolean {\n return this.getAttribute(\"slot\") === \"profile\";\n }\n\n get isExploreBtn(): boolean {\n return this.getAttribute(\"slot\") === \"exploreSAP\";\n }\n\n get isCountrySelectorBtn(): boolean {\n return this.getAttribute(\"slot\") === \"countrySelector\";\n }\n\n get isCartBtn(): boolean {\n return this.getAttribute(\"slot\") === \"cart\";\n }\n\n get isSearchBtn(): boolean {\n return this.icon === \"search\";\n }\n\n get isSupportBtn(): boolean {\n return this.getAttribute(\"slot\") === \"support\";\n }\n\n get accessibleLabel(): string {\n return this.accessibleName || this.innerText || (this.isProfileBtn ? translate(UDExMastheadItem, PROFILE) : \"\");\n }\n\n get profileSlot(): UDExMastheadProfileMenu {\n return this.getSlottedNodes<UDExMastheadProfileMenu>(\"dropdown\")[0];\n }\n\n get isMobile(): boolean {\n return BreakpointUtils.isAtMost(\"M\") || this.mastheadShell?._isMobileMode;\n }\n\n get isTargetBlank(): boolean {\n return this.target === UDExTarget._blank;\n }\n\n get openInNewWindowText(): string {\n return translate(UDExMastheadItem, OPENS_IN_A_NEW_WINDOW);\n }\n\n get eventItemTitle(): string {\n if (this.isSearchBtn) {\n return translate(UDExMastheadItem, SEARCH);\n }\n if (this.isCartBtn) {\n return translate(UDExMastheadItem, CART);\n }\n if (this.isProfileBtn) {\n return translate(UDExMastheadItem, PROFILE);\n }\n if (this.isCountrySelectorBtn) {\n return translate(UDExMastheadItem, COUNTRY_SELECTOR);\n }\n if (this.isSupportBtn) {\n return translate(UDExMastheadItem, SUPPORT);\n }\n\n return this.firstChild?.nodeValue?.trim() || \"\";\n }\n\n get buttonAriaExpanded(): boolean | undefined {\n if (!this.hasDropdownSlot) {\n return undefined;\n }\n return this.selected || false;\n }\n\n get imageLoadError(): boolean {\n return this._imageLoadError && this.isCountrySelectorBtn;\n }\n\n get dropdownMenu(): UDExMastheadMenu | undefined {\n return this.getSlottedNodes<UDExMastheadMenu>(\"dropdown\")\n .find(el => el instanceof UDExMastheadMenu);\n }\n\n get hasFourColumnsMenu(): boolean {\n return !!this.dropdownMenu?.hasFourColumns;\n }\n}\n\nUDExMastheadItem.define();\n\nexport default UDExMastheadItem;\nexport type { UDExMastheadDropdownEventDetail, UDExMastheadItemItemClickEventDetail };\n"]}
|
|
1
|
+
{"version":3,"file":"MastheadItem.js","sourceRoot":"","sources":["../src/MastheadItem.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot, Slot, ChangeInfo } 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 i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport { isEscape, isTabNext } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport {\n OPENS_IN_A_NEW_WINDOW, PROFILE, CART, COUNTRY_SELECTOR, SUPPORT, SEARCH,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport UDExMastheadMenu from \"./MastheadMenu.js\";\nimport type UDExAvatar from \"./Avatar.js\";\nimport type UDExMastheadShell from \"./MastheadShell.js\";\nimport type UDExMastheadProfileMenu from \"./MastheadProfileMenu.js\";\nimport type UDExMastheadMobileMenu from \"./MastheadMobileMenu.js\";\nimport MastheadItemTemplate from \"./MastheadItemTemplate.js\";\nimport { UDExTarget } from \"./types/common.js\";\nimport { BreakpointUtils } from \"./utils/Breakpoints.js\";\nimport parseArrayFromString from \"./utils/parseArrayFromString.js\";\nimport AnalyticsName from \"./types/AnalyticsName.js\";\nimport translate from \"./utils/translate.js\";\n\n// Styles\nimport MastheadItemCss from \"./generated/themes/MastheadItem.css.js\";\n\nexport enum UDExMastheadDropdownItemAction {\n Open = \"Open\",\n Close = \"Close\",\n ClickOutside = \"Click Outside\",\n}\n\nexport interface IMastheadItem {\n selected?: boolean;\n icon?: string;\n avatar?: Array<HTMLElement>;\n href?: string;\n}\n\nexport type CategoryItem = {\n title: string;\n url?: string;\n externalLink: boolean;\n subItems?: CategoryItem[];\n};\n\nexport type SubMenuLinkItem = {\n category: string;\n url?: string;\n items: CategoryItem[];\n index: number;\n};\n\nexport type MenuItem = {\n subMenuLinkItems: SubMenuLinkItem[];\n};\n\ntype UDExMastheadItemItemClickEventDetail = {\n originalEvent: PointerEvent,\n item: UDExMastheadItem,\n analyticsName: AnalyticsName,\n sourceNode: HTMLElement,\n}\n\ntype UDExMastheadDropdownEventDetail = {\n title: string,\n action: UDExMastheadDropdownItemAction,\n analyticsName: AnalyticsName,\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-masthead-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MastheadItem.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-item\",\n renderer: jsxRenderer,\n languageAware: true,\n styles: MastheadItemCss,\n template: MastheadItemTemplate,\n dependencies: [\n UDExMastheadMenu,\n UI5Icon,\n ],\n})\n\n/**\n * Fires when item is clicked\n *\n * @allowPreventDefault\n * @public\n * @param {Event} originalEvent the original event object\n * @param {UDExMastheadItem} item the clicked item\n * @param {AnalyticsName} analyticsName the analytics name\n * @param {HTMLElement} sourceNode the source node\n */\n@event(\"item-click\", { bubbles: true })\n\n/**\n * Fires when dropdown is closed\n *\n * @allowPreventDefault\n * @public\n * @param {string} title the title of the item\n * @param {UDExMastheadDropdownItemAction} action the action that caused the event\n * @param {AnalyticsName} analyticsName the analytics name\n */\n@event(\"dropdown-closed\", { bubbles: true })\n\n/**\n * Fires when dropdown is opened\n *\n * @allowPreventDefault\n * @public\n * @param {string} title the title of the item\n * @param {UDExMastheadDropdownItemAction} action the action that caused the event\n * @param {AnalyticsName} analyticsName the analytics name\n */\n@event(\"dropdown-opened\", { bubbles: true })\n\nclass UDExMastheadItem extends UI5Element implements IMastheadItem {\n eventDetails!: {\n \"item-click\": UDExMastheadItemItemClickEventDetail,\n \"dropdown-closed\": UDExMastheadDropdownEventDetail,\n \"dropdown-opened\": UDExMastheadDropdownEventDetail,\n };\n /**\n * Defines sub items for item\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n subItems: string = \"\";\n\n /**\n * Defines a title for sub menu items\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n menuTitle: string = \"\";\n\n /**\n * Defines the selected item.\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n selected!: boolean;\n\n /**\n * Defines if the arrow icon is hidden.\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n hideArrowIcon!: boolean;\n\n /**\n * Defines the icon in the item.\n *\n * @public\n * @default \"\"\n */\n @property({ type: String })\n icon: string = \"\";\n\n /**\n * Defines the image in the item.\n *\n * @public\n * @default \"\"\n */\n @property({ type: String })\n image!: string;\n\n /**\n * Defines an alt text for item image\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n imageAlt!: string;\n\n /**\n * Defines the href of the item.\n *\n * @public\n */\n @property({ type: String })\n href!: string;\n\n /**\n * Define the target of the item\n * <b>Note:</b> Standard hyperlink behavior is supported.\n * @public\n */\n @property()\n target: UDExTarget = UDExTarget._self;\n\n /**\n * Controls the ARIA name of the item\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n accessibleName?: string;\n\n /**\n * Controls the ARIA role of the item\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n accessibleRole?: string;\n\n /**\n * Defines an alt text for item icon\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n iconAlt: string = \"\";\n\n /**\n * Hide active border for item\n *\n * @default \"\"\n * @public\n */\n @property({ type: Boolean })\n hideActiveBorder!: boolean;\n\n /**\n * Defines direction of the text.\n *\n * @private\n */\n @property({ type: String })\n _direction!: string;\n\n /**\n * Defines the mobile mode for component\n *\n * @private\n */\n @property({ type: Boolean })\n _isMobileMode!: boolean;\n\n /**\n * Defines the label for analytics\n *\n * @public\n */\n @property({ type: String })\n label!: string;\n\n /**\n * Defines the number badge for item\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n numberBadge?: string;\n\n /**\n * Slot for the dropdown\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n dropdown!: Slot<HTMLElement>;\n\n /**\n * Slot for any content\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n content!: DefaultSlot<HTMLElement>;\n\n /**\n * Defines the prevents the item from losing focus.\n *\n * @private\n */\n\n @property({ type: Boolean })\n _preventFocusOut!: boolean;\n\n /**\n * Defines the item is a menu close button\n *\n * @private\n */\n @property({ type: Boolean })\n _isMenuCloseBtn?: boolean;\n\n /**\n * Defines if the image failed to load\n *\n * @private\n */\n @property({ type: Boolean })\n _imageLoadError = false;\n\n /**\n * Defines if the item has the dropdown with four columns menu\n *\n * @private\n */\n @property({ type: Boolean })\n _hasFourColumnsMenu = false;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _profileAvatar!: UDExAvatar;\n _mastheadShell!: UDExMastheadShell;\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n onBeforeRendering(): void {\n this.label = this.eventItemTitle;\n if (this.hasFourColumnsMenu && !this.isExploreBtn) {\n this._hasFourColumnsMenu = true;\n }\n }\n\n onAfterRendering(): void {\n this._profileAvatar = this.profileAvatar;\n this._mastheadShell = this.mastheadShell;\n this.handleDirection();\n if (this.selected && this.hasDropdownSlot && !this.isMobile && !this.isExploreBtn && !this.hasFourColumnsMenu) {\n this.setDropdownInsetStart();\n }\n\n this.handleOutsideClick();\n }\n\n onInvalidation({ name, newValue }: ChangeInfo): void {\n if (name === \"selected\" && !newValue && this.isMobile) {\n this.dropdownScrollToTop();\n }\n }\n\n handleOutsideClick(): void {\n document.addEventListener(\"click\", (e: Event) => {\n const target = e.target as HTMLElement;\n const item = target.closest(\"[udex-masthead-item]\");\n if (item !== this && !this.isMobile && this.selected) {\n if (this.isDropdownOpened) {\n this.fireDropdownCloseEvent(this.eventItemTitle, UDExMastheadDropdownItemAction.ClickOutside);\n }\n\n this.selected = false;\n }\n });\n }\n\n handleMouseDown(): void {\n this._preventFocusOut = true;\n }\n\n handleMouseUp(): void {\n this._preventFocusOut = false;\n }\n\n handleFocusout(e: FocusEvent): void {\n if (this.isFocusOutPrevented(e)) {\n return;\n }\n\n this.handleFocusOutForDropdowns(e);\n }\n\n handleFocusOutForDropdowns(e: FocusEvent): void {\n const relatedTarget = e.relatedTarget as HTMLElement;\n const currentItem = relatedTarget.closest(\"[udex-masthead-item]\");\n\n if (currentItem !== this) {\n this.closeDropdown();\n }\n }\n\n handleKeyDown(e: KeyboardEvent): void {\n if (isEscape(e) && this.hasDropdownSlot) {\n if (this.isMobile) {\n this.handleKeyEscapeMobile();\n } else {\n this.handleKeyEscape();\n }\n }\n if (isTabNext(e) && this.isDropdownOpened) {\n const button = this.getDomElement(\".udex-masthead-item__btn, .udex-masthead-item__profile-btn\");\n if (button && e.currentTarget === button) {\n this.handleTabIntoDropdown(e);\n }\n }\n }\n\n handleTabIntoDropdown(e: KeyboardEvent): void {\n const menu = this.getSlottedNodes<UDExMastheadMenu>(\"dropdown\")[0];\n if (menu && typeof menu.focusFirstItem === \"function\") {\n e.preventDefault();\n menu.focusFirstItem();\n }\n }\n\n handleKeyEscape(): void {\n this.closeDropdown();\n if (this.isProfileBtn) {\n this._profileAvatar.focus();\n } else {\n this.focus();\n }\n }\n\n handleKeyEscapeMobile(): void {\n this.fireDropdownCloseEvent(this.eventItemTitle, UDExMastheadDropdownItemAction.Close);\n this._mastheadShell.closeMobileMenu();\n this._mastheadShell.mobileBtn?.focus();\n }\n\n handleItemClick(e: PointerEvent): void {\n if (this.isProfileBtn) {\n this.handleProfileButtonClick();\n }\n this.handleSelectedChange();\n this.fireItemClickEvent(e);\n this.fireDropdownEvents();\n }\n\n handleSelectedChange(): void {\n this.selected = this.isMobile ? true : !this.selected;\n }\n\n handleProfileButtonClick(): void {\n const profile = this.profileSlot;\n if (profile) {\n profile.closeIdentitiesPanel();\n profile.scrollToTopProfileMenu();\n profile._requestRender = true;\n }\n }\n\n handleImageError(): void {\n this._imageLoadError = true;\n }\n\n fireDropdownEvents(): void {\n if (this.hasDropdownSlot) {\n const { Open, Close } = UDExMastheadDropdownItemAction;\n const action = this.selected ? Open : Close;\n if (this.selected) {\n this.fireDropdownOpenEvent(this.eventItemTitle, action);\n } else {\n this.fireDropdownCloseEvent(this.eventItemTitle, action);\n }\n }\n }\n\n fireDropdownCloseEvent(title: string, action: UDExMastheadDropdownItemAction): void {\n this.fireDecoratorEvent(\"dropdown-closed\", { title, action, analyticsName: AnalyticsName.Header });\n }\n\n fireDropdownOpenEvent(title: string, action: UDExMastheadDropdownItemAction): void {\n this.fireDecoratorEvent(\"dropdown-opened\", { title, action, analyticsName: AnalyticsName.Header });\n }\n\n fireItemClickEvent(e: PointerEvent): void {\n this.fireDecoratorEvent(\"item-click\", {\n item: this,\n originalEvent: e,\n analyticsName: AnalyticsName.Header,\n sourceNode: e.currentTarget as HTMLElement,\n });\n }\n\n dropdownScrollToTop(): void {\n if (this.isMobileMenuOpenBtn) {\n const menu = this.getSlottedNodes<UDExMastheadMobileMenu>(\"dropdown\")[0];\n menu.mobileMenuScrollToTop();\n } else {\n const dropdown = this.getDomElement(\".udex-masthead-item__dropdown-holder\");\n dropdown?.scrollTo({ top: 0 });\n }\n }\n\n setDropdownInsetStart(): void {\n const dropdown = this.dropdownHolder;\n if (dropdown) {\n const rect = dropdown.getBoundingClientRect();\n const marginInlineStart = this.calculateMarginInlineStart(rect);\n\n if (marginInlineStart !== null) {\n dropdown.style.marginInlineStart = `${marginInlineStart - 3}px`;\n }\n }\n }\n\n recalculateDropdownPosition(): void {\n const dropdown = this.dropdownHolder;\n if (dropdown && !this.hasFourColumnsMenu) {\n dropdown.style.marginInlineStart = \"\";\n this.setDropdownInsetStart();\n }\n }\n\n calculateMarginInlineStart(rect: DOMRect): number | null {\n const { left, right } = rect;\n const viewportWidth = document.documentElement.clientWidth;\n\n if (this.isLtrDirection && left < 0) {\n return left * -1 + 15;\n }\n\n if (this.isRtlDirection && left < 0) {\n return left - 15;\n }\n\n if (this.isRtlDirection && right > viewportWidth) {\n return right - viewportWidth + 15;\n }\n\n if (this.isLtrDirection && right > viewportWidth) {\n return viewportWidth - right - 15;\n }\n\n return null;\n }\n\n handleDirection(): void {\n const directionStyles = window\n .getComputedStyle(this)\n .getPropertyValue(\"direction\");\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n\n closeDropdown(): void {\n this.selected = false;\n this.fireDropdownCloseEvent(this.accessibleName || this.eventItemTitle, UDExMastheadDropdownItemAction.Close);\n }\n\n getDomElement(selector: string): HTMLElement | undefined | null {\n return this.shadowRoot?.querySelector(`${selector}`);\n }\n\n getSubItems(): Array<MenuItem> {\n return parseArrayFromString(this.subItems);\n }\n\n private isFocusOutPrevented(e: FocusEvent): boolean {\n return this.isMobile || e.relatedTarget === null || this._preventFocusOut;\n }\n\n get dropdownHolder(): HTMLElement {\n return this.getDomElement(\".udex-masthead-item__dropdown\")!;\n }\n\n get mastheadShell(): UDExMastheadShell {\n return document.querySelector<UDExMastheadShell>(\"[udex-masthead-shell]\")!;\n }\n\n get additionalClass(): string {\n const iconClass = (this.icon || this.image || this.isProfileBtn) ? \"udex-masthead-item__button--icon\" : \"\";\n const profileClass = this.isProfileBtn ? \"udex-masthead-item__button--profile\" : \"\";\n const exploreClass = this.isExploreBtn ? \"udex-masthead-item__button--explore\" : \"\";\n const supportClass = this.isSupportBtn ? \"udex-masthead-item__button--support\" : \"\";\n const countrySelectorClass = this.isCountrySelectorBtn ? \"udex-masthead-item__button--country-selector\" : \"\";\n return `udex-masthead-item ${iconClass} ${profileClass} ${exploreClass} ${countrySelectorClass} ${supportClass}`.trim();\n }\n\n get profileAvatar(): UDExAvatar {\n return this.querySelector(\"[udex-avatar]\")!;\n }\n\n get iconAltText(): string {\n return this._isMenuCloseBtn ? this.accessibleName || this.icon : this.iconAlt;\n }\n\n get isRtlDirection(): boolean {\n return this._direction === \"rtl\";\n }\n\n get isLtrDirection(): boolean {\n return this._direction === \"ltr\";\n }\n\n get hasHref(): boolean {\n return !!this.href?.length;\n }\n\n get accessibleRoleName(): string {\n return this.accessibleRole ? this.accessibleRole : \"button\";\n }\n\n get selectedClass(): string {\n return this.selected ? \" udex-masthead-item__button--active\" : \"\";\n }\n\n get ariaDescribedBy(): string | undefined {\n const labels = [];\n\n if (this.isTargetBlank) {\n labels.push(`new-win-desc`);\n }\n\n if (this.imageAlt) {\n labels.push(`image-desc`);\n }\n\n return labels.length ? labels.join(\" \").trim() : undefined;\n }\n\n get isDropdownOpened(): boolean {\n return this.hasDropdownSlot && this.selected;\n }\n\n get isMobileMenuOpenBtn(): boolean {\n return this.hasAttribute(\"_is-menu-open-btn\");\n }\n\n get hasDropdownSlot(): boolean {\n return !!this.getSlottedNodes(\"dropdown\").length;\n }\n\n get hasArrowDown(): boolean {\n return this.hasDropdownSlot && !this.isProfileBtn && !this.icon.length && !this.hideArrowIcon;\n }\n\n get isProfileBtn(): boolean {\n return this.getAttribute(\"slot\") === \"profile\";\n }\n\n get isExploreBtn(): boolean {\n return this.getAttribute(\"slot\") === \"exploreSAP\";\n }\n\n get isCountrySelectorBtn(): boolean {\n return this.getAttribute(\"slot\") === \"countrySelector\";\n }\n\n get isCartBtn(): boolean {\n return this.getAttribute(\"slot\") === \"cart\";\n }\n\n get isSearchBtn(): boolean {\n return this.icon === \"search\";\n }\n\n get isSupportBtn(): boolean {\n return this.getAttribute(\"slot\") === \"support\";\n }\n\n get accessibleLabel(): string {\n return this.accessibleName || this.innerText || (this.isProfileBtn ? translate(UDExMastheadItem, PROFILE) : \"\");\n }\n\n get profileSlot(): UDExMastheadProfileMenu {\n return this.getSlottedNodes<UDExMastheadProfileMenu>(\"dropdown\")[0];\n }\n\n get isMobile(): boolean {\n return BreakpointUtils.isAtMost(\"M\") || this.mastheadShell?._isMobileMode;\n }\n\n get isTargetBlank(): boolean {\n return this.target === UDExTarget._blank;\n }\n\n get openInNewWindowText(): string {\n return translate(UDExMastheadItem, OPENS_IN_A_NEW_WINDOW);\n }\n\n get eventItemTitle(): string {\n if (this.isSearchBtn) {\n return translate(UDExMastheadItem, SEARCH);\n }\n if (this.isCartBtn) {\n return translate(UDExMastheadItem, CART);\n }\n if (this.isProfileBtn) {\n return translate(UDExMastheadItem, PROFILE);\n }\n if (this.isCountrySelectorBtn) {\n return translate(UDExMastheadItem, COUNTRY_SELECTOR);\n }\n if (this.isSupportBtn) {\n return translate(UDExMastheadItem, SUPPORT);\n }\n\n return this.firstChild?.nodeValue?.trim() || \"\";\n }\n\n get buttonAriaExpanded(): boolean | undefined {\n if (!this.hasDropdownSlot) {\n return undefined;\n }\n return this.selected || false;\n }\n\n get imageLoadError(): boolean {\n return this._imageLoadError && this.isCountrySelectorBtn;\n }\n\n get dropdownMenu(): UDExMastheadMenu | undefined {\n return this.getSlottedNodes<UDExMastheadMenu>(\"dropdown\")\n .find(el => el instanceof UDExMastheadMenu);\n }\n\n get hasFourColumnsMenu(): boolean {\n return !!this.dropdownMenu?.hasFourColumns;\n }\n}\n\nUDExMastheadItem.define();\n\nexport default UDExMastheadItem;\nexport type { UDExMastheadDropdownEventDetail, UDExMastheadItemItemClickEventDetail };\n"]}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "@ui5/webcomponents-base/jsx-runtime";
|
|
2
|
+
import UI5Icon from "@ui5/webcomponents/dist/Icon.js";
|
|
3
|
+
import IconMode from "@ui5/webcomponents/dist/types/IconMode.js";
|
|
4
|
+
import UDExBadge from "./Badge.js";
|
|
5
|
+
import arrowDownIcon from "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
|
|
6
|
+
import worldIcon from "@ui5/webcomponents-icons/dist/world.js";
|
|
7
|
+
import { UDExNumberBadgeDesign, UDExSizeBadgeDesign, UDExTypeBadgeDesign } from "./types/BadgeDesign.js";
|
|
8
|
+
export default function MastheadItemTemplate() {
|
|
9
|
+
if (this.hasHref) {
|
|
10
|
+
return link.call(this);
|
|
11
|
+
}
|
|
12
|
+
if (this.isProfileBtn) {
|
|
13
|
+
return profileButton.call(this);
|
|
14
|
+
}
|
|
15
|
+
return button.call(this);
|
|
16
|
+
}
|
|
17
|
+
function link() {
|
|
18
|
+
return (_jsxs(_Fragment, { children: [_jsxs("a", { id: this._id, class: this.additionalClass, role: this.accessibleRoleName, "aria-label": this.accessibleLabel, target: this.target, href: this.href, "aria-describedby": this.ariaDescribedBy, onClick: this.handleItemClick, onMouseDown: this.handleMouseDown, onMouseUp: this.handleMouseUp, tabindex: 0, children: [content.call(this), badge.call(this)] }), this.isTargetBlank && (_jsx("span", { id: "new-win-desc", class: "udex-masthead-hidden-text", children: this.openInNewWindowText }))] }));
|
|
19
|
+
}
|
|
20
|
+
function profileButton() {
|
|
21
|
+
return (_jsxs(_Fragment, { children: [_jsxs("button", { class: `udex-masthead-item__btn udex-masthead-item__profile-btn ${this.additionalClass}`, id: this._id, tabindex: 0, "aria-expanded": this.buttonAriaExpanded, "aria-describedby": this.ariaDescribedBy, "aria-controls": `${this._id}_dropdown`, "aria-label": this.accessibleLabel, onKeyDown: this.handleKeyDown, onClick: this.handleItemClick, "onclick-default": this.handleItemClick, onMouseDown: this.handleMouseDown, onMouseUp: this.handleMouseUp, children: [content.call(this), badge.call(this)] }), dropdown.call(this)] }));
|
|
22
|
+
}
|
|
23
|
+
function button() {
|
|
24
|
+
return (_jsxs(_Fragment, { children: [_jsxs("button", { role: this.accessibleRoleName, id: this._id, class: `udex-masthead-item__btn ${this.additionalClass}`, tabindex: 0, "aria-expanded": this.buttonAriaExpanded, "aria-controls": `${this._id}_dropdown`, "aria-describedby": this.ariaDescribedBy, "aria-label": this.accessibleLabel, onKeyDown: this.handleKeyDown, onMouseDown: this.handleMouseDown, onMouseUp: this.handleMouseUp, onClick: this.handleItemClick, children: [content.call(this), badge.call(this)] }), dropdown.call(this)] }));
|
|
25
|
+
}
|
|
26
|
+
function content() {
|
|
27
|
+
if (this.icon) {
|
|
28
|
+
return (_jsx(UI5Icon, { class: "udex-masthead-item__icon", name: this.icon, "show-tooltip": this.iconAltText, "accessible-name": this.iconAltText, mode: IconMode.Decorative }));
|
|
29
|
+
}
|
|
30
|
+
if (this.image) {
|
|
31
|
+
return (_jsxs(_Fragment, { children: [this.imageLoadError ? (_jsx(UI5Icon, { class: "udex-masthead-item__icon", name: worldIcon, mode: IconMode.Decorative })) : (_jsx("div", { class: "udex-masthead-item__image-wrap", children: _jsx("img", { class: "udex-masthead-item__image", id: `${this._id}_image-alt`, src: this.image, "aria-hidden": this.isCountrySelectorBtn, alt: this.imageAlt, onError: this.handleImageError }) })), this.imageAlt && (_jsx("span", { id: "image-desc", class: "udex-masthead-hidden-text", children: this.imageAlt }))] }));
|
|
32
|
+
}
|
|
33
|
+
return (_jsxs("span", { class: "udex-masthead-item__text", children: [_jsx("slot", {}), this.hasArrowDown && (_jsx(UI5Icon, { class: "udex-masthead-item__dropdown-icon", name: arrowDownIcon, mode: IconMode.Decorative }))] }));
|
|
34
|
+
}
|
|
35
|
+
function dropdown() {
|
|
36
|
+
return this.isDropdownOpened ? (_jsx("div", { class: "udex-masthead-item__dropdown", id: `${this._id}_dropdown`, onKeyDown: this.handleKeyDown, onFocusOut: this.handleFocusout, children: _jsx("div", { class: "udex-masthead-item__dropdown-holder", children: _jsx("slot", { name: "dropdown" }) }) })) : (_jsx("div", { id: `${this._id}_dropdown` }));
|
|
37
|
+
}
|
|
38
|
+
function badge() {
|
|
39
|
+
return this.numberBadge ? (_jsx(UDExBadge, { class: "udex-masthead-item__badge", type: UDExTypeBadgeDesign.Number, numberDesign: UDExNumberBadgeDesign.Red, size: UDExSizeBadgeDesign.Small, children: this.numberBadge })) : undefined;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=MastheadItemTemplate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MastheadItemTemplate.js","sourceRoot":"","sources":["../src/MastheadItemTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type UDExMastheadItem from \"./MastheadItem.js\";\nimport type { AriaRole } from \"@ui5/webcomponents-base\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport IconMode from \"@ui5/webcomponents/dist/types/IconMode.js\";\nimport UDExBadge from \"./Badge.js\";\nimport arrowDownIcon from \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport worldIcon from \"@ui5/webcomponents-icons/dist/world.js\";\nimport { UDExNumberBadgeDesign, UDExSizeBadgeDesign, UDExTypeBadgeDesign } from \"./types/BadgeDesign.js\";\n\nexport default function MastheadItemTemplate(this: UDExMastheadItem) {\n if (this.hasHref) {\n return link.call(this);\n }\n if (this.isProfileBtn) {\n return profileButton.call(this);\n }\n return button.call(this);\n}\n\nfunction link(this: UDExMastheadItem) {\n return (\n <>\n <a\n id={this._id}\n class={this.additionalClass}\n role={this.accessibleRoleName as AriaRole}\n aria-label={this.accessibleLabel}\n target={this.target}\n href={this.href}\n aria-describedby={this.ariaDescribedBy}\n onClick={this.handleItemClick as any}\n onMouseDown={this.handleMouseDown}\n onMouseUp={this.handleMouseUp}\n tabindex={0}>\n {content.call(this)}\n {badge.call(this)}\n </a>\n {this.isTargetBlank && (\n <span id=\"new-win-desc\" class=\"udex-masthead-hidden-text\">\n {this.openInNewWindowText}\n </span>\n )}\n </>\n );\n}\n\nfunction profileButton(this: UDExMastheadItem) {\n return (\n <>\n <button\n class={`udex-masthead-item__btn udex-masthead-item__profile-btn ${this.additionalClass}`}\n id={this._id}\n tabindex={0}\n aria-expanded={this.buttonAriaExpanded}\n aria-describedby={this.ariaDescribedBy}\n aria-controls={`${this._id}_dropdown`}\n aria-label={this.accessibleLabel}\n onKeyDown={this.handleKeyDown}\n onClick={this.handleItemClick as any}\n onclick-default={this.handleItemClick}\n onMouseDown={this.handleMouseDown}\n onMouseUp={this.handleMouseUp}>\n {content.call(this)}\n {badge.call(this)}\n </button>\n {dropdown.call(this)}\n </>\n );\n}\n\nfunction button(this: UDExMastheadItem) {\n return (\n <>\n <button\n role={this.accessibleRoleName as AriaRole}\n id={this._id}\n class={`udex-masthead-item__btn ${this.additionalClass}`}\n tabindex={0}\n aria-expanded={this.buttonAriaExpanded}\n aria-controls={`${this._id}_dropdown`}\n aria-describedby={this.ariaDescribedBy}\n aria-label={this.accessibleLabel}\n onKeyDown={this.handleKeyDown}\n onMouseDown={this.handleMouseDown}\n onMouseUp={this.handleMouseUp}\n onClick={this.handleItemClick as any}>\n {content.call(this)}\n {badge.call(this)}\n </button>\n {dropdown.call(this)}\n </>\n );\n}\n\nfunction content(this: UDExMastheadItem) {\n if (this.icon) {\n return (\n <UI5Icon\n class=\"udex-masthead-item__icon\"\n name={this.icon}\n show-tooltip={this.iconAltText}\n accessible-name={this.iconAltText}\n mode={IconMode.Decorative}>\n </UI5Icon>\n );\n }\n\n if (this.image) {\n return (\n <>\n {this.imageLoadError ? (\n <UI5Icon\n class=\"udex-masthead-item__icon\"\n name={worldIcon}\n mode={IconMode.Decorative}>\n </UI5Icon>\n ) : (\n <div class=\"udex-masthead-item__image-wrap\">\n <img\n class=\"udex-masthead-item__image\"\n id={`${this._id}_image-alt`}\n src={this.image}\n aria-hidden={this.isCountrySelectorBtn}\n alt={this.imageAlt}\n onError={this.handleImageError}\n />\n </div>\n )}\n {this.imageAlt && (\n <span id=\"image-desc\" class=\"udex-masthead-hidden-text\">\n {this.imageAlt}\n </span>\n )}\n </>\n );\n }\n\n return (\n <span class=\"udex-masthead-item__text\">\n <slot></slot>\n {this.hasArrowDown && (\n <UI5Icon\n class=\"udex-masthead-item__dropdown-icon\"\n name={arrowDownIcon}\n mode={IconMode.Decorative}>\n </UI5Icon>\n )}\n </span>\n );\n}\n\nfunction dropdown(this: UDExMastheadItem) {\n return this.isDropdownOpened ? (\n <div\n class=\"udex-masthead-item__dropdown\"\n id={`${this._id}_dropdown`}\n onKeyDown={this.handleKeyDown}\n onFocusOut={this.handleFocusout}>\n <div class=\"udex-masthead-item__dropdown-holder\">\n <slot name=\"dropdown\"></slot>\n </div>\n </div>\n ) : (\n <div id={`${this._id}_dropdown`}></div>\n );\n}\n\nfunction badge(this: UDExMastheadItem) {\n return this.numberBadge ? (\n <UDExBadge\n class=\"udex-masthead-item__badge\"\n type={UDExTypeBadgeDesign.Number}\n numberDesign={UDExNumberBadgeDesign.Red}\n size={UDExSizeBadgeDesign.Small}>\n {this.numberBadge}\n </UDExBadge>\n ) : undefined;\n}\n"]}
|
package/dist/MastheadMenu.d.ts
CHANGED
package/dist/MastheadMenu.js
CHANGED
|
@@ -8,17 +8,15 @@ var UDExMastheadMenu_1;
|
|
|
8
8
|
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
9
9
|
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
10
10
|
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
11
|
-
import
|
|
11
|
+
import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
|
|
12
12
|
import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
|
|
13
13
|
import Icon from "@ui5/webcomponents/dist/Icon.js";
|
|
14
14
|
import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
|
|
15
15
|
import "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
|
|
16
16
|
import "@ui5/webcomponents-icons/dist/action.js";
|
|
17
17
|
import { isTabNext, isTabPrevious, isHome, isEnd, } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
18
|
-
import UDExBadge from "./Badge.js";
|
|
19
18
|
import UDExMastheadMenuItem, { UDExItemType } from "./MastheadMenuItem.js";
|
|
20
|
-
import
|
|
21
|
-
import MastheadMenuTemplate from "./generated/templates/MastheadMenuTemplate.lit.js";
|
|
19
|
+
import MastheadMenuTemplate from "./MastheadMenuTemplate.js";
|
|
22
20
|
import parseArrayFromString from "./utils/parseArrayFromString.js";
|
|
23
21
|
import AnalyticsName from "./types/AnalyticsName.js";
|
|
24
22
|
import { OVERVIEW } from "./generated/i18n/i18n-defaults.js";
|
|
@@ -194,10 +192,10 @@ __decorate([
|
|
|
194
192
|
UDExMastheadMenu = UDExMastheadMenu_1 = __decorate([
|
|
195
193
|
customElement({
|
|
196
194
|
tag: "udex-masthead-menu",
|
|
197
|
-
renderer:
|
|
195
|
+
renderer: jsxRenderer,
|
|
198
196
|
styles: MastheadMenuCss,
|
|
199
197
|
template: MastheadMenuTemplate,
|
|
200
|
-
dependencies: [Icon,
|
|
198
|
+
dependencies: [Icon, UDExMastheadMenuItem],
|
|
201
199
|
})
|
|
202
200
|
/**
|
|
203
201
|
* Fires when menu item is clicked
|
package/dist/MastheadMenu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MastheadMenu.js","sourceRoot":"","sources":["../src/MastheadMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element 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 litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport \"@ui5/webcomponents-icons/dist/action.js\";\nimport {\n isTabNext, isTabPrevious, isHome, isEnd,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport UDExBadge from \"./Badge.js\";\nimport UDExMastheadMenuItem, { UDExItemType } from \"./MastheadMenuItem.js\";\nimport type UDExMastheadItem from \"./MastheadItem.js\";\nimport UDExDivider from \"./Divider.js\";\nimport MastheadMenuTemplate from \"./generated/templates/MastheadMenuTemplate.lit.js\";\nimport parseArrayFromString from \"./utils/parseArrayFromString.js\";\nimport AnalyticsName from \"./types/AnalyticsName.js\";\nimport { OVERVIEW } from \"./generated/i18n/i18n-defaults.js\";\nimport type { UDExScrollIntoViewOptions } from \"./types/List.js\";\nimport translate from \"./utils/translate.js\";\n\n// Styles\nimport MastheadMenuCss from \"./generated/themes/MastheadMenu.css.js\";\n\nconst rowClass = \"udex-masthead-menu_with-one-column\";\n\nexport type Item = {\n title: string;\n url?: string;\n externalLink: boolean;\n isDivider?: boolean;\n subItems?: Item[];\n};\n\nexport type SubMenuLinkItem = {\n categoryId: string;\n category: string;\n url: string;\n items: Item[];\n};\n\nexport type MenuItem = {\n subMenuLinkItems: SubMenuLinkItem[];\n};\n\ntype UDExMastheadMenuMenuItemClickEventDetail = {\n category?: string,\n analyticsPath: Array<string>,\n analyticsName: AnalyticsName,\n originalEvent: PointerEvent,\n item: UDExMastheadMenuItem,\n sourceNode: HTMLElement,\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-masthead-menu</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MastheadMenu.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-menu\",\n renderer: litRender,\n styles: MastheadMenuCss,\n template: MastheadMenuTemplate,\n dependencies: [Icon, UDExBadge, UDExMastheadMenuItem, UDExDivider],\n})\n\n/**\n * Fires when menu item is clicked\n *\n * @allowPreventDefault\n * @public\n * @param {string} category The category of the clicked menu item\n * @param {Array<string>} analyticsPath The analytics path for the clicked menu item\n * @param {AnalyticsName} analyticsName The analytics name for the clicked menu item\n * @param {PointerEvent} originalEvent The original event object\n * @param {UDExMastheadMenuItem} item The clicked menu item\n * @param {HTMLElement} sourceNode The source node of the clicked menu item\n */\n@event(\"menu-item-click\", { bubbles: true })\n\nclass UDExMastheadMenu extends UI5Element {\n eventDetails!: {\n \"menu-item-click\": UDExMastheadMenuMenuItemClickEventDetail\n };\n /**\n * Defines a menu heading\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n menuTitle: string = \"\";\n\n /**\n * List of the menu items\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n subItems: string = \"[]\";\n\n /**\n * Defines the mobile mode for component\n *\n * @private\n */\n @property({ type: Boolean })\n _isMobileMode!: boolean;\n\n /**\n * Defines the scroll behavior for the items of the component.\n *\n * @default undefined\n * @private\n */\n @property()\n _scrollIntoView?: `${UDExScrollIntoViewOptions}`;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n handleKeyDown(e: KeyboardEvent): void {\n const isFirstItem = e.target === this.links[0];\n const isLastItem = e.target === this.links[this.links.length - 1];\n\n if (isTabPrevious(e) && !isFirstItem) {\n this.handlePreviousItemFocus(e);\n }\n if (isTabNext(e) && !isLastItem) {\n this.handleNextItemFocus(e);\n }\n if (isHome(e)) {\n this.handleHomeKey(e);\n }\n if (isEnd(e)) {\n this.handleEndKey(e);\n }\n }\n\n handleHomeKey(e: KeyboardEvent): void {\n e.preventDefault();\n this.focusInnerElement(this.links[0]);\n }\n\n handleEndKey(e: KeyboardEvent): void {\n e.preventDefault();\n this.focusInnerElement(this.links[this.links.length - 1]);\n }\n\n handlePreviousItemFocus(e: KeyboardEvent): void {\n e.preventDefault();\n const currentItem = e.target as UDExMastheadMenuItem;\n this.focusPreviousItem(currentItem);\n }\n\n handleNextItemFocus(e: KeyboardEvent): void {\n e.preventDefault();\n const currentItem = e.target as UDExMastheadMenuItem;\n this.focusNextItem(currentItem);\n }\n\n handleMenuItemClick(e: PointerEvent): void {\n const menuItem = e.target as UDExMastheadMenuItem;\n if (!menuItem.url?.length) {\n return;\n }\n\n const mainItem = this.closest(\"[udex-masthead-item]\") as UDExMastheadItem;\n const menuList = menuItem.closest(\".udex-masthead-menu__list\") as HTMLElement;\n const sourceNode = menuItem.shadowRoot?.querySelector(\".udex-masthead-menu-item\") as HTMLElement;\n const category = menuList?.getAttribute(\"category\") || \"\";\n\n const eventDetail: UDExMastheadMenuMenuItemClickEventDetail = {\n analyticsPath: [mainItem?.label, category, menuItem.label].filter(Boolean),\n analyticsName: AnalyticsName.Header,\n originalEvent: e,\n item: menuItem,\n sourceNode,\n ...(menuItem.type !== UDExItemType.Heading && { category }),\n };\n\n this.fireDecoratorEvent(\"menu-item-click\", eventDetail);\n }\n\n focusPreviousItem(item: UDExMastheadMenuItem): void {\n const currentSelectedIndex = this.getCurrentIndex(item);\n const lastItemIndex = this.links.length - 1;\n const previousSelectIndex = currentSelectedIndex - 1 < 0 ? lastItemIndex : currentSelectedIndex - 1;\n if (this._scrollIntoView) {\n this.scrollToItem(this.links[previousSelectIndex]);\n }\n this.focusInnerElement(this.links[previousSelectIndex]);\n }\n\n focusNextItem(item: UDExMastheadMenuItem): void {\n const currentSelectedIndex = this.getCurrentIndex(item);\n const nextSelectIndex = currentSelectedIndex + 1 > this.links.length - 1 ? 0 : currentSelectedIndex + 1;\n if (this._scrollIntoView) {\n this.scrollToItem(this.links[nextSelectIndex]);\n }\n this.focusInnerElement(this.links[nextSelectIndex]);\n }\n\n getCurrentIndex(item: UDExMastheadMenuItem): number {\n return this.links.indexOf(item);\n }\n\n focusFirstItem(): void {\n const firstItem = this.links[0];\n if (firstItem) {\n this.focusInnerElement(firstItem);\n }\n }\n\n private focusInnerElement(item: UDExMastheadMenuItem): void {\n item.shadowRoot?.querySelector<HTMLElement>(\".udex-masthead-menu-item\")?.focus();\n }\n\n scrollToItem(item: UDExMastheadMenuItem): void {\n item.scrollIntoView({ block: this._scrollIntoView?.toLowerCase() as ScrollLogicalPosition });\n }\n\n get links(): Array<UDExMastheadMenuItem> {\n const menuItems: Array<UDExMastheadMenuItem> = Array.from(this.shadowRoot!.querySelectorAll(\"[udex-masthead-menu-item]\"));\n return menuItems.filter(({ url }) => url && url.length > 0);\n }\n\n get itemsList(): Array<MenuItem> {\n let id = 1;\n const parsedItems: Array<MenuItem> = parseArrayFromString(this.subItems);\n\n return parsedItems.map((mainItem: MenuItem) => {\n mainItem.subMenuLinkItems = mainItem.subMenuLinkItems.map((subMenu: SubMenuLinkItem) => {\n subMenu.categoryId = `${id++}`;\n\n subMenu.items = subMenu.items ? subMenu.items.map((item: Item) => ({\n ...item,\n ...(item.title === \"-\" && { isDivider: true }),\n })) : [];\n\n return subMenu;\n });\n\n return mainItem;\n });\n }\n\n get oneRowClass(): string {\n const hasOneColumn = this.itemsList.length === 1 && this.itemsList[0].subMenuLinkItems.length === 1;\n return hasOneColumn ? rowClass : \"\";\n }\n\n get overviewHeaderLinkText(): string {\n return translate(UDExMastheadMenu, OVERVIEW);\n }\n\n get hasFourColumns(): boolean {\n return this.itemsList.some(item => item.subMenuLinkItems.length === 4);\n }\n}\n\nUDExMastheadMenu.define();\n\nexport default UDExMastheadMenu;\nexport type { UDExMastheadMenuMenuItemClickEventDetail };\n"]}
|
|
1
|
+
{"version":3,"file":"MastheadMenu.js","sourceRoot":"","sources":["../src/MastheadMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element 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 jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport \"@ui5/webcomponents-icons/dist/action.js\";\nimport {\n isTabNext, isTabPrevious, isHome, isEnd,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport UDExMastheadMenuItem, { UDExItemType } from \"./MastheadMenuItem.js\";\nimport type UDExMastheadItem from \"./MastheadItem.js\";\nimport MastheadMenuTemplate from \"./MastheadMenuTemplate.js\";\nimport parseArrayFromString from \"./utils/parseArrayFromString.js\";\nimport AnalyticsName from \"./types/AnalyticsName.js\";\nimport { OVERVIEW } from \"./generated/i18n/i18n-defaults.js\";\nimport type { UDExScrollIntoViewOptions } from \"./types/List.js\";\nimport translate from \"./utils/translate.js\";\n\n// Styles\nimport MastheadMenuCss from \"./generated/themes/MastheadMenu.css.js\";\n\nconst rowClass = \"udex-masthead-menu_with-one-column\";\n\nexport type Item = {\n title: string;\n url?: string;\n externalLink: boolean;\n badge?: string;\n isDivider?: boolean;\n subItems?: Item[];\n};\n\nexport type SubMenuLinkItem = {\n categoryId: string;\n category: string;\n url: string;\n items: Item[];\n};\n\nexport type MenuItem = {\n subMenuLinkItems: SubMenuLinkItem[];\n};\n\ntype UDExMastheadMenuMenuItemClickEventDetail = {\n category?: string,\n analyticsPath: Array<string>,\n analyticsName: AnalyticsName,\n originalEvent: PointerEvent,\n item: UDExMastheadMenuItem,\n sourceNode: HTMLElement,\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-masthead-menu</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MastheadMenu.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-masthead-menu\",\n renderer: jsxRenderer,\n styles: MastheadMenuCss,\n template: MastheadMenuTemplate,\n dependencies: [Icon, UDExMastheadMenuItem],\n})\n\n/**\n * Fires when menu item is clicked\n *\n * @allowPreventDefault\n * @public\n * @param {string} category The category of the clicked menu item\n * @param {Array<string>} analyticsPath The analytics path for the clicked menu item\n * @param {AnalyticsName} analyticsName The analytics name for the clicked menu item\n * @param {PointerEvent} originalEvent The original event object\n * @param {UDExMastheadMenuItem} item The clicked menu item\n * @param {HTMLElement} sourceNode The source node of the clicked menu item\n */\n@event(\"menu-item-click\", { bubbles: true })\n\nclass UDExMastheadMenu extends UI5Element {\n eventDetails!: {\n \"menu-item-click\": UDExMastheadMenuMenuItemClickEventDetail\n };\n /**\n * Defines a menu heading\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n menuTitle: string = \"\";\n\n /**\n * List of the menu items\n *\n * @default \"[]\"\n * @public\n */\n @property({ type: String })\n subItems: string = \"[]\";\n\n /**\n * Defines the mobile mode for component\n *\n * @private\n */\n @property({ type: Boolean })\n _isMobileMode!: boolean;\n\n /**\n * Defines the scroll behavior for the items of the component.\n *\n * @default undefined\n * @private\n */\n @property()\n _scrollIntoView?: `${UDExScrollIntoViewOptions}`;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n handleKeyDown(e: KeyboardEvent): void {\n const isFirstItem = e.target === this.links[0];\n const isLastItem = e.target === this.links[this.links.length - 1];\n\n if (isTabPrevious(e) && !isFirstItem) {\n this.handlePreviousItemFocus(e);\n }\n if (isTabNext(e) && !isLastItem) {\n this.handleNextItemFocus(e);\n }\n if (isHome(e)) {\n this.handleHomeKey(e);\n }\n if (isEnd(e)) {\n this.handleEndKey(e);\n }\n }\n\n handleHomeKey(e: KeyboardEvent): void {\n e.preventDefault();\n this.focusInnerElement(this.links[0]);\n }\n\n handleEndKey(e: KeyboardEvent): void {\n e.preventDefault();\n this.focusInnerElement(this.links[this.links.length - 1]);\n }\n\n handlePreviousItemFocus(e: KeyboardEvent): void {\n e.preventDefault();\n const currentItem = e.target as UDExMastheadMenuItem;\n this.focusPreviousItem(currentItem);\n }\n\n handleNextItemFocus(e: KeyboardEvent): void {\n e.preventDefault();\n const currentItem = e.target as UDExMastheadMenuItem;\n this.focusNextItem(currentItem);\n }\n\n handleMenuItemClick(e: PointerEvent): void {\n const menuItem = e.target as UDExMastheadMenuItem;\n if (!menuItem.url?.length) {\n return;\n }\n\n const mainItem = this.closest(\"[udex-masthead-item]\") as UDExMastheadItem;\n const menuList = menuItem.closest(\".udex-masthead-menu__list\") as HTMLElement;\n const sourceNode = menuItem.shadowRoot?.querySelector(\".udex-masthead-menu-item\") as HTMLElement;\n const category = menuList?.getAttribute(\"category\") || \"\";\n\n const eventDetail: UDExMastheadMenuMenuItemClickEventDetail = {\n analyticsPath: [mainItem?.label, category, menuItem.label].filter(Boolean),\n analyticsName: AnalyticsName.Header,\n originalEvent: e,\n item: menuItem,\n sourceNode,\n ...(menuItem.type !== UDExItemType.Heading && { category }),\n };\n\n this.fireDecoratorEvent(\"menu-item-click\", eventDetail);\n }\n\n focusPreviousItem(item: UDExMastheadMenuItem): void {\n const currentSelectedIndex = this.getCurrentIndex(item);\n const lastItemIndex = this.links.length - 1;\n const previousSelectIndex = currentSelectedIndex - 1 < 0 ? lastItemIndex : currentSelectedIndex - 1;\n if (this._scrollIntoView) {\n this.scrollToItem(this.links[previousSelectIndex]);\n }\n this.focusInnerElement(this.links[previousSelectIndex]);\n }\n\n focusNextItem(item: UDExMastheadMenuItem): void {\n const currentSelectedIndex = this.getCurrentIndex(item);\n const nextSelectIndex = currentSelectedIndex + 1 > this.links.length - 1 ? 0 : currentSelectedIndex + 1;\n if (this._scrollIntoView) {\n this.scrollToItem(this.links[nextSelectIndex]);\n }\n this.focusInnerElement(this.links[nextSelectIndex]);\n }\n\n getCurrentIndex(item: UDExMastheadMenuItem): number {\n return this.links.indexOf(item);\n }\n\n focusFirstItem(): void {\n const firstItem = this.links[0];\n if (firstItem) {\n this.focusInnerElement(firstItem);\n }\n }\n\n private focusInnerElement(item: UDExMastheadMenuItem): void {\n item.shadowRoot?.querySelector<HTMLElement>(\".udex-masthead-menu-item\")?.focus();\n }\n\n scrollToItem(item: UDExMastheadMenuItem): void {\n item.scrollIntoView({ block: this._scrollIntoView?.toLowerCase() as ScrollLogicalPosition });\n }\n\n get links(): Array<UDExMastheadMenuItem> {\n const menuItems: Array<UDExMastheadMenuItem> = Array.from(this.shadowRoot!.querySelectorAll(\"[udex-masthead-menu-item]\"));\n return menuItems.filter(({ url }) => url && url.length > 0);\n }\n\n get itemsList(): Array<MenuItem> {\n let id = 1;\n const parsedItems: Array<MenuItem> = parseArrayFromString(this.subItems);\n\n return parsedItems.map((mainItem: MenuItem) => {\n mainItem.subMenuLinkItems = mainItem.subMenuLinkItems.map((subMenu: SubMenuLinkItem) => {\n subMenu.categoryId = `${id++}`;\n\n subMenu.items = subMenu.items ? subMenu.items.map((item: Item) => ({\n ...item,\n ...(item.title === \"-\" && { isDivider: true }),\n })) : [];\n\n return subMenu;\n });\n\n return mainItem;\n });\n }\n\n get oneRowClass(): string {\n const hasOneColumn = this.itemsList.length === 1 && this.itemsList[0].subMenuLinkItems.length === 1;\n return hasOneColumn ? rowClass : \"\";\n }\n\n get overviewHeaderLinkText(): string {\n return translate(UDExMastheadMenu, OVERVIEW);\n }\n\n get hasFourColumns(): boolean {\n return this.itemsList.some(item => item.subMenuLinkItems.length === 4);\n }\n}\n\nUDExMastheadMenu.define();\n\nexport default UDExMastheadMenu;\nexport type { UDExMastheadMenuMenuItemClickEventDetail };\n"]}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
2
2
|
import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
3
|
-
import "@ui5/webcomponents-icons/dist/action.js";
|
|
4
|
-
import "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
|
|
5
|
-
import "@ui5/webcomponents-icons/dist/slim-arrow-left.js";
|
|
6
3
|
import { UDExTarget } from "./types/common.js";
|
|
7
4
|
export declare enum UDExItemType {
|
|
8
5
|
Heading = "Heading",
|
package/dist/MastheadMenuItem.js
CHANGED
|
@@ -8,17 +8,14 @@ var UDExMastheadMenuItem_1;
|
|
|
8
8
|
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
9
9
|
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
10
10
|
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
11
|
-
import
|
|
11
|
+
import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
|
|
12
12
|
import Icon from "@ui5/webcomponents/dist/Icon.js";
|
|
13
13
|
import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
|
|
14
14
|
import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
|
|
15
|
-
import "@ui5/webcomponents-icons/dist/action.js";
|
|
16
|
-
import "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
|
|
17
|
-
import "@ui5/webcomponents-icons/dist/slim-arrow-left.js";
|
|
18
15
|
import { OPENS_IN_A_NEW_WINDOW } from "./generated/i18n/i18n-defaults.js";
|
|
19
16
|
import { UDExTarget } from "./types/common.js";
|
|
20
17
|
import translate from "./utils/translate.js";
|
|
21
|
-
import MastheadMenuItemTemplate from "./
|
|
18
|
+
import MastheadMenuItemTemplate from "./MastheadMenuItemTemplate.js";
|
|
22
19
|
// Styles
|
|
23
20
|
import MastheadMenuItemCss from "./generated/themes/MastheadMenuItem.css.js";
|
|
24
21
|
export var UDExItemType;
|
|
@@ -161,7 +158,7 @@ UDExMastheadMenuItem = UDExMastheadMenuItem_1 = __decorate([
|
|
|
161
158
|
customElement({
|
|
162
159
|
tag: "udex-masthead-menu-item",
|
|
163
160
|
languageAware: true,
|
|
164
|
-
renderer:
|
|
161
|
+
renderer: jsxRenderer,
|
|
165
162
|
styles: MastheadMenuItemCss,
|
|
166
163
|
template: MastheadMenuItemTemplate,
|
|
167
164
|
dependencies: [Icon],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MastheadMenuItem.js","sourceRoot":"","sources":["../src/MastheadMenuItem.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,
|
|
1
|
+
{"version":3,"file":"MastheadMenuItem.js","sourceRoot":"","sources":["../src/MastheadMenuItem.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element 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 jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { OPENS_IN_A_NEW_WINDOW } from \"./generated/i18n/i18n-defaults.js\";\nimport { UDExTarget } from \"./types/common.js\";\nimport translate from \"./utils/translate.js\";\n\nimport MastheadMenuItemTemplate from \"./MastheadMenuItemTemplate.js\";\n\n// Styles\nimport MastheadMenuItemCss from \"./generated/themes/MastheadMenuItem.css.js\";\n\nexport enum UDExItemType {\n Heading = \"Heading\",\n Button = \"Button\",\n Link = \"Link\"\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-masthead-menu-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/MastheadMenuItem.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @private\n */\n@customElement({\n tag: \"udex-masthead-menu-item\",\n languageAware: true,\n renderer: jsxRenderer,\n styles: MastheadMenuItemCss,\n template: MastheadMenuItemTemplate,\n dependencies: [Icon],\n})\n\nclass UDExMastheadMenuItem extends UI5Element {\n /**\n * Defines the type of the item.\n *\n * @default \"Link\"\n * @public\n */\n @property()\n type: `${UDExItemType}` = UDExItemType.Link;\n\n /**\n * Controls the ARIA role of the item\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n accessibleRole!: string;\n\n /**\n * Defines the label of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n label!: string;\n\n /**\n * Defines the url of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n url?: string;\n\n /**\n * Defines the badge of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n badge?: string;\n\n /**\n * Defines the externalLink of the component.\n *\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n externalLink?: boolean;\n\n /**\n * Defines the border for component.\n *\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n hasBorder?: boolean;\n\n /**\n * Defines the start position of icon arrow.\n *\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n iconStart?: boolean;\n\n /**\n * Defines the end position of icon arrow.\n *\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n iconEnd?: boolean;\n\n /**\n * Defines the index for the item.\n *\n * @public\n */\n @property({ type: Number })\n index!: number;\n\n /**\n * Defines the aria-haspopup attribute for the item.\n *\n * @public\n */\n @property({ type: String })\n ariaHasPopup!: string;\n\n /**\n * Define the target of the item\n * <b>Note:</b> Standard hyperlink behavior is supported.\n * @public\n * @default \"_self\"\n */\n @property()\n target: `${UDExTarget}` = UDExTarget._self;\n\n /**\n * Defines the accessible name of the item.\n *\n * @default undefined\n * @private\n */\n @property()\n _accessibleName?: string;\n\n /**\n * Defines the tabindex attribute for the item.\n *\n * @private\n */\n @property({ type: String })\n _tabIndex!: string;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n get rootClass(): string {\n const prefixClass = \"udex-masthead-menu-item\";\n const badgeClass = this.badge ? `${prefixClass}_badge` : \"\";\n const rootClass = this.isHeadingType ? `${prefixClass}_is-header` : `${prefixClass}_is-list`;\n return `${rootClass} ${badgeClass}`;\n }\n\n get labelClass(): string {\n const root = \"udex-masthead-menu-item__label\";\n return this.externalLink ? `${root} ${root}__label_with-icon` : `${root}`;\n }\n\n get isHeadingType(): boolean {\n return this.type === UDExItemType.Heading;\n }\n\n get isButtonType(): boolean {\n return this.type === UDExItemType.Button;\n }\n\n get isActive(): boolean {\n return !!this.url && !this.isButtonType;\n }\n\n get targetLink(): string {\n if (this.externalLink) {\n return this.externalLink ? UDExTarget._blank : UDExTarget._self;\n }\n return this.target;\n }\n\n get lastWordOfLabel(): string | undefined {\n return this.label.split(\" \").pop();\n }\n\n get leadingWordsOfLabel(): string {\n const leadingWords = this.label.split(\" \").slice(0, -1).join(\" \");\n return `${leadingWords} `;\n }\n\n get openInNewWindowText(): string {\n return translate(UDExMastheadMenuItem, OPENS_IN_A_NEW_WINDOW);\n }\n\n get ariaDescribedby(): string | null {\n return this.externalLink ? \"new-win-desc\" : null;\n }\n\n get accessibleRoleText(): string {\n return this.accessibleRole ? this.accessibleRole : \"menuitem\";\n }\n\n get partAttr(): string {\n return this.badge ? \"menu-item-link-badge\" : \"menu-item-link\";\n }\n}\n\nUDExMastheadMenuItem.define();\n\nexport default UDExMastheadMenuItem;\n"]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@ui5/webcomponents-base/jsx-runtime";
|
|
2
|
+
import UI5Icon from "@ui5/webcomponents/dist/Icon.js";
|
|
3
|
+
import IconMode from "@ui5/webcomponents/dist/types/IconMode.js";
|
|
4
|
+
import UDExBadge from "./Badge.js";
|
|
5
|
+
import { UDExNumberBadgeDesign, UDExSizeBadgeDesign, UDExTypeBadgeDesign } from "./types/BadgeDesign.js";
|
|
6
|
+
import actionIcon from "@ui5/webcomponents-icons/dist/action.js";
|
|
7
|
+
import slimArrowRightIcon from "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
|
|
8
|
+
import slimArrowLeftIcon from "@ui5/webcomponents-icons/dist/slim-arrow-left.js";
|
|
9
|
+
export default function MastheadMenuItemTemplate() {
|
|
10
|
+
if (this.isActive) {
|
|
11
|
+
return activeItem.call(this);
|
|
12
|
+
}
|
|
13
|
+
if (this.isButtonType) {
|
|
14
|
+
return buttonItem.call(this);
|
|
15
|
+
}
|
|
16
|
+
return spanItem.call(this);
|
|
17
|
+
}
|
|
18
|
+
function activeItem() {
|
|
19
|
+
return (_jsxs(_Fragment, { children: [_jsxs("a", { class: `udex-masthead-menu-item ${this.rootClass}`, "aria-describedby": this.ariaDescribedby || undefined, role: this.accessibleRoleText, href: this.url, part: this.partAttr, target: this.targetLink, tabindex: Number(this._tabIndex), children: [this.iconStart && arrowLeft(), _jsx("span", { class: this.labelClass, children: label.call(this) }), this.iconEnd && arrowRight()] }), this.externalLink && (_jsx("span", { id: "new-win-desc", class: "udex-masthead-hidden-text", children: this.openInNewWindowText })), this.badge && (_jsx(UDExBadge, { class: "udex-masthead-menu-item-badge", part: "badge", type: UDExTypeBadgeDesign.Number, "number-design": UDExNumberBadgeDesign.Blue, size: UDExSizeBadgeDesign.Small, children: this.badge }))] }));
|
|
20
|
+
}
|
|
21
|
+
function buttonItem() {
|
|
22
|
+
return (_jsxs("button", { "_id": this.id, part: "menu-item-button", class: `udex-masthead-menu-item ${this.rootClass}`, "aria-label": this._accessibleName, "aria-haspopup": this.ariaHasPopup, role: this.accessibleRoleText, tabindex: Number(this._tabIndex), children: [this.iconStart && arrowLeft(), this.label, this.iconEnd && arrowRight()] }));
|
|
23
|
+
}
|
|
24
|
+
function spanItem() {
|
|
25
|
+
return (_jsxs("span", { class: `udex-masthead-menu-item ${this.rootClass}`, part: "menu-item", children: [this.iconStart && arrowLeft(), this.label, this.iconEnd && arrowRight()] }));
|
|
26
|
+
}
|
|
27
|
+
function label() {
|
|
28
|
+
return this.externalLink ? (_jsxs(_Fragment, { children: [this.leadingWordsOfLabel, _jsxs("span", { class: "udex-masthead-menu-item__text-with-icon", children: [this.lastWordOfLabel, _jsx(UI5Icon, { class: "udex-masthead-menu-item__icon udex-masthead-menu-item_icon-action", name: actionIcon, mode: IconMode.Decorative })] })] })) : (_jsx("span", { children: this.label }));
|
|
29
|
+
}
|
|
30
|
+
function arrowLeft() {
|
|
31
|
+
return (_jsx(UI5Icon, { class: "udex-masthead-menu-item__icon udex-masthead-menu-item_icon-left", part: "left", name: slimArrowLeftIcon, mode: IconMode.Decorative }));
|
|
32
|
+
}
|
|
33
|
+
function arrowRight() {
|
|
34
|
+
return (_jsx(UI5Icon, { class: "udex-masthead-menu-item__icon udex-masthead-menu-item_icon-right", part: "right", name: slimArrowRightIcon, mode: IconMode.Decorative }));
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=MastheadMenuItemTemplate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MastheadMenuItemTemplate.js","sourceRoot":"","sources":["../src/MastheadMenuItemTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type UDExMastheadMenuItem from \"./MastheadMenuItem.js\";\nimport type { AriaRole } from \"@ui5/webcomponents-base\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport IconMode from \"@ui5/webcomponents/dist/types/IconMode.js\";\nimport UDExBadge from \"./Badge.js\";\nimport { UDExNumberBadgeDesign, UDExSizeBadgeDesign, UDExTypeBadgeDesign } from \"./types/BadgeDesign.js\";\nimport actionIcon from \"@ui5/webcomponents-icons/dist/action.js\";\nimport slimArrowRightIcon from \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport slimArrowLeftIcon from \"@ui5/webcomponents-icons/dist/slim-arrow-left.js\";\nimport type { Booleanish } from \"@ui5/webcomponents-base/thirdparty/preact/jsx.js\";\n\nexport default function MastheadMenuItemTemplate(this: UDExMastheadMenuItem) {\n if (this.isActive) {\n return activeItem.call(this);\n }\n if (this.isButtonType) {\n return buttonItem.call(this);\n }\n return spanItem.call(this);\n}\n\nfunction activeItem(this: UDExMastheadMenuItem) {\n return (\n <>\n <a\n class={`udex-masthead-menu-item ${this.rootClass}`}\n aria-describedby={this.ariaDescribedby || undefined}\n role={this.accessibleRoleText as AriaRole}\n href={this.url}\n part={this.partAttr}\n target={this.targetLink}\n tabindex={Number(this._tabIndex)}>\n {this.iconStart && arrowLeft()}\n <span class={this.labelClass}>\n {label.call(this)}\n </span>\n {this.iconEnd && arrowRight()}\n </a>\n {this.externalLink && (\n <span id=\"new-win-desc\" class=\"udex-masthead-hidden-text\">\n {this.openInNewWindowText}\n </span>\n )}\n {this.badge && (\n <UDExBadge\n class=\"udex-masthead-menu-item-badge\"\n part=\"badge\"\n type={UDExTypeBadgeDesign.Number}\n number-design={UDExNumberBadgeDesign.Blue}\n size={UDExSizeBadgeDesign.Small}>\n {this.badge}\n </UDExBadge>\n )}\n </>\n );\n}\n\nfunction buttonItem(this: UDExMastheadMenuItem) {\n return (\n <button\n {...{ \"_id\": this.id }}\n part=\"menu-item-button\"\n class={`udex-masthead-menu-item ${this.rootClass}`}\n aria-label={this._accessibleName}\n aria-haspopup={this.ariaHasPopup as Booleanish}\n role={this.accessibleRoleText as AriaRole}\n tabindex={Number(this._tabIndex)}>\n {this.iconStart && arrowLeft()}\n {this.label}\n {this.iconEnd && arrowRight()}\n </button>\n );\n}\n\nfunction spanItem(this: UDExMastheadMenuItem) {\n return (\n <span class={`udex-masthead-menu-item ${this.rootClass}`} part=\"menu-item\">\n {this.iconStart && arrowLeft()}\n {this.label}\n {this.iconEnd && arrowRight()}\n </span>\n );\n}\n\nfunction label(this: UDExMastheadMenuItem) {\n return this.externalLink ? (\n <>\n {this.leadingWordsOfLabel}\n <span class=\"udex-masthead-menu-item__text-with-icon\">\n {this.lastWordOfLabel}\n <UI5Icon\n class=\"udex-masthead-menu-item__icon udex-masthead-menu-item_icon-action\"\n name={actionIcon}\n mode={IconMode.Decorative}>\n </UI5Icon>\n </span>\n </>\n ) : (\n <span>{this.label}</span>\n );\n}\n\nfunction arrowLeft() {\n return (\n <UI5Icon\n class=\"udex-masthead-menu-item__icon udex-masthead-menu-item_icon-left\"\n part=\"left\"\n name={slimArrowLeftIcon}\n mode={IconMode.Decorative}>\n </UI5Icon>\n );\n}\n\nfunction arrowRight() {\n return (\n <UI5Icon\n class=\"udex-masthead-menu-item__icon udex-masthead-menu-item_icon-right\"\n part=\"right\"\n name={slimArrowRightIcon}\n mode={IconMode.Decorative}>\n </UI5Icon>\n );\n}\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@ui5/webcomponents-base/jsx-runtime";
|
|
2
|
+
import UDExMastheadMenuItem from "./MastheadMenuItem.js";
|
|
3
|
+
import UDExDivider from "./Divider.js";
|
|
4
|
+
export default function MastheadMenuTemplate() {
|
|
5
|
+
return (_jsxs("div", { class: `udex-masthead-menu ${this.oneRowClass}`, part: "menu", onKeyDown: this.handleKeyDown, children: [this.menuTitle && (_jsx("div", { class: "udex-masthead-menu__title", children: this.menuTitle })), this.itemsList.map((mainItem, index) => (_jsx("div", { class: "udex-masthead-menu__row", children: mainItem.subMenuLinkItems.map(subMenu => (_jsxs("div", { class: "udex-masthead-menu__column", part: "column", children: [subMenu.category && header.call(this, subMenu), list.call(this, subMenu)] }, subMenu.categoryId))) }, index)))] }));
|
|
6
|
+
}
|
|
7
|
+
function header(subMenu) {
|
|
8
|
+
return (_jsx("div", { class: "udex-masthead-menu__header", children: subMenu.url ? (this._isMobileMode ? (_jsxs(_Fragment, { children: [_jsx(UDExMastheadMenuItem, { id: `category-${subMenu.categoryId}`, type: "Heading", part: "menu-item", exportparts: "menu-item", label: subMenu.category, "has-border": true }), _jsx(UDExMastheadMenuItem, { part: "menu-item", "accessible-role": "link", exportparts: "menu-item", label: this.overviewHeaderLinkText, url: subMenu.url, "has-border": true })] })) : (_jsx(UDExMastheadMenuItem, { id: `category-${subMenu.categoryId}`, type: "Heading", part: "menu-item", exportparts: "menu-item", "accessible-role": "link", onClick: this.handleMenuItemClick, url: subMenu.url, label: subMenu.category, "icon-end": true, "has-border": true }))) : (_jsx(UDExMastheadMenuItem, { id: `category-${subMenu.categoryId}`, type: "Heading", part: "menu-item", exportparts: "menu-item", label: subMenu.category, "has-border": true })) }));
|
|
9
|
+
}
|
|
10
|
+
function list(subMenu) {
|
|
11
|
+
return (_jsx("ul", { class: "udex-masthead-menu__list", "aria-labelledby": `category-${subMenu.categoryId}`, category: subMenu.category, children: subMenu.items.map((item, index) => (_jsx("li", { children: item.isDivider ? (_jsx(UDExDivider, { class: "udex-masthead-menu__item-divider" })) : item.subItems ? (_jsxs(_Fragment, { children: [item.url ? (_jsx(UDExMastheadMenuItem, { part: "menu-item", "accessible-role": "link", exportparts: "menu-item", onClick: this.handleMenuItemClick, url: item.url, label: item.title, class: "udex-masthead-menu__sub-category" })) : (_jsx("span", { class: "udex-masthead-menu__sub-category", children: item.title })), _jsx("ul", { class: "udex-masthead-menu__sub-list", "aria-label": item.title, children: item.subItems.map((subItem, subIndex) => (_jsx("li", { children: subItem.isDivider ? (_jsx(UDExDivider, { class: "udex-masthead-menu__item-divider" })) : (_jsx(UDExMastheadMenuItem, { part: "menu-item", "accessible-role": "link", exportparts: "badge", onClick: this.handleMenuItemClick, badge: subItem.badge, "external-link": subItem.externalLink, url: subItem.url, label: subItem.title })) }, subIndex))) })] })) : (_jsx(UDExMastheadMenuItem, { part: "menu-item", "accessible-role": "link", exportparts: "badge", onClick: this.handleMenuItemClick, badge: item.badge, "external-link": item.externalLink, url: item.url, label: item.title })) }, index))) }));
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=MastheadMenuTemplate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MastheadMenuTemplate.js","sourceRoot":"","sources":["../src/MastheadMenuTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type UDExMastheadMenu from \"./MastheadMenu.js\";\nimport type { SubMenuLinkItem } from \"./MastheadMenu.js\";\nimport UDExMastheadMenuItem from \"./MastheadMenuItem.js\";\nimport UDExDivider from \"./Divider.js\";\n\nexport default function MastheadMenuTemplate(this: UDExMastheadMenu) {\n return (\n <div\n class={`udex-masthead-menu ${this.oneRowClass}`}\n part=\"menu\"\n onKeyDown={this.handleKeyDown}>\n {this.menuTitle && (\n <div class=\"udex-masthead-menu__title\">{this.menuTitle}</div>\n )}\n {this.itemsList.map((mainItem, index) => (\n <div class=\"udex-masthead-menu__row\" key={index}>\n {mainItem.subMenuLinkItems.map(subMenu => (\n <div class=\"udex-masthead-menu__column\" part=\"column\" key={subMenu.categoryId}>\n {subMenu.category && header.call(this, subMenu)}\n {list.call(this, subMenu)}\n </div>\n ))}\n </div>\n ))}\n </div>\n );\n}\n\nfunction header(this: UDExMastheadMenu, subMenu: SubMenuLinkItem) {\n return (\n <div class=\"udex-masthead-menu__header\">\n {subMenu.url ? (\n this._isMobileMode ? (\n <>\n <UDExMastheadMenuItem\n id={`category-${subMenu.categoryId}`}\n type=\"Heading\"\n part=\"menu-item\"\n exportparts=\"menu-item\"\n label={subMenu.category}\n has-border={true}>\n </UDExMastheadMenuItem>\n <UDExMastheadMenuItem\n part=\"menu-item\"\n accessible-role=\"link\"\n exportparts=\"menu-item\"\n label={this.overviewHeaderLinkText}\n url={subMenu.url}\n has-border={true}>\n </UDExMastheadMenuItem>\n </>\n ) : (\n <UDExMastheadMenuItem\n id={`category-${subMenu.categoryId}`}\n type=\"Heading\"\n part=\"menu-item\"\n exportparts=\"menu-item\"\n accessible-role=\"link\"\n onClick={this.handleMenuItemClick as any}\n url={subMenu.url}\n label={subMenu.category}\n icon-end={true}\n has-border={true}>\n </UDExMastheadMenuItem>\n )\n ) : (\n <UDExMastheadMenuItem\n id={`category-${subMenu.categoryId}`}\n type=\"Heading\"\n part=\"menu-item\"\n exportparts=\"menu-item\"\n label={subMenu.category}\n has-border={true}>\n </UDExMastheadMenuItem>\n )}\n </div>\n );\n}\n\nfunction list(this: UDExMastheadMenu, subMenu: SubMenuLinkItem) {\n return (\n <ul\n class=\"udex-masthead-menu__list\"\n aria-labelledby={`category-${subMenu.categoryId}`}\n {...{ category: subMenu.category }}>\n {subMenu.items.map((item, index) => (\n <li key={index}>\n {item.isDivider ? (\n <UDExDivider class=\"udex-masthead-menu__item-divider\"></UDExDivider>\n ) : item.subItems ? (\n <>\n {item.url ? (\n <UDExMastheadMenuItem\n part=\"menu-item\"\n accessible-role=\"link\"\n exportparts=\"menu-item\"\n onClick={this.handleMenuItemClick as any}\n url={item.url}\n label={item.title}\n class=\"udex-masthead-menu__sub-category\">\n </UDExMastheadMenuItem>\n ) : (\n <span class=\"udex-masthead-menu__sub-category\">{item.title}</span>\n )}\n <ul class=\"udex-masthead-menu__sub-list\" aria-label={item.title}>\n {item.subItems.map((subItem, subIndex) => (\n <li key={subIndex}>\n {subItem.isDivider ? (\n <UDExDivider class=\"udex-masthead-menu__item-divider\"></UDExDivider>\n ) : (\n <UDExMastheadMenuItem\n part=\"menu-item\"\n accessible-role=\"link\"\n exportparts=\"badge\"\n onClick={this.handleMenuItemClick as any}\n badge={subItem.badge}\n external-link={subItem.externalLink}\n url={subItem.url}\n label={subItem.title}>\n </UDExMastheadMenuItem>\n )}\n </li>\n ))}\n </ul>\n </>\n ) : (\n <UDExMastheadMenuItem\n part=\"menu-item\"\n accessible-role=\"link\"\n exportparts=\"badge\"\n onClick={this.handleMenuItemClick as any}\n badge={item.badge}\n external-link={item.externalLink}\n url={item.url}\n label={item.title}>\n </UDExMastheadMenuItem>\n )}\n </li>\n ))}\n </ul>\n );\n}\n"]}
|
|
@@ -8,7 +8,7 @@ var UDExMastheadMobileMenu_1;
|
|
|
8
8
|
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
9
9
|
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
10
10
|
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
11
|
-
import
|
|
11
|
+
import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
|
|
12
12
|
import slot from "@ui5/webcomponents-base/dist/decorators/slot-strict.js";
|
|
13
13
|
import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
|
|
14
14
|
import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
|
|
@@ -16,7 +16,7 @@ import { isHome, isEnd, isTabNext, isTabPrevious, } from "@ui5/webcomponents-bas
|
|
|
16
16
|
import UDExMastheadMenuItem, { UDExItemType } from "./MastheadMenuItem.js";
|
|
17
17
|
import { OVERVIEW } from "./generated/i18n/i18n-defaults.js";
|
|
18
18
|
import AnalyticsName from "./types/AnalyticsName.js";
|
|
19
|
-
import MastheadMobileMenuTemplate from "./
|
|
19
|
+
import MastheadMobileMenuTemplate from "./MastheadMobileMenuTemplate.js";
|
|
20
20
|
import translate from "./utils/translate.js";
|
|
21
21
|
// Styles
|
|
22
22
|
import MastheadMobileMenuCss from "./generated/themes/MastheadMobileMenu.css.js";
|
|
@@ -386,7 +386,7 @@ __decorate([
|
|
|
386
386
|
UDExMastheadMobileMenu = UDExMastheadMobileMenu_1 = __decorate([
|
|
387
387
|
customElement({
|
|
388
388
|
tag: "udex-masthead-mobile-menu",
|
|
389
|
-
renderer:
|
|
389
|
+
renderer: jsxRenderer,
|
|
390
390
|
styles: MastheadMobileMenuCss,
|
|
391
391
|
template: MastheadMobileMenuTemplate,
|
|
392
392
|
dependencies: [UDExMastheadMenuItem],
|