lightning-base-components 1.18.1-alpha → 1.18.3-alpha

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 (298) hide show
  1. package/metadata/raptor.json +9 -0
  2. package/package.json +57 -1
  3. package/src/lightning/accordion/__docs__/accordion.md +2 -2
  4. package/src/lightning/accordion/accordion.css +12 -0
  5. package/src/lightning/accordion/accordion.html +3 -1
  6. package/src/lightning/accordion/accordion.js +4 -2
  7. package/src/lightning/accordion/accordion.slds.css +671 -0
  8. package/src/lightning/accordionSection/accordion-section.slds.css +647 -0
  9. package/src/lightning/accordionSection/accordionSection.css +14 -0
  10. package/src/lightning/accordionSection/accordionSection.html +23 -19
  11. package/src/lightning/accordionSection/accordionSection.js +29 -2
  12. package/src/lightning/ariaObserver/__docs__/ariaObserver.md +21 -9
  13. package/src/lightning/ariaObserver/ariaObserver.js +185 -154
  14. package/src/lightning/ariaObserver/polyfill.js +639 -0
  15. package/src/lightning/avatar/__docs__/avatar.md +7 -7
  16. package/src/lightning/avatar/avatar.css +2 -0
  17. package/src/lightning/avatar/avatar.html +2 -0
  18. package/src/lightning/avatar/avatar.js +18 -15
  19. package/src/lightning/avatar/avatar.slds.css +272 -0
  20. package/src/lightning/badge/__docs__/badge.md +2 -2
  21. package/src/lightning/baseCombobox/base-combobox.slds.css +1585 -0
  22. package/src/lightning/baseCombobox/baseCombobox.css +11 -1
  23. package/src/lightning/baseCombobox/baseCombobox.html +154 -146
  24. package/src/lightning/baseCombobox/baseCombobox.js +122 -46
  25. package/src/lightning/baseCombobox/spinner.slds.css +438 -0
  26. package/src/lightning/baseComboboxItem/baseComboboxItem.js +4 -2
  27. package/src/lightning/baseComboboxItem/inline.css +2 -0
  28. package/src/lightning/breadcrumb/breadcrumb.css +2 -2
  29. package/src/lightning/breadcrumb/breadcrumb.js +4 -2
  30. package/src/lightning/breadcrumb/breadcrumb.slds.css +2 -7
  31. package/src/lightning/breadcrumbs/__docs__/breadcrumbs.md +3 -3
  32. package/src/lightning/breadcrumbs/breadcrumbs.css +2 -2
  33. package/src/lightning/breadcrumbs/breadcrumbs.js +3 -2
  34. package/src/lightning/breadcrumbs/breadcrumbs.slds.css +7 -1
  35. package/src/lightning/button/__docs__/button.md +15 -15
  36. package/src/lightning/button/__examples__/inverse/inverse.css +8 -0
  37. package/src/lightning/button/__examples__/inverse/inverse.html +3 -2
  38. package/src/lightning/button/button.css +2 -0
  39. package/src/lightning/button/button.html +4 -2
  40. package/src/lightning/button/button.js +21 -0
  41. package/src/lightning/button/button.slds.css +527 -0
  42. package/src/lightning/buttonGroup/buttonGroup.css +2 -2
  43. package/src/lightning/buttonGroup/buttonGroup.js +3 -2
  44. package/src/lightning/buttonIcon/__docs__/buttonIcon.md +9 -9
  45. package/src/lightning/buttonIcon/button-icon.slds.css +215 -453
  46. package/src/lightning/buttonIcon/buttonIcon.css +2 -2
  47. package/src/lightning/buttonIcon/buttonIcon.js +4 -0
  48. package/src/lightning/buttonIconStateful/__docs__/buttonIconStateful.md +9 -9
  49. package/src/lightning/buttonIconStateful/button-icon-stateful.slds.css +215 -453
  50. package/src/lightning/buttonIconStateful/buttonIconStateful.css +2 -2
  51. package/src/lightning/buttonMenu/__docs__/buttonMenu.md +8 -8
  52. package/src/lightning/buttonMenu/{dropdown.slds.css → button-menu.slds.css} +853 -217
  53. package/src/lightning/buttonMenu/buttonMenu.css +2 -2
  54. package/src/lightning/buttonMenu/buttonMenu.html +2 -2
  55. package/src/lightning/buttonMenu/buttonMenu.js +10 -14
  56. package/src/lightning/buttonStateful/__docs__/buttonStateful.md +12 -12
  57. package/src/lightning/buttonStateful/button-stateful.slds.css +225 -457
  58. package/src/lightning/buttonStateful/buttonStateful.css +2 -2
  59. package/src/lightning/buttonStateful/buttonStateful.js +3 -2
  60. package/src/lightning/calendar/__examples__/basic/basic.html +7 -0
  61. package/src/lightning/calendar/__examples__/basic/basic.js +3 -0
  62. package/src/lightning/calendar/calendar.css +3 -0
  63. package/src/lightning/calendar/calendar.html +12 -9
  64. package/src/lightning/calendar/calendar.js +18 -2
  65. package/src/lightning/calendar/calendar.slds.css +2048 -0
  66. package/src/lightning/card/__docs__/card.md +3 -3
  67. package/src/lightning/card/card.css +2 -2
  68. package/src/lightning/card/card.js +3 -2
  69. package/src/lightning/card/card.slds.css +141 -88
  70. package/src/lightning/checkboxGroup/__docs__/checkboxGroup.md +2 -2
  71. package/src/lightning/colorPickerCustom/colorPickerCustom.css +2 -2
  72. package/src/lightning/colorPickerCustom/colorPickerCustom.js +3 -2
  73. package/src/lightning/colorPickerPanel/color-picker-panel.slds.css +11 -38
  74. package/src/lightning/colorPickerPanel/colorPickerPanel.css +3 -2
  75. package/src/lightning/colorPickerPanel/colorPickerPanel.js +4 -2
  76. package/src/lightning/colorPickerPanel/popover.slds.css +121 -0
  77. package/src/lightning/combobox/combobox.css +4 -0
  78. package/src/lightning/combobox/combobox.html +31 -29
  79. package/src/lightning/combobox/combobox.js +21 -4
  80. package/src/lightning/combobox/combobox.slds.css +13 -0
  81. package/src/lightning/combobox/form-element.slds.css +281 -0
  82. package/src/lightning/configProvider/defaultConfig.js +2 -1
  83. package/src/lightning/datatable/__docs__/datatable.md +45 -35
  84. package/src/lightning/datatable/autoWidthStrategy.js +3 -0
  85. package/src/lightning/datatable/columnWidthManager.js +1 -1
  86. package/src/lightning/datatable/datatable.js +8 -7
  87. package/src/lightning/datatable/rowSelection.js +7 -4
  88. package/src/lightning/datatable/templates/table/table.html +1 -0
  89. package/src/lightning/datepicker/datepicker.css +3 -0
  90. package/src/lightning/datepicker/datepicker.html +7 -4
  91. package/src/lightning/datepicker/datepicker.js +76 -20
  92. package/src/lightning/datepicker/form-element.slds.css +281 -0
  93. package/src/lightning/datepicker/input-text.slds.css +398 -0
  94. package/src/lightning/datetimepicker/datetimepicker.css +3 -0
  95. package/src/lightning/datetimepicker/datetimepicker.html +9 -3
  96. package/src/lightning/datetimepicker/datetimepicker.js +42 -36
  97. package/src/lightning/datetimepicker/form-element.slds.css +281 -0
  98. package/src/lightning/datetimepicker/input-text.slds.css +398 -0
  99. package/src/lightning/dualListbox/dualListbox.css +2 -2
  100. package/src/lightning/dualListbox/dualListbox.html +3 -3
  101. package/src/lightning/dualListbox/dualListbox.js +47 -13
  102. package/src/lightning/dualListbox/form-element.slds.css +83 -34
  103. package/src/lightning/dualListbox/keyboard.js +20 -1
  104. package/src/lightning/dynamicIcon/dynamicIcon.js +3 -2
  105. package/src/lightning/dynamicIcon/ellie.css +1 -1
  106. package/src/lightning/dynamicIcon/eq.css +1 -1
  107. package/src/lightning/dynamicIcon/score.css +1 -1
  108. package/src/lightning/dynamicIcon/strength.css +1 -1
  109. package/src/lightning/dynamicIcon/trend.css +1 -1
  110. package/src/lightning/dynamicIcon/waffle.css +1 -1
  111. package/src/lightning/formattedRichText/formatted-rich-text.slds.css +230 -0
  112. package/src/lightning/formattedRichText/formattedRichText.css +2 -0
  113. package/src/lightning/formattedRichText/formattedRichText.js +4 -2
  114. package/src/lightning/formattedRichText/linkify.js +2 -2
  115. package/src/lightning/formattedText/formattedText.css +1 -0
  116. package/src/lightning/formattedText/formattedText.js +3 -2
  117. package/src/lightning/helptext/__docs__/helptext.md +2 -2
  118. package/src/lightning/helptext/form-element.slds.css +83 -34
  119. package/src/lightning/helptext/help-text.slds.css +215 -453
  120. package/src/lightning/helptext/helptext.css +2 -2
  121. package/src/lightning/helptext/helptext.js +3 -2
  122. package/src/lightning/i18nCldrOptions/README.md +5 -0
  123. package/src/lightning/i18nService/README.md +5 -0
  124. package/src/lightning/icon/__docs__/icon.md +5 -5
  125. package/src/lightning/icon/icon.css +2 -2
  126. package/src/lightning/icon/icon.js +21 -2
  127. package/src/lightning/icon/icon.slds.css +29 -17
  128. package/src/lightning/icon/iconColors.js +1 -0
  129. package/src/lightning/iconUtils/iconUtils.js +0 -12
  130. package/src/lightning/iconUtils/polyfill.js +5 -90
  131. package/src/lightning/input/__docs__/input.md +7 -7
  132. package/src/lightning/input/__examples__/checkboxbutton/checkboxbutton.css +6 -0
  133. package/src/lightning/input/__examples__/checkboxbutton/checkboxbutton.html +2 -1
  134. package/src/lightning/input/__examples__/checkboxbutton/checkboxbutton.js +1 -1
  135. package/src/lightning/input/__examples__/number/number.html +0 -5
  136. package/src/lightning/input/__examples__/text/text.html +0 -1
  137. package/src/lightning/input/form-element.slds.css +281 -0
  138. package/src/lightning/input/input.css +2 -3
  139. package/src/lightning/input/input.html +154 -244
  140. package/src/lightning/input/input.js +306 -595
  141. package/src/lightning/inputAddress/__docs__/inputAddress.md +3 -3
  142. package/src/lightning/inputUtils/inputUtils.js +15 -20
  143. package/src/lightning/inputUtils/normalize.js +7 -0
  144. package/src/lightning/{input/numberUtil.js → inputUtils/number.js} +1 -1
  145. package/src/lightning/inputUtils/utils.js +18 -0
  146. package/src/lightning/internationalizationLibrary/README.md +24 -0
  147. package/src/lightning/internationalizationLibrary/utils.js +4 -1
  148. package/src/lightning/layout/__docs__/layout.md +1 -1
  149. package/src/lightning/layout/__examples__/simple/simple.css +1 -1
  150. package/src/lightning/layout/layout.css +5 -1
  151. package/src/lightning/layout/layout.js +4 -2
  152. package/src/lightning/layoutItem/__examples__/alignmentBump/alignmentBump.css +1 -1
  153. package/src/lightning/layoutItem/__examples__/sizePerDevice/sizePerDevice.css +0 -1
  154. package/src/lightning/layoutItem/layoutItem.css +5 -0
  155. package/src/lightning/layoutItem/layoutItem.js +4 -2
  156. package/src/lightning/menuDivider/menu-divider.slds.css +15 -0
  157. package/src/lightning/menuDivider/menuDivider.css +3 -0
  158. package/src/lightning/menuDivider/menuDivider.html +1 -1
  159. package/src/lightning/menuDivider/menuDivider.js +4 -2
  160. package/src/lightning/menuItem/menu-item.slds.css +140 -0
  161. package/src/lightning/menuItem/menuItem.css +3 -0
  162. package/src/lightning/menuItem/menuItem.html +43 -41
  163. package/src/lightning/menuItem/menuItem.js +4 -4
  164. package/src/lightning/menuSubheader/menu-subheader.slds.css +22 -0
  165. package/src/lightning/menuSubheader/menuSubheader.css +3 -0
  166. package/src/lightning/menuSubheader/menuSubheader.html +3 -1
  167. package/src/lightning/menuSubheader/menuSubheader.js +4 -6
  168. package/src/lightning/modal/__docs__/modal.md +3 -1
  169. package/src/lightning/modal/__modalUtils__/modalContainerTestConstants.js +267 -0
  170. package/src/lightning/modal/__modalUtils__/modalContainerTestMethods.js +1165 -0
  171. package/src/lightning/modal/__modalUtils__/modalContainerTestMockData.js +131 -0
  172. package/src/lightning/modal/modal.js +1 -1
  173. package/src/lightning/modalBody/__docs__/modalBody.md +9 -9
  174. package/src/lightning/modalFooter/__docs__/modalFooter.md +9 -9
  175. package/src/lightning/modalHeader/__docs__/modalHeader.md +9 -9
  176. package/src/lightning/overlayContainer/overlayContainer.js +4 -2
  177. package/src/lightning/pill/__docs__/pill.md +3 -3
  178. package/src/lightning/pill/avatar.slds.css +272 -0
  179. package/src/lightning/pill/link.css +3 -0
  180. package/src/lightning/pill/link.html +1 -1
  181. package/src/lightning/pill/pill.js +29 -9
  182. package/src/lightning/pill/pill.slds.css +168 -0
  183. package/src/lightning/pill/plain.css +3 -0
  184. package/src/lightning/pill/plain.html +1 -1
  185. package/src/lightning/pill/plainLink.css +3 -0
  186. package/src/lightning/pill/plainLink.html +1 -1
  187. package/src/lightning/pillContainer/__docs__/pillContainer.md +14 -14
  188. package/src/lightning/pillContainer/barePillContainer.css +3 -0
  189. package/src/lightning/pillContainer/barePillContainer.html +1 -2
  190. package/src/lightning/pillContainer/listbox.slds.css +267 -0
  191. package/src/lightning/pillContainer/pill-container.slds.css +22 -0
  192. package/src/lightning/pillContainer/pill.slds.css +168 -0
  193. package/src/lightning/pillContainer/pillContainer.js +7 -3
  194. package/src/lightning/pillContainer/standardPillContainer.css +4 -0
  195. package/src/lightning/pillContainer/standardPillContainer.html +2 -2
  196. package/src/lightning/popup/popover.slds.css +119 -119
  197. package/src/lightning/popup/popup.css +1 -2
  198. package/src/lightning/popup/popup.js +3 -2
  199. package/src/lightning/positionLibrary/elementProxy.js +7 -2
  200. package/src/lightning/positionLibrary/util.js +8 -0
  201. package/src/lightning/primitiveBubble/primitiveBubble.css +2 -2
  202. package/src/lightning/primitiveBubble/primitiveBubble.js +4 -2
  203. package/src/lightning/primitiveButton/primitiveButton.js +5 -4
  204. package/src/lightning/primitiveCellFactory/cellWithStandardLayout.html +29 -21
  205. package/src/lightning/primitiveCellFactory/primitiveCellFactory.js +4 -0
  206. package/src/lightning/primitiveColorpickerButton/color-picker-button.slds.css +31 -19
  207. package/src/lightning/primitiveColorpickerButton/primitiveColorpickerButton.css +2 -2
  208. package/src/lightning/primitiveColorpickerButton/primitiveColorpickerButton.js +5 -3
  209. package/src/lightning/primitiveIcon/icon.slds.css +209 -0
  210. package/src/lightning/primitiveIcon/primitiveIcon.css +2 -1
  211. package/src/lightning/primitiveIcon/primitiveIcon.html +1 -1
  212. package/src/lightning/primitiveIcon/primitiveIcon.js +26 -16
  213. package/src/lightning/progressStep/progressStep.js +10 -13
  214. package/src/lightning/radioGroup/__docs__/radioGroup.md +4 -4
  215. package/src/lightning/radioGroup/radioGroup.css +2 -1
  216. package/src/lightning/radioGroup/radioGroup.js +4 -2
  217. package/src/lightning/select/__docs__/select.md +2 -2
  218. package/src/lightning/select/form-element.slds.css +83 -34
  219. package/src/lightning/select/select.css +2 -2
  220. package/src/lightning/select/select.js +4 -2
  221. package/src/lightning/select/select.slds.css +86 -34
  222. package/src/lightning/shadowBaseClassPrivate/shadowBaseClassPrivate.js +1 -1
  223. package/src/lightning/sldsCommon/sldsCommon.css +251 -89
  224. package/src/lightning/sldsUtilsAlignment/sldsUtilsAlignment.css +10 -0
  225. package/src/lightning/sldsUtilsAlignment/sldsUtilsAlignment.js-meta.xml +4 -0
  226. package/src/lightning/sldsUtilsBorders/sldsUtilsBorders.css +18 -0
  227. package/src/lightning/sldsUtilsBorders/sldsUtilsBorders.js-meta.xml +4 -0
  228. package/src/lightning/sldsUtilsBox/sldsUtilsBox.css +24 -0
  229. package/src/lightning/sldsUtilsBox/sldsUtilsBox.js-meta.xml +4 -0
  230. package/src/lightning/sldsUtilsFloats/sldsUtilsFloats.css +20 -0
  231. package/src/lightning/sldsUtilsFloats/sldsUtilsFloats.js-meta.xml +4 -0
  232. package/src/lightning/sldsUtilsGrid/sldsUtilsGrid.css +259 -0
  233. package/src/lightning/sldsUtilsGrid/sldsUtilsGrid.js-meta.xml +4 -0
  234. package/src/lightning/sldsUtilsHyphenation/sldsUtilsHyphenation.css +8 -0
  235. package/src/lightning/sldsUtilsHyphenation/sldsUtilsHyphenation.js-meta.xml +4 -0
  236. package/src/lightning/sldsUtilsLineClamp/sldsUtilsLineClamp.css +57 -0
  237. package/src/lightning/sldsUtilsLineClamp/sldsUtilsLineClamp.js-meta.xml +4 -0
  238. package/src/lightning/sldsUtilsMargin/sldsUtilsMargin.css +313 -0
  239. package/src/lightning/sldsUtilsMargin/sldsUtilsMargin.js-meta.xml +4 -0
  240. package/src/lightning/sldsUtilsPadding/sldsUtilsPadding.css +308 -0
  241. package/src/lightning/sldsUtilsPadding/sldsUtilsPadding.js-meta.xml +4 -0
  242. package/src/lightning/sldsUtilsPosition/sldsUtilsPosition.css +18 -0
  243. package/src/lightning/sldsUtilsPosition/sldsUtilsPosition.js-meta.xml +4 -0
  244. package/src/lightning/sldsUtilsSizing/sldsUtilsSizing.css +1408 -0
  245. package/src/lightning/sldsUtilsSizing/sldsUtilsSizing.js-meta.xml +4 -0
  246. package/src/lightning/sldsUtilsThemes/sldsUtilsThemes.css +295 -0
  247. package/src/lightning/sldsUtilsThemes/sldsUtilsThemes.js-meta.xml +4 -0
  248. package/src/lightning/sldsUtilsTruncation/sldsUtilsTruncation.css +14 -0
  249. package/src/lightning/sldsUtilsTruncation/sldsUtilsTruncation.js-meta.xml +4 -0
  250. package/src/lightning/slider/__docs__/slider.md +2 -2
  251. package/src/lightning/spinner/spinner.css +2 -2
  252. package/src/lightning/spinner/spinner.js +4 -2
  253. package/src/lightning/tabBar/tab-bar.slds.css +334 -0
  254. package/src/lightning/tabBar/tabBar.css +2 -0
  255. package/src/lightning/tabBar/tabBar.html +4 -3
  256. package/src/lightning/tabBar/tabBar.js +30 -3
  257. package/src/lightning/tabset/__docs__/tabset.md +2 -2
  258. package/src/lightning/tabset/tabset.html +5 -4
  259. package/src/lightning/tabset/tabset.js +29 -11
  260. package/src/lightning/textarea/__docs__/textarea.md +2 -2
  261. package/src/lightning/timepicker/form-element.slds.css +281 -0
  262. package/src/lightning/timepicker/timepicker.css +3 -0
  263. package/src/lightning/timepicker/timepicker.html +5 -1
  264. package/src/lightning/timepicker/timepicker.js +22 -17
  265. package/src/lightning/timepicker/timepicker.slds.css +18 -0
  266. package/src/lightning/toast/toast.js-meta.xml +2 -0
  267. package/src/lightning/toastContainer/__docs__/toastContainer.md +14 -34
  268. package/src/lightning/toastContainer/toastContainer.js +10 -15
  269. package/src/lightning/tooltipLibrary/tooltipLibrary.js +32 -23
  270. package/src/lightning/utilsPrivate/browser.js +5 -3
  271. package/src/lightning/utilsPrivate/os.js +6 -4
  272. package/src/lightning/utilsPrivate/ssr.js +4 -0
  273. package/src/lightning/utilsPrivate/utilsPrivate.js +2 -0
  274. package/src/lightning/verticalNavigation/verticalNavigation.css +2 -1
  275. package/src/lightning/verticalNavigation/verticalNavigation.js +3 -2
  276. package/src/lightning/verticalNavigationSection/verticalNavigationSection.css +2 -1
  277. package/src/lightning/verticalNavigationSection/verticalNavigationSection.js +3 -2
  278. package/src/lightning/accordion/__perf__DISABLED/accordion-perf-utils.js +0 -76
  279. package/src/lightning/accordion/__perf__DISABLED/accordion10Multiple25SectionEach.perf.js +0 -57
  280. package/src/lightning/accordion/__perf__DISABLED/accordion10Simple25SectionEach.perf.js +0 -37
  281. package/src/lightning/accordion/__perf__DISABLED/accordionMultiple50Section.perf.js +0 -45
  282. package/src/lightning/accordion/__perf__DISABLED/accordionSimple50Section.perf.js +0 -35
  283. package/src/lightning/accordion/__perf__DISABLED/container/container.html +0 -15
  284. package/src/lightning/accordion/__perf__DISABLED/container/container.js +0 -7
  285. package/src/lightning/iconUtils/isIframeInEdge.js +0 -7
  286. package/src/lightning/iconUtils/supportsSvg.js +0 -16
  287. package/src/lightning/input/input-checkbox.slds.css +0 -404
  288. package/src/lightning/input/input-text.slds.css +0 -287
  289. package/src/lightning/input/normalize.js +0 -6
  290. package/src/lightning/input/selection.js +0 -131
  291. package/src/lightning/positionLibrary/__component__/positionLibraryBounding.spec.js +0 -319
  292. package/src/lightning/positionLibrary/__component__/x/bounding/bounding.css +0 -16
  293. package/src/lightning/positionLibrary/__component__/x/bounding/bounding.html +0 -36
  294. package/src/lightning/positionLibrary/__component__/x/bounding/bounding.js +0 -122
  295. /package/src/lightning/{baseCombobox → baseComboboxItem}/listbox.slds.css +0 -0
  296. /package/src/lightning/formattedRichText/{__examples__disabled → __examples__}/basic/basic.html +0 -0
  297. /package/src/lightning/formattedRichText/{__examples__disabled → __examples__}/basic/basic.js +0 -0
  298. /package/src/lightning/{input/emailUtil.js → inputUtils/email.js} +0 -0
