lightning-base-components 1.22.2-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 (137) hide show
  1. package/README.md +2 -0
  2. package/metadata/raptor.json +31 -2
  3. package/package.json +12 -1
  4. package/scopedImports/@salesforce-label-LightningRecordPicker.actionIconAlternativeText.js +1 -0
  5. package/src/lightning/ariaObserver/ariaObserver.js +1 -1
  6. package/src/lightning/baseCombobox/baseCombobox.html +1 -1
  7. package/src/lightning/baseCombobox/baseCombobox.js +1 -0
  8. package/src/lightning/baseCombobox/input-text.slds.css +6 -7
  9. package/src/lightning/baseComboboxItem/card.lbc.native.css +1 -0
  10. package/src/lightning/baseComboboxItem/inline.lbc.native.css +1 -0
  11. package/src/lightning/buttonIcon/button-icon.slds.css +5 -5
  12. package/src/lightning/buttonIconStateful/button-icon.slds.css +5 -5
  13. package/src/lightning/buttonMenu/button-icon.slds.css +5 -5
  14. package/src/lightning/calendar/calendar.slds.css +10 -13
  15. package/src/lightning/checkboxGroup/checkboxGroup.js +21 -10
  16. package/src/lightning/checkboxGroup/checkboxGroup.js-meta.xml +3 -0
  17. package/src/lightning/colorPickerCustom/input-text.slds.css +6 -7
  18. package/src/lightning/combobox/form-element.slds.css +1 -1
  19. package/src/lightning/datatable/__docs__/datatable.md +10 -5
  20. package/src/lightning/datatable/columnResizer.js +3 -2
  21. package/src/lightning/datatable/columnWidthManager.js +16 -10
  22. package/src/lightning/datatable/datatable.js +101 -38
  23. package/src/lightning/datatable/infiniteLoading.js +8 -20
  24. package/src/lightning/datatable/inlineEdit.js +11 -6
  25. package/src/lightning/datatable/keyboard.js +58 -55
  26. package/src/lightning/datatable/resizeObserver.js +10 -5
  27. package/src/lightning/datatable/rows.js +1 -2
  28. package/src/lightning/datatable/rowsInlining.js +5 -4
  29. package/src/lightning/datatable/state.js +1 -2
  30. package/src/lightning/datatable/templates/div/div.html +150 -43
  31. package/src/lightning/datatable/templates/div/div.lbc.synthetic.css +8 -7
  32. package/src/lightning/datatable/templates/table/table.html +153 -46
  33. package/src/lightning/datatable/utils.js +10 -4
  34. package/src/lightning/datatable/virtualization.js +6 -4
  35. package/src/lightning/datatable/wrapText.js +16 -15
  36. package/src/lightning/datepicker/form-element.slds.css +1 -1
  37. package/src/lightning/datepicker/input-text.slds.css +6 -7
  38. package/src/lightning/datetimepicker/form-element.slds.css +1 -1
  39. package/src/lightning/datetimepicker/input-text.slds.css +6 -7
  40. package/src/lightning/dualListbox/form-element.slds.css +1 -1
  41. package/src/lightning/groupedCombobox/form-element.slds.css +1 -1
  42. package/src/lightning/groupedCombobox/input-text.slds.css +6 -7
  43. package/src/lightning/helptext/button-icon.slds.css +5 -5
  44. package/src/lightning/helptext/form-element.slds.css +1 -1
  45. package/src/lightning/input/form-element.slds.css +1 -1
  46. package/src/lightning/input/input.html +0 -1
  47. package/src/lightning/inputAddress/form-element.slds.css +1 -1
  48. package/src/lightning/inputAddress/input-text.slds.css +6 -7
  49. package/src/lightning/inputLocation/form-element.slds.css +1 -1
  50. package/src/lightning/inputLocation/input-text.slds.css +6 -7
  51. package/src/lightning/inputName/form-element.slds.css +1 -1
  52. package/src/lightning/inputName/input-text.slds.css +6 -7
  53. package/src/lightning/lookupAddress/form-element.slds.css +1 -1
  54. package/src/lightning/modal/__docs__/modal.md +2 -0
  55. package/src/lightning/modalBase/modalBase.html +2 -0
  56. package/src/lightning/modalBase/modalBase.js +30 -31
  57. package/src/lightning/modalBody/modalBody.html +1 -0
  58. package/src/lightning/modalBody/modalBody.js +3 -0
  59. package/src/lightning/modalFooter/modalFooter.html +5 -1
  60. package/src/lightning/modalFooter/modalFooter.js +3 -0
  61. package/src/lightning/modalHeader/modalHeader.html +4 -1
  62. package/src/lightning/modalHeader/modalHeader.js +3 -0
  63. package/src/lightning/overlayManager/overlayManager.js +1 -1
  64. package/src/lightning/positionLibrary/elementProxy.js +13 -6
  65. package/src/lightning/positionLibrary/util.js +20 -2
  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/primitiveColorpickerButton/color-picker-button.slds.css +1 -1
  79. package/src/lightning/primitiveColumnSorter/primitiveColumnSorter.html +1 -0
  80. package/src/lightning/primitiveColumnSorter/primitiveColumnSorter.js +1 -1
  81. package/src/lightning/primitiveDatatableIeditPanel/primitiveDatatableIeditPanel.html +3 -1
  82. package/src/lightning/primitiveDatatableIeditPanel/primitiveDatatableIeditPanel.js +3 -3
  83. package/src/lightning/primitiveDatatableStatusBar/primitiveDatatableStatusBar.html +1 -0
  84. package/src/lightning/primitiveDatatableStatusBar/primitiveDatatableStatusBar.js +1 -3
  85. package/src/lightning/primitiveDatatableTooltip/primitiveDatatableTooltip.html +1 -0
  86. package/src/lightning/primitiveDatatableTooltip/primitiveDatatableTooltip.js +1 -1
  87. package/src/lightning/primitiveDatatableTooltipBubble/primitiveDatatableTooltipBubble.html +1 -1
  88. package/src/lightning/primitiveDatatableTooltipBubble/primitiveDatatableTooltipBubble.js +1 -1
  89. package/src/lightning/primitiveHeaderActions/primitiveHeaderActions.html +1 -0
  90. package/src/lightning/primitiveHeaderActions/primitiveHeaderActions.js +2 -4
  91. package/src/lightning/primitiveHeaderFactory/nonsortableHeader.html +8 -3
  92. package/src/lightning/primitiveHeaderFactory/primitiveHeaderFactory.js +43 -13
  93. package/src/lightning/primitiveHeaderFactory/selectableHeader.html +3 -2
  94. package/src/lightning/primitiveHeaderFactory/sortableHeader.html +8 -3
  95. package/src/lightning/primitiveHeaderFactory/sortingMenuHeader.html +1 -1
  96. package/src/lightning/primitiveIcon/primitiveIcon.css +0 -1
  97. package/src/lightning/primitiveInputCheckbox/form-element.slds.css +1 -1
  98. package/src/lightning/primitiveInputCheckboxButton/form-element.slds.css +1 -1
  99. package/src/lightning/primitiveInputColor/form-element.slds.css +1 -1
  100. package/src/lightning/primitiveInputColor/input-text.slds.css +6 -7
  101. package/src/lightning/primitiveInputFile/form-element.slds.css +1 -1
  102. package/src/lightning/primitiveInputSimple/form-element.slds.css +1 -1
  103. package/src/lightning/primitiveInputSimple/input-text.slds.css +6 -7
  104. package/src/lightning/primitiveInputToggle/form-element.slds.css +1 -1
  105. package/src/lightning/primitiveResizeHandler/primitiveResizeHandler.html +4 -2
  106. package/src/lightning/primitiveResizeHandler/primitiveResizeHandler.js +2 -2
  107. package/src/lightning/primitiveTreegridCellToggle/primitiveTreegridCellToggle.html +1 -1
  108. package/src/lightning/primitiveTreegridCellToggle/primitiveTreegridCellToggle.js +1 -1
  109. package/src/lightning/progressIndicator/progressIndicator.css +1 -1
  110. package/src/lightning/progressIndicator/progressIndicator.js +14 -6
  111. package/src/lightning/progressIndicator/progressIndicator.js-meta.xml +3 -0
  112. package/src/lightning/progressIndicator/progressIndicator.lbc.native.css +2 -0
  113. package/src/lightning/progressStep/__examples__/basic/basic.html +11 -0
  114. package/src/lightning/progressStep/__examples__/basic/basic.js +3 -0
  115. package/src/lightning/progressStep/__examples__/shaded/shaded.html +11 -0
  116. package/src/lightning/progressStep/__examples__/shaded/shaded.js +3 -0
  117. package/src/lightning/progressStep/base.html +2 -1
  118. package/src/lightning/progressStep/progressStep.css +1 -0
  119. package/src/lightning/progressStep/progressStep.js +40 -29
  120. package/src/lightning/progressStep/progressStep.js-meta.xml +3 -0
  121. package/src/lightning/progressStep/progressStep.lbc.native.css +3 -0
  122. package/src/lightning/prompt/form-element.slds.css +1 -1
  123. package/src/lightning/prompt/input-text.slds.css +6 -7
  124. package/src/lightning/radioGroup/form-element.slds.css +1 -1
  125. package/src/lightning/select/form-element.slds.css +1 -1
  126. package/src/lightning/select/select.slds.css +1 -1
  127. package/src/lightning/sldsCommon/sldsCommon.css +1 -1
  128. package/src/lightning/textarea/form-element.slds.css +1 -1
  129. package/src/lightning/tile/mediaTile.css +2 -0
  130. package/src/lightning/tile/standardTile.css +2 -1
  131. package/src/lightning/tile/tile.js +5 -2
  132. package/src/lightning/tile/tile.js-meta.xml +3 -0
  133. package/src/lightning/tile/tile.lbc.native.css +4 -0
  134. package/src/lightning/timepicker/form-element.slds.css +1 -1
  135. package/src/lightning/toast/button-icon.slds.css +5 -5
  136. package/src/lightning/primitiveIcon/primitiveIcon.lbc.synthetic.css +0 -9
  137. /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
