├── SpawnDev.BlazorJS
├── Images
│ └── icon-128.png
├── JSObjects
│ ├── ImageBitmapRenderingContextSettings.cs
│ ├── Point2D.cs
│ ├── Point2DF.cs
│ ├── ReadableStreamUnderlyingSource.cs
│ ├── WebGPU
│ │ ├── GPUCommandsMixin.cs
│ │ ├── GPUCommandBufferDescriptor.cs
│ │ ├── GPUExternalTextureBindingLayout.cs
│ │ ├── GPURenderBundleDescriptor.cs
│ │ ├── IGPUTextureOrTextureView.cs
│ │ ├── GPUCommandEncoderDescriptor.cs
│ │ ├── GPURenderBundle.cs
│ │ ├── IGPUBindingResource.cs
│ │ ├── GPUComputePipelineDescriptor.cs
│ │ ├── GPUSamplerBindingLayout.cs
│ │ ├── GPUBindGroup.cs
│ │ ├── GPUSampler.cs
│ │ ├── GPUSupportedFeatures.cs
│ │ ├── GPUAutoLayoutMode.cs
│ │ ├── GPUPipelineLayout.cs
│ │ ├── GPUShaderModuleDescriptor.cs
│ │ ├── GPULoadOp.cs
│ │ ├── GPUBindGroupLayout.cs
│ │ ├── GPUComputePassDescriptor.cs
│ │ ├── GPUStoreOp.cs
│ │ ├── GPUBlendState.cs
│ │ ├── GPUFragmentState.cs
│ │ ├── GPUObjectDescriptorBase.cs
│ │ ├── GPUPipelineDescriptorBase.cs
│ │ ├── GPUIndexFormat.cs
│ │ ├── GPUOrigin2DDict.cs
│ │ ├── GPUTextureView.cs
│ │ ├── GPUQuerySetDescriptor.cs
│ │ ├── GPUExternalTexture.cs
│ │ ├── GPUBindGroupDescriptor.cs
│ │ ├── GPUColorWriteFlags.cs
│ │ ├── GPUColorDict.cs
│ │ ├── GPUFilterMode.cs
│ │ ├── GPUTexelCopyBufferInfo.cs
│ │ ├── GPUPipelineLayoutDescriptor.cs
│ │ ├── GPUExternalTextureDescriptor.cs
│ │ ├── GPUMipmapFilterMode.cs
│ │ ├── GPUCullMode.cs
│ │ ├── GPUDeviceLostInfo.cs
│ │ ├── GPUComputePipeline.cs
│ │ ├── GPUBindGroupEntry.cs
│ │ ├── GPUCommandBuffer.cs
│ │ ├── GPUVertexAttribute.cs
│ │ ├── GPURenderBundleEncoderDescriptor.cs
│ │ ├── GPUBindGroupLayoutDescriptor.cs
│ │ ├── GPUError.cs
│ │ ├── GPUExtent3DDict.cs
│ │ ├── GPUOrigin3DDict.cs
│ │ ├── GPUShaderStageFlags.cs
│ │ ├── GPUDebugCommandsMixin.cs
│ │ ├── GPUVertexStepMode.cs
│ │ ├── GPUShaderModule.cs
│ │ └── GPUQuerySet.cs
│ ├── WebRTC
│ │ ├── RTCRtpSenderCapabilityHeaderExtension.cs
│ │ ├── RTCDTMFSender.cs
│ │ ├── RTCDtlsTransport.cs
│ │ ├── RTCRtpSenderCapabilities.cs
│ │ ├── RTCSdpType.cs
│ │ ├── RTCErrorEvent.cs
│ │ ├── RTCAnswerOptions.cs
│ │ ├── RTCDataChannelEvent.cs
│ │ ├── RTCPeerConnectionEvent.cs
│ │ ├── RTCTrackEvent.cs
│ │ ├── RTCPeerConnectionIceErrorEvent.cs
│ │ ├── RTCOfferOptions.cs
│ │ └── RTCDataChannelOptions.cs
│ ├── DeviceMotionXYZ.cs
│ ├── StorageManagerEstimateUsageDetails.cs
│ ├── GetCurrentPositionOptions.cs
│ ├── MediaRecorderErrorEvent.cs
│ ├── DeviceMotionAlphaBetaGamma.cs
│ ├── ImageBitmapRenderingContext.cs
│ ├── WebXR
│ │ ├── XRDOMOverlayInit.cs
│ │ ├── XRLayer.cs
│ │ ├── XRHand.cs
│ │ ├── XRSessionEvent.cs
│ │ ├── XRAnchorSet.cs
│ │ ├── XRJointSpace.cs
│ │ ├── XRJointPose.cs
│ │ ├── XRLightProbeInit.cs
│ │ ├── XRSubImage.cs
│ │ ├── XRLayerEvent.cs
│ │ ├── XRSessionMode.cs
│ │ ├── XRAnchor.cs
│ │ ├── XRWebGLDepthInformation.cs
│ │ ├── XRViewerPose.cs
│ │ └── XRSessionInit.cs
│ ├── BackgroundFetchIconInfo.cs
│ ├── PopStateEvent.cs
│ ├── StorageManagerEstimate.cs
│ ├── InputEvent.cs
│ ├── PromiseCatchException.cs
│ ├── MediaKeys.cs
│ ├── EncryptParams.cs
│ ├── AesKwParams.cs
│ ├── HashChangeEvent.cs
│ ├── MediaQueryListEvent.cs
│ ├── RsaHash.cs
│ ├── KeyDeriveParams.cs
│ ├── WebGL
│ │ ├── Extensions
│ │ │ └── WEBGL_lose_context.cs
│ │ ├── WebGLObject.cs
│ │ ├── WebGLSync.cs
│ │ ├── WebGLSampler.cs
│ │ ├── WebGLQuery.cs
│ │ ├── WebGLActiveInfo.cs
│ │ ├── WebGLBuffer.cs
│ │ ├── WebGLShader.cs
│ │ ├── WebGLTexture.cs
│ │ ├── WebGLFramebuffer.cs
│ │ ├── WebGLUniformLocation.cs
│ │ ├── WebGLProgram.cs
│ │ ├── WebGLRenderbuffer.cs
│ │ ├── WebGLTransformFeedback.cs
│ │ ├── WebGLVertexArrayObject.cs
│ │ ├── WebGLContextEvent.cs
│ │ └── WebGLTypeDefinitions.cs
│ ├── KeyGenParams.cs
│ ├── CryptoSignParams.cs
│ ├── CryptoKeyBase.cs
│ ├── MIDIInputMap.cs
│ ├── MIDIOutputMap.cs
│ ├── RequestFullscreenOptions.cs
│ ├── IScreen.cs
│ ├── CountQueuingStrategyOptions.cs
│ ├── DocumentTimelineOptions.cs
│ ├── PasswordCredentialData.cs
│ ├── PeriodicSyncOptions.cs
│ ├── IDBDatabaseInfo.cs
│ ├── RemoveEntryOptions.cs
│ ├── SharedArrayBufferOptions.cs
│ ├── ShowNotificationsOptionAction.cs
│ ├── WatchAdvertisementsOptions.cs
│ ├── MediaKeyCapabilities.cs
│ ├── LockInfo.cs
│ ├── ElementCreationOptions.cs
│ ├── StorageEvent.cs
│ ├── SerialPortRequestOptions.cs
│ ├── CredentialCreatePasswordOptions.cs
│ ├── GetHandleOptions.cs
│ ├── Ink.cs
│ ├── SVGImageElement.cs
│ ├── StructuredCloneOptions.cs
│ ├── FileSystemSyncReadWriteOptions.cs
│ ├── ArrayBufferOptions.cs
│ ├── CredentialGetPasswordOptions.cs
│ ├── FileSystemCreateWritableOptions.cs
│ ├── PredefinedColorSpace.cs
│ ├── AudioDestinationNode.cs
│ ├── ErrorOptions.cs
│ ├── MediaStreamTrackGeneratorOptions.cs
│ ├── SVGGraphicsElement.cs
│ ├── WGSLLanguageFeatures.cs
│ ├── CredentialGetOtpOptions.cs
│ ├── OscillatorType.cs
│ ├── GetRootNodeOptions.cs
│ ├── InkPresenterParam.cs
│ ├── PasswordCredential.cs
│ ├── Touch.cs
│ ├── FlowControlType.cs
│ ├── PaymentCurrencyAmount.cs
│ ├── XMLHttpRequestEventTarget.cs
│ ├── GestureEvent.cs
│ ├── CredentialCreateFederatedOptions.cs
│ ├── MediaCapabilitiesInfo.cs
│ ├── GetNotificationsOptions.cs
│ ├── HIDConnectionEvent.cs
│ ├── CredentialGetOtp.cs
│ ├── XMLDocument.cs
│ ├── BarcodeDetectorOptions.cs
│ ├── EncodeIntoProgress.cs
│ ├── VideoFrameRect.cs
│ ├── MediaStreamAudioSourceNode.cs
│ ├── NavigationPreloadState.cs
│ ├── PageTransitionEvent.cs
│ ├── CredentialGetPublicKeyOptions.cs
│ ├── AudioSinkOptions.cs
│ ├── CookieChangeEvent.cs
│ ├── VideoResizeModeEnum.cs
│ ├── CookieSubscription.cs
│ ├── RegExp.cs
│ ├── VideoFrameLayout.cs
│ ├── CryptoImportParams.cs
│ ├── MediaStreamTrackAudioSourceNode.cs
│ ├── CredentialCreatePublicKeyOptions.cs
│ ├── ReadableStreamBYOBRequest.cs
│ ├── CredentialCreateOptions.cs
│ ├── IDBDatabaseTransactionOptions.cs
│ ├── CredentialGetFederatedOptions.cs
│ ├── LockManagerState.cs
│ ├── InstallPromptResult.cs
│ ├── GamepadHand.cs
│ ├── InkPresenterStyle.cs
│ ├── UpdateUIOptions.cs
│ ├── VideoFrameCopyOptions.cs
│ ├── ConstrainULongRange.cs
│ ├── InputDeviceCapabilities.cs
│ ├── SerialPortRequestFilter.cs
│ ├── USBConnectionEvent.cs
│ ├── MediaStreamTrackProcessorOptions.cs
│ ├── USBDeviceRequestOptions.cs
│ ├── ContentIndexEvent.cs
│ ├── GamepadHapticActuatorType.cs
│ ├── HIDRequestDeviceOptions.cs
│ ├── CredentialGetIdentityOptions.cs
│ ├── ReadableStreamReaderReadResponse.cs
│ ├── CredentialGetFederated.cs
│ ├── QueueingStrategy.cs
│ ├── MIDIAccessOptions.cs
│ ├── SelfCapturePreferenceEnum.cs
│ ├── ClipboardItemOptions.cs
│ ├── ParityType.cs
│ ├── VideoFacingModeEnum.cs
│ ├── ByteLengthQueuingStrategyOptions.cs
│ ├── HapticEffectParams.cs
│ ├── MonitorTypeSurfacesEnum.cs
│ ├── DocumentPictureInPictureEvent.cs
│ ├── FilePickerType.cs
│ ├── MIDIConnectionEvent.cs
│ ├── SystemAudioPreferenceEnum.cs
│ ├── HmacImportParams.cs
│ ├── AllocationSizeOptions.cs
│ ├── FocusEvent.cs
│ ├── GeolocationPositionError.cs
│ ├── MIDIInput.cs
│ ├── GamepadEvent.cs
│ ├── WhiteBalanceModeEnum.cs
│ ├── BackgroundFetchEvent.cs
│ ├── PaymentItem.cs
│ ├── InputDeviceInfo.cs
│ ├── ImageDataSettings.cs
│ ├── MIDIMessageEvent.cs
│ ├── ClipboardEvent.cs
│ ├── AnimationTimeline.cs
│ ├── ChannelInterpretation.cs
│ ├── GeolocationPosition.cs
│ ├── PushEvent.cs
│ ├── SVGElement.cs
│ └── MediaStreamTrackEvent.cs
├── IJSObject.cs
├── RemoteJSRuntime
│ └── AsyncObjects
│ │ ├── IDBObjectStoreAsync.cs
│ │ ├── CryptoKeyBaseAsync.cs
│ │ ├── EcdhKeyDeriveParamsAsync.cs
│ │ └── AesCbcParamsAsync.cs
├── Toolbox
│ └── Async.cs
└── JsonConverters
│ └── UnionConverterFactory.cs
├── SpawnDev.BlazorJS.Demo
├── wwwroot
│ ├── favicon.png
│ ├── icon-192.png
│ └── sample-data
│ │ └── weather.json
├── Pages
│ └── Home.razor
├── Layout
│ └── MainLayout.razor
├── _Imports.razor
├── App.razor
└── SpawnDev.BlazorJS.Demo.csproj
├── SpawnDev.BlazorJS.Demo6
├── wwwroot
│ ├── favicon.ico
│ ├── icon-192.png
│ ├── css
│ │ └── open-iconic
│ │ │ └── font
│ │ │ └── fonts
│ │ │ ├── open-iconic.eot
│ │ │ ├── open-iconic.otf
│ │ │ ├── open-iconic.ttf
│ │ │ └── open-iconic.woff
│ ├── sample-data
│ │ └── weather.json
│ └── index.html
├── Pages
│ ├── Index.razor
│ └── Counter.razor
├── Shared
│ ├── MainLayout.razor
│ └── SurveyPrompt.razor
├── _Imports.razor
├── App.razor
├── SpawnDev.BlazorJS.Demo6.csproj
└── Program.cs
├── SpawnDev.BlazorJS.Demo9
├── wwwroot
│ ├── favicon.png
│ ├── icon-192.png
│ └── sample-data
│ │ └── weather.json
├── Pages
│ ├── Home.razor
│ └── Counter.razor
├── Layout
│ └── MainLayout.razor
├── _Imports.razor
├── App.razor
└── SpawnDev.BlazorJS.Demo9.csproj
├── .editorconfig
└── .github
├── ISSUE_TEMPLATE
└── feature_request.md
└── FUNDING.yml
/SpawnDev.BlazorJS/Images/icon-128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostBeard/SpawnDev.BlazorJS/main/SpawnDev.BlazorJS/Images/icon-128.png
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Demo/wwwroot/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostBeard/SpawnDev.BlazorJS/main/SpawnDev.BlazorJS.Demo/wwwroot/favicon.png
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Demo/wwwroot/icon-192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostBeard/SpawnDev.BlazorJS/main/SpawnDev.BlazorJS.Demo/wwwroot/icon-192.png
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Demo6/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostBeard/SpawnDev.BlazorJS/main/SpawnDev.BlazorJS.Demo6/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Demo6/wwwroot/icon-192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostBeard/SpawnDev.BlazorJS/main/SpawnDev.BlazorJS.Demo6/wwwroot/icon-192.png
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Demo9/wwwroot/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostBeard/SpawnDev.BlazorJS/main/SpawnDev.BlazorJS.Demo9/wwwroot/favicon.png
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Demo9/wwwroot/icon-192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostBeard/SpawnDev.BlazorJS/main/SpawnDev.BlazorJS.Demo9/wwwroot/icon-192.png
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Demo/Pages/Home.razor:
--------------------------------------------------------------------------------
1 | @page "/"
2 |
3 | Home
4 |
5 |
Hello, world!
6 |
7 | Welcome to your new app.
8 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Demo9/Pages/Home.razor:
--------------------------------------------------------------------------------
1 | @page "/"
2 |
3 | Home
4 |
5 | Hello, world!
6 |
7 | Welcome to your new app.
8 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | [*.cs]
2 |
3 | # CA2018: 'Buffer.BlockCopy' expects the number of bytes to be copied for the 'count' argument
4 | dotnet_diagnostic.CA2018.severity = none
5 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/ImageBitmapRenderingContextSettings.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS.JSObjects
2 | {
3 | public class ImageBitmapRenderingContextSettings
4 | {
5 |
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Demo6/wwwroot/css/open-iconic/font/fonts/open-iconic.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostBeard/SpawnDev.BlazorJS/main/SpawnDev.BlazorJS.Demo6/wwwroot/css/open-iconic/font/fonts/open-iconic.eot
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Demo6/wwwroot/css/open-iconic/font/fonts/open-iconic.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostBeard/SpawnDev.BlazorJS/main/SpawnDev.BlazorJS.Demo6/wwwroot/css/open-iconic/font/fonts/open-iconic.otf
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Demo6/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostBeard/SpawnDev.BlazorJS/main/SpawnDev.BlazorJS.Demo6/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Demo6/wwwroot/css/open-iconic/font/fonts/open-iconic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostBeard/SpawnDev.BlazorJS/main/SpawnDev.BlazorJS.Demo6/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/Point2D.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS.JSObjects
2 | {
3 | public class Point2D
4 | {
5 | public int X { get; set; }
6 | public int Y { get; set; }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/Point2DF.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS.JSObjects
2 | {
3 | public class Point2DF
4 | {
5 | public float X { get; set; }
6 | public float Y { get; set; }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/ReadableStreamUnderlyingSource.cs:
--------------------------------------------------------------------------------
1 | using System.Text.Json.Serialization;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | public abstract class ReadableStreamUnderlyingSource { }
6 | }
7 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Demo6/Pages/Index.razor:
--------------------------------------------------------------------------------
1 | @page "/"
2 |
3 | Index
4 |
5 | Hello, world!
6 |
7 | Welcome to your new app.
8 |
9 |
10 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebGPU/GPUCommandsMixin.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS.JSObjects
2 | {
3 | ///
4 | /// https://www.w3.org/TR/webgpu/#gpucommandsmixin
5 | ///
6 | public interface GPUCommandsMixin { }
7 | }
8 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebRTC/RTCRtpSenderCapabilityHeaderExtension.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS.JSObjects.WebRTC
2 | {
3 | public class RTCRtpSenderCapabilityHeaderExtension
4 | {
5 | public string Uri { get; set; } = "";
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/IJSObject.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS
2 | {
3 | ///
4 | /// This interface is used to mark interfaces for deserialization as a IJSObjectProxy with specified itnerface
5 | ///
6 | public interface IJSObject { }
7 | }
8 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/DeviceMotionXYZ.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS.JSObjects
2 | {
3 | public class DeviceMotionXYZ
4 | {
5 | public double X { get; set; }
6 | public double Y { get; set; }
7 | public double Z { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/StorageManagerEstimateUsageDetails.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS.JSObjects
2 | {
3 | public class StorageManagerEstimateUsageDetails
4 | {
5 | public long Caches { get; set; }
6 | public long serviceWorkerRegistrations { get; set; }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebRTC/RTCDTMFSender.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.JSInterop;
2 |
3 |
4 | namespace SpawnDev.BlazorJS.JSObjects.WebRTC
5 | {
6 | public class RTCDTMFSender : JSObject
7 | {
8 | public RTCDTMFSender(IJSInProcessObjectReference _ref) : base(_ref) { }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/GetCurrentPositionOptions.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS.JSObjects
2 | {
3 | ///
4 | /// GetCurrentPosition options
5 | ///
6 | [Obsolete("Use GeolocationOptions instead")]
7 | public class GetCurrentPositionOptions : GeolocationOptions { }
8 | }
9 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/MediaRecorderErrorEvent.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.JSInterop;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | public class MediaRecorderErrorEvent : Event
6 | {
7 | public MediaRecorderErrorEvent(IJSInProcessObjectReference _ref) : base(_ref) { }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebRTC/RTCDtlsTransport.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.JSInterop;
2 |
3 |
4 | namespace SpawnDev.BlazorJS.JSObjects.WebRTC
5 | {
6 | public class RTCDtlsTransport : JSObject
7 | {
8 | public RTCDtlsTransport(IJSInProcessObjectReference _ref) : base(_ref) { }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/DeviceMotionAlphaBetaGamma.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS.JSObjects
2 | {
3 | public class DeviceMotionAlphaBetaGamma
4 | {
5 | public double Alpha { get; set; }
6 | public double Beta { get; set; }
7 | public double Gamma { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebGPU/GPUCommandBufferDescriptor.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS.JSObjects
2 | {
3 | ///
4 | /// https://www.w3.org/TR/webgpu/#command-buffer-creation
5 | ///
6 | public class GPUCommandBufferDescriptor : GPUObjectDescriptorBase
7 | {
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebGPU/GPUExternalTextureBindingLayout.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS.JSObjects
2 | {
3 | ///
4 | /// https://www.w3.org/TR/webgpu/#dictdef-gpuexternaltexturebindinglayout
5 | ///
6 | public class GPUExternalTextureBindingLayout
7 | {
8 |
9 | }
10 | }
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/ImageBitmapRenderingContext.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.JSInterop;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | public class ImageBitmapRenderingContext : JSObject
6 | {
7 | public ImageBitmapRenderingContext(IJSInProcessObjectReference _ref) : base(_ref) { }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebGPU/GPURenderBundleDescriptor.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS.JSObjects
2 | {
3 | ///
4 | /// https://www.w3.org/TR/webgpu/#dictdef-gpurenderbundledescriptor
5 | ///
6 | public class GPURenderBundleDescriptor : GPUObjectDescriptorBase
7 | {
8 |
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebXR/XRDOMOverlayInit.cs:
--------------------------------------------------------------------------------
1 | using System.Text.Json.Serialization;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | public class XRDOMOverlayInit
6 | {
7 | [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
8 | public HTMLElement? Root { get; set; }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/BackgroundFetchIconInfo.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS.JSObjects
2 | {
3 | ///
4 | /// https://developer.mozilla.org/en-US/docs/Web/API/BackgroundFetchManager/fetch#icons
5 | ///
6 | [Obsolete("Use IconInfo instead")]
7 | public class BackgroundFetchIconInfo : IconInfo { }
8 | }
9 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/PopStateEvent.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.JSInterop;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | public class PopStateEvent : Event
6 | {
7 | public PopStateEvent(IJSInProcessObjectReference _ref) : base(_ref) { }
8 | public T StateAs() => JSRef!.Get("state");
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/StorageManagerEstimate.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS.JSObjects
2 | {
3 | public class StorageManagerEstimate
4 | {
5 | public long Quota { get; set; }
6 | public long Usage { get; set; }
7 | public StorageManagerEstimateUsageDetails? UsageDetails { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebRTC/RTCRtpSenderCapabilities.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS.JSObjects.WebRTC
2 | {
3 | public class RTCRtpSenderCapabilities
4 | {
5 | public List Codecs { get; set; }
6 | public List HeaderExtensions { get; set; }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebRTC/RTCSdpType.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS.JSObjects.WebRTC {
2 | public static class RTCSdpType {
3 | public const string Answer = "answer";
4 | public const string Offer = "offer";
5 | public const string PRAnswer = "pranswer";
6 | public const string Rollback = "rollback";
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebRTC/RTCErrorEvent.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.JSInterop;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects.WebRTC
4 | {
5 | public class RTCErrorEvent : Event
6 | {
7 | public RTCErrorEvent(IJSInProcessObjectReference _ref) : base(_ref) { }
8 | public RTCError Error => JSRef!.Get("error");
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/InputEvent.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.JSInterop;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | // https://developer.mozilla.org/en-US/docs/Web/API/InputEvent
6 | // TODO - finish
7 | public class InputEvent : UIEvent
8 | {
9 | public InputEvent(IJSInProcessObjectReference _ref) : base(_ref) { }
10 |
11 | }
12 | }
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/PromiseCatchException.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS.JSObjects
2 | {
3 | public class PromiseCatchException : Exception
4 | {
5 | public TCatch CatchValue { get; init; }
6 | public PromiseCatchException(TCatch catchValue)
7 | {
8 | CatchValue = catchValue;
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebRTC/RTCAnswerOptions.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS.JSObjects.WebRTC
2 | {
3 | ///
4 | /// Options used for RTCPeerConnection.CreateSnwer()
5 | /// https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/createAnswer#options
6 | ///
7 | public class RTCAnswerOptions
8 | {
9 |
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/MediaKeys.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.JSInterop;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | ///
6 | /// https://developer.mozilla.org/en-US/docs/Web/API/MediaKeys
7 | ///
8 | public class MediaKeys : JSObject
9 | {
10 | public MediaKeys(IJSInProcessObjectReference _ref) : base(_ref) { }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebGPU/IGPUTextureOrTextureView.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS.JSObjects
2 | {
3 | ///
4 | /// The resource to bind, which may be a GPUTexture or GPUTextureView.
5 | /// https://www.w3.org/TR/webgpu/#dictdef-gpurenderpasscolorattachment
6 | ///
7 | public interface IGPUTextureOrTextureView
8 | {
9 |
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebRTC/RTCDataChannelEvent.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.JSInterop;
2 |
3 |
4 | namespace SpawnDev.BlazorJS.JSObjects.WebRTC
5 | {
6 | public class RTCDataChannelEvent : Event
7 | {
8 | public RTCDataChannelEvent(IJSInProcessObjectReference _ref) : base(_ref) { }
9 | public RTCDataChannel Channel => JSRef!.Get("channel");
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/EncryptParams.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS.JSObjects
2 | {
3 | ///
4 | /// Base class for parameter types used when calling SubtleCrypto.encrypt
5 | ///
6 | public class EncryptParams
7 | {
8 | ///
9 | /// A string.
10 | ///
11 | public virtual string Name { get; set; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/AesKwParams.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS.JSObjects
2 | {
3 | ///
4 | /// AES-KW parameters
5 | ///
6 | public class AesKwParams : EncryptParams
7 | {
8 | ///
9 | /// A string. This should be set to AES-KW.
10 | ///
11 | public override string Name { get; set; } = "AES-KW";
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/HashChangeEvent.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.JSInterop;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | public class HashChangeEvent : Event
6 | {
7 | public HashChangeEvent(IJSInProcessObjectReference _ref) : base(_ref) { }
8 | public string NewURL => JSRef!.Get("newURL");
9 | public string OldURL => JSRef!.Get("oldURL");
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebGPU/GPUCommandEncoderDescriptor.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS.JSObjects
2 | {
3 | ///
4 | /// Represents a descriptor used to configure a GPU command encoder.
5 | /// https://www.w3.org/TR/webgpu/#dictdef-gpucommandencoderdescriptor
6 | ///
7 | public class GPUCommandEncoderDescriptor : GPUObjectDescriptorBase
8 | {
9 |
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebRTC/RTCPeerConnectionEvent.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.JSInterop;
2 |
3 |
4 | namespace SpawnDev.BlazorJS.JSObjects.WebRTC
5 | {
6 | public class RTCPeerConnectionEvent : Event
7 | {
8 | public RTCPeerConnectionEvent(IJSInProcessObjectReference _ref) : base(_ref) { }
9 | public RTCIceCandidate Candidate => JSRef!.Get("candidate");
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/MediaQueryListEvent.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.JSInterop;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | public class MediaQueryListEvent : Event
6 | {
7 | public MediaQueryListEvent(IJSInProcessObjectReference _ref) : base(_ref) { }
8 | public bool Matches => JSRef!.Get("matches");
9 | public string Media => JSRef!.Get("media");
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Demo9/Pages/Counter.razor:
--------------------------------------------------------------------------------
1 | @page "/counter"
2 |
3 | Counter
4 |
5 | Counter
6 |
7 | Current count: @currentCount
8 |
9 |
10 |
11 | @code {
12 | private int currentCount = 0;
13 |
14 | private void IncrementCount()
15 | {
16 | currentCount++;
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebGPU/GPURenderBundle.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.JSInterop;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | ///
6 | /// https://www.w3.org/TR/webgpu/#gpurenderbundle
7 | ///
8 | public class GPURenderBundle : GPUObjectBase
9 | {
10 | ///
11 | public GPURenderBundle(IJSInProcessObjectReference _ref) : base(_ref) { }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebGPU/IGPUBindingResource.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS.JSObjects
2 | {
3 | ///
4 | /// The resource to bind, which may be a GPUSampler, GPUTexture, GPUTextureView, GPUBuffer, GPUBufferBinding, or GPUExternalTexture.
5 | /// https://www.w3.org/TR/webgpu/#typedefdef-gpubindingresource
6 | ///
7 | public interface IGPUBindingResource
8 | {
9 |
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/RsaHash.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS.JSObjects
2 | {
3 | ///
4 | /// Used with RsaHashedKeyGenParams
5 | ///
6 | public class RsaHash
7 | {
8 | ///
9 | /// A string representing the name of the digest function to use. You can pass any of SHA-256, SHA-384, or SHA-512 here
10 | ///
11 | public string Name { get; set; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Demo/Layout/MainLayout.razor:
--------------------------------------------------------------------------------
1 | @inherits LayoutComponentBase
2 |
3 |
6 |
7 |
8 |
11 |
12 |
13 | @Body
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Demo/_Imports.razor:
--------------------------------------------------------------------------------
1 | @using System.Net.Http
2 | @using System.Net.Http.Json
3 | @using Microsoft.AspNetCore.Components.Forms
4 | @using Microsoft.AspNetCore.Components.Routing
5 | @using Microsoft.AspNetCore.Components.Web
6 | @using Microsoft.AspNetCore.Components.Web.Virtualization
7 | @using Microsoft.AspNetCore.Components.WebAssembly.Http
8 | @using Microsoft.JSInterop
9 | @using SpawnDev.BlazorJS.Demo
10 | @using SpawnDev.BlazorJS.Demo.Layout
11 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Demo6/Shared/MainLayout.razor:
--------------------------------------------------------------------------------
1 | @inherits LayoutComponentBase
2 |
3 |
4 |
7 |
8 |
9 |
12 |
13 |
14 | @Body
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Demo9/Layout/MainLayout.razor:
--------------------------------------------------------------------------------
1 | @inherits LayoutComponentBase
2 |
3 |
6 |
7 |
8 |
11 |
12 |
13 | @Body
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/KeyDeriveParams.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS.JSObjects
2 | {
3 | ///
4 | /// Base class for options used in SubtleCrypto.DeriveKey()
5 | ///
6 | public class KeyDeriveParams
7 | {
8 | ///
9 | /// A string indicating the derive key parameters the inheriting class holds
10 | ///
11 | public virtual string Name { get; set; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebGL/Extensions/WEBGL_lose_context.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.JSInterop;
2 |
3 | namespace SpawnDev.BlazorJS.WebGL.Extensions {
4 | public class WEBGL_lose_context : JSObject
5 | {
6 | public WEBGL_lose_context(IJSInProcessObjectReference _ref) : base(_ref) { }
7 | public void LoseContext() => JSRef!.CallVoid("loseContext");
8 | public void RestoreContext() => JSRef!.CallVoid("restoreContext");
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Demo6/_Imports.razor:
--------------------------------------------------------------------------------
1 | @using System.Net.Http
2 | @using System.Net.Http.Json
3 | @using Microsoft.AspNetCore.Components.Forms
4 | @using Microsoft.AspNetCore.Components.Routing
5 | @using Microsoft.AspNetCore.Components.Web
6 | @using Microsoft.AspNetCore.Components.Web.Virtualization
7 | @using Microsoft.AspNetCore.Components.WebAssembly.Http
8 | @using Microsoft.JSInterop
9 | @using SpawnDev.BlazorJS.Demo6
10 | @using SpawnDev.BlazorJS.Demo6.Shared
11 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Demo9/_Imports.razor:
--------------------------------------------------------------------------------
1 | @using System.Net.Http
2 | @using System.Net.Http.Json
3 | @using Microsoft.AspNetCore.Components.Forms
4 | @using Microsoft.AspNetCore.Components.Routing
5 | @using Microsoft.AspNetCore.Components.Web
6 | @using Microsoft.AspNetCore.Components.Web.Virtualization
7 | @using Microsoft.AspNetCore.Components.WebAssembly.Http
8 | @using Microsoft.JSInterop
9 | @using SpawnDev.BlazorJS.Demo9
10 | @using SpawnDev.BlazorJS.Demo9.Layout
11 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Demo6/Pages/Counter.razor:
--------------------------------------------------------------------------------
1 | @page "/counter"
2 |
3 | Counter
4 |
5 | Counter
6 |
7 | Current count: @currentCount
8 |
9 |
10 |
11 | @code {
12 | private int currentCount = 0;
13 |
14 | [Inject]
15 | BlazorJSRuntime JS { get; set; } = default!;
16 |
17 | private void RunTests()
18 | {
19 |
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/KeyGenParams.cs:
--------------------------------------------------------------------------------
1 | using System.Text.Json.Serialization;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | ///
6 | /// Base class for parameter types used when calling SubtleCrypto.generateKey
7 | ///
8 | public class KeyGenParams
9 | {
10 | ///
11 | /// A string.
12 | ///
13 | [JsonPropertyName("name")]
14 | public virtual string Name { get; set; }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/CryptoSignParams.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS.JSObjects
2 | {
3 | ///
4 | /// Represents the object that should be passed as the algorithm parameter into SubtleCrypto.sign() or SubtleCrypto.verify()
5 | ///
6 | public class CryptoSignParams
7 | {
8 | ///
9 | /// A string that specifies the signature algorithm to use
10 | ///
11 | public virtual string Name { get; set; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/CryptoKeyBase.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.JSInterop;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | ///
6 | /// Base class for CryptoKeyPair and CryptoKey
7 | ///
8 | public class CryptoKeyBase : JSObject
9 | {
10 | ///
11 | /// Deserialization constructor
12 | ///
13 | ///
14 | public CryptoKeyBase(IJSInProcessObjectReference _ref) : base(_ref) { }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/MIDIInputMap.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.JSInterop;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | ///
6 | /// The MIDIInputMap read-only interface of the Web MIDI API provides the set of MIDI input ports that are currently available.
7 | ///
8 | public class MIDIInputMap : Map
9 | {
10 | #region Constructors
11 | public MIDIInputMap(IJSInProcessObjectReference _ref) : base(_ref) { }
12 | #endregion
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebGPU/GPUComputePipelineDescriptor.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS.JSObjects
2 | {
3 | ///
4 | /// https://www.w3.org/TR/webgpu/#dictdef-gpucomputepipelinedescriptor
5 | ///
6 | public class GPUComputePipelineDescriptor : GPUPipelineDescriptorBase
7 | {
8 | ///
9 | /// Describes the compute shader entry point of the pipeline.
10 | ///
11 | public GPUProgrammableStage Compute { get; set; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/MIDIOutputMap.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.JSInterop;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | ///
6 | /// The MIDIOutputMap read-only interface of the Web MIDI API provides the set of MIDI output ports that are currently available.
7 | ///
8 | public class MIDIOutputMap : Map
9 | {
10 | #region Constructors
11 | public MIDIOutputMap(IJSInProcessObjectReference _ref) : base(_ref) { }
12 | #endregion
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/RequestFullscreenOptions.cs:
--------------------------------------------------------------------------------
1 | using System.Text.Json.Serialization;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | ///
6 | /// Options for Element.RequestFullscreen()
7 | ///
8 | public class RequestFullscreenOptions {
9 | ///
10 | /// Options hide, show, auto (default)
11 | ///
12 | [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
13 | public string? NavigationUI { get; set; }
14 | }
15 | }
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Demo/App.razor:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Not found
8 |
9 | Sorry, there's nothing at this address.
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Demo6/App.razor:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Not found
8 |
9 | Sorry, there's nothing at this address.
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Demo9/App.razor:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Not found
8 |
9 | Sorry, there's nothing at this address.
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebGL/WebGLObject.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.JSInterop;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | ///
6 | /// The WebGLObject is part of the WebGL API and is the parent interface for all WebGL objects.
7 | /// https://developer.mozilla.org/en-US/docs/Web/API/WebGLObject
8 | ///
9 | public class WebGLObject : JSObject
10 | {
11 | ///
12 | public WebGLObject(IJSInProcessObjectReference _ref) : base(_ref) { }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebGPU/GPUSamplerBindingLayout.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS.JSObjects
2 | {
3 | ///
4 | /// https://www.w3.org/TR/webgpu/#dictdef-gpusamplerbindinglayout
5 | ///
6 | public class GPUSamplerBindingLayout
7 | {
8 | ///
9 | /// Indicates the required type of a sampler bound to this bindings.
10 | /// Options are "filtering", "non-filtering", "comparison"
11 | ///
12 | public string Type { get; init; }
13 | }
14 | }
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/IScreen.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS.JSObjects
2 | {
3 | public interface IScreen
4 | {
5 | int AvailHeight { get; }
6 | int AvailLeft { get; }
7 | int AvailTop { get; }
8 | int AvailWidth { get; }
9 | int ColorDepth { get; }
10 | double DevicePixelRatio { get; }
11 | int Height { get; }
12 | bool IsExtended { get; }
13 | ScreenOrientation Orientation { get; }
14 | int PixelDepth { get; }
15 | int Width { get; }
16 | }
17 | }
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebGPU/GPUBindGroup.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.JSInterop;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | ///
6 | /// A GPUBindGroup defines a set of resources to be bound together in a group and how the resources are used in shader stages.
7 | /// https://www.w3.org/TR/webgpu/#gpubindgroup
8 | ///
9 | public class GPUBindGroup : GPUObjectBase
10 | {
11 | ///
12 | public GPUBindGroup(IJSInProcessObjectReference _ref) : base(_ref) { }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/CountQueuingStrategyOptions.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS.JSObjects
2 | {
3 | ///
4 | /// https://developer.mozilla.org/en-US/docs/Web/API/CountQueuingStrategy/CountQueuingStrategy#options
5 | ///
6 | public class CountQueuingStrategyOptions
7 | {
8 | ///
9 | /// The total number of chunks that can be contained in the internal queue before backpressure is applied.
10 | ///
11 | public int HighWaterMark { get; set; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/DocumentTimelineOptions.cs:
--------------------------------------------------------------------------------
1 | using System.Text.Json.Serialization;
2 | ///
3 | /// An object specifying options for the new timeline.
4 | ///
5 | public class DocumentTimelineOptions
6 | {
7 | ///
8 | /// A number that specifies the zero time for the DocumentTimeline as a number of milliseconds relative to Performance.timeOrigin. Defaults to 0.
9 | ///
10 | [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
11 | public float? OriginTime { get; set; }
12 | }
13 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebXR/XRLayer.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.JSInterop;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | ///
6 | /// The XRLayer interface of the WebXR Device API is the base class for WebXR layer types. It inherits methods from EventTarget.
7 | /// https://developer.mozilla.org/en-US/docs/Web/API/XRLayer
8 | ///
9 | public class XRLayer : EventTarget
10 | {
11 | ///
12 | public XRLayer(IJSInProcessObjectReference _ref) : base(_ref) { }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/PasswordCredentialData.cs:
--------------------------------------------------------------------------------
1 | using System.Text.Json.Serialization;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | public class PasswordCredentialData
6 | {
7 | public string Id { get; set; } = "";
8 | [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
9 | public string? IconURL { get; set; }
10 | [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
11 | public string? Name { get; set; }
12 | public string Password { get; set; } = "";
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/PeriodicSyncOptions.cs:
--------------------------------------------------------------------------------
1 | using System.Text.Json.Serialization;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | ///
6 | /// PeriodicSync options
7 | ///
8 | public class PeriodicSyncOptions
9 | {
10 | ///
11 | /// The minimum interval time, in milliseconds, at which the periodic sync should occur.
12 | ///
13 | [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
14 | public int? MinInterval { get; set; }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebGL/WebGLSync.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.JSInterop;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | ///
6 | /// The WebGLSync interface is part of the WebGL 2 API and is used to synchronize activities between the GPU and the application.
7 | /// https://developer.mozilla.org/en-US/docs/Web/API/WebGLSync
8 | ///
9 | public class WebGLSync : WebGLObject
10 | {
11 | ///
12 | public WebGLSync(IJSInProcessObjectReference _ref) : base(_ref) { }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebXR/XRHand.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.JSInterop;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | ///
6 | /// The XRHand interface is pair iterator (an ordered map) with the key being the hand joints and the value being an XRJointSpace.
7 | /// https://developer.mozilla.org/en-US/docs/Web/API/XRHand
8 | ///
9 | public class XRHand : Map
10 | {
11 | ///
12 | public XRHand(IJSInProcessObjectReference _ref) : base(_ref) { }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebGPU/GPUSampler.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.JSInterop;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | ///
6 | /// A GPUSampler encodes transformations and filtering information that can be used in a shader to interpret texture resource data.
7 | /// https://www.w3.org/TR/webgpu/#gpusampler
8 | ///
9 | public class GPUSampler : GPUObjectBase, IGPUBindingResource
10 | {
11 | ///
12 | public GPUSampler(IJSInProcessObjectReference _ref) : base(_ref) { }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/IDBDatabaseInfo.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS.JSObjects
2 | {
3 | ///
4 | /// Returned as elements in an array from the Promise returned by IDBFactory.databases()
5 | ///
6 | public class IDBDatabaseInfo
7 | {
8 | ///
9 | /// The database name.
10 | ///
11 | public string Name { get; set; } = "";
12 | ///
13 | /// The database version.
14 | ///
15 | public long Version { get; set; }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebGL/WebGLSampler.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.JSInterop;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | ///
6 | /// The WebGLSampler interface is part of the WebGL 2 API and stores sampling parameters for WebGLTexture access inside of a shader.
7 | /// https://developer.mozilla.org/en-US/docs/Web/API/WebGLSampler
8 | ///
9 | public class WebGLSampler : WebGLObject
10 | {
11 | ///
12 | public WebGLSampler(IJSInProcessObjectReference _ref) : base(_ref) { }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/RemoveEntryOptions.cs:
--------------------------------------------------------------------------------
1 | using System.Text.Json.Serialization;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | ///
6 | /// FileSystemDirectory.RemoveEntry options
7 | ///
8 | public class RemoveEntryOptions
9 | {
10 | ///
11 | /// A boolean value, which defaults to false. When set to true entries will be removed recursively.
12 | ///
13 | [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
14 | public bool? Recursive { get; set; }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Demo/wwwroot/sample-data/weather.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "date": "2022-01-06",
4 | "temperatureC": 1,
5 | "summary": "Freezing"
6 | },
7 | {
8 | "date": "2022-01-07",
9 | "temperatureC": 14,
10 | "summary": "Bracing"
11 | },
12 | {
13 | "date": "2022-01-08",
14 | "temperatureC": -13,
15 | "summary": "Freezing"
16 | },
17 | {
18 | "date": "2022-01-09",
19 | "temperatureC": -16,
20 | "summary": "Balmy"
21 | },
22 | {
23 | "date": "2022-01-10",
24 | "temperatureC": -2,
25 | "summary": "Chilly"
26 | }
27 | ]
28 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Demo6/wwwroot/sample-data/weather.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "date": "2018-05-06",
4 | "temperatureC": 1,
5 | "summary": "Freezing"
6 | },
7 | {
8 | "date": "2018-05-07",
9 | "temperatureC": 14,
10 | "summary": "Bracing"
11 | },
12 | {
13 | "date": "2018-05-08",
14 | "temperatureC": -13,
15 | "summary": "Freezing"
16 | },
17 | {
18 | "date": "2018-05-09",
19 | "temperatureC": -16,
20 | "summary": "Balmy"
21 | },
22 | {
23 | "date": "2018-05-10",
24 | "temperatureC": -2,
25 | "summary": "Chilly"
26 | }
27 | ]
28 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Demo9/wwwroot/sample-data/weather.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "date": "2022-01-06",
4 | "temperatureC": 1,
5 | "summary": "Freezing"
6 | },
7 | {
8 | "date": "2022-01-07",
9 | "temperatureC": 14,
10 | "summary": "Bracing"
11 | },
12 | {
13 | "date": "2022-01-08",
14 | "temperatureC": -13,
15 | "summary": "Freezing"
16 | },
17 | {
18 | "date": "2022-01-09",
19 | "temperatureC": -16,
20 | "summary": "Balmy"
21 | },
22 | {
23 | "date": "2022-01-10",
24 | "temperatureC": -2,
25 | "summary": "Chilly"
26 | }
27 | ]
28 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/SharedArrayBufferOptions.cs:
--------------------------------------------------------------------------------
1 | using System.Text.Json.Serialization;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | ///
6 | /// Can be used when creating a SharedArrayBuffer
7 | ///
8 | public class SharedArrayBufferOptions
9 | {
10 | ///
11 | /// The maximum size, in bytes, that the shared array buffer can be resized to.
12 | ///
13 | [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
14 | public long? MaxByteLength { get; set; }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/ShowNotificationsOptionAction.cs:
--------------------------------------------------------------------------------
1 | using System.Text.Json.Serialization;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | public class ShowNotificationsOptionAction
6 | {
7 | [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
8 | public string? Action { get; set; }
9 |
10 | [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
11 | public string? Title { get; set; }
12 |
13 | [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
14 | public string? Icon { get; set; }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WatchAdvertisementsOptions.cs:
--------------------------------------------------------------------------------
1 | using System.Text.Json.Serialization;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | ///
6 | /// https://webbluetoothcg.github.io/web-bluetooth/#dictdef-watchadvertisementsoptions
7 | ///
8 | public class WatchAdvertisementsOptions
9 | {
10 | ///
11 | /// Optional. The signal to abort the request.
12 | ///
13 | [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
14 | public AbortSignal? Signal { get; set; }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebGPU/GPUSupportedFeatures.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.JSInterop;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | ///
6 | /// The GPUSupportedFeatures interface of the WebGPU API is a Set-like object that describes additional functionality supported by a GPUAdapter.
7 | /// https://www.w3.org/TR/webgpu/#gpusupportedfeatures
8 | ///
9 | public class GPUSupportedFeatures : Set
10 | {
11 | ///
12 | public GPUSupportedFeatures(IJSInProcessObjectReference _ref) : base(_ref) { }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/MediaKeyCapabilities.cs:
--------------------------------------------------------------------------------
1 | using System.Text.Json.Serialization;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | public class MediaKeyCapabilities
6 | {
7 | [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
8 | public string? ContentType { get; set; }
9 |
10 | [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
11 | public string? EncryptionScheme { get; set; }
12 |
13 | [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
14 | public string? Robustness { get; set; }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/LockInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Text.Json.Serialization;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | ///
6 | /// LockManager lock info
7 | /// https://developer.mozilla.org/en-US/docs/Web/API/LockManager/query#name
8 | ///
9 | public class LockInfo
10 | {
11 | [JsonPropertyName("name")]
12 | public string Name { get; set; }
13 | [JsonPropertyName("mode")]
14 | public string Mode { get; set; }
15 | [JsonPropertyName("clientId")]
16 | public string ClientId { get; set; }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Demo6/Shared/SurveyPrompt.razor:
--------------------------------------------------------------------------------
1 |
2 |
3 |
@Title
4 |
5 |
6 | Please take our
7 | brief survey
8 |
9 | and tell us what you think.
10 |
11 |
12 | @code {
13 | // Demonstrates how a parent component can supply parameters
14 | [Parameter]
15 | public string? Title { get; set; }
16 | }
17 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebGPU/GPUAutoLayoutMode.cs:
--------------------------------------------------------------------------------
1 | using System.Text.Json.Serialization;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | ///
6 | /// https://www.w3.org/TR/webgpu/#enumdef-gpuautolayoutmode
7 | ///
8 | [JsonConverter(typeof(JsonConverters.EnumStringConverterFactory))]
9 | public enum GPUAutoLayoutMode
10 | {
11 | ///
12 | /// Note: If "auto" is used the pipeline cannot share GPUBindGroups with any other pipelines.
13 | ///
14 | [JsonPropertyName("auto")]
15 | Auto,
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebGPU/GPUPipelineLayout.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.JSInterop;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | ///
6 | /// The GPUPipelineLayout interface of the WebGPU API defines the GPUBindGroupLayouts used by a pipeline.
7 | /// GPUBindGroups used with the pipeline during command encoding must have compatible GPUBindGroupLayouts.
8 | ///
9 | public class GPUPipelineLayout : GPUObjectBase
10 | {
11 | ///
12 | public GPUPipelineLayout(IJSInProcessObjectReference _ref) : base(_ref) { }
13 |
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/ElementCreationOptions.cs:
--------------------------------------------------------------------------------
1 | using System.Text.Json.Serialization;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | ///
6 | /// https://developer.mozilla.org/en-US/docs/Web/API/Document/createElement#options
7 | ///
8 | public class ElementCreationOptions
9 | {
10 | ///
11 | /// The tag name of a custom element previously defined via customElements.define().
12 | ///
13 | [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
14 | public string? Is { get; set; }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebGL/WebGLQuery.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.JSInterop;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | ///
6 | /// The WebGLQuery interface is part of the WebGL 2 API and provides ways to asynchronously query for information. By default, occlusion queries and primitive queries are available.
7 | /// https://developer.mozilla.org/en-US/docs/Web/API/WebGLQuery
8 | ///
9 | public class WebGLQuery : WebGLObject
10 | {
11 | ///
12 | public WebGLQuery(IJSInProcessObjectReference _ref) : base(_ref) { }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebXR/XRSessionEvent.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.JSInterop;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | ///
6 | /// https://developer.mozilla.org/en-US/docs/Web/API/XRSessionEvent
7 | ///
8 | public class XRSessionEvent : Event
9 | {
10 | ///
11 | public XRSessionEvent(IJSInProcessObjectReference _ref) : base(_ref) { }
12 | ///
13 | /// The XRSession to which the event refers.
14 | ///
15 | public XRSession Session => JSRef!.Get("session");
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/StorageEvent.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.JSInterop;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | public class StorageEvent
6 | : Event
7 | {
8 | public StorageEvent(IJSInProcessObjectReference _ref) : base(_ref) { }
9 | public string Key => JSRef!.Get("key");
10 | public string OldValue => JSRef!.Get("oldValue");
11 | public string NewValue => JSRef!.Get("newValue");
12 | public string Url => JSRef!.Get("url");
13 | public Storage StorageArea => JSRef!.Get("storageArea");
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebXR/XRAnchorSet.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.JSInterop;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | ///
6 | /// https://developer.mozilla.org/en-US/docs/Web/API/XRAnchorSet
7 | ///
8 | public class XRAnchorSet : Set
9 | {
10 | ///
11 | public XRAnchorSet(IJSInProcessObjectReference _ref) : base(_ref) { }
12 | ///
13 | /// Creates a new instance
14 | ///
15 | public XRAnchorSet(IEnumerable iterable) : base(JS.New("Set", iterable)) { }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/SerialPortRequestOptions.cs:
--------------------------------------------------------------------------------
1 | using System.Text.Json.Serialization;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | public class SerialPortRequestOptions
6 | {
7 | ///
8 | /// A list of objects containing vendor and product IDs used to search for attached devices. The USB Implementors Forum assigns IDs to specific companies. Each company assigns IDs to its products.
9 | ///
10 | [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
11 | public IEnumerable? Filters { get; set; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebGL/WebGLActiveInfo.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS.JSObjects
2 | {
3 | ///
4 | /// The WebGLActiveInfo interface is part of the WebGL API and represents the information returned by calling the WebGLRenderingContext.getActiveAttrib() and WebGLRenderingContext.getActiveUniform() methods.
5 | /// https://developer.mozilla.org/en-US/docs/Web/API/WebGLActiveInfo
6 | ///
7 | public class WebGLActiveInfo
8 | {
9 | public string Name { get; set; }
10 | public int Size { get; set; }
11 | public int Type { get; set; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebGPU/GPUShaderModuleDescriptor.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS.JSObjects
2 | {
3 | ///
4 | /// Describes the parameters for creating a GPUShaderModule, which is used to compile and manage shader code in WebGPU.
5 | /// https://www.w3.org/TR/webgpu/#shader-module-creation
6 | ///
7 | public class GPUShaderModuleDescriptor : GPUObjectDescriptorBase
8 | {
9 | ///
10 | /// A string representing the WGSL source code for the shader module.
11 | ///
12 | public string Code { get; init; }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/CredentialCreatePasswordOptions.cs:
--------------------------------------------------------------------------------
1 | namespace SpawnDev.BlazorJS.JSObjects
2 | {
3 | ///
4 | /// If used for CredentialsContainer.Create()
5 | /// a PasswordCredential will be returned
6 | ///
7 | public class CredentialCreatePasswordOptions : CredentialCreateOptions
8 | {
9 | ///
10 | /// An object containing requirements for creating a password credential. See the Credential Management API section below for more details.
11 | ///
12 | public CredentialCreatePassword Password { get; set; }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/GetHandleOptions.cs:
--------------------------------------------------------------------------------
1 | using System.Text.Json.Serialization;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | ///
6 | /// FileSystemDirectory.GetHandle options
7 | ///
8 | public class GetHandleOptions
9 | {
10 | ///
11 | /// A boolean value, which defaults to false. When set to true if the directory is not found, one with the specified name will be created and returned.
12 | ///
13 | [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
14 | public bool? Create { get; set; }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/Ink.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.JSInterop;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | ///
6 | /// The Ink interface of the Ink API provides access to InkPresenter objects for the application to use to render ink strokes.
7 | /// https://developer.mozilla.org/en-US/docs/Web/API/Ink
8 | ///
9 | public class Ink : JSObject
10 | {
11 | public Ink(IJSInProcessObjectReference _ref) : base(_ref) { }
12 | public Task RequestPresenter(InkPresenterParam param) => JSRef!.CallAsync("requestPresenter", param);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/SVGImageElement.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.JSInterop;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | ///
6 | /// The SVGImageElement interface corresponds to the image element.
7 | /// https://developer.mozilla.org/en-US/docs/Web/API/SVGImageElement
8 | ///
9 | public class SVGImageElement : SVGGraphicsElement
10 | {
11 | ///
12 | /// Deserialization constructor
13 | ///
14 | ///
15 | public SVGImageElement(IJSInProcessObjectReference _ref) : base(_ref) { }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/WebRTC/RTCTrackEvent.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.JSInterop;
2 |
3 |
4 | namespace SpawnDev.BlazorJS.JSObjects.WebRTC
5 | {
6 | public class RTCTrackEvent : Event
7 | {
8 | public RTCTrackEvent(IJSInProcessObjectReference _ref) : base(_ref) { }
9 | public RTCRtpReceiver Receiver => JSRef!.Get("receiver");
10 | public MediaStream[] Streams => JSRef!.Get("streams");
11 | public MediaStreamTrack Track => JSRef!.Get("track");
12 | public RTCRtpTransceiver Transceiver => JSRef!.Get("transceiver");
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/RemoteJSRuntime/AsyncObjects/IDBObjectStoreAsync.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.JSInterop;
2 | using SpawnDev.BlazorJS.JsonConverters;
3 | using System.Text.Json.Serialization;
4 |
5 | namespace SpawnDev.BlazorJS.RemoteJSRuntime.AsyncObjects
6 | {
7 | [JsonConverter(typeof(JSObjectAsyncConverterFactory))]
8 | public class IDBObjectStoreAsync : JSObjectAsync
9 | {
10 | ///
11 | /// Deserialization constructor
12 | ///
13 | ///
14 | public IDBObjectStoreAsync(IJSObjectReference jsRef) : base(jsRef) { }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS/JSObjects/StructuredCloneOptions.cs:
--------------------------------------------------------------------------------
1 | using System.Text.Json.Serialization;
2 |
3 | namespace SpawnDev.BlazorJS.JSObjects
4 | {
5 | ///
6 | /// https://developer.mozilla.org/en-US/docs/Web/API/Window/structuredClone#options
7 | ///
8 | public class StructuredCloneOptions
9 | {
10 | ///
11 | /// An array of transferable objects that will be moved rather than cloned to the returned object.
12 | ///
13 | [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
14 | public IEnumerable