@sapudex/web-components 2.36.0 → 2.38.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 (215) hide show
  1. package/cypress/specs/List.cy.tsx +38 -0
  2. package/cypress/specs/Pagination.cy.tsx +52 -0
  3. package/cypress/specs/PasswordField.cy.tsx +36 -0
  4. package/cypress/specs/Search.cy.tsx +265 -0
  5. package/cypress/specs/SelectBox.cy.tsx +19 -1
  6. package/cypress/specs/TabNavigation.cy.tsx +314 -0
  7. package/cypress/specs/Table.cy.tsx +170 -0
  8. package/cypress/support/component-imports.instrumented.ts +2 -0
  9. package/cypress/support/component-imports.src.ts +2 -0
  10. package/dist/CountrySelector.d.ts +2 -0
  11. package/dist/CountrySelector.js +12 -3
  12. package/dist/CountrySelector.js.map +1 -1
  13. package/dist/CountrySelectorTemplate.d.ts +2 -0
  14. package/dist/CountrySelectorTemplate.js +8 -0
  15. package/dist/CountrySelectorTemplate.js.map +1 -0
  16. package/dist/FilterMenu.d.ts +3 -3
  17. package/dist/FilterMenu.js +8 -9
  18. package/dist/FilterMenu.js.map +1 -1
  19. package/dist/FilterMenuTemplate.d.ts +2 -0
  20. package/dist/FilterMenuTemplate.js +27 -0
  21. package/dist/FilterMenuTemplate.js.map +1 -0
  22. package/dist/List.d.ts +1 -0
  23. package/dist/List.js +4 -0
  24. package/dist/List.js.map +1 -1
  25. package/dist/Pagination.js +1 -0
  26. package/dist/Pagination.js.map +1 -1
  27. package/dist/PasswordField.d.ts +16 -0
  28. package/dist/PasswordField.js +40 -0
  29. package/dist/PasswordField.js.map +1 -1
  30. package/dist/PasswordFieldTemplate.js +1 -1
  31. package/dist/PasswordFieldTemplate.js.map +1 -1
  32. package/dist/Search.d.ts +1 -0
  33. package/dist/Search.js +6 -0
  34. package/dist/Search.js.map +1 -1
  35. package/dist/SearchableListBaseTemplate.d.ts +2 -0
  36. package/dist/SearchableListBaseTemplate.js +32 -0
  37. package/dist/SearchableListBaseTemplate.js.map +1 -0
  38. package/dist/SecondaryNavigation.d.ts +2 -0
  39. package/dist/SecondaryNavigation.js +20 -0
  40. package/dist/SecondaryNavigation.js.map +1 -1
  41. package/dist/SelectBase.d.ts +7 -6
  42. package/dist/SelectBase.js +2 -2
  43. package/dist/SelectBase.js.map +1 -1
  44. package/dist/SelectBox.d.ts +2 -0
  45. package/dist/SelectBox.js +12 -3
  46. package/dist/SelectBox.js.map +1 -1
  47. package/dist/SelectBoxTemplate.d.ts +2 -0
  48. package/dist/SelectBoxTemplate.js +27 -0
  49. package/dist/SelectBoxTemplate.js.map +1 -0
  50. package/dist/Tab.d.ts +9 -0
  51. package/dist/Tab.js +6 -0
  52. package/dist/Tab.js.map +1 -1
  53. package/dist/TabNavigation.js +32 -12
  54. package/dist/TabNavigation.js.map +1 -1
  55. package/dist/TableGroupRowTemplate.js +1 -1
  56. package/dist/TableGroupRowTemplate.js.map +1 -1
  57. package/dist/TableTemplate.js +1 -1
  58. package/dist/TableTemplate.js.map +1 -1
  59. package/dist/TagTemplate.js +2 -4
  60. package/dist/TagTemplate.js.map +1 -1
  61. package/dist/TextField.js +1 -0
  62. package/dist/TextField.js.map +1 -1
  63. package/dist/Wizard.d.ts +2 -2
  64. package/dist/Wizard.js +7 -7
  65. package/dist/Wizard.js.map +1 -1
  66. package/dist/assets/{InputSuggestions-BIR_sdOv.js → InputSuggestions-BQp20KJM.js} +1 -1
  67. package/dist/assets/{ListItemStandardExpandableTextTemplate-5xOuY0en.js → ListItemStandardExpandableTextTemplate-D0w0u6f7.js} +1 -1
  68. package/dist/assets/{bundle.esm-C8GwJvJr.js → bundle.esm-DIFG6k5I.js} +240 -240
  69. package/dist/assets/messagebundle_bg-4ainC3nj.js +1 -0
  70. package/dist/assets/messagebundle_cs-CFtmLavu.js +1 -0
  71. package/dist/assets/messagebundle_en-BxjFAY2S.js +1 -0
  72. package/dist/css/themes/MastheadMenu.css +1 -1
  73. package/dist/css/themes/MastheadMobileMenu.css +1 -1
  74. package/dist/css/themes/MediaPlayer.css +1 -1
  75. package/dist/css/themes/RatingBar.css +1 -1
  76. package/dist/css/themes/RatingIndicator.css +1 -1
  77. package/dist/css/themes/SecondaryNavigationSubItem.css +1 -1
  78. package/dist/css/themes/Slider.css +1 -1
  79. package/dist/css/themes/TabNavigation.css +1 -1
  80. package/dist/css/themes/TableGroupRow.css +1 -1
  81. package/dist/css/themes/Wizard.css +1 -1
  82. package/dist/css/themes/WizardTab.css +1 -1
  83. package/dist/custom-elements-internal.json +65 -0
  84. package/dist/custom-elements.json +49 -0
  85. package/dist/features/SearchSuggestionsPopover.d.ts +4 -0
  86. package/dist/features/SearchSuggestionsPopover.js +56 -3
  87. package/dist/features/SearchSuggestionsPopover.js.map +1 -1
  88. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  89. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  90. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  91. package/dist/generated/i18n/i18n-defaults.d.ts +2 -3
  92. package/dist/generated/i18n/i18n-defaults.js +2 -3
  93. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  94. package/dist/generated/templates/ListTemplate.lit.js +1 -1
  95. package/dist/generated/templates/ListTemplate.lit.js.map +1 -1
  96. package/dist/generated/templates/TabHeaderTemplate.lit.js +4 -4
  97. package/dist/generated/templates/TabHeaderTemplate.lit.js.map +1 -1
  98. package/dist/generated/templates/TabInOverflowTemplate.lit.js +2 -2
  99. package/dist/generated/templates/TabInOverflowTemplate.lit.js.map +1 -1
  100. package/dist/generated/themes/MastheadMenu.css.d.ts +1 -1
  101. package/dist/generated/themes/MastheadMenu.css.js +1 -1
  102. package/dist/generated/themes/MastheadMenu.css.js.map +1 -1
  103. package/dist/generated/themes/MastheadMobileMenu.css.d.ts +1 -1
  104. package/dist/generated/themes/MastheadMobileMenu.css.js +1 -1
  105. package/dist/generated/themes/MastheadMobileMenu.css.js.map +1 -1
  106. package/dist/generated/themes/MediaPlayer.css.d.ts +1 -1
  107. package/dist/generated/themes/MediaPlayer.css.js +1 -1
  108. package/dist/generated/themes/MediaPlayer.css.js.map +1 -1
  109. package/dist/generated/themes/RatingBar.css.d.ts +1 -1
  110. package/dist/generated/themes/RatingBar.css.js +1 -1
  111. package/dist/generated/themes/RatingBar.css.js.map +1 -1
  112. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  113. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  114. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  115. package/dist/generated/themes/SecondaryNavigationSubItem.css.d.ts +1 -1
  116. package/dist/generated/themes/SecondaryNavigationSubItem.css.js +1 -1
  117. package/dist/generated/themes/SecondaryNavigationSubItem.css.js.map +1 -1
  118. package/dist/generated/themes/Slider.css.d.ts +1 -1
  119. package/dist/generated/themes/Slider.css.js +1 -1
  120. package/dist/generated/themes/Slider.css.js.map +1 -1
  121. package/dist/generated/themes/TabNavigation.css.d.ts +1 -1
  122. package/dist/generated/themes/TabNavigation.css.js +1 -1
  123. package/dist/generated/themes/TabNavigation.css.js.map +1 -1
  124. package/dist/generated/themes/TableGroupRow.css.d.ts +1 -1
  125. package/dist/generated/themes/TableGroupRow.css.js +1 -1
  126. package/dist/generated/themes/TableGroupRow.css.js.map +1 -1
  127. package/dist/generated/themes/Wizard.css.d.ts +1 -1
  128. package/dist/generated/themes/Wizard.css.js +1 -1
  129. package/dist/generated/themes/Wizard.css.js.map +1 -1
  130. package/dist/generated/themes/WizardTab.css.d.ts +1 -1
  131. package/dist/generated/themes/WizardTab.css.js +1 -1
  132. package/dist/generated/themes/WizardTab.css.js.map +1 -1
  133. package/dist/messagebundle.properties +1 -6
  134. package/dist/messagebundle_bg.properties +129 -2
  135. package/dist/messagebundle_cs.properties +126 -0
  136. package/dist/messagebundle_en.properties +3 -1
  137. package/dist/vscode.html-custom-data.json +6 -1
  138. package/dist/web-types.json +42 -4
  139. package/package.json +1 -1
  140. package/src/CountrySelector.ts +14 -3
  141. package/src/CountrySelectorTemplate.tsx +12 -0
  142. package/src/FilterMenu.ts +9 -10
  143. package/src/FilterMenuTemplate.tsx +104 -0
  144. package/src/List.hbs +1 -1
  145. package/src/List.ts +5 -0
  146. package/src/Pagination.ts +1 -0
  147. package/src/PasswordField.ts +55 -0
  148. package/src/PasswordFieldTemplate.tsx +3 -0
  149. package/src/Search.ts +7 -0
  150. package/src/SearchableListBaseTemplate.tsx +157 -0
  151. package/src/SecondaryNavigation.ts +20 -0
  152. package/src/SelectBase.ts +7 -6
  153. package/src/SelectBox.ts +14 -3
  154. package/src/SelectBoxTemplate.tsx +165 -0
  155. package/src/Tab.ts +14 -0
  156. package/src/TabHeader.hbs +6 -2
  157. package/src/TabInOverflow.hbs +2 -0
  158. package/src/TabNavigation.ts +34 -12
  159. package/src/TableGroupRowTemplate.tsx +26 -17
  160. package/src/TableTemplate.tsx +1 -1
  161. package/src/TagTemplate.tsx +2 -4
  162. package/src/TextField.ts +1 -0
  163. package/src/Wizard.ts +15 -14
  164. package/src/features/SearchSuggestionsPopover.ts +59 -3
  165. package/src/generated/i18n/i18n-defaults.ts +2 -2
  166. package/src/generated/templates/ListTemplate.lit.ts +1 -1
  167. package/src/generated/templates/TabHeaderTemplate.lit.ts +4 -4
  168. package/src/generated/templates/TabInOverflowTemplate.lit.ts +2 -2
  169. package/src/generated/themes/MastheadMenu.css.ts +1 -1
  170. package/src/generated/themes/MastheadMobileMenu.css.ts +1 -1
  171. package/src/generated/themes/MediaPlayer.css.ts +1 -1
  172. package/src/generated/themes/RatingBar.css.ts +1 -1
  173. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  174. package/src/generated/themes/SecondaryNavigationSubItem.css.ts +1 -1
  175. package/src/generated/themes/Slider.css.ts +1 -1
  176. package/src/generated/themes/TabNavigation.css.ts +1 -1
  177. package/src/generated/themes/TableGroupRow.css.ts +1 -1
  178. package/src/generated/themes/Wizard.css.ts +1 -1
  179. package/src/generated/themes/WizardTab.css.ts +1 -1
  180. package/src/i18n/messagebundle.properties +1 -6
  181. package/src/i18n/messagebundle_bg.properties +129 -2
  182. package/src/i18n/messagebundle_cs.properties +126 -0
  183. package/src/i18n/messagebundle_en.properties +3 -1
  184. package/src/themes/MastheadMenu.css +4 -2
  185. package/src/themes/MastheadMobileMenu.css +4 -2
  186. package/src/themes/MediaPlayer.css +12 -0
  187. package/src/themes/RatingBar.css +14 -5
  188. package/src/themes/SecondaryNavigationSubItem.css +1 -0
  189. package/src/themes/TabNavigation.css +6 -0
  190. package/src/themes/TableGroupRow.css +5 -0
  191. package/src/themes/Wizard.css +19 -15
  192. package/src/themes/WizardTab.css +43 -28
  193. package/dist/assets/messagebundle_bg-4X593TQq.js +0 -1
  194. package/dist/assets/messagebundle_cs-Bt8XtMib.js +0 -1
  195. package/dist/assets/messagebundle_en-iNqRB1VZ.js +0 -1
  196. package/dist/generated/templates/CountrySelectorTemplate.lit.d.ts +0 -3
  197. package/dist/generated/templates/CountrySelectorTemplate.lit.js +0 -8
  198. package/dist/generated/templates/CountrySelectorTemplate.lit.js.map +0 -1
  199. package/dist/generated/templates/FilterMenuTemplate.lit.d.ts +0 -3
  200. package/dist/generated/templates/FilterMenuTemplate.lit.js +0 -13
  201. package/dist/generated/templates/FilterMenuTemplate.lit.js.map +0 -1
  202. package/dist/generated/templates/SearchableListBaseTemplate.lit.d.ts +0 -3
  203. package/dist/generated/templates/SearchableListBaseTemplate.lit.js +0 -19
  204. package/dist/generated/templates/SearchableListBaseTemplate.lit.js.map +0 -1
  205. package/dist/generated/templates/SelectBoxTemplate.lit.d.ts +0 -3
  206. package/dist/generated/templates/SelectBoxTemplate.lit.js +0 -20
  207. package/dist/generated/templates/SelectBoxTemplate.lit.js.map +0 -1
  208. package/src/CountrySelector.hbs +0 -6
  209. package/src/FilterMenu.hbs +0 -88
  210. package/src/SearchableListBase.hbs +0 -148
  211. package/src/SelectBox.hbs +0 -138
  212. package/src/generated/templates/CountrySelectorTemplate.lit.ts +0 -12
  213. package/src/generated/templates/FilterMenuTemplate.lit.ts +0 -17
  214. package/src/generated/templates/SearchableListBaseTemplate.lit.ts +0 -23
  215. package/src/generated/templates/SelectBoxTemplate.lit.ts +0 -24
