lightning-base-components 1.16.6-alpha → 1.16.8-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 (423) hide show
  1. package/metadata/raptor.json +71 -0
  2. package/package.json +31 -6
  3. package/scopedImports/@salesforce-label-Global_Entity.created_by.js +1 -0
  4. package/scopedImports/@salesforce-label-Global_Entity.last_modified_by.js +1 -0
  5. package/scopedImports/@salesforce-label-LightningForm.editErrorHelp.js +1 -1
  6. package/scopedImports/@salesforce-label-LightningForm.errorPopoverHeading.js +1 -1
  7. package/scopedImports/@salesforce-label-LightningForm.saveFieldErrorSummary.js +1 -1
  8. package/scopedImports/@salesforce-label-LightningLookup.messageWhenMissingInformation.js +1 -1
  9. package/scopedImports/@salesforce-label-LightningRichTextEditor.linkInputTitle.js +1 -0
  10. package/scopedImports/@salesforce-label-LightningToast.missingToastLabel.js +1 -0
  11. package/scopedImports/@salesforce-label-LightningToastContainer.missingToastConfig.js +1 -0
  12. package/scopedImports/@salesforce-label-LightningToastContainer.missingToastProperty.js +1 -0
  13. package/src/lightning/alert/__examples__disabled/basic/basic.css +1 -1
  14. package/src/lightning/barcodeScanner/__docs__/barcodeScanner.md +122 -0
  15. package/src/lightning/barcodeScanner/barcodeScanner.html +39 -0
  16. package/src/lightning/barcodeScanner/barcodeScanner.js +224 -0
  17. package/src/lightning/barcodeScanner/barcodeScanner.js-meta.xml +6 -0
  18. package/src/lightning/baseCombobox/listbox.slds.css +267 -0
  19. package/src/lightning/breadcrumbs/breadcrumbs.css +1 -0
  20. package/src/lightning/button/__examples__/accesskey/accesskey.css +1 -1
  21. package/src/lightning/button/__examples__/inverse/inverse.css +1 -1
  22. package/src/lightning/button/button.slds.css +41 -11
  23. package/src/lightning/buttonGroup/__examples__/inverse/inverse.css +1 -1
  24. package/src/lightning/buttonIcon/__examples__/basic/basic.css +1 -1
  25. package/src/lightning/buttonIcon/__examples__/inverse/inverse.css +1 -1
  26. package/src/lightning/buttonIcon/buttonIcon.js +35 -11
  27. package/src/lightning/buttonIconStateful/__examples__/basic/basic.css +1 -1
  28. package/src/lightning/buttonIconStateful/__examples__/variants/variants.css +2 -2
  29. package/src/lightning/buttonMenu/__examples__/basic/basic.css +2 -2
  30. package/src/lightning/buttonMenu/__examples__/onselect/onselect.css +2 -2
  31. package/src/lightning/buttonMenu/__examples__/variants/variants.css +2 -2
  32. package/src/lightning/buttonMenu/__examples__/withIcon/withIcon.css +2 -2
  33. package/src/lightning/buttonMenu/buttonMenu.css +2 -0
  34. package/src/lightning/buttonMenu/buttonMenu.html +14 -7
  35. package/src/lightning/buttonMenu/buttonMenu.js +8 -1
  36. package/src/lightning/buttonMenu/dropdown.slds.css +1360 -0
  37. package/src/lightning/buttonStateful/button-stateful.slds.css +0 -3084
  38. package/src/lightning/carousel/carousel.css +1 -0
  39. package/src/lightning/carousel/carousel.html +2 -1
  40. package/src/lightning/carousel/carousel.js +7 -0
  41. package/src/lightning/combobox/combobox.css +4 -4
  42. package/src/lightning/confirm/__examples__disabled/basic/basic.css +1 -1
  43. package/src/lightning/datatable/datatable.js +56 -1
  44. package/src/lightning/datatable/templates/div/div.css +1 -1
  45. package/src/lightning/datatable/templates/div/div.html +1 -0
  46. package/src/lightning/datatable/templates/table/table.html +1 -0
  47. package/src/lightning/dualListbox/dualListbox.css +3 -0
  48. package/src/lightning/dualListbox/dualListbox.html +2 -2
  49. package/src/lightning/dualListbox/listbox.slds.css +267 -0
  50. package/src/lightning/formattedLookup/formattedLookup.js +4 -0
  51. package/src/lightning/groupedCombobox/groupedCombobox.html +4 -4
  52. package/src/lightning/groupedCombobox/groupedCombobox.js +5 -3
  53. package/src/lightning/helptext/__examples__/basic/basic.css +2 -2
  54. package/src/lightning/helptext/helptext.html +9 -13
  55. package/src/lightning/helptext/helptext.js +22 -71
  56. package/src/lightning/icon/__examples__/variants/variants.css +2 -1
  57. package/src/lightning/icon/icon.slds.css +0 -3084
  58. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/ai.html +4 -4
  59. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/attachment.html +3 -3
  60. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/audio.html +3 -3
  61. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/box_notes.html +3 -3
  62. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/csv.html +3 -3
  63. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/eps.html +4 -4
  64. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/excel.html +3 -3
  65. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/exe.html +3 -3
  66. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/flash.html +3 -3
  67. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/folder.html +3 -3
  68. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/gdoc.html +3 -3
  69. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/gdocs.html +3 -3
  70. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/gform.html +3 -3
  71. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/gpres.html +4 -4
  72. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/gsheet.html +3 -3
  73. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/html.html +3 -3
  74. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/image.html +3 -3
  75. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/keynote.html +4 -4
  76. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/library_folder.html +3 -3
  77. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/link.html +3 -3
  78. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/mp4.html +3 -3
  79. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/overlay.html +4 -4
  80. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/pack.html +3 -3
  81. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/pages.html +3 -3
  82. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/pdf.html +3 -3
  83. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/ppt.html +4 -4
  84. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/psd.html +3 -3
  85. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/quip_doc.html +3 -3
  86. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/quip_sheet.html +3 -3
  87. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/quip_slide.html +3 -3
  88. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/rtf.html +3 -3
  89. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/slide.html +3 -3
  90. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/stypi.html +5 -5
  91. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/txt.html +4 -4
  92. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/unknown.html +3 -3
  93. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/video.html +3 -3
  94. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/visio.html +3 -3
  95. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/webex.html +4 -4
  96. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/word.html +2 -2
  97. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/xml.html +4 -4
  98. package/src/lightning/iconSvgTemplates/buildTemplates/doctype/zip.html +3 -3
  99. package/src/lightning/iconSvgTemplates/buildTemplates/standard/answer_best.html +4 -2
  100. package/src/lightning/iconSvgTemplates/buildTemplates/standard/answer_private.html +5 -3
  101. package/src/lightning/iconSvgTemplates/buildTemplates/standard/asset_hierarchy.html +8 -0
  102. package/src/lightning/iconSvgTemplates/buildTemplates/standard/budget_category_value.html +7 -0
  103. package/src/lightning/iconSvgTemplates/buildTemplates/standard/budget_period.html +7 -0
  104. package/src/lightning/iconSvgTemplates/buildTemplates/standard/crypto_category_wallet_group.html +1 -1
  105. package/src/lightning/iconSvgTemplates/buildTemplates/standard/crypto_transaction_envelope_change_snapshot.html +7 -0
  106. package/src/lightning/iconSvgTemplates/buildTemplates/standard/data_transforms.html +7 -0
  107. package/src/lightning/iconSvgTemplates/buildTemplates/standard/funding_award_adjustment.html +8 -0
  108. package/src/lightning/iconSvgTemplates/buildTemplates/standard/funding_requirement.html +8 -0
  109. package/src/lightning/iconSvgTemplates/buildTemplates/standard/promotion_tiers.html +10 -0
  110. package/src/lightning/iconSvgTemplates/buildTemplates/standard/question_best.html +2 -2
  111. package/src/lightning/iconSvgTemplates/buildTemplates/standard/slack_conversations.html +8 -0
  112. package/src/lightning/iconSvgTemplates/buildTemplates/standard/travel_mode.html +2 -2
  113. package/src/lightning/iconSvgTemplates/buildTemplates/standard/your_account.html +10 -0
  114. package/src/lightning/iconSvgTemplates/buildTemplates/templates.js +30 -1
  115. package/src/lightning/iconSvgTemplates/buildTemplates/utility/asset_object.html +7 -0
  116. package/src/lightning/iconSvgTemplates/buildTemplates/utility/budget_category_value.html +7 -0
  117. package/src/lightning/iconSvgTemplates/buildTemplates/utility/budget_period.html +7 -0
  118. package/src/lightning/iconSvgTemplates/buildTemplates/utility/contact.html +7 -0
  119. package/src/lightning/iconSvgTemplates/buildTemplates/utility/funding_award_adjustment.html +8 -0
  120. package/src/lightning/iconSvgTemplates/buildTemplates/utility/funding_requirement.html +8 -0
  121. package/src/lightning/iconSvgTemplates/buildTemplates/utility/http.html +7 -0
  122. package/src/lightning/iconSvgTemplates/buildTemplates/utility/knowledge_smart_link.html +9 -0
  123. package/src/lightning/iconSvgTemplates/buildTemplates/utility/lead.html +8 -0
  124. package/src/lightning/iconSvgTemplates/buildTemplates/utility/maintenance_plan.html +8 -0
  125. package/src/lightning/iconSvgTemplates/buildTemplates/utility/no_return.html +7 -0
  126. package/src/lightning/iconSvgTemplates/buildTemplates/utility/opportunity.html +7 -0
  127. package/src/lightning/iconSvgTemplates/buildTemplates/utility/orders.html +9 -0
  128. package/src/lightning/iconSvgTemplates/buildTemplates/utility/product.html +7 -0
  129. package/src/lightning/iconSvgTemplates/buildTemplates/utility/proposition.html +8 -0
  130. package/src/lightning/iconSvgTemplates/buildTemplates/utility/queue.html +9 -0
  131. package/src/lightning/iconSvgTemplates/buildTemplates/utility/send_log.html +7 -0
  132. package/src/lightning/iconSvgTemplates/buildTemplates/utility/service_contract.html +8 -0
  133. package/src/lightning/iconSvgTemplates/buildTemplates/utility/slack_conversations.html +8 -0
  134. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/ai.html +4 -4
  135. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/attachment.html +3 -3
  136. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/audio.html +3 -3
  137. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/box_notes.html +3 -3
  138. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/csv.html +3 -3
  139. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/eps.html +4 -4
  140. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/excel.html +3 -3
  141. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/exe.html +3 -3
  142. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/flash.html +3 -3
  143. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/folder.html +3 -3
  144. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/gdoc.html +3 -3
  145. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/gdocs.html +3 -3
  146. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/gform.html +3 -3
  147. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/gpres.html +4 -4
  148. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/gsheet.html +3 -3
  149. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/html.html +3 -3
  150. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/image.html +3 -3
  151. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/keynote.html +4 -4
  152. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/library_folder.html +3 -3
  153. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/link.html +3 -3
  154. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/mp4.html +3 -3
  155. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/overlay.html +4 -4
  156. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/pack.html +3 -3
  157. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/pages.html +3 -3
  158. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/pdf.html +3 -3
  159. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/ppt.html +4 -4
  160. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/psd.html +3 -3
  161. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/quip_doc.html +3 -3
  162. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/quip_sheet.html +3 -3
  163. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/quip_slide.html +3 -3
  164. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/rtf.html +3 -3
  165. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/slide.html +3 -3
  166. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/stypi.html +5 -5
  167. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/txt.html +4 -4
  168. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/unknown.html +3 -3
  169. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/video.html +3 -3
  170. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/visio.html +3 -3
  171. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/webex.html +4 -4
  172. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/word.html +2 -2
  173. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/xml.html +4 -4
  174. package/src/lightning/iconSvgTemplatesDoctype/buildTemplates/doctype/zip.html +3 -3
  175. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/ai.html +4 -4
  176. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/attachment.html +3 -3
  177. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/audio.html +3 -3
  178. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/box_notes.html +3 -3
  179. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/csv.html +3 -3
  180. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/eps.html +4 -4
  181. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/excel.html +3 -3
  182. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/exe.html +3 -3
  183. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/flash.html +3 -3
  184. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/folder.html +3 -3
  185. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/gdoc.html +3 -3
  186. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/gdocs.html +3 -3
  187. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/gform.html +3 -3
  188. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/gpres.html +4 -4
  189. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/gsheet.html +3 -3
  190. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/html.html +3 -3
  191. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/image.html +3 -3
  192. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/keynote.html +4 -4
  193. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/library_folder.html +3 -3
  194. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/link.html +3 -3
  195. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/mp4.html +3 -3
  196. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/overlay.html +4 -4
  197. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/pack.html +3 -3
  198. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/pages.html +3 -3
  199. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/pdf.html +3 -3
  200. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/ppt.html +4 -4
  201. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/psd.html +3 -3
  202. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/quip_doc.html +3 -3
  203. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/quip_sheet.html +3 -3
  204. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/quip_slide.html +3 -3
  205. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/rtf.html +3 -3
  206. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/slide.html +3 -3
  207. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/stypi.html +5 -5
  208. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/txt.html +4 -4
  209. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/unknown.html +3 -3
  210. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/video.html +3 -3
  211. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/visio.html +3 -3
  212. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/webex.html +4 -4
  213. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/word.html +2 -2
  214. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/xml.html +4 -4
  215. package/src/lightning/iconSvgTemplatesDoctypeRtl/buildTemplates/doctype/zip.html +3 -3
  216. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/ai.html +4 -4
  217. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/attachment.html +3 -3
  218. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/audio.html +3 -3
  219. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/box_notes.html +3 -3
  220. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/csv.html +3 -3
  221. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/eps.html +4 -4
  222. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/excel.html +3 -3
  223. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/exe.html +3 -3
  224. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/flash.html +3 -3
  225. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/folder.html +3 -3
  226. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/gdoc.html +3 -3
  227. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/gdocs.html +3 -3
  228. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/gform.html +3 -3
  229. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/gpres.html +4 -4
  230. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/gsheet.html +3 -3
  231. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/html.html +3 -3
  232. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/image.html +3 -3
  233. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/keynote.html +4 -4
  234. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/library_folder.html +3 -3
  235. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/link.html +3 -3
  236. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/mp4.html +3 -3
  237. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/overlay.html +4 -4
  238. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/pack.html +3 -3
  239. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/pages.html +3 -3
  240. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/pdf.html +3 -3
  241. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/ppt.html +4 -4
  242. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/psd.html +3 -3
  243. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/quip_doc.html +3 -3
  244. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/quip_sheet.html +3 -3
  245. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/quip_slide.html +3 -3
  246. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/rtf.html +3 -3
  247. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/slide.html +3 -3
  248. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/stypi.html +5 -5
  249. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/txt.html +4 -4
  250. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/unknown.html +3 -3
  251. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/video.html +3 -3
  252. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/visio.html +3 -3
  253. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/webex.html +4 -4
  254. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/word.html +2 -2
  255. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/xml.html +4 -4
  256. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/doctype/zip.html +3 -3
  257. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/answer_best.html +4 -2
  258. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/answer_private.html +5 -3
  259. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/asset_hierarchy.html +8 -0
  260. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/budget_category_value.html +7 -0
  261. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/budget_period.html +7 -0
  262. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/crypto_category_wallet_group.html +1 -1
  263. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/crypto_transaction_envelope_change_snapshot.html +7 -0
  264. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/data_transforms.html +7 -0
  265. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/funding_award_adjustment.html +8 -0
  266. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/funding_requirement.html +8 -0
  267. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/promotion_tiers.html +10 -0
  268. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/question_best.html +2 -2
  269. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/slack_conversations.html +8 -0
  270. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/travel_mode.html +2 -2
  271. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/your_account.html +10 -0
  272. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/templates.js +30 -1
  273. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/asset_object.html +7 -0
  274. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/budget_category_value.html +7 -0
  275. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/budget_period.html +7 -0
  276. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/contact.html +7 -0
  277. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/funding_award_adjustment.html +8 -0
  278. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/funding_requirement.html +8 -0
  279. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/http.html +7 -0
  280. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/knowledge_smart_link.html +9 -0
  281. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/lead.html +8 -0
  282. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/maintenance_plan.html +8 -0
  283. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/no_return.html +7 -0
  284. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/opportunity.html +7 -0
  285. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/orders.html +9 -0
  286. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/product.html +7 -0
  287. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/proposition.html +8 -0
  288. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/queue.html +9 -0
  289. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/send_log.html +7 -0
  290. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/service_contract.html +8 -0
  291. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/slack_conversations.html +8 -0
  292. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/answer_best.html +4 -2
  293. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/answer_private.html +5 -3
  294. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/asset_hierarchy.html +8 -0
  295. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/budget_category_value.html +7 -0
  296. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/budget_period.html +7 -0
  297. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/crypto_category_wallet_group.html +1 -1
  298. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/crypto_transaction_envelope_change_snapshot.html +7 -0
  299. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/data_transforms.html +7 -0
  300. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/funding_award_adjustment.html +8 -0
  301. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/funding_requirement.html +8 -0
  302. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/promotion_tiers.html +10 -0
  303. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/question_best.html +2 -2
  304. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/slack_conversations.html +8 -0
  305. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/travel_mode.html +2 -2
  306. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/your_account.html +10 -0
  307. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/templates.js +11 -1
  308. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/answer_best.html +4 -2
  309. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/answer_private.html +5 -3
  310. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/asset_hierarchy.html +8 -0
  311. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/budget_category_value.html +7 -0
  312. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/budget_period.html +7 -0
  313. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/crypto_category_wallet_group.html +1 -1
  314. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/crypto_transaction_envelope_change_snapshot.html +7 -0
  315. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/data_transforms.html +7 -0
  316. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/funding_award_adjustment.html +8 -0
  317. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/funding_requirement.html +8 -0
  318. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/promotion_tiers.html +10 -0
  319. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/question_best.html +2 -2
  320. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/slack_conversations.html +8 -0
  321. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/travel_mode.html +2 -2
  322. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/your_account.html +10 -0
  323. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/templates.js +11 -1
  324. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/templates.js +20 -1
  325. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/asset_object.html +7 -0
  326. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/budget_category_value.html +7 -0
  327. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/budget_period.html +7 -0
  328. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/contact.html +7 -0
  329. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/funding_award_adjustment.html +8 -0
  330. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/funding_requirement.html +8 -0
  331. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/http.html +7 -0
  332. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/knowledge_smart_link.html +9 -0
  333. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/lead.html +8 -0
  334. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/maintenance_plan.html +8 -0
  335. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/no_return.html +7 -0
  336. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/opportunity.html +7 -0
  337. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/orders.html +9 -0
  338. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/product.html +7 -0
  339. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/proposition.html +8 -0
  340. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/queue.html +9 -0
  341. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/send_log.html +7 -0
  342. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/service_contract.html +8 -0
  343. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/slack_conversations.html +8 -0
  344. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/templates.js +20 -1
  345. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/asset_object.html +7 -0
  346. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/budget_category_value.html +7 -0
  347. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/budget_period.html +7 -0
  348. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/contact.html +7 -0
  349. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/funding_award_adjustment.html +8 -0
  350. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/funding_requirement.html +8 -0
  351. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/http.html +7 -0
  352. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/knowledge_smart_link.html +9 -0
  353. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/lead.html +8 -0
  354. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/maintenance_plan.html +8 -0
  355. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/no_return.html +7 -0
  356. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/opportunity.html +7 -0
  357. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/orders.html +9 -0
  358. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/product.html +7 -0
  359. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/proposition.html +8 -0
  360. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/queue.html +9 -0
  361. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/send_log.html +7 -0
  362. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/service_contract.html +8 -0
  363. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/slack_conversations.html +8 -0
  364. package/src/lightning/input/__docs__/input.md +1 -1
  365. package/src/lightning/input/__examples__/color/color.css +2 -2
  366. package/src/lightning/input/__examples__/email/email.css +2 -2
  367. package/src/lightning/input/__examples__/file/file.css +2 -2
  368. package/src/lightning/input/__examples__/fileOnchange/fileOnchange.css +2 -2
  369. package/src/lightning/input/__examples__/text/text.css +2 -2
  370. package/src/lightning/input/__examples__/textAdvanced/textAdvanced.css +3 -3
  371. package/src/lightning/input/input.js +28 -4
  372. package/src/lightning/input/numberUtil.js +10 -5
  373. package/src/lightning/interactiveDialogBase/interactiveDialogBase.css +64 -38
  374. package/src/lightning/layout/__examples__/horizontalAlignSpace/horizontalAlignSpace.css +1 -1
  375. package/src/lightning/layout/__examples__/horizontalAlignSpread/horizontalAlignSpread.css +1 -1
  376. package/src/lightning/layout/__examples__/nested/nested.css +5 -1
  377. package/src/lightning/layout/__examples__/pullToBoundary/pullToBoundary.css +1 -1
  378. package/src/lightning/layout/__examples__/simple/simple.css +3 -1
  379. package/src/lightning/layout/__examples__/verticalAlignCenter/verticalAlignCenter.css +4 -1
  380. package/src/lightning/layout/__examples__/verticalAlignStretch/verticalAlignStretch.css +4 -1
  381. package/src/lightning/menuDivider/__examples__/divider/divider.css +2 -2
  382. package/src/lightning/menuDivider/__examples__/withSubhead/withSubhead.css +2 -2
  383. package/src/lightning/menuItem/__examples__/iteration/iteration.css +2 -2
  384. package/src/lightning/menuItem/__examples__/menuItems/menuItems.css +2 -2
  385. package/src/lightning/menuItem/menuItem.js +8 -4
  386. package/src/lightning/menuSubheader/__examples__/subheader/subheader.css +2 -2
  387. package/src/lightning/menuSubheader/__examples__/withDividers/withDividers.css +2 -2
  388. package/src/lightning/modal/__examples__disabled/all/all.css +1 -1
  389. package/src/lightning/modal/__examples__disabled/allform/allform.css +1 -1
  390. package/src/lightning/modal/__examples__disabled/basic/basic.css +1 -1
  391. package/src/lightning/modal/__examples__disabled/footless/footless.css +1 -1
  392. package/src/lightning/modal/__examples__disabled/headless/headless.css +1 -1
  393. package/src/lightning/overlay/__examples__/basic/basic.css +1 -1
  394. package/src/lightning/overlayContainer/overlayContainer.js +107 -43
  395. package/src/lightning/overlayManager/overlayManager.js +51 -20
  396. package/src/lightning/overlayUtils/overlayUtils.js +14 -0
  397. package/src/lightning/positionLibrary/direction.js +26 -4
  398. package/src/lightning/primitiveCellEditableButton/primitiveCellEditableButton.html +1 -1
  399. package/src/lightning/primitiveColorpickerButton/color-picker-button.slds.css +0 -3084
  400. package/src/lightning/primitiveIcon/icon.slds.css +0 -3084
  401. package/src/lightning/prompt/__examples__disabled/basic/basic.css +1 -1
  402. package/src/lightning/prompt/prompt.css +20 -16
  403. package/src/lightning/radioGroup/input-radio-group.slds.css +5 -3
  404. package/src/lightning/sldsCommon/sldsCommon.css +4 -4
  405. package/src/lightning/tile/__examples__/basic/basic.css +2 -2
  406. package/src/lightning/tile/__examples__/list/list.css +2 -2
  407. package/src/lightning/tile/__examples__/withAvatar/withAvatar.css +2 -2
  408. package/src/lightning/tile/__examples__/withIcon/withIcon.css +2 -2
  409. package/src/lightning/tree/__examples__/basic/basic.css +2 -2
  410. package/src/lightning/tree/__examples__/deeplyNested/deeplyNested.css +2 -2
  411. package/src/lightning/tree/__examples__/links/links.css +2 -2
  412. package/src/lightning/tree/__examples__/metatext/metatext.css +2 -2
  413. package/src/lightning/tree/__examples__/onselect/onselect.css +2 -2
  414. package/src/lightning/tree/tree.html +4 -2
  415. package/src/lightning/tree/tree.js +7 -0
  416. package/src/lightning/treeGrid/__examples__/basic/basic.css +2 -2
  417. package/src/lightning/treeGrid/__examples__/expanded/expanded.css +2 -2
  418. package/src/lightning/treeGrid/__examples__/lazyLoading/lazyLoading.css +2 -2
  419. package/src/lightning/treeGrid/treeGrid.js +5 -2
  420. package/src/lightning/utilsPrivate/aria.js +5 -1
  421. package/src/lightning/utilsPrivate/normalize.js +28 -0
  422. package/src/lightning/utilsPrivate/url.js +14 -0
  423. package/src/lightning/utilsPrivate/utilsPrivate.js +7 -1
