-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 7098a45
Showing
643 changed files
with
6,708 additions
and
0 deletions.
There are no files selected for viewing
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
<!DOCTYPE html> | ||
<html> | ||
<head> | ||
<meta charset="utf-8"> | ||
<title>Blazor Web Authentication</title> | ||
<script type="text/javascript"> | ||
// Single Page Apps for GitHub Pages | ||
// MIT License | ||
// https://github.com/rafgraph/spa-github-pages | ||
// This script takes the current url and converts the path and query | ||
// string into just a query string, and then redirects the browser | ||
// to the new url with only a query string and hash fragment | ||
|
||
// If you're creating a Project Pages site and NOT using a custom domain, | ||
// then set pathSegmentsToKeep to 1 (enterprise users may need to set it to > 1). | ||
// This way the code will only replace the route part of the path, and not | ||
// the real directory in which the app resides, for example: | ||
// https://username.github.io/repo-name/one/two?a=b&c=d#qwe becomes | ||
// https://username.github.io/repo-name/?/one/two&a=b~and~c=d#qwe | ||
// Otherwise, leave pathSegmentsToKeep as 0. | ||
var pathSegmentsToKeep = 1; | ||
|
||
var l = window.location; | ||
l.replace( | ||
l.protocol + '//' + l.hostname + (l.port ? ':' + l.port : '') + | ||
l.pathname.split('/').slice(0, 1 + pathSegmentsToKeep).join('/') + '/?/' + | ||
l.pathname.slice(1).split('/').slice(pathSegmentsToKeep).join('/').replace(/&/g, '~and~') + | ||
(l.search ? '&' + l.search.slice(1).replace(/&/g, '~and~') : '') + | ||
l.hash | ||
); | ||
|
||
</script> | ||
</head> | ||
<body> | ||
</body> | ||
</html> |
151 changes: 151 additions & 0 deletions
151
KristofferStrube.Blazor.WebAuthentication.WasmExample.styles.css
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,151 @@ | ||
/* /Shared/MainLayout.razor.rz.scp.css */ | ||
.page[b-km09rtigs1] { | ||
position: relative; | ||
display: flex; | ||
flex-direction: column; | ||
} | ||
|
||
main[b-km09rtigs1] { | ||
flex: 1; | ||
} | ||
|
||
.sidebar[b-km09rtigs1] { | ||
background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%); | ||
} | ||
|
||
.top-row[b-km09rtigs1] { | ||
background-color: #f7f7f7; | ||
border-bottom: 1px solid #d6d5d5; | ||
justify-content: flex-end; | ||
height: 3.5rem; | ||
display: flex; | ||
align-items: center; | ||
} | ||
|
||
.top-row[b-km09rtigs1] a, .top-row[b-km09rtigs1] .btn-link { | ||
white-space: nowrap; | ||
margin-left: 1.5rem; | ||
text-decoration: none; | ||
} | ||
|
||
.top-row[b-km09rtigs1] a:hover, .top-row[b-km09rtigs1] .btn-link:hover { | ||
text-decoration: underline; | ||
} | ||
|
||
.top-row[b-km09rtigs1] a:first-child { | ||
overflow: hidden; | ||
text-overflow: ellipsis; | ||
} | ||
|
||
@media (max-width: 640.98px) { | ||
.top-row:not(.auth)[b-km09rtigs1] { | ||
display: none; | ||
} | ||
|
||
.top-row.auth[b-km09rtigs1] { | ||
justify-content: space-between; | ||
} | ||
|
||
.top-row[b-km09rtigs1] a, .top-row[b-km09rtigs1] .btn-link { | ||
margin-left: 0; | ||
} | ||
} | ||
|
||
@media (min-width: 641px) { | ||
.page[b-km09rtigs1] { | ||
flex-direction: row; | ||
} | ||
|
||
.sidebar[b-km09rtigs1] { | ||
width: 250px; | ||
height: 100vh; | ||
position: sticky; | ||
top: 0; | ||
} | ||
|
||
.top-row[b-km09rtigs1] { | ||
position: sticky; | ||
top: 0; | ||
z-index: 1; | ||
} | ||
|
||
.top-row.auth[b-km09rtigs1] a:first-child { | ||
flex: 1; | ||
text-align: right; | ||
width: 0; | ||
} | ||
|
||
.top-row[b-km09rtigs1], article[b-km09rtigs1] { | ||
padding-left: 2rem !important; | ||
padding-right: 1.5rem !important; | ||
} | ||
} | ||
/* /Shared/NavMenu.razor.rz.scp.css */ | ||
.navbar-toggler[b-yoos4e8960] { | ||
background-color: rgba(255, 255, 255, 0.1); | ||
} | ||
|
||
.top-row[b-yoos4e8960] { | ||
height: 3.5rem; | ||
background-color: rgba(0,0,0,0.4); | ||
} | ||
|
||
.navbar-brand[b-yoos4e8960] { | ||
font-size: 1.1rem; | ||
} | ||
|
||
.bi[b-yoos4e8960] { | ||
width: 2rem; | ||
font-size: 1.1rem; | ||
vertical-align: text-top; | ||
top: -2px; | ||
} | ||
|
||
.nav-item[b-yoos4e8960] { | ||
font-size: 0.9rem; | ||
padding-bottom: 0.5rem; | ||
} | ||
|
||
.nav-item:first-of-type[b-yoos4e8960] { | ||
padding-top: 1rem; | ||
} | ||
|
||
.nav-item:last-of-type[b-yoos4e8960] { | ||
padding-bottom: 1rem; | ||
} | ||
|
||
.nav-item[b-yoos4e8960] a { | ||
color: #d7d7d7; | ||
border-radius: 4px; | ||
height: 3rem; | ||
display: flex; | ||
align-items: center; | ||
line-height: 3rem; | ||
} | ||
|
||
.nav-item[b-yoos4e8960] a.active { | ||
background-color: rgba(255,255,255,0.25); | ||
color: white; | ||
} | ||
|
||
.nav-item[b-yoos4e8960] a:hover { | ||
background-color: rgba(255,255,255,0.1); | ||
color: white; | ||
} | ||
|
||
@media (min-width: 641px) { | ||
.navbar-toggler[b-yoos4e8960] { | ||
display: none; | ||
} | ||
|
||
.collapse[b-yoos4e8960] { | ||
/* Never collapse the sidebar for wide screens */ | ||
display: block; | ||
} | ||
|
||
.nav-scrollable[b-yoos4e8960] { | ||
/* Allow sidebar to scroll for tall menus */ | ||
height: calc(100vh - 3.5rem); | ||
overflow-y: auto; | ||
} | ||
} |
3 changes: 3 additions & 0 deletions
3
...stofferStrube.Blazor.CredentialManagement/KristofferStrube.Blazor.CredentialManagement.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
export function getAttribute(object, attribute) { return object[attribute]; } | ||
|
||
export function isSupported() { return !(!window.PublicKeyCredential); } |
38 changes: 38 additions & 0 deletions
38
_content/KristofferStrube.Blazor.DOM/KristofferStrube.Blazor.DOM.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
export function getAttribute(object, attribute) { return object[attribute]; } | ||
export function setAttribute(object, attribute, value) { object[attribute] = value; } | ||
|
||
export function getJSReference(element) { return element.valueOf(); } | ||
|
||
export function addEventListener(target, type, eventListener = null, options = null) | ||
{ | ||
target.addEventListener(type, eventListener, options) | ||
} | ||
|
||
export function removeEventListener(target, type, eventListener = null, options) | ||
{ | ||
target.removeEventListener(type, eventListener, options) | ||
} | ||
|
||
export function constructEventListener() { | ||
return { }; | ||
} | ||
|
||
export function registerEventHandlerAsync(objRef, jSInstance) { | ||
jSInstance.handleEvent = (e) => objRef.invokeMethodAsync("HandleEventAsync", DotNet.createJSObjectReference(e)) | ||
} | ||
|
||
export function registerInProcessEventHandlerAsync(objRef, jSInstance) { | ||
jSInstance.handleEvent = (e) => objRef.invokeMethodAsync("HandleEventInProcessAsync", DotNet.createJSObjectReference(e)) | ||
} | ||
|
||
export function constructEvent(type, eventInitDict = null) { | ||
return new Event(type, eventInitDict); | ||
} | ||
|
||
export function constructCustomEvent(type, eventInitDict = null) { | ||
return new CustomEvent(type, eventInitDict); | ||
} | ||
|
||
export function constructEventTarget() { return new EventTarget(); } | ||
|
||
export function constructAbortController() { return new AbortController(); } |
1 change: 1 addition & 0 deletions
1
...nt/KristofferStrube.Blazor.WebAuthentication/KristofferStrube.Blazor.WebAuthentication.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
export function getAttribute(object, attribute) { return object[attribute]; } |
114 changes: 114 additions & 0 deletions
114
_content/KristofferStrube.Blazor.WebIDL/KristofferStrube.Blazor.WebIDL.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,114 @@ | ||
export function getAttribute(object, attribute) { return object[attribute]; } | ||
|
||
export function forEachWithNoArguments(jSReference, callbackObjRef) { | ||
jSReference.forEach(() => callbackObjRef.invokeMethodAsync('InvokeCallback')) | ||
} | ||
|
||
export function forEachWithOneArgument(jSReference, callbackObjRef) { | ||
jSReference.forEach((value) => callbackObjRef.invokeMethodAsync('InvokeCallback', DotNet.createJSObjectReference(value))) | ||
} | ||
|
||
export function forEachWithTwoArguments(jSReference, callbackObjRef) { | ||
jSReference.forEach((value, key) => callbackObjRef.invokeMethodAsync('InvokeCallback', DotNet.createJSObjectReference(value, key))) | ||
} | ||
|
||
// https://javascriptweblog.wordpress.com/2011/08/08/fixing-the-javascript-typeof-operator/ | ||
export function valuePropertiesType(obj, attribute) { | ||
return ({}).toString.call(obj[attribute]).match(/\s([a-z|A-Z]+)/)[1].toLowerCase(); | ||
} | ||
|
||
export function valuePropertiesValue(obj, attribute) { | ||
return obj[attribute]; | ||
} | ||
|
||
export function constructUint8Array(argument) { | ||
return new Uint8Array(argument); | ||
} | ||
|
||
export function constructFloat32Array(argument) { | ||
return new Float32Array(argument); | ||
} | ||
|
||
export function constructDomException(message, name) { | ||
return new DOMException(message, name); | ||
} | ||
|
||
export function constructEvalError(message) { | ||
return EvalError(message); | ||
} | ||
|
||
export function constructRangeError(message) { | ||
return RangeError(message); | ||
} | ||
|
||
export function constructReferenceError(message) { | ||
return ReferenceError(message); | ||
} | ||
|
||
export function constructTypeError(message) { | ||
return TypeError(message); | ||
} | ||
|
||
export function constructURIError(message) { | ||
return URIError(message); | ||
} | ||
|
||
export async function callAsyncGlobalMethod(extraErrorProperties, identifier, args) { | ||
return await callAsyncInstanceMethod(extraErrorProperties, window, identifier, args); | ||
} | ||
|
||
export async function callAsyncInstanceMethod(extraErrorProperties, instance, identifier, args) { | ||
try { | ||
var [functionObject, functionInstance] = resolveFunction(instance, identifier); | ||
return await functionInstance.apply(functionObject, args); | ||
} | ||
catch (error) { | ||
throw new DOMException(formatError(error, extraErrorProperties), "AbortError"); | ||
} | ||
} | ||
|
||
export function callGlobalMethod(extraErrorProperties, identifier, args) { | ||
return callInstanceMethod(extraErrorProperties, window, identifier, args); | ||
} | ||
|
||
export function callInstanceMethod(extraErrorProperties, instance, identifier, args) { | ||
try { | ||
var [functionObject, functionInstance] = resolveFunction(instance, identifier); | ||
return functionInstance.apply(functionObject, args); | ||
} | ||
catch (error) { | ||
throw new DOMException(formatError(error, extraErrorProperties), "AbortError"); | ||
} | ||
} | ||
|
||
function resolveFunction(instance, identifier) | ||
{ | ||
let identifierParts = identifier.split("."); | ||
var functionObject = instance; | ||
var functionInstance = instance[identifierParts[0]]; | ||
for (let i = 1; i < identifierParts.length; i++) { | ||
if (functionInstance == undefined) { | ||
throw new ReferenceError(`Cannot read properties of undefined (reading '${identifierParts[i - 1]}').`); | ||
} | ||
functionObject = functionInstance; | ||
functionInstance = functionInstance[identifierParts[i]]; | ||
} | ||
if (!(functionInstance instanceof Function)) { | ||
throw new TypeError(`'${identifierParts.slice(-1)}' is not a function.`); | ||
} | ||
return [functionObject, functionInstance]; | ||
} | ||
|
||
function formatError(error, extraErrorProperties) { | ||
var name = error.name; | ||
if (error instanceof DOMException && name == "SyntaxError") { | ||
name = "DOMExceptionSyntaxError"; | ||
}; | ||
let copy = { | ||
name: error.name, | ||
message: error.message, | ||
stack: error.stack, | ||
}; | ||
extraErrorProperties?.forEach(property => copy[property] = error[property]); | ||
return JSON.stringify(copy); | ||
} |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added
BIN
+17.3 KB
_framework/KristofferStrube.Blazor.WebAuthentication.WasmExample.pdb.gz
Binary file not shown.
Binary file added
BIN
+34.3 KB
_framework/KristofferStrube.Blazor.WebAuthentication.WasmExample.wasm
Binary file not shown.
Binary file added
BIN
+12.9 KB
_framework/KristofferStrube.Blazor.WebAuthentication.WasmExample.wasm.br
Binary file not shown.
Binary file added
BIN
+14.6 KB
_framework/KristofferStrube.Blazor.WebAuthentication.WasmExample.wasm.gz
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added
BIN
+52.3 KB
_framework/Microsoft.Extensions.DependencyInjection.Abstractions.wasm
Binary file not shown.
Binary file added
BIN
+17.5 KB
_framework/Microsoft.Extensions.DependencyInjection.Abstractions.wasm.br
Binary file not shown.
Binary file added
BIN
+20.2 KB
_framework/Microsoft.Extensions.DependencyInjection.Abstractions.wasm.gz
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Oops, something went wrong.