@@ -3,3 +3,129 @@ OVERVIEW=Přehled
3
3
  LOGOUT=Odhlásit se
4
4
  MAIN_LINKS=Hlavní odkazy
5
5
  BACK_TO_TOP=Zpět na začátek
6
+ COUNT=Počet
7
+ OF=z
8
+ PAGINATION_PAGE=Stránka
9
+ SELECTED=Vybrané
10
+ UNSELECTED=Nevybráno
11
+ INDETERMINATE=Nejednoznačné
12
+ EDIT_BUTTON=Upravit
13
+ DELETE_BUTTON=Odstranit
14
+ BACK_TO_REGION_LIST=Zpět do seznamu regionů
15
+ BUTTON_ARIA_TYPE_PRIMARY=Primární
16
+ BUTTON_ARIA_TYPE_SECONDARY=Sekundární
17
+ BUTTON_ARIA_TYPE_TERTIARY=Terciální
18
+ BUTTON_ARIA_TYPE_WARNING=Varování
19
+ BUTTON_ARIA_TYPE_POSITIVE=Pozitivní
20
+ BUTTON_ARIA_TYPE_NEGATIVE=Negativní
21
+ BUTTON_ARIA_EMPHASIZED=Zvýrazněné
22
+ BUTTON_ARIA_DEFAULT=Standardní
23
+ BUTTON_ARIA_TRANSPARENT=Transparentní
24
+ BUTTON_ARIA_ATTENTION=Pozor
25
+ DATEPICKER_DATE_DESCRIPTION=Zadání datumu
26
+ TOGGLED=Přepnuto
27
+ FIRST_PAGE=První stránka
28
+ LAST_PAGE=Poslední stránka
29
+ PREVIOUS_PAGE=Předchozí stránka
30
+ NEXT_PAGE=Další stránka
31
+ CURRENT_PAGE=Aktuální stránka
32
+ ACTIVATE_PAGE=Aktivovat číslo stránky
33
+ SUGGESTED_TEXT=navrhovaná hledání
34
+ ACCESSIBLE_NAME_SEARCH_ICON=Hledat
35
+ TOOLTIP_VOICE_BUTTON=Hlas
36
+ TOOLTIP_SUBMIT_BUTTON=Odeslat
37
+ LISTENING=Poslech
38
+ AVAILABLE_VALUES=Dostupné hodnoty
39
+ RECOMMENDED_TEXT=Doporučené stránky
40
+ EXPAND_ALL=Rozbalit vše
41
+ COLLAPSE_ALL=Sbalit vše
42
+ MORE=Více
43
+ ATTENTION_BADGE=Upozorňovací odznak
44
+ READ_MORE=Číst více
45
+ READ_LESS=Číst méně
46
+ SHOW_MORE=Více
47
+ SHOW_LESS=Zobrazit méně
48
+ RATING_INDICATOR_TEXT=Indikátor hodnocení
49
+ RATING_INDICATOR_TOOLTIP_TEXT=Hodnocení
50
+ RATING_INDICATOR_ARIA_DESCRIPTION=Požadováno
51
+ TOTAL=Celkem
52
+ RATING_COUNT_TITLE=Hodnocení
53
+ ARIA_LABEL_LIST_MULTISELECTABLE=Obsahuje položky s možností vícenásobného výběru
54
+ ARIA_LABEL_LIST_SELECTABLE=Obsahuje položky s možností výběru
55
+ SHOW_RESULTS=Zobrazit výsledky
56
+ SHOW_HIDE_PASSWORD=Zobrazit/skrýt tlačítko hesla
57
+ MESSAGE_STRIP_CLOSE_BUTTON=Tlačítko Zavřít na liště se zprávami
58
+ MESSAGE_STRIP_INFORMATION=Informační lišta
59
+ MESSAGE_STRIP_SUCCESS=Lišta pro pozitivní
60
+ MESSAGE_STRIP_WARNING=Lišta pro upozornění
61
+ MESSAGE_STRIP_ERROR=Lišta pro negativní
62
+ MESSAGE_STRIP_ACTION=Lišta akcí
63
+ REVIEWS=hodnocení
64
+ STARS=hvězdičky
65
+ SELECT_OPTIONS=Vybrat volby
66
+ SELECT_ALL=Vybrat vše
67
+ TEXTAREA_CHARACTERS_LEFT={0} zbývajících znaků
68
+ VALUE_STATE_TYPE_ERROR=Chyba statusu pole
69
+ VALUE_STATE_TYPE_WARNING=Status pole – upozornění
70
+ VALUE_STATE_TYPE_SUCCESS=Status pole – úspěch
71
+ VALUE_STATE_TYPE_STANDARD=Status pole – standardní
72
+ CAROUSEL_PREVIOUS_ARROW_TEXT=Předchozí stránka
73
+ CAROUSEL_NEXT_ARROW_TEXT=Další stránka
74
+ NO_MATCHES_FOUND=Nebyly nalezeny žádné shody.
75
+ BREADCRUMBS_ARIA_LABEL=Navigační cesta
76
+ BREADCRUMBS_OVERFLOW_ARIA_LABEL=Další
77
+ STEPINPUT_INC_ICON_TITLE=Zvýšit množství o
78
+ STEPINPUT_DEC_ICON_TITLE=Snížit množství o
79
+ TABLE_NO_DATA_FOUND=Nebyla nalezena žádá data
80
+ VALUE_STATE_ERROR=Neplatné zadání
81
+ VALUE_STATE_WARNING=Zobrazeno upozornění
82
+ VALUE_STATE_INFORMATION=Informativní záznam
83
+ VALUE_STATE_SUCCESS=Záznam úspěšně ověřen
84
+ READ_ONLY=Pouze pro čtení
85
+ SWITCH_ACCOUNT=Přepnout účet
86
+ BACK=Zpět
87
+ OTHER_IDENTITIES=Ostatní identity
88
+ ADD_OR_REMOVE_ACCOUNT=Přidat nebo odebrat účet
89
+ COUNTRY_SELECT=Vyberte stát
90
+ CART=Nákupní košík
91
+ COUNTRY_SELECTOR=Výběr státu
92
+ SUPPORT=Podpora
93
+ PHONE_NUMBER=Telefon
94
+ CONTACT_US=Kontaktujte nás
95
+ CHAT_WITH_US=Napište nám
96
+ QUICK_LINKS=Rychlé odkazy
97
+ TRENDING=Trendy
98
+ ABOUT_SAP=O společnosti SAP
99
+ SITE_INFORMATION=Informace o stránkách
100
+ AVATAR_TEXT=Avatar
101
+ CALENDAR_ICON=Otevřít ikonu kalendáře
102
+ LIST_ITEM_EDIT_ICON=Upravit položku seznamu
103
+ LIST_ITEM_DELETE_ICON=Odstranit položku seznamu
104
+ BACK_BUTTON_LABEL=tlačítko zpět
105
+ STATUS_BADGE_TEXT=Znak statusu
106
+ STATUS_BADGE_EDIT_TITLE=Klikněte pro editaci profilu
107
+ STATUS_BADGE_INFORMATION_TITLE=Klikněte pro otevření profilových informací
108
+ STATUS_BADGE_WARNING_TITLE=Upozornění: možné riziko spojené s profilem
109
+ STATUS_BADGE_ERROR_TITLE=Existuje chyba týkající se profilu
110
+ STATUS_BADGE_SUCCESS_TITLE=Úspěšně ověřený profil
111
+ PROFILE=Profil
112
+ OPENS_IN_A_NEW_WINDOW=otevře se v novém okně
113
+ TEXT_FIELD=Textové pole
114
+ UPLOADING_FILE_STATUS_TEXT=Nahrávání
115
+ TERMINATED_FILE_STATUS_TEXT=Ukončeno
116
+ REMOVE_FILE_TEXT=Odstranit soubor
117
+ UPLOAD_BUTTON_LABEL=Nahrát soubor
118
+ COMPLETE_LIST_OF=Dokončete seznam
119
+ CALL_US_TODAY=Zavolejte nám ještě dnes!
120
+ SEARCH=Hledat
121
+ RESULT_RETURNED=výsledků vráceno.
122
+ SOCIAL_MEDIA_BUTTON=Tlačítko sociálních sítí
123
+ PROMO_TILE=Propagační dlaždice
124
+ PROMO_TILE_ICON=Propagační dlaždice – ikona
125
+ PLAY_BUTTON_ACCESSIBLE_NAME=Tlačítko ke spuštění otáčení log zákazníků
126
+ PAUSE_BUTTON_ACCESSIBLE_NAME=Tlačítko k zastavení otáčení log zákazníků
127
+ LOCATION=Místo
128
+ TOAST_CLOSE_ACCESSIBLE_NAME=Zavřít
129
+ DISABLED=Deaktivováno
130
+ EXPAND=Rozbalit
131
+ COLLAPSE=Sbalit
@@ -122,7 +122,6 @@ REMOVE_FILE_TEXT=Remove file
122
122
  UPLOAD_BUTTON_LABEL=Upload file
