@sapudex/web-components 2.2.0 → 2.4.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 (273) hide show
  1. package/.eslintignore +3 -0
  2. package/bundle.esm.js +3 -0
  3. package/cypress/fixtures/contact-numbers.ts +10 -0
  4. package/cypress/fixtures/event-ribbon-links.ts +5 -0
  5. package/cypress/specs/Accordion.cy.tsx +25 -2
  6. package/cypress/specs/AccordionItem.cy.tsx +1 -1
  7. package/cypress/specs/Avatar.cy.tsx +1 -1
  8. package/cypress/specs/AvatarGroup.cy.tsx +1 -2
  9. package/cypress/specs/Badge.cy.tsx +1 -1
  10. package/cypress/specs/Contact.cy.tsx +92 -0
  11. package/cypress/specs/ContactItem.cy.tsx +56 -0
  12. package/cypress/specs/CountrySelector.cy.tsx +10 -4
  13. package/cypress/specs/EventRibbon.cy.tsx +110 -0
  14. package/cypress/specs/Footer.cy.tsx +1 -1
  15. package/cypress/specs/ListItem.cy.tsx +1 -1
  16. package/cypress/specs/PhoneNumberField.cy.tsx +4 -2
  17. package/cypress/specs/Review.cy.tsx +1 -3
  18. package/cypress/specs/ReviewItem.cy.tsx +1 -1
  19. package/cypress/specs/SecondaryNavigationDesktop.cy.tsx +123 -116
  20. package/cypress/specs/SecondaryNavigationMobile.cy.tsx +27 -38
  21. package/cypress/specs/SelectBox.cy.tsx +93 -88
  22. package/cypress/specs/Slider.cy.tsx +1 -1
  23. package/cypress/specs/StatusBadge.cy.tsx +1 -1
  24. package/cypress/specs/StatusMessage.cy.tsx +1 -1
  25. package/cypress/specs/Switch.cy.tsx +1 -2
  26. package/cypress/specs/Table.cy.tsx +1 -9
  27. package/cypress/specs/Tag.cy.tsx +1 -1
  28. package/cypress/specs/TagGroup.cy.tsx +1 -2
  29. package/cypress/specs/TextField.cy.tsx +1 -1
  30. package/cypress/specs/Textarea.cy.tsx +1 -1
  31. package/cypress/specs/Toast.cy.tsx +1 -1
  32. package/cypress/specs/Tooltip.cy.tsx +1 -2
  33. package/cypress/specs/TruncatedText.cy.tsx +2 -1
  34. package/cypress/specs/Upload.cy.tsx +1 -2
  35. package/cypress/specs/UploadItem.cy.tsx +1 -1
  36. package/cypress/specs/Wizard.cy.tsx +7 -4
  37. package/cypress/support/commands.ts +31 -2
  38. package/cypress/support/component-imports.instrumented.ts +95 -0
  39. package/cypress/support/component-imports.src.ts +95 -0
  40. package/cypress/support/component.ts +1 -1
  41. package/cypress.config.ts +6 -0
  42. package/dist/Accordion.d.ts +7 -1
  43. package/dist/Accordion.js +3 -3
  44. package/dist/Accordion.js.map +1 -1
  45. package/dist/Assets.js +31 -0
  46. package/dist/Assets.js.map +1 -1
  47. package/dist/AssetsVariables.js +4 -0
  48. package/dist/AssetsVariables.js.map +1 -1
  49. package/dist/Button.d.ts +7 -0
  50. package/dist/Button.js +3 -0
  51. package/dist/Button.js.map +1 -1
  52. package/dist/Contact.d.ts +102 -0
  53. package/dist/Contact.js +152 -0
  54. package/dist/Contact.js.map +1 -0
  55. package/dist/ContactItem.d.ts +67 -0
  56. package/dist/ContactItem.js +96 -0
  57. package/dist/ContactItem.js.map +1 -0
  58. package/dist/ContactItemTemplate.d.ts +2 -0
  59. package/dist/ContactItemTemplate.js +13 -0
  60. package/dist/ContactItemTemplate.js.map +1 -0
  61. package/dist/ContactTemplate.d.ts +4 -0
  62. package/dist/ContactTemplate.js +29 -0
  63. package/dist/ContactTemplate.js.map +1 -0
  64. package/dist/CountrySelector.d.ts +2 -4
  65. package/dist/CountrySelector.js +3 -5
  66. package/dist/CountrySelector.js.map +1 -1
  67. package/dist/DatePicker.js +2 -1
  68. package/dist/DatePicker.js.map +1 -1
  69. package/dist/EventRibbon.d.ts +80 -0
  70. package/dist/EventRibbon.js +111 -0
  71. package/dist/EventRibbon.js.map +1 -0
  72. package/dist/EventRibbonTemplate.d.ts +2 -0
  73. package/dist/EventRibbonTemplate.js +7 -0
  74. package/dist/EventRibbonTemplate.js.map +1 -0
  75. package/dist/Footer.d.ts +0 -1
  76. package/dist/Footer.js +7 -9
  77. package/dist/Footer.js.map +1 -1
  78. package/dist/HeroBanner.d.ts +1 -1
  79. package/dist/List.d.ts +1 -1
  80. package/dist/List.js +1 -1
  81. package/dist/List.js.map +1 -1
  82. package/dist/MastheadItem.d.ts +1 -3
  83. package/dist/MastheadItem.js +6 -11
  84. package/dist/MastheadItem.js.map +1 -1
  85. package/dist/MastheadMenu.d.ts +0 -1
  86. package/dist/MastheadMenu.js +2 -4
  87. package/dist/MastheadMenu.js.map +1 -1
  88. package/dist/MastheadProfileMenu.d.ts +0 -1
  89. package/dist/MastheadProfileMenu.js +2 -4
  90. package/dist/MastheadProfileMenu.js.map +1 -1
  91. package/dist/MastheadShell.d.ts +4 -1
  92. package/dist/MastheadShell.js +21 -5
  93. package/dist/MastheadShell.js.map +1 -1
  94. package/dist/Pagination.d.ts +17 -3
  95. package/dist/Pagination.js +33 -31
  96. package/dist/Pagination.js.map +1 -1
  97. package/dist/PhoneNumberField.d.ts +5 -5
  98. package/dist/PhoneNumberField.js +1 -1
  99. package/dist/PhoneNumberField.js.map +1 -1
  100. package/dist/SearchableListBase.d.ts +9 -0
  101. package/dist/SearchableListBase.js +15 -3
  102. package/dist/SearchableListBase.js.map +1 -1
  103. package/dist/SecondaryNavigation.d.ts +0 -1
  104. package/dist/SecondaryNavigation.js +2 -4
  105. package/dist/SecondaryNavigation.js.map +1 -1
  106. package/dist/TextField.d.ts +7 -0
  107. package/dist/TextField.js +3 -0
  108. package/dist/TextField.js.map +1 -1
  109. package/dist/Wizard.d.ts +20 -1
  110. package/dist/Wizard.js +22 -9
  111. package/dist/Wizard.js.map +1 -1
  112. package/dist/WizardTemplate.js +1 -1
  113. package/dist/WizardTemplate.js.map +1 -1
  114. package/dist/assets/{InputSuggestions-KGCQrV_T.js → InputSuggestions-CYW_6A8K.js} +1 -1
  115. package/dist/assets/{ListItemStandardExpandableTextTemplate-D4zLIdLd.js → ListItemStandardExpandableTextTemplate-BDrgWGjT.js} +1 -1
  116. package/dist/assets/{bundle.esm-Diw1zQ-o.js → bundle.esm-DRCvw6Ji.js} +235 -225
  117. package/dist/assets/messagebundle_en-BK8-Eyic.js +1 -0
  118. package/dist/css/themes/Accordion.css +1 -1
  119. package/dist/css/themes/Button.css +1 -1
  120. package/dist/css/themes/Contact.css +1 -0
  121. package/dist/css/themes/ContactItem.css +1 -0
  122. package/dist/css/themes/DatePickerPopover.css +1 -1
  123. package/dist/css/themes/EventRibbon.css +1 -0
  124. package/dist/css/themes/MastheadCountrySelector.css +1 -1
  125. package/dist/css/themes/MastheadItem.css +1 -1
  126. package/dist/css/themes/MastheadShell.css +1 -1
  127. package/dist/css/themes/Modal.css +1 -1
  128. package/dist/css/themes/Pagination.css +1 -1
  129. package/dist/css/themes/RatingIndicator.css +1 -1
  130. package/dist/css/themes/Slider.css +1 -1
  131. package/dist/css/themes/TextField.css +1 -1
  132. package/dist/custom-elements-internal.json +823 -99
  133. package/dist/custom-elements.json +783 -83
  134. package/dist/data/CountryListISO3166.d.ts +13 -4
  135. package/dist/data/CountryListISO3166.js +8 -0
  136. package/dist/data/CountryListISO3166.js.map +1 -1
  137. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  138. package/dist/generated/i18n/i18n-defaults.d.ts +3 -1
  139. package/dist/generated/i18n/i18n-defaults.js +3 -1
  140. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  141. package/dist/generated/templates/AccordionTemplate.lit.js +4 -2
  142. package/dist/generated/templates/AccordionTemplate.lit.js.map +1 -1
  143. package/dist/generated/templates/MastheadItemTemplate.lit.js +25 -22
  144. package/dist/generated/templates/MastheadItemTemplate.lit.js.map +1 -1
  145. package/dist/generated/templates/PaginationTemplate.lit.js +1 -1
  146. package/dist/generated/templates/PaginationTemplate.lit.js.map +1 -1
  147. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js +2 -2
  148. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js.map +1 -1
  149. package/dist/generated/themes/Accordion.css.d.ts +1 -1
  150. package/dist/generated/themes/Accordion.css.js +1 -1
  151. package/dist/generated/themes/Accordion.css.js.map +1 -1
  152. package/dist/generated/themes/Button.css.d.ts +1 -1
  153. package/dist/generated/themes/Button.css.js +1 -1
  154. package/dist/generated/themes/Button.css.js.map +1 -1
  155. package/dist/generated/themes/Contact.css.d.ts +2 -0
  156. package/dist/generated/themes/Contact.css.js +8 -0
  157. package/dist/generated/themes/Contact.css.js.map +1 -0
  158. package/dist/generated/themes/ContactItem.css.d.ts +2 -0
  159. package/dist/generated/themes/ContactItem.css.js +8 -0
  160. package/dist/generated/themes/ContactItem.css.js.map +1 -0
  161. package/dist/generated/themes/DatePickerPopover.css.d.ts +1 -1
  162. package/dist/generated/themes/DatePickerPopover.css.js +1 -1
  163. package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
  164. package/dist/generated/themes/EventRibbon.css.d.ts +2 -0
  165. package/dist/generated/themes/EventRibbon.css.js +8 -0
  166. package/dist/generated/themes/EventRibbon.css.js.map +1 -0
  167. package/dist/generated/themes/MastheadCountrySelector.css.d.ts +1 -1
  168. package/dist/generated/themes/MastheadCountrySelector.css.js +1 -1
  169. package/dist/generated/themes/MastheadCountrySelector.css.js.map +1 -1
  170. package/dist/generated/themes/MastheadItem.css.d.ts +1 -1
  171. package/dist/generated/themes/MastheadItem.css.js +1 -1
  172. package/dist/generated/themes/MastheadItem.css.js.map +1 -1
  173. package/dist/generated/themes/MastheadShell.css.d.ts +1 -1
  174. package/dist/generated/themes/MastheadShell.css.js +1 -1
  175. package/dist/generated/themes/MastheadShell.css.js.map +1 -1
  176. package/dist/generated/themes/Modal.css.d.ts +1 -1
  177. package/dist/generated/themes/Modal.css.js +1 -1
  178. package/dist/generated/themes/Modal.css.js.map +1 -1
  179. package/dist/generated/themes/Pagination.css.d.ts +1 -1
  180. package/dist/generated/themes/Pagination.css.js +1 -1
  181. package/dist/generated/themes/Pagination.css.js.map +1 -1
  182. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  183. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  184. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  185. package/dist/generated/themes/Slider.css.d.ts +1 -1
  186. package/dist/generated/themes/Slider.css.js +1 -1
  187. package/dist/generated/themes/Slider.css.js.map +1 -1
  188. package/dist/generated/themes/TextField.css.d.ts +1 -1
  189. package/dist/generated/themes/TextField.css.js +1 -1
  190. package/dist/generated/themes/TextField.css.js.map +1 -1
  191. package/dist/messagebundle.properties +5 -0
  192. package/dist/messagebundle_en.properties +3 -0
  193. package/dist/types/ContactItemIcon.d.ts +6 -0
  194. package/dist/types/ContactItemIcon.js +8 -0
  195. package/dist/types/ContactItemIcon.js.map +1 -0
  196. package/dist/types/EventRibbon.d.ts +37 -0
  197. package/dist/types/EventRibbon.js +43 -0
  198. package/dist/types/EventRibbon.js.map +1 -0
  199. package/dist/utils/parseArrayFromString.d.ts +2 -0
  200. package/dist/utils/parseArrayFromString.js +5 -0
  201. package/dist/utils/parseArrayFromString.js.map +1 -0
  202. package/dist/vscode.html-custom-data.json +183 -1
  203. package/dist/web-types.json +321 -2
  204. package/filter-coverage.js +58 -0
  205. package/package.json +8 -3
  206. package/src/Accordion.hbs +13 -9
  207. package/src/Accordion.ts +7 -4
  208. package/src/Assets.ts +29 -0
  209. package/src/AssetsVariables.ts +4 -0
  210. package/src/Button.ts +9 -0
  211. package/src/Contact.ts +200 -0
  212. package/src/ContactItem.ts +119 -0
  213. package/src/ContactItemTemplate.tsx +22 -0
  214. package/src/ContactTemplate.tsx +105 -0
  215. package/src/CountrySelector.ts +5 -8
  216. package/src/DatePicker.ts +2 -1
  217. package/src/EventRibbon.ts +143 -0
  218. package/src/EventRibbonTemplate.tsx +18 -0
  219. package/src/Footer.ts +7 -10
  220. package/src/List.ts +1 -1
  221. package/src/MastheadItem.hbs +8 -0
  222. package/src/MastheadItem.ts +8 -16
  223. package/src/MastheadMenu.ts +2 -5
  224. package/src/MastheadProfileMenu.ts +2 -5
  225. package/src/MastheadShell.ts +25 -5
  226. package/src/Pagination.hbs +7 -3
  227. package/src/Pagination.ts +48 -31
  228. package/src/PhoneNumberField.hbs +1 -1
  229. package/src/PhoneNumberField.ts +7 -2
  230. package/src/SearchableListBase.ts +24 -3
  231. package/src/SecondaryNavigation.ts +3 -5
  232. package/src/TextField.ts +9 -0
  233. package/src/Wizard.ts +39 -11
  234. package/src/WizardTemplate.tsx +5 -1
  235. package/src/data/CountryListISO3166.ts +10 -2
  236. package/src/generated/i18n/i18n-defaults.ts +2 -2
  237. package/src/generated/templates/AccordionTemplate.lit.ts +4 -2
  238. package/src/generated/templates/MastheadItemTemplate.lit.ts +25 -22
  239. package/src/generated/templates/PaginationTemplate.lit.ts +1 -1
  240. package/src/generated/templates/PhoneNumberFieldTemplate.lit.ts +1 -1
  241. package/src/generated/themes/Accordion.css.ts +1 -1
  242. package/src/generated/themes/Button.css.ts +1 -1
  243. package/src/generated/themes/Contact.css.ts +9 -0
  244. package/src/generated/themes/ContactItem.css.ts +9 -0
  245. package/src/generated/themes/DatePickerPopover.css.ts +1 -1
  246. package/src/generated/themes/EventRibbon.css.ts +9 -0
  247. package/src/generated/themes/MastheadCountrySelector.css.ts +1 -1
  248. package/src/generated/themes/MastheadItem.css.ts +1 -1
  249. package/src/generated/themes/MastheadShell.css.ts +1 -1
  250. package/src/generated/themes/Modal.css.ts +1 -1
  251. package/src/generated/themes/Pagination.css.ts +1 -1
  252. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  253. package/src/generated/themes/Slider.css.ts +1 -1
  254. package/src/generated/themes/TextField.css.ts +1 -1
  255. package/src/i18n/messagebundle.properties +5 -0
  256. package/src/i18n/messagebundle_en.properties +3 -0
  257. package/src/themes/Accordion.css +1 -0
  258. package/src/themes/Button.css +74 -26
  259. package/src/themes/Contact.css +184 -0
  260. package/src/themes/ContactItem.css +44 -0
  261. package/src/themes/DatePickerPopover.css +64 -6
  262. package/src/themes/EventRibbon.css +411 -0
  263. package/src/themes/MastheadCountrySelector.css +8 -5
  264. package/src/themes/MastheadItem.css +12 -4
  265. package/src/themes/MastheadShell.css +3 -1
  266. package/src/themes/Modal.css +8 -4
  267. package/src/themes/Pagination.css +19 -0
  268. package/src/themes/TextField.css +2 -13
  269. package/src/types/ContactItemIcon.ts +7 -0
  270. package/src/types/EventRibbon.ts +51 -0
  271. package/src/utils/parseArrayFromString.ts +5 -0
  272. package/swap-component-imports.js +18 -0
  273. package/dist/assets/messagebundle_en-CVKgy_9L.js +0 -1
