@things-factory/auth-ui 7.0.1-alpha.99 → 7.0.1-beta.0
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/client/auth-style-sign.ts +2 -2
- package/client/components/abstract-sign.ts +8 -0
- package/client/components/contact-us.ts +4 -2
- package/client/components/create-domain-popup.ts +2 -2
- package/client/components/create-role.ts +15 -5
- package/client/components/create-user.ts +16 -6
- package/client/components/delete-user-popup.ts +1 -1
- package/client/components/domain-switch.ts +1 -1
- package/client/components/my-login-history.ts +1 -1
- package/client/components/ownership-transfer-popup.ts +1 -1
- package/client/components/partner-info-card.ts +2 -2
- package/client/components/partner-role-editor.ts +5 -3
- package/client/components/profile-component.ts +4 -4
- package/client/components/role-privilege-editor.ts +5 -5
- package/client/components/user-role-editor.ts +5 -5
- package/client/entries/auth/activate.ts +2 -2
- package/client/entries/auth/checkin.ts +3 -3
- package/client/entries/auth/forgot-password.ts +7 -3
- package/client/entries/auth/result.ts +4 -4
- package/client/entries/auth/signup.ts +23 -5
- package/client/entries/oauth2/oauth2-decision-page.ts +2 -2
- package/client/pages/app-binding/app-binding.ts +10 -4
- package/client/pages/app-binding/app-bindings.ts +2 -2
- package/client/pages/appliance/appliance.ts +10 -5
- package/client/pages/appliance/home.ts +3 -3
- package/client/pages/appliance/register.ts +2 -2
- package/client/pages/application/application.ts +2 -2
- package/client/pages/application/applications.ts +7 -3
- package/client/pages/application/register.ts +2 -2
- package/client/pages/attribute/attribute-set-item-list.ts +14 -6
- package/client/pages/partner/partner-management.ts +1 -1
- package/client/pages/profile.ts +1 -1
- package/client/pages/role/role-management.ts +4 -5
- package/client/pages/user/user-management.ts +4 -2
- package/client/themes/auth-theme.css +4 -4
- package/dist-client/auth-style-sign.js +2 -2
- package/dist-client/auth-style-sign.js.map +1 -1
- package/dist-client/components/abstract-sign.js +9 -0
- package/dist-client/components/abstract-sign.js.map +1 -1
- package/dist-client/components/contact-us.js +4 -2
- package/dist-client/components/contact-us.js.map +1 -1
- package/dist-client/components/create-domain-popup.js +2 -2
- package/dist-client/components/create-domain-popup.js.map +1 -1
- package/dist-client/components/create-role.js +14 -4
- package/dist-client/components/create-role.js.map +1 -1
- package/dist-client/components/create-user.js +14 -4
- package/dist-client/components/create-user.js.map +1 -1
- package/dist-client/components/delete-user-popup.js +1 -1
- package/dist-client/components/delete-user-popup.js.map +1 -1
- package/dist-client/components/domain-switch.js +1 -1
- package/dist-client/components/domain-switch.js.map +1 -1
- package/dist-client/components/my-login-history.js +1 -1
- package/dist-client/components/my-login-history.js.map +1 -1
- package/dist-client/components/ownership-transfer-popup.js +1 -1
- package/dist-client/components/ownership-transfer-popup.js.map +1 -1
- package/dist-client/components/partner-info-card.js +2 -2
- package/dist-client/components/partner-info-card.js.map +1 -1
- package/dist-client/components/partner-role-editor.js +5 -3
- package/dist-client/components/partner-role-editor.js.map +1 -1
- package/dist-client/components/profile-component.js +4 -4
- package/dist-client/components/profile-component.js.map +1 -1
- package/dist-client/components/role-privilege-editor.js +5 -5
- package/dist-client/components/role-privilege-editor.js.map +1 -1
- package/dist-client/components/user-role-editor.js +5 -5
- package/dist-client/components/user-role-editor.js.map +1 -1
- package/dist-client/entries/auth/activate.js +2 -2
- package/dist-client/entries/auth/activate.js.map +1 -1
- package/dist-client/entries/auth/checkin.js +3 -3
- package/dist-client/entries/auth/checkin.js.map +1 -1
- package/dist-client/entries/auth/forgot-password.js +8 -3
- package/dist-client/entries/auth/forgot-password.js.map +1 -1
- package/dist-client/entries/auth/result.js +4 -4
- package/dist-client/entries/auth/result.js.map +1 -1
- package/dist-client/entries/auth/signup.js +23 -4
- package/dist-client/entries/auth/signup.js.map +1 -1
- package/dist-client/entries/oauth2/oauth2-decision-page.js +2 -2
- package/dist-client/entries/oauth2/oauth2-decision-page.js.map +1 -1
- package/dist-client/pages/app-binding/app-binding.js +10 -4
- package/dist-client/pages/app-binding/app-binding.js.map +1 -1
- package/dist-client/pages/app-binding/app-bindings.js +2 -2
- package/dist-client/pages/app-binding/app-bindings.js.map +1 -1
- package/dist-client/pages/appliance/appliance.js +10 -5
- package/dist-client/pages/appliance/appliance.js.map +1 -1
- package/dist-client/pages/appliance/home.js +3 -3
- package/dist-client/pages/appliance/home.js.map +1 -1
- package/dist-client/pages/appliance/register.js +2 -2
- package/dist-client/pages/appliance/register.js.map +1 -1
- package/dist-client/pages/application/application.js +2 -2
- package/dist-client/pages/application/application.js.map +1 -1
- package/dist-client/pages/application/applications.js +7 -3
- package/dist-client/pages/application/applications.js.map +1 -1
- package/dist-client/pages/application/register.js +2 -2
- package/dist-client/pages/application/register.js.map +1 -1
- package/dist-client/pages/attribute/attribute-set-item-list.js +14 -5
- package/dist-client/pages/attribute/attribute-set-item-list.js.map +1 -1
- package/dist-client/pages/partner/partner-management.js +1 -1
- package/dist-client/pages/partner/partner-management.js.map +1 -1
- package/dist-client/pages/profile.js +1 -1
- package/dist-client/pages/profile.js.map +1 -1
- package/dist-client/pages/role/role-management.js +3 -3
- package/dist-client/pages/role/role-management.js.map +1 -1
- package/dist-client/pages/user/user-management.js +4 -2
- package/dist-client/pages/user/user-management.js.map +1 -1
- package/dist-client/themes/auth-theme.css +4 -4
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/translations/en.json +1 -0
- package/translations/ja.json +1 -0
- package/translations/ko.json +1 -1
- package/translations/ms.json +1 -0
- package/translations/zh.json +1 -0
- package/views/auth-page.html +2 -1
|
@@ -81,8 +81,8 @@ export const AUTH_STYLE_SIGN = css`
|
|
|
81
81
|
}
|
|
82
82
|
|
|
83
83
|
.fingerprint {
|
|
84
|
-
color: var(--md-sys-color-primary-container);
|
|
85
|
-
border: 1.5px solid var(--md-sys-color-primary-container);
|
|
84
|
+
color: var(--md-sys-color-on-primary-container);
|
|
85
|
+
border: 1.5px solid var(--md-sys-color-on-primary-container);
|
|
86
86
|
border-radius: 20%;
|
|
87
87
|
width: 36px;
|
|
88
88
|
height: 36px;
|
|
@@ -58,6 +58,14 @@ export abstract class AbstractSign extends AbstractAuthPage {
|
|
|
58
58
|
.value=${email}
|
|
59
59
|
autocomplete="username"
|
|
60
60
|
autocapitalize="off"
|
|
61
|
+
@input=${(e: Event) => {
|
|
62
|
+
const target = e.target as HTMLInputElement
|
|
63
|
+
if (target.validity.typeMismatch) {
|
|
64
|
+
target.setCustomValidity(i18next.t('text.invalid-email'))
|
|
65
|
+
} else {
|
|
66
|
+
target.setCustomValidity('')
|
|
67
|
+
}
|
|
68
|
+
}}
|
|
61
69
|
><md-icon slot="leading-icon">mail</md-icon></md-filled-text-field
|
|
62
70
|
>
|
|
63
71
|
</div>
|
|
@@ -17,7 +17,7 @@ export class ContactUs extends localize(i18next)(LitElement) {
|
|
|
17
17
|
return [
|
|
18
18
|
css`
|
|
19
19
|
:host {
|
|
20
|
-
--md-theme-primary: var(--
|
|
20
|
+
--md-theme-primary: var(--md-sys-color-primary);
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
* {
|
|
@@ -85,7 +85,9 @@ export class ContactUs extends localize(i18next)(LitElement) {
|
|
|
85
85
|
}}
|
|
86
86
|
></md-filled-text-field>
|
|
87
87
|
</div>
|
|
88
|
-
<md-elevated-button slot="primaryAction" type="submit" @click=${e => this._submit(e)}
|
|
88
|
+
<md-elevated-button slot="primaryAction" type="submit" @click=${e => this._submit(e)}
|
|
89
|
+
>${i18next.t('button.submit')}</md-elevated-button
|
|
90
|
+
>
|
|
89
91
|
<md-text-button slot="secondaryAction" dialogAction="cancel">${i18next.t('button.cancel')}</md-text-button>
|
|
90
92
|
</md-dialog>
|
|
91
93
|
`
|
|
@@ -17,7 +17,7 @@ class CreateDomainPopup extends localize(i18next)(LitElement) {
|
|
|
17
17
|
:host {
|
|
18
18
|
display: flex;
|
|
19
19
|
flex-direction: column;
|
|
20
|
-
background-color: var(--
|
|
20
|
+
background-color: var(--md-sys-color-background);
|
|
21
21
|
padding: var(--padding-wide);
|
|
22
22
|
overflow: auto;
|
|
23
23
|
}
|
|
@@ -45,7 +45,7 @@ class CreateDomainPopup extends localize(i18next)(LitElement) {
|
|
|
45
45
|
border-radius: var(--border-radius);
|
|
46
46
|
margin: var(--input-margin);
|
|
47
47
|
padding: var(--input-padding);
|
|
48
|
-
background-color: var(--
|
|
48
|
+
background-color: var(--md-sys-color-surface);
|
|
49
49
|
font: var(--input-font);
|
|
50
50
|
|
|
51
51
|
flex: 1;
|
|
@@ -13,7 +13,7 @@ class CreateRole extends localize(i18next)(LitElement) {
|
|
|
13
13
|
static styles = css`
|
|
14
14
|
:host {
|
|
15
15
|
--md-text-field-fill-color: var(--theme-white-color);
|
|
16
|
-
background-color: var(--
|
|
16
|
+
background-color: var(--md-sys-color-surface);
|
|
17
17
|
margin: var(--margin-wide) 0;
|
|
18
18
|
padding: var(--padding-wide);
|
|
19
19
|
border-radius: var(--border-radius);
|
|
@@ -50,10 +50,20 @@ class CreateRole extends localize(i18next)(LitElement) {
|
|
|
50
50
|
|
|
51
51
|
render() {
|
|
52
52
|
return html`
|
|
53
|
-
<md-filled-text-field
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
53
|
+
<md-filled-text-field
|
|
54
|
+
type="text"
|
|
55
|
+
name="name"
|
|
56
|
+
label=${String(i18next.t('label.x name', { x: i18next.t('label.role') }))}
|
|
57
|
+
></md-filled-text-field>
|
|
58
|
+
<md-filled-text-field
|
|
59
|
+
type="text"
|
|
60
|
+
name="description"
|
|
61
|
+
label=${String(i18next.t('label.x description', { x: i18next.t('label.role') }))}
|
|
62
|
+
></md-filled-text-field>
|
|
63
|
+
|
|
64
|
+
<md-outlined-button @click=${this.onCreateRole.bind(this)}
|
|
65
|
+
>${String(i18next.t('button.create'))}</md-outlined-button
|
|
66
|
+
>
|
|
57
67
|
`
|
|
58
68
|
}
|
|
59
69
|
|
|
@@ -8,7 +8,7 @@ class CreateUser extends LitElement {
|
|
|
8
8
|
static styles = css`
|
|
9
9
|
:host {
|
|
10
10
|
--md-text-field-fill-color: var(--theme-white-color);
|
|
11
|
-
background-color: var(--
|
|
11
|
+
background-color: var(--md-sys-color-surface);
|
|
12
12
|
margin: var(--margin-wide) 0;
|
|
13
13
|
padding: var(--padding-wide);
|
|
14
14
|
border-radius: var(--border-radius);
|
|
@@ -45,11 +45,21 @@ class CreateUser extends LitElement {
|
|
|
45
45
|
|
|
46
46
|
render() {
|
|
47
47
|
return html`
|
|
48
|
-
<md-outlined-text-field
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
48
|
+
<md-outlined-text-field
|
|
49
|
+
type="text"
|
|
50
|
+
name="name"
|
|
51
|
+
label=${String(i18next.t('label.x name', { x: i18next.t('label.user') }))}
|
|
52
|
+
></md-outlined-text-field>
|
|
53
|
+
|
|
54
|
+
<md-outlined-text-field
|
|
55
|
+
type="email"
|
|
56
|
+
name="email"
|
|
57
|
+
label=${String(i18next.t('field.email'))}
|
|
58
|
+
></md-outlined-text-field>
|
|
59
|
+
|
|
60
|
+
<md-outlined-button @click=${this.onCreateUser.bind(this)}
|
|
61
|
+
>${String(i18next.t('button.create'))}</md-outlined-button
|
|
62
|
+
>
|
|
53
63
|
`
|
|
54
64
|
}
|
|
55
65
|
|
|
@@ -14,7 +14,7 @@ class MyLoginHistory extends LitElement {
|
|
|
14
14
|
:host {
|
|
15
15
|
display: flex;
|
|
16
16
|
flex-direction: column;
|
|
17
|
-
background-color: var(--
|
|
17
|
+
background-color: var(--md-sys-color-background);
|
|
18
18
|
padding: var(--padding-wide);
|
|
19
19
|
overflow: auto;
|
|
20
20
|
}
|
|
@@ -15,7 +15,7 @@ class OwnershipTransferPopup extends localize(i18next)(LitElement) {
|
|
|
15
15
|
:host {
|
|
16
16
|
display: flex;
|
|
17
17
|
flex-direction: column;
|
|
18
|
-
background-color: var(--
|
|
18
|
+
background-color: var(--md-sys-color-background);
|
|
19
19
|
padding: var(--padding-wide);
|
|
20
20
|
overflow: auto;
|
|
21
21
|
}
|
|
@@ -21,7 +21,7 @@ export class PartnerInfoCard extends LitElement {
|
|
|
21
21
|
display: flex;
|
|
22
22
|
max-height: 45vh;
|
|
23
23
|
flex-direction: row;
|
|
24
|
-
background-color: var(--
|
|
24
|
+
background-color: var(--md-sys-color-surface-variant);
|
|
25
25
|
margin: 0;
|
|
26
26
|
padding: 0;
|
|
27
27
|
border-radius: var(--border-radius);
|
|
@@ -31,7 +31,7 @@ export class PartnerInfoCard extends LitElement {
|
|
|
31
31
|
[field-2column] {
|
|
32
32
|
overflow: auto;
|
|
33
33
|
flex: 1;
|
|
34
|
-
background-color: var(--
|
|
34
|
+
background-color: var(--md-sys-color-surface-variant);
|
|
35
35
|
padding: var(--padding-default);
|
|
36
36
|
border-radius: var(--border-radius);
|
|
37
37
|
display: grid;
|
|
@@ -21,10 +21,10 @@ class PartnerRoleEditor extends localize(i18next)(LitElement) {
|
|
|
21
21
|
display: flex;
|
|
22
22
|
flex-direction: column;
|
|
23
23
|
|
|
24
|
-
border: 1px solid var(--
|
|
24
|
+
border: 1px solid var(--md-sys-color-primary);
|
|
25
25
|
padding: var(--padding-default);
|
|
26
26
|
font: normal 15px var(--theme-font);
|
|
27
|
-
color: var(--
|
|
27
|
+
color: var(--md-sys-color-secondary);
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
md-elevated-button {
|
|
@@ -52,7 +52,9 @@ class PartnerRoleEditor extends localize(i18next)(LitElement) {
|
|
|
52
52
|
|
|
53
53
|
<div class="button-container">
|
|
54
54
|
<md-elevated-button @click=${this.onSave}>${i18next.t('button.save')}</md-elevated-button>
|
|
55
|
-
<md-elevated-button @click=${this.onTerminateContract} danger
|
|
55
|
+
<md-elevated-button @click=${this.onTerminateContract} danger
|
|
56
|
+
>${i18next.t('button.terminate contract')}</md-elevated-button
|
|
57
|
+
>
|
|
56
58
|
</div>
|
|
57
59
|
`
|
|
58
60
|
}
|
|
@@ -19,7 +19,7 @@ export class ProfileComponent extends localize(i18next)(LitElement) {
|
|
|
19
19
|
css`
|
|
20
20
|
:host {
|
|
21
21
|
display: block;
|
|
22
|
-
background-color: var(--
|
|
22
|
+
background-color: var(--md-sys-color-background);
|
|
23
23
|
padding: 15px 0;
|
|
24
24
|
}
|
|
25
25
|
.wrap {
|
|
@@ -53,7 +53,7 @@ export class ProfileComponent extends localize(i18next)(LitElement) {
|
|
|
53
53
|
background: url(/assets/images/icon-profile.png) center top no-repeat;
|
|
54
54
|
margin: var(--profile-icon-margin);
|
|
55
55
|
padding: 180px 20px 20px 20px;
|
|
56
|
-
color: var(--
|
|
56
|
+
color: var(--md-sys-color-secondary);
|
|
57
57
|
font: var(--header-bar-title);
|
|
58
58
|
text-align: center;
|
|
59
59
|
}
|
|
@@ -69,7 +69,7 @@ export class ProfileComponent extends localize(i18next)(LitElement) {
|
|
|
69
69
|
|
|
70
70
|
label {
|
|
71
71
|
font: bold 14px var(--theme-font);
|
|
72
|
-
color: var(--
|
|
72
|
+
color: var(--md-sys-color-primary);
|
|
73
73
|
text-transform: capitalize;
|
|
74
74
|
grid-column: 1;
|
|
75
75
|
}
|
|
@@ -101,7 +101,7 @@ export class ProfileComponent extends localize(i18next)(LitElement) {
|
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
footer a {
|
|
104
|
-
color: var(--
|
|
104
|
+
color: var(--md-sys-color-primary);
|
|
105
105
|
text-decoration: none;
|
|
106
106
|
font-weight: bold;
|
|
107
107
|
}
|
|
@@ -16,16 +16,16 @@ class RolePrivilegeEditor extends localize(i18next)(LitElement) {
|
|
|
16
16
|
display: flex;
|
|
17
17
|
flex-direction: column;
|
|
18
18
|
|
|
19
|
-
border: 1px solid var(--
|
|
19
|
+
border: 1px solid var(--md-sys-color-primary);
|
|
20
20
|
font: normal 15px var(--theme-font);
|
|
21
|
-
color: var(--
|
|
21
|
+
color: var(--md-sys-color-secondary);
|
|
22
22
|
}
|
|
23
23
|
div {
|
|
24
24
|
margin: var(--margin-default);
|
|
25
25
|
}
|
|
26
26
|
ul {
|
|
27
27
|
flex: 1;
|
|
28
|
-
background-color: var(--
|
|
28
|
+
background-color: var(--md-sys-color-surface-variant);
|
|
29
29
|
overflow: auto;
|
|
30
30
|
display: grid;
|
|
31
31
|
grid-template-columns: 1fr 1fr;
|
|
@@ -53,14 +53,14 @@ class RolePrivilegeEditor extends localize(i18next)(LitElement) {
|
|
|
53
53
|
|
|
54
54
|
md-elevated-button {
|
|
55
55
|
margin: 5px;
|
|
56
|
-
background-color: var(--
|
|
56
|
+
background-color: var(--md-sys-color-surface-variant);
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
[danger] {
|
|
60
60
|
--md-theme-primary: var(--md-danger-button-primary-color);
|
|
61
61
|
}
|
|
62
62
|
md-outlined-button {
|
|
63
|
-
background-color: var(--
|
|
63
|
+
background-color: var(--md-sys-color-surface-variant);
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
@media screen and (max-width: 480px) {
|
|
@@ -26,9 +26,9 @@ class UserRoleEditor extends connect(store)(LitElement) {
|
|
|
26
26
|
display: flex;
|
|
27
27
|
flex-direction: column;
|
|
28
28
|
|
|
29
|
-
border: 1px solid var(--
|
|
29
|
+
border: 1px solid var(--md-sys-color-primary);
|
|
30
30
|
font: normal 15px var(--theme-font);
|
|
31
|
-
color: var(--
|
|
31
|
+
color: var(--md-sys-color-secondary);
|
|
32
32
|
}
|
|
33
33
|
ul {
|
|
34
34
|
flex: 1;
|
|
@@ -46,7 +46,7 @@ class UserRoleEditor extends connect(store)(LitElement) {
|
|
|
46
46
|
input[readonly] {
|
|
47
47
|
border: none;
|
|
48
48
|
background-color: transparent;
|
|
49
|
-
color: var(--
|
|
49
|
+
color: var(--md-sys-color-secondary);
|
|
50
50
|
font: var(--input-font);
|
|
51
51
|
}
|
|
52
52
|
li {
|
|
@@ -58,7 +58,7 @@ class UserRoleEditor extends connect(store)(LitElement) {
|
|
|
58
58
|
[detail] md-icon {
|
|
59
59
|
--md-icon-size: var(--fontsize-default);
|
|
60
60
|
vertical-align: middle;
|
|
61
|
-
color: var(--
|
|
61
|
+
color: var(--md-sys-color-primary);
|
|
62
62
|
}
|
|
63
63
|
[detail] li {
|
|
64
64
|
display: flex;
|
|
@@ -76,7 +76,7 @@ class UserRoleEditor extends connect(store)(LitElement) {
|
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
md-outlined-button {
|
|
79
|
-
background-color: var(--
|
|
79
|
+
background-color: var(--md-sys-color-surface-variant);
|
|
80
80
|
}
|
|
81
81
|
|
|
82
82
|
@media screen and (max-width: 480px) {
|
|
@@ -70,9 +70,9 @@ export class AuthActivate extends localize(i18next)(LitElement) {
|
|
|
70
70
|
|
|
71
71
|
md-elevated-button {
|
|
72
72
|
--md-theme-primary: var(--auth-button-background-color);
|
|
73
|
-
--md-theme-on-primary: var(--
|
|
73
|
+
--md-theme-on-primary: var(--md-sys-color-primary);
|
|
74
74
|
--md-button-horizontal-padding: var(--padding-default);
|
|
75
|
-
--md-button-ink-color: var(--
|
|
75
|
+
--md-button-ink-color: var(--md-sys-color-primary);
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
contact-us {
|
|
@@ -26,7 +26,7 @@ export class AuthCheckIn extends localize(i18next)(LitElement) {
|
|
|
26
26
|
height: 100dvh;
|
|
27
27
|
}
|
|
28
28
|
.header {
|
|
29
|
-
background-color: var(--
|
|
29
|
+
background-color: var(--md-sys-color-primary);
|
|
30
30
|
height: var(--checkin-header-height);
|
|
31
31
|
}
|
|
32
32
|
.content {
|
|
@@ -37,7 +37,7 @@ export class AuthCheckIn extends localize(i18next)(LitElement) {
|
|
|
37
37
|
.domains {
|
|
38
38
|
margin: var(--margin-wide) 0;
|
|
39
39
|
padding: 0;
|
|
40
|
-
background-color: var(--
|
|
40
|
+
background-color: var(--md-sys-color-surface);
|
|
41
41
|
border-radius: var(--border-radius);
|
|
42
42
|
border: var(--border-dark-color);
|
|
43
43
|
list-style: none;
|
|
@@ -47,7 +47,7 @@ export class AuthCheckIn extends localize(i18next)(LitElement) {
|
|
|
47
47
|
margin-bottom: -1px;
|
|
48
48
|
padding: var(--padding-default) var(--padding-wide);
|
|
49
49
|
font-size: 18px;
|
|
50
|
-
color: var(--
|
|
50
|
+
color: var(--md-sys-color-secondary);
|
|
51
51
|
text-align: left;
|
|
52
52
|
|
|
53
53
|
cursor: pointer;
|
|
@@ -28,7 +28,6 @@ export class ForgotPassword extends AbstractAuthPage {
|
|
|
28
28
|
const email = this.data?.email || ''
|
|
29
29
|
|
|
30
30
|
return html`
|
|
31
|
-
<input id="email" name="email" type="hidden" required .value=${email} />
|
|
32
31
|
<div class="field">
|
|
33
32
|
<md-filled-text-field
|
|
34
33
|
name="email"
|
|
@@ -36,8 +35,13 @@ export class ForgotPassword extends AbstractAuthPage {
|
|
|
36
35
|
label=${String(i18next.t('label.email'))}
|
|
37
36
|
.value=${email}
|
|
38
37
|
required
|
|
39
|
-
@input=${e => {
|
|
40
|
-
|
|
38
|
+
@input=${(e: Event) => {
|
|
39
|
+
const target = e.target as HTMLInputElement
|
|
40
|
+
if (target.validity.typeMismatch) {
|
|
41
|
+
target.setCustomValidity(i18next.t('text.invalid-email'))
|
|
42
|
+
} else {
|
|
43
|
+
target.setCustomValidity('')
|
|
44
|
+
}
|
|
41
45
|
}}
|
|
42
46
|
></md-filled-text-field>
|
|
43
47
|
</div>
|
|
@@ -61,14 +61,14 @@ export class AuthResult extends localize(i18next)(LitElement) {
|
|
|
61
61
|
background: url(/assets/images/icon-profile.png) center top no-repeat;
|
|
62
62
|
margin: var(--profile-icon-margin);
|
|
63
63
|
padding: 180px 20px 20px 20px;
|
|
64
|
-
color: var(--
|
|
64
|
+
color: var(--md-sys-color-secondary);
|
|
65
65
|
font: var(--header-bar-title);
|
|
66
66
|
text-align: center;
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
label {
|
|
70
70
|
font: bold 14px var(--theme-font);
|
|
71
|
-
color: var(--
|
|
71
|
+
color: var(--md-sys-color-primary);
|
|
72
72
|
}
|
|
73
73
|
#button-area {
|
|
74
74
|
border-top: 1px dashed rgba(0, 0, 0, 0.1);
|
|
@@ -76,9 +76,9 @@ export class AuthResult extends localize(i18next)(LitElement) {
|
|
|
76
76
|
}
|
|
77
77
|
md-elevated-button {
|
|
78
78
|
--md-theme-primary: var(--auth-button-background-color);
|
|
79
|
-
--md-theme-on-primary: var(--
|
|
79
|
+
--md-theme-on-primary: var(--md-sys-color-primary);
|
|
80
80
|
--md-button-horizontal-padding: var(--padding-default);
|
|
81
|
-
--md-button-ink-color: var(--
|
|
81
|
+
--md-button-ink-color: var(--md-sys-color-primary);
|
|
82
82
|
}
|
|
83
83
|
.lottie-container {
|
|
84
84
|
width: 100%;
|
|
@@ -31,7 +31,13 @@ export class AuthSignup extends AbstractSign {
|
|
|
31
31
|
|
|
32
32
|
return html`
|
|
33
33
|
<div class="field">
|
|
34
|
-
<md-filled-text-field
|
|
34
|
+
<md-filled-text-field
|
|
35
|
+
name="name"
|
|
36
|
+
type="text"
|
|
37
|
+
label=${String(i18next.t('field.name'))}
|
|
38
|
+
.value=${name}
|
|
39
|
+
required
|
|
40
|
+
></md-filled-text-field>
|
|
35
41
|
</div>
|
|
36
42
|
<div class="field">
|
|
37
43
|
<md-filled-text-field
|
|
@@ -40,11 +46,17 @@ export class AuthSignup extends AbstractSign {
|
|
|
40
46
|
label=${String(i18next.t('field.email'))}
|
|
41
47
|
required
|
|
42
48
|
.value=${email}
|
|
49
|
+
autocapitalize="off"
|
|
43
50
|
@input=${(e: Event) => {
|
|
44
|
-
const target = e.target as
|
|
45
|
-
target.
|
|
51
|
+
const target = e.target as HTMLInputElement
|
|
52
|
+
if (target.validity.typeMismatch) {
|
|
53
|
+
target.setCustomValidity(i18next.t('text.invalid-email'))
|
|
54
|
+
} else {
|
|
55
|
+
target.setCustomValidity('')
|
|
56
|
+
}
|
|
46
57
|
}}
|
|
47
|
-
|
|
58
|
+
><md-icon slot="leading-icon">mail</md-icon></md-filled-text-field
|
|
59
|
+
>
|
|
48
60
|
</div>
|
|
49
61
|
<div class="field">
|
|
50
62
|
<md-filled-text-field
|
|
@@ -64,7 +76,13 @@ export class AuthSignup extends AbstractSign {
|
|
|
64
76
|
>
|
|
65
77
|
</div>
|
|
66
78
|
<div class="field">
|
|
67
|
-
<md-filled-text-field
|
|
79
|
+
<md-filled-text-field
|
|
80
|
+
id="confirm-password"
|
|
81
|
+
name="confirm-password"
|
|
82
|
+
type="password"
|
|
83
|
+
label=${String(i18next.t('field.confirm password'))}
|
|
84
|
+
required
|
|
85
|
+
>
|
|
68
86
|
></md-filled-text-field
|
|
69
87
|
>
|
|
70
88
|
</div>
|
|
@@ -19,11 +19,11 @@ class OAuth2DecisionPage extends LitElement {
|
|
|
19
19
|
display: flex;
|
|
20
20
|
flex-direction: column;
|
|
21
21
|
|
|
22
|
-
border: 1px solid var(--
|
|
22
|
+
border: 1px solid var(--md-sys-color-primary);
|
|
23
23
|
margin: var(--margin-default);
|
|
24
24
|
padding: var(--padding-default);
|
|
25
25
|
font: normal 15px var(--theme-font);
|
|
26
|
-
color: var(--
|
|
26
|
+
color: var(--md-sys-color-secondary);
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
[field-2column] {
|
|
@@ -22,7 +22,7 @@ class AppBinding extends connect(store)(PageView) {
|
|
|
22
22
|
|
|
23
23
|
position: relative;
|
|
24
24
|
|
|
25
|
-
background-color: var(--
|
|
25
|
+
background-color: var(--md-sys-color-background);
|
|
26
26
|
padding: var(--padding-wide);
|
|
27
27
|
}
|
|
28
28
|
h2 {
|
|
@@ -70,7 +70,7 @@ class AppBinding extends connect(store)(PageView) {
|
|
|
70
70
|
max-width: var(--content-container-max-width);
|
|
71
71
|
}
|
|
72
72
|
[fieldset-container] {
|
|
73
|
-
background-color: var(--
|
|
73
|
+
background-color: var(--md-sys-color-surface);
|
|
74
74
|
margin: var(--margin-wide) 0 var(--margin-default) 0;
|
|
75
75
|
padding: var(--padding-default);
|
|
76
76
|
border-radius: var(--border-radius);
|
|
@@ -237,7 +237,10 @@ class AppBinding extends connect(store)(PageView) {
|
|
|
237
237
|
<input id="access-token" type="text" .value=${this.accessToken || ''} readonly />
|
|
238
238
|
<button button-in-field clipboard-copy @click=${e => e.preventDefault()}>copy</button>
|
|
239
239
|
${accessTokenExp
|
|
240
|
-
? html`<div input-hint>
|
|
240
|
+
? html`<div input-hint>
|
|
241
|
+
expired in ${new Date(accessTokenExp).toLocaleString()} :
|
|
242
|
+
${asyncReplace(this.expTimer(accessTokenExp))}
|
|
243
|
+
</div>`
|
|
241
244
|
: html``}
|
|
242
245
|
</div>
|
|
243
246
|
|
|
@@ -246,7 +249,10 @@ class AppBinding extends connect(store)(PageView) {
|
|
|
246
249
|
<input id="refresh-token" type="text" .value=${binding.refreshToken || ''} readonly />
|
|
247
250
|
<button button-in-field clipboard-copy @click=${e => e.preventDefault()}>copy</button>
|
|
248
251
|
${refreshTokenExp
|
|
249
|
-
? html`<div input-hint>
|
|
252
|
+
? html`<div input-hint>
|
|
253
|
+
expired in ${new Date(refreshTokenExp).toLocaleString()} :
|
|
254
|
+
${asyncReplace(this.expTimer(refreshTokenExp))}
|
|
255
|
+
</div>`
|
|
250
256
|
: html``}
|
|
251
257
|
</div>
|
|
252
258
|
</div>
|
|
@@ -11,7 +11,7 @@ class AppBindings extends connect(store)(PageView) {
|
|
|
11
11
|
static styles = [
|
|
12
12
|
css`
|
|
13
13
|
:host {
|
|
14
|
-
background-color: var(--
|
|
14
|
+
background-color: var(--md-sys-color-background);
|
|
15
15
|
padding: var(--padding-wide);
|
|
16
16
|
|
|
17
17
|
overflow: auto;
|
|
@@ -62,7 +62,7 @@ class AppBindings extends connect(store)(PageView) {
|
|
|
62
62
|
color: var(--td-color);
|
|
63
63
|
}
|
|
64
64
|
td a {
|
|
65
|
-
color: var(--
|
|
65
|
+
color: var(--md-sys-color-primary);
|
|
66
66
|
font: bold 16px var(--theme-font);
|
|
67
67
|
|
|
68
68
|
display: block;
|
|
@@ -21,7 +21,7 @@ class Appliance extends connect(store)(PageView) {
|
|
|
21
21
|
flex-direction: column;
|
|
22
22
|
overflow-y: auto;
|
|
23
23
|
|
|
24
|
-
background-color: var(--
|
|
24
|
+
background-color: var(--md-sys-color-background);
|
|
25
25
|
padding: var(--padding-wide);
|
|
26
26
|
}
|
|
27
27
|
h2 {
|
|
@@ -58,7 +58,7 @@ class Appliance extends connect(store)(PageView) {
|
|
|
58
58
|
max-width: var(--content-container-max-width);
|
|
59
59
|
}
|
|
60
60
|
[fieldset-container] {
|
|
61
|
-
background-color: var(--
|
|
61
|
+
background-color: var(--md-sys-color-surface);
|
|
62
62
|
margin: var(--margin-wide) 0 var(--margin-default) 0;
|
|
63
63
|
padding: var(--padding-default);
|
|
64
64
|
border-radius: var(--border-radius);
|
|
@@ -201,10 +201,13 @@ class Appliance extends connect(store)(PageView) {
|
|
|
201
201
|
<div field grid-span>
|
|
202
202
|
<label for="access-token">${i18next.t('label.access token')}</label>
|
|
203
203
|
<input id="access-token" type="text" .value=${appliance.accessToken} readonly />
|
|
204
|
-
<button button-in-field clipboard-copy @click=${e => e.preventDefault()}
|
|
204
|
+
<button button-in-field clipboard-copy @click=${e => e.preventDefault()}>
|
|
205
|
+
${i18next.t('button.copy')}
|
|
206
|
+
</button>
|
|
205
207
|
${accessTokenExp
|
|
206
208
|
? html`<div input-hint>
|
|
207
|
-
${i18next.t('text.token expiry time')} ${new Date(accessTokenExp * 1000).toLocaleString()} :
|
|
209
|
+
${i18next.t('text.token expiry time')} ${new Date(accessTokenExp * 1000).toLocaleString()} :
|
|
210
|
+
${asyncReplace(this.expTimer(accessTokenExp))}
|
|
208
211
|
</div>`
|
|
209
212
|
: html``}
|
|
210
213
|
</div>
|
|
@@ -213,7 +216,9 @@ class Appliance extends connect(store)(PageView) {
|
|
|
213
216
|
</div>
|
|
214
217
|
|
|
215
218
|
<button @click=${this.deleteAppliance.bind(this)}>${i18next.t('button.delete this appliance')}</button>
|
|
216
|
-
<button @click=${this.generateApplianceSecret.bind(this)}
|
|
219
|
+
<button @click=${this.generateApplianceSecret.bind(this)}>
|
|
220
|
+
${i18next.t('button.generate new access token')}
|
|
221
|
+
</button>
|
|
217
222
|
<button @click=${this.updateAppliance.bind(this)}>${i18next.t('button.update')}</button>
|
|
218
223
|
</form>
|
|
219
224
|
`
|
|
@@ -11,7 +11,7 @@ class Appliances extends connect(store)(PageView) {
|
|
|
11
11
|
static styles = [
|
|
12
12
|
css`
|
|
13
13
|
:host {
|
|
14
|
-
background-color: var(--
|
|
14
|
+
background-color: var(--md-sys-color-background);
|
|
15
15
|
padding: var(--padding-wide);
|
|
16
16
|
|
|
17
17
|
overflow: auto;
|
|
@@ -96,8 +96,8 @@ class Appliances extends connect(store)(PageView) {
|
|
|
96
96
|
<div>
|
|
97
97
|
<h2>Registered Appliances</h2>
|
|
98
98
|
<p page-description>
|
|
99
|
-
What type of appliance are you building?<br />Choose the app type that best suits the audience you’re building
|
|
100
|
-
it’s created.
|
|
99
|
+
What type of appliance are you building?<br />Choose the app type that best suits the audience you’re building
|
|
100
|
+
for. The appliance type can’t be changed after it’s created.
|
|
101
101
|
</p>
|
|
102
102
|
<md-elevated-button @click=${e => navigate('appliance-register')}>register new appliance</md-elevated-button>
|
|
103
103
|
</div>
|
|
@@ -12,7 +12,7 @@ class ApplianceRegister extends connect(store)(PageView) {
|
|
|
12
12
|
return [
|
|
13
13
|
css`
|
|
14
14
|
:host {
|
|
15
|
-
background-color: var(--
|
|
15
|
+
background-color: var(--md-sys-color-background);
|
|
16
16
|
padding: var(--padding-wide);
|
|
17
17
|
|
|
18
18
|
display: flex;
|
|
@@ -34,7 +34,7 @@ class ApplianceRegister extends connect(store)(PageView) {
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
[form-container] {
|
|
37
|
-
background-color: var(--
|
|
37
|
+
background-color: var(--md-sys-color-surface);
|
|
38
38
|
padding: var(--padding-wide);
|
|
39
39
|
border-radius: var(--border-radius);
|
|
40
40
|
box-shadow: var(--box-shadow);
|