From d96bbd33bb7d3ea71b83bede11ecd978738aa29a Mon Sep 17 00:00:00 2001 From: p6laris Date: Sat, 18 Nov 2023 11:21:15 +0300 Subject: [PATCH] Add project files. --- SiriLazor.WASM/Components/App.razor | 12 + .../Components/Layout/MainLayout.razor | 3 + SiriLazor.WASM/Components/Pages/Home.razor | 104 ++ SiriLazor.WASM/Components/_Imports.razor | 11 + SiriLazor.WASM/Program.cs | 13 + SiriLazor.WASM/Properties/launchSettings.json | 41 + SiriLazor.WASM/SiriLazor.WASM.csproj | 17 + SiriLazor.WASM/Style/tailwind.css | 4 + SiriLazor.WASM/package-lock.json | 901 ++++++++++++++++++ SiriLazor.WASM/package.json | 5 + SiriLazor.WASM/tailwind.config.js | 13 + SiriLazor.WASM/wwwroot/SiriLazor_160x160.png | Bin 0 -> 34998 bytes SiriLazor.WASM/wwwroot/css/style.css | 714 ++++++++++++++ SiriLazor.WASM/wwwroot/index.html | 32 + SiriLazor.sln | 36 + .../Extentions/SiriLazorExtention.cs | 10 + .../Component/Interfaces/ICurveDefintion.cs | 8 + SiriLazor/Component/Interfaces/IOptions.cs | 22 + SiriLazor/Component/Interfaces/ISiriLazor.cs | 10 + .../Interfaces/IWaveOptionBuilder.cs | 8 + .../Models/ClassicWaveCurveDefintion.cs | 14 + .../Models/ClassicWaveOptionBuilder.cs | 154 +++ .../Component/Models/ClassicWaveOptions.cs | 49 + .../Models/GlobalCompositeOperation.cs | 32 + .../Models/IOS9WaveCurveDefintion.cs | 11 + .../Component/Models/IOS9WaveOptionBuilder.cs | 140 +++ SiriLazor/Component/Models/IOS9WaveOptions.cs | 45 + SiriLazor/Component/Models/IOS9WaveRanges.cs | 14 + SiriLazor/Component/Models/SiriObject.cs | 31 + SiriLazor/Component/UI/ClassicWave.razor | 108 +++ SiriLazor/Component/UI/IOS9Wave.razor | 107 +++ SiriLazor/SiriLazor.cs | 38 + SiriLazor/SiriLazor.csproj | 26 + SiriLazor/_Imports.razor | 3 + SiriLazor/wwwroot/siriLazorInterop.js | 100 ++ SiriLazor/wwwroot/siriWave.js | 4 + 36 files changed, 2840 insertions(+) create mode 100644 SiriLazor.WASM/Components/App.razor create mode 100644 SiriLazor.WASM/Components/Layout/MainLayout.razor create mode 100644 SiriLazor.WASM/Components/Pages/Home.razor create mode 100644 SiriLazor.WASM/Components/_Imports.razor create mode 100644 SiriLazor.WASM/Program.cs create mode 100644 SiriLazor.WASM/Properties/launchSettings.json create mode 100644 SiriLazor.WASM/SiriLazor.WASM.csproj create mode 100644 SiriLazor.WASM/Style/tailwind.css create mode 100644 SiriLazor.WASM/package-lock.json create mode 100644 SiriLazor.WASM/package.json create mode 100644 SiriLazor.WASM/tailwind.config.js create mode 100644 SiriLazor.WASM/wwwroot/SiriLazor_160x160.png create mode 100644 SiriLazor.WASM/wwwroot/css/style.css create mode 100644 SiriLazor.WASM/wwwroot/index.html create mode 100644 SiriLazor.sln create mode 100644 SiriLazor/Component/Extentions/SiriLazorExtention.cs create mode 100644 SiriLazor/Component/Interfaces/ICurveDefintion.cs create mode 100644 SiriLazor/Component/Interfaces/IOptions.cs create mode 100644 SiriLazor/Component/Interfaces/ISiriLazor.cs create mode 100644 SiriLazor/Component/Interfaces/IWaveOptionBuilder.cs create mode 100644 SiriLazor/Component/Models/ClassicWaveCurveDefintion.cs create mode 100644 SiriLazor/Component/Models/ClassicWaveOptionBuilder.cs create mode 100644 SiriLazor/Component/Models/ClassicWaveOptions.cs create mode 100644 SiriLazor/Component/Models/GlobalCompositeOperation.cs create mode 100644 SiriLazor/Component/Models/IOS9WaveCurveDefintion.cs create mode 100644 SiriLazor/Component/Models/IOS9WaveOptionBuilder.cs create mode 100644 SiriLazor/Component/Models/IOS9WaveOptions.cs create mode 100644 SiriLazor/Component/Models/IOS9WaveRanges.cs create mode 100644 SiriLazor/Component/Models/SiriObject.cs create mode 100644 SiriLazor/Component/UI/ClassicWave.razor create mode 100644 SiriLazor/Component/UI/IOS9Wave.razor create mode 100644 SiriLazor/SiriLazor.cs create mode 100644 SiriLazor/SiriLazor.csproj create mode 100644 SiriLazor/_Imports.razor create mode 100644 SiriLazor/wwwroot/siriLazorInterop.js create mode 100644 SiriLazor/wwwroot/siriWave.js diff --git a/SiriLazor.WASM/Components/App.razor b/SiriLazor.WASM/Components/App.razor new file mode 100644 index 0000000..6fd3ed1 --- /dev/null +++ b/SiriLazor.WASM/Components/App.razor @@ -0,0 +1,12 @@ + + + + + + + Not found + +

