@sapudex/web-components 2.9.0 → 2.11.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/bundle.esm.js +2 -0
- package/cypress/fixtures/footer-links.ts +32 -33
- package/cypress/specs/Accordion.cy.tsx +19 -0
- package/cypress/specs/AccordionItem.cy.tsx +9 -0
- package/cypress/specs/CountrySelector.cy.tsx +5 -2
- package/cypress/specs/FilterMenu.cy.tsx +884 -0
- package/cypress/specs/Footer.cy.tsx +54 -18
- package/cypress/specs/PromoTile.cy.tsx +124 -0
- package/cypress/specs/Quote.cy.tsx +65 -0
- package/cypress/specs/SocialMediaButton.cy.tsx +44 -0
- package/cypress/specs/Table.cy.tsx +8 -2
- package/cypress/specs/TextField.cy.tsx +11 -4
- package/cypress/support/component-imports.instrumented.ts +15 -1
- package/cypress/support/component-imports.src.ts +15 -1
- package/dist/Accordion.d.ts +15 -0
- package/dist/Accordion.js +19 -0
- package/dist/Accordion.js.map +1 -1
- package/dist/AccordionItem.d.ts +19 -0
- package/dist/AccordionItem.js +23 -0
- package/dist/AccordionItem.js.map +1 -1
- package/dist/AccordionItemTemplate.js +7 -2
- package/dist/AccordionItemTemplate.js.map +1 -1
- package/dist/AccordionTemplate.js +21 -1
- package/dist/AccordionTemplate.js.map +1 -1
- package/dist/Assets.d.ts +1 -0
- package/dist/Assets.js +1 -0
- package/dist/Assets.js.map +1 -1
- package/dist/CountrySelector.d.ts +2 -2
- package/dist/CountrySelector.js +6 -3
- package/dist/CountrySelector.js.map +1 -1
- package/dist/DatePicker.js +2 -2
- package/dist/DatePicker.js.map +1 -1
- package/dist/FilterMenu.d.ts +13 -2
- package/dist/FilterMenu.js +59 -13
- package/dist/FilterMenu.js.map +1 -1
- package/dist/Footer.d.ts +50 -6
- package/dist/Footer.js +44 -22
- package/dist/Footer.js.map +1 -1
- package/dist/MastheadItem.d.ts +12 -0
- package/dist/MastheadItem.js +6 -0
- package/dist/MastheadItem.js.map +1 -1
- package/dist/MastheadShell.d.ts +13 -3
- package/dist/MastheadShell.js +17 -4
- package/dist/MastheadShell.js.map +1 -1
- package/dist/PromoTile.d.ts +143 -0
- package/dist/PromoTile.js +198 -0
- package/dist/PromoTile.js.map +1 -0
- package/dist/PromoTileTemplate.d.ts +2 -0
- package/dist/PromoTileTemplate.js +22 -0
- package/dist/PromoTileTemplate.js.map +1 -0
- package/dist/Quote.d.ts +11 -0
- package/dist/Quote.js +18 -3
- package/dist/Quote.js.map +1 -1
- package/dist/Search.d.ts +3 -1
- package/dist/Search.js +1 -0
- package/dist/Search.js.map +1 -1
- package/dist/SelectBox.d.ts +0 -1
- package/dist/SelectBox.js +2 -2
- package/dist/SelectBox.js.map +1 -1
- package/dist/SocialMediaButton.d.ts +73 -0
- package/dist/SocialMediaButton.js +135 -0
- package/dist/SocialMediaButton.js.map +1 -0
- package/dist/SocialMediaButtonTemplate.d.ts +2 -0
- package/dist/SocialMediaButtonTemplate.js +6 -0
- package/dist/SocialMediaButtonTemplate.js.map +1 -0
- package/dist/StepInput.d.ts +2 -1
- package/dist/StepInput.js +6 -0
- package/dist/StepInput.js.map +1 -1
- package/dist/StepInputTemplate.js +1 -1
- package/dist/StepInputTemplate.js.map +1 -1
- package/dist/TableRow.d.ts +11 -0
- package/dist/TableRow.js +16 -0
- package/dist/TableRow.js.map +1 -1
- package/dist/TextArea.d.ts +3 -8
- package/dist/TextArea.js +12 -5
- package/dist/TextArea.js.map +1 -1
- package/dist/TextField.d.ts +20 -11
- package/dist/TextField.js +44 -31
- package/dist/TextField.js.map +1 -1
- package/dist/assets/{InputSuggestions-BmjyLzkP.js → InputSuggestions-9WQMOg4t.js} +1 -1
- package/dist/assets/{ListItemStandardExpandableTextTemplate-CDt3iORy.js → ListItemStandardExpandableTextTemplate-BQaMMo_n.js} +1 -1
- package/dist/assets/ar-CUjm9SSI.js +1 -0
- package/dist/assets/ar_EG-DQlFzN6x.js +1 -0
- package/dist/assets/ar_SA-lp21-ovF.js +1 -0
- package/dist/assets/bg-BMgSEqKu.js +1 -0
- package/dist/assets/{bundle.esm-Dz11sAJe.js → bundle.esm-ZNiP-jPI.js} +211 -209
- package/dist/assets/ca-BEgqToWu.js +1 -0
- package/dist/assets/cnr-IJYa9RjY.js +1 -0
- package/dist/assets/cs-DcM44PeB.js +1 -0
- package/dist/assets/da-D81rJc1N.js +1 -0
- package/dist/assets/de-eQRPkDbn.js +1 -0
- package/dist/assets/de_AT-Ag3CVI5m.js +1 -0
- package/dist/assets/de_CH-DgRYNg0p.js +1 -0
- package/dist/assets/el-W3XNt9Wl.js +1 -0
- package/dist/assets/el_CY-BfNIiYpU.js +1 -0
- package/dist/assets/en-CrBjXhTl.js +1 -0
- package/dist/assets/en_AU-Br7ytKW4.js +1 -0
- package/dist/assets/en_GB-DfnNoCgD.js +1 -0
- package/dist/assets/en_HK-Cyj9DPsW.js +1 -0
- package/dist/assets/en_IE-B5FpEUby.js +1 -0
- package/dist/assets/en_IN-C3XmKnWe.js +1 -0
- package/dist/assets/en_NZ-COJ5ycaE.js +1 -0
- package/dist/assets/en_PG-BB-Cmgcm.js +1 -0
- package/dist/assets/en_SG-Dfevg5da.js +1 -0
- package/dist/assets/en_ZA-BgOSNy0v.js +1 -0
- package/dist/assets/es-CRcVj7aR.js +1 -0
- package/dist/assets/es_AR-CFf6aWC5.js +1 -0
- package/dist/assets/es_BO-DNFEED1o.js +1 -0
- package/dist/assets/es_CL-DZhLyidG.js +1 -0
- package/dist/assets/es_CO-uWf-1tom.js +1 -0
- package/dist/assets/es_MX-C_wDRcT-.js +1 -0
- package/dist/assets/es_PE-QQsdF6EB.js +1 -0
- package/dist/assets/es_UY-CWhNSkyr.js +1 -0
- package/dist/assets/es_VE-hweLK9Ws.js +1 -0
- package/dist/assets/et-B3fco2O5.js +1 -0
- package/dist/assets/fa-oRguSKlL.js +1 -0
- package/dist/assets/fi-Daa_vlE5.js +1 -0
- package/dist/assets/fr-CANfYyyO.js +1 -0
- package/dist/assets/fr_BE-CCxD_K6m.js +1 -0
- package/dist/assets/fr_CA-BEtkRJZv.js +1 -0
- package/dist/assets/fr_CH-CrBmdh_n.js +1 -0
- package/dist/assets/fr_LU-CDcjZueC.js +1 -0
- package/dist/assets/he-CVUhin6m.js +1 -0
- package/dist/assets/hi-DF2PyuOw.js +1 -0
- package/dist/assets/hr-b6c4wXpD.js +1 -0
- package/dist/assets/hu-B7IWSU6b.js +1 -0
- package/dist/assets/id-GxIydI_w.js +1 -0
- package/dist/assets/it-DAjzvm2X.js +1 -0
- package/dist/assets/it_CH-BvNuHKQK.js +1 -0
- package/dist/assets/ja-DhVA6Wxm.js +1 -0
- package/dist/assets/kk-BSxmnq67.js +1 -0
- package/dist/assets/ko-ZT8Z04Uq.js +1 -0
- package/dist/assets/lt-BVWqkFr_.js +1 -0
- package/dist/assets/lv-DyXyW37Y.js +1 -0
- package/dist/assets/messagebundle_en-DwlTjyni.js +1 -0
- package/dist/assets/mk-ChbdOzZI.js +1 -0
- package/dist/assets/ms-H9bJ42GA.js +1 -0
- package/dist/assets/nb-Dgkq7ozi.js +1 -0
- package/dist/assets/nl-DZqLtAXS.js +1 -0
- package/dist/assets/nl_BE-Dx4AxOFo.js +1 -0
- package/dist/assets/pl-MzEgIfvm.js +1 -0
- package/dist/assets/pt-2N8dosOm.js +1 -0
- package/dist/assets/pt_PT-CIcj5FsJ.js +1 -0
- package/dist/assets/ro-CZHCJKTk.js +1 -0
- package/dist/assets/ru-BcU9rFqC.js +1 -0
- package/dist/assets/ru_UA-aH_wNrwj.js +1 -0
- package/dist/assets/sk-DYn5gXzA.js +1 -0
- package/dist/assets/sl-RYb_KlOx.js +1 -0
- package/dist/assets/sr-Bap_3nyz.js +1 -0
- package/dist/assets/sr_Latn-FYOU_tQB.js +1 -0
- package/dist/assets/sv-CeQXZ1qM.js +1 -0
- package/dist/assets/th-C5mRgAid.js +1 -0
- package/dist/assets/tr-vCU3KUkO.js +1 -0
- package/dist/assets/uk-CKvdHIrD.js +1 -0
- package/dist/assets/vi-0BxthtV1.js +1 -0
- package/dist/assets/zh_CN-BV9PXZ7J.js +1 -0
- package/dist/assets/zh_HK-kGfo3-wS.js +1 -0
- package/dist/assets/zh_SG-B8bEKxnm.js +1 -0
- package/dist/assets/zh_TW-BshO-JEe.js +1 -0
- package/dist/css/themes/AccordionItem.css +1 -1
- package/dist/css/themes/BreadcrumbsPopover.css +1 -1
- package/dist/css/themes/CountrySelector.css +1 -1
- package/dist/css/themes/DatePicker.css +1 -1
- package/dist/css/themes/Divider.css +1 -1
- package/dist/css/themes/Dropdown.css +1 -1
- package/dist/css/themes/FilterMenu.css +1 -1
- package/dist/css/themes/Footer.css +1 -1
- package/dist/css/themes/HeroBanner.css +1 -1
- package/dist/css/themes/Link.css +1 -1
- package/dist/css/themes/MastheadItem.css +1 -1
- package/dist/css/themes/MastheadMenu.css +1 -1
- package/dist/css/themes/PromoTile.css +1 -0
- package/dist/css/themes/Quote.css +1 -1
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/SelectBox.css +1 -1
- package/dist/css/themes/Slider.css +1 -1
- package/dist/css/themes/SocialMediaButton.css +1 -0
- package/dist/css/themes/Tag.css +1 -1
- package/dist/css/themes/TextField.css +1 -1
- package/dist/custom-elements-internal.json +894 -232
- package/dist/custom-elements.json +858 -215
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +4 -2
- package/dist/generated/i18n/i18n-defaults.js +4 -2
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/templates/CountrySelectorTemplate.lit.js +1 -2
- package/dist/generated/templates/CountrySelectorTemplate.lit.js.map +1 -1
- package/dist/generated/templates/DatePickerTemplate.lit.js +4 -5
- package/dist/generated/templates/DatePickerTemplate.lit.js.map +1 -1
- package/dist/generated/templates/FilterMenuTemplate.lit.js +2 -2
- package/dist/generated/templates/FilterMenuTemplate.lit.js.map +1 -1
- package/dist/generated/templates/FooterTemplate.lit.js +33 -32
- package/dist/generated/templates/FooterTemplate.lit.js.map +1 -1
- package/dist/generated/templates/HeroBannerTemplate.lit.js +1 -1
- package/dist/generated/templates/HeroBannerTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadItemTemplate.lit.js +3 -3
- package/dist/generated/templates/MastheadItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadShellTemplate.lit.js +1 -1
- package/dist/generated/templates/MastheadShellTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SearchableListBaseTemplate.lit.js +1 -1
- package/dist/generated/templates/SearchableListBaseTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SelectBoxTemplate.lit.js +4 -4
- package/dist/generated/templates/SelectBoxTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TextFieldTemplate.lit.js +2 -2
- package/dist/generated/templates/TextFieldTemplate.lit.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/BreadcrumbsPopover.css.d.ts +1 -1
- package/dist/generated/themes/BreadcrumbsPopover.css.js +1 -1
- package/dist/generated/themes/BreadcrumbsPopover.css.js.map +1 -1
- package/dist/generated/themes/CountrySelector.css.d.ts +1 -1
- package/dist/generated/themes/CountrySelector.css.js +1 -1
- package/dist/generated/themes/CountrySelector.css.js.map +1 -1
- package/dist/generated/themes/DatePicker.css.d.ts +1 -1
- package/dist/generated/themes/DatePicker.css.js +1 -1
- package/dist/generated/themes/DatePicker.css.js.map +1 -1
- package/dist/generated/themes/Divider.css.d.ts +1 -1
- package/dist/generated/themes/Divider.css.js +1 -1
- package/dist/generated/themes/Divider.css.js.map +1 -1
- package/dist/generated/themes/Dropdown.css.d.ts +1 -1
- package/dist/generated/themes/Dropdown.css.js +1 -1
- package/dist/generated/themes/Dropdown.css.js.map +1 -1
- package/dist/generated/themes/FilterMenu.css.d.ts +1 -1
- package/dist/generated/themes/FilterMenu.css.js +1 -1
- package/dist/generated/themes/FilterMenu.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/HeroBanner.css.d.ts +1 -1
- package/dist/generated/themes/HeroBanner.css.js +1 -1
- package/dist/generated/themes/HeroBanner.css.js.map +1 -1
- package/dist/generated/themes/Link.css.d.ts +1 -1
- package/dist/generated/themes/Link.css.js +1 -1
- package/dist/generated/themes/Link.css.js.map +1 -1
- package/dist/generated/themes/MastheadItem.css.d.ts +1 -1
- package/dist/generated/themes/MastheadItem.css.js +1 -1
- package/dist/generated/themes/MastheadItem.css.js.map +1 -1
- package/dist/generated/themes/MastheadMenu.css.d.ts +1 -1
- package/dist/generated/themes/MastheadMenu.css.js +1 -1
- package/dist/generated/themes/MastheadMenu.css.js.map +1 -1
- package/dist/generated/themes/PromoTile.css.d.ts +2 -0
- package/dist/generated/themes/PromoTile.css.js +8 -0
- package/dist/generated/themes/PromoTile.css.js.map +1 -0
- 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/SelectBox.css.d.ts +1 -1
- package/dist/generated/themes/SelectBox.css.js +1 -1
- package/dist/generated/themes/SelectBox.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/SocialMediaButton.css.d.ts +2 -0
- package/dist/generated/themes/SocialMediaButton.css.js +8 -0
- package/dist/generated/themes/SocialMediaButton.css.js.map +1 -0
- package/dist/generated/themes/Tag.css.d.ts +1 -1
- package/dist/generated/themes/Tag.css.js +1 -1
- package/dist/generated/themes/Tag.css.js.map +1 -1
- package/dist/generated/themes/TextField.css.d.ts +1 -1
- package/dist/generated/themes/TextField.css.js +1 -1
- package/dist/generated/themes/TextField.css.js.map +1 -1
- package/dist/messagebundle.properties +9 -3
- package/dist/messagebundle_en.properties +3 -1
- package/dist/types/PromoTile.d.ts +60 -0
- package/dist/types/PromoTile.js +63 -0
- package/dist/types/PromoTile.js.map +1 -0
- package/dist/types/SocialMediaButtonType.d.ts +9 -0
- package/dist/types/SocialMediaButtonType.js +11 -0
- package/dist/types/SocialMediaButtonType.js.map +1 -0
- package/dist/utils/debounce.d.ts +3 -1
- package/dist/utils/debounce.js +16 -4
- package/dist/utils/debounce.js.map +1 -1
- package/dist/vscode.html-custom-data.json +152 -1
- package/dist/web-types.json +341 -11
- package/package.json +2 -1
- package/src/Accordion.ts +19 -0
- package/src/AccordionItem.ts +28 -0
- package/src/AccordionItemTemplate.tsx +25 -10
- package/src/AccordionTemplate.tsx +22 -1
- package/src/Assets.ts +1 -0
- package/src/CountrySelector.hbs +3 -9
- package/src/CountrySelector.ts +7 -4
- package/src/DatePicker.hbs +17 -26
- package/src/DatePicker.ts +2 -2
- package/src/FilterMenu.hbs +33 -37
- package/src/FilterMenu.ts +69 -15
- package/src/Footer.hbs +39 -43
- package/src/Footer.ts +88 -14
- package/src/HeroBanner.hbs +0 -1
- package/src/MastheadItem.hbs +2 -2
- package/src/MastheadItem.ts +18 -0
- package/src/MastheadShell.hbs +3 -2
- package/src/MastheadShell.ts +28 -7
- package/src/PromoTile.ts +290 -0
- package/src/PromoTileTemplate.tsx +68 -0
- package/src/Quote.ts +17 -3
- package/src/Search.ts +1 -0
- package/src/SearchableListBase.hbs +1 -1
- package/src/SelectBox.hbs +11 -13
- package/src/SelectBox.ts +2 -2
- package/src/SocialMediaButton.ts +152 -0
- package/src/SocialMediaButtonTemplate.tsx +18 -0
- package/src/StepInput.ts +8 -1
- package/src/StepInputTemplate.tsx +1 -2
- package/src/TableRow.ts +27 -1
- package/src/TextArea.ts +14 -7
- package/src/TextField.hbs +5 -5
- package/src/TextField.ts +87 -66
- package/src/generated/i18n/i18n-defaults.ts +2 -2
- package/src/generated/templates/CountrySelectorTemplate.lit.ts +1 -2
- package/src/generated/templates/DatePickerTemplate.lit.ts +4 -5
- package/src/generated/templates/FilterMenuTemplate.lit.ts +2 -2
- package/src/generated/templates/FooterTemplate.lit.ts +33 -32
- package/src/generated/templates/HeroBannerTemplate.lit.ts +1 -1
- package/src/generated/templates/MastheadItemTemplate.lit.ts +3 -3
- package/src/generated/templates/MastheadShellTemplate.lit.ts +1 -1
- package/src/generated/templates/SearchableListBaseTemplate.lit.ts +1 -1
- package/src/generated/templates/SelectBoxTemplate.lit.ts +4 -4
- package/src/generated/templates/TextFieldTemplate.lit.ts +2 -2
- package/src/generated/themes/AccordionItem.css.ts +1 -1
- package/src/generated/themes/BreadcrumbsPopover.css.ts +1 -1
- package/src/generated/themes/CountrySelector.css.ts +1 -1
- package/src/generated/themes/DatePicker.css.ts +1 -1
- package/src/generated/themes/Divider.css.ts +1 -1
- package/src/generated/themes/Dropdown.css.ts +1 -1
- package/src/generated/themes/FilterMenu.css.ts +1 -1
- package/src/generated/themes/Footer.css.ts +1 -1
- package/src/generated/themes/HeroBanner.css.ts +1 -1
- package/src/generated/themes/Link.css.ts +1 -1
- package/src/generated/themes/MastheadItem.css.ts +1 -1
- package/src/generated/themes/MastheadMenu.css.ts +1 -1
- package/src/generated/themes/PromoTile.css.ts +9 -0
- package/src/generated/themes/Quote.css.ts +1 -1
- package/src/generated/themes/RatingIndicator.css.ts +1 -1
- package/src/generated/themes/SelectBox.css.ts +1 -1
- package/src/generated/themes/Slider.css.ts +1 -1
- package/src/generated/themes/SocialMediaButton.css.ts +9 -0
- package/src/generated/themes/Tag.css.ts +1 -1
- package/src/generated/themes/TextField.css.ts +1 -1
- package/src/i18n/messagebundle.properties +9 -3
- package/src/i18n/messagebundle_en.properties +3 -1
- package/src/themes/AccordionItem.css +61 -22
- package/src/themes/BreadcrumbsPopover.css +2 -1
- package/src/themes/CountrySelector.css +4 -0
- package/src/themes/DatePicker.css +0 -5
- package/src/themes/Divider.css +2 -1
- package/src/themes/Dropdown.css +1 -1
- package/src/themes/FilterMenu.css +2 -2
- package/src/themes/Footer.css +44 -25
- package/src/themes/HeroBanner.css +34 -32
- package/src/themes/Link.css +4 -1
- package/src/themes/MastheadItem.css +2 -1
- package/src/themes/MastheadMenu.css +4 -4
- package/src/themes/PromoTile.css +152 -0
- package/src/themes/Quote.css +21 -24
- package/src/themes/SelectBox.css +1 -1
- package/src/themes/SocialMediaButton.css +50 -0
- package/src/themes/Tag.css +18 -24
- package/src/themes/TextField.css +0 -15
- package/src/types/PromoTile.ts +61 -0
- package/src/types/SocialMediaButtonType.ts +10 -0
- package/src/utils/debounce.ts +19 -4
- package/dist/assets/messagebundle_en-CKeTZNW3.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepInputTemplate.js","sourceRoot":"","sources":["../src/StepInputTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAC3C,OAAO,iBAAiB,MAAM,oBAAoB,CAAC;AAGnD,MAAM,CAAC,OAAO,UAAU,iBAAiB;IACvC,OAAO,CAAC,eAAK,KAAK,EAAC,uBAAuB,aACxC,KAAC,aAAa,IACZ,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,IAAI,CAAC,KAAK,qBACA,IAAI,CAAC,cAAc,EACpC,KAAK,EAAE,IAAI,CAAC,iBAAiB,gBACjB,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"StepInputTemplate.js","sourceRoot":"","sources":["../src/StepInputTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAC3C,OAAO,iBAAiB,MAAM,oBAAoB,CAAC;AAGnD,MAAM,CAAC,OAAO,UAAU,iBAAiB;IACvC,OAAO,CAAC,eAAK,KAAK,EAAC,uBAAuB,aACxC,KAAC,aAAa,IACZ,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,IAAI,CAAC,KAAK,qBACA,IAAI,CAAC,cAAc,EACpC,KAAK,EAAE,IAAI,CAAC,iBAAiB,gBACjB,IAAI,CAAC,OAAO,CAAC,SAAS,EAClC,SAAS,EAAE,IAAI,CAAC,eAAe,EAC/B,UAAU,EAAE,IAAI,CAAC,gBAAgB,EACjC,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,WAAW,EAAE,IAAI,CAAC,WAAW,iBAChB,IAAI,CAAC,UAAU,EAC5B,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,IAAI,EAAE,IAAI,CAAC,IAAI,GACA,EAChB,CAAC,IAAI,CAAC,WAAW,IAAI,CACpB,8BACE,KAAC,iBAAiB,IAChB,KAAK,EAAC,qDAAqD,EAC3D,KAAK,EAAE,IAAI,CAAC,YAAY,qBACP,IAAI,CAAC,YAAY,EAClC,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,OAAO,EACZ,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAChC,OAAO,EAAE,IAAI,CAAC,SAAS,EACvB,WAAW,EAAE,IAAI,CAAC,QAAQ,EAC1B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,UAAU,EAAE,IAAI,CAAC,aAAa,EAC9B,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAC/B,MAAM,EAAE,IAAI,CAAC,aAAa,EAC1B,QAAQ,EAAE,IAAI,CAAC,QAAQ,GACJ,EACrB,KAAC,iBAAiB,IAChB,KAAK,EAAC,qDAAqD,EAC3D,KAAK,EAAE,IAAI,CAAC,YAAY,qBACP,IAAI,CAAC,YAAY,EAClC,IAAI,EAAC,KAAK,EACV,IAAI,EAAC,OAAO,EACZ,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAChC,OAAO,EAAE,IAAI,CAAC,SAAS,EACvB,WAAW,EAAE,IAAI,CAAC,QAAQ,EAC1B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,UAAU,EAAE,IAAI,CAAC,aAAa,EAC9B,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAC/B,MAAM,EAAE,IAAI,CAAC,aAAa,EAC1B,QAAQ,EAAE,IAAI,CAAC,QAAQ,GACJ,IACpB,CAAC,IAGF,CAAC,CAAC;AACV,CAAC","sourcesContent":["import UDExTextField from \"./TextField.js\";\nimport UDExControlButton from \"./ControlButton.js\";\nimport type UDExStepInput from \"./StepInput.js\";\n\nexport default function StepInputTemplate(this: UDExStepInput) {\n return (<div class=\"udex-step-input__root\">\n <UDExTextField\n type=\"Number\"\n label={this.label}\n supporting-text={this.supportingText}\n value={this._valuePrecisioned}\n aria-label={this.accInfo.ariaLabel}\n onFocusIn={this._onInputFocusIn}\n onFocusOut={this._onInputFocusOut}\n onKeydown={this._onkeydown}\n disabled={this.disabled}\n readonly={this.readonly}\n required={this.required}\n displayonly={this.displayonly}\n value-state={this.valueState}\n min={this.min}\n max={this.max}\n step={this.step}\n ></UDExTextField>\n {!this.displayonly && (\n <>\n <UDExControlButton\n class=\"udex-step-input__button udex-step-input__button_dec\"\n title={this.decIconTitle}\n accessible-name={this.decIconTitle}\n icon=\"less\"\n size=\"Large\"\n design={this.controlButtonDesign}\n onClick={this._decValue}\n onMouseDown={this._decSpin}\n onMouseUp={this._resetSpin}\n onMouseOut={this._resetSpinOut}\n disabled={this._decIconInactive}\n active={this.decIconActive}\n readonly={this.readonly}\n ></UDExControlButton>\n <UDExControlButton\n class=\"udex-step-input__button udex-step-input__button_inc\"\n title={this.incIconTitle}\n accessible-name={this.incIconTitle}\n icon=\"add\"\n size=\"Large\"\n design={this.controlButtonDesign}\n onClick={this._incValue}\n onMouseDown={this._incSpin}\n onMouseUp={this._resetSpin}\n onMouseOut={this._resetSpinOut}\n disabled={this._incIconInactive}\n active={this.incIconActive}\n readonly={this.readonly}\n ></UDExControlButton>\n </>)\n }\n\n </div>);\n}\n"]}
|
package/dist/TableRow.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import UDExTableRowBase from "./TableRowBase.js";
|
|
2
|
+
import type UDExTableCell from "./TableCell.js";
|
|
2
3
|
/**
|
|
3
4
|
* @class
|
|
4
5
|
*
|
|
@@ -24,6 +25,16 @@ declare class UDExTableRow extends UDExTableRowBase {
|
|
|
24
25
|
* @public
|
|
25
26
|
*/
|
|
26
27
|
interactive?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Defines highlighted the row.
|
|
30
|
+
*
|
|
31
|
+
* @default false
|
|
32
|
+
* @public
|
|
33
|
+
*/
|
|
34
|
+
highlighted?: boolean;
|
|
35
|
+
onBeforeRendering(): void;
|
|
36
|
+
_setHighlightToCells(): void;
|
|
27
37
|
get isGroup(): boolean;
|
|
38
|
+
get cellsInRow(): Array<UDExTableCell>;
|
|
28
39
|
}
|
|
29
40
|
export default UDExTableRow;
|
package/dist/TableRow.js
CHANGED
|
@@ -27,13 +27,29 @@ import TableRowTemplate from "./generated/templates/TableRowTemplate.lit.js";
|
|
|
27
27
|
* @public
|
|
28
28
|
*/
|
|
29
29
|
let UDExTableRow = class UDExTableRow extends UDExTableRowBase {
|
|
30
|
+
onBeforeRendering() {
|
|
31
|
+
if (this.highlighted) {
|
|
32
|
+
this._setHighlightToCells();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
_setHighlightToCells() {
|
|
36
|
+
this.cellsInRow.forEach(cell => {
|
|
37
|
+
cell._highlighted = true;
|
|
38
|
+
});
|
|
39
|
+
}
|
|
30
40
|
get isGroup() {
|
|
31
41
|
return false;
|
|
32
42
|
}
|
|
43
|
+
get cellsInRow() {
|
|
44
|
+
return this.getSlottedNodes("cells");
|
|
45
|
+
}
|
|
33
46
|
};
|
|
34
47
|
__decorate([
|
|
35
48
|
property({ type: Boolean })
|
|
36
49
|
], UDExTableRow.prototype, "interactive", void 0);
|
|
50
|
+
__decorate([
|
|
51
|
+
property({ type: Boolean })
|
|
52
|
+
], UDExTableRow.prototype, "highlighted", void 0);
|
|
37
53
|
UDExTableRow = __decorate([
|
|
38
54
|
customElement({
|
|
39
55
|
tag: "udex-table-row",
|
package/dist/TableRow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableRow.js","sourceRoot":"","sources":["../src/TableRow.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,gBAAgB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"TableRow.js","sourceRoot":"","sources":["../src/TableRow.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,gBAAgB,MAAM,mBAAmB,CAAC;AAEjD,OAAO,gBAAgB,MAAM,+CAA+C,CAAC;AAE7E;;;;;;;;;;;;;;;;GAgBG;AASH,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,gBAAgB;IAmBzC,iBAAiB;QACf,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO;QACT,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,eAAe,CAAgB,OAAO,CAAC,CAAC;IACtD,CAAC;CACF,CAAA;AA9BG;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iDACJ;AAStB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iDACJ;AAjBpB,YAAY;IARjB,aAAa,CAAC;QACb,GAAG,EAAE,gBAAgB;QACrB,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACjC,QAAQ,EAAE,gBAAgB;QAC1B,YAAY,EAAE,CAAC,GAAG,gBAAgB,CAAC,YAAY,CAAC;KACjD,CAAC;GAEI,YAAY,CAsCjB;AAED,YAAY,CAAC,MAAM,EAAE,CAAC;AAEtB,eAAe,YAAY,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport UDExTableRowBase from \"./TableRowBase.js\";\nimport type UDExTableCell from \"./TableCell.js\";\nimport TableRowTemplate from \"./generated/templates/TableRowTemplate.lit.js\";\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-table-row</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/TableRow.js\";</code>\n *\n * @constructor\n * @extends UDExTableRowBase\n * @public\n */\n@customElement({\n tag: \"udex-table-row\",\n renderer: litRender,\n styles: [UDExTableRowBase.styles],\n template: TableRowTemplate,\n dependencies: [...UDExTableRowBase.dependencies],\n})\n\nclass UDExTableRow extends UDExTableRowBase {\n /**\n * Defines the interactive state of the row.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n interactive?: boolean;\n\n /**\n * Defines highlighted the row.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n highlighted?: boolean;\n\n onBeforeRendering(): void {\n if (this.highlighted) {\n this._setHighlightToCells();\n }\n }\n\n _setHighlightToCells(): void {\n this.cellsInRow.forEach(cell => {\n cell._highlighted = true;\n });\n }\n\n get isGroup(): boolean {\n return false;\n }\n\n get cellsInRow(): Array<UDExTableCell> {\n return this.getSlottedNodes<UDExTableCell>(\"cells\");\n }\n}\n\nUDExTableRow.define();\n\nexport default UDExTableRow;\n"]}
|
package/dist/TextArea.d.ts
CHANGED
|
@@ -164,23 +164,18 @@ declare class UDExTextArea extends UI5Element {
|
|
|
164
164
|
*/
|
|
165
165
|
_isTouched: boolean;
|
|
166
166
|
static i18nBundle: I18nBundle;
|
|
167
|
-
getInputDomRef(): HTMLTextAreaElement;
|
|
168
167
|
onBeforeRendering(): void;
|
|
169
168
|
onAfterRendering(): void;
|
|
170
|
-
handleInput: (
|
|
169
|
+
handleInput: (inputEvent: InputEvent) => void;
|
|
171
170
|
handleChange: () => void;
|
|
172
171
|
handleGrowing: () => void;
|
|
173
172
|
handleFocus: () => void;
|
|
174
173
|
handleClick(): void;
|
|
175
174
|
handleBlur: () => void;
|
|
175
|
+
getInputDomRef(): HTMLTextAreaElement;
|
|
176
176
|
get ariaInvalid(): string | null;
|
|
177
177
|
get hasValueState(): boolean;
|
|
178
|
-
get valueStateTypeMappings():
|
|
179
|
-
Success: string;
|
|
180
|
-
Standard: string;
|
|
181
|
-
Error: string;
|
|
182
|
-
Warning: string;
|
|
183
|
-
};
|
|
178
|
+
get valueStateTypeMappings(): Record<UDExValueState, string>;
|
|
184
179
|
get ariaValueStateHiddenText(): string | undefined;
|
|
185
180
|
get readOnlyText(): string;
|
|
186
181
|
get ariaDescribedBy(): string | undefined;
|
package/dist/TextArea.js
CHANGED
|
@@ -11,6 +11,7 @@ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
|
11
11
|
import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
|
|
12
12
|
import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
|
|
13
13
|
import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
|
|
14
|
+
import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
|
|
14
15
|
import { READ_ONLY, TEXTAREA_CHARACTERS_LEFT, TEXT_FIELD, VALUE_STATE_TYPE_ERROR, VALUE_STATE_TYPE_STANDARD, VALUE_STATE_TYPE_SUCCESS, VALUE_STATE_TYPE_WARNING, } from "./generated/i18n/i18n-defaults.js";
|
|
15
16
|
import "@ui5/webcomponents/dist/Icon.js";
|
|
16
17
|
import "@ui5/webcomponents-icons/dist/accept.js";
|
|
@@ -97,8 +98,8 @@ let UDExTextArea = UDExTextArea_1 = class UDExTextArea extends UI5Element {
|
|
|
97
98
|
* @public
|
|
98
99
|
*/
|
|
99
100
|
this.accessibleNameRef = "";
|
|
100
|
-
this.handleInput = (
|
|
101
|
-
this.value =
|
|
101
|
+
this.handleInput = (inputEvent) => {
|
|
102
|
+
this.value = inputEvent.target?.value;
|
|
102
103
|
};
|
|
103
104
|
this.handleChange = () => {
|
|
104
105
|
this.fireDecoratorEvent("change");
|
|
@@ -141,9 +142,6 @@ let UDExTextArea = UDExTextArea_1 = class UDExTextArea extends UI5Element {
|
|
|
141
142
|
this.active = false;
|
|
142
143
|
};
|
|
143
144
|
}
|
|
144
|
-
getInputDomRef() {
|
|
145
|
-
return this.getDomRef().querySelector("textarea");
|
|
146
|
-
}
|
|
147
145
|
onBeforeRendering() {
|
|
148
146
|
if (this.value && this.labelActiveClass === "") {
|
|
149
147
|
this.labelActiveClass = this._labelActiveClassName;
|
|
@@ -159,6 +157,9 @@ let UDExTextArea = UDExTextArea_1 = class UDExTextArea extends UI5Element {
|
|
|
159
157
|
this._isTouched = true;
|
|
160
158
|
}
|
|
161
159
|
}
|
|
160
|
+
getInputDomRef() {
|
|
161
|
+
return this.getDomRef().querySelector("textarea");
|
|
162
|
+
}
|
|
162
163
|
get ariaInvalid() {
|
|
163
164
|
return this.valueState === UDExValueState.Error ? "true" : null;
|
|
164
165
|
}
|
|
@@ -278,6 +279,12 @@ UDExTextArea = UDExTextArea_1 = __decorate([
|
|
|
278
279
|
template: TextAreaTemplate,
|
|
279
280
|
dependencies: [UDExStatusMessage],
|
|
280
281
|
})
|
|
282
|
+
/**
|
|
283
|
+
* Fires when the value of the textarea changes and the textarea loses focus.
|
|
284
|
+
* @public
|
|
285
|
+
*/
|
|
286
|
+
,
|
|
287
|
+
event("change", { bubbles: true })
|
|
281
288
|
], UDExTextArea);
|
|
282
289
|
UDExTextArea.define();
|
|
283
290
|
export default UDExTextArea;
|
package/dist/TextArea.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextArea.js","sourceRoot":"","sources":["../src/TextArea.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 { 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 {\n READ_ONLY,\n TEXTAREA_CHARACTERS_LEFT,\n TEXT_FIELD,\n VALUE_STATE_TYPE_ERROR,\n VALUE_STATE_TYPE_STANDARD,\n VALUE_STATE_TYPE_SUCCESS,\n VALUE_STATE_TYPE_WARNING,\n} from \"./generated/i18n/i18n-defaults.js\";\n\nimport \"@ui5/webcomponents/dist/Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/accept.js\";\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\n\nimport UDExStatusMessage from \"./StatusMessage.js\";\nimport UDExValueState from \"./types/common.js\";\nimport TextAreaTemplate from \"./generated/templates/TextAreaTemplate.lit.js\";\n\n// Styles\nimport TextAreaCss from \"./generated/themes/TextArea.css.js\";\nimport getEffectiveScrollbarStyle from \"./utils/getEffectiveScrollbarStyle.js\";\n\n/**\n * @class\n *\n * @constructor\n * @extends UI5Element\n * @tagname udex-text-area\n * @public\n */\n@customElement({\n tag: \"udex-textarea\",\n renderer: litRender,\n styles: [TextAreaCss, getEffectiveScrollbarStyle()],\n template: TextAreaTemplate,\n dependencies: [UDExStatusMessage],\n})\n\nclass UDExTextArea extends UI5Element {\n eventDetails!: {\n \"change\": void,\n };\n\n _labelActiveClassName = \"udex-textarea__label--active\";\n\n /**\n * Defines label text for the textarea field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n label: string = \"\";\n\n /**\n * Defines the value of the component.\n * <br><br>\n * <b>Note:</b> The property is updated upon typing.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n value: string = \"\";\n\n /**\n * Defines the number of visible text lines for the component.\n * <br><br>\n * <b>Notes:</b>\n * <ul>\n * <li>If the <code>growing</code> property is enabled, this property defines the minimum rows to be displayed\n * in the textarea.</li>\n * <li>The CSS <code>height</code> property wins over the <code>rows</code> property, if both are set.</li>\n * </ul>\n *\n * @public\n */\n @property({ type: Number })\n rows!: number;\n\n /**\n * Enables the component to automatically grow and shrink dynamically with its content.\n * <br><br>\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n growing!: boolean;\n\n /**\n * Defines the maximum number of lines that the component can grow.\n *\n * @default 0\n * @public\n */\n @property({ type: Number })\n growingMaxLines: number = 0;\n\n /**\n * Defines supporting text under the input field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n supportingText: string = \"\";\n\n /**\n * Sets the maximum number of characters available in the textarea.\n *\n * @public\n */\n @property({ type: Number })\n maxlength?: number;\n\n /**\n * Defines the value state of the component.\n *\n * @default \"Standard\"\n * @public\n */\n @property()\n valueState: UDExValueState = UDExValueState.Standard;\n\n /**\n * Defines whether the component is required.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n required!: boolean;\n\n /**\n * Defines whether the component is in disabled state.\n * <br><br>\n * <b>Note:</b> A disabled component is completely noninteractive.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n disabled!: boolean;\n\n /**\n * Defines whether the component is read-only.\n * <br><br>\n * <b>Note:</b> A read-only component is not editable,\n * but still provides visual feedback upon user interaction.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n readonly!: boolean;\n\n /**\n * Defines whether the component is display-only.\n * <br><br>\n * <b>Note:</b> A display-only component is not editable,\n * but still provides visual feedback upon user interaction, input border is not visible.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n displayonly!: boolean;\n\n /**\n * Defines the inner stored value of the readonly attribute of the input.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean, noAttribute: true })\n isInputReadonly!: boolean;\n\n /**\n * Defines the inner stored value of the classes of the label.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n labelClasses: string = \"\";\n\n /**\n * Defines the inner stored class of the label.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n labelActiveClass: string = \"\";\n\n /**\n * Defines the accessible ARIA name of the component.\n * @default \"\"\n * @public\n */\n @property()\n accessibleName: string = \"\";\n\n /**\n * Receives id (or many ids) of the elements that label the component.\n * @default \"\"\n * @public\n */\n @property()\n accessibleNameRef: string = \"\";\n\n /**\n * Defines the active (focus)\n * @default false\n * @private\n */\n @property({ type: Boolean })\n active!: boolean;\n /**\n * Defines is it the touch of the textarea (only for mobile devices).\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _isTouched!: boolean;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n getInputDomRef() {\n return this.getDomRef()!.querySelector<HTMLTextAreaElement>(\"textarea\")!;\n }\n\n onBeforeRendering() {\n if (this.value && this.labelActiveClass === \"\") {\n this.labelActiveClass = this._labelActiveClassName;\n }\n\n this.isInputReadonly = this.readonly || this.displayonly;\n\n this.labelClasses = `udex-textarea__label ${this.labelActiveClass}`;\n }\n\n onAfterRendering() {\n this.handleGrowing();\n }\n\n handleInput = (event: InputEvent) => {\n this.value = (event.target as HTMLInputElement)?.value;\n };\n\n handleChange = () => {\n this.fireDecoratorEvent(\"change\");\n };\n\n handleGrowing = () => {\n if (this.growing) {\n const nativeTextArea = this.getInputDomRef();\n\n if (!this.rows) {\n this.rows = 1;\n }\n nativeTextArea.style.height = \"auto\";\n // 2px - to avoid an unnecessary scrollbar, the border needs to be taken into account\n nativeTextArea.style.height = `${nativeTextArea.scrollHeight + 2}px`;\n\n if (this.growingMaxLines) {\n const style = getComputedStyle(nativeTextArea);\n\n const lineHeight = parseInt(style.lineHeight);\n const paddingTop = parseInt(style.paddingTop);\n const paddingBottom = parseInt(style.paddingBottom);\n\n const heightRatio = this.growingMaxLines > this.rows ? this.growingMaxLines : this.rows;\n\n const growingMaxHeight = lineHeight * heightRatio + paddingTop + paddingBottom;\n\n // 2px - to avoid an unnecessary scrollbar, the border needs to be taken into account\n nativeTextArea.style.maxHeight = `${growingMaxHeight + 2}px`;\n }\n }\n };\n\n handleFocus = () => {\n if (!this.disabled && !this.readonly && !this.displayonly) {\n this.active = true;\n this.labelActiveClass = this._labelActiveClassName;\n }\n };\n\n handleClick(): void {\n if (!isDesktop()) {\n this._isTouched = true;\n }\n }\n\n handleBlur = () => {\n this._isTouched = false;\n if (this.value) {\n this.labelActiveClass = this._labelActiveClassName;\n } else {\n this.labelActiveClass = \"\";\n }\n this.active = false;\n };\n\n get ariaInvalid(): string | null {\n return this.valueState === UDExValueState.Error ? \"true\" : null;\n }\n\n get hasValueState(): boolean {\n return this.valueState === UDExValueState.Error || this.valueState === UDExValueState.Warning || this.valueState === UDExValueState.Success;\n }\n\n get valueStateTypeMappings() {\n return {\n [UDExValueState.Success]: UDExTextArea.i18nBundle.getText(VALUE_STATE_TYPE_SUCCESS),\n [UDExValueState.Standard]: UDExTextArea.i18nBundle.getText(VALUE_STATE_TYPE_STANDARD),\n [UDExValueState.Error]: UDExTextArea.i18nBundle.getText(VALUE_STATE_TYPE_ERROR),\n [UDExValueState.Warning]: UDExTextArea.i18nBundle.getText(VALUE_STATE_TYPE_WARNING),\n };\n }\n\n get ariaValueStateHiddenText(): string | undefined {\n if (!this.hasValueState) {\n return;\n }\n\n if (this.valueState === UDExValueState.Standard) {\n return;\n }\n\n return `${this.valueStateTypeMappings[this.valueState]}`;\n }\n\n get readOnlyText(): string {\n return UDExTextArea.i18nBundle.getText(READ_ONLY);\n }\n\n get ariaDescribedBy(): string | undefined {\n const valueStateTextDescId = this.hasValueState ? `${this._id}-valueStateDesc` : \"\";\n const readonlyTextDescId = this.readonly ? `${this._id}-readonlyDesc` : \"\";\n const supportingTextDescId = this._supportingText ? `${this._id}-supportingTextDesc` : \"\";\n if (!valueStateTextDescId && !supportingTextDescId && !readonlyTextDescId) {\n return;\n }\n return `${valueStateTextDescId} ${supportingTextDescId} ${readonlyTextDescId}`;\n }\n\n get _supportingText(): string | undefined {\n if (this.supportingText.length) {\n return this.supportingText;\n }\n\n const maxLength = this.maxlength;\n\n if (maxLength !== null && maxLength !== undefined) {\n const leftCharactersCount = maxLength - this.value.length;\n\n if (leftCharactersCount >= 0) {\n return UDExTextArea.i18nBundle.getText(TEXTAREA_CHARACTERS_LEFT, leftCharactersCount);\n }\n }\n }\n\n get textHiddenLabel(): string {\n return UDExTextArea.i18nBundle.getText(TEXT_FIELD);\n }\n}\n\nUDExTextArea.define();\n\nexport default UDExTextArea;\n"]}
|
|
1
|
+
{"version":3,"file":"TextArea.js","sourceRoot":"","sources":["../src/TextArea.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 { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n READ_ONLY,\n TEXTAREA_CHARACTERS_LEFT,\n TEXT_FIELD,\n VALUE_STATE_TYPE_ERROR,\n VALUE_STATE_TYPE_STANDARD,\n VALUE_STATE_TYPE_SUCCESS,\n VALUE_STATE_TYPE_WARNING,\n} from \"./generated/i18n/i18n-defaults.js\";\n\nimport \"@ui5/webcomponents/dist/Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/accept.js\";\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\n\nimport UDExStatusMessage from \"./StatusMessage.js\";\nimport UDExValueState from \"./types/common.js\";\nimport TextAreaTemplate from \"./generated/templates/TextAreaTemplate.lit.js\";\n\n// Styles\nimport TextAreaCss from \"./generated/themes/TextArea.css.js\";\nimport getEffectiveScrollbarStyle from \"./utils/getEffectiveScrollbarStyle.js\";\n\n/**\n * @class\n *\n * @constructor\n * @extends UI5Element\n * @tagname udex-text-area\n * @public\n */\n@customElement({\n tag: \"udex-textarea\",\n renderer: litRender,\n styles: [TextAreaCss, getEffectiveScrollbarStyle()],\n template: TextAreaTemplate,\n dependencies: [UDExStatusMessage],\n})\n\n/**\n * Fires when the value of the textarea changes and the textarea loses focus.\n * @public\n */\n@event(\"change\", { bubbles: true })\n\nclass UDExTextArea extends UI5Element {\n eventDetails!: {\n \"change\": void,\n };\n\n _labelActiveClassName = \"udex-textarea__label--active\";\n\n /**\n * Defines label text for the textarea field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n label: string = \"\";\n\n /**\n * Defines the value of the component.\n * <br><br>\n * <b>Note:</b> The property is updated upon typing.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n value: string = \"\";\n\n /**\n * Defines the number of visible text lines for the component.\n * <br><br>\n * <b>Notes:</b>\n * <ul>\n * <li>If the <code>growing</code> property is enabled, this property defines the minimum rows to be displayed\n * in the textarea.</li>\n * <li>The CSS <code>height</code> property wins over the <code>rows</code> property, if both are set.</li>\n * </ul>\n *\n * @public\n */\n @property({ type: Number })\n rows!: number;\n\n /**\n * Enables the component to automatically grow and shrink dynamically with its content.\n * <br><br>\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n growing!: boolean;\n\n /**\n * Defines the maximum number of lines that the component can grow.\n *\n * @default 0\n * @public\n */\n @property({ type: Number })\n growingMaxLines: number = 0;\n\n /**\n * Defines supporting text under the input field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n supportingText: string = \"\";\n\n /**\n * Sets the maximum number of characters available in the textarea.\n *\n * @public\n */\n @property({ type: Number })\n maxlength?: number;\n\n /**\n * Defines the value state of the component.\n *\n * @default \"Standard\"\n * @public\n */\n @property()\n valueState: UDExValueState = UDExValueState.Standard;\n\n /**\n * Defines whether the component is required.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n required!: boolean;\n\n /**\n * Defines whether the component is in disabled state.\n * <br><br>\n * <b>Note:</b> A disabled component is completely noninteractive.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n disabled!: boolean;\n\n /**\n * Defines whether the component is read-only.\n * <br><br>\n * <b>Note:</b> A read-only component is not editable,\n * but still provides visual feedback upon user interaction.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n readonly!: boolean;\n\n /**\n * Defines whether the component is display-only.\n * <br><br>\n * <b>Note:</b> A display-only component is not editable,\n * but still provides visual feedback upon user interaction, input border is not visible.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n displayonly!: boolean;\n\n /**\n * Defines the inner stored value of the readonly attribute of the input.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean, noAttribute: true })\n isInputReadonly!: boolean;\n\n /**\n * Defines the inner stored value of the classes of the label.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n labelClasses: string = \"\";\n\n /**\n * Defines the inner stored class of the label.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n labelActiveClass: string = \"\";\n\n /**\n * Defines the accessible ARIA name of the component.\n * @default \"\"\n * @public\n */\n @property()\n accessibleName: string = \"\";\n\n /**\n * Receives id (or many ids) of the elements that label the component.\n * @default \"\"\n * @public\n */\n @property()\n accessibleNameRef: string = \"\";\n\n /**\n * Defines the active (focus)\n * @default false\n * @private\n */\n @property({ type: Boolean })\n active!: boolean;\n /**\n * Defines is it the touch of the textarea (only for mobile devices).\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _isTouched!: boolean;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n onBeforeRendering() {\n if (this.value && this.labelActiveClass === \"\") {\n this.labelActiveClass = this._labelActiveClassName;\n }\n\n this.isInputReadonly = this.readonly || this.displayonly;\n\n this.labelClasses = `udex-textarea__label ${this.labelActiveClass}`;\n }\n\n onAfterRendering() {\n this.handleGrowing();\n }\n\n handleInput = (inputEvent: InputEvent) => {\n this.value = (inputEvent.target as HTMLInputElement)?.value;\n };\n\n handleChange = () => {\n this.fireDecoratorEvent(\"change\");\n };\n\n handleGrowing = () => {\n if (this.growing) {\n const nativeTextArea = this.getInputDomRef();\n\n if (!this.rows) {\n this.rows = 1;\n }\n nativeTextArea.style.height = \"auto\";\n // 2px - to avoid an unnecessary scrollbar, the border needs to be taken into account\n nativeTextArea.style.height = `${nativeTextArea.scrollHeight + 2}px`;\n\n if (this.growingMaxLines) {\n const style = getComputedStyle(nativeTextArea);\n\n const lineHeight = parseInt(style.lineHeight);\n const paddingTop = parseInt(style.paddingTop);\n const paddingBottom = parseInt(style.paddingBottom);\n\n const heightRatio = this.growingMaxLines > this.rows ? this.growingMaxLines : this.rows;\n\n const growingMaxHeight = lineHeight * heightRatio + paddingTop + paddingBottom;\n\n // 2px - to avoid an unnecessary scrollbar, the border needs to be taken into account\n nativeTextArea.style.maxHeight = `${growingMaxHeight + 2}px`;\n }\n }\n };\n\n handleFocus = () => {\n if (!this.disabled && !this.readonly && !this.displayonly) {\n this.active = true;\n this.labelActiveClass = this._labelActiveClassName;\n }\n };\n\n handleClick(): void {\n if (!isDesktop()) {\n this._isTouched = true;\n }\n }\n\n handleBlur = () => {\n this._isTouched = false;\n if (this.value) {\n this.labelActiveClass = this._labelActiveClassName;\n } else {\n this.labelActiveClass = \"\";\n }\n this.active = false;\n };\n\n getInputDomRef(): HTMLTextAreaElement {\n return this.getDomRef()!.querySelector<HTMLTextAreaElement>(\"textarea\")!;\n }\n\n get ariaInvalid(): string | null {\n return this.valueState === UDExValueState.Error ? \"true\" : null;\n }\n\n get hasValueState(): boolean {\n return this.valueState === UDExValueState.Error || this.valueState === UDExValueState.Warning || this.valueState === UDExValueState.Success;\n }\n\n get valueStateTypeMappings(): Record<UDExValueState, string> {\n return {\n [UDExValueState.Success]: UDExTextArea.i18nBundle.getText(VALUE_STATE_TYPE_SUCCESS),\n [UDExValueState.Standard]: UDExTextArea.i18nBundle.getText(VALUE_STATE_TYPE_STANDARD),\n [UDExValueState.Error]: UDExTextArea.i18nBundle.getText(VALUE_STATE_TYPE_ERROR),\n [UDExValueState.Warning]: UDExTextArea.i18nBundle.getText(VALUE_STATE_TYPE_WARNING),\n };\n }\n\n get ariaValueStateHiddenText(): string | undefined {\n if (!this.hasValueState) {\n return;\n }\n\n if (this.valueState === UDExValueState.Standard) {\n return;\n }\n\n return `${this.valueStateTypeMappings[this.valueState]}`;\n }\n\n get readOnlyText(): string {\n return UDExTextArea.i18nBundle.getText(READ_ONLY);\n }\n\n get ariaDescribedBy(): string | undefined {\n const valueStateTextDescId = this.hasValueState ? `${this._id}-valueStateDesc` : \"\";\n const readonlyTextDescId = this.readonly ? `${this._id}-readonlyDesc` : \"\";\n const supportingTextDescId = this._supportingText ? `${this._id}-supportingTextDesc` : \"\";\n if (!valueStateTextDescId && !supportingTextDescId && !readonlyTextDescId) {\n return;\n }\n return `${valueStateTextDescId} ${supportingTextDescId} ${readonlyTextDescId}`;\n }\n\n get _supportingText(): string | undefined {\n if (this.supportingText.length) {\n return this.supportingText;\n }\n\n const maxLength = this.maxlength;\n\n if (maxLength !== null && maxLength !== undefined) {\n const leftCharactersCount = maxLength - this.value.length;\n\n if (leftCharactersCount >= 0) {\n return UDExTextArea.i18nBundle.getText(TEXTAREA_CHARACTERS_LEFT, leftCharactersCount);\n }\n }\n }\n\n get textHiddenLabel(): string {\n return UDExTextArea.i18nBundle.getText(TEXT_FIELD);\n }\n}\n\nUDExTextArea.define();\n\nexport default UDExTextArea;\n"]}
|
package/dist/TextField.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
2
2
|
import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
3
3
|
import UDExValueState from "./types/common.js";
|
|
4
|
-
type AccInfo = {
|
|
4
|
+
export type AccInfo = {
|
|
5
5
|
ariaInvalid?: string;
|
|
6
6
|
ariaDescribedBy?: string;
|
|
7
7
|
ariaLabelledBy?: string;
|
|
@@ -222,10 +222,26 @@ declare class UDExTextField extends UI5Element {
|
|
|
222
222
|
* @private
|
|
223
223
|
*/
|
|
224
224
|
_isTouched: boolean;
|
|
225
|
+
/**
|
|
226
|
+
* Determines Combobox role for the button.
|
|
227
|
+
* @default false
|
|
228
|
+
* @private
|
|
229
|
+
*/
|
|
230
|
+
_isComboboxRole?: boolean;
|
|
225
231
|
static i18nBundle: I18nBundle;
|
|
232
|
+
onBeforeRendering(): void;
|
|
233
|
+
onAfterRendering(): void;
|
|
234
|
+
handleKeydown(e: KeyboardEvent): void;
|
|
235
|
+
handleChange: () => void;
|
|
236
|
+
handleInput: (inputEvent: InputEvent) => void;
|
|
237
|
+
handleClick: () => void;
|
|
238
|
+
handleFocus: () => void;
|
|
239
|
+
handleBlur: () => void;
|
|
240
|
+
handleIconClick(): void;
|
|
241
|
+
get _inputHolder(): HTMLElement;
|
|
226
242
|
get valueStateTypeMappings(): Record<string, string>;
|
|
227
243
|
get hasValueState(): boolean;
|
|
228
|
-
get valueStateText(): string
|
|
244
|
+
get valueStateText(): string;
|
|
229
245
|
get readOnlyStateText(): string;
|
|
230
246
|
get ariaDescribedById(): string;
|
|
231
247
|
get supportingTextId(): string;
|
|
@@ -234,15 +250,8 @@ declare class UDExTextField extends UI5Element {
|
|
|
234
250
|
get accInfo(): AccInfo;
|
|
235
251
|
get inputRole(): string | undefined;
|
|
236
252
|
get isAutoCompleteDisabled(): boolean;
|
|
237
|
-
handleKeydown(e: KeyboardEvent): void;
|
|
238
|
-
handleChange: () => void;
|
|
239
|
-
handleInput: (inputEvent: InputEvent) => void;
|
|
240
|
-
handleClick: () => void;
|
|
241
|
-
handleFocus: () => void;
|
|
242
|
-
handleBlur: () => void;
|
|
243
|
-
handleIconClick(): void;
|
|
244
|
-
onBeforeRendering(): void;
|
|
245
|
-
onAfterRendering(): void;
|
|
246
253
|
get readonlyNotDisabled(): boolean;
|
|
254
|
+
get buttonAccessibleName(): string;
|
|
255
|
+
get buttonAccessibleDescription(): string;
|
|
247
256
|
}
|
|
248
257
|
export default UDExTextField;
|
package/dist/TextField.js
CHANGED
|
@@ -13,6 +13,7 @@ import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
|
|
|
13
13
|
import Icon from "@ui5/webcomponents/dist/Icon.js";
|
|
14
14
|
import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
|
|
15
15
|
import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
|
|
16
|
+
import { getAllAccessibleNameRefTexts } from "@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js";
|
|
16
17
|
import { VALUE_STATE_SUCCESS, VALUE_STATE_INFORMATION, VALUE_STATE_WARNING, VALUE_STATE_ERROR, READ_ONLY, } from "./generated/i18n/i18n-defaults.js";
|
|
17
18
|
import UDExControlButton from "./ControlButton.js";
|
|
18
19
|
import UDExValueState from "./types/common.js";
|
|
@@ -126,6 +127,37 @@ let UDExTextField = UDExTextField_1 = class UDExTextField extends UI5Element {
|
|
|
126
127
|
this._isTouched = false;
|
|
127
128
|
};
|
|
128
129
|
}
|
|
130
|
+
onBeforeRendering() {
|
|
131
|
+
if ((this.value || this.active) && this.labelActiveClass === "") {
|
|
132
|
+
this.labelActiveClass = this._labelActiveClassName;
|
|
133
|
+
}
|
|
134
|
+
else if (!this.active && !this.value && this.labelActiveClass.length) {
|
|
135
|
+
this.labelActiveClass = "";
|
|
136
|
+
}
|
|
137
|
+
this.isInputReadonly = this.readonly || this.displayonly;
|
|
138
|
+
this.labelClasses = `udex-text-field__label ${this.labelActiveClass}`;
|
|
139
|
+
}
|
|
140
|
+
onAfterRendering() {
|
|
141
|
+
const directionStyles = window
|
|
142
|
+
.getComputedStyle(this)
|
|
143
|
+
.getPropertyValue("direction");
|
|
144
|
+
if (!directionStyles) {
|
|
145
|
+
this.direction = "ltr";
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
this.direction = directionStyles;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
handleKeydown(e) {
|
|
152
|
+
e.stopPropagation();
|
|
153
|
+
this.fireDecoratorEvent("keydown", { keyboardEvent: e });
|
|
154
|
+
}
|
|
155
|
+
handleIconClick() {
|
|
156
|
+
this.fireDecoratorEvent("click-icon");
|
|
157
|
+
}
|
|
158
|
+
get _inputHolder() {
|
|
159
|
+
return this.shadowRoot.querySelector(".udex-text-field__wrap");
|
|
160
|
+
}
|
|
129
161
|
get valueStateTypeMappings() {
|
|
130
162
|
return {
|
|
131
163
|
"Success": UDExTextField_1.i18nBundle.getText(VALUE_STATE_SUCCESS),
|
|
@@ -138,7 +170,7 @@ let UDExTextField = UDExTextField_1 = class UDExTextField extends UI5Element {
|
|
|
138
170
|
return this.valueState !== UDExValueState.Standard;
|
|
139
171
|
}
|
|
140
172
|
get valueStateText() {
|
|
141
|
-
return this.valueState !== UDExValueState.Standard ? this.valueStateTypeMappings[this.valueState] :
|
|
173
|
+
return this.valueState !== UDExValueState.Standard ? this.valueStateTypeMappings[this.valueState] : "";
|
|
142
174
|
}
|
|
143
175
|
get readOnlyStateText() {
|
|
144
176
|
return UDExTextField_1.i18nBundle.getText(READ_ONLY);
|
|
@@ -159,8 +191,7 @@ let UDExTextField = UDExTextField_1 = class UDExTextField extends UI5Element {
|
|
|
159
191
|
return {
|
|
160
192
|
"ariaInvalid": this.valueState === UDExValueState.Error ? "true" : undefined,
|
|
161
193
|
"ariaDescribedBy": this.ariaDescribedBy ? this.ariaDescribedBy : this.ariaDescribedById || undefined,
|
|
162
|
-
"
|
|
163
|
-
"ariaLabel": this.accessibleName || undefined,
|
|
194
|
+
"ariaLabel": getAllAccessibleNameRefTexts(this) || this.accessibleName || undefined,
|
|
164
195
|
"ariaHasPopup": this._ariaHasPopup || undefined,
|
|
165
196
|
};
|
|
166
197
|
}
|
|
@@ -170,37 +201,16 @@ let UDExTextField = UDExTextField_1 = class UDExTextField extends UI5Element {
|
|
|
170
201
|
get isAutoCompleteDisabled() {
|
|
171
202
|
return this.autocomplete === "off" || this.autocomplete === "new-password";
|
|
172
203
|
}
|
|
173
|
-
handleKeydown(e) {
|
|
174
|
-
e.stopPropagation();
|
|
175
|
-
this.fireDecoratorEvent("keydown", { keyboardEvent: e });
|
|
176
|
-
}
|
|
177
|
-
handleIconClick() {
|
|
178
|
-
this.fireDecoratorEvent("click-icon");
|
|
179
|
-
}
|
|
180
|
-
onBeforeRendering() {
|
|
181
|
-
if ((this.value || this.active) && this.labelActiveClass === "") {
|
|
182
|
-
this.labelActiveClass = this._labelActiveClassName;
|
|
183
|
-
}
|
|
184
|
-
else if (!this.active && !this.value && this.labelActiveClass.length) {
|
|
185
|
-
this.labelActiveClass = "";
|
|
186
|
-
}
|
|
187
|
-
this.isInputReadonly = this.readonly || this.displayonly;
|
|
188
|
-
this.labelClasses = `udex-text-field__label ${this.labelActiveClass}`;
|
|
189
|
-
}
|
|
190
|
-
onAfterRendering() {
|
|
191
|
-
const directionStyles = window
|
|
192
|
-
.getComputedStyle(this)
|
|
193
|
-
.getPropertyValue("direction");
|
|
194
|
-
if (!directionStyles) {
|
|
195
|
-
this.direction = "ltr";
|
|
196
|
-
}
|
|
197
|
-
else {
|
|
198
|
-
this.direction = directionStyles;
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
204
|
get readonlyNotDisabled() {
|
|
202
205
|
return this.isInputReadonly && !this.disabled;
|
|
203
206
|
}
|
|
207
|
+
get buttonAccessibleName() {
|
|
208
|
+
return this._isComboboxRole ? this.label : this.accessibleIconName || this.icon;
|
|
209
|
+
}
|
|
210
|
+
get buttonAccessibleDescription() {
|
|
211
|
+
const label = this._isComboboxRole ? this.value : "";
|
|
212
|
+
return `${label} ${this.supportingText || ""} ${this.valueStateText}`;
|
|
213
|
+
}
|
|
204
214
|
};
|
|
205
215
|
__decorate([
|
|
206
216
|
property({ type: Boolean })
|
|
@@ -286,6 +296,9 @@ __decorate([
|
|
|
286
296
|
__decorate([
|
|
287
297
|
property({ type: Boolean })
|
|
288
298
|
], UDExTextField.prototype, "_isTouched", void 0);
|
|
299
|
+
__decorate([
|
|
300
|
+
property({ type: Boolean })
|
|
301
|
+
], UDExTextField.prototype, "_isComboboxRole", void 0);
|
|
289
302
|
__decorate([
|
|
290
303
|
i18n("@sapudex/web-components")
|
|
291
304
|
], UDExTextField, "i18nBundle", void 0);
|
package/dist/TextField.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextField.js","sourceRoot":"","sources":["../src/TextField.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 event from \"@ui5/webcomponents-base/dist/decorators/event-strict.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 {\n VALUE_STATE_SUCCESS,\n VALUE_STATE_INFORMATION,\n VALUE_STATE_WARNING,\n VALUE_STATE_ERROR,\n READ_ONLY,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport UDExControlButton from \"./ControlButton.js\";\nimport UDExValueState from \"./types/common.js\";\nimport UDExStatusMessage from \"./StatusMessage.js\";\n\n// Template\nimport TextFieldTemplate from \"./generated/templates/TextFieldTemplate.lit.js\";\n\n// Styles\nimport TextFieldCss from \"./generated/themes/TextField.css.js\";\n\ntype AccInfo = {\n ariaInvalid?: string;\n ariaDescribedBy?: string;\n ariaLabelledBy?: string;\n ariaLabel?: string;\n ariaHasPopup?: string,\n}\n\nexport type UDExTextFieldKeydownEventDetail = {\n keyboardEvent: KeyboardEvent;\n}\n\n/**\n * @class\n *\n * @constructor\n * @extends UI5Element\n * @tagname udex-text-field\n * @public\n */\n@customElement({\n tag: \"udex-text-field\",\n renderer: litRender,\n styles: TextFieldCss,\n template: TextFieldTemplate,\n dependencies: [UDExControlButton, Icon, UDExStatusMessage],\n})\n\n/**\n * Fired when the value of the component changes at each keystroke.\n *\n * @public\n */\n@event(\"input\", { bubbles: true })\n/**\n * Fired when the input operation has finished by pressing Enter or on focusout.\n *\n * @public\n */\n@event(\"change\", { bubbles: true })\n/**\n * Fired event when the user clicks the icon.\n *\n * @private\n */\n@event(\"click-icon\", { bubbles: true })\n\n/**\n * Fired event when the key is pressed in the input.\n *\n * @private\n */\n@event(\"keydown\", { bubbles: true })\nclass UDExTextField extends UI5Element {\n eventDetails!: {\n \"keydown\": UDExTextFieldKeydownEventDetail,\n \"input\": void,\n \"change\": void,\n \"click-icon\": void,\n };\n _labelActiveClassName = \"udex-text-field__label_active\";\n\n /**\n * Defines whether the component is in disabled state.\n * <br><br>\n * <b>Note:</b> A disabled component is completely noninteractive.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n disabled!: boolean;\n\n /**\n * Defines the value of the component.\n * <br><br>\n * <b>Note:</b> The property is updated upon typing.\n *\n * @default \"\"\n * @formEvents input\n * @formProperty\n * @public\n */\n @property({ type: String })\n value: string = \"\";\n\n /**\n * Sets the maximum number of characters available in the input field.\n * <br><br>\n * <b>Note:</b> This property is not compatible with the ui5-input type InputType.Number. If the ui5-input type is set to Number, the maxlength value is ignored.\n *\n * @public\n */\n @property({ type: Number })\n maxlength?: number;\n\n /**\n * Defines label text for the input field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n label!: string;\n\n /**\n * Defines the accessible ARIA name of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n accessibleName!: string;\n\n /**\n * Receives id (or many ids) of the elements that label the component.\n * @default \"\"\n * @public\n */\n @property()\n accessibleNameRef: string = \"\";\n\n /**\n * Defines the accessible ARIA name of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n accessibleIconName: string = \"\";\n\n /**\n * Defines whether the component is read-only.\n * <br><br>\n * <b>Note:</b> A read-only component is not editable,\n * but still provides visual feedback upon user interaction.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n readonly!: boolean;\n\n /**\n * Defines whether the component is display-only.\n * <br><br>\n * <b>Note:</b> A display-only component is not editable,\n * but still provides visual feedback upon user interaction, input border is not visible.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n displayonly!: boolean;\n\n /**\n * Defines whether the component is required.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n required!: boolean;\n\n /**\n * Defines the value state of the component.\n *\n * @default \"Standard\"\n * @public\n */\n @property()\n valueState: `${UDExValueState}` = UDExValueState.Standard;\n\n /**\n * Defines supporting text under the input field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n supportingText!: string;\n\n /**\n * Defines the icon name in the text-field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n icon!: string;\n\n /**\n * Defines if the text-field is active\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n active!: boolean;\n\n /**\n * Defines if dropdown associated with text-field trigger has opened dropdown. It indicates active state of control button.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n iconActive!: boolean;\n\n /**\n * Defines the behaviour of autocomplete.\n * @default \"off\"\n * @public\n */\n @property({ type: String })\n autocomplete: string = \"off\";\n\n /**\n * Defines the inner stored show password button tooltip.\n *\n * @default \"\"\n * @private\n */\n\n @property({ type: String })\n showButtonTooltip: string = \"\";\n\n /**\n * Defines the inner stored class of the label.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n labelActiveClass: string = \"\";\n\n /**\n * Defines the inner stored value of the readonly attribute of the input.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean, noAttribute: true })\n isInputReadonly!: boolean;\n\n /**\n * Defines the inner stored value of the classes of the label.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n labelClasses: string = \"\";\n\n /**\n * Defines the inner stored value of the classes of the label.\n *\n * @default \"text\"\n * @private\n */\n @property({ type: String })\n type: \"Text\" | \"Email\" | \"Number\" | \"Password\" | \"Tel\" | \"URL\" | \"Search\" = \"Text\";\n\n /**\n * Defines direction of the input.\n *\n * @public\n */\n @property({ type: String, noAttribute: true })\n direction?: string;\n\n /**\n * Defines the max value for the \"number\" type of the input.\n */\n @property({ type: Number })\n max?: number;\n\n /**\n * Defines the min value for the \"number\" type of the input.\n */\n @property({ type: Number })\n min?: number;\n\n /**\n * Defines the step for the \"number\" type of the input.\n * @default undefined\n */\n @property({ type: Number })\n step?: number;\n\n /**\n * Allows setting the aria-describedby property on the internal input node.\n *\n * @default \"\"\n * @public\n */\n @property()\n ariaDescribedBy?: string;\n\n /**\n * Defines the aria-has-popup attribute of the input.\n * @private\n */\n @property({ type: String })\n _ariaHasPopup?: string;\n\n /**\n * Defines is it the touch of the input field (only for mobile devices).\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _isTouched!: boolean;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n get valueStateTypeMappings(): Record<string, string> {\n return {\n \"Success\": UDExTextField.i18nBundle.getText(VALUE_STATE_SUCCESS),\n \"Standard\": UDExTextField.i18nBundle.getText(VALUE_STATE_INFORMATION),\n \"Error\": UDExTextField.i18nBundle.getText(VALUE_STATE_ERROR),\n \"Warning\": UDExTextField.i18nBundle.getText(VALUE_STATE_WARNING),\n };\n }\n\n get hasValueState(): boolean {\n return this.valueState !== UDExValueState.Standard;\n }\n\n get valueStateText(): string | undefined {\n return this.valueState !== UDExValueState.Standard ? this.valueStateTypeMappings[this.valueState] : undefined;\n }\n\n get readOnlyStateText(): string {\n return UDExTextField.i18nBundle.getText(READ_ONLY);\n }\n\n get ariaDescribedById(): string {\n return `${this.supportingTextId} ${this.valueStateTextId} ${this.readOnlyStateTextId}`.trim();\n }\n\n get supportingTextId(): string {\n return this.supportingText ? `${this._id}-supportingTextDesc` : \"\";\n }\n\n get valueStateTextId(): string {\n return this.hasValueState ? `${this._id}-valueStateDesc` : \"\";\n }\n\n get readOnlyStateTextId(): string {\n return this.readonly ? `${this._id}-stateReadOnlyDesc` : \"\";\n }\n\n get accInfo(): AccInfo {\n return {\n \"ariaInvalid\": this.valueState === UDExValueState.Error ? \"true\" : undefined,\n \"ariaDescribedBy\": this.ariaDescribedBy ? this.ariaDescribedBy : this.ariaDescribedById || undefined,\n \"ariaLabelledBy\": this.accessibleNameRef || undefined,\n \"ariaLabel\": this.accessibleName || undefined,\n \"ariaHasPopup\": this._ariaHasPopup || undefined,\n };\n }\n\n get inputRole(): string | undefined {\n return this.isAutoCompleteDisabled ? \"presentation\" : undefined;\n }\n\n get isAutoCompleteDisabled(): boolean {\n return this.autocomplete === \"off\" || this.autocomplete === \"new-password\";\n }\n\n handleKeydown(e: KeyboardEvent): void {\n e.stopPropagation();\n this.fireDecoratorEvent(\"keydown\", { keyboardEvent: e });\n }\n\n handleChange = (): void => {\n this.fireDecoratorEvent(\"change\");\n };\n\n handleInput = (inputEvent: InputEvent) => {\n this.value = (inputEvent.target as HTMLInputElement)?.value;\n };\n\n handleClick = (): void => {\n if (!isDesktop()) {\n this._isTouched = true;\n }\n };\n\n handleFocus = (): void => {\n if (!this.disabled && !this.readonly && !this.displayonly) {\n this.labelActiveClass = this._labelActiveClassName;\n this.active = true;\n }\n };\n\n handleBlur = (): void => {\n this.active = false;\n\n if (this.value) {\n this.labelActiveClass = this._labelActiveClassName;\n } else {\n this.labelActiveClass = \"\";\n }\n this._isTouched = false;\n };\n\n handleIconClick(): void {\n this.fireDecoratorEvent(\"click-icon\");\n }\n\n onBeforeRendering(): void {\n if ((this.value || this.active) && this.labelActiveClass === \"\") {\n this.labelActiveClass = this._labelActiveClassName;\n } else if (!this.active && !this.value && this.labelActiveClass.length) {\n this.labelActiveClass = \"\";\n }\n\n this.isInputReadonly = this.readonly || this.displayonly;\n\n this.labelClasses = `udex-text-field__label ${this.labelActiveClass}`;\n }\n\n onAfterRendering(): void {\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 get readonlyNotDisabled(): boolean {\n return this.isInputReadonly && !this.disabled;\n }\n}\n\nUDExTextField.define();\n\nexport default UDExTextField;\n"]}
|
|
1
|
+
{"version":3,"file":"TextField.js","sourceRoot":"","sources":["../src/TextField.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 event from \"@ui5/webcomponents-base/dist/decorators/event-strict.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 { getAllAccessibleNameRefTexts } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport {\n VALUE_STATE_SUCCESS,\n VALUE_STATE_INFORMATION,\n VALUE_STATE_WARNING,\n VALUE_STATE_ERROR,\n READ_ONLY,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport UDExControlButton from \"./ControlButton.js\";\nimport UDExValueState from \"./types/common.js\";\nimport UDExStatusMessage from \"./StatusMessage.js\";\n\n// Template\nimport TextFieldTemplate from \"./generated/templates/TextFieldTemplate.lit.js\";\n\n// Styles\nimport TextFieldCss from \"./generated/themes/TextField.css.js\";\n\nexport type AccInfo = {\n ariaInvalid?: string;\n ariaDescribedBy?: string;\n ariaLabelledBy?: string;\n ariaLabel?: string;\n ariaHasPopup?: string,\n}\n\nexport type UDExTextFieldKeydownEventDetail = {\n keyboardEvent: KeyboardEvent;\n}\n\n/**\n * @class\n *\n * @constructor\n * @extends UI5Element\n * @tagname udex-text-field\n * @public\n */\n@customElement({\n tag: \"udex-text-field\",\n renderer: litRender,\n styles: TextFieldCss,\n template: TextFieldTemplate,\n dependencies: [UDExControlButton, Icon, UDExStatusMessage],\n})\n\n/**\n * Fired when the value of the component changes at each keystroke.\n *\n * @public\n */\n@event(\"input\", { bubbles: true })\n/**\n * Fired when the input operation has finished by pressing Enter or on focusout.\n *\n * @public\n */\n@event(\"change\", { bubbles: true })\n/**\n * Fired event when the user clicks the icon.\n *\n * @private\n */\n@event(\"click-icon\", { bubbles: true })\n\n/**\n * Fired event when the key is pressed in the input.\n *\n * @private\n */\n@event(\"keydown\", { bubbles: true })\nclass UDExTextField extends UI5Element {\n eventDetails!: {\n \"keydown\": UDExTextFieldKeydownEventDetail,\n \"input\": void,\n \"change\": void,\n \"click-icon\": void,\n };\n _labelActiveClassName = \"udex-text-field__label_active\";\n\n /**\n * Defines whether the component is in disabled state.\n * <br><br>\n * <b>Note:</b> A disabled component is completely noninteractive.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n disabled!: boolean;\n\n /**\n * Defines the value of the component.\n * <br><br>\n * <b>Note:</b> The property is updated upon typing.\n *\n * @default \"\"\n * @formEvents input\n * @formProperty\n * @public\n */\n @property({ type: String })\n value: string = \"\";\n\n /**\n * Sets the maximum number of characters available in the input field.\n * <br><br>\n * <b>Note:</b> This property is not compatible with the ui5-input type InputType.Number. If the ui5-input type is set to Number, the maxlength value is ignored.\n *\n * @public\n */\n @property({ type: Number })\n maxlength?: number;\n\n /**\n * Defines label text for the input field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n label!: string;\n\n /**\n * Defines the accessible ARIA name of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n accessibleName!: string;\n\n /**\n * Receives id (or many ids) of the elements that label the component.\n * @default \"\"\n * @public\n */\n @property()\n accessibleNameRef: string = \"\";\n\n /**\n * Defines the accessible ARIA name of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n accessibleIconName: string = \"\";\n\n /**\n * Defines whether the component is read-only.\n * <br><br>\n * <b>Note:</b> A read-only component is not editable,\n * but still provides visual feedback upon user interaction.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n readonly!: boolean;\n\n /**\n * Defines whether the component is display-only.\n * <br><br>\n * <b>Note:</b> A display-only component is not editable,\n * but still provides visual feedback upon user interaction, input border is not visible.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n displayonly!: boolean;\n\n /**\n * Defines whether the component is required.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n required!: boolean;\n\n /**\n * Defines the value state of the component.\n *\n * @default \"Standard\"\n * @public\n */\n @property()\n valueState: `${UDExValueState}` = UDExValueState.Standard;\n\n /**\n * Defines supporting text under the input field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n supportingText!: string;\n\n /**\n * Defines the icon name in the text-field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n icon!: string;\n\n /**\n * Defines if the text-field is active\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n active!: boolean;\n\n /**\n * Defines if dropdown associated with text-field trigger has opened dropdown. It indicates active state of control button.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n iconActive!: boolean;\n\n /**\n * Defines the behaviour of autocomplete.\n * @default \"off\"\n * @public\n */\n @property({ type: String })\n autocomplete: string = \"off\";\n\n /**\n * Defines the inner stored show password button tooltip.\n *\n * @default \"\"\n * @private\n */\n\n @property({ type: String })\n showButtonTooltip: string = \"\";\n\n /**\n * Defines the inner stored class of the label.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n labelActiveClass: string = \"\";\n\n /**\n * Defines the inner stored value of the readonly attribute of the input.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean, noAttribute: true })\n isInputReadonly!: boolean;\n\n /**\n * Defines the inner stored value of the classes of the label.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n labelClasses: string = \"\";\n\n /**\n * Defines the inner stored value of the classes of the label.\n *\n * @default \"text\"\n * @private\n */\n @property({ type: String })\n type: \"Text\" | \"Email\" | \"Number\" | \"Password\" | \"Tel\" | \"URL\" | \"Search\" = \"Text\";\n\n /**\n * Defines direction of the input.\n *\n * @public\n */\n @property({ type: String, noAttribute: true })\n direction?: string;\n\n /**\n * Defines the max value for the \"number\" type of the input.\n */\n @property({ type: Number })\n max?: number;\n\n /**\n * Defines the min value for the \"number\" type of the input.\n */\n @property({ type: Number })\n min?: number;\n\n /**\n * Defines the step for the \"number\" type of the input.\n * @default undefined\n */\n @property({ type: Number })\n step?: number;\n\n /**\n * Allows setting the aria-describedby property on the internal input node.\n *\n * @default \"\"\n * @public\n */\n @property()\n ariaDescribedBy?: string;\n\n /**\n * Defines the aria-has-popup attribute of the input.\n * @private\n */\n @property({ type: String })\n _ariaHasPopup?: string;\n\n /**\n * Defines is it the touch of the input field (only for mobile devices).\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _isTouched!: boolean;\n\n /**\n * Determines Combobox role for the button.\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _isComboboxRole?: boolean;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n onBeforeRendering(): void {\n if ((this.value || this.active) && this.labelActiveClass === \"\") {\n this.labelActiveClass = this._labelActiveClassName;\n } else if (!this.active && !this.value && this.labelActiveClass.length) {\n this.labelActiveClass = \"\";\n }\n\n this.isInputReadonly = this.readonly || this.displayonly;\n\n this.labelClasses = `udex-text-field__label ${this.labelActiveClass}`;\n }\n\n onAfterRendering(): void {\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 handleKeydown(e: KeyboardEvent): void {\n e.stopPropagation();\n this.fireDecoratorEvent(\"keydown\", { keyboardEvent: e });\n }\n\n handleChange = (): void => {\n this.fireDecoratorEvent(\"change\");\n };\n\n handleInput = (inputEvent: InputEvent) => {\n this.value = (inputEvent.target as HTMLInputElement)?.value;\n };\n\n handleClick = (): void => {\n if (!isDesktop()) {\n this._isTouched = true;\n }\n };\n\n handleFocus = (): void => {\n if (!this.disabled && !this.readonly && !this.displayonly) {\n this.labelActiveClass = this._labelActiveClassName;\n this.active = true;\n }\n };\n\n handleBlur = (): void => {\n this.active = false;\n\n if (this.value) {\n this.labelActiveClass = this._labelActiveClassName;\n } else {\n this.labelActiveClass = \"\";\n }\n this._isTouched = false;\n };\n\n handleIconClick(): void {\n this.fireDecoratorEvent(\"click-icon\");\n }\n\n get _inputHolder(): HTMLElement {\n return this.shadowRoot!.querySelector<HTMLElement>(\".udex-text-field__wrap\")!;\n }\n\n get valueStateTypeMappings(): Record<string, string> {\n return {\n \"Success\": UDExTextField.i18nBundle.getText(VALUE_STATE_SUCCESS),\n \"Standard\": UDExTextField.i18nBundle.getText(VALUE_STATE_INFORMATION),\n \"Error\": UDExTextField.i18nBundle.getText(VALUE_STATE_ERROR),\n \"Warning\": UDExTextField.i18nBundle.getText(VALUE_STATE_WARNING),\n };\n }\n\n get hasValueState(): boolean {\n return this.valueState !== UDExValueState.Standard;\n }\n\n get valueStateText(): string {\n return this.valueState !== UDExValueState.Standard ? this.valueStateTypeMappings[this.valueState] : \"\";\n }\n\n get readOnlyStateText(): string {\n return UDExTextField.i18nBundle.getText(READ_ONLY);\n }\n\n get ariaDescribedById(): string {\n return `${this.supportingTextId} ${this.valueStateTextId} ${this.readOnlyStateTextId}`.trim();\n }\n\n get supportingTextId(): string {\n return this.supportingText ? `${this._id}-supportingTextDesc` : \"\";\n }\n\n get valueStateTextId(): string {\n return this.hasValueState ? `${this._id}-valueStateDesc` : \"\";\n }\n\n get readOnlyStateTextId(): string {\n return this.readonly ? `${this._id}-stateReadOnlyDesc` : \"\";\n }\n\n get accInfo(): AccInfo {\n return {\n \"ariaInvalid\": this.valueState === UDExValueState.Error ? \"true\" : undefined,\n \"ariaDescribedBy\": this.ariaDescribedBy ? this.ariaDescribedBy : this.ariaDescribedById || undefined,\n \"ariaLabel\": getAllAccessibleNameRefTexts(this) || this.accessibleName || undefined,\n \"ariaHasPopup\": this._ariaHasPopup || undefined,\n };\n }\n\n get inputRole(): string | undefined {\n return this.isAutoCompleteDisabled ? \"presentation\" : undefined;\n }\n\n get isAutoCompleteDisabled(): boolean {\n return this.autocomplete === \"off\" || this.autocomplete === \"new-password\";\n }\n\n get readonlyNotDisabled(): boolean {\n return this.isInputReadonly && !this.disabled;\n }\n\n get buttonAccessibleName(): string {\n return this._isComboboxRole ? this.label : this.accessibleIconName || this.icon;\n }\n\n get buttonAccessibleDescription(): string {\n const label = this._isComboboxRole ? this.value : \"\";\n return `${label} ${this.supportingText || \"\"} ${this.valueStateText}`;\n }\n}\n\nUDExTextField.define();\n\nexport default UDExTextField;\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as w,j as l,a as c,p as x,d as P,b as R,s as p,m as v,u as S,v as y,w as O,x as L,D,c as A,z as G,F as H,B as I,I as b,A as f,R as E,C as V,G as $,H as N,J as B,K as F}from"./bundle.esm-
|
|
1
|
+
import{r as w,j as l,a as c,p as x,d as P,b as R,s as p,m as v,u as S,v as y,w as O,x as L,D,c as A,z as G,F as H,B as I,I as b,A as f,R as E,C as V,G as $,H as N,J as B,K as F}from"./bundle.esm-ZNiP-jPI.js";const z=n=>n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");function _(n,e,t,s){return n.replaceAll(new RegExp(z(e),`${s?"i":""}g`),t)}function M(n,e){if(!n||!e)return n;const t=r=>{const[a,d]=r.split("");for(;n.indexOf(r)>=0||e.indexOf(r)>=0;)r=`${a}${r}${d}`;return r},s=t("12"),i=t("34");let o=w(_(n,e,r=>`${s}${r}${i}`,!0));return[[s,"<b>"],[i,"</b>"]].forEach(([r,a])=>{o=_(o,r,a,!1)}),o}function q(n,e){const t=(n==null?void 0:n.listItemContent)||U;return l("li",{part:"native-li","data-sap-focus-ref":!0,tabindex:this._effectiveTabIndex,class:this.classes.main,draggable:this.movable,role:e==null?void 0:e.role,title:e==null?void 0:e.title,onFocusIn:this._onfocusin,onKeyUp:this._onkeyup,onKeyDown:this._onkeydown,onClick:this._onclick,children:t.call(this)})}function U(){return l("div",{part:"content",id:`${this._id}-content`,class:"ui5-li-content",children:l("div",{class:"ui5-li-text-wrapper",children:l("span",{part:"title",class:"ui5-li-title",children:l("slot",{})})})})}function K(){return[q.call(this,{listItemContent:W},{role:"option"})]}function W(){return l("div",{part:"content",id:"content",class:"ui5-li-content",children:c("div",{class:"ui5-li-text-wrapper",children:[l("span",{part:"title",className:"ui5-li-title",dangerouslySetInnerHTML:{__html:this.markupText}}),this.additionalText&&l("span",{part:"additional-text",class:"ui5-li-additional-text",children:this.additionalText})]})})}x("@ui5/webcomponents-theming","sap_horizon",async()=>P);x("@ui5/webcomponents","sap_horizon",async()=>R);const J=`:host([ui5-suggestion-item]){height:auto;min-height:var(--_ui5-v2-14-0_list_item_base_height)}:host([ui5-suggestion-item]) .ui5-li-root{min-height:var(--_ui5-v2-14-0_list_item_base_height)}:host([ui5-suggestion-item]) .ui5-li-content{padding-bottom:.5rem;padding-top:.5rem;box-sizing:border-box}
|
|
2
2
|
`;var g=function(n,e,t,s){var i=arguments.length,o=i<3?e:s===null?s=Object.getOwnPropertyDescriptor(e,t):s,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,s);else for(var a=n.length-1;a>=0;a--)(r=n[a])&&(o=(i<3?r(o):i>3?r(e,t,o):r(e,t))||o);return i>3&&o&&Object.defineProperty(e,t,o),o};let h=class extends S{constructor(){super(...arguments),this.markupText=""}onEnterDOM(){y()&&this.setAttribute("desktop","")}get _effectiveTabIndex(){return-1}};g([p()],h.prototype,"text",void 0);g([p()],h.prototype,"additionalText",void 0);g([p()],h.prototype,"markupText",void 0);h=g([v({tag:"ui5-suggestion-item",template:K,styles:[S.styles,J]})],h);h.define();function X(n){const e=(n==null?void 0:n.items)||j;return c("ul",{role:"group",class:"ui5-group-li-root",onDragEnter:this._ondragenter,onDragOver:this._ondragover,onDrop:this._ondrop,onDragLeave:this._ondragleave,children:[this.hasHeader&&l(L,{focused:this.focused,part:"header",accessibleRole:O.Group,children:this.hasFormattedHeader?l("slot",{name:"header"}):this.headerText}),e.call(this),l(D,{orientation:"Horizontal",ownerReference:this})]})}function j(){return l("slot",{})}var T=function(n,e,t,s){var i=arguments.length,o=i<3?e:s===null?s=Object.getOwnPropertyDescriptor(e,t):s,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,s);else for(var a=n.length-1;a>=0;a--)(r=n[a])&&(o=(i<3?r(o):i>3?r(e,t,o):r(e,t))||o);return i>3&&o&&Object.defineProperty(e,t,o),o};let m=class extends G{};T([A({default:!0,invalidateOnChildChange:!0,type:HTMLElement})],m.prototype,"items",void 0);m=T([v({tag:"ui5-suggestion-item-group",template:X})],m);m.define();function Q(n){const e=(n==null?void 0:n.suggestionsList)||Y,t=n==null?void 0:n.valueStateMessage,s=n==null?void 0:n.valueStateMessageInputIcon;return c(E,{class:this.classes.popover,hideArrow:!0,preventFocusRestore:!0,preventInitialFocus:!0,placement:"Bottom",horizontalAlign:"Start",tabindex:-1,style:this.styles.suggestionsPopover,onOpen:this._afterOpenPicker,onClose:this._afterClosePicker,onScroll:this._scroll,open:this.open,opener:this,accessibleName:this._popupLabel,children:[this._isPhone&&c(H,{children:[c("div",{slot:"header",class:"ui5-responsive-popover-header",children:[c("div",{class:"row",children:[l("span",{children:this._headerTitleText}),l(I,{class:"ui5-responsive-popover-close-btn",icon:N,design:"Transparent",onClick:this._closePicker})]}),l("div",{class:"row",children:l("div",{class:"input-root-phone native-input-wrapper",children:l(b,{class:"ui5-input-inner-phone",type:this.inputType,value:this.value,showClearIcon:this.showClearIcon,placeholder:this.placeholder,onInput:this._handleInput,onChange:this._handleChange})})})]}),this.hasValueStateMessage&&c("div",{class:this.classes.popoverValueState,style:this.styles.suggestionPopoverHeader,children:[l(f,{class:"ui5-input-value-state-message-icon",name:s==null?void 0:s.call(this)}),this.open&&(t==null?void 0:t.call(this))]})]}),!this._isPhone&&this.hasValueStateMessage&&c("div",{slot:"header",class:{"ui5-responsive-popover-header":!0,...this.classes.popoverValueState},style:this.styles.suggestionPopoverHeader,children:[l(f,{class:"ui5-input-value-state-message-icon",name:s==null?void 0:s.call(this)}),this.open&&(t==null?void 0:t.call(this))]}),e.call(this),this._isPhone&&l("div",{slot:"footer",class:"ui5-responsive-popover-footer",children:l(I,{design:"Transparent",onClick:this._closePicker,children:this._suggestionsOkButtonText})})]})}function Y(){return l($,{accessibleRole:V.ListBox,separators:this.suggestionSeparators,selectionMode:"Single",onMouseDown:this.onItemMouseDown,onItemClick:this._handleSuggestionItemPress,onSelectionChange:this._handleSelectionChange,children:l("slot",{})})}class u{get template(){return Q}constructor(e,t,s,i){this.component=e,this.slotName=t,this.handleFocus=i,this.highlight=s,this.selectedItemIndex=-1}onUp(e,t){e.preventDefault();const s=!this.isOpened&&this._hasValueState&&t===-1?0:t;return this._handleItemNavigation(!1,s),!0}onDown(e,t){e.preventDefault();const s=!this.isOpened&&this._hasValueState&&t===-1?0:t;return this._handleItemNavigation(!0,s),!0}onSpace(e){return this._isItemOnTarget()?(e.preventDefault(),this.onItemSelected(this._selectedItem,!0),!0):!1}onEnter(e){return this._isGroupItem?(e.preventDefault(),!1):this._isItemOnTarget()?(this.onItemSelected(this._selectedItem,!0),!0):!1}onPageUp(e){e.preventDefault();const t=this.selectedItemIndex-10>-1;return this._moveItemSelection(this.selectedItemIndex,t?this.selectedItemIndex-=10:this.selectedItemIndex=0),!0}onPageDown(e){e.preventDefault();const t=this._getItems();if(!t)return!0;const s=t.length-1,i=this.selectedItemIndex+10<=s;return this._moveItemSelection(this.selectedItemIndex,i?this.selectedItemIndex+=10:this.selectedItemIndex=s),!0}onHome(e){return e.preventDefault(),this._moveItemSelection(this.selectedItemIndex,this.selectedItemIndex=0),!0}onEnd(e){e.preventDefault();const t=this._getItems().length-1;return t&&this._moveItemSelection(this.selectedItemIndex,this.selectedItemIndex=t),!0}onTab(){return this._isItemOnTarget()?(this.onItemSelected(this._selectedItem,!0),!0):!1}toggle(e,t){(e!==void 0?e:!this.isOpened())?this._getComponent().open=!0:this.close(t.preventFocusRestore)}get _selectedItem(){return this._getNonGroupItems().find(e=>e.selected)}_isScrollable(){const e=this._getScrollContainer();return e.offsetHeight<e.scrollHeight}close(e=!1){const t=this._getItems()&&this._getItems()[this.selectedItemIndex];this._getComponent().open=!1;const s=this._getPicker();s.preventFocusRestore=e,s.open=!1,t&&t.focused&&(t.focused=!1)}updateSelectedItemPosition(e){this.selectedItemIndex=e}onItemSelected(e,t){const s=e,i=this._getNonGroupItems();s&&(this.accInfo={isGroup:s.hasAttribute("ui5-suggestion-item-group"),currentPos:i.indexOf(s)+1,listSize:i.length,itemText:s.text||"",additionalText:s.additionalText},this._getComponent().onItemSelected(s,t),this._getComponent().open=!1)}onItemSelect(e){this._getComponent().onItemSelect(e)}onItemPress(e){let t;const s=e.type==="ui5-item-click";s&&!e.detail.item.selected||this._handledPress&&!s||(s&&e.detail.item.selected?(t=e.detail.item,this._handledPress=!0):t=e.detail.selectedItems[0],this.onItemSelected(t,!1))}_onClose(){this._handledPress=!1}_isItemOnTarget(){return this.isOpened()&&this.selectedItemIndex!==null&&this.selectedItemIndex!==-1&&!this._isGroupItem}get _isGroupItem(){const e=this._getItems();return!e||!e[this.selectedItemIndex]?!1:e[this.selectedItemIndex].hasAttribute("ui5-suggestion-item-group")}isOpened(){var e;return!!((e=this._getPicker())!=null&&e.open)}_handleItemNavigation(e,t){this.selectedItemIndex=t,this._getItems().length&&(e?this._selectNextItem():this._selectPreviousItem())}_selectNextItem(){const e=this._getItems().length,t=this.selectedItemIndex;t!==-1&&t+1>e-1||this._moveItemSelection(t,++this.selectedItemIndex)}_selectPreviousItem(){const e=this._getItems(),t=this.selectedItemIndex;if(!(t===-1||t===null)){if(t-1<0){(e[t].hasAttribute("ui5-suggestion-item")||e[t].hasAttribute("ui5-suggestion-item-custom"))&&(e[t].selected=!1),e[t].focused=!1,this.component.focused=!0,this.component.hasSuggestionItemSelected=!1,this.selectedItemIndex-=1;return}this._moveItemSelection(t,--this.selectedItemIndex)}}_moveItemSelection(e,t){const s=this._getItems(),i=s[t],o=s[e],r=this._getNonGroupItems(),a=i.hasAttribute("ui5-suggestion-item-group");if(!i)return;this.component.focused=!1;const d=this._getItems()[this.selectedItemIndex];if(this.accInfo={isGroup:a,currentPos:s.indexOf(i)+1,itemText:(a?d.headerText:d.text)||""},(i.hasAttribute("ui5-suggestion-item")||i.hasAttribute("ui5-suggestion-item-custom"))&&(this.accInfo.additionalText=i.additionalText||"",this.accInfo.currentPos=r.indexOf(i)+1,this.accInfo.listSize=r.length),o&&(o.focused=!1),(o!=null&&o.hasAttribute("ui5-suggestion-item")||o!=null&&o.hasAttribute("ui5-suggestion-item-custom"))&&(o.selected=!1),i&&(i.focused=!0,a||(i.selected=!0),this.handleFocus&&i.focus()),this.component.hasSuggestionItemSelected=!0,this.onItemSelect(i),!this._isItemIntoView(i)){const C=this._isGroupItem?i.shadowRoot.querySelector("[ui5-li-group-header]"):i;this._scrollItemIntoView(C)}}_deselectItems(){this._getItems().forEach(t=>{t.hasAttribute("ui5-suggestion-item")&&(t.selected=!1),t.focused=!1})}_clearItemFocus(){const e=this._getItems().find(t=>t.focused);e&&(e.focused=!1)}_isItemIntoView(e){const t=e.getDomRef().getBoundingClientRect(),s=this._getComponent().getDomRef().getBoundingClientRect(),i=window.innerHeight||document.documentElement.clientHeight;let o=0;return this._hasValueState&&(o=this._getPicker().querySelector("[slot=header]").getBoundingClientRect().height),t.top+u.SCROLL_STEP<=i&&t.top>=s.top+o}_scrollItemIntoView(e){e.scrollIntoView({behavior:"auto",block:"nearest",inline:"nearest"})}_getScrollContainer(){return this._scrollContainer||(this._scrollContainer=this._getPicker().shadowRoot.querySelector(".ui5-popup-content")),this._scrollContainer}_getItems(){return this._getComponent().getSlottedNodes("suggestionItems").flatMap(t=>t.hasAttribute("ui5-suggestion-item-group")?[t,...t.items]:[t])}_getNonGroupItems(){return this._getItems().filter(e=>!e.hasAttribute("ui5-suggestion-item-group"))}_getComponent(){return this.component}_getList(){return this._getPicker().querySelector("[ui5-list]")}_getListWidth(){var e;return(e=this._getList())==null?void 0:e.offsetWidth}_getPicker(){return this._getComponent().shadowRoot.querySelector("[ui5-responsive-popover]")}get itemSelectionAnnounce(){if(!this.accInfo)return"";if(this.accInfo.isGroup)return`${u.i18nBundle.getText(B)} ${this.accInfo.itemText}`;const e=u.i18nBundle.getText(F,this.accInfo.currentPos||0,this.accInfo.listSize||0);return`${this.accInfo.additionalText} ${e}`}hightlightInput(e,t){return M(e,t)}get _hasValueState(){return this.component.hasValueStateMessage}_clearSelectedSuggestionAndaccInfo(){this.accInfo=void 0,this.selectedItemIndex=0}}u.SCROLL_STEP=60;b.SuggestionsClass=u;export{u as default};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{j as o,a as _,F as y,p as m,d as b,b as E,s as x,c as C,i as P,m as O,y as B,e as w,f as I,t as A,E as L,g as R,L as S,R as M,B as N,h as F,k as D,l as X,n as j,o as z,q as k}from"./bundle.esm-
|
|
1
|
+
import{j as o,a as _,F as y,p as m,d as b,b as E,s as x,c as C,i as P,m as O,y as B,e as w,f as I,t as A,E as L,g as R,L as S,R as M,B as N,h as F,k as D,l as X,n as j,o as z,q as k}from"./bundle.esm-ZNiP-jPI.js";var T;(function(t){t.InPlace="InPlace",t.Popover="Popover"})(T||(T={}));const $=T;var g;(function(t){t.Off="Off",t.On="On"})(g||(g={}));const H=g;function W(){return o(y,{children:o("span",{children:this._renderEmptyIndicator?_(y,{children:[o("span",{className:"empty-indicator","aria-hidden":"true",children:this._emptyIndicatorSymbol}),o("span",{className:"empty-indicator-aria-label",children:this._emptyIndicatorAriaLabel})]}):o("slot",{})})})}m("@ui5/webcomponents-theming","sap_horizon",async()=>b);m("@ui5/webcomponents","sap_horizon",async()=>E);const q=`:host{max-width:100%;font-size:var(--sapFontSize);font-family:var(--sapFontFamily);color:var(--sapTextColor);line-height:normal;cursor:text;overflow:hidden}:host([max-lines="1"]){display:inline-block;text-overflow:ellipsis;white-space:nowrap}:host(:not([max-lines="1"])){display:-webkit-box;-webkit-line-clamp:var(--_ui5-v2-14-0_text_max_lines);line-clamp:var(--_ui5-v2-14-0_text_max_lines);-webkit-box-orient:vertical;white-space:normal;word-wrap:break-word}.empty-indicator-aria-label{position:absolute!important;clip:rect(1px,1px,1px,1px);user-select:none;left:0;top:0;font-size:0}
|
|
2
2
|
`;var u=function(t,e,n,s){var a=arguments.length,i=a<3?e:s===null?s=Object.getOwnPropertyDescriptor(e,n):s,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(t,e,n,s);else for(var d=t.length-1;d>=0;d--)(l=t[d])&&(i=(a<3?l(i):a>3?l(e,n,i):l(e,n))||i);return a>3&&i&&Object.defineProperty(e,n,i),i},f;let p=f=class extends w{constructor(){super(...arguments),this.maxLines=1/0,this.emptyIndicatorMode="Off"}onBeforeRendering(){this.style.setProperty(I("--_ui5_text_max_lines"),`${this.maxLines}`)}get hasText(){return A(this.text)}get _renderEmptyIndicator(){return!this.hasText&&this.emptyIndicatorMode===H.On}get _emptyIndicatorAriaLabel(){return f.i18nBundle.getText(L)}get _emptyIndicatorSymbol(){return f.i18nBundle.getText(R)}};u([x({type:Number})],p.prototype,"maxLines",void 0);u([x()],p.prototype,"emptyIndicatorMode",void 0);u([C({type:Node,default:!0})],p.prototype,"text",void 0);u([P("@ui5/webcomponents")],p,"i18nBundle",void 0);p=f=u([O({tag:"ui5-text",renderer:B,template:W,styles:q})],p);p.define();const v=p;function Y(){return _("div",{children:[o(v,{class:"ui5-exp-text-text",emptyIndicatorMode:this.emptyIndicatorMode,children:this._displayedText}),this._maxCharactersExceeded&&_(y,{children:[o("span",{class:"ui5-exp-text-ellipsis",children:this._ellipsisText}),o(S,{id:"toggle",class:"ui5-exp-text-toggle",accessibleRole:"Button",accessibleName:this._accessibleNameForToggle,accessibilityAttributes:this._accessibilityAttributesForToggle,onClick:this._handleToggleClick,children:this._textForToggle}),this._usePopover&&_(M,{open:this._expanded,opener:"toggle",accessibleNameRef:"popover-text",contentOnlyOnDesktop:!0,_hideHeader:!0,class:"ui5-exp-text-popover",onClose:this._handlePopoverClose,children:[o(v,{id:"popover-text",children:this.text}),o("div",{slot:"footer",class:"ui5-exp-text-footer",children:o(N,{design:"Transparent",onClick:this._handleCloseButtonClick,children:this._closeButtonText})})]})]})]})}m("@ui5/webcomponents-theming","sap_horizon",async()=>b);m("@ui5/webcomponents","sap_horizon",async()=>E);const V=`:host{display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);color:var(--sapTextColor)}:host([hidden]){display:none}.ui5-exp-text-text{display:inline}.ui5-exp-text-text,.ui5-exp-text-toggle{font-family:inherit;font-size:inherit}.ui5-exp-text-text,.ui5-exp-text-ellipsis{color:inherit}.ui5-exp-text-popover::part(content){padding-inline:1rem}.ui5-exp-text-footer{width:100%;display:flex;align-items:center;justify-content:flex-end}
|
|
3
3
|
`;var h=function(t,e,n,s){var a=arguments.length,i=a<3?e:s===null?s=Object.getOwnPropertyDescriptor(e,n):s,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(t,e,n,s);else for(var d=t.length-1;d>=0;d--)(l=t[d])&&(i=(a<3?l(i):a>3?l(e,n,i):l(e,n))||i);return a>3&&i&&Object.defineProperty(e,n,i),i},c;let r=c=class extends w{constructor(){super(...arguments),this.maxCharacters=100,this.overflowMode="InPlace",this.emptyIndicatorMode="Off",this._expanded=!1}getFocusDomRef(){var e,n;return this._usePopover?(e=this.shadowRoot)==null?void 0:e.querySelector("[ui5-responsive-popover]"):(n=this.shadowRoot)==null?void 0:n.querySelector("[ui5-link]")}get _displayedText(){var e;return this._expanded&&!this._usePopover?this.text:(e=this.text)==null?void 0:e.substring(0,this.maxCharacters)}get _maxCharactersExceeded(){var e;return(((e=this.text)==null?void 0:e.length)||0)>this.maxCharacters}get _usePopover(){return this.overflowMode===$.Popover}get _ellipsisText(){return this._expanded&&!this._usePopover?" ":"... "}get _textForToggle(){return this._expanded?c.i18nBundle.getText(F):c.i18nBundle.getText(D)}get _closeButtonText(){return c.i18nBundle.getText(X)}get _accessibilityAttributesForToggle(){return this._usePopover?{expanded:this._expanded,hasPopup:"dialog"}:{expanded:this._expanded}}get _accessibleNameForToggle(){if(this._usePopover)return this._expanded?c.i18nBundle.getText(j):c.i18nBundle.getText(z)}_handlePopoverClose(){k()||(this._expanded=!1)}_handleToggleClick(){this._expanded=!this._expanded}_handleCloseButtonClick(e){this._expanded=!1,e.stopPropagation()}};h([x()],r.prototype,"text",void 0);h([x({type:Number})],r.prototype,"maxCharacters",void 0);h([x()],r.prototype,"overflowMode",void 0);h([x()],r.prototype,"emptyIndicatorMode",void 0);h([x({type:Boolean})],r.prototype,"_expanded",void 0);h([P("@ui5/webcomponents")],r,"i18nBundle",void 0);r=c=h([O({tag:"ui5-expandable-text",renderer:B,styles:V,template:Y})],r);r.define();function Q(t){const{className:e,text:n,maxCharacters:s,part:a}=t;return o(r,{part:a,class:e,text:n,maxCharacters:s})}export{Q as default};
|