@@ -573,6 +573,11 @@
573
573
  {
574
574
  "name": "showHelpMessageIfInvalid"
575
575
  }
576
+ ],
577
+ "staticProperties": [
578
+ {
579
+ "name": "validationOptOut"
580
+ }
576
581
  ]
577
582
  },
578
583
  "clickToDial": {
@@ -3296,7 +3301,7 @@
3296
3301
  "name": "autocomplete"
3297
3302
  },
3298
3303
  {
3299
- "name": "readonly"
3304
+ "name": "readOnly"
3300
3305
  },
3301
3306
  {
3302
3307
  "name": "selectMode"
@@ -3668,7 +3673,7 @@
3668
3673
  "name": "name"
3669
3674
  },
3670
3675
  {
3671
- "name": "readonly"
3676
+ "name": "readOnly"
3672
3677
  },
3673
3678
  {
3674
3679
  "name": "required"
@@ -3682,6 +3687,11 @@
3682
3687
  {
3683
3688
  "name": "value"
3684
3689
  }
3690
+ ],
3691
+ "methods": [
3692
+ {
3693
+ "name": "focus"
3694
+ }
3685
3695
  ]
3686
3696
  },
3687
3697
  "primitiveLayout": {
@@ -4141,6 +4151,11 @@
4141
4151
  {
4142
4152
  "name": "variant"
4143
4153
  }
4154
+ ],
4155
+ "staticProperties": [
4156
+ {
4157
+ "name": "stylesheets"
4158
+ }
4144
4159
  ]