@@ -1,5 +1,4 @@
1
- import UDExTagGroup from "../../src/TagGroup.js";
2
- import UDExTag from "../../src/Tag.js";
1
+ import { UDExTagGroup, UDExTag } from "../support/component-imports.js";
3
2
 
4
3
  const defaultTagGroup = <UDExTagGroup>
5
4
  <UDExTag text="Default"></UDExTag>
@@ -1,4 +1,4 @@
1
- import UDExTextField from "../../src/TextField.js";
1
+ import { UDExTextField } from "../support/component-imports.js";
2
2
 
3
3
  const defaultTextField = <UDExTextField
4
4
  ariaDescribedBy="aria described by attribute"
@@ -1,4 +1,4 @@
1
- import UDExTextArea from "../../src/TextArea.js";
1
+ import { UDExTextArea } from "../support/component-imports.js";
2
2
 
3
3
  const defaultTextarea = <UDExTextArea
4
4
  valueState="Standard"
@@ -1,4 +1,4 @@
1
- import UDExToast from "../../src/Toast.js";
1
+ import { UDExToast } from "../support/component-imports.js";
2
2
 
3
3
  const basicToast = <UDExToast
4
4
  id="toast"
@@ -1,5 +1,4 @@
1
- import UDExTooltip from "../../src/Tooltip.js";
2
- import UDExButton from "../../src/Button.js";
1
+ import { UDExTooltip, UDExButton } from "../support/component-imports.js";
3
2
 
