lightning-base-components 1.18.7-alpha → 1.18.8-alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/metadata/raptor.json +32 -9
  2. package/package.json +1 -1
  3. package/src/lightning/accordion/accordion.slds.css +26 -20
  4. package/src/lightning/accordionSection/accordion-section.slds.css +20 -14
  5. package/src/lightning/avatar/avatar.slds.css +10 -10
  6. package/src/lightning/baseCombobox/base-combobox.slds.css +23 -23
  7. package/src/lightning/baseCombobox/baseCombobox.css +1 -2
  8. package/src/lightning/baseCombobox/baseCombobox.html +7 -11
  9. package/src/lightning/baseCombobox/baseCombobox.js +84 -36
  10. package/src/lightning/breadcrumb/breadcrumb.js +4 -2
  11. package/src/lightning/breadcrumb/breadcrumb.slds.css +3 -3
  12. package/src/lightning/breadcrumbs/breadcrumbs.slds.css +5 -5
  13. package/src/lightning/button/button.slds.css +8 -2
  14. package/src/lightning/buttonGroup/button-group.slds.css +5 -5
  15. package/src/lightning/buttonIcon/button-icon.slds.css +9 -3
  16. package/src/lightning/buttonIconStateful/button-icon-stateful.slds.css +15 -9
  17. package/src/lightning/buttonMenu/button-menu.slds.css +13 -7
  18. package/src/lightning/buttonStateful/button-stateful.slds.css +11 -5
  19. package/src/lightning/calendar/calendar.js +15 -23
  20. package/src/lightning/calendar/calendar.slds.css +29 -23
  21. package/src/lightning/card/card.slds.css +68 -68
  22. package/src/lightning/combobox/combobox.slds.css +1 -1
  23. package/src/lightning/combobox/form-element.slds.css +8 -0
  24. package/src/lightning/datatable/datatable.js +4 -0
  25. package/src/lightning/datatable/keyboard.js +8 -4
  26. package/src/lightning/datatable/sort.js +1 -1
  27. package/src/lightning/datepicker/datepicker.js +1 -1
  28. package/src/lightning/datepicker/form-element.slds.css +8 -0
  29. package/src/lightning/datepicker/input-text.slds.css +23 -23
  30. package/src/lightning/datetimepicker/form-element.slds.css +8 -0
  31. package/src/lightning/datetimepicker/input-text.slds.css +23 -23
  32. package/src/lightning/dualListbox/form-element.slds.css +8 -0
  33. package/src/lightning/f6Controller/f6Controller.js +31 -22
  34. package/src/lightning/formattedDateTime/formattedDateTime.js +1 -1
  35. package/src/lightning/groupedCombobox/groupedCombobox.html +4 -0
  36. package/src/lightning/groupedCombobox/groupedCombobox.js +3 -2
  37. package/src/lightning/helptext/form-element.slds.css +8 -0
  38. package/src/lightning/helptext/help-text.slds.css +10 -4
  39. package/src/lightning/icon/icon.js +5 -1
  40. package/src/lightning/icon/icon.slds.css +3 -3
  41. package/src/lightning/input/__examples__/checkboxbutton/checkboxbutton.css +6 -0
  42. package/src/lightning/input/__examples__/checkboxbutton/checkboxbutton.html +2 -1
  43. package/src/lightning/input/__examples__/checkboxbutton/checkboxbutton.js +1 -1
  44. package/src/lightning/input/__examples__/number/number.html +0 -5
  45. package/src/lightning/input/form-element.slds.css +8 -0
  46. package/src/lightning/input/input.css +0 -2
  47. package/src/lightning/input/input.html +149 -239
  48. package/src/lightning/input/input.js +221 -539
  49. package/src/lightning/inputUtils/inputUtils.js +15 -20
  50. package/src/lightning/inputUtils/normalize.js +7 -0
  51. package/src/lightning/{input/numberUtil.js → inputUtils/number.js} +1 -1
  52. package/src/lightning/inputUtils/utils.js +18 -0
  53. package/src/lightning/layout/layout.js +1 -0
  54. package/src/lightning/layoutItem/layoutItem.js +1 -0
  55. package/src/lightning/modal/__docs__/modal.md +102 -3
  56. package/src/lightning/pill/avatar.slds.css +10 -10
  57. package/src/lightning/primitiveColorpickerButton/color-picker-button.slds.css +9 -9
  58. package/src/lightning/primitiveIcon/icon.slds.css +3 -3
  59. package/src/lightning/primitiveInputCheckbox/form-element.slds.css +289 -0
  60. package/src/lightning/{input → primitiveInputCheckbox}/input-checkbox.slds.css +18 -18
  61. package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.css +3 -0
  62. package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.html +48 -0
  63. package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.js +139 -0
  64. package/src/lightning/primitiveInputCheckboxButton/form-element.slds.css +289 -0
  65. package/src/lightning/primitiveInputCheckboxButton/input-checkbox-button.slds.css +126 -0
  66. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.css +6 -0
  67. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.html +24 -0
  68. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.js +176 -0
  69. package/src/lightning/primitiveInputColor/form-element.slds.css +289 -0
  70. package/src/lightning/primitiveInputColor/input-color.slds.css +35 -0
  71. package/src/lightning/{input → primitiveInputColor}/input-text.slds.css +23 -23
  72. package/src/lightning/primitiveInputColor/primitiveInputColor.css +4 -0
  73. package/src/lightning/primitiveInputColor/primitiveInputColor.html +50 -0
  74. package/src/lightning/primitiveInputColor/primitiveInputColor.js +184 -0
  75. package/src/lightning/primitiveInputFile/button.slds.css +533 -0
  76. package/src/lightning/primitiveInputFile/form-element.slds.css +289 -0
  77. package/src/lightning/primitiveInputFile/input-file.slds.css +62 -0
  78. package/src/lightning/primitiveInputFile/primitiveInputFile.css +5 -0
  79. package/src/lightning/primitiveInputFile/primitiveInputFile.html +45 -0
  80. package/src/lightning/primitiveInputFile/primitiveInputFile.js +111 -0
  81. package/src/lightning/primitiveInputRadio/primitiveInputRadio.html +24 -0
  82. package/src/lightning/primitiveInputRadio/primitiveInputRadio.js +103 -0
  83. package/src/lightning/primitiveInputSimple/form-element.slds.css +289 -0
  84. package/src/lightning/primitiveInputSimple/input-text.slds.css +398 -0
  85. package/src/lightning/primitiveInputSimple/primitiveInputSimple.css +9 -0
  86. package/src/lightning/primitiveInputSimple/primitiveInputSimple.html +65 -0
  87. package/src/lightning/primitiveInputSimple/primitiveInputSimple.js +585 -0
  88. package/src/lightning/primitiveInputToggle/form-element.slds.css +289 -0
  89. package/src/lightning/primitiveInputToggle/input-toggle.slds.css +170 -0
  90. package/src/lightning/primitiveInputToggle/primitiveInputToggle.css +3 -0
  91. package/src/lightning/primitiveInputToggle/primitiveInputToggle.html +34 -0
  92. package/src/lightning/primitiveInputToggle/primitiveInputToggle.js +164 -0
  93. package/src/lightning/radioGroup/input-radio-group.slds.css +57 -57
  94. package/src/lightning/select/form-element.slds.css +8 -0
  95. package/src/lightning/select/select.js +1 -0
  96. package/src/lightning/select/select.slds.css +30 -22
  97. package/src/lightning/sldsCommon/sldsCommon.css +21 -0
  98. package/src/lightning/spinner/spinner.js +8 -4
  99. package/src/lightning/spinner/spinner.slds.css +34 -34
  100. package/src/lightning/tab/tab.css +2 -0
  101. package/src/lightning/tab/tab.js +37 -14
  102. package/src/lightning/tab/tab.slds.css +47 -0
  103. package/src/lightning/tabBar/tab-bar.slds.css +5 -5
  104. package/src/lightning/tabset/tabset.css +10 -0
  105. package/src/lightning/tabset/tabset.js +31 -7
  106. package/src/lightning/timepicker/form-element.slds.css +8 -0
  107. package/src/lightning/toast/button-icon.slds.css +9 -3
  108. package/src/lightning/toast/icon.slds.css +3 -3
  109. package/src/lightning/verticalNavigation/vertical-navigation.slds.css +1 -1
  110. package/src/lightning/baseCombobox/spinner.slds.css +0 -438
  111. /package/src/lightning/{input/emailUtil.js → inputUtils/email.js} +0 -0
  112. /package/src/lightning/{input → primitiveInputSimple}/normalize.js +0 -0
  113. /package/src/lightning/{input → primitiveInputSimple}/selection.js +0 -0
