@sapudex/web-components 2.47.0 → 2.48.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 (107) hide show
  1. package/cypress/specs/DatePicker.cy.tsx +62 -0
  2. package/cypress/specs/Tag.cy.tsx +34 -3
  3. package/cypress/specs/TextField.cy.tsx +68 -0
  4. package/dist/Carousel.d.ts +48 -3
  5. package/dist/Carousel.js +149 -7
  6. package/dist/Carousel.js.map +1 -1
  7. package/dist/CarouselTemplate.js +9 -2
  8. package/dist/CarouselTemplate.js.map +1 -1
  9. package/dist/DatePicker.d.ts +5 -0
  10. package/dist/DatePicker.js +10 -0
  11. package/dist/DatePicker.js.map +1 -1
  12. package/dist/DatePickerTemplate.js +1 -1
  13. package/dist/DatePickerTemplate.js.map +1 -1
  14. package/dist/Tag.js +3 -2
  15. package/dist/Tag.js.map +1 -1
  16. package/dist/TagTemplate.js +2 -2
  17. package/dist/TagTemplate.js.map +1 -1
  18. package/dist/TextField.d.ts +12 -0
  19. package/dist/TextField.js +15 -0
  20. package/dist/TextField.js.map +1 -1
  21. package/dist/TextFieldTemplate.js +1 -1
  22. package/dist/TextFieldTemplate.js.map +1 -1
  23. package/dist/assets/{InputSuggestions-CbKVAumI.js → InputSuggestions-BcK6O4Bk.js} +1 -1
  24. package/dist/assets/{ListItemStandardExpandableTextTemplate-C3-WJZBS.js → ListItemStandardExpandableTextTemplate-u600dmHC.js} +1 -1
  25. package/dist/assets/{bundle.esm-D8jQybCx.js → bundle.esm-C6Ie2WeI.js} +230 -230
  26. package/dist/assets/messagebundle_en-DoNTK1BE.js +1 -0
  27. package/dist/assets/messagebundle_pl-CsXeN1y6.js +1 -0
  28. package/dist/assets/messagebundle_pt_PT-CQ5YAsmx.js +1 -0
  29. package/dist/css/themes/Carousel.css +1 -1
  30. package/dist/css/themes/MastheadItem.css +1 -1
  31. package/dist/css/themes/MastheadProfileMenu.css +1 -1
  32. package/dist/css/themes/Table.css +1 -1
  33. package/dist/css/themes/TableCell.css +1 -1
  34. package/dist/css/themes/TableGroupRow.css +1 -1
  35. package/dist/css/themes/TableHeaderCell.css +1 -1
  36. package/dist/css/themes/Tag.css +1 -1
  37. package/dist/custom-elements-internal.json +85 -0
  38. package/dist/custom-elements.json +71 -0
  39. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  40. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  41. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  42. package/dist/generated/i18n/i18n-defaults.d.ts +3 -1
  43. package/dist/generated/i18n/i18n-defaults.js +3 -1
  44. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  45. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  46. package/dist/generated/themes/Carousel.css.js +1 -1
  47. package/dist/generated/themes/Carousel.css.js.map +1 -1
  48. package/dist/generated/themes/MastheadItem.css.d.ts +1 -1
  49. package/dist/generated/themes/MastheadItem.css.js +1 -1
  50. package/dist/generated/themes/MastheadItem.css.js.map +1 -1
  51. package/dist/generated/themes/MastheadProfileMenu.css.d.ts +1 -1
  52. package/dist/generated/themes/MastheadProfileMenu.css.js +1 -1
  53. package/dist/generated/themes/MastheadProfileMenu.css.js.map +1 -1
  54. package/dist/generated/themes/Table.css.d.ts +1 -1
  55. package/dist/generated/themes/Table.css.js +1 -1
  56. package/dist/generated/themes/Table.css.js.map +1 -1
  57. package/dist/generated/themes/TableCell.css.d.ts +1 -1
  58. package/dist/generated/themes/TableCell.css.js +1 -1
  59. package/dist/generated/themes/TableCell.css.js.map +1 -1
  60. package/dist/generated/themes/TableGroupRow.css.d.ts +1 -1
  61. package/dist/generated/themes/TableGroupRow.css.js +1 -1
  62. package/dist/generated/themes/TableGroupRow.css.js.map +1 -1
  63. package/dist/generated/themes/TableHeaderCell.css.d.ts +1 -1
  64. package/dist/generated/themes/TableHeaderCell.css.js +1 -1
  65. package/dist/generated/themes/TableHeaderCell.css.js.map +1 -1
  66. package/dist/generated/themes/Tag.css.d.ts +1 -1
  67. package/dist/generated/themes/Tag.css.js +1 -1
  68. package/dist/generated/themes/Tag.css.js.map +1 -1
  69. package/dist/messagebundle.properties +3 -0
  70. package/dist/messagebundle_en.properties +2 -0
  71. package/dist/messagebundle_pl.properties +134 -1
  72. package/dist/messagebundle_pt_PT.properties +126 -1
  73. package/dist/vscode.html-custom-data.json +16 -1
  74. package/dist/web-types.json +40 -2
  75. package/package.json +1 -1
  76. package/src/Carousel.ts +180 -9
  77. package/src/CarouselTemplate.tsx +66 -27
  78. package/src/DatePicker.ts +9 -0
  79. package/src/DatePickerTemplate.tsx +2 -1
  80. package/src/Tag.ts +3 -2
  81. package/src/TagTemplate.tsx +2 -0
  82. package/src/TextField.ts +26 -1
  83. package/src/TextFieldTemplate.tsx +1 -0
  84. package/src/generated/i18n/i18n-defaults.ts +2 -2
  85. package/src/generated/themes/Carousel.css.ts +1 -1
  86. package/src/generated/themes/MastheadItem.css.ts +1 -1
  87. package/src/generated/themes/MastheadProfileMenu.css.ts +1 -1
  88. package/src/generated/themes/Table.css.ts +1 -1
  89. package/src/generated/themes/TableCell.css.ts +1 -1
  90. package/src/generated/themes/TableGroupRow.css.ts +1 -1
  91. package/src/generated/themes/TableHeaderCell.css.ts +1 -1
  92. package/src/generated/themes/Tag.css.ts +1 -1
  93. package/src/i18n/messagebundle.properties +3 -0
  94. package/src/i18n/messagebundle_en.properties +2 -0
  95. package/src/i18n/messagebundle_pl.properties +134 -1
  96. package/src/i18n/messagebundle_pt_PT.properties +126 -1
  97. package/src/themes/Carousel.css +20 -8
  98. package/src/themes/MastheadItem.css +7 -4
  99. package/src/themes/MastheadProfileMenu.css +0 -13
  100. package/src/themes/Table.css +1 -1
  101. package/src/themes/TableCell.css +3 -3
  102. package/src/themes/TableGroupRow.css +1 -1
  103. package/src/themes/TableHeaderCell.css +3 -4
  104. package/src/themes/Tag.css +24 -0
  105. package/dist/assets/messagebundle_en-BZqDcZHN.js +0 -1
  106. package/dist/assets/messagebundle_pl-BmaELnDD.js +0 -1
  107. package/dist/assets/messagebundle_pt_PT-DcVh6BH6.js +0 -1