4
3
  const basicTooltip = <UDExTooltip id="udex-tooltip" opener="opener">Lorem ipsum content</UDExTooltip>
5
4
  const tooltipWithTitle = <UDExTooltip id="udex-tooltip-title" opener="opener" title="Title" placement="Top">Lorem ipsum content</UDExTooltip>
@@ -1,4 +1,5 @@
1
- import UDExTruncatedText from "../../src/TruncatedText.js";
1
+ import { UDExTruncatedText } from "../support/component-imports.js";
2
+
2
3
  const basicTruncatedText = <UDExTruncatedText
3
4
  id="truncatedText"
4
5
  text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris tincidunt mauris id aliquet consectetur. Nulla euismod ligula id ante feugiat ornare. Mauris enim velit, sodales eget lectus at, tristique condimentum sapien. Integer quam lacus, faucibus in lacus ut, ullamcorper dictum lacus. In ac lectus congue, blandit quam non, congue ante. Suspendisse sem mauris, tempor dignissim nisl facilisis, vulputate tincidunt turpis. In egestas nisl ut sollicitudin rutrum."
@@ -1,5 +1,4 @@
1
- import UDExUpload from "../../src/Upload.js";
2
- import UDExUploadItem from "../../src/UploadItem.js";
1
+ import { UDExUpload, UDExUploadItem } from "../support/component-imports.js";
3
2
 
4
3
  const basicUpload = <UDExUpload
5
4
  id="basicUpload"
@@ -1,4 +1,4 @@
1
- import UDExUploadItem from "../../src/UploadItem.js";
1
+ import { UDExUploadItem } from "../support/component-imports.js";
2
2
 
3
3
  const uploadingUploadItem = <UDExUploadItem id="uploadingItem" fileName="File1" uploadState="Uploading" uploadPercentage={33}>
4
4
  <span>Uploaded On: 1/1/2025 · File Size: 103 KB</span>
@@ -1,8 +1,6 @@
1
- import UDExButton from "../../src/Button.js";
2
- import UDExWizard from "../../src/Wizard.js";
3
- import UDExWizardStep from "../../src/WizardStep.js";
1
+ import { UDExButton, UDExWizard, UDExWizardStep } from "../support/component-imports.js";
4
2
 
5
- const defaultWizard = <UDExWizard id="wizard">
3
+ const defaultWizard = <UDExWizard id="wizard" accessibleName="Access SAP Account">
6
4
  <UDExWizardStep id="wizard-step-1" titleText="Step 1" selected>
7
5
  <UDExButton design="Emphasized" id="wiz-toStep2">Next Step</UDExButton>
8
6
  </UDExWizardStep>
@@ -74,4 +72,9 @@ describe("Wizard", () => {
74
72
  cy.mount(indeterminateWizard)
75
73
  cy.get("#indeterminateWizard").shadow().find("udex-wizard-tab").shadow().get(".ui5-wiz-step-hr").should("not.exist")
76
74
  });
75
+
76
+ it("attaches wizard's title to the aria-label of first udex-wizard-tab", () => {
77
+ cy.get("#wizard").shadow().find("udex-wizard-tab").first()
78
+ .shadow().find(".ui5-wiz-step-root").should("have.attr", "aria-label", "Step Access SAP Account 1 Step 1")
79
+ });
77
80
  });
@@ -36,7 +36,8 @@
36
36
  // }
37
37
  // }
38
38
 
39
- import { mount } from '@ui5/cypress-ct-ui5-webc'
39
+ import { mount } from '@ui5/cypress-ct-ui5-webc';
40
+ import { internals, isPhone } from "@ui5/webcomponents-base/dist/Device.js";
40
41
  import "cypress-real-events";
41
42
 
42
43
  const realEventCmdCallback = (originalFn: any, element: any, ...args: any) => {
@@ -52,6 +53,14 @@ const realEventCmdCallback = (originalFn: any, element: any, ...args: any) => {
52
53
  });
53
54
  };
54
55
 
