lightning-base-components 1.21.5-alpha → 1.21.6-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.
- package/metadata/raptor.json +1 -0
- package/package.json +1 -1
- package/src/lightning/badge/badge.slds.css +1 -1
- package/src/lightning/combobox/form-element.slds.css +4 -1
- package/src/lightning/datatable/columns.js +17 -18
- package/src/lightning/datatable/datatable.js +143 -80
- package/src/lightning/datatable/indexes.js +1 -3
- package/src/lightning/datatable/infiniteLoading.js +1 -1
- package/src/lightning/datatable/inlineEdit.js +9 -7
- package/src/lightning/datatable/keyboard.js +21 -44
- package/src/lightning/datatable/renderManager.js +9 -18
- package/src/lightning/datatable/rows.js +112 -128
- package/src/lightning/datatable/sort.js +35 -14
- package/src/lightning/datatable/state.js +5 -0
- package/src/lightning/datatable/tree.js +0 -33
- package/src/lightning/datatable/utils.js +11 -0
- package/src/lightning/datepicker/datepicker.js +12 -3
- package/src/lightning/datepicker/form-element.slds.css +4 -1
- package/src/lightning/datetimepicker/form-element.slds.css +4 -1
- package/src/lightning/dualListbox/form-element.slds.css +4 -1
- package/src/lightning/groupedCombobox/form-element.slds.css +4 -1
- package/src/lightning/helptext/form-element.slds.css +4 -1
- package/src/lightning/input/form-element.slds.css +4 -1
- package/src/lightning/inputAddress/form-element.slds.css +4 -1
- package/src/lightning/inputLocation/form-element.slds.css +4 -1
- package/src/lightning/inputName/form-element.slds.css +4 -1
- package/src/lightning/lookupAddress/form-element.slds.css +4 -1
- package/src/lightning/modalBase/modalBase.js +12 -29
- package/src/lightning/primitiveBubble/primitiveBubble.js +26 -11
- package/src/lightning/primitiveHeaderFactory/primitiveHeaderFactory.js +1 -1
- package/src/lightning/primitiveInputCheckbox/form-element.slds.css +4 -1
- package/src/lightning/primitiveInputCheckboxButton/form-element.slds.css +4 -1
- package/src/lightning/primitiveInputColor/form-element.slds.css +4 -1
- package/src/lightning/primitiveInputFile/form-element.slds.css +4 -1
- package/src/lightning/primitiveInputSimple/form-element.slds.css +4 -1
- package/src/lightning/primitiveInputToggle/form-element.slds.css +4 -1
- package/src/lightning/progressBar/progress-bar.slds.css +1 -1
- package/src/lightning/radioGroup/form-element.slds.css +4 -1
- package/src/lightning/select/form-element.slds.css +4 -1
- package/src/lightning/textarea/__examples__/various/various.html +18 -1
- package/src/lightning/textarea/form-element.slds.css +4 -1
- package/src/lightning/textarea/textarea.js +25 -0
- package/src/lightning/timepicker/form-element.slds.css +4 -1
- package/src/lightning/verticalNavigationItem/vertical-navigation-item.slds.css +1 -1
- package/src/lightning/verticalNavigationItemBadge/badge.slds.css +1 -1
- package/src/lightning/verticalNavigationItemBadge/vertical-navigation-item.slds.css +1 -1
- package/src/lightning/verticalNavigationItemIcon/vertical-navigation-item.slds.css +1 -1
- package/src/lightning/verticalNavigationOverflow/vertical-navigation-item.slds.css +1 -1
- package/src/lightning/datatable/columns-shared.js +0 -12
|
@@ -187,7 +187,10 @@
|
|
|
187
187
|
}
|
|
188
188
|
|
|
189
189
|
:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__label,:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__control {
|
|
190
|
-
|
|
190
|
+
/* @W-14518344 The following line still exists in SLDS-internal
|
|
191
|
+
but it was removed here because it was causing the input
|
|
192
|
+
component to not display it's bottom border
|
|
193
|
+
border-bottom: 0; Remove border when using legacy version of slds-form-element */
|
|
191
194
|
padding-inline-start: 0;
|
|
192
195
|
}
|
|
193
196
|
|
|
@@ -187,7 +187,10 @@
|
|
|
187
187
|
}
|
|
188
188
|
|
|
189
189
|
:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__label,:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__control {
|
|
190
|
-
|
|
190
|
+
/* @W-14518344 The following line still exists in SLDS-internal
|
|
191
|
+
but it was removed here because it was causing the input
|
|
192
|
+
component to not display it's bottom border
|
|
193
|
+
border-bottom: 0; Remove border when using legacy version of slds-form-element */
|
|
191
194
|
padding-inline-start: 0;
|
|
192
195
|
}
|
|
193
196
|
|
|
@@ -187,7 +187,10 @@
|
|
|
187
187
|
}
|
|
188
188
|
|
|
189
189
|
:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__label,:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__control {
|
|
190
|
-
|
|
190
|
+
/* @W-14518344 The following line still exists in SLDS-internal
|
|
191
|
+
but it was removed here because it was causing the input
|
|
192
|
+
component to not display it's bottom border
|
|
193
|
+
border-bottom: 0; Remove border when using legacy version of slds-form-element */
|
|
191
194
|
padding-inline-start: 0;
|
|
192
195
|
}
|
|
193
196
|
|
|
@@ -187,7 +187,10 @@
|
|
|
187
187
|
}
|
|
188
188
|
|
|
189
189
|
:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__label,:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__control {
|
|
190
|
-
|
|
190
|
+
/* @W-14518344 The following line still exists in SLDS-internal
|
|
191
|
+
but it was removed here because it was causing the input
|
|
192
|
+
component to not display it's bottom border
|
|
193
|
+
border-bottom: 0; Remove border when using legacy version of slds-form-element */
|
|
191
194
|
padding-inline-start: 0;
|
|
192
195
|
}
|
|
193
196
|
|
|
@@ -26,11 +26,11 @@ const SIZE_SMALL = 'small';
|
|
|
26
26
|
const SIZE_MEDIUM = 'medium';
|
|
27
27
|
const SIZE_LARGE = 'large';
|
|
28
28
|
const SIZE_FULL = 'full';
|
|
29
|
-
const
|
|
29
|
+
const MODAL_CONTAINER = 'lightning-overlay-container';
|
|
30
30
|
|
|
31
31
|
export default class LightningModalBase extends LightningShadowBaseClass {
|
|
32
32
|
// this is visible in DOM, changed from 'lightning-modal-base'
|
|
33
|
-
static [instanceName] =
|
|
33
|
+
static [instanceName] = 'lightning-modal-base';
|
|
34
34
|
|
|
35
35
|
// private tracked state
|
|
36
36
|
initialRender = true;
|
|
@@ -73,8 +73,6 @@ export default class LightningModalBase extends LightningShadowBaseClass {
|
|
|
73
73
|
focusinEventBound = false;
|
|
74
74
|
focusinEventHandler = null;
|
|
75
75
|
lastFocussedElementOnModal = null;
|
|
76
|
-
previousSavedInertElementsSize = 0;
|
|
77
|
-
allTabbableElements = null;
|
|
78
76
|
|
|
79
77
|
// modalFooter, child
|
|
80
78
|
footerRegistered = false;
|
|
@@ -461,17 +459,20 @@ export default class LightningModalBase extends LightningShadowBaseClass {
|
|
|
461
459
|
}
|
|
462
460
|
|
|
463
461
|
/**
|
|
464
|
-
* Handler for 'focusin' events responsible for
|
|
465
|
-
* <ul>
|
|
466
|
-
* <li>While the focus is on a Modal or stacked Modals, the handler tracks the last focussed element inside a Modal</li>
|
|
467
|
-
* <li>If user's focus moves outside a Modal, the handler tries to bring user's focus back to last focussed element</li>
|
|
468
|
-
* </ul>
|
|
462
|
+
* Handler for 'focusin' events, responsible for trapping user focus to open Modal
|
|
469
463
|
* @param e - Event
|
|
470
464
|
*/
|
|
471
|
-
handleFocusinEvents() {
|
|
465
|
+
handleFocusinEvents(e) {
|
|
472
466
|
// eslint-disable-next-line @lwc/lwc/no-async-operation
|
|
473
467
|
requestAnimationFrame(() => {
|
|
474
|
-
|
|
468
|
+
const isTargetModal =
|
|
469
|
+
e.target?.closest(MODAL_CONTAINER) ||
|
|
470
|
+
e.relatedTarget?.closest(MODAL_CONTAINER);
|
|
471
|
+
if (this.isModalOpen && isTargetModal) {
|
|
472
|
+
this.lastFocussedElementOnModal = getElementWithFocus();
|
|
473
|
+
} else {
|
|
474
|
+
returnFocusToElement(this.lastFocussedElementOnModal);
|
|
475
|
+
}
|
|
475
476
|
});
|
|
476
477
|
}
|
|
477
478
|
|
|
@@ -1185,24 +1186,6 @@ export default class LightningModalBase extends LightningShadowBaseClass {
|
|
|
1185
1186
|
}
|
|
1186
1187
|
}
|
|
1187
1188
|
|
|
1188
|
-
/**
|
|
1189
|
-
* Helper method to determine when modals are being stacked.
|
|
1190
|
-
*
|
|
1191
|
-
* When stacked modals are present on the page,
|
|
1192
|
-
* elements in savedInertElements will have 'ariaHidden' attribute with a boolean true
|
|
1193
|
-
* @returns {boolean}
|
|
1194
|
-
*/
|
|
1195
|
-
isStackedModal() {
|
|
1196
|
-
const { savedInertElements } = this;
|
|
1197
|
-
for (let i = 0; i < savedInertElements.length; i++) {
|
|
1198
|
-
const isAriaHidden = savedInertElements[i].ariaHidden;
|
|
1199
|
-
if (isAriaHidden) {
|
|
1200
|
-
return true;
|
|
1201
|
-
}
|
|
1202
|
-
}
|
|
1203
|
-
return false;
|
|
1204
|
-
}
|
|
1205
|
-
|
|
1206
1189
|
/**
|
|
1207
1190
|
* == W-12654751 P1 a11y bug ==
|
|
1208
1191
|
*
|
|
@@ -9,14 +9,14 @@ const DEFAULT_ALIGN = {
|
|
|
9
9
|
vertical: 'bottom',
|
|
10
10
|
};
|
|
11
11
|
|
|
12
|
+
// Set to px units for easier calculation
|
|
13
|
+
const POPOVER_MIN_HEIGHT = 32;
|
|
14
|
+
|
|
12
15
|
const DEFAULT_INVISIBLE_DIV_STYLES = {
|
|
13
|
-
height: '
|
|
16
|
+
height: '1rem',
|
|
14
17
|
position: 'absolute',
|
|
15
18
|
left: '0',
|
|
16
19
|
marginLeft: '0',
|
|
17
|
-
// add a little bit of offset to move the <div> closer to the target, that way the mouse
|
|
18
|
-
// doesn't move into the small white space between the target and <div>, which would close the tooltip
|
|
19
|
-
top: '-1.1rem',
|
|
20
20
|
};
|
|
21
21
|
|
|
22
22
|
export default class LightningPrimitiveBubble extends LightningShadowBaseClass {
|
|
@@ -127,26 +127,41 @@ export default class LightningPrimitiveBubble extends LightningShadowBaseClass {
|
|
|
127
127
|
'.slds-popover__body'
|
|
128
128
|
);
|
|
129
129
|
const invisibleDiv = document.createElement('div');
|
|
130
|
+
const { vertical } = this.align;
|
|
130
131
|
|
|
131
132
|
let computedStyle = null;
|
|
132
133
|
if (window && popoverBody) {
|
|
133
134
|
computedStyle = window.getComputedStyle(popoverBody);
|
|
134
135
|
invisibleDiv.style.width =
|
|
135
136
|
computedStyle.getPropertyValue('width');
|
|
137
|
+
|
|
138
|
+
/*
|
|
139
|
+
Position the <div> based on vertical alignment of tooltip.
|
|
140
|
+
When vertically aligned to the bottom (nubbin below tooltip), position the <div> to
|
|
141
|
+
the max of the popover min-height or the popover offset height. This is necessary so that
|
|
142
|
+
it always positions right below the popover, so that changes to line-height or other
|
|
143
|
+
distance related properties do not affect the positioning.
|
|
144
|
+
*/
|
|
145
|
+
if (vertical === 'bottom') {
|
|
146
|
+
invisibleDiv.style.top =
|
|
147
|
+
Math.max(POPOVER_MIN_HEIGHT, popoverBody.offsetHeight) +
|
|
148
|
+
'px';
|
|
149
|
+
invisibleDiv.style.height =
|
|
150
|
+
DEFAULT_INVISIBLE_DIV_STYLES.height;
|
|
151
|
+
} else {
|
|
152
|
+
/* add a little bit of offset to move the <div> closer to the target, that way the mouse
|
|
153
|
+
doesn't move into the small white space between the target and <div>, which would flicker the tooltip
|
|
154
|
+
*/
|
|
155
|
+
invisibleDiv.style.top = '-1.1rem';
|
|
156
|
+
invisibleDiv.style.height = '1.125rem';
|
|
157
|
+
}
|
|
136
158
|
}
|
|
137
159
|
|
|
138
|
-
invisibleDiv.style.height = DEFAULT_INVISIBLE_DIV_STYLES.height;
|
|
139
160
|
invisibleDiv.style.position = DEFAULT_INVISIBLE_DIV_STYLES.position;
|
|
140
161
|
invisibleDiv.style.left = DEFAULT_INVISIBLE_DIV_STYLES.left;
|
|
141
162
|
invisibleDiv.style.marginLeft =
|
|
142
163
|
DEFAULT_INVISIBLE_DIV_STYLES.marginLeft;
|
|
143
164
|
|
|
144
|
-
const { vertical } = this.align;
|
|
145
|
-
|
|
146
|
-
// position <div> based on vertical alignment
|
|
147
|
-
invisibleDiv.style.top =
|
|
148
|
-
vertical === 'top' ? DEFAULT_INVISIBLE_DIV_STYLES.top : '';
|
|
149
|
-
|
|
150
165
|
popoverBody.appendChild(invisibleDiv);
|
|
151
166
|
}
|
|
152
167
|
}
|
|
@@ -187,7 +187,10 @@
|
|
|
187
187
|
}
|
|
188
188
|
|
|
189
189
|
:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__label,:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__control {
|
|
190
|
-
|
|
190
|
+
/* @W-14518344 The following line still exists in SLDS-internal
|
|
191
|
+
but it was removed here because it was causing the input
|
|
192
|
+
component to not display it's bottom border
|
|
193
|
+
border-bottom: 0; Remove border when using legacy version of slds-form-element */
|
|
191
194
|
padding-inline-start: 0;
|
|
192
195
|
}
|
|
193
196
|
|
|
@@ -187,7 +187,10 @@
|
|
|
187
187
|
}
|
|
188
188
|
|
|
189
189
|
:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__label,:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__control {
|
|
190
|
-
|
|
190
|
+
/* @W-14518344 The following line still exists in SLDS-internal
|
|
191
|
+
but it was removed here because it was causing the input
|
|
192
|
+
component to not display it's bottom border
|
|
193
|
+
border-bottom: 0; Remove border when using legacy version of slds-form-element */
|
|
191
194
|
padding-inline-start: 0;
|
|
192
195
|
}
|
|
193
196
|
|
|
@@ -187,7 +187,10 @@
|
|
|
187
187
|
}
|
|
188
188
|
|
|
189
189
|
:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__label,:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__control {
|
|
190
|
-
|
|
190
|
+
/* @W-14518344 The following line still exists in SLDS-internal
|
|
191
|
+
but it was removed here because it was causing the input
|
|
192
|
+
component to not display it's bottom border
|
|
193
|
+
border-bottom: 0; Remove border when using legacy version of slds-form-element */
|
|
191
194
|
padding-inline-start: 0;
|
|
192
195
|
}
|
|
193
196
|
|
|
@@ -187,7 +187,10 @@
|
|
|
187
187
|
}
|
|
188
188
|
|
|
189
189
|
:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__label,:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__control {
|
|
190
|
-
|
|
190
|
+
/* @W-14518344 The following line still exists in SLDS-internal
|
|
191
|
+
but it was removed here because it was causing the input
|
|
192
|
+
component to not display it's bottom border
|
|
193
|
+
border-bottom: 0; Remove border when using legacy version of slds-form-element */
|
|
191
194
|
padding-inline-start: 0;
|
|
192
195
|
}
|
|
193
196
|
|
|
@@ -187,7 +187,10 @@
|
|
|
187
187
|
}
|
|
188
188
|
|
|
189
189
|
:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__label,:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__control {
|
|
190
|
-
|
|
190
|
+
/* @W-14518344 The following line still exists in SLDS-internal
|
|
191
|
+
but it was removed here because it was causing the input
|
|
192
|
+
component to not display it's bottom border
|
|
193
|
+
border-bottom: 0; Remove border when using legacy version of slds-form-element */
|
|
191
194
|
padding-inline-start: 0;
|
|
192
195
|
}
|
|
193
196
|
|
|
@@ -187,7 +187,10 @@
|
|
|
187
187
|
}
|
|
188
188
|
|
|
189
189
|
:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__label,:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__control {
|
|
190
|
-
|
|
190
|
+
/* @W-14518344 The following line still exists in SLDS-internal
|
|
191
|
+
but it was removed here because it was causing the input
|
|
192
|
+
component to not display it's bottom border
|
|
193
|
+
border-bottom: 0; Remove border when using legacy version of slds-form-element */
|
|
191
194
|
padding-inline-start: 0;
|
|
192
195
|
}
|
|
193
196
|
|
|
@@ -187,7 +187,10 @@
|
|
|
187
187
|
}
|
|
188
188
|
|
|
189
189
|
:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__label,:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__control {
|
|
190
|
-
|
|
190
|
+
/* @W-14518344 The following line still exists in SLDS-internal
|
|
191
|
+
but it was removed here because it was causing the input
|
|
192
|
+
component to not display it's bottom border
|
|
193
|
+
border-bottom: 0; Remove border when using legacy version of slds-form-element */
|
|
191
194
|
padding-inline-start: 0;
|
|
192
195
|
}
|
|
193
196
|
|
|
@@ -187,7 +187,10 @@
|
|
|
187
187
|
}
|
|
188
188
|
|
|
189
189
|
:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__label,:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__control {
|
|
190
|
-
|
|
190
|
+
/* @W-14518344 The following line still exists in SLDS-internal
|
|
191
|
+
but it was removed here because it was causing the input
|
|
192
|
+
component to not display it's bottom border
|
|
193
|
+
border-bottom: 0; Remove border when using legacy version of slds-form-element */
|
|
191
194
|
padding-inline-start: 0;
|
|
192
195
|
}
|
|
193
196
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<h1 class="slds-text-heading_small">Various Textarea Examples</h1>
|
|
4
4
|
<p class="slds-text-body_regular">The following examples show various ways to create a textarea component.</p>
|
|
5
5
|
</div>
|
|
6
|
-
|
|
6
|
+
|
|
7
7
|
<div class="row">
|
|
8
8
|
<h2 class="header">Basic Examples</h2>
|
|
9
9
|
<lightning-textarea name="input1" label="Enter some text" ></lightning-textarea>
|
|
@@ -18,4 +18,21 @@
|
|
|
18
18
|
<lightning-textarea name="input6" required value="initial value" label="Required textarea field with a maximum length of 60 characters" maxlength="60" ></lightning-textarea>
|
|
19
19
|
<lightning-textarea name="input7" required value="" placeholder="compose your tweet" label="Required textarea field with a maximum length of 140 characters" maxlength="140" message-when-too-long="A maximum of 140 characters are allowed in a tweet." message-when-value-missing="An empty tweet cannot be posted." ></lightning-textarea>
|
|
20
20
|
</div>
|
|
21
|
+
|
|
22
|
+
<div class="row">
|
|
23
|
+
<h2 class="header">Textarea with aria-describedby example</h2>
|
|
24
|
+
<div class="aria-describedby slds-box slds-m-around__large">
|
|
25
|
+
<h3>Example of textarea aria-describedby with multiple descriptions rendered before textarea in reverse order</h3>
|
|
26
|
+
<span class="desc-1" id="desc-1">Description One</span>
|
|
27
|
+
<span class="desc-2" id="desc-2">Description Two</span>
|
|
28
|
+
<lightning-textarea label="Enter some text" aria-describedby="desc-2 desc-1"></lightning-textarea>
|
|
29
|
+
</div>
|
|
30
|
+
<h2 class="header">Textarea with aria-labelledby example</h2>
|
|
31
|
+
<div class="aria-describedby-later slds-box slds-m-around__large">
|
|
32
|
+
<h3>Example of textarea aria-labelledby with multiple descriptions rendered after textarea in reverse order</h3>
|
|
33
|
+
<lightning-textarea label="Enter some text" aria-labelledby="desc-4 desc-3"></lightning-textarea>
|
|
34
|
+
<span class="desc-3" id="desc-3">Description Three</span>
|
|
35
|
+
<span class="desc-4" id="desc-4">Description Four</span>
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
21
38
|
</template>
|
|
@@ -187,7 +187,10 @@
|
|
|
187
187
|
}
|
|
188
188
|
|
|
189
189
|
:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__label,:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__control {
|
|
190
|
-
|
|
190
|
+
/* @W-14518344 The following line still exists in SLDS-internal
|
|
191
|
+
but it was removed here because it was causing the input
|
|
192
|
+
component to not display it's bottom border
|
|
193
|
+
border-bottom: 0; Remove border when using legacy version of slds-form-element */
|
|
191
194
|
padding-inline-start: 0;
|
|
192
195
|
}
|
|
193
196
|
|
|
@@ -48,6 +48,7 @@ export default class LightningTextarea extends LightningShadowBaseClass {
|
|
|
48
48
|
@track _helpMessage;
|
|
49
49
|
@track _fieldLevelHelp;
|
|
50
50
|
_ariaDescribedBy = '';
|
|
51
|
+
_ariaLabelledBy = '';
|
|
51
52
|
_helpMessageChanged = false;
|
|
52
53
|
ariaObserver = null;
|
|
53
54
|
|
|
@@ -127,6 +128,21 @@ export default class LightningTextarea extends LightningShadowBaseClass {
|
|
|
127
128
|
this.connectAriaDescribedBy();
|
|
128
129
|
}
|
|
129
130
|
|
|
131
|
+
/**
|
|
132
|
+
* A space-separated list of element IDs that provide labels for the
|
|
133
|
+
* aria-labelled-by value on parent lighting-textarea.
|
|
134
|
+
* @type {string}
|
|
135
|
+
*/
|
|
136
|
+
@api
|
|
137
|
+
get ariaLabelledBy() {
|
|
138
|
+
return this._ariaLabelledBy;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
set ariaLabelledBy(references) {
|
|
142
|
+
this._ariaLabelledBy = references;
|
|
143
|
+
this.connectAriaLabelledBy();
|
|
144
|
+
}
|
|
145
|
+
|
|
130
146
|
/**
|
|
131
147
|
* The maximum number of characters allowed in the textarea.
|
|
132
148
|
* @type {number}
|
|
@@ -441,6 +457,7 @@ export default class LightningTextarea extends LightningShadowBaseClass {
|
|
|
441
457
|
// instead of actually setting the value on the textarea element.
|
|
442
458
|
if (!this._rendered) {
|
|
443
459
|
this.connectAriaDescribedBy();
|
|
460
|
+
this.connectAriaLabelledBy();
|
|
444
461
|
this._rendered = true;
|
|
445
462
|
this._setInputValue(this._defaultValue);
|
|
446
463
|
|
|
@@ -526,6 +543,14 @@ export default class LightningTextarea extends LightningShadowBaseClass {
|
|
|
526
543
|
});
|
|
527
544
|
}
|
|
528
545
|
|
|
546
|
+
connectAriaLabelledBy() {
|
|
547
|
+
this.ariaObserver.connect({
|
|
548
|
+
targetSelector: 'textarea',
|
|
549
|
+
attribute: 'aria-labelledby',
|
|
550
|
+
relatedNodeIds: this.ariaLabelledBy,
|
|
551
|
+
});
|
|
552
|
+
}
|
|
553
|
+
|
|
529
554
|
_setInputValue(value) {
|
|
530
555
|
// The underlying input has been modified to dispatch an 'input' event when a direct value set
|
|
531
556
|
// is used to allow for Dragon Natural Speaking (which sets the value directly on the inputs instead
|
|
@@ -187,7 +187,10 @@
|
|
|
187
187
|
}
|
|
188
188
|
|
|
189
189
|
:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__label,:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__control {
|
|
190
|
-
|
|
190
|
+
/* @W-14518344 The following line still exists in SLDS-internal
|
|
191
|
+
but it was removed here because it was causing the input
|
|
192
|
+
component to not display it's bottom border
|
|
193
|
+
border-bottom: 0; Remove border when using legacy version of slds-form-element */
|
|
191
194
|
padding-inline-start: 0;
|
|
192
195
|
}
|
|
193
196
|
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
border-radius: 0;
|
|
16
16
|
box-shadow: inset 0 0 0 var(--slds-g-color-brand-base-60);
|
|
17
17
|
cursor: pointer;
|
|
18
|
-
color: var(--slds-g-color-neutral-base-
|
|
18
|
+
color: var(--slds-g-color-neutral-base-40);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
:host([data-render-mode="shadow"]) .slds-nav-vertical__action_overflow {
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
align-items: center;
|
|
13
13
|
padding: var(--slds-g-spacing-1) var(--slds-g-spacing-2);
|
|
14
14
|
color: var(--slds-c-badge-text-color, var(--slds-g-color-on-surface-3));
|
|
15
|
-
font-size: var(--slds-c-badge-font-size, var(--slds-g-font-scale-neg-
|
|
15
|
+
font-size: var(--slds-c-badge-font-size, var(--slds-g-font-scale-neg-1));
|
|
16
16
|
font-weight: var(--slds-g-font-weight-7);
|
|
17
17
|
/* stylelint-disable */
|
|
18
18
|
line-height: var(--slds-c-badge-font-lineheight, initial);
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
border-radius: 0;
|
|
16
16
|
box-shadow: inset 0 0 0 var(--slds-g-color-brand-base-60);
|
|
17
17
|
cursor: pointer;
|
|
18
|
-
color: var(--slds-g-color-neutral-base-
|
|
18
|
+
color: var(--slds-g-color-neutral-base-40);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
:host([data-render-mode="shadow"]) .slds-nav-vertical__action_overflow {
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
border-radius: 0;
|
|
16
16
|
box-shadow: inset 0 0 0 var(--slds-g-color-brand-base-60);
|
|
17
17
|
cursor: pointer;
|
|
18
|
-
color: var(--slds-g-color-neutral-base-
|
|
18
|
+
color: var(--slds-g-color-neutral-base-40);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
:host([data-render-mode="shadow"]) .slds-nav-vertical__action_overflow {
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
border-radius: 0;
|
|
16
16
|
box-shadow: inset 0 0 0 var(--slds-g-color-brand-base-60);
|
|
17
17
|
cursor: pointer;
|
|
18
|
-
color: var(--slds-g-color-neutral-base-
|
|
18
|
+
color: var(--slds-g-color-neutral-base-40);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
:host([data-render-mode="shadow"]) .slds-nav-vertical__action_overflow {
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This file exists in order to get around circular dependencies.
|
|
3
|
-
* For ex. the `columns.js` file has a dependency on `sort.js`,
|
|
4
|
-
* which also has a dependency on `columns.js` for `getColumnName()`.
|
|
5
|
-
*
|
|
6
|
-
* We split out some of the functions that could cause circular dependencies with
|
|
7
|
-
* `column.js` into the `*-shared.js` files. `inlineEditShared.js` is another.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
export function getColumnName(column) {
|
|
11
|
-
return column.columnKey || column.fieldName;
|
|
12
|
-
}
|