@vaadin/login 24.7.0-alpha2 → 24.7.0-alpha4
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/package.json +13 -13
- package/src/vaadin-lit-login-form-wrapper.js +10 -3
- package/src/vaadin-lit-login-form.d.ts +1 -1
- package/src/vaadin-lit-login-form.js +2 -1
- package/src/vaadin-lit-login-overlay-wrapper.js +2 -2
- package/src/vaadin-lit-login-overlay.d.ts +1 -1
- package/src/vaadin-lit-login-overlay.js +3 -1
- package/src/vaadin-login-form-mixin.d.ts +1 -1
- package/src/vaadin-login-form-mixin.js +1 -1
- package/src/vaadin-login-form-wrapper-styles.d.ts +1 -1
- package/src/vaadin-login-form-wrapper-styles.js +1 -1
- package/src/vaadin-login-form-wrapper.js +10 -3
- package/src/vaadin-login-form.d.ts +1 -1
- package/src/vaadin-login-form.js +8 -2
- package/src/vaadin-login-mixin.d.ts +11 -1
- package/src/vaadin-login-mixin.js +14 -1
- package/src/vaadin-login-overlay-mixin.d.ts +1 -1
- package/src/vaadin-login-overlay-mixin.js +6 -1
- package/src/vaadin-login-overlay-wrapper-mixin.js +8 -1
- package/src/vaadin-login-overlay-wrapper-styles.d.ts +1 -1
- package/src/vaadin-login-overlay-wrapper-styles.js +2 -2
- package/src/vaadin-login-overlay-wrapper.js +2 -2
- package/src/vaadin-login-overlay.d.ts +1 -1
- package/src/vaadin-login-overlay.js +3 -1
- package/theme/lumo/vaadin-login-form-wrapper-styles.js +6 -0
- package/theme/lumo/vaadin-login-overlay-styles.js +6 -0
- package/theme/material/vaadin-login-form-wrapper-styles.js +8 -1
- package/theme/material/vaadin-login-overlay-styles.js +7 -4
- package/web-types.json +46 -2
- package/web-types.lit.json +16 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vaadin/login",
|
|
3
|
-
"version": "24.7.0-
|
|
3
|
+
"version": "24.7.0-alpha4",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -37,25 +37,25 @@
|
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@open-wc/dedupe-mixin": "^1.3.0",
|
|
39
39
|
"@polymer/polymer": "^3.0.0",
|
|
40
|
-
"@vaadin/button": "24.7.0-
|
|
41
|
-
"@vaadin/component-base": "24.7.0-
|
|
42
|
-
"@vaadin/overlay": "24.7.0-
|
|
43
|
-
"@vaadin/password-field": "24.7.0-
|
|
44
|
-
"@vaadin/text-field": "24.7.0-
|
|
45
|
-
"@vaadin/vaadin-lumo-styles": "24.7.0-
|
|
46
|
-
"@vaadin/vaadin-material-styles": "24.7.0-
|
|
47
|
-
"@vaadin/vaadin-themable-mixin": "24.7.0-
|
|
40
|
+
"@vaadin/button": "24.7.0-alpha4",
|
|
41
|
+
"@vaadin/component-base": "24.7.0-alpha4",
|
|
42
|
+
"@vaadin/overlay": "24.7.0-alpha4",
|
|
43
|
+
"@vaadin/password-field": "24.7.0-alpha4",
|
|
44
|
+
"@vaadin/text-field": "24.7.0-alpha4",
|
|
45
|
+
"@vaadin/vaadin-lumo-styles": "24.7.0-alpha4",
|
|
46
|
+
"@vaadin/vaadin-material-styles": "24.7.0-alpha4",
|
|
47
|
+
"@vaadin/vaadin-themable-mixin": "24.7.0-alpha4",
|
|
48
48
|
"lit": "^3.0.0"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
|
-
"@vaadin/chai-plugins": "24.7.0-
|
|
52
|
-
"@vaadin/checkbox": "24.7.0-
|
|
53
|
-
"@vaadin/testing-helpers": "^1.
|
|
51
|
+
"@vaadin/chai-plugins": "24.7.0-alpha4",
|
|
52
|
+
"@vaadin/checkbox": "24.7.0-alpha4",
|
|
53
|
+
"@vaadin/testing-helpers": "^1.1.0",
|
|
54
54
|
"sinon": "^18.0.0"
|
|
55
55
|
},
|
|
56
56
|
"web-types": [
|
|
57
57
|
"web-types.json",
|
|
58
58
|
"web-types.lit.json"
|
|
59
59
|
],
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "d7165cebf9dcf6a7e9e22f6353662d33404b4856"
|
|
61
61
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* Copyright (c) 2018 -
|
|
3
|
+
* Copyright (c) 2018 - 2025 Vaadin Ltd.
|
|
4
4
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
5
|
*/
|
|
6
6
|
import { html, LitElement } from 'lit';
|
|
@@ -44,6 +44,13 @@ class LoginFormWrapper extends ThemableMixin(PolylitMixin(LitElement)) {
|
|
|
44
44
|
i18n: {
|
|
45
45
|
type: Object,
|
|
46
46
|
},
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Used to customize the `aria-level` attribute on the heading element.
|
|
50
|
+
*/
|
|
51
|
+
headingLevel: {
|
|
52
|
+
type: Number,
|
|
53
|
+
},
|
|
47
54
|
};
|
|
48
55
|
}
|
|
49
56
|
|
|
@@ -51,9 +58,9 @@ class LoginFormWrapper extends ThemableMixin(PolylitMixin(LitElement)) {
|
|
|
51
58
|
render() {
|
|
52
59
|
return html`
|
|
53
60
|
<section part="form">
|
|
54
|
-
<
|
|
61
|
+
<div part="form-title" role="heading" aria-level="${this.headingLevel}">${this.i18n.form.title}</div>
|
|
55
62
|
<div part="error-message" ?hidden="${!this.error}">
|
|
56
|
-
<
|
|
63
|
+
<strong part="error-message-title">${this.i18n.errorMessage.title}</strong>
|
|
57
64
|
<p part="error-message-description">${this.i18n.errorMessage.message}</p>
|
|
58
65
|
</div>
|
|
59
66
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* Copyright (c) 2018 -
|
|
3
|
+
* Copyright (c) 2018 - 2025 Vaadin Ltd.
|
|
4
4
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
5
|
*/
|
|
6
6
|
import '@vaadin/button/src/vaadin-lit-button.js';
|
|
@@ -50,6 +50,7 @@ class LoginForm extends LoginFormMixin(ElementMixin(ThemableMixin(PolylitMixin(L
|
|
|
50
50
|
theme="${ifDefined(this._theme)}"
|
|
51
51
|
.error="${this.error}"
|
|
52
52
|
.i18n="${this.i18n}"
|
|
53
|
+
.headingLevel="${this.headingLevel}"
|
|
53
54
|
>
|
|
54
55
|
<form method="POST" action="${ifDefined(this.action)}" @formdata="${this._onFormData}" slot="form">
|
|
55
56
|
<input id="csrf" type="hidden" />
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* Copyright (c) 2018 -
|
|
3
|
+
* Copyright (c) 2018 - 2025 Vaadin Ltd.
|
|
4
4
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
5
|
*/
|
|
6
6
|
import { html, LitElement } from 'lit';
|
|
@@ -35,7 +35,7 @@ class LoginOverlayWrapper extends LoginOverlayWrapperMixin(ThemableMixin(Polylit
|
|
|
35
35
|
<section part="card">
|
|
36
36
|
<div part="brand">
|
|
37
37
|
<slot name="title">
|
|
38
|
-
<
|
|
38
|
+
<div part="title" role="heading" aria-level="${this.headingLevel}">${this.title}</div>
|
|
39
39
|
</slot>
|
|
40
40
|
<p part="description">${this.description}</p>
|
|
41
41
|
</div>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* Copyright (c) 2018 -
|
|
3
|
+
* Copyright (c) 2018 - 2025 Vaadin Ltd.
|
|
4
4
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
5
|
*/
|
|
6
6
|
import './vaadin-lit-login-form.js';
|
|
@@ -35,6 +35,7 @@ class LoginOverlay extends LoginOverlayMixin(ElementMixin(ThemableMixin(PolylitM
|
|
|
35
35
|
.opened="${this.opened}"
|
|
36
36
|
.title="${this.title}"
|
|
37
37
|
.description="${this.description}"
|
|
38
|
+
.headingLevel="${this.headingLevel}"
|
|
38
39
|
role="dialog"
|
|
39
40
|
focus-trap
|
|
40
41
|
with-backdrop
|
|
@@ -51,6 +52,7 @@ class LoginOverlay extends LoginOverlayMixin(ElementMixin(ThemableMixin(PolylitM
|
|
|
51
52
|
.error="${this.error}"
|
|
52
53
|
.noAutofocus="${this.noAutofocus}"
|
|
53
54
|
.noForgotPassword="${this.noForgotPassword}"
|
|
55
|
+
.headingLevel="${this.__computeHeadingLevel(this.headingLevel)}"
|
|
54
56
|
.i18n="${this.i18n}"
|
|
55
57
|
@login="${this._retargetEvent}"
|
|
56
58
|
@forgot-password="${this._retargetEvent}"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* Copyright (c) 2018 -
|
|
3
|
+
* Copyright (c) 2018 - 2025 Vaadin Ltd.
|
|
4
4
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
5
|
*/
|
|
6
6
|
import type { Constructor } from '@open-wc/dedupe-mixin';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* Copyright (c) 2018 -
|
|
3
|
+
* Copyright (c) 2018 - 2025 Vaadin Ltd.
|
|
4
4
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
5
|
*/
|
|
6
6
|
import { html, PolymerElement } from '@polymer/polymer/polymer-element.js';
|
|
@@ -23,9 +23,9 @@ class LoginFormWrapper extends ThemableMixin(PolymerElement) {
|
|
|
23
23
|
static get template() {
|
|
24
24
|
return html`
|
|
25
25
|
<section part="form">
|
|
26
|
-
<
|
|
26
|
+
<div part="form-title" part="form-title" role="heading" aria-level$="[[headingLevel]]">[[i18n.form.title]]</div>
|
|
27
27
|
<div part="error-message" hidden$="[[!error]]">
|
|
28
|
-
<
|
|
28
|
+
<strong part="error-message-title">[[i18n.errorMessage.title]]</strong>
|
|
29
29
|
<p part="error-message-description">[[i18n.errorMessage.message]]</p>
|
|
30
30
|
</div>
|
|
31
31
|
|
|
@@ -68,6 +68,13 @@ class LoginFormWrapper extends ThemableMixin(PolymerElement) {
|
|
|
68
68
|
i18n: {
|
|
69
69
|
type: Object,
|
|
70
70
|
},
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Used to customize the `aria-level` attribute on the heading element.
|
|
74
|
+
*/
|
|
75
|
+
headingLevel: {
|
|
76
|
+
type: Number,
|
|
77
|
+
},
|
|
71
78
|
};
|
|
72
79
|
}
|
|
73
80
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* Copyright (c) 2018 -
|
|
3
|
+
* Copyright (c) 2018 - 2025 Vaadin Ltd.
|
|
4
4
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
5
|
*/
|
|
6
6
|
import { ElementMixin } from '@vaadin/component-base/src/element-mixin.js';
|
package/src/vaadin-login-form.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* Copyright (c) 2018 -
|
|
3
|
+
* Copyright (c) 2018 - 2025 Vaadin Ltd.
|
|
4
4
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
5
|
*/
|
|
6
6
|
import '@vaadin/button/src/vaadin-button.js';
|
|
@@ -61,7 +61,13 @@ class LoginForm extends LoginFormMixin(ElementMixin(ThemableMixin(PolymerElement
|
|
|
61
61
|
width: 100%;
|
|
62
62
|
}
|
|
63
63
|
</style>
|
|
64
|
-
<vaadin-login-form-wrapper
|
|
64
|
+
<vaadin-login-form-wrapper
|
|
65
|
+
id="vaadinLoginFormWrapper"
|
|
66
|
+
theme$="[[_theme]]"
|
|
67
|
+
error="[[error]]"
|
|
68
|
+
i18n="[[i18n]]"
|
|
69
|
+
heading-level="[[headingLevel]]"
|
|
70
|
+
>
|
|
65
71
|
<form method="POST" action$="[[action]]" on-formdata="_onFormData" slot="form">
|
|
66
72
|
<input id="csrf" type="hidden" />
|
|
67
73
|
<vaadin-text-field
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* Copyright (c) 2018 -
|
|
3
|
+
* Copyright (c) 2018 - 2025 Vaadin Ltd.
|
|
4
4
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
5
|
*/
|
|
6
6
|
import type { Constructor } from '@open-wc/dedupe-mixin';
|
|
@@ -93,4 +93,14 @@ export declare class LoginMixinClass {
|
|
|
93
93
|
* ```
|
|
94
94
|
*/
|
|
95
95
|
i18n: LoginI18n;
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Sets the root heading level (`aria-level`) for the heading hierarchy. Default value: 1.
|
|
99
|
+
* Child headings automatically increment from this base level i.e. standalone login form
|
|
100
|
+
* renders its title as `<h1>`, whereas the form in the overlay uses `<h2>`, as the `<h1>`
|
|
101
|
+
* element is used by the overlay's own title.
|
|
102
|
+
*
|
|
103
|
+
* @attr {number} heading-level
|
|
104
|
+
*/
|
|
105
|
+
headingLevel: number;
|
|
96
106
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* Copyright (c) 2018 -
|
|
3
|
+
* Copyright (c) 2018 - 2025 Vaadin Ltd.
|
|
4
4
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
5
|
*/
|
|
6
6
|
|
|
@@ -134,6 +134,19 @@ export const LoginMixin = (superClass) =>
|
|
|
134
134
|
},
|
|
135
135
|
},
|
|
136
136
|
|
|
137
|
+
/**
|
|
138
|
+
* Sets the root heading level (`aria-level`) for the heading hierarchy. Default value: 1.
|
|
139
|
+
* Child headings automatically increment from this base level i.e. standalone login form
|
|
140
|
+
* renders its title as `<h1>`, whereas the form in the overlay uses `<h2>`, as the `<h1>`
|
|
141
|
+
* element is used by the overlay's own title.
|
|
142
|
+
*
|
|
143
|
+
* @attr {number} heading-level
|
|
144
|
+
*/
|
|
145
|
+
headingLevel: {
|
|
146
|
+
type: Number,
|
|
147
|
+
value: 1,
|
|
148
|
+
},
|
|
149
|
+
|
|
137
150
|
/**
|
|
138
151
|
* If set, prevents auto enabling the component when error property is set to true.
|
|
139
152
|
* @private
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* Copyright (c) 2018 -
|
|
3
|
+
* Copyright (c) 2018 - 2025 Vaadin Ltd.
|
|
4
4
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
5
|
*/
|
|
6
6
|
import type { Constructor } from '@open-wc/dedupe-mixin';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* Copyright (c) 2018 -
|
|
3
|
+
* Copyright (c) 2018 - 2025 Vaadin Ltd.
|
|
4
4
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
5
|
*/
|
|
6
6
|
import { OverlayClassMixin } from '@vaadin/component-base/src/overlay-class-mixin.js';
|
|
@@ -159,4 +159,9 @@ export const LoginOverlayMixin = (superClass) =>
|
|
|
159
159
|
this.append(...teleported);
|
|
160
160
|
};
|
|
161
161
|
}
|
|
162
|
+
|
|
163
|
+
/** @private */
|
|
164
|
+
__computeHeadingLevel(headingLevel) {
|
|
165
|
+
return headingLevel + 1;
|
|
166
|
+
}
|
|
162
167
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* Copyright (c) 2018 -
|
|
3
|
+
* Copyright (c) 2018 - 2025 Vaadin Ltd.
|
|
4
4
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
5
|
*/
|
|
6
6
|
import { DirMixin } from '@vaadin/component-base/src/dir-mixin.js';
|
|
@@ -31,6 +31,13 @@ export const LoginOverlayWrapperMixin = (superClass) =>
|
|
|
31
31
|
description: {
|
|
32
32
|
type: String,
|
|
33
33
|
},
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Used to customize the `aria-level` attribute on the heading element.
|
|
37
|
+
*/
|
|
38
|
+
headingLevel: {
|
|
39
|
+
type: Number,
|
|
40
|
+
},
|
|
34
41
|
};
|
|
35
42
|
}
|
|
36
43
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* Copyright (c) 2018 -
|
|
3
|
+
* Copyright (c) 2018 - 2025 Vaadin Ltd.
|
|
4
4
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
5
|
*/
|
|
6
6
|
import { css } from 'lit';
|
|
@@ -28,7 +28,7 @@ export const loginOverlayWrapperStyles = css`
|
|
|
28
28
|
justify-content: flex-end;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
[part='
|
|
31
|
+
[part='title'] {
|
|
32
32
|
color: inherit;
|
|
33
33
|
margin: 0;
|
|
34
34
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* Copyright (c) 2018 -
|
|
3
|
+
* Copyright (c) 2018 - 2025 Vaadin Ltd.
|
|
4
4
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
5
|
*/
|
|
6
6
|
import { html, PolymerElement } from '@polymer/polymer/polymer-element.js';
|
|
@@ -35,7 +35,7 @@ class LoginOverlayWrapper extends LoginOverlayWrapperMixin(ThemableMixin(Polymer
|
|
|
35
35
|
<section part="card">
|
|
36
36
|
<div part="brand">
|
|
37
37
|
<slot name="title">
|
|
38
|
-
<
|
|
38
|
+
<div part="title" role="heading" aria-level$="[[headingLevel]]">[[title]]</div>
|
|
39
39
|
</slot>
|
|
40
40
|
<p part="description">[[description]]</p>
|
|
41
41
|
</div>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* Copyright (c) 2018 -
|
|
3
|
+
* Copyright (c) 2018 - 2025 Vaadin Ltd.
|
|
4
4
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
5
|
*/
|
|
6
6
|
import { ElementMixin } from '@vaadin/component-base/src/element-mixin.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* Copyright (c) 2018 -
|
|
3
|
+
* Copyright (c) 2018 - 2025 Vaadin Ltd.
|
|
4
4
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
5
|
*/
|
|
6
6
|
import './vaadin-login-form.js';
|
|
@@ -61,6 +61,7 @@ class LoginOverlay extends LoginOverlayMixin(ElementMixin(ThemableMixin(PolymerE
|
|
|
61
61
|
with-backdrop
|
|
62
62
|
title="[[title]]"
|
|
63
63
|
description="[[description]]"
|
|
64
|
+
heading-level="[[headingLevel]]"
|
|
64
65
|
theme$="[[_theme]]"
|
|
65
66
|
on-vaadin-overlay-escape-press="_preventClosingLogin"
|
|
66
67
|
on-vaadin-overlay-outside-click="_preventClosingLogin"
|
|
@@ -71,6 +72,7 @@ class LoginOverlay extends LoginOverlayMixin(ElementMixin(ThemableMixin(PolymerE
|
|
|
71
72
|
action="[[action]]"
|
|
72
73
|
disabled="{{disabled}}"
|
|
73
74
|
error="{{error}}"
|
|
75
|
+
heading-level="[[__computeHeadingLevel(headingLevel)]]"
|
|
74
76
|
no-autofocus="[[noAutofocus]]"
|
|
75
77
|
no-forgot-password="[[noForgotPassword]]"
|
|
76
78
|
i18n="{{i18n}}"
|
|
@@ -15,6 +15,10 @@ const loginFormWrapper = css`
|
|
|
15
15
|
|
|
16
16
|
[part='form-title'] {
|
|
17
17
|
margin-top: calc(var(--lumo-font-size-xxxl) - var(--lumo-font-size-xxl));
|
|
18
|
+
color: var(--lumo-header-text-color);
|
|
19
|
+
font-size: var(--lumo-font-size-xxl);
|
|
20
|
+
font-weight: 600;
|
|
21
|
+
line-height: var(--lumo-line-height-xs);
|
|
18
22
|
}
|
|
19
23
|
|
|
20
24
|
::slotted([slot='submit']) {
|
|
@@ -65,8 +69,10 @@ const loginFormWrapper = css`
|
|
|
65
69
|
}
|
|
66
70
|
|
|
67
71
|
[part='error-message-title'] {
|
|
72
|
+
display: block;
|
|
68
73
|
margin: 0 0 0.25em;
|
|
69
74
|
color: inherit;
|
|
75
|
+
line-height: var(--lumo-line-height-xs);
|
|
70
76
|
}
|
|
71
77
|
|
|
72
78
|
[part='error-message-description'] {
|
|
@@ -29,6 +29,12 @@ const loginOverlayWrapper = css`
|
|
|
29
29
|
min-height: calc(var(--lumo-size-m) * 5);
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
+
[part='title'] {
|
|
33
|
+
font-size: var(--lumo-font-size-xxxl);
|
|
34
|
+
font-weight: 600;
|
|
35
|
+
line-height: var(--lumo-line-height-xs);
|
|
36
|
+
}
|
|
37
|
+
|
|
32
38
|
[part='description'] {
|
|
33
39
|
line-height: var(--lumo-line-height-s);
|
|
34
40
|
color: var(--lumo-tint-70pct);
|
|
@@ -19,6 +19,10 @@ const loginFormWrapper = css`
|
|
|
19
19
|
[part='form-title'] {
|
|
20
20
|
margin-top: calc(var(--material-h3-font-size) - var(--material-h4-font-size));
|
|
21
21
|
font-size: var(--material-h5-font-size);
|
|
22
|
+
font-weight: 300;
|
|
23
|
+
line-height: 1.1;
|
|
24
|
+
letter-spacing: -0.01em;
|
|
25
|
+
text-indent: -0.07em;
|
|
22
26
|
}
|
|
23
27
|
|
|
24
28
|
::slotted([slot='submit']) {
|
|
@@ -78,9 +82,12 @@ const loginFormWrapper = css`
|
|
|
78
82
|
margin-right: calc(2.25rem * -0.95);
|
|
79
83
|
}
|
|
80
84
|
|
|
81
|
-
[part='error-message']
|
|
85
|
+
[part='error-message-title'] {
|
|
86
|
+
display: block;
|
|
82
87
|
margin: 0 0 0.25em;
|
|
83
88
|
color: inherit;
|
|
89
|
+
line-height: 1.1;
|
|
90
|
+
text-indent: -0.025em;
|
|
84
91
|
}
|
|
85
92
|
|
|
86
93
|
[part='error-message'] p {
|
|
@@ -58,11 +58,14 @@ const loginOverlayWrapper = css`
|
|
|
58
58
|
min-height: 225px;
|
|
59
59
|
}
|
|
60
60
|
|
|
61
|
-
[part='
|
|
61
|
+
[part='title'] {
|
|
62
62
|
color: inherit;
|
|
63
63
|
margin: 0;
|
|
64
64
|
font-weight: 500;
|
|
65
65
|
font-size: 2rem;
|
|
66
|
+
line-height: 1.1;
|
|
67
|
+
letter-spacing: -0.015em;
|
|
68
|
+
text-indent: -0.07em;
|
|
66
69
|
}
|
|
67
70
|
|
|
68
71
|
[part='form'] {
|
|
@@ -91,7 +94,7 @@ const loginOverlayWrapper = css`
|
|
|
91
94
|
padding: 0 2.5rem 5.5rem 2rem;
|
|
92
95
|
}
|
|
93
96
|
|
|
94
|
-
[part='
|
|
97
|
+
[part='title'] {
|
|
95
98
|
font-weight: 500;
|
|
96
99
|
font-size: 1.8rem;
|
|
97
100
|
text-indent: 1rem;
|
|
@@ -210,7 +213,7 @@ const loginOverlayWrapper = css`
|
|
|
210
213
|
box-sizing: border-box;
|
|
211
214
|
}
|
|
212
215
|
|
|
213
|
-
[part='
|
|
216
|
+
[part='title'] {
|
|
214
217
|
font-size: 2.5em;
|
|
215
218
|
}
|
|
216
219
|
|
|
@@ -311,7 +314,7 @@ const loginFormWrapper = css`
|
|
|
311
314
|
padding: 2rem 2.5rem 2rem 1.8rem;
|
|
312
315
|
}
|
|
313
316
|
|
|
314
|
-
:host([theme~='with-overlay']) [part='form']
|
|
317
|
+
:host([theme~='with-overlay']) [part='form-title'] {
|
|
315
318
|
text-align: center;
|
|
316
319
|
font-size: 1.8em;
|
|
317
320
|
font-weight: 500;
|
package/web-types.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/web-types",
|
|
3
3
|
"name": "@vaadin/login",
|
|
4
|
-
"version": "24.7.0-
|
|
4
|
+
"version": "24.7.0-alpha4",
|
|
5
5
|
"description-markup": "markdown",
|
|
6
6
|
"contributions": {
|
|
7
7
|
"html": {
|
|
@@ -56,6 +56,17 @@
|
|
|
56
56
|
]
|
|
57
57
|
}
|
|
58
58
|
},
|
|
59
|
+
{
|
|
60
|
+
"name": "heading-level",
|
|
61
|
+
"description": "Sets the root heading level (`aria-level`) for the heading hierarchy. Default value: 1.\nChild headings automatically increment from this base level i.e. standalone login form\nrenders its title as `<h1>`, whereas the form in the overlay uses `<h2>`, as the `<h1>`\nelement is used by the overlay's own title.",
|
|
62
|
+
"value": {
|
|
63
|
+
"type": [
|
|
64
|
+
"number",
|
|
65
|
+
"null",
|
|
66
|
+
"undefined"
|
|
67
|
+
]
|
|
68
|
+
}
|
|
69
|
+
},
|
|
59
70
|
{
|
|
60
71
|
"name": "theme",
|
|
61
72
|
"description": "The theme variants to apply to the component.",
|
|
@@ -124,6 +135,17 @@
|
|
|
124
135
|
"LoginI18n"
|
|
125
136
|
]
|
|
126
137
|
}
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"name": "headingLevel",
|
|
141
|
+
"description": "Sets the root heading level (`aria-level`) for the heading hierarchy. Default value: 1.\nChild headings automatically increment from this base level i.e. standalone login form\nrenders its title as `<h1>`, whereas the form in the overlay uses `<h2>`, as the `<h1>`\nelement is used by the overlay's own title.",
|
|
142
|
+
"value": {
|
|
143
|
+
"type": [
|
|
144
|
+
"number",
|
|
145
|
+
"null",
|
|
146
|
+
"undefined"
|
|
147
|
+
]
|
|
148
|
+
}
|
|
127
149
|
}
|
|
128
150
|
],
|
|
129
151
|
"events": [
|
|
@@ -148,7 +170,7 @@
|
|
|
148
170
|
},
|
|
149
171
|
{
|
|
150
172
|
"name": "vaadin-login-overlay",
|
|
151
|
-
"description": "`<vaadin-login-overlay>` is a wrapper of the `<vaadin-login-form>` which opens a login form in an overlay and\nhaving an additional `brand` part for application title and description. Using `<vaadin-login-overlay>` allows\npassword managers to work with login form.\n\n```\n<vaadin-login-overlay opened></vaadin-login-overlay>\n```\n\n### Styling\n\nThe component doesn't have a shadowRoot, so the `<form>` and input fields can be styled from a global scope.\nUse `<vaadin-login-overlay-wrapper>` and `<vaadin-login-form-wrapper>` to apply styles.\n\nThe following shadow DOM parts of the `<vaadin-login-overlay-wrapper>` are available for styling:\n\nPart name | Description\n----------------|---------------------------------------------------------|\n`card` | Container for the entire component's content\n`brand` | Container for application title and description\n`form` | Container for the `<vaadin-login-form>` component\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.\n\nSee [`<vaadin-login-form>`](https://cdn.vaadin.com/vaadin-web-components/24.7.0-
|
|
173
|
+
"description": "`<vaadin-login-overlay>` is a wrapper of the `<vaadin-login-form>` which opens a login form in an overlay and\nhaving an additional `brand` part for application title and description. Using `<vaadin-login-overlay>` allows\npassword managers to work with login form.\n\n```\n<vaadin-login-overlay opened></vaadin-login-overlay>\n```\n\n### Styling\n\nThe component doesn't have a shadowRoot, so the `<form>` and input fields can be styled from a global scope.\nUse `<vaadin-login-overlay-wrapper>` and `<vaadin-login-form-wrapper>` to apply styles.\n\nThe following shadow DOM parts of the `<vaadin-login-overlay-wrapper>` are available for styling:\n\nPart name | Description\n----------------|---------------------------------------------------------|\n`card` | Container for the entire component's content\n`brand` | Container for application title and description\n`form` | Container for the `<vaadin-login-form>` component\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.\n\nSee [`<vaadin-login-form>`](https://cdn.vaadin.com/vaadin-web-components/24.7.0-alpha4/#/elements/vaadin-login-form)\ndocumentation for `<vaadin-login-form-wrapper>` stylable parts.",
|
|
152
174
|
"attributes": [
|
|
153
175
|
{
|
|
154
176
|
"name": "action",
|
|
@@ -196,6 +218,17 @@
|
|
|
196
218
|
]
|
|
197
219
|
}
|
|
198
220
|
},
|
|
221
|
+
{
|
|
222
|
+
"name": "heading-level",
|
|
223
|
+
"description": "Sets the root heading level (`aria-level`) for the heading hierarchy. Default value: 1.\nChild headings automatically increment from this base level i.e. standalone login form\nrenders its title as `<h1>`, whereas the form in the overlay uses `<h2>`, as the `<h1>`\nelement is used by the overlay's own title.",
|
|
224
|
+
"value": {
|
|
225
|
+
"type": [
|
|
226
|
+
"number",
|
|
227
|
+
"null",
|
|
228
|
+
"undefined"
|
|
229
|
+
]
|
|
230
|
+
}
|
|
231
|
+
},
|
|
199
232
|
{
|
|
200
233
|
"name": "overlay-class",
|
|
201
234
|
"description": "A space-delimited list of CSS class names to set on the overlay element.\nThis property does not affect other CSS class names set manually via JS.\n\nNote, if the CSS class name was set with this property, clearing it will\nremove it from the overlay, even if the same class name was also added\nmanually, e.g. by using `classList.add()` in the `renderer` function.",
|
|
@@ -303,6 +336,17 @@
|
|
|
303
336
|
]
|
|
304
337
|
}
|
|
305
338
|
},
|
|
339
|
+
{
|
|
340
|
+
"name": "headingLevel",
|
|
341
|
+
"description": "Sets the root heading level (`aria-level`) for the heading hierarchy. Default value: 1.\nChild headings automatically increment from this base level i.e. standalone login form\nrenders its title as `<h1>`, whereas the form in the overlay uses `<h2>`, as the `<h1>`\nelement is used by the overlay's own title.",
|
|
342
|
+
"value": {
|
|
343
|
+
"type": [
|
|
344
|
+
"number",
|
|
345
|
+
"null",
|
|
346
|
+
"undefined"
|
|
347
|
+
]
|
|
348
|
+
}
|
|
349
|
+
},
|
|
306
350
|
{
|
|
307
351
|
"name": "overlayClass",
|
|
308
352
|
"description": "A space-delimited list of CSS class names to set on the overlay element.\nThis property does not affect other CSS class names set manually via JS.\n\nNote, if the CSS class name was set with this property, clearing it will\nremove it from the overlay, even if the same class name was also added\nmanually, e.g. by using `classList.add()` in the `renderer` function.",
|
package/web-types.lit.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/web-types",
|
|
3
3
|
"name": "@vaadin/login",
|
|
4
|
-
"version": "24.7.0-
|
|
4
|
+
"version": "24.7.0-alpha4",
|
|
5
5
|
"description-markup": "markdown",
|
|
6
6
|
"framework": "lit",
|
|
7
7
|
"framework-config": {
|
|
@@ -61,6 +61,13 @@
|
|
|
61
61
|
"kind": "expression"
|
|
62
62
|
}
|
|
63
63
|
},
|
|
64
|
+
{
|
|
65
|
+
"name": ".headingLevel",
|
|
66
|
+
"description": "Sets the root heading level (`aria-level`) for the heading hierarchy. Default value: 1.\nChild headings automatically increment from this base level i.e. standalone login form\nrenders its title as `<h1>`, whereas the form in the overlay uses `<h2>`, as the `<h1>`\nelement is used by the overlay's own title.",
|
|
67
|
+
"value": {
|
|
68
|
+
"kind": "expression"
|
|
69
|
+
}
|
|
70
|
+
},
|
|
64
71
|
{
|
|
65
72
|
"name": "@forgot-password",
|
|
66
73
|
"description": "Fired when user clicks on the \"Forgot password\" button.",
|
|
@@ -93,7 +100,7 @@
|
|
|
93
100
|
},
|
|
94
101
|
{
|
|
95
102
|
"name": "vaadin-login-overlay",
|
|
96
|
-
"description": "`<vaadin-login-overlay>` is a wrapper of the `<vaadin-login-form>` which opens a login form in an overlay and\nhaving an additional `brand` part for application title and description. Using `<vaadin-login-overlay>` allows\npassword managers to work with login form.\n\n```\n<vaadin-login-overlay opened></vaadin-login-overlay>\n```\n\n### Styling\n\nThe component doesn't have a shadowRoot, so the `<form>` and input fields can be styled from a global scope.\nUse `<vaadin-login-overlay-wrapper>` and `<vaadin-login-form-wrapper>` to apply styles.\n\nThe following shadow DOM parts of the `<vaadin-login-overlay-wrapper>` are available for styling:\n\nPart name | Description\n----------------|---------------------------------------------------------|\n`card` | Container for the entire component's content\n`brand` | Container for application title and description\n`form` | Container for the `<vaadin-login-form>` component\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.\n\nSee [`<vaadin-login-form>`](https://cdn.vaadin.com/vaadin-web-components/24.7.0-
|
|
103
|
+
"description": "`<vaadin-login-overlay>` is a wrapper of the `<vaadin-login-form>` which opens a login form in an overlay and\nhaving an additional `brand` part for application title and description. Using `<vaadin-login-overlay>` allows\npassword managers to work with login form.\n\n```\n<vaadin-login-overlay opened></vaadin-login-overlay>\n```\n\n### Styling\n\nThe component doesn't have a shadowRoot, so the `<form>` and input fields can be styled from a global scope.\nUse `<vaadin-login-overlay-wrapper>` and `<vaadin-login-form-wrapper>` to apply styles.\n\nThe following shadow DOM parts of the `<vaadin-login-overlay-wrapper>` are available for styling:\n\nPart name | Description\n----------------|---------------------------------------------------------|\n`card` | Container for the entire component's content\n`brand` | Container for application title and description\n`form` | Container for the `<vaadin-login-form>` component\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.\n\nSee [`<vaadin-login-form>`](https://cdn.vaadin.com/vaadin-web-components/24.7.0-alpha4/#/elements/vaadin-login-form)\ndocumentation for `<vaadin-login-form-wrapper>` stylable parts.",
|
|
97
104
|
"extension": true,
|
|
98
105
|
"attributes": [
|
|
99
106
|
{
|
|
@@ -145,6 +152,13 @@
|
|
|
145
152
|
"kind": "expression"
|
|
146
153
|
}
|
|
147
154
|
},
|
|
155
|
+
{
|
|
156
|
+
"name": ".headingLevel",
|
|
157
|
+
"description": "Sets the root heading level (`aria-level`) for the heading hierarchy. Default value: 1.\nChild headings automatically increment from this base level i.e. standalone login form\nrenders its title as `<h1>`, whereas the form in the overlay uses `<h2>`, as the `<h1>`\nelement is used by the overlay's own title.",
|
|
158
|
+
"value": {
|
|
159
|
+
"kind": "expression"
|
|
160
|
+
}
|
|
161
|
+
},
|
|
148
162
|
{
|
|
149
163
|
"name": ".overlayClass",
|
|
150
164
|
"description": "A space-delimited list of CSS class names to set on the overlay element.\nThis property does not affect other CSS class names set manually via JS.\n\nNote, if the CSS class name was set with this property, clearing it will\nremove it from the overlay, even if the same class name was also added\nmanually, e.g. by using `classList.add()` in the `renderer` function.",
|