56
+ const deviceFuncForStub: Record<SimulationDevices, keyof typeof internals> = {
57
+ phone: "_isPhone",
58
+ };
59
+
60
+ const deviceName: Record<SimulationDevices, Cypress.ViewportPreset> = {
61
+ phone: "iphone-x",
62
+ };
63
+
55
64
  const commands = [
56
65
  "realClick",
57
66
  "realHover",
@@ -66,12 +75,32 @@ commands.forEach(cmd => {
66
75
  Cypress.Commands.overwrite(cmd as any, realEventCmdCallback)
67
76
  });
68
77
 
78
+ type SimulationDevices = "phone"
79
+
69
80
  declare global {
70
81
  namespace Cypress {
71
82
  interface Chainable {
72
83
  mount: typeof mount;
84
+ simulateDevice(device?: SimulationDevices): Chainable<void>
73
85
  }
74
86
  }
75
87
  }
76
88
 
77
- Cypress.Commands.add('mount', mount)
89
+ Cypress.Commands.add('mount', mount);
90
+
91
+ Cypress.Commands.add("simulateDevice", (device: SimulationDevices = "phone") => {
92
+ cy.stub(internals, deviceFuncForStub[device])
93
+ .callsFake(() => {
94
+ return true;
95
+ });
96
+
97
+ if (device === "phone") {
98
+ cy.stub(internals, "windows").value(false);
99
+ }
100
+
101
+ cy.viewport(deviceName[device]);
102
+
103
+ cy.wrap({ isPhone })
104
+ .invoke("isPhone")
105
+ .should("be.true");
106
+ });
@@ -0,0 +1,95 @@
1
+ import UDExAccordion from "../../instrumented/Accordion.js";
2
+ import UDExAccordionItem from "../../instrumented/AccordionItem.js";
3
+ import UDExAvatar from "../../instrumented/Avatar.js";
4
+ import UDExAvatarGroup from "../../instrumented/AvatarGroup.js";
5
+ import UDExBadge from "../../instrumented/Badge.js";
6
+ import UDExCountrySelector from "../../instrumented/CountrySelector.js";
7
+ import UDExFooter from "../../instrumented/Footer.js";
8
+ import UDExListItem from "../../instrumented/ListItem.js";
9
+ import UDExPhoneNumberField from "../../instrumented/PhoneNumberField.js";
10
+ import UDExReview from "../../instrumented/Review.js";
11
+ import UDExReviewItem from "../../instrumented/ReviewItem.js";
12
+ import UDExSecondaryNavigation from "../../instrumented/SecondaryNavigation.js";
13
+ import UDExSelectBox from "../../instrumented/SelectBox.js";
14
+ import UDExSlider from "../../instrumented/Slider.js";
15
+ import UDExStatusBadge from "../../instrumented/StatusBadge.js";
16
+ import UDExStatusMessage from "../../instrumented/StatusMessage.js";
17
+ import UDExSwitch from "../../instrumented/Switch.js";
18
+ import UDExTag from "../../instrumented/Tag.js";
19
+ import UDExTagGroup from "../../instrumented/TagGroup.js";
20
+ import UDExTextArea from "../../instrumented/TextArea.js";
21
+ import UDExTextField from "../../instrumented/TextField.js";
22
+ import UDExToast from "../../instrumented/Toast.js";
23
+ import UDExTooltip from "../../instrumented/Tooltip.js";
24
+ import UDExTruncatedText from "../../instrumented/TruncatedText.js";
25
+ import UDExUpload from "../../instrumented/Upload.js";
26
+ import UDExUploadItem from "../../instrumented/UploadItem.js";
27
+ import UDExWizard from "../../instrumented/Wizard.js";
28
+ import UDExWizardStep from "../../instrumented/WizardStep.js";
29
+ import UDExButton from "../../instrumented/Button.js";
30
+ import UDExRatingBar from "../../instrumented/RatingBar.js";
31
+ import UDExBreadcrumbs from "../../instrumented/Breadcrumbs.js";
32
+ import UDExBreadcrumbsItem from "../../instrumented/BreadcrumbsItem.js";
33
+ import UDExTable from "../../instrumented/Table.js";
34
+ import UDExTableHeaderRow from "../../instrumented/TableHeaderRow.js";
35
+ import UDExTableHeaderCell from "../../instrumented/TableHeaderCell.js";
36
+ import UDExTableRow from "../../instrumented/TableRow.js";
37
+ import UDExTableGroupRow from "../../instrumented/TableGroupRow.js";
38
+ import UDExTableCell from "../../instrumented/TableCell.js";
39
+ import UDExLink from "../../instrumented/Link.js";
40
+ import UDExRatingIndicator from "../../instrumented/RatingIndicator.js";
41
+ import UDExSelectBoxSelectAll from "../../instrumented/SelectBoxSelectAll.js";
42
+ import UDExSelectBoxGroupHeader from "../../instrumented/SelectBoxGroupHeader.js";
43
+ import UDExSelectBoxItem from "../../instrumented/SelectBoxItem.js";
44
+ import UDExContact from "../../instrumented/Contact.js";
45
+ import UDExContactItem from "../../instrumented/ContactItem.js";
46
+ import UDExEventRibbon from "../../instrumented/EventRibbon.js";
47
+
48
+ export {
49
+ UDExAccordion,
50
+ UDExAccordionItem,
51
+ UDExAvatar,
52
+ UDExAvatarGroup,
53
+ UDExBadge,
54
+ UDExBreadcrumbs,
55
+ UDExBreadcrumbsItem,
56
+ UDExButton,
57
+ UDExContact,
58
+ UDExContactItem,
59
+ UDExCountrySelector,
60
+ UDExEventRibbon,
61
+ UDExFooter,
62
+ UDExLink,
63
+ UDExListItem,
64
+ UDExPhoneNumberField,
65
+ UDExRatingBar,
66
+ UDExRatingIndicator,
67
+ UDExReview,
68
+ UDExReviewItem,
69
+ UDExSecondaryNavigation,
70
+ UDExSelectBox,
71
+ UDExSelectBoxItem,
72
+ UDExSelectBoxSelectAll,
73
+ UDExSlider,
74
+ UDExStatusBadge,
75
+ UDExStatusMessage,
76
+ UDExSwitch,
77
+ UDExTable,
78
+ UDExSelectBoxGroupHeader,
79
+ UDExTableGroupRow,
80
+ UDExTableCell,
81
+ UDExTableHeaderCell,
82
+ UDExTableHeaderRow,
83
+ UDExTableRow,
84
+ UDExTag,
85
+ UDExTagGroup,
86
+ UDExTextField,
87
+ UDExTextArea,
88
+ UDExToast,
89
+ UDExTooltip,
90
+ UDExTruncatedText,
91
+ UDExUpload,
92
+ UDExUploadItem,
93
+ UDExWizard,
94
+ UDExWizardStep,
95
+ };
@@ -0,0 +1,95 @@
1
+ import UDExAccordion from "../../src/Accordion.js";
2
+ import UDExAccordionItem from "../../src/AccordionItem.js";
3
+ import UDExAvatar from "../../src/Avatar.js";
4
+ import UDExAvatarGroup from "../../src/AvatarGroup.js";
5
+ import UDExBadge from "../../src/Badge.js";
6
+ import UDExCountrySelector from "../../src/CountrySelector.js";
7
+ import UDExFooter from "../../src/Footer.js";
8
+ import UDExListItem from "../../src/ListItem.js";
9
+ import UDExPhoneNumberField from "../../src/PhoneNumberField.js";
10
+ import UDExReview from "../../src/Review.js";
11
+ import UDExReviewItem from "../../src/ReviewItem.js";
12
+ import UDExSecondaryNavigation from "../../src/SecondaryNavigation.js";
13
+ import UDExSelectBox from "../../src/SelectBox.js";
14
+ import UDExSlider from "../../src/Slider.js";
15
+ import UDExStatusBadge from "../../src/StatusBadge.js";
16
+ import UDExStatusMessage from "../../src/StatusMessage.js";
17
+ import UDExSwitch from "../../src/Switch.js";
18
+ import UDExTag from "../../src/Tag.js";
19
+ import UDExTagGroup from "../../src/TagGroup.js";
20
+ import UDExTextArea from "../../src/TextArea.js";
21
+ import UDExTextField from "../../src/TextField.js";
22
+ import UDExToast from "../../src/Toast.js";
23
+ import UDExTooltip from "../../src/Tooltip.js";
24
+ import UDExTruncatedText from "../../src/TruncatedText.js";
25
+ import UDExUpload from "../../src/Upload.js";
26
+ import UDExUploadItem from "../../src/UploadItem.js";
27
+ import UDExWizard from "../../src/Wizard.js";
28
+ import UDExWizardStep from "../../src/WizardStep.js";
29
+ import UDExButton from "../../src/Button.js";
30
+ import UDExRatingBar from "../../src//RatingBar.js";
31
+ import UDExBreadcrumbs from "../../src/Breadcrumbs.js";
32
+ import UDExBreadcrumbsItem from "../../src/BreadcrumbsItem.js";
33
+ import UDExTable from "../../src/Table.js";
34
+ import UDExTableHeaderRow from "../../src/TableHeaderRow.js";
35
+ import UDExTableHeaderCell from "../../src/TableHeaderCell.js";
36
+ import UDExTableRow from "../../src/TableRow.js";
37
+ import UDExTableGroupRow from "../../src/TableGroupRow.js";
38
+ import UDExTableCell from "../../src/TableCell.js";
39
+ import UDExLink from "../../src/Link.js";
40
+ import UDExRatingIndicator from "../../src/RatingIndicator.js";
41
+ import UDExSelectBoxSelectAll from "../../src/SelectBoxSelectAll.js";
42
+ import UDExSelectBoxGroupHeader from "../../src/SelectBoxGroupHeader.js";
43
+ import UDExSelectBoxItem from "../../src/SelectBoxItem.js";
44
+ import UDExContact from "../../instrumented/Contact.js";
45
+ import UDExContactItem from "../../instrumented/ContactItem.js";
46
+ import UDExEventRibbon from "../../src/EventRibbon.js";
47
+
48
+ export {
49
+ UDExAccordion,
50
+ UDExAccordionItem,
51
+ UDExAvatar,
52
+ UDExAvatarGroup,
53
+ UDExBadge,
54
+ UDExBreadcrumbs,
55
+ UDExBreadcrumbsItem,
56
+ UDExButton,
57
+ UDExContact,
58
+ UDExContactItem,
59
+ UDExCountrySelector,
60
+ UDExEventRibbon,
61
+ UDExFooter,
62
+ UDExLink,
63
+ UDExListItem,
64
+ UDExPhoneNumberField,
65
+ UDExRatingBar,
66
+ UDExRatingIndicator,
67
+ UDExReview,
68
+ UDExReviewItem,
69
+ UDExSecondaryNavigation,
70
+ UDExSelectBox,
71
+ UDExSelectBoxItem,
72
+ UDExSelectBoxSelectAll,
73
+ UDExSlider,
74
+ UDExStatusBadge,
75
+ UDExStatusMessage,
76
+ UDExSwitch,
77
+ UDExTable,
78
+ UDExSelectBoxGroupHeader,
79
+ UDExTableGroupRow,
80
+ UDExTableCell,
81
+ UDExTableHeaderCell,
82
+ UDExTableHeaderRow,
83
+ UDExTableRow,
84
+ UDExTag,
85
+ UDExTagGroup,
86
+ UDExTextField,
87
+ UDExTextArea,
88
+ UDExToast,
89
+ UDExTooltip,
90
+ UDExTruncatedText,
91
+ UDExUpload,
92
+ UDExUploadItem,
93
+ UDExWizard,
94
+ UDExWizardStep,
95
+ };
@@ -15,7 +15,7 @@
15
15
 
16
16
  // Import commands.js using ES2015 syntax:
17
17
  import "./commands.js";
18
-
18
+ import '@cypress/code-coverage/support';
19
19
  import { mount } from "@ui5/cypress-ct-ui5-webc";
20
20
 
21
21
  // Augment the Cypress namespace to include type definitions for
package/cypress.config.ts CHANGED
@@ -4,6 +4,12 @@ export default defineConfig({
4
4
  viewportWidth: 1600,
5
5
  viewportHeight: 1080,
6
6
  component: {
7
+ specPattern: 'cypress/specs/**/*.cy.tsx',
8
+ async setupNodeEvents(on, config) {
9
+ const codeCoverageTask = await import('@cypress/code-coverage/task');
10
+ codeCoverageTask.default(on, config);
11
+ return config;
12
+ },
7
13
  devServer: {
8
14
  framework: "@ui5/cypress-ct-ui5-webc" as any,
9
15
  bundler: "vite",
@@ -34,6 +34,13 @@ declare class UDExAccordion extends UI5Element {
34
34
  * @private
35
35
  */
36
36
  _allExpanded: boolean;
37
+ /**
38
+ * Defines if expandAll button should be displayed.
39
+ *
40
+ * @default false
41
+ * @public
42
+ */
43
+ hideExpandButton: boolean;
37
44
  /**
38
45
  * Defines direction of the accordion component.
39
46
  *
@@ -62,7 +69,6 @@ declare class UDExAccordion extends UI5Element {
62
69
  get items(): {
63
70
  item: HTMLElement;
64
71
  }[];
65
- get headlineText(): string;
66
72
  toggleAllHandler(e: Event): void;
67
73
  toggleOpenItems(isOpen: boolean): void;
68
74
  toggleKeyAllHandler(e: KeyboardEvent): void;
package/dist/Accordion.js CHANGED
@@ -59,9 +59,6 @@ let UDExAccordion = UDExAccordion_1 = class UDExAccordion extends UI5Element {
59
59
  };
60
60
  });
61
61
  }
62
- get headlineText() {
63
- return this.headline ? this.headline : "Default headline";
64
- }
65
62
  toggleAllHandler(e) {
66
63
  e.preventDefault();
67
64
  this._allExpanded = !this._allExpanded;
@@ -125,6 +122,9 @@ let UDExAccordion = UDExAccordion_1 = class UDExAccordion extends UI5Element {
125
122
  __decorate([
126
123
  property({ type: Boolean, noAttribute: true })
127
124
  ], UDExAccordion.prototype, "_allExpanded", void 0);
125
+ __decorate([
126
+ property({ type: Boolean })
127
+ ], UDExAccordion.prototype, "hideExpandButton", void 0);
128
128
  __decorate([
129
129
  property({ type: String })
130
130
  ], UDExAccordion.prototype, "_direction", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.js","sourceRoot":"","sources":["../src/Accordion.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport \"@ui5/webcomponents-icons/dist/feeder-arrow.js\";\nimport {\n isEnter,\n isSpace,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport AccordionTemplate from \"./generated/templates/AccordionTemplate.lit.js\";\nimport { COLLAPSE_ALL, EXPAND_ALL } from \"./generated/i18n/i18n-defaults.js\";\nimport UDExButton from \"./Button.js\";\n\n// Styles\nimport AccordionCss from \"./generated/themes/Accordion.css.js\";\nimport type UDExAccordionItem from \"./AccordionItem.js\";\n\ntype UDExAccordionToggleItemsEventDetail = {\n isOpen: boolean\n}\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-accordion</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Accordion.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-accordion\n * @public\n */\n@customElement({\n tag: \"udex-accordion\",\n renderer: litRender,\n styles: AccordionCss,\n template: AccordionTemplate,\n dependencies: [UDExButton],\n})\n\n/**\n * Triggered when the user clicks on the Expand/Collapse All button..\n *\n * @public\n */\n@event(\"toggle-items\", { bubbles: true })\nclass UDExAccordion extends UI5Element {\n eventDetails!: {\n \"toggle-items\": UDExAccordionToggleItemsEventDetail,\n };\n /**\n * Used internally to store expand/collapse button state.\n *\n * @private\n */\n @property({ type: Boolean, noAttribute: true }) _allExpanded!: boolean;\n\n /**\n * Defines direction of the accordion component.\n *\n * @private\n */\n @property({ type: String }) _direction?: string;\n\n /**\n * Defines the headline text of the accordion component.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String }) headline!: string;\n\n /**\n * Slot for accordion items.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true, individualSlots: true }) _items!: Array<UDExAccordionItem>;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _activeItemIndex: number;\n\n constructor() {\n super();\n this._allExpanded = false;\n this._activeItemIndex = -1;\n }\n\n get toggleAllText(): string {\n return this._allExpanded\n ? UDExAccordion.i18nBundle.getText(COLLAPSE_ALL)\n : UDExAccordion.i18nBundle.getText(EXPAND_ALL);\n }\n\n get isExpanded(): boolean {\n return this._allExpanded;\n }\n\n get items(): {item: HTMLElement}[] {\n return this._items.map(el => {\n return {\n item: el,\n };\n });\n }\n\n get headlineText(): string {\n return this.headline ? this.headline : \"Default headline\";\n }\n\n toggleAllHandler(e: Event) {\n e.preventDefault();\n this._allExpanded = !this._allExpanded;\n this.toggleOpenItems(this._allExpanded);\n this.fireDecoratorEvent(\"toggle-items\", { isOpen: this._allExpanded });\n }\n\n toggleOpenItems(isOpen: boolean) {\n this._items.forEach(item => {\n item.expanded = isOpen;\n });\n }\n\n toggleKeyAllHandler(e: KeyboardEvent) {\n if (isEnter(e) || isSpace(e)) {\n this.toggleAllHandler(e);\n }\n }\n\n keydownHandler(e: KeyboardEvent) {\n if (e.key !== \"Tab\") {\n e.preventDefault();\n }\n const len = this._items.length;\n const focusOnItem = (itemIndex: number) => {\n const item = this._items[itemIndex];\n this._activeItemIndex = itemIndex;\n (item?.shadowRoot?.querySelector(\".udex-accordion-item__header\") as HTMLElement)?.focus();\n };\n\n switch (e.key) {\n case \"Home\":\n focusOnItem(0);\n break;\n case \"End\":\n focusOnItem(len - 1);\n break;\n case \"ArrowUp\":\n if (this._activeItemIndex > 0) {\n focusOnItem(this._activeItemIndex - 1);\n } else if (this._activeItemIndex === 0) {\n focusOnItem(len - 1);\n }\n break;\n case \"ArrowDown\":\n if (this._activeItemIndex < len - 1) {\n focusOnItem(this._activeItemIndex + 1);\n } else if (this._activeItemIndex === len - 1) {\n focusOnItem(0);\n }\n break;\n default:\n break;\n }\n }\n\n itemFocusHandler(e: CustomEvent) {\n const target = e.target as UDExAccordionItem;\n if (target) {\n this._activeItemIndex = this._items?.indexOf(target) ?? -1;\n }\n }\n}\n\nUDExAccordion.define();\n\nexport default UDExAccordion;\n"]}
1
+ {"version":3,"file":"Accordion.js","sourceRoot":"","sources":["../src/Accordion.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport \"@ui5/webcomponents-icons/dist/feeder-arrow.js\";\nimport {\n isEnter,\n isSpace,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport AccordionTemplate from \"./generated/templates/AccordionTemplate.lit.js\";\nimport { COLLAPSE_ALL, EXPAND_ALL } from \"./generated/i18n/i18n-defaults.js\";\nimport UDExButton from \"./Button.js\";\n\n// Styles\nimport AccordionCss from \"./generated/themes/Accordion.css.js\";\nimport type UDExAccordionItem from \"./AccordionItem.js\";\n\ntype UDExAccordionToggleItemsEventDetail = {\n isOpen: boolean\n}\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-accordion</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Accordion.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-accordion\n * @public\n */\n@customElement({\n tag: \"udex-accordion\",\n renderer: litRender,\n styles: AccordionCss,\n template: AccordionTemplate,\n dependencies: [UDExButton],\n})\n\n/**\n * Triggered when the user clicks on the Expand/Collapse All button..\n *\n * @public\n */\n@event(\"toggle-items\", { bubbles: true })\nclass UDExAccordion extends UI5Element {\n eventDetails!: {\n \"toggle-items\": UDExAccordionToggleItemsEventDetail,\n };\n /**\n * Used internally to store expand/collapse button state.\n *\n * @private\n */\n @property({ type: Boolean, noAttribute: true }) _allExpanded!: boolean;\n /**\n * Defines if expandAll button should be displayed.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean }) hideExpandButton!: boolean;\n\n /**\n * Defines direction of the accordion component.\n *\n * @private\n */\n @property({ type: String }) _direction?: string;\n\n /**\n * Defines the headline text of the accordion component.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String }) headline!: string;\n\n /**\n * Slot for accordion items.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true, individualSlots: true }) _items!: Array<UDExAccordionItem>;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _activeItemIndex: number;\n\n constructor() {\n super();\n this._allExpanded = false;\n this._activeItemIndex = -1;\n }\n\n get toggleAllText(): string {\n return this._allExpanded\n ? UDExAccordion.i18nBundle.getText(COLLAPSE_ALL)\n : UDExAccordion.i18nBundle.getText(EXPAND_ALL);\n }\n\n get isExpanded(): boolean {\n return this._allExpanded;\n }\n\n get items(): {item: HTMLElement}[] {\n return this._items.map(el => {\n return {\n item: el,\n };\n });\n }\n\n toggleAllHandler(e: Event) {\n e.preventDefault();\n this._allExpanded = !this._allExpanded;\n this.toggleOpenItems(this._allExpanded);\n this.fireDecoratorEvent(\"toggle-items\", { isOpen: this._allExpanded });\n }\n\n toggleOpenItems(isOpen: boolean) {\n this._items.forEach(item => {\n item.expanded = isOpen;\n });\n }\n\n toggleKeyAllHandler(e: KeyboardEvent) {\n if (isEnter(e) || isSpace(e)) {\n this.toggleAllHandler(e);\n }\n }\n\n keydownHandler(e: KeyboardEvent) {\n if (e.key !== \"Tab\") {\n e.preventDefault();\n }\n const len = this._items.length;\n const focusOnItem = (itemIndex: number) => {\n const item = this._items[itemIndex];\n this._activeItemIndex = itemIndex;\n (item?.shadowRoot?.querySelector(\".udex-accordion-item__header\") as HTMLElement)?.focus();\n };\n\n switch (e.key) {\n case \"Home\":\n focusOnItem(0);\n break;\n case \"End\":\n focusOnItem(len - 1);\n break;\n case \"ArrowUp\":\n if (this._activeItemIndex > 0) {\n focusOnItem(this._activeItemIndex - 1);\n } else if (this._activeItemIndex === 0) {\n focusOnItem(len - 1);\n }\n break;\n case \"ArrowDown\":\n if (this._activeItemIndex < len - 1) {\n focusOnItem(this._activeItemIndex + 1);\n } else if (this._activeItemIndex === len - 1) {\n focusOnItem(0);\n }\n break;\n default:\n break;\n }\n }\n\n itemFocusHandler(e: CustomEvent) {\n const target = e.target as UDExAccordionItem;\n if (target) {\n this._activeItemIndex = this._items?.indexOf(target) ?? -1;\n }\n }\n}\n\nUDExAccordion.define();\n\nexport default UDExAccordion;\n"]}
package/dist/Assets.js CHANGED
@@ -6,4 +6,35 @@ import { registerCustomThemePropertiesLoader } from "@ui5/webcomponents-base/dis
6
6
  import variablesOverwrite from "./AssetsVariables.js";
7
7
  const customThemeLoader = () => Promise.resolve(variablesOverwrite);
8
8
  registerCustomThemePropertiesLoader("@ui5/webcomponents", "sap_glow", customThemeLoader);
9
+ (function checkThemeCSSLink() {
10
+ if (typeof document === "undefined") {
11
+ return;
12
+ }
13
+ const runCheck = () => {
14
+ const cssLoaded = Array.from(document.styleSheets).some(sheet => {
15
+ try {
16
+ if (sheet.href && sheet.href.includes("css_variables.css")) {
17
+ return true;
18
+ }
19
+ return Array.from(sheet.cssRules || []).some(rule => rule.cssText.includes(".sapThemeMetaData-Base-baseLib"));
20
+ }
21
+ catch {
22
+ return false;
23
+ }
24
+ });
25
+ if (!cssLoaded) {
26
+ const msg = `Required theme CSS not found.
27
+ Please add:
28
+ <link rel="stylesheet" href="path/to/@sapudex/design-tokens/dist/themes/sap_glow/css_variables.css">
29
+ or import '@sapudex/design-tokens/dist/themes/sap_glow/css_variables.css'`;
30
+ console.warn(msg);
31
+ }
32
+ };
33
+ if (document.readyState === "loading") {
34
+ document.addEventListener("DOMContentLoaded", runCheck);
35
+ }
36
+ else {
37
+ runCheck();
38
+ }
39
+ })();
9
40
  //# sourceMappingURL=Assets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Assets.js","sourceRoot":"","sources":["../src/Assets.ts"],"names":[],"mappings":"AAAA,OAAO,2CAA2C,CAAC,CAAC,UAAU;AAE9D,oCAAoC;AACpC,OAAO,oCAAoC,CAAC;AAC5C,OAAO,kCAAkC,CAAC;AAE1C,OAAO,EAAE,mCAAmC,EAAE,MAAM,+CAA+C,CAAC;AACpG,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAEtD,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEpE,mCAAmC,CAAC,oBAAoB,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC","sourcesContent":["import \"@ui5/webcomponents-theming/dist/Assets.js\"; // Theming\n\n// own web-components package assets\nimport \"./generated/json-imports/Themes.js\";\nimport \"./generated/json-imports/i18n.js\";\n\nimport { registerCustomThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/AssetRegistry.js\";\nimport variablesOverwrite from \"./AssetsVariables.js\";\n\nconst customThemeLoader = () => Promise.resolve(variablesOverwrite);\n\nregisterCustomThemePropertiesLoader(\"@ui5/webcomponents\", \"sap_glow\", customThemeLoader);\n"]}
1
+ {"version":3,"file":"Assets.js","sourceRoot":"","sources":["../src/Assets.ts"],"names":[],"mappings":"AAAA,OAAO,2CAA2C,CAAC,CAAC,UAAU;AAE9D,oCAAoC;AACpC,OAAO,oCAAoC,CAAC;AAC5C,OAAO,kCAAkC,CAAC;AAE1C,OAAO,EAAE,mCAAmC,EAAE,MAAM,+CAA+C,CAAC;AACpG,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAEtD,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEpE,mCAAmC,CAAC,oBAAoB,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;AAEzF,CAAC,SAAS,iBAAiB;IACzB,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;QAAC,OAAO;IAAC,CAAC;IAEhD,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC9D,IAAI,CAAC;gBACH,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;oBAAC,OAAO,IAAI,CAAC;gBAAC,CAAC;gBAC5E,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,CAAC;YAChH,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,GAAG,GAAG;;;0EAGwD,CAAC;YACrE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACtC,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,QAAQ,EAAE,CAAC;IACb,CAAC;AACH,CAAC,CAAC,EAAE,CAAC","sourcesContent":["import \"@ui5/webcomponents-theming/dist/Assets.js\"; // Theming\n\n// own web-components package assets\nimport \"./generated/json-imports/Themes.js\";\nimport \"./generated/json-imports/i18n.js\";\n\nimport { registerCustomThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/AssetRegistry.js\";\nimport variablesOverwrite from \"./AssetsVariables.js\";\n\nconst customThemeLoader = () => Promise.resolve(variablesOverwrite);\n\nregisterCustomThemePropertiesLoader(\"@ui5/webcomponents\", \"sap_glow\", customThemeLoader);\n\n(function checkThemeCSSLink() {\n if (typeof document === \"undefined\") { return; }\n\n const runCheck = () => {\n const cssLoaded = Array.from(document.styleSheets).some(sheet => {\n try {\n if (sheet.href && sheet.href.includes(\"css_variables.css\")) { return true; }\n return Array.from(sheet.cssRules || []).some(rule => rule.cssText.includes(\".sapThemeMetaData-Base-baseLib\"));\n } catch {\n return false;\n }\n });\n\n if (!cssLoaded) {\n const msg = `Required theme CSS not found.\nPlease add:\n<link rel=\"stylesheet\" href=\"path/to/@sapudex/design-tokens/dist/themes/sap_glow/css_variables.css\">\nor import '@sapudex/design-tokens/dist/themes/sap_glow/css_variables.css'`;\n console.warn(msg);\n }\n };\n\n if (document.readyState === \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", runCheck);\n } else {\n runCheck();\n }\n})();\n"]}
@@ -22,6 +22,8 @@ const variablesOverwrite = `:root {
22
22
  ${getScopedVarName("--_ui5_calendar_header_middle_button_focus_outline")}: 1px solid var(--udexColorBlue9, #0040B0);
23
23
  ${getScopedVarName("--_ui5_calendar_header_arrow_button_box_shadow")}: none;
24
24
  ${getScopedVarName("--_ui5_calendar_header_padding")}: 0;
25
+ ${getScopedVarName("--_ui5_calendar_left_right_padding")}: 0;
26
+ ${getScopedVarName("--_ui5_calendar_top_bottom_padding")}: 0;
25
27
 
26
28
  udex-search {
27
29
  ${getScopedVarName("--_ui5_button_pressed_focused_border_color")}: transparent;
@@ -45,6 +47,8 @@ const variablesOverwrite = `:root {
45
47
  ${getScopedVarName("--_ui5_monthpicker_item_margin")}: -8px 0 var(--udexSpacer16, 16px) 0;
46
48
  ${getScopedVarName("--_ui5_year_picker_item_height")}: 36px;
47
49
  ${getScopedVarName("--_ui5_yearpicker_item_margin")}: -8px 0 var(--udexSpacer16, 16px) 0;
50
+ ${getScopedVarName("--_ui5_calendar_left_right_padding")}: 0;
51
+ ${getScopedVarName("--_ui5_calendar_top_bottom_padding")}: 0;
48
52
  }
49
53
  `;
50
54
  export default variablesOverwrite;
@@ -1 +1 @@
1
- {"version":3,"file":"AssetsVariables.js","sourceRoot":"","sources":["../src/AssetsVariables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AAEvF,MAAM,kBAAkB,GAAG;;IAEvB,gBAAgB,CAAC,mCAAmC,CAAC;;;IAGrD,gBAAgB,CAAC,2BAA2B,CAAC;;;IAG7C,gBAAgB,CAAC,0BAA0B,CAAC;;;IAG5C,gBAAgB,CAAC,sCAAsC,CAAC;IACxD,gBAAgB,CAAC,kCAAkC,CAAC;;;IAGpD,gBAAgB,CAAC,4CAA4C,CAAC;IAC9D,gBAAgB,CAAC,gCAAgC,CAAC;IAClD,gBAAgB,CAAC,wCAAwC,CAAC;IAC1D,gBAAgB,CAAC,uCAAuC,CAAC;IACzD,gBAAgB,CAAC,6CAA6C,CAAC;IAC/D,gBAAgB,CAAC,oDAAoD,CAAC;IACtE,gBAAgB,CAAC,gDAAgD,CAAC;IAClE,gBAAgB,CAAC,gCAAgC,CAAC;;;MAGhD,gBAAgB,CAAC,4CAA4C,CAAC;;;;;;;MAO9D,gBAAgB,CAAC,uBAAuB,CAAC;MACzC,gBAAgB,CAAC,wBAAwB,CAAC;MAC1C,gBAAgB,CAAC,oCAAoC,CAAC;MACtD,gBAAgB,CAAC,oCAAoC,CAAC;MACtD,gBAAgB,CAAC,+BAA+B,CAAC;MACjD,gBAAgB,CAAC,2CAA2C,CAAC;MAC7D,gBAAgB,CAAC,8BAA8B,CAAC;MAChD,gBAAgB,CAAC,+BAA+B,CAAC;MACjD,gBAAgB,CAAC,iCAAiC,CAAC;MACnD,gBAAgB,CAAC,uCAAuC,CAAC;MACzD,gBAAgB,CAAC,iCAAiC,CAAC;MACnD,gBAAgB,CAAC,gCAAgC,CAAC;MAClD,gBAAgB,CAAC,gCAAgC,CAAC;MAClD,gBAAgB,CAAC,+BAA+B,CAAC;;CAEtD,CAAC;AAEF,eAAe,kBAAkB,CAAC","sourcesContent":["import { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\n\nconst variablesOverwrite = `:root {\n /* Browser Scrollbar */\n ${getScopedVarName(\"--browser_scrollbar_border_radius\")}: var(--udexRadiusM, 8px);\n\n /* Tooltip */\n ${getScopedVarName(\"--_ui5_popover_box_shadow\")}: 0px 0px 0px 1px var(--udexColorGrey4);\n\n /* Tokenizer */\n ${getScopedVarName(\"--_ui5_tokenizer_padding\")}: var(--udexSpacer12, 12px);\n\n /* Carousel */\n ${getScopedVarName(\"--ui5_carousel_active_dot_background\")}: var(--udexColorBlue8, #0057D2);\n ${getScopedVarName(\"--ui5_carousel_active_dot_border\")}: 1px solid var(--udexColorBlue8, #0057D2);\n\n /* Calendar & Date Picker */\n ${getScopedVarName(\"--_ui5_daypicker_daynames_container_height\")}: 42px;\n ${getScopedVarName(\"--_ui5_daypicker_dayname_color\")}: var(--udexColorGrey6, #5B738B);\n ${getScopedVarName(\"--_ui5_daypicker_item_now_border_color\")}: var(--udexColorPink8, #A100C2);\n ${getScopedVarName(\"--_ui5_daypicker_item_weeekend_filter\")}: none;\n ${getScopedVarName(\"--_ui5_daypicker_item_select_between_border\")}: 1px solid var(--udexColorBlue9, #0040B0);\n ${getScopedVarName(\"--_ui5_calendar_header_middle_button_focus_outline\")}: 1px solid var(--udexColorBlue9, #0040B0);\n ${getScopedVarName(\"--_ui5_calendar_header_arrow_button_box_shadow\")}: none;\n ${getScopedVarName(\"--_ui5_calendar_header_padding\")}: 0;\n\n udex-search {\n ${getScopedVarName(\"--_ui5_button_pressed_focused_border_color\")}: transparent;\n }\n\n .sapUiSizeCompact,\n .ui5-content-density-compact,\n [data-ui5-compact-size] {\n /* Calendar & Date Picker */\n ${getScopedVarName(\"--_ui5_calendar_width\")}: 371px;\n ${getScopedVarName(\"--_ui5_calendar_height\")}: auto;\n ${getScopedVarName(\"--_ui5_calendar_top_bottom_padding\")}: var(--udexSpacer8, 8px);\n ${getScopedVarName(\"--_ui5_calendar_left_right_padding\")}: var(--udexSpacer8, 8px);\n ${getScopedVarName(\"--_ui5_calendar_header_height\")}: 42px;\n ${getScopedVarName(\"--_ui5_calendar_header_arrow_button_width\")}: 42px;\n ${getScopedVarName(\"--_ui5_day_picker_item_width\")}: 42px;\n ${getScopedVarName(\"--_ui5_day_picker_item_height\")}: 42px;\n ${getScopedVarName(\"--_ui5_daypicker_weekname_color\")}: var(--udexColorGrey6, #5B738B);\n ${getScopedVarName(\"--_ui5_daypicker_item_weeekend_filter\")}: none;\n ${getScopedVarName(\"--_ui5_month_picker_item_height\")}: 36px;\n ${getScopedVarName(\"--_ui5_monthpicker_item_margin\")}: -8px 0 var(--udexSpacer16, 16px) 0;\n ${getScopedVarName(\"--_ui5_year_picker_item_height\")}: 36px;\n ${getScopedVarName(\"--_ui5_yearpicker_item_margin\")}: -8px 0 var(--udexSpacer16, 16px) 0;\n }\n`;\n\nexport default variablesOverwrite;\n"]}
1
+ {"version":3,"file":"AssetsVariables.js","sourceRoot":"","sources":["../src/AssetsVariables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AAEvF,MAAM,kBAAkB,GAAG;;IAEvB,gBAAgB,CAAC,mCAAmC,CAAC;;;IAGrD,gBAAgB,CAAC,2BAA2B,CAAC;;;IAG7C,gBAAgB,CAAC,0BAA0B,CAAC;;;IAG5C,gBAAgB,CAAC,sCAAsC,CAAC;IACxD,gBAAgB,CAAC,kCAAkC,CAAC;;;IAGpD,gBAAgB,CAAC,4CAA4C,CAAC;IAC9D,gBAAgB,CAAC,gCAAgC,CAAC;IAClD,gBAAgB,CAAC,wCAAwC,CAAC;IAC1D,gBAAgB,CAAC,uCAAuC,CAAC;IACzD,gBAAgB,CAAC,6CAA6C,CAAC;IAC/D,gBAAgB,CAAC,oDAAoD,CAAC;IACtE,gBAAgB,CAAC,gDAAgD,CAAC;IAClE,gBAAgB,CAAC,gCAAgC,CAAC;IAClD,gBAAgB,CAAC,oCAAoC,CAAC;IACtD,gBAAgB,CAAC,oCAAoC,CAAC;;;MAGpD,gBAAgB,CAAC,4CAA4C,CAAC;;;;;;;MAO9D,gBAAgB,CAAC,uBAAuB,CAAC;MACzC,gBAAgB,CAAC,wBAAwB,CAAC;MAC1C,gBAAgB,CAAC,oCAAoC,CAAC;MACtD,gBAAgB,CAAC,oCAAoC,CAAC;MACtD,gBAAgB,CAAC,+BAA+B,CAAC;MACjD,gBAAgB,CAAC,2CAA2C,CAAC;MAC7D,gBAAgB,CAAC,8BAA8B,CAAC;MAChD,gBAAgB,CAAC,+BAA+B,CAAC;MACjD,gBAAgB,CAAC,iCAAiC,CAAC;MACnD,gBAAgB,CAAC,uCAAuC,CAAC;MACzD,gBAAgB,CAAC,iCAAiC,CAAC;MACnD,gBAAgB,CAAC,gCAAgC,CAAC;MAClD,gBAAgB,CAAC,gCAAgC,CAAC;MAClD,gBAAgB,CAAC,+BAA+B,CAAC;MACjD,gBAAgB,CAAC,oCAAoC,CAAC;MACtD,gBAAgB,CAAC,oCAAoC,CAAC;;CAE3D,CAAC;AAEF,eAAe,kBAAkB,CAAC","sourcesContent":["import { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\n\nconst variablesOverwrite = `:root {\n /* Browser Scrollbar */\n ${getScopedVarName(\"--browser_scrollbar_border_radius\")}: var(--udexRadiusM, 8px);\n\n /* Tooltip */\n ${getScopedVarName(\"--_ui5_popover_box_shadow\")}: 0px 0px 0px 1px var(--udexColorGrey4);\n\n /* Tokenizer */\n ${getScopedVarName(\"--_ui5_tokenizer_padding\")}: var(--udexSpacer12, 12px);\n\n /* Carousel */\n ${getScopedVarName(\"--ui5_carousel_active_dot_background\")}: var(--udexColorBlue8, #0057D2);\n ${getScopedVarName(\"--ui5_carousel_active_dot_border\")}: 1px solid var(--udexColorBlue8, #0057D2);\n\n /* Calendar & Date Picker */\n ${getScopedVarName(\"--_ui5_daypicker_daynames_container_height\")}: 42px;\n ${getScopedVarName(\"--_ui5_daypicker_dayname_color\")}: var(--udexColorGrey6, #5B738B);\n ${getScopedVarName(\"--_ui5_daypicker_item_now_border_color\")}: var(--udexColorPink8, #A100C2);\n ${getScopedVarName(\"--_ui5_daypicker_item_weeekend_filter\")}: none;\n ${getScopedVarName(\"--_ui5_daypicker_item_select_between_border\")}: 1px solid var(--udexColorBlue9, #0040B0);\n ${getScopedVarName(\"--_ui5_calendar_header_middle_button_focus_outline\")}: 1px solid var(--udexColorBlue9, #0040B0);\n ${getScopedVarName(\"--_ui5_calendar_header_arrow_button_box_shadow\")}: none;\n ${getScopedVarName(\"--_ui5_calendar_header_padding\")}: 0;\n ${getScopedVarName(\"--_ui5_calendar_left_right_padding\")}: 0;\n ${getScopedVarName(\"--_ui5_calendar_top_bottom_padding\")}: 0;\n\n udex-search {\n ${getScopedVarName(\"--_ui5_button_pressed_focused_border_color\")}: transparent;\n }\n\n .sapUiSizeCompact,\n .ui5-content-density-compact,\n [data-ui5-compact-size] {\n /* Calendar & Date Picker */\n ${getScopedVarName(\"--_ui5_calendar_width\")}: 371px;\n ${getScopedVarName(\"--_ui5_calendar_height\")}: auto;\n ${getScopedVarName(\"--_ui5_calendar_top_bottom_padding\")}: var(--udexSpacer8, 8px);\n ${getScopedVarName(\"--_ui5_calendar_left_right_padding\")}: var(--udexSpacer8, 8px);\n ${getScopedVarName(\"--_ui5_calendar_header_height\")}: 42px;\n ${getScopedVarName(\"--_ui5_calendar_header_arrow_button_width\")}: 42px;\n ${getScopedVarName(\"--_ui5_day_picker_item_width\")}: 42px;\n ${getScopedVarName(\"--_ui5_day_picker_item_height\")}: 42px;\n ${getScopedVarName(\"--_ui5_daypicker_weekname_color\")}: var(--udexColorGrey6, #5B738B);\n ${getScopedVarName(\"--_ui5_daypicker_item_weeekend_filter\")}: none;\n ${getScopedVarName(\"--_ui5_month_picker_item_height\")}: 36px;\n ${getScopedVarName(\"--_ui5_monthpicker_item_margin\")}: -8px 0 var(--udexSpacer16, 16px) 0;\n ${getScopedVarName(\"--_ui5_year_picker_item_height\")}: 36px;\n ${getScopedVarName(\"--_ui5_yearpicker_item_margin\")}: -8px 0 var(--udexSpacer16, 16px) 0;\n ${getScopedVarName(\"--_ui5_calendar_left_right_padding\")}: 0;\n ${getScopedVarName(\"--_ui5_calendar_top_bottom_padding\")}: 0;\n }\n`;\n\nexport default variablesOverwrite;\n"]}
package/dist/Button.d.ts CHANGED
@@ -45,6 +45,13 @@ declare class UDExButton extends Button {
45
45
  */
46
46
  /** @ts-expect-error */
47
47
  design: `${UDExButtonDesign}`;
48
+ /**
49
+ * Defines if button is in pseudo-disabled state.
50
+ *
51
+ * @default false
52
+ * @private
53
+ */
54
+ _ariaDisabled: boolean;
48
55
  static i18nBundle: I18nBundle;
49
56
  static typeTextMappings(): Record<string, I18nText>;
50
57
  get hasButtonType(): boolean;
package/dist/Button.js CHANGED
@@ -93,6 +93,9 @@ __decorate([
93
93
  property({ type: String })
94
94
  /** @ts-expect-error */
95
95
  ], UDExButton.prototype, "design", void 0);
96
+ __decorate([
97
+ property({ type: Boolean })
98
+ ], UDExButton.prototype, "_ariaDisabled", void 0);
96
99
  __decorate([
97
100
  i18n("@sapudex/web-components")
98
101
  ], UDExButton, "i18nBundle", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sourceRoot":"","sources":["../src/Button.ts"],"names":[],"mappings":"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","sourcesContent":["import jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type { I18nText } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n BUTTON_ARIA_ATTENTION, BUTTON_ARIA_DEFAULT, BUTTON_ARIA_EMPHASIZED, BUTTON_ARIA_TRANSPARENT, BUTTON_ARIA_TYPE_NEGATIVE, BUTTON_ARIA_TYPE_POSITIVE, BUTTON_ARIA_TYPE_PRIMARY, BUTTON_ARIA_TYPE_SECONDARY, BUTTON_ARIA_TYPE_TERTIARY, BUTTON_ARIA_TYPE_WARNING, TOGGLED,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport UDExButtonSize from \"./types/ButtonSize.js\";\nimport UDExButtonDesign from \"./types/ButtonDesign.js\";\n\n// Styles\nimport ButtonCss from \"./generated/themes/Button.css.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-button</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Button.js\";</code>\n *\n * @constructor\n * @extends Button\n * @tagname udex-button\n * @public\n */\n@customElement({\n tag: \"udex-button\",\n renderer: jsxRenderer,\n styles: [Button.styles, ButtonCss],\n})\n\nclass UDExButton extends Button {\n /**\n * Defines the size of the component.\n * <br><br>\n * <b>Note:</b> There are three different sizes to choose from.\n *\n * @default \"Medium\"\n * @public\n */\n @property({ type: String })\n size: `${UDExButtonSize}` = UDExButtonSize.Medium;\n\n /**\n * Defines if button is in toggled state\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n toggled!: boolean;\n\n /**\n * Defines the component design.\n * @default \"Primary\"\n * @public\n */\n @property({ type: String })\n /** @ts-expect-error */\n design: `${UDExButtonDesign}` = UDExButtonDesign.Primary;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n static typeTextMappings(): Record<string, I18nText> {\n return {\n [UDExButtonDesign.Primary]: BUTTON_ARIA_TYPE_PRIMARY,\n [UDExButtonDesign.Secondary]: BUTTON_ARIA_TYPE_SECONDARY,\n [UDExButtonDesign.Tertiary]: BUTTON_ARIA_TYPE_TERTIARY,\n [UDExButtonDesign.Positive]: BUTTON_ARIA_TYPE_POSITIVE,\n [UDExButtonDesign.Warning]: BUTTON_ARIA_TYPE_WARNING,\n [UDExButtonDesign.Negative]: BUTTON_ARIA_TYPE_NEGATIVE,\n [UDExButtonDesign.Emphasized]: BUTTON_ARIA_EMPHASIZED,\n [UDExButtonDesign.Default]: BUTTON_ARIA_DEFAULT,\n [UDExButtonDesign.Transparent]: BUTTON_ARIA_TRANSPARENT,\n [UDExButtonDesign.Attention]: BUTTON_ARIA_ATTENTION,\n };\n }\n\n get hasButtonType(): boolean {\n return !!this.designValue || this.toggled;\n }\n\n get buttonTypeText(): string {\n const { designValue } = this;\n const shouldReadDesign = designValue === UDExButtonDesign.Positive || designValue === UDExButtonDesign.Negative\n || designValue === UDExButtonDesign.Warning || designValue === UDExButtonDesign.Attention;\n\n let typeText;\n if (designValue) {\n typeText = shouldReadDesign ? UDExButton.i18nBundle.getText(UDExButton.typeTextMappings()[designValue]) : \"\";\n }\n return `${typeText} ${this.toggled ? UDExButton.i18nBundle.getText(TOGGLED) : \"\"}`.trim();\n }\n\n get designValue(): string | null {\n return this.getAttribute(\"design\");\n }\n}\n\nUDExButton.define();\n\nexport default UDExButton;\n"]}
1
+ {"version":3,"file":"Button.js","sourceRoot":"","sources":["../src/Button.ts"],"names":[],"mappings":"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","sourcesContent":["import jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type { I18nText } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n BUTTON_ARIA_ATTENTION, BUTTON_ARIA_DEFAULT, BUTTON_ARIA_EMPHASIZED, BUTTON_ARIA_TRANSPARENT, BUTTON_ARIA_TYPE_NEGATIVE, BUTTON_ARIA_TYPE_POSITIVE, BUTTON_ARIA_TYPE_PRIMARY, BUTTON_ARIA_TYPE_SECONDARY, BUTTON_ARIA_TYPE_TERTIARY, BUTTON_ARIA_TYPE_WARNING, TOGGLED,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport UDExButtonSize from \"./types/ButtonSize.js\";\nimport UDExButtonDesign from \"./types/ButtonDesign.js\";\n\n// Styles\nimport ButtonCss from \"./generated/themes/Button.css.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-button</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Button.js\";</code>\n *\n * @constructor\n * @extends Button\n * @tagname udex-button\n * @public\n */\n@customElement({\n tag: \"udex-button\",\n renderer: jsxRenderer,\n styles: [Button.styles, ButtonCss],\n})\n\nclass UDExButton extends Button {\n /**\n * Defines the size of the component.\n * <br><br>\n * <b>Note:</b> There are three different sizes to choose from.\n *\n * @default \"Medium\"\n * @public\n */\n @property({ type: String })\n size: `${UDExButtonSize}` = UDExButtonSize.Medium;\n\n /**\n * Defines if button is in toggled state\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n toggled!: boolean;\n\n /**\n * Defines the component design.\n * @default \"Primary\"\n * @public\n */\n @property({ type: String })\n /** @ts-expect-error */\n design: `${UDExButtonDesign}` = UDExButtonDesign.Primary;\n\n /**\n * Defines if button is in pseudo-disabled state.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _ariaDisabled!: boolean;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n static typeTextMappings(): Record<string, I18nText> {\n return {\n [UDExButtonDesign.Primary]: BUTTON_ARIA_TYPE_PRIMARY,\n [UDExButtonDesign.Secondary]: BUTTON_ARIA_TYPE_SECONDARY,\n [UDExButtonDesign.Tertiary]: BUTTON_ARIA_TYPE_TERTIARY,\n [UDExButtonDesign.Positive]: BUTTON_ARIA_TYPE_POSITIVE,\n [UDExButtonDesign.Warning]: BUTTON_ARIA_TYPE_WARNING,\n [UDExButtonDesign.Negative]: BUTTON_ARIA_TYPE_NEGATIVE,\n [UDExButtonDesign.Emphasized]: BUTTON_ARIA_EMPHASIZED,\n [UDExButtonDesign.Default]: BUTTON_ARIA_DEFAULT,\n [UDExButtonDesign.Transparent]: BUTTON_ARIA_TRANSPARENT,\n [UDExButtonDesign.Attention]: BUTTON_ARIA_ATTENTION,\n };\n }\n\n get hasButtonType(): boolean {\n return !!this.designValue || this.toggled;\n }\n\n get buttonTypeText(): string {\n const { designValue } = this;\n const shouldReadDesign = designValue === UDExButtonDesign.Positive || designValue === UDExButtonDesign.Negative\n || designValue === UDExButtonDesign.Warning || designValue === UDExButtonDesign.Attention;\n\n let typeText;\n if (designValue) {\n typeText = shouldReadDesign ? UDExButton.i18nBundle.getText(UDExButton.typeTextMappings()[designValue]) : \"\";\n }\n return `${typeText} ${this.toggled ? UDExButton.i18nBundle.getText(TOGGLED) : \"\"}`.trim();\n }\n\n get designValue(): string | null {\n return this.getAttribute(\"design\");\n }\n}\n\nUDExButton.define();\n\nexport default UDExButton;\n"]}