lightning-base-components 1.21.1-alpha → 1.21.2-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 (500) hide show
  1. package/metadata/raptor.json +60 -0
  2. package/package.json +155 -2
  3. package/src/lightning/accordion/accordion-section.slds.css +122 -0
  4. package/src/lightning/accordion/accordion.css +2 -16
  5. package/src/lightning/accordion/accordion.js +10 -7
  6. package/src/lightning/accordion/accordion.js-meta.xml +3 -0
  7. package/src/lightning/accordion/accordion.lbc.native.css +4 -0
  8. package/src/lightning/accordion/accordion.lbc.synthetic.css +13 -0
  9. package/src/lightning/accordion/accordion.slds.css +0 -654
  10. package/src/lightning/accordionSection/accordion-section.slds.css +28 -561
  11. package/src/lightning/accordionSection/accordionSection.css +2 -17
  12. package/src/lightning/accordionSection/accordionSection.js +26 -16
  13. package/src/lightning/accordionSection/accordionSection.js-meta.xml +3 -0
  14. package/src/lightning/accordionSection/accordionSection.lbc.native.css +5 -0
  15. package/src/lightning/accordionSection/accordionSection.lbc.synthetic.css +14 -0
  16. package/src/lightning/accordionSection/button.slds.css +503 -0
  17. package/src/lightning/alert/alert.css +1 -0
  18. package/src/lightning/alert/alert.js +12 -9
  19. package/src/lightning/alert/alert.js-meta.xml +3 -0
  20. package/src/lightning/alert/alert.lbc.native.css +1 -0
  21. package/src/lightning/ariaObserver/ariaObserver.js +111 -46
  22. package/src/lightning/avatar/avatar.css +1 -2
  23. package/src/lightning/avatar/avatar.html +19 -5
  24. package/src/lightning/avatar/avatar.js +18 -3
  25. package/src/lightning/avatar/avatar.js-meta.xml +3 -0
  26. package/src/lightning/avatar/avatar.lbc.native.css +2 -0
  27. package/src/lightning/avatar/avatar.slds.css +34 -205
  28. package/src/lightning/badge/__examples__/basic/basic.html +3 -1
  29. package/src/lightning/badge/badge.css +1 -0
  30. package/src/lightning/badge/badge.html +16 -14
  31. package/src/lightning/badge/badge.js +4 -2
  32. package/src/lightning/badge/badge.lbc.native.css +2 -0
  33. package/src/lightning/badge/badge.slds.css +76 -0
  34. package/src/lightning/baseCombobox/base-combobox.slds.css +101 -1433
  35. package/src/lightning/baseCombobox/baseCombobox.css +2 -27
  36. package/src/lightning/baseCombobox/baseCombobox.html +1 -1
  37. package/src/lightning/baseCombobox/baseCombobox.js +15 -2
  38. package/src/lightning/baseCombobox/baseCombobox.lbc.native.css +7 -0
  39. package/src/lightning/baseCombobox/baseCombobox.lbc.synthetic.css +25 -0
  40. package/src/lightning/baseCombobox/dropdown.slds.css +594 -0
  41. package/src/lightning/baseCombobox/input-text.slds.css +533 -0
  42. package/src/lightning/baseCombobox/listbox.slds.css +252 -0
  43. package/src/lightning/baseCombobox/spinner.slds.css +429 -0
  44. package/src/lightning/baseComboboxFormattedText/baseComboboxFormattedText.js +3 -2
  45. package/src/lightning/baseComboboxItem/baseComboboxItem.js +4 -2
  46. package/src/lightning/baseComboboxItem/card.css +1 -0
  47. package/src/lightning/baseComboboxItem/card.lbc.native.css +2 -0
  48. package/src/lightning/baseComboboxItem/inline.css +1 -2
  49. package/src/lightning/baseComboboxItem/inline.lbc.native.css +2 -0
  50. package/src/lightning/baseComboboxItem/listbox.slds.css +179 -179
  51. package/src/lightning/breadcrumb/breadcrumb.css +2 -6
  52. package/src/lightning/breadcrumb/breadcrumb.js +4 -2
  53. package/src/lightning/breadcrumb/breadcrumb.js-meta.xml +3 -0
  54. package/src/lightning/breadcrumb/breadcrumb.lbc.native.css +1 -0
  55. package/src/lightning/breadcrumb/breadcrumb.lbc.synthetic.css +3 -0
  56. package/src/lightning/breadcrumb/breadcrumb.slds.css +4 -6
  57. package/src/lightning/breadcrumbs/breadcrumbs.css +2 -10
  58. package/src/lightning/breadcrumbs/breadcrumbs.js +3 -2
  59. package/src/lightning/breadcrumbs/breadcrumbs.js-meta.xml +3 -0
  60. package/src/lightning/breadcrumbs/breadcrumbs.lbc.native.css +2 -0
  61. package/src/lightning/breadcrumbs/breadcrumbs.lbc.synthetic.css +7 -0
  62. package/src/lightning/breadcrumbs/breadcrumbs.slds.css +7 -5
  63. package/src/lightning/button/button.css +1 -2
  64. package/src/lightning/button/button.js-meta.xml +3 -0
  65. package/src/lightning/button/button.lbc.native.css +2 -0
  66. package/src/lightning/button/button.slds.css +365 -395
  67. package/src/lightning/buttonGroup/button-group.slds.css +37 -35
  68. package/src/lightning/buttonGroup/buttonGroup.css +2 -11
  69. package/src/lightning/buttonGroup/buttonGroup.js +5 -2
  70. package/src/lightning/buttonGroup/buttonGroup.js-meta.xml +3 -0
  71. package/src/lightning/buttonGroup/buttonGroup.lbc.native.css +2 -0
  72. package/src/lightning/buttonGroup/buttonGroup.lbc.synthetic.css +3 -0
  73. package/src/lightning/buttonIcon/button-icon.slds.css +575 -766
  74. package/src/lightning/buttonIcon/buttonIcon.css +2 -2
  75. package/src/lightning/buttonIcon/buttonIcon.js +8 -2
  76. package/src/lightning/buttonIcon/buttonIcon.js-meta.xml +3 -0
  77. package/src/lightning/buttonIconStateful/button-icon-stateful.slds.css +19 -974
  78. package/src/lightning/buttonIconStateful/button-icon.slds.css +724 -0
  79. package/src/lightning/buttonIconStateful/button.slds.css +503 -0
  80. package/src/lightning/buttonIconStateful/buttonIconStateful.css +2 -6
  81. package/src/lightning/buttonIconStateful/buttonIconStateful.js +54 -0
  82. package/src/lightning/buttonIconStateful/buttonIconStateful.js-meta.xml +3 -0
  83. package/src/lightning/buttonIconStateful/buttonIconStateful.lbc.native.css +4 -0
  84. package/src/lightning/buttonIconStateful/buttonIconStateful.lbc.synthetic.css +3 -0
  85. package/src/lightning/buttonMenu/button-icon.slds.css +724 -0
  86. package/src/lightning/buttonMenu/button-menu.slds.css +36 -1880
  87. package/src/lightning/buttonMenu/button.slds.css +503 -0
  88. package/src/lightning/buttonMenu/buttonMenu.css +1 -2
  89. package/src/lightning/buttonMenu/buttonMenu.js +8 -4
  90. package/src/lightning/buttonMenu/buttonMenu.js-meta.xml +3 -0
  91. package/src/lightning/buttonMenu/buttonMenu.lbc.native.css +5 -0
  92. package/src/lightning/buttonMenu/dropdown.slds.css +594 -0
  93. package/src/lightning/buttonStateful/button-stateful.slds.css +2 -745
  94. package/src/lightning/buttonStateful/button.slds.css +503 -0
  95. package/src/lightning/buttonStateful/buttonStateful.css +1 -2
  96. package/src/lightning/buttonStateful/buttonStateful.js +3 -2
  97. package/src/lightning/buttonStateful/buttonStateful.lbc.native.css +3 -0
  98. package/src/lightning/calendar/calendar.css +2 -11
  99. package/src/lightning/calendar/calendar.js +4 -2
  100. package/src/lightning/calendar/calendar.lbc.native.css +11 -0
  101. package/src/lightning/calendar/calendar.lbc.synthetic.css +8 -0
  102. package/src/lightning/calendar/calendar.slds.css +33 -1848
  103. package/src/lightning/calendar/dropdown.slds.css +594 -0
  104. package/src/lightning/card/card.css +1 -2
  105. package/src/lightning/card/card.js +3 -2
  106. package/src/lightning/card/card.lbc.native.css +2 -0
  107. package/src/lightning/card/card.slds.css +119 -176
  108. package/src/lightning/carousel/carousel.css +1 -7
  109. package/src/lightning/carousel/carousel.lbc.synthetic.css +7 -0
  110. package/src/lightning/colorPickerCustom/color-picker-custom.slds.css +34 -258
  111. package/src/lightning/colorPickerCustom/colorPickerCustom.css +1 -2
  112. package/src/lightning/colorPickerCustom/colorPickerCustom.js +3 -2
  113. package/src/lightning/colorPickerCustom/colorPickerCustom.lbc.native.css +3 -0
  114. package/src/lightning/colorPickerCustom/input-text.slds.css +533 -0
  115. package/src/lightning/colorPickerPanel/color-picker-panel.slds.css +2 -773
  116. package/src/lightning/colorPickerPanel/colorPickerPanel.css +2 -12
  117. package/src/lightning/colorPickerPanel/colorPickerPanel.js +4 -2
  118. package/src/lightning/colorPickerPanel/colorPickerPanel.lbc.native.css +3 -0
  119. package/src/lightning/colorPickerPanel/colorPickerPanel.lbc.synthetic.css +8 -0
  120. package/src/lightning/colorPickerPanel/popover.slds.css +29 -30
  121. package/src/lightning/combobox/combobox.css +2 -19
  122. package/src/lightning/combobox/combobox.html +4 -1
  123. package/src/lightning/combobox/combobox.js +20 -3
  124. package/src/lightning/combobox/combobox.js-meta.xml +3 -0
  125. package/src/lightning/combobox/combobox.lbc.native.css +3 -0
  126. package/src/lightning/combobox/combobox.lbc.synthetic.css +28 -0
  127. package/src/lightning/combobox/combobox.slds.css +2 -2
  128. package/src/lightning/combobox/form-element.slds.css +70 -43
  129. package/src/lightning/configProvider/defaultDurationConfig.js +1 -1
  130. package/src/lightning/confirm/confirm.css +1 -0
  131. package/src/lightning/confirm/confirm.js +12 -9
  132. package/src/lightning/confirm/confirm.js-meta.xml +3 -0
  133. package/src/lightning/confirm/confirm.lbc.native.css +1 -0
  134. package/src/lightning/datatable/__examples__/customDatatypeTable/customLink.html +5 -7
  135. package/src/lightning/datepicker/datepicker.css +1 -3
  136. package/src/lightning/datepicker/datepicker.js +15 -8
  137. package/src/lightning/datepicker/datepicker.lbc.native.css +3 -0
  138. package/src/lightning/datepicker/form-element.slds.css +70 -43
  139. package/src/lightning/datepicker/input-text.slds.css +253 -118
  140. package/src/lightning/datetimepicker/datetimepicker.css +1 -3
  141. package/src/lightning/datetimepicker/datetimepicker.html +0 -2
  142. package/src/lightning/datetimepicker/datetimepicker.js +35 -10
  143. package/src/lightning/datetimepicker/datetimepicker.lbc.native.css +3 -0
  144. package/src/lightning/datetimepicker/form-element.slds.css +70 -43
  145. package/src/lightning/datetimepicker/input-text.slds.css +253 -118
  146. package/src/lightning/dualListbox/dual-listbox.slds.css +27 -27
  147. package/src/lightning/dualListbox/dualListbox.css +2 -8
  148. package/src/lightning/dualListbox/dualListbox.js +55 -36
  149. package/src/lightning/dualListbox/dualListbox.js-meta.xml +3 -0
  150. package/src/lightning/dualListbox/dualListbox.lbc.native.css +4 -0
  151. package/src/lightning/dualListbox/dualListbox.lbc.synthetic.css +3 -0
  152. package/src/lightning/dualListbox/form-element.slds.css +70 -43
  153. package/src/lightning/dualListbox/listbox.slds.css +179 -179
  154. package/src/lightning/dynamicIcon/dynamicIcon.js +3 -2
  155. package/src/lightning/dynamicIcon/dynamicIcon.js-meta.xml +3 -0
  156. package/src/lightning/dynamicIcon/ellie.css +1 -1
  157. package/src/lightning/dynamicIcon/ellie.lbc.native.css +1 -0
  158. package/src/lightning/dynamicIcon/eq.css +1 -1
  159. package/src/lightning/dynamicIcon/eq.lbc.native.css +1 -0
  160. package/src/lightning/dynamicIcon/score.css +1 -1
  161. package/src/lightning/dynamicIcon/score.lbc.native.css +1 -0
  162. package/src/lightning/dynamicIcon/strength.css +1 -1
  163. package/src/lightning/dynamicIcon/strength.lbc.native.css +1 -0
  164. package/src/lightning/dynamicIcon/trend.css +1 -1
  165. package/src/lightning/dynamicIcon/trend.lbc.native.css +1 -0
  166. package/src/lightning/dynamicIcon/waffle.css +1 -1
  167. package/src/lightning/dynamicIcon/waffle.lbc.native.css +1 -0
  168. package/src/lightning/focusTrap/focusTrap.js +3 -2
  169. package/src/lightning/focusTrap/focusTrap.js-meta.xml +3 -0
  170. package/src/lightning/formattedAddress/formattedAddress.js-meta.xml +3 -0
  171. package/src/lightning/formattedEmail/formattedEmail.css +1 -0
  172. package/src/lightning/formattedEmail/formattedEmail.js +4 -2
  173. package/src/lightning/formattedEmail/formattedEmail.js-meta.xml +3 -0
  174. package/src/lightning/formattedEmail/formattedEmail.lbc.native.css +7 -0
  175. package/src/lightning/formattedLocation/formattedLocation.js-meta.xml +3 -0
  176. package/src/lightning/formattedNumber/formattedNumber.css +1 -4
  177. package/src/lightning/formattedNumber/formattedNumber.lbc.synthetic.css +4 -0
  178. package/src/lightning/formattedPhone/formattedPhone.css +1 -4
  179. package/src/lightning/formattedPhone/formattedPhone.js-meta.xml +3 -0
  180. package/src/lightning/formattedPhone/formattedPhone.lbc.synthetic.css +4 -0
  181. package/src/lightning/formattedRichText/formatted-rich-text.slds.css +39 -39
  182. package/src/lightning/formattedRichText/formattedRichText.css +1 -3
  183. package/src/lightning/formattedRichText/formattedRichText.js +4 -2
  184. package/src/lightning/formattedRichText/formattedRichText.js-meta.xml +3 -0
  185. package/src/lightning/formattedRichText/formattedRichText.lbc.native.css +3 -0
  186. package/src/lightning/formattedText/formattedText.css +1 -1
  187. package/src/lightning/formattedText/formattedText.js +3 -2
  188. package/src/lightning/formattedText/formattedText.js-meta.xml +3 -0
  189. package/src/lightning/formattedText/formattedText.lbc.native.css +1 -0
  190. package/src/lightning/formattedTime/formattedTime.js-meta.xml +3 -0
  191. package/src/lightning/formattedUrl/formattedUrl.js-meta.xml +3 -0
  192. package/src/lightning/groupedCombobox/__mockData__/exampleGroupedComboboxData.js +17 -0
  193. package/src/lightning/groupedCombobox/form-element.slds.css +315 -0
  194. package/src/lightning/groupedCombobox/grouped-combobox.slds.css +15 -0
  195. package/src/lightning/groupedCombobox/groupedCombobox.css +2 -3
  196. package/src/lightning/groupedCombobox/groupedCombobox.js +25 -3
  197. package/src/lightning/groupedCombobox/groupedCombobox.js-meta.xml +3 -0
  198. package/src/lightning/groupedCombobox/groupedCombobox.lbc.native.css +5 -0
  199. package/src/lightning/groupedCombobox/groupedCombobox.lbc.syhtnetic.css +3 -0
  200. package/src/lightning/groupedCombobox/input-text.slds.css +533 -0
  201. package/src/lightning/helptext/button-icon.slds.css +724 -0
  202. package/src/lightning/helptext/form-element.slds.css +70 -43
  203. package/src/lightning/helptext/help-text.slds.css +6 -938
  204. package/src/lightning/helptext/helptext.css +1 -3
  205. package/src/lightning/helptext/helptext.js +3 -2
  206. package/src/lightning/helptext/helptext.lbc.native.css +4 -0
  207. package/src/lightning/icon/icon.css +1 -2
  208. package/src/lightning/icon/icon.js +20 -2
  209. package/src/lightning/icon/icon.js-meta.xml +3 -0
  210. package/src/lightning/icon/icon.lbc.native.css +2 -0
  211. package/src/lightning/icon/icon.slds.css +64 -53
  212. package/src/lightning/input/form-element.slds.css +70 -43
  213. package/src/lightning/input/input.css +2 -13
  214. package/src/lightning/input/input.html +1 -0
  215. package/src/lightning/input/input.js +55 -9
  216. package/src/lightning/input/input.lbc.native.css +2 -0
  217. package/src/lightning/input/input.lbc.synthetic.css +9 -0
  218. package/src/lightning/inputAddress/form-element.slds.css +315 -0
  219. package/src/lightning/inputAddress/input-address.slds.css +15 -0
  220. package/src/lightning/inputAddress/input-text.slds.css +533 -0
  221. package/src/lightning/inputAddress/inputAddress.css +2 -3
  222. package/src/lightning/inputAddress/inputAddress.html +21 -12
  223. package/src/lightning/inputAddress/inputAddress.js +33 -14
  224. package/src/lightning/inputAddress/inputAddress.lbc.native.css +5 -0
  225. package/src/lightning/inputAddress/inputAddress.lbc.synthetic.css +4 -0
  226. package/src/lightning/inputLocation/form-element.slds.css +315 -0
  227. package/src/lightning/inputLocation/input-location.slds.css +15 -0
  228. package/src/lightning/inputLocation/input-text.slds.css +533 -0
  229. package/src/lightning/inputLocation/inputLocation.css +2 -3
  230. package/src/lightning/inputLocation/inputLocation.html +1 -1
  231. package/src/lightning/inputLocation/inputLocation.js +27 -6
  232. package/src/lightning/inputLocation/inputLocation.js-meta.xml +3 -0
  233. package/src/lightning/inputLocation/inputLocation.lbc.native.css +5 -0
  234. package/src/lightning/inputLocation/inputLocation.lbc.synthetic.css +3 -0
  235. package/src/lightning/inputName/form-element.slds.css +315 -0
  236. package/src/lightning/inputName/input-text.slds.css +533 -0
  237. package/src/lightning/inputName/inputName.css +2 -3
  238. package/src/lightning/inputName/inputName.js +22 -15
  239. package/src/lightning/inputName/inputName.lbc.native.css +4 -0
  240. package/src/lightning/inputName/inputName.lbc.synthetic.css +3 -0
  241. package/src/lightning/interactiveDialogBase/interactive-dialog-base.slds.css +24 -0
  242. package/src/lightning/interactiveDialogBase/interactiveDialogBase.css +2 -520
  243. package/src/lightning/interactiveDialogBase/interactiveDialogBase.html +8 -3
  244. package/src/lightning/interactiveDialogBase/interactiveDialogBase.js +6 -0
  245. package/src/lightning/interactiveDialogBase/interactiveDialogBase.lbc.native.css +3 -0
  246. package/src/lightning/interactiveDialogBase/interactiveDialogBase.lbc.synthetic.css +20 -0
  247. package/src/lightning/internationalizationLibrary/datetime/dateTimeUtils.js +33 -10
  248. package/src/lightning/layout/layout.css +2 -9
  249. package/src/lightning/layout/layout.js +5 -2
  250. package/src/lightning/layout/layout.js-meta.xml +3 -0
  251. package/src/lightning/layout/layout.lbc.native.css +2 -0
  252. package/src/lightning/layout/layout.lbc.synthetic.css +6 -0
  253. package/src/lightning/layoutItem/layoutItem.css +1 -5
  254. package/src/lightning/layoutItem/layoutItem.js +5 -2
  255. package/src/lightning/layoutItem/layoutItem.js-meta.xml +3 -0
  256. package/src/lightning/layoutItem/layoutItem.lbc.native.css +5 -0
  257. package/src/lightning/lookupAddress/form-element.slds.css +315 -0
  258. package/src/lightning/lookupAddress/listbox.slds.css +252 -0
  259. package/src/lightning/lookupAddress/lookup-address.slds.css +10 -0
  260. package/src/lightning/lookupAddress/lookupAddress.css +2 -0
  261. package/src/lightning/lookupAddress/lookupAddress.html +12 -9
  262. package/src/lightning/lookupAddress/lookupAddress.js +4 -2
  263. package/src/lightning/lookupAddress/lookupAddress.lbc.native.css +4 -0
  264. package/src/lightning/menuDivider/menu-divider.slds.css +4 -4
  265. package/src/lightning/menuDivider/menuDivider.css +2 -6
  266. package/src/lightning/menuDivider/menuDivider.js +4 -3
  267. package/src/lightning/menuDivider/menuDivider.lbc.native.css +2 -0
  268. package/src/lightning/menuDivider/menuDivider.lbc.synthetic.css +3 -0
  269. package/src/lightning/menuItem/menu-item.slds.css +16 -16
  270. package/src/lightning/menuItem/menuItem.css +2 -6
  271. package/src/lightning/menuItem/menuItem.js +13 -3
  272. package/src/lightning/menuItem/menuItem.js-meta.xml +3 -0
  273. package/src/lightning/menuItem/menuItem.lbc.native.css +2 -0
  274. package/src/lightning/menuItem/menuItem.lbc.synthetic.css +3 -0
  275. package/src/lightning/menuSubheader/menu-subheader.slds.css +4 -4
  276. package/src/lightning/menuSubheader/menuSubheader.css +2 -6
  277. package/src/lightning/menuSubheader/menuSubheader.js +4 -2
  278. package/src/lightning/menuSubheader/menuSubheader.lbc.native.css +2 -0
  279. package/src/lightning/menuSubheader/menuSubheader.lbc.synthetic.css +3 -0
  280. package/src/lightning/modal/__docs__/modal.md +30 -0
  281. package/src/lightning/modal/__examples__disabled/allformfullcompound/allformfullcompound.css +7 -0
  282. package/src/lightning/modal/__examples__disabled/allformfullcompound/allformfullcompound.html +9 -0
  283. package/src/lightning/modal/__examples__disabled/allformfullcompound/allformfullcompound.js +54 -0
  284. package/src/lightning/modal/__examples__disabled/allformhoriz/allformhoriz.css +7 -0
  285. package/src/lightning/modal/__examples__disabled/allformhoriz/allformhoriz.html +9 -0
  286. package/src/lightning/modal/__examples__disabled/allformhoriz/allformhoriz.js +53 -0
  287. package/src/lightning/modal/__examples__disabled/allmulti/allmulti.html +1 -0
  288. package/src/lightning/modal/__examples__disabled/allmulti/allmulti.js +43 -1
  289. package/src/lightning/modal/__examples__disabled/basic/basic.css +1 -1
  290. package/src/lightning/modal/__examples__disabled/demo/demo.css +1 -0
  291. package/src/lightning/modal/__examples__disabled/demoall/demoall.css +5 -0
  292. package/src/lightning/modal/__examples__disabled/demoallform/demoallform.css +2 -3
  293. package/src/lightning/modal/__examples__disabled/demoallform/demoallform.html +181 -107
  294. package/src/lightning/modal/__examples__disabled/demoallform/demoallform.js +7 -1
  295. package/src/lightning/modal/__examples__disabled/demoallformfull/demoallformfull.css +2 -3
  296. package/src/lightning/modal/__examples__disabled/demoallformfull/demoallformfull.html +181 -107
  297. package/src/lightning/modal/__examples__disabled/demoallformfullcompound/demoallformfullcompound.css +7 -0
  298. package/src/lightning/modal/__examples__disabled/demoallformfullcompound/demoallformfullcompound.html +109 -0
  299. package/src/lightning/modal/__examples__disabled/demoallformfullcompound/demoallformfullcompound.js +241 -0
  300. package/src/lightning/modal/__examples__disabled/demoallformhoriz/demoallformhoriz.css +5 -0
  301. package/src/lightning/modal/__examples__disabled/demoallformhoriz/demoallformhoriz.html +165 -0
  302. package/src/lightning/modal/__examples__disabled/demoallformhoriz/demoallformhoriz.js +241 -0
  303. package/src/lightning/modal/__examples__disabled/demofootless/demofootless.css +1 -0
  304. package/src/lightning/modal/__examples__disabled/demoheadless/demoheadless.css +5 -0
  305. package/src/lightning/modal/__modalUtils__/modalContainerTestConstants.js +8 -0
  306. package/src/lightning/modal/__modalUtils__/modalContainerTestMethods.js +108 -3
  307. package/src/lightning/modalBase/modal-base.slds.css +242 -0
  308. package/src/lightning/modalBase/modalBase.css +2 -16
  309. package/src/lightning/modalBase/modalBase.html +2 -0
  310. package/src/lightning/modalBase/modalBase.js +158 -10
  311. package/src/lightning/modalBase/modalBase.lbc.native.css +2 -0
  312. package/src/lightning/modalBase/modalBase.lbc.synthetic.css +18 -0
  313. package/src/lightning/modalBody/modal-body.slds.css +61 -0
  314. package/src/lightning/modalBody/modalBody.css +1 -0
  315. package/src/lightning/modalBody/modalBody.html +1 -0
  316. package/src/lightning/modalBody/modalBody.js +15 -2
  317. package/src/lightning/modalBody/modalBody.lbc.native.css +3 -0
  318. package/src/lightning/modalFooter/modal-footer.slds.css +79 -0
  319. package/src/lightning/modalFooter/modalFooter.css +1 -0
  320. package/src/lightning/modalFooter/modalFooter.html +1 -1
  321. package/src/lightning/modalFooter/modalFooter.js +3 -2
  322. package/src/lightning/modalFooter/modalFooter.lbc.native.css +2 -0
  323. package/src/lightning/modalHeader/modal-header.slds.css +77 -0
  324. package/src/lightning/modalHeader/modalHeader.css +3 -0
  325. package/src/lightning/modalHeader/modalHeader.html +1 -1
  326. package/src/lightning/modalHeader/modalHeader.js +4 -2
  327. package/src/lightning/modalHeader/modalHeader.lbc.native.css +3 -0
  328. package/src/lightning/overlay/overlay.js +11 -4
  329. package/src/lightning/overlayContainer/overlayContainer.js +3 -2
  330. package/src/lightning/picklist/picklist.js +24 -19
  331. package/src/lightning/picklist/picklist.js-meta.xml +3 -0
  332. package/src/lightning/pill/avatar.slds.css +34 -205
  333. package/src/lightning/pill/link.css +1 -3
  334. package/src/lightning/pill/link.lbc.native.css +3 -0
  335. package/src/lightning/pill/pill.js +4 -2
  336. package/src/lightning/pill/pill.js-meta.xml +3 -0
  337. package/src/lightning/pill/pill.slds.css +52 -47
  338. package/src/lightning/pill/plain.css +1 -3
  339. package/src/lightning/pill/plain.lbc.native.css +3 -0
  340. package/src/lightning/pill/plainLink.css +1 -3
  341. package/src/lightning/pill/plainLink.lbc.native.css +3 -0
  342. package/src/lightning/pillContainer/barePillContainer.css +1 -3
  343. package/src/lightning/pillContainer/barePillContainer.html +1 -1
  344. package/src/lightning/pillContainer/barePillContainer.lbc.native.css +4 -0
  345. package/src/lightning/pillContainer/button.slds.css +503 -0
  346. package/src/lightning/pillContainer/listbox.slds.css +179 -179
  347. package/src/lightning/pillContainer/pill-container.slds.css +15 -9
  348. package/src/lightning/pillContainer/pill.slds.css +52 -47
  349. package/src/lightning/pillContainer/pillContainer.js +15 -12
  350. package/src/lightning/pillContainer/pillContainer.js-meta.xml +3 -0
  351. package/src/lightning/pillContainer/standardPillContainer.css +3 -2
  352. package/src/lightning/pillContainer/standardPillContainer.html +1 -1
  353. package/src/lightning/popup/popover.slds.css +29 -30
  354. package/src/lightning/popup/popup.css +1 -2
  355. package/src/lightning/popup/popup.js +3 -2
  356. package/src/lightning/popup/popup.js-meta.xml +3 -0
  357. package/src/lightning/popup/popup.lbc.native.css +2 -0
  358. package/src/lightning/primitiveBubble/primitiveBubble.css +2 -11
  359. package/src/lightning/primitiveBubble/primitiveBubble.js +4 -2
  360. package/src/lightning/primitiveBubble/primitiveBubble.lbc.native.css +2 -0
  361. package/src/lightning/primitiveBubble/primitiveBubble.lbc.synthetic.css +8 -0
  362. package/src/lightning/primitiveBubble/tooltip.slds.css +89 -142
  363. package/src/lightning/primitiveButton/primitiveButton.js +4 -2
  364. package/src/lightning/primitiveColorpickerButton/color-picker-button.slds.css +14 -223
  365. package/src/lightning/primitiveColorpickerButton/primitiveColorpickerButton.css +1 -2
  366. package/src/lightning/primitiveColorpickerButton/primitiveColorpickerButton.js +3 -2
  367. package/src/lightning/primitiveColorpickerButton/primitiveColorpickerButton.lbc.native.css +2 -0
  368. package/src/lightning/primitiveCustomCell/primitiveCustomCell.js +1 -2
  369. package/src/lightning/primitiveDatatableCell/primitiveDatatableCell.js +1 -3
  370. package/src/lightning/primitiveFileDroppableZone/primitiveFileDroppableZone.js +17 -7
  371. package/src/lightning/primitiveIcon/icon.slds.css +64 -53
  372. package/src/lightning/primitiveIcon/primitiveIcon.css +2 -11
  373. package/src/lightning/primitiveIcon/primitiveIcon.js +7 -9
  374. package/src/lightning/primitiveIcon/primitiveIcon.lbc.native.css +2 -0
  375. package/src/lightning/primitiveIcon/primitiveIcon.lbc.synthetic.css +9 -0
  376. package/src/lightning/primitiveIframe/primitiveIframe.html +9 -8
  377. package/src/lightning/primitiveIframe/primitiveIframe.js +4 -2
  378. package/src/lightning/primitiveInputCheckbox/form-element.slds.css +70 -43
  379. package/src/lightning/primitiveInputCheckbox/input-checkbox.slds.css +223 -237
  380. package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.css +1 -3
  381. package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.js +9 -1
  382. package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.lbc.native.css +3 -0
  383. package/src/lightning/primitiveInputCheckboxButton/form-element.slds.css +70 -43
  384. package/src/lightning/primitiveInputCheckboxButton/input-checkbox-button.slds.css +30 -30
  385. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.css +2 -6
  386. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.lbc.native.css +2 -0
  387. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.lbc.synthetic.css +2 -0
  388. package/src/lightning/primitiveInputColor/form-element.slds.css +70 -43
  389. package/src/lightning/primitiveInputColor/input-color.slds.css +3 -7
  390. package/src/lightning/primitiveInputColor/input-text.slds.css +253 -118
  391. package/src/lightning/primitiveInputColor/primitiveInputColor.css +1 -4
  392. package/src/lightning/primitiveInputColor/primitiveInputColor.lbc.native.css +4 -0
  393. package/src/lightning/primitiveInputFile/button.slds.css +365 -395
  394. package/src/lightning/primitiveInputFile/form-element.slds.css +70 -43
  395. package/src/lightning/primitiveInputFile/input-file.slds.css +12 -12
  396. package/src/lightning/primitiveInputFile/primitiveInputFile.css +1 -5
  397. package/src/lightning/primitiveInputFile/primitiveInputFile.js +9 -7
  398. package/src/lightning/primitiveInputFile/primitiveInputFile.lbc.native.css +4 -0
  399. package/src/lightning/primitiveInputSimple/form-element.slds.css +70 -43
  400. package/src/lightning/primitiveInputSimple/input-text.slds.css +253 -118
  401. package/src/lightning/primitiveInputSimple/primitiveInputSimple.css +2 -9
  402. package/src/lightning/primitiveInputSimple/primitiveInputSimple.js +4 -2
  403. package/src/lightning/primitiveInputSimple/primitiveInputSimple.lbc.native.css +3 -0
  404. package/src/lightning/primitiveInputSimple/primitiveInputSimple.lbc.synthetic.css +5 -0
  405. package/src/lightning/primitiveInputToggle/form-element.slds.css +70 -43
  406. package/src/lightning/primitiveInputToggle/input-toggle.slds.css +28 -28
  407. package/src/lightning/primitiveInputToggle/primitiveInputToggle.css +1 -3
  408. package/src/lightning/primitiveInputToggle/primitiveInputToggle.js +9 -1
  409. package/src/lightning/primitiveInputToggle/primitiveInputToggle.lbc.native.css +3 -0
  410. package/src/lightning/progressBar/progress-bar.slds.css +66 -0
  411. package/src/lightning/progressBar/progressBar.css +1 -0
  412. package/src/lightning/progressBar/progressBar.html +1 -0
  413. package/src/lightning/progressBar/progressBar.js +3 -2
  414. package/src/lightning/progressBar/progressBar.lbc.native.css +2 -0
  415. package/src/lightning/progressIndicator/progressIndicator.css +1 -3
  416. package/src/lightning/progressIndicator/progressIndicator.lbc.synthetic.css +3 -0
  417. package/src/lightning/progressRing/progress-ring.slds.css +136 -0
  418. package/src/lightning/progressRing/progressRing.css +1 -0
  419. package/src/lightning/progressRing/progressRing.html +1 -1
  420. package/src/lightning/progressRing/progressRing.js +3 -2
  421. package/src/lightning/progressRing/progressRing.lbc.native.css +2 -0
  422. package/src/lightning/prompt/prompt.css +1 -85
  423. package/src/lightning/prompt/prompt.html +15 -5
  424. package/src/lightning/prompt/prompt.js +12 -9
  425. package/src/lightning/prompt/prompt.js-meta.xml +3 -0
  426. package/src/lightning/prompt/prompt.lbc.native.css +2 -0
  427. package/src/lightning/prompt/prompt.slds.css +10 -0
  428. package/src/lightning/radioGroup/form-element.slds.css +315 -0
  429. package/src/lightning/radioGroup/input-radio-group.slds.css +124 -571
  430. package/src/lightning/radioGroup/radioGroup.css +2 -7
  431. package/src/lightning/radioGroup/radioGroup.js +4 -2
  432. package/src/lightning/radioGroup/radioGroup.lbc.native.css +3 -0
  433. package/src/lightning/radioGroup/radioGroup.lbc.synthetic.css +3 -0
  434. package/src/lightning/select/form-element.slds.css +70 -43
  435. package/src/lightning/select/select.css +1 -3
  436. package/src/lightning/select/select.js +4 -2
  437. package/src/lightning/select/select.js-meta.xml +3 -0
  438. package/src/lightning/select/select.lbc.native.css +3 -0
  439. package/src/lightning/select/select.slds.css +23 -342
  440. package/src/lightning/sldsUtilsThemes/sldsUtilsThemes.css +27 -11
  441. package/src/lightning/sldsUtilsVisibility/sldsUtilsVisibility.css +20 -0
  442. package/src/lightning/sldsUtilsVisibility/sldsUtilsVisibility.js-meta.xml +4 -0
  443. package/src/lightning/spinner/spinner.css +1 -2
  444. package/src/lightning/spinner/spinner.js +6 -4
  445. package/src/lightning/spinner/spinner.js-meta.xml +3 -0
  446. package/src/lightning/spinner/spinner.lbc.native.css +2 -0
  447. package/src/lightning/spinner/spinner.slds.css +4 -10
  448. package/src/lightning/staticMap/staticMap.html +12 -10
  449. package/src/lightning/staticMap/staticMap.js +16 -4
  450. package/src/lightning/tab/tab.css +1 -2
  451. package/src/lightning/tab/tab.lbc.native.css +2 -0
  452. package/src/lightning/tab/tab.slds.css +9 -9
  453. package/src/lightning/tabBar/tab-bar.slds.css +59 -59
  454. package/src/lightning/tabBar/tabBar.css +1 -2
  455. package/src/lightning/tabBar/tabBar.js +19 -2
  456. package/src/lightning/tabBar/tabBar.lbc.native.css +2 -0
  457. package/src/lightning/tabset/tabset.css +1 -10
  458. package/src/lightning/tabset/tabset.html +19 -7
  459. package/src/lightning/tabset/tabset.js +224 -60
  460. package/src/lightning/tabset/tabset.lbc.native.css +3 -0
  461. package/src/lightning/tabset/tabset.slds.css +15 -0
  462. package/src/lightning/textarea/form-element.slds.css +315 -0
  463. package/src/lightning/textarea/textarea.css +2 -5
  464. package/src/lightning/textarea/textarea.html +21 -5
  465. package/src/lightning/textarea/textarea.js +167 -128
  466. package/src/lightning/textarea/textarea.lbc.native.css +3 -0
  467. package/src/lightning/textarea/textarea.lbc.synthetic.css +5 -0
  468. package/src/lightning/textarea/textarea.slds.css +95 -0
  469. package/src/lightning/tile/standardTile.css +1 -3
  470. package/src/lightning/tile/standardTile.lbc.synthetic.css +3 -0
  471. package/src/lightning/timepicker/form-element.slds.css +70 -43
  472. package/src/lightning/timepicker/timepicker.css +1 -3
  473. package/src/lightning/timepicker/timepicker.html +1 -1
  474. package/src/lightning/timepicker/timepicker.js +21 -5
  475. package/src/lightning/timepicker/timepicker.lbc.native.css +3 -0
  476. package/src/lightning/toast/button-icon.slds.css +575 -766
  477. package/src/lightning/toast/formatted-rich-text.slds.css +39 -39
  478. package/src/lightning/toast/icon.slds.css +64 -53
  479. package/src/lightning/toast/toast.css +2 -68
  480. package/src/lightning/toast/toast.js +4 -2
  481. package/src/lightning/toast/toast.lbc.native.css +9 -0
  482. package/src/lightning/toast/toast.lbc.synthetic.css +58 -0
  483. package/src/lightning/toast/toast.slds.css +20 -20
  484. package/src/lightning/toastContainer/toast.slds.css +20 -20
  485. package/src/lightning/toastContainer/toastContainer.css +2 -43
  486. package/src/lightning/toastContainer/toastContainer.lbc.native.css +4 -0
  487. package/src/lightning/toastContainer/toastContainer.lbc.synthetic.css +38 -0
  488. package/src/lightning/utilsPrivate/animation.js +10 -8
  489. package/src/lightning/utilsPrivate/aria.js +1 -1
  490. package/src/lightning/utilsPrivate/utilsPrivate.js +21 -5
  491. package/src/lightning/verticalNavigation/verticalNavigation.css +1 -3
  492. package/src/lightning/verticalNavigation/verticalNavigation.js +3 -2
  493. package/src/lightning/verticalNavigation/verticalNavigation.lbc.native.css +2 -0
  494. package/src/lightning/verticalNavigationOverflow/verticalNavigationOverflow.css +1 -3
  495. package/src/lightning/verticalNavigationOverflow/verticalNavigationOverflow.lbc.synthetic.css +3 -0
  496. package/src/lightning/verticalNavigationSection/vertical-navigation-section.slds.css +8 -8
  497. package/src/lightning/verticalNavigationSection/verticalNavigationSection.css +2 -7
  498. package/src/lightning/verticalNavigationSection/verticalNavigationSection.js +3 -2
  499. package/src/lightning/verticalNavigationSection/verticalNavigationSection.lbc.native.css +2 -0
  500. package/src/lightning/verticalNavigationSection/verticalNavigationSection.lbc.synthetic.css +3 -0
