@sapudex/web-components 0.231.3 → 0.231.5

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 (175) hide show
  1. package/dist/Assets.d.ts +1 -0
  2. package/dist/Assets.js +1 -0
  3. package/dist/Assets.js.map +1 -1
  4. package/dist/ControlButton.d.ts +3 -1
  5. package/dist/ControlButton.js +13 -3
  6. package/dist/ControlButton.js.map +1 -1
  7. package/dist/CountrySelector.d.ts +2 -2
  8. package/dist/CountrySelector.js +8 -5
  9. package/dist/CountrySelector.js.map +1 -1
  10. package/dist/DatePicker.js +2 -2
  11. package/dist/DatePicker.js.map +1 -1
  12. package/dist/FilterMenu.d.ts +23 -4
  13. package/dist/FilterMenu.js +70 -13
  14. package/dist/FilterMenu.js.map +1 -1
  15. package/dist/MastheadShell.d.ts +6 -3
  16. package/dist/MastheadShell.js +14 -4
  17. package/dist/MastheadShell.js.map +1 -1
  18. package/dist/TextField.d.ts +19 -10
  19. package/dist/TextField.js +42 -29
  20. package/dist/TextField.js.map +1 -1
  21. package/dist/assets/ar-4f0abe88.js +1 -0
  22. package/dist/assets/ar_EG-33c30640.js +1 -0
  23. package/dist/assets/ar_SA-4fb0119e.js +1 -0
  24. package/dist/assets/bg-4dfbac34.js +1 -0
  25. package/dist/assets/{bundle.esm-d507a7fc.js → bundle.esm-c89b7e7f.js} +191 -191
  26. package/dist/assets/ca-0adfb0a5.js +1 -0
  27. package/dist/assets/cnr-7b8ee13c.js +1 -0
  28. package/dist/assets/cs-7ce6fc77.js +1 -0
  29. package/dist/assets/da-d531cb4b.js +1 -0
  30. package/dist/assets/de-0956bb86.js +1 -0
  31. package/dist/assets/de_AT-1d4a673c.js +1 -0
  32. package/dist/assets/de_CH-b0aa3afe.js +1 -0
  33. package/dist/assets/el-087bca7a.js +1 -0
  34. package/dist/assets/el_CY-e2999371.js +1 -0
  35. package/dist/assets/en-5e51a9cc.js +1 -0
  36. package/dist/assets/en_AU-d8fe8569.js +1 -0
  37. package/dist/assets/en_GB-ba18957c.js +1 -0
  38. package/dist/assets/en_HK-95927212.js +1 -0
  39. package/dist/assets/en_IE-72dac8b7.js +1 -0
  40. package/dist/assets/en_IN-c51dcb94.js +1 -0
  41. package/dist/assets/en_NZ-799668bd.js +1 -0
  42. package/dist/assets/en_PG-322a9c1d.js +1 -0
  43. package/dist/assets/en_SG-e2817500.js +1 -0
  44. package/dist/assets/en_ZA-7a8893ed.js +1 -0
  45. package/dist/assets/es-a49e4234.js +1 -0
  46. package/dist/assets/es_AR-987273ce.js +1 -0
  47. package/dist/assets/es_BO-6407ce81.js +1 -0
  48. package/dist/assets/es_CL-bbd249e2.js +1 -0
  49. package/dist/assets/es_CO-5aadb676.js +1 -0
  50. package/dist/assets/es_MX-64ffbc24.js +1 -0
  51. package/dist/assets/es_PE-220c371e.js +1 -0
  52. package/dist/assets/es_UY-9608e924.js +1 -0
  53. package/dist/assets/es_VE-87def8b1.js +1 -0
  54. package/dist/assets/et-ed2e4c5e.js +1 -0
  55. package/dist/assets/fa-372c2ca8.js +1 -0
  56. package/dist/assets/fi-49cc59c4.js +1 -0
  57. package/dist/assets/fr-cb891f3c.js +1 -0
  58. package/dist/assets/fr_BE-49546add.js +1 -0
  59. package/dist/assets/fr_CA-de78fbe1.js +1 -0
  60. package/dist/assets/fr_CH-36c5581d.js +1 -0
  61. package/dist/assets/fr_LU-84ec0ca9.js +1 -0
  62. package/dist/assets/he-7010fec0.js +1 -0
  63. package/dist/assets/hi-011032b8.js +1 -0
  64. package/dist/assets/hr-cf6424f4.js +1 -0
  65. package/dist/assets/hu-de5c6410.js +1 -0
  66. package/dist/assets/id-d519ad13.js +1 -0
  67. package/dist/assets/it-7571a45f.js +1 -0
  68. package/dist/assets/it_CH-2d02acb4.js +1 -0
  69. package/dist/assets/ja-ed518694.js +1 -0
  70. package/dist/assets/kk-11548ca1.js +1 -0
  71. package/dist/assets/ko-ff650cea.js +1 -0
  72. package/dist/assets/lt-a55a76f9.js +1 -0
  73. package/dist/assets/lv-988dcda6.js +1 -0
  74. package/dist/assets/mk-6f2db893.js +1 -0
  75. package/dist/assets/ms-79ea2811.js +1 -0
  76. package/dist/assets/nb-d8116e03.js +1 -0
  77. package/dist/assets/nl-60ec308f.js +1 -0
  78. package/dist/assets/nl_BE-b51c75e9.js +1 -0
  79. package/dist/assets/pl-78f5b229.js +1 -0
  80. package/dist/assets/pt-a8c3a084.js +1 -0
  81. package/dist/assets/pt_PT-73b47e3d.js +1 -0
  82. package/dist/assets/ro-bb1a86ed.js +1 -0
  83. package/dist/assets/ru-3f49aae1.js +1 -0
  84. package/dist/assets/ru_UA-3eeb1b85.js +1 -0
  85. package/dist/assets/sk-e6cafcc8.js +1 -0
  86. package/dist/assets/sl-0bc16b8c.js +1 -0
  87. package/dist/assets/sr-08575b3a.js +1 -0
  88. package/dist/assets/sr_Latn-1440b74b.js +1 -0
  89. package/dist/assets/sv-f1bbb7c1.js +1 -0
  90. package/dist/assets/th-a4513b78.js +1 -0
  91. package/dist/assets/tr-f0f57c58.js +1 -0
  92. package/dist/assets/uk-f6e80b51.js +1 -0
  93. package/dist/assets/vi-52a2fc96.js +1 -0
  94. package/dist/assets/zh_CN-c4c6c916.js +1 -0
  95. package/dist/assets/zh_HK-e173672f.js +1 -0
  96. package/dist/assets/zh_SG-fcc2a69f.js +1 -0
  97. package/dist/assets/zh_TW-f1555202.js +1 -0
  98. package/dist/css/themes/DatePicker.css +1 -1
  99. package/dist/css/themes/Dropdown.css +1 -1
  100. package/dist/css/themes/FilterMenu.css +1 -1
  101. package/dist/css/themes/MastheadItem.css +1 -1
  102. package/dist/css/themes/MastheadMenu.css +1 -1
  103. package/dist/css/themes/RatingIndicator.css +1 -1
  104. package/dist/css/themes/SelectBox.css +1 -1
  105. package/dist/css/themes/Slider.css +1 -1
  106. package/dist/css/themes/TextField.css +1 -1
  107. package/dist/custom-elements-internal.json +6 -6
  108. package/dist/custom-elements.json +6 -6
  109. package/dist/generated/templates/CountrySelectorTemplate.lit.js +1 -2
  110. package/dist/generated/templates/CountrySelectorTemplate.lit.js.map +1 -1
  111. package/dist/generated/templates/DatePickerTemplate.lit.js +1 -2
  112. package/dist/generated/templates/DatePickerTemplate.lit.js.map +1 -1
  113. package/dist/generated/templates/FilterMenuTemplate.lit.js +2 -2
  114. package/dist/generated/templates/FilterMenuTemplate.lit.js.map +1 -1
  115. package/dist/generated/templates/SearchableListBaseTemplate.lit.js +1 -1
  116. package/dist/generated/templates/SearchableListBaseTemplate.lit.js.map +1 -1
  117. package/dist/generated/templates/SelectBoxTemplate.lit.js +3 -3
  118. package/dist/generated/templates/SelectBoxTemplate.lit.js.map +1 -1
  119. package/dist/generated/templates/TextFieldTemplate.lit.js +1 -1
  120. package/dist/generated/templates/TextFieldTemplate.lit.js.map +1 -1
  121. package/dist/generated/themes/DatePicker.css.js +1 -1
  122. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  123. package/dist/generated/themes/Dropdown.css.js +1 -1
  124. package/dist/generated/themes/Dropdown.css.js.map +1 -1
  125. package/dist/generated/themes/FilterMenu.css.js +1 -1
  126. package/dist/generated/themes/FilterMenu.css.js.map +1 -1
  127. package/dist/generated/themes/MastheadItem.css.js +1 -1
  128. package/dist/generated/themes/MastheadItem.css.js.map +1 -1
  129. package/dist/generated/themes/MastheadMenu.css.js +1 -1
  130. package/dist/generated/themes/MastheadMenu.css.js.map +1 -1
  131. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  132. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  133. package/dist/generated/themes/SelectBox.css.js +1 -1
  134. package/dist/generated/themes/SelectBox.css.js.map +1 -1
  135. package/dist/generated/themes/Slider.css.js +1 -1
  136. package/dist/generated/themes/Slider.css.js.map +1 -1
  137. package/dist/generated/themes/TextField.css.js +1 -1
  138. package/dist/generated/themes/TextField.css.js.map +1 -1
  139. package/dist/web-types.json +4 -4
  140. package/package.json +2 -1
  141. package/src/Assets.ts +1 -0
  142. package/src/ControlButton.ts +16 -3
  143. package/src/CountrySelector.hbs +3 -9
  144. package/src/CountrySelector.ts +9 -6
  145. package/src/DatePicker.hbs +17 -27
  146. package/src/DatePicker.ts +2 -2
  147. package/src/FilterMenu.hbs +32 -36
  148. package/src/FilterMenu.ts +80 -17
  149. package/src/MastheadShell.ts +19 -7
  150. package/src/SearchableListBase.hbs +1 -1
  151. package/src/SelectBox.hbs +10 -12
  152. package/src/TextField.hbs +16 -14
  153. package/src/TextField.ts +86 -65
  154. package/src/generated/templates/CountrySelectorTemplate.lit.ts +1 -2
  155. package/src/generated/templates/DatePickerTemplate.lit.ts +1 -2
  156. package/src/generated/templates/FilterMenuTemplate.lit.ts +2 -2
  157. package/src/generated/templates/SearchableListBaseTemplate.lit.ts +1 -1
  158. package/src/generated/templates/SelectBoxTemplate.lit.ts +3 -3
  159. package/src/generated/templates/TextFieldTemplate.lit.ts +1 -1
  160. package/src/generated/themes/DatePicker.css.ts +1 -1
  161. package/src/generated/themes/Dropdown.css.ts +1 -1
  162. package/src/generated/themes/FilterMenu.css.ts +1 -1
  163. package/src/generated/themes/MastheadItem.css.ts +1 -1
  164. package/src/generated/themes/MastheadMenu.css.ts +1 -1
  165. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  166. package/src/generated/themes/SelectBox.css.ts +1 -1
  167. package/src/generated/themes/Slider.css.ts +1 -1
  168. package/src/generated/themes/TextField.css.ts +1 -1
  169. package/src/themes/DatePicker.css +0 -6
  170. package/src/themes/Dropdown.css +1 -1
  171. package/src/themes/FilterMenu.css +2 -2
  172. package/src/themes/MastheadItem.css +2 -1
  173. package/src/themes/MastheadMenu.css +4 -4
  174. package/src/themes/SelectBox.css +1 -2
  175. package/src/themes/TextField.css +0 -26