4145
4160
  },
4146
4161
  "progressRing": {
@@ -4171,6 +4186,14 @@
4171
4186
  {
4172
4187
  "name": "value"
4173
4188
  }
4189
+ ],
4190
+ "staticProperties": [
4191
+ {
4192
+ "name": "stylesheets"
4193
+ },
4194
+ {
4195
+ "name": "validationOptOut"
4196
+ }
4174
4197
  ]
4175
4198
  },
4176
4199
  "prompt": {
@@ -4990,6 +5013,11 @@
4990
5013
  {
4991
5014
  "name": "type"
4992
5015
  }
5016
+ ],
5017
+ "staticProperties": [
5018
+ {
5019
+ "name": "validationOptOut"
5020
+ }
4993
5021
  ]
4994
5022
  },
4995
5023
  "toast": {
@@ -5141,6 +5169,7 @@
5141
5169
  },
5142
5170
  "uiGraphQLBatchApi": {},
5143
5171
  "uiLayoutApi": {},
5172
+ "uiLayoutUserStateApi": {},
5144
5173
  "uiLearningContentPlatformApi": {},
5145
5174
  "uiListApi": {
5146
5175
  "minVersion": "45.0"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lightning-base-components",
3
- "version": "1.22.2-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",
@@ -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';
@@ -246,7 +246,7 @@
246
246
  --sds-c-inputtext-text-color: var(--slds-c-inputtext-text-color);
247
247
  --sds-c-inputtext-font-size: var(
248
248
  --slds-c-inputtext-font-size,
249
- var(--slds-g-font-size-base)
249
+ var(--slds-g-font-scale-neg-2)
250
250
  );
251
251
  --sds-c-inputtext-text-color-placeholder: var(
252
252
  --slds-c-inputtext-text-color-placeholder,
@@ -264,7 +264,7 @@
264
264
 
265
265
  display: flex;
266
266
  flex-wrap: wrap;
267
- flex-direction: column;
267
+ align-items: center;
268
268
  }
269
269
  /**
270
270
  * Input Container
@@ -371,10 +371,6 @@
371
371
  --sds-c-inputtext-color-border: var(--slds-g-color-border-disabled-1);
372
372
  --sds-c-inputtext-text-color: var(--slds-g-color-on-disabled-2);
373
373
  }
374
- :host([data-render-mode="shadow"][disabled]) [part='input-text'] {
375
- --sds-c-inputtext-text-color-placeholder:
376
- var(--slds-g-color-on-disabled-2);
377
- }
378
374
  /**
379
375
  * Label
380
376
  *
@@ -388,7 +384,10 @@
388
384
  --slds-c-inputtext-label-color,
389
385
  var(--slds-g-color-on-surface-2)
390
386
  );
391
- font-size: var(--slds-s-label-font-size, var(--slds-g-font-scale-neg-2));
387
+ font-size: var(
388
+ --slds-c-inputtext-label-font-size,
389
+ var(--slds-g-font-scale-neg-3)
390
+ );
392
391
  margin-block-end: var(--slds-g-sizing-1);
393
392
 
394
393
  /* We inline flex to control the spacing between elements and not have to rely on whitespace characters */
@@ -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';
@@ -553,19 +553,19 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
553
553
  --sds-c-button-color-border-disabled: var(--slds-g-color-border-disabled-1);
554
554
  }
