lightning-base-components 1.18.1-alpha → 1.18.2-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 (215) hide show
  1. package/metadata/raptor.json +5 -0
  2. package/package.json +43 -1
  3. package/scopedImports/@salesforce-internal-core.appVersion.js +1 -1
  4. package/src/lightning/accordion/accordion.css +12 -0
  5. package/src/lightning/accordion/accordion.html +3 -1
  6. package/src/lightning/accordion/accordion.js +4 -2
  7. package/src/lightning/accordion/accordion.slds.css +671 -0
  8. package/src/lightning/accordionSection/accordion-section.slds.css +647 -0
  9. package/src/lightning/accordionSection/accordionSection.css +14 -0
  10. package/src/lightning/accordionSection/accordionSection.html +23 -19
  11. package/src/lightning/accordionSection/accordionSection.js +29 -2
  12. package/src/lightning/ariaObserver/__docs__/ariaObserver.md +21 -9
  13. package/src/lightning/ariaObserver/ariaObserver.js +185 -154
  14. package/src/lightning/ariaObserver/polyfill.js +639 -0
  15. package/src/lightning/avatar/avatar.css +2 -0
  16. package/src/lightning/avatar/avatar.html +2 -0
  17. package/src/lightning/avatar/avatar.js +18 -15
  18. package/src/lightning/avatar/avatar.slds.css +272 -0
  19. package/src/lightning/baseCombobox/base-combobox.slds.css +1585 -0
  20. package/src/lightning/baseCombobox/baseCombobox.css +11 -1
  21. package/src/lightning/baseCombobox/baseCombobox.html +154 -146
  22. package/src/lightning/baseCombobox/baseCombobox.js +82 -46
  23. package/src/lightning/baseCombobox/spinner.slds.css +438 -0
  24. package/src/lightning/baseComboboxItem/baseComboboxItem.js +4 -2
  25. package/src/lightning/baseComboboxItem/inline.css +2 -0
  26. package/src/lightning/breadcrumb/breadcrumb.css +2 -2
  27. package/src/lightning/breadcrumb/breadcrumb.js +4 -2
  28. package/src/lightning/breadcrumb/breadcrumb.slds.css +2 -7
  29. package/src/lightning/breadcrumbs/breadcrumbs.css +2 -2
  30. package/src/lightning/breadcrumbs/breadcrumbs.js +3 -2
  31. package/src/lightning/breadcrumbs/breadcrumbs.slds.css +7 -1
  32. package/src/lightning/button/__examples__/inverse/inverse.css +8 -0
  33. package/src/lightning/button/__examples__/inverse/inverse.html +3 -2
  34. package/src/lightning/button/button.css +2 -0
  35. package/src/lightning/button/button.html +4 -2
  36. package/src/lightning/button/button.js +21 -0
  37. package/src/lightning/button/button.slds.css +527 -0
  38. package/src/lightning/buttonGroup/buttonGroup.css +2 -2
  39. package/src/lightning/buttonGroup/buttonGroup.js +3 -2
  40. package/src/lightning/buttonIcon/button-icon.slds.css +215 -453
  41. package/src/lightning/buttonIcon/buttonIcon.css +2 -2
  42. package/src/lightning/buttonIcon/buttonIcon.js +4 -0
  43. package/src/lightning/buttonIconStateful/button-icon-stateful.slds.css +215 -453
  44. package/src/lightning/buttonIconStateful/buttonIconStateful.css +2 -2
  45. package/src/lightning/buttonMenu/{dropdown.slds.css → button-menu.slds.css} +853 -217
  46. package/src/lightning/buttonMenu/buttonMenu.css +2 -2
  47. package/src/lightning/buttonMenu/buttonMenu.html +2 -2
  48. package/src/lightning/buttonMenu/buttonMenu.js +10 -14
  49. package/src/lightning/buttonStateful/button-stateful.slds.css +225 -457
  50. package/src/lightning/buttonStateful/buttonStateful.css +2 -2
  51. package/src/lightning/buttonStateful/buttonStateful.js +3 -2
  52. package/src/lightning/calendar/__examples__/basic/basic.html +7 -0
  53. package/src/lightning/calendar/__examples__/basic/basic.js +3 -0
  54. package/src/lightning/calendar/calendar.css +3 -0
  55. package/src/lightning/calendar/calendar.html +12 -9
  56. package/src/lightning/calendar/calendar.js +15 -1
  57. package/src/lightning/calendar/calendar.slds.css +2048 -0
  58. package/src/lightning/card/card.css +2 -2
  59. package/src/lightning/card/card.js +3 -2
  60. package/src/lightning/card/card.slds.css +141 -88
  61. package/src/lightning/colorPickerCustom/colorPickerCustom.css +2 -2
  62. package/src/lightning/colorPickerCustom/colorPickerCustom.js +3 -2
  63. package/src/lightning/colorPickerPanel/color-picker-panel.slds.css +11 -38
  64. package/src/lightning/colorPickerPanel/colorPickerPanel.css +3 -2
  65. package/src/lightning/colorPickerPanel/colorPickerPanel.js +4 -2
  66. package/src/lightning/colorPickerPanel/popover.slds.css +121 -0
  67. package/src/lightning/combobox/combobox.css +4 -0
  68. package/src/lightning/combobox/combobox.html +31 -29
  69. package/src/lightning/combobox/combobox.js +21 -4
  70. package/src/lightning/combobox/combobox.slds.css +13 -0
  71. package/src/lightning/combobox/form-element.slds.css +281 -0
  72. package/src/lightning/configProvider/defaultConfig.js +2 -1
  73. package/src/lightning/datepicker/datepicker.css +3 -0
  74. package/src/lightning/datepicker/datepicker.html +7 -4
  75. package/src/lightning/datepicker/datepicker.js +73 -19
  76. package/src/lightning/datepicker/form-element.slds.css +281 -0
  77. package/src/lightning/datepicker/input-text.slds.css +398 -0
  78. package/src/lightning/datetimepicker/datetimepicker.css +3 -0
  79. package/src/lightning/datetimepicker/datetimepicker.html +9 -3
  80. package/src/lightning/datetimepicker/datetimepicker.js +39 -35
  81. package/src/lightning/datetimepicker/form-element.slds.css +281 -0
  82. package/src/lightning/datetimepicker/input-text.slds.css +398 -0
  83. package/src/lightning/dualListbox/dualListbox.css +2 -2
  84. package/src/lightning/dualListbox/dualListbox.html +3 -3
  85. package/src/lightning/dualListbox/dualListbox.js +31 -6
  86. package/src/lightning/dualListbox/form-element.slds.css +83 -34
  87. package/src/lightning/dualListbox/keyboard.js +20 -1
  88. package/src/lightning/dynamicIcon/dynamicIcon.js +3 -2
  89. package/src/lightning/dynamicIcon/ellie.css +1 -1
  90. package/src/lightning/dynamicIcon/eq.css +1 -1
  91. package/src/lightning/dynamicIcon/score.css +1 -1
  92. package/src/lightning/dynamicIcon/strength.css +1 -1
  93. package/src/lightning/dynamicIcon/trend.css +1 -1
  94. package/src/lightning/dynamicIcon/waffle.css +1 -1
  95. package/src/lightning/formattedRichText/linkify.js +2 -2
  96. package/src/lightning/helptext/form-element.slds.css +83 -34
  97. package/src/lightning/helptext/help-text.slds.css +215 -453
  98. package/src/lightning/helptext/helptext.css +2 -2
  99. package/src/lightning/helptext/helptext.js +3 -2
  100. package/src/lightning/i18nCldrOptions/README.md +5 -0
  101. package/src/lightning/i18nService/README.md +5 -0
  102. package/src/lightning/icon/icon.css +2 -2
  103. package/src/lightning/icon/icon.js +16 -2
  104. package/src/lightning/icon/icon.slds.css +29 -17
  105. package/src/lightning/icon/iconColors.js +1 -0
  106. package/src/lightning/input/__examples__/text/text.html +0 -1
  107. package/src/lightning/input/form-element.slds.css +281 -0
  108. package/src/lightning/input/input-checkbox.slds.css +3 -12
  109. package/src/lightning/input/input-text.slds.css +239 -128
  110. package/src/lightning/input/input.css +2 -1
  111. package/src/lightning/input/input.html +8 -8
  112. package/src/lightning/input/input.js +107 -73
  113. package/src/lightning/internationalizationLibrary/README.md +24 -0
  114. package/src/lightning/internationalizationLibrary/utils.js +4 -1
  115. package/src/lightning/layout/__docs__/layout.md +1 -1
  116. package/src/lightning/layout/__examples__/simple/simple.css +1 -1
  117. package/src/lightning/layout/layout.css +5 -1
  118. package/src/lightning/layout/layout.js +4 -2
  119. package/src/lightning/layoutItem/__examples__/alignmentBump/alignmentBump.css +1 -1
  120. package/src/lightning/layoutItem/__examples__/sizePerDevice/sizePerDevice.css +0 -1
  121. package/src/lightning/layoutItem/layoutItem.css +5 -0
  122. package/src/lightning/layoutItem/layoutItem.js +4 -2
  123. package/src/lightning/menuDivider/menu-divider.slds.css +15 -0
  124. package/src/lightning/menuDivider/menuDivider.css +3 -0
  125. package/src/lightning/menuDivider/menuDivider.html +1 -1
  126. package/src/lightning/menuDivider/menuDivider.js +4 -2
  127. package/src/lightning/menuItem/menu-item.slds.css +140 -0
  128. package/src/lightning/menuItem/menuItem.css +3 -0
  129. package/src/lightning/menuItem/menuItem.html +43 -41
  130. package/src/lightning/menuItem/menuItem.js +4 -4
  131. package/src/lightning/menuSubheader/menu-subheader.slds.css +22 -0
  132. package/src/lightning/menuSubheader/menuSubheader.css +3 -0
  133. package/src/lightning/menuSubheader/menuSubheader.html +3 -1
  134. package/src/lightning/menuSubheader/menuSubheader.js +4 -6
  135. package/src/lightning/modal/__docs__/modal.md +3 -1
  136. package/src/lightning/modal/__modalUtils__/modalContainerTestConstants.js +267 -0
  137. package/src/lightning/modal/__modalUtils__/modalContainerTestMethods.js +1165 -0
  138. package/src/lightning/modal/__modalUtils__/modalContainerTestMockData.js +131 -0
  139. package/src/lightning/modal/modal.js +1 -1
  140. package/src/lightning/pill/avatar.slds.css +272 -0
  141. package/src/lightning/pill/link.css +3 -0
  142. package/src/lightning/pill/link.html +1 -1
  143. package/src/lightning/pill/pill.js +29 -9
  144. package/src/lightning/pill/pill.slds.css +168 -0
  145. package/src/lightning/pill/plain.css +3 -0
  146. package/src/lightning/pill/plain.html +1 -1
  147. package/src/lightning/pill/plainLink.css +3 -0
  148. package/src/lightning/pill/plainLink.html +1 -1
  149. package/src/lightning/pillContainer/barePillContainer.css +3 -0
  150. package/src/lightning/pillContainer/barePillContainer.html +1 -2
  151. package/src/lightning/pillContainer/listbox.slds.css +267 -0
  152. package/src/lightning/pillContainer/pill-container.slds.css +22 -0
  153. package/src/lightning/pillContainer/pill.slds.css +168 -0
  154. package/src/lightning/pillContainer/pillContainer.js +7 -3
  155. package/src/lightning/pillContainer/standardPillContainer.css +4 -0
  156. package/src/lightning/pillContainer/standardPillContainer.html +2 -2
  157. package/src/lightning/popup/popover.slds.css +119 -119
  158. package/src/lightning/popup/popup.css +1 -2
  159. package/src/lightning/popup/popup.js +3 -2
  160. package/src/lightning/positionLibrary/elementProxy.js +7 -2
  161. package/src/lightning/positionLibrary/util.js +8 -0
  162. package/src/lightning/primitiveBubble/primitiveBubble.css +2 -2
  163. package/src/lightning/primitiveBubble/primitiveBubble.js +4 -2
  164. package/src/lightning/primitiveButton/primitiveButton.js +5 -4
  165. package/src/lightning/primitiveCellFactory/cellWithStandardLayout.html +29 -21
  166. package/src/lightning/primitiveCellFactory/primitiveCellFactory.js +4 -0
  167. package/src/lightning/primitiveColorpickerButton/color-picker-button.slds.css +31 -19
  168. package/src/lightning/primitiveColorpickerButton/primitiveColorpickerButton.css +2 -2
  169. package/src/lightning/primitiveColorpickerButton/primitiveColorpickerButton.js +5 -3
  170. package/src/lightning/primitiveIcon/icon.slds.css +209 -0
  171. package/src/lightning/primitiveIcon/primitiveIcon.css +2 -1
  172. package/src/lightning/primitiveIcon/primitiveIcon.html +1 -1
  173. package/src/lightning/primitiveIcon/primitiveIcon.js +18 -11
  174. package/src/lightning/progressStep/progressStep.js +10 -13
  175. package/src/lightning/radioGroup/radioGroup.css +2 -1
  176. package/src/lightning/radioGroup/radioGroup.js +4 -2
  177. package/src/lightning/select/form-element.slds.css +83 -34
  178. package/src/lightning/select/select.css +2 -2
  179. package/src/lightning/select/select.js +4 -2
  180. package/src/lightning/select/select.slds.css +86 -34
  181. package/src/lightning/sldsCommon/sldsCommon.css +135 -75
  182. package/src/lightning/spinner/spinner.css +2 -2
  183. package/src/lightning/spinner/spinner.js +4 -2
  184. package/src/lightning/tabBar/tab-bar.slds.css +334 -0
  185. package/src/lightning/tabBar/tabBar.css +2 -0
  186. package/src/lightning/tabBar/tabBar.html +4 -3
  187. package/src/lightning/tabBar/tabBar.js +30 -3
  188. package/src/lightning/tabset/tabset.html +5 -4
  189. package/src/lightning/tabset/tabset.js +29 -11
  190. package/src/lightning/timepicker/form-element.slds.css +281 -0
  191. package/src/lightning/timepicker/timepicker.css +3 -0
  192. package/src/lightning/timepicker/timepicker.html +5 -1
  193. package/src/lightning/timepicker/timepicker.js +18 -15
  194. package/src/lightning/timepicker/timepicker.slds.css +18 -0
  195. package/src/lightning/tooltipLibrary/tooltipLibrary.js +21 -19
  196. package/src/lightning/utilsPrivate/browser.js +5 -3
  197. package/src/lightning/utilsPrivate/os.js +6 -4
  198. package/src/lightning/utilsPrivate/ssr.js +4 -0
  199. package/src/lightning/utilsPrivate/utilsPrivate.js +2 -0
  200. package/src/lightning/verticalNavigation/verticalNavigation.css +2 -1
  201. package/src/lightning/verticalNavigation/verticalNavigation.js +3 -2
  202. package/src/lightning/verticalNavigationSection/verticalNavigationSection.css +2 -1
  203. package/src/lightning/verticalNavigationSection/verticalNavigationSection.js +3 -2
  204. package/src/lightning/accordion/__perf__DISABLED/accordion-perf-utils.js +0 -76
  205. package/src/lightning/accordion/__perf__DISABLED/accordion10Multiple25SectionEach.perf.js +0 -57
  206. package/src/lightning/accordion/__perf__DISABLED/accordion10Simple25SectionEach.perf.js +0 -37
  207. package/src/lightning/accordion/__perf__DISABLED/accordionMultiple50Section.perf.js +0 -45
  208. package/src/lightning/accordion/__perf__DISABLED/accordionSimple50Section.perf.js +0 -35
  209. package/src/lightning/accordion/__perf__DISABLED/container/container.html +0 -15
  210. package/src/lightning/accordion/__perf__DISABLED/container/container.js +0 -7
  211. package/src/lightning/positionLibrary/__component__/positionLibraryBounding.spec.js +0 -319
  212. package/src/lightning/positionLibrary/__component__/x/bounding/bounding.css +0 -16
  213. package/src/lightning/positionLibrary/__component__/x/bounding/bounding.html +0 -36
  214. package/src/lightning/positionLibrary/__component__/x/bounding/bounding.js +0 -122
  215. /package/src/lightning/{baseCombobox → baseComboboxItem}/listbox.slds.css +0 -0