123
123
  COMPLETE_LIST_OF=Complete list of
124
124
  CALL_US_TODAY=Call us today!
125
- CONTACT_US=Contact us
126
125
  SEARCH=Search
127
126
  RESULT_RETURNED=results returned.
128
127
  SOCIAL_MEDIA_BUTTON=Social Media Button
@@ -133,3 +132,6 @@ PLAY_BUTTON_ACCESSIBLE_NAME=Start button to begin customer logos rotation
133
132
  PAUSE_BUTTON_ACCESSIBLE_NAME=Pause button to stop customer logos rotation
134
133
  LOCATION=Location
135
134
  TOAST_CLOSE_ACCESSIBLE_NAME=Close
135
+ DISABLED=Disabled
136
+ EXPAND=Expand
137
+ COLLAPSE=Collapse
@@ -2779,7 +2779,7 @@
2779
2779
  },
2780
2780
  {
2781
2781
  "name": "udex-password-field",
2782
- "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",
2782
+ "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\n\n### **Events:**\n - **input** - Fired when the value of the component changes at each keystroke.\n- **change** - Fired when the input operation has finished by pressing Enter or on focusout.\n- **blur** - Fired on input focusout.\n- **click-icon** - Fired when the show/hide password button is clicked.",
2783
2783
  "attributes": [
2784
2784
  {
2785
2785
  "name": "autocomplete",
@@ -4195,6 +4195,11 @@
4195
4195
  "description": "Defines the icon in the tab.",
4196
4196
  "values": []
4197
4197
  },
4198
+ {
4199
+ "name": "disabled",
4200
+ "description": "Defines if the tab is disabled. A disabled tab is not clickable or focusable,\nbut remains reachable by screen readers via aria-disabled.",
4201
+ "values": []
4202
+ },
4198
4203
  {
4199
4204
  "name": "href",
4200
4205
  "description": "Defines the href of the tab.",
@@ -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.36.0",
4
+ "version": "2.38.0",
5
5
  "description-markup": "markdown",
6
6
  "contributions": {
7
7
  "html": {
@@ -6035,7 +6035,7 @@
6035
6035
  },
6036
6036
  {
6037
6037
  "name": "udex-password-field",
6038
- "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",
6038
+ "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### **Events:**\n - **input** - Fired when the value of the component changes at each keystroke.\n- **change** - Fired when the input operation has finished by pressing Enter or on focusout.\n- **blur** - Fired on input focusout.\n- **click-icon** - Fired when the show/hide password button is clicked.",
6039
6039
  "doc-url": "",
6040
6040
  "attributes": [
6041
6041
  {
@@ -6109,7 +6109,21 @@
6109
6109
  "value": { "type": "string", "default": "\"\"" }
6110
6110
  }
6111
6111
  ],
6112
- "events": [],
6112
+ "events": [
6113
+ {
6114
+ "name": "input",
6115
+ "description": "Fired when the value of the component changes at each keystroke."
6116
+ },
6117
+ {
6118
+ "name": "change",
6119
+ "description": "Fired when the input operation has finished by pressing Enter or on focusout."
6120
+ },
6121
+ { "name": "blur", "description": "Fired on input focusout." },
6122
+ {
6123
+ "name": "click-icon",
6124
+ "description": "Fired when the show/hide password button is clicked."
6125
+ }
6126
+ ],
6113
6127
  "js": {
6114
6128
  "properties": [
6115
6129
  {
@@ -6183,7 +6197,21 @@
6183
6197
  "value": { "type": "string" }
6184
6198
  }
6185
6199
  ],
6186
- "events": []
6200
+ "events": [
6201
+ {
6202
+ "name": "input",
6203
+ "description": "Fired when the value of the component changes at each keystroke."
6204
+ },
6205
+ {
6206
+ "name": "change",
6207
+ "description": "Fired when the input operation has finished by pressing Enter or on focusout."
6208
+ },
6209
+ { "name": "blur", "description": "Fired on input focusout." },
6210
+ {
6211
+ "name": "click-icon",
6212
+ "description": "Fired when the show/hide password button is clicked."
6213
+ }
6214
+ ]
6187
6215
  }
6188
6216
  },
6189
6217
  {
@@ -8856,6 +8884,11 @@
8856
8884
  "description": "Defines the icon in the tab.",
8857
8885
  "value": { "type": "string" }
8858
8886
  },
8887
+ {
8888
+ "name": "disabled",
8889
+ "description": "Defines if the tab is disabled. A disabled tab is not clickable or focusable,\nbut remains reachable by screen readers via aria-disabled.",
8890
+ "value": { "type": "boolean", "default": "false" }
8891
+ },
8859
8892
  {
8860
8893
  "name": "href",
8861
8894
  "description": "Defines the href of the tab.",
@@ -8922,6 +8955,11 @@
8922
8955
  "description": "Defines the icon in the tab.",
8923
8956
  "value": { "type": "string" }
8924
8957
  },
8958
+ {
8959
+ "name": "disabled",
8960
+ "description": "Defines if the tab is disabled. A disabled tab is not clickable or focusable,\nbut remains reachable by screen readers via aria-disabled.",
8961
+ "value": { "type": "boolean" }
8962
+ },
8925
8963
  {
8926
8964
  "name": "href",
8927
8965
  "description": "Defines the href of the tab.",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@sapudex/web-components",
4
- "version": "2.36.0",
4
+ "version": "2.38.0",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
7
7
  },
@@ -1,5 +1,5 @@
1
1
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
2
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
2
+ import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
3
3
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
4
4
  import UI5Button from "@ui5/webcomponents/dist/Button.js";
5
5
  import "@ui5/webcomponents-icons/dist/navigation-down-arrow.js";
@@ -15,7 +15,9 @@ import UDExSelectBase from "./SelectBase.js";
15
15
  import UDExListItem from "./ListItem.js";
16
16
  import UDExTextField from "./TextField.js";
17
17
  import UDExStatusMessage from "./StatusMessage.js";
18
- import SelectBoxTemplate from "./generated/templates/SelectBoxTemplate.lit.js";
18
+ import SelectBoxTemplate from "./SelectBoxTemplate.js";
19
+ import CountrySelectorTemplate from "./CountrySelectorTemplate.js";
20
+ import SearchableListBaseTemplate from "./SearchableListBaseTemplate.js";
19
21
 
20
22
  // Styles
21
23
  import CountrySelectorCss from "./generated/themes/CountrySelector.css.js";
@@ -48,7 +50,7 @@ type UDExCountrySelectorChangeSearchEventDetail = {
48
50
  */
49
51
  @customElement({
50
52
  tag: "udex-country-selector",
51
- renderer: litRender,
53
+ renderer: jsxRenderer,
52
54
  styles: [
53
55
  TextFieldCss,
54
56
  SelectBaseCss,
@@ -213,6 +215,15 @@ class UDExCountrySelector extends UDExSelectBase {
213
215
  return localName ? `${countryName} (${localName})` : countryName || null;
214
216
  }
215
217
 
218
+ override get countryFlag(): object {
219
+ return CountrySelectorTemplate.call(this) as object;
220
+ }
221
+
222
+ override get searchableList() {
223
+ this.defaultAccessibleRole = this._listBoxRole;
224
+ return SearchableListBaseTemplate.call(this);
225
+ }
226
+
216
227
  get selectedCountryName(): string | null {
217
228
  return this._selectedCountry ? this.getCountryLabel(this._selectedCountry.countryName, this._selectedCountry.localName) : "";
218
229
  }
@@ -0,0 +1,12 @@
1
+ import type UDExCountrySelector from "./CountrySelector.js";
2
+
3
+ export default function CountrySelectorTemplate(this: UDExCountrySelector) {
4
+ if (this.hideFlagImages) { return <></>; }
5
+ return (
6
+ <img
7
+ class="udex-text-field__image"
8
+ aria-label={this.flagAriaLabel}
9
+ style={`background-position-x: ${this.selectedCountryFlagX}; background-position-y: ${this.selectedCountryFlagY}`}>
10
+ </img>
11
+ );
12
+ }
package/src/FilterMenu.ts CHANGED
@@ -1,8 +1,7 @@
1
1
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
2
2
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
3
3
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
4
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
5
- import executeTemplate from "@ui5/webcomponents-base/dist/renderer/executeTemplate.js";
4
+ import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
6
5
  import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
7
6
  import {
8
7
  isTabPrevious, isTabNext, isEscape, isSpace, isEnter,
@@ -32,8 +31,8 @@ import UDExBadge from "./Badge.js";
32
31
  import type UDExListItemBase from "./ListItemBase.js";
33
32
  import { RESET, SHOW_RESULTS, SELECT_OPTIONS } from "./generated/i18n/i18n-defaults.js";
34
33
  import "@ui5/webcomponents-icons/dist/navigation-down-arrow.js";
35
- import FilterMenuTemplate from "./generated/templates/FilterMenuTemplate.lit.js";
36
- import SearchableListBaseTemplate from "./generated/templates/SearchableListBaseTemplate.lit.js";
34
+ import FilterMenuTemplate from "./FilterMenuTemplate.js";
35
+ import SearchableListBaseTemplate from "./SearchableListBaseTemplate.js";
37
36
  import type UDExListGroupHeaderBase from "./ListGroupHeaderBase.js";
38
37
  import translate from "./utils/translate.js";
39
38
 
@@ -78,7 +77,7 @@ type UDExFilterMenuResetClickEventDetail = {
78
77
  */
79
78
  @customElement({
80
79
  tag: "udex-filter-menu",
81
- renderer: litRender,
80
+ renderer: jsxRenderer,
82
81
  styles: [FilterMenuCss, SearchableListCss, getEffectiveScrollbarStyle()],
83
82
  template: FilterMenuTemplate,
84
83
  dependencies: [
@@ -574,7 +573,11 @@ class UDExFilterMenu extends UDExSearchableListBase {
574
573
  }
575
574
 
576
575
  get searchableList() {
577
- return executeTemplate(UDExFilterMenu.searchableListBaseTemplate, this);
576
+ return SearchableListBaseTemplate.call(this);
577
+ }
578
+
579
+ static get searchableListBaseTemplate() {
580
+ return SearchableListBaseTemplate;
578
581
  }
579
582
 
580
583
  get hideActionBar(): boolean {
@@ -600,10 +603,6 @@ class UDExFilterMenu extends UDExSearchableListBase {
600
603
  getItems(): Array<UDExListItemBase> {
601
604
  return this.getSlottedNodes<UDExListItemBase>("items");
602
605
  }
603
-
604
- static get searchableListBaseTemplate() {
605
- return SearchableListBaseTemplate;
606
- }
607
606
  }
608
607
 
609
608
  UDExFilterMenu.define();
@@ -0,0 +1,104 @@
1
+ import type UDExFilterMenu from "./FilterMenu.js";
2
+ import UDExBadge from "./Badge.js";
3
+ import UI5Icon from "@ui5/webcomponents/dist/Icon.js";
4
+ import UI5Popover from "@ui5/webcomponents/dist/Popover.js";
5
+ import UDExButton from "./Button.js";
6
+ import UDExButtonDesign from "./types/ButtonDesign.js";
7
+ import UDExButtonSize from "./types/ButtonSize.js";
8
+ import SearchableListBaseTemplate from "./SearchableListBaseTemplate.js";
9
+ import type { AriaRole } from "@ui5/webcomponents-base/dist/types.js";
10
+ import { UDExTextBadgeDesign, UDExTypeBadgeDesign } from "./types/BadgeDesign.js";
11
+
12
+ export default function FilterMenuTemplate(this: UDExFilterMenu) {
13
+ return (
14
+ <div>
15
+ <button
16
+ id="filterMenuTrigger"
17
+ onClick={this.handleTriggerClick}
18
+ onKeyDown={this.handleTriggerKeydown}
19
+ aria-label={this.triggerButtonAccessibleName}
20
+ aria-labelledby={this.accessibleNameRef}
21
+ aria-expanded={this._open}
22
+ aria-haspopup="true"
23
+ role={this.triggerAccessibleRole as AriaRole}
24
+ aria-controls={`${this._id}_udex-filter-menu-dropdown`}
25
+ disabled={this.disabled}
26
+ class="udex-filter-menu__trigger"
27
+ tabindex={0}>
28
+ {this.hasFilterNamePrefix && (
29
+ <span class="udex-filter-menu__trigger-prefix">{this.filterNamePrefix}</span>
30
+ )}
31
+ <span class="udex-filter-menu__trigger-wrap" {...(this.disabled ? { disabled: "" } : {})}>
32
+ <span class="udex-filter-menu__trigger-name">{this.filterName}</span>
33
+ {!!this.badgeValue && (
34
+ <UDExBadge
35
+ class="udex-filter-menu__badge"
36
+ type={UDExTypeBadgeDesign.Number}
37
+ design={UDExTextBadgeDesign.Information}
38
+ size="Small">
39
+ {this.badgeValue}
40
+ </UDExBadge>
41
+ )}
42
+ <UI5Icon
43
+ class="udex-filter-menu__trigger-icon"
44
+ name="navigation-down-arrow"
45
+ mode="Decorative"
46
+ accessible-name={this._iconAccessibleNameText}>
47
+ </UI5Icon>
48
+ </span>
49
+ </button>
50
+ <UI5Popover
51
+ id={`${this._id}_udex-filter-menu-dropdown`}
52
+ hide-arrow
53
+ allow-target-overlap={this.disableAllowTargetOverlap}
54
+ accessible-role={this.accessibleRole}
55
+ placement={this.placement}
56
+ horizontal-align={this.horizontalAlign}
57
+ onKeyDown={this.handleKeyDownList}
58
+ onBeforeOpen={this._dropdownBeforeOpen}
59
+ onOpen={this._dropdownAfterOpen}
60
+ onBeforeClose={this._dropdownBeforeClose}
61
+ onClose={this._dropdownAfterClose}
62
+ {...({
63
+ onItemPress: this.handleItemPress,
64
+ onHeaderPress: this.handleHeaderPress,
65
+ onSelectAll: this.handleSelectAll,
66
+ onSearchKeydown: this.handleKeyDownSearch,
67
+ onSubmitSearchValue: this.handleSubmitSearch,
68
+ onHandleValueSearch: this.handleValueSearch,
69
+ onHandleValueReset: this.handleResetSearch,
70
+ } as any)}>
71
+ {SearchableListBaseTemplate.call(this)}
72
+ {this.modeMultiSelect && renderButtons.call(this)}
73
+ </UI5Popover>
74
+ </div>
75
+ );
76
+ }
77
+
78
+ function renderButtons(this: UDExFilterMenu) {
79
+ if (this.hideActionBar) { return null; }
80
+ return (
81
+ <div class="udex-filter-menu__footer" slot="footer" {...({ name: "footer" } as any)}>
82
+ {!this.hideResultBtn && (
83
+ <UDExButton
84
+ class="udex-filter-menu__result-btn"
85
+ size={UDExButtonSize.Medium}
86
+ design={UDExButtonDesign.Primary}
87
+ onKeyDown={this.handleKeyDownResultBtn}
88
+ onClick={this.handleResult}>
89
+ {this.getResultLabelText}
90
+ </UDExButton>
91
+ )}
92
+ {!this.hideResetBtn && (
93
+ <UDExButton
94
+ class="udex-filter-menu__reset-btn"
95
+ size={UDExButtonSize.Medium}
96
+ design={UDExButtonDesign.Tertiary}
97
+ onKeyDown={this.handleKeyDownResetBtn}
98
+ onClick={this.handleReset}>
99
+ {this.getResetLabelText}
100
+ </UDExButton>
101
+ )}
102
+ </div>
103
+ );
104
+ }
package/src/List.hbs CHANGED
@@ -25,7 +25,7 @@
25
25
  id="udex-list"
26
26
  class="udex-list"
27
27
  role="{{accessibleRole}}"
28
- aria-labelledby="{{ariaLabelledBy}}"
28
+ aria-label="{{singleContentAriaLabel}}"
29
29
  aria-busy="{{ariaBusy}}">
30
30
  <slot></slot>
31
31
  </div>
package/src/List.ts CHANGED
@@ -540,6 +540,11 @@ class UDExList extends UI5Element {
540
540
  return `${this._id}-mode-label`;
541
541
  }
542
542
 
543
+ get singleContentAriaLabel(): string | undefined {
544
+ const label = this.accessibleName || this.headerText;
545
+ return label || undefined;
546
+ }
547
+
543
548
  get modeRadioGroup(): boolean {
544
549
  return this.mode === UDExListMode.RadioGroup;
545
550
  }
package/src/Pagination.ts CHANGED
@@ -496,6 +496,7 @@ class UDExPagination extends UI5Element {
496
496
 
497
497
  onAfterRendering() {
498
498
  if (this._pageFocusedManually) {
499
+ this._pageFocusedManually = false;
499
500
  this.focusActivePage();
500
501
  }
501
502
 
@@ -2,6 +2,7 @@ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
3
3
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
4
4
  import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
5
+ import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
5
6
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
6
7
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
7
8
  import UDExTextField from "./TextField.js";
@@ -23,6 +24,14 @@ export enum UDExPasswordFieldAutoComplete {
23
24
  Off = "off",
24
25
  }
25
26
 
27
+ type UDExPasswordFieldChangeEventDetail = {
28
+ originalEvent: Event,
29
+ }
30
+
31
+ type UDExPasswordFieldBlurEventDetail = {
32
+ originalEvent: FocusEvent,
33
+ }
34
+
26
35
  /**
27
36
  * @class
28
37
  *
@@ -48,7 +57,38 @@ export enum UDExPasswordFieldAutoComplete {
48
57
  dependencies: [UDExTextField],
49
58
  })
50
59
 
60
+ /**
61
+ * Fired when the value of the component changes at each keystroke.
62
+ *
63
+ * @public
64
+ */
65
+ @event("input", { bubbles: true })
66
+ /**
67
+ * Fired when the input operation has finished by pressing Enter or on focusout.
68
+ *
69
+ * @public
70
+ */
71
+ @event("change", { bubbles: true })
72
+ /**
73
+ * Fired on input focusout.
74
+ *
75
+ * @public
76
+ */
77
+ @event("blur", { bubbles: true })
78
+ /**
79
+ * Fired when the show/hide password button is clicked.
80
+ *
81
+ * @public
82
+ */
83
+ @event("click-icon", { bubbles: true })
84
+
51
85
  class UDExPasswordField extends UI5Element {
86
+ eventDetails!: {
87
+ "input": void,
88
+ "change": UDExPasswordFieldChangeEventDetail,
89
+ "blur": UDExPasswordFieldBlurEventDetail,
90
+ "click-icon": void,
91
+ };
52
92
  /**
53
93
  * Defines supporting text under the input field.
54
94
  *
@@ -211,8 +251,22 @@ class UDExPasswordField extends UI5Element {
211
251
 
212
252
  this.icon = isPassword ? UDExIconType.Hide : UDExIconType.Show;
213
253
  this.type = isPassword ? UDExInputType.Text : UDExInputType.Password;
254
+ this.fireDecoratorEvent("click-icon");
214
255
  }
215
256
 
257
+ handleInput = (e: CustomEvent): void => {
258
+ this.value = (e.target as UDExTextField).value;
259
+ this.fireDecoratorEvent("input");
260
+ };
261
+
262
+ handleChange = (e: CustomEvent<UDExPasswordFieldChangeEventDetail>): void => {
263
+ this.fireDecoratorEvent("change", { originalEvent: e.detail.originalEvent });
264
+ };
265
+
266
+ handleBlur = (e: CustomEvent<UDExPasswordFieldBlurEventDetail>): void => {
267
+ this.fireDecoratorEvent("blur", { originalEvent: e.detail.originalEvent });
268
+ };
269
+
216
270
  get passwordLabel(): string {
217
271
  return `${this.label} ${this.showAsterisk ? "*" : ""}`;
218
272
  }
@@ -229,3 +283,4 @@ class UDExPasswordField extends UI5Element {
229
283
  UDExPasswordField.define();
230
284
 
231
285
  export default UDExPasswordField;
286
+ export type { UDExPasswordFieldChangeEventDetail, UDExPasswordFieldBlurEventDetail };
@@ -21,6 +21,9 @@ export default function PasswordFieldTemplate(this: UDExPasswordField) {
21
21
  accessible-name-ref={this.accessibleNameRef}
22
22
  accessible-icon-name={this.showButtonTooltip}
23
23
  show-button-tooltip={this.showButtonTooltip}
24
+ onui5-input={this.handleInput}
25
+ onui5-change={this.handleChange}
26
+ onui5-blur={this.handleBlur}
24
27
  onui5-click-icon={this.handleShowPassword}
25
28
  icon={this.iconButton}>
26
29
  </UDExTextField>
package/src/Search.ts CHANGED
@@ -1005,6 +1005,7 @@ class UDExSearch extends UI5Element {
1005
1005
  e.stopPropagation();
1006
1006
  this.handleEnterKey(e);
1007
1007
  this.handleTabKey(e);
1008
+ this.handleShiftTabKey(e);
1008
1009
  this.handleEscapeKey(e);
1009
1010
  this.fireDecoratorEvent("search-keydown", { e });
1010
1011
  };
@@ -1026,6 +1027,12 @@ class UDExSearch extends UI5Element {
1026
1027
  }
1027
1028
  }
1028
1029
 
1030
+ handleShiftTabKey(e: KeyboardEvent) {
1031
+ if (isTabPrevious(e) && this.open) {
1032
+ this.Suggestion?.onShiftTab(e);
1033
+ }
1034
+ }
1035
+
1029
1036
  handleEscapeKey(e: KeyboardEvent) {
1030
1037
  if (isEscape(e)) {
1031
1038
  if (this.open) {