@@ -2,4 +2,137 @@ COPYRIGHT=© {0} SAP SE lub podmiot powiązany SAP. Wszelkie prawa zastrzeżone.
2
2
  OVERVIEW=Przegląd
3
3
  LOGOUT=Wyloguj się
4
4
  MAIN_LINKS=Główne łącza
5
- BACK_TO_TOP=Powrót do góry
5
+ BACK_TO_TOP=Powrót do góry
6
+ COUNT=Liczba
7
+ OF= z
8
+ PAGINATION_PAGE=Strona
9
+ SELECTED=Wybrano
10
+ UNSELECTED=Niezaznaczone
11
+ INDETERMINATE=Nieokreślone
12
+ EDIT_BUTTON=Edytuj
13
+ DELETE_BUTTON=Usuń
14
+ BACK_TO_REGION_LIST=Wróć do listy regionów
15
+ BUTTON_ARIA_TYPE_PRIMARY=Główny
16
+ BUTTON_ARIA_TYPE_SECONDARY=Drugorzędny
17
+ BUTTON_ARIA_TYPE_TERTIARY=Trzeciorzędny
18
+ BUTTON_ARIA_TYPE_WARNING=Ostrzeżenie
19
+ BUTTON_ARIA_TYPE_POSITIVE=Pozytywny
20
+ BUTTON_ARIA_TYPE_NEGATIVE=Negatywny
21
+ BUTTON_ARIA_EMPHASIZED=Wyróżniony
22
+ BUTTON_ARIA_DEFAULT=Domyślny
23
+ BUTTON_ARIA_TRANSPARENT=Przezroczysty
24
+ BUTTON_ARIA_ATTENTION=Ostrzeżenie
25
+ DATEPICKER_DATE_DESCRIPTION=Wprowadzona data
26
+ TOGGLED=Przełączony
27
+ FIRST_PAGE=Pierwsza strona
28
+ LAST_PAGE=Ostatnia strona
29
+ PREVIOUS_PAGE=Poprzednia strona
30
+ NEXT_PAGE=Następna strona
31
+ CURRENT_PAGE=Bieżąca strona
32
+ ACTIVATE_PAGE=Aktywuj stronę numer
33
+ SUGGESTED_TEXT=sugerowane zapytania
34
+ ACCESSIBLE_NAME_SEARCH_ICON=Wyszukaj
35
+ TOOLTIP_VOICE_BUTTON=Głos
36
+ TOOLTIP_SUBMIT_BUTTON=Prześlij
37
+ LISTENING=Słuchanie
38
+ AVAILABLE_VALUES=Dostępne wartości
39
+ RECOMMENDED_TEXT=Zalecane strony
40
+ EXPAND_ALL=Rozwiń wszystko
41
+ COLLAPSE_ALL=Zwin wszystko
42
+ MORE=Więcej
43
+ ATTENTION_BADGE=Znacznik ostrzeżenia
44
+ READ_MORE=Czytaj więcej
45
+ READ_LESS=Czytaj mniej
46
+ SHOW_MORE=Pokaż więcej
47
+ SHOW_LESS=Pokaż mniej
48
+ RATING_INDICATOR_TEXT=Wskaźnik oceny
49
+ RATING_INDICATOR_TOOLTIP_TEXT=Ocena
50
+ RATING_INDICATOR_ARIA_DESCRIPTION=Wymagane
51
+ TOTAL=Ogółem
52
+ RATING_COUNT_TITLE=Ocena
53
+ ARIA_LABEL_LIST_MULTISELECTABLE=Zawiera elementy wielokrotnego wyboru
54
+ ARIA_LABEL_LIST_SELECTABLE=Zawiera elementy do wyboru
55
+ SHOW_RESULTS=Wyświetl wyniki
56
+ RESET=Reset
57
+ MESSAGE_STRIP_CLOSE_BUTTON=Przycisk zamknięcia paska z komunikatem
58
+ MESSAGE_STRIP_INFORMATION=Pasek informacji
59
+ MESSAGE_STRIP_SUCCESS=Pasek pozytywny
60
+ MESSAGE_STRIP_WARNING=Pasek ostrzegawczy
61
+ MESSAGE_STRIP_ERROR=Pasek negatywny
62
+ MESSAGE_STRIP_ACTION=Pasek działań
63
+ REVIEWS=opinie
64
+ STARS=gwiazdki
65
+ SELECT_OPTIONS=Wybierz opcje
66
+ SELECT_ALL=Zaznacz wszystkie
67
+ TEXTAREA_CHARACTERS_LEFT=Pozostałe znaki: {0}
68
+ VALUE_STATE_TYPE_ERROR=Błąd stanu pola
69
+ VALUE_STATE_TYPE_WARNING=Ostrzeżenie dotyczące stanu pola
70
+ VALUE_STATE_TYPE_SUCCESS=Stan pola: poprawny
71
+ VALUE_STATE_TYPE_STANDARD=Stan pola: standardowy
72
+ CAROUSEL_PREVIOUS_ARROW_TEXT=Poprzednia strona
73
+ CAROUSEL_NEXT_ARROW_TEXT=Następna strona
74
+ NO_MATCHES_FOUND=Nie znaleziono pasujących wyników.
75
+ BREADCRUMBS_ARIA_LABEL=Ścieżka nawigacyjna
76
+ BREADCRUMBS_OVERFLOW_ARIA_LABEL=Więcej
77
+ STEPINPUT_INC_ICON_TITLE=Zwiększ ilość o
78
+ STEPINPUT_DEC_ICON_TITLE=Zmniejsz ilość o
79
+ TABLE_NO_DATA_FOUND=Nie znaleziono daty
80
+ VALUE_STATE_ERROR=Nieprawidłowy wpis
81
+ VALUE_STATE_WARNING=Wyświetlono ostrzeżenie
82
+ VALUE_STATE_INFORMATION=Wpis informacyjny
83
+ VALUE_STATE_SUCCESS=Wpis został zweryfikowany
84
+ READ_ONLY=Tylko do odczytu
85
+ SWITCH_ACCOUNT=Przełącz konto
86
+ BACK=Powrót
87
+ OTHER_IDENTITIES=Inne tożsamości
88
+ ADD_OR_REMOVE_ACCOUNT=Dodaj lub usuń konto
89
+ COUNTRY_SELECT=Wybierz kraj
90
+ CART=Koszyk
91
+ COUNTRY_SELECTOR=Selektor kraju
92
+ PHONE_NUMBER=Numer telefonu do miejsca konferencji
93
+ CONTACT_US=Skontaktuj się z nami
94
+ EMAIL=E-mail
95
+ CHAT_WITH_US=Porozmawiaj z nami
96
+ QUICK_LINKS=Szybkie łącza
97
+ TRENDING=Popularne
98
+ ABOUT_SAP=O SAP
99
+ SITE_INFORMATION=Informacje o witrynie
100
+ AVATAR_TEXT=Awatar
101
+ CALENDAR_ICON=Ikona Otwórz kalendarz
102
+ LIST_ITEM_EDIT_ICON=Edytuj wprowadzony element listy
103
+ LIST_ITEM_DELETE_ICON=Usuń wprowadzony element listy
104
+ BACK_BUTTON_LABEL=Przycisk Wstecz
105
+ STATUS_BADGE_TEXT=Znacznik stanu
106
+ STATUS_BADGE_EDIT_TITLE=Kliknij, aby edytować profil
107
+ STATUS_BADGE_INFORMATION_TITLE=Kliknij, aby otworzyć informacje o profilu
108
+ STATUS_BADGE_WARNING_TITLE=Ostrzeżenie, potencjalne ryzyko dotyczące profilu
109
+ STATUS_BADGE_ERROR_TITLE=Wystąpił błąd dotyczący profilu
110
+ STATUS_BADGE_SUCCESS_TITLE=Zweryfikowano profil
111
+ PROFILE=Profil
112
+ OPENS_IN_A_NEW_WINDOW=otwiera się w nowym oknie
113
+ TEXT_FIELD=Pole tekstowe
114
+ UPLOADING_FILE_STATUS_TEXT=Przesyłanie
115
+ TERMINATED_FILE_STATUS_TEXT=Zakończone
116
+ REMOVE_FILE_TEXT=Usuń plik
117
+ UPLOAD_BUTTON_LABEL=Prześlij plik
118
+ COMPLETE_LIST_OF=Pełna lista
119
+ CALL_US_TODAY=Zadzwoń do nas już dziś
120
+ SEARCH=Wyszukaj
121
+ RESULT_RETURNED=zwróconych wyników.
122
+ SOCIAL_MEDIA_BUTTON=Przycisk Media społecznościowe
123
+ PROMO_TILE=Kafelek promocyjny
124
+ PROMO_TILE_ICON=Ikona kafelka promocyjnego
125
+ PLAY_BUTTON_ACCESSIBLE_NAME=Przycisk rozpoczynający rotację logo klientów
126
+ PAUSE_BUTTON_ACCESSIBLE_NAME=Przycisk wstrzymujący rotację logo klientów
127
+ LOCATION=Miejsce konferencji
128
+ TOAST_CLOSE_ACCESSIBLE_NAME=Zamknij
129
+ DISABLED=Wyłączone
130
+ EXPAND=Rozwiń
131
+ COLLAPSE=Zwiń
132
+ SHOW_PASSWORD=Pokaż hasło
133
+ HIDE_PASSWORD=Ukryj hasło
134
+ SUPPORT=Wsparcie
135
+ ACCESSIBLE_NAME_RESET_ICON=Wyczyść
136
+ TOOLTIP_RESET_BUTTON=Wyczyść
137
+ SEE_COMPLETE_LIST=Lub zobacz pełną listę
138
+ LOCAL_COUNTRY_NAMES=lokalnych numerów krajowych
@@ -4,4 +4,129 @@ OVERVIEW=Visão geral
4
4
  LOGOUT=Sair
