lightning-base-components 1.18.5-alpha → 1.18.7-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 (179) hide show
  1. package/metadata/raptor.json +5 -0
  2. package/package.json +10 -58
  3. package/scopedImports/@salesforce-label-LightningPill.delete.js +1 -1
  4. package/scopedImports/@salesforce-label-LightningPill.deleteAndNavigate.js +1 -1
  5. package/scopedImports/@salesforce-label-LightningPill.remove.js +1 -1
  6. package/scopedImports/@salesforce-label-LightningRecordPicker.dataSourceErrorMessage.js +1 -0
  7. package/scopedImports/@salesforce-label-LightningRecordPicker.invalidConfigurationErrorMessage.js +1 -0
  8. package/src/lightning/accordion/accordion.css +2 -2
  9. package/src/lightning/accordion/accordion.js +2 -4
  10. package/src/lightning/accordionSection/accordionSection.css +2 -2
  11. package/src/lightning/accordionSection/accordionSection.js +2 -4
  12. package/src/lightning/avatar/avatar.css +2 -2
  13. package/src/lightning/avatar/avatar.js +2 -3
  14. package/src/lightning/baseCombobox/baseCombobox.css +2 -2
  15. package/src/lightning/baseCombobox/baseCombobox.js +37 -85
  16. package/src/lightning/baseComboboxItem/baseComboboxItem.js +2 -4
  17. package/src/lightning/baseComboboxItem/inline.css +2 -2
  18. package/src/lightning/breadcrumb/breadcrumb.css +2 -2
  19. package/src/lightning/breadcrumb/breadcrumb.js +2 -4
  20. package/src/lightning/breadcrumbs/breadcrumbs.css +2 -2
  21. package/src/lightning/breadcrumbs/breadcrumbs.js +2 -3
  22. package/src/lightning/button/button.css +2 -2
  23. package/src/lightning/button/button.js +3 -2
  24. package/src/lightning/buttonGroup/buttonGroup.css +2 -2
  25. package/src/lightning/buttonGroup/buttonGroup.js +2 -3
  26. package/src/lightning/buttonIcon/buttonIcon.css +2 -2
  27. package/src/lightning/buttonIcon/buttonIcon.js +0 -1
  28. package/src/lightning/buttonIconStateful/buttonIconStateful.css +2 -2
  29. package/src/lightning/buttonMenu/buttonMenu.css +2 -2
  30. package/src/lightning/buttonMenu/buttonMenu.js +2 -4
  31. package/src/lightning/buttonStateful/buttonStateful.css +2 -2
  32. package/src/lightning/buttonStateful/buttonStateful.js +2 -3
  33. package/src/lightning/calendar/calendar.css +2 -2
  34. package/src/lightning/calendar/calendar.js +2 -4
  35. package/src/lightning/card/card.css +2 -2
  36. package/src/lightning/card/card.js +2 -3
  37. package/src/lightning/colorPickerCustom/colorPickerCustom.css +2 -2
  38. package/src/lightning/colorPickerCustom/colorPickerCustom.js +2 -3
  39. package/src/lightning/colorPickerPanel/colorPickerPanel.css +2 -2
  40. package/src/lightning/colorPickerPanel/colorPickerPanel.js +2 -4
  41. package/src/lightning/combobox/combobox.css +2 -2
  42. package/src/lightning/combobox/combobox.js +2 -4
  43. package/src/lightning/datepicker/datepicker.css +2 -2
  44. package/src/lightning/datepicker/datepicker.js +2 -4
  45. package/src/lightning/datetimepicker/datetimepicker.css +2 -2
  46. package/src/lightning/datetimepicker/datetimepicker.js +2 -4
  47. package/src/lightning/dualListbox/dualListbox.css +2 -2
  48. package/src/lightning/dualListbox/dualListbox.js +2 -4
  49. package/src/lightning/dynamicIcon/dynamicIcon.js +2 -3
  50. package/src/lightning/dynamicIcon/ellie.css +1 -1
  51. package/src/lightning/dynamicIcon/eq.css +1 -1
  52. package/src/lightning/dynamicIcon/score.css +1 -1
  53. package/src/lightning/dynamicIcon/strength.css +1 -1
  54. package/src/lightning/dynamicIcon/trend.css +1 -1
  55. package/src/lightning/dynamicIcon/waffle.css +1 -1
  56. package/src/lightning/f6Controller/f6Controller.js +49 -3
  57. package/src/lightning/formattedRichText/formatted-rich-text.slds.css +1 -1
  58. package/src/lightning/formattedRichText/formattedRichText.css +2 -1
  59. package/src/lightning/formattedRichText/formattedRichText.html +1 -1
  60. package/src/lightning/formattedRichText/formattedRichText.js +3 -4
  61. package/src/lightning/formattedText/formattedText.css +1 -1
  62. package/src/lightning/formattedText/formattedText.js +2 -3
  63. package/src/lightning/helptext/helptext.css +2 -2
  64. package/src/lightning/helptext/helptext.js +2 -3
  65. package/src/lightning/icon/icon.css +2 -2
  66. package/src/lightning/icon/icon.js +3 -10
  67. package/src/lightning/input/__examples__/checkboxbutton/checkboxbutton.html +1 -2
  68. package/src/lightning/input/__examples__/checkboxbutton/checkboxbutton.js +1 -1
  69. package/src/lightning/input/__examples__/number/number.html +5 -0
  70. package/src/lightning/input/input.css +4 -2
  71. package/src/lightning/input/input.html +239 -149
  72. package/src/lightning/input/input.js +532 -209
  73. package/src/lightning/{inputUtils/number.js → input/numberUtil.js} +1 -1
  74. package/src/lightning/inputUtils/inputUtils.js +20 -15
  75. package/src/lightning/inputUtils/normalize.js +0 -7
  76. package/src/lightning/layout/layout.css +2 -2
  77. package/src/lightning/layout/layout.js +2 -4
  78. package/src/lightning/layoutItem/layoutItem.css +2 -2
  79. package/src/lightning/layoutItem/layoutItem.js +2 -4
  80. package/src/lightning/menuDivider/menuDivider.css +2 -2
  81. package/src/lightning/menuDivider/menuDivider.js +2 -4
  82. package/src/lightning/menuItem/menuItem.css +2 -2
  83. package/src/lightning/menuItem/menuItem.js +2 -4
  84. package/src/lightning/menuSubheader/menuSubheader.css +2 -2
  85. package/src/lightning/menuSubheader/menuSubheader.js +2 -4
  86. package/src/lightning/pill/link.css +2 -2
  87. package/src/lightning/pill/link.html +8 -7
  88. package/src/lightning/pill/pill.js +9 -6
  89. package/src/lightning/pill/plain.css +2 -2
  90. package/src/lightning/pill/plain.html +2 -2
  91. package/src/lightning/pill/plainLink.css +2 -2
  92. package/src/lightning/pill/plainLink.html +6 -6
  93. package/src/lightning/pillContainer/barePillContainer.css +2 -2
  94. package/src/lightning/pillContainer/pillContainer.js +2 -4
  95. package/src/lightning/pillContainer/standardPillContainer.css +2 -2
  96. package/src/lightning/popup/popup.css +2 -2
  97. package/src/lightning/popup/popup.js +2 -3
  98. package/src/lightning/primitiveBubble/primitiveBubble.css +2 -2
  99. package/src/lightning/primitiveBubble/primitiveBubble.js +2 -4
  100. package/src/lightning/primitiveButton/primitiveButton.js +10 -11
  101. package/src/lightning/primitiveColorpickerButton/primitiveColorpickerButton.css +2 -2
  102. package/src/lightning/primitiveColorpickerButton/primitiveColorpickerButton.js +2 -3
  103. package/src/lightning/primitiveIcon/primitiveIcon.css +2 -2
  104. package/src/lightning/primitiveIcon/primitiveIcon.js +2 -3
  105. package/src/lightning/radioGroup/radioGroup.css +3 -2
  106. package/src/lightning/radioGroup/radioGroup.js +2 -4
  107. package/src/lightning/routingService/routingService.js +2 -1
  108. package/src/lightning/select/select.css +2 -2
  109. package/src/lightning/select/select.js +2 -4
  110. package/src/lightning/select/select.js-meta.xml +2 -0
  111. package/src/lightning/sldsCommon/sldsCommon.css +14 -6
  112. package/src/lightning/sldsUtilsPosition/sldsUtilsPosition.css +4 -4
  113. package/src/lightning/sldsUtilsThemes/sldsUtilsThemes.css +50 -19
  114. package/src/lightning/spinner/spinner.css +2 -2
  115. package/src/lightning/spinner/spinner.js +2 -4
  116. package/src/lightning/tab/tab.js +14 -22
  117. package/src/lightning/tabBar/tabBar.css +2 -2
  118. package/src/lightning/tabBar/tabBar.js +2 -4
  119. package/src/lightning/tabset/tabset.js +10 -28
  120. package/src/lightning/timepicker/timepicker.css +2 -2
  121. package/src/lightning/timepicker/timepicker.js +2 -4
  122. package/src/lightning/toast/__docs__/toast.md +2 -2
  123. package/src/lightning/{primitiveInputFile/button.slds.css → toast/button-icon.slds.css} +382 -0
  124. package/src/lightning/toast/formatted-rich-text.slds.css +230 -0
  125. package/src/lightning/toast/icon.slds.css +209 -0
  126. package/src/lightning/toast/toast.css +22 -6
  127. package/src/lightning/toast/toast.html +1 -1
  128. package/src/lightning/toast/toast.js +5 -5
  129. package/src/lightning/toast/toast.slds.css +97 -0
  130. package/src/lightning/toastContainer/toast.slds.css +97 -0
  131. package/src/lightning/toastContainer/toastContainer.css +17 -6
  132. package/src/lightning/toastContainer/toastContainer.js +4 -0
  133. package/src/lightning/utilsPrivate/url.js +4 -1
  134. package/src/lightning/utilsPrivate/utilsPrivate.js +8 -4
  135. package/src/lightning/verticalNavigation/verticalNavigation.css +3 -2
  136. package/src/lightning/verticalNavigation/verticalNavigation.js +2 -3
  137. package/src/lightning/verticalNavigationSection/verticalNavigationSection.css +3 -2
  138. package/src/lightning/verticalNavigationSection/verticalNavigationSection.js +2 -3
  139. package/src/lightning/input/__examples__/checkboxbutton/checkboxbutton.css +0 -6
  140. package/src/lightning/inputUtils/utils.js +0 -18
  141. package/src/lightning/primitiveInputCheckbox/form-element.slds.css +0 -281
  142. package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.css +0 -3
  143. package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.html +0 -48
  144. package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.js +0 -139
  145. package/src/lightning/primitiveInputCheckboxButton/form-element.slds.css +0 -281
  146. package/src/lightning/primitiveInputCheckboxButton/input-checkbox-button.slds.css +0 -126
  147. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.css +0 -6
  148. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.html +0 -24
  149. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.js +0 -176
  150. package/src/lightning/primitiveInputColor/form-element.slds.css +0 -281
  151. package/src/lightning/primitiveInputColor/input-color.slds.css +0 -35
  152. package/src/lightning/primitiveInputColor/primitiveInputColor.css +0 -4
  153. package/src/lightning/primitiveInputColor/primitiveInputColor.html +0 -50
  154. package/src/lightning/primitiveInputColor/primitiveInputColor.js +0 -184
  155. package/src/lightning/primitiveInputFile/form-element.slds.css +0 -281
  156. package/src/lightning/primitiveInputFile/input-file.slds.css +0 -62
  157. package/src/lightning/primitiveInputFile/primitiveInputFile.css +0 -5
  158. package/src/lightning/primitiveInputFile/primitiveInputFile.html +0 -45
  159. package/src/lightning/primitiveInputFile/primitiveInputFile.js +0 -111
  160. package/src/lightning/primitiveInputRadio/primitiveInputRadio.html +0 -24
  161. package/src/lightning/primitiveInputRadio/primitiveInputRadio.js +0 -103
  162. package/src/lightning/primitiveInputSimple/form-element.slds.css +0 -281
  163. package/src/lightning/primitiveInputSimple/input-text.slds.css +0 -398
  164. package/src/lightning/primitiveInputSimple/primitiveInputSimple.css +0 -9
  165. package/src/lightning/primitiveInputSimple/primitiveInputSimple.html +0 -65
  166. package/src/lightning/primitiveInputSimple/primitiveInputSimple.js +0 -585
  167. package/src/lightning/primitiveInputToggle/form-element.slds.css +0 -281
  168. package/src/lightning/primitiveInputToggle/input-toggle.slds.css +0 -170
  169. package/src/lightning/primitiveInputToggle/primitiveInputToggle.css +0 -3
  170. package/src/lightning/primitiveInputToggle/primitiveInputToggle.html +0 -34
  171. package/src/lightning/primitiveInputToggle/primitiveInputToggle.js +0 -164
  172. package/src/lightning/tab/tab.css +0 -2
  173. package/src/lightning/tab/tab.slds.css +0 -47
  174. package/src/lightning/tabset/tabset.css +0 -10
  175. /package/src/lightning/{inputUtils/email.js → input/emailUtil.js} +0 -0
  176. /package/src/lightning/{primitiveInputCheckbox → input}/input-checkbox.slds.css +0 -0
  177. /package/src/lightning/{primitiveInputColor → input}/input-text.slds.css +0 -0
  178. /package/src/lightning/{primitiveInputSimple → input}/normalize.js +0 -0
  179. /package/src/lightning/{primitiveInputSimple → input}/selection.js +0 -0