@@ -6,7 +6,10 @@ import {
6
6
  removeOverlayFromSharedState,
7
7
  normalizeOverlayDetails,
8
8
  subscribeOverlay,
9
- LWC_STARTING_ZINDEX,
9
+ getStatCount,
10
+ TYPE_TOAST_CONTAINER,
11
+ LWC_OVERLAY_STARTING_ZINDEX,
12
+ LWC_TOAST_CONTAINER_STARTING_ZINDEX,
10
13
  LWC_OVERLAY_TYPES,
11
14
  LWC_ZINDEX_INCREMENT,
12
15
  LWC_ZINDEX_OFFSET,
@@ -42,6 +45,10 @@ export default class LightningOverlayContainer extends LightningElement {
42
45
  }
43
46
  const { [instanceName]: overlayInstanceName, [parent]: overlayParent } =
44
47
  scope;
48
+
49
+ if (!this.isOverlayAllowedToAdd(overlayInstanceName)) {
50
+ return Promise.reject();
51
+ }
45
52
  const element = createElement(overlayInstanceName, { is: scope });
46
53
 
47
54
  Object.entries(apis).forEach(([key, value]) => {
@@ -93,41 +100,54 @@ export default class LightningOverlayContainer extends LightningElement {
93
100
  */
94
101
  @api pop(element, result, promise) {
95
102
  const stackLength = this.stack.length;
96
- let stackElement,
103
+ let stackElementToRemove,
97
104
  stackIndexToRemove = -1;
98
105
  if (stackLength > 0) {
99
106
  // find element to remove, by looping through array in reverse order
100
- // typically, the last item in the array will be removed
101
- for (let index = stackLength; index--; index >= 0) {
102
- stackElement = this.stack[index];
103
- if (element === stackElement.element) {
104
- stackIndexToRemove = index;
105
- break;
107
+ // typically, the last item in the zero-based array will be removed
108
+ for (let index = stackLength - 1; index > -1; index--) {
109
+ if (this.stack[index]) {
110
+ stackElementToRemove = this.stack[index];
111
+ if (element === stackElementToRemove.element) {
112
+ stackIndexToRemove = index;
113
+ break;
114
+ }
106
115
  }
107
116
  }
108
-
109
- const { element: elem, parentElement, resolve, id } = stackElement;
110
- // Resolve immediately
111
- resolve(result);
112
- // Wait for animation out to complete.
113
- // Ex: LightningModal slide up animation
114
- // We need to wait until the promise.then()[PASS] or we
115
- // remove the element too early, and animation gets clipped
116
- if (promise) {
117
- promise.then(() => {
117
+ if (stackElementToRemove) {
118
+ const {
119
+ element: elem,
120
+ parentElement,
121
+ resolve,
122
+ id,
123
+ } = stackElementToRemove;
124
+ // Resolve immediately
125
+ resolve(result);
126
+ // Wait for animation out to complete.
127
+ // Ex: LightningModal slide up animation
128
+ // We need to wait until the promise.then()[PASS] or we
129
+ // remove the element too early, and animation gets clipped
130
+ if (promise) {
131
+ promise.then(() => {
132
+ this.removeOverlay(
133
+ elem,
134
+ parentElement,
135
+ stackIndexToRemove,
136
+ id
137
+ );
138
+ });
139
+ } else {
140
+ // No animation, so no need to wait
141
+ // before removal
142
+ // IE11 and prefers-reduced-motion
143
+ // take this path
118
144
  this.removeOverlay(
119
145
  elem,
120
146
  parentElement,
121
147
  stackIndexToRemove,
122
148
  id
123
149
  );
124
- });
125
- } else {
126
- // No animation, so no need to wait
127
- // before removal
128
- // IE11 and prefers-reduced-motion
129
- // take this path
130
- this.removeOverlay(elem, parentElement, stackIndexToRemove, id);
150
+ }
131
151
  }
132
152
  }
133
153
  return null;
@@ -170,7 +190,7 @@ export default class LightningOverlayContainer extends LightningElement {
170
190
  connectedCallback() {
171
191
  // Notified anytime an overlay is added/removed
172
192
  // LWC overlays start on z-index 9000; always even z-index (9000, 9002)
173
- // Aura overlays start on z-index 9001; always on odd z-ndex (9001, 9003)
193
+ // Aura overlays start on z-index 9001; always on odd z-index (9001, 9003)
174
194
  subscribeOverlay(this.afterFirstRender, (state) => {
175
195
  const {
176
196
  mixedOverlayPresent,
@@ -187,11 +207,13 @@ export default class LightningOverlayContainer extends LightningElement {
187
207
 
188
208
  // initialize z-index value to set,
189
209
  // value changes if Aura overlays present
190
- let lwcZIndexToSet = LWC_STARTING_ZINDEX;
210
+ let lwcZIndexToSet = LWC_OVERLAY_STARTING_ZINDEX;
191
211
  // lwc count used to correctly access
192
212
  // overlay containers elements
193
213
  let lwcOverlayCount = 0;
194
-
214
+ let lwcToastContainerZIndexToSet =
215
+ LWC_TOAST_CONTAINER_STARTING_ZINDEX;
216
+ const toastOverlayStack = [];
195
217
  // loop over stack, set correct z-index and position values
196
218
  // depending on state of LWC-only or Aura+LWC overlay
197
219
  stack.forEach((overlayObject, stackIndex) => {
@@ -203,22 +225,29 @@ export default class LightningOverlayContainer extends LightningElement {
203
225
  (LWC_OVERLAY_TYPES[overlayType] &&
204
226
  LWC_OVERLAY_TYPES[overlayType].pos) ||
205
227
  'fixed';
228
+
229
+ const isToastContainer = overlayType === TYPE_TOAST_CONTAINER;
230
+
206
231
  // Strategy: depending on order of appearance, overlayEngine, mixedOverlayPresent
207
232
  // set interleaving z-index
208
233
  // LWC stack starts at 9000 z-index, z-index increments by 2 (always even)
209
234
  // Aura stack starts at 9001 z-index, z-index increments by 2 (always odd)
235
+ // LWC toast container overlays starts at 10000 z-index
210
236
 
211
237
  // LWC-only overlays present, default stack behavior
212
238
  // overlays assigned: 9000, 9000, 9000, 9000
213
239
  if (!mixedOverlayPresent) {
214
240
  overlayElem = this.root.childNodes[lwcOverlayCount];
215
241
  if (overlayElem) {
216
- overlayElem.style.zIndex = lwcZIndexToSet;
242
+ const zIndexToSet = isToastContainer
243
+ ? lwcToastContainerZIndexToSet
244
+ : lwcZIndexToSet;
245
+ overlayElem.style.zIndex = zIndexToSet;
217
246
  overlayElem.style.position = positionToSet;
218
247
  // need to update shared state with z-index
219
248
  // in case Aura modal or overlay later occurs
220
249
  const updateDetailsObject = {
221
- zIndex: lwcZIndexToSet,
250
+ zIndex: zIndexToSet,
222
251
  };
223
252
  const updatedOverlayObject = normalizeOverlayDetails(
224
253
  overlayEngine,
@@ -248,19 +277,25 @@ export default class LightningOverlayContainer extends LightningElement {
248
277
  );
249
278
  const existingZindexValue =
250
279
  overlayDetails && overlayDetails.zIndex;
280
+ let lwcZIndex;
251
281
  // if LWC overlay z-index value not already set
252
282
  if (
253
283
  !existingZindexValueIsSet ||
254
284
  Number.isNaN(existingZindexValue)
255
285
  ) {
256
- // need to consider whether LWC overlay is
257
- // first in stack, and if not first, to offset by aura z-index
258
- lwcZIndexToSet =
259
- stackIndex !== 0
260
- ? auraHighestZindex + LWC_ZINDEX_OFFSET
261
- : lwcZIndexToSet;
286
+ if (isToastContainer) {
287
+ lwcZIndex = lwcToastContainerZIndexToSet;
288
+ } else {
289
+ // need to consider whether LWC overlay is
290
+ // first in stack, and if not first, to offset by aura z-index
291
+ lwcZIndexToSet =
292
+ stackIndex !== 0
293
+ ? auraHighestZindex + LWC_ZINDEX_OFFSET
294
+ : lwcZIndexToSet;
295
+ lwcZIndex = lwcZIndexToSet;
296
+ }
262
297
  const updateDetailsObject = {
263
- zIndex: lwcZIndexToSet,
298
+ zIndex: lwcZIndex,
264
299
  };
265
300
  const updatedOverlayObj = normalizeOverlayDetails(
266
301
  overlayEngine,
@@ -276,18 +311,30 @@ export default class LightningOverlayContainer extends LightningElement {
276
311
  state.stack[stackIndex] = updatedOverlayObj;
277
312
  }
278
313
  } else {
279
- lwcZIndexToSet =
280
- existingZindexValue >= LWC_STARTING_ZINDEX
281
- ? existingZindexValue
282
- : LWC_STARTING_ZINDEX;
314
+ if (isToastContainer) {
315
+ lwcZIndex =
316
+ existingZindexValue >=
317
+ LWC_TOAST_CONTAINER_STARTING_ZINDEX
318
+ ? existingZindexValue
319
+ : LWC_TOAST_CONTAINER_STARTING_ZINDEX;
320
+ } else {
321
+ lwcZIndexToSet =
322
+ existingZindexValue >=
323
+ LWC_OVERLAY_STARTING_ZINDEX
324
+ ? existingZindexValue
325
+ : LWC_OVERLAY_STARTING_ZINDEX;
326
+ lwcZIndex = lwcZIndexToSet;
327
+ }
283
328
  }
284
-
285
329
  if (overlayElem) {
286
- overlayElem.style.zIndex = lwcZIndexToSet;
330
+ overlayElem.style.zIndex = lwcZIndex;
287
331
  overlayElem.style.position = positionToSet;
288
332
  // increment for LWC local DOM ref
289
333
  lwcOverlayCount += 1;
290
334
  }
335
+ if (isToastContainer) {
336
+ toastOverlayStack.push({ overlayElem, stackIndex });
337
+ }
291
338
  } else {
292
339
  // Aura overlays use odd z-index values,
293
340
  // LWC overlays use even z-index values,
@@ -303,4 +350,21 @@ export default class LightningOverlayContainer extends LightningElement {
303
350
  // for the first time
304
351
  this.afterFirstRender = true;
305
352
  }
353
+
354
+ /**
355
+ * Return true if the overlay is allowed to be added to the overlay container
356
+ * @param {string} overlayType, name of the overlay type
357
+ */
358
+ isOverlayAllowedToAdd(overlayType) {
359
+ // first, filter out unknown overlay types
360
+ const isApprovedOverlayType = !!LWC_OVERLAY_TYPES[overlayType];
361
+ if (!isApprovedOverlayType) {
362
+ return false;
363
+ }
364
+ // determine if allowed to add overlay type
365
+ const { maxNum, statName } = LWC_OVERLAY_TYPES[overlayType];
366
+ const maxNumNotSet = typeof maxNum === 'undefined';
367
+ const count = (statName && getStatCount(statName)) || 0;
368
+ return maxNumNotSet || maxNum > count;
369
+ }
306
370
  }
@@ -20,20 +20,34 @@
20
20
  * ex 1: 9000 (LWC), 9001 (Aura), 9002 (LWC)
21
21
  * ex 2: 9001 (Aura), 9003 (Aura), 9004 (LWC), 9004 (LWC), 9005 (Aura)
22
22
  */
23
+ const TYPE_MODAL = 'lightning-modal';
24
+ const TYPE_ALERT = 'lightning-alert';
25
+ const TYPE_CONFIRM = 'lightning-confirm';
26
+ const TYPE_PROMPT = 'lightning-prompt';
27
+ const TYPE_OVERLAY = 'lightning-overlay';
28
+ export const TYPE_TOAST_CONTAINER = 'lightning-toast-container';
23
29
 
24
30
  // LWC overlay stack constants
25
31
  export const LWC_OVERLAY_ENGINE = 'lwc';
26
- export const LWC_STARTING_ZINDEX = 9000;
32
+ export const LWC_OVERLAY_STARTING_ZINDEX = 9000;
33
+ export const LWC_TOAST_CONTAINER_STARTING_ZINDEX = 10000;
27
34
  export const LWC_ZINDEX_INCREMENT = 2;
28
35
  export const LWC_ZINDEX_OFFSET = 1;
29
36
  // Known overlay types with their assigned position type
30
37
  // 'fixed' is default if not indicated
31
- export const LWC_OVERLAY_TYPES = {
32
- 'lightning-modal': { pos: 'absolute' },
33
- 'lightning-alert': { pos: 'absolute' },
34
- 'lightning-confirm': { pos: 'absolute' },
35
- 'lightning-prompt': { pos: 'absolute' },
36
- };
38
+ export const LWC_OVERLAY_TYPES = Object.freeze({
39
+ [TYPE_OVERLAY]: { pos: 'absolute' },
40
+ [TYPE_MODAL]: { pos: 'absolute' },
41
+ [TYPE_ALERT]: { pos: 'absolute' },
42
+ [TYPE_CONFIRM]: { pos: 'absolute' },
43
+ [TYPE_PROMPT]: { pos: 'absolute' },
44
+ [TYPE_TOAST_CONTAINER]: {
45
+ pos: 'fixed',
46
+ maxNum: 1,
47
+ statName: 'lwcToastContainerCount',
48
+ },
49
+ });
50
+
37
51
  // Aura overlay stack constants
38
52
  export const AURA_OVERLAY_ENGINE = 'aura';
39
53
  export const AURA_STARTING_ZINDEX = 9001;
@@ -59,6 +73,7 @@ const state = {
59
73
  auraAllOverlayCount: 0,
60
74
  // lwc stack details
61
75
  lwcModalCount: 0,
76
+ lwcToastContainerCount: 0,
62
77
  lwcOverlayCount: 0,
63
78
  lwcAllOverlayCount: 0,
64
79
  };
@@ -151,6 +166,7 @@ function getOverlayStackStats() {
151
166
  lwcOverlays: 0,
152
167
  lwcAllOverlays: 0,
153
168
  lwcModals: 0,
169
+ lwcToastContainers: 0,
154
170
  // init aura stats
155
171
  hasAura: false,
156
172
  auraModals: 0,
@@ -161,7 +177,6 @@ function getOverlayStackStats() {
161
177
  };
162
178
  // init one time values
163
179
  const stackLength = state.stack.length;
164
-
165
180
  state.stack.forEach(
166
181
  ({ overlayEngine, overlayType, overlayDetails }, stackIndex) => {
167
182
  const isLwc = overlayEngine === LWC_OVERLAY_ENGINE;
@@ -171,10 +186,15 @@ function getOverlayStackStats() {
171
186
  if (!stats.hasLwc) {
172
187
  stats.hasLwc = true;
173
188
  }
174
- if (overlayType) {
175
- const isModalType = !!LWC_OVERLAY_TYPES[overlayType];
189
+ const typeExists = !!LWC_OVERLAY_TYPES[overlayType];
190
+ if (overlayType && typeExists) {
191
+ const isModalType = overlayType === TYPE_MODAL;
192
+ const isToastContainerType =
193
+ overlayType === TYPE_TOAST_CONTAINER;
176
194
  if (isModalType) {
177
195
  stats.lwcModals++;
196
+ } else if (isToastContainerType) {
197
+ stats.lwcToastContainers++;
178
198
  } else {
179
199
  stats.lwcOverlays++;
180
200
  }
@@ -244,7 +264,8 @@ function updateStateWithStackStats(stats) {
244
264
  // update LWC state with collected stats
245
265
  if (stats.hasLwc) {
246
266
  // lwc settings
247
- state.lwcModalCount = stats.lwcModalCount;
267
+ state.lwcModalCount = stats.lwcModals;
268
+ state.lwcToastContainerCount = stats.lwcToastContainers;
248
269
  state.lwcOverlayCount = stats.lwcOverlays;
249
270
  state.lwcAllOverlayCount = stats.lwcAllOverlays;
250
271
  // or reset LWC state
@@ -307,7 +328,6 @@ export function addOverlayToSharedState(overlayObject) {
307
328
  return;
308
329
  }
309
330
  overlayDetails = cleanOverlayDetails(overlayDetails);
310
-
311
331
  // after checks, add overlay object
312
332
  state.stack.push({ overlayEngine, overlayType, overlayDetails });
313
333
  // first update shared overlay state
@@ -342,15 +362,17 @@ export function removeOverlayFromSharedState(overlayObject) {
342
362
  // Use overlay ID to find correct overlay and remove
343
363
  // IDs may be GUID (LBC overlays) or Aura globalId (Aura overlays)
344
364
  if (overlayId) {
345
- // loop from end to the front of the stack
365
+ // loop from end to the front of the zero-based array (stack)
346
366
  // determine which item to remove
347
- for (let index = stackLength; index--; index >= 0) {
348
- const {
349
- overlayDetails: { id: oId },
350
- } = state.stack[index];
351
- if (oId && oId === overlayId) {
352
- indexToRemove = index;
353
- break;
367
+ for (let index = stackLength - 1; index > -1; index--) {
368
+ if (state.stack[index]) {
369
+ const {
370
+ overlayDetails: { id: oId },
371
+ } = state.stack[index];
372
+ if (oId && oId === overlayId) {
373
+ indexToRemove = index;
374
+ break;
375
+ }
354
376
  }
355
377
  }
356
378
  }
@@ -382,11 +404,20 @@ export function subscribeOverlay(shouldCall, callback) {
382
404
  }
383
405
  }
384
406
 
407
+ /**
408
+ * return the count of the specific stat stored in "state"
409
+ * @param {string} statName - name of the stat
410
+ */
411
+ export function getStatCount(statName) {
412
+ return !state || !state[statName] ? null : state[statName];
413
+ }
414
+
385
415
  /**
386
416
  * initLwcOverlayState resets only LWC overlay state values
387
417
  */
388
418
  function initLwcOverlayState() {
389
419
  state.lwcModalCount = 0;
420
+ state.lwcToastContainerCount = 0;
390
421
  state.lwcOverlayCount = 0;
391
422
  state.lwcAllOverlayCount = 0;
392
423
  }
@@ -15,3 +15,17 @@ export const instanceName = Symbol('instanceName');
15
15
  * Secure access to events
16
16
  */
17
17
  export const secure = Symbol('secure event');
18
+
19
+ /**
20
+ * optional static properties
21
+ * Ex: static [properties] = <array of public attribute names>
22
+ * This will be used to assign value to restricted set of attributes
23
+ */
24
+ export const properties = Symbol('properties');
25
+
26
+ /**
27
+ * optional static requiredProperties
28
+ * Ex: static [properties] = <array of public required attribute names>
29
+ * This will be used verifying if required attributes have value assigned.
30
+ */
31
+ export const requiredProperties = Symbol('requiredProperties');
@@ -119,14 +119,14 @@ export function checkFlipPossibility(parent, element, target, leftAsBoundary) {
119
119
  // otherwise, window top is 0. no change to original logic.
120
120
  // When used in console app, console's viewport is not window, but a scrollable div, then popup can be cut off easily.
121
121
  // scrollable parent => if any parent element set overflow-y:auto, then inner element won't popup, unless use position:fix.
122
- const aboveSpace = referenceElemRect.top - viewPort.top - height;
123
- const belowSpace = viewPort.height - referenceElemRect.bottom - height;
122
+ let aboveSpace = referenceElemRect.top - viewPort.top - height;
123
+ let belowSpace = viewPort.height - referenceElemRect.bottom - height;
124
124
 
125
125
  // If there is scrollable parent, always check aboveSpace > 0
126
- const hasSpaceAbove =
126
+ let hasSpaceAbove =
127
127
  aboveSpace >= 0 ||
128
128
  (parent == null && belowSpace < 0 && aboveSpace > belowSpace);
129
- const hasSpaceBelow =
129
+ let hasSpaceBelow =
130
130
  belowSpace >= 0 || (aboveSpace < 0 && belowSpace > aboveSpace);
131
131
 
132
132
  // Assuming left alignment is specified this tests if:
@@ -177,6 +177,28 @@ export function checkFlipPossibility(parent, element, target, leftAsBoundary) {
177
177
  (leftAsBoundary ? referenceElemRect.left : 0);
178
178
  }
179
179
 
180
+ // If there is no space above and below, recalculate space based on window
181
+ // when there is still no space above and below based on window then select the maximum available space
182
+ if (!hasSpaceAbove && !hasSpaceBelow && parent) {
183
+ belowSpace =
184
+ viewPort.height -
185
+ (referenceElemRect.bottom - viewPort.top) -
186
+ height;
187
+ if (belowSpace < 0) {
188
+ if (parent.scrollTop > 0) {
189
+ aboveSpace =
190
+ referenceElemRect.top -
191
+ viewPort.top +
192
+ parent.scrollTop -
193
+ height;
194
+ }
195
+ }
196
+ hasSpaceAbove =
197
+ aboveSpace >= 0 || (belowSpace < 0 && aboveSpace > belowSpace);
198
+ hasSpaceBelow =
199
+ belowSpace >= 0 || (aboveSpace < 0 && belowSpace > aboveSpace);
200
+ }
201
+
180
202
  // Assuming center alignment, does the viewport have space to fit half of the element around
181
203
  // the target?
182
204
  const centerOverflow = {
@@ -7,6 +7,6 @@
7
7
  </lightning-primitive-icon>
8
8
  <span class="slds-assistive-text">
9
9
  {assistiveText}
10
- </span>
10
+ </span>
11
11
  </button>
12
12
  </template>