@@ -5,6 +5,7 @@ import labelToday from '@salesforce/label/LightningDateTimePicker.today';
5
5
  import labelYearSelector from '@salesforce/label/LightningDateTimePicker.yearSelector';
6
6
  import { LightningElement, api, track } from 'lwc';
7
7
  import { classSet } from 'lightning/utils';
8
+ import { isCSR } from 'lightning/utilsPrivate';
8
9
  import { generateUniqueId } from 'lightning/inputUtils';
9
10
  import firstDayOfWeek from '@salesforce/i18n/firstDayOfWeek';
10
11
  import { handleKeyDownOnCalendar } from './keyboard';
@@ -187,8 +188,11 @@ export default class LightningCalendar extends LightningElement {
187
188
  }
188
189
 
189
190
  get hostDirection() {
190
- // eslint-disable-next-line lightning-global/check-return-value-for-nullable-call
191
- const computedStyle = window.getComputedStyle(this.template.host);
191
+ let computedStyle;
192
+ if (isCSR) {
193
+ // eslint-disable-next-line lightning-global/check-return-value-for-nullable-call
194
+ computedStyle = window.getComputedStyle(this.template.host);
195
+ }
192
196
  return computedStyle ? computedStyle.direction.toLowerCase() : 'ltr';
193
197
  }
