lightning-base-components 1.22.1-alpha → 1.22.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 (127) hide show
  1. package/README.md +2 -0
  2. package/metadata/raptor.json +38 -2
  3. package/package.json +12 -1
  4. package/scopedImports/@salesforce-label-LightningRecordPicker.actionIconAlternativeText.js +1 -0
  5. package/src/lightning/accordionSection/button.slds.css +8 -0
  6. package/src/lightning/ariaObserver/ariaObserver.js +1 -1
  7. package/src/lightning/baseCombobox/baseCombobox.html +1 -1
  8. package/src/lightning/baseCombobox/baseCombobox.js +1 -0
  9. package/src/lightning/baseCombobox/dropdown.slds.css +7 -7
  10. package/src/lightning/baseComboboxItem/card.lbc.native.css +1 -0
  11. package/src/lightning/baseComboboxItem/inline.lbc.native.css +1 -0
  12. package/src/lightning/button/button.slds.css +8 -0
  13. package/src/lightning/buttonIcon/button-icon.slds.css +8 -0
  14. package/src/lightning/buttonIcon/buttonIcon.js +29 -26
  15. package/src/lightning/buttonIconStateful/button-icon.slds.css +8 -0
  16. package/src/lightning/buttonIconStateful/button.slds.css +8 -0
  17. package/src/lightning/buttonMenu/button-icon.slds.css +8 -0
  18. package/src/lightning/buttonMenu/button.slds.css +8 -0
  19. package/src/lightning/buttonMenu/dropdown.slds.css +7 -7
  20. package/src/lightning/buttonStateful/button.slds.css +8 -0
  21. package/src/lightning/calendar/calendar.lbc.native.css +1 -0
  22. package/src/lightning/calendar/dropdown.slds.css +7 -7
  23. package/src/lightning/checkboxGroup/checkboxGroup.js +21 -10
  24. package/src/lightning/checkboxGroup/checkboxGroup.js-meta.xml +3 -0
  25. package/src/lightning/colorPickerPanel/colorPickerPanel.js +1 -11
  26. package/src/lightning/combobox/combobox.html +1 -1
  27. package/src/lightning/datatable/__docs__/datatable.md +10 -5
  28. package/src/lightning/datatable/autoWidthStrategy.js +32 -44
  29. package/src/lightning/datatable/columnResizer.js +3 -2
  30. package/src/lightning/datatable/columnWidthManager.js +16 -10
  31. package/src/lightning/datatable/columns.js +4 -1
  32. package/src/lightning/datatable/datatable.js +108 -46
  33. package/src/lightning/datatable/infiniteLoading.js +8 -20
  34. package/src/lightning/datatable/inlineEdit.js +11 -6
  35. package/src/lightning/datatable/keyboard.js +58 -55
  36. package/src/lightning/datatable/resizeObserver.js +10 -5
  37. package/src/lightning/datatable/rows.js +3 -3
  38. package/src/lightning/datatable/rowsInlining.js +5 -4
  39. package/src/lightning/datatable/state.js +1 -2
  40. package/src/lightning/datatable/templates/div/div.html +150 -43
  41. package/src/lightning/datatable/templates/div/div.lbc.synthetic.css +8 -7
  42. package/src/lightning/datatable/templates/table/table.html +153 -46
  43. package/src/lightning/datatable/utils.js +10 -4
  44. package/src/lightning/datatable/virtualization.js +6 -4
  45. package/src/lightning/datatable/wrapText.js +16 -15
  46. package/src/lightning/groupedCombobox/groupedCombobox.js +21 -28
  47. package/src/lightning/helptext/button-icon.slds.css +8 -0
  48. package/src/lightning/helptext/helptext.html +2 -1
  49. package/src/lightning/helptext/helptext.js +0 -12
  50. package/src/lightning/input/input.html +0 -1
  51. package/src/lightning/interactiveDialogBase/button.slds.css +8 -0
  52. package/src/lightning/modal/__docs__/modal.md +2 -0
  53. package/src/lightning/modalBase/modalBase.html +2 -0
  54. package/src/lightning/modalBase/modalBase.js +30 -31
  55. package/src/lightning/modalBody/modalBody.html +1 -0
  56. package/src/lightning/modalBody/modalBody.js +3 -0
  57. package/src/lightning/modalFooter/modalFooter.html +5 -1
  58. package/src/lightning/modalFooter/modalFooter.js +3 -0
  59. package/src/lightning/modalHeader/modalHeader.html +4 -1
  60. package/src/lightning/modalHeader/modalHeader.js +3 -0
  61. package/src/lightning/overlayManager/overlayManager.js +1 -1
  62. package/src/lightning/pillContainer/button.slds.css +8 -0
  63. package/src/lightning/positionLibrary/elementProxy.js +13 -6
  64. package/src/lightning/positionLibrary/util.js +20 -2
  65. package/src/lightning/primitiveBubble/primitiveBubble.js +9 -4
  66. package/src/lightning/primitiveCellActions/primitiveCellActions.html +1 -0
  67. package/src/lightning/primitiveCellActions/primitiveCellActions.js +3 -5
  68. package/src/lightning/primitiveCellButton/primitiveCellButton.html +2 -0
  69. package/src/lightning/primitiveCellButton/primitiveCellButton.js +3 -5
  70. package/src/lightning/primitiveCellCheckbox/checkbox.html +3 -2
  71. package/src/lightning/primitiveCellCheckbox/primitiveCellCheckbox.js +6 -3
  72. package/src/lightning/primitiveCellCheckbox/radio.html +5 -4
  73. package/src/lightning/primitiveCellEditableButton/primitiveCellEditableButton.html +1 -1
  74. package/src/lightning/primitiveCellEditableButton/primitiveCellEditableButton.js +1 -1
  75. package/src/lightning/primitiveCellFactory/bareCustomCell.html +1 -0
  76. package/src/lightning/primitiveCellFactory/cellWithStandardLayout.html +1 -0
  77. package/src/lightning/primitiveCellFactory/primitiveCellFactory.js +4 -6
  78. package/src/lightning/primitiveColumnSorter/primitiveColumnSorter.html +1 -0
  79. package/src/lightning/primitiveColumnSorter/primitiveColumnSorter.js +1 -1
  80. package/src/lightning/primitiveDatatableIeditPanel/primitiveDatatableIeditPanel.html +3 -1
  81. package/src/lightning/primitiveDatatableIeditPanel/primitiveDatatableIeditPanel.js +3 -3
  82. package/src/lightning/primitiveDatatableStatusBar/primitiveDatatableStatusBar.html +1 -0
  83. package/src/lightning/primitiveDatatableStatusBar/primitiveDatatableStatusBar.js +1 -3
  84. package/src/lightning/primitiveDatatableTooltip/primitiveDatatableTooltip.html +1 -0
  85. package/src/lightning/primitiveDatatableTooltip/primitiveDatatableTooltip.js +1 -1
  86. package/src/lightning/primitiveDatatableTooltipBubble/primitiveDatatableTooltipBubble.html +1 -1
  87. package/src/lightning/primitiveDatatableTooltipBubble/primitiveDatatableTooltipBubble.js +1 -1
  88. package/src/lightning/primitiveHeaderActions/primitiveHeaderActions.html +2 -0
  89. package/src/lightning/primitiveHeaderActions/primitiveHeaderActions.js +2 -4
  90. package/src/lightning/primitiveHeaderFactory/nonsortableHeader.html +8 -3
  91. package/src/lightning/primitiveHeaderFactory/primitiveHeaderFactory.js +43 -13
  92. package/src/lightning/primitiveHeaderFactory/selectableHeader.html +3 -2
  93. package/src/lightning/primitiveHeaderFactory/sortableHeader.html +8 -3
  94. package/src/lightning/primitiveHeaderFactory/sortingMenuHeader.html +1 -1
  95. package/src/lightning/primitiveIcon/primitiveIcon.css +0 -1
  96. package/src/lightning/primitiveInputFile/button.slds.css +8 -0
  97. package/src/lightning/primitiveResizeHandler/primitiveResizeHandler.html +4 -2
  98. package/src/lightning/primitiveResizeHandler/primitiveResizeHandler.js +2 -2
  99. package/src/lightning/primitiveTreegridCellToggle/primitiveTreegridCellToggle.html +1 -1
  100. package/src/lightning/primitiveTreegridCellToggle/primitiveTreegridCellToggle.js +1 -1
  101. package/src/lightning/progressIndicator/progressIndicator.css +1 -1
  102. package/src/lightning/progressIndicator/progressIndicator.js +14 -6
  103. package/src/lightning/progressIndicator/progressIndicator.js-meta.xml +3 -0
  104. package/src/lightning/progressIndicator/progressIndicator.lbc.native.css +2 -0
  105. package/src/lightning/progressStep/__examples__/basic/basic.html +11 -0
  106. package/src/lightning/progressStep/__examples__/basic/basic.js +3 -0
  107. package/src/lightning/progressStep/__examples__/shaded/shaded.html +11 -0
  108. package/src/lightning/progressStep/__examples__/shaded/shaded.js +3 -0
  109. package/src/lightning/progressStep/base.html +2 -1
  110. package/src/lightning/progressStep/progressStep.css +1 -0
  111. package/src/lightning/progressStep/progressStep.js +40 -29
  112. package/src/lightning/progressStep/progressStep.js-meta.xml +3 -0
  113. package/src/lightning/progressStep/progressStep.lbc.native.css +3 -0
  114. package/src/lightning/sldsCommon/sldsCommon.css +1 -1
  115. package/src/lightning/sldsUtilsThemes/sldsUtilsThemes.css +6 -4
  116. package/src/lightning/tabBar/tab-bar.slds.css +17 -3
  117. package/src/lightning/tile/mediaTile.css +2 -0
  118. package/src/lightning/tile/standardTile.css +2 -1
  119. package/src/lightning/tile/tile.js +5 -2
  120. package/src/lightning/tile/tile.js-meta.xml +3 -0
  121. package/src/lightning/tile/tile.lbc.native.css +4 -0
  122. package/src/lightning/toast/button-icon.slds.css +8 -0
  123. package/src/lightning/tooltipLibrary/tooltipLibrary.js +15 -4
  124. package/src/lightning/utilsPrivate/utilsPrivate.js +4 -4
  125. package/src/lightning/verticalNavigationOverflow/button.slds.css +8 -0
  126. package/src/lightning/primitiveIcon/primitiveIcon.lbc.synthetic.css +0 -9
  127. /package/src/lightning/tile/{standardTile.lbc.synthetic.css → tile.lbc.synthetic.css} +0 -0
