@vaadin/login 25.0.0-alpha9 → 25.0.0-beta2
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 +14 -17
- package/src/styles/vaadin-login-form-wrapper-base-styles.js +8 -8
- package/src/styles/vaadin-login-overlay-wrapper-base-styles.js +6 -9
- package/src/vaadin-login-form-wrapper.js +1 -1
- package/src/vaadin-login-form.js +1 -1
- package/src/vaadin-login-mixin.d.ts +1 -1
- package/src/vaadin-login-mixin.js +1 -1
- package/src/vaadin-login-overlay-mixin.d.ts +1 -2
- package/src/vaadin-login-overlay-mixin.js +14 -3
- package/src/vaadin-login-overlay-wrapper.js +4 -3
- package/src/vaadin-login-overlay.d.ts +8 -0
- package/src/vaadin-login-overlay.js +13 -2
- package/vaadin-login-form.js +1 -1
- package/vaadin-login-overlay.js +1 -1
- package/web-types.json +7 -25
- package/web-types.lit.json +10 -10
- package/src/styles/vaadin-login-form-wrapper-core-styles.d.ts +0 -8
- package/src/styles/vaadin-login-form-wrapper-core-styles.js +0 -31
- package/src/styles/vaadin-login-overlay-wrapper-core-styles.d.ts +0 -8
- package/src/styles/vaadin-login-overlay-wrapper-core-styles.js +0 -38
- package/theme/lumo/vaadin-login-form-wrapper-styles.d.ts +0 -4
- package/theme/lumo/vaadin-login-form-wrapper-styles.js +0 -98
- package/theme/lumo/vaadin-login-form.d.ts +0 -5
- package/theme/lumo/vaadin-login-form.js +0 -5
- package/theme/lumo/vaadin-login-overlay-styles.d.ts +0 -3
- package/theme/lumo/vaadin-login-overlay-styles.js +0 -173
- package/theme/lumo/vaadin-login-overlay.d.ts +0 -6
- package/theme/lumo/vaadin-login-overlay.js +0 -6
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vaadin/login",
|
|
3
|
-
"version": "25.0.0-
|
|
3
|
+
"version": "25.0.0-beta2",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -21,9 +21,6 @@
|
|
|
21
21
|
"type": "module",
|
|
22
22
|
"files": [
|
|
23
23
|
"src",
|
|
24
|
-
"!src/styles/*-base-styles.d.ts",
|
|
25
|
-
"!src/styles/*-base-styles.js",
|
|
26
|
-
"theme",
|
|
27
24
|
"vaadin-*.d.ts",
|
|
28
25
|
"vaadin-*.js",
|
|
29
26
|
"web-types.json",
|
|
@@ -37,26 +34,26 @@
|
|
|
37
34
|
],
|
|
38
35
|
"dependencies": {
|
|
39
36
|
"@open-wc/dedupe-mixin": "^1.3.0",
|
|
40
|
-
"@vaadin/button": "25.0.0-
|
|
41
|
-
"@vaadin/component-base": "25.0.0-
|
|
42
|
-
"@vaadin/overlay": "25.0.0-
|
|
43
|
-
"@vaadin/password-field": "25.0.0-
|
|
44
|
-
"@vaadin/text-field": "25.0.0-
|
|
45
|
-
"@vaadin/vaadin-
|
|
46
|
-
"@vaadin/vaadin-themable-mixin": "25.0.0-alpha9",
|
|
37
|
+
"@vaadin/button": "25.0.0-beta2",
|
|
38
|
+
"@vaadin/component-base": "25.0.0-beta2",
|
|
39
|
+
"@vaadin/overlay": "25.0.0-beta2",
|
|
40
|
+
"@vaadin/password-field": "25.0.0-beta2",
|
|
41
|
+
"@vaadin/text-field": "25.0.0-beta2",
|
|
42
|
+
"@vaadin/vaadin-themable-mixin": "25.0.0-beta2",
|
|
47
43
|
"lit": "^3.0.0"
|
|
48
44
|
},
|
|
49
45
|
"devDependencies": {
|
|
50
|
-
"@vaadin/a11y-base": "25.0.0-
|
|
51
|
-
"@vaadin/chai-plugins": "25.0.0-
|
|
52
|
-
"@vaadin/checkbox": "25.0.0-
|
|
53
|
-
"@vaadin/test-runner-commands": "25.0.0-
|
|
46
|
+
"@vaadin/a11y-base": "25.0.0-beta2",
|
|
47
|
+
"@vaadin/chai-plugins": "25.0.0-beta2",
|
|
48
|
+
"@vaadin/checkbox": "25.0.0-beta2",
|
|
49
|
+
"@vaadin/test-runner-commands": "25.0.0-beta2",
|
|
54
50
|
"@vaadin/testing-helpers": "^2.0.0",
|
|
55
|
-
"
|
|
51
|
+
"@vaadin/vaadin-lumo-styles": "25.0.0-beta2",
|
|
52
|
+
"sinon": "^21.0.0"
|
|
56
53
|
},
|
|
57
54
|
"web-types": [
|
|
58
55
|
"web-types.json",
|
|
59
56
|
"web-types.lit.json"
|
|
60
57
|
],
|
|
61
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "e078f8371ae266f05c7ca1ec25686cc489c83f24"
|
|
62
59
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
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
|
-
import '@vaadin/component-base/src/style-props.js';
|
|
6
|
+
import '@vaadin/component-base/src/styles/style-props.js';
|
|
7
7
|
import { css } from 'lit';
|
|
8
8
|
|
|
9
9
|
export const loginFormWrapperStyles = css`
|
|
@@ -13,8 +13,8 @@ export const loginFormWrapperStyles = css`
|
|
|
13
13
|
display: flex;
|
|
14
14
|
box-sizing: border-box;
|
|
15
15
|
flex-direction: column;
|
|
16
|
-
gap: var(--vaadin-login-form-gap, var(--vaadin-gap-
|
|
17
|
-
padding: var(--vaadin-login-form-padding, var(--vaadin-padding));
|
|
16
|
+
gap: var(--vaadin-login-form-gap, var(--vaadin-gap-l));
|
|
17
|
+
padding: var(--vaadin-login-form-padding, var(--vaadin-padding-l));
|
|
18
18
|
max-width: 100%;
|
|
19
19
|
width: var(--vaadin-login-form-width, 360px);
|
|
20
20
|
}
|
|
@@ -26,11 +26,11 @@ export const loginFormWrapperStyles = css`
|
|
|
26
26
|
::slotted(form) {
|
|
27
27
|
display: flex;
|
|
28
28
|
flex-direction: column;
|
|
29
|
-
gap: var(--vaadin-login-form-gap, var(--vaadin-gap-
|
|
29
|
+
gap: var(--vaadin-login-form-gap, var(--vaadin-gap-m));
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
::slotted([slot='form-title']) {
|
|
33
|
-
color: var(--vaadin-login-form-title-color, var(--vaadin-color));
|
|
33
|
+
color: var(--vaadin-login-form-title-color, var(--vaadin-text-color));
|
|
34
34
|
font-size: var(--vaadin-login-form-title-font-size, 1.25rem);
|
|
35
35
|
font-weight: var(--vaadin-login-form-title-font-weight, 600);
|
|
36
36
|
line-height: var(--vaadin-login-form-title-line-height, inherit);
|
|
@@ -41,10 +41,10 @@ export const loginFormWrapperStyles = css`
|
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
[part='error-message'] {
|
|
44
|
-
color: var(--vaadin-login-form-error-color, var(--vaadin-color));
|
|
44
|
+
color: var(--vaadin-login-form-error-color, var(--vaadin-text-color));
|
|
45
45
|
font-size: var(--vaadin-login-form-error-font-size, inherit);
|
|
46
46
|
font-weight: var(--vaadin-login-form-error-font-weight, 400);
|
|
47
|
-
gap: var(--vaadin-login-form-error-gap, 0 var(--vaadin-gap-
|
|
47
|
+
gap: var(--vaadin-login-form-error-gap, 0 var(--vaadin-gap-s));
|
|
48
48
|
grid-template-columns: auto 1fr;
|
|
49
49
|
line-height: var(--vaadin-login-form-error-line-height, inherit);
|
|
50
50
|
}
|
|
@@ -55,7 +55,7 @@ export const loginFormWrapperStyles = css`
|
|
|
55
55
|
display: inline-block;
|
|
56
56
|
flex: none;
|
|
57
57
|
height: var(--vaadin-icon-size, 1lh);
|
|
58
|
-
mask
|
|
58
|
+
mask: var(--_vaadin-icon-warn) 50% / var(--vaadin-icon-visual-size, 100%) no-repeat;
|
|
59
59
|
width: var(--vaadin-icon-size, 1lh);
|
|
60
60
|
}
|
|
61
61
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
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
|
-
import '@vaadin/component-base/src/style-props.js';
|
|
6
|
+
import '@vaadin/component-base/src/styles/style-props.js';
|
|
7
7
|
import { css } from 'lit';
|
|
8
8
|
import { overlayStyles } from '@vaadin/overlay/src/styles/vaadin-overlay-base-styles.js';
|
|
9
9
|
|
|
@@ -14,12 +14,9 @@ const loginOverlayWrapper = css`
|
|
|
14
14
|
var(--vaadin-overlay-background, var(--vaadin-background-color))
|
|
15
15
|
);
|
|
16
16
|
border: var(--vaadin-login-overlay-border-width, var(--vaadin-overlay-border-width, 1px)) solid
|
|
17
|
-
var(--vaadin-login-overlay-border-color, var(--vaadin-overlay-border-color, var(--vaadin-border-color)));
|
|
17
|
+
var(--vaadin-login-overlay-border-color, var(--vaadin-overlay-border-color, var(--vaadin-border-color-secondary)));
|
|
18
18
|
border-radius: var(--vaadin-login-overlay-border-radius, var(--vaadin-radius-l));
|
|
19
|
-
box-shadow: var(
|
|
20
|
-
--vaadin-login-overlay-box-shadow,
|
|
21
|
-
var(--vaadin-overlay-box-shadow, 0 8px 24px -4px rgba(0, 0, 0, 0.3))
|
|
22
|
-
);
|
|
19
|
+
box-shadow: var(--vaadin-login-overlay-shadow, var(--vaadin-overlay-shadow, 0 8px 24px -4px rgba(0, 0, 0, 0.3)));
|
|
23
20
|
}
|
|
24
21
|
|
|
25
22
|
[part='card'] {
|
|
@@ -34,18 +31,18 @@ const loginOverlayWrapper = css`
|
|
|
34
31
|
background: var(--vaadin-login-overlay-brand-background, var(--vaadin-background-container));
|
|
35
32
|
display: flex;
|
|
36
33
|
flex-direction: column;
|
|
37
|
-
padding: var(--vaadin-login-overlay-brand-padding, var(--vaadin-padding));
|
|
34
|
+
padding: var(--vaadin-login-overlay-brand-padding, var(--vaadin-padding-l));
|
|
38
35
|
}
|
|
39
36
|
|
|
40
37
|
::slotted([slot='title']) {
|
|
41
|
-
color: var(--vaadin-login-overlay-title-color, var(--vaadin-color));
|
|
38
|
+
color: var(--vaadin-login-overlay-title-color, var(--vaadin-text-color));
|
|
42
39
|
font-size: var(--vaadin-login-overlay-title-font-size, inherit);
|
|
43
40
|
font-weight: var(--vaadin-login-overlay-title-font-weight, 600);
|
|
44
41
|
line-height: var(--vaadin-login-overlay-title-line-height, inherit);
|
|
45
42
|
}
|
|
46
43
|
|
|
47
44
|
[part='description'] {
|
|
48
|
-
color: var(--vaadin-login-overlay-description-color, var(--vaadin-color-
|
|
45
|
+
color: var(--vaadin-login-overlay-description-color, var(--vaadin-text-color-secondary));
|
|
49
46
|
font-size: var(--vaadin-login-overlay-description-font-size, inherit);
|
|
50
47
|
font-weight: var(--vaadin-login-overlay-description-font-weight, inherit);
|
|
51
48
|
line-height: var(--vaadin-login-overlay-description-line-height, inherit);
|
|
@@ -8,7 +8,7 @@ import { defineCustomElement } from '@vaadin/component-base/src/define.js';
|
|
|
8
8
|
import { PolylitMixin } from '@vaadin/component-base/src/polylit-mixin.js';
|
|
9
9
|
import { LumoInjectionMixin } from '@vaadin/vaadin-themable-mixin/lumo-injection-mixin.js';
|
|
10
10
|
import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
|
|
11
|
-
import { loginFormWrapperStyles } from './styles/vaadin-login-form-wrapper-
|
|
11
|
+
import { loginFormWrapperStyles } from './styles/vaadin-login-form-wrapper-base-styles.js';
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* An element used internally by `<vaadin-login-form>`. Not intended to be used separately.
|
package/src/vaadin-login-form.js
CHANGED
|
@@ -129,7 +129,7 @@ export const LoginMixin = (superClass) =>
|
|
|
129
129
|
* and `header` sections, `header` can be added to override `title` and `description` properties
|
|
130
130
|
* in `vaadin-login-overlay`):
|
|
131
131
|
*
|
|
132
|
-
* ```
|
|
132
|
+
* ```js
|
|
133
133
|
* {
|
|
134
134
|
* header: {
|
|
135
135
|
* title: 'App name',
|
|
@@ -4,11 +4,10 @@
|
|
|
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';
|
|
7
|
-
import type { OverlayClassMixinClass } from '@vaadin/component-base/src/overlay-class-mixin.js';
|
|
8
7
|
|
|
9
8
|
export declare function LoginOverlayMixin<T extends Constructor<HTMLElement>>(
|
|
10
9
|
base: T,
|
|
11
|
-
): Constructor<LoginOverlayMixinClass> &
|
|
10
|
+
): Constructor<LoginOverlayMixinClass> & T;
|
|
12
11
|
|
|
13
12
|
export declare class LoginOverlayMixinClass {
|
|
14
13
|
/**
|
|
@@ -3,15 +3,13 @@
|
|
|
3
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
|
-
import { OverlayClassMixin } from '@vaadin/component-base/src/overlay-class-mixin.js';
|
|
7
6
|
import { TitleController } from './title-controller.js';
|
|
8
7
|
|
|
9
8
|
/**
|
|
10
9
|
* @polymerMixin
|
|
11
|
-
* @mixes OverlayClassMixin
|
|
12
10
|
*/
|
|
13
11
|
export const LoginOverlayMixin = (superClass) =>
|
|
14
|
-
class LoginOverlayMixin extends
|
|
12
|
+
class LoginOverlayMixin extends superClass {
|
|
15
13
|
static get properties() {
|
|
16
14
|
return {
|
|
17
15
|
/**
|
|
@@ -51,6 +49,8 @@ export const LoginOverlayMixin = (superClass) =>
|
|
|
51
49
|
super.firstUpdated();
|
|
52
50
|
|
|
53
51
|
this.setAttribute('role', 'dialog');
|
|
52
|
+
this.setAttribute('aria-modal', 'true');
|
|
53
|
+
this.setAttribute('tabindex', '0');
|
|
54
54
|
|
|
55
55
|
this.__titleController = new TitleController(this);
|
|
56
56
|
this.addController(this.__titleController);
|
|
@@ -114,6 +114,11 @@ export const LoginOverlayMixin = (superClass) =>
|
|
|
114
114
|
e.preventDefault();
|
|
115
115
|
}
|
|
116
116
|
|
|
117
|
+
/** @private */
|
|
118
|
+
__handleOverlayClosed() {
|
|
119
|
+
this.dispatchEvent(new CustomEvent('closed'));
|
|
120
|
+
}
|
|
121
|
+
|
|
117
122
|
/** @private */
|
|
118
123
|
_openedChanged(opened, oldOpened) {
|
|
119
124
|
if (oldOpened) {
|
|
@@ -127,4 +132,10 @@ export const LoginOverlayMixin = (superClass) =>
|
|
|
127
132
|
document.body.style.pointerEvents = this.$.overlay._previousDocumentPointerEvents;
|
|
128
133
|
}
|
|
129
134
|
}
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Fired when the overlay is closed.
|
|
138
|
+
*
|
|
139
|
+
* @event closed
|
|
140
|
+
*/
|
|
130
141
|
};
|
|
@@ -10,7 +10,7 @@ import { PolylitMixin } from '@vaadin/component-base/src/polylit-mixin.js';
|
|
|
10
10
|
import { OverlayMixin } from '@vaadin/overlay/src/vaadin-overlay-mixin.js';
|
|
11
11
|
import { LumoInjectionMixin } from '@vaadin/vaadin-themable-mixin/lumo-injection-mixin.js';
|
|
12
12
|
import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
|
|
13
|
-
import { loginOverlayWrapperStyles } from './styles/vaadin-login-overlay-wrapper-
|
|
13
|
+
import { loginOverlayWrapperStyles } from './styles/vaadin-login-overlay-wrapper-base-styles.js';
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* An element used internally by `<vaadin-login-overlay>`. Not intended to be used separately.
|
|
@@ -42,10 +42,11 @@ class LoginOverlayWrapper extends OverlayMixin(DirMixin(ThemableMixin(PolylitMix
|
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
/**
|
|
45
|
+
* Override method from OverlayFocusMixin to use owner as focus trap root
|
|
45
46
|
* @protected
|
|
46
47
|
* @override
|
|
47
48
|
*/
|
|
48
|
-
get
|
|
49
|
+
get _focusTrapRoot() {
|
|
49
50
|
return this.owner;
|
|
50
51
|
}
|
|
51
52
|
|
|
@@ -53,7 +54,7 @@ class LoginOverlayWrapper extends OverlayMixin(DirMixin(ThemableMixin(PolylitMix
|
|
|
53
54
|
render() {
|
|
54
55
|
return html`
|
|
55
56
|
<div id="backdrop" part="backdrop" ?hidden="${!this.withBackdrop}"></div>
|
|
56
|
-
<div part="overlay" id="overlay"
|
|
57
|
+
<div part="overlay" id="overlay">
|
|
57
58
|
<div part="content" id="content">
|
|
58
59
|
<section part="card">
|
|
59
60
|
<div part="brand">
|
|
@@ -34,6 +34,11 @@ export type LoginOverlayLoginEvent = CustomEvent<{
|
|
|
34
34
|
custom?: Record<string, unknown>;
|
|
35
35
|
}>;
|
|
36
36
|
|
|
37
|
+
/**
|
|
38
|
+
* Fired when the overlay is closed.
|
|
39
|
+
*/
|
|
40
|
+
export type LoginOverlayClosedEvent = CustomEvent;
|
|
41
|
+
|
|
37
42
|
export interface LoginOverlayCustomEventMap {
|
|
38
43
|
'description-changed': LoginOverlayDescriptionChangedEvent;
|
|
39
44
|
|
|
@@ -44,6 +49,8 @@ export interface LoginOverlayCustomEventMap {
|
|
|
44
49
|
'forgot-password': Event;
|
|
45
50
|
|
|
46
51
|
login: LoginOverlayLoginEvent;
|
|
52
|
+
|
|
53
|
+
closed: LoginOverlayClosedEvent;
|
|
47
54
|
}
|
|
48
55
|
|
|
49
56
|
export interface LoginOverlayEventMap extends HTMLElementEventMap, LoginOverlayCustomEventMap {}
|
|
@@ -81,6 +88,7 @@ export interface LoginOverlayEventMap extends HTMLElementEventMap, LoginOverlayC
|
|
|
81
88
|
* @fires {CustomEvent} error-changed - Fired when the `error` property changes.
|
|
82
89
|
* @fires {CustomEvent} forgot-password - Fired when user clicks on the "Forgot password" button.
|
|
83
90
|
* @fires {CustomEvent} login - Fired when a user submits the login.
|
|
91
|
+
* @fires {CustomEvent} closed - Fired when the overlay is closed.
|
|
84
92
|
*/
|
|
85
93
|
declare class LoginOverlay extends LoginFormMixin(LoginOverlayMixin(ElementMixin(ThemableMixin(HTMLElement)))) {
|
|
86
94
|
addEventListener<K extends keyof LoginOverlayEventMap>(
|
|
@@ -52,6 +52,7 @@ import { LoginOverlayMixin } from './vaadin-login-overlay-mixin.js';
|
|
|
52
52
|
* @fires {CustomEvent} error-changed - Fired when the `error` property changes.
|
|
53
53
|
* @fires {CustomEvent} forgot-password - Fired when user clicks on the "Forgot password" button.
|
|
54
54
|
* @fires {CustomEvent} login - Fired when a user submits the login.
|
|
55
|
+
* @fires {CustomEvent} closed - Fired when the overlay is closed.
|
|
55
56
|
*
|
|
56
57
|
* @customElement
|
|
57
58
|
* @extends HTMLElement
|
|
@@ -67,13 +68,22 @@ class LoginOverlay extends LoginFormMixin(LoginOverlayMixin(ElementMixin(Themabl
|
|
|
67
68
|
|
|
68
69
|
static get styles() {
|
|
69
70
|
return css`
|
|
70
|
-
:host
|
|
71
|
-
|
|
71
|
+
:host([opened]),
|
|
72
|
+
:host([opening]),
|
|
73
|
+
:host([closing]) {
|
|
74
|
+
display: block !important;
|
|
75
|
+
position: absolute;
|
|
76
|
+
outline: none;
|
|
72
77
|
}
|
|
73
78
|
|
|
79
|
+
:host,
|
|
74
80
|
:host([hidden]) {
|
|
75
81
|
display: none !important;
|
|
76
82
|
}
|
|
83
|
+
|
|
84
|
+
:host(:focus-visible) ::part(overlay) {
|
|
85
|
+
outline: var(--vaadin-focus-ring-width) solid var(--vaadin-focus-ring-color);
|
|
86
|
+
}
|
|
77
87
|
`;
|
|
78
88
|
}
|
|
79
89
|
|
|
@@ -90,6 +100,7 @@ class LoginOverlay extends LoginFormMixin(LoginOverlayMixin(ElementMixin(Themabl
|
|
|
90
100
|
theme="${ifDefined(this._theme)}"
|
|
91
101
|
@vaadin-overlay-escape-press="${this._preventClosingLogin}"
|
|
92
102
|
@vaadin-overlay-outside-click="${this._preventClosingLogin}"
|
|
103
|
+
@vaadin-overlay-closed="${this.__handleOverlayClosed}"
|
|
93
104
|
@opened-changed="${this._onOpenedChanged}"
|
|
94
105
|
exportparts="backdrop, overlay, content, card, brand, description, form-wrapper"
|
|
95
106
|
>
|
package/vaadin-login-form.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import './
|
|
1
|
+
import './src/vaadin-login-form.js';
|
|
2
2
|
export * from './src/vaadin-login-form.js';
|
package/vaadin-login-overlay.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import './
|
|
1
|
+
import './src/vaadin-login-overlay.js';
|
|
2
2
|
export * from './src/vaadin-login-overlay.js';
|
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": "25.0.0-
|
|
4
|
+
"version": "25.0.0-beta2",
|
|
5
5
|
"description-markup": "markdown",
|
|
6
6
|
"contributions": {
|
|
7
7
|
"html": {
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"properties": [
|
|
84
84
|
{
|
|
85
85
|
"name": "i18n",
|
|
86
|
-
"description": "The object used to localize this component. To change the default\nlocalization, replace this with an object that provides all properties, or\njust the individual properties you want to change.\n\nThe object has the following JSON structure (by default it doesn't include `additionalInformation`\nand `header` sections, `header` can be added to override `title` and `description` properties\nin `vaadin-login-overlay`):\n\n
|
|
86
|
+
"description": "The object used to localize this component. To change the default\nlocalization, replace this with an object that provides all properties, or\njust the individual properties you want to change.\n\nThe object has the following JSON structure (by default it doesn't include `additionalInformation`\nand `header` sections, `header` can be added to override `title` and `description` properties\nin `vaadin-login-overlay`):\n\n```js\n{\n header: {\n title: 'App name',\n description: 'Inspiring application description'\n },\n form: {\n title: 'Log in',\n username: 'Username',\n password: 'Password',\n submit: 'Log in',\n forgotPassword: 'Forgot password'\n },\n errorMessage: {\n title: 'Incorrect username or password',\n message: 'Check that you have entered the correct username and password and try again.',\n username: 'Username is required',\n password: 'Password is required'\n },\n additionalInformation: 'In case you need to provide some additional info for the user.'\n}\n```",
|
|
87
87
|
"value": {
|
|
88
88
|
"type": [
|
|
89
89
|
"LoginI18n"
|
|
@@ -229,17 +229,6 @@
|
|
|
229
229
|
]
|
|
230
230
|
}
|
|
231
231
|
},
|
|
232
|
-
{
|
|
233
|
-
"name": "overlay-class",
|
|
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.",
|
|
235
|
-
"value": {
|
|
236
|
-
"type": [
|
|
237
|
-
"string",
|
|
238
|
-
"null",
|
|
239
|
-
"undefined"
|
|
240
|
-
]
|
|
241
|
-
}
|
|
242
|
-
},
|
|
243
232
|
{
|
|
244
233
|
"name": "description",
|
|
245
234
|
"description": "Defines the application description",
|
|
@@ -283,7 +272,7 @@
|
|
|
283
272
|
"properties": [
|
|
284
273
|
{
|
|
285
274
|
"name": "i18n",
|
|
286
|
-
"description": "The object used to localize this component. To change the default\nlocalization, replace this with an object that provides all properties, or\njust the individual properties you want to change.\n\nThe object has the following JSON structure (by default it doesn't include `additionalInformation`\nand `header` sections, `header` can be added to override `title` and `description` properties\nin `vaadin-login-overlay`):\n\n
|
|
275
|
+
"description": "The object used to localize this component. To change the default\nlocalization, replace this with an object that provides all properties, or\njust the individual properties you want to change.\n\nThe object has the following JSON structure (by default it doesn't include `additionalInformation`\nand `header` sections, `header` can be added to override `title` and `description` properties\nin `vaadin-login-overlay`):\n\n```js\n{\n header: {\n title: 'App name',\n description: 'Inspiring application description'\n },\n form: {\n title: 'Log in',\n username: 'Username',\n password: 'Password',\n submit: 'Log in',\n forgotPassword: 'Forgot password'\n },\n errorMessage: {\n title: 'Incorrect username or password',\n message: 'Check that you have entered the correct username and password and try again.',\n username: 'Username is required',\n password: 'Password is required'\n },\n additionalInformation: 'In case you need to provide some additional info for the user.'\n}\n```",
|
|
287
276
|
"value": {
|
|
288
277
|
"type": [
|
|
289
278
|
"LoginI18n"
|
|
@@ -347,17 +336,6 @@
|
|
|
347
336
|
]
|
|
348
337
|
}
|
|
349
338
|
},
|
|
350
|
-
{
|
|
351
|
-
"name": "overlayClass",
|
|
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.",
|
|
353
|
-
"value": {
|
|
354
|
-
"type": [
|
|
355
|
-
"string",
|
|
356
|
-
"null",
|
|
357
|
-
"undefined"
|
|
358
|
-
]
|
|
359
|
-
}
|
|
360
|
-
},
|
|
361
339
|
{
|
|
362
340
|
"name": "description",
|
|
363
341
|
"description": "Defines the application description",
|
|
@@ -395,6 +373,10 @@
|
|
|
395
373
|
"name": "login",
|
|
396
374
|
"description": "Fired when an user submits the login.\nThe event contains `username` and `password` values in the `detail` property."
|
|
397
375
|
},
|
|
376
|
+
{
|
|
377
|
+
"name": "closed",
|
|
378
|
+
"description": "Fired when the overlay is closed."
|
|
379
|
+
},
|
|
398
380
|
{
|
|
399
381
|
"name": "disabled-changed",
|
|
400
382
|
"description": "Fired when the `disabled` property changes."
|
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": "25.0.0-
|
|
4
|
+
"version": "25.0.0-beta2",
|
|
5
5
|
"description-markup": "markdown",
|
|
6
6
|
"framework": "lit",
|
|
7
7
|
"framework-config": {
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
},
|
|
50
50
|
{
|
|
51
51
|
"name": ".i18n",
|
|
52
|
-
"description": "The object used to localize this component. To change the default\nlocalization, replace this with an object that provides all properties, or\njust the individual properties you want to change.\n\nThe object has the following JSON structure (by default it doesn't include `additionalInformation`\nand `header` sections, `header` can be added to override `title` and `description` properties\nin `vaadin-login-overlay`):\n\n
|
|
52
|
+
"description": "The object used to localize this component. To change the default\nlocalization, replace this with an object that provides all properties, or\njust the individual properties you want to change.\n\nThe object has the following JSON structure (by default it doesn't include `additionalInformation`\nand `header` sections, `header` can be added to override `title` and `description` properties\nin `vaadin-login-overlay`):\n\n```js\n{\n header: {\n title: 'App name',\n description: 'Inspiring application description'\n },\n form: {\n title: 'Log in',\n username: 'Username',\n password: 'Password',\n submit: 'Log in',\n forgotPassword: 'Forgot password'\n },\n errorMessage: {\n title: 'Incorrect username or password',\n message: 'Check that you have entered the correct username and password and try again.',\n username: 'Username is required',\n password: 'Password is required'\n },\n additionalInformation: 'In case you need to provide some additional info for the user.'\n}\n```",
|
|
53
53
|
"value": {
|
|
54
54
|
"kind": "expression"
|
|
55
55
|
}
|
|
@@ -140,7 +140,7 @@
|
|
|
140
140
|
},
|
|
141
141
|
{
|
|
142
142
|
"name": ".i18n",
|
|
143
|
-
"description": "The object used to localize this component. To change the default\nlocalization, replace this with an object that provides all properties, or\njust the individual properties you want to change.\n\nThe object has the following JSON structure (by default it doesn't include `additionalInformation`\nand `header` sections, `header` can be added to override `title` and `description` properties\nin `vaadin-login-overlay`):\n\n
|
|
143
|
+
"description": "The object used to localize this component. To change the default\nlocalization, replace this with an object that provides all properties, or\njust the individual properties you want to change.\n\nThe object has the following JSON structure (by default it doesn't include `additionalInformation`\nand `header` sections, `header` can be added to override `title` and `description` properties\nin `vaadin-login-overlay`):\n\n```js\n{\n header: {\n title: 'App name',\n description: 'Inspiring application description'\n },\n form: {\n title: 'Log in',\n username: 'Username',\n password: 'Password',\n submit: 'Log in',\n forgotPassword: 'Forgot password'\n },\n errorMessage: {\n title: 'Incorrect username or password',\n message: 'Check that you have entered the correct username and password and try again.',\n username: 'Username is required',\n password: 'Password is required'\n },\n additionalInformation: 'In case you need to provide some additional info for the user.'\n}\n```",
|
|
144
144
|
"value": {
|
|
145
145
|
"kind": "expression"
|
|
146
146
|
}
|
|
@@ -159,13 +159,6 @@
|
|
|
159
159
|
"kind": "expression"
|
|
160
160
|
}
|
|
161
161
|
},
|
|
162
|
-
{
|
|
163
|
-
"name": ".overlayClass",
|
|
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.",
|
|
165
|
-
"value": {
|
|
166
|
-
"kind": "expression"
|
|
167
|
-
}
|
|
168
|
-
},
|
|
169
162
|
{
|
|
170
163
|
"name": ".description",
|
|
171
164
|
"description": "Defines the application description",
|
|
@@ -194,6 +187,13 @@
|
|
|
194
187
|
"kind": "expression"
|
|
195
188
|
}
|
|
196
189
|
},
|
|
190
|
+
{
|
|
191
|
+
"name": "@closed",
|
|
192
|
+
"description": "Fired when the overlay is closed.",
|
|
193
|
+
"value": {
|
|
194
|
+
"kind": "expression"
|
|
195
|
+
}
|
|
196
|
+
},
|
|
197
197
|
{
|
|
198
198
|
"name": "@disabled-changed",
|
|
199
199
|
"description": "Fired when the `disabled` property changes.",
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright (c) 2018 - 2025 Vaadin Ltd.
|
|
4
|
-
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
|
-
*/
|
|
6
|
-
import { css } from 'lit';
|
|
7
|
-
|
|
8
|
-
export const loginFormWrapperStyles = css`
|
|
9
|
-
:host {
|
|
10
|
-
display: flex;
|
|
11
|
-
flex-direction: column;
|
|
12
|
-
box-sizing: border-box;
|
|
13
|
-
overflow: hidden;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
:host([hidden]) {
|
|
17
|
-
display: none !important;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
::slotted([slot='form-title']) {
|
|
21
|
-
margin: 0;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
[part='error-message'] {
|
|
25
|
-
position: relative;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
strong {
|
|
29
|
-
font-weight: 600;
|
|
30
|
-
}
|
|
31
|
-
`;
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright (c) 2018 - 2025 Vaadin Ltd.
|
|
4
|
-
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
|
-
*/
|
|
6
|
-
import { css } from 'lit';
|
|
7
|
-
import { overlayStyles } from '@vaadin/overlay/src/styles/vaadin-overlay-core-styles.js';
|
|
8
|
-
|
|
9
|
-
const loginOverlayWrapper = css`
|
|
10
|
-
[part='overlay'] {
|
|
11
|
-
outline: none;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
[part='card'] {
|
|
15
|
-
max-width: 100%;
|
|
16
|
-
box-sizing: border-box;
|
|
17
|
-
overflow: hidden;
|
|
18
|
-
display: flex;
|
|
19
|
-
flex-direction: column;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
[part='brand'] {
|
|
23
|
-
box-sizing: border-box;
|
|
24
|
-
overflow: hidden;
|
|
25
|
-
flex-grow: 1;
|
|
26
|
-
flex-shrink: 0;
|
|
27
|
-
display: flex;
|
|
28
|
-
flex-direction: column;
|
|
29
|
-
justify-content: flex-end;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
::slotted([slot='title']) {
|
|
33
|
-
color: inherit;
|
|
34
|
-
margin: 0;
|
|
35
|
-
}
|
|
36
|
-
`;
|
|
37
|
-
|
|
38
|
-
export const loginOverlayWrapperStyles = [overlayStyles, loginOverlayWrapper];
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import '@vaadin/vaadin-lumo-styles/color.js';
|
|
2
|
-
import '@vaadin/vaadin-lumo-styles/sizing.js';
|
|
3
|
-
import '@vaadin/vaadin-lumo-styles/spacing.js';
|
|
4
|
-
import '@vaadin/vaadin-lumo-styles/typography.js';
|
|
5
|
-
import { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
|
|
6
|
-
|
|
7
|
-
const loginFormWrapper = css`
|
|
8
|
-
:host {
|
|
9
|
-
width: calc(var(--lumo-size-m) * 10);
|
|
10
|
-
padding: var(--lumo-space-l);
|
|
11
|
-
max-width: 100%;
|
|
12
|
-
background: var(--lumo-base-color) linear-gradient(var(--lumo-tint-5pct), var(--lumo-tint-5pct));
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
::slotted(form) {
|
|
16
|
-
display: flex;
|
|
17
|
-
flex-direction: column;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
::slotted([slot='form-title']) {
|
|
21
|
-
margin-top: calc(var(--lumo-font-size-xxxl) - var(--lumo-font-size-xxl));
|
|
22
|
-
color: var(--lumo-header-text-color);
|
|
23
|
-
font-size: var(--lumo-font-size-xxl);
|
|
24
|
-
font-weight: 600;
|
|
25
|
-
line-height: var(--lumo-line-height-xs);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
::slotted([slot='submit']) {
|
|
29
|
-
margin-top: var(--lumo-space-l);
|
|
30
|
-
margin-bottom: var(--lumo-space-s);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
::slotted([slot='forgot-password']) {
|
|
34
|
-
margin: var(--lumo-space-s) auto;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
[part='error-message'] {
|
|
38
|
-
background-color: var(--lumo-error-color-10pct);
|
|
39
|
-
padding: var(--lumo-space-m);
|
|
40
|
-
border-radius: var(--lumo-border-radius-m);
|
|
41
|
-
margin-top: var(--lumo-space-m);
|
|
42
|
-
margin-bottom: var(--lumo-space-s);
|
|
43
|
-
color: var(--lumo-error-text-color);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
:host(:not([dir='rtl'])) [part='error-message'] {
|
|
47
|
-
padding-left: var(--lumo-size-m);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
:host([dir='rtl']) [part='error-message'] {
|
|
51
|
-
padding-right: var(--lumo-size-m);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
[part='error-message']::before {
|
|
55
|
-
content: var(--lumo-icons-error);
|
|
56
|
-
font-family: lumo-icons;
|
|
57
|
-
font-size: var(--lumo-icon-size-m);
|
|
58
|
-
position: absolute;
|
|
59
|
-
width: var(--lumo-size-m);
|
|
60
|
-
height: 1em;
|
|
61
|
-
line-height: 1;
|
|
62
|
-
text-align: center;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
:host(:not([dir='rtl'])) [part='error-message']::before {
|
|
66
|
-
/* Visual centering */
|
|
67
|
-
margin-left: calc(var(--lumo-size-m) * -0.95);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
:host([dir='rtl']) [part='error-message']::before {
|
|
71
|
-
/* Visual centering */
|
|
72
|
-
margin-right: calc(var(--lumo-size-m) * -0.95);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
[part='error-message-title'] {
|
|
76
|
-
display: block;
|
|
77
|
-
margin: 0 0 0.25em;
|
|
78
|
-
color: inherit;
|
|
79
|
-
line-height: var(--lumo-line-height-xs);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
[part='error-message-description'] {
|
|
83
|
-
font-size: var(--lumo-font-size-s);
|
|
84
|
-
line-height: var(--lumo-line-height-s);
|
|
85
|
-
margin: 0;
|
|
86
|
-
opacity: 0.9;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
[part='footer'] {
|
|
90
|
-
font-size: var(--lumo-font-size-xs);
|
|
91
|
-
line-height: var(--lumo-line-height-s);
|
|
92
|
-
color: var(--lumo-secondary-text-color);
|
|
93
|
-
}
|
|
94
|
-
`;
|
|
95
|
-
|
|
96
|
-
registerStyles('vaadin-login-form-wrapper', loginFormWrapper, {
|
|
97
|
-
moduleId: 'lumo-login-form-wrapper',
|
|
98
|
-
});
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import '@vaadin/button/theme/lumo/vaadin-button.js';
|
|
2
|
-
import '@vaadin/text-field/theme/lumo/vaadin-text-field.js';
|
|
3
|
-
import '@vaadin/password-field/theme/lumo/vaadin-password-field.js';
|
|
4
|
-
import './vaadin-login-form-wrapper-styles.js';
|
|
5
|
-
import '../../src/vaadin-login-form.js';
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import '@vaadin/button/theme/lumo/vaadin-button.js';
|
|
2
|
-
import '@vaadin/text-field/theme/lumo/vaadin-text-field.js';
|
|
3
|
-
import '@vaadin/password-field/theme/lumo/vaadin-password-field.js';
|
|
4
|
-
import './vaadin-login-form-wrapper-styles.js';
|
|
5
|
-
import '../../src/vaadin-login-form.js';
|
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
import '@vaadin/vaadin-lumo-styles/color.js';
|
|
2
|
-
import '@vaadin/vaadin-lumo-styles/spacing.js';
|
|
3
|
-
import '@vaadin/vaadin-lumo-styles/typography.js';
|
|
4
|
-
import { overlay } from '@vaadin/vaadin-lumo-styles/mixins/overlay.js';
|
|
5
|
-
import { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
|
|
6
|
-
|
|
7
|
-
const loginOverlayWrapper = css`
|
|
8
|
-
:host {
|
|
9
|
-
inset: 0;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
[part='backdrop'] {
|
|
13
|
-
background: var(--lumo-base-color) linear-gradient(var(--lumo-shade-5pct), var(--lumo-shade-5pct));
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
[part='overlay'] {
|
|
17
|
-
background: none;
|
|
18
|
-
border-radius: 0;
|
|
19
|
-
box-shadow: none;
|
|
20
|
-
width: 100%;
|
|
21
|
-
height: 100%;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
[part='brand'] {
|
|
25
|
-
padding: var(--lumo-space-l) var(--lumo-space-xl) var(--lumo-space-l) var(--lumo-space-l);
|
|
26
|
-
background-color: var(--lumo-primary-color);
|
|
27
|
-
color: var(--lumo-primary-contrast-color);
|
|
28
|
-
min-height: calc(var(--lumo-size-m) * 5);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
::slotted([slot='title']) {
|
|
32
|
-
font-size: var(--lumo-font-size-xxxl);
|
|
33
|
-
font-weight: 600;
|
|
34
|
-
line-height: var(--lumo-line-height-xs);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
[part='description'] {
|
|
38
|
-
line-height: var(--lumo-line-height-s);
|
|
39
|
-
color: var(--lumo-tint-70pct);
|
|
40
|
-
margin: 0.5em 0 0;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
[part='content'] {
|
|
44
|
-
height: 100%;
|
|
45
|
-
display: flex;
|
|
46
|
-
align-items: center;
|
|
47
|
-
justify-content: center;
|
|
48
|
-
padding: 0;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
[part='card'] {
|
|
52
|
-
width: calc(var(--lumo-size-m) * 10);
|
|
53
|
-
background: var(--lumo-base-color) linear-gradient(var(--lumo-tint-5pct), var(--lumo-tint-5pct));
|
|
54
|
-
border-radius: var(--lumo-border-radius-l);
|
|
55
|
-
box-shadow: var(--lumo-box-shadow-s);
|
|
56
|
-
margin: var(--lumo-space-s);
|
|
57
|
-
height: auto;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
::slotted(vaadin-login-form-wrapper) {
|
|
61
|
-
min-height: 100%;
|
|
62
|
-
max-width: 100%;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/* Small screen */
|
|
66
|
-
@media only screen and (max-width: 500px) {
|
|
67
|
-
[part='overlay'],
|
|
68
|
-
[part='content'] {
|
|
69
|
-
height: 100%;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
[part='content'] {
|
|
73
|
-
min-height: 100%;
|
|
74
|
-
background: var(--lumo-base-color);
|
|
75
|
-
align-items: flex-start;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
[part='card'],
|
|
79
|
-
[part='overlay'] {
|
|
80
|
-
width: 100%;
|
|
81
|
-
border-radius: 0;
|
|
82
|
-
box-shadow: none;
|
|
83
|
-
margin: 0;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
/* RTL styles */
|
|
87
|
-
:host([dir='rtl']) [part='brand'] {
|
|
88
|
-
padding: var(--lumo-space-l) var(--lumo-space-l) var(--lumo-space-l) var(--lumo-space-xl);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
/* Landscape small screen */
|
|
93
|
-
@media only screen and (max-height: 600px) and (min-width: 600px) and (orientation: landscape) {
|
|
94
|
-
[part='card'] {
|
|
95
|
-
flex-direction: row;
|
|
96
|
-
align-items: stretch;
|
|
97
|
-
max-width: calc(var(--lumo-size-m) * 16);
|
|
98
|
-
width: 100%;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
[part='brand'],
|
|
102
|
-
[part='form-wrapper'] {
|
|
103
|
-
flex: auto;
|
|
104
|
-
flex-basis: 0;
|
|
105
|
-
box-sizing: border-box;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
[part='brand'] {
|
|
109
|
-
justify-content: flex-start;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
[part='form-wrapper'] {
|
|
113
|
-
padding: var(--lumo-space-l);
|
|
114
|
-
overflow: auto;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
::slotted(vaadin-login-form-wrapper) {
|
|
118
|
-
flex: 1;
|
|
119
|
-
padding: 2px;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
/* Landscape really small screen */
|
|
124
|
-
@media only screen and (max-height: 500px) and (min-width: 600px) and (orientation: landscape),
|
|
125
|
-
only screen and (max-width: 600px) and (min-width: 600px) and (orientation: landscape) {
|
|
126
|
-
[part='content'] {
|
|
127
|
-
height: 100vh;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
[part='card'] {
|
|
131
|
-
margin: 0;
|
|
132
|
-
width: 100%;
|
|
133
|
-
max-width: none;
|
|
134
|
-
height: 100%;
|
|
135
|
-
flex: auto;
|
|
136
|
-
border-radius: 0;
|
|
137
|
-
box-shadow: none;
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
[part='form-wrapper'] {
|
|
141
|
-
height: 100%;
|
|
142
|
-
overflow: auto;
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
/* Handle iPhone X notch */
|
|
147
|
-
@media only screen and (device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) {
|
|
148
|
-
[part='card'] {
|
|
149
|
-
padding-right: env(safe-area-inset-right);
|
|
150
|
-
padding-left: env(safe-area-inset-left);
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
[part='brand'] {
|
|
154
|
-
margin-left: calc(env(safe-area-inset-left) * -1);
|
|
155
|
-
padding-left: calc(var(--lumo-space-l) + env(safe-area-inset-left));
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
/* RTL styles */
|
|
159
|
-
:host([dir='rtl']) [part='card'] {
|
|
160
|
-
padding-left: env(safe-area-inset-right);
|
|
161
|
-
padding-right: env(safe-area-inset-left);
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
:host([dir='rtl']) [part='brand'] {
|
|
165
|
-
margin-right: calc(env(safe-area-inset-left) * -1);
|
|
166
|
-
padding-right: calc(var(--lumo-space-l) + env(safe-area-inset-left));
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
`;
|
|
170
|
-
|
|
171
|
-
registerStyles('vaadin-login-overlay-wrapper', [overlay, loginOverlayWrapper], {
|
|
172
|
-
moduleId: 'lumo-login-overlay-wrapper',
|
|
173
|
-
});
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import '@vaadin/button/theme/lumo/vaadin-button.js';
|
|
2
|
-
import '@vaadin/text-field/theme/lumo/vaadin-text-field.js';
|
|
3
|
-
import '@vaadin/password-field/theme/lumo/vaadin-password-field.js';
|
|
4
|
-
import './vaadin-login-form-wrapper-styles.js';
|
|
5
|
-
import './vaadin-login-overlay-styles.js';
|
|
6
|
-
import '../../src/vaadin-login-overlay.js';
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import '@vaadin/button/theme/lumo/vaadin-button.js';
|
|
2
|
-
import '@vaadin/text-field/theme/lumo/vaadin-text-field.js';
|
|
3
|
-
import '@vaadin/password-field/theme/lumo/vaadin-password-field.js';
|
|
4
|
-
import './vaadin-login-form-wrapper-styles.js';
|
|
5
|
-
import './vaadin-login-overlay-styles.js';
|
|
6
|
-
import '../../src/vaadin-login-overlay.js';
|