lightning-base-components 1.15.2-alpha → 1.15.3-alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (304) hide show
  1. package/metadata/raptor.json +37 -0
  2. package/package.json +59 -1
  3. package/scopedImports/@salesforce-i18n-calendarData.js +1 -0
  4. package/scopedImports/@salesforce-i18n-common.calendarData.js +1 -0
  5. package/scopedImports/@salesforce-i18n-common.digits.js +1 -0
  6. package/scopedImports/@salesforce-i18n-dateTime.longDateTimeFormat.js +1 -0
  7. package/scopedImports/@salesforce-i18n-defaultCalendar.js +1 -0
  8. package/scopedImports/@salesforce-i18n-defaultNumberingSystem.js +1 -0
  9. package/scopedImports/@salesforce-i18n-number.exponentialSign.js +1 -0
  10. package/scopedImports/@salesforce-i18n-number.infinity.js +1 -0
  11. package/scopedImports/@salesforce-i18n-number.minusSign.js +1 -0
  12. package/scopedImports/@salesforce-i18n-number.nan.js +1 -0
  13. package/scopedImports/@salesforce-i18n-number.perMilleSign.js +1 -0
  14. package/scopedImports/@salesforce-i18n-number.percentSign.js +1 -0
  15. package/scopedImports/@salesforce-i18n-number.plusSign.js +1 -0
  16. package/scopedImports/@salesforce-i18n-number.superscriptingExponentSign.js +1 -0
  17. package/src/lightning/alert/__docs__/alert.md +4 -4
  18. package/src/lightning/baseCombobox/baseCombobox.html +1 -0
  19. package/src/lightning/baseCombobox/baseCombobox.js +3 -1
  20. package/src/lightning/buttonIcon/buttonIcon.js +0 -3
  21. package/src/lightning/calendar/calendar.html +2 -1
  22. package/src/lightning/calendar/calendar.js +2 -2
  23. package/src/lightning/combobox/combobox.html +1 -1
  24. package/src/lightning/combobox/combobox.js +7 -1
  25. package/src/lightning/configProvider/defaultLocalizationConfig.js +43 -6
  26. package/src/lightning/confirm/__docs__/confirm.md +2 -2
  27. package/src/lightning/datatable/__docs__/datatable.md +0 -45
  28. package/src/lightning/datatable/__examples__/basic/basic.js +3 -4
  29. package/src/lightning/datatable/__examples__/basic/generateData.js +13 -0
  30. package/src/lightning/datatable/__examples__/withInfiniteLoading/generateDataWithDelay.js +18 -0
  31. package/src/lightning/datatable/__examples__/withInfiniteLoading/withInfiniteLoading.js +3 -3
  32. package/src/lightning/datatable/__examples__/withInlineEdit/generateData.js +13 -0
  33. package/src/lightning/datatable/__examples__/withInlineEdit/withInlineEdit.js +3 -4
  34. package/src/lightning/datatable/__examples__/withRowActions/generateData.js +13 -0
  35. package/src/lightning/datatable/__examples__/withRowActions/withRowActions.js +3 -4
  36. package/src/lightning/datatable/__examples__/withRowNumbers/generateData.js +13 -0
  37. package/src/lightning/datatable/__examples__/withRowNumbers/withRowNumbers.js +3 -4
  38. package/src/lightning/datatable/datatable.js +5 -4
  39. package/src/lightning/datatable/keyboard.js +6 -2
  40. package/src/lightning/datatable/utils.js +11 -0
  41. package/src/lightning/datatable/virtualization.js +2 -2
  42. package/src/lightning/datepicker/datepicker.html +4 -4
  43. package/src/lightning/datepicker/datepicker.js +25 -77
  44. package/src/lightning/datetimepicker/datetimepicker.html +1 -1
  45. package/src/lightning/datetimepicker/datetimepicker.js +36 -8
  46. package/src/lightning/dualListbox/dualListbox.html +1 -1
  47. package/src/lightning/dualListbox/dualListbox.js +6 -0
  48. package/src/lightning/fileDownload/fileDownload.js +15 -0
  49. package/src/lightning/fileDownload/fileDownload.js-meta.xml +5 -0
  50. package/src/lightning/fileDownload/resourceResolver.js +58 -0
  51. package/src/lightning/formattedDateTime/formattedDateTime.js +1 -1
  52. package/src/lightning/formattedLookup/events.js +19 -0
  53. package/src/lightning/formattedLookup/formattedLookup.js +7 -0
  54. package/src/lightning/formattedRichText/__docs__/formattedRichText.md +9 -7
  55. package/src/lightning/formattedRichText/__examples__disabled/basic/basic.html +1 -1
  56. package/src/lightning/formattedTime/formattedTime.js +2 -1
  57. package/src/lightning/groupedCombobox/groupedCombobox.html +1 -1
  58. package/src/lightning/groupedCombobox/groupedCombobox.js +10 -2
  59. package/src/lightning/helptext/helptext.html +1 -0
  60. package/src/lightning/helptext/helptext.js +29 -2
  61. package/src/lightning/iconSvgTemplates/buildTemplates/action/scan_disabled.html +7 -0
  62. package/src/lightning/iconSvgTemplates/buildTemplates/action/scan_enabled.html +7 -0
  63. package/src/lightning/iconSvgTemplates/buildTemplates/standard/ai_accelerator_card.html +7 -0
  64. package/src/lightning/iconSvgTemplates/buildTemplates/standard/connect_wallet.html +9 -0
  65. package/src/lightning/iconSvgTemplates/buildTemplates/standard/contract_line_outcome.html +7 -0
  66. package/src/lightning/iconSvgTemplates/buildTemplates/standard/contract_line_outcome_data.html +7 -0
  67. package/src/lightning/iconSvgTemplates/buildTemplates/standard/crypto_category_wallet_group.html +7 -0
  68. package/src/lightning/iconSvgTemplates/buildTemplates/standard/crypto_product.html +7 -0
  69. package/src/lightning/iconSvgTemplates/buildTemplates/standard/crypto_product_category_wallet_role.html +9 -0
  70. package/src/lightning/iconSvgTemplates/buildTemplates/standard/crypto_transaction.html +9 -0
  71. package/src/lightning/iconSvgTemplates/buildTemplates/standard/crypto_transaction_envelope.html +8 -0
  72. package/src/lightning/iconSvgTemplates/buildTemplates/standard/crypto_transaction_envelope_item.html +7 -0
  73. package/src/lightning/iconSvgTemplates/buildTemplates/standard/crypto_wallet.html +8 -0
  74. package/src/lightning/iconSvgTemplates/buildTemplates/standard/crypto_wallet_group.html +9 -0
  75. package/src/lightning/iconSvgTemplates/buildTemplates/standard/crypto_wallet_group_item.html +8 -0
  76. package/src/lightning/iconSvgTemplates/buildTemplates/standard/customer.html +10 -0
  77. package/src/lightning/iconSvgTemplates/buildTemplates/standard/customer_workspace.html +11 -0
  78. package/src/lightning/iconSvgTemplates/buildTemplates/standard/learner_program.html +7 -0
  79. package/src/lightning/iconSvgTemplates/buildTemplates/standard/nft_settings.html +8 -0
  80. package/src/lightning/iconSvgTemplates/buildTemplates/standard/nft_studio.html +7 -0
  81. package/src/lightning/iconSvgTemplates/buildTemplates/standard/prompt.html +7 -0
  82. package/src/lightning/iconSvgTemplates/buildTemplates/standard/setup_modal.html +11 -0
  83. package/src/lightning/iconSvgTemplates/buildTemplates/standard/snippet_alt.html +7 -0
  84. package/src/lightning/iconSvgTemplates/buildTemplates/standard/tax_policy.html +8 -0
  85. package/src/lightning/iconSvgTemplates/buildTemplates/standard/tax_rate.html +8 -0
  86. package/src/lightning/iconSvgTemplates/buildTemplates/standard/tax_treatment.html +8 -0
  87. package/src/lightning/iconSvgTemplates/buildTemplates/standard/travel_mode.html +2 -2
  88. package/src/lightning/iconSvgTemplates/buildTemplates/standard/water.html +7 -0
  89. package/src/lightning/iconSvgTemplates/buildTemplates/templates.js +48 -1
  90. package/src/lightning/iconSvgTemplates/buildTemplates/utility/captions.html +7 -0
  91. package/src/lightning/iconSvgTemplates/buildTemplates/utility/contract_line_outcome.html +7 -0
  92. package/src/lightning/iconSvgTemplates/buildTemplates/utility/contract_line_outcome_data.html +7 -0
  93. package/src/lightning/iconSvgTemplates/buildTemplates/utility/customer.html +10 -0
  94. package/src/lightning/iconSvgTemplates/buildTemplates/utility/customer_workspace.html +11 -0
  95. package/src/lightning/iconSvgTemplates/buildTemplates/utility/detach.html +7 -0
  96. package/src/lightning/iconSvgTemplates/buildTemplates/utility/hazmat_equipment.html +7 -0
  97. package/src/lightning/iconSvgTemplates/buildTemplates/utility/label.html +7 -0
  98. package/src/lightning/iconSvgTemplates/buildTemplates/utility/labels.html +8 -0
  99. package/src/lightning/iconSvgTemplates/buildTemplates/utility/record_alt.html +8 -0
  100. package/src/lightning/iconSvgTemplates/buildTemplates/utility/segments.html +8 -0
  101. package/src/lightning/iconSvgTemplates/buildTemplates/utility/tax_policy.html +8 -0
  102. package/src/lightning/iconSvgTemplates/buildTemplates/utility/tax_rate.html +8 -0
  103. package/src/lightning/iconSvgTemplates/buildTemplates/utility/tax_treatment.html +8 -0
  104. package/src/lightning/iconSvgTemplates/buildTemplates/utility/tollways.html +8 -0
  105. package/src/lightning/iconSvgTemplates/buildTemplates/utility/transport_bicycle.html +7 -0
  106. package/src/lightning/iconSvgTemplates/buildTemplates/utility/transport_heavy_truck.html +7 -0
  107. package/src/lightning/iconSvgTemplates/buildTemplates/utility/transport_light_truck.html +7 -0
  108. package/src/lightning/iconSvgTemplates/buildTemplates/utility/transport_walking.html +7 -0
  109. package/src/lightning/iconSvgTemplates/buildTemplates/utility/water.html +7 -0
  110. package/src/lightning/iconSvgTemplatesAction/buildTemplates/action/scan_disabled.html +7 -0
  111. package/src/lightning/iconSvgTemplatesAction/buildTemplates/action/scan_enabled.html +7 -0
  112. package/src/lightning/iconSvgTemplatesAction/buildTemplates/templates.js +3 -1
  113. package/src/lightning/iconSvgTemplatesActionRtl/buildTemplates/action/scan_disabled.html +7 -0
  114. package/src/lightning/iconSvgTemplatesActionRtl/buildTemplates/action/scan_enabled.html +7 -0
  115. package/src/lightning/iconSvgTemplatesActionRtl/buildTemplates/templates.js +3 -1
  116. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/action/scan_disabled.html +7 -0
  117. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/action/scan_enabled.html +7 -0
  118. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/ai_accelerator_card.html +7 -0
  119. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/connect_wallet.html +9 -0
  120. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/contract_line_outcome.html +7 -0
  121. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/contract_line_outcome_data.html +7 -0
  122. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/crypto_category_wallet_group.html +7 -0
  123. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/crypto_product.html +7 -0
  124. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/crypto_product_category_wallet_role.html +9 -0
  125. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/crypto_transaction.html +9 -0
  126. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/crypto_transaction_envelope.html +8 -0
  127. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/crypto_transaction_envelope_item.html +7 -0
  128. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/crypto_wallet.html +8 -0
  129. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/crypto_wallet_group.html +9 -0
  130. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/crypto_wallet_group_item.html +8 -0
  131. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/customer.html +10 -0
  132. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/customer_workspace.html +11 -0
  133. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/learner_program.html +7 -0
  134. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/nft_settings.html +8 -0
  135. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/nft_studio.html +7 -0
  136. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/prompt.html +7 -0
  137. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/setup_modal.html +11 -0
  138. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/snippet_alt.html +7 -0
  139. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/tax_policy.html +8 -0
  140. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/tax_rate.html +8 -0
  141. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/tax_treatment.html +8 -0
  142. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/travel_mode.html +2 -2
  143. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/water.html +7 -0
  144. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/templates.js +48 -1
  145. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/captions.html +7 -0
  146. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/contract_line_outcome.html +7 -0
  147. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/contract_line_outcome_data.html +7 -0
  148. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/customer.html +10 -0
  149. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/customer_workspace.html +11 -0
  150. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/detach.html +7 -0
  151. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/hazmat_equipment.html +7 -0
  152. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/label.html +7 -0
  153. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/labels.html +8 -0
  154. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/record_alt.html +8 -0
  155. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/segments.html +8 -0
  156. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/tax_policy.html +8 -0
  157. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/tax_rate.html +8 -0
  158. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/tax_treatment.html +8 -0
  159. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/tollways.html +8 -0
  160. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/transport_bicycle.html +7 -0
  161. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/transport_heavy_truck.html +7 -0
  162. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/transport_light_truck.html +7 -0
  163. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/transport_walking.html +7 -0
  164. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/water.html +7 -0
  165. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/ai_accelerator_card.html +7 -0
  166. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/connect_wallet.html +9 -0
  167. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/contract_line_outcome.html +7 -0
  168. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/contract_line_outcome_data.html +7 -0
  169. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/crypto_category_wallet_group.html +7 -0
  170. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/crypto_product.html +7 -0
  171. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/crypto_product_category_wallet_role.html +9 -0
  172. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/crypto_transaction.html +9 -0
  173. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/crypto_transaction_envelope.html +8 -0
  174. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/crypto_transaction_envelope_item.html +7 -0
  175. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/crypto_wallet.html +8 -0
  176. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/crypto_wallet_group.html +9 -0
  177. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/crypto_wallet_group_item.html +8 -0
  178. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/customer.html +10 -0
  179. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/customer_workspace.html +11 -0
  180. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/learner_program.html +7 -0
  181. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/nft_settings.html +8 -0
  182. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/nft_studio.html +7 -0
  183. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/prompt.html +7 -0
  184. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/setup_modal.html +11 -0
  185. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/snippet_alt.html +7 -0
  186. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/tax_policy.html +8 -0
  187. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/tax_rate.html +8 -0
  188. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/tax_treatment.html +8 -0
  189. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/travel_mode.html +2 -2
  190. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/water.html +7 -0
  191. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/templates.js +26 -1
  192. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/ai_accelerator_card.html +7 -0
  193. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/connect_wallet.html +9 -0
  194. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/contract_line_outcome.html +7 -0
  195. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/contract_line_outcome_data.html +7 -0
  196. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/crypto_category_wallet_group.html +7 -0
  197. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/crypto_product.html +7 -0
  198. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/crypto_product_category_wallet_role.html +9 -0
  199. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/crypto_transaction.html +9 -0
  200. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/crypto_transaction_envelope.html +8 -0
  201. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/crypto_transaction_envelope_item.html +7 -0
  202. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/crypto_wallet.html +8 -0
  203. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/crypto_wallet_group.html +9 -0
  204. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/crypto_wallet_group_item.html +8 -0
  205. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/customer.html +10 -0
  206. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/customer_workspace.html +11 -0
  207. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/learner_program.html +7 -0
  208. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/nft_settings.html +8 -0
  209. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/nft_studio.html +7 -0
  210. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/prompt.html +7 -0
  211. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/setup_modal.html +11 -0
  212. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/snippet_alt.html +7 -0
  213. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/tax_policy.html +8 -0
  214. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/tax_rate.html +8 -0
  215. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/tax_treatment.html +8 -0
  216. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/travel_mode.html +2 -2
  217. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/water.html +7 -0
  218. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/templates.js +26 -1
  219. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/templates.js +21 -1
  220. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/captions.html +7 -0
  221. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/contract_line_outcome.html +7 -0
  222. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/contract_line_outcome_data.html +7 -0
  223. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/customer.html +10 -0
  224. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/customer_workspace.html +11 -0
  225. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/detach.html +7 -0
  226. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/hazmat_equipment.html +7 -0
  227. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/label.html +7 -0
  228. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/labels.html +8 -0
  229. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/record_alt.html +8 -0
  230. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/segments.html +8 -0
  231. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/tax_policy.html +8 -0
  232. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/tax_rate.html +8 -0
  233. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/tax_treatment.html +8 -0
  234. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/tollways.html +8 -0
  235. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/transport_bicycle.html +7 -0
  236. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/transport_heavy_truck.html +7 -0
  237. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/transport_light_truck.html +7 -0
  238. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/transport_walking.html +7 -0
  239. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/water.html +7 -0
  240. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/templates.js +21 -1
  241. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/captions.html +7 -0
  242. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/contract_line_outcome.html +7 -0
  243. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/contract_line_outcome_data.html +7 -0
  244. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/customer.html +10 -0
  245. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/customer_workspace.html +11 -0
  246. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/detach.html +7 -0
  247. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/hazmat_equipment.html +7 -0
  248. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/label.html +7 -0
  249. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/labels.html +8 -0
  250. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/record_alt.html +8 -0
  251. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/segments.html +8 -0
  252. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/tax_policy.html +8 -0
  253. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/tax_rate.html +8 -0
  254. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/tax_treatment.html +8 -0
  255. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/tollways.html +8 -0
  256. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/transport_bicycle.html +7 -0
  257. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/transport_heavy_truck.html +7 -0
  258. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/transport_light_truck.html +7 -0
  259. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/transport_walking.html +7 -0
  260. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/water.html +7 -0
  261. package/src/lightning/input/dateTimeUtil.js +2 -2
  262. package/src/lightning/inputAddress/inputAddress.html +1 -1
  263. package/src/lightning/inputAddress/inputAddress.js +7 -1
  264. package/src/lightning/inputLocation/inputLocation.html +1 -1
  265. package/src/lightning/inputLocation/inputLocation.js +7 -1
  266. package/src/lightning/inputName/inputName.html +2 -2
  267. package/src/lightning/inputName/inputName.js +7 -1
  268. package/src/lightning/interactiveDialogBase/interactiveDialogBase.js +1 -0
  269. package/src/lightning/internationalizationLibrary/datetime/dateTimeOptions.js +16 -29
  270. package/src/lightning/internationalizationLibrary/datetime/dateTimeUtils.js +524 -135
  271. package/src/lightning/internationalizationLibrary/datetime/intlFormat.js +92 -72
  272. package/src/lightning/internationalizationLibrary/internationalizationLibrary.js +9 -4
  273. package/src/lightning/internationalizationLibrary/localizationService.js +1 -0
  274. package/src/lightning/internationalizationLibrary/number/NumberFormat.js +17 -11
  275. package/src/lightning/internationalizationLibrary/number/numberFormatFallback.js +3 -2
  276. package/src/lightning/internationalizationLibrary/number/numberOptions.js +22 -26
  277. package/src/lightning/internationalizationLibrary/number/utils.js +134 -131
  278. package/src/lightning/internationalizationLibrary/utils.js +14 -0
  279. package/src/lightning/iso8601Utils/iso8601Utils.js +1 -0
  280. package/src/lightning/modalBase/modalBase.css +0 -4
  281. package/src/lightning/modalBase/modalBase.html +1 -1
  282. package/src/lightning/modalBase/modalBase.js +0 -14
  283. package/src/lightning/navigation/__docs__/navigation.md +0 -2
  284. package/src/lightning/overlayContainer/overlayContainer.html +2 -2
  285. package/src/lightning/overlayContainer/overlayContainer.js +217 -49
  286. package/src/lightning/overlayManager/overlayManager.js +378 -28
  287. package/src/lightning/overlayManager/overlayManager.js-meta.xml +5 -0
  288. package/src/lightning/primitiveCellFactory/primitiveCellFactory.js +1 -11
  289. package/src/lightning/prompt/__docs__/prompt.md +2 -2
  290. package/src/lightning/select/select.html +1 -1
  291. package/src/lightning/select/select.js +7 -1
  292. package/src/lightning/tabBar/tabBar.html +3 -2
  293. package/src/lightning/tabBar/tabBar.js +15 -0
  294. package/src/lightning/textarea/textarea.html +1 -1
  295. package/src/lightning/textarea/textarea.js +7 -1
  296. package/src/lightning/timepicker/timepicker.html +1 -1
  297. package/src/lightning/timepicker/timepicker.js +41 -86
  298. package/src/lightning/utils/labelUtils.js +4 -1
  299. package/src/lightning/utilsPrivate/animation.js +0 -4
  300. package/src/lightning/datatable/__examples__/basic/fetchDataHelper.js +0 -21
  301. package/src/lightning/datatable/__examples__/withInfiniteLoading/fetchDataHelper.js +0 -21
  302. package/src/lightning/datatable/__examples__/withInlineEdit/fetchDataHelper.js +0 -21
  303. package/src/lightning/datatable/__examples__/withRowActions/fetchDataHelper.js +0 -21
  304. package/src/lightning/datatable/__examples__/withRowNumbers/fetchDataHelper.js +0 -21