@@ -5,10 +5,15 @@
5
5
  </template>
6
6
  {label}
7
7
  </label>
8
- <lightning-helptext if:true={fieldLevelHelp} content={fieldLevelHelp} alternative-text={helptextAlternativeText}></lightning-helptext>
8
+ <lightning-helptext
9
+ if:true={fieldLevelHelp}
10
+ content={fieldLevelHelp}
11
+ alternative-text={helptextAlternativeText}
12
+ ></lightning-helptext>
9
13
  <div class="slds-form-element__control slds-grow textarea-container">
10
- <textarea id="input" class="slds-textarea"
11
- aria-describedby={computedUniqueHelpElementId}
14
+ <textarea
15
+ id="input"
16
+ class="slds-textarea"
12
17
  aria-invalid={computedAriaInvalid}
13
18
  autocomplete={autocomplete}
14
19
  oninput={handleInput}
@@ -22,9 +27,20 @@
22
27
  minlength={minLength}
23
28
  placeholder={placeholder}
24
29
  required={required}
25
- accesskey={accessKey}>{_defaultValue}</textarea>
30
+ accesskey={accessKey}
31
+ part="textarea"
32
+ >
33
+ {_defaultValue}
34
+ </textarea>
26
35
  </div>
27
36
  <template if:true={_helpMessage}>