@@ -3,6 +3,7 @@ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement
3
3
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
4
4
  import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
5
5
  import event from "@ui5/webcomponents-base/dist/decorators/event.js";
6
+ import type { ChangeInfo } from "@ui5/webcomponents-base/dist/UI5Element.js";
6
7
  import UI5Icon from "@ui5/webcomponents/dist/Icon.js";
7
8
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
8
9
  import ResizeHandler, { ResizeObserverCallback } from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
@@ -30,7 +31,7 @@ import AnalyticsName from "./types/AnalyticsName.js";
30
31
  // Styles
31
32
  import MastheadShellCss from "./generated/themes/MastheadShell.css.js";
32
33
 
33
- const canvasContentFont = "16px '72 Brand Variable'";
34
+ const canvasContentFont = "14px '72 Brand Variable'";
34
35
  type MastheadSlottedItem = UDExMastheadItem | UDExMastheadProfileMenu | UDExMastheadMenu | UDExMastheadCountrySelector | undefined | null;
35
36
  type MastheadItemType = UDExMastheadItem | null | undefined;
36
37
  export const MastheadOriginalEvent = {
@@ -48,6 +49,7 @@ export const AnalyticsNameEventDetail = {
48
49
  };
49
50
 
50
51
  export enum UDExMastheadVariable {
52
+ itemArrowIconMarginInlineStart = "--udex-masthead-item-arrow-margin-inline-start",
51
53
  mobileMenuHeight = "--udex-masthead-shell-mobile-menu-height",
52
54
  itemButtonIconSize = "--udex-masthead-item-button-icon-size",
53
55
  itemArrowIconSize = "--udex-masthead-item-arrow-icon-size",
@@ -262,7 +264,7 @@ class UDExMastheadShell extends UI5Element {
262
264
  /**
263
265
  * Defines overflow style for the body after clicking mobile menu opener button
264
266
  *
265
- * @default ""
267
+ * @default false
266
268
  * @public
267
269
  */
268
270
  @property({ type: Boolean })
@@ -271,7 +273,7 @@ class UDExMastheadShell extends UI5Element {
271
273
  /**
272
274
  * Defines the visibility of the Search by default.
273
275
  *
274
- * @default ""
276
+ * @default false
275
277
  * @public
276
278
  */
277
279
  @property({ type: Boolean })
@@ -280,7 +282,7 @@ class UDExMastheadShell extends UI5Element {
280
282
  /**
281
283
  * Defines sticky position for component
282
284
  *
283
- * @default ""
285
+ * @default false
284
286
  * @public
285
287
  */
286
288
  @property({ type: Boolean })
@@ -417,7 +419,9 @@ class UDExMastheadShell extends UI5Element {
417
419
  this.focusSearchBtn();
418
420
  }
419
421
 
420
- this.updateVisibility();
422
+ if (this.shouldHandleMobileView) {
423
+ this.updateVisibility();
424
+ }
421
425
  }
422
426
 
423
427
  onEnterDOM(): void {
@@ -503,6 +507,12 @@ class UDExMastheadShell extends UI5Element {
503
507
  }
504
508
  }
505
509
 
510
+ onInvalidation({ name }: ChangeInfo): void {
511
+ if (name === "default" && this.shouldHandleMobileView) {
512
+ this.handleMobileMode();
513
+ }
514
+ }
515
+
506
516
  handleRightArrow(e: KeyboardEvent): void {
507
517
  if (isRight(e)) {
508
518
  const currentItem = e.target as UDExMastheadItem;
@@ -685,7 +695,9 @@ class UDExMastheadShell extends UI5Element {
685
695
  }
686
696
 
687
697
  getItemArrowIconWidth(): number {
688
- return this.getItemIconSize(UDExMastheadVariable.itemArrowIconSize);
698
+ const arrowIconSize = this.getItemIconSize(UDExMastheadVariable.itemArrowIconSize);
699
+ const marginInlineStart = this.getItemIconSize(UDExMastheadVariable.itemArrowIconMarginInlineStart);
700
+ return arrowIconSize + marginInlineStart;
689
701
  }
690
702
 
691
703
  getMainMenuWidth(): number {
@@ -695,7 +707,7 @@ class UDExMastheadShell extends UI5Element {
695
707
  const mainItem = item as UDExMastheadItem;
696
708
  const hasArrowIcon = mainItem.hasArrowDown && !mainItem.hideArrowIcon;
697
709
  const arrowIconWidth = hasArrowIcon ? this.getItemArrowIconWidth() : 0;
698
- return accumulatedWidth + this.getItemWidth(mainItem) + (index && parseInt(gapItemVar) + arrowIconWidth);
710
+ return accumulatedWidth + this.getItemWidth(mainItem) + (index && parseInt(gapItemVar)) + arrowIconWidth;
699
711
  }, 0);
700
712
  }
701
713
 
@@ -16,7 +16,7 @@
16
16
  </span>
17
17
  {{/if}}
18
18
  {{#if isListEmpty}}
19
- <div class="udex-no-result"><span>{{getNoResultText}}&lrm;</span></div>
19
+ <div class="udex-no-result"><span>{{getNoResultText}}</span></div>
20
20
  {{else if busy}}
21
21
  <ui5-busy-indicator
22
22
  class="udex-busy-indicator"
package/src/SelectBox.hbs CHANGED
@@ -23,16 +23,17 @@
23
23
  aria-expanded="{{tokenizerExpanded}}"
24
24
  aria-activedescendant>
25
25
  {{#if label}}
26
- <span id="{{this._id}}-single-label" class="{{labelClass}}">
27
- {{label}}
28
- {{#if required}}
29
- *
30
- {{/if}}
31
- </span>
26
+ <span class="{{labelClass}}">
27
+ {{label}}
28
+ {{#if required}}
29
+ *
30
+ {{/if}}
31
+ </span>
32
+ <span class="hidden" id="{{this._id}}-single-label">{{accInfo.ariaLabel}}</span>
32
33
  {{/if}}
33
34
  {{#if showSingleSelectedOption}}
34
35
  <div class="udex-text-field__text-holder">
35
- <span class="udex-text-field__single-label">
36
+ <span class="udex-text-field__single-label" aria-hidden="true">
36
37
  {{{_singleSelectedOption}}}
37
38
  </span>
38
39
  </div>
@@ -66,15 +67,12 @@
66
67
  aria-expanded="{{accessibilityAttributes.expanded}}"
67
68
  aria-controls="{{accessibilityAttributes.controls}}"
68
69
  aria-haspopup="{{accessibilityAttributes.hasPopup}}"
69
- aria-label="{{accessibilityAttributes.ariaLabel}}"
70
70
  class="udex-text-field__trigger"
71
71
  tabindex="{{triggerTabIndex}}"
72
72
  @keydown="{{handleKeyDownTrigger}}"
73
73
  @click="{{getHandleMultiSelectOpen}}">
74
- <ui5-icon
75
- name="navigation-down-arrow"
76
- accessible-name="{{iconAccessibleNameText}}">
77
- </ui5-icon>
74
+ <ui5-icon name="navigation-down-arrow"></ui5-icon>
75
+ <span class="hidden">{{accessibilityAttributes.ariaLabel}}</span>
78
76
  </button>
79
77
  {{/if}}
80
78
  </div>
package/src/TextField.hbs CHANGED
@@ -39,20 +39,22 @@
39
39
  />
40
40
 
41
41
  {{#if icon}}
42
- <udex-control-button
43
- accessible-name="{{accessibleIconName}}"
44
- tooltip="{{showButtonTooltip}}"
45
- ?active="{{active}}"
46
- ?disabled="{{disabled}}"
47
- ?readonly="{{readonly}}"
48
- ?non-interactive="{{readonly}}"
49
- design="{{valueState}}"
50
- icon="{{icon}}"
51
- @click="{{handleIconClick}}"
52
- part="textfield-control-btn"
53
- size="Large"
54
- class="udex-text-field_icon-container"
55
- ></udex-control-button>
42
+ <udex-control-button
43
+ accessible-name="{{buttonAccessibleName}}"
44
+ accessible-description="{{buttonAccessibleDescription}}"
45
+ tooltip="{{showButtonTooltip}}"
46
+ ?active="{{active}}"
47
+ ?disabled="{{disabled}}"
48
+ ?readonly="{{readonly}}"
49
+ ?non-interactive="{{readonly}}"
50
+ ?_is-combobox-role="{{_isComboboxRole}}"
51
+ design="{{valueState}}"
52
+ icon="{{icon}}"
53
+ @click="{{handleIconClick}}"
54
+ part="textfield-control-btn"
55
+ size="Large"
56
+ class="udex-text-field_icon-container">
57
+ </udex-control-button>
56
58
  {{/if}}
57
59
  </div>
58
60
 
package/src/TextField.ts CHANGED
@@ -313,65 +313,42 @@ class UDExTextField extends UI5Element {
313
313
  @property({ type: Boolean })
314
314
  _isTouched!: boolean;
315
315
 
316
+ /**
317
+ * Determines Combobox role for the button.
318
+ * @default false
319
+ * @private
320
+ */
321
+ @property({ type: Boolean })
322
+ _isComboboxRole?: boolean;
323
+
316
324
  static i18nBundle: I18nBundle;
317
325
 
318
326
  static async onDefine(): Promise<void> {
319
327
  UDExTextField.i18nBundle = await getI18nBundle("@sapudex/web-components");
320
328
  }
321
329
 
322
- get valueStateTypeMappings(): Record<string, string> {
323
- return {
324
- "Success": UDExTextField.i18nBundle.getText(VALUE_STATE_SUCCESS),
325
- "Standard": UDExTextField.i18nBundle.getText(VALUE_STATE_INFORMATION),
326
- "Error": UDExTextField.i18nBundle.getText(VALUE_STATE_ERROR),
327
- "Warning": UDExTextField.i18nBundle.getText(VALUE_STATE_WARNING),
328
- };
329
- }
330
-
331
- get hasValueState(): boolean {
332
- return this.valueState !== ValueState.Standard;
333
- }
334
-
335
- get valueStateText(): string | undefined {
336
- return this.valueState !== ValueState.Standard ? this.valueStateTypeMappings[this.valueState] : undefined;
337
- }
338
-
339
- get readOnlyStateText(): string {
340
- return UDExTextField.i18nBundle.getText(READ_ONLY);
341
- }
342
-
343
- get ariaDescribedById(): string {
344
- return `${this.supportingTextId} ${this.valueStateTextId} ${this.readOnlyStateTextId}`.trim();
345
- }
346
-
347
- get supportingTextId(): string {
348
- return this.supportingText ? `${this._id}-supportingTextDesc` : "";
349
- }
350
-
351
- get valueStateTextId(): string {
352
- return this.hasValueState ? `${this._id}-valueStateDesc` : "";
353
- }
330
+ onBeforeRendering(): void {
331
+ if ((this.value || this.active) && this.labelActiveClass === "") {
332
+ this.labelActiveClass = this._labelActiveClassName;
333
+ } else if (!this.active && !this.value && this.labelActiveClass.length) {
334
+ this.labelActiveClass = "";
335
+ }
354
336
 
355
- get readOnlyStateTextId(): string {
356
- return this.readonly ? `${this._id}-stateReadOnlyDesc` : "";
357
- }
337
+ this.isInputReadonly = this.readonly || this.displayonly;
358
338
 
359
- get accInfo(): AccInfo {
360
- return {
361
- "ariaInvalid": this.valueState === ValueState.Error ? "true" : undefined,
362
- "ariaDescribedBy": this.ariaDescribedBy ? this.ariaDescribedBy : this.ariaDescribedById || undefined,
363
- "ariaLabelledBy": this.accessibleNameRef || undefined,
364
- "ariaLabel": this.accessibleName || undefined,
365
- "ariaHasPopup": this._ariaHasPopup || undefined,
366
- };
339
+ this.labelClasses = `udex-text-field__label ${this.labelActiveClass}`;
367
340
  }
368
341
 
369
- get inputRole(): string | undefined {
370
- return this.isAutoCompleteDisabled ? "presentation" : undefined;
371
- }
342
+ onAfterRendering(): void {
343
+ const directionStyles: string = window
344
+ .getComputedStyle(this)
345
+ .getPropertyValue("direction");
372
346
 
373
- get isAutoCompleteDisabled(): boolean {
374
- return this.autocomplete === "off" || this.autocomplete === "new-password";
347
+ if (!directionStyles) {
348
+ this.direction = "ltr";
349
+ } else {
350
+ this.direction = directionStyles;
351
+ }
375
352
  }
376
353
 
377
354
  handleKeydown(e: KeyboardEvent): void {
@@ -415,33 +392,77 @@ class UDExTextField extends UI5Element {
415
392
  this.fireEvent("click-icon");
416
393
  }
417
394
 
418
- onBeforeRendering(): void {
419
- if ((this.value || this.active) && this.labelActiveClass === "") {
420
- this.labelActiveClass = this._labelActiveClassName;
421
- } else if (!this.active && !this.value && this.labelActiveClass.length) {
422
- this.labelActiveClass = "";
423
- }
395
+ get _inputHolder(): HTMLElement {
396
+ return this.shadowRoot!.querySelector<HTMLElement>(".udex-text-field__wrap")!;
397
+ }
424
398
 
425
- this.isInputReadonly = this.readonly || this.displayonly;
399
+ get valueStateTypeMappings(): Record<string, string> {
400
+ return {
401
+ "Success": UDExTextField.i18nBundle.getText(VALUE_STATE_SUCCESS),
402
+ "Standard": UDExTextField.i18nBundle.getText(VALUE_STATE_INFORMATION),
403
+ "Error": UDExTextField.i18nBundle.getText(VALUE_STATE_ERROR),
404
+ "Warning": UDExTextField.i18nBundle.getText(VALUE_STATE_WARNING),
405
+ };
406
+ }
426
407
 
427
- this.labelClasses = `udex-text-field__label ${this.labelActiveClass}`;
408
+ get hasValueState(): boolean {
409
+ return this.valueState !== ValueState.Standard;
428
410
  }
429
411
 
430
- onAfterRendering(): void {
431
- const directionStyles: string = window
432
- .getComputedStyle(this)
433
- .getPropertyValue("direction");
412
+ get valueStateText(): string {
413
+ return this.valueState !== ValueState.Standard ? this.valueStateTypeMappings[this.valueState] : "";
414
+ }
434
415
 
435
- if (!directionStyles) {
436
- this.direction = "ltr";
437
- } else {
438
- this.direction = directionStyles;
439
- }
416
+ get readOnlyStateText(): string {
417
+ return UDExTextField.i18nBundle.getText(READ_ONLY);
418
+ }
419
+
420
+ get ariaDescribedById(): string {
421
+ return `${this.supportingTextId} ${this.valueStateTextId} ${this.readOnlyStateTextId}`.trim();
422
+ }
423
+
424
+ get supportingTextId(): string {
425
+ return this.supportingText ? `${this._id}-supportingTextDesc` : "";
426
+ }
427
+
428
+ get valueStateTextId(): string {
429
+ return this.hasValueState ? `${this._id}-valueStateDesc` : "";
430
+ }
431
+
432
+ get readOnlyStateTextId(): string {
433
+ return this.readonly ? `${this._id}-stateReadOnlyDesc` : "";
434
+ }
435
+
436
+ get accInfo(): AccInfo {
437
+ return {
438
+ "ariaInvalid": this.valueState === ValueState.Error ? "true" : undefined,
439
+ "ariaDescribedBy": this.ariaDescribedBy ? this.ariaDescribedBy : this.ariaDescribedById || undefined,
440
+ "ariaLabelledBy": this.accessibleNameRef || undefined,
441
+ "ariaLabel": this.accessibleName || undefined,
442
+ "ariaHasPopup": this._ariaHasPopup || undefined,
443
+ };
444
+ }
445
+
446
+ get inputRole(): string | undefined {
447
+ return this.isAutoCompleteDisabled ? "presentation" : undefined;
448
+ }
449
+
450
+ get isAutoCompleteDisabled(): boolean {
451
+ return this.autocomplete === "off" || this.autocomplete === "new-password";
440
452
  }
441
453
 
442
454
  get readonlyNotDisabled(): boolean {
443
455
  return this.isInputReadonly && !this.disabled;
444
456
  }
457
+
458
+ get buttonAccessibleName(): string {
459
+ return this._isComboboxRole ? this.label : this.accessibleIconName || this.icon;
460
+ }
461
+
462
+ get buttonAccessibleDescription(): string {
463
+ const label = this._isComboboxRole ? this.value : "";
464
+ return `${label} ${this.supportingText || ""} ${this.valueStateText}`;
465
+ }
445
466
  }
446
467
 
447
468
  UDExTextField.define();
@@ -4,9 +4,8 @@ import type UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
4
4
  import type CountrySelector from "../../CountrySelector.js";
5
5
  import type { ClassMapValue } from "@ui5/webcomponents-base/dist/types.js";
6
6
 
7
- function block0 (this: CountrySelector, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<div class="${ifDefined(this.countrySelectorClasses)}"><${scopeTag("udex-dropdown", tags, suffix)} id="dropdown" horizontal-align="Left" height="${ifDefined(this.height)}" @ui5-item-press="${ifDefined(this.handleItemPress)}" @ui5-before-open="${ifDefined(this._dropdownBeforeOpen)}" @ui5-after-open="${ifDefined(this._dropdownAfterOpen)}" @ui5-before-close="${ifDefined(this._dropdownBeforeClose)}" @ui5-after-close="${ifDefined(this._dropdownAfterClose)}" @ui5-submit-search-value="${ifDefined(this.handleSubmitSearch)}" @ui5-handle-value-search="${ifDefined(this.handleValueSearch)}" @ui5-handle-value-reset="${ifDefined(this.handleResetSearch)}" @ui5-search-keydown="${ifDefined(this.handleKeyDownSearch)}" @keydown="${this.handleKeyDownDropdown}" @ui5-handle-close-search="${ifDefined(this.handleCloseSearch)}"><div class="${ifDefined(this.countrySelectorTriggerClasses)}" ?disabled="${this.isOpenerDisabled}" slot="trigger">${ this.showFlagImages ? block1.call(this, context, tags, suffix) : undefined }<${scopeTag("udex-text-field", tags, suffix)} label="${ifDefined(this.effectiveAriaLabel)}" id="udexTextField" class="udex-country-selector__text" value="${ifDefined(this.selectedCountryName)}" value-state="${ifDefined(this.valueState)}" direction="left" aria-label="${ifDefined(this.effectiveAriaLabel)}" accessible-name="${ifDefined(this.supportingText)}" accessible-name-ref="${ifDefined(this.accessibleNameRef)}" aria-controls="${ifDefined(this.ariaControls)}" role="combobox" aria-haspopup="true" aria-expanded="${ifDefined(this._open)}" ?required="${this.required}" ?disabled="${this.disabled}" ?readonly="${this.readonly}" ?displayonly="${this.displayonly}" @click="${this.handleTriggerClick}" @mousedown="${this.handleInputMouseDown}" icon="${ifDefined(this.triggerIcon)}" accessible-icon-name="${ifDefined(this.effectiveAriaLabel)}" maxlength="0"></${scopeTag("udex-text-field", tags, suffix)}></div>${ifDefined(this.searchableList)}</${scopeTag("udex-dropdown", tags, suffix)}>${ this.supportingText ? block2.call(this, context, tags, suffix) : undefined }</div> ` : html`<div class="${ifDefined(this.countrySelectorClasses)}"><udex-dropdown id="dropdown" horizontal-align="Left" height="${ifDefined(this.height)}" @ui5-item-press="${ifDefined(this.handleItemPress)}" @ui5-before-open="${ifDefined(this._dropdownBeforeOpen)}" @ui5-after-open="${ifDefined(this._dropdownAfterOpen)}" @ui5-before-close="${ifDefined(this._dropdownBeforeClose)}" @ui5-after-close="${ifDefined(this._dropdownAfterClose)}" @ui5-submit-search-value="${ifDefined(this.handleSubmitSearch)}" @ui5-handle-value-search="${ifDefined(this.handleValueSearch)}" @ui5-handle-value-reset="${ifDefined(this.handleResetSearch)}" @ui5-search-keydown="${ifDefined(this.handleKeyDownSearch)}" @keydown="${this.handleKeyDownDropdown}" @ui5-handle-close-search="${ifDefined(this.handleCloseSearch)}"><div class="${ifDefined(this.countrySelectorTriggerClasses)}" ?disabled="${this.isOpenerDisabled}" slot="trigger">${ this.showFlagImages ? block1.call(this, context, tags, suffix) : undefined }<udex-text-field label="${ifDefined(this.effectiveAriaLabel)}" id="udexTextField" class="udex-country-selector__text" value="${ifDefined(this.selectedCountryName)}" value-state="${ifDefined(this.valueState)}" direction="left" aria-label="${ifDefined(this.effectiveAriaLabel)}" accessible-name="${ifDefined(this.supportingText)}" accessible-name-ref="${ifDefined(this.accessibleNameRef)}" aria-controls="${ifDefined(this.ariaControls)}" role="combobox" aria-haspopup="true" aria-expanded="${ifDefined(this._open)}" ?required="${this.required}" ?disabled="${this.disabled}" ?readonly="${this.readonly}" ?displayonly="${this.displayonly}" @click="${this.handleTriggerClick}" @mousedown="${this.handleInputMouseDown}" icon="${ifDefined(this.triggerIcon)}" accessible-icon-name="${ifDefined(this.effectiveAriaLabel)}" maxlength="0"></udex-text-field></div>${ifDefined(this.searchableList)}</udex-dropdown>${ this.supportingText ? block2.call(this, context, tags, suffix) : undefined }</div> `;}
7
+ function block0 (this: CountrySelector, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<div class="${ifDefined(this.countrySelectorClasses)}"><${scopeTag("udex-dropdown", tags, suffix)} id="dropdown" horizontal-align="Left" height="${ifDefined(this.height)}" @ui5-item-press="${ifDefined(this.handleItemPress)}" @ui5-before-open="${ifDefined(this._dropdownBeforeOpen)}" @ui5-after-open="${ifDefined(this._dropdownAfterOpen)}" @ui5-before-close="${ifDefined(this._dropdownBeforeClose)}" @ui5-after-close="${ifDefined(this._dropdownAfterClose)}" @ui5-submit-search-value="${ifDefined(this.handleSubmitSearch)}" @ui5-handle-value-search="${ifDefined(this.handleValueSearch)}" @ui5-handle-value-reset="${ifDefined(this.handleResetSearch)}" @ui5-search-keydown="${ifDefined(this.handleKeyDownSearch)}" @keydown="${this.handleKeyDownDropdown}" @ui5-handle-close-search="${ifDefined(this.handleCloseSearch)}"><div class="${ifDefined(this.countrySelectorTriggerClasses)}" ?disabled="${this.isOpenerDisabled}" slot="trigger">${ this.showFlagImages ? block1.call(this, context, tags, suffix) : undefined }<${scopeTag("udex-text-field", tags, suffix)} label="${ifDefined(this.effectiveAriaLabel)}" id="udexTextField" class="udex-country-selector__text" value="${ifDefined(this.selectedCountryName)}" value-state="${ifDefined(this.valueState)}" supporting-text="${ifDefined(this.supportingText)}" direction="left" aria-label="${ifDefined(this.effectiveAriaLabel)}" accessible-name="${ifDefined(this.supportingText)}" accessible-name-ref="${ifDefined(this.accessibleNameRef)}" aria-controls="${ifDefined(this.ariaControls)}" aria-haspopup="true" aria-expanded="${ifDefined(this._open)}" ?required="${this.required}" ?disabled="${this.disabled}" ?readonly="${this.readonly}" ?displayonly="${this.displayonly}" @click="${this.handleTriggerClick}" @mousedown="${this.handleInputMouseDown}" icon="${ifDefined(this.triggerIcon)}" accessible-icon-name="${ifDefined(this.effectiveAriaLabel)}" maxlength="0" _is-combobox-role></${scopeTag("udex-text-field", tags, suffix)}></div>${ifDefined(this.searchableList)}</${scopeTag("udex-dropdown", tags, suffix)}></div> ` : html`<div class="${ifDefined(this.countrySelectorClasses)}"><udex-dropdown id="dropdown" horizontal-align="Left" height="${ifDefined(this.height)}" @ui5-item-press="${ifDefined(this.handleItemPress)}" @ui5-before-open="${ifDefined(this._dropdownBeforeOpen)}" @ui5-after-open="${ifDefined(this._dropdownAfterOpen)}" @ui5-before-close="${ifDefined(this._dropdownBeforeClose)}" @ui5-after-close="${ifDefined(this._dropdownAfterClose)}" @ui5-submit-search-value="${ifDefined(this.handleSubmitSearch)}" @ui5-handle-value-search="${ifDefined(this.handleValueSearch)}" @ui5-handle-value-reset="${ifDefined(this.handleResetSearch)}" @ui5-search-keydown="${ifDefined(this.handleKeyDownSearch)}" @keydown="${this.handleKeyDownDropdown}" @ui5-handle-close-search="${ifDefined(this.handleCloseSearch)}"><div class="${ifDefined(this.countrySelectorTriggerClasses)}" ?disabled="${this.isOpenerDisabled}" slot="trigger">${ this.showFlagImages ? block1.call(this, context, tags, suffix) : undefined }<udex-text-field label="${ifDefined(this.effectiveAriaLabel)}" id="udexTextField" class="udex-country-selector__text" value="${ifDefined(this.selectedCountryName)}" value-state="${ifDefined(this.valueState)}" supporting-text="${ifDefined(this.supportingText)}" direction="left" aria-label="${ifDefined(this.effectiveAriaLabel)}" accessible-name="${ifDefined(this.supportingText)}" accessible-name-ref="${ifDefined(this.accessibleNameRef)}" aria-controls="${ifDefined(this.ariaControls)}" aria-haspopup="true" aria-expanded="${ifDefined(this._open)}" ?required="${this.required}" ?disabled="${this.disabled}" ?readonly="${this.readonly}" ?displayonly="${this.displayonly}" @click="${this.handleTriggerClick}" @mousedown="${this.handleInputMouseDown}" icon="${ifDefined(this.triggerIcon)}" accessible-icon-name="${ifDefined(this.effectiveAriaLabel)}" maxlength="0" _is-combobox-role></udex-text-field></div>${ifDefined(this.searchableList)}</udex-dropdown></div> `;}
8
8
  function block1 (this: CountrySelector, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<img class="udex-country-selector__image" aria-label="${ifDefined(this.flagAriaLabel)}" style="background-position-x: ${ifDefined(this.selectedCountryFlagX)}; background-position-y: ${ifDefined(this.selectedCountryFlagY)}">`;}
9
- function block2 (this: CountrySelector, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-status-message", tags, suffix)} ?disabled="${this.disabled}" supporting-text="${ifDefined(this.supportingText)}" value-state="${ifDefined(this.valueState)}"></${scopeTag("udex-status-message", tags, suffix)}>` : html`<udex-status-message ?disabled="${this.disabled}" supporting-text="${ifDefined(this.supportingText)}" value-state="${ifDefined(this.valueState)}"></udex-status-message>`;}
10
9
 
11
10
 
12
11
  export default block0;
@@ -4,8 +4,7 @@ import type UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
4
4
  import type DatePicker from "../../DatePicker.js";
5
5
  import type { ClassMapValue } from "@ui5/webcomponents-base/dist/types.js";
6
6
 
7
- function block0 (this: DatePicker, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<div class="udex-date-picker__container"><${scopeTag("udex-text-field", tags, suffix)} value="${ifDefined(this.value)}" @ui5-change="${ifDefined(this._onInputChange)}" class="udex-date-picker__input" label="${ifDefined(this.label)}" accessible-name="${ifDefined(this.dateAccessibleName)}" accessible-name-ref="${ifDefined(this.accessibleNameRef)}" accessible-icon-name="${ifDefined(this.accessibleIconName)}" _aria-has-popup="grid" ?disabled="${this.disabled}" ?required="${this.required}" ?readonly="${this.readonly}" icon="appointment-2" @ui5-click-icon="${ifDefined(this.handleInputClick)}" value-state="${ifDefined(this.valueState)}"></${scopeTag("udex-text-field", tags, suffix)}>${ this.supportingText ? block1.call(this, context, tags, suffix) : undefined }</div>` : html`<div class="udex-date-picker__container"><udex-text-field value="${ifDefined(this.value)}" @ui5-change="${ifDefined(this._onInputChange)}" class="udex-date-picker__input" label="${ifDefined(this.label)}" accessible-name="${ifDefined(this.dateAccessibleName)}" accessible-name-ref="${ifDefined(this.accessibleNameRef)}" accessible-icon-name="${ifDefined(this.accessibleIconName)}" _aria-has-popup="grid" ?disabled="${this.disabled}" ?required="${this.required}" ?readonly="${this.readonly}" icon="appointment-2" @ui5-click-icon="${ifDefined(this.handleInputClick)}" value-state="${ifDefined(this.valueState)}"></udex-text-field>${ this.supportingText ? block1.call(this, context, tags, suffix) : undefined }</div>`;}
8
- function block1 (this: DatePicker, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-status-message", tags, suffix)} ?disabled="${this.disabled}" supporting-text="${ifDefined(this.supportingText)}" value-state="${ifDefined(this.valueState)}"></${scopeTag("udex-status-message", tags, suffix)}>` : html`<udex-status-message ?disabled="${this.disabled}" supporting-text="${ifDefined(this.supportingText)}" value-state="${ifDefined(this.valueState)}"></udex-status-message>`;}
7
+ function block0 (this: DatePicker, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-text-field", tags, suffix)} value="${ifDefined(this.value)}" @ui5-change="${ifDefined(this._onInputChange)}" class="udex-date-picker__input" label="${ifDefined(this.label)}" accessible-name="${ifDefined(this.dateAccessibleName)}" accessible-name-ref="${ifDefined(this.accessibleNameRef)}" accessible-icon-name="${ifDefined(this.accessibleIconName)}" _aria-has-popup="grid" ?disabled="${this.disabled}" ?required="${this.required}" ?readonly="${this.readonly}" icon="appointment-2" @ui5-click-icon="${ifDefined(this.handleInputClick)}" value-state="${ifDefined(this.valueState)}" supporting-text="${ifDefined(this.supportingText)}"></${scopeTag("udex-text-field", tags, suffix)}>` : html`<udex-text-field value="${ifDefined(this.value)}" @ui5-change="${ifDefined(this._onInputChange)}" class="udex-date-picker__input" label="${ifDefined(this.label)}" accessible-name="${ifDefined(this.dateAccessibleName)}" accessible-name-ref="${ifDefined(this.accessibleNameRef)}" accessible-icon-name="${ifDefined(this.accessibleIconName)}" _aria-has-popup="grid" ?disabled="${this.disabled}" ?required="${this.required}" ?readonly="${this.readonly}" icon="appointment-2" @ui5-click-icon="${ifDefined(this.handleInputClick)}" value-state="${ifDefined(this.valueState)}" supporting-text="${ifDefined(this.supportingText)}"></udex-text-field>`;}
9
8
 
10
9
 
11
10
  export default block0;
@@ -9,8 +9,8 @@ function block1 (this: FilterMenu, context: UI5Element, tags: string[], suffix:
9
9
  function block2 (this: FilterMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-badge", tags, suffix)} class="udex-filter-menu__badge" type="Number" design="Info" size="Small">${ifDefined(this.badgeValue)}</${scopeTag("udex-badge", tags, suffix)}>` : html`<udex-badge class="udex-filter-menu__badge" type="Number" design="Info" size="Small">${ifDefined(this.badgeValue)}</udex-badge>`;}
10
10
  function block3 (this: FilterMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ !this.hideActionBar ? block4.call(this, context, tags, suffix) : undefined }`;}
11
11
  function block4 (this: FilterMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div class="udex-filter-menu__footer" slot="footer" name="footer">${ !this.hideResultBtn ? block5.call(this, context, tags, suffix) : undefined }${ !this.hideResetBtn ? block6.call(this, context, tags, suffix) : undefined }</div>`;}
12
- function block5 (this: FilterMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-button", tags, suffix)} class="udex-filter-menu__result-btn" size="Medium" design="Primary" ?disabled="${this.disabledButtons}" @keydown="${this.handleKeyDownResultBtn}" @click="${this.handleResult}">${ifDefined(this.getResultLabelText)}</${scopeTag("udex-button", tags, suffix)}>` : html`<udex-button class="udex-filter-menu__result-btn" size="Medium" design="Primary" ?disabled="${this.disabledButtons}" @keydown="${this.handleKeyDownResultBtn}" @click="${this.handleResult}">${ifDefined(this.getResultLabelText)}</udex-button>`;}
13
- function block6 (this: FilterMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-button", tags, suffix)} class="udex-filter-menu__reset-btn" size="Medium" design="Tertiary" @keydown="${this.handleKeyDownResetBtn}" ?disabled="${this.disabledButtons}" @click="${this.handleReset}">${ifDefined(this.getResetLabelText)}</${scopeTag("udex-button", tags, suffix)}>` : html`<udex-button class="udex-filter-menu__reset-btn" size="Medium" design="Tertiary" @keydown="${this.handleKeyDownResetBtn}" ?disabled="${this.disabledButtons}" @click="${this.handleReset}">${ifDefined(this.getResetLabelText)}</udex-button>`;}
12
+ function block5 (this: FilterMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-button", tags, suffix)} class="udex-filter-menu__result-btn" size="Medium" design="Primary" @keydown="${this.handleKeyDownResultBtn}" @click="${this.handleResult}">${ifDefined(this.getResultLabelText)}</${scopeTag("udex-button", tags, suffix)}>` : html`<udex-button class="udex-filter-menu__result-btn" size="Medium" design="Primary" @keydown="${this.handleKeyDownResultBtn}" @click="${this.handleResult}">${ifDefined(this.getResultLabelText)}</udex-button>`;}
13
+ function block6 (this: FilterMenu, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-button", tags, suffix)} class="udex-filter-menu__reset-btn" size="Medium" design="Tertiary" @keydown="${this.handleKeyDownResetBtn}" @click="${this.handleReset}">${ifDefined(this.getResetLabelText)}</${scopeTag("udex-button", tags, suffix)}>` : html`<udex-button class="udex-filter-menu__reset-btn" size="Medium" design="Tertiary" @keydown="${this.handleKeyDownResetBtn}" @click="${this.handleReset}">${ifDefined(this.getResetLabelText)}</udex-button>`;}
14
14
 
15
15
 
16
16
  export default block0;
@@ -6,7 +6,7 @@ import type UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
6
6
 
7
7
  function block0 (this: SearchableListBase, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.showSearch ? block1.call(this, context, tags, suffix) : undefined }${ this.isListEmpty ? block2.call(this, context, tags, suffix) : block3.call(this, context, tags, suffix) } `;}
8
8
  function block1 (this: SearchableListBase, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-search", tags, suffix)} slot="header" mode="Standard" class="udex-filter-menu__search" label="${ifDefined(this.searchPlaceholder)}" label-animation-disabled non-interactive-submit-button show-submit-button></${scopeTag("udex-search", tags, suffix)}><span aria-live="polite" aria-atomic="true" class="hidden">${ifDefined(this._accSearchResultInfo)}</span>` : html`<udex-search slot="header" mode="Standard" class="udex-filter-menu__search" label="${ifDefined(this.searchPlaceholder)}" label-animation-disabled non-interactive-submit-button show-submit-button></udex-search><span aria-live="polite" aria-atomic="true" class="hidden">${ifDefined(this._accSearchResultInfo)}</span>`;}
9
- function block2 (this: SearchableListBase, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div class="udex-no-result"><span>${ifDefined(this.getNoResultText)}&lrm;</span></div>`;}
9
+ function block2 (this: SearchableListBase, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div class="udex-no-result"><span>${ifDefined(this.getNoResultText)}</span></div>`;}
10
10
  function block3 (this: SearchableListBase, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ this.busy ? block4.call(this, context, tags, suffix) : block5.call(this, context, tags, suffix) }`;}
11
11
  function block4 (this: SearchableListBase, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("ui5-busy-indicator", tags, suffix)} class="udex-busy-indicator" size="Medium" delay="${ifDefined(this.busyDelay)}" active></${scopeTag("ui5-busy-indicator", tags, suffix)}>` : html`<ui5-busy-indicator class="udex-busy-indicator" size="Medium" delay="${ifDefined(this.busyDelay)}" active></ui5-busy-indicator>`;}
12
12
  function block5 (this: SearchableListBase, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-list", tags, suffix)} id="udex-list" role="${ifDefined(this.roleForGroupList)}" accessible-role="${ifDefined(this.accessibleRoleForList)}" class="udex-filter-menu__list" ?controlled="${this.isControlled}" mode="${ifDefined(this.mode)}">${ repeat(this._filteredItems, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block6.call(this, context, tags, suffix, item, index)) }</${scopeTag("udex-list", tags, suffix)}>` : html`<udex-list id="udex-list" role="${ifDefined(this.roleForGroupList)}" accessible-role="${ifDefined(this.accessibleRoleForList)}" class="udex-filter-menu__list" ?controlled="${this.isControlled}" mode="${ifDefined(this.mode)}">${ repeat(this._filteredItems, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block6.call(this, context, tags, suffix, item, index)) }</udex-list>`;}
@@ -5,13 +5,13 @@ import type UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
5
5
  import type { ClassMapValue } from "@ui5/webcomponents-base/dist/types.js";
6
6
 
7
7
  function block0 (this: SelectBox, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<div class="udex-select-box__root"><div class="udex-text-field__container"><div class="udex-text-field__wrap"><div role="combobox" @click="${this.getHandleSingleSelectOpen}" class="udex-text-field__input" @ui5-tag-icon-click="${ifDefined(this.handleRemoveTag)}" @keydown="${this.handleKeyDownTrigger}" ?open="${this._open}" tabindex="${ifDefined(this.effectiveTabIndex)}" @focusin="${this.handleFocusIn}" @focusout="${this.handleFocusOut}" ?disabled="${this.disabled}" ?displayonly="${this.displayonly}" ?readonly="${this.readonly}" aria-label="${ifDefined(this.accInfo.ariaLabel)}" aria-labelledby="${ifDefined(this.accInfo.ariaLabelledBy)}" aria-readonly="${ifDefined(this.isReadOrDisplayOnly)}" aria-disabled="${ifDefined(this.disabled)}" aria-haspopup="${ifDefined(this.listboxRole)}" aria-controls="${ifDefined(this.popoverId)}" aria-expanded="${ifDefined(this.tokenizerExpanded)}" aria-activedescendant>${ this.label ? block1.call(this, context, tags, suffix) : undefined }${ this.showSingleSelectedOption ? block3.call(this, context, tags, suffix) : undefined }${ this.showMultiSelectedOptions ? block4.call(this, context, tags, suffix) : undefined }${ this.showTrigger ? block7.call(this, context, tags, suffix) : undefined }</div></div>${ this.supportingText ? block8.call(this, context, tags, suffix) : undefined }</div><${scopeTag("ui5-popover", tags, suffix)} hide-arrow id="${ifDefined(this.popoverId)}" class="udex-select-box__dropdown" ?allow-target-overlap="${this.allowTargetOverlap}" @keydown="${this.handleKeyDownDropdown}" @ui5-select-all="${ifDefined(this.handleSelectAll)}" @ui5-item-press="${ifDefined(this.handleItemPress)}" @ui5-header-press="${ifDefined(this.handleHeaderPress)}" @ui5-submit-search-value="${ifDefined(this.handleSubmitSearch)}" @ui5-handle-value-search="${ifDefined(this.handleValueSearch)}" @ui5-handle-value-reset="${ifDefined(this.handleResetSearch)}" @ui5-before-open="${ifDefined(this.handleDropdownBeforeOpen)}" @ui5-after-close="${ifDefined(this.handleDropdownAfterClose)}" @search-keydown="${this.handleKeyDownSearch}" horizontal-align="Left" placement-type="Bottom">${ this._showTagsDropdownContent ? block9.call(this, context, tags, suffix) : block10.call(this, context, tags, suffix) }</${scopeTag("ui5-popover", tags, suffix)}></div>` : html`<div class="udex-select-box__root"><div class="udex-text-field__container"><div class="udex-text-field__wrap"><div role="combobox" @click="${this.getHandleSingleSelectOpen}" class="udex-text-field__input" @ui5-tag-icon-click="${ifDefined(this.handleRemoveTag)}" @keydown="${this.handleKeyDownTrigger}" ?open="${this._open}" tabindex="${ifDefined(this.effectiveTabIndex)}" @focusin="${this.handleFocusIn}" @focusout="${this.handleFocusOut}" ?disabled="${this.disabled}" ?displayonly="${this.displayonly}" ?readonly="${this.readonly}" aria-label="${ifDefined(this.accInfo.ariaLabel)}" aria-labelledby="${ifDefined(this.accInfo.ariaLabelledBy)}" aria-readonly="${ifDefined(this.isReadOrDisplayOnly)}" aria-disabled="${ifDefined(this.disabled)}" aria-haspopup="${ifDefined(this.listboxRole)}" aria-controls="${ifDefined(this.popoverId)}" aria-expanded="${ifDefined(this.tokenizerExpanded)}" aria-activedescendant>${ this.label ? block1.call(this, context, tags, suffix) : undefined }${ this.showSingleSelectedOption ? block3.call(this, context, tags, suffix) : undefined }${ this.showMultiSelectedOptions ? block4.call(this, context, tags, suffix) : undefined }${ this.showTrigger ? block7.call(this, context, tags, suffix) : undefined }</div></div>${ this.supportingText ? block8.call(this, context, tags, suffix) : undefined }</div><ui5-popover hide-arrow id="${ifDefined(this.popoverId)}" class="udex-select-box__dropdown" ?allow-target-overlap="${this.allowTargetOverlap}" @keydown="${this.handleKeyDownDropdown}" @ui5-select-all="${ifDefined(this.handleSelectAll)}" @ui5-item-press="${ifDefined(this.handleItemPress)}" @ui5-header-press="${ifDefined(this.handleHeaderPress)}" @ui5-submit-search-value="${ifDefined(this.handleSubmitSearch)}" @ui5-handle-value-search="${ifDefined(this.handleValueSearch)}" @ui5-handle-value-reset="${ifDefined(this.handleResetSearch)}" @ui5-before-open="${ifDefined(this.handleDropdownBeforeOpen)}" @ui5-after-close="${ifDefined(this.handleDropdownAfterClose)}" @search-keydown="${this.handleKeyDownSearch}" horizontal-align="Left" placement-type="Bottom">${ this._showTagsDropdownContent ? block9.call(this, context, tags, suffix) : block10.call(this, context, tags, suffix) }</ui5-popover></div>`;}
8
- function block1 (this: SelectBox, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span id="${ifDefined(this._id)}-single-label" class="${ifDefined(this.labelClass)}">${ifDefined(this.label)}${ this.required ? block2.call(this, context, tags, suffix) : undefined }</span>`;}
8
+ function block1 (this: SelectBox, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span class="${ifDefined(this.labelClass)}">${ifDefined(this.label)}${ this.required ? block2.call(this, context, tags, suffix) : undefined }</span><span class="hidden" id="${ifDefined(this._id)}-single-label">${ifDefined(this.accInfo.ariaLabel)}</span>`;}
9
9
  function block2 (this: SelectBox, context: UI5Element, tags: string[], suffix: string | undefined) { return html` * `;}
10
- function block3 (this: SelectBox, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div class="udex-text-field__text-holder"><span class="udex-text-field__single-label">${unsafeHTML(this._singleSelectedOption)}</span></div>`;}
10
+ function block3 (this: SelectBox, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div class="udex-text-field__text-holder"><span class="udex-text-field__single-label" aria-hidden="true">${unsafeHTML(this._singleSelectedOption)}</span></div>`;}
11
11
  function block4 (this: SelectBox, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-tag-group", tags, suffix)} class="udex-tag-group" ?displayonly="${this.displayonly}" ?readonly="${this.readonly}" ?disabled="${this.disabled}" tooltip-placement="${ifDefined(this.tooltipPlacement)}" @ui5-tag-click="${ifDefined(this.handleTagPress)}" @ui5-show-more-tags="${ifDefined(this.getHandlerShowMoreItems)}" @ui5-tag-keydown="${ifDefined(this.handleKeyDownTag)}" ?expanded="${this.tokenizerExpanded}">${ repeat(this.selectedItems, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block5.call(this, context, tags, suffix, item, index)) }</${scopeTag("udex-tag-group", tags, suffix)}>` : html`<udex-tag-group class="udex-tag-group" ?displayonly="${this.displayonly}" ?readonly="${this.readonly}" ?disabled="${this.disabled}" tooltip-placement="${ifDefined(this.tooltipPlacement)}" @ui5-tag-click="${ifDefined(this.handleTagPress)}" @ui5-show-more-tags="${ifDefined(this.getHandlerShowMoreItems)}" @ui5-tag-keydown="${ifDefined(this.handleKeyDownTag)}" ?expanded="${this.tokenizerExpanded}">${ repeat(this.selectedItems, (item, index) => (item as typeof item & {_id?: any})._id || index, (item, index: number) => block5.call(this, context, tags, suffix, item, index)) }</udex-tag-group>`;}
12
12
  function block5 (this: SelectBox, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return html`${ !item.isGroup ? block6.call(this, context, tags, suffix, item, index) : undefined }`;}
13
13
  function block6 (this: SelectBox, context: UI5Element, tags: string[], suffix: string | undefined, item: any, index: number) { return suffix ? html`<${scopeTag("udex-tag", tags, suffix)} text="${ifDefined(item.label)}" id="${ifDefined(item._id)}" icon="decline"></${scopeTag("udex-tag", tags, suffix)}>` : html`<udex-tag text="${ifDefined(item.label)}" id="${ifDefined(item._id)}" icon="decline"></udex-tag>`;}
14
- function block7 (this: SelectBox, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<button role="combobox" aria-labelledby="${ifDefined(this._id)}-single-label" aria-expanded="${ifDefined(this.accessibilityAttributes.expanded)}" aria-controls="${ifDefined(this.accessibilityAttributes.controls)}" aria-haspopup="${ifDefined(this.accessibilityAttributes.hasPopup)}" aria-label="${ifDefined(this.accessibilityAttributes.ariaLabel)}" class="udex-text-field__trigger" tabindex="${ifDefined(this.triggerTabIndex)}" @keydown="${this.handleKeyDownTrigger}" @click="${this.getHandleMultiSelectOpen}"><${scopeTag("ui5-icon", tags, suffix)} name="navigation-down-arrow" accessible-name="${ifDefined(this.iconAccessibleNameText)}"></${scopeTag("ui5-icon", tags, suffix)}></button>` : html`<button role="combobox" aria-labelledby="${ifDefined(this._id)}-single-label" aria-expanded="${ifDefined(this.accessibilityAttributes.expanded)}" aria-controls="${ifDefined(this.accessibilityAttributes.controls)}" aria-haspopup="${ifDefined(this.accessibilityAttributes.hasPopup)}" aria-label="${ifDefined(this.accessibilityAttributes.ariaLabel)}" class="udex-text-field__trigger" tabindex="${ifDefined(this.triggerTabIndex)}" @keydown="${this.handleKeyDownTrigger}" @click="${this.getHandleMultiSelectOpen}"><ui5-icon name="navigation-down-arrow" accessible-name="${ifDefined(this.iconAccessibleNameText)}"></ui5-icon></button>`;}
14
+ function block7 (this: SelectBox, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<button role="combobox" aria-labelledby="${ifDefined(this._id)}-single-label" aria-expanded="${ifDefined(this.accessibilityAttributes.expanded)}" aria-controls="${ifDefined(this.accessibilityAttributes.controls)}" aria-haspopup="${ifDefined(this.accessibilityAttributes.hasPopup)}" class="udex-text-field__trigger" tabindex="${ifDefined(this.triggerTabIndex)}" @keydown="${this.handleKeyDownTrigger}" @click="${this.getHandleMultiSelectOpen}"><${scopeTag("ui5-icon", tags, suffix)} name="navigation-down-arrow"></${scopeTag("ui5-icon", tags, suffix)}><span class="hidden">${ifDefined(this.accessibilityAttributes.ariaLabel)}</span></button>` : html`<button role="combobox" aria-labelledby="${ifDefined(this._id)}-single-label" aria-expanded="${ifDefined(this.accessibilityAttributes.expanded)}" aria-controls="${ifDefined(this.accessibilityAttributes.controls)}" aria-haspopup="${ifDefined(this.accessibilityAttributes.hasPopup)}" class="udex-text-field__trigger" tabindex="${ifDefined(this.triggerTabIndex)}" @keydown="${this.handleKeyDownTrigger}" @click="${this.getHandleMultiSelectOpen}"><ui5-icon name="navigation-down-arrow"></ui5-icon><span class="hidden">${ifDefined(this.accessibilityAttributes.ariaLabel)}</span></button>`;}
15
15
  function block8 (this: SelectBox, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-status-message", tags, suffix)} ?disabled="${this.disabled}" supporting-text="${ifDefined(this.supportingText)}" value-state="${ifDefined(this.valueState)}"></${scopeTag("udex-status-message", tags, suffix)}>` : html`<udex-status-message ?disabled="${this.disabled}" supporting-text="${ifDefined(this.supportingText)}" value-state="${ifDefined(this.valueState)}"></udex-status-message>`;}
16
16
  function block9 (this: SelectBox, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<div class="udex-truncatable-tag-content"><span class="udex-truncatable-tag-content__label">${ifDefined(this.truncatableTagLabel)}</span><${scopeTag("ui5-icon", tags, suffix)} @click="${this.handleRemoveTruncatableTag}" class="udex-truncatable-tag-content__icon" name="decline"></${scopeTag("ui5-icon", tags, suffix)}></div>` : html`<div class="udex-truncatable-tag-content"><span class="udex-truncatable-tag-content__label">${ifDefined(this.truncatableTagLabel)}</span><ui5-icon @click="${this.handleRemoveTruncatableTag}" class="udex-truncatable-tag-content__icon" name="decline"></ui5-icon></div>`;}
17
17
  function block10 (this: SelectBox, context: UI5Element, tags: string[], suffix: string | undefined) { return html`${ifDefined(this.searchableList)}`;}
@@ -7,7 +7,7 @@ import type UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
7
7
  function block0 (this: TextField, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<div class="udex-text-field__container">${ this.label ? block1.call(this, context, tags, suffix) : undefined }<div class="udex-text-field__wrap"><input id="${ifDefined(this._id)}-input" class="udex-text-field__input" type="${ifDefined(this.type)}" .value="${ifDefined(this.value)}" @change="${this.handleChange}" @input="${this.handleInput}" @focus="${this.handleFocus}" @blur="${this.handleBlur}" @click="${this.handleClick}" @keydown="${this.handleKeydown}" maxlength="${ifDefined(this.maxlength)}" autocomplete="${ifDefined(this.autocomplete)}" ?disabled="${this.disabled}" ?readonly="${this.isInputReadonly}" ?required="${this.required}" aria-required="${ifDefined(this.required)}" aria-readonly="${ifDefined(this.isInputReadonly)}" ?aria-disabled="${this.readonlyNotDisabled}" aria-invalid="${ifDefined(this.accInfo.ariaInvalid)}" aria-describedby="${ifDefined(this.accInfo.ariaDescribedBy)}" aria-haspopup="${ifDefined(this.accInfo.ariaHasPopup)}" aria-label="${ifDefined(this.accInfo.ariaLabel)}" aria-labelledby="${ifDefined(this.accInfo.ariaLabelledBy)}" role="${ifDefined(this.inputRole)}" part="textfield-input" min="${ifDefined(this.min)}" max="${ifDefined(this.max)}" step="${ifDefined(this.step)}" />${ this.icon ? block3.call(this, context, tags, suffix) : undefined }</div>${ this.supportingText ? block4.call(this, context, tags, suffix) : undefined }${ this.supportingText ? block5.call(this, context, tags, suffix) : undefined }${ this.hasValueState ? block6.call(this, context, tags, suffix) : undefined }${ this.readonly ? block7.call(this, context, tags, suffix) : undefined }</div>`;}
8
8
  function block1 (this: TextField, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<label for="${ifDefined(this._id)}-input" class="${ifDefined(this.labelClasses)}" part="label">${ifDefined(this.label)}${ this.required ? block2.call(this, context, tags, suffix) : undefined }</label>`;}
9
9
  function block2 (this: TextField, context: UI5Element, tags: string[], suffix: string | undefined) { return html` * `;}
10
- function block3 (this: TextField, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-control-button", tags, suffix)} accessible-name="${ifDefined(this.accessibleIconName)}" tooltip="${ifDefined(this.showButtonTooltip)}" ?active="${this.active}" ?disabled="${this.disabled}" ?readonly="${this.readonly}" ?non-interactive="${this.readonly}" design="${ifDefined(this.valueState)}" icon="${ifDefined(this.icon)}" @click="${this.handleIconClick}" part="textfield-control-btn" size="Large" class="udex-text-field_icon-container"></${scopeTag("udex-control-button", tags, suffix)}>` : html`<udex-control-button accessible-name="${ifDefined(this.accessibleIconName)}" tooltip="${ifDefined(this.showButtonTooltip)}" ?active="${this.active}" ?disabled="${this.disabled}" ?readonly="${this.readonly}" ?non-interactive="${this.readonly}" design="${ifDefined(this.valueState)}" icon="${ifDefined(this.icon)}" @click="${this.handleIconClick}" part="textfield-control-btn" size="Large" class="udex-text-field_icon-container"></udex-control-button>`;}
10
+ function block3 (this: TextField, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-control-button", tags, suffix)} accessible-name="${ifDefined(this.buttonAccessibleName)}" accessible-description="${ifDefined(this.buttonAccessibleDescription)}" tooltip="${ifDefined(this.showButtonTooltip)}" ?active="${this.active}" ?disabled="${this.disabled}" ?readonly="${this.readonly}" ?non-interactive="${this.readonly}" ?_is-combobox-role="${ifDefined(this._isComboboxRole)}" design="${ifDefined(this.valueState)}" icon="${ifDefined(this.icon)}" @click="${this.handleIconClick}" part="textfield-control-btn" size="Large" class="udex-text-field_icon-container"></${scopeTag("udex-control-button", tags, suffix)}>` : html`<udex-control-button accessible-name="${ifDefined(this.buttonAccessibleName)}" accessible-description="${ifDefined(this.buttonAccessibleDescription)}" tooltip="${ifDefined(this.showButtonTooltip)}" ?active="${this.active}" ?disabled="${this.disabled}" ?readonly="${this.readonly}" ?non-interactive="${this.readonly}" ?_is-combobox-role="${ifDefined(this._isComboboxRole)}" design="${ifDefined(this.valueState)}" icon="${ifDefined(this.icon)}" @click="${this.handleIconClick}" part="textfield-control-btn" size="Large" class="udex-text-field_icon-container"></udex-control-button>`;}
11
11
  function block4 (this: TextField, context: UI5Element, tags: string[], suffix: string | undefined) { return suffix ? html`<${scopeTag("udex-status-message", tags, suffix)} ?disabled="${this.disabled}" supporting-text="${ifDefined(this.supportingText)}" value-state="${ifDefined(this.valueState)}"></${scopeTag("udex-status-message", tags, suffix)}>` : html`<udex-status-message ?disabled="${this.disabled}" supporting-text="${ifDefined(this.supportingText)}" value-state="${ifDefined(this.valueState)}"></udex-status-message>`;}
12
12
  function block5 (this: TextField, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span id="${ifDefined(this._id)}-supportingTextDesc" class="hidden-text">${ifDefined(this.supportingText)}</span>`;}
13
13
  function block6 (this: TextField, context: UI5Element, tags: string[], suffix: string | undefined) { return html`<span id="${ifDefined(this._id)}-valueStateDesc" class="hidden-text">${ifDefined(this.valueStateText)}</span>`;}
@@ -7,7 +7,7 @@ import defaultTheme from "./sap_horizon/parameters-bundle.css.js";
7
7
  registerThemePropertiesLoader("@ui5/webcomponents-theming", "sap_horizon", async () => defaultThemeBase);
8
8
  registerThemePropertiesLoader("@sapudex/web-components", "sap_horizon", async () => defaultTheme);
9
9
 
10
- const styleData: StyleData = {packageName:"@sapudex/web-components",fileName:"themes/DatePicker.css.ts",content:`:host{--udex-date-picker-width: 354px;position:relative;font-family:var(--sapFontFamily)}.udex-date-picker__container{display:flex;flex-direction:column}.udex-date-picker__calendar{min-width:var(--udex-date-picker-width);background-color:var(--udexNeutralColorWhite, #ffffff);border-radius:8px;box-shadow:0 2px 8px #2236494d;position:absolute;top:42px;z-index:100}.udex-date-picker__input{--udex-input-padding: 9px 48px 9px 12px}
10
+ const styleData: StyleData = {packageName:"@sapudex/web-components",fileName:"themes/DatePicker.css.ts",content:`:host{--udex-date-picker-width: 354px;position:relative;font-family:var(--sapFontFamily)}.udex-date-picker__calendar{min-width:var(--udex-date-picker-width);background-color:var(--udexNeutralColorWhite, #ffffff);border-radius:8px;box-shadow:0 2px 8px #2236494d;position:absolute;top:42px;z-index:100}.udex-date-picker__input{--udex-input-padding: 9px 48px 9px 12px}
11
11
  `};
12
12
  export default styleData;
13
13
 
@@ -7,7 +7,7 @@ import defaultTheme from "./sap_horizon/parameters-bundle.css.js";
7
7
  registerThemePropertiesLoader("@ui5/webcomponents-theming", "sap_horizon", async () => defaultThemeBase);
8
8
  registerThemePropertiesLoader("@sapudex/web-components", "sap_horizon", async () => defaultTheme);
9
9
 
10
- const styleData: StyleData = {packageName:"@sapudex/web-components",fileName:"themes/Dropdown.css.ts",content:`:host{--udex-dropdown-box-shadow: var(--sapContent_Shadow1, 0px 2px 8px 0px rgba(34,54,73,.3));--udex-dropdown-border-color-default: var(--sapField_BorderColor, var(--udexCoreBorderDefault));--udex-dropdown-border-radius: var(--udexRadiusM, 8px);--udex-dropdown-border-width: var(--sapElement_BorderWidth, 1px);--udex-dropdown-default-background-color: var(--udexColorNeutralWhite, #fff);--udex-dropdown-horizontal-distance: 0;--udex-dropdown-vertical-distance: 0;--udex-dropdown-pane-min-width: 320px;--udex-dropdown-left-offset: 0px;--udex-dropdown-pane-min-width-xs: calc(100% - var(--udex-dropdown-left-offset));--udex-dropdown-pane-max-width: 640px;--udex-dropdown-pane-max-width-xs: 100%;--udex-dropdown-pane-width: fit-content;--udex-dropdown-pane-max-height: none;--udex-dropdown-pane-overflow: visible;--udex-dropdown-pane-content-overflow: auto}.udex-dropdown__pane{border:var(--udex-dropdown-border-width) solid var(--udex-dropdown-border-color-default);box-shadow:var(--udex-dropdown-box-shadow);border-radius:var(--udex-dropdown-border-radius);background:var(--udex-dropdown-default-background-color);min-width:var(--udex-dropdown-pane-min-width);max-width:var(--udex-dropdown-pane-max-width);width:var(--udex-dropdown-pane-width);max-height:var(--udex-dropdown-pane-max-height);margin:var(--udex-dropdown-vertical-distance) var(--udex-dropdown-horizontal-distance);overflow:var(--udex-dropdown-pane-overflow)}.udex-dropdown__pane::part(content){padding:0;overflow:var(--udex-dropdown-pane-content-overflow)}.udex-dropdown__pane::part(header),.udex-dropdown__pane::part(footer){padding:var(--udexSpacer16, 16px) var(--udexSpacer12, 12px)}.udex-dropdown__pane::part(footer){justify-content:flex-start;border-color:var(--udex-dropdown-border-color-default);box-shadow:var(--udex-dropdown-box-shadow)}::slotted([slot="header"]){width:100%}::slotted(.udex-no-result){font-family:var(--sapFontFamily);font-weight:var(--udexTypographyFontWeightRegular, 400);font-size:var(--udexTypographyBodyXSFontSize, 14px);line-height:var(--udexTypographyBodyLineHeight, 1.5);color:var(--sapContent_TitleColor, #000000);padding:0 var(--udexSpacer16, 16px) var(--udexSpacer16, 16px)}@media (width < 640px){.udex-dropdown__pane{min-width:var(--udex-dropdown-pane-min-width-xs);max-width:var(--udex-dropdown-pane-max-width-xs)}}
10
+ const styleData: StyleData = {packageName:"@sapudex/web-components",fileName:"themes/Dropdown.css.ts",content:`:host{--udex-dropdown-box-shadow: var(--sapContent_Shadow1, 0px 2px 8px 0px rgba(34,54,73,.3));--udex-dropdown-border-color-default: var(--sapField_BorderColor, var(--udexCoreBorderDefault));--udex-dropdown-border-radius: var(--udexRadiusM, 8px);--udex-dropdown-border-width: var(--sapElement_BorderWidth, 1px);--udex-dropdown-default-background-color: var(--udexColorNeutralWhite, #fff);--udex-dropdown-horizontal-distance: 0;--udex-dropdown-vertical-distance: 0;--udex-dropdown-pane-min-width: 320px;--udex-dropdown-left-offset: 0px;--udex-dropdown-pane-min-width-xs: calc(100% - var(--udex-dropdown-left-offset));--udex-dropdown-pane-max-width: 640px;--udex-dropdown-pane-max-width-xs: 100%;--udex-dropdown-pane-width: fit-content;--udex-dropdown-pane-max-height: none;--udex-dropdown-pane-overflow: visible;--udex-dropdown-pane-content-overflow: auto}.udex-dropdown__pane{border:var(--udex-dropdown-border-width) solid var(--udex-dropdown-border-color-default);box-shadow:var(--udex-dropdown-box-shadow);border-radius:var(--udex-dropdown-border-radius);background:var(--udex-dropdown-default-background-color);min-width:var(--udex-dropdown-pane-min-width);max-width:var(--udex-dropdown-pane-max-width);width:var(--udex-dropdown-pane-width);max-height:var(--udex-dropdown-pane-max-height);margin:var(--udex-dropdown-vertical-distance) var(--udex-dropdown-horizontal-distance);overflow:var(--udex-dropdown-pane-overflow)}.udex-dropdown__pane::part(content){padding:0;overflow:var(--udex-dropdown-pane-content-overflow)}.udex-dropdown__pane::part(header),.udex-dropdown__pane::part(footer){padding:var(--udexSpacer16, 16px) var(--udexSpacer12, 12px)}.udex-dropdown__pane::part(footer){justify-content:flex-start;border-color:var(--udex-dropdown-border-color-default);box-shadow:var(--udex-dropdown-box-shadow)}::slotted([slot="header"]){width:100%}::slotted(.udex-no-result){font-family:var(--sapFontFamily);font-weight:var(--udexTypographyFontWeightRegular, 400);font-size:var(--udexTypographyBodyXSFontSize, 14px);line-height:var(--udexTypographyBodyLineHeight, 1.5);color:var(--sapContent_TitleColor, #000000);padding:0 var(--udexSpacer12, 12px) var(--udexSpacer16, 16px)}@media (width < 640px){.udex-dropdown__pane{min-width:var(--udex-dropdown-pane-min-width-xs);max-width:var(--udex-dropdown-pane-max-width-xs)}}
11
11
  `};
12
12
  export default styleData;
13
13
 
@@ -7,7 +7,7 @@ import defaultTheme from "./sap_horizon/parameters-bundle.css.js";
7
7
  registerThemePropertiesLoader("@ui5/webcomponents-theming", "sap_horizon", async () => defaultThemeBase);
8
8
  registerThemePropertiesLoader("@sapudex/web-components", "sap_horizon", async () => defaultTheme);
9
9
 
10
- const styleData: StyleData = {packageName:"@sapudex/web-components",fileName:"themes/FilterMenu.css.ts",content:`:host{--udex-filter-menu-trigger-color-default: var(--sapTextColor, #223548);--udex-filter-menu-trigger-color-hover: var(--sapHoverColor, #0070f2);--udex-filter-menu-trigger-color-active: var(--sapShell_Active_TextColor, #0040b0);--udex-filter-menu-trigger-color-disabled: var(--sapTextColor, #223548);--udex-filter-menu-trigger-icon-default: var(--sapContent_IconColor, #223548);--udex-filter-menu-trigger-icon-hover: var(--sapHoverColor, #0070f2);--udex-filter-menu-trigger-icon-active: var(--sapSelectedColor, #0040b0);--udex-filter-menu-trigger-icon-disabled: var(--sapContent_IconColor, #223548);--udex-filter-menu-trigger-prefix-color-default: var(--sapShell_NeutralColor, #475e75);--udex-filter-menu-trigger-prefix-color-hover: var(--sapShell_NeutralColor, #475e75);--udex-filter-menu-trigger-prefix-color-active: var(--sapShell_NeutralColor, #475e75);--udex-filter-menu-trigger-prefix-color-disabled: var(--sapShell_NeutralColor, #475e75);--udex-filter-menu-trigger-selection-bar-background: var(--sapHoverColor, #0070f2);--udex-filter-menu-trigger-outline-border-color: var(--udexColorBlue10, #002A86);--udex-filter-menu-popover-left-offset: 0px;--udex-filter-menu-popover-min-width-xs: calc(100% - var(--udex-filter-menu-popover-left-offset));--udex-filter-menu-popover-max-width-xs: 100%;--udex-filter-menu-popover-width: fit-content;--udex-filter-menu-popover-min-width: 320px;--udex-filter-menu-popover-max-width: 640px;--udex-filter-menu-popover-shadow: var(--sapContent_Shadow1, 0px 2px 8px 0px rgba(34,54,73,.3));--udex-filter-menu-popover-border-color: var(--sapField_BorderColor, var(--udexCoreBorderDefault));--udex-filter-menu-popover-border-width: var(--sapElement_BorderWidth, 1px);--udex-filter-menu-popover-border-radius: var(--udexRadiusM, 8px);display:inline-block}:host([desktop]) .udex-filter-menu__trigger:focus,.udex-filter-menu__trigger:focus-visible{outline:2px solid var(--udex-filter-menu-trigger-outline-border-color);outline-offset:var(--udexSpacer2, 2px);border-radius:var(--udexRadiusM, 8px)}.udex-filter-menu__trigger{font-family:var(--sapFontFamily);font-weight:var(--udexTypographyFontWeightRegular, 400);font-size:var(--udexTypographyBodyXSFontSize, 14px);line-height:var(--udexTypographyBodyLineHeight, 1.5);display:inline-flex;align-items:center;padding:5px 0;position:relative;background:none;border:none}.udex-filter-menu__trigger-wrap{cursor:pointer;display:inline-flex;align-items:center}.udex-filter-menu__trigger-wrap[disabled]{pointer-events:none}.udex-filter-menu__trigger-wrap[disabled]:hover .udex-filter-menu__trigger-name,.udex-filter-menu__trigger-wrap[disabled] .udex-filter-menu__trigger-name{color:var(--udex-filter-menu-trigger-color-disabled);opacity:var(--sapContent_DisabledOpacity, .4)}.udex-filter-menu__trigger-wrap[disabled] .udex-filter-menu__trigger-prefix{color:var(--udex-filter-menu-trigger-prefix-color-disabled)}.udex-filter-menu__trigger-wrap[disabled]:hover .udex-filter-menu__trigger-icon,.udex-filter-menu__trigger-wrap[disabled] .udex-filter-menu__trigger-icon{color:var(--udex-filter-menu-trigger-icon-disabled);opacity:var(--sapContent_DisabledOpacity, .4)}.udex-filter-menu__trigger-prefix{margin-right:var(--udexSpacer8, 8px);color:var(--udex-filter-menu-trigger-prefix-color-default)}.udex-filter-menu__trigger-wrap:hover .udex-filter-menu__trigger-prefix{color:var(--udex-filter-menu-trigger-prefix-color-hover)}.udex-filter-menu__trigger-name{color:var(--udex-filter-menu-trigger-color-default)}.udex-filter-menu__trigger:before{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;border-radius:2px 2px 0;background:var(--udex-filter-menu-trigger-selection-bar-background);opacity:0}.udex-filter-menu__trigger-active .udex-filter-menu__trigger-prefix{color:var(--udex-filter-menu-trigger-prefix-color-active)}.udex-filter-menu__trigger-active:before{opacity:1}.udex-filter-menu__trigger-icon{width:16px;height:16px;margin-inline-start:var(--udexSpacer8, 8px);color:var(--udex-filter-menu-trigger-icon-default)}.udex-filter-menu__trigger-wrap:hover .udex-filter-menu__trigger-name{color:var(--udex-filter-menu-trigger-color-hover)}.udex-filter-menu__trigger-wrap:hover .udex-filter-menu__trigger-icon{color:var(--udex-filter-menu-trigger-icon-hover)}.udex-filter-menu__trigger-active .udex-filter-menu__trigger-icon{transform:rotate(180deg);color:var(--udex-filter-menu-trigger-icon-active)}.udex-filter-menu__trigger-active .udex-filter-menu__trigger-name{color:var(--udex-filter-menu-trigger-color-active)}.udex-filter-menu__search{width:100%}.udex-filter-menu__footer{width:100%;display:flex;gap:10px}.udex-filter-menu__badge{margin-inline-start:var(--udexSpacer4, 4px)}[ui5-popover]{border:var(--udex-filter-menu-popover-border-width) solid var(--udex-filter-menu-popover-border-color);border-radius:var(--udex-filter-menu-popover-border-radius);box-shadow:var(--udex-filter-menu-popover-shadow);min-width:var(--udex-filter-menu-popover-min-width);max-width:var(--udex-filter-menu-popover-max-width);width:var(--udex-filter-menu-popover-width)}[ui5-popover]::part(content){padding:0;overflow:auto}[ui5-popover]::part(header),[ui5-popover]::part(footer){padding:var(--udexSpacer16, 16px) var(--udexSpacer12, 12px)}[ui5-popover]::part(footer){justify-content:flex-start;border-color:var(--sapField_BorderColor, var(--udexCoreBorderDefault));box-shadow:var(--sapContent_Shadow1, 0px 2px 8px 0px rgba(34,54,73,.3))}::slotted([slot="header"]){width:100%}.udex-no-result{font-family:var(--sapFontFamily);font-weight:var(--udexTypographyFontWeightRegular, 400);font-size:var(--udexTypographyBodyXSFontSize, 14px);line-height:var(--udexTypographyBodyLineHeight, 1.5);color:var(--sapContent_TitleColor, #000000);padding:0 var(--udexSpacer16, 16px) var(--udexSpacer16, 16px)}@media (width < 640px){[ui5-popover]{min-width:var(--udex-filter-menu-popover-min-width-xs);max-width:var(--udex-filter-menu-popover-max-width-xs)}}
10
+ const styleData: StyleData = {packageName:"@sapudex/web-components",fileName:"themes/FilterMenu.css.ts",content:`:host{--udex-filter-menu-trigger-color-default: var(--sapTextColor, #223548);--udex-filter-menu-trigger-color-hover: var(--sapHoverColor, #0070f2);--udex-filter-menu-trigger-color-active: var(--sapShell_Active_TextColor, #0040b0);--udex-filter-menu-trigger-color-disabled: var(--sapTextColor, #223548);--udex-filter-menu-trigger-icon-default: var(--sapContent_IconColor, #223548);--udex-filter-menu-trigger-icon-hover: var(--sapHoverColor, #0070f2);--udex-filter-menu-trigger-icon-active: var(--sapSelectedColor, #0040b0);--udex-filter-menu-trigger-icon-disabled: var(--sapContent_IconColor, #223548);--udex-filter-menu-trigger-prefix-color-default: var(--sapShell_NeutralColor, #475e75);--udex-filter-menu-trigger-prefix-color-hover: var(--sapShell_NeutralColor, #475e75);--udex-filter-menu-trigger-prefix-color-active: var(--sapShell_NeutralColor, #475e75);--udex-filter-menu-trigger-prefix-color-disabled: var(--sapShell_NeutralColor, #475e75);--udex-filter-menu-trigger-selection-bar-background: var(--sapHoverColor, #0070f2);--udex-filter-menu-trigger-outline-border-color: var(--udexColorBlue10, #002A86);--udex-filter-menu-popover-left-offset: 0px;--udex-filter-menu-popover-min-width-xs: calc(100% - var(--udex-filter-menu-popover-left-offset));--udex-filter-menu-popover-max-width-xs: 100%;--udex-filter-menu-popover-width: fit-content;--udex-filter-menu-popover-min-width: 320px;--udex-filter-menu-popover-max-width: 640px;--udex-filter-menu-popover-shadow: var(--sapContent_Shadow1, 0px 2px 8px 0px rgba(34,54,73,.3));--udex-filter-menu-popover-border-color: var(--sapField_BorderColor, var(--udexCoreBorderDefault));--udex-filter-menu-popover-border-width: var(--sapElement_BorderWidth, 1px);--udex-filter-menu-popover-border-radius: var(--udexRadiusM, 8px);display:inline-block}:host([desktop]) .udex-filter-menu__trigger:focus,.udex-filter-menu__trigger:focus-visible{outline:2px solid var(--udex-filter-menu-trigger-outline-border-color);outline-offset:var(--udexSpacer2, 2px);border-radius:var(--udexRadiusM, 8px)}.udex-filter-menu__trigger{font-family:var(--sapFontFamily);font-weight:var(--udexTypographyFontWeightRegular, 400);font-size:var(--udexTypographyBodyXSFontSize, 14px);line-height:var(--udexTypographyBodyLineHeight, 1.5);display:inline-flex;align-items:center;padding:5px 0;position:relative;background:none;border:none}.udex-filter-menu__trigger-wrap{cursor:pointer;display:inline-flex;align-items:center}.udex-filter-menu__trigger-wrap[disabled]{pointer-events:none}.udex-filter-menu__trigger-wrap[disabled]:hover .udex-filter-menu__trigger-name,.udex-filter-menu__trigger-wrap[disabled] .udex-filter-menu__trigger-name{color:var(--udex-filter-menu-trigger-color-disabled);opacity:var(--sapContent_DisabledOpacity, .4)}.udex-filter-menu__trigger-wrap[disabled] .udex-filter-menu__trigger-prefix{color:var(--udex-filter-menu-trigger-prefix-color-disabled)}.udex-filter-menu__trigger-wrap[disabled]:hover .udex-filter-menu__trigger-icon,.udex-filter-menu__trigger-wrap[disabled] .udex-filter-menu__trigger-icon{color:var(--udex-filter-menu-trigger-icon-disabled);opacity:var(--sapContent_DisabledOpacity, .4)}.udex-filter-menu__trigger-prefix{margin-right:var(--udexSpacer8, 8px);color:var(--udex-filter-menu-trigger-prefix-color-default)}.udex-filter-menu__trigger-wrap:hover .udex-filter-menu__trigger-prefix{color:var(--udex-filter-menu-trigger-prefix-color-hover)}.udex-filter-menu__trigger-name{color:var(--udex-filter-menu-trigger-color-default)}.udex-filter-menu__trigger:before{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;border-radius:2px 2px 0;background:var(--udex-filter-menu-trigger-selection-bar-background);opacity:0}.udex-filter-menu__trigger-active .udex-filter-menu__trigger-prefix{color:var(--udex-filter-menu-trigger-prefix-color-active)}.udex-filter-menu__trigger-active:before{opacity:1}.udex-filter-menu__trigger-icon{width:16px;height:16px;margin-inline-start:var(--udexSpacer8, 8px);color:var(--udex-filter-menu-trigger-icon-default)}.udex-filter-menu__trigger-wrap:hover .udex-filter-menu__trigger-name{color:var(--udex-filter-menu-trigger-color-hover)}.udex-filter-menu__trigger-wrap:hover .udex-filter-menu__trigger-icon{color:var(--udex-filter-menu-trigger-icon-hover)}.udex-filter-menu__trigger-active .udex-filter-menu__trigger-icon{transform:rotate(180deg);color:var(--udex-filter-menu-trigger-icon-active)}.udex-filter-menu__trigger-active .udex-filter-menu__trigger-name{color:var(--udex-filter-menu-trigger-color-active)}.udex-filter-menu__search{width:100%}.udex-filter-menu__footer{width:100%;display:flex;gap:10px}.udex-filter-menu__badge{margin-inline-start:var(--udexSpacer4, 4px)}[ui5-popover]{border:var(--udex-filter-menu-popover-border-width) solid var(--udex-filter-menu-popover-border-color);border-radius:var(--udex-filter-menu-popover-border-radius);box-shadow:var(--udex-filter-menu-popover-shadow);min-width:var(--udex-filter-menu-popover-min-width);max-width:var(--udex-filter-menu-popover-max-width);width:var(--udex-filter-menu-popover-width)}[ui5-popover]::part(content){padding:0;overflow:auto}[ui5-popover]::part(header),[ui5-popover]::part(footer){padding:var(--udexSpacer16, 16px) var(--udexSpacer12, 12px)}[ui5-popover]::part(footer){justify-content:flex-start;border-color:var(--sapField_BorderColor, var(--udexCoreBorderDefault));box-shadow:var(--sapContent_Shadow1, 0px 2px 8px 0px rgba(34,54,73,.3))}::slotted([slot="header"]){width:100%}.udex-no-result{font-family:var(--sapFontFamily);font-weight:var(--udexTypographyFontWeightRegular, 400);font-size:var(--udexTypographyBodyXSFontSize, 14px);line-height:var(--udexTypographyBodyLineHeight, 1.5);color:var(--sapContent_TitleColor, #000000);padding:0 var(--udexSpacer12, 12px) var(--udexSpacer16, 16px)}@media (width < 640px){[ui5-popover]{min-width:var(--udex-filter-menu-popover-min-width-xs);max-width:var(--udex-filter-menu-popover-max-width-xs)}}
11
11
  `};
12
12
  export default styleData;
13
13