@descope/web-components-ui 1.0.79 → 1.0.81
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/dist/cjs/index.cjs.js.map +1 -1
- package/dist/index.esm.js +1236 -598
- package/dist/index.esm.js.map +1 -1
- package/dist/umd/387.js +1 -0
- package/dist/umd/988.js +1 -1
- package/dist/umd/descope-checkbox-descope-checkbox-internal-index-js.js +1 -0
- package/dist/umd/descope-checkbox-index-js.js +1 -1
- package/dist/umd/descope-new-password-descope-new-password-internal-index-js.js +1 -0
- package/dist/umd/descope-new-password-index-js.js +1 -0
- package/dist/umd/descope-passcode-descope-passcode-internal-index-js.js +1 -1
- package/dist/umd/descope-password-field-index-js.js +1 -1
- package/dist/umd/descope-phone-field-descope-phone-field-internal-index-js.js +1 -1
- package/dist/umd/descope-phone-field-index-js.js +1 -1
- package/dist/umd/index.js +1 -1
- package/package.json +1 -1
- package/src/components/descope-checkbox/Checkbox.js +161 -13
- package/src/components/descope-checkbox/descope-checkbox-internal/CheckboxInternal.js +63 -0
- package/src/components/descope-checkbox/descope-checkbox-internal/index.js +3 -0
- package/src/components/descope-checkbox/index.js +3 -3
- package/src/components/descope-new-password/NewPassword.js +129 -0
- package/src/components/descope-new-password/descope-new-password-internal/NewPasswordInternal.js +189 -0
- package/src/components/descope-new-password/descope-new-password-internal/componentName.js +3 -0
- package/src/components/descope-new-password/descope-new-password-internal/index.js +4 -0
- package/src/components/descope-new-password/index.js +6 -0
- package/src/components/descope-passcode/descope-passcode-internal/PasscodeInternal.js +3 -0
- package/src/components/descope-password-field/PasswordField.js +37 -36
- package/src/components/descope-phone-field/PhoneField.js +3 -2
- package/src/components/descope-phone-field/descope-phone-field-internal/PhoneFieldInternal.js +4 -1
- package/src/components/descope-switch-toggle/SwitchToggle.js +1 -1
- package/src/components/descope-switch-toggle/index.js +1 -1
- package/src/helpers/componentHelpers.js +3 -3
- package/src/index.js +1 -0
- package/src/mixins/createProxy.js +2 -25
- package/src/mixins/inputEventsDispatchingMixin.js +15 -15
- package/src/mixins/inputValidationMixin.js +6 -2
- package/src/mixins/proxyInputMixin.js +6 -36
- package/src/theme/components/checkbox.js +71 -1
- package/src/theme/components/index.js +3 -1
- package/src/theme/components/newPassword.js +48 -0
- package/src/theme/components/passwordField.js +55 -3
- package/src/theme/components/switchToggle.js +4 -4
@@ -64,21 +64,6 @@ export const proxyInputMixin = (superclass) =>
|
|
64
64
|
return this.inputElement.validity
|
65
65
|
}
|
66
66
|
|
67
|
-
reportValidityOnInternalInput() {
|
68
|
-
setTimeout(() => {
|
69
|
-
this.inputElement.focus();
|
70
|
-
this.inputElement.reportValidity()
|
71
|
-
})
|
72
|
-
}
|
73
|
-
|
74
|
-
// we want reportValidity to behave like form submission
|
75
|
-
reportValidity() {
|
76
|
-
if (!this.checkValidity()) {
|
77
|
-
this.setAttribute('invalid', 'true');
|
78
|
-
this.reportValidityOnInternalInput();
|
79
|
-
}
|
80
|
-
}
|
81
|
-
|
82
67
|
handleInternalInputErrorMessage() {
|
83
68
|
if (!this.inputElement.checkValidity()) {
|
84
69
|
this.inputElement.setCustomValidity(this.validationMessage)
|
@@ -120,30 +105,15 @@ export const proxyInputMixin = (superclass) =>
|
|
120
105
|
}
|
121
106
|
})
|
122
107
|
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
if (e.relatedTarget?.form && e.relatedTarget?.form === this.form && e.relatedTarget?.nodeName === 'BUTTON') {
|
128
|
-
if (!this.checkValidity()) {
|
129
|
-
this.setAttribute('invalid', 'true');
|
130
|
-
}
|
131
|
-
|
132
|
-
if (this.hasAttribute('invalid')) {
|
133
|
-
this.reportValidityOnInternalInput()
|
134
|
-
}
|
108
|
+
|
109
|
+
this.addEventListener('invalid', () => {
|
110
|
+
if (!this.checkValidity()) {
|
111
|
+
this.setAttribute('invalid', 'true');
|
135
112
|
}
|
113
|
+
this.#handleErrorMessage()
|
136
114
|
})
|
137
115
|
|
138
|
-
this.
|
139
|
-
|
140
|
-
this.handleInternalInputErrorMessage()
|
141
|
-
|
142
|
-
// this is needed in order to make sure the form input validation is working
|
143
|
-
// we do not want it to happen when the component is nested
|
144
|
-
if (!this.hasAttribute('tabindex') && this.getRootNode() === document) {
|
145
|
-
this.setAttribute('tabindex', 0);
|
146
|
-
}
|
116
|
+
this.handleInternalInputErrorMessage();
|
147
117
|
|
148
118
|
// sync properties
|
149
119
|
propertyObserver(this, this.inputElement, 'value');
|
@@ -1,10 +1,80 @@
|
|
1
|
+
import globals from '../globals';
|
2
|
+
import { getThemeRefs } from '../../helpers/themeHelpers';
|
1
3
|
import Checkbox from '../../components/descope-checkbox/Checkbox';
|
2
4
|
|
5
|
+
const globalRefs = getThemeRefs(globals);
|
3
6
|
const vars = Checkbox.cssVarList;
|
4
7
|
|
5
8
|
const checkbox = {
|
9
|
+
[vars.checkboxBackgroundColor]: globalRefs.colors.surface.main,
|
10
|
+
|
11
|
+
[vars.labelFontSize]: '12px',
|
12
|
+
[vars.labelFontWeight]: '400',
|
13
|
+
[vars.labelTextColor]: globalRefs.colors.surface.contrast,
|
6
14
|
[vars.cursor]: 'pointer',
|
7
|
-
|
15
|
+
|
16
|
+
[vars.checkboxWidth]: 'calc(1em - 2px)',
|
17
|
+
[vars.checkboxHeight]: 'calc(1em - 2px)',
|
18
|
+
[vars.labelMargin]: 'calc(1em + 5px)',
|
19
|
+
|
20
|
+
size: {
|
21
|
+
xs: {
|
22
|
+
[vars.labelFontSize]: '12px',
|
23
|
+
[vars.labelLineHeight]: '1.1em',
|
24
|
+
[vars.checkmarkSize]: '18px',
|
25
|
+
[vars.checkboxRadius]: globalRefs.radius.sm,
|
26
|
+
},
|
27
|
+
sm: {
|
28
|
+
[vars.labelFontSize]: '14px',
|
29
|
+
[vars.labelLineHeight]: '1.2em',
|
30
|
+
[vars.checkmarkSize]: '22px',
|
31
|
+
[vars.checkboxRadius]: globalRefs.radius.sm,
|
32
|
+
},
|
33
|
+
md: {
|
34
|
+
[vars.labelFontSize]: '16px',
|
35
|
+
[vars.labelLineHeight]: '1.35em',
|
36
|
+
[vars.checkmarkSize]: '26px',
|
37
|
+
[vars.checkboxRadius]: globalRefs.radius.sm,
|
38
|
+
},
|
39
|
+
lg: {
|
40
|
+
[vars.labelFontSize]: '20px',
|
41
|
+
[vars.labelLineHeight]: '1.5em',
|
42
|
+
[vars.checkmarkSize]: '34px',
|
43
|
+
[vars.checkboxRadius]: globalRefs.radius.sm,
|
44
|
+
},
|
45
|
+
xl: {
|
46
|
+
[vars.labelFontSize]: '20px',
|
47
|
+
[vars.labelLineHeight]: '1.75em',
|
48
|
+
[vars.checkmarkSize]: '38px',
|
49
|
+
[vars.checkboxRadius]: globalRefs.radius.sm,
|
50
|
+
}
|
51
|
+
},
|
52
|
+
|
53
|
+
_fullWidth: {
|
54
|
+
[vars.width]: '100%',
|
55
|
+
},
|
56
|
+
|
57
|
+
_checked: {
|
58
|
+
[vars.checkboxBackgroundColor]: globalRefs.colors.primary.main,
|
59
|
+
[vars.checkmarkTextColor]: globalRefs.colors.primary.contrast,
|
60
|
+
},
|
61
|
+
|
62
|
+
_disabled: {
|
63
|
+
[vars.checkboxBackgroundColor]: globalRefs.colors.surface.main,
|
64
|
+
},
|
65
|
+
|
66
|
+
_focusRing: {
|
67
|
+
[vars.checkboxOutlineWidth]: '2px',
|
68
|
+
[vars.checkboxOutlineOffset]: '1px',
|
69
|
+
[vars.checkboxOutlineColor]: globalRefs.colors.primary.main,
|
70
|
+
[vars.checkboxOutlineStyle]: 'solid'
|
71
|
+
},
|
72
|
+
|
73
|
+
_invalid: {
|
74
|
+
[vars.checkboxOutlineColor]: globalRefs.colors.error.main,
|
75
|
+
[vars.labelTextColor]: globalRefs.colors.error.main
|
76
|
+
},
|
77
|
+
|
8
78
|
};
|
9
79
|
|
10
80
|
export default checkbox;
|
@@ -16,6 +16,7 @@ import { loaderRadial, loaderLinear } from './loader';
|
|
16
16
|
import comboBox from './comboBox';
|
17
17
|
import image from './image';
|
18
18
|
import phoneField from './phoneField';
|
19
|
+
import newPassword from './newPassword';
|
19
20
|
|
20
21
|
export default {
|
21
22
|
button,
|
@@ -36,5 +37,6 @@ export default {
|
|
36
37
|
loaderLinear,
|
37
38
|
comboBox,
|
38
39
|
image,
|
39
|
-
phoneField
|
40
|
+
phoneField,
|
41
|
+
newPassword,
|
40
42
|
};
|
@@ -0,0 +1,48 @@
|
|
1
|
+
import globals from '../globals';
|
2
|
+
import { getThemeRefs } from '../../helpers/themeHelpers';
|
3
|
+
import NewPassword from '../../components/descope-new-password/NewPassword';
|
4
|
+
|
5
|
+
const globalRefs = getThemeRefs(globals);
|
6
|
+
|
7
|
+
const vars = NewPassword.cssVarList;
|
8
|
+
|
9
|
+
const newPassword = {
|
10
|
+
_required: {
|
11
|
+
[vars.requiredContent]: "'*'",
|
12
|
+
},
|
13
|
+
|
14
|
+
[vars.inputLabelTextColor]: globalRefs.colors.surface.contrast,
|
15
|
+
[vars.inputTextColor]: globalRefs.colors.surface.contrast,
|
16
|
+
[vars.placeholderTextColor]: globalRefs.colors.surface.main,
|
17
|
+
[vars.inputsGap]: '1em',
|
18
|
+
|
19
|
+
size: {
|
20
|
+
xs: {
|
21
|
+
[vars.fieldsMargin]: '0',
|
22
|
+
},
|
23
|
+
sm: {
|
24
|
+
[vars.fieldsMargin]: '0',
|
25
|
+
},
|
26
|
+
md: {
|
27
|
+
[vars.fieldsMargin]: '0.5em',
|
28
|
+
},
|
29
|
+
lg: {
|
30
|
+
[vars.fieldsMargin]: '1em',
|
31
|
+
},
|
32
|
+
xl: {
|
33
|
+
[vars.fieldsMargin]: '2em',
|
34
|
+
},
|
35
|
+
},
|
36
|
+
|
37
|
+
_fullWidth: {
|
38
|
+
[vars.componentWidth]: '100%'
|
39
|
+
},
|
40
|
+
|
41
|
+
_invalid: {
|
42
|
+
[vars.inputLabelTextColor]: globalRefs.colors.error.main,
|
43
|
+
[vars.inputTextColor]: globalRefs.colors.error.main,
|
44
|
+
[vars.placeholderTextColor]: globalRefs.colors.error.light,
|
45
|
+
}
|
46
|
+
};
|
47
|
+
|
48
|
+
export default newPassword;
|
@@ -1,11 +1,63 @@
|
|
1
1
|
import PasswordField from '../../components/descope-password-field/PasswordField';
|
2
|
-
import
|
2
|
+
import globals from '../globals';
|
3
|
+
import { getThemeRefs } from '../../helpers/themeHelpers';
|
4
|
+
|
5
|
+
const globalRefs = getThemeRefs(globals);
|
3
6
|
|
4
7
|
const vars = PasswordField.cssVarList;
|
5
8
|
|
6
9
|
const passwordField = {
|
7
|
-
|
8
|
-
[vars.
|
10
|
+
[vars.wrapperBorderStyle]: 'solid',
|
11
|
+
[vars.wrapperBorderWidth]: '1px',
|
12
|
+
[vars.wrapperBorderColor]: 'transparent',
|
13
|
+
[vars.wrapperBorderRadius]: globalRefs.radius.sm,
|
14
|
+
|
15
|
+
[vars.labelTextColor]: globalRefs.colors.surface.contrast,
|
16
|
+
[vars.inputTextColor]: globalRefs.colors.surface.contrast,
|
17
|
+
[vars.placeholderTextColor]: globalRefs.colors.surface.main,
|
18
|
+
|
19
|
+
[vars.pointerCursor]: 'pointer',
|
20
|
+
|
21
|
+
[vars.padding]: `0`,
|
22
|
+
|
23
|
+
size: {
|
24
|
+
xs: {
|
25
|
+
[vars.height]: '14px',
|
26
|
+
[vars.fontSize]: '8px',
|
27
|
+
},
|
28
|
+
sm: {
|
29
|
+
[vars.height]: '20px',
|
30
|
+
[vars.fontSize]: '10px',
|
31
|
+
},
|
32
|
+
md: {
|
33
|
+
[vars.height]: '30px',
|
34
|
+
[vars.fontSize]: '14px',
|
35
|
+
},
|
36
|
+
lg: {
|
37
|
+
[vars.height]: '40px',
|
38
|
+
[vars.fontSize]: '20px',
|
39
|
+
},
|
40
|
+
xl: {
|
41
|
+
[vars.height]: '50px',
|
42
|
+
[vars.fontSize]: '25px',
|
43
|
+
}
|
44
|
+
},
|
45
|
+
|
46
|
+
_bordered: {
|
47
|
+
[vars.padding]: `0 0.5em`,
|
48
|
+
[vars.wrapperBorderColor]: globalRefs.colors.surface.main
|
49
|
+
},
|
50
|
+
|
51
|
+
_fullWidth: {
|
52
|
+
[vars.width]: '100%'
|
53
|
+
},
|
54
|
+
|
55
|
+
_invalid: {
|
56
|
+
[vars.labelTextColor]: globalRefs.colors.error.main,
|
57
|
+
[vars.inputTextColor]: globalRefs.colors.error.main,
|
58
|
+
[vars.placeholderTextColor]: globalRefs.colors.error.light,
|
59
|
+
[vars.wrapperBorderColor]: globalRefs.colors.error.main
|
60
|
+
},
|
9
61
|
};
|
10
62
|
|
11
63
|
export default passwordField;
|
@@ -2,9 +2,9 @@ import SwitchToggle from '../../components/descope-switch-toggle/SwitchToggle';
|
|
2
2
|
|
3
3
|
const vars = SwitchToggle.cssVarList;
|
4
4
|
|
5
|
-
const
|
6
|
-
|
7
|
-
|
5
|
+
const switchToggle = {
|
6
|
+
[vars.width]: '70px',
|
7
|
+
[vars.cursor]: [{}, { selector: '> label' }]
|
8
8
|
};
|
9
9
|
|
10
|
-
export default
|
10
|
+
export default switchToggle;
|