28
- <div id="help-message" data-help-message class="slds-form-element__help" aria-live="assertive">{_helpMessage}</div>
37
+ <div
38
+ id="help-message"
39
+ data-help-message
40
+ class="slds-form-element__help"
41
+ aria-live="assertive"
42
+ >
43
+ {_helpMessage}
44
+ </div>
29
45
  </template>
30
46
  </template>
@@ -2,16 +2,18 @@
2
2
 
3
3
  import labelRequired from '@salesforce/label/LightningControl.required';
4
4
  import labelHelpTextAlternativeText from '@salesforce/label/LightningInput.helptextAlternativeText';
5
- import { LightningElement, api, track } from 'lwc';
5
+ import { api, track } from 'lwc';
6
+ import LightningShadowBaseClass from 'lightning/shadowBaseClassPrivate';
6
7
  import { classSet, formatLabel } from 'lightning/utils';
7
8
  import {
8
9
  normalizeBoolean,
9
- synchronizeAttrs,
10
- getRealDOMId,
11
10
  classListMutation,
12
11
  decorateInputForDragon,
12
+ reflectAttribute,
13
13
  setDecoratedDragonInputValueWithoutEvent,
14
14
  computeAriaInvalid,
15
+ isNativeComponent,
16
+ isCSR,
15
17
  } from 'lightning/utilsPrivate';