@@ -1,7 +1,8 @@
1
1
  import labelRequired from '@salesforce/label/LightningControl.required';
2
2
  import labelPlaceholder from '@salesforce/label/LightningCombobox.placeholder';
3
+ import labelHelpTextAlternativeText from '@salesforce/label/LightningInput.helptextAlternativeText';
3
4
  import { LightningElement, api, track } from 'lwc';
4
- import { classSet } from 'lightning/utils';
5
+ import { classSet, formatLabel } from 'lightning/utils';
5
6
  import {
6
7
  normalizeBoolean,
7
8
  normalizeArray,
@@ -19,6 +20,7 @@ import {
19
20
  const i18n = {
20
21
  required: labelRequired,
21
22
  placeholder: labelPlaceholder,
23
+ helpTextAlternativeText: labelHelpTextAlternativeText,
22
24
  };
23
25
  /**
24
26
  * A widget that provides an input field that is readonly,
@@ -493,4 +495,8 @@ export default class LightningCombobox extends LightningElement {
493
495
  }
494
496
  return this._constraintApi;
495
497
  }
498
+
499
+ get helptextAlternativeText() {
500
+ return formatLabel(i18n.helpTextAlternativeText, this.label);
501
+ }
496
502
  }
@@ -1,5 +1,5 @@
1
- // default implementation of localization service for en-US locale. This covers the current usage of the localizationService in the code base.
2
- // This should be removed when the framework team moves auraLocalizationService to a separate module
1
+ // default implementation of localization service. This covers the current usage of the localizationService in the code base.
2
+ // This should be removed/heavily reworked when migrating off Aura
3
3
  import {
4
4
  isValidISOTimeString,
5
5
  isValidISODateTimeString,
@@ -9,6 +9,9 @@ import {
9
9
  TIME_SEPARATOR,
10
10
  } from 'lightning/iso8601Utils';
11
11
  import Duration from './defaultDurationConfig';
12
+ import locale from '@salesforce/i18n/locale';
13
+ import commonDigits from '@salesforce/i18n/common.digits';
14
+ import currentDigits from '@salesforce/i18n/defaultNumberingSystem';
12
15
 
13
16
  const MONTH_NAMES = [
14
17
  'January',
@@ -42,6 +45,8 @@ const TIME_FORMAT_SIMPLE = {
42
45
  long: 'h:m:s a',
43
46
  };
44
47
 
48
+ const BUDDHIST_YEAR_OFFSET = 543;
49
+
45
50
  // Only works with dates and iso strings
46
51
  // formats the date object by ignoring the timezone offset
47
52
  // e.g. assume date is Mar 11 2019 00:00:00 GMT+1100:
@@ -190,23 +195,55 @@ function WallTimeToUTC(date, timezone, callback) {
190
195
  callback(addTimezoneOffset(localDate));
191
196
  }
192
197
 
193
- // We're assuming en-US locale so we don't need translation between calendar systems
198
+ // Similar to Aura equivalent; add years for buddhist calendar
194
199
  function translateToOtherCalendar(date) {
200
+ if (locale === 'th-TH') {
201
+ date.setFullYear(date.getFullYear() + BUDDHIST_YEAR_OFFSET);
202
+ }
195
203
  return date;
196
204
  }
197
205
 
198
- // We're assuming en-US locale so we don't need translation between calendar systems
206
+ // Similar to Aura equivalent; subtract years for buddhist calendar
199
207
  function translateFromOtherCalendar(date) {
208
+ if (locale === 'th-TH') {
209
+ date.setFullYear(date.getFullYear() - BUDDHIST_YEAR_OFFSET);
210
+ }
200
211
  return date;
201
212
  }
202
213
 
203
- // We're assuming en-US locale so we don't need translation of digits
214
+ /**
215
+ * Converts input from 'fromDigits' numbering system
216
+ * to 'toDigits' numbering system
217
+ */
218
+ function convertDigits(input, fromDigits, toDigits) {
219
+ if (!input || !commonDigits[fromDigits] || !commonDigits[toDigits]) {
220
+ return input;
221
+ }
222
+ const digitMap = {};
223
+ commonDigits[fromDigits].split('').forEach((digit, index) => {
224
+ digitMap[digit] = commonDigits[toDigits][index];
225
+ });
226
+ return input
227
+ .split('')
228
+ .map((number) => {
229
+ return digitMap[number];
230
+ })
231
+ .join('');
232
+ }
233
+
234
+ // Translates from latn digits to digits of current locale
204
235
  function translateToLocalizedDigits(input) {
236
+ if (currentDigits !== 'latn') {
237
+ return convertDigits(input, 'latn', currentDigits);
238
+ }
205
239
  return input;
206
240
  }
207
241
 
208
- // We're assuming en-US locale so we don't need translation of digits
242
+ // Translates from current locale digits to latn digits
209
243
  function translateFromLocalizedDigits(input) {
244
+ if (currentDigits !== 'latn') {
245
+ return convertDigits(input, currentDigits, 'latn');
246
+ }
210
247
  return input;
211
248
  }
212
249
 
@@ -9,7 +9,7 @@ This example creates a headerless confirm modal with two buttons, **OK** and **C
9
9
  ```html
10
10
  <!-- c/myApp.html -->
11
11
  <template>
12
- <lightning-button onclick="{handleConfirmClick}" label="Open Confirm Modal">
12
+ <lightning-button onclick={handleConfirmClick} label="Open Confirm Modal">
13
13
  </lightning-button>
14
14
  </template>
15
15
  ```
@@ -62,7 +62,7 @@ Code using `LightningConfirm` can be tested by mocking the `LightningConfirm.ope
62
62
  The example below uses a button to open a confirm dialog and sets the result in a template.
63
63
 
64
64
  ```html
65
- <button data-button onclick="{handleClick}">Open Confirm</button>
65
+ <button data-button onclick={handleClick}>Open Confirm</button>
66
66
  <div data-result>{result}</div>
67
67
  ```
68
68
 
@@ -30,7 +30,6 @@ include:
30
30
 
31
31
  - Displaying and formatting of columns with appropriate data types
32
32
  - Infinite scrolling of rows
33
- - Virtualized rendering
34
33
  - Inline editing for some data types
35
34
  - Header actions
36
35
  - Row-level actions
@@ -607,50 +606,6 @@ the `totalNumberOfRows` attribute during initialization.
607
606
  SELECT COUNT(Id) FROM Contact
608
607
  ```
609
608
 
610
- #### Virtualize Rendering
611
-
612
- A virtualized datatable only renders the rows that are visible and a buffer of a few rows above and below them. This makes scrolling a lot smoother for datatables with more than 200 rows. This example shows how to enable virtualization for a datatable.
613
-
614
- In the JavaScript file of your component, create a `renderConfig` object with the attribute `virtualize` set to `vertical`.
615
-
616
- ```
617
- import { LightningElement } from 'lwc';
618
-
619
- export default class DataTable extends LightningElement {
620
- // set data
621
- // set columns
622
- renderConfig = {
623
- virtualize: 'vertical',
624
- // additional customization
625
- };
626
- }
627
- ```
628
-
629
- In your `lightning-datatable` component file, set the `render-config` attribute to the `renderConfig` object you created. Set the component’s `render-mode` attribute to `role-based` and set the `lightning-datatable` component’s parent container to an explicit height. This can be a pixel value, a percentage, or an inherited height.
630
-
631
- ```
632
- <template>
633
- <div style="height: 300px;">
634
- <lightning-datatable
635
- key-field="id"
636
- data={data}
637
- columns={columns}
638
- render-mode="role-based"
639
- render-config={renderConfig}>
640
- </lightning-datatable>
641
- </div>
642
- </template>
643
- ```
644
-
645
- The `render-config` attribute supports these properties.
646
- Property|Type|Default Value|Description
647
- -----|-----|-----|-----
648
- `bufferSize`|Number|`5`|Sets the number of additional rows that the component renders before and after the rows displayed in the viewport.
649
- `fixedHeight`|Boolean|`false`|Makes every row the same height to reduce the load time that's spent caching the height of each row separately. If column wrapping is also enabled, rows can be positioned improperly.
650
- `rowHeight`|Number|`30.5`|Height in pixels of a table row with one line of text.
651
- `virtualize`|String|Empty string|Enables virtualization when set to `vertical`.
652
-
653
-
654
609
  #### Creating Header Actions
655
610
 
656
611
  Header actions refer to tasks you can perform on a column of data, such
@@ -1,5 +1,5 @@
1
1
  import { LightningElement } from 'lwc';
2
- import fetchDataHelper from './fetchDataHelper';
2
+ import generateData from './generateData';
3
3
 
4
4
  const columns = [
5
5
  { label: 'Label', fieldName: 'name' },
@@ -13,9 +13,8 @@ export default class BasicDatatable extends LightningElement {
13
13
  data = [];
14
14
  columns = columns;
15
15
 
16
- // eslint-disable-next-line @lwc/lwc/no-async-await
17
- async connectedCallback() {
18
- const data = await fetchDataHelper({ amountOfRecords: 100 });
16
+ connectedCallback() {
17
+ const data = generateData({ amountOfRecords: 100 });
19
18
  this.data = data;
20
19
  }
21
20
  }
@@ -0,0 +1,13 @@
1
+ export default function generateData({ amountOfRecords }) {
2
+ return [...Array(amountOfRecords)].map((_, index) => {
3
+ return {
4
+ name: `Name (${index})`,
5
+ website: 'www.salesforce.com',
6
+ amount: Math.floor(Math.random() * 100),
7
+ phone: Math.floor(Math.random() * 1000000000),
8
+ closeAt: new Date(
9
+ Date.now() + 86400000 * Math.ceil(Math.random() * 20)
10
+ ),
11
+ };
12
+ });
13
+ }
@@ -0,0 +1,18 @@
1
+ // eslint-disable-next-line @lwc/lwc/no-async-await
2
+ export default async function generateData({ amountOfRecords }) {
3
+ // Adding fake delay
4
+ // eslint-disable-next-line @lwc/lwc/no-async-operation
5
+ await new Promise((resolve) => setTimeout(resolve, 2000));
6
+
7
+ return [...Array(amountOfRecords)].map((_, index) => {
8
+ return {
9
+ name: `Name (${index})`,
10
+ website: 'www.salesforce.com',
11
+ amount: Math.floor(Math.random() * 100),
12
+ phone: Math.floor(Math.random() * 1000000000),
13
+ closeAt: new Date(
14
+ Date.now() + 86400000 * Math.ceil(Math.random() * 20)
15
+ ),
16
+ };
17
+ });
18
+ }
@@ -1,5 +1,5 @@
1
1
  import { LightningElement } from 'lwc';
2
- import fetchData from './fetchDataHelper';
2
+ import generateDataWithDelay from './generateDataWithDelay';
3
3
 
4
4
  const columns = [
5
5
  { label: 'Label', fieldName: 'name' },
@@ -17,7 +17,7 @@ export default class DatatableWithInfiniteLoading extends LightningElement {
17
17
 
18
18
  // eslint-disable-next-line @lwc/lwc/no-async-await
19
19
  async connectedCallback() {
20
- const data = await fetchData(100);
20
+ const data = await generateDataWithDelay({ amountOfRecords: 100 });
21
21
  this.data = data;
22
22
  }
23
23
 
@@ -29,7 +29,7 @@ export default class DatatableWithInfiniteLoading extends LightningElement {
29
29
  //Displays "Loading" text when more data is being loaded
30
30
  this.loadMoreStatus = 'Loading';
31
31
 
32
- const newData = await fetchData(50);
32
+ const newData = await generateDataWithDelay({ amountOfRecords: 50 });
33
33
  if (this.data.length >= this.totalNumberOfRows) {
34
34
  datatable.enableInfiniteLoading = false;
35
35
  this.loadMoreStatus = 'No more data to load';
@@ -0,0 +1,13 @@
1
+ export default function generateData({ amountOfRecords }) {
2
+ return [...Array(amountOfRecords)].map((_, index) => {
3
+ return {
4
+ name: `Name (${index})`,
5
+ website: 'www.salesforce.com',
6
+ amount: Math.floor(Math.random() * 100),
7
+ phone: Math.floor(Math.random() * 1000000000),
8
+ closeAt: new Date(
9
+ Date.now() + 86400000 * Math.ceil(Math.random() * 20)
10
+ ),
11
+ };
12
+ });
13
+ }
@@ -1,5 +1,5 @@
1
1
  import { LightningElement } from 'lwc';
2
- import fetchDataHelper from './fetchDataHelper';
2
+ import generateData from './generateData';
3
3
 
4
4
  const columns = [
5
5
  { label: 'Label', fieldName: 'name', editable: true },
@@ -14,8 +14,7 @@ export default class DatatableWithInlineEdit extends LightningElement {
14
14
  columns = columns;
15
15
  rowOffset = 0;
16
16
 
17
- // eslint-disable-next-line @lwc/lwc/no-async-await
18
- async connectedCallback() {
19
- this.data = await fetchDataHelper({ amountOfRecords: 100 });
17
+ connectedCallback() {
18
+ this.data = generateData({ amountOfRecords: 100 });
20
19
  }
21
20
  }
@@ -0,0 +1,13 @@
1
+ export default function generateData({ amountOfRecords }) {
2
+ return [...Array(amountOfRecords)].map((_, index) => {
3
+ return {
4
+ name: `Name (${index})`,
5
+ website: 'www.salesforce.com',
6
+ amount: Math.floor(Math.random() * 100),
7
+ phone: Math.floor(Math.random() * 1000000000),
8
+ closeAt: new Date(
9
+ Date.now() + 86400000 * Math.ceil(Math.random() * 20)
10
+ ),
11
+ };
12
+ });
13
+ }
@@ -1,5 +1,5 @@
1
1
  import { LightningElement } from 'lwc';
2
- import fetchDataHelper from './fetchDataHelper';
2
+ import generateData from './generateData';
3
3
 
4
4
  const actions = [
5
5
  { label: 'Show details', name: 'show_details' },
@@ -23,9 +23,8 @@ export default class DatatableWithRowActions extends LightningElement {
23
23
  columns = columns;
24
24
  record = {};
25
25
 
26
- // eslint-disable-next-line @lwc/lwc/no-async-await
27
- async connectedCallback() {
28
- this.data = await fetchDataHelper({ amountOfRecords: 100 });
26
+ connectedCallback() {
27
+ this.data = generateData({ amountOfRecords: 100 });
29
28
  }
30
29
 
31
30
  handleRowAction(event) {
@@ -0,0 +1,13 @@
1
+ export default function generateData({ amountOfRecords }) {
2
+ return [...Array(amountOfRecords)].map((_, index) => {
3
+ return {
4
+ name: `Name (${index})`,
5
+ website: 'www.salesforce.com',
6
+ amount: Math.floor(Math.random() * 100),
7
+ phone: Math.floor(Math.random() * 1000000000),
8
+ closeAt: new Date(
9
+ Date.now() + 86400000 * Math.ceil(Math.random() * 20)
10
+ ),
11
+ };
12
+ });
13
+ }
@@ -1,5 +1,5 @@
1
1
  import { LightningElement } from 'lwc';
2
- import fetchDataHelper from './fetchDataHelper';
2
+ import generateData from './generateData';
3
3
 
4
4
  const columns = [
5
5
  { label: 'Label', fieldName: 'name' },
@@ -14,9 +14,8 @@ export default class BasicDatatable extends LightningElement {
14
14
  columns = columns;
15
15
  rowOffset = 0;
16
16
 
17
- // eslint-disable-next-line @lwc/lwc/no-async-await
18
- async connectedCallback() {
19
- this.data = await fetchDataHelper({ amountOfRecords: 100 });
17
+ connectedCallback() {
18
+ this.data = generateData({ amountOfRecords: 100 });
20
19
  }
21
20
 
22
21
  increaseRowOffset() {
@@ -514,7 +514,7 @@ export default class LightningDatatable extends LightningElement {
514
514
 
515
515
  /**
516
516
  * Enables and configures advanced rendering modes.
517
- * It supports properties 'bufferSize', 'fixedHeight', 'rowHeight', and 'virtualize'.
517
+ * It supports properties 'bufferSize', 'fixedHeight', and 'rowHeight'.
518
518
  *
519
519
  * @type {RenderManagerConfig} value - config object for datatable rendering
520
520
  */
@@ -551,8 +551,7 @@ export default class LightningDatatable extends LightningElement {
551
551
  * `default` -> Renders <table>
552
552
  */
553
553
  /**
554
- * Enables virtual rendering when set to 'role-based'.
555
- * Default value is 'default'.
554
+ * Reserved for internal use.
556
555
  */
557
556
  @api
558
557
  get renderMode() {
@@ -1470,7 +1469,9 @@ export default class LightningDatatable extends LightningElement {
1470
1469
  */
1471
1470
  handleTableFocusOut(event) {
1472
1471
  handleDatatableFocusOut.call(this, event);
1473
- this.state.activeCell.focused = this._shouldResetFocus;
1472
+ if (this.state.activeCell) {
1473
+ this.state.activeCell.focused = this._shouldResetFocus;
1474
+ }
1474
1475
  }
1475
1476
 
1476
1477
  /**
@@ -12,6 +12,8 @@ import { isCellEditable, getRowByKey } from './rows';
12
12
  import { isRTL, getShadowActiveElements } from 'lightning/utilsPrivate';
13
13
  import { findFirstVisibleIndex } from './virtualization';
14
14
 
15
+ import { escapeDoubleQuotes } from './utils';
16
+
15
17
  // Indicator/flag for a header row
16
18
  const HEADER_ROW = 'HEADER';
17
19
 
@@ -1318,13 +1320,15 @@ function isHeaderRow(rowIndex) {
1318
1320
  }
1319
1321
 
1320
1322
  export function getDataRow(rowKeyValue) {
1321
- return `[data-row-key-value="${rowKeyValue}"]`;
1323
+ return `[data-row-key-value="${escapeDoubleQuotes(rowKeyValue)}"]`;
1322
1324
  }
1323
1325
 
1324
1326
  export function getCellElementByKeys(template, rowKeyValue, colKeyValue) {
1325
1327
  const selector = `${getDataRow(
1326
1328
  rowKeyValue
1327
- )} [data-col-key-value="${colKeyValue}"] > :first-child`;
1329
+ )} [data-col-key-value="${escapeDoubleQuotes(
1330
+ colKeyValue
1331
+ )}"] > :first-child`;
1328
1332
  return template.querySelector(selector);
1329
1333
  }
1330
1334
 
@@ -20,6 +20,17 @@ const CLASSSET_PROTOTYPE = {
20
20
  },
21
21
  };
22
22
 
23
+ /**
24
+ * function for escaping double quotes, later can be
25
+ * extended in future for any other usecase
26
+ */
27
+ export function escapeDoubleQuotes(value) {
28
+ if (typeof value == 'string') {
29
+ return value.replace(/"/g, '\\"');
30
+ }
31
+ return value;
32
+ }
33
+
23
34
  /**
24
35
  * Determines if a given value is object-like.
25
36
  *
@@ -1,4 +1,4 @@
1
- import { styleToString } from './utils';
1
+ import { styleToString, escapeDoubleQuotes } from './utils';
2
2
 
3
3
  /**
4
4
  * sets an initial table height in the datatable state
@@ -48,7 +48,7 @@ export function handleVariableRowHeights(template, state, renderedRows) {
48
48
  if (!state.heightCache[row.key]) {
49
49
  // need to get row actual element so we can find its height
50
50
  const rowElement = template.querySelector(
51
- `[data-row-key-value="${row.key}"]`
51
+ `[data-row-key-value="${escapeDoubleQuotes(row.key)}"]`
52
52
  );
53
53
  if (rowElement) {
54
54
  // first rendered row needs height increased by 1 to account for missing border
@@ -7,7 +7,7 @@
7
7
  </template>
8
8
  {label}
9
9
  </label>
10
- <lightning-helptext if:true={fieldLevelHelp} content={fieldLevelHelp}></lightning-helptext>
10
+ <lightning-helptext if:true={fieldLevelHelp} content={fieldLevelHelp} alternative-text={helptextAlternativeText}></lightning-helptext>
11
11
  </template>
12
12
  <template if:true={isRangeMessageVisible}>
13
13
  <span id="range-message" data-range-message class="slds-assistive-text">{rangeMessage}</span>
@@ -55,7 +55,7 @@
55
55
  </div>
56
56
  </div>
57
57
 
58
- <template if:true={errorMessage}>
59
- <div id="error-message" data-error-message class="slds-form-element__help" aria-live="assertive">{errorMessage}</div>
60
- </template>
58
+
59
+ <div id="error-message" data-error-message class={computedClass} aria-live="assertive">{errorMessage}</div>
60
+
61
61
  </template>