lightning-base-components 1.21.3-alpha → 1.21.4-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 (183) hide show
  1. package/metadata/raptor.json +49 -0
  2. package/package.json +88 -21
  3. package/scopedImports/@salesforce-label-LightningDatatable.showActions.js +1 -1
  4. package/scopedImports/@salesforce-label-LightningForm.controllerFieldsMessage.js +1 -0
  5. package/scopedImports/@salesforce-label-LightningForm.dependentFieldsHeader.js +1 -0
  6. package/scopedImports/@salesforce-label-LightningForm.dependentFieldsListHeading.js +1 -0
  7. package/scopedImports/@salesforce-label-LightningForm.generalDependentFieldsMessage.js +1 -0
  8. package/scopedImports/@salesforce-label-LightningForm.learnMore.js +1 -0
  9. package/scopedImports/@salesforce-label-LightningForm.okButton.js +1 -0
  10. package/scopedImports/@salesforce-label-LightningLookup.modalCancel.js +1 -0
  11. package/scopedImports/@salesforce-label-LightningLookup.modalSelect.js +1 -0
  12. package/scopedImports/@salesforce-label-LightningProgressIndicator.currentStage.js +1 -1
  13. package/scopedImports/@salesforce-label-LightningProgressIndicator.errorStage.js +1 -0
  14. package/scopedImports/@salesforce-label-LightningProgressIndicator.stageComplete.js +1 -1
  15. package/scopedImports/@salesforce-label-LightningProgressIndicator.stageNotStarted.js +1 -1
  16. package/src/lightning/avatar/avatar.html +1 -0
  17. package/src/lightning/badge/badge.html +3 -3
  18. package/src/lightning/baseCombobox/baseCombobox.html +4 -1
  19. package/src/lightning/baseCombobox/baseCombobox.js +3 -16
  20. package/src/lightning/button/__docs__/button.md +2 -1
  21. package/src/lightning/button/button.js +3 -4
  22. package/src/lightning/buttonIcon/__docs__/buttonIcon.md +1 -0
  23. package/src/lightning/buttonIcon/buttonIcon.html +1 -1
  24. package/src/lightning/buttonIcon/buttonIcon.js +18 -17
  25. package/src/lightning/buttonMenu/buttonMenu.css +5 -0
  26. package/src/lightning/buttonMenu/buttonMenu.js +2 -0
  27. package/src/lightning/colorPickerCustom/colorPickerCustom.js +12 -0
  28. package/src/lightning/colorPickerPanel/colorPickerPanel.js +11 -1
  29. package/src/lightning/combobox/combobox.html +1 -0
  30. package/src/lightning/datatable/__examples__disabled/customComponentWrapper/customComponentWrapper.html +11 -0
  31. package/src/lightning/datatable/__examples__disabled/customComponentWrapper/customComponentWrapper.js +25 -0
  32. package/src/lightning/datatable/__examples__disabled/customComponentWrapper/generateData.js +15 -0
  33. package/src/lightning/datatable/__examples__disabled/myCustomTypeDatatable/customInput.html +4 -0
  34. package/src/lightning/datatable/__examples__disabled/myCustomTypeDatatable/myCustomTypeDatatable.js +17 -0
  35. package/src/lightning/datatable/__examples__disabled/myCustomTypeDatatable/nestedSimpleComponentParent.html +7 -0
  36. package/src/lightning/datatable/__examples__disabled/simpleComponentNested/simpleComponentNested.html +9 -0
  37. package/src/lightning/datatable/__examples__disabled/simpleComponentNested/simpleComponentNested.js +6 -0
  38. package/src/lightning/datatable/autoWidthStrategy.js +8 -36
  39. package/src/lightning/datatable/columnResizer.js +51 -161
  40. package/src/lightning/datatable/columnWidthManager.js +25 -81
  41. package/src/lightning/datatable/columns.js +180 -302
  42. package/src/lightning/datatable/datatable.js +455 -441
  43. package/src/lightning/datatable/errors.js +17 -29
  44. package/src/lightning/datatable/fixedWidthStrategy.js +7 -22
  45. package/src/lightning/datatable/headerActions.js +8 -38
  46. package/src/lightning/datatable/indexes.js +42 -0
  47. package/src/lightning/datatable/infiniteLoading.js +16 -35
  48. package/src/lightning/datatable/inlineEdit.js +125 -156
  49. package/src/lightning/datatable/keyboard.js +226 -282
  50. package/src/lightning/datatable/renderManager.js +0 -4
  51. package/src/lightning/datatable/resizeObserver.js +4 -13
  52. package/src/lightning/datatable/rowLevelActions.js +2 -2
  53. package/src/lightning/datatable/rowNumber.js +21 -59
  54. package/src/lightning/datatable/rowSelection.js +95 -178
  55. package/src/lightning/datatable/rowSelectionShared.js +13 -27
  56. package/src/lightning/datatable/rows.js +171 -418
  57. package/src/lightning/datatable/sort.js +16 -75
  58. package/src/lightning/datatable/templates/div/div.html +12 -4
  59. package/src/lightning/datatable/templates/div/div.lbc.synthetic.css +10 -16
  60. package/src/lightning/datatable/templates/table/table.html +15 -5
  61. package/src/lightning/datatable/tree.js +17 -35
  62. package/src/lightning/datatable/types.js +10 -31
  63. package/src/lightning/datatable/utils.js +49 -24
  64. package/src/lightning/datatable/virtualization.js +2 -5
  65. package/src/lightning/datatable/widthManagerShared.js +0 -20
  66. package/src/lightning/datatable/wrapText.js +29 -60
  67. package/src/lightning/dualListbox/dualListbox.js +7 -8
  68. package/src/lightning/formattedName/formattedName.js +3 -2
  69. package/src/lightning/formattedName/formattedName.js-meta.xml +3 -0
  70. package/src/lightning/formattedNumber/formattedNumber.js +3 -2
  71. package/src/lightning/formattedNumber/formattedNumber.js-meta.xml +3 -0
  72. package/src/lightning/formattedRichText/richTextConfig.js +1 -0
  73. package/src/lightning/helptext/helptext.css +7 -0
  74. package/src/lightning/helptext/helptext.js +3 -4
  75. package/src/lightning/icon/icon.html +1 -1
  76. package/src/lightning/input/input.html +5 -0
  77. package/src/lightning/inputAddress/addressFormat.js +31 -4
  78. package/src/lightning/inputAddress/fieldsLayout.js +6 -0
  79. package/src/lightning/inputAddress/inputAddress.html +19 -1
  80. package/src/lightning/inputAddress/inputAddress.js +74 -3
  81. package/src/lightning/internationalizationLibrary/address/AddressFormat.js +553 -610
  82. package/src/lightning/lookupAddress/lookupAddress.html +6 -1
  83. package/src/lightning/lookupAddress/lookupAddress.js +25 -0
  84. package/src/lightning/modal/__docs__/modal.md +10 -1
  85. package/src/lightning/modal/__modalUtils__/modalContainerTestConstants.js +3 -7
  86. package/src/lightning/modal/__modalUtils__/modalContainerTestMethods.js +39 -133
  87. package/src/lightning/modal/__modalUtils__/modalContainerTestMockData.js +1 -1
  88. package/src/lightning/modal/modal.js +1 -1
  89. package/src/lightning/modalBase/modalBase.html +15 -10
  90. package/src/lightning/modalBase/modalBase.js +131 -146
  91. package/src/lightning/modalBody/modalBody.css +6 -0
  92. package/src/lightning/modalHeader/modalHeader.html +16 -4
  93. package/src/lightning/modalHeader/modalHeader.js +61 -14
  94. package/src/lightning/pill/link.html +1 -0
  95. package/src/lightning/pill/plain.html +1 -0
  96. package/src/lightning/pill/plainLink.html +1 -0
  97. package/src/lightning/primitiveBubble/primitiveBubble.js +42 -0
  98. package/src/lightning/primitiveDatatableCell/primitiveDatatableCell.js +1 -1
  99. package/src/lightning/primitiveHeaderActions/primitiveHeaderActions.html +1 -1
  100. package/src/lightning/primitiveHeaderActions/primitiveHeaderActions.js +13 -0
  101. package/src/lightning/primitiveHeaderFactory/nonsortableHeader.html +19 -6
  102. package/src/lightning/primitiveHeaderFactory/sortableHeader.html +3 -1
  103. package/src/lightning/primitiveResizeHandler/primitiveResizeHandler.css +11 -0
  104. package/src/lightning/primitiveResizeHandler/primitiveResizeHandler.html +2 -1
  105. package/src/lightning/primitiveResizeHandler/primitiveResizeHandler.js +1 -0
  106. package/src/lightning/progressStep/base.html +5 -6
  107. package/src/lightning/progressStep/progressStep.js +14 -9
  108. package/src/lightning/prompt/__docs__/prompt.md +1 -1
  109. package/src/lightning/shadowBaseClassPrivate/shadowBaseClassPrivate.js +0 -2
  110. package/src/lightning/sldsCommon/sldsCommon.css +134 -98
  111. package/src/lightning/sldsUtilsAlignment/sldsUtilsAlignment.css +1 -1
  112. package/src/lightning/sldsUtilsBox/sldsUtilsBox.css +14 -13
  113. package/src/lightning/sldsUtilsGrid/sldsUtilsGrid.css +95 -92
  114. package/src/lightning/sldsUtilsHyphenation/sldsUtilsHyphenation.css +1 -1
  115. package/src/lightning/sldsUtilsMargin/sldsUtilsMargin.css +77 -75
  116. package/src/lightning/sldsUtilsPadding/sldsUtilsPadding.css +73 -73
  117. package/src/lightning/sldsUtilsSizing/sldsUtilsSizing.css +552 -558
  118. package/src/lightning/sldsUtilsVisibility/sldsUtilsVisibility.css +2 -2
  119. package/src/lightning/staticMap/staticMap.js +3 -2
  120. package/src/lightning/tab/tab.js +6 -3
  121. package/src/lightning/tab/tab.js-meta.xml +3 -0
  122. package/src/lightning/tabBar/tabBar.js +10 -5
  123. package/src/lightning/tabset/tabset.html +2 -0
  124. package/src/lightning/tabset/tabset.js-meta.xml +3 -0
  125. package/src/lightning/textarea/textarea.js +6 -1
  126. package/src/lightning/toastContainer/__docs__/toastContainer.md +3 -2
  127. package/src/lightning/tooltipLibrary/tooltipLibrary.js +24 -15
  128. package/src/lightning/verticalNavigation/vertical-navigation.slds.css +14 -0
  129. package/src/lightning/verticalNavigation/verticalNavigation.css +1 -1
  130. package/src/lightning/verticalNavigation/verticalNavigation.html +1 -1
  131. package/src/lightning/verticalNavigation/verticalNavigation.js +66 -28
  132. package/src/lightning/verticalNavigation/verticalNavigation.js-meta.xml +3 -0
  133. package/src/lightning/verticalNavigationItem/vertical-navigation-item.slds.css +63 -0
  134. package/src/lightning/verticalNavigationItem/verticalNavigationItem.css +2 -3
  135. package/src/lightning/verticalNavigationItem/verticalNavigationItem.js +29 -15
  136. package/src/lightning/verticalNavigationItem/verticalNavigationItem.js-meta.xml +3 -0
  137. package/src/lightning/verticalNavigationItem/verticalNavigationItem.lbc.native.css +2 -0
  138. package/src/lightning/verticalNavigationItem/verticalNavigationItem.lbc.synthetic.css +3 -0
  139. package/src/lightning/verticalNavigationItemBadge/badge.slds.css +76 -0
  140. package/src/lightning/verticalNavigationItemBadge/vertical-navigation-item.slds.css +63 -0
  141. package/src/lightning/verticalNavigationItemBadge/verticalNavigationItemBadge.css +2 -3
  142. package/src/lightning/verticalNavigationItemBadge/verticalNavigationItemBadge.html +1 -1
  143. package/src/lightning/verticalNavigationItemBadge/verticalNavigationItemBadge.js +28 -15
  144. package/src/lightning/verticalNavigationItemBadge/verticalNavigationItemBadge.js-meta.xml +3 -0
  145. package/src/lightning/verticalNavigationItemBadge/verticalNavigationItemBadge.lbc.native.css +5 -0
  146. package/src/lightning/verticalNavigationItemBadge/verticalNavigationItemBadge.lbc.synthetic.css +3 -0
  147. package/src/lightning/verticalNavigationItemIcon/vertical-navigation-item.slds.css +63 -0
  148. package/src/lightning/verticalNavigationItemIcon/verticalNavigationItemIcon.css +2 -3
  149. package/src/lightning/verticalNavigationItemIcon/verticalNavigationItemIcon.js +29 -15
  150. package/src/lightning/verticalNavigationItemIcon/verticalNavigationItemIcon.js-meta.xml +3 -0
  151. package/src/lightning/verticalNavigationItemIcon/verticalNavigationItemIcon.lbc.native.css +3 -0
  152. package/src/lightning/verticalNavigationItemIcon/verticalNavigationItemIcon.lbc.synthetic.css +3 -0
  153. package/src/lightning/verticalNavigationOverflow/button.slds.css +503 -0
  154. package/src/lightning/verticalNavigationOverflow/vertical-navigation-item.slds.css +63 -0
  155. package/src/lightning/verticalNavigationOverflow/vertical-navigation-section.slds.css +17 -0
  156. package/src/lightning/verticalNavigationOverflow/verticalNavigationOverflow.css +2 -1
  157. package/src/lightning/verticalNavigationOverflow/verticalNavigationOverflow.html +2 -0
  158. package/src/lightning/verticalNavigationOverflow/verticalNavigationOverflow.js +18 -13
  159. package/src/lightning/verticalNavigationOverflow/verticalNavigationOverflow.js-meta.xml +3 -0
  160. package/src/lightning/verticalNavigationOverflow/verticalNavigationOverflow.lbc.native.css +5 -0
  161. package/src/lightning/verticalNavigationSection/vertical-navigation-section.slds.css +14 -14
  162. package/src/lightning/verticalNavigationSection/verticalNavigationSection.js-meta.xml +3 -0
  163. package/src/lightning/datatable/inlineEditShared.js +0 -26
  164. /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatableWrapper/customDatatableWrapper.html +0 -0
  165. /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatableWrapper/customDatatableWrapper.js +0 -0
  166. /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeDeleteRowBtn/customDatatypeDeleteRowBtn.html +0 -0
  167. /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeDeleteRowBtn/customDatatypeDeleteRowBtn.js +0 -0
  168. /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeLink/customDatatypeLink.html +0 -0
  169. /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeLink/customDatatypeLink.js +0 -0
  170. /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeNumber/customDatatypeNumber.html +0 -0
  171. /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeNumber/customDatatypeNumber.js +0 -0
  172. /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeRowOrderingBtn/customDatatypeRowOrderingBtn.html +0 -0
  173. /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeRowOrderingBtn/customDatatypeRowOrderingBtn.js +0 -0
  174. /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeTable/customDatatypeTable.js +0 -0
  175. /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeTable/customLink.html +0 -0
  176. /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeTable/customName.html +0 -0
  177. /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeTable/customNumber.html +0 -0
  178. /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeTable/customNumberEdit.html +0 -0
  179. /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeTable/deleteRow.html +0 -0
  180. /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeTable/iconPill.html +0 -0
  181. /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeTable/orderingButtons.html +0 -0
  182. /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customNestedComponent/customNestedComponent.html +0 -0
  183. /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customNestedComponent/customNestedComponent.js +0 -0
