@sapudex/web-components 2.1.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cypress/fixtures/footer-links.ts +221 -0
- package/cypress/specs/Checkbox.cy.tsx +92 -0
- package/cypress/specs/Footer.cy.tsx +313 -0
- package/cypress/specs/ListItem.cy.tsx +4 -4
- package/cypress/specs/PhoneNumberField.cy.tsx +2 -2
- package/cypress/specs/SecondaryNavigationDesktop.cy.tsx +28 -37
- package/cypress/specs/Slider.cy.tsx +4 -3
- package/cypress/specs/TextField.cy.tsx +4 -0
- package/cypress/specs/Tooltip.cy.tsx +26 -0
- package/cypress/specs/Upload.cy.tsx +3 -3
- package/dist/Badge.d.ts +2 -2
- package/dist/Badge.js +4 -4
- package/dist/Badge.js.map +1 -1
- package/dist/Breadcrumbs.d.ts +1 -0
- package/dist/Breadcrumbs.js +11 -1
- package/dist/Breadcrumbs.js.map +1 -1
- package/dist/Button.d.ts +12 -1
- package/dist/Button.js +12 -1
- package/dist/Button.js.map +1 -1
- package/dist/Checkbox.d.ts +18 -0
- package/dist/Checkbox.js +39 -1
- package/dist/Checkbox.js.map +1 -1
- package/dist/ControlButton.d.ts +2 -1
- package/dist/ControlButton.js +2 -1
- package/dist/ControlButton.js.map +1 -1
- package/dist/DatePicker.d.ts +2 -2
- package/dist/DatePicker.js.map +1 -1
- package/dist/InputGroup.d.ts +5 -2
- package/dist/InputGroup.js +6 -0
- package/dist/InputGroup.js.map +1 -1
- package/dist/Link.d.ts +3 -4
- package/dist/Link.js +4 -5
- package/dist/Link.js.map +1 -1
- package/dist/ListItem.d.ts +3 -2
- package/dist/ListItem.js +2 -2
- package/dist/ListItem.js.map +1 -1
- package/dist/MastheadItem.js +1 -1
- package/dist/MastheadItem.js.map +1 -1
- package/dist/MediaPlayer.d.ts +2 -1
- package/dist/MediaPlayer.js.map +1 -1
- package/dist/MediaPlayerYoutube.d.ts +2 -1
- package/dist/MediaPlayerYoutube.js.map +1 -1
- package/dist/Pagination.d.ts +1 -1
- package/dist/Pagination.js.map +1 -1
- package/dist/PasswordField.d.ts +10 -0
- package/dist/PasswordField.js +14 -0
- package/dist/PasswordField.js.map +1 -1
- package/dist/PhoneNumberField.d.ts +6 -2
- package/dist/PhoneNumberField.js +22 -2
- package/dist/PhoneNumberField.js.map +1 -1
- package/dist/ProgressBar.d.ts +2 -2
- package/dist/ProgressBar.js +6 -6
- package/dist/ProgressBar.js.map +1 -1
- package/dist/RadioButton.d.ts +3 -2
- package/dist/RadioButton.js +7 -6
- package/dist/RadioButton.js.map +1 -1
- package/dist/Search.d.ts +0 -1
- package/dist/Search.js +1 -3
- package/dist/Search.js.map +1 -1
- package/dist/SecondaryNavigation.d.ts +4 -1
- package/dist/SecondaryNavigation.js +38 -10
- package/dist/SecondaryNavigation.js.map +1 -1
- package/dist/SecondaryNavigationItem.d.ts +10 -0
- package/dist/SecondaryNavigationItem.js +19 -0
- package/dist/SecondaryNavigationItem.js.map +1 -1
- package/dist/SecondaryNavigationItemBase.d.ts +1 -0
- package/dist/SecondaryNavigationItemBase.js +4 -0
- package/dist/SecondaryNavigationItemBase.js.map +1 -1
- package/dist/SecondaryNavigationSubItem.d.ts +0 -1
- package/dist/SecondaryNavigationSubItem.js +0 -4
- package/dist/SecondaryNavigationSubItem.js.map +1 -1
- package/dist/SegmentedButton.d.ts +1 -1
- package/dist/SegmentedButton.js +1 -1
- package/dist/SegmentedButton.js.map +1 -1
- package/dist/SegmentedButtonItem.d.ts +1 -1
- package/dist/SegmentedButtonItem.js +2 -2
- package/dist/SegmentedButtonItem.js.map +1 -1
- package/dist/StatusBadge.d.ts +8 -3
- package/dist/StatusBadge.js +9 -1
- package/dist/StatusBadge.js.map +1 -1
- package/dist/StepInput.d.ts +3 -3
- package/dist/StepInput.js.map +1 -1
- package/dist/TableCellBase.d.ts +2 -2
- package/dist/TableCellBase.js.map +1 -1
- package/dist/Tag.d.ts +2 -2
- package/dist/Tag.js +4 -4
- package/dist/Tag.js.map +1 -1
- package/dist/TextArea.d.ts +2 -2
- package/dist/TextArea.js +9 -9
- package/dist/TextArea.js.map +1 -1
- package/dist/TextField.d.ts +10 -2
- package/dist/TextField.js +20 -5
- package/dist/TextField.js.map +1 -1
- package/dist/Toast.js +1 -1
- package/dist/Toast.js.map +1 -1
- package/dist/Tooltip.d.ts +5 -0
- package/dist/Tooltip.js +11 -1
- package/dist/Tooltip.js.map +1 -1
- package/dist/Upload.d.ts +1 -1
- package/dist/Upload.js +1 -1
- package/dist/Upload.js.map +1 -1
- package/dist/UploadItem.d.ts +3 -3
- package/dist/UploadItem.js +9 -9
- package/dist/UploadItem.js.map +1 -1
- package/dist/assets/InputSuggestions-KGCQrV_T.js +2 -0
- package/dist/assets/{ListItemStandardExpandableTextTemplate-BymOTLVD.js → ListItemStandardExpandableTextTemplate-D4zLIdLd.js} +2 -2
- package/dist/assets/bundle-C9ZlnwwH.css +1 -0
- package/dist/assets/bundle.esm-Diw1zQ-o.js +384 -0
- package/dist/assets/parameters-bundle.css-1GGBOW8m.js +2 -0
- package/dist/assets/parameters-bundle.css-A9eeRg2R.js +2 -0
- package/dist/assets/parameters-bundle.css-COBI_9-U.js +2 -0
- package/dist/assets/parameters-bundle.css-CgAoZ-Ir.js +2 -0
- package/dist/assets/parameters-bundle.css-DuFHHRNK.js +2 -0
- package/dist/assets/parameters-bundle.css-Pf68NO0T.js +2 -0
- package/dist/assets/parameters-bundle.css-aX_t_-9o.js +2 -0
- package/dist/assets/parameters-bundle.css-rNSryFKH.js +2 -0
- package/dist/css/themes/Breadcrumbs.css +1 -1
- package/dist/css/themes/Button.css +1 -1
- package/dist/css/themes/Checkbox.css +1 -1
- package/dist/css/themes/ListItem.css +1 -1
- package/dist/css/themes/MastheadShell.css +1 -1
- package/dist/css/themes/Modal.css +1 -1
- package/dist/css/themes/RadioButton.css +1 -1
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/Search.css +1 -1
- package/dist/css/themes/SideNavigationItem.css +1 -1
- package/dist/css/themes/SideNavigationSubItem.css +1 -1
- package/dist/css/themes/Slider.css +1 -1
- package/dist/css/themes/Tooltip.css +1 -1
- package/dist/css/themes/WizardTab.css +1 -1
- package/dist/custom-elements-internal.json +201 -38
- package/dist/custom-elements.json +173 -36
- package/dist/generated/json-imports/Themes-node.d.ts +1 -0
- package/dist/generated/json-imports/Themes-node.js +19 -0
- package/dist/generated/json-imports/Themes-node.js.map +1 -0
- package/dist/generated/json-imports/i18n-node.d.ts +1 -0
- package/dist/generated/json-imports/i18n-node.js +82 -0
- package/dist/generated/json-imports/i18n-node.js.map +1 -0
- package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js.map +1 -1
- package/dist/generated/templates/BreadcrumbsTemplate.lit.js +1 -1
- package/dist/generated/templates/BreadcrumbsTemplate.lit.js.map +1 -1
- package/dist/generated/templates/FilterMenuTemplate.lit.js +1 -1
- package/dist/generated/templates/FilterMenuTemplate.lit.js.map +1 -1
- package/dist/generated/templates/PasswordFieldTemplate.lit.js +1 -1
- package/dist/generated/templates/PasswordFieldTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SearchTemplate.lit.js +3 -3
- package/dist/generated/templates/SearchTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js +2 -2
- package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SecondaryNavigationTemplate.lit.js +1 -1
- package/dist/generated/templates/SecondaryNavigationTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TextFieldTemplate.lit.js +1 -1
- package/dist/generated/templates/TextFieldTemplate.lit.js.map +1 -1
- package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
- package/dist/generated/themes/Button.css.d.ts +1 -1
- package/dist/generated/themes/Button.css.js +1 -1
- package/dist/generated/themes/Button.css.js.map +1 -1
- package/dist/generated/themes/Checkbox.css.d.ts +1 -1
- package/dist/generated/themes/Checkbox.css.js +1 -1
- package/dist/generated/themes/Checkbox.css.js.map +1 -1
- package/dist/generated/themes/ListItem.css.d.ts +1 -1
- package/dist/generated/themes/ListItem.css.js +1 -1
- package/dist/generated/themes/ListItem.css.js.map +1 -1
- package/dist/generated/themes/MastheadShell.css.d.ts +1 -1
- package/dist/generated/themes/MastheadShell.css.js +1 -1
- package/dist/generated/themes/MastheadShell.css.js.map +1 -1
- package/dist/generated/themes/Modal.css.d.ts +1 -1
- package/dist/generated/themes/Modal.css.js +1 -1
- package/dist/generated/themes/Modal.css.js.map +1 -1
- package/dist/generated/themes/RadioButton.css.d.ts +1 -1
- package/dist/generated/themes/RadioButton.css.js +1 -1
- package/dist/generated/themes/RadioButton.css.js.map +1 -1
- package/dist/generated/themes/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/Search.css.d.ts +1 -1
- package/dist/generated/themes/Search.css.js +1 -1
- package/dist/generated/themes/Search.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationItem.css.d.ts +1 -1
- package/dist/generated/themes/SideNavigationItem.css.js +1 -1
- package/dist/generated/themes/SideNavigationItem.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationSubItem.css.d.ts +1 -1
- package/dist/generated/themes/SideNavigationSubItem.css.js +1 -1
- package/dist/generated/themes/SideNavigationSubItem.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/Tooltip.css.d.ts +1 -1
- package/dist/generated/themes/Tooltip.css.js +1 -1
- package/dist/generated/themes/Tooltip.css.js.map +1 -1
- package/dist/generated/themes/WizardTab.css.d.ts +1 -1
- package/dist/generated/themes/WizardTab.css.js +1 -1
- package/dist/generated/themes/WizardTab.css.js.map +1 -1
- package/dist/types/ButtonAccessibleRole.d.ts +8 -0
- package/dist/types/ButtonAccessibleRole.js +10 -0
- package/dist/types/ButtonAccessibleRole.js.map +1 -0
- package/dist/types/{Button.d.ts → ButtonDesign.d.ts} +1 -15
- package/dist/types/ButtonDesign.js +16 -0
- package/dist/types/ButtonDesign.js.map +1 -0
- package/dist/types/ButtonSize.d.ts +6 -0
- package/dist/types/ButtonSize.js +8 -0
- package/dist/types/ButtonSize.js.map +1 -0
- package/dist/types/ControlButtonDesign.d.ts +10 -0
- package/dist/types/ControlButtonDesign.js +12 -0
- package/dist/types/ControlButtonDesign.js.map +1 -0
- package/dist/types/ProgressBar.d.ts +1 -1
- package/dist/types/ProgressBar.js +1 -1
- package/dist/types/ProgressBar.js.map +1 -1
- package/dist/types/common.d.ts +1 -1
- package/dist/types/common.js +1 -1
- package/dist/types/common.js.map +1 -1
- package/dist/vscode.html-custom-data.json +26 -10
- package/dist/web-types.json +43 -13
- package/package.json +8 -8
- package/src/Badge.ts +4 -4
- package/src/Breadcrumbs.hbs +7 -10
- package/src/Breadcrumbs.ts +14 -1
- package/src/BreadcrumbsPopover.hbs +3 -1
- package/src/Button.ts +12 -1
- package/src/Checkbox.ts +51 -0
- package/src/ControlButton.ts +2 -1
- package/src/DatePicker.ts +2 -2
- package/src/FilterMenu.hbs +1 -0
- package/src/InputGroup.ts +5 -2
- package/src/Link.ts +4 -5
- package/src/ListItem.ts +4 -4
- package/src/MastheadItem.ts +1 -1
- package/src/MediaPlayer.ts +3 -1
- package/src/MediaPlayerYoutube.ts +4 -2
- package/src/Pagination.ts +1 -1
- package/src/PasswordField.hbs +1 -0
- package/src/PasswordField.ts +14 -0
- package/src/PhoneNumberField.ts +25 -4
- package/src/ProgressBar.ts +6 -6
- package/src/RadioButton.ts +7 -6
- package/src/Search.hbs +3 -2
- package/src/Search.ts +1 -3
- package/src/SecondaryNavigation.hbs +1 -0
- package/src/SecondaryNavigation.ts +41 -12
- package/src/SecondaryNavigationItem.hbs +2 -1
- package/src/SecondaryNavigationItem.ts +31 -0
- package/src/SecondaryNavigationItemBase.ts +3 -0
- package/src/SecondaryNavigationSubItem.ts +0 -3
- package/src/SegmentedButton.ts +1 -1
- package/src/SegmentedButtonItem.ts +2 -2
- package/src/StatusBadge.ts +8 -3
- package/src/StepInput.ts +3 -3
- package/src/TableCellBase.ts +2 -2
- package/src/Tag.ts +4 -4
- package/src/TextArea.ts +9 -9
- package/src/TextField.hbs +2 -0
- package/src/TextField.ts +21 -5
- package/src/Toast.ts +1 -1
- package/src/Tooltip.ts +19 -0
- package/src/Upload.ts +1 -1
- package/src/UploadItem.ts +9 -9
- package/src/generated/json-imports/Themes-node.ts +21 -0
- package/src/generated/json-imports/i18n-node.ts +85 -0
- package/src/generated/templates/BreadcrumbsPopoverTemplate.lit.ts +1 -1
- package/src/generated/templates/BreadcrumbsTemplate.lit.ts +1 -1
- package/src/generated/templates/FilterMenuTemplate.lit.ts +1 -1
- package/src/generated/templates/PasswordFieldTemplate.lit.ts +1 -1
- package/src/generated/templates/SearchTemplate.lit.ts +3 -3
- package/src/generated/templates/SecondaryNavigationItemTemplate.lit.ts +2 -2
- package/src/generated/templates/SecondaryNavigationTemplate.lit.ts +1 -1
- package/src/generated/templates/TextFieldTemplate.lit.ts +1 -1
- package/src/generated/themes/Breadcrumbs.css.ts +1 -1
- package/src/generated/themes/Button.css.ts +1 -1
- package/src/generated/themes/Checkbox.css.ts +1 -1
- package/src/generated/themes/ListItem.css.ts +1 -1
- package/src/generated/themes/MastheadShell.css.ts +1 -1
- package/src/generated/themes/Modal.css.ts +1 -1
- package/src/generated/themes/RadioButton.css.ts +1 -1
- package/src/generated/themes/RatingIndicator.css.ts +1 -1
- package/src/generated/themes/Search.css.ts +1 -1
- package/src/generated/themes/SideNavigationItem.css.ts +1 -1
- package/src/generated/themes/SideNavigationSubItem.css.ts +1 -1
- package/src/generated/themes/Slider.css.ts +1 -1
- package/src/generated/themes/Tooltip.css.ts +1 -1
- package/src/generated/themes/WizardTab.css.ts +1 -1
- package/src/themes/Breadcrumbs.css +3 -0
- package/src/themes/Button.css +11 -7
- package/src/themes/Checkbox.css +15 -1
- package/src/themes/ListItem.css +4 -0
- package/src/themes/MastheadShell.css +2 -1
- package/src/themes/Modal.css +2 -1
- package/src/themes/RadioButton.css +2 -0
- package/src/themes/Search.css +9 -1
- package/src/themes/SideNavigationItem.css +9 -1
- package/src/themes/SideNavigationSubItem.css +7 -0
- package/src/themes/Tooltip.css +1 -1
- package/src/themes/WizardTab.css +5 -0
- package/src/types/ButtonAccessibleRole.ts +9 -0
- package/src/types/{Button.ts → ButtonDesign.ts} +1 -17
- package/src/types/ButtonSize.ts +7 -0
- package/src/types/ControlButtonDesign.ts +11 -0
- package/src/types/ProgressBar.ts +1 -1
- package/src/types/common.ts +1 -1
- package/dist/assets/InputSuggestions-DoWo0hwS.js +0 -2
- package/dist/assets/bundle-7XIcgsQH.css +0 -1
- package/dist/assets/bundle.esm-D10tX-qa.js +0 -380
- package/dist/assets/parameters-bundle.css-BU4Bi-ho.js +0 -2
- package/dist/assets/parameters-bundle.css-Beilb2gS.js +0 -2
- package/dist/assets/parameters-bundle.css-BzQMaZUt.js +0 -2
- package/dist/assets/parameters-bundle.css-Bzfv_Fox.js +0 -2
- package/dist/assets/parameters-bundle.css-CLwmjytB.js +0 -2
- package/dist/assets/parameters-bundle.css-CU3plTdF.js +0 -2
- package/dist/assets/parameters-bundle.css-DRX-o-Cb.js +0 -2
- package/dist/assets/parameters-bundle.css-DhFMZJhW.js +0 -2
- package/dist/css/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css +0 -1
- package/dist/generated/assets/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.json +0 -1
- package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.d.ts +0 -2
- package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js +0 -3
- package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js.map +0 -1
- package/dist/types/Button.js +0 -33
- package/dist/types/Button.js.map +0 -1
- package/src/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.ts +0 -2
- package/src/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css +0 -195
|
@@ -190,7 +190,7 @@
|
|
|
190
190
|
},
|
|
191
191
|
{
|
|
192
192
|
"name": "udex-button",
|
|
193
|
-
"description": "\n\n\n---\n\n\n",
|
|
193
|
+
"description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-button</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/Button.js\";</code>\n\n\n---\n\n\n",
|
|
194
194
|
"attributes": [
|
|
195
195
|
{
|
|
196
196
|
"name": "size",
|
|
@@ -255,6 +255,11 @@
|
|
|
255
255
|
{ "name": "Success" },
|
|
256
256
|
{ "name": "Error" }
|
|
257
257
|
]
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"name": "wrapping-type",
|
|
261
|
+
"description": "Defines whether the component text wraps when there is not enough space..",
|
|
262
|
+
"values": [{ "name": "None" }, { "name": "Normal" }]
|
|
258
263
|
}
|
|
259
264
|
],
|
|
260
265
|
"references": []
|
|
@@ -1726,7 +1731,7 @@
|
|
|
1726
1731
|
},
|
|
1727
1732
|
{
|
|
1728
1733
|
"name": "udex-media-player",
|
|
1729
|
-
"description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-media-player</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/MediaPlayer.js\";</code>\n\n\n---\n\n\n\n\n### **Events:**\n - **videoStart** - Fires when video is played\n- **videoPause** - Fires when video is paused\n- **videoComplete** - Fires when video is watched\n- **videoReady** - Fires when video is ready\n- **videoProgress** - Fires when video watching progress changed\n- **video25** - Fires when 25% of video is watched\n- **video50** - Fires when 50% of video is watched\n- **video75** - Fires when 75% of video is watched\n\n### **Methods:**\n - **getPlayer(): _HTMLVideoElement | HTMLAudioElement |
|
|
1734
|
+
"description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-media-player</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/MediaPlayer.js\";</code>\n\n\n---\n\n\n\n\n### **Events:**\n - **videoStart** - Fires when video is played\n- **videoPause** - Fires when video is paused\n- **videoComplete** - Fires when video is watched\n- **videoReady** - Fires when video is ready\n- **videoProgress** - Fires when video watching progress changed\n- **video25** - Fires when 25% of video is watched\n- **video50** - Fires when 50% of video is watched\n- **video75** - Fires when 75% of video is watched\n\n### **Methods:**\n - **getPlayer(): _HTMLVideoElement | HTMLAudioElement | YoutubePlayer | VimeoPlayer | null_** - Returns video element\n\n### **Slots:**\n - **default** - Placeholder for all html `track` elements to provide video subtitles.\nExample: `<track kind='captions' src='./videoSubtitles.vtt' srclang='en' label='English' default />`\nMore information: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/track",
|
|
1730
1735
|
"attributes": [
|
|
1731
1736
|
{
|
|
1732
1737
|
"name": "options",
|
|
@@ -1836,7 +1841,7 @@
|
|
|
1836
1841
|
},
|
|
1837
1842
|
{
|
|
1838
1843
|
"name": "udex-media-player-youtube",
|
|
1839
|
-
"description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-media-player-youtube</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/MediaPlayerYoutube.js\";</code>\n\n\n---\n\n\n\n\n### **Events:**\n - **ready** - Fires when video is ready\n- **ended** - Fires when video play ended\n- **pause** - Fires when video is paused\n- **playing** - Fires when video watching progress changed\n\n### **Methods:**\n - **getPlayer():
|
|
1844
|
+
"description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-media-player-youtube</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/MediaPlayerYoutube.js\";</code>\n\n\n---\n\n\n\n\n### **Events:**\n - **ready** - Fires when video is ready\n- **ended** - Fires when video play ended\n- **pause** - Fires when video is paused\n- **playing** - Fires when video watching progress changed\n\n### **Methods:**\n - **getPlayer(): _YoutubePlayer | null_** - Returns video element",
|
|
1840
1845
|
"attributes": [
|
|
1841
1846
|
{
|
|
1842
1847
|
"name": "source",
|
|
@@ -1943,6 +1948,11 @@
|
|
|
1943
1948
|
"name": "udex-password-field",
|
|
1944
1949
|
"description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-password-field</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/UDExPasswordField.js\";</code>\n\n\n---\n\n\n",
|
|
1945
1950
|
"attributes": [
|
|
1951
|
+
{
|
|
1952
|
+
"name": "autocomplete",
|
|
1953
|
+
"description": "Defines the behaviour of autocomplete.",
|
|
1954
|
+
"values": [{ "name": "on" }, { "name": "off" }]
|
|
1955
|
+
},
|
|
1946
1956
|
{
|
|
1947
1957
|
"name": "disabled",
|
|
1948
1958
|
"description": "Defines whether the component is in disabled state.\n<br><br>\n<b>Note:</b> A disabled component is completely noninteractive.",
|
|
@@ -2928,7 +2938,13 @@
|
|
|
2928
2938
|
{
|
|
2929
2939
|
"name": "value-state",
|
|
2930
2940
|
"description": "Defines the value state of the component.",
|
|
2931
|
-
"values": [
|
|
2941
|
+
"values": [
|
|
2942
|
+
{ "name": "Information" },
|
|
2943
|
+
{ "name": "Warning" },
|
|
2944
|
+
{ "name": "Success" },
|
|
2945
|
+
{ "name": "Error" },
|
|
2946
|
+
{ "name": "Edit" }
|
|
2947
|
+
]
|
|
2932
2948
|
},
|
|
2933
2949
|
{
|
|
2934
2950
|
"name": "size",
|
|
@@ -3488,12 +3504,7 @@
|
|
|
3488
3504
|
{
|
|
3489
3505
|
"name": "value-state",
|
|
3490
3506
|
"description": "Defines the value state of the component.",
|
|
3491
|
-
"values": [
|
|
3492
|
-
{ "name": "Warning" },
|
|
3493
|
-
{ "name": "Success" },
|
|
3494
|
-
{ "name": "Error" },
|
|
3495
|
-
{ "name": "Standard" }
|
|
3496
|
-
]
|
|
3507
|
+
"values": [{ "name": "UDExValueState" }]
|
|
3497
3508
|
},
|
|
3498
3509
|
{
|
|
3499
3510
|
"name": "required",
|
|
@@ -3607,6 +3618,11 @@
|
|
|
3607
3618
|
"description": "Defines if the text-field is active",
|
|
3608
3619
|
"values": []
|
|
3609
3620
|
},
|
|
3621
|
+
{
|
|
3622
|
+
"name": "autocomplete",
|
|
3623
|
+
"description": "Defines the behaviour of autocomplete.",
|
|
3624
|
+
"values": []
|
|
3625
|
+
},
|
|
3610
3626
|
{
|
|
3611
3627
|
"name": "direction",
|
|
3612
3628
|
"description": "Defines direction of the input.",
|
package/dist/web-types.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
|
|
3
3
|
"name": "@sapudex/web-components",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.2.0",
|
|
5
5
|
"description-markup": "markdown",
|
|
6
6
|
"contributions": {
|
|
7
7
|
"html": {
|
|
@@ -430,7 +430,7 @@
|
|
|
430
430
|
},
|
|
431
431
|
{
|
|
432
432
|
"name": "udex-button",
|
|
433
|
-
"description": "\n---\n",
|
|
433
|
+
"description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-button</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/Button.js\";</code>\n---\n",
|
|
434
434
|
"doc-url": "",
|
|
435
435
|
"attributes": [
|
|
436
436
|
{
|
|
@@ -530,6 +530,14 @@
|
|
|
530
530
|
"type": "\"None\" | \"Success\" | \"Error\"",
|
|
531
531
|
"default": "\"None\""
|
|
532
532
|
}
|
|
533
|
+
},
|
|
534
|
+
{
|
|
535
|
+
"name": "wrapping-type",
|
|
536
|
+
"description": "Defines whether the component text wraps when there is not enough space..",
|
|
537
|
+
"value": {
|
|
538
|
+
"type": "\"None\" | \"Normal\"",
|
|
539
|
+
"default": "\"None\""
|
|
540
|
+
}
|
|
533
541
|
}
|
|
534
542
|
],
|
|
535
543
|
"events": [],
|
|
@@ -539,6 +547,11 @@
|
|
|
539
547
|
"name": "value-state",
|
|
540
548
|
"description": "Defines the value state of the component.",
|
|
541
549
|
"value": { "type": "\"None\" | \"Success\" | \"Error\"" }
|
|
550
|
+
},
|
|
551
|
+
{
|
|
552
|
+
"name": "wrapping-type",
|
|
553
|
+
"description": "Defines whether the component text wraps when there is not enough space..",
|
|
554
|
+
"value": { "type": "\"None\" | \"Normal\"" }
|
|
542
555
|
}
|
|
543
556
|
],
|
|
544
557
|
"events": []
|
|
@@ -3645,7 +3658,7 @@
|
|
|
3645
3658
|
},
|
|
3646
3659
|
{
|
|
3647
3660
|
"name": "udex-media-player",
|
|
3648
|
-
"description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-media-player</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/MediaPlayer.js\";</code>\n---\n\n\n### **Events:**\n - **videoStart** - Fires when video is played\n- **videoPause** - Fires when video is paused\n- **videoComplete** - Fires when video is watched\n- **videoReady** - Fires when video is ready\n- **videoProgress** - Fires when video watching progress changed\n- **video25** - Fires when 25% of video is watched\n- **video50** - Fires when 50% of video is watched\n- **video75** - Fires when 75% of video is watched\n\n### **Methods:**\n - **getPlayer(): _HTMLVideoElement | HTMLAudioElement |
|
|
3661
|
+
"description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-media-player</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/MediaPlayer.js\";</code>\n---\n\n\n### **Events:**\n - **videoStart** - Fires when video is played\n- **videoPause** - Fires when video is paused\n- **videoComplete** - Fires when video is watched\n- **videoReady** - Fires when video is ready\n- **videoProgress** - Fires when video watching progress changed\n- **video25** - Fires when 25% of video is watched\n- **video50** - Fires when 50% of video is watched\n- **video75** - Fires when 75% of video is watched\n\n### **Methods:**\n - **getPlayer(): _HTMLVideoElement | HTMLAudioElement | YoutubePlayer | VimeoPlayer | null_** - Returns video element\n\n### **Slots:**\n - **default** - Placeholder for all html `track` elements to provide video subtitles.\nExample: `<track kind='captions' src='./videoSubtitles.vtt' srclang='en' label='English' default />`\nMore information: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/track",
|
|
3649
3662
|
"doc-url": "",
|
|
3650
3663
|
"attributes": [
|
|
3651
3664
|
{
|
|
@@ -3944,7 +3957,7 @@
|
|
|
3944
3957
|
},
|
|
3945
3958
|
{
|
|
3946
3959
|
"name": "udex-media-player-youtube",
|
|
3947
|
-
"description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-media-player-youtube</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/MediaPlayerYoutube.js\";</code>\n---\n\n\n### **Events:**\n - **ready** - Fires when video is ready\n- **ended** - Fires when video play ended\n- **pause** - Fires when video is paused\n- **playing** - Fires when video watching progress changed\n\n### **Methods:**\n - **getPlayer():
|
|
3960
|
+
"description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-media-player-youtube</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/MediaPlayerYoutube.js\";</code>\n---\n\n\n### **Events:**\n - **ready** - Fires when video is ready\n- **ended** - Fires when video play ended\n- **pause** - Fires when video is paused\n- **playing** - Fires when video watching progress changed\n\n### **Methods:**\n - **getPlayer(): _YoutubePlayer | null_** - Returns video element",
|
|
3948
3961
|
"doc-url": "",
|
|
3949
3962
|
"attributes": [
|
|
3950
3963
|
{
|
|
@@ -4176,6 +4189,11 @@
|
|
|
4176
4189
|
"description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-password-field</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/UDExPasswordField.js\";</code>\n---\n",
|
|
4177
4190
|
"doc-url": "",
|
|
4178
4191
|
"attributes": [
|
|
4192
|
+
{
|
|
4193
|
+
"name": "autocomplete",
|
|
4194
|
+
"description": "Defines the behaviour of autocomplete.",
|
|
4195
|
+
"value": { "type": "\"on\" | \"off\"", "default": "\"off\"" }
|
|
4196
|
+
},
|
|
4179
4197
|
{
|
|
4180
4198
|
"name": "disabled",
|
|
4181
4199
|
"description": "Defines whether the component is in disabled state.\n<br><br>\n<b>Note:</b> A disabled component is completely noninteractive.",
|
|
@@ -4245,6 +4263,11 @@
|
|
|
4245
4263
|
"events": [],
|
|
4246
4264
|
"js": {
|
|
4247
4265
|
"properties": [
|
|
4266
|
+
{
|
|
4267
|
+
"name": "autocomplete",
|
|
4268
|
+
"description": "Defines the behaviour of autocomplete.",
|
|
4269
|
+
"value": { "type": "\"on\" | \"off\"" }
|
|
4270
|
+
},
|
|
4248
4271
|
{
|
|
4249
4272
|
"name": "disabled",
|
|
4250
4273
|
"description": "Defines whether the component is in disabled state.\n<br><br>\n<b>Note:</b> A disabled component is completely noninteractive.",
|
|
@@ -6067,7 +6090,7 @@
|
|
|
6067
6090
|
"name": "value-state",
|
|
6068
6091
|
"description": "Defines the value state of the component.",
|
|
6069
6092
|
"value": {
|
|
6070
|
-
"type": "
|
|
6093
|
+
"type": "\"Information\" | \"Warning\" | \"Success\" | \"Error\" | \"Edit\"",
|
|
6071
6094
|
"default": "\"Information\""
|
|
6072
6095
|
}
|
|
6073
6096
|
},
|
|
@@ -6091,7 +6114,9 @@
|
|
|
6091
6114
|
{
|
|
6092
6115
|
"name": "value-state",
|
|
6093
6116
|
"description": "Defines the value state of the component.",
|
|
6094
|
-
"value": {
|
|
6117
|
+
"value": {
|
|
6118
|
+
"type": "\"Information\" | \"Warning\" | \"Success\" | \"Error\" | \"Edit\""
|
|
6119
|
+
}
|
|
6095
6120
|
},
|
|
6096
6121
|
{
|
|
6097
6122
|
"name": "size",
|
|
@@ -7223,10 +7248,7 @@
|
|
|
7223
7248
|
{
|
|
7224
7249
|
"name": "value-state",
|
|
7225
7250
|
"description": "Defines the value state of the component.",
|
|
7226
|
-
"value": {
|
|
7227
|
-
"type": "\"Warning\" | \"Success\" | \"Error\" | \"Standard\"",
|
|
7228
|
-
"default": "\"Standard\""
|
|
7229
|
-
}
|
|
7251
|
+
"value": { "type": "UDExValueState", "default": "\"Standard\"" }
|
|
7230
7252
|
},
|
|
7231
7253
|
{
|
|
7232
7254
|
"name": "required",
|
|
@@ -7300,9 +7322,7 @@
|
|
|
7300
7322
|
{
|
|
7301
7323
|
"name": "value-state",
|
|
7302
7324
|
"description": "Defines the value state of the component.",
|
|
7303
|
-
"value": {
|
|
7304
|
-
"type": "\"Warning\" | \"Success\" | \"Error\" | \"Standard\""
|
|
7305
|
-
}
|
|
7325
|
+
"value": { "type": "UDExValueState" }
|
|
7306
7326
|
},
|
|
7307
7327
|
{
|
|
7308
7328
|
"name": "required",
|
|
@@ -7416,6 +7436,11 @@
|
|
|
7416
7436
|
"description": "Defines if the text-field is active",
|
|
7417
7437
|
"value": { "type": "boolean", "default": "false" }
|
|
7418
7438
|
},
|
|
7439
|
+
{
|
|
7440
|
+
"name": "autocomplete",
|
|
7441
|
+
"description": "Defines the behaviour of autocomplete.",
|
|
7442
|
+
"value": { "type": "string", "default": "\"off\"" }
|
|
7443
|
+
},
|
|
7419
7444
|
{
|
|
7420
7445
|
"name": "direction",
|
|
7421
7446
|
"description": "Defines direction of the input.",
|
|
@@ -7511,6 +7536,11 @@
|
|
|
7511
7536
|
"description": "Defines if the text-field is active",
|
|
7512
7537
|
"value": { "type": "boolean" }
|
|
7513
7538
|
},
|
|
7539
|
+
{
|
|
7540
|
+
"name": "autocomplete",
|
|
7541
|
+
"description": "Defines the behaviour of autocomplete.",
|
|
7542
|
+
"value": { "type": "string" }
|
|
7543
|
+
},
|
|
7514
7544
|
{
|
|
7515
7545
|
"name": "direction",
|
|
7516
7546
|
"description": "Defines direction of the input.",
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "module",
|
|
3
3
|
"name": "@sapudex/web-components",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.2.0",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
7
7
|
},
|
|
@@ -32,19 +32,19 @@
|
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@types/vimeo__player": "^2.18.3",
|
|
35
|
-
"@types/youtube": "^0.1.
|
|
36
|
-
"@ui5/webcomponents": "2.
|
|
37
|
-
"@ui5/webcomponents-base": "2.
|
|
38
|
-
"@ui5/webcomponents-fiori": "2.
|
|
39
|
-
"@ui5/webcomponents-icons": "2.
|
|
40
|
-
"@ui5/webcomponents-theming": "2.
|
|
35
|
+
"@types/youtube": "^0.1.2",
|
|
36
|
+
"@ui5/webcomponents": "2.12.0",
|
|
37
|
+
"@ui5/webcomponents-base": "2.12.0",
|
|
38
|
+
"@ui5/webcomponents-fiori": "2.12.0",
|
|
39
|
+
"@ui5/webcomponents-icons": "2.12.0",
|
|
40
|
+
"@ui5/webcomponents-theming": "2.12.0",
|
|
41
41
|
"@vimeo/player": "^2.24.0",
|
|
42
42
|
"cypress-real-events": "^1.14.0",
|
|
43
43
|
"video.js": "8.22.0"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@ui5/cypress-ct-ui5-webc": "^0.0.4",
|
|
47
|
-
"@ui5/webcomponents-tools": "2.
|
|
47
|
+
"@ui5/webcomponents-tools": "2.12.0",
|
|
48
48
|
"chromedriver": "138.0.1",
|
|
49
49
|
"cross-env": "^7.0.3",
|
|
50
50
|
"cypress": "^14.3.3",
|
package/src/Badge.ts
CHANGED
|
@@ -9,7 +9,7 @@ import BadgeTemplate from "./generated/templates/BadgeTemplate.lit.js";
|
|
|
9
9
|
|
|
10
10
|
// Styles
|
|
11
11
|
import BadgeCss from "./generated/themes/Badge.css.js";
|
|
12
|
-
import
|
|
12
|
+
import UDExIconPlacement from "./types/IconPlacement.js";
|
|
13
13
|
|
|
14
14
|
import {
|
|
15
15
|
UDExNumberBadgeDesign, UDExSizeBadgeDesign, UDExTextBadgeDesign, UDExTypeBadgeDesign,
|
|
@@ -81,7 +81,7 @@ class UDExBadge extends UI5Element {
|
|
|
81
81
|
* @public
|
|
82
82
|
*/
|
|
83
83
|
@property()
|
|
84
|
-
iconPlacement: `${
|
|
84
|
+
iconPlacement: `${UDExIconPlacement}` = UDExIconPlacement.End;
|
|
85
85
|
/**
|
|
86
86
|
* Defines icon name
|
|
87
87
|
*
|
|
@@ -100,11 +100,11 @@ class UDExBadge extends UI5Element {
|
|
|
100
100
|
default!: Array<Node>;
|
|
101
101
|
|
|
102
102
|
get startIcon(): boolean {
|
|
103
|
-
return !!this.icon && this.iconPlacement ===
|
|
103
|
+
return !!this.icon && this.iconPlacement === UDExIconPlacement.Start;
|
|
104
104
|
}
|
|
105
105
|
|
|
106
106
|
get endIcon(): boolean {
|
|
107
|
-
return !!this.icon && this.iconPlacement ===
|
|
107
|
+
return !!this.icon && this.iconPlacement === UDExIconPlacement.End;
|
|
108
108
|
}
|
|
109
109
|
|
|
110
110
|
get textClasses(): string {
|
package/src/Breadcrumbs.hbs
CHANGED
|
@@ -3,19 +3,16 @@
|
|
|
3
3
|
aria-label="{{_accessibleNameText}}">
|
|
4
4
|
<ol @focusin="{{_onfocusin}}">
|
|
5
5
|
<li class="udex-breadcrumbs__arrow-wrapper ui5-breadcrumbs-dropdown-arrow-link-wrapper">
|
|
6
|
-
|
|
6
|
+
<udex-link
|
|
7
7
|
id="udex-{{this._id}}-breadcrumbs__opener"
|
|
8
8
|
@click="{{_toggleDropdown}}"
|
|
9
9
|
class="udex-breadcrumbs__trigger {{_triggerClass}}"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
title="{{_dropdownArrowAccessibleNameText}}">
|
|
17
|
-
</ui5-icon>
|
|
18
|
-
</button>
|
|
10
|
+
accessible-role="button"
|
|
11
|
+
aria-label="{{_dropdownArrowAccessibleNameText}}"
|
|
12
|
+
icon="slim-arrow-down"
|
|
13
|
+
icon-placement="Start"
|
|
14
|
+
aria-haspopup="true">
|
|
15
|
+
</udex-link>
|
|
19
16
|
</li>
|
|
20
17
|
{{#each _linksData}}
|
|
21
18
|
<li
|
package/src/Breadcrumbs.ts
CHANGED
|
@@ -122,6 +122,7 @@ class UDExBreadcrumbs extends UI5Element {
|
|
|
122
122
|
|
|
123
123
|
_responsivePopover?: UDExDropdown;
|
|
124
124
|
_itemNavigation?: ItemNavigation;
|
|
125
|
+
_shouldFocusFirstVisibleItem!: boolean;
|
|
125
126
|
|
|
126
127
|
onBeforeRendering(): void {
|
|
127
128
|
this._preprocessItems();
|
|
@@ -130,7 +131,13 @@ class UDExBreadcrumbs extends UI5Element {
|
|
|
130
131
|
onAfterRendering(): void {
|
|
131
132
|
this._responsivePopover = this._getResponsePopover();
|
|
132
133
|
this._initItemNavigation();
|
|
134
|
+
this._dropdownArrowLink.forcedTabIndex = "0";
|
|
133
135
|
this._handleOutsideClick();
|
|
136
|
+
|
|
137
|
+
if (this._shouldFocusFirstVisibleItem) {
|
|
138
|
+
this._getFocusableItems()[1].focus();
|
|
139
|
+
this._shouldFocusFirstVisibleItem = false;
|
|
140
|
+
}
|
|
134
141
|
}
|
|
135
142
|
|
|
136
143
|
_preprocessItems(): void {
|
|
@@ -236,6 +243,12 @@ class UDExBreadcrumbs extends UI5Element {
|
|
|
236
243
|
const isLastItem = itemIndex === (this.items.length - 2).toString();
|
|
237
244
|
const isFirstItem = itemIndex === "0";
|
|
238
245
|
|
|
246
|
+
if (isTabNext(e) && isLastItem) {
|
|
247
|
+
this._shouldFocusFirstVisibleItem = true;
|
|
248
|
+
this._toggleDropdown();
|
|
249
|
+
return;
|
|
250
|
+
}
|
|
251
|
+
|
|
239
252
|
if ((isTabNext(e) && isLastItem) || (isTabPrevious(e) && isFirstItem) || isEscape(e)) {
|
|
240
253
|
this._toggleDropdown();
|
|
241
254
|
}
|
|
@@ -267,7 +280,7 @@ class UDExBreadcrumbs extends UI5Element {
|
|
|
267
280
|
* Getter for the list of links corresponding to the abstract breadcrumb items
|
|
268
281
|
*/
|
|
269
282
|
get _links(): Array<UDExLink> {
|
|
270
|
-
return Array.from(this.shadowRoot!.querySelectorAll<UDExLink>(".udex-breadcrumbs__link-wrapper [
|
|
283
|
+
return Array.from(this.shadowRoot!.querySelectorAll<UDExLink>(".udex-breadcrumbs__link-wrapper [udex-link]"));
|
|
271
284
|
}
|
|
272
285
|
|
|
273
286
|
/**
|
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
class="udex-breadcrumbs__popover ui5-breadcrumbs-popover"
|
|
5
5
|
placement="Bottom"
|
|
6
6
|
horizontal-align="Start"
|
|
7
|
-
@keydown="{{_handleKeydown}}"
|
|
7
|
+
@keydown="{{_handleKeydown}}"
|
|
8
|
+
@close="{{_afterDropdownClose}}"
|
|
9
|
+
@open="{{_afterDropdownOpen}}">
|
|
8
10
|
<div class="udex-breadcrumbs__popover-content">
|
|
9
11
|
{{#each _dropdownItems}}
|
|
10
12
|
{{#if this.icon}}
|
package/src/Button.ts
CHANGED
|
@@ -8,7 +8,8 @@ import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
|
8
8
|
import {
|
|
9
9
|
BUTTON_ARIA_ATTENTION, BUTTON_ARIA_DEFAULT, BUTTON_ARIA_EMPHASIZED, BUTTON_ARIA_TRANSPARENT, BUTTON_ARIA_TYPE_NEGATIVE, BUTTON_ARIA_TYPE_POSITIVE, BUTTON_ARIA_TYPE_PRIMARY, BUTTON_ARIA_TYPE_SECONDARY, BUTTON_ARIA_TYPE_TERTIARY, BUTTON_ARIA_TYPE_WARNING, TOGGLED,
|
|
10
10
|
} from "./generated/i18n/i18n-defaults.js";
|
|
11
|
-
import
|
|
11
|
+
import UDExButtonSize from "./types/ButtonSize.js";
|
|
12
|
+
import UDExButtonDesign from "./types/ButtonDesign.js";
|
|
12
13
|
|
|
13
14
|
// Styles
|
|
14
15
|
import ButtonCss from "./generated/themes/Button.css.js";
|
|
@@ -16,6 +17,16 @@ import ButtonCss from "./generated/themes/Button.css.js";
|
|
|
16
17
|
/**
|
|
17
18
|
* @class
|
|
18
19
|
*
|
|
20
|
+
* <h3 class="comment-api-title">Overview</h3>
|
|
21
|
+
*
|
|
22
|
+
*
|
|
23
|
+
* <h3>Usage</h3>
|
|
24
|
+
*
|
|
25
|
+
* For the <code>udex-button</code>
|
|
26
|
+
* <h3>ES6 Module Import</h3>
|
|
27
|
+
*
|
|
28
|
+
* <code>import "@sapudex/web-components/dist/Button.js";</code>
|
|
29
|
+
*
|
|
19
30
|
* @constructor
|
|
20
31
|
* @extends Button
|
|
21
32
|
* @tagname udex-button
|
package/src/Checkbox.ts
CHANGED
|
@@ -6,10 +6,15 @@ import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
|
|
|
6
6
|
import { VALUE_STATE_ERROR, VALUE_STATE_SUCCESS } from "./generated/i18n/i18n-defaults.js";
|
|
7
7
|
import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
8
8
|
import UDExCheckboxValueState from "./types/Checkbox.js";
|
|
9
|
+
import type { ResizeObserverCallback } from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
|
|
10
|
+
import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
|
|
9
11
|
|
|
10
12
|
// Styles
|
|
11
13
|
import CheckboxCss from "./generated/themes/Checkbox.css.js";
|
|
14
|
+
import WrappingType from "@ui5/webcomponents/dist/types/WrappingType.js";
|
|
15
|
+
import type Label from "@ui5/webcomponents/dist/Label.js";
|
|
12
16
|
|
|
17
|
+
const LABEL_TEXT_HEIGHT = 18.5;
|
|
13
18
|
/**
|
|
14
19
|
* @class
|
|
15
20
|
*
|
|
@@ -46,9 +51,37 @@ class UDExCheckbox extends CheckBox {
|
|
|
46
51
|
/** @ts-expect-error */
|
|
47
52
|
valueState: `${UDExCheckboxValueState}` = UDExCheckboxValueState.None;
|
|
48
53
|
|
|
54
|
+
/**
|
|
55
|
+
* Defines whether the component text wraps when there is not enough space..
|
|
56
|
+
*
|
|
57
|
+
* @default "None"
|
|
58
|
+
* @public
|
|
59
|
+
*/
|
|
60
|
+
@property()
|
|
61
|
+
wrappingType: `${WrappingType}` = WrappingType.None;
|
|
62
|
+
|
|
49
63
|
@i18n("@sapudex/web-components")
|
|
50
64
|
static i18nBundle: I18nBundle;
|
|
51
65
|
|
|
66
|
+
_handleResizeBound: ResizeObserverCallback;
|
|
67
|
+
|
|
68
|
+
constructor() {
|
|
69
|
+
super();
|
|
70
|
+
this._handleResizeBound = this._handleResize.bind(this);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
onEnterDOM(): void {
|
|
74
|
+
ResizeHandler.register(this, this._handleResizeBound);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
onAfterRendering() {
|
|
78
|
+
this.shadowRoot?.querySelector(".ui5-checkbox-label")?.removeAttribute("required");
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
onExitDOM(): void {
|
|
82
|
+
ResizeHandler.deregister(this, this._handleResizeBound);
|
|
83
|
+
}
|
|
84
|
+
|
|
52
85
|
valueStateMappings(): Record<string, string> {
|
|
53
86
|
return {
|
|
54
87
|
[UDExCheckboxValueState.Error]: UDExCheckbox.i18nBundle.getText(VALUE_STATE_ERROR),
|
|
@@ -56,11 +89,29 @@ class UDExCheckbox extends CheckBox {
|
|
|
56
89
|
};
|
|
57
90
|
}
|
|
58
91
|
|
|
92
|
+
_handleResize(): void {
|
|
93
|
+
const labelOverflows = this.labelHeight > LABEL_TEXT_HEIGHT;
|
|
94
|
+
|
|
95
|
+
if (labelOverflows && this.wrappingType === WrappingType.Normal) {
|
|
96
|
+
this.label?.classList.add("udex-checkbox__label-multiline");
|
|
97
|
+
} else {
|
|
98
|
+
this.label?.classList.remove("udex-checkbox__label-multiline");
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
59
102
|
get valueStateText(): string | undefined {
|
|
60
103
|
if (this.valueState !== UDExCheckboxValueState.None) {
|
|
61
104
|
return this.valueStateMappings()[this.valueState];
|
|
62
105
|
}
|
|
63
106
|
}
|
|
107
|
+
|
|
108
|
+
get label(): Label | null {
|
|
109
|
+
return this.shadowRoot!.querySelector<Label>("[ui5-label]");
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
get labelHeight(): number {
|
|
113
|
+
return this.label?.getBoundingClientRect().height || 0;
|
|
114
|
+
}
|
|
64
115
|
}
|
|
65
116
|
|
|
66
117
|
UDExCheckbox.define();
|
package/src/ControlButton.ts
CHANGED
|
@@ -5,7 +5,8 @@ import Button from "@ui5/webcomponents/dist/Button.js";
|
|
|
5
5
|
// Styles
|
|
6
6
|
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
7
7
|
import ControlButtonCss from "./generated/themes/ControlButton.css.js";
|
|
8
|
-
import
|
|
8
|
+
import UDExButtonSize from "./types/ButtonSize.js";
|
|
9
|
+
import UDExControlButtonDesign from "./types/ControlButtonDesign.js";
|
|
9
10
|
|
|
10
11
|
/**
|
|
11
12
|
* @class
|
package/src/DatePicker.ts
CHANGED
|
@@ -28,13 +28,13 @@ export enum UDExDatePickerSelectionMode {
|
|
|
28
28
|
Range = "Range",
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
type UDExDatePickerSelectionChangeEventDetail = {
|
|
31
|
+
export type UDExDatePickerSelectionChangeEventDetail = {
|
|
32
32
|
selectedValues: Array<string>;
|
|
33
33
|
selectedDates: Array<number | undefined>;
|
|
34
34
|
timestamp: number | undefined;
|
|
35
35
|
};
|
|
36
36
|
|
|
37
|
-
type UDExDatePickerValueStateChangeEventDetail = {
|
|
37
|
+
export type UDExDatePickerValueStateChangeEventDetail = {
|
|
38
38
|
valueState: `${UDExValueState}`,
|
|
39
39
|
valid: boolean
|
|
40
40
|
}
|
package/src/FilterMenu.hbs
CHANGED
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
id="{{this._id}}_udex-filter-menu-dropdown"
|
|
39
39
|
hide-arrow
|
|
40
40
|
?allow-target-overlap="{{disableAllowTargetOverlap}}"
|
|
41
|
+
accessible-role="{{accessibleRole}}"
|
|
41
42
|
placement="{{placement}}"
|
|
42
43
|
horizontal-align="{{horizontalAlign}}"
|
|
43
44
|
@ui5-item-press="{{handleItemPress}}"
|
package/src/InputGroup.ts
CHANGED
|
@@ -15,12 +15,15 @@ import {
|
|
|
15
15
|
VALUE_STATE_ERROR,
|
|
16
16
|
VALUE_STATE_SUCCESS,
|
|
17
17
|
} from "./generated/i18n/i18n-defaults.js";
|
|
18
|
-
import type UDExValueState from "./types/common.js";
|
|
19
18
|
|
|
20
19
|
// Styles
|
|
21
20
|
import InputGroupCss from "./generated/themes/InputGroup.css.js";
|
|
22
21
|
|
|
23
|
-
export
|
|
22
|
+
export enum UDExGroupValueState {
|
|
23
|
+
Standard = "Standard",
|
|
24
|
+
Error = "Error",
|
|
25
|
+
Success = "Success",
|
|
26
|
+
}
|
|
24
27
|
|
|
25
28
|
export enum UDExOrientation {
|
|
26
29
|
Vertical = "Vertical",
|
package/src/Link.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
2
2
|
import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
|
|
3
|
-
import
|
|
3
|
+
import Link from "@ui5/webcomponents/dist/Link.js";
|
|
4
4
|
import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
|
|
5
5
|
|
|
6
6
|
// Styles
|
|
@@ -25,18 +25,17 @@ export type AttributeValuePair = {
|
|
|
25
25
|
* <code>import "@sapudex/web-components/dist/Link.js";</code>
|
|
26
26
|
*
|
|
27
27
|
* @constructor
|
|
28
|
-
* @
|
|
29
|
-
* @extends UI5Link
|
|
28
|
+
* @extends Link
|
|
30
29
|
* @tagname udex-link
|
|
31
30
|
* @public
|
|
32
31
|
*/
|
|
33
32
|
@customElement({
|
|
34
33
|
tag: "udex-link",
|
|
35
34
|
renderer: jsxRenderer,
|
|
36
|
-
styles: [
|
|
35
|
+
styles: [Link.styles, LinkCss],
|
|
37
36
|
})
|
|
38
37
|
|
|
39
|
-
class UDExLink extends
|
|
38
|
+
class UDExLink extends Link {
|
|
40
39
|
onEnterDOM(): void {
|
|
41
40
|
if (isDesktop()) {
|
|
42
41
|
this.setAttribute("desktop", "");
|
package/src/ListItem.ts
CHANGED
|
@@ -196,16 +196,16 @@ class UDExListItem extends UDExListItemBase {
|
|
|
196
196
|
* @slot
|
|
197
197
|
* @public
|
|
198
198
|
*/
|
|
199
|
-
@slot()
|
|
200
|
-
firstIcon!: Array<
|
|
199
|
+
@slot({ type: UDExButton })
|
|
200
|
+
firstIcon!: Array<UDExButton>;
|
|
201
201
|
/**
|
|
202
202
|
* Slot for second icon.
|
|
203
203
|
*
|
|
204
204
|
* @slot
|
|
205
205
|
* @public
|
|
206
206
|
*/
|
|
207
|
-
@slot()
|
|
208
|
-
secondIcon!: Array<
|
|
207
|
+
@slot({ type: UDExButton })
|
|
208
|
+
secondIcon!: Array<UDExButton>;
|
|
209
209
|
|
|
210
210
|
/**
|
|
211
211
|
* Defines the role attribute of component
|
package/src/MastheadItem.ts
CHANGED
|
@@ -549,7 +549,7 @@ class UDExMastheadItem extends UI5Element implements IMastheadItem {
|
|
|
549
549
|
}
|
|
550
550
|
|
|
551
551
|
get isMobile(): boolean {
|
|
552
|
-
return BreakpointUtils.
|
|
552
|
+
return BreakpointUtils.isAtMost("M") || this.mastheadShell?._isMobileMode;
|
|
553
553
|
}
|
|
554
554
|
|
|
555
555
|
get isTargetBlank(): boolean {
|
package/src/MediaPlayer.ts
CHANGED
|
@@ -19,6 +19,8 @@ import MediaPlayerTemplate from "./generated/templates/MediaPlayerTemplate.lit.j
|
|
|
19
19
|
// Styles
|
|
20
20
|
import MediaPlayerCss from "./generated/themes/MediaPlayer.css.js";
|
|
21
21
|
|
|
22
|
+
export type YoutubePlayer = YT.Player;
|
|
23
|
+
|
|
22
24
|
declare global {
|
|
23
25
|
interface Window {
|
|
24
26
|
videojs: any;
|
|
@@ -352,7 +354,7 @@ class UDExMediaPlayer extends UI5Element {
|
|
|
352
354
|
* Returns video element
|
|
353
355
|
* @public
|
|
354
356
|
*/
|
|
355
|
-
getPlayer(): HTMLVideoElement | HTMLAudioElement |
|
|
357
|
+
getPlayer(): HTMLVideoElement | HTMLAudioElement | YoutubePlayer | VimeoPlayer | null {
|
|
356
358
|
if (this._youtubeSrc) {
|
|
357
359
|
const player = this.shadowRoot?.querySelector("[udex-media-player-youtube]") as UDExMediaPlayerYoutube;
|
|
358
360
|
return player?.getPlayer() || null;
|