@@ -1,6 +1,7 @@
1
- import { LightningElement, api, track } from 'lwc';
1
+ import { api, track } from 'lwc';
2
+ import LightningShadowBaseClass from 'lightning/shadowBaseClassPrivate';
2
3
  import { classSet } from 'lightning/utils';
3
- import { classListMutation, normalizeString } from 'lightning/utilsPrivate';
4
+ import { normalizeString, reflectAttribute } from 'lightning/utilsPrivate';
4
5
  import { computeSldsClass } from 'lightning/iconUtils';
5
6
 
6
7
  const DEFAULT_SIZE = 'medium';
@@ -9,7 +10,7 @@ const DEFAULT_VARIANT = 'square';
9
10
  /**
10
11
  * A visual representation of an object.
11
12
  */
12
- export default class LightningAvatar extends LightningElement {
13
+ export default class LightningAvatar extends LightningShadowBaseClass {
13
14
  /**
14
15
  * The alternative text used to describe the avatar, which is displayed as
15
16
  * hover text on the image.
@@ -29,7 +30,14 @@ export default class LightningAvatar extends LightningElement {
29
30
  *
30
31
  * @type {string}
31
32
  */
32
- @api fallbackIconName;
33
+ @api
34
+ set fallbackIconName(value) {
35
+ this._fallbackIconName = value;
36
+ reflectAttribute(this, 'icon-name', this._fallbackIconName);
37
+ }
38
+ get fallbackIconName() {
39
+ return this._fallbackIconName;
40
+ }
33
41
 
34
42
  /**
35
43
  * If the record name contains two words, like first and last name, use the
@@ -43,6 +51,7 @@ export default class LightningAvatar extends LightningElement {
43
51
 
44
52
  @track _size = DEFAULT_SIZE;
45
53
  @track _src = '';
54
+ @track _fallbackIconName = '';
46
55
  @track _variant = DEFAULT_VARIANT;
47
56
 
48
57
  /**
@@ -60,7 +69,7 @@ export default class LightningAvatar extends LightningElement {
60
69
  fallbackValue: DEFAULT_SIZE,
61
70
  validValues: ['x-small', 'small', 'medium', 'large'],
62
71
  });
63
- this.updateClassList();
72
+ reflectAttribute(this, 'size', this._size);
64
73
  }
65
74
 
66
75
  /**
@@ -93,18 +102,13 @@ export default class LightningAvatar extends LightningElement {
93
102
  fallbackValue: DEFAULT_VARIANT,
94
103
  validValues: ['circle', 'square'],
95
104
  });
96
- this.updateClassList();
105
+ reflectAttribute(this, 'variant', this._variant);
97
106
  }
98
107
 
99
- connectedCallback() {
100
- this.updateClassList();
101
- }
102
-
103
- // update custom element's classList
104
- updateClassList() {
105
- const size = this._size;
108
+ get computedClass() {
106
109
  const variant = this._variant;
107
- const classes = classSet('slds-avatar')
110
+ const size = this._size;
111
+ return classSet('slds-avatar')
108
112
  .add({
109
113
  'slds-avatar_x-small': size === 'x-small',
110
114
  'slds-avatar_small': size === 'small',
@@ -114,7 +118,6 @@ export default class LightningAvatar extends LightningElement {
114
118
  .add({
115
119
  'slds-avatar_circle': variant === 'circle',
116
120
  });
117
- classListMutation(this.classList, classes);
118
121
  }
119
122
 
120
123
  get computedInitialsClass() {
@@ -0,0 +1,272 @@
1
+ /**
2
+ * @Note: Static fallbacks are in place until SLDS adopts SDS. Without static
3
+ * fallbacks, styles will regress due to invalid CSS variables from
4
+ * missing SLDS shared and globals.
5
+ *
6
+ * Additionally, LBC are currently relying on 'part' attributes to
7
+ * receive styling. Authoring styles that rely on slots is not recommended.
8
+ */
9
+
10
+ @supports (--styling-hooks: '') {
11
+ :host([data-render-mode="shadow"][size~='xxx-small']) {
12
+ --slds-c-icon-sizing: var(--sds-g-sizing-3, 0.5rem);
13
+ }
14
+
15
+ :host([data-render-mode="shadow"][size~='xx-small']) {
16
+ --slds-c-icon-sizing: calc(var(--sds-g-sizing-1, 0.125rem) + var(--sds-g-sizing-4, 0.75rem));
17
+ }
18
+
19
+ :host([data-render-mode="shadow"][size~='x-small']) {
20
+ --slds-c-icon-sizing: var(--sds-g-sizing-5, 1rem);
21
+ }
22
+
23
+ :host([data-render-mode="shadow"][size~='small']) {
24
+ --slds-c-icon-sizing: var(--sds-g-sizing-7, 1.5rem);
25
+ }
26
+
27
+ :host([data-render-mode="shadow"][size~='large']) {
28
+ --slds-c-icon-sizing: var(--sds-g-sizing-10, 3rem);
29
+ }
30
+
31
+ :host([data-render-mode="shadow"][variant~='warning']) {
32
+ --slds-c-icon-color-foreground: var(--sds-g-color-warning-base-70, #fe9339);
33
+ }
34
+
35
+ :host([data-render-mode="shadow"][variant~='success']) {
36
+ --slds-c-icon-color-foreground: var(--sds-g-color-success-base-50, #2e844a);
37
+ }
38
+
39
+ :host([data-render-mode="shadow"][variant~='error']) {
40
+ --slds-c-icon-color-foreground: var(--sds-g-color-error-base-50, #ea001e);
41
+ }
42
+
43
+ :host([data-render-mode="shadow"][variant~='light']) {
44
+ --slds-c-icon-color-foreground: var(--sds-g-color-neutral-base-70, #aeaeae);
45
+ }
46
+
47
+ :host([data-render-mode="shadow"]) [part~='boundary'] {
48
+ /* --sds-c-icon-color-background: var(--slds-c-icon-color-background); */
49
+ --sds-c-icon-radius-border: var(--slds-c-icon-radius-border, var(--sds-g-radius-border-2, 0.25rem));
50
+ --sds-c-icon-sizing-border: var(--slds-c-icon-sizing-border);
51
+ --sds-c-icon-color-border: var(--slds-c-icon-color-border);
52
+ --sds-c-icon-spacing-block-start: var(
53
+ --slds-c-icon-spacing-block-start,
54
+ var(--slds-c-icon-spacing-block)
55
+ );
56
+ --sds-c-icon-spacing-block-end: var(--slds-c-icon-spacing-block-end, var(--slds-c-icon-spacing-block));
57
+ --sds-c-icon-spacing-inline-start: var(
58
+ --slds-c-icon-spacing-inline-start,
59
+ var(--slds-c-icon-spacing-inline)
60
+ );
61
+ --sds-c-icon-spacing-inline-end: var(--slds-c-icon-spacing-inline-end, var(--slds-c-icon-spacing-inline));
62
+
63
+ /**
64
+ * There's a divergence in LBC that we have to support here: LBC splits their
65
+ * icon implementation into two components: lightning-icon and lightning-primitive-icon.
66
+ * slds-icon is consumed within both with no issues except that the presence of an
67
+ * additional custom element (primitive-icon) creates an unexpected inline-level
68
+ * element and breaks our formatting context. tl;dr, we have to reset the formatting
69
+ * context of the boundary or else we'll inherit line-height from an ancestor and
70
+ * get visual regressions.
71
+ *
72
+ * If lightning-icon is refactored into a single component, this line can be removed.
73
+ */
74
+ display: inline-flex;
75
+ }
76
+
77
+ :host([data-render-mode="shadow"]) [part~='icon'] {
78
+ --sds-c-icon-color-foreground: var(--slds-c-icon-color-foreground, var(--sds-g-color-neutral-base-100, #ffffff));
79
+ --sds-c-icon-sizing-height: var(--slds-c-icon-sizing-height, var(--slds-c-icon-sizing, var(--sds-g-sizing-9, 2rem)));
80
+ --sds-c-icon-sizing-width: var(--slds-c-icon-sizing-width, var(--slds-c-icon-sizing, var(--sds-g-sizing-9, 2rem)));
81
+ }
82
+
83
+ :host([data-render-mode="shadow"][icon-name*='action']) {
84
+ --slds-c-icon-spacing-block: var(--sds-g-sizing-3, 0.5rem);
85
+ --slds-c-icon-spacing-inline: var(--sds-g-sizing-3, 0.5rem);
86
+ --slds-c-icon-radius-border: calc(var(--sds-g-radius-border-circle, 100%) / 2);
87
+ }
88
+ }
89
+
90
+ /**
91
+ * P R I V A T E
92
+ *
93
+ * The following styling is implemented by classes within the shadow DOM.
94
+ * They're expected to be private to the component and not for external use.
95
+ *
96
+ * See notes for each class for the rationale behind their inclusion.
97
+ */
98
+
99
+ /**
100
+ * Utility icons traditionally added a class to change the default foreground
101
+ * color (white) to a grey. This was done implicitly whereas other color changes
102
+ * were done explicitly through the 'variant' attribute. So this is an outlier
103
+ * to the overall pattern. Leaving it as-is since an update would require an
104
+ * API change or more investigating.
105
+ *
106
+ * This is a hybrid patch between synthetic and native shadow. The ideal final
107
+ * outcome is the removal of this class and the default utility styling would
108
+ * be implemented through an attribute or some other class-less solution.
109
+ */
110
+
111
+ :host([data-render-mode="shadow"]) .slds-icon-text-default {
112
+ /*! @css-var-fallback fill */
113
+ --slds-c-icon-color-foreground: var(
114
+ --slds-c-icon-color-foreground-default,
115
+ var(--sds-c-icon-color-foreground-default, var(
116
+ --sds-g-color-neutral-base-50, #747474))
117
+ );
118
+ }
119
+
120
+ :host([data-render-mode="shadow"]) .slds-icon-text-default.slds-is-disabled {
121
+ fill: var(--sds-g-color-neutral-base-80, #c9c9c9);
122
+ }
123
+
124
+ /**
125
+ * A temporarily baked-in utility class until SLDS gets a proper utility package.
126
+ *
127
+ * This is a hybrid patch between synthetic and native shadow. The ideal final
128
+ * outcome is the removal of this class and replacing the class with the SLDS
129
+ * utility package solution.
130
+ */
131
+
132
+ :host([data-render-mode="shadow"]) .slds-assistive-text {
133
+ position: absolute !important;
134
+ margin: -1px !important;
135
+ border: 0 !important;
136
+ padding: 0 !important;
137
+ width: 1px !important;
138
+ height: 1px !important;
139
+ overflow: hidden !important;
140
+ clip: rect(0 0 0 0) !important;
141
+ text-transform: none !important;
142
+ white-space: nowrap !important;
143
+ }
144
+
145
+ /**
146
+ * For the initial alpha version, we're hardcoding in the various unique icon styles.
147
+ *
148
+ * Next version, we want to dynamically generate these from legacy SLDS with the
149
+ * following design pattern:
150
+ *
151
+ * [type="action"][icon-name="approval"] {
152
+ * --sds-c-icon-color-background: var(--slds-c-icon-color-background, #111);
153
+ * }
154
+ */
155
+
156
+ :host([data-render-mode="shadow"]) .slds-icon_disabled {
157
+ background-color: currentColor;
158
+ }
159
+
160
+ :host([data-render-mode="shadow"]) .slds-input__icon {
161
+ --slds-c-icon-sizing: calc(var(--sds-g-sizing-1, 0.125rem) + var(--sds-g-sizing-4, 0.75rem));
162
+
163
+ position: absolute;
164
+ top: 50%;
165
+ margin-block-start: -0.4375rem;
166
+ line-height: var(--sds-g-font-lineheight-1, 1);
167
+ border: 0;
168
+ z-index: 2;
169
+ }
170
+
171
+ /* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved
172
+ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
173
+
174
+ @supports (--styling-hooks: '') {
175
+ :host([data-render-mode="shadow"]) .slds-assistive-text {
176
+ position: absolute !important;
177
+ margin: -1px !important;
178
+ border: 0 !important;
179
+ padding: 0 !important;
180
+ width: 1px !important;
181
+ height: 1px !important;
182
+ overflow: hidden !important;
183
+ clip: rect(0 0 0 0) !important;
184
+ text-transform: none !important;
185
+ white-space: nowrap !important;
186
+ }
187
+
188
+ :host([data-render-mode="shadow"]) [part~='avatar'] {
189
+ width: var(--slds-c-avatar-sizing, var(--sds-g-sizing-9, 2rem));
190
+ height: var(--slds-c-avatar-sizing, var(--sds-g-sizing-9, 2rem));
191
+ overflow: hidden;
192
+ display: inline-block;
193
+ vertical-align: middle;
194
+ border-radius: var(--slds-c-avatar-radius-border, var(--sds-g-radius-border-2, 0.25rem));
195
+ line-height: var(--sds-g-font-lineheight-1, 1);
196
+ font-size: var(--sds-g-font-scale-neg-1, 0.875rem);
197
+ color: var(--slds-c-avatar-text-color, var(--sds-g-color-neutral-base-100, #ffffff));
198
+ }
199
+
200
+ :host([data-render-mode="shadow"][size='x-small']) [part~='avatar'] {
201
+ width: var(--sds-g-sizing-6, 1.25rem);
202
+ height: var(--sds-g-sizing-6, 1.25rem);
203
+ font-size: var(--sds-g-font-scale-neg-4, 0.625rem);
204
+ --slds-c-icon-sizing: var(--sds-g-sizing-6, 1.25rem);
205
+ }
206
+
207
+ :host([data-render-mode="shadow"][size='small']) [part~='avatar'] {
208
+ width: var(--sds-g-sizing-7, 1.5rem);
209
+ height: var(--sds-g-sizing-7, 1.5rem);
210
+ font-size: var(--sds-g-font-scale-neg-4, 0.625rem);
211
+ --slds-c-icon-sizing: var(--sds-g-sizing-7, 1.5rem);
212
+ }
213
+
214
+ :host([data-render-mode="shadow"][size='medium']) [part~='avatar'] {
215
+ width: var(--sds-g-sizing-9, 2rem);
216
+ height: var(--sds-g-sizing-9, 2rem);
217
+ font-size: var(--sds-g-font-scale-neg-1, 0.875rem);
218
+ --slds-c-icon-sizing: var(--sds-g-sizing-9, 2rem);
219
+ }
220
+
221
+ :host([data-render-mode="shadow"][size='large']) [part~='avatar'] {
222
+ width: var(--sds-g-sizing-10, 3rem);
223
+ height: var(--sds-g-sizing-10, 3rem);
224
+ font-size: var(--sds-g-font-scale-1, 1.125rem);
225
+ line-height: var(--sds-g-font-lineheight-2, 1.25);
226
+ --slds-c-icon-sizing: var(--sds-g-sizing-10, 3rem);
227
+ }
228
+
229
+ :host([data-render-mode="shadow"][variant='circle']) [part~='avatar'] {
230
+ border-radius: calc(var(--sds-g-radius-border-circle, 100%) / 2);
231
+ }
232
+
233
+ :host([data-render-mode="shadow"].slds-avatar_empty) [part~='avatar'] {
234
+ border: var(--sds-g-sizing-border-1, 1px) dashed var(--sds-g-color-neutral-base-90, #e5e5e5);
235
+ }
236
+
237
+ :host([data-render-mode="shadow"]) lightning-icon {
238
+ display: flex;
239
+ justify-content: center;
240
+ }
241
+
242
+ :host([data-render-mode="shadow"]) .slds-avatar__initials {
243
+ display: flex;
244
+ justify-content: center;
245
+ -ms-flex-line-pack: center;
246
+ align-content: center;
247
+ align-items: center;
248
+ margin: auto;
249
+ color: var(--slds-c-avatar-text-color);
250
+ height: 100%;
251
+ text-shadow: 0 0 1px rgba(0, 0, 0, 0.8);
252
+ /* stylelint-disable sds-stylelint-plugin/styling-hooks-pattern */
253
+ background-color: var(
254
+ --slds-c-avatar-color-background,
255
+ var(--sds-c-icon-color-background, var(--sds-g-color-brand-base-50, #0176d3))
256
+ );
257
+ /* stylelint-enable sds-stylelint-plugin/styling-hooks-pattern */
258
+ }
259
+
260
+ :host([data-render-mode="shadow"]) .slds-avatar__initials[title] {
261
+ cursor: default;
262
+ text-decoration: none;
263
+ }
264
+
265
+ /* inverse is not currently supported by LBC */
266
+ :host([data-render-mode="shadow"]) .slds-avatar__initials_inverse {
267
+ --slds-c-avatar-text-color: var(--slds-c-avatar-inverse-text-color, var(--sds-g-color-neutral-base-30, #444444));
268
+
269
+ background-color: var(--sds-g-color-neutral-base-95, #f3f3f3);
270
+ text-shadow: none;
271
+ }
272
+ }