@@ -18,12 +18,24 @@
18
18
 
19
19
  <!-- Header Actions -->
20
20
  <template if:true={hasActions}>
21
- <lightning-primitive-header-actions
22
- col-key-value={def.colKeyValue}
23
- actions={actions}
24
- tabindex={internalTabIndex}
25
- data-navigation="enable"
26
- ></lightning-primitive-header-actions>
21
+ <template if:true={def.label}>
22
+ <lightning-primitive-header-actions
23
+ column-header={def.label}
24
+ col-key-value={def.colKeyValue}
25
+ actions={actions}
26
+ tabindex={internalTabIndex}
27
+ data-navigation="enable"
28
+ ></lightning-primitive-header-actions>
29
+ </template>
30
+ <template if:false={def.label}>
31
+ <lightning-primitive-header-actions
32
+ column-header={def.ariaLabel}
33
+ col-key-value={def.colKeyValue}
34
+ actions={actions}
35
+ tabindex={internalTabIndex}
36
+ data-navigation="enable"
37
+ ></lightning-primitive-header-actions>
38
+ </template>
27
39
  </template>
28
40
 
29
41
  <!-- Resize Handler -->
@@ -38,6 +50,7 @@
38
50
  col-index={colIndex}
39
51
  class="slds-resizable"