555
555
  /* slds-icon interaction states */
556
- :host([data-render-mode="shadow"]) [part~='button-icon']:hover {
556
+ :host([data-render-mode="shadow"]) [part~='button-icon']:not(.slds-is-selected):hover {
557
557
  --slds-c-icon-color-foreground: var(
558
- --slds-c-buttonicon-color-foreground-hover,
558
+ --slds-c-buttonicon-color-foreground-hover,
559
559
  var(--slds-g-color-accent-3)
560
560
  );
561
561
  }
562
- :host([data-render-mode="shadow"]) [part~='button-icon']:focus {
562
+ :host([data-render-mode="shadow"]) [part~='button-icon']:not(.slds-is-selected):focus {
563
563
  --slds-c-icon-color-foreground: var(
564
564
  --slds-c-buttonicon-color-foreground-focus,
565
565
  var(--slds-g-color-accent-3)
566
566
  );
567
567
  }
568
- :host([data-render-mode="shadow"]) [part~='button-icon']:active {
568
+ :host([data-render-mode="shadow"]) [part~='button-icon']:not(.slds-is-selected):active {
569
569
  --slds-c-icon-color-foreground: var(
570
570
  --slds-c-buttonicon-color-foreground-active,
571
571
  var(--slds-g-color-accent-3)
@@ -643,7 +643,7 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
643
643
 
644
644
  /* Icon */
645
645
  --slds-c-buttonicon-color-foreground: var(--slds-g-color-neutral-base-100);
646
- --slds-c-buttonicon-color-foreground-hover: color-mix(in oklab, var(--slds-g-color-on-surface-inverse-1), transparent 25%);
646
+ --slds-c-buttonicon-color-foreground-hover: var(--slds-g-color-neutral-base-95);
647
647
  --slds-c-buttonicon-color-foreground-focus: var(--slds-g-color-neutral-base-95);
648
648
  --slds-c-buttonicon-color-foreground-active: var(--slds-g-color-neutral-base-90);
649
649
 
@@ -553,19 +553,19 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
553
553
  --sds-c-button-color-border-disabled: var(--slds-g-color-border-disabled-1);
554
554
  }
555
555
  /* slds-icon interaction states */
556
- :host([data-render-mode="shadow"]) [part~='button-icon']:hover {
556
+ :host([data-render-mode="shadow"]) [part~='button-icon']:not(.slds-is-selected):hover {
557
557
  --slds-c-icon-color-foreground: var(
558
- --slds-c-buttonicon-color-foreground-hover,
558
+ --slds-c-buttonicon-color-foreground-hover,
559
559
  var(--slds-g-color-accent-3)
560
560
  );
561
561
  }
562
- :host([data-render-mode="shadow"]) [part~='button-icon']:focus {
562
+ :host([data-render-mode="shadow"]) [part~='button-icon']:not(.slds-is-selected):focus {
563
563
  --slds-c-icon-color-foreground: var(
564
564
  --slds-c-buttonicon-color-foreground-focus,
565
565
  var(--slds-g-color-accent-3)
566
566
  );
567
567
  }
568
- :host([data-render-mode="shadow"]) [part~='button-icon']:active {
568
+ :host([data-render-mode="shadow"]) [part~='button-icon']:not(.slds-is-selected):active {
569
569
  --slds-c-icon-color-foreground: var(
570
570
  --slds-c-buttonicon-color-foreground-active,
571
571
  var(--slds-g-color-accent-3)
@@ -643,7 +643,7 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
643
643
 
644
644
  /* Icon */
645
645
  --slds-c-buttonicon-color-foreground: var(--slds-g-color-neutral-base-100);
646
- --slds-c-buttonicon-color-foreground-hover: color-mix(in oklab, var(--slds-g-color-on-surface-inverse-1), transparent 25%);
646
+ --slds-c-buttonicon-color-foreground-hover: var(--slds-g-color-neutral-base-95);
647
647
  --slds-c-buttonicon-color-foreground-focus: var(--slds-g-color-neutral-base-95);
648
648
  --slds-c-buttonicon-color-foreground-active: var(--slds-g-color-neutral-base-90);
649
649
 
@@ -553,19 +553,19 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
553
553
  --sds-c-button-color-border-disabled: var(--slds-g-color-border-disabled-1);
554
554
  }
555
555
  /* slds-icon interaction states */
556
- :host([data-render-mode="shadow"]) [part~='button-icon']:hover {
556
+ :host([data-render-mode="shadow"]) [part~='button-icon']:not(.slds-is-selected):hover {
557
557
  --slds-c-icon-color-foreground: var(
558
- --slds-c-buttonicon-color-foreground-hover,
558
+ --slds-c-buttonicon-color-foreground-hover,
559
559
  var(--slds-g-color-accent-3)
560
560
  );
561
561
  }
562
- :host([data-render-mode="shadow"]) [part~='button-icon']:focus {
562
+ :host([data-render-mode="shadow"]) [part~='button-icon']:not(.slds-is-selected):focus {
563
563
  --slds-c-icon-color-foreground: var(
564
564
  --slds-c-buttonicon-color-foreground-focus,
565
565
  var(--slds-g-color-accent-3)
566
566
  );
567
567
  }
568
- :host([data-render-mode="shadow"]) [part~='button-icon']:active {
568
+ :host([data-render-mode="shadow"]) [part~='button-icon']:not(.slds-is-selected):active {
569
569
  --slds-c-icon-color-foreground: var(
570
570
  --slds-c-buttonicon-color-foreground-active,
571
571
  var(--slds-g-color-accent-3)
@@ -643,7 +643,7 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
643
643
 
644
644
  /* Icon */
645
645
  --slds-c-buttonicon-color-foreground: var(--slds-g-color-neutral-base-100);
646
- --slds-c-buttonicon-color-foreground-hover: color-mix(in oklab, var(--slds-g-color-on-surface-inverse-1), transparent 25%);
646
+ --slds-c-buttonicon-color-foreground-hover: var(--slds-g-color-neutral-base-95);
647
647
  --slds-c-buttonicon-color-foreground-focus: var(--slds-g-color-neutral-base-95);
648
648
  --slds-c-buttonicon-color-foreground-active: var(--slds-g-color-neutral-base-90);
649
649
 
@@ -18,7 +18,7 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
18
18
  --slds-c-buttonicon-sizing: 0.875rem;
19
19
 
20
20
  padding: 0;
21
- font-size: var(--slds-g-font-scale-neg-1);
21
+ font-size: var(--slds-g-font-scale-neg-3);
22
22
  }
23
23
 
24
24
  :host([data-render-mode="shadow"]) [part~="calendar"] thead > tr > th,:host([data-render-mode="shadow"])
@@ -34,7 +34,7 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
34
34
 
35
35
  :host([data-render-mode="shadow"]) [part~="calendar"] tbody > tr > td {
36
36
  padding: var(--slds-g-spacing-1);
37
- font-size: var(--slds-g-font-scale-neg-1);
37
+ font-size: var(--slds-g-font-scale-neg-3);
38
38
  }
39
39
 
40
40
  :host([data-render-mode="shadow"]) [part~="calendar"] tbody > tr > td > .slds-day {
@@ -57,8 +57,7 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
57
57
  }
58
58
 
59
59
  :host([data-render-mode="shadow"]) [part~="calendar"] tbody > tr > td.slds-is-today > .slds-day {
60
- background-color: var(--slds-g-color-brand-base-90);
61
- color: var(--slds-g-color-accent-2);
60
+ background-color: var(--slds-g-color-surface-container-2);
62
61
  }
63
62
 
64
63
  :host([data-render-mode="shadow"]) [part~="calendar"] tbody > tr > td:focus {
@@ -66,25 +65,23 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
66
65
  }
67
66
 
68
67
  :host([data-render-mode="shadow"]) [part~="calendar"] tbody > tr > td:focus > .slds-day {
69
-
70
- /* stylelint-disable-next-line sds-stylelint-plugin/styling-hooks-pattern */
71
- box-shadow: var(--slds-s-table-cell-shadow-selected);
68
+ box-shadow: var(--slds-g-color-accent-2) 0 0 0 1px inset;
72
69
  }
73
70
 
74
71
  :host([data-render-mode="shadow"]) [part~="calendar"] tbody > tr > td:hover > .slds-day {
75
- background-color: var(--slds-g-color-brand-base-90);
72
+ background-color: var(--slds-g-color-surface-container-2);
76
73
  }
77
74
 
78
75
  /* Indicates selected days */
79
76
 
80
77
  :host([data-render-mode="shadow"]) [part~="calendar"] tbody > tr > td.slds-is-selected > .slds-day {
81
- background: var(--slds-g-color-accent-container-1);
78
+ background: var(--slds-g-color-accent-container-2);
82
79
  color: var(--slds-g-color-on-accent-1);
83
80
  }
84
81
 
85
82
  :host([data-render-mode="shadow"]) [part~="calendar"] tbody > tr > td.slds-is-selected:focus > .slds-day {
86
83
  background: var(--slds-g-color-accent-container-2);
87
- box-shadow: var(--slds-g-shadow-5, 0 0 3px #0176d3);
84
+ box-shadow: var(--slds-g-color-accent-4) 0 0 3px;
88
85
  color: var(--slds-g-color-on-accent-1);
89
86
  }
90
87
 
@@ -104,12 +101,12 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
104
101
  /* Month Table */
105
102
 
106
103
  :host([data-render-mode="shadow"]) .slds-datepicker__month {
107
- font-size: var(--slds-g-font-scale-neg-1);
104
+ font-size: var(--slds-g-font-scale-neg-3);
108
105
  }
109
106
 
110
107
  :host([data-render-mode="shadow"]) .slds-has-error .slds-datepicker__filter .slds-select {
111
- border: var(--slds-g-sizing-border-1) solid var(--slds-g-color-border-base-1);
112
- box-shadow: none;
108
+ border: var(--slds-g-sizing-border-1) solid var(--slds-g-color-border-base-1);
109
+ box-shadow: none;
113
110
  }
114
111
 
115
112
  /* Indicates days that are in previous/next months */
@@ -5,6 +5,7 @@ import {
5
5
  synchronizeAttrs,
6
6
  getRealDOMId,
7
7
  classListMutation,
8
+ isCSR,
8
9
  } from 'lightning/utilsPrivate';
9
10
  import {
10
11
  FieldConstraintApi,
@@ -25,6 +26,8 @@ const DEBOUNCE_PERIOD = 200;
25
26
  * A checkbox group that enables selection of single or multiple options.
26
27
  */
27
28
  export default class LightningCheckboxGroup extends LightningElement {
29
+ static validationOptOut = ['class'];
30
+
28
31
  static delegatesFocus = true;
29
32
 
30
33
  /**
@@ -98,7 +101,7 @@ export default class LightningCheckboxGroup extends LightningElement {
98
101
  }
99
102
 
100
103
  get fieldsetElement() {
101
- return this.template.querySelector('fieldset');
104
+ return isCSR ? this.template.querySelector('fieldset') : null;
102
105
  }
103
106
 
104
107
  renderedCallback() {
@@ -207,7 +210,7 @@ export default class LightningCheckboxGroup extends LightningElement {
207
210
  */
208
211
  @api
209
212
  checkValidity() {
210
- return this._constraint.checkValidity();
213
+ return isCSR ? this._constraint.checkValidity() : null;
211
214
  }
212
215
 
213
216
  /**
@@ -218,9 +221,12 @@ export default class LightningCheckboxGroup extends LightningElement {
218
221
  @api
219
222
  reportValidity() {
220
223
  // required to make sure the sync happens after the render
221
- return this._constraint.reportValidity((message) => {
222
- this._helpMessage = message;
223
- });
224
+ if (isCSR) {
225
+ return this._constraint.reportValidity((message) => {
226
+ this._helpMessage = message;
227
+ });
228
+ }
229
+ return null;
224
230
  }
225
231
 
226
232
  /**
@@ -242,8 +248,11 @@ export default class LightningCheckboxGroup extends LightningElement {
242
248
  }
243
249
 
244
250
  get computedUniqueHelpElementId() {
245
- const helpElement = this.template.querySelector('[data-helptext]');
246
- return getRealDOMId(helpElement);
251
+ if (isCSR) {
252
+ const helpElement = this.template.querySelector('[data-helptext]');
253
+ return getRealDOMId(helpElement);
254
+ }
255
+ return null;
247
256
  }
248
257
 
249
258
  /**
@@ -251,9 +260,11 @@ export default class LightningCheckboxGroup extends LightningElement {
251
260
  */
252
261
  @api
253
262
  focus() {
254
- const firstCheckbox = this.template.querySelector('input');
255
- if (firstCheckbox) {
256
- firstCheckbox.focus();
263
+ if (isCSR) {
264
+ const firstCheckbox = this.template.querySelector('input');
265
+ if (firstCheckbox) {
266
+ firstCheckbox.focus();
267
+ }
257
268
  }
258
269
  }
259
270
 
@@ -3,4 +3,7 @@
3
3
  <isExposed>true</isExposed>
4
4
  <minApiVersion>41.0</minApiVersion>
5
5
  <support>GA</support>
6
+ <capabilities>
7
+ <capability>lightning__ServerRenderableWithHydration</capability>
8
+ </capabilities>
6
9
  </LightningComponentBundle>
@@ -246,7 +246,7 @@
246
246
  --sds-c-inputtext-text-color: var(--slds-c-inputtext-text-color);
247
247
  --sds-c-inputtext-font-size: var(
248
248
  --slds-c-inputtext-font-size,
249
- var(--slds-g-font-size-base)
249
+ var(--slds-g-font-scale-neg-2)
250
250
  );
251
251
  --sds-c-inputtext-text-color-placeholder: var(
252
252
  --slds-c-inputtext-text-color-placeholder,
@@ -264,7 +264,7 @@
264
264
 
265
265
  display: flex;
266
266
  flex-wrap: wrap;
267
- flex-direction: column;
267
+ align-items: center;
268
268
  }
269
269
  /**
270
270
  * Input Container
@@ -371,10 +371,6 @@
371
371
  --sds-c-inputtext-color-border: var(--slds-g-color-border-disabled-1);
372
372
  --sds-c-inputtext-text-color: var(--slds-g-color-on-disabled-2);
373
373
  }
374
- :host([data-render-mode="shadow"][disabled]) [part='input-text'] {
375
- --sds-c-inputtext-text-color-placeholder:
376
- var(--slds-g-color-on-disabled-2);
377
- }
378
374
  /**
379
375
  * Label
380
376
  *
@@ -388,7 +384,10 @@
388
384
  --slds-c-inputtext-label-color,
389
385
  var(--slds-g-color-on-surface-2)
390
386
  );
391
- font-size: var(--slds-s-label-font-size, var(--slds-g-font-scale-neg-2));
387
+ font-size: var(
388
+ --slds-c-inputtext-label-font-size,
389
+ var(--slds-g-font-scale-neg-3)
390
+ );
392
391
  margin-block-end: var(--slds-g-sizing-1);
393
392
 
394
393
  /* We inline flex to control the spacing between elements and not have to rely on whitespace characters */
@@ -46,7 +46,7 @@
46
46
  hyphens: auto;
47
47
  display: inline-block;
48
48
  color: var(--slds-g-color-on-surface-2);
49
- font-size: var(--slds-s-label-font-size, var(--slds-g-font-scale-neg-2));
49
+ font-size: var(--slds-g-font-scale-neg-3);
50
50
  padding-inline-end: var(--slds-g-spacing-2);
51
51
  padding-block-start: var(--slds-g-spacing-1);
52
52
  margin-block-end: calc(var(--slds-g-spacing-1) / 2);
@@ -1260,12 +1260,17 @@ To return the name of the action, use the `event.target.action.name` property.
1260
1260
 
1261
1261
  Each row header renders with an `aria-label` attribute with the labels you provide for the column definition. By default, the row number column renders with `aria-label="Row Number"` and cannot be changed. When row selection is enabled, each row renders with `aria-selected` set to true or false depending on whether the row is selected. Each cell renders with a `gridcell` role.
1262
1262
 
1263
- Use the following `aria` attributes on `lightning-datatable` to provide a caption or description on your table for assistive technologies. These attributes are rendered on the `<table>` element. We recommend that you use one or the other, but not both.
1263
+ Use the following `aria` attributes on `lightning-datatable` to provide a caption or description on your table for assistive technologies. These attributes are rendered on the `<table>` element.
1264
1264
 
1265
- | Attribute | Type | Description |
1266
- | --------------- | ----------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
1267
- | aria-label | string | Provides an assistive label to identify a table from other tables on a page. |
1268
- | aria-labelledby | ID reference list | Specifies the ID or list of IDs of the element or elements that contain visible descriptive text to caption or describe the table. |
1265
+ | Attribute | Type | Description |
1266
+ | ---------------- | ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
1267
+ | aria-label | string | Provides an assistive label to identify a table from other tables on a page. |
1268
+ | aria-describedby | ID reference list | Specifies the ID or space-separated list of IDs that describes the current element. |
1269
+ | aria-labelledby | ID reference list | Specifies the ID or space-separated list of IDs of the element or elements that contain visible descriptive text to caption or describe the table. |
1270
+
1271
+ When using `aria-label`, consider using `aria-describedby` to provide supplemental information. We don't recommend using `aria-label` together with `aria-labelledby`. When there's visible text that labels an element, consider using `aria-labelledby` instead of `aria-label`.
1272
+
1273
+ If you use `aria-describedby`, the element that provides the description doesn't need to be visible. For more information, see [MDN web docs: aria-describedby](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-describedby).
1269
1274
 
1270
1275
  ##### Provide an Accessible Label for the Table
1271
1276
 
@@ -150,10 +150,11 @@ export function getCustomerColumnWidths(columns, widthsData) {
150
150
  * It returns if table is rendered and not hidden.
151
151
  *
152
152
  * @param {Node} template - The datatable template
153
+ * @param {Object} refs - The datatable refs
153
154
  * @returns {boolean} - Whether the datatable is rendered and not hidden on the page
154
155
  */
155
- export function isTableRenderedVisible(template) {
156
- const scrollerY = getScrollerY(template);
156
+ export function isTableRenderedVisible(template, refs) {
157
+ const scrollerY = getScrollerY(template, refs);
157
158
  return (
158
159
  scrollerY &&
159
160
  !!(