Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
a015518
Added custom validation for missing password and user/email
MrHutmat Sep 23, 2025
dc35c52
Changed some of the logic behind custom validation, so it now uses ar…
MrHutmat Sep 25, 2025
0a2d064
Merge remote-tracking branch 'origin/main' into v16/bugfix/login-miss…
iOvergaard Nov 5, 2025
5eb54d6
fix: imports from src folder instead
iOvergaard Nov 5, 2025
2e84206
build(deps-dev): bump vite to 7.2.0
iOvergaard Nov 5, 2025
6e07528
formatting
iOvergaard Nov 5, 2025
302975b
fix: moves the form into the login.page.element.ts component to bette…
iOvergaard Nov 5, 2025
b87d23b
fix: creates elements globally
iOvergaard Nov 5, 2025
25459d7
fix: adds id back to form
iOvergaard Nov 5, 2025
e2ff9e7
fix: no need to store references to all form elements
iOvergaard Nov 5, 2025
9acaf64
fix: errormessage should show with password field in a span as well
iOvergaard Nov 5, 2025
36ba61d
fix: checks validity of form
iOvergaard Nov 5, 2025
053a4ab
fix: constructs form in auth.element.ts anyway and append localizatio…
iOvergaard Nov 5, 2025
2f9ed74
chore: fixes import paths
iOvergaard Nov 5, 2025
c64b567
fix: fixes special case where ?status was not reset
iOvergaard Nov 5, 2025
d766374
fix: changes wording in english
iOvergaard Nov 5, 2025
4f20cbe
fix: removes duplicate en-us keys
iOvergaard Nov 5, 2025
787d793
feat: adds ariaLive and role attributes
iOvergaard Nov 5, 2025
7736421
Merge branch 'main' into v16/bugfix/login-missing-mandatory-fields-fix
iOvergaard Nov 5, 2025
8570587
fix: always clears the text
iOvergaard Nov 5, 2025
0a1eaa2
fix: username required validation should switch between username and …
iOvergaard Nov 5, 2025
3f7e557
Merge branch 'main' into v16/bugfix/login-missing-mandatory-fields-fix
leekelleher Nov 10, 2025
04f29c4
package-lock.json updated on (re)install
leekelleher Nov 10, 2025
77a3344
Renamed SVG eye icon filenames
leekelleher Nov 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
178 changes: 157 additions & 21 deletions src/Umbraco.Web.UI.Login/package-lock.json

Large diffs are not rendered by default.

52 changes: 26 additions & 26 deletions src/Umbraco.Web.UI.Login/package.json
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
{
"name": "login",
"private": true,
"type": "module",
"scripts": {
"dev": "vite",
"build": "tsc && vite build",
"watch": "tsc && vite build --watch",
"preview": "vite preview",
"generate:server-api": "openapi-ts"
},
"engines": {
"node": ">=22",
"npm": ">=10.9"
},
"devDependencies": {
"@hey-api/openapi-ts": "^0.85.0",
"@umbraco-cms/backoffice": "^16.2.0",
"msw": "^2.11.3",
"typescript": "^5.9.3",
"vite": "^7.1.11"
},
"msw": {
"workerDirectory": [
"public"
]
}
"name": "login",
"private": true,
"type": "module",
"scripts": {
"dev": "vite",
"build": "tsc && vite build",
"watch": "tsc && vite build --watch",
"preview": "vite preview",
"generate:server-api": "openapi-ts"
},
"engines": {
"node": ">=22",
"npm": ">=10.9"
},
"devDependencies": {
"@hey-api/openapi-ts": "^0.85.0",
"@umbraco-cms/backoffice": "^16.2.0",
"msw": "^2.11.3",
"typescript": "^5.9.3",
"vite": "^7.2.0"
},
"msw": {
"workerDirectory": [
"public"
]
}
}
40 changes: 25 additions & 15 deletions src/Umbraco.Web.UI.Login/src/auth-styles.css
Original file line number Diff line number Diff line change
@@ -1,4 +1,19 @@
#umb-login-form #username-input {
.errormessage {
color: var(--uui-color-invalid-standalone);
display: none;
margin-top: var(--uui-size-1);
}

.errormessage.active {
display: block;
}

uui-form-layout-item {
margin-top: var(--uui-size-space-4);
margin-bottom: var(--uui-size-space-4);
}

#username-input {
width: 100%;
height: var(--input-height);
box-sizing: border-box;
Expand All @@ -9,21 +24,16 @@
padding: var(--uui-size-1, 3px) var(--uui-size-space-4, 9px);
}

#umb-login-form uui-form-layout-item {
margin-top: var(--uui-size-space-4);
margin-bottom: var(--uui-size-space-4);
}

#umb-login-form #username-input:focus-within {
#username-input:focus-within {
border-color: var(--uui-input-border-color-focus, var(--uui-color-border-emphasis, #a1a1a1));
outline: calc(2px * var(--uui-show-focus-outline, 1)) solid var(--uui-color-focus);
}

#umb-login-form #username-input:hover:not(:focus-within) {
#username-input:hover:not(:focus-within) {
border-color: var(--uui-input-border-color-hover, var(--uui-color-border-standalone, #c2c2c2));
}

#umb-login-form #password-input-span button {
#password-show-toggle {
color: var(--uui-color-default-standalone);
display: inline-flex;
justify-content: center;
Expand All @@ -39,12 +49,12 @@
transition-timing-function: linear;
}

#umb-login-form #password-input-span button:hover {
#password-show-toggle:hover {
color: var(--uui-color-default-emphasis);
cursor: pointer;
}

#umb-login-form #password-input-span {
#password-input-span {
display: inline-flex;
width: 100%;
align-items: center;
Expand All @@ -60,7 +70,7 @@
padding: var(--uui-size-1, 3px) var(--uui-size-space-4, 9px);
}

#umb-login-form #password-input-span input {
#password-input {
flex-grow: 1;
align-self: stretch;
min-width: 0;
Expand All @@ -70,15 +80,15 @@
outline-style: none;
}

#umb-login-form #password-input-span:focus-within {
#password-input-span:focus-within {
border-color: var(--uui-input-border-color-focus, var(--uui-color-border-emphasis, #a1a1a1));
outline: calc(2px * var(--uui-show-focus-outline, 1)) solid var(--uui-color-focus);
}

#umb-login-form #password-input-span:hover:not(:focus-within) {
#password-input-span:hover:not(:focus-within) {
border-color: var(--uui-input-border-color-hover, var(--uui-color-border-standalone, #c2c2c2));
}

#umb-login-form input::-ms-reveal {
#password-input::-ms-reveal {
display: none;
}
Loading