@sapudex/web-components 2.18.0 → 2.19.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.
Files changed (119) hide show
  1. package/bundle.esm.js +3 -0
  2. package/cypress/specs/BusyIndicator.cy.tsx +10 -0
  3. package/cypress/specs/FilterMenu.cy.tsx +1 -1
  4. package/cypress/specs/Footer.cy.tsx +7 -1
  5. package/cypress/specs/ImageGridTicker.cy.tsx +208 -0
  6. package/cypress/specs/ImageGridTickerItem.cy.tsx +74 -0
  7. package/cypress/specs/Table.cy.tsx +1 -1
  8. package/cypress/support/component-imports.instrumented.ts +52 -46
  9. package/cypress/support/component-imports.src.ts +53 -47
  10. package/dist/AssetsVariables.js +6 -0
  11. package/dist/AssetsVariables.js.map +1 -1
  12. package/dist/BusyIndicator.d.ts +22 -0
  13. package/dist/BusyIndicator.js +39 -0
  14. package/dist/BusyIndicator.js.map +1 -0
  15. package/dist/FilterMenu.js +2 -2
  16. package/dist/FilterMenu.js.map +1 -1
  17. package/dist/Footer.d.ts +10 -0
  18. package/dist/Footer.js +7 -0
  19. package/dist/Footer.js.map +1 -1
  20. package/dist/FooterTemplate.js +3 -3
  21. package/dist/FooterTemplate.js.map +1 -1
  22. package/dist/ImageGridTicker.d.ts +129 -0
  23. package/dist/ImageGridTicker.js +305 -0
  24. package/dist/ImageGridTicker.js.map +1 -0
  25. package/dist/ImageGridTickerItem.d.ts +50 -0
  26. package/dist/ImageGridTickerItem.js +61 -0
  27. package/dist/ImageGridTickerItem.js.map +1 -0
  28. package/dist/ImageGridTickerItemTemplate.d.ts +2 -0
  29. package/dist/ImageGridTickerItemTemplate.js +9 -0
  30. package/dist/ImageGridTickerItemTemplate.js.map +1 -0
  31. package/dist/ImageGridTickerTemplate.d.ts +2 -0
  32. package/dist/ImageGridTickerTemplate.js +14 -0
  33. package/dist/ImageGridTickerTemplate.js.map +1 -0
  34. package/dist/SelectBox.js +2 -0
  35. package/dist/SelectBox.js.map +1 -1
  36. package/dist/Table.js +2 -2
  37. package/dist/Table.js.map +1 -1
  38. package/dist/assets/{InputSuggestions-L-9bNSZM.js → InputSuggestions-EAcC3wZN.js} +1 -1
  39. package/dist/assets/{ListItemStandardExpandableTextTemplate-C2VMJfHu.js → ListItemStandardExpandableTextTemplate-Bb5Y2JOR.js} +1 -1
  40. package/dist/assets/{bundle.esm-D4RSd7yl.js → bundle.esm-BXDoCHfu.js} +217 -209
  41. package/dist/assets/messagebundle_en-BhTYnZbC.js +1 -0
  42. package/dist/css/themes/Button.css +1 -1
  43. package/dist/css/themes/CountrySelector.css +1 -1
  44. package/dist/css/themes/DatePickerPopover.css +1 -1
  45. package/dist/css/themes/ImageGridTicker.css +1 -0
  46. package/dist/css/themes/ImageGridTickerItem.css +1 -0
  47. package/dist/css/themes/RatingIndicator.css +1 -1
  48. package/dist/css/themes/Slider.css +1 -1
  49. package/dist/custom-elements-internal.json +403 -141
  50. package/dist/custom-elements.json +358 -126
  51. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  52. package/dist/generated/i18n/i18n-defaults.d.ts +3 -1
  53. package/dist/generated/i18n/i18n-defaults.js +3 -1
  54. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  55. package/dist/generated/templates/SearchTemplate.lit.js +1 -1
  56. package/dist/generated/templates/SearchTemplate.lit.js.map +1 -1
  57. package/dist/generated/templates/SearchableListBaseTemplate.lit.js +1 -1
  58. package/dist/generated/templates/SearchableListBaseTemplate.lit.js.map +1 -1
  59. package/dist/generated/templates/TableTemplate.lit.js +1 -1
  60. package/dist/generated/templates/TableTemplate.lit.js.map +1 -1
  61. package/dist/generated/themes/Button.css.d.ts +1 -1
  62. package/dist/generated/themes/Button.css.js +1 -1
  63. package/dist/generated/themes/Button.css.js.map +1 -1
  64. package/dist/generated/themes/CountrySelector.css.d.ts +1 -1
  65. package/dist/generated/themes/CountrySelector.css.js +1 -1
  66. package/dist/generated/themes/CountrySelector.css.js.map +1 -1
  67. package/dist/generated/themes/DatePickerPopover.css.d.ts +1 -1
  68. package/dist/generated/themes/DatePickerPopover.css.js +1 -1
  69. package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
  70. package/dist/generated/themes/ImageGridTicker.css.d.ts +2 -0
  71. package/dist/generated/themes/ImageGridTicker.css.js +8 -0
  72. package/dist/generated/themes/ImageGridTicker.css.js.map +1 -0
  73. package/dist/generated/themes/ImageGridTickerItem.css.d.ts +2 -0
  74. package/dist/generated/themes/ImageGridTickerItem.css.js +8 -0
  75. package/dist/generated/themes/ImageGridTickerItem.css.js.map +1 -0
  76. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  77. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  78. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  79. package/dist/generated/themes/Slider.css.d.ts +1 -1
  80. package/dist/generated/themes/Slider.css.js +1 -1
  81. package/dist/generated/themes/Slider.css.js.map +1 -1
  82. package/dist/messagebundle.properties +4 -0
  83. package/dist/messagebundle_en.properties +2 -0
  84. package/dist/vscode.html-custom-data.json +42 -1
  85. package/dist/web-types.json +108 -2
  86. package/package.json +1 -1
  87. package/src/AssetsVariables.ts +6 -0
  88. package/src/BusyIndicator.ts +33 -0
  89. package/src/FilterMenu.ts +2 -2
  90. package/src/Footer.ts +16 -0
  91. package/src/FooterTemplate.tsx +26 -11
  92. package/src/ImageGridTicker.ts +355 -0
  93. package/src/ImageGridTickerItem.ts +81 -0
  94. package/src/ImageGridTickerItemTemplate.tsx +28 -0
  95. package/src/ImageGridTickerTemplate.tsx +50 -0
  96. package/src/Search.hbs +0 -1
  97. package/src/SearchableListBase.hbs +2 -2
  98. package/src/SelectBox.ts +2 -0
  99. package/src/Table.hbs +2 -2
  100. package/src/Table.ts +2 -2
  101. package/src/generated/i18n/i18n-defaults.ts +2 -2
  102. package/src/generated/templates/SearchTemplate.lit.ts +1 -1
  103. package/src/generated/templates/SearchableListBaseTemplate.lit.ts +1 -1
  104. package/src/generated/templates/TableTemplate.lit.ts +1 -1
  105. package/src/generated/themes/Button.css.ts +1 -1
  106. package/src/generated/themes/CountrySelector.css.ts +1 -1
  107. package/src/generated/themes/DatePickerPopover.css.ts +1 -1
  108. package/src/generated/themes/ImageGridTicker.css.ts +9 -0
  109. package/src/generated/themes/ImageGridTickerItem.css.ts +9 -0
  110. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  111. package/src/generated/themes/Slider.css.ts +1 -1
  112. package/src/i18n/messagebundle.properties +4 -0
  113. package/src/i18n/messagebundle_en.properties +2 -0
  114. package/src/themes/Button.css +1 -0
  115. package/src/themes/CountrySelector.css +2 -2
  116. package/src/themes/DatePickerPopover.css +3 -2
  117. package/src/themes/ImageGridTicker.css +134 -0
  118. package/src/themes/ImageGridTickerItem.css +52 -0
  119. package/dist/assets/messagebundle_en-D6cJIiUq.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.css.js","sourceRoot":"","sources":["../../../src/generated/themes/Slider.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,yDAAyD,CAAC;AAExG,OAAO,gBAAgB,MAAM,uFAAuF,CAAC;AACrH,OAAO,YAAY,MAAM,wCAAwC,CAAC;AAElE,6BAA6B,CAAC,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,uBAAuB,EAAE,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC,gBAAgB,CAAC,CAAC;AACxH,6BAA6B,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC;AAChN,eAAe;CACd,CAAA","sourcesContent":["import { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@\" + \"ui5\" + \"/\" + \"webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@\" + \"s\" + \"a\" + \"p\" + \"u\" + \"d\" + \"e\" + \"x\" + \"/\" + \"w\" + \"e\" + \"b\" + \"-\" + \"c\" + \"o\" + \"m\" + \"p\" + \"o\" + \"n\" + \"e\" + \"n\" + \"t\" + \"s\", \"sap_horizon\", async () => defaultTheme);\nexport default `:host{--udex-slider-color-track-start-point: var(--sapSlider_Selected_Background, #0070f2);--udex-slider-color-track-active: var(--sapSlider_Selected_Background, #0070f2);--udex-slider-color-handle-focus-range: var(--sapSlider_Selected_BorderColor, #0070f2);--udex-slider-color-handle-active-background: var(--sapSlider_Active_HandleBackground, #ffffff);--udex-slider-color-handle-default-icon: var(--sapContent_Selected_ForegroundColor, #0040b0);--udex-slider-radius-range-size: var(--udexRadiusM, 8px);--udex-slider-handle-width: 2.75rem;--udex-slider-handle-top: -.875rem;--udex-slider-handle-height: var(--udexSpacer32, 2rem);--udex-slider-start-end-point-left: -.875rem;--udex-slider-start-end-point-right: -.875rem;--udex-slider-progress-after-background: var(--sapContent_MeasureIndicatorColor,#5b738b);--udex-slider-handle-icon-size: var(--udexSpacer20, 1.25rem);--udex-slider-tooltip-bottom: 2.5rem;--udex-slider-tooltip-border: 1px solid var(--sapField_BorderColor, #5B738B);--udex-slider-tooltip-border-radius: var(--udexSpacer4, .25rem);--udex-slider-tooltip-font-size: var(--udexTypographyNavigationRegularMFontSize,14px);--udex-slider-tooltip-color: var(--sapContent_MeasureIndicatorColor, #5b738b);--udex-slider-tooltip-height: var(--udexSpacer32, 2rem);--udex-slider-tooltip-min-width: 2.75rem;--udex-slider-tickmark-in-range-bg: var(--sapSlider_Selected_BorderColor,#0070f2);--udex-slider-tickmark-bg: var(--sapContent_MeasureIndicatorColor, #5b738b);--udex-slider-label-color: var(--sapContent_MeasureIndicatorColor, #5b738b);--udex-slider-handle-focus-border: 2px solid var(--sapSlider_Active_HandleBorderColor);--udex-slider-progress-focus-top: -1.18rem;--udex-slider-progress-focus-left:calc(-1.375rem - 5px);--udex-slider-progress-focus-height: 42px;--udex-slider-progress-focus-width:calc(100% + 2.75rem + 10px)}:host{font-family:var(--sapFontFamily);font-weight:var(--udexTypographyFontWeightRegular, 400);font-size:var(--udexTypographyNavigationRegularMFontSize, 14px);line-height:var(--udexTypographyHeadingLineHeight, 1.1);color:var(--sapContent_MeasureIndicatorColor, #5b738b);height:74px}.ui5-slider-progress-container:before{background-color:var(--udex-slider-color-track-start-point)}.ui5-slider-progress{background-color:var(--udex-slider-color-track-active)}.ui5-slider-progress:focus:after{border:2px solid var(--udex-slider-color-handle-focus-range);border-radius:var(--udex-slider-radius-range-size);top:var(--udex-slider-progress-focus-top);height:var(--udex-slider-progress-focus-height);width:var(--udex-slider-progress-focus-width);left:var(--udex-slider-progress-focus-left)}:host([desktop]) .ui5-slider-handle:focus,.ui5-slider-handle:focus-visible{background-color:var(--_ui5-v2-18-0_range_slider_handle_background_focus)}:host .ui5-slider-inner .ui5-slider-labels{top:34px}:host .ui5-slider-inner .ui5-slider-labels li{height:1.375rem;font-family:var(--sapFontFamily);font-size:var(--udexTypographyNavigationRegularMFontSize, 14px)}[slider-icon]{color:var(--udex-slider-color-handle-default-icon)}.ui5-slider-root:focus .ui5-slider-inner .ui5-slider-handle,.ui5-slider-handle:focus{border:var(--udex-slider-handle-focus-border)}.ui5-slider-labels li{color:var(--udex-slider-label-color)}.ui5-slider-tickmarks li{border-inline-start:1px solid var(--udex-slider-tickmark-bg)}.ui5-slider-tickmarks li.ui5-slider-tickmark-in-range{border-inline-start:1px solid var(--udex-slider-tickmark-in-range-bg)}:host(:not([hidden])) .ui5-slider-handle-container .ui5-slider-tooltip{bottom:var(--udex-slider-tooltip-bottom);border:var(--udex-slider-tooltip-border);border-radius:var(--udex-slider-tooltip-border-radius);font-size:var(--udex-slider-tooltip-font-size);color:var(--udex-slider-tooltip-color);height:var(--udex-slider-tooltip-height);min-width:var(--udex-slider-tooltip-min-width)}[slider-icon]{width:var(--udex-slider-handle-icon-size);height:var(--udex-slider-handle-icon-size)}.ui5-slider-progress-container:after{background-color:var(--udex-slider-progress-after-background)}.ui5-slider-progress-container:before{inset-inline-start:var(--udex-slider-start-end-point-left)}.ui5-slider-progress-container:after{inset-inline-end:var(--udex-slider-start-end-point-right)}.ui5-slider-handle-container{margin-inline-start:calc(-1 * var(--udex-slider-handle-width) / 2);top:var(--udex-slider-handle-top)}.ui5-slider-handle{height:var(--udex-slider-handle-height);width:var(--udex-slider-handle-width)}\n`"]}