40
52
  data-navigation="enable"
53
+ is-last-col={def.isLastCol}
41
54
  step={resizeStep}>
42
55
  </lightning-primitive-resize-handler>
43
56
  </template>
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <!-- Header Content -->
3
3
  <span class={computedClass} tabindex={internalTabIndex} style={columnStyles}>
4
-
4
+
5
5
  <a href="javascript:void(0);"
6
6
  class={computedSortClass}
7
7
  role={headerRole}
@@ -48,6 +48,7 @@
48
48
  <!-- Header Actions -->
49
49
  <template if:true={hasActions}>
50
50
  <lightning-primitive-header-actions
51
+ column-header={def.label}
51
52
  col-key-value={def.colKeyValue}
52
53
  actions={actions}
53
54
  tabindex={internalTabIndex}
@@ -67,6 +68,7 @@
67
68
  col-index={colIndex}
68
69
  class="slds-resizable"
69
70
  data-navigation="enable"
71
+ is-last-col={def.isLastCol}
70
72
  step={resizeStep}>
71
73
  </lightning-primitive-resize-handler>
72
74
  </template>
@@ -1,3 +1,14 @@
1
1
  :host {
2
2
  display: block;
3
3
  }
4
+
5
+ /* fix styles for last resizer, needed for div mode */
6
+ .slds-resizable__handle[data-is-last-col='true'] {
7
+ width: 0.75rem;
8
+ right: 0;
9
+ }
10
+
11
+ .slds-resizable__divider[data-is-last-col='true']::before,
12
+ .slds-resizable__divider[data-is-last-col='true']::after {
13
+ right: 0;
14
+ }
@@ -20,6 +20,7 @@
20
20
  tabindex="-1"