5
5
  MAIN_LINKS=Ligações principais
6
6
  BACK_TO_TOP=Voltar ao início
7
-
7
+ COUNT=Contagem
8
+ OF=de
9
+ PAGINATION_PAGE=Página
10
+ SELECTED=Selecionado
11
+ UNSELECTED=Não selecionado
12
+ INDETERMINATE=Indeterminado
13
+ EDIT_BUTTON=Editar
14
+ DELETE_BUTTON=Eliminar
15
+ BACK_TO_REGION_LIST=Voltar à lista de regiões
16
+ BUTTON_ARIA_TYPE_PRIMARY=Primário
17
+ BUTTON_ARIA_TYPE_SECONDARY=Secundário
18
+ BUTTON_ARIA_TYPE_TERTIARY=Terciário
19
+ BUTTON_ARIA_TYPE_WARNING=Aviso
20
+ BUTTON_ARIA_TYPE_POSITIVE=Positivo
21
+ BUTTON_ARIA_TYPE_NEGATIVE=Negativo
22
+ BUTTON_ARIA_EMPHASIZED=Destacado
23
+ BUTTON_ARIA_DEFAULT=Predefinido
24
+ BUTTON_ARIA_TRANSPARENT=Transparente
25
+ BUTTON_ARIA_ATTENTION=Atenção
26
+ DATEPICKER_DATE_DESCRIPTION=Entrada de data
27
+ TOGGLED=Alternado
28
+ FIRST_PAGE=Primeira página
29
+ LAST_PAGE=Última página
30
+ PREVIOUS_PAGE=Página anterior
31
+ NEXT_PAGE=Página seguinte
32
+ CURRENT_PAGE=Página atual
33
+ ACTIVATE_PAGE=Ativar número da página
34
+ SUGGESTED_TEXT=pesquisas sugeridas
35
+ ACCESSIBLE_NAME_SEARCH_ICON=Pesquisar
36
+ TOOLTIP_VOICE_BUTTON=Voz
37
+ TOOLTIP_SUBMIT_BUTTON=Enviar
38
+ LISTENING=Escuta
39
+ AVAILABLE_VALUES=Valores disponíveis
40
+ RECOMMENDED_TEXT=Páginas recomendadas
41
+ EXPAND_ALL=Expandir tudo
42
+ COLLAPSE_ALL=Comprimir tudo
43
+ MORE=Mais
44
+ ATTENTION_BADGE=Crachá de atenção
45
+ READ_MORE=Ler mais
46
+ READ_LESS=Ler menos
47
+ SHOW_MORE=Mostrar mais
48
+ SHOW_LESS=Mostrar menos
49
+ RATING_INDICATOR_TEXT=Indicador de classificação
50
+ RATING_INDICATOR_TOOLTIP_TEXT=Classificação
51
+ RATING_INDICATOR_ARIA_DESCRIPTION=Obrigatório
52
+ TOTAL=Total
53
+ RATING_COUNT_TITLE=Classificação
54
+ ARIA_LABEL_LIST_MULTISELECTABLE=Contém itens de seleção múltipla
55
+ ARIA_LABEL_LIST_SELECTABLE=Contém itens selecionáveis
56
+ SHOW_RESULTS=Mostrar resultados
57
+ RESET=Repor
58
+ MESSAGE_STRIP_CLOSE_BUTTON=Botão Fechar da faixa de mensagens
59
+ MESSAGE_STRIP_INFORMATION=Barra de informação
60
+ MESSAGE_STRIP_SUCCESS=Barra positiva
61
+ MESSAGE_STRIP_WARNING=Barra de aviso
62
+ MESSAGE_STRIP_ERROR=Barra negativa
63
+ MESSAGE_STRIP_ACTION=Barra de ação
64
+ REVIEWS=avaliações
65
+ STARS=estrelas
66
+ SELECT_OPTIONS=Selecionar opções
67
+ SELECT_ALL=Selecionar todos
68
+ TEXTAREA_CHARACTERS_LEFT=Restam {0} carateres
69
+ VALUE_STATE_TYPE_ERROR=Erro de estado do campo
70
+ VALUE_STATE_TYPE_WARNING=Aviso de estado do campo
71
+ VALUE_STATE_TYPE_SUCCESS=Sucesso de estado do campo
72
+ VALUE_STATE_TYPE_STANDARD=Padrão de estado do campo
73
+ CAROUSEL_PREVIOUS_ARROW_TEXT=Página anterior
74
+ CAROUSEL_NEXT_ARROW_TEXT=Página seguinte
75
+ NO_MATCHES_FOUND=Nenhuma correspondência encontrada.
76
+ BREADCRUMBS_ARIA_LABEL=Trilho de navegação
77
+ BREADCRUMBS_OVERFLOW_ARIA_LABEL=Mais
78
+ STEPINPUT_INC_ICON_TITLE=Aumentar a quantidade em
79
+ STEPINPUT_DEC_ICON_TITLE=Diminuir a quantidade em
80
+ TABLE_NO_DATA_FOUND=Não foram encontrados dados
81
+ VALUE_STATE_ERROR=Entrada inválida
82
+ VALUE_STATE_WARNING=Aviso emitido
83
+ VALUE_STATE_INFORMATION=Entrada informativa
84
+ VALUE_STATE_SUCCESS=Entrada validada com sucesso
85
+ READ_ONLY=Só de leitura
86
+ SWITCH_ACCOUNT=Mudar de conta
87
+ BACK=Voltar
88
+ OTHER_IDENTITIES=Outras identidades
89
+ ADD_OR_REMOVE_ACCOUNT=Adicionar ou remover conta
90
+ COUNTRY_SELECT=Selecionar país
91
+ CART=Carrinho
92
+ COUNTRY_SELECTOR=Seletor de país
93
+ PHONE_NUMBER=Nº de telefone
94
+ CONTACT_US=Contacte-nos
95
+ EMAIL=E-mail
96
+ CHAT_WITH_US=Fale connosco
97
+ QUICK_LINKS=Ligações rápidas
98
+ TRENDING=Tendências
99
+ ABOUT_SAP=Sobre a SAP
100
+ SITE_INFORMATION=Informações sobre o sítio
101
+ AVATAR_TEXT=Avatar
102
+ CALENDAR_ICON=Ícone Abrir calendário
103
+ LIST_ITEM_EDIT_ICON=Editar entrada do item da lista
104
+ LIST_ITEM_DELETE_ICON=Eliminar entrada do item da lista
105
+ BACK_BUTTON_LABEL=botão Voltar
106
+ STATUS_BADGE_TEXT=Crachá de estado
107
+ STATUS_BADGE_EDIT_TITLE=Clique para editar o perfil
108
+ STATUS_BADGE_INFORMATION_TITLE=Clique para abrir as informações de perfil
109
+ STATUS_BADGE_WARNING_TITLE=Aviso, risco potencial com o perfil
110
+ STATUS_BADGE_ERROR_TITLE=Ocorreu um erro com o perfil
111
+ STATUS_BADGE_SUCCESS_TITLE=Perfil verificado com sucesso
112
+ PROFILE=Perfil
113
+ OPENS_IN_A_NEW_WINDOW=abre numa nova janela
114
+ TEXT_FIELD=Campo de texto
115
+ UPLOADING_FILE_STATUS_TEXT=A carregar
116
+ TERMINATED_FILE_STATUS_TEXT=Terminado
117
+ REMOVE_FILE_TEXT=Remover ficheiro
118
+ UPLOAD_BUTTON_LABEL=Carregar ficheiro
119
+ COMPLETE_LIST_OF=Lista completa de
120
+ CALL_US_TODAY=Contacte-nos hoje mesmo!
121
+ SEARCH=Pesquisar
122
+ RESULT_RETURNED=resultados devolvidos.
123
+ SOCIAL_MEDIA_BUTTON=Botão de Redes sociais
124
+ PROMO_TILE=Mosaico promocional
125
+ PROMO_TILE_ICON=Ícone de mosaico promocional
126
+ PLAY_BUTTON_ACCESSIBLE_NAME=Botão de início para iniciar a rotação de logótipos de cliente
127
+ PAUSE_BUTTON_ACCESSIBLE_NAME=Botão de pausa para interromper a rotação de logótipos de cliente
128
+ LOCATION=Localização
129
+ TOAST_CLOSE_ACCESSIBLE_NAME=Fechar
130
+ DISABLED=Desativado
131
+ EXPAND=Expandir
132
+ COLLAPSE=Comprimir
@@ -283,13 +283,28 @@
283
283
  },