1
+ {"version":3,"file":"Slider.css.js","sourceRoot":"","sources":["../../../src/generated/themes/Slider.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,yDAAyD,CAAC;AAExG,OAAO,gBAAgB,MAAM,uFAAuF,CAAC;AACrH,OAAO,YAAY,MAAM,wCAAwC,CAAC;AAElE,6BAA6B,CAAC,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,uBAAuB,EAAE,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC,gBAAgB,CAAC,CAAC;AACxH,6BAA6B,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC;AAChN,eAAe;CACd,CAAA","sourcesContent":["import { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@\" + \"ui5\" + \"/\" + \"webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@\" + \"s\" + \"a\" + \"p\" + \"u\" + \"d\" + \"e\" + \"x\" + \"/\" + \"w\" + \"e\" + \"b\" + \"-\" + \"c\" + \"o\" + \"m\" + \"p\" + \"o\" + \"n\" + \"e\" + \"n\" + \"t\" + \"s\", \"sap_horizon\", async () => defaultTheme);\nexport default `:host{--udex-slider-color-track-start-point: var(--sapSlider_Selected_Background, #0070f2);--udex-slider-color-track-active: var(--sapSlider_Selected_Background, #0070f2);--udex-slider-color-handle-focus-range: var(--sapSlider_Selected_BorderColor, #0070f2);--udex-slider-color-handle-active-background: var(--sapSlider_Active_HandleBackground, #ffffff);--udex-slider-color-handle-default-icon: var(--sapContent_Selected_ForegroundColor, #0040b0);--udex-slider-radius-range-size: var(--udexRadiusM, 8px);--udex-slider-handle-width: 2.75rem;--udex-slider-handle-top: -.875rem;--udex-slider-handle-height: var(--udexSpacer32, 2rem);--udex-slider-start-end-point-left: -.875rem;--udex-slider-start-end-point-right: -.875rem;--udex-slider-progress-after-background: var(--sapContent_MeasureIndicatorColor,#5b738b);--udex-slider-handle-icon-size: var(--udexSpacer20, 1.25rem);--udex-slider-tooltip-bottom: 2.5rem;--udex-slider-tooltip-border: 1px solid var(--sapField_BorderColor, #5B738B);--udex-slider-tooltip-border-radius: var(--udexSpacer4, .25rem);--udex-slider-tooltip-font-size: var(--udexTypographyNavigationRegularMFontSize,14px);--udex-slider-tooltip-color: var(--sapContent_MeasureIndicatorColor, #5b738b);--udex-slider-tooltip-height: var(--udexSpacer32, 2rem);--udex-slider-tooltip-min-width: 2.75rem;--udex-slider-tickmark-in-range-bg: var(--sapSlider_Selected_BorderColor,#0070f2);--udex-slider-tickmark-bg: var(--sapContent_MeasureIndicatorColor, #5b738b);--udex-slider-label-color: var(--sapContent_MeasureIndicatorColor, #5b738b);--udex-slider-handle-focus-border: 2px solid var(--sapSlider_Active_HandleBorderColor);--udex-slider-progress-focus-top: -1.18rem;--udex-slider-progress-focus-left:calc(-1.375rem - 5px);--udex-slider-progress-focus-height: 42px;--udex-slider-progress-focus-width:calc(100% + 2.75rem + 10px)}:host{font-family:var(--sapFontFamily);font-weight:var(--udexTypographyFontWeightRegular, 400);font-size:var(--udexTypographyNavigationRegularMFontSize, 14px);line-height:var(--udexTypographyHeadingLineHeight, 1.1);color:var(--sapContent_MeasureIndicatorColor, #5b738b);height:74px}.ui5-slider-progress-container:before{background-color:var(--udex-slider-color-track-start-point)}.ui5-slider-progress{background-color:var(--udex-slider-color-track-active)}.ui5-slider-progress:focus:after{border:2px solid var(--udex-slider-color-handle-focus-range);border-radius:var(--udex-slider-radius-range-size);top:var(--udex-slider-progress-focus-top);height:var(--udex-slider-progress-focus-height);width:var(--udex-slider-progress-focus-width);left:var(--udex-slider-progress-focus-left)}:host([desktop]) .ui5-slider-handle:focus,.ui5-slider-handle:focus-visible{background-color:var(--_ui5-v2-19-0_range_slider_handle_background_focus)}:host .ui5-slider-inner .ui5-slider-labels{top:34px}:host .ui5-slider-inner .ui5-slider-labels li{height:1.375rem;font-family:var(--sapFontFamily);font-size:var(--udexTypographyNavigationRegularMFontSize, 14px)}[slider-icon]{color:var(--udex-slider-color-handle-default-icon)}.ui5-slider-root:focus .ui5-slider-inner .ui5-slider-handle,.ui5-slider-handle:focus{border:var(--udex-slider-handle-focus-border)}.ui5-slider-labels li{color:var(--udex-slider-label-color)}.ui5-slider-tickmarks li{border-inline-start:1px solid var(--udex-slider-tickmark-bg)}.ui5-slider-tickmarks li.ui5-slider-tickmark-in-range{border-inline-start:1px solid var(--udex-slider-tickmark-in-range-bg)}:host(:not([hidden])) .ui5-slider-handle-container .ui5-slider-tooltip{bottom:var(--udex-slider-tooltip-bottom);border:var(--udex-slider-tooltip-border);border-radius:var(--udex-slider-tooltip-border-radius);font-size:var(--udex-slider-tooltip-font-size);color:var(--udex-slider-tooltip-color);height:var(--udex-slider-tooltip-height);min-width:var(--udex-slider-tooltip-min-width)}[slider-icon]{width:var(--udex-slider-handle-icon-size);height:var(--udex-slider-handle-icon-size)}.ui5-slider-progress-container:after{background-color:var(--udex-slider-progress-after-background)}.ui5-slider-progress-container:before{inset-inline-start:var(--udex-slider-start-end-point-left)}.ui5-slider-progress-container:after{inset-inline-end:var(--udex-slider-start-end-point-right)}.ui5-slider-handle-container{margin-inline-start:calc(-1 * var(--udex-slider-handle-width) / 2);top:var(--udex-slider-handle-top)}.ui5-slider-handle{height:var(--udex-slider-handle-height);width:var(--udex-slider-handle-width)}\n`"]}
@@ -258,3 +258,7 @@ PROMO_TILE=Promo Tile
258
258
 
259
259
  #Promo Tile Icon aria label
260
260
  PROMO_TILE_ICON=Promo Tile Icon
261
+
262
+ #Image Grid Tracker
263
+ PLAY_BUTTON_ACCESSIBLE_NAME=Start button to begin customer logos rotation
264
+ PAUSE_BUTTON_ACCESSIBLE_NAME=Pause button to stop customer logos rotation
@@ -125,3 +125,5 @@ SOCIAL_MEDIA_BUTTON=Social Media Button
125
125
  PROMO_TILE=Promo Tile
126
126
  PROMO_TILE_ICON=Promo Tile Icon
127
127
  BACK_TO_TOP=Back to top
128
+ PLAY_BUTTON_ACCESSIBLE_NAME=Start button to begin customer logos rotation
129
+ PAUSE_BUTTON_ACCESSIBLE_NAME=Pause button to stop customer logos rotation
@@ -218,6 +218,12 @@
218
218
  ],
