@aurodesignsystem/auro-formkit 5.1.3 → 5.1.4
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/CHANGELOG.md +14 -2
- package/components/combobox/README.md +2 -0
- package/components/combobox/demo/api.md +190 -62
- package/components/combobox/demo/api.min.js +401 -146
- package/components/combobox/demo/index.md +2 -0
- package/components/combobox/demo/index.min.js +331 -132
- package/components/combobox/demo/readme.md +2 -0
- package/components/combobox/dist/auro-combobox.d.ts +81 -33
- package/components/combobox/dist/index.js +297 -122
- package/components/combobox/dist/registered.js +297 -122
- package/components/counter/demo/api.min.js +9 -4
- package/components/counter/demo/index.min.js +9 -4
- package/components/counter/dist/index.js +9 -4
- package/components/counter/dist/registered.js +9 -4
- package/components/datepicker/demo/api.min.js +61 -16
- package/components/datepicker/demo/index.min.js +61 -16
- package/components/datepicker/dist/index.js +61 -16
- package/components/datepicker/dist/registered.js +61 -16
- package/components/dropdown/demo/api.min.js +8 -3
- package/components/dropdown/demo/index.min.js +8 -3
- package/components/dropdown/dist/index.js +8 -3
- package/components/dropdown/dist/registered.js +8 -3
- package/components/input/demo/api.md +48 -46
- package/components/input/demo/api.min.js +52 -12
- package/components/input/demo/index.md +7 -3
- package/components/input/demo/index.min.js +52 -12
- package/components/input/dist/auro-input.d.ts +4 -0
- package/components/input/dist/base-input.d.ts +9 -1
- package/components/input/dist/index.js +52 -12
- package/components/input/dist/registered.js +52 -12
- package/components/layoutElement/dist/index.js +1 -1
- package/components/layoutElement/dist/registered.js +1 -1
- package/components/menu/demo/api.md +4 -3
- package/components/menu/demo/api.min.js +35 -11
- package/components/menu/demo/index.min.js +35 -11
- package/components/menu/dist/auro-menu.d.ts +3 -2
- package/components/menu/dist/auro-menuoption.d.ts +1 -0
- package/components/menu/dist/index.js +35 -11
- package/components/menu/dist/registered.js +35 -11
- package/components/select/demo/api.min.js +44 -15
- package/components/select/demo/index.min.js +44 -15
- package/components/select/dist/index.js +10 -5
- package/components/select/dist/registered.js +10 -5
- package/package.json +1 -1
|
@@ -4965,7 +4965,7 @@ let AuroElement$2 = class AuroElement extends i$2 {
|
|
|
4965
4965
|
* @returns {boolean} - Returns true if the element has focus.
|
|
4966
4966
|
*/
|
|
4967
4967
|
get componentHasFocus() {
|
|
4968
|
-
return this.matches(':focus');
|
|
4968
|
+
return this.matches(':focus') || this.matches(':focus-within');
|
|
4969
4969
|
}
|
|
4970
4970
|
|
|
4971
4971
|
resetShapeClasses() {
|
|
@@ -5039,7 +5039,7 @@ let AuroElement$2 = class AuroElement extends i$2 {
|
|
|
5039
5039
|
* @prop {string} id - The id global attribute defines an identifier (ID) which must be unique in the whole document.
|
|
5040
5040
|
* @attr id
|
|
5041
5041
|
*
|
|
5042
|
-
* @slot ariaLabel.clear - Sets aria-label on clear button for
|
|
5042
|
+
* @slot ariaLabel.clear - Sets aria-label on clear button for screen reader to read
|
|
5043
5043
|
* @slot ariaLabel.password.show - Sets aria-label on password button to toggle on showing password
|
|
5044
5044
|
* @slot ariaLabel.password.hide - Sets aria-label on password button to toggle off showing password
|
|
5045
5045
|
* @slot helpText - Sets the help text displayed below the input.
|
|
@@ -5067,6 +5067,7 @@ class BaseInput extends AuroElement$2 {
|
|
|
5067
5067
|
this.activeLabel = false;
|
|
5068
5068
|
this.icon = false;
|
|
5069
5069
|
this.disabled = false;
|
|
5070
|
+
this.dvInputOnly = false;
|
|
5070
5071
|
this.max = undefined;
|
|
5071
5072
|
this.maxLength = undefined;
|
|
5072
5073
|
this.min = undefined;
|
|
@@ -5160,6 +5161,14 @@ class BaseInput extends AuroElement$2 {
|
|
|
5160
5161
|
return {
|
|
5161
5162
|
...super.properties,
|
|
5162
5163
|
|
|
5164
|
+
/**
|
|
5165
|
+
* If defined, the display value slot content will only mask the HTML5 input element. The input's label will not be masked.
|
|
5166
|
+
*/
|
|
5167
|
+
dvInputOnly: {
|
|
5168
|
+
type: Boolean,
|
|
5169
|
+
reflect: true
|
|
5170
|
+
},
|
|
5171
|
+
|
|
5163
5172
|
/**
|
|
5164
5173
|
* The value for the role attribute.
|
|
5165
5174
|
*/
|
|
@@ -7925,7 +7934,13 @@ class AuroInput extends BaseInput {
|
|
|
7925
7934
|
* @private
|
|
7926
7935
|
*/
|
|
7927
7936
|
get inputHidden() {
|
|
7928
|
-
return (
|
|
7937
|
+
return (
|
|
7938
|
+
this.hasDisplayValueContent && !this.hasFocus && this.hasValue) ||
|
|
7939
|
+
(
|
|
7940
|
+
(!this.value || this.value.length === 0) &&
|
|
7941
|
+
!this.hasFocus &&
|
|
7942
|
+
(!this.placeholder || this.placeholder === '')
|
|
7943
|
+
);
|
|
7929
7944
|
}
|
|
7930
7945
|
|
|
7931
7946
|
/**
|
|
@@ -7945,7 +7960,7 @@ class AuroInput extends BaseInput {
|
|
|
7945
7960
|
* @private
|
|
7946
7961
|
*/
|
|
7947
7962
|
get labelHidden() {
|
|
7948
|
-
return this.hasDisplayValueContent && !this.hasFocus && this.hasValue;
|
|
7963
|
+
return this.hasDisplayValueContent && !this.dvInputOnly && !this.hasFocus && this.hasValue;
|
|
7949
7964
|
}
|
|
7950
7965
|
|
|
7951
7966
|
/**
|
|
@@ -7954,18 +7969,26 @@ class AuroInput extends BaseInput {
|
|
|
7954
7969
|
* @returns {string} - The font class for the label.
|
|
7955
7970
|
*/
|
|
7956
7971
|
get labelFontClass() {
|
|
7957
|
-
const isHidden = this.inputHidden;
|
|
7958
|
-
|
|
7959
7972
|
if (this.layout.startsWith('emphasized')) {
|
|
7960
|
-
|
|
7973
|
+
let typeSize = 'body-sm';
|
|
7974
|
+
|
|
7975
|
+
if (this.hasDisplayValueContent) {
|
|
7976
|
+
if (!this.hasValue) {
|
|
7977
|
+
typeSize = 'accent-xl';
|
|
7978
|
+
}
|
|
7979
|
+
} else if (this.noFocusOrValue) {
|
|
7980
|
+
typeSize = 'accent-xl';
|
|
7981
|
+
}
|
|
7982
|
+
|
|
7983
|
+
return typeSize;
|
|
7961
7984
|
}
|
|
7962
7985
|
|
|
7963
7986
|
if (this.layout === 'snowflake') {
|
|
7964
|
-
return
|
|
7987
|
+
return this.hasValue || this.hasFocus || this.placeholder ? 'body-xs' : 'body-lg';
|
|
7965
7988
|
}
|
|
7966
7989
|
|
|
7967
7990
|
// classic layout (default)
|
|
7968
|
-
return
|
|
7991
|
+
return ((!this.value || this.value.length === 0) && !this.placeholder && !this.hasFocus) ? 'body-default' : 'body-xs';
|
|
7969
7992
|
}
|
|
7970
7993
|
|
|
7971
7994
|
/**
|
|
@@ -7975,7 +7998,17 @@ class AuroInput extends BaseInput {
|
|
|
7975
7998
|
*/
|
|
7976
7999
|
get inputFontClass() {
|
|
7977
8000
|
if (this.layout.startsWith('emphasized')) {
|
|
7978
|
-
|
|
8001
|
+
let typeSize = 'accent-xl';
|
|
8002
|
+
|
|
8003
|
+
if (this.hasDisplayValueContent) {
|
|
8004
|
+
if (!this.hasValue) {
|
|
8005
|
+
typeSize = 'body-sm';
|
|
8006
|
+
}
|
|
8007
|
+
} else if (this.noFocusOrValue) {
|
|
8008
|
+
typeSize = 'body-sm';
|
|
8009
|
+
}
|
|
8010
|
+
|
|
8011
|
+
return typeSize;
|
|
7979
8012
|
}
|
|
7980
8013
|
|
|
7981
8014
|
if (this.layout === 'snowflake') {
|
|
@@ -8018,6 +8051,13 @@ class AuroInput extends BaseInput {
|
|
|
8018
8051
|
};
|
|
8019
8052
|
}
|
|
8020
8053
|
|
|
8054
|
+
get commonDisplayValueWrapperClasses() {
|
|
8055
|
+
return {
|
|
8056
|
+
'displayValueWrapper': true,
|
|
8057
|
+
[this.inputFontClass]: true,
|
|
8058
|
+
};
|
|
8059
|
+
}
|
|
8060
|
+
|
|
8021
8061
|
/**
|
|
8022
8062
|
* Returns classmap configuration for html5 inputs in each layout.
|
|
8023
8063
|
* @private
|
|
@@ -8090,7 +8130,7 @@ class AuroInput extends BaseInput {
|
|
|
8090
8130
|
let nodes = this.shadowRoot.querySelector('slot[name="displayValue"]').assignedNodes();
|
|
8091
8131
|
|
|
8092
8132
|
// Handle when DisplayValue is multi-level slot content (e.g. combobox passing displayValue to input)
|
|
8093
|
-
if (nodes[0].tagName === 'SLOT') {
|
|
8133
|
+
if (nodes && nodes[0] && nodes[0].tagName === 'SLOT') {
|
|
8094
8134
|
nodes = nodes[0].assignedNodes();
|
|
8095
8135
|
}
|
|
8096
8136
|
|
|
@@ -8181,7 +8221,7 @@ class AuroInput extends BaseInput {
|
|
|
8181
8221
|
type="${this.type === "password" && this.showPassword ? "text" : this.getInputType(this.type)}"
|
|
8182
8222
|
/>
|
|
8183
8223
|
<div class="${e(displayValueClasses)}" aria-hidden="true" part="displayValue">
|
|
8184
|
-
<div class="
|
|
8224
|
+
<div class="${e(this.commonDisplayValueWrapperClasses)}">
|
|
8185
8225
|
<slot name="displayValue" @slotchange=${this.checkDisplayValueSlotChange}></slot>
|
|
8186
8226
|
</div>
|
|
8187
8227
|
</div>
|
|
@@ -71,6 +71,10 @@ export class AuroInput extends BaseInput {
|
|
|
71
71
|
* @returns {Record<string, boolean>} - Returns classmap.
|
|
72
72
|
*/
|
|
73
73
|
private get commonInputClasses();
|
|
74
|
+
get commonDisplayValueWrapperClasses(): {
|
|
75
|
+
[x: string]: boolean;
|
|
76
|
+
displayValueWrapper: boolean;
|
|
77
|
+
};
|
|
74
78
|
/**
|
|
75
79
|
* Returns classmap configuration for html5 inputs in each layout.
|
|
76
80
|
* @private
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @prop {string} id - The id global attribute defines an identifier (ID) which must be unique in the whole document.
|
|
5
5
|
* @attr id
|
|
6
6
|
*
|
|
7
|
-
* @slot ariaLabel.clear - Sets aria-label on clear button for
|
|
7
|
+
* @slot ariaLabel.clear - Sets aria-label on clear button for screen reader to read
|
|
8
8
|
* @slot ariaLabel.password.show - Sets aria-label on password button to toggle on showing password
|
|
9
9
|
* @slot ariaLabel.password.hide - Sets aria-label on password button to toggle off showing password
|
|
10
10
|
* @slot helpText - Sets the help text displayed below the input.
|
|
@@ -25,6 +25,13 @@
|
|
|
25
25
|
*/
|
|
26
26
|
export default class BaseInput extends AuroElement {
|
|
27
27
|
static get properties(): {
|
|
28
|
+
/**
|
|
29
|
+
* If defined, the display value slot content will only mask the HTML5 input element. The input's label will not be masked.
|
|
30
|
+
*/
|
|
31
|
+
dvInputOnly: {
|
|
32
|
+
type: BooleanConstructor;
|
|
33
|
+
reflect: boolean;
|
|
34
|
+
};
|
|
28
35
|
/**
|
|
29
36
|
* The value for the role attribute.
|
|
30
37
|
*/
|
|
@@ -334,6 +341,7 @@ export default class BaseInput extends AuroElement {
|
|
|
334
341
|
activeLabel: boolean;
|
|
335
342
|
icon: boolean;
|
|
336
343
|
disabled: boolean;
|
|
344
|
+
dvInputOnly: boolean;
|
|
337
345
|
max: any;
|
|
338
346
|
maxLength: any;
|
|
339
347
|
min: any;
|
|
@@ -4889,7 +4889,7 @@ let AuroElement$2 = class AuroElement extends LitElement {
|
|
|
4889
4889
|
* @returns {boolean} - Returns true if the element has focus.
|
|
4890
4890
|
*/
|
|
4891
4891
|
get componentHasFocus() {
|
|
4892
|
-
return this.matches(':focus');
|
|
4892
|
+
return this.matches(':focus') || this.matches(':focus-within');
|
|
4893
4893
|
}
|
|
4894
4894
|
|
|
4895
4895
|
resetShapeClasses() {
|
|
@@ -4963,7 +4963,7 @@ let AuroElement$2 = class AuroElement extends LitElement {
|
|
|
4963
4963
|
* @prop {string} id - The id global attribute defines an identifier (ID) which must be unique in the whole document.
|
|
4964
4964
|
* @attr id
|
|
4965
4965
|
*
|
|
4966
|
-
* @slot ariaLabel.clear - Sets aria-label on clear button for
|
|
4966
|
+
* @slot ariaLabel.clear - Sets aria-label on clear button for screen reader to read
|
|
4967
4967
|
* @slot ariaLabel.password.show - Sets aria-label on password button to toggle on showing password
|
|
4968
4968
|
* @slot ariaLabel.password.hide - Sets aria-label on password button to toggle off showing password
|
|
4969
4969
|
* @slot helpText - Sets the help text displayed below the input.
|
|
@@ -4991,6 +4991,7 @@ class BaseInput extends AuroElement$2 {
|
|
|
4991
4991
|
this.activeLabel = false;
|
|
4992
4992
|
this.icon = false;
|
|
4993
4993
|
this.disabled = false;
|
|
4994
|
+
this.dvInputOnly = false;
|
|
4994
4995
|
this.max = undefined;
|
|
4995
4996
|
this.maxLength = undefined;
|
|
4996
4997
|
this.min = undefined;
|
|
@@ -5084,6 +5085,14 @@ class BaseInput extends AuroElement$2 {
|
|
|
5084
5085
|
return {
|
|
5085
5086
|
...super.properties,
|
|
5086
5087
|
|
|
5088
|
+
/**
|
|
5089
|
+
* If defined, the display value slot content will only mask the HTML5 input element. The input's label will not be masked.
|
|
5090
|
+
*/
|
|
5091
|
+
dvInputOnly: {
|
|
5092
|
+
type: Boolean,
|
|
5093
|
+
reflect: true
|
|
5094
|
+
},
|
|
5095
|
+
|
|
5087
5096
|
/**
|
|
5088
5097
|
* The value for the role attribute.
|
|
5089
5098
|
*/
|
|
@@ -7849,7 +7858,13 @@ class AuroInput extends BaseInput {
|
|
|
7849
7858
|
* @private
|
|
7850
7859
|
*/
|
|
7851
7860
|
get inputHidden() {
|
|
7852
|
-
return (
|
|
7861
|
+
return (
|
|
7862
|
+
this.hasDisplayValueContent && !this.hasFocus && this.hasValue) ||
|
|
7863
|
+
(
|
|
7864
|
+
(!this.value || this.value.length === 0) &&
|
|
7865
|
+
!this.hasFocus &&
|
|
7866
|
+
(!this.placeholder || this.placeholder === '')
|
|
7867
|
+
);
|
|
7853
7868
|
}
|
|
7854
7869
|
|
|
7855
7870
|
/**
|
|
@@ -7869,7 +7884,7 @@ class AuroInput extends BaseInput {
|
|
|
7869
7884
|
* @private
|
|
7870
7885
|
*/
|
|
7871
7886
|
get labelHidden() {
|
|
7872
|
-
return this.hasDisplayValueContent && !this.hasFocus && this.hasValue;
|
|
7887
|
+
return this.hasDisplayValueContent && !this.dvInputOnly && !this.hasFocus && this.hasValue;
|
|
7873
7888
|
}
|
|
7874
7889
|
|
|
7875
7890
|
/**
|
|
@@ -7878,18 +7893,26 @@ class AuroInput extends BaseInput {
|
|
|
7878
7893
|
* @returns {string} - The font class for the label.
|
|
7879
7894
|
*/
|
|
7880
7895
|
get labelFontClass() {
|
|
7881
|
-
const isHidden = this.inputHidden;
|
|
7882
|
-
|
|
7883
7896
|
if (this.layout.startsWith('emphasized')) {
|
|
7884
|
-
|
|
7897
|
+
let typeSize = 'body-sm';
|
|
7898
|
+
|
|
7899
|
+
if (this.hasDisplayValueContent) {
|
|
7900
|
+
if (!this.hasValue) {
|
|
7901
|
+
typeSize = 'accent-xl';
|
|
7902
|
+
}
|
|
7903
|
+
} else if (this.noFocusOrValue) {
|
|
7904
|
+
typeSize = 'accent-xl';
|
|
7905
|
+
}
|
|
7906
|
+
|
|
7907
|
+
return typeSize;
|
|
7885
7908
|
}
|
|
7886
7909
|
|
|
7887
7910
|
if (this.layout === 'snowflake') {
|
|
7888
|
-
return
|
|
7911
|
+
return this.hasValue || this.hasFocus || this.placeholder ? 'body-xs' : 'body-lg';
|
|
7889
7912
|
}
|
|
7890
7913
|
|
|
7891
7914
|
// classic layout (default)
|
|
7892
|
-
return
|
|
7915
|
+
return ((!this.value || this.value.length === 0) && !this.placeholder && !this.hasFocus) ? 'body-default' : 'body-xs';
|
|
7893
7916
|
}
|
|
7894
7917
|
|
|
7895
7918
|
/**
|
|
@@ -7899,7 +7922,17 @@ class AuroInput extends BaseInput {
|
|
|
7899
7922
|
*/
|
|
7900
7923
|
get inputFontClass() {
|
|
7901
7924
|
if (this.layout.startsWith('emphasized')) {
|
|
7902
|
-
|
|
7925
|
+
let typeSize = 'accent-xl';
|
|
7926
|
+
|
|
7927
|
+
if (this.hasDisplayValueContent) {
|
|
7928
|
+
if (!this.hasValue) {
|
|
7929
|
+
typeSize = 'body-sm';
|
|
7930
|
+
}
|
|
7931
|
+
} else if (this.noFocusOrValue) {
|
|
7932
|
+
typeSize = 'body-sm';
|
|
7933
|
+
}
|
|
7934
|
+
|
|
7935
|
+
return typeSize;
|
|
7903
7936
|
}
|
|
7904
7937
|
|
|
7905
7938
|
if (this.layout === 'snowflake') {
|
|
@@ -7942,6 +7975,13 @@ class AuroInput extends BaseInput {
|
|
|
7942
7975
|
};
|
|
7943
7976
|
}
|
|
7944
7977
|
|
|
7978
|
+
get commonDisplayValueWrapperClasses() {
|
|
7979
|
+
return {
|
|
7980
|
+
'displayValueWrapper': true,
|
|
7981
|
+
[this.inputFontClass]: true,
|
|
7982
|
+
};
|
|
7983
|
+
}
|
|
7984
|
+
|
|
7945
7985
|
/**
|
|
7946
7986
|
* Returns classmap configuration for html5 inputs in each layout.
|
|
7947
7987
|
* @private
|
|
@@ -8014,7 +8054,7 @@ class AuroInput extends BaseInput {
|
|
|
8014
8054
|
let nodes = this.shadowRoot.querySelector('slot[name="displayValue"]').assignedNodes();
|
|
8015
8055
|
|
|
8016
8056
|
// Handle when DisplayValue is multi-level slot content (e.g. combobox passing displayValue to input)
|
|
8017
|
-
if (nodes[0].tagName === 'SLOT') {
|
|
8057
|
+
if (nodes && nodes[0] && nodes[0].tagName === 'SLOT') {
|
|
8018
8058
|
nodes = nodes[0].assignedNodes();
|
|
8019
8059
|
}
|
|
8020
8060
|
|
|
@@ -8105,7 +8145,7 @@ class AuroInput extends BaseInput {
|
|
|
8105
8145
|
type="${this.type === "password" && this.showPassword ? "text" : this.getInputType(this.type)}"
|
|
8106
8146
|
/>
|
|
8107
8147
|
<div class="${classMap(displayValueClasses)}" aria-hidden="true" part="displayValue">
|
|
8108
|
-
<div class="
|
|
8148
|
+
<div class="${classMap(this.commonDisplayValueWrapperClasses)}">
|
|
8109
8149
|
<slot name="displayValue" @slotchange=${this.checkDisplayValueSlotChange}></slot>
|
|
8110
8150
|
</div>
|
|
8111
8151
|
</div>
|
|
@@ -4889,7 +4889,7 @@ let AuroElement$2 = class AuroElement extends LitElement {
|
|
|
4889
4889
|
* @returns {boolean} - Returns true if the element has focus.
|
|
4890
4890
|
*/
|
|
4891
4891
|
get componentHasFocus() {
|
|
4892
|
-
return this.matches(':focus');
|
|
4892
|
+
return this.matches(':focus') || this.matches(':focus-within');
|
|
4893
4893
|
}
|
|
4894
4894
|
|
|
4895
4895
|
resetShapeClasses() {
|
|
@@ -4963,7 +4963,7 @@ let AuroElement$2 = class AuroElement extends LitElement {
|
|
|
4963
4963
|
* @prop {string} id - The id global attribute defines an identifier (ID) which must be unique in the whole document.
|
|
4964
4964
|
* @attr id
|
|
4965
4965
|
*
|
|
4966
|
-
* @slot ariaLabel.clear - Sets aria-label on clear button for
|
|
4966
|
+
* @slot ariaLabel.clear - Sets aria-label on clear button for screen reader to read
|
|
4967
4967
|
* @slot ariaLabel.password.show - Sets aria-label on password button to toggle on showing password
|
|
4968
4968
|
* @slot ariaLabel.password.hide - Sets aria-label on password button to toggle off showing password
|
|
4969
4969
|
* @slot helpText - Sets the help text displayed below the input.
|
|
@@ -4991,6 +4991,7 @@ class BaseInput extends AuroElement$2 {
|
|
|
4991
4991
|
this.activeLabel = false;
|
|
4992
4992
|
this.icon = false;
|
|
4993
4993
|
this.disabled = false;
|
|
4994
|
+
this.dvInputOnly = false;
|
|
4994
4995
|
this.max = undefined;
|
|
4995
4996
|
this.maxLength = undefined;
|
|
4996
4997
|
this.min = undefined;
|
|
@@ -5084,6 +5085,14 @@ class BaseInput extends AuroElement$2 {
|
|
|
5084
5085
|
return {
|
|
5085
5086
|
...super.properties,
|
|
5086
5087
|
|
|
5088
|
+
/**
|
|
5089
|
+
* If defined, the display value slot content will only mask the HTML5 input element. The input's label will not be masked.
|
|
5090
|
+
*/
|
|
5091
|
+
dvInputOnly: {
|
|
5092
|
+
type: Boolean,
|
|
5093
|
+
reflect: true
|
|
5094
|
+
},
|
|
5095
|
+
|
|
5087
5096
|
/**
|
|
5088
5097
|
* The value for the role attribute.
|
|
5089
5098
|
*/
|
|
@@ -7849,7 +7858,13 @@ class AuroInput extends BaseInput {
|
|
|
7849
7858
|
* @private
|
|
7850
7859
|
*/
|
|
7851
7860
|
get inputHidden() {
|
|
7852
|
-
return (
|
|
7861
|
+
return (
|
|
7862
|
+
this.hasDisplayValueContent && !this.hasFocus && this.hasValue) ||
|
|
7863
|
+
(
|
|
7864
|
+
(!this.value || this.value.length === 0) &&
|
|
7865
|
+
!this.hasFocus &&
|
|
7866
|
+
(!this.placeholder || this.placeholder === '')
|
|
7867
|
+
);
|
|
7853
7868
|
}
|
|
7854
7869
|
|
|
7855
7870
|
/**
|
|
@@ -7869,7 +7884,7 @@ class AuroInput extends BaseInput {
|
|
|
7869
7884
|
* @private
|
|
7870
7885
|
*/
|
|
7871
7886
|
get labelHidden() {
|
|
7872
|
-
return this.hasDisplayValueContent && !this.hasFocus && this.hasValue;
|
|
7887
|
+
return this.hasDisplayValueContent && !this.dvInputOnly && !this.hasFocus && this.hasValue;
|
|
7873
7888
|
}
|
|
7874
7889
|
|
|
7875
7890
|
/**
|
|
@@ -7878,18 +7893,26 @@ class AuroInput extends BaseInput {
|
|
|
7878
7893
|
* @returns {string} - The font class for the label.
|
|
7879
7894
|
*/
|
|
7880
7895
|
get labelFontClass() {
|
|
7881
|
-
const isHidden = this.inputHidden;
|
|
7882
|
-
|
|
7883
7896
|
if (this.layout.startsWith('emphasized')) {
|
|
7884
|
-
|
|
7897
|
+
let typeSize = 'body-sm';
|
|
7898
|
+
|
|
7899
|
+
if (this.hasDisplayValueContent) {
|
|
7900
|
+
if (!this.hasValue) {
|
|
7901
|
+
typeSize = 'accent-xl';
|
|
7902
|
+
}
|
|
7903
|
+
} else if (this.noFocusOrValue) {
|
|
7904
|
+
typeSize = 'accent-xl';
|
|
7905
|
+
}
|
|
7906
|
+
|
|
7907
|
+
return typeSize;
|
|
7885
7908
|
}
|
|
7886
7909
|
|
|
7887
7910
|
if (this.layout === 'snowflake') {
|
|
7888
|
-
return
|
|
7911
|
+
return this.hasValue || this.hasFocus || this.placeholder ? 'body-xs' : 'body-lg';
|
|
7889
7912
|
}
|
|
7890
7913
|
|
|
7891
7914
|
// classic layout (default)
|
|
7892
|
-
return
|
|
7915
|
+
return ((!this.value || this.value.length === 0) && !this.placeholder && !this.hasFocus) ? 'body-default' : 'body-xs';
|
|
7893
7916
|
}
|
|
7894
7917
|
|
|
7895
7918
|
/**
|
|
@@ -7899,7 +7922,17 @@ class AuroInput extends BaseInput {
|
|
|
7899
7922
|
*/
|
|
7900
7923
|
get inputFontClass() {
|
|
7901
7924
|
if (this.layout.startsWith('emphasized')) {
|
|
7902
|
-
|
|
7925
|
+
let typeSize = 'accent-xl';
|
|
7926
|
+
|
|
7927
|
+
if (this.hasDisplayValueContent) {
|
|
7928
|
+
if (!this.hasValue) {
|
|
7929
|
+
typeSize = 'body-sm';
|
|
7930
|
+
}
|
|
7931
|
+
} else if (this.noFocusOrValue) {
|
|
7932
|
+
typeSize = 'body-sm';
|
|
7933
|
+
}
|
|
7934
|
+
|
|
7935
|
+
return typeSize;
|
|
7903
7936
|
}
|
|
7904
7937
|
|
|
7905
7938
|
if (this.layout === 'snowflake') {
|
|
@@ -7942,6 +7975,13 @@ class AuroInput extends BaseInput {
|
|
|
7942
7975
|
};
|
|
7943
7976
|
}
|
|
7944
7977
|
|
|
7978
|
+
get commonDisplayValueWrapperClasses() {
|
|
7979
|
+
return {
|
|
7980
|
+
'displayValueWrapper': true,
|
|
7981
|
+
[this.inputFontClass]: true,
|
|
7982
|
+
};
|
|
7983
|
+
}
|
|
7984
|
+
|
|
7945
7985
|
/**
|
|
7946
7986
|
* Returns classmap configuration for html5 inputs in each layout.
|
|
7947
7987
|
* @private
|
|
@@ -8014,7 +8054,7 @@ class AuroInput extends BaseInput {
|
|
|
8014
8054
|
let nodes = this.shadowRoot.querySelector('slot[name="displayValue"]').assignedNodes();
|
|
8015
8055
|
|
|
8016
8056
|
// Handle when DisplayValue is multi-level slot content (e.g. combobox passing displayValue to input)
|
|
8017
|
-
if (nodes[0].tagName === 'SLOT') {
|
|
8057
|
+
if (nodes && nodes[0] && nodes[0].tagName === 'SLOT') {
|
|
8018
8058
|
nodes = nodes[0].assignedNodes();
|
|
8019
8059
|
}
|
|
8020
8060
|
|
|
@@ -8105,7 +8145,7 @@ class AuroInput extends BaseInput {
|
|
|
8105
8145
|
type="${this.type === "password" && this.showPassword ? "text" : this.getInputType(this.type)}"
|
|
8106
8146
|
/>
|
|
8107
8147
|
<div class="${classMap(displayValueClasses)}" aria-hidden="true" part="displayValue">
|
|
8108
|
-
<div class="
|
|
8148
|
+
<div class="${classMap(this.commonDisplayValueWrapperClasses)}">
|
|
8109
8149
|
<slot name="displayValue" @slotchange=${this.checkDisplayValueSlotChange}></slot>
|
|
8110
8150
|
</div>
|
|
8111
8151
|
</div>
|
|
@@ -40,7 +40,7 @@ class AuroElement extends LitElement {
|
|
|
40
40
|
* @returns {boolean} - Returns true if the element has focus.
|
|
41
41
|
*/
|
|
42
42
|
get componentHasFocus() {
|
|
43
|
-
return this.matches(':focus');
|
|
43
|
+
return this.matches(':focus') || this.matches(':focus-within');
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
resetShapeClasses() {
|
|
@@ -40,7 +40,7 @@ class AuroElement extends LitElement {
|
|
|
40
40
|
* @returns {boolean} - Returns true if the element has focus.
|
|
41
41
|
*/
|
|
42
42
|
get componentHasFocus() {
|
|
43
|
-
return this.matches(':focus');
|
|
43
|
+
return this.matches(':focus') || this.matches(':focus-within');
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
resetShapeClasses() {
|
|
@@ -22,9 +22,10 @@ The auro-menu element provides users a way to select from a list of options.
|
|
|
22
22
|
|
|
23
23
|
## Methods
|
|
24
24
|
|
|
25
|
-
| Method
|
|
26
|
-
|
|
27
|
-
| [reset](#reset)
|
|
25
|
+
| Method | Type | Description |
|
|
26
|
+
|----------------------|-------------------------|--------------------------------------------------|
|
|
27
|
+
| [reset](#reset) | `(): void` | Resets the menu to its initial state.<br />This is the only way to return value to undefined. |
|
|
28
|
+
| [updateActiveOption](#updateActiveOption) | `(index: number): void` | Updates the active option state and dispatches events.<br /><br />**index**: Index of the option to make active. |
|
|
28
29
|
|
|
29
30
|
## Events
|
|
30
31
|
|