package/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # lightning-base-components
2
2
 
3
+ > ⚠️ Publishing of the package has been paused. Salesforce employees should use the internal package.
4
+
3
5
  Base Lightning web components are the building blocks of the modern user interfaces
4
6
  for Lightning Experience, the Salesforce app, and Lightning Communities. The components
5
7
  incorporate Lightning Design System markup and classes, providing improved performance
@@ -276,6 +276,9 @@
276
276
  {
277
277
  "name": "alternativeText"
278
278
  },
279
+ {
280
+ "name": "disableAlternativeTextTitle"
281
+ },
279
282
  {
280
283
  "name": "iconClass"
281
284
  },
@@ -291,6 +294,9 @@
291
294
  {
292
295
  "name": "tooltip"
293
296
  },
297
+ {
298
+ "name": "tooltipType"
299
+ },
294
300
  {
295
301
  "name": "type"
296
302
  },
@@ -567,6 +573,11 @@
567
573
  {
568
574
  "name": "showHelpMessageIfInvalid"
569
575
  }
576
+ ],
577
+ "staticProperties": [
578
+ {
579
+ "name": "validationOptOut"
580
+ }
570
581
  ]
571
582
  },
572
583
  "clickToDial": {
@@ -3290,7 +3301,7 @@
3290
3301
  "name": "autocomplete"
3291
3302
  },
