@sapudex/web-components 2.17.0 → 2.18.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/config/dev-server.mjs +13 -9
- package/cypress/specs/Accordion.cy.tsx +0 -20
- package/cypress/specs/EventRibbon.cy.tsx +11 -1
- package/cypress/specs/Footer.cy.tsx +13 -0
- package/cypress/specs/RatingIndicator.cy.tsx +74 -0
- package/cypress/specs/Switch.cy.tsx +13 -1
- package/dist/Accordion.js +3 -3
- package/dist/Accordion.js.map +1 -1
- package/dist/AccordionItem.d.ts +6 -1
- package/dist/AccordionItem.js +1 -1
- package/dist/AccordionItem.js.map +1 -1
- package/dist/AccordionItemTemplate.js +1 -1
- package/dist/AccordionItemTemplate.js.map +1 -1
- package/dist/Assets.d.ts +1 -2
- package/dist/Assets.js +2 -2
- package/dist/Assets.js.map +1 -1
- package/dist/AssetsVariables.js +13 -0
- package/dist/AssetsVariables.js.map +1 -1
- package/dist/AvatarGroup.d.ts +2 -0
- package/dist/AvatarGroup.js +16 -8
- package/dist/AvatarGroup.js.map +1 -1
- package/dist/Breadcrumbs.d.ts +2 -1
- package/dist/Breadcrumbs.js +5 -2
- package/dist/Breadcrumbs.js.map +1 -1
- package/dist/BreadcrumbsPopoverTemplate.js +1 -1
- package/dist/BreadcrumbsPopoverTemplate.js.map +1 -1
- package/dist/BreadcrumbsTemplate.js +1 -1
- package/dist/BreadcrumbsTemplate.js.map +1 -1
- package/dist/EventRibbonTemplate.js +2 -2
- package/dist/EventRibbonTemplate.js.map +1 -1
- package/dist/Footer.d.ts +4 -0
- package/dist/Footer.js +13 -1
- package/dist/Footer.js.map +1 -1
- package/dist/FooterTemplate.js +2 -2
- package/dist/FooterTemplate.js.map +1 -1
- package/dist/MediaPlayer.d.ts +1 -2
- package/dist/MediaPlayer.js +3 -8
- package/dist/MediaPlayer.js.map +1 -1
- package/dist/MediaPlayerTemplate.d.ts +3 -0
- package/dist/MediaPlayerTemplate.js +32 -0
- package/dist/MediaPlayerTemplate.js.map +1 -0
- package/dist/MediaPlayerVimeo.js +3 -4
- package/dist/MediaPlayerVimeo.js.map +1 -1
- package/dist/MediaPlayerVimeoTemplate.d.ts +2 -0
- package/dist/MediaPlayerVimeoTemplate.js +5 -0
- package/dist/MediaPlayerVimeoTemplate.js.map +1 -0
- package/dist/MediaPlayerYoutube.js +3 -3
- package/dist/MediaPlayerYoutube.js.map +1 -1
- package/dist/MediaPlayerYoutubeTemplate.d.ts +2 -0
- package/dist/MediaPlayerYoutubeTemplate.js +5 -0
- package/dist/MediaPlayerYoutubeTemplate.js.map +1 -0
- package/dist/Pagination.d.ts +3 -6
- package/dist/Pagination.js +5 -11
- package/dist/Pagination.js.map +1 -1
- package/dist/PaginationTemplate.d.ts +2 -0
- package/dist/PaginationTemplate.js +23 -0
- package/dist/PaginationTemplate.js.map +1 -0
- package/dist/Quote.d.ts +1 -0
- package/dist/Quote.js +3 -0
- package/dist/Quote.js.map +1 -1
- package/dist/QuoteTemplate.js +4 -1
- package/dist/QuoteTemplate.js.map +1 -1
- package/dist/RatingIndicator.d.ts +1 -1
- package/dist/RatingIndicator.js +6 -6
- package/dist/RatingIndicator.js.map +1 -1
- package/dist/RatingIndicatorTemplate.d.ts +2 -0
- package/dist/RatingIndicatorTemplate.js +13 -0
- package/dist/RatingIndicatorTemplate.js.map +1 -0
- package/dist/Switch.d.ts +1 -0
- package/dist/Switch.js +7 -0
- package/dist/Switch.js.map +1 -1
- package/dist/SwitchTemplate.js +1 -1
- package/dist/SwitchTemplate.js.map +1 -1
- package/dist/assets/InputComposition-DoqxipV9.js +1 -0
- package/dist/assets/InputSuggestions-L-9bNSZM.js +2 -0
- package/dist/assets/{ListItemStandardExpandableTextTemplate-DgdZLN5V.js → ListItemStandardExpandableTextTemplate-C2VMJfHu.js} +3 -3
- package/dist/assets/bundle.esm-D4RSd7yl.js +492 -0
- package/dist/assets/messagebundle_ar-BNhVFt1-.js +1 -0
- package/dist/assets/messagebundle_ar-CDVauCu2.js +1 -0
- package/dist/assets/messagebundle_ar-CH9uoq9g.js +1 -0
- package/dist/assets/messagebundle_bg-4X593TQq.js +1 -0
- package/dist/assets/messagebundle_bg-D9EStGhk.js +1 -0
- package/dist/assets/messagebundle_bg-Ns2ALSY2.js +1 -0
- package/dist/assets/messagebundle_ca-cMnWazdh.js +1 -0
- package/dist/assets/messagebundle_ca-v3O8CWC9.js +1 -0
- package/dist/assets/messagebundle_cnr-oRKAxWSt.js +1 -0
- package/dist/assets/messagebundle_cnr-uyge3vU_.js +1 -0
- package/dist/assets/messagebundle_cs-BL-46wSf.js +1 -0
- package/dist/assets/messagebundle_cs-Bt8XtMib.js +1 -0
- package/dist/assets/messagebundle_cs-D-wmquh4.js +1 -0
- package/dist/assets/messagebundle_cy-CNMNe2DY.js +1 -0
- package/dist/assets/messagebundle_cy-CZCpck3Z.js +1 -0
- package/dist/assets/messagebundle_da-38nADUJE.js +1 -0
- package/dist/assets/messagebundle_da-BB7OtRY9.js +1 -0
- package/dist/assets/messagebundle_da-CkKInIrf.js +1 -0
- package/dist/assets/messagebundle_de-CN3Cg-Gc.js +1 -0
- package/dist/assets/messagebundle_de-DmraOZqt.js +1 -0
- package/dist/assets/messagebundle_de-NtViQTfJ.js +1 -0
- package/dist/assets/messagebundle_el-BFRFxMEL.js +1 -0
- package/dist/assets/messagebundle_el-BZAAedlK.js +1 -0
- package/dist/assets/messagebundle_el-Zxg11y2d.js +1 -0
- package/dist/assets/messagebundle_en-BdiOvVBD.js +1 -0
- package/dist/assets/messagebundle_en-D6cJIiUq.js +1 -0
- package/dist/assets/messagebundle_en-H6ibWmd8.js +1 -0
- package/dist/assets/messagebundle_en_GB-CHl7nqmg.js +1 -0
- package/dist/assets/messagebundle_en_GB-DNER1sXC.js +1 -0
- package/dist/assets/messagebundle_en_US_sappsd-A24jipei.js +1 -0
- package/dist/assets/messagebundle_en_US_sappsd-DRY0RcFI.js +1 -0
- package/dist/assets/messagebundle_en_US_saprigi-B6BJ2fjK.js +1 -0
- package/dist/assets/messagebundle_en_US_saprigi-DrIdR2OA.js +1 -0
- package/dist/assets/messagebundle_en_US_saptrc-DhCdjVNQ.js +1 -0
- package/dist/assets/messagebundle_en_US_saptrc-eaUqSl9-.js +1 -0
- package/dist/assets/messagebundle_es-CO-oJIBU.js +1 -0
- package/dist/assets/messagebundle_es-D5nxxweU.js +1 -0
- package/dist/assets/messagebundle_es-DjKiFArz.js +1 -0
- package/dist/assets/messagebundle_es_MX-Bl6mL4Gm.js +1 -0
- package/dist/assets/messagebundle_es_MX-j4O3ktQl.js +1 -0
- package/dist/assets/messagebundle_et-BCYOcg2t.js +1 -0
- package/dist/assets/messagebundle_et-BnJvORLZ.js +1 -0
- package/dist/assets/messagebundle_et-C4MZaBvU.js +1 -0
- package/dist/assets/messagebundle_fi-CilvS7NU.js +1 -0
- package/dist/assets/messagebundle_fi-CssCIjmp.js +1 -0
- package/dist/assets/messagebundle_fi-lfNyCHae.js +1 -0
- package/dist/assets/messagebundle_fr-CQ9l7Sw-.js +1 -0
- package/dist/assets/messagebundle_fr-ChaecN7D.js +1 -0
- package/dist/assets/messagebundle_fr-CvOyuAVw.js +1 -0
- package/dist/assets/messagebundle_fr_CA-BiszoJL1.js +1 -0
- package/dist/assets/messagebundle_fr_CA-ClnSTsg4.js +1 -0
- package/dist/assets/messagebundle_hi-B06bgABi.js +1 -0
- package/dist/assets/messagebundle_hi-B4f1dtl5.js +1 -0
- package/dist/assets/messagebundle_hr-BsOekihu.js +1 -0
- package/dist/assets/messagebundle_hr-CashhWbN.js +1 -0
- package/dist/assets/messagebundle_hr-DSTrAQyP.js +1 -0
- package/dist/assets/messagebundle_hu-AQQHZ70T.js +1 -0
- package/dist/assets/messagebundle_hu-BEMbu-EE.js +1 -0
- package/dist/assets/messagebundle_hu-BHcMtlLL.js +1 -0
- package/dist/assets/messagebundle_id-CFalTccS.js +1 -0
- package/dist/assets/messagebundle_id-CRwRJl1J.js +1 -0
- package/dist/assets/messagebundle_it-BhrBdOd4.js +1 -0
- package/dist/assets/messagebundle_it-DB8xkT1m.js +1 -0
- package/dist/assets/messagebundle_it-iOLGro27.js +1 -0
- package/dist/assets/messagebundle_iw-BIOuaDHS.js +1 -0
- package/dist/assets/messagebundle_iw-CzJjIyB1.js +1 -0
- package/dist/assets/messagebundle_iw-ayxle34r.js +1 -0
- package/dist/assets/messagebundle_ja-5P5L7sQ1.js +1 -0
- package/dist/assets/messagebundle_ja-OWv_hkCF.js +1 -0
- package/dist/assets/messagebundle_ja-TwMnsX09.js +1 -0
- package/dist/assets/messagebundle_kk-BS30sa4p.js +1 -0
- package/dist/assets/messagebundle_kk-DhQM-S2v.js +1 -0
- package/dist/assets/messagebundle_ko-B9H5YQlC.js +1 -0
- package/dist/assets/messagebundle_ko-BHkAwaFF.js +1 -0
- package/dist/assets/messagebundle_ko-CXyX3bMY.js +1 -0
- package/dist/assets/messagebundle_lt-2Ha0Zkp4.js +1 -0
- package/dist/assets/messagebundle_lt-BJ5gr_LF.js +1 -0
- package/dist/assets/messagebundle_lt-BpZaKuUr.js +1 -0
- package/dist/assets/messagebundle_lv-BHId5zho.js +1 -0
- package/dist/assets/messagebundle_lv-rwRjOWkA.js +1 -0
- package/dist/assets/messagebundle_lv-tJm-NcJt.js +1 -0
- package/dist/assets/messagebundle_mk-Bvnsj6mW.js +1 -0
- package/dist/assets/messagebundle_mk-CcQTgbUA.js +1 -0
- package/dist/assets/messagebundle_ms-DvrAqqcA.js +1 -0
- package/dist/assets/messagebundle_ms-v1iRMlhZ.js +1 -0
- package/dist/assets/messagebundle_nl-CBTv22ZS.js +1 -0
- package/dist/assets/messagebundle_nl-DHvNmpQL.js +1 -0
- package/dist/assets/messagebundle_nl-etaldyfo.js +1 -0
- package/dist/assets/messagebundle_no-BIUfmTWJ.js +1 -0
- package/dist/assets/messagebundle_no-CuWL-QZt.js +1 -0
- package/dist/assets/messagebundle_no-hc8LfCOM.js +1 -0
- package/dist/assets/messagebundle_pl-BmaELnDD.js +1 -0
- package/dist/assets/messagebundle_pl-C6B67me2.js +1 -0
- package/dist/assets/messagebundle_pl-hh7tWX9o.js +1 -0
- package/dist/assets/messagebundle_pt-D-AHlB8y.js +1 -0
- package/dist/assets/messagebundle_pt-D8iDr9U7.js +1 -0
- package/dist/assets/messagebundle_pt-DPeE7NbC.js +1 -0
- package/dist/assets/messagebundle_pt_PT-Bj7dZnQ9.js +1 -0
- package/dist/assets/messagebundle_pt_PT-DV-pULKY.js +1 -0
- package/dist/assets/messagebundle_pt_PT-DcVh6BH6.js +1 -0
- package/dist/assets/messagebundle_ro-CN4kAAYE.js +1 -0
- package/dist/assets/messagebundle_ro-UECV-Atd.js +1 -0
- package/dist/assets/messagebundle_ro-z0yjCDrM.js +1 -0
- package/dist/assets/messagebundle_ru-BBC8LnLh.js +1 -0
- package/dist/assets/messagebundle_ru-BT7zyn7i.js +1 -0
- package/dist/assets/messagebundle_ru-zm7B9n87.js +1 -0
- package/dist/assets/messagebundle_sh-ByDIxvq3.js +1 -0
- package/dist/assets/messagebundle_sh-CK1rAFs-.js +1 -0
- package/dist/assets/messagebundle_sk-BTvYn1Yb.js +1 -0
- package/dist/assets/messagebundle_sk-DJps-B07.js +1 -0
- package/dist/assets/messagebundle_sk-gmWb_4Wo.js +1 -0
- package/dist/assets/messagebundle_sl-0FOODTiB.js +1 -0
- package/dist/assets/messagebundle_sl-B4p3OqyZ.js +1 -0
- package/dist/assets/messagebundle_sl-P0U3pDjV.js +1 -0
- package/dist/assets/messagebundle_sr-BGu5zwgU.js +1 -0
- package/dist/assets/messagebundle_sr-CG9T0bXH.js +1 -0
- package/dist/assets/messagebundle_sr-D8Lxl5cz.js +1 -0
- package/dist/assets/messagebundle_sv-Cl8CaUzX.js +1 -0
- package/dist/assets/messagebundle_sv-D-9GhRzG.js +1 -0
- package/dist/assets/messagebundle_sv-DZNyuq7Z.js +1 -0
- package/dist/assets/messagebundle_th-BUmGNQWk.js +1 -0
- package/dist/assets/messagebundle_th-CBE63UoI.js +1 -0
- package/dist/assets/messagebundle_tr-9FvYSV7d.js +1 -0
- package/dist/assets/messagebundle_tr-CKJwjJhQ.js +1 -0
- package/dist/assets/messagebundle_tr-io8qsWwA.js +1 -0
- package/dist/assets/messagebundle_uk-BgTRxken.js +1 -0
- package/dist/assets/messagebundle_uk-DHSEF0TD.js +1 -0
- package/dist/assets/messagebundle_uk-PTyymK4i.js +1 -0
- package/dist/assets/messagebundle_vi-D2ZgzSpx.js +1 -0
- package/dist/assets/messagebundle_vi-SGqRlDXf.js +1 -0
- package/dist/assets/messagebundle_zh_CN-BsCxQ-NE.js +1 -0
- package/dist/assets/messagebundle_zh_CN-CjpQTGvp.js +1 -0
- package/dist/assets/messagebundle_zh_CN-DDFdOOoj.js +1 -0
- package/dist/assets/messagebundle_zh_TW-8M6mp9Ec.js +1 -0
- package/dist/assets/messagebundle_zh_TW-CjV5SF65.js +1 -0
- package/dist/assets/messagebundle_zh_TW-Li9m-Dgo.js +1 -0
- package/dist/assets/parameters-bundle.css-7tmaWxIc.js +2 -0
- package/dist/assets/parameters-bundle.css-BERBdAGd.js +2 -0
- package/dist/assets/parameters-bundle.css-B_2Jldx4.js +2 -0
- package/dist/assets/parameters-bundle.css-BbhFHnRW.js +2 -0
- package/dist/assets/parameters-bundle.css-Bg4Huwh4.js +2 -0
- package/dist/assets/parameters-bundle.css-BwKgmVCr.js +2 -0
- package/dist/assets/parameters-bundle.css-C759-AfS.js +2 -0
- package/dist/assets/parameters-bundle.css-CCDcKh9J.js +2 -0
- package/dist/assets/parameters-bundle.css-COmXsTqR.js +2 -0
- package/dist/assets/parameters-bundle.css-CPZYPVEO.js +2 -0
- package/dist/assets/parameters-bundle.css-C_z8R1zV.js +2 -0
- package/dist/assets/parameters-bundle.css-CuV0KqCS.js +2 -0
- package/dist/assets/parameters-bundle.css-DT8OC7CO.js +2 -0
- package/dist/assets/parameters-bundle.css-Df2zY3XY.js +2 -0
- package/dist/assets/parameters-bundle.css-H0NCnWYS.js +2 -0
- package/dist/assets/parameters-bundle.css-pC6uofhy.js +2 -0
- package/dist/css/themes/AccordionItem.css +1 -1
- package/dist/css/themes/Badge.css +1 -1
- package/dist/css/themes/DatePickerPopover.css +1 -1
- package/dist/css/themes/EventRibbon.css +1 -1
- package/dist/css/themes/Footer.css +1 -1
- package/dist/css/themes/MediaPlayer.css +1 -1
- package/dist/css/themes/Quote.css +1 -1
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/Slider.css +1 -1
- package/dist/css/themes/Upload.css +1 -1
- package/dist/custom-elements-internal.json +2890 -2879
- package/dist/custom-elements.json +1318 -1311
- package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ja.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
- package/dist/generated/i18n/i18n-defaults.js +2 -1
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/json-imports/i18n-fetch.js +4 -0
- package/dist/generated/json-imports/i18n-fetch.js.map +1 -1
- package/dist/generated/json-imports/i18n-node.js +4 -0
- package/dist/generated/json-imports/i18n-node.js.map +1 -1
- package/dist/generated/json-imports/i18n.js +4 -0
- package/dist/generated/json-imports/i18n.js.map +1 -1
- package/dist/generated/themes/AccordionItem.css.d.ts +1 -1
- package/dist/generated/themes/AccordionItem.css.js +1 -1
- package/dist/generated/themes/AccordionItem.css.js.map +1 -1
- package/dist/generated/themes/Badge.css.d.ts +1 -1
- package/dist/generated/themes/Badge.css.js +1 -1
- package/dist/generated/themes/Badge.css.js.map +1 -1
- package/dist/generated/themes/DatePickerPopover.css.d.ts +1 -1
- package/dist/generated/themes/DatePickerPopover.css.js +1 -1
- package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
- package/dist/generated/themes/EventRibbon.css.d.ts +1 -1
- package/dist/generated/themes/EventRibbon.css.js +1 -1
- package/dist/generated/themes/EventRibbon.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/MediaPlayer.css.d.ts +1 -1
- package/dist/generated/themes/MediaPlayer.css.js +1 -1
- package/dist/generated/themes/MediaPlayer.css.js.map +1 -1
- package/dist/generated/themes/Quote.css.d.ts +1 -1
- package/dist/generated/themes/Quote.css.js +1 -1
- package/dist/generated/themes/Quote.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/Slider.css.d.ts +1 -1
- package/dist/generated/themes/Slider.css.js +1 -1
- package/dist/generated/themes/Slider.css.js.map +1 -1
- package/dist/generated/themes/Upload.css.d.ts +1 -1
- package/dist/generated/themes/Upload.css.js +1 -1
- package/dist/generated/themes/Upload.css.js.map +1 -1
- package/dist/messagebundle.properties +1 -0
- package/dist/messagebundle_ar.properties +1 -0
- package/dist/messagebundle_bg.properties +1 -0
- package/dist/messagebundle_cs.properties +1 -0
- package/dist/messagebundle_da.properties +1 -0
- package/dist/messagebundle_de.properties +1 -0
- package/dist/messagebundle_el.properties +1 -0
- package/dist/messagebundle_en.properties +1 -0
- package/dist/messagebundle_es.properties +1 -0
- package/dist/messagebundle_et.properties +1 -0
- package/dist/messagebundle_fi.properties +1 -0
- package/dist/messagebundle_fr.properties +1 -0
- package/dist/messagebundle_hr.properties +1 -0
- package/dist/messagebundle_hu.properties +1 -0
- package/dist/messagebundle_it.properties +1 -0
- package/dist/messagebundle_iw.properties +1 -0
- package/dist/messagebundle_ja.properties +5 -0
- package/dist/messagebundle_ko.properties +1 -0
- package/dist/messagebundle_lt.properties +1 -0
- package/dist/messagebundle_lv.properties +1 -0
- package/dist/messagebundle_nl.properties +1 -0
- package/dist/messagebundle_no.properties +2 -0
- package/dist/messagebundle_pl.properties +1 -0
- package/dist/messagebundle_pt.properties +5 -3
- package/dist/messagebundle_pt_PT.properties +7 -0
- package/dist/messagebundle_ro.properties +1 -0
- package/dist/messagebundle_ru.properties +1 -0
- package/dist/messagebundle_sk.properties +1 -0
- package/dist/messagebundle_sl.properties +1 -0
- package/dist/messagebundle_sr.properties +1 -0
- package/dist/messagebundle_sv.properties +1 -0
- package/dist/messagebundle_tr.properties +1 -0
- package/dist/messagebundle_uk.properties +1 -0
- package/dist/messagebundle_zh_CN.properties +1 -0
- package/dist/messagebundle_zh_TW.properties +1 -0
- package/dist/types/BadgeDesign.d.ts +19 -1
- package/dist/types/BadgeDesign.js +42 -1
- package/dist/types/BadgeDesign.js.map +1 -1
- package/dist/vscode.html-custom-data.json +12 -2
- package/dist/web-types.json +12 -4
- package/package-scripts.cjs +4 -2
- package/package.json +9 -9
- package/src/Accordion.ts +3 -3
- package/src/AccordionItem.ts +8 -2
- package/src/AccordionItemTemplate.tsx +1 -0
- package/src/Assets.ts +2 -2
- package/src/AssetsVariables.ts +13 -0
- package/src/AvatarGroup.ts +21 -11
- package/src/Breadcrumbs.ts +10 -2
- package/src/BreadcrumbsPopoverTemplate.tsx +1 -0
- package/src/BreadcrumbsTemplate.tsx +2 -2
- package/src/EventRibbonTemplate.tsx +2 -1
- package/src/Footer.ts +17 -0
- package/src/FooterTemplate.tsx +39 -37
- package/src/MediaPlayer.ts +6 -9
- package/src/MediaPlayerTemplate.tsx +102 -0
- package/src/MediaPlayerVimeo.ts +4 -4
- package/src/MediaPlayerVimeoTemplate.tsx +19 -0
- package/src/MediaPlayerYoutube.ts +3 -3
- package/src/MediaPlayerYoutubeTemplate.tsx +7 -0
- package/src/Pagination.ts +8 -11
- package/src/PaginationTemplate.tsx +80 -0
- package/src/Quote.ts +4 -0
- package/src/QuoteTemplate.tsx +12 -11
- package/src/RatingIndicator.ts +7 -7
- package/src/RatingIndicatorTemplate.tsx +53 -0
- package/src/Switch.ts +8 -0
- package/src/SwitchTemplate.tsx +2 -1
- package/src/generated/i18n/i18n-defaults.ts +2 -2
- package/src/generated/json-imports/i18n-fetch.ts +4 -0
- package/src/generated/json-imports/i18n-node.ts +4 -0
- package/src/generated/json-imports/i18n.ts +4 -0
- package/src/generated/themes/AccordionItem.css.ts +1 -1
- package/src/generated/themes/Badge.css.ts +1 -1
- package/src/generated/themes/DatePickerPopover.css.ts +1 -1
- package/src/generated/themes/EventRibbon.css.ts +1 -1
- package/src/generated/themes/Footer.css.ts +1 -1
- package/src/generated/themes/MediaPlayer.css.ts +1 -1
- package/src/generated/themes/Quote.css.ts +1 -1
- package/src/generated/themes/RatingIndicator.css.ts +1 -1
- package/src/generated/themes/Slider.css.ts +1 -1
- package/src/generated/themes/Upload.css.ts +1 -1
- package/src/i18n/messagebundle.properties +1 -0
- package/src/i18n/messagebundle_ar.properties +1 -0
- package/src/i18n/messagebundle_bg.properties +1 -0
- package/src/i18n/messagebundle_cs.properties +1 -0
- package/src/i18n/messagebundle_da.properties +1 -0
- package/src/i18n/messagebundle_de.properties +1 -0
- package/src/i18n/messagebundle_el.properties +1 -0
- package/src/i18n/messagebundle_en.properties +1 -0
- package/src/i18n/messagebundle_es.properties +1 -0
- package/src/i18n/messagebundle_et.properties +1 -0
- package/src/i18n/messagebundle_fi.properties +1 -0
- package/src/i18n/messagebundle_fr.properties +1 -0
- package/src/i18n/messagebundle_hr.properties +1 -0
- package/src/i18n/messagebundle_hu.properties +1 -0
- package/src/i18n/messagebundle_it.properties +1 -0
- package/src/i18n/messagebundle_iw.properties +1 -0
- package/src/i18n/messagebundle_ja.properties +5 -0
- package/src/i18n/messagebundle_ko.properties +1 -0
- package/src/i18n/messagebundle_lt.properties +1 -0
- package/src/i18n/messagebundle_lv.properties +1 -0
- package/src/i18n/messagebundle_nl.properties +1 -0
- package/src/i18n/messagebundle_no.properties +2 -0
- package/src/i18n/messagebundle_pl.properties +1 -0
- package/src/i18n/messagebundle_pt.properties +5 -3
- package/src/i18n/messagebundle_pt_PT.properties +7 -0
- package/src/i18n/messagebundle_ro.properties +1 -0
- package/src/i18n/messagebundle_ru.properties +1 -0
- package/src/i18n/messagebundle_sk.properties +1 -0
- package/src/i18n/messagebundle_sl.properties +1 -0
- package/src/i18n/messagebundle_sr.properties +1 -0
- package/src/i18n/messagebundle_sv.properties +1 -0
- package/src/i18n/messagebundle_tr.properties +1 -0
- package/src/i18n/messagebundle_uk.properties +1 -0
- package/src/i18n/messagebundle_zh_CN.properties +1 -0
- package/src/i18n/messagebundle_zh_TW.properties +1 -0
- package/src/themes/AccordionItem.css +11 -2
- package/src/themes/Badge.css +206 -3
- package/src/themes/DatePickerPopover.css +5 -0
- package/src/themes/EventRibbon.css +4 -0
- package/src/themes/Footer.css +3 -0
- package/src/themes/MediaPlayer.css +6 -7
- package/src/themes/Quote.css +1 -5
- package/src/themes/Upload.css +4 -0
- package/src/types/BadgeDesign.ts +45 -3
- package/dist/assets/InputSuggestions-EyZxsb7i.js +0 -2
- package/dist/assets/bundle.esm-ChjL9w9f.js +0 -479
- package/dist/assets/messagebundle_ar-C39XMRa3.js +0 -1
- package/dist/assets/messagebundle_bg-CFuqxDUo.js +0 -1
- package/dist/assets/messagebundle_cs-HZFdxP5k.js +0 -1
- package/dist/assets/messagebundle_da-Cb19y_UU.js +0 -1
- package/dist/assets/messagebundle_de-BPtfcnG8.js +0 -1
- package/dist/assets/messagebundle_el-BfR2BVvB.js +0 -1
- package/dist/assets/messagebundle_en-PmkE-Vht.js +0 -1
- package/dist/assets/messagebundle_es-DEz3xznF.js +0 -1
- package/dist/assets/messagebundle_et-BHSda64J.js +0 -1
- package/dist/assets/messagebundle_fi-DTkxmWJb.js +0 -1
- package/dist/assets/messagebundle_fr-BEq1Nxlj.js +0 -1
- package/dist/assets/messagebundle_hr-BzWPMYA7.js +0 -1
- package/dist/assets/messagebundle_hu-DQvndOA8.js +0 -1
- package/dist/assets/messagebundle_it-Bx7wA4HY.js +0 -1
- package/dist/assets/messagebundle_iw-L2hZONxh.js +0 -1
- package/dist/assets/messagebundle_ko-D4ckbm7i.js +0 -1
- package/dist/assets/messagebundle_lt-BriAnQM8.js +0 -1
- package/dist/assets/messagebundle_lv-Di1Ng3Tk.js +0 -1
- package/dist/assets/messagebundle_nl-Bhq20VT1.js +0 -1
- package/dist/assets/messagebundle_no-bTeyeWYl.js +0 -1
- package/dist/assets/messagebundle_pl-BnBUJpAL.js +0 -1
- package/dist/assets/messagebundle_pt-Cd_ey78V.js +0 -1
- package/dist/assets/messagebundle_ro-Cy-zHe5i.js +0 -1
- package/dist/assets/messagebundle_ru-CiDd56L1.js +0 -1
- package/dist/assets/messagebundle_sk-DJS6mahY.js +0 -1
- package/dist/assets/messagebundle_sl-BUi3OLzP.js +0 -1
- package/dist/assets/messagebundle_sr-BtodsTa0.js +0 -1
- package/dist/assets/messagebundle_sv-CVVuFZcm.js +0 -1
- package/dist/assets/messagebundle_tr-CqVlQ8yY.js +0 -1
- package/dist/assets/messagebundle_uk-aDyDoabO.js +0 -1
- package/dist/assets/messagebundle_zh_CN-CTb6-Dhs.js +0 -1
- package/dist/assets/messagebundle_zh_TW-DtT5REQh.js +0 -1
- package/dist/generated/templates/MediaPlayerTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/MediaPlayerTemplate.lit.js +0 -16
- package/dist/generated/templates/MediaPlayerTemplate.lit.js.map +0 -1
- package/dist/generated/templates/MediaPlayerVimeoTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/MediaPlayerVimeoTemplate.lit.js +0 -7
- package/dist/generated/templates/MediaPlayerVimeoTemplate.lit.js.map +0 -1
- package/dist/generated/templates/MediaPlayerYoutubeTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/MediaPlayerYoutubeTemplate.lit.js +0 -7
- package/dist/generated/templates/MediaPlayerYoutubeTemplate.lit.js.map +0 -1
- package/dist/generated/templates/PaginationTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/PaginationTemplate.lit.js +0 -11
- package/dist/generated/templates/PaginationTemplate.lit.js.map +0 -1
- package/dist/generated/templates/RatingIndicatorTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/RatingIndicatorTemplate.lit.js +0 -17
- package/dist/generated/templates/RatingIndicatorTemplate.lit.js.map +0 -1
- package/dist/messagebundle_pt_BR.properties +0 -4
- package/src/MediaPlayer.hbs +0 -73
- package/src/MediaPlayerVimeo.hbs +0 -16
- package/src/MediaPlayerYoutube.hbs +0 -1
- package/src/Pagination.hbs +0 -54
- package/src/RatingIndicator.hbs +0 -53
- package/src/generated/templates/MediaPlayerTemplate.lit.ts +0 -20
- package/src/generated/templates/MediaPlayerVimeoTemplate.lit.ts +0 -11
- package/src/generated/templates/MediaPlayerYoutubeTemplate.lit.ts +0 -11
- package/src/generated/templates/PaginationTemplate.lit.ts +0 -15
- package/src/generated/templates/RatingIndicatorTemplate.lit.ts +0 -21
- package/src/i18n/messagebundle_pt_BR.properties +0 -4
package/config/dev-server.mjs
CHANGED
|
@@ -3,13 +3,9 @@ import { createServer } from 'vite';
|
|
|
3
3
|
import yargs from 'yargs';
|
|
4
4
|
import { hideBin } from 'yargs/helpers';
|
|
5
5
|
|
|
6
|
-
const
|
|
7
|
-
.alias("c", "config")
|
|
8
|
-
.argv;
|
|
9
|
-
|
|
10
|
-
const startVite = async (port) => {
|
|
6
|
+
const startVite = async (config, port) => {
|
|
11
7
|
const server = await createServer({
|
|
12
|
-
configFile:
|
|
8
|
+
configFile: config,
|
|
13
9
|
server: {
|
|
14
10
|
port: port,
|
|
15
11
|
strictPort: true,
|
|
@@ -36,15 +32,19 @@ const rmPortFile = async () => {
|
|
|
36
32
|
process.on(eventType, rmPortFile);
|
|
37
33
|
});
|
|
38
34
|
|
|
39
|
-
|
|
35
|
+
async function start(outArgv) {
|
|
40
36
|
let retries = 10;
|
|
41
37
|
let port = 8080;
|
|
38
|
+
const argv = yargs(hideBin(outArgv))
|
|
39
|
+
.alias("c", "config")
|
|
40
|
+
.argv;
|
|
41
|
+
|
|
42
42
|
while (retries--) {
|
|
43
43
|
console.log(`taking port ${port}`);
|
|
44
44
|
await fs.writeFile(".dev-server-port", `${port}`);
|
|
45
45
|
try {
|
|
46
46
|
// execSync(command, {stdio: 'pipe'});
|
|
47
|
-
const server = await startVite(port);
|
|
47
|
+
const server = await startVite(argv.config ?? "", port);
|
|
48
48
|
if (server) {
|
|
49
49
|
// server started, don't try other ports
|
|
50
50
|
break;
|
|
@@ -63,4 +63,8 @@ const rmPortFile = async () => {
|
|
|
63
63
|
// no error normal exit
|
|
64
64
|
// process.exit();
|
|
65
65
|
}
|
|
66
|
-
}
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
export default {
|
|
69
|
+
_ui5mainFn: start
|
|
70
|
+
}
|
|
@@ -134,26 +134,6 @@ describe("Accordion", () => {
|
|
|
134
134
|
cy.get("[udex-accordion]").find("udex-accordion-item").eq(4).should("be.focused")
|
|
135
135
|
});
|
|
136
136
|
|
|
137
|
-
it("click on \"Arrow up\" btn move focus on first element if initial element is was the second", () => {
|
|
138
|
-
cy.get("[udex-accordion]").find("udex-accordion-item").eq(1).click().realPress("{uparrow}")
|
|
139
|
-
cy.get("[udex-accordion]").find("udex-accordion-item").first().should("be.focused")
|
|
140
|
-
});
|
|
141
|
-
|
|
142
|
-
it("click on \"Arrow up\" btn move focus on the last element if initial element was the first", () => {
|
|
143
|
-
cy.get("[udex-accordion]").find("udex-accordion-item").first().click().realPress("{uparrow}")
|
|
144
|
-
cy.get("[udex-accordion]").find("udex-accordion-item").eq(4).should("be.focused")
|
|
145
|
-
});
|
|
146
|
-
|
|
147
|
-
it("click on \"Arrow down\" btn move focus on the second element if initial element was the first", () => {
|
|
148
|
-
cy.get("[udex-accordion]").find("udex-accordion-item").first().click().realPress("{downarrow}")
|
|
149
|
-
cy.get("[udex-accordion]").find("udex-accordion-item").eq(1).should("be.focused")
|
|
150
|
-
});
|
|
151
|
-
|
|
152
|
-
it("click on \"Arrow down\" btn move focus the first element if initial element was the last ", () => {
|
|
153
|
-
cy.get("[udex-accordion]").find("udex-accordion-item").eq(4).click().realPress("{downarrow}")
|
|
154
|
-
cy.get("[udex-accordion]").find("udex-accordion-item").first().should("be.focused")
|
|
155
|
-
});
|
|
156
|
-
|
|
157
137
|
it("click on \"Tab\" btn move focus to the next element", () => {
|
|
158
138
|
cy.get("[udex-accordion]").find("udex-accordion-item").eq(2).click().realPress("Tab")
|
|
159
139
|
cy.get("[udex-accordion]").find("udex-accordion-item").eq(3).should("be.focused")
|
|
@@ -121,7 +121,7 @@ describe("EventRibbon", () => {
|
|
|
121
121
|
cy.get("[udex-event-ribbon]")
|
|
122
122
|
.shadow()
|
|
123
123
|
.find('.udex-event-ribbon__container')
|
|
124
|
-
.should('have.attr', 'aria-labelledby', `${_id}-text ${_id}-link-text`)
|
|
124
|
+
.should('have.attr', 'aria-labelledby', `${_id}__logo-alt ${_id}-text ${_id}-link-text`)
|
|
125
125
|
});
|
|
126
126
|
});
|
|
127
127
|
|
|
@@ -134,4 +134,14 @@ describe("EventRibbon", () => {
|
|
|
134
134
|
cy.mount(customLogoEventRibbon)
|
|
135
135
|
cy.get("[udex-event-ribbon]").shadow().find(".udex-event-ribbon__logo-img").should("have.attr", "alt", "SAP Logo");
|
|
136
136
|
});
|
|
137
|
+
|
|
138
|
+
it("correctly renders readable logo text", () => {
|
|
139
|
+
cy.mount(imageEventRibbon)
|
|
140
|
+
cy.get("[udex-event-ribbon]").shadow().find(".hidden-text").should("have.text", "SAP Now");
|
|
141
|
+
});
|
|
142
|
+
|
|
143
|
+
it("correctly renders readable custom logo text", () => {
|
|
144
|
+
cy.mount(customLogoEventRibbon)
|
|
145
|
+
cy.get("[udex-event-ribbon]").shadow().find(".hidden-text").should("have.text", "SAP Logo");
|
|
146
|
+
});
|
|
137
147
|
})
|
|
@@ -320,6 +320,19 @@ describe("Footer", () => {
|
|
|
320
320
|
it("tests if mobile view is correctly rendered", () => {
|
|
321
321
|
cy.get("#footer").shadow().find("udex-accordion-item.udex-footer__action-item").should("exist")
|
|
322
322
|
});
|
|
323
|
+
|
|
324
|
+
it("test if accordion item emit events", () => {
|
|
325
|
+
const expectedDetails = {
|
|
326
|
+
name: "Quick Links",
|
|
327
|
+
expanded: true
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
const quickLinksClickHandler = cy.stub().as("accordionItemClick")
|
|
331
|
+
cy.get("#footer").then($footer =>
|
|
332
|
+
$footer[0].addEventListener("accordion-item-click", quickLinksClickHandler)
|
|
333
|
+
).shadow().find("udex-accordion-item.udex-footer__action-item").first().click()
|
|
334
|
+
cy.get("@accordionItemClick").should("have.been.called").its("lastCall.args.0.detail").should("include", expectedDetails)
|
|
335
|
+
})
|
|
323
336
|
});
|
|
324
337
|
|
|
325
338
|
describe("Footer chinese", () => {
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { UDExRatingIndicator } from "../support/component-imports.js";
|
|
2
|
+
|
|
3
|
+
const totalCount = 100;
|
|
4
|
+
const ratingValue = 2.5;
|
|
5
|
+
const newValue = 4;
|
|
6
|
+
const maxSymbols = 10;
|
|
7
|
+
const displayType = "Mobile";
|
|
8
|
+
const accName = "test";
|
|
9
|
+
|
|
10
|
+
const ratingIndicator = <UDExRatingIndicator total-count={totalCount} value={ratingValue} max={maxSymbols} display={displayType} accessible-name={accName}></UDExRatingIndicator>
|
|
11
|
+
const disabledRatingIndicator = <UDExRatingIndicator value={ratingValue} disabled></UDExRatingIndicator>
|
|
12
|
+
|
|
13
|
+
describe("Rating Indicator", () => {
|
|
14
|
+
beforeEach(() => {
|
|
15
|
+
cy.mount(ratingIndicator);
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
it("renders rating indicator", () => {
|
|
19
|
+
cy.get("[udex-rating-indicator]").shadow().find(".udex-rating-indicator").should("be.visible");
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
it("renders with default attributes", () => {
|
|
23
|
+
cy.get("[udex-rating-indicator]").should("have.attr", "size", "M");
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
it("renders with custom value", () => {
|
|
27
|
+
cy.get("[udex-rating-indicator]").shadow().find(".udex-rating-indicator").should("have.attr", "aria-valuenow", ratingValue);
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
it("renders with custom max symbols", () => {
|
|
31
|
+
cy.get("[udex-rating-indicator]").shadow().find(".udex-rating-indicator").should("have.attr", "aria-valuemax", maxSymbols);
|
|
32
|
+
cy.get("[udex-rating-indicator]").shadow().find(".udex-rating-indicator__item").should("have.length", maxSymbols);
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
it("renders with total count", () => {
|
|
36
|
+
cy.get("[udex-rating-indicator]").shadow().find(".udex-rating-indicator__total").should("have.text", `(${totalCount})`);
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
it("renders with mobile display", () => {
|
|
40
|
+
cy.get("[udex-rating-indicator]").shadow().find(".udex-rating-indicator--mobile").should("be.visible");
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
it("renders with proper accessible name", () => {
|
|
44
|
+
cy.get("[udex-rating-indicator]").shadow().find(".udex-rating-indicator").should("have.attr", "aria-label", `${accName}, Total ${totalCount}`);
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
it("renders disabled", () => {
|
|
48
|
+
cy.mount(disabledRatingIndicator);
|
|
49
|
+
cy.get("[udex-rating-indicator]").shadow().find(".udex-rating-indicator").should("have.attr", "tabindex", -1);
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
describe("General interaction", () => {
|
|
54
|
+
it("changes rate on mouse click", () => {
|
|
55
|
+
cy.mount(ratingIndicator);
|
|
56
|
+
cy.get("[udex-rating-indicator]").should("have.attr", "value", `${ratingValue}`);
|
|
57
|
+
cy.get("[udex-rating-indicator]").shadow().find(".udex-rating-indicator__item").eq(newValue).click();
|
|
58
|
+
cy.get("[udex-rating-indicator]").should("have.attr", "value", `${newValue + 1}`);
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
it("changes rate on enter click", () => {
|
|
62
|
+
cy.mount(ratingIndicator);
|
|
63
|
+
cy.get("[udex-rating-indicator]").should("have.attr", "value", `${ratingValue}`);
|
|
64
|
+
cy.get("[udex-rating-indicator]").shadow().find(".udex-rating-indicator").focus().realPress("Enter");
|
|
65
|
+
cy.get("[udex-rating-indicator]").should("have.attr", "value", `${newValue}`);
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
it("not changes rate on click when disabled", () => {
|
|
69
|
+
cy.mount(disabledRatingIndicator);
|
|
70
|
+
cy.get("[udex-rating-indicator]").should("have.attr", "value", `${ratingValue}`);
|
|
71
|
+
cy.get("[udex-rating-indicator]").shadow().find(".udex-rating-indicator__item").eq(newValue).click();
|
|
72
|
+
cy.get("[udex-rating-indicator]").should("have.attr", "value", `${ratingValue}`);
|
|
73
|
+
});
|
|
74
|
+
});
|
|
@@ -47,5 +47,17 @@ describe("Switch", () => {
|
|
|
47
47
|
it("sets aria-checked attribute to false after click if switch was already checked", () => {
|
|
48
48
|
cy.mount(defaultSwitch)
|
|
49
49
|
cy.get("[udex-switch]").shadow().find(".udex-switch__container").click().click().should("have.attr", "aria-checked", "false")
|
|
50
|
-
})
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
it("can be checked via keyboard using \"Enter\"", () => {
|
|
53
|
+
cy.mount(defaultSwitch)
|
|
54
|
+
cy.get("[udex-switch]").shadow().find(".udex-switch__container").focus().realPress("Enter")
|
|
55
|
+
cy.get("[udex-switch]").shadow().find(".udex-switch__container").should("have.attr", "aria-checked", "true")
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
it("can be checked via keyboard using \"Space\"", () => {
|
|
59
|
+
cy.mount(defaultSwitch)
|
|
60
|
+
cy.get("[udex-switch]").shadow().find(".udex-switch__container").focus().realPress("Space")
|
|
61
|
+
cy.get("[udex-switch]").shadow().find(".udex-switch__container").should("have.attr", "aria-checked", "true")
|
|
62
|
+
});
|
|
51
63
|
});
|
package/dist/Accordion.js
CHANGED
|
@@ -13,7 +13,7 @@ import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
|
|
|
13
13
|
import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
|
|
14
14
|
import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
|
|
15
15
|
import "@ui5/webcomponents-icons/dist/feeder-arrow.js";
|
|
16
|
-
import { isEnter, isSpace,
|
|
16
|
+
import { isEnter, isSpace, isEnd, isHome, isTabPrevious, isTabNext, } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
17
17
|
import AccordionTemplate from "./AccordionTemplate.js";
|
|
18
18
|
import { COLLAPSE_ALL, EXPAND_ALL } from "./generated/i18n/i18n-defaults.js";
|
|
19
19
|
// Styles
|
|
@@ -122,10 +122,10 @@ let UDExAccordion = UDExAccordion_1 = class UDExAccordion extends UI5Element {
|
|
|
122
122
|
if (isEnd(e)) {
|
|
123
123
|
focusOnItem(len - 1);
|
|
124
124
|
}
|
|
125
|
-
if (isTabPrevious(e)
|
|
125
|
+
if (isTabPrevious(e)) {
|
|
126
126
|
focusOnItem(this._activeItemIndex > 0 ? this._activeItemIndex - 1 : len - 1);
|
|
127
127
|
}
|
|
128
|
-
if (isTabNext(e)
|
|
128
|
+
if (isTabNext(e)) {
|
|
129
129
|
focusOnItem(this._activeItemIndex < len - 1 ? this._activeItemIndex + 1 : 0);
|
|
130
130
|
}
|
|
131
131
|
}
|
package/dist/Accordion.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Accordion.js","sourceRoot":"","sources":["../src/Accordion.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 slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport \"@ui5/webcomponents-icons/dist/feeder-arrow.js\";\nimport {\n isEnter, isSpace, isUp, isDown, isEnd, isHome, isTabPrevious, isTabNext,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport AccordionTemplate from \"./AccordionTemplate.js\";\nimport type UDExAccordionItem from \"./AccordionItem.js\";\nimport { COLLAPSE_ALL, EXPAND_ALL } from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport AccordionCss from \"./generated/themes/Accordion.css.js\";\n\nexport enum UDExAccordionHeadlineLevel {\n H1 = \"H1\",\n H2 = \"H2\",\n H3 = \"H3\",\n H4 = \"H4\",\n H5 = \"H5\",\n H6 = \"H6\"\n}\n\ntype UDExAccordionToggleItemsEventDetail = {\n isOpen: boolean\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-accordion</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Accordion.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-accordion\n * @public\n */\n@customElement({\n tag: \"udex-accordion\",\n renderer: jsxRenderer,\n styles: AccordionCss,\n template: AccordionTemplate,\n})\n\n/**\n * Triggered when the user clicks on the Expand/Collapse All button..\n *\n * @public\n */\n@event(\"toggle-items\", { bubbles: true })\n\nclass UDExAccordion extends UI5Element {\n eventDetails!: {\n \"toggle-items\": UDExAccordionToggleItemsEventDetail,\n };\n\n /**\n * Used internally to store expand/collapse button state.\n *\n * @private\n */\n @property({ type: Boolean, noAttribute: true })\n _allExpanded!: boolean;\n\n /**\n * Defines if expandAll button should be displayed.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n hideExpandButton!: boolean;\n\n /**\n * Defines direction of the accordion component.\n *\n * @private\n */\n @property({ type: String })\n _direction?: string;\n\n /**\n * Defines the headline text of the accordion component.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n headline!: string;\n\n /**\n * Defines the semantic level of the headline.\n *\n * @default UDExAccordionHeadlineLevel.h3\n * @public\n */\n @property()\n headlineLevel: UDExAccordionHeadlineLevel = UDExAccordionHeadlineLevel.H3;\n\n /**\n * Slot for accordion items.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true, individualSlots: true })\n _items!: Array<UDExAccordionItem>;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _activeItemIndex: number;\n\n constructor() {\n super();\n this._allExpanded = false;\n this._activeItemIndex = -1;\n }\n\n onEnterDOM() {\n this.updateAllExpandedStatus();\n }\n\n toggleAllHandler(e: Event) {\n e.preventDefault();\n this._allExpanded = !this._allExpanded;\n this.toggleOpenItems(this._allExpanded);\n this.fireDecoratorEvent(\"toggle-items\", { isOpen: this._allExpanded });\n }\n\n toggleOpenItems(isOpen: boolean) {\n this._items.forEach(item => {\n item.expanded = isOpen;\n });\n }\n\n toggleKeyAllHandler(e: KeyboardEvent) {\n if (isEnter(e) || isSpace(e)) {\n this.toggleAllHandler(e);\n }\n }\n\n keydownHandler(e: KeyboardEvent) {\n const activeItem = this._items[this._activeItemIndex];\n const previousItem = this._items[this._activeItemIndex - 1];\n const isLastItem = this._activeItemIndex === this._items.length - 1;\n const isFirstItem = this._activeItemIndex === 0;\n const lastItem = this._items[this._items.length - 1];\n\n const updateTabIndex = (elements: NodeListOf<Element>, value: string) => {\n elements.forEach(element => element.setAttribute(\"tabindex\", value));\n };\n\n const getInteractiveElements = (item: HTMLElement) => {\n const selectors = [\"button\", \"a[href]\", \"input\", \"select\", \"textarea\", \"[tabindex]\"];\n return item.querySelectorAll(selectors.join(\",\"));\n };\n\n const handleTabNavigation = (keyboardEvent: KeyboardEvent) => {\n if (isLastItem && isTabNext(keyboardEvent) && !lastItem.expanded) {\n updateTabIndex(getInteractiveElements(activeItem), \"-1\");\n return true;\n }\n\n if ((activeItem?.expanded && isTabNext(e))\n || (previousItem?.expanded && isTabPrevious(e))\n || (isFirstItem && isTabPrevious(e))) {\n return true;\n }\n\n if (isEnter(e) && isLastItem) {\n updateTabIndex(getInteractiveElements(activeItem), \"0\");\n }\n\n return false;\n };\n\n const focusOnItem = (itemIndex: number) => {\n const item = this._items[itemIndex];\n this._activeItemIndex = itemIndex;\n (item?.shadowRoot?.querySelector(\".udex-accordion-item__header\") as HTMLElement)?.focus();\n };\n\n if (handleTabNavigation(e)) {\n return;\n }\n\n e.preventDefault();\n const len = this._items.length;\n\n if (isHome(e)) {\n focusOnItem(0);\n }\n\n if (isEnd(e)) {\n focusOnItem(len - 1);\n }\n\n if (isTabPrevious(e) || isUp(e)) {\n focusOnItem(this._activeItemIndex > 0 ? this._activeItemIndex - 1 : len - 1);\n }\n\n if (isTabNext(e) || isDown(e)) {\n focusOnItem(this._activeItemIndex < len - 1 ? this._activeItemIndex + 1 : 0);\n }\n }\n\n itemFocusHandler(e: CustomEvent) {\n const target = e.target as UDExAccordionItem;\n if (target) {\n this._activeItemIndex = this._items?.indexOf(target) ?? -1;\n }\n }\n\n updateAllExpandedStatus() {\n this._allExpanded = this._items.every(item => item.expanded);\n }\n\n get toggleAllText(): string {\n return this._allExpanded\n ? UDExAccordion.i18nBundle.getText(COLLAPSE_ALL)\n : UDExAccordion.i18nBundle.getText(EXPAND_ALL);\n }\n\n get items(): {item: UDExAccordionItem}[] {\n return this._items.map(el => {\n return {\n item: el,\n };\n });\n }\n}\n\nUDExAccordion.define();\n\nexport default UDExAccordion;\nexport type { UDExAccordionToggleItemsEventDetail };\n"]}
|
|
1
|
+
{"version":3,"file":"Accordion.js","sourceRoot":"","sources":["../src/Accordion.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 slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport \"@ui5/webcomponents-icons/dist/feeder-arrow.js\";\nimport {\n isEnter, isSpace, isEnd, isHome, isTabPrevious, isTabNext,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport AccordionTemplate from \"./AccordionTemplate.js\";\nimport type UDExAccordionItem from \"./AccordionItem.js\";\nimport { COLLAPSE_ALL, EXPAND_ALL } from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport AccordionCss from \"./generated/themes/Accordion.css.js\";\n\nexport enum UDExAccordionHeadlineLevel {\n H1 = \"H1\",\n H2 = \"H2\",\n H3 = \"H3\",\n H4 = \"H4\",\n H5 = \"H5\",\n H6 = \"H6\"\n}\n\ntype UDExAccordionToggleItemsEventDetail = {\n isOpen: boolean\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-accordion</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Accordion.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-accordion\n * @public\n */\n@customElement({\n tag: \"udex-accordion\",\n renderer: jsxRenderer,\n styles: AccordionCss,\n template: AccordionTemplate,\n})\n\n/**\n * Triggered when the user clicks on the Expand/Collapse All button..\n *\n * @public\n */\n@event(\"toggle-items\", { bubbles: true })\n\nclass UDExAccordion extends UI5Element {\n eventDetails!: {\n \"toggle-items\": UDExAccordionToggleItemsEventDetail,\n };\n\n /**\n * Used internally to store expand/collapse button state.\n *\n * @private\n */\n @property({ type: Boolean, noAttribute: true })\n _allExpanded!: boolean;\n\n /**\n * Defines if expandAll button should be displayed.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n hideExpandButton!: boolean;\n\n /**\n * Defines direction of the accordion component.\n *\n * @private\n */\n @property({ type: String })\n _direction?: string;\n\n /**\n * Defines the headline text of the accordion component.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n headline!: string;\n\n /**\n * Defines the semantic level of the headline.\n *\n * @default UDExAccordionHeadlineLevel.h3\n * @public\n */\n @property()\n headlineLevel: UDExAccordionHeadlineLevel = UDExAccordionHeadlineLevel.H3;\n\n /**\n * Slot for accordion items.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true, individualSlots: true })\n _items!: Array<UDExAccordionItem>;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _activeItemIndex: number;\n\n constructor() {\n super();\n this._allExpanded = false;\n this._activeItemIndex = -1;\n }\n\n onEnterDOM() {\n this.updateAllExpandedStatus();\n }\n\n toggleAllHandler(e: Event) {\n e.preventDefault();\n this._allExpanded = !this._allExpanded;\n this.toggleOpenItems(this._allExpanded);\n this.fireDecoratorEvent(\"toggle-items\", { isOpen: this._allExpanded });\n }\n\n toggleOpenItems(isOpen: boolean) {\n this._items.forEach(item => {\n item.expanded = isOpen;\n });\n }\n\n toggleKeyAllHandler(e: KeyboardEvent) {\n if (isEnter(e) || isSpace(e)) {\n this.toggleAllHandler(e);\n }\n }\n\n keydownHandler(e: KeyboardEvent) {\n const activeItem = this._items[this._activeItemIndex];\n const previousItem = this._items[this._activeItemIndex - 1];\n const isLastItem = this._activeItemIndex === this._items.length - 1;\n const isFirstItem = this._activeItemIndex === 0;\n const lastItem = this._items[this._items.length - 1];\n\n const updateTabIndex = (elements: NodeListOf<Element>, value: string) => {\n elements.forEach(element => element.setAttribute(\"tabindex\", value));\n };\n\n const getInteractiveElements = (item: HTMLElement) => {\n const selectors = [\"button\", \"a[href]\", \"input\", \"select\", \"textarea\", \"[tabindex]\"];\n return item.querySelectorAll(selectors.join(\",\"));\n };\n\n const handleTabNavigation = (keyboardEvent: KeyboardEvent) => {\n if (isLastItem && isTabNext(keyboardEvent) && !lastItem.expanded) {\n updateTabIndex(getInteractiveElements(activeItem), \"-1\");\n return true;\n }\n\n if ((activeItem?.expanded && isTabNext(e))\n || (previousItem?.expanded && isTabPrevious(e))\n || (isFirstItem && isTabPrevious(e))) {\n return true;\n }\n\n if (isEnter(e) && isLastItem) {\n updateTabIndex(getInteractiveElements(activeItem), \"0\");\n }\n\n return false;\n };\n\n const focusOnItem = (itemIndex: number) => {\n const item = this._items[itemIndex];\n this._activeItemIndex = itemIndex;\n (item?.shadowRoot?.querySelector(\".udex-accordion-item__header\") as HTMLElement)?.focus();\n };\n\n if (handleTabNavigation(e)) {\n return;\n }\n\n e.preventDefault();\n const len = this._items.length;\n\n if (isHome(e)) {\n focusOnItem(0);\n }\n\n if (isEnd(e)) {\n focusOnItem(len - 1);\n }\n\n if (isTabPrevious(e)) {\n focusOnItem(this._activeItemIndex > 0 ? this._activeItemIndex - 1 : len - 1);\n }\n\n if (isTabNext(e)) {\n focusOnItem(this._activeItemIndex < len - 1 ? this._activeItemIndex + 1 : 0);\n }\n }\n\n itemFocusHandler(e: CustomEvent) {\n const target = e.target as UDExAccordionItem;\n if (target) {\n this._activeItemIndex = this._items?.indexOf(target) ?? -1;\n }\n }\n\n updateAllExpandedStatus() {\n this._allExpanded = this._items.every(item => item.expanded);\n }\n\n get toggleAllText(): string {\n return this._allExpanded\n ? UDExAccordion.i18nBundle.getText(COLLAPSE_ALL)\n : UDExAccordion.i18nBundle.getText(EXPAND_ALL);\n }\n\n get items(): {item: UDExAccordionItem}[] {\n return this._items.map(el => {\n return {\n item: el,\n };\n });\n }\n}\n\nUDExAccordion.define();\n\nexport default UDExAccordion;\nexport type { UDExAccordionToggleItemsEventDetail };\n"]}
|
package/dist/AccordionItem.d.ts
CHANGED
|
@@ -3,6 +3,10 @@ export declare enum UDExAccordionItemTitleSize {
|
|
|
3
3
|
Standard = "Standard",
|
|
4
4
|
Large = "Large"
|
|
5
5
|
}
|
|
6
|
+
type UDExAccordionItemClickEventDetail = {
|
|
7
|
+
name: string | undefined;
|
|
8
|
+
expanded: boolean;
|
|
9
|
+
};
|
|
6
10
|
/**
|
|
7
11
|
* @class
|
|
8
12
|
*
|
|
@@ -25,7 +29,7 @@ export declare enum UDExAccordionItemTitleSize {
|
|
|
25
29
|
declare class UDExAccordionItem extends UI5Element {
|
|
26
30
|
eventDetails: {
|
|
27
31
|
"accordion-item-focus": void;
|
|
28
|
-
"accordion-item-click":
|
|
32
|
+
"accordion-item-click": UDExAccordionItemClickEventDetail;
|
|
29
33
|
};
|
|
30
34
|
/**
|
|
31
35
|
* Defines the Badge at the end of the label item.
|
|
@@ -97,3 +101,4 @@ declare class UDExAccordionItem extends UI5Element {
|
|
|
97
101
|
handleDirection(): void;
|
|
98
102
|
}
|
|
99
103
|
export default UDExAccordionItem;
|
|
104
|
+
export type { UDExAccordionItemClickEventDetail };
|
package/dist/AccordionItem.js
CHANGED
|
@@ -98,7 +98,7 @@ let UDExAccordionItem = class UDExAccordionItem extends UI5Element {
|
|
|
98
98
|
e.preventDefault();
|
|
99
99
|
this.expanded = !this.expanded;
|
|
100
100
|
this.setContentHeight();
|
|
101
|
-
this.fireDecoratorEvent("accordion-item-click");
|
|
101
|
+
this.fireDecoratorEvent("accordion-item-click", { name: this.label, expanded: this.expanded });
|
|
102
102
|
}
|
|
103
103
|
focusHandler() {
|
|
104
104
|
this.fireDecoratorEvent("accordion-item-focus");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccordionItem.js","sourceRoot":"","sources":["../src/AccordionItem.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,WAAW,MAAM,iDAAiD,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,aAAa,MAAM,wDAAwD,CAAC;AACnF,OAAO,qBAAqB,MAAM,4BAA4B,CAAC;AAE/D,SAAS;AACT,OAAO,gBAAgB,MAAM,yCAAyC,CAAC;AAEvE,MAAM,CAAN,IAAY,0BAGX;AAHD,WAAY,0BAA0B;IACpC,mDAAqB,CAAA;IACrB,6CAAe,CAAA;AACjB,CAAC,EAHW,0BAA0B,KAA1B,0BAA0B,QAGrC;
|
|
1
|
+
{"version":3,"file":"AccordionItem.js","sourceRoot":"","sources":["../src/AccordionItem.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 slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport { isEnter, isSpace } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport AccordionItemTemplate from \"./AccordionItemTemplate.js\";\n\n// Styles\nimport AccordionItemCss from \"./generated/themes/AccordionItem.css.js\";\n\nexport enum UDExAccordionItemTitleSize {\n Standard = \"Standard\",\n Large = \"Large\"\n}\n\ntype UDExAccordionItemClickEventDetail = {\n name: string | undefined;\n expanded: boolean;\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-accordion-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/AccordionItem.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-accordion-item\n * @public\n */\n@customElement({\n tag: \"udex-accordion-item\",\n renderer: jsxRenderer,\n styles: AccordionItemCss,\n template: AccordionItemTemplate,\n})\n\n/**\n * Triggered when the user focuses on an accordion item.\n * @public\n */\n@event(\"accordion-item-focus\", { bubbles: true })\n\n/**\n * Triggered when the user clicks on an accordion item.\n * @public\n */\n@event(\"accordion-item-click\", { bubbles: true })\n\nclass UDExAccordionItem extends UI5Element {\n eventDetails!: {\n \"accordion-item-focus\": void,\n \"accordion-item-click\": UDExAccordionItemClickEventDetail,\n };\n /**\n * Defines the Badge at the end of the label item.\n *\n * @default \"\"\n * @public\n */\n @property()\n numberBadge!: string;\n\n /**\n * Defines the label of the accordion item component.\n *\n * @default \"\"\n * @public\n */\n @property()\n label!: string;\n\n /**\n * Defines the size of label.\n *\n * @default UDExAccordionItemTitleSize.Standard\n * @public\n */\n @property()\n labelSize: UDExAccordionItemTitleSize = UDExAccordionItemTitleSize.Standard;\n\n /**\n * Defines icon name to be display with title.\n *\n * @default \"\"\n * @public\n */\n @property()\n labelIcon!: string;\n\n /**\n * Defines if the accordion item is expanded by default\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n expanded = false;\n\n /**\n * Used internally to understand the component's open or closed state.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean, noAttribute: true })\n isOpen = false;\n\n /**\n * Defines direction of the accordion item.\n *\n * @public\n */\n @property({ type: String })\n _direction?: string;\n\n /**\n * Slot for accordion item content.\n *\n * @slot\n * @public\n */\n @slot({ type: Node, \"default\": true })\n content!: Array<Node>;\n\n _resizeHandler: () => void;\n contentElement: HTMLElement | null | undefined;\n\n constructor() {\n super();\n this._resizeHandler = this._onResize.bind(this);\n this.contentElement = null;\n }\n\n onAfterRendering() {\n this.handleDirection();\n this.contentElement = this.shadowRoot?.querySelector(\".udex-accordion-item__content-inner\");\n this.setContentHeight();\n }\n\n onEnterDOM(): void {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n if (this.contentElement) {\n ResizeHandler.register(this.contentElement, this._resizeHandler);\n }\n }\n\n onExitDOM(): void {\n if (this.contentElement) {\n ResizeHandler.deregister(this.contentElement, this._resizeHandler);\n }\n }\n\n setContentHeight() {\n this.style.setProperty(\"--udex-accordion-item-content-max-height\", `${this.contentElement?.scrollHeight}px`);\n }\n\n _onResize(): void {\n this.setContentHeight();\n }\n\n contentKeydown(e: KeyboardEvent) {\n e.stopPropagation();\n }\n\n itemClickHandler(e: Event) {\n e.preventDefault();\n this.expanded = !this.expanded;\n this.setContentHeight();\n this.fireDecoratorEvent(\"accordion-item-click\", { name: this.label, expanded: this.expanded });\n }\n\n focusHandler() {\n this.fireDecoratorEvent(\"accordion-item-focus\");\n }\n\n keydownHandler(e: KeyboardEvent) {\n if (isEnter(e) || isSpace(e)) {\n this.itemClickHandler(e);\n }\n }\n\n handleDirection() {\n const directionStyles: string = window\n .getComputedStyle(this)\n .getPropertyValue(\"direction\");\n\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n}\n\nUDExAccordionItem.define();\n\nexport default UDExAccordionItem;\nexport type { UDExAccordionItemClickEventDetail };\n"]}
|
|
@@ -14,6 +14,6 @@ export default function AccordionItemTemplate() {
|
|
|
14
14
|
return (_jsxs(_Fragment, { children: [_jsxs("button", { id: ariaLabelledbyId, "aria-controls": ariaControlsId, className: `${headlineClass}`, onFocusIn: this.focusHandler, onClick: this.itemClickHandler, onKeyDown: this.keydownHandler, "aria-expanded": this.expanded, type: "button", children: [this.labelIcon ?
|
|
15
15
|
_jsx("div", { className: `${rootClass}__icon-wrapper ${rootClass}__label-icon-wrapper`, children: _jsx(UI5Icon, { class: `${rootClass}__icon ${rootClass}__label-icon`, mode: IconMode.Decorative, name: this.labelIcon }) })
|
|
16
16
|
: "", _jsxs("span", { className: `${rootClass}__title`, children: [this.label, this.numberBadge &&
|
|
17
|
-
_jsx(UDExBadge, { class: `${rootClass}__badge`, "number-design": UDExNumberBadgeDesign.Blue, type: UDExTypeBadgeDesign.Number, size: UDExSizeBadgeDesign.Medium, children: this.numberBadge })] }), _jsx("div", { className: `${rootClass}__icon-wrapper`, children: _jsx(UI5Icon, { class: `${rootClass}__icon`, mode: IconMode.Decorative, name: slimArrowRight }) })] }), _jsx("div", { id: ariaControlsId, "aria-labelledby": ariaLabelledbyId, className: `${rootClass}__content ${titleClass}`, onKeyDown: this.contentKeydown, role: "region", children: _jsx("div", { className: `${rootClass}__content-inner`, children: _jsx("slot", {}) }) }), _jsx(UDExDivider, {})] }));
|
|
17
|
+
_jsx(UDExBadge, { class: `${rootClass}__badge`, "number-design": UDExNumberBadgeDesign.Blue, type: UDExTypeBadgeDesign.Number, size: UDExSizeBadgeDesign.Medium, children: this.numberBadge })] }), _jsx("div", { className: `${rootClass}__icon-wrapper`, children: _jsx(UI5Icon, { class: `${rootClass}__icon`, mode: IconMode.Decorative, name: slimArrowRight }) })] }), _jsx("div", { id: ariaControlsId, "aria-hidden": !this.expanded, "aria-labelledby": ariaLabelledbyId, className: `${rootClass}__content ${titleClass}`, onKeyDown: this.contentKeydown, role: "region", children: _jsx("div", { className: `${rootClass}__content-inner`, children: _jsx("slot", {}) }) }), _jsx(UDExDivider, {})] }));
|
|
18
18
|
}
|
|
19
19
|
//# sourceMappingURL=AccordionItemTemplate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccordionItemTemplate.js","sourceRoot":"","sources":["../src/AccordionItemTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,OAAO,MAAM,iCAAiC,CAAC;AACtD,OAAO,QAAQ,MAAM,2CAA2C,CAAC;AACjE,OAAO,cAAc,MAAM,mDAAmD,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACzG,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,WAAW,MAAM,cAAc,CAAC;AAEvC,MAAM,CAAC,OAAO,UAAU,qBAAqB;IAC3C,MAAM,cAAc,GAAG,wBAAwB,IAAI,CAAC,GAAG,UAAU,CAAC;IAClE,MAAM,gBAAgB,GAAG,wBAAwB,IAAI,CAAC,GAAG,EAAE,CAAC;IAC5D,MAAM,SAAS,GAAG,qBAAqB,CAAC;IACxC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,MAAM,aAAa,GAAG,GAAG,SAAS,YAAY,SAAS,aAAa,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;IAEnG,OAAO,CACL,8BACE,kBACE,EAAE,EAAE,gBAAgB,mBACL,cAAc,EAC7B,SAAS,EAAE,GAAG,aAAa,EAAE,EAC7B,SAAS,EAAE,IAAI,CAAC,YAAY,EAC5B,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAC9B,SAAS,EAAE,IAAI,CAAC,cAAc,mBACf,IAAI,CAAC,QAAQ,EAC5B,IAAI,EAAC,QAAQ,aACZ,IAAI,CAAC,SAAS,CAAC,CAAC;wBACf,cAAK,SAAS,EAAE,GAAG,SAAS,kBAAkB,SAAS,sBAAsB,YAC3E,KAAC,OAAO,IACN,KAAK,EAAE,GAAG,SAAS,UAAU,SAAS,cAAc,EACpD,IAAI,EAAE,QAAQ,CAAC,UAAU,EACzB,IAAI,EAAE,IAAI,CAAC,SAAS,GACZ,GACN;wBACN,CAAC,CAAC,EAAE,EACN,gBAAM,SAAS,EAAE,GAAG,SAAS,SAAS,aACnC,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,WAAW;gCACf,KAAC,SAAS,IACR,KAAK,EAAE,GAAG,SAAS,SAAS,mBACb,qBAAqB,CAAC,IAAI,EACzC,IAAI,EAAE,mBAAmB,CAAC,MAAM,EAChC,IAAI,EAAE,mBAAmB,CAAC,MAAM,YAC/B,IAAI,CAAC,WAAW,GACP,IAET,EACP,cAAK,SAAS,EAAE,GAAG,SAAS,gBAAgB,YAC1C,KAAC,OAAO,IACN,KAAK,EAAE,GAAG,SAAS,QAAQ,EAC3B,IAAI,EAAE,QAAQ,CAAC,UAAU,EACzB,IAAI,EAAE,cAAc,GACZ,GACN,IACC,EACT,cACE,EAAE,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"AccordionItemTemplate.js","sourceRoot":"","sources":["../src/AccordionItemTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,OAAO,MAAM,iCAAiC,CAAC;AACtD,OAAO,QAAQ,MAAM,2CAA2C,CAAC;AACjE,OAAO,cAAc,MAAM,mDAAmD,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACzG,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,WAAW,MAAM,cAAc,CAAC;AAEvC,MAAM,CAAC,OAAO,UAAU,qBAAqB;IAC3C,MAAM,cAAc,GAAG,wBAAwB,IAAI,CAAC,GAAG,UAAU,CAAC;IAClE,MAAM,gBAAgB,GAAG,wBAAwB,IAAI,CAAC,GAAG,EAAE,CAAC;IAC5D,MAAM,SAAS,GAAG,qBAAqB,CAAC;IACxC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,MAAM,aAAa,GAAG,GAAG,SAAS,YAAY,SAAS,aAAa,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;IAEnG,OAAO,CACL,8BACE,kBACE,EAAE,EAAE,gBAAgB,mBACL,cAAc,EAC7B,SAAS,EAAE,GAAG,aAAa,EAAE,EAC7B,SAAS,EAAE,IAAI,CAAC,YAAY,EAC5B,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAC9B,SAAS,EAAE,IAAI,CAAC,cAAc,mBACf,IAAI,CAAC,QAAQ,EAC5B,IAAI,EAAC,QAAQ,aACZ,IAAI,CAAC,SAAS,CAAC,CAAC;wBACf,cAAK,SAAS,EAAE,GAAG,SAAS,kBAAkB,SAAS,sBAAsB,YAC3E,KAAC,OAAO,IACN,KAAK,EAAE,GAAG,SAAS,UAAU,SAAS,cAAc,EACpD,IAAI,EAAE,QAAQ,CAAC,UAAU,EACzB,IAAI,EAAE,IAAI,CAAC,SAAS,GACZ,GACN;wBACN,CAAC,CAAC,EAAE,EACN,gBAAM,SAAS,EAAE,GAAG,SAAS,SAAS,aACnC,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,WAAW;gCACf,KAAC,SAAS,IACR,KAAK,EAAE,GAAG,SAAS,SAAS,mBACb,qBAAqB,CAAC,IAAI,EACzC,IAAI,EAAE,mBAAmB,CAAC,MAAM,EAChC,IAAI,EAAE,mBAAmB,CAAC,MAAM,YAC/B,IAAI,CAAC,WAAW,GACP,IAET,EACP,cAAK,SAAS,EAAE,GAAG,SAAS,gBAAgB,YAC1C,KAAC,OAAO,IACN,KAAK,EAAE,GAAG,SAAS,QAAQ,EAC3B,IAAI,EAAE,QAAQ,CAAC,UAAU,EACzB,IAAI,EAAE,cAAc,GACZ,GACN,IACC,EACT,cACE,EAAE,EAAE,cAAc,iBACL,CAAC,IAAI,CAAC,QAAQ,qBACV,gBAAgB,EACjC,SAAS,EAAE,GAAG,SAAS,aAAa,UAAU,EAAE,EAChD,SAAS,EAAE,IAAI,CAAC,cAAc,EAC9B,IAAI,EAAC,QAAQ,YACb,cAAK,SAAS,EAAE,GAAG,SAAS,iBAAiB,YAC3C,gBAAa,GACT,GACF,EACN,KAAC,WAAW,KAAe,IAC1B,CACJ,CAAC;AACJ,CAAC","sourcesContent":["import type AccordionItem from \"./AccordionItem.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport IconMode from \"@ui5/webcomponents/dist/types/IconMode.js\";\nimport slimArrowRight from \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport { UDExNumberBadgeDesign, UDExSizeBadgeDesign, UDExTypeBadgeDesign } from \"./types/BadgeDesign.js\";\nimport UDExBadge from \"./Badge.js\";\nimport UDExDivider from \"./Divider.js\";\n\nexport default function AccordionItemTemplate(this: AccordionItem) {\n const ariaControlsId = `udex-accordion-item__${this._id}-content`;\n const ariaLabelledbyId = `udex-accordion-item__${this._id}`;\n const rootClass = \"udex-accordion-item\";\n const titleClass = this.labelIcon ? `${rootClass}--with-title` : \"\";\n const headlineClass = `${rootClass}__header ${rootClass}__header--${this.labelSize.toLowerCase()}`;\n\n return (\n <>\n <button\n id={ariaLabelledbyId}\n aria-controls={ariaControlsId}\n className={`${headlineClass}`}\n onFocusIn={this.focusHandler}\n onClick={this.itemClickHandler}\n onKeyDown={this.keydownHandler}\n aria-expanded={this.expanded}\n type=\"button\">\n {this.labelIcon ?\n <div className={`${rootClass}__icon-wrapper ${rootClass}__label-icon-wrapper`}>\n <UI5Icon\n class={`${rootClass}__icon ${rootClass}__label-icon`}\n mode={IconMode.Decorative}\n name={this.labelIcon}>\n </UI5Icon>\n </div>\n : \"\"}\n <span className={`${rootClass}__title`}>\n {this.label}\n {this.numberBadge &&\n <UDExBadge\n class={`${rootClass}__badge`}\n number-design={UDExNumberBadgeDesign.Blue}\n type={UDExTypeBadgeDesign.Number}\n size={UDExSizeBadgeDesign.Medium}>\n {this.numberBadge}\n </UDExBadge>\n }\n </span>\n <div className={`${rootClass}__icon-wrapper`}>\n <UI5Icon\n class={`${rootClass}__icon`}\n mode={IconMode.Decorative}\n name={slimArrowRight}>\n </UI5Icon>\n </div>\n </button>\n <div\n id={ariaControlsId}\n aria-hidden={!this.expanded}\n aria-labelledby={ariaLabelledbyId}\n className={`${rootClass}__content ${titleClass}`}\n onKeyDown={this.contentKeydown}\n role=\"region\">\n <div className={`${rootClass}__content-inner`}>\n <slot></slot>\n </div>\n </div>\n <UDExDivider></UDExDivider>\n </>\n );\n}\n"]}
|
package/dist/Assets.d.ts
CHANGED
package/dist/Assets.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
import "@ui5/webcomponents-
|
|
1
|
+
// ui5 web components packages assets (main & fiori)
|
|
2
|
+
import "@ui5/webcomponents-fiori/dist/Assets.js";
|
|
3
3
|
// own web-components package assets
|
|
4
4
|
import "./generated/json-imports/Themes.js";
|
|
5
5
|
import "./generated/json-imports/i18n.js";
|
package/dist/Assets.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Assets.js","sourceRoot":"","sources":["../src/Assets.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"Assets.js","sourceRoot":"","sources":["../src/Assets.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,OAAO,yCAAyC,CAAC;AAEjD,oCAAoC;AACpC,OAAO,oCAAoC,CAAC;AAC5C,OAAO,kCAAkC,CAAC;AAE1C,OAAO,EAAE,mCAAmC,EAAE,MAAM,+CAA+C,CAAC;AACpG,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAEtD,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEpE,mCAAmC,CAAC,oBAAoB,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;AAEzF,CAAC,SAAS,iBAAiB;IACzB,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;QAAC,OAAO;IAAC,CAAC;IAEhD,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC9D,IAAI,CAAC;gBACH,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;oBAAC,OAAO,IAAI,CAAC;gBAAC,CAAC;gBAC5E,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,CAAC;YAChH,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,GAAG,GAAG;;;0EAGwD,CAAC;YACrE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACtC,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,QAAQ,EAAE,CAAC;IACb,CAAC;AACH,CAAC,CAAC,EAAE,CAAC","sourcesContent":["// ui5 web components packages assets (main & fiori)\nimport \"@ui5/webcomponents-fiori/dist/Assets.js\";\n\n// own web-components package assets\nimport \"./generated/json-imports/Themes.js\";\nimport \"./generated/json-imports/i18n.js\";\n\nimport { registerCustomThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/AssetRegistry.js\";\nimport variablesOverwrite from \"./AssetsVariables.js\";\n\nconst customThemeLoader = () => Promise.resolve(variablesOverwrite);\n\nregisterCustomThemePropertiesLoader(\"@ui5/webcomponents\", \"sap_glow\", customThemeLoader);\n\n(function checkThemeCSSLink() {\n if (typeof document === \"undefined\") { return; }\n\n const runCheck = () => {\n const cssLoaded = Array.from(document.styleSheets).some(sheet => {\n try {\n if (sheet.href && sheet.href.includes(\"css_variables.css\")) { return true; }\n return Array.from(sheet.cssRules || []).some(rule => rule.cssText.includes(\".sapThemeMetaData-Base-baseLib\"));\n } catch {\n return false;\n }\n });\n\n if (!cssLoaded) {\n const msg = `Required theme CSS not found.\nPlease add:\n<link rel=\"stylesheet\" href=\"path/to/@sapudex/design-tokens/dist/themes/sap_glow/css_variables.css\">\nor import '@sapudex/design-tokens/dist/themes/sap_glow/css_variables.css'`;\n console.warn(msg);\n }\n };\n\n if (document.readyState === \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", runCheck);\n } else {\n runCheck();\n }\n})();\n"]}
|
package/dist/AssetsVariables.js
CHANGED
|
@@ -18,6 +18,19 @@ const variablesOverwrite = `
|
|
|
18
18
|
${getScopedVarName("--ui5_carousel_active_dot_border")}: 1px solid var(--udexColorBlue8, #0057D2);
|
|
19
19
|
|
|
20
20
|
/* Calendar & Date Picker */
|
|
21
|
+
${getScopedVarName("--_ui5_calendar_width")}: 371px;
|
|
22
|
+
${getScopedVarName("--_ui5_calendar_height")}: auto;
|
|
23
|
+
${getScopedVarName("--_ui5_calendar_top_bottom_padding")}: var(--udexSpacer8, 8px);
|
|
24
|
+
${getScopedVarName("--_ui5_calendar_left_right_padding")}: var(--udexSpacer8, 8px);
|
|
25
|
+
${getScopedVarName("--_ui5_calendar_header_height")}: 42px;
|
|
26
|
+
${getScopedVarName("--_ui5_calendar_header_arrow_button_width")}: 42px;
|
|
27
|
+
${getScopedVarName("--_ui5_day_picker_item_width")}: 42px;
|
|
28
|
+
${getScopedVarName("--_ui5_day_picker_item_height")}: 42px;
|
|
29
|
+
${getScopedVarName("--_ui5_daypicker_weekname_color")}: var(--udexColorGrey6, #5B738B);
|
|
30
|
+
${getScopedVarName("--_ui5_month_picker_item_height")}: 36px;
|
|
31
|
+
${getScopedVarName("--_ui5_monthpicker_item_margin")}: -8px 0 var(--udexSpacer16, 16px) 0;
|
|
32
|
+
${getScopedVarName("--_ui5_year_picker_item_height")}: 36px;
|
|
33
|
+
${getScopedVarName("--_ui5_yearpicker_item_margin")}: -8px 0 var(--udexSpacer16, 16px) 0;
|
|
21
34
|
${getScopedVarName("--_ui5_daypicker_daynames_container_height")}: 42px;
|
|
22
35
|
${getScopedVarName("--_ui5_daypicker_dayname_color")}: var(--udexColorGrey6, #5B738B);
|
|
23
36
|
${getScopedVarName("--_ui5_daypicker_item_now_border_color")}: var(--udexColorPink8, #A100C2);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetsVariables.js","sourceRoot":"","sources":["../src/AssetsVariables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AACvF,OAAO,0BAA0B,MAAM,uCAAuC,CAAC;AAE/E,MAAM,kBAAkB,GAAG;IACvB,0BAA0B,EAAE;;;;IAI5B,gBAAgB,CAAC,mCAAmC,CAAC;;;IAGrD,gBAAgB,CAAC,2BAA2B,CAAC;;;IAG7C,gBAAgB,CAAC,0BAA0B,CAAC;;;IAG5C,gBAAgB,CAAC,sCAAsC,CAAC;IACxD,gBAAgB,CAAC,kCAAkC,CAAC;;;IAGpD,gBAAgB,CAAC,4CAA4C,CAAC;IAC9D,gBAAgB,CAAC,gCAAgC,CAAC;IAClD,gBAAgB,CAAC,wCAAwC,CAAC;IAC1D,gBAAgB,CAAC,uCAAuC,CAAC;IACzD,gBAAgB,CAAC,6CAA6C,CAAC;IAC/D,gBAAgB,CAAC,oDAAoD,CAAC;IACtE,gBAAgB,CAAC,gDAAgD,CAAC;IAClE,gBAAgB,CAAC,gCAAgC,CAAC;IAClD,gBAAgB,CAAC,oCAAoC,CAAC;IACtD,gBAAgB,CAAC,oCAAoC,CAAC;;;;MAIpD,gBAAgB,CAAC,uBAAuB,CAAC;;;;MAIzC,gBAAgB,CAAC,4CAA4C,CAAC;;;;;;;MAO9D,gBAAgB,CAAC,uBAAuB,CAAC;MACzC,gBAAgB,CAAC,wBAAwB,CAAC;MAC1C,gBAAgB,CAAC,oCAAoC,CAAC;MACtD,gBAAgB,CAAC,oCAAoC,CAAC;MACtD,gBAAgB,CAAC,+BAA+B,CAAC;MACjD,gBAAgB,CAAC,2CAA2C,CAAC;MAC7D,gBAAgB,CAAC,8BAA8B,CAAC;MAChD,gBAAgB,CAAC,+BAA+B,CAAC;MACjD,gBAAgB,CAAC,iCAAiC,CAAC;MACnD,gBAAgB,CAAC,uCAAuC,CAAC;MACzD,gBAAgB,CAAC,iCAAiC,CAAC;MACnD,gBAAgB,CAAC,gCAAgC,CAAC;MAClD,gBAAgB,CAAC,gCAAgC,CAAC;MAClD,gBAAgB,CAAC,+BAA+B,CAAC;MACjD,gBAAgB,CAAC,oCAAoC,CAAC;MACtD,gBAAgB,CAAC,oCAAoC,CAAC;;CAE3D,CAAC;AAEF,eAAe,kBAAkB,CAAC","sourcesContent":["import { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport getEffectiveScrollbarStyle from \"./utils/getEffectiveScrollbarStyle.js\";\n\nconst variablesOverwrite = `\n ${getEffectiveScrollbarStyle()}\n \n :root {\n /* Browser Scrollbar */\n ${getScopedVarName(\"--browser_scrollbar_border_radius\")}: var(--udexRadiusM, 8px);\n\n /* Tooltip */\n ${getScopedVarName(\"--_ui5_popover_box_shadow\")}: 0px 0px 0px 1px var(--udexColorGrey4);\n\n /* Tokenizer */\n ${getScopedVarName(\"--_ui5_tokenizer_padding\")}: var(--udexSpacer12, 12px);\n\n /* Carousel */\n ${getScopedVarName(\"--ui5_carousel_active_dot_background\")}: var(--udexColorBlue8, #0057D2);\n ${getScopedVarName(\"--ui5_carousel_active_dot_border\")}: 1px solid var(--udexColorBlue8, #0057D2);\n\n /* Calendar & Date Picker */\n ${getScopedVarName(\"--_ui5_daypicker_daynames_container_height\")}: 42px;\n ${getScopedVarName(\"--_ui5_daypicker_dayname_color\")}: var(--udexColorGrey6, #5B738B);\n ${getScopedVarName(\"--_ui5_daypicker_item_now_border_color\")}: var(--udexColorPink8, #A100C2);\n ${getScopedVarName(\"--_ui5_daypicker_item_weeekend_filter\")}: none;\n ${getScopedVarName(\"--_ui5_daypicker_item_select_between_border\")}: 1px solid var(--udexColorBlue9, #0040B0);\n ${getScopedVarName(\"--_ui5_calendar_header_middle_button_focus_outline\")}: 1px solid var(--udexColorBlue9, #0040B0);\n ${getScopedVarName(\"--_ui5_calendar_header_arrow_button_box_shadow\")}: none;\n ${getScopedVarName(\"--_ui5_calendar_header_padding\")}: 0;\n ${getScopedVarName(\"--_ui5_calendar_left_right_padding\")}: 0;\n ${getScopedVarName(\"--_ui5_calendar_top_bottom_padding\")}: 0;\n \n /* Avatar */\n [udex-avatar].dark {\n ${getScopedVarName(\"--_ui5_avatar_outline\")}: var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--udexColorNeutralWhite, #FFFFFF);\n }\n\n [udex-search] {\n ${getScopedVarName(\"--_ui5_button_pressed_focused_border_color\")}: transparent;\n }\n\n .sapUiSizeCompact,\n .ui5-content-density-compact,\n [data-ui5-compact-size] {\n /* Calendar & Date Picker */\n ${getScopedVarName(\"--_ui5_calendar_width\")}: 371px;\n ${getScopedVarName(\"--_ui5_calendar_height\")}: auto;\n ${getScopedVarName(\"--_ui5_calendar_top_bottom_padding\")}: var(--udexSpacer8, 8px);\n ${getScopedVarName(\"--_ui5_calendar_left_right_padding\")}: var(--udexSpacer8, 8px);\n ${getScopedVarName(\"--_ui5_calendar_header_height\")}: 42px;\n ${getScopedVarName(\"--_ui5_calendar_header_arrow_button_width\")}: 42px;\n ${getScopedVarName(\"--_ui5_day_picker_item_width\")}: 42px;\n ${getScopedVarName(\"--_ui5_day_picker_item_height\")}: 42px;\n ${getScopedVarName(\"--_ui5_daypicker_weekname_color\")}: var(--udexColorGrey6, #5B738B);\n ${getScopedVarName(\"--_ui5_daypicker_item_weeekend_filter\")}: none;\n ${getScopedVarName(\"--_ui5_month_picker_item_height\")}: 36px;\n ${getScopedVarName(\"--_ui5_monthpicker_item_margin\")}: -8px 0 var(--udexSpacer16, 16px) 0;\n ${getScopedVarName(\"--_ui5_year_picker_item_height\")}: 36px;\n ${getScopedVarName(\"--_ui5_yearpicker_item_margin\")}: -8px 0 var(--udexSpacer16, 16px) 0;\n ${getScopedVarName(\"--_ui5_calendar_left_right_padding\")}: 0;\n ${getScopedVarName(\"--_ui5_calendar_top_bottom_padding\")}: 0;\n }\n`;\n\nexport default variablesOverwrite;\n"]}
|
|
1
|
+
{"version":3,"file":"AssetsVariables.js","sourceRoot":"","sources":["../src/AssetsVariables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AACvF,OAAO,0BAA0B,MAAM,uCAAuC,CAAC;AAE/E,MAAM,kBAAkB,GAAG;IACvB,0BAA0B,EAAE;;;;IAI5B,gBAAgB,CAAC,mCAAmC,CAAC;;;IAGrD,gBAAgB,CAAC,2BAA2B,CAAC;;;IAG7C,gBAAgB,CAAC,0BAA0B,CAAC;;;IAG5C,gBAAgB,CAAC,sCAAsC,CAAC;IACxD,gBAAgB,CAAC,kCAAkC,CAAC;;;IAGpD,gBAAgB,CAAC,uBAAuB,CAAC;IACzC,gBAAgB,CAAC,wBAAwB,CAAC;IAC1C,gBAAgB,CAAC,oCAAoC,CAAC;IACtD,gBAAgB,CAAC,oCAAoC,CAAC;IACtD,gBAAgB,CAAC,+BAA+B,CAAC;IACjD,gBAAgB,CAAC,2CAA2C,CAAC;IAC7D,gBAAgB,CAAC,8BAA8B,CAAC;IAChD,gBAAgB,CAAC,+BAA+B,CAAC;IACjD,gBAAgB,CAAC,iCAAiC,CAAC;IACnD,gBAAgB,CAAC,iCAAiC,CAAC;IACnD,gBAAgB,CAAC,gCAAgC,CAAC;IAClD,gBAAgB,CAAC,gCAAgC,CAAC;IAClD,gBAAgB,CAAC,+BAA+B,CAAC;IACjD,gBAAgB,CAAC,4CAA4C,CAAC;IAC9D,gBAAgB,CAAC,gCAAgC,CAAC;IAClD,gBAAgB,CAAC,wCAAwC,CAAC;IAC1D,gBAAgB,CAAC,uCAAuC,CAAC;IACzD,gBAAgB,CAAC,6CAA6C,CAAC;IAC/D,gBAAgB,CAAC,oDAAoD,CAAC;IACtE,gBAAgB,CAAC,gDAAgD,CAAC;IAClE,gBAAgB,CAAC,gCAAgC,CAAC;IAClD,gBAAgB,CAAC,oCAAoC,CAAC;IACtD,gBAAgB,CAAC,oCAAoC,CAAC;;;;MAIpD,gBAAgB,CAAC,uBAAuB,CAAC;;;;MAIzC,gBAAgB,CAAC,4CAA4C,CAAC;;;;;;;MAO9D,gBAAgB,CAAC,uBAAuB,CAAC;MACzC,gBAAgB,CAAC,wBAAwB,CAAC;MAC1C,gBAAgB,CAAC,oCAAoC,CAAC;MACtD,gBAAgB,CAAC,oCAAoC,CAAC;MACtD,gBAAgB,CAAC,+BAA+B,CAAC;MACjD,gBAAgB,CAAC,2CAA2C,CAAC;MAC7D,gBAAgB,CAAC,8BAA8B,CAAC;MAChD,gBAAgB,CAAC,+BAA+B,CAAC;MACjD,gBAAgB,CAAC,iCAAiC,CAAC;MACnD,gBAAgB,CAAC,uCAAuC,CAAC;MACzD,gBAAgB,CAAC,iCAAiC,CAAC;MACnD,gBAAgB,CAAC,gCAAgC,CAAC;MAClD,gBAAgB,CAAC,gCAAgC,CAAC;MAClD,gBAAgB,CAAC,+BAA+B,CAAC;MACjD,gBAAgB,CAAC,oCAAoC,CAAC;MACtD,gBAAgB,CAAC,oCAAoC,CAAC;;CAE3D,CAAC;AAEF,eAAe,kBAAkB,CAAC","sourcesContent":["import { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport getEffectiveScrollbarStyle from \"./utils/getEffectiveScrollbarStyle.js\";\n\nconst variablesOverwrite = `\n ${getEffectiveScrollbarStyle()}\n \n :root {\n /* Browser Scrollbar */\n ${getScopedVarName(\"--browser_scrollbar_border_radius\")}: var(--udexRadiusM, 8px);\n\n /* Tooltip */\n ${getScopedVarName(\"--_ui5_popover_box_shadow\")}: 0px 0px 0px 1px var(--udexColorGrey4);\n\n /* Tokenizer */\n ${getScopedVarName(\"--_ui5_tokenizer_padding\")}: var(--udexSpacer12, 12px);\n\n /* Carousel */\n ${getScopedVarName(\"--ui5_carousel_active_dot_background\")}: var(--udexColorBlue8, #0057D2);\n ${getScopedVarName(\"--ui5_carousel_active_dot_border\")}: 1px solid var(--udexColorBlue8, #0057D2);\n\n /* Calendar & Date Picker */\n ${getScopedVarName(\"--_ui5_calendar_width\")}: 371px;\n ${getScopedVarName(\"--_ui5_calendar_height\")}: auto;\n ${getScopedVarName(\"--_ui5_calendar_top_bottom_padding\")}: var(--udexSpacer8, 8px);\n ${getScopedVarName(\"--_ui5_calendar_left_right_padding\")}: var(--udexSpacer8, 8px);\n ${getScopedVarName(\"--_ui5_calendar_header_height\")}: 42px;\n ${getScopedVarName(\"--_ui5_calendar_header_arrow_button_width\")}: 42px;\n ${getScopedVarName(\"--_ui5_day_picker_item_width\")}: 42px;\n ${getScopedVarName(\"--_ui5_day_picker_item_height\")}: 42px;\n ${getScopedVarName(\"--_ui5_daypicker_weekname_color\")}: var(--udexColorGrey6, #5B738B);\n ${getScopedVarName(\"--_ui5_month_picker_item_height\")}: 36px;\n ${getScopedVarName(\"--_ui5_monthpicker_item_margin\")}: -8px 0 var(--udexSpacer16, 16px) 0;\n ${getScopedVarName(\"--_ui5_year_picker_item_height\")}: 36px;\n ${getScopedVarName(\"--_ui5_yearpicker_item_margin\")}: -8px 0 var(--udexSpacer16, 16px) 0;\n ${getScopedVarName(\"--_ui5_daypicker_daynames_container_height\")}: 42px;\n ${getScopedVarName(\"--_ui5_daypicker_dayname_color\")}: var(--udexColorGrey6, #5B738B);\n ${getScopedVarName(\"--_ui5_daypicker_item_now_border_color\")}: var(--udexColorPink8, #A100C2);\n ${getScopedVarName(\"--_ui5_daypicker_item_weeekend_filter\")}: none;\n ${getScopedVarName(\"--_ui5_daypicker_item_select_between_border\")}: 1px solid var(--udexColorBlue9, #0040B0);\n ${getScopedVarName(\"--_ui5_calendar_header_middle_button_focus_outline\")}: 1px solid var(--udexColorBlue9, #0040B0);\n ${getScopedVarName(\"--_ui5_calendar_header_arrow_button_box_shadow\")}: none;\n ${getScopedVarName(\"--_ui5_calendar_header_padding\")}: 0;\n ${getScopedVarName(\"--_ui5_calendar_left_right_padding\")}: 0;\n ${getScopedVarName(\"--_ui5_calendar_top_bottom_padding\")}: 0;\n \n /* Avatar */\n [udex-avatar].dark {\n ${getScopedVarName(\"--_ui5_avatar_outline\")}: var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--udexColorNeutralWhite, #FFFFFF);\n }\n\n [udex-search] {\n ${getScopedVarName(\"--_ui5_button_pressed_focused_border_color\")}: transparent;\n }\n\n .sapUiSizeCompact,\n .ui5-content-density-compact,\n [data-ui5-compact-size] {\n /* Calendar & Date Picker */\n ${getScopedVarName(\"--_ui5_calendar_width\")}: 371px;\n ${getScopedVarName(\"--_ui5_calendar_height\")}: auto;\n ${getScopedVarName(\"--_ui5_calendar_top_bottom_padding\")}: var(--udexSpacer8, 8px);\n ${getScopedVarName(\"--_ui5_calendar_left_right_padding\")}: var(--udexSpacer8, 8px);\n ${getScopedVarName(\"--_ui5_calendar_header_height\")}: 42px;\n ${getScopedVarName(\"--_ui5_calendar_header_arrow_button_width\")}: 42px;\n ${getScopedVarName(\"--_ui5_day_picker_item_width\")}: 42px;\n ${getScopedVarName(\"--_ui5_day_picker_item_height\")}: 42px;\n ${getScopedVarName(\"--_ui5_daypicker_weekname_color\")}: var(--udexColorGrey6, #5B738B);\n ${getScopedVarName(\"--_ui5_daypicker_item_weeekend_filter\")}: none;\n ${getScopedVarName(\"--_ui5_month_picker_item_height\")}: 36px;\n ${getScopedVarName(\"--_ui5_monthpicker_item_margin\")}: -8px 0 var(--udexSpacer16, 16px) 0;\n ${getScopedVarName(\"--_ui5_year_picker_item_height\")}: 36px;\n ${getScopedVarName(\"--_ui5_yearpicker_item_margin\")}: -8px 0 var(--udexSpacer16, 16px) 0;\n ${getScopedVarName(\"--_ui5_calendar_left_right_padding\")}: 0;\n ${getScopedVarName(\"--_ui5_calendar_top_bottom_padding\")}: 0;\n }\n`;\n\nexport default variablesOverwrite;\n"]}
|
package/dist/AvatarGroup.d.ts
CHANGED
|
@@ -21,8 +21,10 @@ declare class UDExAvatarGroup extends AvatarGroup {
|
|
|
21
21
|
constructor();
|
|
22
22
|
onEnterDOM(): void;
|
|
23
23
|
onExitDOM(): void;
|
|
24
|
+
_initializeItemNavigation(): Promise<void>;
|
|
24
25
|
_onHover(hover: boolean): void;
|
|
25
26
|
_onfocusin(e: FocusEvent): void;
|
|
27
|
+
_isValidSize(size: string): boolean;
|
|
26
28
|
_prepareAvatars(): void;
|
|
27
29
|
get _isIndividual(): boolean;
|
|
28
30
|
}
|
package/dist/AvatarGroup.js
CHANGED
|
@@ -8,6 +8,7 @@ import AvatarGroup from "@ui5/webcomponents/dist/AvatarGroup.js";
|
|
|
8
8
|
import AvatarGroupType from "@ui5/webcomponents/dist/types/AvatarGroupType.js";
|
|
9
9
|
import ItemNavigation from "@ui5/webcomponents-base/dist/delegate/ItemNavigation.js";
|
|
10
10
|
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
11
|
+
import { renderFinished } from "@ui5/webcomponents-base/dist/Render.js";
|
|
11
12
|
import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
|
|
12
13
|
// Styles
|
|
13
14
|
import UI5AvatarGroupCss from "@ui5/webcomponents/dist/generated/themes/AvatarGroup.css.js";
|
|
@@ -55,19 +56,13 @@ const avatarOffsets = {
|
|
|
55
56
|
let UDExAvatarGroup = class UDExAvatarGroup extends AvatarGroup {
|
|
56
57
|
constructor() {
|
|
57
58
|
super();
|
|
58
|
-
this._itemNavigation = new ItemNavigation(this, {
|
|
59
|
-
getItemsCallback: () => {
|
|
60
|
-
return this._isIndividual
|
|
61
|
-
? this.items.slice(0, this._hiddenStartIndex).map(item => item.shadowRoot?.firstElementChild)
|
|
62
|
-
: [];
|
|
63
|
-
},
|
|
64
|
-
});
|
|
65
59
|
}
|
|
66
60
|
onEnterDOM() {
|
|
67
61
|
super.onEnterDOM();
|
|
68
62
|
const container = this.shadowRoot?.querySelector(".ui5-avatar-group-items");
|
|
69
63
|
container?.addEventListener("mouseenter", this._onHover.bind(this, true));
|
|
70
64
|
container?.addEventListener("mouseleave", this._onHover.bind(this, false));
|
|
65
|
+
this._initializeItemNavigation();
|
|
71
66
|
}
|
|
72
67
|
onExitDOM() {
|
|
73
68
|
super.onExitDOM();
|
|
@@ -75,6 +70,16 @@ let UDExAvatarGroup = class UDExAvatarGroup extends AvatarGroup {
|
|
|
75
70
|
container?.removeEventListener("mouseenter", this._onHover.bind(this, true));
|
|
76
71
|
container?.removeEventListener("mouseleave", this._onHover.bind(this, false));
|
|
77
72
|
}
|
|
73
|
+
async _initializeItemNavigation() {
|
|
74
|
+
await renderFinished();
|
|
75
|
+
this._itemNavigation = new ItemNavigation(this, {
|
|
76
|
+
getItemsCallback: () => {
|
|
77
|
+
return this._isIndividual
|
|
78
|
+
? this.items.slice(0, this._hiddenStartIndex).map(item => item.shadowRoot?.firstElementChild)
|
|
79
|
+
: [];
|
|
80
|
+
},
|
|
81
|
+
});
|
|
82
|
+
}
|
|
78
83
|
_onHover(hover) {
|
|
79
84
|
if (this._isGroup) {
|
|
80
85
|
this.items.every(avatar => {
|
|
@@ -89,6 +94,9 @@ let UDExAvatarGroup = class UDExAvatarGroup extends AvatarGroup {
|
|
|
89
94
|
: e.target.shadowRoot?.firstElementChild;
|
|
90
95
|
this._itemNavigation.setCurrentItem(targetItem);
|
|
91
96
|
}
|
|
97
|
+
_isValidSize(size) {
|
|
98
|
+
return Object.values(UDExAvatarSize).includes(size);
|
|
99
|
+
}
|
|
92
100
|
_prepareAvatars() {
|
|
93
101
|
this._colorIndex = 0;
|
|
94
102
|
const visibleColors = Object.values(UDExAvatarColorScheme);
|
|
@@ -102,7 +110,7 @@ let UDExAvatarGroup = class UDExAvatarGroup extends AvatarGroup {
|
|
|
102
110
|
avatar.setAttribute("color-scheme", visibleColors[this._colorIndex]);
|
|
103
111
|
}
|
|
104
112
|
if (index !== this._itemsCount - 1 || this._customOverflowButton) {
|
|
105
|
-
const avatarSize = avatar.effectiveSize
|
|
113
|
+
const avatarSize = this._isValidSize(avatar.effectiveSize) ? avatar.effectiveSize : UDExAvatarSize.S;
|
|
106
114
|
avatar.style.marginInlineEnd = avatarOffsets[avatarSize][this.type];
|
|
107
115
|
}
|
|
108
116
|
});
|