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
@@ -1,14 +1,16 @@
1
- import { LightningElement, api } from 'lwc';
1
+ import { api } from 'lwc';
2
+ import LightningShadowBaseClass from 'lightning/shadowBaseClassPrivate';
2
3
  import { classSet } from 'lightning/utils';
3
- import { normalizeString as normalize } from 'lightning/utilsPrivate';
4
+ import { normalizeString as normalize, isCSR } from 'lightning/utilsPrivate';
4
5
 
5
6
  import standardTemplate from './primitiveIcon.html';
7
+ import iconStylesheets from './primitiveIcon.css';
6
8
 
7
- import { getName, isValidName, polyfill } from 'lightning/iconUtils';
9
+ import { getName, isValidName } from 'lightning/iconUtils';
8
10
  import dir from '@salesforce/i18n/dir';
9
11
  import { fetchIconLibrary, hasIconLibrary, getIconLibrary } from './fetch';
10
12
 
11
- export default class LightningPrimitiveIcon extends LightningElement {
13
+ export default class LightningPrimitiveIcon extends LightningShadowBaseClass {
12
14
  @api src;
13
15
  @api svgClass;
14
16
  _size = 'medium';
@@ -23,6 +25,7 @@ export default class LightningPrimitiveIcon extends LightningElement {
23
25
  }
24
26
  set size(val) {
25
27
  this._size = val;
28
+ this.setAttribute('size', this.normalizeSize(this._size));
26
29
  }
27
30
 
28
31
  @api
@@ -31,6 +34,7 @@ export default class LightningPrimitiveIcon extends LightningElement {
31
34
  }
32
35
  set variant(val) {
33
36
  this._variant = val;
37
+ this.setAttribute('variant', this.normalizeVariant(this._variant));
34
38
  }
35
39
 
36
40
  @api
@@ -66,7 +70,12 @@ export default class LightningPrimitiveIcon extends LightningElement {
66
70
  if (this.category) {
67
71
  try {
68
72
  this._iconLibrary = null;
69
- this._iconLibrary = await fetchIconLibrary(dir, this.category);
73
+ if (isCSR) {
74
+ this._iconLibrary = await fetchIconLibrary(
75
+ dir,
76
+ this.category
77
+ );
78
+ }
70
79
  } catch (e) {
71
80
  // eslint-disable-next-line no-console
72
81
  console.warn(
@@ -79,8 +88,6 @@ export default class LightningPrimitiveIcon extends LightningElement {
79
88
  renderedCallback() {
80
89
  if (this.isReady || this.iconName !== this.prevIconName) {
81
90
  this.prevIconName = this.iconName;
82
- const svgElement = this.template.querySelector('svg');
83
- polyfill(svgElement);
84
91
  }
85
92
  }
86
93
 
@@ -95,6 +102,10 @@ export default class LightningPrimitiveIcon extends LightningElement {
95
102
  this._iconLibrary[`${spriteName}_${iconName}`];
96
103
 
97
104
  if (template) {
105
+ // manually attach the stylesheets in native shadow mode
106
+ if (!this.template.synthetic) {
107
+ template.stylesheets = iconStylesheets;
108
+ }
98
109
  return template;
99
110
  }
100
111
  }
@@ -111,14 +122,14 @@ export default class LightningPrimitiveIcon extends LightningElement {
111
122
  return getName(this.iconName);
112
123
  }
113
124
 
114
- get normalizedSize() {
115
- return normalize(this._size, {
125
+ normalizeSize(val) {
126
+ return normalize(val, {
116
127
  fallbackValue: 'medium',
117
128
  validValues: ['xx-small', 'x-small', 'small', 'medium', 'large'],
118
129
  });
119
130
  }
120
131
 
121
- get normalizedVariant() {
132
+ normalizeVariant(val) {
122
133
  // NOTE: Leaving a note here because I just wasted a bunch of time
123
134
  // investigating why both 'bare' and 'inverse' are supported in
124
135
  // lightning-primitive-icon. lightning-icon also has a deprecated
@@ -126,7 +137,7 @@ export default class LightningPrimitiveIcon extends LightningElement {
126
137
  // that no classes should be applied. So this component needs to
127
138
  // support both 'bare' and 'inverse' while lightning-icon only needs to
128
139
  // support 'inverse'.
129
- return normalize(this._variant, {
140
+ return normalize(val, {
130
141
  fallbackValue: '',
131
142
  validValues: ['bare', 'error', 'inverse', 'warning', 'success'],
132
143
  });
@@ -134,13 +145,12 @@ export default class LightningPrimitiveIcon extends LightningElement {
134
145
 
135
146
  get computedClass() {
136
147
  const classes = classSet(this.svgClass);
137
- const { normalizedSize, normalizedVariant } = this;
138
148
 
139
- if (normalizedVariant !== 'bare') {
149
+ if (this._variant !== 'bare') {
140
150
  classes.add('slds-icon');
141
151
  }
142
152
 
143
- switch (normalizedVariant) {
153
+ switch (this._variant) {
144
154
  case 'error':
145
155
  classes.add('slds-icon-text-error');
146
156
  break;
@@ -161,8 +171,8 @@ export default class LightningPrimitiveIcon extends LightningElement {
161
171
  }
162
172
  }
163
173
 
164
- if (normalizedSize !== 'medium') {
165
- classes.add(`slds-icon_${normalizedSize}`);
174
+ if (this._size !== 'medium') {
175
+ classes.add(`slds-icon_${this._size}`);
166
176
  }
167
177
 
168
178
  return classes.toString();
@@ -102,6 +102,9 @@ export default class LightningProgressStep extends LightningElement {
102
102
  if (this._deRegistrationCallback) {
103
103
  this._deRegistrationCallback();
104
104
  }
105
+ if (this._tooltip) {
106
+ this._tooltip.disconnect();
107
+ }
105
108
  }
106
109
 
107
110
  renderedCallback() {
@@ -153,7 +156,6 @@ export default class LightningProgressStep extends LightningElement {
153
156
  }
154
157
 
155
158
  handleMouseEnter() {
156
- this.updateAriaDescribedBy('progress-indicator-tooltip');
157
159
  this.dispatchEvent(
158
160
  // eslint-disable-next-line lightning-global/no-custom-event-bubbling
159
161
  new CustomEvent('stepmouseenter', {
@@ -164,7 +166,7 @@ export default class LightningProgressStep extends LightningElement {
164
166
  }
165
167
 
166
168
  handleMouseLeave() {
167
- this.updateAriaDescribedBy(null);
169
+ this.clearAriaDescribedBy();
168
170
  this.dispatchEvent(
169
171
  // eslint-disable-next-line lightning-global/no-custom-event-bubbling
170
172
  new CustomEvent('stepmouseleave', {
@@ -175,10 +177,6 @@ export default class LightningProgressStep extends LightningElement {
175
177
  }
176
178
 
177
179
  handleFocus() {
178
- if (this.state.type === 'base') {
179
- this.updateAriaDescribedBy('progress-indicator-tooltip');
180
- }
181
-
182
180
  this.dispatchEvent(
183
181
  // eslint-disable-next-line lightning-global/no-custom-event-bubbling
184
182
  new CustomEvent('stepfocus', {
@@ -189,7 +187,7 @@ export default class LightningProgressStep extends LightningElement {
189
187
  }
190
188
 
191
189
  handleBlur() {
192
- this.updateAriaDescribedBy(null);
190
+ this.clearAriaDescribedBy();
193
191
  this.dispatchEvent(
194
192
  // eslint-disable-next-line lightning-global/no-custom-event-bubbling
195
193
  new CustomEvent('stepblur', {
@@ -199,15 +197,11 @@ export default class LightningProgressStep extends LightningElement {
199
197
  );
200
198
  }
201
199
 
202
- updateAriaDescribedBy(value) {
200
+ clearAriaDescribedBy() {
203
201
  if (this.state.type === 'base') {
204
202
  const button = this.template.querySelector('button');
205
203
  if (button) {
206
- if (value !== null) {
207
- button.setAttribute('aria-describedBy', value);
208
- } else {
209
- button.removeAttribute('aria-describedBy');
210
- }
204
+ button.removeAttribute('aria-describedBy');
211
205
  }
212
206
  }
213
207
  }
@@ -246,6 +240,9 @@ export default class LightningProgressStep extends LightningElement {
246
240
  },
247
241
  });
248
242
  this._tooltip.initialize();
243
+
244
+ // unset aria-describedby that would've been set by tooltipLibrary
245
+ this.clearAriaDescribedBy();
249
246
  }
250
247
  }
251
248
  }
@@ -158,11 +158,11 @@ To apply custom styling, use the `:host` selector or define a custom class using
158
158
  </lightning-radio-group>
159
159
  ```
160
160
 
161
- When using `type="button"`, you can change the line height of the button label with SLDS styling hooks. For example, use `--sds-c-button-line-height` to reduce or increase the whitespace between lines of the text label.
161
+ When using `type="button"`, you can change the line height of the button label with SLDS styling hooks. For example, use `--slds-c-button-line-height` to reduce or increase the whitespace between lines of the text label.
162
162
 
163
163
  ```css
164
164
  .my-radio-group {
165
- --sds-c-button-line-height: 2.875rem;
165
+ --slds-c-button-line-height: 2.875rem;
166
166
  }
167
167
  ```
168
168
 
@@ -170,8 +170,8 @@ When using `type="radio"`, customize the component's styles using SLDS styling h
170
170
 
171
171
  ```css
172
172
  :host {
173
- --sds-c-radio-mark-color-foreground: #000000;
174
- --sds-c-radio-color-background-checked: orange;
173
+ --slds-c-radio-mark-color-foreground: #000000;
174
+ --slds-c-radio-color-background-checked: orange;
175
175
  }
176
176
  ```
177
177
 
@@ -1,4 +1,5 @@
1
- /* @import './input-radio-group.slds.css'; */
1
+ @import 'lightning/sldsCommon';
2
+ @import './input-radio-group.slds.css';
2
3
 
3
4
  :host {
4
5
  display: block;
@@ -1,5 +1,6 @@
1
1
  import labelRequired from '@salesforce/label/LightningControl.required';
2
- import { LightningElement, api, track } from 'lwc';
2
+ import { api, track } from 'lwc';
3
+ import LightningShadowBaseClass from 'lightning/shadowBaseClassPrivate';
3
4
  import {
4
5
  normalizeBoolean,
5
6
  synchronizeAttrs,
@@ -25,7 +26,7 @@ const i18n = {
25
26
  /**
26
27
  * A radio button group that can have a single option selected.
27
28
  */
28
- export default class LightningRadioGroup extends LightningElement {
29
+ export default class LightningRadioGroup extends LightningShadowBaseClass {
29
30
  static delegatesFocus = true;
30
31
 
31
32
  /**
@@ -77,6 +78,7 @@ export default class LightningRadioGroup extends LightningElement {
77
78
  });
78
79
  }
79
80
  connectedCallback() {
81
+ super.connectedCallback();
80
82
  this.classList.add('slds-form-element');
81
83
  this.updateClassList();
82
84
  this.interactingState = new InteractingState();
@@ -238,11 +238,11 @@ Use the `variant` attribute with one of these values to position the labels diff
238
238
 
239
239
  To apply additional styling, use the SLDS [utility classes](https://www.lightningdesignsystem.com/utilities/alignment) with the `class` attribute. For example, you can add padding on the top of the component using the `slds-p-top_medium` SLDS class.
240
240
 
241
- To apply custom styling, define a custom class using the `class` attribute. Use SLDS styling hooks to customize the component's styles. For example, specify the border color on the `select` element using the `--sds-c-select-color-border` custom property.
241
+ To apply custom styling, define a custom class using the `class` attribute. Use SLDS styling hooks to customize the component's styles. For example, specify the border color on the `select` element using the `--slds-c-select-color-border` custom property.
242
242
 
243
243
  ```css
244
244
  .my-select {
245
- --sds-c-select-color-border: red;
245
+ --slds-c-select-color-border: red;
246
246
  }
247
247
  ```
248
248
 
@@ -2,6 +2,13 @@
2
2
  /* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved
3
3
  Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
4
4
  @supports (--styling-hooks: '') {
5
+ /* TODO: Swap with utility classes */
6
+ :host([data-render-mode="shadow"]) fieldset {
7
+ border: 0;
8
+ margin: 0;
9
+ padding: 0;
10
+ }
11
+
5
12
  /* FORM ELEMENT: BASE */
6
13
  :host([data-render-mode="shadow"]) .slds-form-element {
7
14
  position: relative;
@@ -29,11 +36,6 @@
29
36
  position: relative;
30
37
  }
31
38
 
32
- :host([data-render-mode="shadow"]) .slds-form-element__control .slds-radio,:host([data-render-mode="shadow"])
33
- .slds-form-element__control .slds-checkbox {
34
- display: block;
35
- }
36
-
37
39
  :host([data-render-mode="shadow"]) .slds-form-element__icon {
38
40
  display: inline-block;
39
41
  position: relative;
@@ -48,7 +50,7 @@
48
50
  }
49
51
 
50
52
  :host([data-render-mode="shadow"]) .slds-form-element__help,:host([data-render-mode="shadow"])
51
- .slds-form-element__helper {
53
+ .slds-form-element__helper {
52
54
  font-size: var(--sds-g-font-scale-neg-3, 0.75rem);
53
55
  margin-block-start: calc(var(--sds-g-spacing-1, 0.25rem) / 2);
54
56
  display: block;
@@ -135,29 +137,31 @@
135
137
  display: block;
136
138
  }
137
139
 
138
- :host([data-render-mode="shadow"][variant~='label-stacked']):not(:host([data-render-mode="shadow"]) .slds-form-element_readonly) {
139
- margin-block-end: var(--sds-g-spacing-2, 0.5rem);
140
- }
141
-
142
- :host([data-render-mode="shadow"][variant~='label-stacked']):not(:host([data-render-mode="shadow"]) .slds-is-editing) {
143
- padding: 0 var(--sds-g-spacing-1, 0.25rem);
140
+ /* TODO: Using `:not` is currently not working, and it could break the build because of issues with the dist script */
141
+
142
+ /* :host([variant~='label-stacked']):not(.slds-form-element_readonly) {
143
+ margin-block-end: var(--sds-g-spacing-2);
144
144
  }
145
-
145
+
146
+ :host([variant~='label-stacked']):not(.slds-is-editing) {
147
+ padding: 0 var(--sds-g-spacing-1);
148
+ } */
149
+
150
+ /* :host([variant~='label-stacked']):not([class*="slds-size"]) {
151
+ width: 100%;
152
+ flex-basis: 100%;
153
+ } */
154
+
146
155
  :host([data-render-mode="shadow"][variant~='label-stacked']) .slds-form-element {
147
156
  padding: 0;
148
157
  margin-block-end: 0;
149
158
  }
150
-
151
- :host([data-render-mode="shadow"][variant~='label-stacked']):not([class*="slds-size"]) {
152
- width: 100%;
153
- flex-basis: 100%;
154
- }
155
-
159
+
156
160
  :host([data-render-mode="shadow"][variant~='label-stacked']) .slds-form-element__label,:host([data-render-mode="shadow"][variant~='label-stacked']) .slds-form-element__control {
157
161
  border-bottom: 0; /* Remove border when using legacy version of slds-form-element */
158
162
  padding-inline-start: 0;
159
163
  }
160
-
164
+
161
165
  :host([data-render-mode="shadow"][variant~='label-stacked']) .slds-form-element__control {
162
166
  width: 100%;
163
167
  flex-basis: 100%;
@@ -170,26 +174,39 @@
170
174
  }
171
175
 
172
176
  /* --------------------------------------- */
173
-
177
+
174
178
  /* FORM ELEMENT: INLINE */
175
179
 
176
180
  :host([data-render-mode="shadow"][variant~='label-inline']) {
177
181
  display: block;
178
182
  }
179
-
180
- :host([data-render-mode="shadow"][variant~='label-inline']):not(:host([data-render-mode="shadow"]) .slds-form-element_readonly) {
183
+
184
+ /*
185
+ we have to combine with slds class here to avoid duplication
186
+ of this rule in child elements who import this stylesheet
187
+ in lighting-input this slds class is synonymous with the variant
188
+ */
189
+
190
+ :host([data-render-mode="shadow"][variant~='label-inline'].slds-form-element_horizontal) {
191
+ padding: var(--sds-g-spacing-1, 0.25rem);
181
192
  margin-block-end: var(--sds-g-spacing-2, 0.5rem);
182
193
  }
183
-
184
- :host([data-render-mode="shadow"][variant~='label-inline']):not([class*="slds-size"]) {
194
+
195
+ /* TODO: Using `:not` is currently not working, and it could break the build because of issues with the dist script */
196
+
197
+ /* :host([variant~='label-inline']):not(.slds-form-element_readonly) {
198
+ margin-block-end: var(--sds-g-spacing-2);
199
+ }
200
+
201
+ :host([variant~='label-inline']):not([class*="slds-size"]) {
185
202
  width: 100%;
186
203
  flex-basis: 100%;
187
204
  }
188
-
189
- :host([data-render-mode="shadow"][variant~='label-inline']):not(:host([data-render-mode="shadow"]) .slds-is-editing) {
190
- padding: var(--sds-g-spacing-1, 0.25rem);
191
- }
192
-
205
+
206
+ :host([variant~='label-inline']:not(.slds-is-editing)) {
207
+ padding: var(--sds-g-spacing-1);
208
+ } */
209
+
193
210
  :host([data-render-mode="shadow"][variant~='label-inline']).slds-is-edited {
194
211
  padding-block-start: var(--sds-g-sizing-6, 1.25rem)
195
212
  }
@@ -204,16 +221,20 @@
204
221
  position: relative;
205
222
  z-index: 1;
206
223
  }
207
-
224
+
225
+ :host([data-render-mode="shadow"][variant~='label-inline']) lightning-helptext {
226
+ float: left;
227
+ }
228
+
208
229
  :host([data-render-mode="shadow"][variant~='label-inline']) .slds-form-element__control {
209
- padding-inline-start: 33%;
230
+ margin-inline-start: 33%;
210
231
  clear: none; /* Reset clear: left when switching to horizontal form layout */
211
232
  }
212
-
233
+
213
234
  :host([data-render-mode="shadow"][variant~='label-inline']) .slds-form-element__control .slds-form-element__control {
214
235
  padding-inline-start: 0; /* Remove left padding on nested form controls, due to issues related to lightning-form components */
215
236
  }
216
-
237
+
217
238
  :host([data-render-mode="shadow"][variant~='label-inline']) .slds-dueling-list__column .slds-form-element__label {
218
239
  width: auto;
219
240
  max-width: 100%;
@@ -225,8 +246,36 @@
225
246
  margin-block-end: 0;
226
247
  }
227
248
 
249
+ :host([data-render-mode="shadow"][variant~='label-inline']) .slds-form-element__help {
250
+ margin-inline-start: 33%;
251
+ }
252
+
228
253
  :host([data-render-mode="shadow"][variant~='label-inline']) .slds-dueling-list {
229
254
  clear: none;
230
255
  }
231
256
  }
257
+
258
+ /* --------------------------------------- */
259
+
260
+ /* FORM ELEMENT: COMPOUND */
261
+
262
+ :host([data-render-mode="shadow"]) .slds-form-element_compound .slds-form-element__row {
263
+ display: flex;
264
+ margin-bottom: var(--sds-g-spacing-1, 0.25rem);
265
+ margin-left: calc(var(--sds-g-spacing-1, 0.25rem) * -1);
266
+ margin-right: calc(var(--sds-g-spacing-1, 0.25rem) * -1);
267
+ }
268
+
269
+ :host([data-render-mode="shadow"]) .slds-form-element_compound .slds-form-element__row .slds-form-element__label {
270
+ padding-top: 0;
271
+ }
272
+
273
+ :host([data-render-mode="shadow"]) .slds-form-element_compound .slds-form-element {
274
+ padding-left: var(--sds-g-spacing-1, 0.25rem);
275
+ padding-right: var(--sds-g-spacing-1, 0.25rem);
276
+ }
277
+
278
+ :host([data-render-mode="shadow"]) .slds-form-element_address .slds-form-element__row {
279
+ align-items: flex-end;
280
+ }
232
281
  }
@@ -1,3 +1,3 @@
1
- /* @import 'lightning/sldsCommon';
1
+ @import 'lightning/sldsCommon';
2
2
  @import "./form-element.slds.css";
3
- @import "./select.slds.css"; */
3
+ @import "./select.slds.css";
@@ -1,6 +1,7 @@
1
1
  import labelRequired from '@salesforce/label/LightningControl.required';
2
2
  import labelHelpTextAlternativeText from '@salesforce/label/LightningInput.helptextAlternativeText';
3
- import { api, LightningElement, track } from 'lwc';
3
+ import { api, track } from 'lwc';
4
+ import LightningShadowBaseClass from 'lightning/shadowBaseClassPrivate';
4
5
  import { classSet, formatLabel } from 'lightning/utils';
5
6
  import {
6
7
  classListMutation,
@@ -23,7 +24,7 @@ const i18n = {
23
24
  helpTextAlternativeText: labelHelpTextAlternativeText,
24
25
  };
25
26
 
26
- export default class LightningSelect extends LightningElement {
27
+ export default class LightningSelect extends LightningShadowBaseClass {
27
28
  static delegatesFocus = true;
28
29
 
29
30
  /**
@@ -71,6 +72,7 @@ export default class LightningSelect extends LightningElement {
71
72
  _size;
72
73
 
73
74
  connectedCallback() {
75
+ super.connectedCallback();
74
76
  this.classList.add('slds-form-element');
75
77
  this.updateClassList();
76
78
  this.interactingState = new InteractingState();