3292
3303
  {
3293
- "name": "readonly"
3304
+ "name": "readOnly"
3294
3305
  },
3295
3306
  {
3296
3307
  "name": "selectMode"
@@ -3662,7 +3673,7 @@
3662
3673
  "name": "name"
3663
3674
  },
3664
3675
  {
3665
- "name": "readonly"
3676
+ "name": "readOnly"
3666
3677
  },
3667
3678
  {
3668
3679
  "name": "required"
@@ -3676,6 +3687,11 @@
3676
3687
  {
3677
3688
  "name": "value"
3678
3689
  }
3690
+ ],
3691
+ "methods": [
3692
+ {
3693
+ "name": "focus"
3694
+ }
3679
3695
  ]
3680
3696
  },
3681
3697
  "primitiveLayout": {
@@ -4135,6 +4151,11 @@
4135
4151
  {
4136
4152
  "name": "variant"
4137
4153
  }
4154
+ ],
4155
+ "staticProperties": [
4156
+ {
4157
+ "name": "stylesheets"
4158
+ }
4138
4159
  ]
4139
4160
  },
4140
4161
  "progressRing": {
@@ -4165,6 +4186,14 @@
4165
4186
  {
4166
4187
  "name": "value"
4167
4188
  }
4189
+ ],
4190
+ "staticProperties": [
4191
+ {
4192
+ "name": "stylesheets"
4193
+ },
4194
+ {
4195
+ "name": "validationOptOut"
4196
+ }
4168
4197
  ]
4169
4198
  },
4170
4199
  "prompt": {
@@ -4554,6 +4583,7 @@
4554
4583
  "salesEnablementMeasureApi": {},
4555
4584
  "salesEnablementProgramApi": {},
4556
4585
  "salesEngagementWorkspaceApi": {},
4586
+ "salesEvfsdkApi": {},
4557
4587
  "salesPathAssistantApi": {},
4558
4588
  "salesPeopleApi": {},
4559
4589
  "salesUserWorkingHoursApi": {},
@@ -4983,6 +5013,11 @@
4983
5013
  {
4984
5014
  "name": "type"
4985
5015
  }
5016
+ ],
5017
+ "staticProperties": [
5018
+ {
5019
+ "name": "validationOptOut"
5020
+ }
4986
5021
  ]
4987
5022
  },
4988
5023
  "toast": {
@@ -5134,6 +5169,7 @@
5134
5169
  },
5135
5170
  "uiGraphQLBatchApi": {},
5136
5171
  "uiLayoutApi": {},
5172
+ "uiLayoutUserStateApi": {},
5137
5173
  "uiLearningContentPlatformApi": {},