219
219
  "references": []
220
220
  },
221
+ {
222
+ "name": "udex-busy-indicator",
223
+ "description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-busy-indicator</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/BusyIndicator.js\";</code>\n\n\n---\n\n\n",
224
+ "attributes": [],
225
+ "references": []
226
+ },
221
227
  {
222
228
  "name": "udex-button",
223
229
  "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",
@@ -1067,7 +1073,7 @@
1067
1073
  },
1068
1074
  {
1069
1075
  "name": "udex-footer",
1070
- "description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-footer</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/Footer.js\";</code>\n\n\n---\n\n\n\n\n### **Events:**\n - **logo-click** - Triggered on click interaction with logo in footer\n- **back-to-top-click** - Triggered on click interaction with \"Back to Top\" button\n- **contact-phone-click** - Triggered on click interaction with phone number link in footer\n- **contact-phone-local-numbers-click** - Triggered on click interaction with local country numbers list link\n- **contact-email-click** - Triggered on click interaction with \"Contact us by email\" link\n- **contact-chat-click** - Triggered on click interaction with \"Contact us by chat\" link\n- **quick-links-click** - Triggered on click interaction with a link within \"Quick Links\" category\n- **trending-click** - Triggered on click interaction with a link within \"Trending\" category\n- **about-sap-click** - Triggered on click interaction with a link within \"About SAP\" category\n- **site-information-click** - Triggered on click interaction with a link within \"Site Information\" category\n- **social-media-link-click** - Triggered on click interaction with any of the social media links within footer\n- **accordion-item-click** - Triggered when the user clicks on an accordion item.",
1076
+ "description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-footer</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/Footer.js\";</code>\n\n\n---\n\n\n\n\n### **Events:**\n - **logo-click** - Triggered on click interaction with logo in footer\n- **back-to-top-click** - Triggered on click interaction with \"Back to Top\" button\n- **contact-phone-click** - Triggered on click interaction with phone number link in footer\n- **contact-phone-local-numbers-click** - Triggered on click interaction with local country numbers list link\n- **contact-email-click** - Triggered on click interaction with \"Contact us by email\" link\n- **contact-chat-click** - Triggered on click interaction with \"Contact us by chat\" link\n- **quick-links-click** - Triggered on click interaction with a link within \"Quick Links\" category\n- **trending-click** - Triggered on click interaction with a link within \"Trending\" category\n- **about-sap-click** - Triggered on click interaction with a link within \"About SAP\" category\n- **site-information-click** - Triggered on click interaction with a link within \"Site Information\" category\n- **social-media-link-click** - Triggered on click interaction with any of the social media links within footer\n- **accordion-item-click** - Triggered when the user clicks on an accordion item.\n\n### **Slots:**\n - **customSocialLinks** - Defines the slot for custom Social Links.",
1071
1077
  "attributes": [
1072
1078
  {
1073
1079
  "name": "logo-title",
@@ -1230,6 +1236,41 @@
1230
1236
  ],
1231
1237
  "references": []
1232
1238
  },
1239
+ {
1240
+ "name": "udex-image-grid-ticker",
1241
+ "description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-image-grid-ticker</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/ImageGridTicker.js\";</code>\n\n\n---\n\n\n\n\n### **Events:**\n - **play-button-click** - Fired event when the user click on a play/paused button.\n\n### **Slots:**\n - **default** - Slot for image grid ticker items.",
1242
+ "attributes": [
1243
+ {
1244
+ "name": "grayscale",
1245
+ "description": "Grayscale mode enhances visual harmony and can be used for minimal,\nprofessional layouts or to de-emphasize logos.",
1246
+ "values": []
1247
+ }
1248
+ ],
1249
+ "references": []
1250
+ },
1251
+ {
1252
+ "name": "udex-image-grid-ticker-item",
1253
+ "description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-image-grid-ticker-item</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/ImageGridTickerItem.js\";</code>\n\n\n---\n\n\n",
1254
+ "attributes": [
1255
+ {
1256
+ "name": "src",
1257
+ "description": "Defines the source URL",
1258
+ "values": []
1259
+ },
1260
+ {
1261
+ "name": "alt",
1262
+ "description": "Defines image alt text",
1263
+ "values": []
1264
+ },
1265
+ {
1266
+ "name": "tooltip",
1267
+ "description": "Defines tooltip on hover",
1268
+ "values": []
1269
+ },
1270
+ { "name": "href", "description": "Defines link URL", "values": [] }
1271
+ ],
1272
+ "references": []
1273
+ },
1233
1274
  {
1234
1275
  "name": "udex-input-group",
1235
1276
  "description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-input-group</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/InputGroup.js\";</code>\n\n\n---\n\n\n\n\n### **Slots:**\n - **default** - Slot for input elements items.",
@@ -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.18.0",
4
+ "version": "2.19.0",
5
5
  "description-markup": "markdown",
6
6
  "contributions": {
7
7
  "html": {
@@ -482,6 +482,14 @@
482
482
  "events": []
483
483
  }
484
484
  },
485
+ {
486
+ "name": "udex-busy-indicator",
487
+ "description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-busy-indicator</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/BusyIndicator.js\";</code>\n---\n",
488
+ "doc-url": "",
489
+ "attributes": [],
490
+ "events": [],
491
+ "js": { "properties": [], "events": [] }
492
+ },
485
493
  {
486
494
  "name": "udex-button",
487
495
  "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",
@@ -2366,7 +2374,7 @@
2366
2374
  },
2367
2375
  {
2368
2376
  "name": "udex-footer",
2369
- "description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-footer</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/Footer.js\";</code>\n---\n\n\n### **Events:**\n - **logo-click** - Triggered on click interaction with logo in footer\n- **back-to-top-click** - Triggered on click interaction with \"Back to Top\" button\n- **contact-phone-click** - Triggered on click interaction with phone number link in footer\n- **contact-phone-local-numbers-click** - Triggered on click interaction with local country numbers list link\n- **contact-email-click** - Triggered on click interaction with \"Contact us by email\" link\n- **contact-chat-click** - Triggered on click interaction with \"Contact us by chat\" link\n- **quick-links-click** - Triggered on click interaction with a link within \"Quick Links\" category\n- **trending-click** - Triggered on click interaction with a link within \"Trending\" category\n- **about-sap-click** - Triggered on click interaction with a link within \"About SAP\" category\n- **site-information-click** - Triggered on click interaction with a link within \"Site Information\" category\n- **social-media-link-click** - Triggered on click interaction with any of the social media links within footer\n- **accordion-item-click** - Triggered when the user clicks on an accordion item.",
2377
+ "description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-footer</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/Footer.js\";</code>\n---\n\n\n### **Events:**\n - **logo-click** - Triggered on click interaction with logo in footer\n- **back-to-top-click** - Triggered on click interaction with \"Back to Top\" button\n- **contact-phone-click** - Triggered on click interaction with phone number link in footer\n- **contact-phone-local-numbers-click** - Triggered on click interaction with local country numbers list link\n- **contact-email-click** - Triggered on click interaction with \"Contact us by email\" link\n- **contact-chat-click** - Triggered on click interaction with \"Contact us by chat\" link\n- **quick-links-click** - Triggered on click interaction with a link within \"Quick Links\" category\n- **trending-click** - Triggered on click interaction with a link within \"Trending\" category\n- **about-sap-click** - Triggered on click interaction with a link within \"About SAP\" category\n- **site-information-click** - Triggered on click interaction with a link within \"Site Information\" category\n- **social-media-link-click** - Triggered on click interaction with any of the social media links within footer\n- **accordion-item-click** - Triggered when the user clicks on an accordion item.\n\n### **Slots:**\n - **customSocialLinks** - Defines the slot for custom Social Links.",
2370
2378
  "doc-url": "",
2371
2379
  "attributes": [
2372
2380
  {
@@ -2490,6 +2498,12 @@
2490
2498
  "value": { "type": "string", "default": "chineseICPDefaultLink" }
2491
2499
  }
2492
2500
  ],
2501
+ "slots": [
2502
+ {
2503
+ "name": "customSocialLinks",
2504
+ "description": "Defines the slot for custom Social Links."
2505
+ }
2506
+ ],
2493
2507
  "events": [
2494
2508
  {
2495
2509
  "name": "logo-click",
@@ -2813,6 +2827,98 @@
2813
2827
  "events": []
2814
2828
  }
2815
2829
  },
2830
+ {
2831
+ "name": "udex-image-grid-ticker",
2832
+ "description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-image-grid-ticker</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/ImageGridTicker.js\";</code>\n---\n\n\n### **Events:**\n - **play-button-click** - Fired event when the user click on a play/paused button.\n\n### **Slots:**\n - **default** - Slot for image grid ticker items.",
2833
+ "doc-url": "",
2834
+ "attributes": [
2835
+ {
2836
+ "name": "grayscale",
2837
+ "description": "Grayscale mode enhances visual harmony and can be used for minimal,\nprofessional layouts or to de-emphasize logos.",
2838
+ "value": { "type": "boolean", "default": "false" }
2839
+ }
2840
+ ],
2841
+ "slots": [
2842
+ {
2843
+ "name": "default",
2844
+ "description": "Slot for image grid ticker items."
2845
+ }
2846
+ ],
2847
+ "events": [
2848
+ {
2849
+ "name": "play-button-click",
2850
+ "description": "Fired event when the user click on a play/paused button."
2851
+ }
2852
+ ],
2853
+ "js": {
2854
+ "properties": [
2855
+ {
2856
+ "name": "grayscale",
2857
+ "description": "Grayscale mode enhances visual harmony and can be used for minimal,\nprofessional layouts or to de-emphasize logos.",
2858
+ "value": { "type": "boolean" }
2859
+ }
2860
+ ],
2861
+ "events": [
2862
+ {
2863
+ "name": "play-button-click",
2864
+ "description": "Fired event when the user click on a play/paused button."
2865
+ }
2866
+ ]
2867
+ }
2868
+ },
2869
+ {
2870
+ "name": "udex-image-grid-ticker-item",
2871
+ "description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-image-grid-ticker-item</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/ImageGridTickerItem.js\";</code>\n---\n",
2872
+ "doc-url": "",
2873
+ "attributes": [
2874
+ {
2875
+ "name": "src",
2876
+ "description": "Defines the source URL",
2877
+ "value": { "type": "string", "default": "\"\"" }
2878
+ },
2879
+ {
2880
+ "name": "alt",
2881
+ "description": "Defines image alt text",
2882
+ "value": { "type": "string | undefined", "default": "undefined" }
2883
+ },
2884
+ {
2885
+ "name": "tooltip",
2886
+ "description": "Defines tooltip on hover",
2887
+ "value": { "type": "string | undefined", "default": "undefined" }
2888
+ },
2889
+ {
2890
+ "name": "href",
2891
+ "description": "Defines link URL",
2892
+ "value": { "type": "string | undefined", "default": "undefined" }
2893
+ }
2894
+ ],
2895
+ "events": [],
2896
+ "js": {
2897
+ "properties": [
2898
+ {
2899
+ "name": "src",
2900
+ "description": "Defines the source URL",
2901
+ "value": { "type": "string" }
2902
+ },
2903
+ {
2904
+ "name": "alt",
2905
+ "description": "Defines image alt text",
2906
+ "value": { "type": "string | undefined" }
2907
+ },
2908
+ {
2909
+ "name": "tooltip",
2910
+ "description": "Defines tooltip on hover",
2911
+ "value": { "type": "string | undefined" }
2912
+ },
2913
+ {
2914
+ "name": "href",
2915
+ "description": "Defines link URL",
2916
+ "value": { "type": "string | undefined" }
2917
+ }
2918
+ ],
2919
+ "events": []
2920
+ }
2921
+ },
2816
2922
  {
2817
2923
  "name": "udex-input-group",
2818
2924
  "description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-input-group</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/InputGroup.js\";</code>\n---\n\n\n### **Slots:**\n - **default** - Slot for input elements items.",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@sapudex/web-components",
4
- "version": "2.18.0",
4
+ "version": "2.19.0",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
7
7
  },
@@ -51,6 +51,12 @@ const variablesOverwrite = `
51
51
  [udex-search] {
52
52
  ${getScopedVarName("--_ui5_button_pressed_focused_border_color")}: transparent;
53
53
  }
54
+
55
+ [udex-upload] {
56
+ ${getScopedVarName("--_ui5_input_focus_offset")}: 2px;
57
+ ${getScopedVarName("--_ui5_input_focus_border_radius")}: 0.375rem;
58
+ ${getScopedVarName("--_ui5_input_focus_outline_color")}: var(--sapContent_FocusColor);
59
+ }
54
60
 
55
61
  .sapUiSizeCompact,
56
62
  .ui5-content-density-compact,
@@ -0,0 +1,33 @@
1
+ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
2
+ import UI5BusyIndicator from "@ui5/webcomponents/dist/BusyIndicator.js";
3
+ import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
4
+
5
+ /**
6
+ * @class
7
+ *
8
+ * <h3 class="comment-api-title">Overview</h3>
9
+ *
10
+ *
11
+ * <h3>Usage</h3>
12
+ *
13
+ * For the <code>udex-busy-indicator</code>
14
+ * <h3>ES6 Module Import</h3>
15
+ *
16
+ * <code>import "@sapudex/web-components/dist/BusyIndicator.js";</code>
17
+ *
18
+ * @constructor
19
+ * @extends UI5BusyIndicator
20
+ * @tagname udex-busy-indicator
21
+ * @public
22
+ */
23
+ @customElement({
24
+ tag: "udex-busy-indicator",
25
+ renderer: jsxRenderer,
26
+ styles: [UI5BusyIndicator.styles],
27
+ })
28
+
29
+ class UDExBusyIndicator extends UI5BusyIndicator {}
30
+
31
+ UDExBusyIndicator.define();
32
+
33
+ export default UDExBusyIndicator;
package/src/FilterMenu.ts CHANGED
@@ -9,7 +9,7 @@ import {
9
9
  } from "@ui5/webcomponents-base/dist/Keys.js";
10
10
  import PopupAccessibleRole from "@ui5/webcomponents/dist/types/PopupAccessibleRole.js";
11
11
  import Popover from "@ui5/webcomponents/dist/Popover.js";
12
- import BusyIndicator from "@ui5/webcomponents/dist/BusyIndicator.js";
12
+ import UDExBusyIndicator from "./BusyIndicator.js";
13
13
  import Icon from "@ui5/webcomponents/dist/Icon.js";
14
14
  import UDExList from "./List.js";
15
15
  import UDExListItem from "./ListItem.js";
@@ -79,7 +79,7 @@ type UDExFilterMenuResetClickEventDetail = {
79
79
  dependencies: [
80
80
  Popover,
81
81
  Icon,
82
- BusyIndicator,
82
+ UDExBusyIndicator,
83
83
  UDExFilterMenuItem,
84
84
  UDExFilterMenuGroupHeader,
85
85
  UDExFilterMenuSelectAll,
package/src/Footer.ts CHANGED
@@ -3,6 +3,7 @@ import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
3
3
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
4
4
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
5
5
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
6
+ import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
6
7
  import type { ResizeObserverCallback } from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
7
8
  import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
8
9
  import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
@@ -49,6 +50,7 @@ export type FooterLink = {
49
50
  title: string;
50
51
  url: string;
51
52
  target: UDExTarget;
53
+ role?: string;
52
54
  };
53
55
 
54
56
  export type FooterSocialLink = {
@@ -194,6 +196,16 @@ class UDExFooter extends UI5Element {
194
196
  "social-media-link-click": UDExFooterDetailedClickEventDetail,
195
197
  "accordion-item-click": UDExAccordionItemClickEventDetail,
196
198
  };
199
+
200
+ /**
201
+ * Defines the slot for custom Social Links.
202
+ *
203
+ * @slot content
204
+ * @public
205
+ */
206
+ @slot({ type: HTMLElement, individualSlots: true })
207
+ customSocialLinks!: Array<UDExSocialMediaButton>;
208
+
197
209
  /**
198
210
  * Defines the Logo default title
199
211
  *
@@ -574,6 +586,10 @@ class UDExFooter extends UI5Element {
574
586
  return UDExFooter.i18nBundle.getText(BACK_TO_TOP);
575
587
  }
576
588
 
589
+ get hasSocialLinksSlot(): boolean {
590
+ return !!this.customSocialLinks.length;
591
+ }
592
+
577
593
  _onLogoClick(e: MouseEvent): void {
578
594
  this.fireFooterBaseEvent(e, "logo-click");
579
595
  }
@@ -16,6 +16,7 @@ import UDExAccordionItem from "./AccordionItem.js";
16
16
  import UDExButton from "./Button.js";
17
17
  import UDExButtonDesign from "./types/ButtonDesign.js";
18
18
  import UDExButtonSize from "./types/ButtonSize.js";
19
+ import type { AriaRole } from "@ui5/webcomponents-base";
19
20
 
20
21
  export default function FooterTemplate(this: Footer) {
21
22
  const rootClass = "udex-footer";
@@ -178,7 +179,7 @@ export default function FooterTemplate(this: Footer) {
178
179
  <span className={`${rootClass}__copyright-text`}>{this.copyrightText}</span>
179
180
  </div>
180
181
 
181
- {this.socialLinksArray.length > 0 && (
182
+ {(this.socialLinksArray.length > 0 || this.hasSocialLinksSlot) && (
182
183
  <ul className={`${rootClass}__social-container`}>
183
184
  {this.socialLinksArray.map((social, index) => (
184
185
  <UDExSocialMediaButton
@@ -193,6 +194,13 @@ export default function FooterTemplate(this: Footer) {
193
194
  onui5-click={this._onSocialMediaLinkClick}>
194
195
  </UDExSocialMediaButton>
195
196
  ))}
197
+ {this.hasSocialLinksSlot && (
198
+ <>
199
+ {this.customSocialLinks.map(link =>
200
+ <slot name={link._individualSlot}></slot>
201
+ )}
202
+ </>
203
+ )}
196
204
  </ul>
197
205
  )}
198
206
  </div>
@@ -203,8 +211,7 @@ export default function FooterTemplate(this: Footer) {
203
211
  onClick={this.onBackToTopClick}
204
212
  design={UDExButtonDesign.Tertiary}
205
213
  size={UDExButtonSize.Large}
206
- tooltip={this.backToTopTitle}
207
- accessibleName={this.backToTopTitle}>
214
+ tooltip={this.backToTopTitle}>
208
215
  </UDExButton>
209
216
  </footer>
210
217
  );
@@ -224,7 +231,8 @@ function mobileNavigation(this: Footer, rootClass: string) {
224
231
  aria-describedby={`${rootClass}__quick-links`}
225
232
  href={link.url}
226
233
  data-id={link.id}
227
- onClick={this._onQuickLinksClick}>
234
+ onClick={this._onQuickLinksClick}
235
+ {...(link.role ? { "role": link.role as AriaRole } : {})}>
228
236
  {link.title}
229
237
  </a>
230
238
  </li>
@@ -248,7 +256,8 @@ function mobileNavigation(this: Footer, rootClass: string) {
248
256
  aria-describedby={`${rootClass}__footer__trending`}
249
257
  href={link.url}
250
258
  data-id={link.id}
251
- onClick={this._onTrendingClick}>
259
+ onClick={this._onTrendingClick}
260
+ {...(link.role ? { "role": link.role as AriaRole } : {})}>
252
261
  {link.title}
253
262
  </a>
254
263
  </li>
@@ -272,7 +281,8 @@ function mobileNavigation(this: Footer, rootClass: string) {
272
281
  aria-describedby={`${rootClass}__about`}
273
282
  href={link.url}
274
283
  data-id={link.id}
275
- onClick={this._onAboutSapClick}>
284
+ onClick={this._onAboutSapClick}
285
+ {...(link.role ? { "role": link.role as AriaRole } : {})}>
276
286
  {link.title}
277
287
  </a>
278
288
  </li>
@@ -296,7 +306,8 @@ function mobileNavigation(this: Footer, rootClass: string) {
296
306
  aria-describedby={`${rootClass}__site-information`}
297
307
  href={link.url}
298
308
  data-id={link.id}
299
- onClick={this._onSiteInformationClick}>
309
+ onClick={this._onSiteInformationClick}
310
+ {...(link.role ? { "role": link.role as AriaRole } : {})}>
300
311
  {link.title}
301
312
  </a>
302
313
  </li>
@@ -329,7 +340,8 @@ function desktopNavigation(this: Footer, rootClass: string) {
329
340
  aria-describedby={`${rootClass}__quick-links`}
330
341
  data-id={link.id}
331
342
  href={link.url}
332
- onClick={this._onQuickLinksClick}>
343
+ onClick={this._onQuickLinksClick}
344
+ {...(link.role ? { "role": link.role as AriaRole } : {})}>
333
345
  {link.title}
334
346
  </a>
335
347
  </li>
@@ -352,7 +364,8 @@ function desktopNavigation(this: Footer, rootClass: string) {
352
364
  aria-describedby={`${rootClass}__footer__trending`}
353
365
  data-id={link.id}
354
366
  href={link.url}
355
- onClick={this._onTrendingClick}>
367
+ onClick={this._onTrendingClick}
368
+ {...(link.role ? { "role": link.role as AriaRole } : {})}>
356
369
  {link.title}
357
370
  </a>
358
371
  </li>
@@ -375,7 +388,8 @@ function desktopNavigation(this: Footer, rootClass: string) {
375
388
  aria-describedby={`${rootClass}__about`}
376
389
  data-id={link.id}
377
390
  href={link.url}
378
- onClick={this._onAboutSapClick}>
391
+ onClick={this._onAboutSapClick}
392
+ {...(link.role ? { "role": link.role as AriaRole } : {})}>
379
393
  {link.title}
380
394
  </a>
381
395
  </li>
@@ -398,7 +412,8 @@ function desktopNavigation(this: Footer, rootClass: string) {
398
412
  aria-describedby={`${rootClass}__site-information`}
399
413
  data-id={link.id}
400
414
  href={link.url}
401
- onClick={this._onSiteInformationClick}>
415
+ onClick={this._onSiteInformationClick}
416
+ {...(link.role ? { "role": link.role as AriaRole } : {})}>
402
417
  {link.title}
403
418
  </a>
404
419
  </li>