@@ -1,2 +1,2 @@
1
- @import 'lightning/sldsCommon';
2
- @import './button-stateful.slds.css';
1
+ /* @import 'lightning/sldsCommon';
2
+ @import './button-stateful.slds.css'; */
@@ -1,5 +1,4 @@
1
- import { api, track } from 'lwc';
2
- import LightningShadowBaseClass from 'lightning/shadowBaseClassPrivate';
1
+ import { LightningElement, api, track } from 'lwc';
3
2
  import { classSet } from 'lightning/utils';
4
3
  import {
5
4
  normalizeBoolean,
@@ -12,7 +11,7 @@ const DEFAULT_VARIANT = 'neutral';
12
11
  /**
13
12
  * A button that toggles between states.
14
13
  */
15
- export default class LightningButtonStateful extends LightningShadowBaseClass {
14
+ export default class LightningButtonStateful extends LightningElement {
16
15
  static delegatesFocus = true;
17
16
 
18
17
  _originalVariant = DEFAULT_VARIANT;
@@ -1,5 +1,5 @@
1
- @import 'lightning/sldsCommon';
2
- @import './calendar.slds.css';
1
+ /* @import 'lightning/sldsCommon';
2
+ @import './calendar.slds.css'; */
3
3
 
4
4
  /**
5
5
  * For RTL languages, slds-dropdown_left will have left: 0 swapped with right: 0 which is why we
@@ -3,8 +3,7 @@ import labelNextMonth from '@salesforce/label/LightningDateTimePicker.nextMonth'
3
3
  import labelPreviousMonth from '@salesforce/label/LightningDateTimePicker.previousMonth';
4
4
  import labelToday from '@salesforce/label/LightningDateTimePicker.today';
5
5
  import labelYearSelector from '@salesforce/label/LightningDateTimePicker.yearSelector';
6
- import { api, track } from 'lwc';
7
- import LightningShadowBaseClass from 'lightning/shadowBaseClassPrivate';
6
+ import { LightningElement, api, track } from 'lwc';
8
7
  import { classSet } from 'lightning/utils';
9
8
  import { generateUniqueId } from 'lightning/inputUtils';
10
9
  import firstDayOfWeek from '@salesforce/i18n/firstDayOfWeek';
@@ -46,7 +45,7 @@ const JAPANESE_CALENDAR_YEARS = [
46
45
  { key: 'M', year: 1868, label: '\u660e\u6cbb' }, // Meiji: 1/1/1868
47
46
  ];
48
47
 
49
- export default class LightningCalendar extends LightningShadowBaseClass {
48
+ export default class LightningCalendar extends LightningElement {
50
49
  @track calendarYear = null;
51
50
  @track calendarMonth = null;
52
51
 
@@ -94,7 +93,6 @@ export default class LightningCalendar extends LightningShadowBaseClass {
94
93
  }
95
94
 
96
95
  connectedCallback() {
97
- super.connectedCallback();
98
96
  this._connected = true;
99
97
 
100
98
  this.todayDate = getCurrentDateString();
@@ -1,2 +1,2 @@
1
- @import 'lightning/sldsCommon';
2
- @import './card.slds.css';
1
+ /* @import 'lightning/sldsCommon';
2
+ @import './card.slds.css'; */
@@ -1,5 +1,4 @@
1
- import { api } from 'lwc';
2
- import LightningShadowBaseClass from 'lightning/shadowBaseClassPrivate';
1
+ import { LightningElement, api } from 'lwc';
3
2
  import { classSet } from 'lightning/utils';
4
3
  import { isNarrow, isBase } from './utils';
5
4
  import { isHeadingLevelValid } from 'lightning/utilsPrivate';
@@ -15,7 +14,7 @@ import { isHeadingLevelValid } from 'lightning/utilsPrivate';
15
14
  * For example, the footer can display a "View All" link to navigate to a list view.
16
15
  * @slot default Placeholder for your content in the card body.
17
16
  */
18
- export default class LightningCard extends LightningShadowBaseClass {
17
+ export default class LightningCard extends LightningElement {
19
18
  /**
20
19
  * The title can include text, and is displayed in the header.
21
20
  * To include additional markup or another component, use the title slot.
@@ -1,2 +1,2 @@
1
- @import 'lightning/sldsCommon';
2
- @import './color-picker-custom.slds.css';
1
+ /* @import 'lightning/sldsCommon';
2
+ @import './color-picker-custom.slds.css'; */
@@ -9,8 +9,7 @@ import labelHueInput from '@salesforce/label/LightningColorPicker.hueInput';
9
9
  import labelRInput from '@salesforce/label/LightningColorPicker.rInput';
10
10
  import labelRedAbbr from '@salesforce/label/LightningColorPicker.redAbbr';
11
11
  import formFactorPropertyName from '@salesforce/client/formFactor';
12
- import { api, track } from 'lwc';
13
- import LightningShadowBaseClass from 'lightning/shadowBaseClassPrivate';
12
+ import { LightningElement, api, track } from 'lwc';
14
13
  import { keyCodes } from 'lightning/utilsPrivate';
15
14
  import { generateUniqueId, getErrorMessage } from 'lightning/inputUtils';
16
15
  import {
@@ -37,7 +36,7 @@ const i18n = {
37
36
 
38
37
  const CANVAS = { x: 198, y: 80 };
39
38
 
40
- export default class LightningColorPickerCustom extends LightningShadowBaseClass {
39
+ export default class LightningColorPickerCustom extends LightningElement {
41
40
  @track _hueValue = null;
42
41
  @track
43
42
  _rgb = {
@@ -1,6 +1,6 @@
1
- @import 'lightning/sldsCommon';
1
+ /* @import 'lightning/sldsCommon';
2
2
  @import './color-picker-panel.slds.css';
3
- @import './popover.slds.css';
3
+ @import './popover.slds.css'; */
4
4
 
5
5
  /* Fix for footer button centering issue, for details see: W-11543875
6
6
  *
@@ -2,8 +2,7 @@ import labelCancelButton from '@salesforce/label/LightningColorPicker.cancelButt
2
2
  import labelCustomTab from '@salesforce/label/LightningColorPickerPanel.customTab';
3
3
  import labelDefaultTab from '@salesforce/label/LightningColorPickerPanel.defaultTab';
4
4
  import labelDoneButton from '@salesforce/label/LightningColorPicker.doneButton';
5
- import { api, track } from 'lwc';
6
- import LightningShadowBaseClass from 'lightning/shadowBaseClassPrivate';
5
+ import { LightningElement, api, track } from 'lwc';
7
6
  import { classSet } from 'lightning/utils';
8
7
  import { keyCodes } from 'lightning/utilsPrivate';
9
8
 
@@ -15,14 +14,13 @@ const i18n = {
15
14
  };
16
15
 
17
16
  const DEFAULT_COLOR = '#000000';
18
- export default class LightningColorPickerPanel extends LightningShadowBaseClass {
17
+ export default class LightningColorPickerPanel extends LightningElement {
19
18
  @api currentColor;
20
19
 
21
20
  @track _isCustomTabActive = false;
22
21
  @track _selectedColor = null;
23
22
 
24
23
  connectedCallback() {
25
- super.connectedCallback();
26
24
  this._selectedColor = this.currentColor || DEFAULT_COLOR;
27
25
  }
28
26
 
@@ -1,6 +1,6 @@
1
- @import 'lightning/sldsCommon';
1
+ /* @import 'lightning/sldsCommon';
2
2
  @import './form-element.slds.css';
3
- @import './combobox.slds.css';
3
+ @import './combobox.slds.css'; */
4
4
 
5
5
  :host {
6
6
  display: block;
@@ -1,8 +1,7 @@
1
1
  import labelRequired from '@salesforce/label/LightningControl.required';
2
2
  import labelPlaceholder from '@salesforce/label/LightningCombobox.placeholder';
3
3
  import labelHelpTextAlternativeText from '@salesforce/label/LightningInput.helptextAlternativeText';
4
- import { api, track } from 'lwc';
5
- import LightningShadowBaseClass from 'lightning/shadowBaseClassPrivate';
4
+ import { LightningElement, api, track } from 'lwc';
6
5
  import { classSet, formatLabel } from 'lightning/utils';
7
6
  import {
8
7
  classListMutation,
@@ -30,7 +29,7 @@ const i18n = {
30
29
  * A widget that provides an input field that is readonly,
31
30
  * accompanied by a dropdown list of selectable options.
32
31
  */
33
- export default class LightningCombobox extends LightningShadowBaseClass {
32
+ export default class LightningCombobox extends LightningElement {
34
33
  static delegatesFocus = true;
35
34
  static validationOptOut = ['class'];
36
35
 
@@ -96,7 +95,6 @@ export default class LightningCombobox extends LightningShadowBaseClass {
96
95
  }
97
96
 
98
97
  connectedCallback() {
99
- super.connectedCallback();
100
98
  this.classList.add('slds-form-element');
101
99
  this.updateClassList();
102
100
  this.interactingState = new InteractingState();
@@ -1,3 +1,3 @@
1
- @import 'lightning/sldsCommon';
1
+ /* @import 'lightning/sldsCommon';
2
2
  @import './input-text.slds.css';
3
- @import './form-element.slds.css';
3
+ @import './form-element.slds.css'; */
@@ -7,8 +7,7 @@ import labelMinAndMaxRangeMessage from '@salesforce/label/LightningDateTimePicke
7
7
  import labelRequired from '@salesforce/label/LightningControl.required';
8
8
  import labelSelectDateFor from '@salesforce/label/LightningDateTimePicker.selectDateFor';
9
9
  import labelHelpTextAlternativeText from '@salesforce/label/LightningInput.helptextAlternativeText';
10
- import { api, track } from 'lwc';
11
- import LightningShadowBaseClass from 'lightning/shadowBaseClassPrivate';
10
+ import { LightningElement, api, track } from 'lwc';
12
11
  import {
13
12
  normalizeISODate,
14
13
  parseFormattedDate,
@@ -64,7 +63,7 @@ const DATE_STYLE = {
64
63
  LONG: 'long',
65
64
  };
66
65
 
67
- export default class LightningDatePicker extends LightningShadowBaseClass {
66
+ export default class LightningDatePicker extends LightningElement {
68
67
  static delegatesFocus = true;
69
68
 
70
69
  @track _disabled = false;
@@ -382,7 +381,6 @@ export default class LightningDatePicker extends LightningShadowBaseClass {
382
381
  }
383
382
 
384
383
  connectedCallback() {
385
- super.connectedCallback();
386
384
  this.connected = true;
387
385
 
388
386
  this.keyboardInterface = this.datepickerKeyboardInterface();
@@ -1,3 +1,3 @@
1
- @import 'lightning/sldsCommon';
1
+ /* @import 'lightning/sldsCommon';
2
2
  @import './input-text.slds.css';
3
- @import './form-element.slds.css';
3
+ @import './form-element.slds.css'; */
@@ -4,8 +4,7 @@ import labelRangeUnderflow from '@salesforce/label/LightningDateTimePicker.range
4
4
  import labelTime from '@salesforce/label/LightningDateTimePicker.timeLabel';
5
5
  import labelHelpTextAlternativeText from '@salesforce/label/LightningInput.helptextAlternativeText';
6
6
  import sfTimeZone from '@salesforce/i18n/timeZone';
7
- import { api, track } from 'lwc';
8
- import LightningShadowBaseClass from 'lightning/shadowBaseClassPrivate';
7
+ import { LightningElement, api, track } from 'lwc';
9
8
  import { classSet, formatLabel } from 'lightning/utils';
10
9
  import {
11
10
  normalizeBoolean,
@@ -35,7 +34,7 @@ const i18n = {
35
34
  helpTextAlternativeText: labelHelpTextAlternativeText,
36
35
  };
37
36
 
38
- export default class LightningDateTimePicker extends LightningShadowBaseClass {
37
+ export default class LightningDateTimePicker extends LightningElement {
39
38
  static delegatesFocus = true;
40
39
 
41
40
  @track _disabled = false;
@@ -410,7 +409,6 @@ export default class LightningDateTimePicker extends LightningShadowBaseClass {
410
409
  }
411
410
 
412
411
  connectedCallback() {
413
- super.connectedCallback();
414
412
  this.connected = true;
415
413
 
416
414
  // we set the initial values here in order to make sure timezone is available.
@@ -1,7 +1,7 @@
1
- @import 'lightning/sldsCommon';
1
+ /* @import 'lightning/sldsCommon';
2
2
  @import "./form-element.slds.css";
3
3
  @import './listbox.slds.css';
4
- @import './dual-listbox.slds.css';
4
+ @import './dual-listbox.slds.css'; */
5
5
 
6
6
  :host {
7
7
  display: block;
@@ -17,8 +17,7 @@ import labelLoadingText from '@salesforce/label/LightningCombobox.loadingText';
17
17
  import labelMovedOptionsSingular from '@salesforce/label/LightningDualListbox.movedOptionsSingular';
18
18
  import labelMovedOptionsPlural from '@salesforce/label/LightningDualListbox.movedOptionsPlural';
19
19
  import labelHelpTextAlternativeText from '@salesforce/label/LightningInput.helptextAlternativeText';
20
- import { api, track } from 'lwc';
21
- import LightningShadowBaseClass from 'lightning/shadowBaseClassPrivate';
20
+ import { LightningElement, api, track } from 'lwc';
22
21
  import { handleKeyDownOnOption } from './keyboard';
23
22
  import { classSet, formatLabel } from 'lightning/utils';
24
23
  import {
@@ -60,7 +59,7 @@ const i18n = {
60
59
  /**
61
60
  * A pair of listboxes that enables multiple options to be selected and reordered.
62
61
  */
63
- export default class LightningDualListbox extends LightningShadowBaseClass {
62
+ export default class LightningDualListbox extends LightningElement {
64
63
  // Component attributes
65
64
  /**
66
65
  * Label for the source options listbox.
@@ -355,7 +354,6 @@ export default class LightningDualListbox extends LightningShadowBaseClass {
355
354
  }
356
355
 
357
356
  connectedCallback() {
358
- super.connectedCallback();
359
357
  this.classList.add('slds-form-element');
360
358
  this.updateClassList();
361
359
  this.keyboardInterface = this.selectKeyboardInterface();
@@ -1,5 +1,4 @@
1
- import { api } from 'lwc';
2
- import LightningShadowBaseClass from 'lightning/shadowBaseClassPrivate';
1
+ import { LightningElement, api } from 'lwc';
3
2
  import { classSet } from 'lightning/utils';
4
3
  import { normalizeString as normalize } from 'lightning/utilsPrivate';
5
4
  import eqHtml from './eq.html';
@@ -13,7 +12,7 @@ import defaultHtml from './default.html';
13
12
  /**
14
13
  * Represents various animated icons with different states.
15
14
  */
16
- export default class LightningDynamicIcon extends LightningShadowBaseClass {
15
+ export default class LightningDynamicIcon extends LightningElement {
17
16
  /**
18
17
  * The alternative text used to describe the dynamic icon.
19
18
  * This text should describe what's happening.
@@ -1 +1 @@
1
- @import './dynamic-icon-ellie.slds.css';
1
+ /* @import './dynamic-icon-ellie.slds.css'; */
@@ -1 +1 @@
1
- @import './dynamic-icon-eq.slds.css';
1
+ /* @import './dynamic-icon-eq.slds.css'; */
@@ -1 +1 @@
1
- @import './dynamic-icon-score.slds.css';
1
+ /* @import './dynamic-icon-score.slds.css'; */
@@ -1 +1 @@
1
- @import './dynamic-icon-strength.slds.css';
1
+ /* @import './dynamic-icon-strength.slds.css'; */
@@ -1 +1 @@
1
- @import './dynamic-icon-trend.slds.css';
1
+ /* @import './dynamic-icon-trend.slds.css'; */
@@ -1 +1 @@
1
- @import './dynamic-icon-waffle.slds.css';
1
+ /* @import './dynamic-icon-waffle.slds.css'; */
@@ -5,6 +5,7 @@ const DEBOUNCE_KEY_DOWN = 300;
5
5
  export const DEFAULT_CONFIG = {
6
6
  navKey: 'F6',
7
7
  f6RegionAttribute: 'data-f6-region',
8
+ f6RegionHighlightClass: 'f6-highlight',
8
9
  };
9
10
 
10
11
  /**
@@ -33,7 +34,7 @@ export const getActiveElement = (element) => {
33
34
  * quickly move to designated regions in a page.
34
35
  * It handles logic for:
35
36
  * - Globally detecting F6 regions (i.e. registered components must have the data attribute stored in config - f6RegionAttribute
36
- * in their tag, by default, 'data-f6-region')
37
+ * in their tag, by default, 'data-f6-region')
37
38
  * - Handling F6 keypresses by focusing and highlighting F6 regions
38
39
  * Supported keyboard shortcuts:
39
40
  * - Ctrl/Cmd + F6 to move focus to the next available registered region.
@@ -71,10 +72,32 @@ export class F6Controller {
71
72
  appendStyleElement() {
72
73
  // all F6 regions must be position relative.
73
74
  this._styleElement = document.createElement('style');
74
- this._styleElement.innerText = `[${this.config.f6RegionAttribute}]:focus-within { position: relative; outline: rgb(94, 158, 214) 3px solid; outline-offset: 3px; z-index: 9999;}`;
75
+ const selector = `[${this.config.f6RegionAttribute}].${this.config.f6RegionHighlightClass}`;
76
+ this._styleElement.innerText = `${selector} { position: relative; } ${selector}::after { width: 100%; height: 100%; content: ''; outline: rgb(94, 158, 214) 3px solid; outline-offset: -3px; position: absolute; top: 0; left: 0; z-index: 9999; }`;
75
77
  this._styleElement.setAttribute('type', 'text/css');
76
78
  document.head.appendChild(this._styleElement);
77
79
  }
80
+
81
+ /**
82
+ * Clears all regions of outlines.
83
+ */
84
+ clearRegionHighlights() {
85
+ if (!this.regions || !this.regions.length) {
86
+ return;
87
+ }
88
+ this.regions.forEach((region) => {
89
+ region.classList.remove(this.config.f6RegionHighlightClass);
90
+ });
91
+ }
92
+
93
+ /**
94
+ * Outlines the given element with a dashed line.
95
+ * @param {Element} element, element to highlight
96
+ */
97
+ addRegionHighlight(element) {
98
+ element.classList.add(this.config.f6RegionHighlightClass);
99
+ }
100
+
78
101
  /**
79
102
  * Find the first focusable element inside of the input element.
80
103
  * If no focusable element, set the input element to be focusable.
@@ -130,7 +153,9 @@ export class F6Controller {
130
153
  if (adjacentRegionIndex === -1) {
131
154
  return;
132
155
  }
133
- this.focusIn(this.regions[adjacentRegionIndex]);
156
+ const regionToFocus = this.regions[adjacentRegionIndex];
157
+ this.focusIn(regionToFocus);
158
+ this.addRegionHighlight(regionToFocus);
134
159
  }
135
160
 
136
161
  /**
@@ -320,6 +345,7 @@ export class F6Controller {
320
345
  */
321
346
  initialize(config = {}) {
322
347
  document.addEventListener('keydown', this._debounceKeyDownHandler);
348
+ document.addEventListener('click', this.handleClick);
323
349
  this.regions = [];
324
350
  this.config = {
325
351
  ...this.config,
@@ -331,6 +357,7 @@ export class F6Controller {
331
357
  /** Removes the event listeners bound in initialize(). */
332
358
  cleanUp() {
333
359
  document.removeEventListener('keydown', this._debounceKeyDownHandler);
360
+ document.removeEventListener('click', this.handleClick);
334
361
  this._regions = [];
335
362
  this._config = DEFAULT_CONFIG;
336
363
  this._debounceKeyDownHandler = null;
@@ -340,12 +367,17 @@ export class F6Controller {
340
367
  }
341
368
  }
342
369
 
370
+ handleClick = () => {
371
+ this.clearRegionHighlights();
372
+ };
373
+
343
374
  /**
344
375
  * handle document keydown event, move focus to the adjacent region if it detects CTRL/CMD + F6
345
376
  * @param {KeyDown} event
346
377
  */
347
378
 
348
379
  handleKeyDown = (event) => {
380
+ this.clearRegionHighlights();
349
381
  const { key, ctrlKey, metaKey } = event;
350
382
  if (key === this.config.navKey && (ctrlKey || metaKey)) {
351
383
  this.populateRegions();
@@ -371,6 +403,10 @@ export class F6Controller {
371
403
 
372
404
  return NodeFilter.FILTER_SKIP;
373
405
  };
406
+
407
+ getConfig() {
408
+ return Object.freeze(this.config);
409
+ }
374
410
  }
375
411
 
376
412
  let f6Controller;
@@ -380,3 +416,13 @@ export const createF6Controller = (config) => {
380
416
  }
381
417
  return f6Controller;
382
418
  };
419
+
420
+ export const getCurrentRegionAttributeName = () => {
421
+ if (f6Controller) {
422
+ const config = f6Controller.getConfig();
423
+ if (config) {
424
+ return config.f6RegionAttribute;
425
+ }
426
+ }
427
+ return undefined;
428
+ };
@@ -1,6 +1,6 @@
1
1
 
2
2
  :host([data-render-mode="shadow"].slds-rich-text-editor__output) {
3
- line-height: var(--sds-g-line-height);
3
+ line-height: var(--sds-g-font-lineheight, 1.5);
4
4
  overflow-wrap: break-word;
5
5
  word-wrap: break-word;
6
6
  -webkit-hyphens: manual;
@@ -1,2 +1,3 @@
1
- @import 'lightning/sldsCommon';
1
+ /* @import 'lightning/sldsCommon';
2
2
  @import './formatted-rich-text.slds.css';
3
+ @import 'lightning/sldsUtilsThemes'; */
@@ -1,4 +1,4 @@
1
1
  <template>
2
2
  <!-- Container for rich text -->
3
- <span lwc:dom="manual"></span>
3
+ <span lwc:dom="manual" part="formatted-rich-text"></span>
4
4
  </template>
@@ -1,5 +1,4 @@
1
- import { api } from 'lwc';
2
- import LightningShadowBaseClass from 'lightning/shadowBaseClassPrivate';
1
+ import { LightningElement, api } from 'lwc';
3
2
  import sanitizeHTML from 'lightning/purifyLib';
4
3
  import { linkify } from './linkify';
5
4
  import { richTextConfig } from './richTextConfig';
@@ -13,7 +12,8 @@ import {
13
12
  * Displays rich text that's formatted with allowed tags and attributes.
14
13
  * Other tags and attributes are removed and only their text content is displayed.
15
14
  */
16
- export default class LightningFormattedRichText extends LightningShadowBaseClass {
15
+ export default class LightningFormattedRichText extends LightningElement {
16
+ static validationOptOut = ['class'];
17
17
  /**
18
18
  * If present, the component does not create links in the rich text.
19
19
  * @type {boolean}
@@ -58,7 +58,6 @@ export default class LightningFormattedRichText extends LightningShadowBaseClass
58
58
  }
59
59
 
60
60
  connectedCallback() {
61
- super.connectedCallback();
62
61
  this.classList.add('slds-rich-text-editor__output');
63
62
  this.connected = true;
64
63
  }
@@ -1 +1 @@
1
- @import 'lightning/sldsCommon'
1
+ /* @import 'lightning/sldsCommon' */
@@ -1,5 +1,4 @@
1
- import { api, track } from 'lwc';
2
- import LightningShadowBaseClass from 'lightning/shadowBaseClassPrivate';
1
+ import { LightningElement, api, track } from 'lwc';
3
2
  import {
4
3
  normalizeBoolean,
5
4
  parseToFormattedLinkifiedParts,
@@ -9,7 +8,7 @@ import {
9
8
  /**
10
9
  * Displays text, replaces newlines with line breaks, and linkifies if requested.
11
10
  */
12
- export default class FormattedText extends LightningShadowBaseClass {
11
+ export default class FormattedText extends LightningElement {
13
12
  /**
14
13
  * Sets the text to display.
15
14
  * @type {string}
@@ -1,3 +1,3 @@
1
- @import 'lightning/sldsCommon';
1
+ /* @import 'lightning/sldsCommon';
2
2
  @import './help-text.slds.css';
3
- @import "./form-element.slds.css";
3
+ @import "./form-element.slds.css"; */
@@ -1,6 +1,5 @@
1
1
  import labelButtonAlternativeText from '@salesforce/label/LightningHelptext.buttonAlternativeText';
2
- import { api, track } from 'lwc';
3
- import LightningShadowBaseClass from 'lightning/shadowBaseClassPrivate';
2
+ import { LightningElement, api, track } from 'lwc';
4
3
  import { isValidName } from 'lightning/iconUtils';
5
4
  import { normalizeString } from 'lightning/utilsPrivate';
6
5
  import { TooltipType } from 'lightning/tooltipLibrary';
@@ -12,7 +11,7 @@ const DEFAULT_ICON_VARIANT = 'bare';
12
11
  /**
13
12
  * An icon with a text popover used for tooltips.
14
13
  */
15
- export default class LightningHelptext extends LightningShadowBaseClass {
14
+ export default class LightningHelptext extends LightningElement {
16
15
  // TODO: future refactoring to remove this.state convention
17
16
  @track
18
17
  state = {
@@ -1,2 +1,2 @@
1
- @import 'lightning/sldsCommon';
2
- @import './icon.slds.css';
1
+ /* @import 'lightning/sldsCommon';
2
+ @import './icon.slds.css'; */
@@ -1,5 +1,4 @@
1
- import { api } from 'lwc';
2
- import LightningShadowBaseClass from 'lightning/shadowBaseClassPrivate';
1
+ import { LightningElement, api } from 'lwc';
3
2
  import {
4
3
  classListMutation,
5
4
  normalizeString,
@@ -17,9 +16,7 @@ import { normalizeVariant } from './util';
17
16
  /**
18
17
  * Represents a visual element that provides context and enhances usability.
19
18
  */
20
- export default class LightningIcon extends LightningShadowBaseClass {
21
- static validationOptOut = ['class'];
22
-
19
+ export default class LightningIcon extends LightningElement {
23
20
  _src;
24
21
  _privateIconName;
25
22
  _iconName;
@@ -162,7 +159,6 @@ export default class LightningIcon extends LightningShadowBaseClass {
162
159
  }
163
160
 
164
161
  connectedCallback() {
165
- super.connectedCallback();
166
162
  this.classList.add('slds-icon_container');
167
163
  }
168
164
 
@@ -176,10 +172,7 @@ export default class LightningIcon extends LightningShadowBaseClass {
176
172
  const name = getName(iconName);
177
173
  const color = iconColors[category] && iconColors[category][name];
178
174
  if (color) {
179
- this.setAttribute(
180
- 'style',
181
- `--sds-c-icon-color-background: var(--slds-c-icon-color-background, ${color})`
182
- );
175
+ this.template.host.style = `--sds-c-icon-color-background: var(--slds-c-icon-color-background, ${color});`;
183
176
  }
184
177
  }
185
178
  }
@@ -3,7 +3,6 @@
3
3
  <h2 class="header">Input Checkbox Button</h2>
4
4
  <lightning-input type="checkbox-button" label="Input One" name="input1"></lightning-input>
5
5
  <lightning-input type="checkbox-button" label="Input Two" name="input2" checked required></lightning-input>
6
- <lightning-input type="checkbox-button" label="Input Three" name="input3" disabled></lightning-input>
7
- <lightning-input type="checkbox-button" label="Input Four" name="input3" checked disabled></lightning-input>
6
+ <lightning-input type="checkbox-button" label="Input Three" name="input3" checked disabled></lightning-input>
8
7
  </div>
9
8
  </template>
@@ -1,3 +1,3 @@
1
1
  import { LightningElement } from 'lwc';
2
2
 
3
- export default class InputCheckboxButton extends LightningElement {}
3
+ export default class InputCheckboxBasic extends LightningElement {}
@@ -19,6 +19,11 @@
19
19
  <lightning-input type="number" name="input8" required value="5" label="Required number field with a maximum value of 99" max="99"></lightning-input>
20
20
  </div>
21
21
 
22
+ <div>
23
+ <h2>Input Counter</h2>
24
+ <lightning-input type="counter" value="123" label="Input with a Counter"></lightning-input>
25
+ </div>
26
+
22
27
  <div>
23
28
  <h2>Live Input Number</h2>
24
29
  <lightning-input type="number" name="seven" value={amount} onchange={handleAmountChange} placeholder="type the number of items..." label="Enter a number" ></lightning-input>
@@ -1,5 +1,7 @@
1
- @import 'lightning/sldsCommon';
2
- @import './form-element.slds.css';
1
+ /* @import 'lightning/sldsCommon';
2
+ @import './input-text.slds.css';
3
+ @import './input-checkbox.slds.css';
4
+ @import './form-element.slds.css'; */
3
5
 
4
6
  :host {
5
7
  display: block;