5138
5174
  "uiListApi": {
5139
5175
  "minVersion": "45.0"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lightning-base-components",
3
- "version": "1.22.1-alpha",
3
+ "version": "1.22.3-alpha",
4
4
  "license": "MIT",
5
5
  "files": [
6
6
  "external",
@@ -1066,6 +1066,10 @@
1066
1066
  "name": "@salesforce/label/LightningRecordPicker.emptyStateNoResultText",
1067
1067
  "path": "scopedImports/@salesforce-label-LightningRecordPicker.emptyStateNoResultText.js"
1068
1068
  },
1069
+ {
1070
+ "name": "@salesforce/label/LightningRecordPicker.actionIconAlternativeText",
1071
+ "path": "scopedImports/@salesforce-label-LightningRecordPicker.actionIconAlternativeText.js"
1072
+ },
1069
1073
  {
1070
1074
  "name": "@salesforce/label/LightningPicklist.available",
1071
1075
  "path": "scopedImports/@salesforce-label-LightningPicklist.available.js"
@@ -1489,6 +1493,7 @@
1489
1493
  "lightning-button-stateful",
1490
1494
  "lightning-card",
1491
1495
  "lightning-calendar",
1496
+ "lightning-checkbox-group",
1492
1497
  "lightning-color-picker-custom",
1493
1498
  "lightning-color-picker-panel",
1494
1499
  "lightning-combobox",
@@ -1544,6 +1549,7 @@
1544
1549
  "lightning-tab-bar",
1545
1550
  "lightning-tabset",
1546
1551
  "lightning-textarea",
1552
+ "lightning-tile",
1547
1553
  "lightning-timepicker",
1548
1554
  "lightning-vertical-navigation",
1549
1555
  "lightning-vertical-navigation-item",
@@ -1570,6 +1576,8 @@
1570
1576
  "lightning-popup-source",
1571
1577
  "lightning-primitive-icon",
1572
1578
  "lightning-primitive-iframe",
1579
+ "lightning-progress-indicator",
1580
+ "lightning-progress-step",
1573
1581
  "lightning-static-map",
1574
1582
  "lightning-toast",
1575
1583
  "lightning-toast-container",
@@ -1660,7 +1668,9 @@
1660
1668
  "lightning-primitive-input-toggle",
1661
1669
  "lightning-prompt",
1662
1670
  "lightning-progress-bar",
1671
+ "lightning-progress-indicator",
1663
1672
  "lightning-progress-ring",
1673
+ "lightning-progress-step",
1664
1674
  "lightning-radio-group",
1665
1675
  "lightning-rich-text-toolbar-button",
1666
1676
  "lightning-rich-text-toolbar-button-group",
@@ -1672,6 +1682,7 @@
1672
1682
  "lightning-tabset",
1673
1683
  "lightning-toast",
1674
1684
  "lightning-toast-container",
1685
+ "lightning-tile",
1675
1686
  "lightning-timepicker",
1676
1687
  "lightning-vertical-navigation",
1677
1688
  "lightning-vertical-navigation-item",
@@ -296,6 +296,14 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
296
296
  --sds-c-button-color-border-disabled: var(--slds-g-color-border-disabled-1);
297
297
  --sds-c-button-text-color-disabled: var(--slds-g-color-on-disabled-1);
298
298
  --sds-c-button-color-background-disabled: var(--slds-g-color-disabled-container-1);
299
+
300
+ /**
301
+ * Needed to override
302
+ * `pointer-event: none` coming from sds
303
+ * that prevent tooltip from showing
304
+ */
305
+ pointer-events: auto;
306
+ cursor: default;
299
307
  }
300
308
  /**
301
309
  * A note about fallbacks on the default variant:
@@ -40,7 +40,7 @@ const SUPPORTED_ATTRIBUTES_ARRAY = [
40
40
  [
41
41
  'aria-details',
42
42
  {
43
- ariaReflection: 'ariaControlsElements',
43
+ ariaReflection: 'ariaDetailsElements',
44
44
  polyfill: setAriaDetails,
45
45
  },
46
46
  ],
@@ -131,7 +131,7 @@
131
131
  <template if:true={item.label}>
132
132
  <li role="presentation" class="slds-listbox__item">
133
133
  <div class="slds-media slds-listbox__option slds-listbox__option_plain slds-media_small" role="presentation">
134
- <h3 role="presentation" title={item.label}>{item.label}</h3>
134
+ <h3 role="presentation" title={item.label} class="slds-listbox__option-header">{item.label}</h3>
135
135
  </div>
136
136
  </li>
137
137
  </template>
@@ -102,6 +102,7 @@ export default class LightningBaseCombobox extends LightningShadowBaseClass {
102
102
  _logoLoaded = false;
103
103
  _inputDescribedBy = [];
104
104
  _inputAriaControls;
105
+ _inputAriaDetails;
105
106
  _activeElementDomId;
106
107
  _autocomplete = 'off';
107
108
  _dropdownAlignment = 'left';
@@ -353,8 +353,8 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
353
353
  /* stylelint-disable */
354
354
  max-width: var(--_dropdown-size-medium);
355
355
  /* stylelint-enable */
356
- margin-block-start: calc(var(--slds-g-spacing-1)) / 2;
357
- margin-block-end: calc(var(--slds-g-spacing-1)) / 2;
356
+ margin-block-start: calc(var(--slds-g-spacing-1) / 2);
357
+ margin-block-end: calc(var(--slds-g-spacing-1) / 2);
358
358
  font-size: var(--slds-g-font-scale-neg-1);
359
359
  border-style: solid;
360
360
  transform: translateX(-50%);
@@ -393,11 +393,11 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
393
393
  /* Deal with positioning when target is just an icon */
394
394
  :host([data-render-mode="shadow"].slds-dropdown-trigger) > [class*='slds-button_icon'] ~ .slds-dropdown_left[class*='slds-nubbin'],:host([data-render-mode="shadow"])
395
395
  .slds-dropdown-trigger > [class*='slds-button_icon'] ~ .slds-dropdown_left[class*='slds-nubbin'] {
396
- left: (var(--slds-g-spacing-2) * -1);
396
+ left: calc(var(--slds-g-spacing-2) * -1);
397
397
  }
398
398
  :host([data-render-mode="shadow"].slds-dropdown-trigger) > [class*='slds-button_icon'] ~ .slds-dropdown_right[class*='slds-nubbin'],:host([data-render-mode="shadow"])
399
399
  .slds-dropdown-trigger > [class*='slds-button_icon'] ~ .slds-dropdown_right[class*='slds-nubbin'] {
400
- right: (var(--slds-g-spacing-2) * -1);
400
+ right: calc(var(--slds-g-spacing-2) * -1);
401
401
  }
402
402
  :host([data-render-mode="shadow"].slds-dropdown-trigger_hover) .slds-dropdown,:host([data-render-mode="shadow"])
403
403
  .slds-dropdown-trigger_hover .slds-dropdown {
@@ -489,15 +489,15 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
489
489
  width: 100%;
490
490
  }
491
491
  :host([data-render-mode="shadow"]) .slds-dropdown_length-5 {
492
- max-height: calc((var(--slds-g-font-scale-neg-3)) * var(--slds-g-font-lineheight)) + var(--slds-g-spacing-4) * 5;
492
+ max-height: calc(((var(--slds-g-font-scale-neg-3) * var(--slds-g-font-lineheight)) + var(--slds-g-spacing-4)) * 5);
493
493
  overflow-y: auto;
494
494
  }
495
495
  :host([data-render-mode="shadow"]) .slds-dropdown_length-7 {
496
- max-height: calc((var(--slds-g-font-scale-neg-3)) * var(--slds-g-font-lineheight)) + var(--slds-g-spacing-4) * 7;
496
+ max-height: calc(((var(--slds-g-font-scale-neg-3) * var(--slds-g-font-lineheight)) + var(--slds-g-spacing-4)) * 7);
497
497
  overflow-y: auto;
498
498
  }
499
499
  :host([data-render-mode="shadow"]) .slds-dropdown_length-10 {
500
- max-height: calc((var(--slds-g-font-scale-neg-3)) * var(--slds-g-font-lineheight)) + var(--slds-g-spacing-4) * 10;
500
+ max-height: calc(((var(--slds-g-font-scale-neg-3) * var(--slds-g-font-lineheight)) + var(--slds-g-spacing-4)) * 10);
501
501
  overflow-y: auto;
502
502
  }
503
503
  :host([data-render-mode="shadow"]) .slds-dropdown_length-with-icon-5 {
@@ -1,2 +1,3 @@
1
1
  @import 'lightning/sldsCommon';
2
+ @import 'lightning/sldsMediaObject';
2
3
  @import './listbox.slds.css';
@@ -1,2 +1,3 @@
1
1
  @import 'lightning/sldsCommon';
2
+ @import 'lightning/sldsMediaObject';
2
3
  @import './listbox.slds.css';
@@ -296,6 +296,14 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
296
296
  --sds-c-button-color-border-disabled: var(--slds-g-color-border-disabled-1);
297
297
  --sds-c-button-text-color-disabled: var(--slds-g-color-on-disabled-1);
298
298
  --sds-c-button-color-background-disabled: var(--slds-g-color-disabled-container-1);
299
+
300
+ /**
301
+ * Needed to override
302
+ * `pointer-event: none` coming from sds
303
+ * that prevent tooltip from showing
304
+ */
305
+ pointer-events: auto;
306
+ cursor: default;
299
307
  }
300
308
  /**
301
309
  * A note about fallbacks on the default variant:
@@ -299,6 +299,14 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
299
299
  --sds-c-button-color-border-disabled: var(--slds-g-color-border-disabled-1);
300
300
  --sds-c-button-text-color-disabled: var(--slds-g-color-on-disabled-1);
301
301
  --sds-c-button-color-background-disabled: var(--slds-g-color-disabled-container-1);
302
+
303
+ /**
304
+ * Needed to override
305
+ * `pointer-event: none` coming from sds
306
+ * that prevent tooltip from showing
307
+ */
308
+ pointer-events: auto;
309
+ cursor: default;
302
310
  }