Sorry, there's nothing at this address.

+
+
+
diff --git a/SiriLazor.WASM/Components/Layout/MainLayout.razor b/SiriLazor.WASM/Components/Layout/MainLayout.razor new file mode 100644 index 0000000..e1a9a75 --- /dev/null +++ b/SiriLazor.WASM/Components/Layout/MainLayout.razor @@ -0,0 +1,3 @@ +@inherits LayoutComponentBase + +@Body diff --git a/SiriLazor.WASM/Components/Pages/Home.razor b/SiriLazor.WASM/Components/Pages/Home.razor new file mode 100644 index 0000000..b5d774a --- /dev/null +++ b/SiriLazor.WASM/Components/Pages/Home.razor @@ -0,0 +1,104 @@ +@page "/" +@using SiriLazor.UI; + +SiriLazorDemo + +
+

SiriLazor

+

+ The Apple® Siri wave-form. +

+
+
+

Classic Wave

+ +
+ + + +
+
+ + +

@sliderClassicSpeedValue

+
+
+ + +

@sliderClassicAmpValue

+
+
+
+

IOS9 Wave

+ +
+ + + + +
+
+ + +

@sliderIos9SpeedValue

+
+
+ + +

@sliderIos9AmpValue

+
+
+
+ + +
+ + +@code{ + IOS9Wave ios9Wave; + ClassicWave classicWave; + + double sliderIos9SpeedValue = 0.2; + double sliderIos9AmpValue = 1; + + double sliderClassicSpeedValue = 0.2; + double sliderClassicAmpValue = 1; + + async ValueTask StopClassic() + { + await classicWave.Stop(); + } + async ValueTask StopIOS9() + { + await ios9Wave.Stop(); + } + + async ValueTask StartIOS9() + { + await ios9Wave.Start(); + } + async ValueTask StartClassic() + { + await classicWave.Start(); + } + private async ValueTask UpdateSpeedValueIOS9(ChangeEventArgs e) + { + sliderIos9SpeedValue = Convert.ToDouble(e.Value); + await ios9Wave.SetSpeed(sliderIos9SpeedValue); + } + private async ValueTask UpdateAmpValueIOS9(ChangeEventArgs e) + { + sliderIos9AmpValue = Convert.ToDouble(e.Value); + await ios9Wave.SetAmplitude(sliderIos9AmpValue); + } + private async ValueTask UpdateSpeedValueClassic(ChangeEventArgs e) + { + sliderClassicSpeedValue = Convert.ToDouble(e.Value); + await classicWave.SetSpeed(sliderClassicSpeedValue); + } + private async ValueTask UpdateAmpValueClassic(ChangeEventArgs e) + { + sliderClassicAmpValue = Convert.ToDouble(e.Value); + await classicWave.SetAmplitude(sliderClassicAmpValue); + } +} \ No newline at end of file diff --git a/SiriLazor.WASM/Components/_Imports.razor b/SiriLazor.WASM/Components/_Imports.razor new file mode 100644 index 0000000..169bcd8 --- /dev/null +++ b/SiriLazor.WASM/Components/_Imports.razor @@ -0,0 +1,11 @@ +@using System.Net.Http +@using System.Net.Http.Json +@using Microsoft.AspNetCore.Components.Forms +@using Microsoft.AspNetCore.Components.Routing +@using Microsoft.AspNetCore.Components.Web +@using Microsoft.AspNetCore.Components.Web.Virtualization +@using Microsoft.AspNetCore.Components.WebAssembly.Http +@using Microsoft.JSInterop +@using SiriLazor.WASM +@using SiriLazor.WASM.Components +@using SiriLazor.WASM.Components.Layout diff --git a/SiriLazor.WASM/Program.cs b/SiriLazor.WASM/Program.cs new file mode 100644 index 0000000..3f70b77 --- /dev/null +++ b/SiriLazor.WASM/Program.cs @@ -0,0 +1,13 @@ +using Microsoft.AspNetCore.Components.Web; +using Microsoft.AspNetCore.Components.WebAssembly.Hosting; +using SiriLazor.WASM.Components; +using SiriLazor.Component.Extentions; + +var builder = WebAssemblyHostBuilder.CreateDefault(args); +builder.RootComponents.Add("#app"); +builder.RootComponents.Add("head::after"); + + +builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) }); +builder.Services.AddSiriLazor(); +await builder.Build().RunAsync(); diff --git a/SiriLazor.WASM/Properties/launchSettings.json b/SiriLazor.WASM/Properties/launchSettings.json new file mode 100644 index 0000000..408a9ab --- /dev/null +++ b/SiriLazor.WASM/Properties/launchSettings.json @@ -0,0 +1,41 @@ +{ + "$schema": "http://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:12657", + "sslPort": 44345 + } + }, + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", + "applicationUrl": "http://localhost:5159", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", + "applicationUrl": "https://localhost:7235;http://localhost:5159", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/SiriLazor.WASM/SiriLazor.WASM.csproj b/SiriLazor.WASM/SiriLazor.WASM.csproj new file mode 100644 index 0000000..f72b378 --- /dev/null +++ b/SiriLazor.WASM/SiriLazor.WASM.csproj @@ -0,0 +1,17 @@ + + + net8.0 + enable + enable + + + + + + + + + + + + \ No newline at end of file diff --git a/SiriLazor.WASM/Style/tailwind.css b/SiriLazor.WASM/Style/tailwind.css new file mode 100644 index 0000000..65087de --- /dev/null +++ b/SiriLazor.WASM/Style/tailwind.css @@ -0,0 +1,4 @@ +@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;500;600;700;800;900&display=swap'); +@tailwind base; +@tailwind components; +@tailwind utilities; diff --git a/SiriLazor.WASM/package-lock.json b/SiriLazor.WASM/package-lock.json new file mode 100644 index 0000000..835d1a7 --- /dev/null +++ b/SiriLazor.WASM/package-lock.json @@ -0,0 +1,901 @@ +{ + "name": "SiriLazor.WASM", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "dependencies": { + "tailwindcss": "^3.3.5" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jiti": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", + "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^2.1.1" + }, + "engines": { + "node": ">= 14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.11" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sucrase": { + "version": "3.34.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", + "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwindcss": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.5.tgz", + "integrity": "sha512-5SEZU4J7pxZgSkv7FP1zY8i2TIAOooNZ1e/OGtxIEv6GltpoiXUqWvLy89+a10qYTB1N5Ifkuw9lqQkN9sscvA==", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.19.1", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/yaml": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", + "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", + "engines": { + "node": ">= 14" + } + } + } +} diff --git a/SiriLazor.WASM/package.json b/SiriLazor.WASM/package.json new file mode 100644 index 0000000..34df28e --- /dev/null +++ b/SiriLazor.WASM/package.json @@ -0,0 +1,5 @@ +{ + "dependencies": { + "tailwindcss": "^3.3.5" + } +} diff --git a/SiriLazor.WASM/tailwind.config.js b/SiriLazor.WASM/tailwind.config.js new file mode 100644 index 0000000..d41d6fa --- /dev/null +++ b/SiriLazor.WASM/tailwind.config.js @@ -0,0 +1,13 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: ["./**/*.{razor,html,cshtml}"], + theme: { + extend: { + fontFamily: { + 'inter': "Inter" + } + }, + }, + plugins: [], +} + diff --git a/SiriLazor.WASM/wwwroot/SiriLazor_160x160.png b/SiriLazor.WASM/wwwroot/SiriLazor_160x160.png new file mode 100644 index 0000000000000000000000000000000000000000..2f123b35ee16cd1d1d205d59b8759a312e66714d GIT binary patch literal 34998 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 WjgZqhWP6za0000