@@ -0,0 +1,168 @@
1
+
2
+ @supports (--styling-hooks: '') {
3
+ :host([data-render-mode="shadow"]) .slds-pill {
4
+ display: inline-flex;
5
+ align-items: center;
6
+ justify-content: space-between;
7
+ line-height: var(--sds-g-font-lineheight-4, 1.5);
8
+ max-width: 100%;
9
+ padding-block-start: var(--slds-c-pill-spacing-block-start, calc(var(--sds-g-spacing-1, 0.25rem) / 2));
10
+ padding-inline-end: var(--slds-c-pill-spacing-inline-end, calc(var(--sds-g-spacing-1, 0.25rem) / 2));
11
+ padding-block-end: var(--slds-c-pill-spacing-block-end, calc(var(--sds-g-spacing-1, 0.25rem) / 2));
12
+ padding-inline-start: var(--slds-c-pill-spacing-inline-start, calc(var(--sds-g-spacing-1, 0.25rem) / 2));
13
+ border-width: var(--slds-c-pill-sizing-border, var(--sds-g-sizing-border-1, 1px));
14
+ border-style: solid;
15
+ border-color: var(--slds-c-pill-color-border, var(--sds-g-color-neutral-base-90, #e5e5e5));
16
+ border-radius: var(--slds-c-pill-radius-border, var(--sds-g-spacing-1, 0.25rem));
17
+ background-color: var(--slds-c-pill-color-background, var(--sds-g-color-neutral-base-100, #ffffff));
18
+ box-shadow: var(--slds-c-pill-shadow);
19
+ position: relative;
20
+ min-height: calc(var(--sds-g-sizing-7, 1.5rem) + var(--sds-g-sizing-1, 0.125rem));
21
+ }
22
+
23
+ :host([data-render-mode="shadow"]) .slds-pill + .slds-pill {
24
+ margin-inline-start: calc(var(--sds-g-spacing-1, 0.25rem) / 2);
25
+ }
26
+
27
+ :host([data-render-mode="shadow"]) .slds-pill:hover {
28
+ --slds-c-pill-color-background: var(--sds-g-color-neutral-base-95, #f3f3f3);
29
+ }
30
+
31
+ :host([data-render-mode="shadow"]) .slds-pill:focus {
32
+ outline: 0;
33
+ --slds-c-pill-color-border: var(--sds-g-color-brand-base-60, #1b96ff);
34
+ --slds-c-pill-shadow: 0 0 3px var(--sds-g-color-brand-base-50, #0176d3);
35
+ }
36
+
37
+ :host([data-render-mode="shadow"]) a {
38
+ text-decoration: none;
39
+ color: var(--sds-g-color-brand-base-50, #0176d3);
40
+ }
41
+
42
+ :host([data-render-mode="shadow"]) a:hover,:host([data-render-mode="shadow"]) a:focus{
43
+ text-decoration: none;
44
+ color:var(--sds-g-color-brand-base-30, #014486);
45
+ }
46
+
47
+ :host([data-render-mode="shadow"]) a:active{
48
+ color:var(--sds-g-color-brand-base-30, #014486);
49
+ }
50
+
51
+ :host([data-render-mode="shadow"]) .slds-truncate {
52
+ max-width: 100%;
53
+ overflow: hidden;
54
+ text-overflow: ellipsis;
55
+ white-space: nowrap;
56
+ }
57
+
58
+ :host([data-render-mode="shadow"]) .slds-pill_bare {
59
+ --slds-c-pill-color-background: transparent;
60
+ --slds-c-pill-sizing-border: 0;
61
+ }
62
+
63
+ :host([data-render-mode="shadow"]) .slds-pill_bare:hover {
64
+ --slds-c-pill-color-background-: transparent;
65
+ }
66
+
67
+ :host([data-render-mode="shadow"]) .slds-pill__label {
68
+ white-space: nowrap;
69
+ overflow: hidden;
70
+ text-overflow: ellipsis;
71
+ }
72
+
73
+ :host([data-render-mode="shadow"]) .slds-pill__label:focus {
74
+ outline: 0;
75
+ border-radius: var(--sds-g-radius-border-2, 0.25rem);
76
+ box-shadow: var(--slds-c-pill-label-shadow-focus, 0 0 3px var(--sds-g-color-brand-base-50, #0176d3));
77
+ }
78
+
79
+ :host([data-render-mode="shadow"]) .slds-pill__icon,:host([data-render-mode="shadow"])
80
+ .slds-pill__icon_container {
81
+ width: var(--sds-g-sizing-6, 1.25rem);
82
+ height: var(--sds-g-sizing-6, 1.25rem);
83
+ margin-inline-end: var(--sds-g-spacing-1, 0.25rem);
84
+ }
85
+
86
+ :host([data-render-mode="shadow"]) .slds-pill ::slotted(*) {
87
+ --slds-c-avatar-sizing: var(--sds-g-sizing-6, 1.25rem);
88
+ --slds-c-icon-sizing: calc(var(--sds-g-sizing-6, 1.25rem) - var(--sds-g-sizing-border-2, 2px));
89
+
90
+ color: var(--slds-c-pill-text-color, var(--sds-g-color-neutral-base-100, #ffffff));
91
+ display: block;
92
+ font-size: var(--sds-g-font-scale-neg-4, 0.625rem);
93
+ }
94
+
95
+ :host([data-render-mode="shadow"]) .slds-pill__icon ~ .slds-pill__action,:host([data-render-mode="shadow"])
96
+ .slds-pill__icon_container ~ .slds-pill__action {
97
+ padding-inline-start: calc(var(--sds-g-spacing-5, 1.5rem) + 2px);
98
+ }
99
+
100
+ :host([data-render-mode="shadow"]) .slds-pill__remove {
101
+ width: var(--sds-g-sizing-5, 1rem);
102
+ height: var(--sds-g-sizing-5, 1rem);
103
+ display: inline-flex;
104
+ align-items: center;
105
+ justify-content: center;
106
+ margin-inline-start: var(--sds-g-sizing-2, 0.25rem);
107
+ border-radius: calc(var(--sds-g-spacing-1, 0.25rem) / 2);
108
+ }
109
+
110
+ :host([data-render-mode="shadow"]) .slds-pill__remove svg {
111
+ width: calc(var(--sds-g-sizing-1, 0.125rem) * 3);
112
+ height: calc(var(--sds-g-sizing-1, 0.125rem) * 3);
113
+ }
114
+
115
+ :host([data-render-mode="shadow"]) .slds-pill_link {
116
+ border: 0;
117
+ padding: 0;
118
+ }
119
+
120
+ :host([data-render-mode="shadow"]) .slds-pill_link .slds-pill__icon_container {
121
+ display: inline-block;
122
+ position: absolute;
123
+ top: 50%;
124
+ left: calc(var(--sds-g-spacing-1, 0.25rem) / 2);
125
+ transform: translateY(-50%);
126
+ }
127
+
128
+ :host([data-render-mode="shadow"]) .slds-pill_link .slds-pill__remove {
129
+ position: absolute;
130
+ top: 50%;
131
+ right: calc(var(--sds-g-spacing-1, 0.25rem) / 2);
132
+ transform: translateY(-50%);
133
+ }
134
+
135
+ :host([data-render-mode="shadow"]) .slds-pill__action {
136
+ padding-block-start: var(--slds-c-pill-spacing-block-start, calc(var(--sds-g-spacing-1, 0.25rem) / 2));
137
+ padding-inline-end: var(--slds-c-pill-spacing-inline-end, calc((var(--sds-g-spacing-2, 0.5rem) / 2) + 1rem));
138
+ padding-block-end: var(--slds-c-pill-spacing-block-end, calc(var(--sds-g-spacing-1, 0.25rem) / 2));
139
+ padding-inline-start: var(--slds-c-pill-spacing-inline-start, calc(var(--sds-g-spacing-1, 0.25rem) / 2));
140
+ border-width: var(--slds-c-pill-sizing-border, 1px);
141
+ border-style: solid;
142
+ border-color: var(--slds-c-pill-color-border, var(--sds-g-color-neutral-base-90, #e5e5e5));
143
+ border-radius: var(--slds-c-pill-radius-border, var(--sds-g-radius-border-2, 0.25rem));
144
+ white-space: nowrap;
145
+ overflow: hidden;
146
+ text-overflow: ellipsis;
147
+ flex-grow: 1;
148
+ }
149
+
150
+ :host([data-render-mode="shadow"]) .slds-pill__action:focus {
151
+ outline: 0;
152
+ border-color: var(--slds-c-pill-action-color-border, var(--sds-g-color-brand-base-60, #1b96ff));
153
+ box-shadow: var(--slds-c-pill-action-shadow, 0 0 3px var(--sds-g-color-brand-base-50, #0176d3));
154
+ }
155
+
156
+ :host([data-render-mode="shadow"]) .slds-has-error {
157
+ border-color: var(--slds-c-pill-error-color-border, var(--sds-g-color-error-base-50, #ea001e));
158
+ }
159
+
160
+ :host([data-render-mode="shadow"]) .slds-has-error:active {
161
+ border-color: var(--slds-c-pill-error-color-border-active, var(--sds-g-color-error-base-50, #ea001e));
162
+ }
163
+
164
+ :host([data-render-mode="shadow"]) .slds-has-error .slds-pill__label {
165
+ font-weight: var(--sds-g-font-weight-7, 700);
166
+ color: var(--sds-g-color-error-base-50, #ea001e);
167
+ }
168
+ }
@@ -1,11 +1,13 @@
1
1
  import labelContainerLabel from '@salesforce/label/LightningPillContainer.label';
2
2
  import pillContainerMoreLabel from '@salesforce/label/LightningPillContainer.more';
3
- import { LightningElement, api, track } from 'lwc';
3
+ import { api, track } from 'lwc';
4
+ import LightningShadowBaseClass from 'lightning/shadowBaseClassPrivate';
4
5
  import LightningPillItem from './pillItem';
5
6
  import {
6
7
  keyCodes,
7
8
  normalizeBoolean,
8
9
  normalizeString,
10
+ reflectAttribute,
9
11
  } from 'lightning/utilsPrivate';
10
12
  import { LightningResizeObserver } from 'lightning/resizeObserver';
11
13
  import formFactor from '@salesforce/client/formFactor';
@@ -23,7 +25,7 @@ const i18n = {
23
25
  /**
24
26
  * A list of pills grouped in a container. This component requires API version 42.0 and later.
25
27
  */
26
- export default class LightningPillContainer extends LightningElement {
28
+ export default class LightningPillContainer extends LightningShadowBaseClass {
27
29
  /**
28
30
  * Aria label for the pill container to describe the list of options.
29
31
  * @type {string}
@@ -40,6 +42,7 @@ export default class LightningPillContainer extends LightningElement {
40
42
  @track _pillContainerElementId;
41
43
 
42
44
  connectedCallback() {
45
+ super.connectedCallback();
43
46
  this._connected = true;
44
47
  }
45
48
 
@@ -119,7 +122,7 @@ export default class LightningPillContainer extends LightningElement {
119
122
  */
120
123
  @api
121
124
  get variant() {
122
- return this._variant || 'standard';
125
+ return this._variant || STANDARD;
123
126
  }
124
127
 
125
128
  set variant(value) {
@@ -127,6 +130,7 @@ export default class LightningPillContainer extends LightningElement {
127
130
  fallbackValue: STANDARD,
128
131
  validValues: [STANDARD, BARE],
129
132
  });
133
+ reflectAttribute(this, 'variant', this._variant);
130
134
  }
131
135
 
132
136
  /**
@@ -0,0 +1,4 @@
1
+ @import 'lightning/sldsCommon';
2
+ @import './pill.slds.css';
3
+ @import './pill-container.slds.css';
4
+ @import './listbox.slds.css';
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class={computedWrapperClass}>
2
+ <div class={computedWrapperClass} part="listbox pill-container">
3
3
  <template if:true={_showMore}>
4
4
  <span class="slds-listbox-toggle" aria-hidden="true"><button class="slds-button" tabindex="-1" onclick={handleMoreClick}>{computedPillCountMoreLabel}</button></span>
5
5
  </template>
@@ -10,6 +10,7 @@
10
10
  aria-orientation="horizontal"
11
11
  onclick={handleClick}
12
12
  onkeydown={handleKeyDown}
13
+ part="listbox"
13
14
  >
14
15
  <template for:each={pillViewModels} for:item="pillViewModel" for:index="index">
15
16
  <li key={pillViewModel.pill.item.label} class="slds-listbox-item" role="presentation">
@@ -36,7 +37,6 @@
36
37
  fallback-icon-name={pillViewModel.pill.item.fallbackIconName}
37
38
  variant={pillViewModel.pill.item.variant}
38
39
  size="x-small"
39
- class="slds-icon_container"
40
40
  alternative-text={pillViewModel.pill.item.alternativeText}>
41
41
  </lightning-avatar>
42
42
  </template>
@@ -1,121 +1,121 @@
1
1
 
2
2
  @supports (--styling-hooks: '') {
3
- :host([data-render-mode="shadow"]) .slds-popover {
4
- position: relative;
5
- border-radius: var(--sds-g-radius-border-2, 0.25rem);
6
- width: var(--sds-g-sizing-15, 20rem);
7
- min-height: calc(var(--sds-g-sizing-5, 1rem) * 2);
8
- z-index: var(--slds-c-popover-position-zindex, 6000);
9
- background-color: var(--slds-c-popover-color-background,
10
- var(--slds-g-color-neutral-base-100,
11
- var(--sds-g-color-neutral-base-100, #ffffff)));
12
- display: inline-block;
13
- box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.16);
14
- border: var(--sds-g-sizing-border-1, 1px) solid var(--slds-g-color-border-base-1, var(--sds-g-color-border-base-1, #c9c9c9));
15
- }
16
-
17
- :host([data-render-mode="shadow"]) .slds-popover__meta {
18
- margin-block-end: var(--sds-g-sizing-4, 0.75rem);
19
- }
20
-
21
- :host([data-render-mode="shadow"]) .slds-popover__body {
22
- padding-block: var(--sds-g-spacing-2, 0.5rem);
23
- padding-inline: var(--sds-g-spacing-3, 0.75rem);
24
- }
25
-
26
- :host([data-render-mode="shadow"]) .slds-popover__body .slds-popover__header {
27
- padding-block: 0 var(--sds-g-sizing-3, 0.5rem);
28
- padding-inline: 0;
29
- }
30
-
31
- :host([data-render-mode="shadow"]) .slds-popover__body,:host([data-render-mode="shadow"])
32
- .slds-popover__header,:host([data-render-mode="shadow"])
33
- .slds-popover__footer {
34
- position: relative;
35
- padding-block: var(--sds-g-spacing-2, 0.5rem);
36
- padding-inline: var(--sds-g-spacing-3, 0.75rem);
37
- word-wrap: break-word;
38
- }
39
-
40
- :host([data-render-mode="shadow"]) .slds-popover__header {
41
- border-bottom: 0;
42
- }
43
-
44
- :host([data-render-mode="shadow"]) .slds-popover__footer {
45
- border-block-start: var(--sds-g-sizing-border-1, 1px) solid var(--slds-g-color-border-base-1, var(--sds-g-color-border-base-1, #c9c9c9));
46
- background-color: var(--slds-g-color-neutral-base-95, var(--sds-g-color-neutral-base-95, #f3f3f3));
47
- border-end-start-radius: inherit;
48
- border-end-end-radius: inherit;
49
- padding-block: var(--sds-g-spacing-2, 0.5rem);
50
- padding-inline: var(--sds-g-spacing-3, 0.75rem);
51
- }
52
-
53
- :host([data-render-mode="shadow"]) .slds-popover__footer_form {
54
- text-align: center;
55
- background: var(--slds-g-color-neutral-base-95, var(--sds-g-color-neutral-base-95, #f3f3f3));
56
- border-radius: 0 0 var(--sds-g-radius-border-2, 0.25rem) var(--sds-g-radius-border-2, 0.25rem);
57
- }
58
-
59
- :host([data-render-mode="shadow"]) .slds-popover__body_small {
60
- max-height: var(--sds-g-sizing-14, 15rem);
61
- overflow-y: auto;
62
- }
63
-
64
- :host([data-render-mode="shadow"]) .slds-popover__close {
65
- position: relative;
66
- margin-block: var(--sds-g-spacing-1, 0.25rem);
67
- margin-inline: var(--sds-g-spacing-1, 0.25rem);
68
- z-index: calc(var(--slds-c-popover-position-zindex, 6000) + 1);
69
- }
70
-
71
- :host([data-render-mode="shadow"]) .slds-popover_small {
72
- max-width: var(--sds-g-sizing-14, 15rem);
73
- }
74
-
75
- :host([data-render-mode="shadow"]) .slds-popover_medium {
76
- min-width: var(--sds-g-sizing-15, 20rem);
77
- }
78
-
79
- :host([data-render-mode="shadow"]) .slds-popover_large {
80
- min-width: 25rem;
81
- max-width: 512px;
82
- }
83
-
84
- :host([data-render-mode="shadow"]) .slds-popover[class*="theme_"] {
85
- border: 0;
86
- }
87
-
88
- :host([data-render-mode="shadow"]) .slds-popover *:last-child {
89
- margin-bottom: 0;
90
- }
91
-
92
- :host([data-render-mode="shadow"]) .slds-popover_full-width {
93
- width: 100%;
94
- }
95
-
96
- :host([data-render-mode="shadow"]) .slds-popover_hide {
97
- display: none;
98
- }
99
-
100
- :host([data-render-mode="shadow"]) .slds-popover_dark {
101
- background-color: var(--slds-g-color-brand-base-30, var(--sds-g-color-brand-base-30, #014486));
102
- color: var(--slds-g-color-neutral-base-100, var(--sds-g-color-neutral-base-100, #ffffff));
103
- }
104
-
105
- :host([data-render-mode="shadow"]) .slds-popover_dark .slds-badge {
106
- background-color: var(--slds-g-color-neutral-base-100, var(--sds-g-color-neutral-base-100, #ffffff));
107
- }
108
-
109
- :host([data-render-mode="shadow"]) .slds-popover_dark .slds-popover__close {
110
- color: var(--slds-g-color-neutral-base-100, var(--sds-g-color-neutral-base-100, #ffffff));
111
- }
112
-
113
- :host([data-render-mode="shadow"]) .slds-popover_dark .slds-icon-text-default {
114
- fill: var(--slds-g-color-neutral-base-100, var(--sds-g-color-neutral-base-100, #ffffff));
115
- }
116
-
117
- :host([data-render-mode="shadow"]) .slds-popover_dark .slds-popover__footer {
118
- border-top-color: var(--slds-g-color-brand-base-10, var(--sds-g-color-brand-base-10, #001639));
119
- background-color: var(--slds-g-color-brand-base-20, var(--sds-g-color-brand-base-20, #032d60));
120
- }
121
- }
3
+ :host([data-render-mode="shadow"]) .slds-popover {
4
+ position: relative;
5
+ border-radius: var(--sds-g-radius-border-2, 0.25rem);
6
+ width: var(--sds-g-sizing-15, 20rem);
7
+ min-height: calc(var(--sds-g-sizing-5, 1rem) * 2);
8
+ z-index: var(--slds-c-popover-position-zindex, 6000);
9
+ background-color: var(--slds-c-popover-color-background,
10
+ var(--slds-g-color-neutral-base-100,
11
+ var(--sds-g-color-neutral-base-100, #ffffff)));
12
+ display: inline-block;
13
+ box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.16);
14
+ border: var(--sds-g-sizing-border-1, 1px) solid var(--slds-g-color-border-base-1, var(--sds-g-color-border-base-1, #c9c9c9));
15
+ }
16
+
17
+ :host([data-render-mode="shadow"]) .slds-popover__meta {
18
+ margin-block-end: var(--sds-g-sizing-4, 0.75rem);
19
+ }
20
+
21
+ :host([data-render-mode="shadow"]) .slds-popover__body {
22
+ padding-block: var(--sds-g-spacing-2, 0.5rem);
23
+ padding-inline: var(--sds-g-spacing-3, 0.75rem);
24
+ }
25
+
26
+ :host([data-render-mode="shadow"]) .slds-popover__body .slds-popover__header {
27
+ padding-block: 0 var(--sds-g-sizing-3, 0.5rem);
28
+ padding-inline: 0;
29
+ }
30
+
31
+ :host([data-render-mode="shadow"]) .slds-popover__body,:host([data-render-mode="shadow"])
32
+ .slds-popover__header,:host([data-render-mode="shadow"])
33
+ .slds-popover__footer {
34
+ position: relative;
35
+ padding-block: var(--sds-g-spacing-2, 0.5rem);
36
+ padding-inline: var(--sds-g-spacing-3, 0.75rem);
37
+ word-wrap: break-word;
38
+ }
39
+
40
+ :host([data-render-mode="shadow"]) .slds-popover__header {
41
+ border-bottom: 0;
42
+ }
43
+
44
+ :host([data-render-mode="shadow"]) .slds-popover__footer {
45
+ border-block-start: var(--sds-g-sizing-border-1, 1px) solid var(--slds-g-color-border-base-1, var(--sds-g-color-border-base-1, #c9c9c9));
46
+ background-color: var(--slds-g-color-neutral-base-95, var(--sds-g-color-neutral-base-95, #f3f3f3));
47
+ border-end-start-radius: inherit;
48
+ border-end-end-radius: inherit;
49
+ padding-block: var(--sds-g-spacing-2, 0.5rem);
50
+ padding-inline: var(--sds-g-spacing-3, 0.75rem);
51
+ }
52
+
53
+ :host([data-render-mode="shadow"]) .slds-popover__footer_form {
54
+ text-align: center;
55
+ background: var(--slds-g-color-neutral-base-95, var(--sds-g-color-neutral-base-95, #f3f3f3));
56
+ border-radius: 0 0 var(--sds-g-radius-border-2, 0.25rem) var(--sds-g-radius-border-2, 0.25rem);
57
+ }
58
+
59
+ :host([data-render-mode="shadow"]) .slds-popover__body_small {
60
+ max-height: var(--sds-g-sizing-14, 15rem);
61
+ overflow-y: auto;
62
+ }
63
+
64
+ :host([data-render-mode="shadow"]) .slds-popover__close {
65
+ position: relative;
66
+ margin-block: var(--sds-g-spacing-1, 0.25rem);
67
+ margin-inline: var(--sds-g-spacing-1, 0.25rem);
68
+ z-index: calc(var(--slds-c-popover-position-zindex, 6000) + 1);
69
+ }
70
+
71
+ :host([data-render-mode="shadow"]) .slds-popover_small {
72
+ max-width: var(--sds-g-sizing-14, 15rem);
73
+ }
74
+
75
+ :host([data-render-mode="shadow"]) .slds-popover_medium {
76
+ min-width: var(--sds-g-sizing-15, 20rem);
77
+ }
78
+
79
+ :host([data-render-mode="shadow"]) .slds-popover_large {
80
+ min-width: 25rem;
81
+ max-width: 512px;
82
+ }
83
+
84
+ :host([data-render-mode="shadow"]) .slds-popover[class*="theme_"] {
85
+ border: 0;
86
+ }
87
+
88
+ :host([data-render-mode="shadow"]) .slds-popover *:last-child {
89
+ margin-bottom: 0;
90
+ }
91
+
92
+ :host([data-render-mode="shadow"]) .slds-popover_full-width {
93
+ width: 100%;
94
+ }
95
+
96
+ :host([data-render-mode="shadow"]) .slds-popover_hide {
97
+ display: none;
98
+ }
99
+
100
+ :host([data-render-mode="shadow"]) .slds-popover_dark {
101
+ background-color: var(--slds-g-color-brand-base-30, var(--sds-g-color-brand-base-30, #014486));
102
+ color: var(--slds-g-color-neutral-base-100, var(--sds-g-color-neutral-base-100, #ffffff));
103
+ }
104
+
105
+ :host([data-render-mode="shadow"]) .slds-popover_dark .slds-badge {
106
+ background-color: var(--slds-g-color-neutral-base-100, var(--sds-g-color-neutral-base-100, #ffffff));
107
+ }
108
+
109
+ :host([data-render-mode="shadow"]) .slds-popover_dark .slds-popover__close {
110
+ color: var(--slds-g-color-neutral-base-100, var(--sds-g-color-neutral-base-100, #ffffff));
111
+ }
112
+
113
+ :host([data-render-mode="shadow"]) .slds-popover_dark .slds-icon-text-default {
114
+ fill: var(--slds-g-color-neutral-base-100, var(--sds-g-color-neutral-base-100, #ffffff));
115
+ }
116
+
117
+ :host([data-render-mode="shadow"]) .slds-popover_dark .slds-popover__footer {
118
+ border-top-color: var(--slds-g-color-brand-base-10, var(--sds-g-color-brand-base-10, #001639));
119
+ background-color: var(--slds-g-color-brand-base-20, var(--sds-g-color-brand-base-20, #032d60));
120
+ }
121
+ }
@@ -1,3 +1,2 @@
1
- /* @import 'lightning/sldsCommon';
1
+ @import 'lightning/sldsCommon';
2
2
  @import './popover.slds.css';
3
- */
@@ -1,4 +1,5 @@
1
- import { api, LightningElement, track } from 'lwc';
1
+ import { api, track } from 'lwc';
2
+ import LightningShadowBaseClass from 'lightning/shadowBaseClassPrivate';
2
3
  import { AutoPosition } from 'lightning/positionLibrary';
3
4
  import {
4
5
  createAlignmentConfiguration,
@@ -7,7 +8,7 @@ import {
7
8
  import { getElementWithFocus } from 'lightning/focusUtils';
8
9
  import { isUndefinedOrNull, normalizeBoolean } from 'lightning/utilsPrivate';
9
10
 
10
- export default class LightningPopup extends LightningElement {
11
+ export default class LightningPopup extends LightningShadowBaseClass {
11
12
  @track _visible;
12
13
  @track _queueShow;
13
14
  @track _ariaLabelledBy;
@@ -1,4 +1,4 @@
1
- import { isInDom, WindowManager } from './util';
1
+ import { isInDom, WindowManager, pxToInt } from './util';
2
2
 
3
3
  export class ElementProxy {
4
4
  constructor(el, id) {
@@ -142,8 +142,13 @@ export class ElementProxy {
142
142
  ? '0'
143
143
  : parseInt(style.top.replace('px', ''), 10);
144
144
 
145
+ const marginOffset =
146
+ this.top < absPos.top
147
+ ? pxToInt(style.marginBottom)
148
+ : pxToInt(style.marginTop) * -1;
149
+
145
150
  let leftDif = Math.round(this.left - (absPos.left + scrollLeft));
146
- const topDif = this.top - (absPos.top + scrollTop);
151
+ const topDif = this.top - (absPos.top + marginOffset + scrollTop);
147
152
 
148
153
  const viewPortWidth = w.innerWidth || document.body.clientWidth;
149
154
  let rightPos = parseInt(style.right, 10);
@@ -239,3 +239,11 @@ export function requestAnimationFrameAsPromise() {
239
239
  requestAnimationFrame(() => resolve());
240
240
  });
241
241
  }
242
+
243
+ function isPx(value) {
244
+ return value.slice(-2) === 'px';
245
+ }
246
+
247
+ export function pxToInt(value) {
248
+ return value && isPx(value) ? parseInt(value, 10) : 0;
249
+ }
@@ -1,5 +1,5 @@
1
- /* @import 'lightning/sldsCommon';
2
- @import './tooltip.slds.css'; */
1
+ @import 'lightning/sldsCommon';
2
+ @import './tooltip.slds.css';
3
3
 
4
4
  /* Fix for tooltip alignment issue, for details see: W-11677142
5
5
  *
@@ -1,6 +1,7 @@
1
1
  /* eslint-disable @lwc/lwc/no-api-reassignments */
2
2
 
3
- import { LightningElement, api, track } from 'lwc';
3
+ import { api, track } from 'lwc';
4
+ import LightningShadowBaseClass from 'lightning/shadowBaseClassPrivate';
4
5
  import { classSet } from 'lightning/utils';
5
6
 
6
7
  const DEFAULT_ALIGN = {
@@ -8,7 +9,7 @@ const DEFAULT_ALIGN = {
8
9
  vertical: 'bottom',
9
10
  };
10
11
 
11
- export default class LightningPrimitiveBubble extends LightningElement {
12
+ export default class LightningPrimitiveBubble extends LightningShadowBaseClass {
12
13
  @track
13
14
  state = {
14
15
  // tracks the `visibility` of the tooltip
@@ -39,6 +40,7 @@ export default class LightningPrimitiveBubble extends LightningElement {
39
40
  }
40
41
 
41
42
  connectedCallback() {
43
+ super.connectedCallback();
42
44
  this.setAttribute('role', 'tooltip');
43
45
  this.state.inDOM = true;
44
46
  }
@@ -1,4 +1,5 @@
1
- import { LightningElement, api, track } from 'lwc';
1
+ import { api, track } from 'lwc';
2
+ import LightningShadowBaseClass from 'lightning/shadowBaseClassPrivate';
2
3
  import {
3
4
  isIE11,
4
5
  normalizeBoolean,
@@ -25,7 +26,7 @@ const ROLE = 'role';
25
26
  * - aria-labelledby: Role that depeneds on AriaObserver for native shadow.
26
27
  * - aria-owns: Abstracts the logic of setting the id-reference on the host element.
27
28
  */
28
- export default class LightningPrimitiveButton extends LightningElement {
29
+ export default class LightningPrimitiveButton extends LightningShadowBaseClass {
29
30
  /**** COMPONENT PRIVATE PROPERTIES ****/
30
31
  _initialized = false;
31
32
 
@@ -113,7 +114,7 @@ export default class LightningPrimitiveButton extends LightningElement {
113
114
  this.ariaObserver.connect({
114
115
  targetSelector: 'button',
115
116
  attribute: 'aria-labelledby',
116
- id: value,
117
+ relatedNodeIds: value,
117
118
  });
118
119
  }
119
120
 
@@ -132,7 +133,7 @@ export default class LightningPrimitiveButton extends LightningElement {
132
133
  this.ariaObserver.connect({
133
134
  targetSelector: 'button',
134
135
  attribute: 'aria-describedby',
135
- id: value,
136
+ relatedNodeIds: value,
136
137
  });
137
138
  }
138
139