303
311
  /**
304
312
  * A note about fallbacks on the default variant:
@@ -1,6 +1,6 @@
1
1
  import { api } from 'lwc';
2
2
  import { classSet } from 'lightning/utils';
3
- import { normalizeString as normalize, isCSR } from 'lightning/utilsPrivate';
3
+ import { normalizeString as normalize } from 'lightning/utilsPrivate';
4
4
  // remove-next-line-for-c-namespace
5
5
  import { Tooltip, TooltipType } from 'lightning/tooltipLibrary';
6
6
  import LightningPrimitiveButton from 'lightning/primitiveButton';
@@ -120,6 +120,24 @@ export default class LightningButtonIcon extends LightningPrimitiveButton {
120
120
  */
121
121
  @api alternativeText;
122
122
 
123
+ /**
124
+ * Reserved for internal use only.
125
+ * Specifies the type of tooltip to be used.
126
+ * Use info in cases where target already has click handlers.
127
+ * Use toggle in cases where target only shows a tooltip, such as helptext.
128
+ * @type {string}
129
+ * @default info
130
+ */
131
+ @api tooltipType = TooltipType.Info;
132
+
133
+ /**
134
+ * Reserved for internal use only.
135
+ * Disables the alternative text being used for the button title when the title has not been provided.
136
+ * @type {boolean}
137
+ * @default false
138
+ */
139
+ @api disableAlternativeTextTitle = false;
140
+
123
141
  // remove-next-line-for-c-namespace