284
284
  {
285
285
  "name": "udex-carousel",
286
- "description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-carousel</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/Carousel.js\";</code>\n\n\n---\n\n\n\n\n### **Events:**\n - **navigate** - Triggered when carousel navigates to a new slide\n\n### **Slots:**\n - **default** - Defines the content of the component.",
286
+ "description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-carousel</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/Carousel.js\";</code>\n\n\n---\n\n\n\n\n### **Events:**\n - **autoplay-toggle-click** - Fired event when the user click on a play/paused button.\n- **navigate** - Triggered when carousel navigates to a new slide\n\n### **Slots:**\n - **default** - Defines the content of the component.",
287
287
  "attributes": [
288
288
  {
289
289
  "name": "accessible-name",
290
290
  "description": "Defines the accessible ARIA name of the component.",
291
291
  "values": []
292
292
  },
293
+ {
294
+ "name": "autoplay",
295
+ "description": "Controls carousel autoplay functionality",
296
+ "values": []
297
+ },
298
+ {
299
+ "name": "autoplay-speed",
300
+ "description": "Defines carousel autoplay speed in milliseconds till next slide",
301
+ "values": []
302
+ },
303
+ {
304
+ "name": "cyclic",
305
+ "description": "Defines whether the carousel should loop, i.e show the first page after the last page is reached and vice versa.",
306
+ "values": []
307
+ },
293
308
  {
294
309
  "name": "items-per-page",
295
310
  "description": "Defines the number of items per page depending on the carousel width.\n\n- 'S' for screens smaller than 600 pixels.\n- 'M' for screens greater than or equal to 600 pixels and smaller than 1024 pixels.\n- 'L' for screens greater than or equal to 1024 pixels and smaller than 1440 pixels.\n- 'XL' for screens greater than or equal to 1440 pixels.\n\nOne item per page is shown by default.",
@@ -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.47.0",
4
+ "version": "2.48.0",
5
5
  "description-markup": "markdown",
6
6
  "contributions": {
7
7
  "html": {
@@ -584,7 +584,7 @@
584
584
  },
585
585
  {
586
586
  "name": "udex-carousel",
587
- "description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-carousel</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/Carousel.js\";</code>\n---\n\n\n### **Events:**\n - **navigate** - Triggered when carousel navigates to a new slide\n\n### **Slots:**\n - **default** - Defines the content of the component.",
587
+ "description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-carousel</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/Carousel.js\";</code>\n---\n\n\n### **Events:**\n - **autoplay-toggle-click** - Fired event when the user click on a play/paused button.\n- **navigate** - Triggered when carousel navigates to a new slide\n\n### **Slots:**\n - **default** - Defines the content of the component.",
588
588
  "doc-url": "",
589
589
  "attributes": [
590
590
  {
@@ -592,6 +592,21 @@
592
592
  "description": "Defines the accessible ARIA name of the component.",
593
593
  "value": { "type": "string", "default": "\"\"" }
594
594
  },
595
+ {
596
+ "name": "autoplay",
597
+ "description": "Controls carousel autoplay functionality",
598
+ "value": { "type": "boolean | undefined", "default": "undefined" }
599
+ },
600
+ {
601
+ "name": "autoplay-speed",
602
+ "description": "Defines carousel autoplay speed in milliseconds till next slide",
603
+ "value": { "type": "number", "default": "2000" }
604
+ },
605
+ {
606
+ "name": "cyclic",
607
+ "description": "Defines whether the carousel should loop, i.e show the first page after the last page is reached and vice versa.",
608
+ "value": { "type": "boolean | undefined", "default": "false" }
609
+ },
595
610
  {
596
611
  "name": "items-per-page",
597
612
  "description": "Defines the number of items per page depending on the carousel width.\n\n- 'S' for screens smaller than 600 pixels.\n- 'M' for screens greater than or equal to 600 pixels and smaller than 1024 pixels.\n- 'L' for screens greater than or equal to 1024 pixels and smaller than 1440 pixels.\n- 'XL' for screens greater than or equal to 1440 pixels.\n\nOne item per page is shown by default.",
@@ -618,6 +633,10 @@
618
633
  }
619
634
  ],
620
635
  "events": [
636
+ {
637
+ "name": "autoplay-toggle-click",
638
+ "description": "Fired event when the user click on a play/paused button."
639
+ },
621
640
  {
622
641
  "name": "navigate",
623
642
  "description": "Triggered when carousel navigates to a new slide"
@@ -630,6 +649,21 @@
630
649
  "description": "Defines the accessible ARIA name of the component.",
631
650
  "value": { "type": "string" }
632
651
  },
652
+ {
653
+ "name": "autoplay",
654
+ "description": "Controls carousel autoplay functionality",
655
+ "value": { "type": "boolean | undefined" }
656
+ },
657
+ {
658
+ "name": "autoplay-speed",
659
+ "description": "Defines carousel autoplay speed in milliseconds till next slide",
660
+ "value": { "type": "number" }
661
+ },
662
+ {
663
+ "name": "cyclic",
664
+ "description": "Defines whether the carousel should loop, i.e show the first page after the last page is reached and vice versa.",
665
+ "value": { "type": "boolean | undefined" }
666
+ },
633
667
  {
634
668
  "name": "items-per-page",
635
669
  "description": "Defines the number of items per page depending on the carousel width.\n\n- 'S' for screens smaller than 600 pixels.\n- 'M' for screens greater than or equal to 600 pixels and smaller than 1024 pixels.\n- 'L' for screens greater than or equal to 1024 pixels and smaller than 1440 pixels.\n- 'XL' for screens greater than or equal to 1440 pixels.\n\nOne item per page is shown by default.",
@@ -647,6 +681,10 @@
647
681
  }
648
682
  ],
649
683
  "events": [
684
+ {
685
+ "name": "autoplay-toggle-click",
686
+ "description": "Fired event when the user click on a play/paused button."
687
+ },
650
688
  {
651
689
  "name": "navigate",
652
690
  "description": "Triggered when carousel navigates to a new slide"
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@sapudex/web-components",
4
- "version": "2.47.0",
4
+ "version": "2.48.0",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
7
7
  },
package/src/Carousel.ts CHANGED
@@ -10,12 +10,16 @@ import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
10
10
  import {
11
11
  isUp, isDown, isRight, isLeft,
12
12
  } from "@ui5/webcomponents-base/dist/Keys.js";
13
- import { CAROUSEL_NEXT_ARROW_TEXT, CAROUSEL_PREVIOUS_ARROW_TEXT } from "./generated/i18n/i18n-defaults.js";
13
+ import {
14
+ CAROUSEL_NEXT_ARROW_TEXT,
15
+ CAROUSEL_PREVIOUS_ARROW_TEXT,
16
+ CAROUSEL_AUTOPLAY_TOGGLE_START,
17
+ CAROUSEL_AUTOPLAY_TOGGLE_STOP,
18
+ } from "./generated/i18n/i18n-defaults.js";
14
19
  import redirectAttributes from "./utils/redirectAttributes.js";
15
20
  import type UI5Carousel from "@ui5/webcomponents/dist/Carousel.js";
16
21
  import type { CarouselNavigateEventDetail } from "@ui5/webcomponents/dist/Carousel.js";
17
22
  import type { UI5CustomEvent } from "@ui5/webcomponents-base";
18
- import type Icon from "@ui5/webcomponents/dist/Icon.js";
19
23
  import translate from "./utils/translate.js";
20
24
 
21
25
  import CarouselTemplate from "./CarouselTemplate.js";
@@ -23,7 +27,6 @@ import CarouselTemplate from "./CarouselTemplate.js";
23
27
  // Styles
24
28
  import CarouselCss from "./generated/themes/Carousel.css.js";
25
29
  import type CarouselPageIndicatorType from "@ui5/webcomponents/dist/types/CarouselPageIndicatorType.js";
26
- import type UDExButton from "./Button.js";
27
30
 
28
31
  export enum UDExCarouselNavigationPosition {
29
32
  top = "top",
@@ -35,6 +38,10 @@ export enum UDExCarouselButtonDesign {
35
38
  Tertiary = "Tertiary",
36
39
  }
37
40
 
41
+ type UDExCarouselAutoplayToggleEventDetails = {
42
+ isPaused: boolean;
43
+ }
44
+
38
45
  /**
39
46
  * @class
40
47
  *
@@ -65,10 +72,18 @@ export enum UDExCarouselButtonDesign {
65
72
  * @param { CustomEvent }
66
73
  */
67
74
  @event("navigate")
75
+ /**
76
+ * Fired event when the user click on a play/paused button.
77
+ *
78
+ * @public
79
+ * @param {boolean} isPaused - Indicates current state of autoplay
80
+ */
81
+ @event("autoplay-toggle-click", { bubbles: true })
68
82
 
69
83
  class UDExCarousel extends UI5Element {
70
84
  eventDetails!: {
71
85
  "navigate": CarouselNavigateEventDetail,
86
+ "autoplay-toggle-click": UDExCarouselAutoplayToggleEventDetails,
72
87
  };
73
88
  /**
74
89
  * Defines the position of the navigation.
@@ -83,6 +98,37 @@ class UDExCarousel extends UI5Element {
83
98
  */
84
99
  @property()
85
100
  navigationPlacement: `${UDExCarouselNavigationPosition}` = UDExCarouselNavigationPosition.top;
101
+ /**
102
+ * Controls carousel autoplay functionality
103
+ * @public
104
+ * @default undefined
105
+ */
106
+ @property({ type: Boolean })
107
+ autoplay?: boolean;
108
+
109
+ /**
110
+ * Defines carousel autoplay speed in milliseconds till next slide
111
+ * @public
112
+ */
113
+ @property({ type: Number })
114
+ autoplaySpeed: number = 2000;
115
+
116
+ /**
117
+ * Indicates current state of autoplay.
118
+ *
119
+ * @default true
120
+ * @private
121
+ */
122
+ @property({ type: Boolean })
123
+ _autoplayIsPaused = true;
124
+
125
+ /**
126
+ * Defines whether the carousel should loop, i.e show the first page after the last page is reached and vice versa.
127
+ * @public
128
+ * @default false
129
+ */
130
+ @property({ type: Boolean })
131
+ cyclic?: boolean;
86
132
 
87
133
  /**
88
134
  * Defines the content of the component.
@@ -151,6 +197,31 @@ class UDExCarousel extends UI5Element {
151
197
  @i18n("@sapudex/web-components")
152
198
  static i18nBundle: I18nBundle;
153
199
 
200
+ _autoplayInterval: ReturnType<typeof setInterval> | null = null;
201
+ _autoplayLastToggle = Date.now();
202
+ _autoplayMinTimeBetweenToggle = 250;
203
+ _autoplayManualStop = false;
204
+ _autoplayLoop = () => {
205
+ const items = this._carousel?.items;
206
+ if (!items) { return; }
207
+
208
+ const currentSlide = this._carousel._currentPageIndex;
209
+ const itemsPerPage = this._carousel.effectiveItemsPerPage;
210
+ const isLastSlide = currentSlide === (items.length - itemsPerPage);
211
+
212
+ if (isLastSlide && !this.cyclic) {
213
+ this._stopAutoplay();
214
+ this._autoplayManualStop = true;
215
+
216
+ return;
217
+ }
218
+
219
+ const nextSlide = isLastSlide ? 0 : (currentSlide + itemsPerPage);
220
+
221
+ this._carousel?.navigateTo(nextSlide);
222
+ this._calculateDisabledButtonsState();
223
+ };
224
+
154
225
  get nextPageText(): string {
155
226
  return translate(UDExCarousel, CAROUSEL_NEXT_ARROW_TEXT);
156
227
  }
@@ -165,6 +236,26 @@ class UDExCarousel extends UI5Element {
165
236
  return `${classes} udex-carousel__navigation--${this.navigationPlacement}`;
166
237
  }
167
238
 
239
+ get navigationWrapperClass(): string {
240
+ let _class = "udex-carousel__navigation-wrapper";
241
+
242
+ if (this.autoplay) {
243
+ _class += " udex-carousel__navigation-wrapper--autoplay";
244
+ }
245
+
246
+ return _class;
247
+ }
248
+
249
+ get navigationButtonWrapperClass(): string {
250
+ let _class = "udex-carousel__navigation-button-wrapper";
251
+
252
+ if (this._carousel?.isPageTypeDots) {
253
+ _class += " udex-carousel__navigation-button-wrapper--dot-indicators";
254
+ }
255
+
256
+ return _class;
257
+ }
258
+
168
259
  get buttonDesign(): UDExCarouselButtonDesign {
169
260
  return this.navigationPlacement === UDExCarouselNavigationPosition.top
170
261
  ? UDExCarouselButtonDesign.Secondary
@@ -190,25 +281,98 @@ class UDExCarousel extends UI5Element {
190
281
  return this._carousel?.shadowRoot?.querySelector(".ui5-carousel-root");
191
282
  }
192
283
 
284
+ _startAutoplay(): void {
285
+ if (!this.autoplay) { return; }
286
+
287
+ if (!this._carousel?.items) {
288
+ console.warn("[UDExCarousel] Cannot start autoplay on an empty carousel");
289
+ return;
290
+ }
291
+
292
+ const toggleBuffer = Date.now() - this._autoplayLastToggle;
293
+ if (this._autoplayInterval !== null && toggleBuffer <= this._autoplayMinTimeBetweenToggle) {
294
+ this._autoplayLastToggle = Date.now();
295
+ return;
296
+ }
297
+
298
+ if (this._autoplayInterval !== null) {
299
+ clearInterval(this._autoplayInterval);
300
+ }
301
+
302
+ this._autoplayInterval = setInterval(this._autoplayLoop, this.autoplaySpeed);
303
+ this._autoplayIsPaused = false;
304
+ this._autoplayLastToggle = Date.now();
305
+ }
306
+
307
+ _stopAutoplay(): void {
308
+ if (!this._autoplayInterval) { return; }
309
+
310
+ clearInterval(this._autoplayInterval);
311
+ this._autoplayIsPaused = true;
312
+ this._autoplayLastToggle = Date.now();
313
+ }
314
+
315
+ _onAutoplayToggleClick(): void {
316
+ if (this._autoplayIsPaused) {
317
+ this._startAutoplay();
318
+ this._autoplayManualStop = false;
319
+ } else {
320
+ this._stopAutoplay();
321
+ this._autoplayManualStop = true;
322
+ }
323
+
324
+ this.fireDecoratorEvent("autoplay-toggle-click", {
325
+ isPaused: this._autoplayIsPaused,
326
+ });
327
+ }
328
+
329
+ get _isBottomNavigation(): boolean {
330
+ return this.navigationPlacement === UDExCarouselNavigationPosition.bottom;
331
+ }
332
+
333
+ get autoplayToggleButtonTooltipText(): string {
334
+ return this._autoplayIsPaused
335
+ ? translate(UDExCarousel, CAROUSEL_AUTOPLAY_TOGGLE_START)
336
+ : translate(UDExCarousel, CAROUSEL_AUTOPLAY_TOGGLE_STOP);
337
+ }
338
+
339
+ _onFocusIn(): void {
340
+ this._stopAutoplay();
341
+ }
342
+
343
+ _onFocusOut(): void {
344
+ if (!this._autoplayManualStop) { this._startAutoplay(); }
345
+ }
346
+
347
+ _onMouseEnter(): void {
348
+ this._stopAutoplay();
349
+ }
350
+
351
+ _onMouseLeave(): void {
352
+ if (!this._autoplayManualStop) { this._startAutoplay(); }
353
+ }
354
+
193
355
  _calculateDisabledButtonsState() {
194
356
  this.isPrevButtonDisabled = !this._carousel?.hasPrev;
195
357
  this.isNextButtonDisabled = !this._carousel?.hasNext;
196
358
  }
197
359
 
198
- _prevButtonClick(e: UI5CustomEvent<UDExButton, "click">) {
199
- if (this.isPrevButtonDisabled) {
360
+ _prevButtonClick() {
361
+ if (this.isPrevButtonDisabled || !this._carousel) {
200
362
  return;
201
363
  }
202
364
 
203
- this._carousel?._navButtonClick(e as unknown as UI5CustomEvent<Icon, "click">);
365
+ this._carousel.navigateLeft();
366
+ this._calculateDisabledButtonsState();
204
367
  }
205
368
 
206
- _nextButtonClick(e: UI5CustomEvent<UDExButton, "click">) {
207
- if (this.isNextButtonDisabled) {
369
+ _nextButtonClick() {
370
+ if (this.isNextButtonDisabled || !this._carousel) {
208
371
  return;
209
372
  }
210
373
 
211
- this._carousel?._navButtonClick(e as unknown as UI5CustomEvent<Icon, "click">);
374
+ this._carousel.navigateRight();
375
+ this._calculateDisabledButtonsState();
212
376
  }
213
377
 
214
378
  _onkeydown(e: KeyboardEvent) {
@@ -227,9 +391,16 @@ class UDExCarousel extends UI5Element {
227
391
  redirectAttributes(this, "carousel");
228
392
 
229
393
  this._calculateDisabledButtonsState();
394
+
395
+ if (this._autoplayInterval === null) { this._startAutoplay(); }
396
+ }
397
+
398
+ onExitDOM(): void {
399
+ if (this._autoplayInterval) { clearInterval(this._autoplayInterval); }
230
400
  }
231
401
  }
232
402
 
233
403
  UDExCarousel.define();
234
404
 
235
405
  export default UDExCarousel;
406
+ export type { CarouselNavigateEventDetail, UDExCarouselAutoplayToggleEventDetails };