lightning-base-components 1.18.7-alpha → 1.18.8-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 +32 -9
- package/package.json +1 -1
- package/src/lightning/accordion/accordion.slds.css +26 -20
- package/src/lightning/accordionSection/accordion-section.slds.css +20 -14
- package/src/lightning/avatar/avatar.slds.css +10 -10
- package/src/lightning/baseCombobox/base-combobox.slds.css +23 -23
- package/src/lightning/baseCombobox/baseCombobox.css +1 -2
- package/src/lightning/baseCombobox/baseCombobox.html +7 -11
- package/src/lightning/baseCombobox/baseCombobox.js +84 -36
- package/src/lightning/breadcrumb/breadcrumb.js +4 -2
- package/src/lightning/breadcrumb/breadcrumb.slds.css +3 -3
- package/src/lightning/breadcrumbs/breadcrumbs.slds.css +5 -5
- package/src/lightning/button/button.slds.css +8 -2
- package/src/lightning/buttonGroup/button-group.slds.css +5 -5
- package/src/lightning/buttonIcon/button-icon.slds.css +9 -3
- package/src/lightning/buttonIconStateful/button-icon-stateful.slds.css +15 -9
- package/src/lightning/buttonMenu/button-menu.slds.css +13 -7
- package/src/lightning/buttonStateful/button-stateful.slds.css +11 -5
- package/src/lightning/calendar/calendar.js +15 -23
- package/src/lightning/calendar/calendar.slds.css +29 -23
- package/src/lightning/card/card.slds.css +68 -68
- package/src/lightning/combobox/combobox.slds.css +1 -1
- package/src/lightning/combobox/form-element.slds.css +8 -0
- package/src/lightning/datatable/datatable.js +4 -0
- package/src/lightning/datatable/keyboard.js +8 -4
- package/src/lightning/datatable/sort.js +1 -1
- package/src/lightning/datepicker/datepicker.js +1 -1
- package/src/lightning/datepicker/form-element.slds.css +8 -0
- package/src/lightning/datepicker/input-text.slds.css +23 -23
- package/src/lightning/datetimepicker/form-element.slds.css +8 -0
- package/src/lightning/datetimepicker/input-text.slds.css +23 -23
- package/src/lightning/dualListbox/form-element.slds.css +8 -0
- package/src/lightning/f6Controller/f6Controller.js +31 -22
- package/src/lightning/formattedDateTime/formattedDateTime.js +1 -1
- package/src/lightning/groupedCombobox/groupedCombobox.html +4 -0
- package/src/lightning/groupedCombobox/groupedCombobox.js +3 -2
- package/src/lightning/helptext/form-element.slds.css +8 -0
- package/src/lightning/helptext/help-text.slds.css +10 -4
- package/src/lightning/icon/icon.js +5 -1
- package/src/lightning/icon/icon.slds.css +3 -3
- package/src/lightning/input/__examples__/checkboxbutton/checkboxbutton.css +6 -0
- package/src/lightning/input/__examples__/checkboxbutton/checkboxbutton.html +2 -1
- package/src/lightning/input/__examples__/checkboxbutton/checkboxbutton.js +1 -1
- package/src/lightning/input/__examples__/number/number.html +0 -5
- package/src/lightning/input/form-element.slds.css +8 -0
- package/src/lightning/input/input.css +0 -2
- package/src/lightning/input/input.html +149 -239
- package/src/lightning/input/input.js +221 -539
- package/src/lightning/inputUtils/inputUtils.js +15 -20
- package/src/lightning/inputUtils/normalize.js +7 -0
- package/src/lightning/{input/numberUtil.js → inputUtils/number.js} +1 -1
- package/src/lightning/inputUtils/utils.js +18 -0
- package/src/lightning/layout/layout.js +1 -0
- package/src/lightning/layoutItem/layoutItem.js +1 -0
- package/src/lightning/modal/__docs__/modal.md +102 -3
- package/src/lightning/pill/avatar.slds.css +10 -10
- package/src/lightning/primitiveColorpickerButton/color-picker-button.slds.css +9 -9
- package/src/lightning/primitiveIcon/icon.slds.css +3 -3
- package/src/lightning/primitiveInputCheckbox/form-element.slds.css +289 -0
- package/src/lightning/{input → primitiveInputCheckbox}/input-checkbox.slds.css +18 -18
- package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.css +3 -0
- package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.html +48 -0
- package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.js +139 -0
- package/src/lightning/primitiveInputCheckboxButton/form-element.slds.css +289 -0
- package/src/lightning/primitiveInputCheckboxButton/input-checkbox-button.slds.css +126 -0
- package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.css +6 -0
- package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.html +24 -0
- package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.js +176 -0
- package/src/lightning/primitiveInputColor/form-element.slds.css +289 -0
- package/src/lightning/primitiveInputColor/input-color.slds.css +35 -0
- package/src/lightning/{input → primitiveInputColor}/input-text.slds.css +23 -23
- package/src/lightning/primitiveInputColor/primitiveInputColor.css +4 -0
- package/src/lightning/primitiveInputColor/primitiveInputColor.html +50 -0
- package/src/lightning/primitiveInputColor/primitiveInputColor.js +184 -0
- package/src/lightning/primitiveInputFile/button.slds.css +533 -0
- package/src/lightning/primitiveInputFile/form-element.slds.css +289 -0
- package/src/lightning/primitiveInputFile/input-file.slds.css +62 -0
- package/src/lightning/primitiveInputFile/primitiveInputFile.css +5 -0
- package/src/lightning/primitiveInputFile/primitiveInputFile.html +45 -0
- package/src/lightning/primitiveInputFile/primitiveInputFile.js +111 -0
- package/src/lightning/primitiveInputRadio/primitiveInputRadio.html +24 -0
- package/src/lightning/primitiveInputRadio/primitiveInputRadio.js +103 -0
- package/src/lightning/primitiveInputSimple/form-element.slds.css +289 -0
- package/src/lightning/primitiveInputSimple/input-text.slds.css +398 -0
- package/src/lightning/primitiveInputSimple/primitiveInputSimple.css +9 -0
- package/src/lightning/primitiveInputSimple/primitiveInputSimple.html +65 -0
- package/src/lightning/primitiveInputSimple/primitiveInputSimple.js +585 -0
- package/src/lightning/primitiveInputToggle/form-element.slds.css +289 -0
- package/src/lightning/primitiveInputToggle/input-toggle.slds.css +170 -0
- package/src/lightning/primitiveInputToggle/primitiveInputToggle.css +3 -0
- package/src/lightning/primitiveInputToggle/primitiveInputToggle.html +34 -0
- package/src/lightning/primitiveInputToggle/primitiveInputToggle.js +164 -0
- package/src/lightning/radioGroup/input-radio-group.slds.css +57 -57
- package/src/lightning/select/form-element.slds.css +8 -0
- package/src/lightning/select/select.js +1 -0
- package/src/lightning/select/select.slds.css +30 -22
- package/src/lightning/sldsCommon/sldsCommon.css +21 -0
- package/src/lightning/spinner/spinner.js +8 -4
- package/src/lightning/spinner/spinner.slds.css +34 -34
- package/src/lightning/tab/tab.css +2 -0
- package/src/lightning/tab/tab.js +37 -14
- package/src/lightning/tab/tab.slds.css +47 -0
- package/src/lightning/tabBar/tab-bar.slds.css +5 -5
- package/src/lightning/tabset/tabset.css +10 -0
- package/src/lightning/tabset/tabset.js +31 -7
- package/src/lightning/timepicker/form-element.slds.css +8 -0
- package/src/lightning/toast/button-icon.slds.css +9 -3
- package/src/lightning/toast/icon.slds.css +3 -3
- package/src/lightning/verticalNavigation/vertical-navigation.slds.css +1 -1
- package/src/lightning/baseCombobox/spinner.slds.css +0 -438
- /package/src/lightning/{input/emailUtil.js → inputUtils/email.js} +0 -0
- /package/src/lightning/{input → primitiveInputSimple}/normalize.js +0 -0
- /package/src/lightning/{input → primitiveInputSimple}/selection.js +0 -0
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { api } from 'lwc';
|
|
2
|
+
import LightningShadowBaseClass from 'lightning/shadowBaseClassPrivate';
|
|
3
|
+
import { classSet } from 'lightning/utils';
|
|
4
|
+
import { VARIANT } from 'lightning/inputUtils';
|
|
5
|
+
import { reflectAttribute, isNativeComponent } from 'lightning/utilsPrivate';
|
|
6
|
+
export default class LightningPrimitiveInputColor extends LightningShadowBaseClass {
|
|
7
|
+
@api hasExternalLabel;
|
|
8
|
+
@api required;
|
|
9
|
+
@api accessKey;
|
|
10
|
+
@api label;
|
|
11
|
+
@api fieldLevelHelp;
|
|
12
|
+
@api helptextAlternativeText;
|
|
13
|
+
@api helpMessage;
|
|
14
|
+
@api disabled;
|
|
15
|
+
@api name;
|
|
16
|
+
@api autocomplete;
|
|
17
|
+
@api ariaLabel;
|
|
18
|
+
@api ariaInvalid;
|
|
19
|
+
@api placeholder;
|
|
20
|
+
@api pattern;
|
|
21
|
+
@api variant;
|
|
22
|
+
|
|
23
|
+
_value = '';
|
|
24
|
+
|
|
25
|
+
rendered = false;
|
|
26
|
+
initialValueSet = false;
|
|
27
|
+
|
|
28
|
+
@api
|
|
29
|
+
focus() {
|
|
30
|
+
if (this.rendered) {
|
|
31
|
+
this.inputElement.focus();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
@api
|
|
36
|
+
get value() {
|
|
37
|
+
return this._value;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
set value(value) {
|
|
41
|
+
this._value = this.normalizeInput(value);
|
|
42
|
+
if (this.rendered && this.inputElement.value !== this._value) {
|
|
43
|
+
this.setInputValue(this._value);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
@api
|
|
48
|
+
get inputElement() {
|
|
49
|
+
if (!this.cachedInputElement) {
|
|
50
|
+
let inputElement = this.template.querySelector('input');
|
|
51
|
+
this.cachedInputElement = inputElement;
|
|
52
|
+
}
|
|
53
|
+
return this.cachedInputElement;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
@api
|
|
57
|
+
get describedByElements() {
|
|
58
|
+
return this.template.querySelector('[data-help-message]');
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
@api
|
|
62
|
+
get isNativeShadow() {
|
|
63
|
+
return this._isNativeShadow;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/********* COMPONENT CALLBACKS *********/
|
|
67
|
+
|
|
68
|
+
connectedCallback() {
|
|
69
|
+
super.connectedCallback();
|
|
70
|
+
this._isNativeShadow = isNativeComponent(this);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
disconnectedCallback() {
|
|
74
|
+
this.rendered = false;
|
|
75
|
+
this.initialValueSet = false;
|
|
76
|
+
this.cachedInputElement = undefined;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
renderedCallback() {
|
|
80
|
+
this.rendered = true;
|
|
81
|
+
if (!this.initialValueSet) {
|
|
82
|
+
this.inputElement.value = this._value;
|
|
83
|
+
this.initialValueSet = true;
|
|
84
|
+
}
|
|
85
|
+
reflectAttribute(this, 'disabled', this.disabled);
|
|
86
|
+
reflectAttribute(this, 'invalid', !!this.helpMessage);
|
|
87
|
+
reflectAttribute(this, 'variant', this.variant);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* This value is used to compute the label's class which depends on the variant of the component
|
|
92
|
+
*/
|
|
93
|
+
get computedColorLabelClass() {
|
|
94
|
+
return classSet(
|
|
95
|
+
'slds-form-element__label slds-color-picker__summary-label'
|
|
96
|
+
).add({ 'slds-assistive-text': this.isLabelHidden });
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
get isLabelHidden() {
|
|
100
|
+
return this.variant === VARIANT.LABEL_HIDDEN;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/********* ACTION HANDLERS *********/
|
|
104
|
+
|
|
105
|
+
handleBlur() {
|
|
106
|
+
this.dispatchEvent(new CustomEvent('blur'));
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
handleFocus() {
|
|
110
|
+
this.dispatchEvent(new CustomEvent('focus'));
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
handleChange(event) {
|
|
114
|
+
event.stopPropagation();
|
|
115
|
+
this.dispatchCommitEvent();
|
|
116
|
+
this.dispatchChangeEvent();
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* This event handler is used whenever a new color is selected and sets the inputElement's
|
|
121
|
+
* value to the selectedColor, while focusing on the color picker button.
|
|
122
|
+
* @param {*} event
|
|
123
|
+
*/
|
|
124
|
+
handleColorChange(event) {
|
|
125
|
+
const selectedColor = event.detail.color;
|
|
126
|
+
if (selectedColor !== this.inputElement.value) {
|
|
127
|
+
this.setInputValue(selectedColor);
|
|
128
|
+
this._value = selectedColor;
|
|
129
|
+
this.focus();
|
|
130
|
+
this.dispatchChangeEventWithDetail({ value: selectedColor });
|
|
131
|
+
this.dispatchCommitEvent();
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
this.template
|
|
135
|
+
.querySelector('lightning-primitive-colorpicker-button')
|
|
136
|
+
.focus();
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
handleInput(event) {
|
|
140
|
+
event.stopPropagation();
|
|
141
|
+
this.dispatchChangeEvent();
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/********* EVENT DISPATCHERS *********/
|
|
145
|
+
|
|
146
|
+
dispatchChangeEventWithDetail(detail) {
|
|
147
|
+
this.dispatchEvent(
|
|
148
|
+
new CustomEvent('change', {
|
|
149
|
+
composed: true,
|
|
150
|
+
bubbles: true,
|
|
151
|
+
detail,
|
|
152
|
+
})
|
|
153
|
+
);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
dispatchChangeEvent() {
|
|
157
|
+
const detail = { value: this.inputElement.value };
|
|
158
|
+
this._value = detail.value;
|
|
159
|
+
this.dispatchChangeEventWithDetail(detail);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
dispatchCommitEvent() {
|
|
163
|
+
this.dispatchEvent(new CustomEvent('commit'));
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/********* VALUE UPDATERS *********/
|
|
167
|
+
|
|
168
|
+
setInputValue(value) {
|
|
169
|
+
this.inputElement.value = value;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
/********* HELPER METHODS *********/
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* TODO: lightning/inputUtils methods should be utilized in the second run of the input
|
|
176
|
+
* breakdown initiative.
|
|
177
|
+
*/
|
|
178
|
+
normalizeInput(value) {
|
|
179
|
+
if (typeof value === 'number' || typeof value === 'string') {
|
|
180
|
+
return String(value);
|
|
181
|
+
}
|
|
182
|
+
return '';
|
|
183
|
+
}
|
|
184
|
+
}
|