124
142
  /**
125
143
  * Text to display when the user mouses over or focuses on the button.
@@ -145,9 +163,7 @@ export default class LightningButtonIcon extends LightningPrimitiveButton {
145
163
  // remove-next-line-for-c-namespace
146
164
  _tooltip = null;
147
165
  tooltipValue = null;
148
- tooltipType = TooltipType.Info;
149
166
  rendered = false;
150
- showTitle = true;
151
167
 
152
168
  /**
153
169
  * Generate a tooltip with the specified value and current tooltip type
@@ -169,10 +185,16 @@ export default class LightningButtonIcon extends LightningPrimitiveButton {
169
185
  }
170
186
 
171
187
  get computedTitle() {
172
- // Assign after renderedCallback (this.rendered) to nullify hydration mismatch.
173
- return this.rendered && this.showTitle
174
- ? this.title || this.alternativeText || ''
175
- : null;
188
+ // Assign after renderedCallback to avoid hydration mismatch.
189
+ if (this.rendered) {
190
+ if (this.title) {
191
+ return this.title;
192
+ }
193
+ if (!this.disableAlternativeTextTitle) {
194
+ return this.alternativeText;
195
+ }
196
+ }
197
+ return null;
176
198
  }
177
199
 
178
200
  normalizeVariant(variant) {
@@ -333,24 +355,6 @@ export default class LightningButtonIcon extends LightningPrimitiveButton {
333
355
  connectedCallback() {
334
356
  super.connectedCallback();
335
357
  this._connected = true;
336
- if (isCSR) {
337
- this.dispatchEvent(
338
- new CustomEvent('privatebuttoniconregister', {
339
- cancelable: true,
340
- bubbles: true,
341
- detail: {
342
- // Tooltip type should be toggle for some consumers like helptext
343
- setTooltipType: (tooltipType) => {
344
- this.tooltipType = tooltipType;
345
- },
346
- // Title should not be set for some consumers like helptext (see W-12496300)
347
- showTitle: (showTitle) => {
348
- this.showTitle = showTitle;
349
- },
350
- },
351
- })
352
- );
353
- }
354
358
  }
355
359
 
356
360
  renderedCallback() {
@@ -372,7 +376,6 @@ export default class LightningButtonIcon extends LightningPrimitiveButton {
372
376
  super.disconnectedCallback();
373
377
  this._connected = false;
374
378
  this.rendered = false;
375
- this.showTitle = true;
376
379
  if (this._tooltip) {
377
380
  this._tooltip.disconnect();
378
381
  }
@@ -299,6 +299,14 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
299
299
  --sds-c-button-color-border-disabled: var(--slds-g-color-border-disabled-1);
300
300
  --sds-c-button-text-color-disabled: var(--slds-g-color-on-disabled-1);
301
301
  --sds-c-button-color-background-disabled: var(--slds-g-color-disabled-container-1);
302
+
303
+ /**
304
+ * Needed to override
305
+ * `pointer-event: none` coming from sds
306
+ * that prevent tooltip from showing
307
+ */
308
+ pointer-events: auto;
309
+ cursor: default;
302
310
  }