21
21
  >
22
22
  <span class="slds-resizable__handle"
23
+ data-is-last-col={isLastCol}
23
24
  onmousedown={onMouseDown}
24
25
  ontouchstart={onTouchStart}
25
26
  ontouchmove={onTouchMove}
@@ -27,6 +28,6 @@
27
28
  ontouchcancel={onTouchEnd}
28
29
  onclick={onClick}
29
30
  style="will-change: transform;">
30
- <span class="slds-resizable__divider"></span>
31
+ <span class="slds-resizable__divider" data-is-last-col={isLastCol}></span>
31
32
  </span>
32
33
  </template>
@@ -14,6 +14,7 @@ export default class PrimitiveResizeHandler extends LightningElement {
14
14
  @api label = '';
15
15
  @api colIndex;
16
16
  @api internalTabIndex;
17
+ @api isLastCol;
17
18
  @api step = 10;
18
19
  @api value;
19
20
 
@@ -1,18 +1,17 @@
1
1
  <template>
2
- <button class={computedButtonClass}
3
- title={label}
2
+ <div class={computedBaseStepClass}
4
3
  data-label={label}
5
- type="button"
6
4
  onmouseenter={handleMouseEnter}
7
5
  onmouseleave={handleMouseLeave}
8
6
  onfocus={handleFocus}
9
- onblur={handleBlur}>
7
+ onblur={handleBlur}
8
+ tabindex="0">
10
9
  <template if:true={hasIcon}>
11
10
  <lightning-primitive-icon
12
11
  icon-name={baseIconName}
13
- svg-class="slds-button__icon"
12
+ svg-class="slds-icon slds-icon_xx-small"
14
13
  variant="bare"></lightning-primitive-icon>
15
14
  </template>
16
15
  <span if:true={assistiveText} class="slds-assistive-text">{assistiveText}</span>
17
- </button>
16
+ </div>
18
17
  </template>
@@ -1,8 +1,9 @@
1
1
  import labelCurrentStage from '@salesforce/label/LightningProgressIndicator.currentStage';
2
2
  import labelStageComplete from '@salesforce/label/LightningProgressIndicator.stageComplete';
3
3
  import labelNotStartedStage from '@salesforce/label/LightningProgressIndicator.stageNotStarted';
4
+ import labelErrorStage from '@salesforce/label/LightningProgressIndicator.errorStage';
4
5
  import { LightningElement, api, track } from 'lwc';
5
- import { classSet } from 'lightning/utils';
6
+ import { classSet, formatLabel } from 'lightning/utils';
6
7
  import { classListMutation } from 'lightning/utilsPrivate';
7
8
  import { Tooltip, TooltipType, Direction } from 'lightning/tooltipLibrary';
8
9
  import path from './path.html';
@@ -15,6 +16,7 @@ const i18n = {
15
16
  currentStage: labelCurrentStage,
16
17
  stageComplete: labelStageComplete,
17
18
  notStartedStage: labelNotStartedStage,
19
+ errorStage: labelErrorStage,
18
20
  };
19
21
 
20
22
  // Maps the status of the base progress-step to the icon it should render
@@ -59,6 +61,9 @@ export default class LightningProgressStep extends LightningElement {
59
61
  this.state.index = newIndex;
60
62
  this.state.active = newActive;
61
63
  this.initializeTooltip();
64
+ // Ensures correct role gets added to respective variants of progress-indicator
65
+ // Path - presentation, Base - listitem
66
+ this.setAttribute('role', this.isPath ? 'presentation' : 'listitem');
62
67
  }
63
68
  /**
64
69
  * Text to display as the name or tooltip for the step.
@@ -92,7 +97,6 @@ export default class LightningProgressStep extends LightningElement {
92
97
  }
93
98
 
94
99
  connectedCallback() {
95
- this.setAttribute('role', 'listitem');
96
100
  this.dispatchEvent(
97
101
  new CustomEvent('privateregisterstep', {
98
102
  bubbles: true,
@@ -122,11 +126,10 @@ export default class LightningProgressStep extends LightningElement {
122
126
  }
123
127
  }
124
128
 
125
- get computedButtonClass() {
126
- const classes = classSet('slds-button slds-progress__marker');
129
+ get computedBaseStepClass() {
130
+ const classes = classSet('slds-progress__marker');
127
131
  if (this.hasIcon) {
128
132
  classes
129
- .add('slds-button_icon')
130
133
  .add('slds-progress__marker')
131
134
  .add('slds-progress__marker_icon');
132
135
  }
@@ -157,11 +160,13 @@ export default class LightningProgressStep extends LightningElement {
157
160
 
158
161
  get assistiveText() {
159
162
  if (this.state.status === 'completed') {
160
- return `${this.label} - ${this.i18n.stageComplete}`;
163
+ return formatLabel(this.i18n.stageComplete, this.label);
161
164
  } else if (this.state.status === 'current') {
162
- return `${this.label} - ${this.i18n.currentStage}`;
165
+ return formatLabel(this.i18n.currentStage, this.label);
163
166
  } else if (this.state.status === 'incomplete') {
164
- return `${this.label} - ${this.i18n.notStartedStage}`;
167
+ return formatLabel(this.i18n.notStartedStage, this.label);
168
+ } else if (this.state.status === 'error') {
169
+ return formatLabel(this.i18n.errorStage, this.label);
165
170
  }
166
171
  return this.state.type === 'path' ? '' : this.label;
167
172
  }
@@ -228,7 +233,7 @@ export default class LightningProgressStep extends LightningElement {
228
233
  // dom during initial rendering.
229
234
  this._tooltip = new Tooltip(this._privateLabel, {
230
235
  root: this,
231
- target: () => this.template.querySelector('button'),
236
+ target: () => this.template.querySelector('div'),
232
237
  type: TooltipType.Toggle,
233
238
  align: {
234
239
  horizontal: Direction.Center,
@@ -1,4 +1,4 @@
1
- The `lightning/prompt` module lets you create an prompt modal within your component. Use `LightningPrompt` on your components to ask the user to provide information before they continue.
1
+ The `lightning/prompt` module lets you create a prompt modal within your component. Use `LightningPrompt` on your components to ask the user to provide information before they continue.
2
2
 
3
3
  Use `LightningPrompt.open()` instead of the native `window.prompt()` for a more consistent user experience. They have similar functions, but `LightningPrompt.open()` works in cross-origin iframes, where the `.prompt()` method is no longer supported in Chrome and Safari. Unlike `window.prompt()`, `LightningPrompt.open()` doesn't halt execution on the page, it returns a Promise. Use `async`/`await` or `.then()` for any code you want to execute after the prompt has closed.
4
4
 
@@ -1,8 +1,6 @@
1
1
  import { LightningElement } from 'lwc';
2
2
 
3
3
  export default class LightningShadowBaseClass extends LightningElement {
4
- static shadowSupportMode = 'any';
5
-
6
4
  connectedCallback() {
7
5
  if (!this.template.synthetic) {
8
6
  this.setAttribute('data-render-mode', 'shadow');
@@ -11,45 +11,60 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
11
11
  box-sizing: border-box;
12
12
  }
13
13
 
14
- h1,
15
- h2,
16
- h3,
17
- h4,
18
- h5,
19
- h6 {
14
+ :host([data-render-mode='shadow']) h1,
15
+ :host([data-render-mode='shadow']) h2,
16
+ :host([data-render-mode='shadow']) h3,
17
+ :host([data-render-mode='shadow']) h4,
18
+ :host([data-render-mode='shadow']) h5,
19
+ :host([data-render-mode='shadow']) h6 {
20
20
  font-weight: var(--sds-s-heading-font-weight, inherit);
21
- margin-block-start: var(--sds-s-heading-spacing-block-start, var(--sds-s-heading-spacing-block));
22
- margin-block-end: var(--sds-s-heading-spacing-block-end, var(--sds-s-heading-spacing-block));
21
+ margin-block-start: var(
22
+ --sds-s-heading-spacing-block-start,
23
+ var(--sds-s-heading-spacing-block)
24
+ );
25
+ margin-block-end: var(
26
+ --sds-s-heading-spacing-block-end,
27
+ var(--sds-s-heading-spacing-block)
28
+ );
23
29
  font-size: 1em;
24
30
  }
25
31
 
26
- a {
32
+ :host([data-render-mode='shadow']) a {
27
33
  color: var(--slds-g-link-color, var(--slds-g-color-brand-base-50, #0176d3));
28
34
  text-decoration: var(--_slds-g-font-decoration, none);
29
35
  transition: color 0.1s linear;
30
36
  background-color: transparent;
31
37
  }
32
38
 
33
- a:active,
34
- a:hover {
39
+ :host([data-render-mode='shadow']) a:active,
40
+ :host([data-render-mode='shadow']) a:hover {
35
41
  outline: 0;
36
42
  }
37
43
 
38
- a:hover,
39
- a:focus {
44
+ :host([data-render-mode='shadow']) a:hover,
45
+ :host([data-render-mode='shadow']) a:focus {
40
46
  text-decoration: var(--_slds-g-font-decoration-hover, underline);
41
- color: var(--slds-g-link-color-hover, var(--slds-g-color-brand-base-30, #014486));
47
+ color: var(
48
+ --slds-g-link-color-hover,
49
+ var(--slds-g-color-brand-base-30, #014486)
50
+ );
42
51
  }
43
52
 
44
- a:active {
45
- color: var(--slds-g-link-color-active, var(--slds-g-color-brand-base-30, #014486));
53
+ :host([data-render-mode='shadow']) a:active {
54
+ color: var(
55
+ --slds-g-link-color-active,
56
+ var(--slds-g-color-brand-base-30, #014486)
57
+ );
46
58
  }
47
59
 
48
- a:focus-visible {
49
- outline-color: var(--_slds-g-color-outline, var(--slds-g-color-brand-base-50, #0176d3));
60
+ :host([data-render-mode='shadow']) a:focus-visible {
61
+ outline-color: var(
62
+ --_slds-g-color-outline,
63
+ var(--slds-g-color-brand-base-50, #0176d3)
64
+ );
50
65
  }
51
66
 
52
- a:focus {
67
+ :host([data-render-mode='shadow']) a:focus {
53
68
  box-shadow: var(--_slds-g-shadow);
54
69
  border-color: var(--_slds-g-color-border);
55
70
  border-width: var(--_slds-g-sizing-border);
@@ -57,16 +72,20 @@ a:focus {
57
72
  outline: var(--_slds-g-font-decoration-hover);
58
73
  }
59
74
 
60
- a,
61
- button {
75
+ :host([data-render-mode='shadow']) a,
76
+ :host([data-render-mode='shadow']) button {
62
77
  cursor: pointer;
63
78
  }
64
79
 
65
- p {
66
- margin-block-start: var(--sds-s-content-spacing-block-start,
67
- var(--sds-s-content-spacing-block, 0));
68
- margin-block-end: var(--sds-s-content-spacing-block-end,
69
- var(--sds-s-content-spacing-block, 0));
80
+ :host([data-render-mode='shadow']) p {
81
+ margin-block-start: var(
82
+ --sds-s-content-spacing-block-start,
83
+ var(--sds-s-content-spacing-block, 0)
84
+ );
85
+ margin-block-end: var(
86
+ --sds-s-content-spacing-block-end,
87
+ var(--sds-s-content-spacing-block, 0)
88
+ );
70
89
  margin-inline-start: 0;
71
90
  margin-inline-end: 0;
72
91
  padding-block-start: 0;
@@ -75,56 +94,65 @@ p {
75
94
  padding-inline-end: 0;
76
95
  }
77
96
 
78
- ol,
79
- ul {
97
+ :host([data-render-mode='shadow']) ol,
98
+ :host([data-render-mode='shadow']) ul {
80
99
  list-style: none;
81
100
  padding: 0;
82
- margin-block-start: var(--sds-s-content-spacing-block-start,
83
- var(--sds-s-content-spacing-block));
84
- margin-block-end: var(--sds-s-content-spacing-block-end,
85
- var(--sds-s-content-spacing-block));
86
- }
87
-
88
- button,
89
- [type='button'],
90
- [type='reset'],
91
- [type='submit'] {
101
+ margin-block-start: var(
102
+ --sds-s-content-spacing-block-start,
103
+ var(--sds-s-content-spacing-block)
104
+ );
105
+ margin-block-end: var(
106
+ --sds-s-content-spacing-block-end,
107
+ var(--sds-s-content-spacing-block)
108
+ );
109
+ }
110
+
111
+ :host([data-render-mode='shadow']) button,
112
+ :host([data-render-mode='shadow']) [type='button'],
113
+ :host([data-render-mode='shadow']) [type='reset'],
114
+ :host([data-render-mode='shadow']) [type='submit'] {
92
115
  -webkit-appearance: button;
93
116
  appearance: button;
94
117
  cursor: pointer;
95
118
  }
96
119
 
97
- [type='search'] {
120
+ :host([data-render-mode='shadow']) [type='search'] {
98
121
  -webkit-appearance: textfield;
99
122
  outline-offset: -2px;
100
123
  }
101
124
 
102
- [type=search]::-webkit-search-decoration,
103
- [type=search]::-webkit-search-cancel-button,
104
- [type=search]::-webkit-search-results-button,
105
- [type=search]::-webkit-search-results-decoration {
125
+ :host([data-render-mode='shadow']) [type='search']::-webkit-search-decoration,
126
+ :host([data-render-mode='shadow'])
127
+ [type='search']::-webkit-search-cancel-button,
128
+ :host([data-render-mode='shadow'])
129
+ [type='search']::-webkit-search-results-button,
130
+ :host([data-render-mode='shadow'])
131
+ [type='search']::-webkit-search-results-decoration {
106
132
  display: none;
107
133
  }
108
134
 
109
135
  /* Below selectors are commented out
110
- because it seems to disrupt synthetic mode
111
- styling but exist in SLDS-internal.
112
- They are added in to individual component css
113
- (ex. calendar.css) */
136
+ because it seems to disrupt synthetic mode
137
+ styling but exist in SLDS-internal.
138
+ They are added in to individual component css
139
+ (ex. calendar.css) */
140
+
114
141
  /* button,
115
- input,
116
- optgroup,
117
- textarea, */
118
- select {
142
+ input,
143
+ optgroup,
144
+ textarea, */
145
+
146
+ :host([data-render-mode='shadow']) select {
119
147
  color: inherit;
120
148
  font: inherit;
121
149
  margin: 0;
122
150
  }
123
151
 
124
- input:focus,
125
- button:focus,
126
- select:focus,
127
- textarea:focus {
152
+ :host([data-render-mode='shadow']) input:focus,
153
+ :host([data-render-mode='shadow']) button:focus,
154
+ :host([data-render-mode='shadow']) select:focus,
155
+ :host([data-render-mode='shadow']) textarea:focus {
128
156
  outline-offset: 0;
129
157
  }
130
158
 
@@ -150,119 +178,127 @@ textarea:focus {
150
178
  box-shadow: none;
151
179
  }
152
180
 
153
- code,
154
- kbd,
155
- samp,
156
- pre {
157
- font-family: var(--sds-g-font-family-monospace, monospace);
158
- font-size: var(--sds-g-font-size-base, 1rem);
159
- }
160
-
161
- img,
162
- [type='image'] {
181
+ :host([data-render-mode='shadow']) code,
182
+ :host([data-render-mode='shadow']) kbd,
183
+ :host([data-render-mode='shadow']) samp,
184
+ :host([data-render-mode='shadow']) pre {
185
+ font-family: var(
186
+ --sds-g-font-family-monospace,
187
+ Consolas,
188
+ Menlo,
189
+ Monaco,
190
+ Courier,
191
+ monospace,
192
+ monospace
193
+ );
194
+ font-size: var(--sds-g-font-size-base, 0.875rem, 1rem);
195
+ }
196
+
197
+ :host([data-render-mode='shadow']) img,
198
+ :host([data-render-mode='shadow']) [type='image'] {
163
199
  max-width: 100%;
164
200
  height: auto;
165
201
  border: 0;
166
202
  vertical-align: middle;
167
203
  }
168
204
 
169
- iframe {
205
+ :host([data-render-mode='shadow']) iframe {
170
206
  border-style: none;
171
207
  }
172
208
 
173
- svg:not([fill]) {
209
+ :host([data-render-mode='shadow']) svg:not([fill]) {
174
210
  fill: currentColor;
175
211
  }
176
212
 
177
- abbr[title] {
213
+ :host([data-render-mode='shadow']) abbr[title] {
178
214
  text-decoration: none;
179
215
  cursor: help;
180
216
  }
181
217
 
182
- table {
218
+ :host([data-render-mode='shadow']) table {
183
219
  border-collapse: collapse;
184
220
  border-spacing: 0;
185
221
  border: 0;
186
222
  width: 100%;
187
223
  }
188
224
 
189
- hr {
225
+ :host([data-render-mode='shadow']) hr {
190
226
  display: block;
191
- margin: var(--sds-g-spacing-6, 2rem) 0;
192
- border-top: var(--sds-g-sizing-border-1, 1px) solid var(--slds-g-color-border-base-1, #c9c9c9);
193
- height: var(--sds-g-sizing-border-1, 1px);
227
+ margin: var(--sds-g-spacing-6, 2rem, 2rem) 0;
228
+ border-top: var(--sds-g-sizing-border-1, 1px, 1px) solid
229
+ var(--slds-g-color-border-base-1, #c9c9c9);
230
+ height: var(--sds-g-sizing-border-1, 1px, 1px);
194
231
  clear: both;
195
232
  box-sizing: content-box;
196
233
  border: 0;
197
234
  padding: 0;
198
-
199
235
  }
200
236
 
201
- abbr[title] {
202
- border-bottom: var(--sds-g-sizing-border-1, 1px) dotted;
237
+ :host([data-render-mode='shadow']) abbr[title] {
238
+ border-bottom: var(--sds-g-sizing-border-1, 1px, 1px) dotted;
203
239
  text-decoration: none;
204
240
  border: 0;
205
241
  cursor: help;
206
242
  }
207
243
 
208
- caption,
209
- th,
210
- td {
244
+ :host([data-render-mode='shadow']) caption,
245
+ :host([data-render-mode='shadow']) th,
246
+ :host([data-render-mode='shadow']) td {
211
247
  text-align: left;
212
248
  }
213
249
 
214
- td,
215
- th {
250
+ :host([data-render-mode='shadow']) td,
251
+ :host([data-render-mode='shadow']) th {
216
252
  padding: 0;
217
253
  }
218
254
 
219
- dl {
255
+ :host([data-render-mode='shadow']) dl {
220
256
  margin: 0;
221
257
  padding: 0;
222
258
  }
223
259
 
224
- dd {
260
+ :host([data-render-mode='shadow']) dd {
225
261
  margin: 0;
226
262
  }
227
263
 
228
- pre {
264
+ :host([data-render-mode='shadow']) pre {
229
265
  overflow: auto;
230
266
  }
231
267
 
232
- mark {
268
+ :host([data-render-mode='shadow']) mark {
233
269
  background-color: #ff0;
234
270
  color: #000;
235
271
  }
236
272
 
237
- small {
273
+ :host([data-render-mode='shadow']) small {
238
274
  font-size: 80%;
239
275
  }
240
276
 
241
- sub,
242
- sup {
277
+ :host([data-render-mode='shadow']) sub,
278
+ :host([data-render-mode='shadow']) sup {
243
279
  font-size: 75%;
244
280
  line-height: 0;
245
281
  position: relative;
246
282
  vertical-align: baseline;
247
283
  }
248
284
 
249
- sup {
285
+ :host([data-render-mode='shadow']) sup {
250
286
  top: -0.5em;
251
287
  }
252
288
 
253
- sub {
289
+ :host([data-render-mode='shadow']) sub {
254
290
  bottom: -0.25em;
255
291
  }
256
292
 
257
- b,
258
- strong,
259
- dfn {
260
- font-weight: var(--sds-g-font-weight-7, 700);
293
+ :host([data-render-mode='shadow']) b,
294
+ :host([data-render-mode='shadow']) strong,
295
+ :host([data-render-mode='shadow']) dfn {
296
+ font-weight: var(--sds-g-font-weight-7, 700, 700);
261
297
  }
262
298
 
263
- b,
264
- strong {
265
- font-weight: var(--sds-g-font-weight-bold, bold);
299
+ :host([data-render-mode='shadow']) b,
300
+ :host([data-render-mode='shadow']) strong {
301
+ font-weight: var(--sds-g-font-weight-bold, bold, bold);
266
302
  }
267
303
 
268
304
  /**
@@ -270,7 +306,7 @@ strong {
270
306
  * have correct styling in native shadow
271
307
  */
272
308
 
273
- [data-f6-region].f6-highlight {
309
+ [data-f6-region].f6-highlight {
274
310
  position: relative;
275
311
  }
276
312
 
@@ -1,7 +1,7 @@
1
1
  /* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved
2
2
  Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
3
3
 
4
- .slds-align_absolute-center {
4
+ :host([data-render-mode='shadow']) .slds-align_absolute-center {
5
5
  display: flex;
6
6
  justify-content: center;
7
7
  align-content: center;
@@ -1,24 +1,25 @@
1
1
  /* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved
2
2
  Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
3
3
 
4
- .slds-box,
5
- ::slotted(.slds-box) {
4
+ :host([data-render-mode='shadow']) .slds-box,
5
+ :host([data-render-mode='shadow']) ::slotted(.slds-box) {
6
6
  padding: var(--slds-g-spacing-4, 1rem);
7
- border-radius: var(--slds-g-spacing-1, .25rem);
8
- border: var(--slds-g-sizing-border-1, 1px) solid var(--slds-g-color-border-base-1, #e5e5e5);
7
+ border-radius: var(--slds-g-spacing-1, 0.25rem);
8
+ border: var(--slds-g-sizing-border-1, 1px) solid
9
+ var(--slds-g-color-border-base-1, #e5e5e5);
9
10
  }
10
11
 
11
- .slds-box_xx-small,
12
- ::slotted(.slds-box_xx-small) {
13
- padding: var(--slds-g-spacing-1, .25rem);
12
+ :host([data-render-mode='shadow']) .slds-box_xx-small,
13
+ :host([data-render-mode='shadow']) ::slotted(.slds-box_xx-small) {
14
+ padding: var(--slds-g-spacing-1, 0.25rem);
14
15
  }
15
16
 
16
- .slds-box_x-small,
17
- ::slotted(.slds-box_x-small) {
18
- padding: var(--slds-g-spacing-2, .5rem);
17
+ :host([data-render-mode='shadow']) .slds-box_x-small,
18
+ :host([data-render-mode='shadow']) ::slotted(.slds-box_x-small) {
19
+ padding: var(--slds-g-spacing-2, 0.5rem);
19
20
  }
20
21
 
21
- .slds-box_small,
22
- ::slotted(.slds-box_small) {
23
- padding: var(--slds-g-spacing-3, .75rem);
22
+ :host([data-render-mode='shadow']) .slds-box_small,
23
+ :host([data-render-mode='shadow']) ::slotted(.slds-box_small) {
24
+ padding: var(--slds-g-spacing-3, 0.75rem);
24
25
  }