16
18
  import {
17
19
  InteractingState,
@@ -21,6 +23,7 @@ import {
21
23
  VARIANT,
22
24
  } from 'lightning/inputUtils';
23
25
  import { TouchScroller } from 'lightning/touchScrollLibrary';
26
+ import AriaObserver from 'lightning/ariaObserver';
24
27
 
25
28
  const i18n = {
26
29
  required: labelRequired,
@@ -30,9 +33,26 @@ const i18n = {
30
33
  /**
31
34
  * Represents a multiline text input field.
32
35
  */
33
- export default class LightningTextarea extends LightningElement {
36
+ export default class LightningTextarea extends LightningShadowBaseClass {
34
37
  static delegatesFocus = true;
35
38
 
39
+ // Private Variables
40
+ @track _maxLength;
41
+ @track _minLength;
42
+ @track _defaultValue = '';
43
+ @track _disabled = false;
44
+ @track _required = false;
45
+ @track _readOnly = false;
46
+ @track _variant;
47
+
48
+ @track _helpMessage;
49
+ @track _fieldLevelHelp;
50
+ _ariaDescribedBy = '';
51
+ _helpMessageChanged = false;
52
+ ariaObserver = null;
53
+
54
+ /************************* PUBLIC PROPERTIES *************************/
55
+
36
56
  /**
37
57
  * Controls auto-filling of the field. Set the attribute to pass
38
58
  * through autocomplete values to be interpreted by the browser.
@@ -91,68 +111,18 @@ export default class LightningTextarea extends LightningElement {
91
111
  */
92
112
  @api accessKey;
93
113
 
94
- @track _maxLength;
95
- @track _minLength;
96
- @track _defaultValue = '';
97
- @track _disabled = false;
98
- @track _required = false;
99
- @track _readOnly = false;
100
- @track _variant;
101
-
102
- @track _helpMessage;
103
- @track _fieldLevelHelp;
104
-
105
114
  /**
106
115
  * Aria Described by value on parent lighting-textarea
107
116
  * @type {string}
108
117
  */
109
- @api ariaDescribedBy;
110
-
111
- connectedCallback() {
112
- this.classList.add('slds-form-element');
113
- this.updateClassList();
114
- this._connected = true;
115
- this.interactingState = new InteractingState();
116
- this.interactingState.onleave(() => this.showHelpMessageIfInvalid());
117
- }
118
-
119
- updateClassList() {
120
- classListMutation(this.classList, {
121
- 'slds-form-element_stacked': this.variant === VARIANT.LABEL_STACKED,
122
- 'slds-form-element_horizontal':
123
- this.variant === VARIANT.LABEL_INLINE,
124
- });
125
- }
126
-
127
- synchronizeA11y() {
128
- const input = this.template.querySelector('textarea');
129
- synchronizeAttrs(input, {
130
- 'aria-describedby': this.computedUniqueHelpElementId,
131
- });
132
- }
133
-
134
- renderedCallback() {
135
- // IE11: This is needed to work-around IE11 issue where it would append default value to the place holder,
136
- // instead of actually setting the value on the textarea element.
137
- if (!this._rendered) {
138
- this._rendered = true;
139
- this._setInputValue(this._defaultValue);
140
- this.synchronizeA11y();
141
-
142
- // For non-desktop cases where ui:scroller prevents scrolling within the textarea.
143
- // The TouchScroller library allows touchmove events to scroll through the content of
144
- // the textarea but sets appropriate flags in the event to allow ui:scroller to scroll
145
- // the page when a content boundary is reached.
146
- const scrollTarget = this.template.querySelector(
147
- '.textarea-container'
148
- );
149
- this.touchScroller = new TouchScroller(scrollTarget);
150
- }
151
- this.synchronizeA11y();
118
+ @api
119
+ get ariaDescribedBy() {
120
+ return this._ariaDescribedBy;
152
121
  }
153
122
 
154
- disconnectedCallback() {
155
- this._connected = false;
123
+ set ariaDescribedBy(elements) {
124
+ this._ariaDescribedBy = elements;
125
+ this.connectAriaDescribedBy();
156
126
  }
157
127
 
158
128
  /**
@@ -222,6 +192,19 @@ export default class LightningTextarea extends LightningElement {
222
192
  this._updateProxyInputAttributes('disabled');
223
193
  }
224
194
 
195
+ /**
196
+ * The help text that appears in a popover.
197
+ * Set field-level help to provide an informational tooltip on the textarea input field.
198
+ */
199
+ @api
200
+ get fieldLevelHelp() {
201
+ return this._fieldLevelHelp;
202
+ }
203
+
204
+ set fieldLevelHelp(value) {
205
+ this._fieldLevelHelp = value;
206
+ }
207
+
225
208
  /**
226
209
  * If present, the textarea field is read-only and cannot be edited.
227
210
  * @type {boolean}
@@ -268,7 +251,8 @@ export default class LightningTextarea extends LightningElement {
268
251
 
269
252
  set variant(value) {
270
253
  this._variant = normalizeVariant(value);
271
- this.updateClassList();
254
+ reflectAttribute(this, 'variant', this._variant);
255
+ this.updateHostClassList();
272
256
  }
273
257
 
274
258
  /**
@@ -280,6 +264,8 @@ export default class LightningTextarea extends LightningElement {
280
264
  return this._constraint.validity;
281
265
  }
282
266
 
267
+ /************************** PUBLIC METHODS **************************/
268
+
283
269
  /**
284
270
  * Returns the valid attribute value (Boolean) on the ValidityState object.
285
271
  * @returns {boolean} Indicates whether the textarea meets all constraint validations.
@@ -298,6 +284,7 @@ export default class LightningTextarea extends LightningElement {
298
284
  reportValidity() {
299
285
  return this._constraint.reportValidity((message) => {
300
286
  this._helpMessage = message;
287
+ this._helpMessageChanged = true;
301
288
  });
302
289
  }
303
290
 
@@ -319,19 +306,6 @@ export default class LightningTextarea extends LightningElement {
319
306
  this.reportValidity();
320
307
  }
321
308
 
322
- set fieldLevelHelp(value) {
323
- this._fieldLevelHelp = value;
324
- }
325
-
326
- /**
327
- * The help text that appears in a popover.
328
- * Set field-level help to provide an informational tooltip on the textarea input field.
329
- */
330
- @api
331
- get fieldLevelHelp() {
332
- return this._fieldLevelHelp;
333
- }
334
-
335
309
  /**
336
310
  * Sets focus on the textarea field.
337
311
  */
@@ -372,6 +346,8 @@ export default class LightningTextarea extends LightningElement {
372
346
  }
373
347
  }
374
348
 
349
+ /************************** PRIVATE GETTERS **************************/
350
+
375
351
  get isLabelHidden() {
376
352
  return this.variant === VARIANT.LABEL_HIDDEN;
377
353
  }
@@ -386,6 +362,105 @@ export default class LightningTextarea extends LightningElement {
386
362
  .toString();
387
363
  }
388
364
 
365
+ get inputElement() {
366
+ if (this._inputElement) {
367
+ return this._inputElement;
368
+ }
369
+ this._inputElement = this.template.querySelector('textarea');
370
+ decorateInputForDragon(this._inputElement);
371
+ return this._inputElement;
372
+ }
373
+
374
+ get _constraint() {
375
+ if (!this._constraintApi) {
376
+ this._constraintApi = new FieldConstraintApiWithProxyInput(
377
+ () => this,
378
+ {
379
+ // Override validity.valueMissing, which was broken in Edge until May 2018.
380
+ // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/291588/
381
+ valueMissing: () =>
382
+ this._required && isEmptyString(this._value),
383
+
384
+ tooShort: () =>
385
+ this._connected && this.inputElement.validity.tooShort,
386
+ tooLong: () =>
387
+ this._connected && this.inputElement.validity.tooLong,
388
+ },
389
+ 'textarea'
390
+ );
391
+
392
+ this._constraintApiProxyInputUpdater =
393
+ this._constraint.setInputAttributes({
394
+ value: () => this.value,
395
+ maxlength: () => this.maxLength,
396
+ minlength: () => this.minLength,
397
+ disabled: () => this.disabled,
398
+ readonly: () => this.readOnly,
399
+ required: () => this.required,
400
+ });
401
+ }
402
+ return this._constraintApi;
403
+ }
404
+
405
+ get computedAriaInvalid() {
406
+ return computeAriaInvalid(this._helpMessage, this.value);
407
+ }
408
+
409
+ get helptextAlternativeText() {
410
+ return formatLabel(i18n.helpTextAlternativeText, this.label);
411
+ }
412
+
413
+ /************************** LIFECYCLE HOOKS **************************/
414
+
415
+ constructor() {
416
+ super();
417
+ this.ariaObserver = new AriaObserver(this);
418
+ this._isNativeShadow = isNativeComponent(this);
419
+ }
420
+
421
+ connectedCallback() {
422
+ super.connectedCallback();
423
+ this.updateHostClassList();
424
+ this._connected = true;
425
+ this.interactingState = new InteractingState();
426
+ this.interactingState.onleave(() => this.showHelpMessageIfInvalid());
427
+ }
428
+
429
+ renderedCallback() {
430
+ this.ariaObserver.sync(this._isNativeShadow);
431
+ // IE11: This is needed to work-around IE11 issue where it would append default value to the place holder,
432
+ // instead of actually setting the value on the textarea element.
433
+ if (!this._rendered) {
434
+ this.connectAriaDescribedBy();
435
+ this._rendered = true;
436
+ this._setInputValue(this._defaultValue);
437
+
438
+ // For non-desktop cases where ui:scroller prevents scrolling within the textarea.
439
+ // The TouchScroller library allows touchmove events to scroll through the content of
440
+ // the textarea but sets appropriate flags in the event to allow ui:scroller to scroll
441
+ // the page when a content boundary is reached.
442
+ const scrollTarget = this.template.querySelector(
443
+ '.textarea-container'
444
+ );
445
+ this.touchScroller = new TouchScroller(scrollTarget);
446
+ }
447
+ // If the help message changed, the help message element needs to be (un)related
448
+ if (this._helpMessageChanged) {
449
+ this.connectAriaDescribedBy();
450
+ this._helpMessageChanged = false;
451
+ }
452
+ }
453
+
454
+ disconnectedCallback() {
455
+ this._connected = false;
456
+ if (this.ariaObserver && this.ariaObserver.disconnect) {
457
+ this.ariaObserver.disconnect();
458
+ this.ariaObserver = null;
459
+ }
460
+ }
461
+
462
+ /************************** EVENT HANDLERS ***************************/
463
+
389
464
  handleFocus() {
390
465
  this.interactingState.enter();
391
466
  this.dispatchEvent(new CustomEvent('focus'));
@@ -428,24 +503,18 @@ export default class LightningTextarea extends LightningElement {
428
503
  );
429
504
  }
430
505
 
431
- get inputElement() {
432
- if (this._inputElement) {
433
- return this._inputElement;
434
- }
435
- this._inputElement = this.template.querySelector('textarea');
436
- decorateInputForDragon(this._inputElement);
437
- return this._inputElement;
438
- }
506
+ /************************** HELPER FUNCTIONS **************************/
439
507
 
440
- get computedUniqueHelpElementId() {
441
- const helpMessage = this.template.querySelector('[data-help-message]');
442
- let spaceSeperatedDescribedByIds = getRealDOMId(helpMessage);
443
- if (this.ariaDescribedBy && spaceSeperatedDescribedByIds) {
444
- spaceSeperatedDescribedByIds += ` ${this.ariaDescribedBy}`;
445
- } else if (this.ariaDescribedBy) {
446
- spaceSeperatedDescribedByIds = this.ariaDescribedBy;
447
- }
448
- return spaceSeperatedDescribedByIds;
508
+ connectAriaDescribedBy() {
509
+ const helpMessage = isCSR
510
+ ? this.template.querySelector('[data-help-message]')
511
+ : null;
512
+ this.ariaObserver.connect({
513
+ targetSelector: 'textarea',
514
+ attribute: 'aria-describedby',
515
+ relatedNodeIds: this.ariaDescribedBy,
516
+ relatedNodes: helpMessage,
517
+ });
449
518
  }
450
519
 
451
520
  _setInputValue(value) {
@@ -463,43 +532,13 @@ export default class LightningTextarea extends LightningElement {
463
532
  }
464
533
  }
465
534
 
466
- get _constraint() {
467
- if (!this._constraintApi) {
468
- this._constraintApi = new FieldConstraintApiWithProxyInput(
469
- () => this,
470
- {
471
- // Override validity.valueMissing, which was broken in Edge until May 2018.
472
- // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/291588/
473
- valueMissing: () =>
474
- this._required && isEmptyString(this._value),
475
-
476
- tooShort: () =>
477
- this._connected && this.inputElement.validity.tooShort,
478
- tooLong: () =>
479
- this._connected && this.inputElement.validity.tooLong,
480
- },
481
- 'textarea'
482
- );
483
-
484
- this._constraintApiProxyInputUpdater =
485
- this._constraint.setInputAttributes({
486
- value: () => this.value,
487
- maxlength: () => this.maxLength,
488
- minlength: () => this.minLength,
489
- disabled: () => this.disabled,
490
- readonly: () => this.readOnly,
491
- required: () => this.required,
492
- });
493
- }
494
- return this._constraintApi;
495
- }
496
-
497
- get computedAriaInvalid() {
498
- return computeAriaInvalid(this._helpMessage, this.value);
499
- }
500
-
501
- get helptextAlternativeText() {
502
- return formatLabel(i18n.helpTextAlternativeText, this.label);
535
+ updateHostClassList() {
536
+ classListMutation(this.classList, {
537
+ 'slds-form-element': true,
538
+ 'slds-form-element_stacked': this.variant === VARIANT.LABEL_STACKED,
539
+ 'slds-form-element_horizontal':
540
+ this.variant === VARIANT.LABEL_INLINE,
541
+ });
503
542
  }
504
543
  }
505
544
 
@@ -0,0 +1,3 @@
1
+ @import 'lightning/sldsCommon';
2
+ @import './form-element.slds.css';
3
+ @import './textarea.slds.css';
@@ -0,0 +1,5 @@
1
+ :host,
2
+ textarea {
3
+ display: block;
4
+ }
5
+
@@ -0,0 +1,95 @@
1
+
2
+ @supports (--styling-hooks: '') {
3
+ /* sldsCommon.css file comments indicate intentionally
4
+ not adding textarea selector to that file due to
5
+ style leaks in synthetic shadow mode.
6
+ adding here instead
7
+ */
8
+ :host([data-render-mode="shadow"]) textarea {
9
+ color: inherit;
10
+ font: inherit;
11
+ margin: 0;
12
+ }
13
+
14
+ :host([data-render-mode="shadow"]) .slds-textarea {
15
+ /* stylelint-disable sds-stylelint-plugin/styling-hooks-deprecated */
16
+
17
+ /* stylelint-disable sds-stylelint-plugin/styling-hooks-pattern */
18
+ appearance: none;
19
+ min-height: var(--slds-c-textarea-sizing-min-height);
20
+ width: 100%;
21
+ padding-block-start: var(--slds-c-textarea-spacing-block-start, var(--slds-g-spacing-2));
22
+ padding-inline-end: var(--slds-c-textarea-spacing-inline-end, var(--slds-g-spacing-3));
23
+ padding-block-end: var(--slds-c-textarea-spacing-block-end, var(--slds-g-spacing-2));
24
+ padding-inline-start: var(--slds-c-textarea-spacing-inline-start, var(--slds-g-spacing-3));
25
+ background-color: var(--slds-c-textarea-color-background, var(--slds-g-color-neutral-base-100, var(--slds-g-color-neutral-base-100)));
26
+ color: var(--slds-c-textarea-text-color);
27
+ border: var(--slds-g-sizing-border-1) solid var(--slds-c-textarea-color-border, var(--slds-g-color-border-base-4, var(--slds-g-color-border-base-1)));
28
+ border-radius: var(--slds-c-textarea-radius-border, var(--slds-g-radius-border-2));
29
+ box-shadow: var(--slds-c-textarea-shadow);
30
+ resize: vertical;
31
+ transition: border 0.1s linear, background-color 0.1s linear;
32
+ /* stylelint-enable sds-stylelint-plugin/styling-hooks-deprecated */
33
+
34
+ /* stylelint-enable sds-stylelint-plugin/styling-hooks-pattern */
35
+ }
36
+
37
+ :host([data-render-mode="shadow"]) .slds-textarea:required {
38
+ --slds-c-textarea-shadow: none;
39
+ }
40
+
41
+ :host([data-render-mode="shadow"]) .slds-textarea:focus,:host([data-render-mode="shadow"])
42
+ .slds-textarea:active {
43
+ outline: 0;
44
+ color: var(--slds-c-textarea-text-color-focus);
45
+ background-color: var(--slds-c-textarea-color-background-focus, var(--slds-g-color-neutral-base-100, var(--slds-g-color-neutral-base-100)));
46
+ border-color: var(--slds-c-textarea-color-border-focus, var(--slds-g-color-brand-base-60, var(--slds-g-color-brand-base-60)));
47
+ box-shadow: var(--slds-c-textarea-shadow-focus, 0 0 var(--slds-g-sizing-border-3) var(--slds-g-color-brand-base-50));
48
+ }
49
+
50
+ :host([data-render-mode="shadow"]) .slds-textarea[disabled],:host([data-render-mode="shadow"])
51
+ .slds-textarea.slds-is-disabled {
52
+ background-color: var(--slds-g-color-neutral-base-80, var(--slds-g-color-neutral-base-95));
53
+ border-color: var(--slds-g-color-border-base-1, var(--slds-g-color-neutral-base-80));
54
+ color: inherit;
55
+ cursor: not-allowed;
56
+ user-select: none;
57
+ }
58
+
59
+ :host([data-render-mode="shadow"]) .slds-textarea[disabled]:focus,:host([data-render-mode="shadow"])
60
+ .slds-textarea[disabled]:active,:host([data-render-mode="shadow"])
61
+ .slds-textarea.slds-is-disabled:focus,:host([data-render-mode="shadow"])
62
+ .slds-textarea.slds-is-disabled:active {
63
+ box-shadow: none;
64
+ }
65
+
66
+ /* replace .slds-has-error with invalid */
67
+ :host([data-render-mode="shadow"][invalid]) .slds-textarea {
68
+ --slds-c-textarea-color-background: var(--slds-g-color-neutral-base-100, var(--slds-g-color-neutral-base-100));
69
+ --slds-c-textarea-color-border: var(--slds-g-color-error-base-40, var(--slds-g-color-error-base-50));
70
+ --slds-c-textarea-shadow: var(--slds-g-color-error-base-40, var(--slds-g-color-error-base-50)) 0 0 0 var(--slds-g-sizing-border-1) inset;
71
+
72
+ background-clip: padding-box;
73
+ }
74
+
75
+ /* replace .slds-has-error with invalid */
76
+ :host([data-render-mode="shadow"][invalid]) .slds-textarea:focus,:host([data-render-mode="shadow"][invalid]) .slds-textarea:active {
77
+ --slds-c-textarea-text-color-focus: var(--slds-c-textarea-text-color-error-focus);
78
+ --slds-c-textarea-color-background-focus: var(--slds-c-textarea-color-background-error-focus, var(--slds-g-color-neutral-base-100, var(--slds-g-color-neutral-base-100)));
79
+ --slds-c-textarea-shadow-focus: var(--slds-g-color-error-base-40, var(--slds-g-color-error-base-50)) 0 0 0 var(--slds-g-sizing-border-1) inset, 0 0 var(--slds-g-sizing-border-3) var(--slds-g-color-brand-base-50);
80
+ }
81
+
82
+ /* TODO W-12674349: remove after name-value-list utils are added */
83
+ :host([data-render-mode="shadow"]) .slds-assistive-text {
84
+ position: absolute !important;
85
+ margin: -1px !important;
86
+ border: 0 !important;
87
+ padding: 0 !important;
88
+ width: 1px !important;
89
+ height: 1px !important;
90
+ overflow: hidden !important;
91
+ clip: rect(0 0 0 0) !important;
92
+ text-transform: none !important;
93
+ white-space: nowrap !important;
94
+ }
95
+ }
@@ -1,3 +1 @@
1
- :host {
2
- display: block;
3
- }
1
+ @import './standardTile.lbc.synthetic.css';
@@ -0,0 +1,3 @@
1
+ :host {
2
+ display: block;
3
+ }