303
311
  /**
304
312
  * A note about fallbacks on the default variant:
@@ -296,6 +296,14 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
296
296
  --sds-c-button-color-border-disabled: var(--slds-g-color-border-disabled-1);
297
297
  --sds-c-button-text-color-disabled: var(--slds-g-color-on-disabled-1);
298
298
  --sds-c-button-color-background-disabled: var(--slds-g-color-disabled-container-1);
299
+
300
+ /**
301
+ * Needed to override
302
+ * `pointer-event: none` coming from sds
303
+ * that prevent tooltip from showing
304
+ */
305
+ pointer-events: auto;
306
+ cursor: default;
299
307
  }
300
308
  /**
301
309
  * A note about fallbacks on the default variant:
@@ -299,6 +299,14 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
299
299
  --sds-c-button-color-border-disabled: var(--slds-g-color-border-disabled-1);
300
300
  --sds-c-button-text-color-disabled: var(--slds-g-color-on-disabled-1);
301
301
  --sds-c-button-color-background-disabled: var(--slds-g-color-disabled-container-1);
302
+
303
+ /**
304
+ * Needed to override
305
+ * `pointer-event: none` coming from sds
306
+ * that prevent tooltip from showing
307
+ */
308
+ pointer-events: auto;
309
+ cursor: default;
302
310
  }
303
311
  /**
304
312
  * A note about fallbacks on the default variant:
@@ -296,6 +296,14 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
296
296
  --sds-c-button-color-border-disabled: var(--slds-g-color-border-disabled-1);
297
297
  --sds-c-button-text-color-disabled: var(--slds-g-color-on-disabled-1);
298
298
  --sds-c-button-color-background-disabled: var(--slds-g-color-disabled-container-1);
299
+
300
+ /**
301
+ * Needed to override
302
+ * `pointer-event: none` coming from sds
303
+ * that prevent tooltip from showing
304
+ */
305
+ pointer-events: auto;
306
+ cursor: default;
299
307
  }
300
308
  /**
301
309
  * A note about fallbacks on the default variant:
@@ -353,8 +353,8 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
353
353
  /* stylelint-disable */
354
354
  max-width: var(--_dropdown-size-medium);
355
355
  /* stylelint-enable */
356
- margin-block-start: calc(var(--slds-g-spacing-1)) / 2;
357
- margin-block-end: calc(var(--slds-g-spacing-1)) / 2;
356
+ margin-block-start: calc(var(--slds-g-spacing-1) / 2);
357
+ margin-block-end: calc(var(--slds-g-spacing-1) / 2);
358
358
  font-size: var(--slds-g-font-scale-neg-1);
359
359
  border-style: solid;
360
360
  transform: translateX(-50%);
@@ -393,11 +393,11 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
393
393
  /* Deal with positioning when target is just an icon */
394
394
  :host([data-render-mode="shadow"].slds-dropdown-trigger) > [class*='slds-button_icon'] ~ .slds-dropdown_left[class*='slds-nubbin'],:host([data-render-mode="shadow"])
395
395
  .slds-dropdown-trigger > [class*='slds-button_icon'] ~ .slds-dropdown_left[class*='slds-nubbin'] {
396
- left: (var(--slds-g-spacing-2) * -1);
396
+ left: calc(var(--slds-g-spacing-2) * -1);
397
397
  }
398
398
  :host([data-render-mode="shadow"].slds-dropdown-trigger) > [class*='slds-button_icon'] ~ .slds-dropdown_right[class*='slds-nubbin'],:host([data-render-mode="shadow"])
399
399
  .slds-dropdown-trigger > [class*='slds-button_icon'] ~ .slds-dropdown_right[class*='slds-nubbin'] {
400
- right: (var(--slds-g-spacing-2) * -1);
400
+ right: calc(var(--slds-g-spacing-2) * -1);
401
401
  }
402
402
  :host([data-render-mode="shadow"].slds-dropdown-trigger_hover) .slds-dropdown,:host([data-render-mode="shadow"])
403
403
  .slds-dropdown-trigger_hover .slds-dropdown {
@@ -489,15 +489,15 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
489
489
  width: 100%;
490
490
  }
491
491
  :host([data-render-mode="shadow"]) .slds-dropdown_length-5 {
492
- max-height: calc((var(--slds-g-font-scale-neg-3)) * var(--slds-g-font-lineheight)) + var(--slds-g-spacing-4) * 5;
492
+ max-height: calc(((var(--slds-g-font-scale-neg-3) * var(--slds-g-font-lineheight)) + var(--slds-g-spacing-4)) * 5);
493
493
  overflow-y: auto;
494
494
  }
495
495
  :host([data-render-mode="shadow"]) .slds-dropdown_length-7 {
496
- max-height: calc((var(--slds-g-font-scale-neg-3)) * var(--slds-g-font-lineheight)) + var(--slds-g-spacing-4) * 7;
496
+ max-height: calc(((var(--slds-g-font-scale-neg-3) * var(--slds-g-font-lineheight)) + var(--slds-g-spacing-4)) * 7);
497
497
  overflow-y: auto;
498
498
  }