194
198
 
@@ -254,8 +258,6 @@ export default class LightningCalendar extends LightningElement {
254
258
  return [];
255
259
  }
256
260
 
257
- this.removeCurrentlySelectedDateAttributes();
258
-
259
261
  const selectedDate = this.getSelectedDate();
260
262
  const renderDate = this.getCalendarDate();
261
263
 
@@ -313,13 +315,15 @@ export default class LightningCalendar extends LightningElement {
313
315
  ? '0'
314
316
  : false;
315
317
 
316
- const className = classSet()
317
- .add({
318
- 'slds-is-today': isToday,
319
- 'slds-is-selected': isSelected,
320
- 'slds-day_adjacent-month': isInAdjacentMonth,
321
- })
322
- .toString();
318
+ // setting className to undefined avoids hydration errors in SSR
319
+ const className =
320
+ classSet()
321
+ .add({
322
+ 'slds-is-today': isToday,
323
+ 'slds-is-selected': isSelected,
324
+ 'slds-day_adjacent-month': isInAdjacentMonth,
325
+ })
326
+ .toString() || undefined;
323
327
 
324
328
  return {
325
329
  dayInMonth: toLocalizedDigits(String(date.getDate())),
@@ -431,16 +435,6 @@ export default class LightningCalendar extends LightningElement {
431
435
  this.dispatchSelectEvent();
432
436
  }
433
437
 
434
- // we should be able to control the select value with an attribute once we have a select component
435
- selectYear(year) {
436
- const optionElement = this.template.querySelector(
437
- `option[value='${year}']`
438
- );
439
- if (optionElement) {
440
- optionElement.selected = true;
441
- }
442
- }
443
-
444
438
  getElementByDate(dateString) {
445
439
  return this.template.querySelector(`td[data-value='${dateString}']`);
446
440
  }
@@ -476,8 +470,6 @@ export default class LightningCalendar extends LightningElement {
476
470
  renderCalendar(newDate) {
477
471
  this.calendarMonth = newDate.getMonth();
478
472
  this.calendarYear = newDate.getFullYear();
479
-
480
- this.selectYear(newDate.getFullYear());
481
473
  }
482
474
 
483
475
  renderToday() {
@@ -529,14 +529,20 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
529
529
  justify-content: center;
530
530
  }
531
531
 
532
+ /**
533
+ * Represents inner spacing around icon for icon-position="left", when present
534
+ */
532
535
  :host([data-render-mode="shadow"]) [part~='start'] {
533
536
  display: inline-flex;
534
- padding-inline-end: var(--sds-g-spacing-2, 0.5rem);
537
+ padding-inline-end: 0;
535
538
  }
536
539
 
540
+ /**
541
+ * Represents inner spacing around icon for icon-position="right", when present
542
+ */
537
543
  :host([data-render-mode="shadow"]) [part~='end'] {
538
544
  display: inline-flex;
539
- padding-inline-start: var(--sds-g-spacing-2, 0.5rem);
545
+ padding-inline-start: 0;
540
546
  }
541
547
  }
542
548
 
@@ -928,7 +934,7 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
928
934
  /**
929
935
  * End part
930
936
  */
931
- :host([data-render-mode="shadow"]) [part~='end'] {
937
+ :host([data-render-mode="shadow"]) [part='end'] {
932
938
  padding-inline-start: var(--slds-c-buttonicon-end-spacing-inline-start, 0);
933
939
  }
934
940
 
@@ -1683,7 +1689,7 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
1683
1689
 
1684
1690
  @supports (--styling-hooks: '') {
1685
1691
  /* SELECT */
1686
- :host([data-render-mode="shadow"]) [part~='select'] {
1692
+ :host([data-render-mode="shadow"]) [part='select'] {
1687
1693
  height: calc(var(--slds-c-select-input-sizing-height, 1.875rem) + (var(--sds-g-sizing-border-1, 1px) * 2));
1688
1694
  width: 100%;
1689
1695
  border: var(--sds-g-sizing-border-1, 1px) solid var(--slds-c-select-color-border, var(--sds-g-color-neutral-base-80, #c9c9c9));
@@ -1695,12 +1701,12 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
1695
1701
  transition: border 0.1s linear, background-color 0.1s linear;
1696
1702
  }
1697
1703
 
1698
- :host([data-render-mode="shadow"]) [part~='select'][required] {
1704
+ :host([data-render-mode="shadow"]) [part='select'][required] {
1699
1705
  box-shadow: none; /* @legacy: This is ported over from SLDS but not clear why this design decision is made. */
1700
1706
  }
1701
1707
 
1702
- :host([data-render-mode="shadow"]) [part~='select']:focus,:host([data-render-mode="shadow"])
1703
- [part~='select']:active {
1708
+ :host([data-render-mode="shadow"]) [part='select']:focus,:host([data-render-mode="shadow"])
1709
+ [part='select']:active {
1704
1710
  outline: 0;
1705
1711
  border-color: var(--slds-c-select-color-border-focus, var(--sds-g-color-brand-base-60, #1b96ff));
1706
1712
  background-color: var(--slds-c-select-color-background-focus, var(--sds-g-color-neutral-base-100, #ffffff));
@@ -1708,7 +1714,7 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
1708
1714
  box-shadow: var(--slds-c-select-shadow-focus, 0 0 3px var(--sds-g-color-brand-base-50, #0176d3));
1709
1715
  }
1710
1716
 
1711
- :host([data-render-mode="shadow"]) [part~='select'][disabled] {
1717
+ :host([data-render-mode="shadow"]) [part='select'][disabled] {
1712
1718
  background-color: var(--sds-g-color-neutral-base-95, #f3f3f3);
1713
1719
  border-color: var(--sds-g-color-neutral-base-80, #c9c9c9);
1714
1720
  color: var(--sds-g-color-neutral-base-50, #747474);
@@ -1717,19 +1723,19 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
1717
1723
  opacity: 1;
1718
1724
  }
1719
1725
 
1720
- :host([data-render-mode="shadow"]) [part~='select'][disabled]:focus,:host([data-render-mode="shadow"])
1721
- [part~='select'][disabled]:active {
1726
+ :host([data-render-mode="shadow"]) [part='select'][disabled]:focus,:host([data-render-mode="shadow"])
1727
+ [part='select'][disabled]:active {
1722
1728
  box-shadow: none;
1723
1729
  }
1724
1730
 
1725
- :host([data-render-mode="shadow"]) [part~='select'][size],:host([data-render-mode="shadow"])
1726
- [part~='select'][multiple] {
1731
+ :host([data-render-mode="shadow"]) [part='select'][size],:host([data-render-mode="shadow"])
1732
+ [part='select'][multiple] {
1727
1733
  min-height: calc(var(--slds-c-select-input-sizing-height) + (var(--sds-g-sizing-border-1, 1px) * 2));
1728
1734
  height: inherit;
1729
1735
  }
1730
1736
 
1731
- :host([data-render-mode="shadow"]) [part~='select'][size] option,:host([data-render-mode="shadow"])
1732
- [part~='select'][multiple] option {
1737
+ :host([data-render-mode="shadow"]) [part='select'][size] option,:host([data-render-mode="shadow"])
1738
+ [part='select'][multiple] option {
1733
1739
  padding: var(--sds-g-spacing-2, 0.5rem);
1734
1740
  }
1735
1741
 
@@ -1738,7 +1744,7 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
1738
1744
  color: var(--slds-c-select-container-color);
1739
1745
  }
1740
1746
 
1741
- :host([data-render-mode="shadow"]) .slds-select_container [part~="select"] {
1747
+ :host([data-render-mode="shadow"]) .slds-select_container [part="select"] {
1742
1748
  /* stylelint-disable property-no-vendor-prefix */
1743
1749
  -moz-appearance: none;
1744
1750
  -webkit-appearance: none;
@@ -1746,11 +1752,11 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
1746
1752
  padding: 0 var(--sds-g-spacing-5, 1.5rem) 0 var(--sds-g-spacing-2, 0.5rem);
1747
1753
  }
1748
1754
 
1749
- :host([data-render-mode="shadow"]) .slds-select_container [part~="select"]::-ms-expand {
1755
+ :host([data-render-mode="shadow"]) .slds-select_container [part="select"]::-ms-expand {
1750
1756
  display: none;
1751
1757
  }
1752
1758
 
1753
- :host([data-render-mode="shadow"]) .slds-select_container::before,:host([data-render-mode="shadow"])
1759
+ :host([data-render-mode="shadow"]) .slds-select_container::before,:host([data-render-mode="shadow"])
1754
1760
  .slds-select_container::after {
1755
1761
  position: absolute;
1756
1762
  content: '';
@@ -1767,7 +1773,7 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
1767
1773
  border-bottom: 5px solid currentColor;
1768
1774
  top: calc((var(--sds-g-sizing-8, 1.75rem) / 2) - 6px);
1769
1775
  }
1770
-
1776
+
1771
1777
  :host([data-render-mode="shadow"]) .slds-select_container::after {
1772
1778
  border-top: 5px solid currentColor;
1773
1779
  bottom: calc((var(--sds-g-sizing-8, 1.75rem) / 2) - 6px);
@@ -1777,27 +1783,27 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
1777
1783
  display: none;
1778
1784
  }
1779
1785
 
1780
- :host([data-render-mode="shadow"][invalid]) [part~="select"] {
1786
+ :host([data-render-mode="shadow"][invalid]) [part="select"] {
1781
1787
  border-color: var(--sds-g-color-error-base-50, #ea001e);
1782
1788
  box-shadow: var(--sds-g-color-error-base-50, #ea001e) 0 0 0 var(--sds-g-sizing-border-1, 1px) inset;
1783
1789
  background-clip: padding-box;
1784
1790
  }
1785
1791
 
1786
- :host([data-render-mode="shadow"][invalid]) [part~="select"]:focus,:host([data-render-mode="shadow"][invalid]) [part~="select"]:active {
1792
+ :host([data-render-mode="shadow"][invalid]) [part="select"]:focus,:host([data-render-mode="shadow"][invalid]) [part="select"]:active {
1787
1793
  box-shadow: var(--sds-g-color-error-base-50, #ea001e) 0 0 0 var(--sds-g-sizing-border-1, 1px) inset, 0 0 3px var(--sds-g-color-brand-base-50, #0176d3);
1788
1794
  }
1789
1795
 
1790
1796
  /* LABEL */
1791
1797
 
1792
1798
  /* Styling Specifically for select label */
1793
- :host([data-render-mode="shadow"]) [part~="select-label"] {
1799
+ :host([data-render-mode="shadow"]) [part="select-label"] {
1794
1800
  padding-inline-end: var(--sds-g-spacing-2, 0.5rem);
1795
1801
  color: var(--slds-c-select-label-color, var(--sds-g-color-neutral-base-30, #444444));
1796
1802
  font-size: var(--slds-c-select-label-font-size, var(--sds-g-font-scale-neg-3, 0.75rem));
1797
-
1803
+
1798
1804
  /* We inline flex to control the spacing between elements and not have to rely on whitespace characters */
1799
1805
  display: inline-flex;
1800
-
1806
+
1801
1807
  /* TODO: Add global hook once SLDS creates a new spacing hook that equals the value needed here */
1802
1808
  column-gap: 0.125rem;
1803
1809
  }
@@ -51,77 +51,77 @@
51
51
 
52
52
  @supports (--styling-hooks: '') {
53
53
 
54
- :host([data-render-mode="shadow"]) [part~="card"] {
54
+ :host([data-render-mode="shadow"]) [part="card"] {
55
55
  position: relative;
56
- --sds-c-card-spacing-block-start:
57
- var(--slds-c-card-spacing-block-start,
56
+ --sds-c-card-spacing-block-start:
57
+ var(--slds-c-card-spacing-block-start,
58
58
  var(--slds-c-card-spacing-block, 0));
59
- --sds-c-card-spacing-block-end:
60
- var(--slds-c-card-spacing-block-end,
59
+ --sds-c-card-spacing-block-end:
60
+ var(--slds-c-card-spacing-block-end,
61
61
  var(--slds-c-card-spacing-block, 0));
62
- --sds-c-card-spacing-inline-start:
63
- var(--slds-c-card-spacing-inline-start,
62
+ --sds-c-card-spacing-inline-start:
63
+ var(--slds-c-card-spacing-inline-start,
64
64
  var(--slds-c-card-spacing-inline, 0));
65
- --sds-c-card-spacing-inline-end:
65
+ --sds-c-card-spacing-inline-end:
66
66
  var(--slds-c-card-spacing-inline-end,
67
67
  var(--slds-c-card-spacing-inline, 0));
68
- --sds-c-card-color-background:
69
- var(--slds-c-card-color-background,
68
+ --sds-c-card-color-background:
69
+ var(--slds-c-card-color-background,
70
70
  var(--slds-g-color-neutral-base-100));
71
- --sds-c-card-sizing-border:
72
- var(--slds-c-card-sizing-border,
71
+ --sds-c-card-sizing-border:
72
+ var(--slds-c-card-sizing-border,
73
73
  var(--sds-g-sizing-border-1, 1px));
74
- --sds-c-card-color-border:
75
- var(--slds-c-card-color-border,
76
- var(--slds-g-color-border-base-1,
74
+ --sds-c-card-color-border:
75
+ var(--slds-c-card-color-border,
76
+ var(--slds-g-color-border-base-1,
77
77
  var(--sds-g-color-neutral-base-80, #c9c9c9)));
78
- --sds-c-card-radius-border:
79
- var(--slds-c-card-radius-border,
78
+ --sds-c-card-radius-border:
79
+ var(--slds-c-card-radius-border,
80
80
  var(--sds-g-radius-border-2, 0.25rem));
81
- --sds-c-card-shadow:
82
- var(--slds-c-card-shadow,
81
+ --sds-c-card-shadow:
82
+ var(--slds-c-card-shadow,
83
83
  0 2px 2px 0 var(--sds-g-color-neutral-base-90, #e5e5e5)); /* Note: remove sds color when slds color is implemented to subsystem */
84
- --sds-c-card-text-color:
84
+ --sds-c-card-text-color:
85
85
  var(--slds-c-card-text-color);
86
86
 
87
87
  border-style: solid;
88
88
  background-clip: padding-box;
89
89
  }
90
90
 
91
- :host([data-render-mode="shadow"]) [part~='header'] {
91
+ :host([data-render-mode="shadow"]) [part='header'] {
92
92
  display: grid;
93
93
  grid-template-columns: auto minmax(0, 1fr) auto;
94
94
  grid-template-areas: 'icon title actions';
95
95
  align-items: center;
96
96
 
97
97
  /* Padding */
98
- --sds-c-card-header-spacing-block-start:
98
+ --sds-c-card-header-spacing-block-start:
99
99
  var(--slds-c-card-header-spacing-block-start,
100
- var(--slds-c-card-header-spacing-block,
100
+ var(--slds-c-card-header-spacing-block,
101
101
  var(--sds-g-spacing-3, 0.75rem)));
102
- --sds-c-card-header-spacing-block-end:
102
+ --sds-c-card-header-spacing-block-end:
103
103
  var(--slds-c-card-header-spacing-block-end,
104
104
  var(--slds-c-card-header-spacing-block, 0));
105
- --sds-c-card-header-spacing-inline-start:
106
- var(--slds-c-card-header-spacing-inline-start,
107
- var(--slds-c-card-header-spacing-inline,
105
+ --sds-c-card-header-spacing-inline-start:
106
+ var(--slds-c-card-header-spacing-inline-start,
107
+ var(--slds-c-card-header-spacing-inline,
108
108
  var(--sds-g-spacing-4, 1rem)));
109
- --sds-c-card-header-spacing-inline-end:
110
- var(--slds-c-card-header-spacing-inline-end,
111
- var(--slds-c-card-header-spacing-inline,
109
+ --sds-c-card-header-spacing-inline-end:
110
+ var(--slds-c-card-header-spacing-inline-end,
111
+ var(--slds-c-card-header-spacing-inline,
112
112
  var(--sds-g-spacing-4, 1rem)));
113
113
 
114
114
  /* Margin */
115
- margin-block-end: var(--slds-c-card-header-spacing-block-end,
115
+ margin-block-end: var(--slds-c-card-header-spacing-block-end,
116
116
  var(--sds-g-spacing-3, 0.75rem));
117
117
 
118
118
  /**
119
119
  * These become reassignments once base headings get hooks.
120
- * See [part~='header'] h2 rule block for more info.
120
+ * See [part='header'] h2 rule block for more info.
121
121
  */
122
122
  color: var(--slds-c-card-header-text-color);
123
123
  font-size: var(--slds-c-card-heading-font-size);
124
- font-weight: var(--slds-g-font-weight-bold,
124
+ font-weight: var(--slds-g-font-weight-bold,
125
125
  var(--sds-g-font-weight-bold, bold));
126
126
  line-height: var(--sds-g-font-lineheight-2, 1.25);
127
127
  }
@@ -132,16 +132,16 @@
132
132
  * The header sections utilize grid areas and 'part' apis to allow the header's
133
133
  * layout be modular (grid-area) and explicitly customized (part).
134
134
  */
135
- :host([data-render-mode="shadow"]) [part~="icon"] {
135
+ :host([data-render-mode="shadow"]) [part="icon"] {
136
136
  grid-area: icon;
137
137
  line-height: 0;
138
138
  }
139
139
 
140
- :host([data-render-mode="shadow"]) [part~="title"] {
140
+ :host([data-render-mode="shadow"]) [part="title"] {
141
141
  grid-area: title;
142
142
  }
143
143
 
144
- :host([data-render-mode="shadow"]) [part~="actions"] {
144
+ :host([data-render-mode="shadow"]) [part="actions"] {
145
145
  grid-area: actions;
146
146
  }
147
147
 
@@ -153,68 +153,68 @@
153
153
  * :host { --sds-g-heading-font-size: var(--slds-c-card-heading-font-size); }
154
154
  */
155
155
 
156
- :host([data-render-mode="shadow"]) [part~="title"] h2 {
156
+ :host([data-render-mode="shadow"]) [part="title"] h2 {
157
157
  font-weight: inherit;
158
158
  font-size: inherit;
159
159
  }
160
160
 
161
- /**
161
+ /**
162
162
  * Recreating truncation explicitly here so the behavior is consistent with
163
163
  * current SLDS.
164
164
  *
165
165
  * @TODO: Evaluate if this should be a utility or something similar.
166
166
  */
167
- :host([data-render-mode="shadow"]) [part~="title"] span {
167
+ :host([data-render-mode="shadow"]) [part="title"] span {
168
168
  display: block;
169
169
  overflow: hidden;
170
170
  text-overflow: ellipsis;
171
171
  }
172
172
 
173
- :host([data-render-mode="shadow"]) [part~="body"] {
174
- --sds-c-card-body-spacing-block-start:
175
- var(--slds-c-card-body-spacing-block-start,
173
+ :host([data-render-mode="shadow"]) [part="body"] {
174
+ --sds-c-card-body-spacing-block-start:
175
+ var(--slds-c-card-body-spacing-block-start,
176
176
  var(--slds-c-card-body-spacing-block));
177
- --sds-c-card-body-spacing-block-end:
178
- var(--slds-c-card-body-spacing-block-end,
177
+ --sds-c-card-body-spacing-block-end:
178
+ var(--slds-c-card-body-spacing-block-end,
179
179
  var(--slds-c-card-body-spacing-block));
180
- --sds-c-card-body-spacing-inline-start:
181
- var(--slds-c-card-body-spacing-inline-start,
180
+ --sds-c-card-body-spacing-inline-start:
181
+ var(--slds-c-card-body-spacing-inline-start,
182
182
  var(--slds-c-card-body-spacing-inline));
183
- --sds-c-card-body-spacing-inline-end:
184
- var(--slds-c-card-body-spacing-inline-end,
183
+ --sds-c-card-body-spacing-inline-end:
184
+ var(--slds-c-card-body-spacing-inline-end,
185
185
  var(--slds-c-card-body-spacing-inline));
186
186
  --slds-c-card-color-border: transparent;
187
187
  --slds-c-card-shadow: none;
188
188
  }
189
189
 
190
- :host([data-render-mode="shadow"]) [part~='footer'] {
191
- --sds-c-card-footer-spacing-block-start:
192
- var(--slds-c-card-footer-spacing-block-start,
193
- var(--slds-c-card-footer-spacing-block,
190
+ :host([data-render-mode="shadow"]) [part='footer'] {
191
+ --sds-c-card-footer-spacing-block-start:
192
+ var(--slds-c-card-footer-spacing-block-start,
193
+ var(--slds-c-card-footer-spacing-block,
194
194
  var(--sds-g-spacing-3, 0.75rem)));
195
- --sds-c-card-footer-spacing-block-end:
196
- var(--slds-c-card-footer-spacing-block-end,
197
- var(--slds-c-card-footer-spacing-block,
195
+ --sds-c-card-footer-spacing-block-end:
196
+ var(--slds-c-card-footer-spacing-block-end,
197
+ var(--slds-c-card-footer-spacing-block,
198
198
  var(--sds-g-spacing-3, 0.75rem)));
199
- --sds-c-card-footer-spacing-inline-start:
200
- var(--slds-c-card-footer-spacing-inline-start,
201
- var(--slds-c-card-footer-spacing-inline,
199
+ --sds-c-card-footer-spacing-inline-start:
200
+ var(--slds-c-card-footer-spacing-inline-start,
201
+ var(--slds-c-card-footer-spacing-inline,
202
202
  var(--sds-g-spacing-4, 1rem)));
203
- --sds-c-card-footer-spacing-inline-end:
204
- var(--slds-c-card-footer-spacing-inline-end,
205
- var(--slds-c-card-footer-spacing-inline,
203
+ --sds-c-card-footer-spacing-inline-end:
204
+ var(--slds-c-card-footer-spacing-inline-end,
205
+ var(--slds-c-card-footer-spacing-inline,
206
206
  var(--sds-g-spacing-4, 1rem)));
207
- --sds-c-card-footer-sizing-border:
208
- var(--slds-c-card-footer-sizing-border,
207
+ --sds-c-card-footer-sizing-border:
208
+ var(--slds-c-card-footer-sizing-border,
209
209
  var(--sds-g-sizing-border-1, 1px));
210
- --sds-c-card-footer-color-border:
211
- var(--slds-c-card-footer-color-border,
212
- var(--slds-g-color-border-base-1,
210
+ --sds-c-card-footer-color-border:
211
+ var(--slds-c-card-footer-color-border,
212
+ var(--slds-g-color-border-base-1,
213
213
  var(--sds-g-color-neutral-base-80, #c9c9c9)));
214
214
 
215
215
  border-top-style: solid;
216
216
  text-align: var(--slds-c-card-footer-font-align, center);
217
- font-size: var(--slds-c-card-footer-font-size,
217
+ font-size: var(--slds-c-card-footer-font-size,
218
218
  var(--sds-g-font-scale-neg-2, 0.8125rem));
219
219
  }
220
220
 
@@ -226,7 +226,7 @@
226
226
  /* Note: Refactor the below. Utility classes that should be removed once utility implementation is completed. */
227
227
  :host([data-render-mode="shadow"]) .slds-media__figure {
228
228
  flex-shrink: 0;
229
- margin-inline-end: var(--slds-c-card-icon-spacing-inline-end,
229
+ margin-inline-end: var(--slds-c-card-icon-spacing-inline-end,
230
230
  var(--sds-g-spacing-3, 0.75rem));
231
231
  }
232
232
 
@@ -6,7 +6,7 @@
6
6
  /**
7
7
  * Invalid State
8
8
  */
9
- :host([data-render-mode="shadow"][invalid]) [part~='combobox'] {
9
+ :host([data-render-mode="shadow"][invalid]) [part='combobox'] {
10
10
  --slds-c-inputtext-color-border: var(--sds-g-color-error-base-50, #ea001e);
11
11
  --slds-c-inputtext-sizing-border: var(--sds-g-sizing-border-1, 1px);
12
12
  }
@@ -278,4 +278,12 @@
278
278
  :host([data-render-mode="shadow"]) .slds-form-element_address .slds-form-element__row {
279
279
  align-items: flex-end;
280
280
  }
281
+
282
+ /* --------------------------------------- */
283
+
284
+ /* FORM ELEMENT: HIDDEN */
285
+
286
+ :host([data-render-mode="shadow"][variant~='label-hidden']) .slds-form-element__label {
287
+ display: none
288
+ }
281
289
  }
@@ -84,6 +84,7 @@ import {
84
84
  getActiveCellElement,
85
85
  getDataRow,
86
86
  FOCUS_CLASS,
87
+ updateActiveCellTabIndexAfterSync,
87
88
  } from './keyboard';
88
89
  import {
89
90
  getRowNumberOffset,
@@ -333,6 +334,8 @@ export default class LightningDatatable extends LightningElement {
333
334
  if (hasValidKeyField(this.state)) {
334
335
  this.updateRowsAndCellIndexes(this.state);
335
336
  }
337
+
338
+ updateActiveCellTabIndexAfterSync(this.state);
336
339
  }
337
340
 
338
341
  /**
@@ -1531,6 +1534,7 @@ export default class LightningDatatable extends LightningElement {
1531
1534
  if (!customerEvent.defaultPrevented) {
1532
1535
  cancelInlineEdit(this);
1533
1536
  }
1537
+ updateActiveCellTabIndexAfterSync(this.state);
1534
1538
  }
1535
1539
 
1536
1540
  /**
@@ -1173,10 +1173,7 @@ export function updateTabIndexActiveCell(state, index = 0) {
1173
1173
  }
1174
1174
 
1175
1175
  // we need to check again because maybe there is no active cell after sync
1176
- if (state.activeCell && !isRowNavigationMode(state)) {
1177
- const { rowIndex, colIndex } = getIndexesActiveCell(state);
1178
- updateTabIndex(state, rowIndex, colIndex, index);
1179
- }
1176
+ updateActiveCellTabIndexAfterSync(state, index);
1180
1177
  return state;
1181
1178
  }
1182
1179
 
@@ -1417,3 +1414,10 @@ function isActiveCellValid(state) {
1417
1414
  }
1418
1415
  return false;
1419
1416
  }
1417
+
1418
+ export function updateActiveCellTabIndexAfterSync(state, index = 0) {
1419
+ if (state.activeCell && !isRowNavigationMode(state)) {
1420
+ const { rowIndex, colIndex } = getIndexesActiveCell(state);
1421
+ updateTabIndex(state, rowIndex, colIndex, index);
1422
+ }
1423
+ }
@@ -133,7 +133,7 @@ export function updateColumnSortingState(column, state) {
133
133
  } else {
134
134
  Object.assign(column, {
135
135
  sorted: false,
136
- sortAriaLabel: column.sortable ? 'none' : null,
136
+ sortAriaLabel: column.sortable ? 'other' : null,
137
137
  sortedDirection: defaultSortDirection,
138
138
  });
139
139
  }
@@ -750,7 +750,7 @@ export default class LightningDatePicker extends LightningElement {
750
750
  const isAriaInvalid =
751
751
  this.template.host.getAttribute('data-aria-invalid') ||
752
752
  this._errorMessage;
753
- return computeAriaInvalid(isAriaInvalid, this.value);
753
+ return computeAriaInvalid(isAriaInvalid, this.hasBadInput() || '');
754
754
  }
755
755
 
756
756
  get helptextAlternativeText() {
@@ -278,4 +278,12 @@
278
278
  :host([data-render-mode="shadow"]) .slds-form-element_address .slds-form-element__row {
279
279
  align-items: flex-end;
280
280
  }
281
+
282
+ /* --------------------------------------- */
283
+
284
+ /* FORM ELEMENT: HIDDEN */
285
+
286
+ :host([data-render-mode="shadow"][variant~='label-hidden']) .slds-form-element__label {
287
+ display: none
288
+ }
281
289
  }