lightning-base-components 1.14.3-alpha → 1.14.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.
- package/metadata/raptor.json +37 -4
- package/package.json +11 -4
- package/scopedImports/@salesforce-label-LightningModalBase.cancelandclose.js +1 -0
- package/scopedImports/@salesforce-label-LightningProgressBar.progressBar.js +1 -0
- package/src/lightning/alert/__docs__/alert.md +101 -0
- package/src/lightning/alert/__examples__disabled/basic/basic.css +7 -0
- package/src/lightning/alert/__examples__disabled/basic/basic.html +8 -0
- package/src/lightning/alert/__examples__disabled/basic/basic.js +14 -0
- package/src/lightning/alert/alert.html +3 -0
- package/src/lightning/alert/alert.js +78 -0
- package/src/lightning/alert/alert.js-meta.xml +6 -0
- package/src/lightning/ariaObserver/__component__/ariaObserver.spec.js +9 -0
- package/src/lightning/ariaObserver/ariaObserver.js +24 -35
- package/src/lightning/baseFormattedText/baseFormattedText.html +6 -1
- package/src/lightning/baseFormattedText/baseFormattedText.js +5 -0
- package/src/lightning/buttonMenu/buttonMenu.js +12 -0
- package/src/lightning/confirm/__docs__/confirm.md +100 -0
- package/src/lightning/confirm/__examples__disabled/basic/basic.css +7 -0
- package/src/lightning/confirm/__examples__disabled/basic/basic.html +8 -0
- package/src/lightning/confirm/__examples__disabled/basic/basic.js +14 -0
- package/src/lightning/confirm/confirm.html +3 -0
- package/src/lightning/confirm/confirm.js +80 -0
- package/src/lightning/confirm/confirm.js-meta.xml +6 -0
- package/src/lightning/datatable/__examples__/withInfiniteLoading/fetchDataHelper.js +21 -0
- package/src/lightning/datatable/__examples__/withInfiniteLoading/withInfiniteLoading.html +13 -0
- package/src/lightning/datatable/__examples__/withInfiniteLoading/withInfiniteLoading.js +42 -0
- package/src/lightning/datatable/autoWidthStrategy.js +170 -61
- package/src/lightning/datatable/{resizer.js → columnResizer.js} +0 -0
- package/src/lightning/datatable/columnWidthManager.js +226 -44
- package/src/lightning/datatable/columns.js +166 -71
- package/src/lightning/datatable/datatable.js +132 -60
- package/src/lightning/datatable/fixedWidthStrategy.js +43 -8
- package/src/lightning/datatable/headerActions.js +2 -2
- package/src/lightning/datatable/infiniteLoading.js +100 -28
- package/src/lightning/datatable/inlineEdit.js +21 -30
- package/src/lightning/datatable/keyboard.js +166 -131
- package/src/lightning/datatable/renderManager.js +117 -122
- package/src/lightning/datatable/{datatableResizeObserver.js → resizeObserver.js} +46 -29
- package/src/lightning/datatable/resizeSensor.js +19 -3
- package/src/lightning/datatable/rowSelection.js +1 -1
- package/src/lightning/datatable/rowSelectionShared.js +33 -20
- package/src/lightning/datatable/rows.js +7 -8
- package/src/lightning/datatable/sort.js +8 -8
- package/src/lightning/datatable/state.js +14 -2
- package/src/lightning/datatable/templates/div/div.html +127 -117
- package/src/lightning/datatable/templates/table/table.html +5 -0
- package/src/lightning/datatable/tree.js +25 -0
- package/src/lightning/datatable/types.js +77 -9
- package/src/lightning/datatable/utils.js +51 -24
- package/src/lightning/datatable/virtualization.js +319 -0
- package/src/lightning/datatable/widthManagerShared.js +27 -3
- package/src/lightning/datatable/wrapText.js +115 -48
- package/src/lightning/formattedDateTime/__docs__/formattedDateTime.md +36 -3
- package/src/lightning/formattedDateTime/__examples__/datetime/datetime.html +2 -2
- package/src/lightning/formattedDateTime/__examples__/datetime/datetime.js +3 -1
- package/src/lightning/formattedDateTime/__examples__/time/time.html +1 -1
- package/src/lightning/formattedDateTime/__examples__/time/time.js +3 -1
- package/src/lightning/formattedDateTime/formattedDateTime.js +1 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/dashboard_component.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/slack.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/tableau.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/travel_mode.html +2 -2
- package/src/lightning/iconSvgTemplates/buildTemplates/templates.js +8 -1
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/data_model.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/serialized_product.html +1 -1
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/serialized_product_transaction.html +2 -1
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/slack.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/tableau.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/video_off.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/dashboard_component.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/slack.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/tableau.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/travel_mode.html +2 -2
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/templates.js +8 -1
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/data_model.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/serialized_product.html +1 -1
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/serialized_product_transaction.html +2 -1
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/slack.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/tableau.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/video_off.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/dashboard_component.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/slack.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/tableau.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/travel_mode.html +2 -2
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/templates.js +4 -1
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/dashboard_component.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/slack.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/tableau.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/travel_mode.html +2 -2
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/templates.js +4 -1
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/templates.js +5 -1
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/data_model.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/serialized_product.html +1 -1
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/serialized_product_transaction.html +2 -1
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/slack.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/tableau.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/video_off.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/templates.js +5 -1
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/data_model.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/serialized_product.html +1 -1
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/serialized_product_transaction.html +2 -1
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/slack.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/tableau.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/video_off.html +7 -0
- package/src/lightning/input/__docs__/input.md +2 -0
- package/src/lightning/input/input.html +2 -5
- package/src/lightning/interactiveDialogBase/interactiveDialogBase.css +494 -0
- package/src/lightning/interactiveDialogBase/interactiveDialogBase.html +63 -0
- package/src/lightning/interactiveDialogBase/interactiveDialogBase.js +200 -0
- package/src/lightning/menuItem/menuItem.js +4 -1
- package/src/lightning/modalBase/modalBase.css +20 -0
- package/src/lightning/modalBase/modalBase.html +54 -0
- package/src/lightning/modalBase/modalBase.js +1039 -0
- package/src/lightning/overlay/__docs__/overlay.md +90 -0
- package/src/lightning/overlay/__examples__/alert/alert.html +27 -0
- package/src/lightning/overlay/__examples__/alert/alert.js +33 -0
- package/src/lightning/overlay/__examples__/basic/basic.css +7 -0
- package/src/lightning/overlay/__examples__/basic/basic.html +18 -0
- package/src/lightning/overlay/__examples__/basic/basic.js +61 -0
- package/src/lightning/overlay/__examples__/demo/demo.html +29 -0
- package/src/lightning/overlay/__examples__/demo/demo.js +40 -0
- package/src/lightning/overlay/__examples__/panel/panel.html +17 -0
- package/src/lightning/overlay/__examples__/panel/panel.js +21 -0
- package/src/lightning/overlay/overlay.html +3 -0
- package/src/lightning/overlay/overlay.js +45 -0
- package/src/lightning/overlayContainer/__docs__/overlayContainer.md +0 -0
- package/src/lightning/overlayContainer/overlayContainer.html +3 -0
- package/src/lightning/overlayContainer/overlayContainer.js +138 -0
- package/src/lightning/overlayManager/overlayManager.js +54 -0
- package/src/lightning/overlayUtils/overlayUtils.js +17 -0
- package/src/lightning/progressBar/progressBar.html +2 -1
- package/src/lightning/progressBar/progressBar.js +18 -1
- package/src/lightning/prompt/__docs__/prompt.md +102 -0
- package/src/lightning/prompt/__examples__disabled/basic/basic.css +7 -0
- package/src/lightning/prompt/__examples__disabled/basic/basic.html +8 -0
- package/src/lightning/prompt/__examples__disabled/basic/basic.js +15 -0
- package/src/lightning/prompt/prompt.css +81 -0
- package/src/lightning/prompt/prompt.html +8 -0
- package/src/lightning/prompt/prompt.js +92 -0
- package/src/lightning/prompt/prompt.js-meta.xml +6 -0
- package/src/lightning/spinner/spinner.html +1 -1
- package/src/lightning/spinner/spinner.js +12 -0
- package/src/lightning/utilsPrivate/phonify.js +1 -1
- package/scopedImports/@salesforce-label-LightningModalBase.close.js +0 -1
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import { classSet } from 'lightning/utils';
|
|
2
|
+
import {
|
|
3
|
+
hasAnimation,
|
|
4
|
+
normalizeString,
|
|
5
|
+
synchronizeAttrs,
|
|
6
|
+
getRealDOMId,
|
|
7
|
+
} from 'lightning/utilsPrivate';
|
|
8
|
+
import { instanceName } from 'lightning/overlayUtils';
|
|
9
|
+
import { findAllTabbableElements } from 'lightning/focusUtils';
|
|
10
|
+
import LightningModalBase from 'lightning/modalBase';
|
|
11
|
+
import labelOK from '@salesforce/label/LightningInteractiveDialogBase.ok';
|
|
12
|
+
import labelCancel from '@salesforce/label/LightningInteractiveDialogBase.cancel';
|
|
13
|
+
|
|
14
|
+
// options for header theme based on SLDS themes
|
|
15
|
+
const themeOptions = [
|
|
16
|
+
'default',
|
|
17
|
+
'shade',
|
|
18
|
+
'inverse',
|
|
19
|
+
'alt-inverse',
|
|
20
|
+
'success',
|
|
21
|
+
'info',
|
|
22
|
+
'warning',
|
|
23
|
+
'error',
|
|
24
|
+
'offline',
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Base component used for lightning-alert,
|
|
29
|
+
* lightning-confirm and lightning-prompt
|
|
30
|
+
*/
|
|
31
|
+
export default class LightningModal extends LightningModalBase {
|
|
32
|
+
static [instanceName] = 'lightning-interactive-dialog-base';
|
|
33
|
+
|
|
34
|
+
label;
|
|
35
|
+
description;
|
|
36
|
+
okText = labelOK;
|
|
37
|
+
cancelText = labelCancel;
|
|
38
|
+
|
|
39
|
+
getChildProperty(property) {
|
|
40
|
+
if (this.defaultSlot) {
|
|
41
|
+
return this.defaultSlot.firstChild[property];
|
|
42
|
+
}
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Sets variant to determine
|
|
48
|
+
* if header or headerless
|
|
49
|
+
*/
|
|
50
|
+
setVariant() {
|
|
51
|
+
const variant = this.getChildProperty('variant');
|
|
52
|
+
const normalizedVariant = normalizeString(variant, {
|
|
53
|
+
fallbackValue: 'header',
|
|
54
|
+
validValues: ['header', 'headerless'],
|
|
55
|
+
});
|
|
56
|
+
this.showHeader = normalizedVariant === 'header';
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Calls functions to set all properties
|
|
61
|
+
* that depend on slot being rendered
|
|
62
|
+
*/
|
|
63
|
+
setChildProperties(detail) {
|
|
64
|
+
this.role = detail.role;
|
|
65
|
+
this.label = detail.label;
|
|
66
|
+
this.hideCancel = detail.hideCancel;
|
|
67
|
+
this.getOkValue = detail.getOkValue;
|
|
68
|
+
this.getCancelValue = detail.getCancelValue;
|
|
69
|
+
this.description = detail.showDescription ? detail.message : '';
|
|
70
|
+
this.setVariant();
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
updateAriaLabelledBy() {
|
|
74
|
+
if (this.showHeader) {
|
|
75
|
+
const heading = this.template.querySelector('[data-modal-heading]');
|
|
76
|
+
const headingId = getRealDOMId(heading);
|
|
77
|
+
synchronizeAttrs(this.modalWrapper, {
|
|
78
|
+
'aria-labelledby': headingId,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* gets aria-label value to set through template
|
|
85
|
+
* ensures that renderedCallback gets extra call needed
|
|
86
|
+
*/
|
|
87
|
+
get ariaLabel() {
|
|
88
|
+
return this.showHeader ? null : this.label;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
get computedModalHeaderCssClasses() {
|
|
92
|
+
const theme = this.getChildProperty('theme');
|
|
93
|
+
const normalizedTheme = normalizeString(theme, {
|
|
94
|
+
fallbackValue: 'default',
|
|
95
|
+
validValues: themeOptions,
|
|
96
|
+
});
|
|
97
|
+
const classes = classSet('slds-modal__header slds-theme_alert-texture');
|
|
98
|
+
classes.add(`slds-theme_${normalizedTheme}`);
|
|
99
|
+
return classes.toString();
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
get computedModalContentCssClasses() {
|
|
103
|
+
const classes = classSet('slds-modal__content slds-p-around_medium');
|
|
104
|
+
classes.add({
|
|
105
|
+
'slds-modal__content_headless': !this.showHeader,
|
|
106
|
+
});
|
|
107
|
+
return classes.toString();
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
get computedModalCssClasses() {
|
|
111
|
+
//waiting for x-small modal size
|
|
112
|
+
const classes = classSet('slds-modal fix-slds-modal slds-modal_prompt');
|
|
113
|
+
if (hasAnimation()) {
|
|
114
|
+
classes.add({
|
|
115
|
+
'slds-fade-in-open': this.isModalTransitioningIn,
|
|
116
|
+
});
|
|
117
|
+
} else {
|
|
118
|
+
classes.add({
|
|
119
|
+
'slds-fade-in-open': true,
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
return classes.toString();
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Handles clicking the "OK" button
|
|
127
|
+
* Closes modal with "okValue" set in child
|
|
128
|
+
*/
|
|
129
|
+
handleOkClick() {
|
|
130
|
+
let okValue;
|
|
131
|
+
if (this.getOkValue) {
|
|
132
|
+
okValue = this.getOkValue();
|
|
133
|
+
}
|
|
134
|
+
this.modal.close(okValue);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Handles clicking the "Cancel" button and
|
|
139
|
+
* Overrides handleCloseClick in modalBase
|
|
140
|
+
* to address closing by "Escape" use case
|
|
141
|
+
* Closes modal with "cancelValue" set in child
|
|
142
|
+
*/
|
|
143
|
+
handleCloseClick() {
|
|
144
|
+
let cancelValue;
|
|
145
|
+
if (this.getCancelValue) {
|
|
146
|
+
cancelValue = this.getCancelValue();
|
|
147
|
+
}
|
|
148
|
+
this.modal.close(cancelValue);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Focus/select first focusable element in slot
|
|
153
|
+
* if present, otherwise focuses wrapper
|
|
154
|
+
*/
|
|
155
|
+
focusElement() {
|
|
156
|
+
const tabbableElems = findAllTabbableElements(this.defaultSlot);
|
|
157
|
+
if (tabbableElems && tabbableElems.length) {
|
|
158
|
+
const focusElem = tabbableElems[0];
|
|
159
|
+
focusElem.focus();
|
|
160
|
+
if (focusElem.select) {
|
|
161
|
+
focusElem.select();
|
|
162
|
+
}
|
|
163
|
+
} else {
|
|
164
|
+
this.modalWrapper.focus();
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* Event handler for childrender event
|
|
170
|
+
* from alert/confirm/prompt
|
|
171
|
+
* Sets properties, aria attributes
|
|
172
|
+
* and focuses element
|
|
173
|
+
*/
|
|
174
|
+
handlePrivateChildRender(event) {
|
|
175
|
+
event.stopPropagation();
|
|
176
|
+
this.setChildProperties(event.detail || {});
|
|
177
|
+
if (!this.isModalTransitioningIn) {
|
|
178
|
+
this.queueShowModal();
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* Opens modal on initial render, sets aria attributes
|
|
184
|
+
* and focuses element on second render
|
|
185
|
+
*/
|
|
186
|
+
renderedCallback() {
|
|
187
|
+
if (this.initialRender) {
|
|
188
|
+
this.openModal();
|
|
189
|
+
this.initialRender = false;
|
|
190
|
+
} else if (this.modalWrapper) {
|
|
191
|
+
this.template.host.style = 'z-index: 9099; position: absolute;';
|
|
192
|
+
this.updateAriaDescription();
|
|
193
|
+
this.updateAriaLabelledBy();
|
|
194
|
+
if (!this.autoFocusCompletedOnce) {
|
|
195
|
+
this.focusElement();
|
|
196
|
+
this.autoFocusCompletedOnce = true;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
@@ -222,7 +222,7 @@ export default class LightningMenuItem extends LightningElement {
|
|
|
222
222
|
return this.isMenuItemCheckbox ? 'menuitemcheckbox' : 'menuitem';
|
|
223
223
|
}
|
|
224
224
|
|
|
225
|
-
handleBlur() {
|
|
225
|
+
handleBlur(event) {
|
|
226
226
|
this.dispatchEvent(new CustomEvent('blur'));
|
|
227
227
|
|
|
228
228
|
// we need to trigger a private blur to make it bubble and be handled by parent button-menu
|
|
@@ -231,6 +231,9 @@ export default class LightningMenuItem extends LightningElement {
|
|
|
231
231
|
composed: true,
|
|
232
232
|
bubbles: true,
|
|
233
233
|
cancelable: true,
|
|
234
|
+
detail: {
|
|
235
|
+
relatedTarget: event.relatedTarget,
|
|
236
|
+
},
|
|
234
237
|
})
|
|
235
238
|
);
|
|
236
239
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/* Modal close button */
|
|
2
|
+
|
|
3
|
+
.fix-slds-modal-close-disabled {
|
|
4
|
+
opacity: 0.15;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
/* Required for autofocus to work correctly:
|
|
8
|
+
- child elements of modal appear 'visibility: hidden' at
|
|
9
|
+
the moment that they are being reviewed for eligibility
|
|
10
|
+
for focus in focus.js at isElementVisible()
|
|
11
|
+
*/
|
|
12
|
+
.fix-slds-modal {
|
|
13
|
+
visibility: visible;
|
|
14
|
+
z-index: unset;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/* Required for z-index */
|
|
18
|
+
.fix-slds-backdrop {
|
|
19
|
+
z-index: unset;
|
|
20
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div
|
|
3
|
+
class={modalBackdropCssClasses}
|
|
4
|
+
role="presentation"
|
|
5
|
+
data-backdrop
|
|
6
|
+
></div>
|
|
7
|
+
<lightning-focus-trap>
|
|
8
|
+
<section
|
|
9
|
+
role="dialog"
|
|
10
|
+
tabindex="-1"
|
|
11
|
+
aria-modal="true"
|
|
12
|
+
class={modalCssClasses}
|
|
13
|
+
onkeydown={handleModalKeyDown}
|
|
14
|
+
onprivatemodalheaderregister={handleHeaderRegister}
|
|
15
|
+
onprivatemodalbodyregister={handleBodyRegister}
|
|
16
|
+
onprivatemodalfooterregister={handleFooterRegister}
|
|
17
|
+
onprivateclose={handlePrivateClose}
|
|
18
|
+
onprivatedisableclosebutton={handlePrivateDisableCloseButton}
|
|
19
|
+
data-modal
|
|
20
|
+
>
|
|
21
|
+
<template if:true={showAriaDescribedBy}>
|
|
22
|
+
<span
|
|
23
|
+
id="modal-description"
|
|
24
|
+
class="slds-assistive-text"
|
|
25
|
+
data-aria-description
|
|
26
|
+
>{description}</span>
|
|
27
|
+
</template>
|
|
28
|
+
<template if:true={showAriaLiveMessage}>
|
|
29
|
+
<span
|
|
30
|
+
aria-live="polite"
|
|
31
|
+
role="status"
|
|
32
|
+
class="slds-assistive-text"
|
|
33
|
+
data-aria-live-message
|
|
34
|
+
>{ariaLiveMessage}</span>
|
|
35
|
+
</template>
|
|
36
|
+
<div
|
|
37
|
+
class="slds-modal__container"
|
|
38
|
+
data-container
|
|
39
|
+
>
|
|
40
|
+
<lightning-button-icon
|
|
41
|
+
class={modalCloseButtonCssClasses}
|
|
42
|
+
icon-name="utility:close"
|
|
43
|
+
variant="bare-inverse"
|
|
44
|
+
alternative-text={closeButtonAltText}
|
|
45
|
+
onclick={handleCloseClick}
|
|
46
|
+
size="large"
|
|
47
|
+
disabled={disableCloseButton}
|
|
48
|
+
data-close-button
|
|
49
|
+
></lightning-button-icon>
|
|
50
|
+
<div data-slot lwc:dom="manual"></div>
|
|
51
|
+
</div>
|
|
52
|
+
</section>
|
|
53
|
+
</lightning-focus-trap>
|
|
54
|
+
</template>
|