499
499
  :host([data-render-mode="shadow"]) .slds-dropdown_length-10 {
500
- max-height: calc((var(--slds-g-font-scale-neg-3)) * var(--slds-g-font-lineheight)) + var(--slds-g-spacing-4) * 10;
500
+ max-height: calc(((var(--slds-g-font-scale-neg-3) * var(--slds-g-font-lineheight)) + var(--slds-g-spacing-4)) * 10);
501
501
  overflow-y: auto;
502
502
  }
503
503
  :host([data-render-mode="shadow"]) .slds-dropdown_length-with-icon-5 {
@@ -296,6 +296,14 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
296
296
  --sds-c-button-color-border-disabled: var(--slds-g-color-border-disabled-1);
297
297
  --sds-c-button-text-color-disabled: var(--slds-g-color-on-disabled-1);
298
298
  --sds-c-button-color-background-disabled: var(--slds-g-color-disabled-container-1);
299
+
300
+ /**
301
+ * Needed to override
302
+ * `pointer-event: none` coming from sds
303
+ * that prevent tooltip from showing
304
+ */
305
+ pointer-events: auto;
306
+ cursor: default;
299
307
  }
300
308
  /**
301
309
  * A note about fallbacks on the default variant:
@@ -1,3 +1,4 @@
1
+ @import 'lightning/sldsCommon';
1
2
  @import './dropdown.slds.css';
2
3
  @import './calendar.slds.css';
3
4
 
@@ -353,8 +353,8 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
353
353
  /* stylelint-disable */
354
354
  max-width: var(--_dropdown-size-medium);
355
355
  /* stylelint-enable */
356
- margin-block-start: calc(var(--slds-g-spacing-1)) / 2;
357
- margin-block-end: calc(var(--slds-g-spacing-1)) / 2;
356
+ margin-block-start: calc(var(--slds-g-spacing-1) / 2);
357
+ margin-block-end: calc(var(--slds-g-spacing-1) / 2);
358
358
  font-size: var(--slds-g-font-scale-neg-1);
359
359
  border-style: solid;
360
360
  transform: translateX(-50%);
@@ -393,11 +393,11 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
393
393
  /* Deal with positioning when target is just an icon */
394
394
  :host([data-render-mode="shadow"].slds-dropdown-trigger) > [class*='slds-button_icon'] ~ .slds-dropdown_left[class*='slds-nubbin'],:host([data-render-mode="shadow"])
395
395
  .slds-dropdown-trigger > [class*='slds-button_icon'] ~ .slds-dropdown_left[class*='slds-nubbin'] {
396
- left: (var(--slds-g-spacing-2) * -1);
396
+ left: calc(var(--slds-g-spacing-2) * -1);
397
397
  }
398
398
  :host([data-render-mode="shadow"].slds-dropdown-trigger) > [class*='slds-button_icon'] ~ .slds-dropdown_right[class*='slds-nubbin'],:host([data-render-mode="shadow"])
399
399
  .slds-dropdown-trigger > [class*='slds-button_icon'] ~ .slds-dropdown_right[class*='slds-nubbin'] {
400
- right: (var(--slds-g-spacing-2) * -1);
400
+ right: calc(var(--slds-g-spacing-2) * -1);
401
401
  }
402
402
  :host([data-render-mode="shadow"].slds-dropdown-trigger_hover) .slds-dropdown,:host([data-render-mode="shadow"])
403
403
  .slds-dropdown-trigger_hover .slds-dropdown {
@@ -489,15 +489,15 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
489
489
  width: 100%;
490
490
  }
491
491
  :host([data-render-mode="shadow"]) .slds-dropdown_length-5 {
492
- max-height: calc((var(--slds-g-font-scale-neg-3)) * var(--slds-g-font-lineheight)) + var(--slds-g-spacing-4) * 5;
492
+ max-height: calc(((var(--slds-g-font-scale-neg-3) * var(--slds-g-font-lineheight)) + var(--slds-g-spacing-4)) * 5);
493
493
  overflow-y: auto;
494
494
  }
495
495
  :host([data-render-mode="shadow"]) .slds-dropdown_length-7 {
496
- max-height: calc((var(--slds-g-font-scale-neg-3)) * var(--slds-g-font-lineheight)) + var(--slds-g-spacing-4) * 7;
496
+ max-height: calc(((var(--slds-g-font-scale-neg-3) * var(--slds-g-font-lineheight)) + var(--slds-g-spacing-4)) * 7);
497
497
  overflow-y: auto;
498
498
  }
499
499
  :host([data-render-mode="shadow"]) .slds-dropdown_length-10 {
500
- max-height: calc((var(--slds-g-font-scale-neg-3)) * var(--slds-g-font-lineheight)) + var(--slds-g-spacing-4) * 10;
500
+ max-height: calc(((var(--slds-g-font-scale-neg-3) * var(--slds-g-font-lineheight)) + var(--slds-g-spacing-4)) * 10);
501
501
  overflow-y: auto;
502
502
  }
503
503
  :host([data-render-mode="shadow"]) .slds-dropdown_length-with-icon-5 {