diff --git a/.github/workflows/adminpanel.cd.yml b/.github/workflows/adminpanel.cd.yml index f7d3c0f751..994295188f 100644 --- a/.github/workflows/adminpanel.cd.yml +++ b/.github/workflows/adminpanel.cd.yml @@ -38,13 +38,11 @@ jobs: - name: Switch to blazor web assembly run: sed -i 's/Microsoft.NET.Sdk.Web/Microsoft.NET.Sdk.BlazorWebAssembly/g' src/Templates/AdminPanel/Bit.AdminPanel/src/Client/Web/AdminPanel.Client.Web.csproj - - name: Restore workloads - run: > - dotnet workload install wasm-experimental && - dotnet workload restore src/Templates/AdminPanel/Bit.AdminPanel/src/Client/Web/AdminPanel.Client.Web.csproj -p:BlazorMode=BlazorWebAssembly -p:WebAppDeploymentType="${{ env.WEB_APP_DEPLOYMENT_TYPE }}" + - name: Install wasm + run: dotnet workload install wasm-tools wasm-experimental --sdk-version=8.0.100-rc.1.23463.5 - - name: Build (To generate CSS/JS files) - run: dotnet build src/Templates/AdminPanel/Bit.AdminPanel/src/Server/Api/AdminPanel.Server.Api.csproj -p:BlazorMode=BlazorWebAssembly -p:WebAppDeploymentType="${{ env.WEB_APP_DEPLOYMENT_TYPE }}" -p:Configuration=Release + - name: Generate CSS/JS files + run: dotnet build src/Templates/AdminPanel/Bit.AdminPanel/src/Client/Core/AdminPanel.Client.Core.csproj -t:BeforeBuildTasks --no-restore - name: Publish run: dotnet publish src/Templates/AdminPanel/Bit.AdminPanel/src/Server/Api/AdminPanel.Server.Api.csproj -p:BlazorMode=BlazorWebAssembly -p:WebAppDeploymentType="${{ env.WEB_APP_DEPLOYMENT_TYPE }}" -p:Configuration=Release --self-contained -r linux-x64 -o ${{env.DOTNET_ROOT}}/api-web @@ -115,27 +113,24 @@ jobs: env: ApiServerAddress: ${{ env.API_SERVER_ADDRESS }} - - name: Install Maui - run: dotnet workload install maui - - - name: Restore workloads - run: dotnet workload restore src/Templates/AdminPanel/Bit.AdminPanel/src/Client/App/AdminPanel.Client.App.csproj -p:BlazorMode=BlazorHybrid -f net7.0-windows10.0.19041.0 + - name: Install maui + run: dotnet workload install maui --sdk-version=8.0.100-rc.1.23463.5 - - name: Build (To generate CSS/JS files) - run: dotnet build src/Templates/AdminPanel/Bit.AdminPanel/src/Client/App/AdminPanel.Client.App.csproj -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:WindowsPackageType=None -p:SelfContained=true -p:WindowsAppSDKSelfContained=true -p:GenerateAppxPackageOnBuild=false -p:RuntimeIdentifier=win10-x86 -f net7.0-windows10.0.19041.0 + - name: Generate CSS/JS files + run: dotnet build src/Templates/AdminPanel/Bit.AdminPanel/src/Client/Core/AdminPanel.Client.Core.csproj -t:BeforeBuildTasks --no-restore - name: Build exe - run: dotnet build src/Templates/AdminPanel/Bit.AdminPanel/src/Client/App/AdminPanel.Client.App.csproj -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:WindowsPackageType=None -p:SelfContained=true -p:WindowsAppSDKSelfContained=true -p:GenerateAppxPackageOnBuild=false -p:RuntimeIdentifier=win10-x86 -p:ApplicationDisplayVersion="${{ vars.APPLICATION_DISPLAY_VERSION }}" -p:ApplicationVersion="${{ vars.APPLICATION_VERSION }}" -f net7.0-windows10.0.19041.0 + run: dotnet build src/Templates/AdminPanel/Bit.AdminPanel/src/Client/App/AdminPanel.Client.App.csproj -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:WindowsPackageType=None -p:SelfContained=true -p:WindowsAppSDKSelfContained=true -p:GenerateAppxPackageOnBuild=false -p:RuntimeIdentifier=win10-x86 -p:ApplicationDisplayVersion="${{ vars.APPLICATION_DISPLAY_VERSION }}" -p:ApplicationVersion="${{ vars.APPLICATION_VERSION }}" -p:UseRidGraph=true -f net8.0-windows10.0.19041.0 - name: Upload artifact uses: actions/upload-artifact@v2 with: name: win-exe-bundle - path: src/Templates/AdminPanel/Bit.AdminPanel/src/Client/App/bin/release/net7.0-windows10.0.19041.0/win10-x86 + path: src/Templates/AdminPanel/Bit.AdminPanel/src/Client/App/bin/release/net8.0-windows10.0.19041.0/win10-x86 build_blazor_hybrid_android: name: build blazor hybrid (android) - runs-on: windows-2022 + runs-on: ubuntu-22.04 steps: @@ -165,30 +160,24 @@ jobs: env: ApiServerAddress: ${{ env.API_SERVER_ADDRESS }} - - name: Install Maui - run: dotnet workload install maui - - - name: Restore workloads - run: dotnet workload restore src/Templates/AdminPanel/Bit.AdminPanel/src/Client/App/AdminPanel.Client.App.csproj -p:BlazorMode=BlazorHybrid -f net7.0-android + - name: Install maui + run: dotnet workload install maui-android --sdk-version=8.0.100-rc.1.23463.5 - - name: Build (To generate CSS/JS files) - run: dotnet build src/Templates/AdminPanel/Bit.AdminPanel/src/Client/App/AdminPanel.Client.App.csproj -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:RunAOTCompilation=false -f net7.0-android + - name: Generate CSS/JS files + run: dotnet build src/Templates/AdminPanel/Bit.AdminPanel/src/Client/Core/AdminPanel.Client.Core.csproj -t:BeforeBuildTasks --no-restore - name: Build aab - run: dotnet build src/Templates/AdminPanel/Bit.AdminPanel/src/Client/App/AdminPanel.Client.App.csproj -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:AndroidPackageFormat=aab -p:AndroidKeyStore=true -p:AndroidSigningKeyStore="AdminPanel.keystore" -p:AndroidSigningKeyAlias=bitplatform -p:AndroidSigningKeyPass="${{ secrets.ANDROID_RELEASE_KEYSTORE_PASSWORD }}" -p:AndroidSigningStorePass="${{ secrets.ANDROID_RELEASE_SIGNING_PASSWORD }}" -p:ApplicationDisplayVersion="${{ vars.APPLICATION_DISPLAY_VERSION }}" -p:ApplicationVersion="${{ vars.APPLICATION_VERSION }}" -f net7.0-android - - - name: Build apk - run: dotnet build src/Templates/AdminPanel/Bit.AdminPanel/src/Client/App/AdminPanel.Client.App.csproj -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:AndroidKeyStore=true -p:AndroidSigningKeyStore="AdminPanel.keystore" -p:AndroidSigningKeyAlias=bitplatform -p:AndroidSigningKeyPass="${{ secrets.ANDROID_RELEASE_KEYSTORE_PASSWORD }}" -p:AndroidSigningStorePass="${{ secrets.ANDROID_RELEASE_SIGNING_PASSWORD }}" -p:ApplicationDisplayVersion="${{ vars.APPLICATION_DISPLAY_VERSION }}" -p:ApplicationVersion="${{ vars.APPLICATION_VERSION }}" -f net7.0-android + run: dotnet build src/Templates/AdminPanel/Bit.AdminPanel/src/Client/App/AdminPanel.Client.App.csproj -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:AndroidPackageFormat=aab -p:AndroidKeyStore=true -p:AndroidSigningKeyStore="AdminPanel.keystore" -p:AndroidSigningKeyAlias=bitplatform -p:AndroidSigningKeyPass="${{ secrets.ANDROID_RELEASE_KEYSTORE_PASSWORD }}" -p:AndroidSigningStorePass="${{ secrets.ANDROID_RELEASE_SIGNING_PASSWORD }}" -p:ApplicationDisplayVersion="${{ vars.APPLICATION_DISPLAY_VERSION }}" -p:ApplicationVersion="${{ vars.APPLICATION_VERSION }}" -f net8.0-android - name: Upload artifact uses: actions/upload-artifact@v2 with: name: android-bundle - path: src/Templates/AdminPanel/Bit.AdminPanel/src/Client/App/bin/release/net7.0-android/*-Signed.* + path: src/Templates/AdminPanel/Bit.AdminPanel/src/Client/App/bin/Release/net8.0-android/*-Signed.* build_blazor_hybrid_maccatalyst: name: build blazor hybrid (maccatalyst) - runs-on: macos-12 + runs-on: macos-13 steps: @@ -211,27 +200,24 @@ jobs: env: ApiServerAddress: ${{ env.API_SERVER_ADDRESS }} - - name: Install Maui - run: dotnet workload install maui - - - name: Restore workloads - run: dotnet workload restore src/Templates/AdminPanel/Bit.AdminPanel/src/Client/App/AdminPanel.Client.App.csproj -p:BlazorMode=BlazorHybrid -f net7.0-maccatalyst + - name: Install maui + run: dotnet workload install maui --sdk-version=8.0.100-rc.1.23463.5 - - name: Build (To generate CSS/JS files) - run: dotnet build src/Templates/AdminPanel/Bit.AdminPanel/src/Client/App/AdminPanel.Client.App.csproj -p:BlazorMode=BlazorHybrid -p:Configuration=Release -f net7.0-maccatalyst + - name: Generate CSS/JS files + run: dotnet build src/Templates/AdminPanel/Bit.AdminPanel/src/Client/Core/AdminPanel.Client.Core.csproj -t:BeforeBuildTasks --no-restore - name: Build pkg - run: dotnet build src/Templates/AdminPanel/Bit.AdminPanel/src/Client/App/AdminPanel.Client.App.csproj -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:CreatePackage=true -p:ApplicationDisplayVersion="${{ vars.APPLICATION_DISPLAY_VERSION }}" -p:ApplicationVersion="${{ vars.APPLICATION_VERSION }}" -f net7.0-maccatalyst + run: dotnet build src/Templates/AdminPanel/Bit.AdminPanel/src/Client/App/AdminPanel.Client.App.csproj -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:CreatePackage=true -p:ApplicationDisplayVersion="${{ vars.APPLICATION_DISPLAY_VERSION }}" -p:ApplicationVersion="${{ vars.APPLICATION_VERSION }}" -f net8.0-maccatalyst - name: Upload artifact uses: actions/upload-artifact@v2 with: name: mac-pkg-bundle - path: src/Templates/AdminPanel/Bit.AdminPanel/src/Client/App/bin/release/net7.0-maccatalyst/*.pkg + path: src/Templates/AdminPanel/Bit.AdminPanel/src/Client/App/bin/release/net8.0-maccatalyst/*.pkg build_blazor_hybrid_ios: name: build blazor hybrid (ios) - runs-on: macos-12 + runs-on: macos-13 steps: @@ -254,11 +240,8 @@ jobs: env: ApiServerAddress: ${{ env.API_SERVER_ADDRESS }} - - name: Install Maui - run: dotnet workload install maui - - - name: Restore workloads - run: dotnet workload restore src/Templates/AdminPanel/Bit.AdminPanel/src/Client/App/AdminPanel.Client.App.csproj -p:BlazorMode=BlazorHybrid -f net7.0-ios + - name: Install maui + run: dotnet workload install maui --sdk-version=8.0.100-rc.1.23463.5 - name: Extract iOS code signing certificate from env uses: timheuer/base64-to-file@v1 @@ -281,17 +264,17 @@ jobs: api-key-id: ${{ secrets.APPSTORE_API_KEY_ID }} api-private-key: ${{ secrets.APPSTORE_API_KEY_PRIVATE_KEY }} - - name: Build (To generate CSS/JS files) - run: dotnet build src/Templates/AdminPanel/Bit.AdminPanel/src/Client/App/AdminPanel.Client.App.csproj -m:1 -p:BlazorMode=BlazorHybrid -p:Configuration=Release -f net7.0-ios + - name: Generate CSS/JS files + run: dotnet build src/Templates/AdminPanel/Bit.AdminPanel/src/Client/Core/AdminPanel.Client.Core.csproj -t:BeforeBuildTasks --no-restore - name: Build ipa - run: dotnet publish src/Templates/AdminPanel/Bit.AdminPanel/src/Client/App/AdminPanel.Client.App.csproj -m:1 -p:RuntimeIdentifier=ios-arm64 -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:ArchiveOnBuild=true -p:CodesignKey="iPhone Distribution" -p:CodesignProvision="AdminPanel" -p:ApplicationDisplayVersion="${{ vars.APPLICATION_DISPLAY_VERSION }}" -p:ApplicationVersion="${{ vars.APPLICATION_VERSION }}" -f net7.0-ios + run: dotnet publish src/Templates/AdminPanel/Bit.AdminPanel/src/Client/App/AdminPanel.Client.App.csproj -p:RuntimeIdentifier=ios-arm64 -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:ArchiveOnBuild=true -p:CodesignKey="iPhone Distribution" -p:CodesignProvision="AdminPanel" -p:ApplicationDisplayVersion="${{ vars.APPLICATION_DISPLAY_VERSION }}" -p:ApplicationVersion="${{ vars.APPLICATION_VERSION }}" -f net8.0-ios - name: Upload artifact uses: actions/upload-artifact@v2 with: name: ios-bundle - path: src/Templates/AdminPanel/Bit.AdminPanel/src/Client/App/bin/release/net7.0-ios/ios-arm64/publish/*.ipa + path: src/Templates/AdminPanel/Bit.AdminPanel/src/Client/App/bin/release/net8.0-ios/ios-arm64/publish/*.ipa build_blazor_electron_linux: name: build blazor electron (linux) @@ -326,11 +309,11 @@ jobs: - name: Switch to BlazorElectron run: awk '//{sub(">.*BlazorElectron temp.xml && mv temp.xml src/Templates/AdminPanel/Bit.AdminPanel/src/Directory.Build.props - - name: Restore workloads - run: dotnet workload restore src/Templates/AdminPanel/Bit.AdminPanel/src/Client/Web/AdminPanel.Client.Web.csproj - - - name: Build (To generate CSS/JS files) - run: dotnet build src/Templates/AdminPanel/Bit.AdminPanel/src/Client/Web/AdminPanel.Client.Web.csproj -p:Configuration=Release + - name: Generate CSS/JS files + run: dotnet build src/Templates/AdminPanel/Bit.AdminPanel/src/Client/Core/AdminPanel.Client.Core.csproj -t:BeforeBuildTasks --no-restore + + - name: Restore electron .net + run: dotnet build src/Templates/AdminPanel/Bit.AdminPanel/src/Client/Web/AdminPanel.Client.Web.csproj -t:BeforeBuildTasks - name: Build app image run: cd src/Templates/AdminPanel/Bit.AdminPanel/src/Client/Web/ && dotnet electronize build /target linux diff --git a/.github/workflows/bit.ci.yml b/.github/workflows/bit.ci.yml index 9587dbba4a..ff7ec1e9d6 100644 --- a/.github/workflows/bit.ci.yml +++ b/.github/workflows/bit.ci.yml @@ -24,14 +24,11 @@ jobs: with: node-version: 18 - - name: Restore workloads prerelease - run: dotnet workload restore src/Bit-CI-release.sln && dotnet workload restore src/Templates/AdminPanel/Bit.AdminPanel/src/Client/App/AdminPanel.Client.App.csproj - - - name: Restore nuget packages prerelease - run: dotnet restore src/Bit-CI-release.sln + - name: Install wasm and maui + run: dotnet workload install maui-android wasm-tools wasm-experimental --sdk-version=8.0.100-rc.1.23463.5 - name: MSBuild prerelease - run: dotnet msbuild src/Bit-CI-release.sln -m:1 + run: dotnet build src/Bit-CI-release.sln - name: Test run: dotnet test --no-build --verbosity normal src/BlazorUI/Bit.BlazorUI.Tests/Bit.BlazorUI.Tests.csproj @@ -46,28 +43,20 @@ jobs: - name: Checkout source code uses: actions/checkout@v2 - - name: Setup .NET 7 + - name: Setup .NET uses: actions/setup-dotnet@v3 with: global-json-file: src/global.json - - name: Setup .NET 8 - uses: actions/setup-dotnet@v3 - with: - global-json-file: src/Websites/Platform/global.json - - uses: actions/setup-node@v3 with: node-version: 18 - - name: Restore workloads - run: dotnet workload restore src/Bit-CI.sln && dotnet workload restore src/Templates/AdminPanel/Bit.AdminPanel/src/Client/App/AdminPanel.Client.App.csproj - - - name: Restore nuget packages - run: dotnet workload restore src/Bit-CI.sln && dotnet restore src/Bit-CI.sln /p:WarningLevel=0 /p:RunCodeAnalysis=false + - name: Install wasm and maui + run: dotnet workload install maui-android wasm-tools wasm-experimental --sdk-version=8.0.100-rc.1.23463.5 - - name: MSBuild - run: dotnet msbuild src/Bit-CI.sln -m:1 /p:WarningLevel=0 /p:RunCodeAnalysis=false + - name: Build + run: dotnet build src/Bit-CI.sln -p:WarningLevel=0 -p:RunCodeAnalysis=false - name: Test run: dotnet test --no-build --verbosity normal src/BlazorUI/Bit.BlazorUI.Tests/Bit.BlazorUI.Tests.csproj diff --git a/.github/workflows/blazorui.demo.cd.yml b/.github/workflows/blazorui.demo.cd.yml index a1be5e2884..a6a38abb6b 100644 --- a/.github/workflows/blazorui.demo.cd.yml +++ b/.github/workflows/blazorui.demo.cd.yml @@ -26,7 +26,7 @@ jobs: - name: Checkout source code uses: actions/checkout@v3 - - name: Setup .NET (bit Blazor UI) + - name: Setup .NET uses: actions/setup-dotnet@v3 with: global-json-file: src/global.json @@ -38,17 +38,14 @@ jobs: - name: Switch to blazor web assembly run: sed -i 's/Microsoft.NET.Sdk.Web/Microsoft.NET.Sdk.BlazorWebAssembly/g' src/BlazorUI/Demo/Client/Web/Bit.BlazorUI.Demo.Client.Web.csproj - - name: Restore workloads - run: > - cd src/BlazorUI/Demo/Client/Web/ && - dotnet workload install wasm-experimental && - dotnet workload restore Bit.BlazorUI.Demo.Client.Web.csproj -p:BlazorMode=BlazorWebAssembly -p:WebAppDeploymentType="${{ env.WEB_APP_DEPLOYMENT_TYPE }}" - - - name: Build (To generate CSS/JS files) - run: dotnet build src/BlazorUI/Demo/Server/Api/Bit.BlazorUI.Demo.Server.Api.csproj -m:1 -p:BlazorMode=BlazorWebAssembly -p:WebAppDeploymentType="${{ env.WEB_APP_DEPLOYMENT_TYPE }}" -p:Configuration=Release + - name: Install wasm + run: dotnet workload install wasm-tools wasm-experimental --sdk-version=8.0.100-rc.1.23463.5 + + - name: Generate CSS/JS files + run: dotnet build src/BlazorUI/Demo/Server/Api/Bit.BlazorUI.Demo.Server.Api.csproj -p:BlazorMode=BlazorWebAssembly -p:WebAppDeploymentType="${{ env.WEB_APP_DEPLOYMENT_TYPE }}" -p:Configuration=Release - name: Publish - run: dotnet publish src/BlazorUI/Demo/Server/Api/Bit.BlazorUI.Demo.Server.Api.csproj -m:1 -p:BlazorMode=BlazorWebAssembly -p:WebAppDeploymentType="${{ env.WEB_APP_DEPLOYMENT_TYPE }}" -p:Configuration=Release --self-contained -r linux-x64 -o ${{env.DOTNET_ROOT}}/api-web + run: dotnet publish src/BlazorUI/Demo/Server/Api/Bit.BlazorUI.Demo.Server.Api.csproj -p:BlazorMode=BlazorWebAssembly -p:WebAppDeploymentType="${{ env.WEB_APP_DEPLOYMENT_TYPE }}" -p:Configuration=Release --self-contained -r linux-x64 -o ${{env.DOTNET_ROOT}}/api-web - name: Upload api-web artifact uses: actions/upload-artifact@v3 @@ -105,27 +102,24 @@ jobs: env: ApiServerAddress: ${{ env.API_SERVER_ADDRESS }} - - name: Install Maui - run: dotnet workload install maui - - - name: Restore workloads - run: dotnet workload restore src/BlazorUI/Demo/Client/App/Bit.BlazorUI.Demo.Client.App.csproj -p:BlazorMode=BlazorHybrid -f net7.0-windows10.0.19041.0 + - name: Install maui + run: dotnet workload install maui --sdk-version=8.0.100-rc.1.23463.5 - - name: Build (To generate CSS/JS files) - run: dotnet build src/BlazorUI/Demo/Client/App/Bit.BlazorUI.Demo.Client.App.csproj -m:1 -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:WindowsPackageType=None -p:SelfContained=true -p:WindowsAppSDKSelfContained=true -p:GenerateAppxPackageOnBuild=false -p:RuntimeIdentifier=win10-x86 -f net7.0-windows10.0.19041.0 + - name: Generate CSS/JS files + run: dotnet build src/BlazorUI/Demo/Client/App/Bit.BlazorUI.Demo.Client.App.csproj -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:WindowsPackageType=None -p:SelfContained=true -p:WindowsAppSDKSelfContained=true -p:GenerateAppxPackageOnBuild=false -p:RuntimeIdentifier=win10-x86 -p:UseRidGraph=true -f net8.0-windows10.0.19041.0 - name: Build exe - run: dotnet build src/BlazorUI/Demo/Client/App/Bit.BlazorUI.Demo.Client.App.csproj -m:1 -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:WindowsPackageType=None -p:SelfContained=true -p:WindowsAppSDKSelfContained=true -p:GenerateAppxPackageOnBuild=false -p:RuntimeIdentifier=win10-x86 -p:ApplicationDisplayVersion="${{ vars.APPLICATION_DISPLAY_VERSION }}" -p:ApplicationVersion="${{ vars.APPLICATION_VERSION }}" -f net7.0-windows10.0.19041.0 + run: dotnet build src/BlazorUI/Demo/Client/App/Bit.BlazorUI.Demo.Client.App.csproj -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:WindowsPackageType=None -p:SelfContained=true -p:WindowsAppSDKSelfContained=true -p:GenerateAppxPackageOnBuild=false -p:RuntimeIdentifier=win10-x86 -p:ApplicationDisplayVersion="${{ vars.APPLICATION_DISPLAY_VERSION }}" -p:ApplicationVersion="${{ vars.APPLICATION_VERSION }}" -p:UseRidGraph=true -f net8.0-windows10.0.19041.0 - name: Upload artifact uses: actions/upload-artifact@v2 with: name: win-exe-bundle - path: src/BlazorUI/Demo/Client/App/bin/release/net7.0-windows10.0.19041.0/win10-x86 + path: src/BlazorUI/Demo/Client/App/bin/release/net8.0-windows10.0.19041.0/win10-x86 build_blazor_hybrid_android: name: build blazor hybrid (android) - runs-on: windows-2022 + runs-on: ubuntu-22.04 steps: @@ -155,30 +149,24 @@ jobs: env: ApiServerAddress: ${{ env.API_SERVER_ADDRESS }} - - name: Install Maui - run: dotnet workload install maui - - - name: Restore workloads - run: dotnet workload restore src/BlazorUI/Demo/Client/App/Bit.BlazorUI.Demo.Client.App.csproj -p:BlazorMode=BlazorHybrid -f net7.0-android + - name: Install maui + run: dotnet workload install maui-android --sdk-version=8.0.100-rc.1.23463.5 - - name: Build (To generate CSS/JS files) - run: dotnet build src/BlazorUI/Demo/Client/App/Bit.BlazorUI.Demo.Client.App.csproj -m:1 -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:RunAOTCompilation=false -f net7.0-android + - name: Generate CSS/JS files + run: dotnet build src/BlazorUI/Demo/Client/App/Bit.BlazorUI.Demo.Client.App.csproj -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:RunAOTCompilation=false -f net8.0-android - name: Build aab - run: dotnet build src/BlazorUI/Demo/Client/App/Bit.BlazorUI.Demo.Client.App.csproj -m:1 -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:AndroidPackageFormat=aab -p:AndroidKeyStore=true -p:AndroidSigningKeyStore="BitBlazorUIDemo.keystore" -p:AndroidSigningKeyAlias=bitplatform -p:AndroidSigningKeyPass="${{ secrets.ANDROID_RELEASE_KEYSTORE_PASSWORD }}" -p:AndroidSigningStorePass="${{ secrets.ANDROID_RELEASE_SIGNING_PASSWORD }}" -p:ApplicationDisplayVersion="${{ vars.APPLICATION_DISPLAY_VERSION }}" -p:ApplicationVersion="${{ vars.APPLICATION_VERSION }}" -f net7.0-android - - - name: Build apk - run: dotnet build src/BlazorUI/Demo/Client/App/Bit.BlazorUI.Demo.Client.App.csproj -m:1 -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:AndroidKeyStore=true -p:AndroidSigningKeyStore="BitBlazorUIDemo.keystore" -p:AndroidSigningKeyAlias=bitplatform -p:AndroidSigningKeyPass="${{ secrets.ANDROID_RELEASE_KEYSTORE_PASSWORD }}" -p:AndroidSigningStorePass="${{ secrets.ANDROID_RELEASE_SIGNING_PASSWORD }}" -p:ApplicationDisplayVersion="${{ vars.APPLICATION_DISPLAY_VERSION }}" -p:ApplicationVersion="${{ vars.APPLICATION_VERSION }}" -f net7.0-android + run: dotnet build src/BlazorUI/Demo/Client/App/Bit.BlazorUI.Demo.Client.App.csproj -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:AndroidPackageFormat=aab -p:AndroidKeyStore=true -p:AndroidSigningKeyStore="BitBlazorUIDemo.keystore" -p:AndroidSigningKeyAlias=bitplatform -p:AndroidSigningKeyPass="${{ secrets.ANDROID_RELEASE_KEYSTORE_PASSWORD }}" -p:AndroidSigningStorePass="${{ secrets.ANDROID_RELEASE_SIGNING_PASSWORD }}" -p:ApplicationDisplayVersion="${{ vars.APPLICATION_DISPLAY_VERSION }}" -p:ApplicationVersion="${{ vars.APPLICATION_VERSION }}" -f net8.0-android - name: Upload artifact uses: actions/upload-artifact@v2 with: name: android-bundle - path: src/BlazorUI/Demo/Client/App/bin/release/net7.0-android/*-Signed.* + path: src/BlazorUI/Demo/Client/App/bin/Release/net8.0-android/*-Signed.* build_blazor_hybrid_ios: name: build blazor hybrid (ios) - runs-on: macos-12 + runs-on: macos-13 steps: @@ -201,11 +189,8 @@ jobs: env: ApiServerAddress: ${{ env.API_SERVER_ADDRESS }} - - name: Install Maui - run: dotnet workload install maui - - - name: Restore workloads - run: dotnet workload restore src/BlazorUI/Demo/Client/App/Bit.BlazorUI.Demo.Client.App.csproj -p:BlazorMode=BlazorHybrid -f net7.0-ios + - name: Install maui + run: dotnet workload install maui --sdk-version=8.0.100-rc.1.23463.5 - name: Extract iOS code signing certificate from env uses: timheuer/base64-to-file@v1 @@ -228,21 +213,21 @@ jobs: api-key-id: ${{ secrets.APPSTORE_API_KEY_ID }} api-private-key: ${{ secrets.APPSTORE_API_KEY_PRIVATE_KEY }} - - name: Build (To generate CSS/JS files) - run: dotnet build src/BlazorUI/Demo/Client/App/Bit.BlazorUI.Demo.Client.App.csproj -m:1 -p:BlazorMode=BlazorHybrid -p:Configuration=Release -f net7.0-ios + - name: Generate CSS/JS files + run: dotnet build src/BlazorUI/Demo/Client/App/Bit.BlazorUI.Demo.Client.App.csproj -p:BlazorMode=BlazorHybrid -p:Configuration=Release -f net8.0-ios - name: Build ipa - run: dotnet publish src/BlazorUI/Demo/Client/App/Bit.BlazorUI.Demo.Client.App.csproj -m:1 -p:RuntimeIdentifier=ios-arm64 -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:ArchiveOnBuild=true -p:CodesignKey="iPhone Distribution" -p:CodesignProvision="Bit Blazor UI Demo" -p:ApplicationDisplayVersion="${{ vars.APPLICATION_DISPLAY_VERSION }}" -p:ApplicationVersion="${{ vars.APPLICATION_VERSION }}" -f net7.0-ios + run: dotnet publish src/BlazorUI/Demo/Client/App/Bit.BlazorUI.Demo.Client.App.csproj -p:RuntimeIdentifier=ios-arm64 -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:ArchiveOnBuild=true -p:CodesignKey="iPhone Distribution" -p:CodesignProvision="Bit Blazor UI Demo" -p:ApplicationDisplayVersion="${{ vars.APPLICATION_DISPLAY_VERSION }}" -p:ApplicationVersion="${{ vars.APPLICATION_VERSION }}" -f net8.0-ios - name: Upload artifact uses: actions/upload-artifact@v2 with: name: ios-bundle - path: src/BlazorUI/Demo/Client/App/bin/release/net7.0-ios/ios-arm64/publish/*.ipa + path: src/BlazorUI/Demo/Client/App/bin/release/net8.0-ios/ios-arm64/publish/*.ipa build_blazor_hybrid_maccatalyst: name: build blazor hybrid (maccatalyst) - runs-on: macos-12 + runs-on: macos-13 steps: @@ -265,23 +250,20 @@ jobs: env: ApiServerAddress: ${{ env.API_SERVER_ADDRESS }} - - name: Install Maui - run: dotnet workload install maui - - - name: Restore workloads - run: dotnet workload restore src/BlazorUI/Demo/Client/App/Bit.BlazorUI.Demo.Client.App.csproj -p:BlazorMode=BlazorHybrid -f net7.0-maccatalyst + - name: Install maui + run: dotnet workload install maui --sdk-version=8.0.100-rc.1.23463.5 - - name: Build (To generate CSS/JS files) - run: dotnet build src/BlazorUI/Demo/Client/App/Bit.BlazorUI.Demo.Client.App.csproj -p:BlazorMode=BlazorHybrid -p:Configuration=Release -f net7.0-maccatalyst + - name: Generate CSS/JS files + run: dotnet build src/BlazorUI/Demo/Client/App/Bit.BlazorUI.Demo.Client.App.csproj -p:BlazorMode=BlazorHybrid -p:Configuration=Release -f net8.0-maccatalyst - name: Build pkg - run: dotnet build src/BlazorUI/Demo/Client/App/Bit.BlazorUI.Demo.Client.App.csproj -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:CreatePackage=true -p:ApplicationDisplayVersion="${{ vars.APPLICATION_DISPLAY_VERSION }}" -p:ApplicationVersion="${{ vars.APPLICATION_VERSION }}" -f net7.0-maccatalyst + run: dotnet build src/BlazorUI/Demo/Client/App/Bit.BlazorUI.Demo.Client.App.csproj -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:CreatePackage=true -p:ApplicationDisplayVersion="${{ vars.APPLICATION_DISPLAY_VERSION }}" -p:ApplicationVersion="${{ vars.APPLICATION_VERSION }}" -f net8.0-maccatalyst - name: Upload artifact uses: actions/upload-artifact@v2 with: name: mac-pkg-bundle - path: src/BlazorUI/Demo/Client/App/bin/release/net7.0-maccatalyst/*.pkg + path: src/BlazorUI/Demo/Client/App/bin/release/net8.0-maccatalyst/*.pkg build_blazor_electron_linux: name: build blazor electron (linux) @@ -315,11 +297,8 @@ jobs: - name: Switch to BlazorElectron run: awk '//{sub(">.*BlazorElectron temp.xml && mv temp.xml src/BlazorUI/Demo/Directory.Build.props - - - name: Restore workloads - run: dotnet workload restore src/BlazorUI/Demo/Client/Web/Bit.BlazorUI.Demo.Client.Web.csproj - - name: Build (To generate CSS/JS files) + - name: Generate CSS/JS files run: dotnet build src/BlazorUI/Demo/Client/Web/Bit.BlazorUI.Demo.Client.Web.csproj -p:Configuration=Release - name: Build app image diff --git a/.github/workflows/nuget.org.yml b/.github/workflows/nuget.org.yml index d24d3e3138..a874a302a4 100644 --- a/.github/workflows/nuget.org.yml +++ b/.github/workflows/nuget.org.yml @@ -33,80 +33,64 @@ jobs: with: node-version: 18 - - name: dotnet restore BlazorUI - run: dotnet restore src/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csproj /p:WarningLevel=0 /p:RunCodeAnalysis=false - - name: dotnet msbuild BlazorUI (1) - run: dotnet msbuild src/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csproj /P:Configuration=Release /p:GeneratePackageOnBuild=false -m:1 /p:WarningLevel=0 /p:RunCodeAnalysis=false - - name: dotnet msbuild BlazorUI (2) - run: dotnet msbuild src/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csproj /P:Configuration=Release /p:GeneratePackageOnBuild=false -m:1 /p:WarningLevel=0 /p:RunCodeAnalysis=false + - name: Generate CSS/JS files BlazorUI + run: dotnet build src/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csproj -t:BeforeBuildTasks --no-restore -f:net8.0 + - name: dotnet build BlazorUI + run: dotnet build src/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csproj -p:Configuration=Release -p:GeneratePackageOnBuild=false -p:WarningLevel=0 -p:RunCodeAnalysis=false - name: dotnet pack BlazorUI run: dotnet pack src/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csproj --output . --configuration Release - - - name: dotnet restore BlazorUI.Extras - run: dotnet restore src/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csproj /p:WarningLevel=0 /p:RunCodeAnalysis=false - - name: dotnet msbuild BlazorUI.Extras (1) - run: dotnet msbuild src/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csproj /P:Configuration=Release /p:GeneratePackageOnBuild=false -m:1 /p:WarningLevel=0 /p:RunCodeAnalysis=false - - name: dotnet msbuild BlazorUI.Extras (2) - run: dotnet msbuild src/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csproj /P:Configuration=Release /p:GeneratePackageOnBuild=false -m:1 /p:WarningLevel=0 /p:RunCodeAnalysis=false + + - name: Generate CSS/JS files BlazorUI.Extras + run: dotnet build src/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csproj -t:BeforeBuildTasks --no-restore -f:net8.0 + - name: dotnet build BlazorUI.Extras + run: dotnet build src/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csproj -p:Configuration=Release -p:GeneratePackageOnBuild=false -p:WarningLevel=0 -p:RunCodeAnalysis=false - name: dotnet pack BlazorUI.Extras run: dotnet pack src/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csproj --output . --configuration Release - - - name: dotnet restore BlazorUI.Assets - run: dotnet restore src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csproj /p:WarningLevel=0 /p:RunCodeAnalysis=false - - name: dotnet msbuild BlazorUI.Assets (1) - run: dotnet msbuild src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csproj /P:Configuration=Release /p:GeneratePackageOnBuild=false -m:1 /p:WarningLevel=0 /p:RunCodeAnalysis=false - - name: dotnet msbuild BlazorUI.Assets (2) - run: dotnet msbuild src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csproj /P:Configuration=Release /p:GeneratePackageOnBuild=false -m:1 /p:WarningLevel=0 /p:RunCodeAnalysis=false + + - name: Generate CSS/JS files BlazorUI.Assets + run: dotnet build src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csproj -t:BeforeBuildTasks --no-restore -f:net8.0 + - name: dotnet build BlazorUI.Assets + run: dotnet build src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csproj -p:Configuration=Release -p:GeneratePackageOnBuild=false -p:WarningLevel=0 -p:RunCodeAnalysis=false - name: dotnet pack BlazorUI.Assets run: dotnet pack src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csproj --output . --configuration Release - - name: dotnet restore BlazorUI.Icons - run: dotnet restore src/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csproj /p:WarningLevel=0 /p:RunCodeAnalysis=false - - name: dotnet msbuild BlazorUI.Icons (1) - run: dotnet msbuild src/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csproj /P:Configuration=Release /p:GeneratePackageOnBuild=false -m:1 /p:WarningLevel=0 /p:RunCodeAnalysis=false - - name: dotnet msbuild BlazorUI.Icons (2) - run: dotnet msbuild src/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csproj /P:Configuration=Release /p:GeneratePackageOnBuild=false -m:1 /p:WarningLevel=0 /p:RunCodeAnalysis=false + - name: Generate CSS/JS files BlazorUI.Icons + run: dotnet build src/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csproj -t:BeforeBuildTasks --no-restore -f:net8.0 + - name: dotnet build BlazorUI.Icons + run: dotnet build src/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csproj -p:Configuration=Release -p:GeneratePackageOnBuild=false -p:WarningLevel=0 -p:RunCodeAnalysis=false - name: dotnet pack BlazorUI.Icons run: dotnet pack src/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csproj --output . --configuration Release - - name: dotnet restore Bswup - run: dotnet restore src/Bswup/Bit.Bswup/Bit.Bswup.csproj /p:WarningLevel=0 /p:RunCodeAnalysis=false - - name: dotnet msbuild Bswup (1) - run: dotnet msbuild src/Bswup/Bit.Bswup/Bit.Bswup.csproj /P:Configuration=Release /p:GeneratePackageOnBuild=false -m:1 /p:WarningLevel=0 /p:RunCodeAnalysis=false - - name: dotnet msbuild Bswup (2) - run: dotnet msbuild src/Bswup/Bit.Bswup/Bit.Bswup.csproj /P:Configuration=Release /p:GeneratePackageOnBuild=false -m:1 /p:WarningLevel=0 /p:RunCodeAnalysis=false + - name: Generate CSS/JS files Bswup + run: dotnet build src/Bswup/Bit.Bswup/Bit.Bswup.csproj -t:BeforeBuildTasks --no-restore -f:net8.0 + - name: dotnet build Bswup + run: dotnet build src/Bswup/Bit.Bswup/Bit.Bswup.csproj -p:Configuration=Release -p:GeneratePackageOnBuild=false -p:WarningLevel=0 -p:RunCodeAnalysis=false - name: dotnet pack Bswup run: dotnet pack src/Bswup/Bit.Bswup/Bit.Bswup.csproj --output . --configuration Release - - name: dotnet restore Bup - run: dotnet restore src/Bup/Bit.Bup/Bit.Bup.csproj /p:WarningLevel=0 /p:RunCodeAnalysis=false - - name: dotnet msbuild Bup (1) - run: dotnet msbuild src/Bup/Bit.Bup/Bit.Bup.csproj /P:Configuration=Release /p:GeneratePackageOnBuild=false -m:1 /p:WarningLevel=0 /p:RunCodeAnalysis=false - - name: dotnet msbuild Bup (2) - run: dotnet msbuild src/Bup/Bit.Bup/Bit.Bup.csproj /P:Configuration=Release /p:GeneratePackageOnBuild=false -m:1 /p:WarningLevel=0 /p:RunCodeAnalysis=false + - name: Generate CSS/JS files Bup + run: dotnet build src/Bup/Bit.Bup/Bit.Bup.csproj -t:BeforeBuildTasks --no-restore -f:net8.0 + - name: dotnet build Bup + run: dotnet build src/Bup/Bit.Bup/Bit.Bup.csproj -p:Configuration=Release -p:GeneratePackageOnBuild=false -p:WarningLevel=0 -p:RunCodeAnalysis=false - name: dotnet pack Bup run: dotnet pack src/Bup/Bit.Bup/Bit.Bup.csproj --output . --configuration Release - - name: dotnet restore Butil - run: dotnet restore src/Butil/Bit.Butil/Bit.Butil.csproj /p:WarningLevel=0 /p:RunCodeAnalysis=false - - name: dotnet msbuild Butil (1) - run: dotnet msbuild src/Butil/Bit.Butil/Bit.Butil.csproj /P:Configuration=Release /p:GeneratePackageOnBuild=false -m:1 /p:WarningLevel=0 /p:RunCodeAnalysis=false - - name: dotnet msbuild Butil (2) - run: dotnet msbuild src/Butil/Bit.Butil/Bit.Butil.csproj /P:Configuration=Release /p:GeneratePackageOnBuild=false -m:1 /p:WarningLevel=0 /p:RunCodeAnalysis=false + - name: Generate CSS/JS files Butil + run: dotnet build src/Butil/Bit.Butil/Bit.Butil.csproj -t:BeforeBuildTasks --no-restore -f:net8.0 + - name: dotnet build Butil + run: dotnet build src/Butil/Bit.Butil/Bit.Butil.csproj -p:Configuration=Release -p:GeneratePackageOnBuild=false -p:WarningLevel=0 -p:RunCodeAnalysis=false - name: dotnet pack Butil run: dotnet pack src/Butil/Bit.Butil/Bit.Butil.csproj --output . --configuration Release - - name: dotnet restore CodeAnalyzers - run: dotnet restore src/CodeAnalyzers/Bit.CodeAnalyzers/Bit.CodeAnalyzers.csproj /p:WarningLevel=0 /p:RunCodeAnalysis=false - - name: dotnet msbuild CodeAnalyzers - run: dotnet msbuild src/CodeAnalyzers/Bit.CodeAnalyzers/Bit.CodeAnalyzers.csproj /P:Configuration=Release /p:GeneratePackageOnBuild=false /p:WarningLevel=0 /p:RunCodeAnalysis=false + - name: dotnet build CodeAnalyzers + run: dotnet build src/CodeAnalyzers/Bit.CodeAnalyzers/Bit.CodeAnalyzers.csproj -p:Configuration=Release -p:GeneratePackageOnBuild=false -p:WarningLevel=0 -p:RunCodeAnalysis=false + - name: dotnet pack CodeAnalyzer run: dotnet pack src/CodeAnalyzers/Bit.CodeAnalyzers/Bit.CodeAnalyzers.csproj --output . --configuration Release - - name: dotnet restore SourceGenerators - run: dotnet restore src/SourceGenerators/Bit.SourceGenerators/Bit.SourceGenerators.csproj /p:WarningLevel=0 /p:RunCodeAnalysis=false - - name: dotnet msbuild SourceGenerators - run: dotnet msbuild src/SourceGenerators/Bit.SourceGenerators/Bit.SourceGenerators.csproj /P:Configuration=Release /p:GeneratePackageOnBuild=false /p:WarningLevel=0 /p:RunCodeAnalysis=false + - name: dotnet build SourceGenerators + run: dotnet build src/SourceGenerators/Bit.SourceGenerators/Bit.SourceGenerators.csproj -p:Configuration=Release -p:GeneratePackageOnBuild=false -p:WarningLevel=0 -p:RunCodeAnalysis=false + - name: dotnet pack SourceGenerators run: dotnet pack src/SourceGenerators/Bit.SourceGenerators/Bit.SourceGenerators.csproj --output . --configuration Release diff --git a/.github/workflows/platform.website.cd.yml b/.github/workflows/platform.website.cd.yml index 2accb0b8d4..4a9e50fec8 100644 --- a/.github/workflows/platform.website.cd.yml +++ b/.github/workflows/platform.website.cd.yml @@ -26,15 +26,13 @@ jobs: - name: Setup .NET uses: actions/setup-dotnet@v3 with: - global-json-file: src/Websites/Platform/global.json + global-json-file: src/global.json - name: Switch to blazor web assembly run: sed -i 's/Microsoft.NET.Sdk.Web/Microsoft.NET.Sdk.BlazorWebAssembly/g' src/Websites/Platform/src/Bit.Websites.Platform.Web/Bit.Websites.Platform.Web.csproj - - name: Restore workloads - run: > - dotnet workload install wasm-experimental && - dotnet workload restore src/Websites/Platform/src/Bit.Websites.Platform.Web/Bit.Websites.Platform.Web.csproj -p:BlazorMode=BlazorWebAssembly -p:WebAppDeploymentType="${{ env.WEB_APP_DEPLOYMENT_TYPE }}" + - name: Install wasm + run: dotnet workload install wasm-tools wasm-experimental --sdk-version=8.0.100-rc.1.23463.5 - name: Update appsettings.json api server address uses: microsoft/variable-substitution@v1 @@ -43,8 +41,8 @@ jobs: env: ApiServerAddress: 'api/' - - name: Build (To generate CSS/JS files) - run: dotnet build src/Websites/Platform/src/Bit.Websites.Platform.Api/Bit.Websites.Platform.Api.csproj -p:BlazorMode=BlazorWebAssembly -p:WebAppDeploymentType="${{ env.WEB_APP_DEPLOYMENT_TYPE }}" -p:Configuration=Release + - name: Generate CSS/JS files + run: dotnet build src/Websites/Platform/src/Bit.Websites.Platform.Web/Bit.Websites.Platform.Web.csproj -t:BeforeBuildTasks --no-restore - name: Publish run: dotnet publish src/Websites/Platform/src/Bit.Websites.Platform.Api/Bit.Websites.Platform.Api.csproj -p:BlazorMode=BlazorWebAssembly -p:WebAppDeploymentType="${{ env.WEB_APP_DEPLOYMENT_TYPE }}" -p:Configuration=Release --self-contained -r linux-x64 -o api-web diff --git a/.github/workflows/prerelease.nuget.org.yml b/.github/workflows/prerelease.nuget.org.yml index 390a1c253d..668b3aadd2 100644 --- a/.github/workflows/prerelease.nuget.org.yml +++ b/.github/workflows/prerelease.nuget.org.yml @@ -23,80 +23,64 @@ jobs: with: node-version: 18 - - name: dotnet restore BlazorUI - run: dotnet restore src/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csproj /p:WarningLevel=0 /p:RunCodeAnalysis=false - - name: dotnet msbuild BlazorUI (1) - run: dotnet msbuild src/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csproj /P:Configuration=Release /p:GeneratePackageOnBuild=false -m:1 /p:WarningLevel=0 /p:RunCodeAnalysis=false - - name: dotnet msbuild BlazorUI (2) - run: dotnet msbuild src/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csproj /P:Configuration=Release /p:GeneratePackageOnBuild=false -m:1 /p:WarningLevel=0 /p:RunCodeAnalysis=false + - name: Generate CSS/JS files BlazorUI + run: dotnet build src/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csproj -t:BeforeBuildTasks --no-restore -f:net8.0 + - name: dotnet build BlazorUI + run: dotnet build src/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csproj -p:Configuration=Release -p:GeneratePackageOnBuild=false -p:WarningLevel=0 -p:RunCodeAnalysis=false - name: dotnet pack BlazorUI run: dotnet pack src/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csproj --output . --configuration Release - - name: dotnet restore BlazorUI.Extras - run: dotnet restore src/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csproj /p:WarningLevel=0 /p:RunCodeAnalysis=false - - name: dotnet msbuild BlazorUI.Extras (1) - run: dotnet msbuild src/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csproj /P:Configuration=Release /p:GeneratePackageOnBuild=false -m:1 /p:WarningLevel=0 /p:RunCodeAnalysis=false - - name: dotnet msbuild BlazorUI.Extras (2) - run: dotnet msbuild src/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csproj /P:Configuration=Release /p:GeneratePackageOnBuild=false -m:1 /p:WarningLevel=0 /p:RunCodeAnalysis=false + - name: Generate CSS/JS files BlazorUI.Extras + run: dotnet build src/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csproj -t:BeforeBuildTasks --no-restore -f:net8.0 + - name: dotnet build BlazorUI.Extras + run: dotnet build src/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csproj -p:Configuration=Release -p:GeneratePackageOnBuild=false -p:WarningLevel=0 -p:RunCodeAnalysis=false - name: dotnet pack BlazorUI.Extras run: dotnet pack src/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csproj --output . --configuration Release - - name: dotnet restore BlazorUI.Assets - run: dotnet restore src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csproj /p:WarningLevel=0 /p:RunCodeAnalysis=false - - name: dotnet msbuild BlazorUI.Assets (1) - run: dotnet msbuild src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csproj /P:Configuration=Release /p:GeneratePackageOnBuild=false -m:1 /p:WarningLevel=0 /p:RunCodeAnalysis=false - - name: dotnet msbuild BlazorUI.Assets (2) - run: dotnet msbuild src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csproj /P:Configuration=Release /p:GeneratePackageOnBuild=false -m:1 /p:WarningLevel=0 /p:RunCodeAnalysis=false + - name: Generate CSS/JS files BlazorUI.Assets + run: dotnet build src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csproj -t:BeforeBuildTasks --no-restore -f:net8.0 + - name: dotnet build BlazorUI.Assets + run: dotnet build src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csproj -p:Configuration=Release -p:GeneratePackageOnBuild=false -p:WarningLevel=0 -p:RunCodeAnalysis=false - name: dotnet pack BlazorUI.Assets run: dotnet pack src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csproj --output . --configuration Release - - name: dotnet restore BlazorUI.Icons - run: dotnet restore src/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csproj /p:WarningLevel=0 /p:RunCodeAnalysis=false - - name: dotnet msbuild BlazorUI.Icons (1) - run: dotnet msbuild src/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csproj /P:Configuration=Release /p:GeneratePackageOnBuild=false -m:1 /p:WarningLevel=0 /p:RunCodeAnalysis=false - - name: dotnet msbuild BlazorUI.Icons (2) - run: dotnet msbuild src/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csproj /P:Configuration=Release /p:GeneratePackageOnBuild=false -m:1 /p:WarningLevel=0 /p:RunCodeAnalysis=false + - name: Generate CSS/JS files BlazorUI.Icons + run: dotnet build src/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csproj -t:BeforeBuildTasks --no-restore -f:net8.0 + - name: dotnet build BlazorUI.Icons + run: dotnet build src/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csproj -p:Configuration=Release -p:GeneratePackageOnBuild=false -p:WarningLevel=0 -p:RunCodeAnalysis=false - name: dotnet pack BlazorUI.Icons run: dotnet pack src/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csproj --output . --configuration Release - - name: dotnet restore Bswup - run: dotnet restore src/Bswup/Bit.Bswup/Bit.Bswup.csproj /p:WarningLevel=0 /p:RunCodeAnalysis=false - - name: dotnet msbuild Bswup (1) - run: dotnet msbuild src/Bswup/Bit.Bswup/Bit.Bswup.csproj /P:Configuration=Release /p:GeneratePackageOnBuild=false -m:1 /p:WarningLevel=0 /p:RunCodeAnalysis=false - - name: dotnet msbuild Bswup (2) - run: dotnet msbuild src/Bswup/Bit.Bswup/Bit.Bswup.csproj /P:Configuration=Release /p:GeneratePackageOnBuild=false -m:1 /p:WarningLevel=0 /p:RunCodeAnalysis=false + - name: Generate CSS/JS files Bswup + run: dotnet build src/Bswup/Bit.Bswup/Bit.Bswup.csproj -t:BeforeBuildTasks --no-restore -f:net8.0 + - name: dotnet build Bswup + run: dotnet build src/Bswup/Bit.Bswup/Bit.Bswup.csproj -p:Configuration=Release -p:GeneratePackageOnBuild=false -p:WarningLevel=0 -p:RunCodeAnalysis=false - name: dotnet pack Bswup run: dotnet pack src/Bswup/Bit.Bswup/Bit.Bswup.csproj --output . --configuration Release - - name: dotnet restore Bup - run: dotnet restore src/Bup/Bit.Bup/Bit.Bup.csproj /p:WarningLevel=0 /p:RunCodeAnalysis=false - - name: dotnet msbuild Bup (1) - run: dotnet msbuild src/Bup/Bit.Bup/Bit.Bup.csproj /P:Configuration=Release /p:GeneratePackageOnBuild=false -m:1 /p:WarningLevel=0 /p:RunCodeAnalysis=false - - name: dotnet msbuild Bup (2) - run: dotnet msbuild src/Bup/Bit.Bup/Bit.Bup.csproj /P:Configuration=Release /p:GeneratePackageOnBuild=false -m:1 /p:WarningLevel=0 /p:RunCodeAnalysis=false + - name: Generate CSS/JS files Bup + run: dotnet build src/Bup/Bit.Bup/Bit.Bup.csproj -t:BeforeBuildTasks --no-restore -f:net8.0 + - name: dotnet build Bup + run: dotnet build src/Bup/Bit.Bup/Bit.Bup.csproj -p:Configuration=Release -p:GeneratePackageOnBuild=false -p:WarningLevel=0 -p:RunCodeAnalysis=false - name: dotnet pack Bup run: dotnet pack src/Bup/Bit.Bup/Bit.Bup.csproj --output . --configuration Release - - name: dotnet restore Butil - run: dotnet restore src/Butil/Bit.Butil/Bit.Butil.csproj /p:WarningLevel=0 /p:RunCodeAnalysis=false - - name: dotnet msbuild Butil (1) - run: dotnet msbuild src/Butil/Bit.Butil/Bit.Butil.csproj /P:Configuration=Release /p:GeneratePackageOnBuild=false -m:1 /p:WarningLevel=0 /p:RunCodeAnalysis=false - - name: dotnet msbuild Butil (2) - run: dotnet msbuild src/Butil/Bit.Butil/Bit.Butil.csproj /P:Configuration=Release /p:GeneratePackageOnBuild=false -m:1 /p:WarningLevel=0 /p:RunCodeAnalysis=false + - name: Generate CSS/JS files Butil + run: dotnet build src/Butil/Bit.Butil/Bit.Butil.csproj -t:BeforeBuildTasks --no-restore -f:net8.0 + - name: dotnet build Butil + run: dotnet build src/Butil/Bit.Butil/Bit.Butil.csproj -p:Configuration=Release -p:GeneratePackageOnBuild=false -p:WarningLevel=0 -p:RunCodeAnalysis=false - name: dotnet pack Butil run: dotnet pack src/Butil/Bit.Butil/Bit.Butil.csproj --output . --configuration Release - - name: dotnet restore CodeAnalyzers - run: dotnet restore src/CodeAnalyzers/Bit.CodeAnalyzers/Bit.CodeAnalyzers.csproj /p:WarningLevel=0 /p:RunCodeAnalysis=false - - name: dotnet msbuild CodeAnalyzers - run: dotnet msbuild src/CodeAnalyzers/Bit.CodeAnalyzers/Bit.CodeAnalyzers.csproj /P:Configuration=Release /p:GeneratePackageOnBuild=false /p:WarningLevel=0 /p:RunCodeAnalysis=false + - name: dotnet build CodeAnalyzers + run: dotnet build src/CodeAnalyzers/Bit.CodeAnalyzers/Bit.CodeAnalyzers.csproj -p:Configuration=Release -p:GeneratePackageOnBuild=false -p:WarningLevel=0 -p:RunCodeAnalysis=false + - name: dotnet pack CodeAnalyzer run: dotnet pack src/CodeAnalyzers/Bit.CodeAnalyzers/Bit.CodeAnalyzers.csproj --output . --configuration Release - - name: dotnet restore SourceGenerators - run: dotnet restore src/SourceGenerators/Bit.SourceGenerators/Bit.SourceGenerators.csproj /p:WarningLevel=0 /p:RunCodeAnalysis=false - - name: dotnet msbuild SourceGenerators - run: dotnet msbuild src/SourceGenerators/Bit.SourceGenerators/Bit.SourceGenerators.csproj /P:Configuration=Release /p:GeneratePackageOnBuild=false /p:WarningLevel=0 /p:RunCodeAnalysis=false + - name: dotnet build SourceGenerators + run: dotnet build src/SourceGenerators/Bit.SourceGenerators/Bit.SourceGenerators.csproj -p:Configuration=Release -p:GeneratePackageOnBuild=false -p:WarningLevel=0 -p:RunCodeAnalysis=false + - name: dotnet pack SourceGenerators run: dotnet pack src/SourceGenerators/Bit.SourceGenerators/Bit.SourceGenerators.csproj --output . --configuration Release diff --git a/.github/workflows/sales.website.cd.yml b/.github/workflows/sales.website.cd.yml index c49ed0bdda..1a1a326df9 100644 --- a/.github/workflows/sales.website.cd.yml +++ b/.github/workflows/sales.website.cd.yml @@ -26,15 +26,13 @@ jobs: - name: Setup .NET uses: actions/setup-dotnet@v3 with: - global-json-file: src/Websites/Sales/global.json + global-json-file: src/global.json - name: Switch to blazor web assembly run: sed -i 's/Microsoft.NET.Sdk.Web/Microsoft.NET.Sdk.BlazorWebAssembly/g' src/Websites/Sales/src/Bit.Websites.Sales.Web/Bit.Websites.Sales.Web.csproj - - name: Restore workloads - run: > - dotnet workload install wasm-experimental && - dotnet workload restore src/Websites/Sales/src/Bit.Websites.Sales.Web/Bit.Websites.Sales.Web.csproj -p:BlazorMode=BlazorWebAssembly -p:WebAppDeploymentType="${{ env.WEB_APP_DEPLOYMENT_TYPE }}" + - name: Install wasm + run: dotnet workload install wasm-tools wasm-experimental --sdk-version=8.0.100-rc.1.23463.5 - name: Update appsettings.json api server address uses: microsoft/variable-substitution@v1 @@ -43,8 +41,8 @@ jobs: env: ApiServerAddress: 'api/' - - name: Build (To generate CSS/JS files) - run: dotnet build src/Websites/Sales/src/Bit.Websites.Sales.Api/Bit.Websites.Sales.Api.csproj -p:BlazorMode=BlazorWebAssembly -p:WebAppDeploymentType="${{ env.WEB_APP_DEPLOYMENT_TYPE }}" -p:Configuration=Release + - name: Generate CSS/JS files + run: dotnet build src/Websites/Sales/src/Bit.Websites.Sales.Web/Bit.Websites.Sales.Web.csproj -t:BeforeBuildTasks --no-restore - name: Publish run: dotnet publish src/Websites/Sales/src/Bit.Websites.Sales.Api/Bit.Websites.Sales.Api.csproj -p:BlazorMode=BlazorWebAssembly -p:WebAppDeploymentType="${{ env.WEB_APP_DEPLOYMENT_TYPE }}" -p:Configuration=Release --self-contained -r linux-x64 -o api-web diff --git a/.github/workflows/todotemplate.cd.yml b/.github/workflows/todotemplate.cd.yml index d17229fea6..f4d5c89530 100644 --- a/.github/workflows/todotemplate.cd.yml +++ b/.github/workflows/todotemplate.cd.yml @@ -37,16 +37,14 @@ jobs: - name: Switch to blazor web assembly run: sed -i 's/Microsoft.NET.Sdk.Web/Microsoft.NET.Sdk.BlazorWebAssembly/g' src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/Web/TodoTemplate.Client.Web.csproj - - name: Restore workloads - run: > - dotnet workload install wasm-experimental && - dotnet workload restore src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/Web/TodoTemplate.Client.Web.csproj -p:BlazorMode=BlazorWebAssembly -p:WebAppDeploymentType="${{ env.WEB_APP_DEPLOYMENT_TYPE }}" -p:MultilingualEnabled=false + - name: Install wasm + run: dotnet workload install wasm-tools wasm-experimental --sdk-version=8.0.100-rc.1.23463.5 - - name: Build (To generate CSS/JS files) - run: dotnet build src/Templates/TodoTemplate/Bit.TodoTemplate/src/Server/Api/TodoTemplate.Server.Api.csproj -p:BlazorMode=BlazorWebAssembly -p:WebAppDeploymentType="${{ env.WEB_APP_DEPLOYMENT_TYPE }}" -p:Configuration=Release -p:MultilingualEnabled=false + - name: Generate CSS/JS files + run: dotnet build src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/Core/TodoTemplate.Client.Core.csproj -t:BeforeBuildTasks --no-restore - name: Publish - run: dotnet publish src/Templates/TodoTemplate/Bit.TodoTemplate/src/Server/Api/TodoTemplate.Server.Api.csproj -p:BlazorMode=BlazorWebAssembly -p:WebAppDeploymentType="${{ env.WEB_APP_DEPLOYMENT_TYPE }}" -p:Configuration=Release -p:MultilingualEnabled=false --self-contained -r linux-x64 -o ${{env.DOTNET_ROOT}}/api-web + run: dotnet publish src/Templates/TodoTemplate/Bit.TodoTemplate/src/Server/Api/TodoTemplate.Server.Api.csproj -p:BlazorMode=BlazorWebAssembly -p:WebAppDeploymentType="${{ env.WEB_APP_DEPLOYMENT_TYPE }}" -p:Configuration=Release --self-contained -r linux-x64 -o ${{env.DOTNET_ROOT}}/api-web - name: Upload api-web artifact uses: actions/upload-artifact@v3 @@ -114,27 +112,24 @@ jobs: env: ApiServerAddress: ${{ env.API_SERVER_ADDRESS }} - - name: Install Maui - run: dotnet workload install maui - - - name: Restore workloads - run: dotnet workload restore src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/App/TodoTemplate.Client.App.csproj -p:BlazorMode=BlazorHybrid -p:MultilingualEnabled=false -f net7.0-windows10.0.19041.0 + - name: Install maui + run: dotnet workload install maui --sdk-version=8.0.100-rc.1.23463.5 - - name: Build (To generate CSS/JS files) - run: dotnet build src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/App/TodoTemplate.Client.App.csproj -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:WindowsPackageType=None -p:SelfContained=true -p:WindowsAppSDKSelfContained=true -p:GenerateAppxPackageOnBuild=false -p:RuntimeIdentifier=win10-x86 -p:MultilingualEnabled=false -f net7.0-windows10.0.19041.0 + - name: Generate CSS/JS files + run: dotnet build src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/Core/TodoTemplate.Client.Core.csproj -t:BeforeBuildTasks --no-restore - name: Build exe - run: dotnet build src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/App/TodoTemplate.Client.App.csproj -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:WindowsPackageType=None -p:SelfContained=true -p:WindowsAppSDKSelfContained=true -p:GenerateAppxPackageOnBuild=false -p:RuntimeIdentifier=win10-x86 -p:ApplicationDisplayVersion="${{ vars.APPLICATION_DISPLAY_VERSION }}" -p:ApplicationVersion="${{ vars.APPLICATION_VERSION }}" -p:MultilingualEnabled=false -f net7.0-windows10.0.19041.0 + run: dotnet build src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/App/TodoTemplate.Client.App.csproj -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:WindowsPackageType=None -p:SelfContained=true -p:WindowsAppSDKSelfContained=true -p:GenerateAppxPackageOnBuild=false -p:RuntimeIdentifier=win10-x86 -p:ApplicationDisplayVersion="${{ vars.APPLICATION_DISPLAY_VERSION }}" -p:ApplicationVersion="${{ vars.APPLICATION_VERSION }}" -p:UseRidGraph=true -f net8.0-windows10.0.19041.0 - name: Upload artifact uses: actions/upload-artifact@v2 with: name: win-exe-bundle - path: src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/App/bin/release/net7.0-windows10.0.19041.0/win10-x86 + path: src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/App/bin/release/net8.0-windows10.0.19041.0/win10-x86 build_blazor_hybrid_android: name: build blazor hybrid (android) - runs-on: windows-2022 + runs-on: ubuntu-22.04 steps: @@ -164,30 +159,24 @@ jobs: env: ApiServerAddress: ${{ env.API_SERVER_ADDRESS }} - - name: Install Maui - run: dotnet workload install maui - - - name: Restore workloads - run: dotnet workload restore src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/App/TodoTemplate.Client.App.csproj -p:BlazorMode=BlazorHybrid -p:MultilingualEnabled=false -f net7.0-android + - name: Install maui + run: dotnet workload install maui-android --sdk-version=8.0.100-rc.1.23463.5 - - name: Build (To generate CSS/JS files) - run: dotnet build src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/App/TodoTemplate.Client.App.csproj -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:RunAOTCompilation=false -p:MultilingualEnabled=false -f net7.0-android + - name: Generate CSS/JS files + run: dotnet build src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/Core/TodoTemplate.Client.Core.csproj -t:BeforeBuildTasks --no-restore - name: Build aab - run: dotnet build src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/App/TodoTemplate.Client.App.csproj -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:AndroidPackageFormat=aab -p:AndroidKeyStore=true -p:AndroidSigningKeyStore="TodoTemplate.keystore" -p:AndroidSigningKeyAlias=bitplatform -p:AndroidSigningKeyPass="${{ secrets.ANDROID_RELEASE_KEYSTORE_PASSWORD }}" -p:AndroidSigningStorePass="${{ secrets.ANDROID_RELEASE_SIGNING_PASSWORD }}" -p:ApplicationDisplayVersion="${{ vars.APPLICATION_DISPLAY_VERSION }}" -p:ApplicationVersion="${{ vars.APPLICATION_VERSION }}" -p:MultilingualEnabled=false -f net7.0-android - - - name: Build apk - run: dotnet build src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/App/TodoTemplate.Client.App.csproj -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:AndroidKeyStore=true -p:AndroidSigningKeyStore="TodoTemplate.keystore" -p:AndroidSigningKeyAlias=bitplatform -p:AndroidSigningKeyPass="${{ secrets.ANDROID_RELEASE_KEYSTORE_PASSWORD }}" -p:AndroidSigningStorePass="${{ secrets.ANDROID_RELEASE_SIGNING_PASSWORD }}" -p:ApplicationDisplayVersion="${{ vars.APPLICATION_DISPLAY_VERSION }}" -p:ApplicationVersion="${{ vars.APPLICATION_VERSION }}" -p:MultilingualEnabled=false -f net7.0-android + run: dotnet build src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/App/TodoTemplate.Client.App.csproj -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:AndroidPackageFormat=aab -p:AndroidKeyStore=true -p:AndroidSigningKeyStore="TodoTemplate.keystore" -p:AndroidSigningKeyAlias=bitplatform -p:AndroidSigningKeyPass="${{ secrets.ANDROID_RELEASE_KEYSTORE_PASSWORD }}" -p:AndroidSigningStorePass="${{ secrets.ANDROID_RELEASE_SIGNING_PASSWORD }}" -p:ApplicationDisplayVersion="${{ vars.APPLICATION_DISPLAY_VERSION }}" -p:ApplicationVersion="${{ vars.APPLICATION_VERSION }}" -f net8.0-android - name: Upload artifact uses: actions/upload-artifact@v2 with: name: android-bundle - path: src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/App/bin/release/net7.0-android/*-Signed.* + path: src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/App/bin/Release/net8.0-android/*-Signed.* build_blazor_hybrid_maccatalyst: name: build blazor hybrid (maccatalyst) - runs-on: macos-12 + runs-on: macos-13 steps: @@ -210,27 +199,24 @@ jobs: env: ApiServerAddress: ${{ env.API_SERVER_ADDRESS }} - - name: Install Maui - run: dotnet workload install maui - - - name: Restore workloads - run: dotnet workload restore src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/App/TodoTemplate.Client.App.csproj -p:BlazorMode=BlazorHybrid -p:MultilingualEnabled=false -f net7.0-maccatalyst + - name: Install maui + run: dotnet workload install maui --sdk-version=8.0.100-rc.1.23463.5 - - name: Build (To generate CSS/JS files) - run: dotnet build src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/App/TodoTemplate.Client.App.csproj -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:MultilingualEnabled=false -f net7.0-maccatalyst + - name: Generate CSS/JS files + run: dotnet build src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/Core/TodoTemplate.Client.Core.csproj -t:BeforeBuildTasks --no-restore - name: Build pkg - run: dotnet build src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/App/TodoTemplate.Client.App.csproj -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:CreatePackage=true -p:ApplicationDisplayVersion="${{ vars.APPLICATION_DISPLAY_VERSION }}" -p:ApplicationVersion="${{ vars.APPLICATION_VERSION }}" -p:MultilingualEnabled=false -f net7.0-maccatalyst + run: dotnet build src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/App/TodoTemplate.Client.App.csproj -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:CreatePackage=true -p:ApplicationDisplayVersion="${{ vars.APPLICATION_DISPLAY_VERSION }}" -p:ApplicationVersion="${{ vars.APPLICATION_VERSION }}" -f net8.0-maccatalyst - name: Upload artifact uses: actions/upload-artifact@v2 with: name: mac-pkg-bundle - path: src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/App/bin/release/net7.0-maccatalyst/*.pkg + path: src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/App/bin/release/net8.0-maccatalyst/*.pkg build_blazor_hybrid_ios: name: build blazor hybrid (ios) - runs-on: macos-12 + runs-on: macos-13 steps: @@ -253,11 +239,8 @@ jobs: env: ApiServerAddress: ${{ env.API_SERVER_ADDRESS }} - - name: Install Maui - run: dotnet workload install maui - - - name: Restore workloads - run: dotnet workload restore src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/App/TodoTemplate.Client.App.csproj -p:BlazorMode=BlazorHybrid -p:MultilingualEnabled=false -f net7.0-ios + - name: Install maui + run: dotnet workload install maui --sdk-version=8.0.100-rc.1.23463.5 - name: Extract iOS code signing certificate from env uses: timheuer/base64-to-file@v1 @@ -280,17 +263,17 @@ jobs: api-key-id: ${{ secrets.APPSTORE_API_KEY_ID }} api-private-key: ${{ secrets.APPSTORE_API_KEY_PRIVATE_KEY }} - - name: Build (To generate CSS/JS files) - run: dotnet build src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/App/TodoTemplate.Client.App.csproj -m:1 -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:MultilingualEnabled=false -f net7.0-ios + - name: Generate CSS/JS files + run: dotnet build src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/Core/TodoTemplate.Client.Core.csproj -t:BeforeBuildTasks --no-restore - name: Build ipa - run: dotnet publish src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/App/TodoTemplate.Client.App.csproj -m:1 -p:RuntimeIdentifier=ios-arm64 -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:ArchiveOnBuild=true -p:CodesignKey="iPhone Distribution" -p:CodesignProvision="TodoTemplate" -p:ApplicationDisplayVersion="${{ vars.APPLICATION_DISPLAY_VERSION }}" -p:ApplicationVersion="${{ vars.APPLICATION_VERSION }}" -p:MultilingualEnabled=false -f net7.0-ios + run: dotnet publish src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/App/TodoTemplate.Client.App.csproj -p:RuntimeIdentifier=ios-arm64 -p:BlazorMode=BlazorHybrid -p:Configuration=Release -p:ArchiveOnBuild=true -p:CodesignKey="iPhone Distribution" -p:CodesignProvision="TodoTemplate" -p:ApplicationDisplayVersion="${{ vars.APPLICATION_DISPLAY_VERSION }}" -p:ApplicationVersion="${{ vars.APPLICATION_VERSION }}" -f net8.0-ios - name: Upload artifact uses: actions/upload-artifact@v2 with: name: ios-bundle - path: src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/App/bin/release/net7.0-ios/ios-arm64/publish/*.ipa + path: src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/App/bin/release/net8.0-ios/ios-arm64/publish/*.ipa build_blazor_electron_linux: name: build blazor electron (linux) @@ -324,15 +307,12 @@ jobs: - name: Switch to BlazorElectron run: awk '//{sub(">.*BlazorElectron temp.xml && mv temp.xml src/Templates/TodoTemplate/Bit.TodoTemplate/src/Directory.Build.props - - - name: Disable Multilingual - run: awk '//{sub(">.*false temp.xml && mv temp.xml src/Templates/TodoTemplate/Bit.TodoTemplate/src/Directory.Build.props - - - name: Restore workloads - run: dotnet workload restore src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/Web/TodoTemplate.Client.Web.csproj - - name: Build (To generate CSS/JS files) - run: dotnet build src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/Web/TodoTemplate.Client.Web.csproj -p:Configuration=Release + - name: Generate CSS/JS files + run: dotnet build src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/Core/TodoTemplate.Client.Core.csproj -t:BeforeBuildTasks --no-restore + + - name: Restore electron .net + run: dotnet build src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/Web/TodoTemplate.Client.Web.csproj -t:BeforeBuildTasks - name: Build app image run: cd src/Templates/TodoTemplate/Bit.TodoTemplate/src/Client/Web/ && dotnet electronize build /target linux diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2ef1d7dabe..581c0e9977 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,101 @@ -There are many ways to contribute +# Contribution to bit platform -* Fork / Star this project 😊 -* Give us a try and use bit platform in your apps -* Submit [bugs](https://github.com/bitfoundation/bitplatform/issues/new?template=bug_report.yml) & [feature requests](https://github.com/bitfoundation/bitplatform/issues/new?template=feature_request.yml) -* Check out our [reddit](https://www.reddit.com/r/bitplatform/) to stay up to date on the hottest news of .NET and bit platform +You can contribute to bit platform with issues and PRs. Simply filing issues for problems you encounter is a great way to contribute. Contributing implementations is greatly appreciated. + +## Reporting Issues + +We always welcome bug reports, API proposals and overall feedback. Here are a few tips on how you can make reporting your issue as effective as possible. + +The bit platform codebase is consisted of multiple projects/products in a monorepo structure. Depending on the feedback you might want to file the issue with enough information to distinguish it among these projects/products. + +### Finding Existing Issues + +Before filing a new issue, please search our [open issues](https://github.com/bitfoundation/bitplatform/issues) to check if it already exists. + +If you do find an existing issue, please include your own feedback in the discussion. Do consider upvoting (👍 reaction) the original post, as this helps us prioritize popular issues in our backlog. + +### Writing a Good Feature request + +Please provide enough information for the new feature so our contributors can understand the actual requirements. When ready to submit a proposal, please use the [Feature request issue template](https://github.com/bitfoundation/bitplatform/issues/new?assignees=&labels=&projects=&template=feature_request.yml). + +### Writing a Good Bug Report + +Good bug reports make it easier for maintainers to verify and root cause the underlying problem. The better a bug report, the faster the problem will be resolved. Ideally, a bug report should contain the following information: + +* A high-level description of the problem. +* A _minimal reproduction_, i.e. the smallest size of code/configuration required to reproduce the wrong behavior. +* A description of the _expected behavior_, contrasted with the _actual behavior_ observed. +* Information on the environment: OS/distro, CPU arch, SDK version, etc. +* Additional information, e.g. is it a regression from previous versions? are there any known workarounds? + +When ready to submit a bug report, please use the [Bug Report issue template](https://github.com/bitfoundation/bitplatform/issues/new?assignees=&labels=&projects=&template=bug_report.yml). + +#### Are Minimal Reproductions Required? + +In certain cases, creating a minimal reproduction might not be practical (e.g. due to nondeterministic factors, external dependencies). In such cases you would be asked to provide as much information as possible. If maintainers are unable to root cause the problem, they might still close the issue as not actionable. While not required, minimal reproductions are strongly encouraged and will significantly improve the chances of your issue being prioritized and fixed by the maintainers. + +#### How to Create a Minimal Reproduction + +The best way to create a minimal reproduction is gradually removing code and dependencies from a reproducing app, until the problem no longer occurs. A good minimal reproduction: + +* Excludes all unnecessary types, methods, code blocks, source files, nuget dependencies and project configurations. +* Contains documentation or code comments illustrating expected vs actual behavior. +* If possible, avoids performing any unneeded http calls. + +## Contributing Changes + +Project maintainers will merge changes that improve the product significantly. + +### DOs and DON'Ts + +Please do: + +* **DO** follow our [coding style](docs/coding-style.md). +* **DO** give priority to the current style of the project or file you're changing even if it diverges from the general guidelines. +* **DO** include tests when adding new features. When fixing bugs, start with + adding a test that highlights how the current behavior is broken. +* **DO** keep the discussions focused. When a new or related topic comes up. + it's often better to create new issue than to side track the discussion. +* **DO** clearly state on an issue that you are going to take on implementing it. +* **DO** blog and tweet (or whatever) about your contributions, frequently! + +Please do not: + +* **DON'T** make PRs for coding style changes, instead discuss them in an issue. +* **DON'T** surprise us with big pull requests. Instead, file an issue and start + a discussion so we can agree on a direction before you invest a large amount + of time. +* **DON'T** commit code that you didn't write. If you find code that you think is a good fit to add to the bit platform, file an issue and start a discussion before proceeding. +* **DON'T** submit PRs that alter licensing related files. If you believe there's a problem with them, file an issue and we'll be happy to discuss it. +* **DON'T** add API additions without filing an issue and discussing with us first. + +### Suggested Workflow + +We use and recommend the following workflow which is explained in [this article](https://www.dataschool.io/how-to-contribute-on-github/): + +1. Create an issue for your work. + - Reuse an existing issue on the topic, if there is one. + - Get agreement from the team and the community that your proposed change is a good one. + - Clearly state that you are going to take on implementing it, if that's the case. You can request that the issue be assigned to you. Note: The issue filer and the implementer don't have to be the same person. +2. Create a personal fork of the repository on GitHub (if you don't already have one). +3. In your fork, create a branch off of develop. + - Name the branch so that it clearly communicates your intentions, such as issue-123. + - Branches are useful since they isolate your changes from incoming changes from upstream. They also enable you to create multiple PRs from the same fork. +4. Make and commit your changes to your branch. + - [Build Instructions](docs/how-to-build.md) explains how to build and test. + - Please use a good and informative commit message. +5. Add new tests corresponding to your change, if applicable. +6. Build the repository with your changes. + - Make sure that the builds are clean. + - Make sure that the tests are all passing, including your new tests. +7. Create a pull request (PR) against the **develop** branch. + - State in the description what issue or improvement your change is addressing. + - Check if all the Continuous Integration checks are passing. Check if any outstanding errors are known. +8. Wait for feedback or approval of your changes from the bit platform team. +9. When area owners have signed off, and all checks are green, your PR will be merged. + - The next prerelease will automatically include your change. + - You can delete the branch you used for making the change. + +### Up for Grabs + +The team marks the most straightforward issues as [up for grabs](https://github.com/bitfoundation/bitplatform/labels/up%20for%20grabs). This set of issues is the place to start if you are interested in contributing but new to the codebase. diff --git a/README.md b/README.md index 68fc068ce4..8a8164620d 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,15 @@ ![NuGet version](https://img.shields.io/nuget/v/bit.blazorui.svg?logo=nuget) [![Nuget downloads](https://img.shields.io/badge/packages_download-3.4M-blue.svg?logo=nuget)](https://www.nuget.org/profiles/bit-foundation) +
+
+ +![image](https://user-images.githubusercontent.com/6169846/271820882-0d816266-ebd1-4c2b-a3b7-296b35248536.png) +
+Join us and start contributing to bit platform in [hacktoberfest](https://hacktoberfest.com/). you can find the up-for-grabs issues [here](https://github.com/bitfoundation/bitplatform/labels/up%20for%20grabs). + +
+
# 🧾 Introduction @@ -24,6 +33,7 @@ With these templates, one can easily switch between different modes: These templates are powered by [bit BlazorUI](https://components.bitplatform.dev) components, which are super-fast 🌶 and lightweight making them together the best toolbox for developing common apps. +
# 🎁 OSS Showcases @@ -35,16 +45,18 @@ The following apps are our open-source projects powered by the bit platform show | Todo | [![Prerendered PWA](https://github-production-user-asset-6210df.s3.amazonaws.com/6169846/251381583-8b8eb895-80c9-4811-9641-57a5a08db163.png)](https://todo.bitplatform.dev) | [![iOS app](https://github-production-user-asset-6210df.s3.amazonaws.com/6169846/251381842-e72976ce-fd20-431d-a677-ca1ed625b83b.png)](https://apps.apple.com/us/app/bit-todotemplate/id6450611072) | [![Android app](https://github-production-user-asset-6210df.s3.amazonaws.com/6169846/251381958-24931682-87f6-44fc-a1c7-eecf46387005.png)](https://play.google.com/store/apps/details?id=com.bitplatform.Todo.Template) | [![Windows app](https://github-production-user-asset-6210df.s3.amazonaws.com/6169846/251382080-9ae97fea-934c-4097-aca4-124a2aed1595.png)](https://github.com/bitfoundation/bitplatform/releases/latest/download/TodoTemplate-Windows.zip) | [![macOS app](https://github-production-user-asset-6210df.s3.amazonaws.com/6169846/251382211-0d58f9ba-1a1f-4481-a0ca-b23a393cca9f.png)](https://github.com/bitfoundation/bitplatform/releases/latest/download/TodoTemplate-macOS.pkg) | [![Linux app](https://github-production-user-asset-6210df.s3.amazonaws.com/6169846/251382372-59411a10-8460-4855-91e9-665f76b7011f.png)](https://github.com/bitfoundation/bitplatform/releases/latest/download/TodoTemplate-Linux.zip) | | AdminPanel | [![SPA](https://github-production-user-asset-6210df.s3.amazonaws.com/6169846/251395129-71a5a79c-af74-4d4e-a0f7-ed9a15cf2e46.png)](https://adminpanel.bitplatform.dev) | [![iOS app](https://github-production-user-asset-6210df.s3.amazonaws.com/6169846/251381842-e72976ce-fd20-431d-a677-ca1ed625b83b.png)](https://apps.apple.com/us/app/bit-adminpanel/id6450611349) | [![Android app](https://github-production-user-asset-6210df.s3.amazonaws.com/6169846/251381958-24931682-87f6-44fc-a1c7-eecf46387005.png)](https://play.google.com/store/apps/details?id=com.bitplatform.AdminPanel.Template) | [![Windows app](https://github-production-user-asset-6210df.s3.amazonaws.com/6169846/251382080-9ae97fea-934c-4097-aca4-124a2aed1595.png)](https://github.com/bitfoundation/bitplatform/releases/latest/download/AdminPanel-Windows.zip) | [![macOS app](https://github-production-user-asset-6210df.s3.amazonaws.com/6169846/251382211-0d58f9ba-1a1f-4481-a0ca-b23a393cca9f.png)](https://github.com/bitfoundation/bitplatform/releases/latest/download/AdminPanel-macOS.pkg) | [![Linux app](https://github-production-user-asset-6210df.s3.amazonaws.com/6169846/251382372-59411a10-8460-4855-91e9-665f76b7011f.png)](https://github.com/bitfoundation/bitplatform/releases/latest/download/AdminPanel-Linux.zip) | +
+ +# How to contribute? -## **Contribute** +We welcome contributions! Many people all over the world have helped make this project better. -There are many ways to contribute +* [Contributing](CONTRIBUTING.md) explains what kinds of contributions we welcome. +* [Build Instructions](docs/how-to-build.md) explains how to build and test. +* [Get Up and Running on bit platform](docs/up-and-running.md) explains how to get the latest builds and their libraries to test them in your own projects. -* Fork / Star this project 😊 -* Give us a try and use bit platform in your apps -* Submit [bugs](https://github.com/bitfoundation/bitplatform/issues/new?template=bug_report.yml) & [feature requests](https://github.com/bitfoundation/bitplatform/issues/new?template=feature_request.yml) -* Check out our [reddit](https://www.reddit.com/r/bitplatform/) to stay up to date on the hottest news of .NET and bit platform +
-## **Contributions** +# **Contributions** ![Alt](https://repobeats.axiom.co/api/embed/66dc1fc04ed967094b98ac118e8f18fa38b19f6a.svg "bit platform open source contributions report") diff --git a/docs/coding-style.md b/docs/coding-style.md new file mode 100644 index 0000000000..14e7309ba5 --- /dev/null +++ b/docs/coding-style.md @@ -0,0 +1,2 @@ +Coding Style of bitplatform +=============== \ No newline at end of file diff --git a/docs/how-to-build.md b/docs/how-to-build.md new file mode 100644 index 0000000000..15d80f75c4 --- /dev/null +++ b/docs/how-to-build.md @@ -0,0 +1,120 @@ +# How to build bit platform + +- [Projects](#projects) +- [Basic build requirements](#basic-build-requirements) +- [Projects build requirements](#projects-build-requirements) + +
+ +## Projects + +bit platform consists of multiple different projects/prodcuts with the following being the most important ones: + +- [bit platform website](../src/Websites/Platform/) +- [bit BlazorUI (Blazor components)](../src/BlazorUI/) +- [bit Project Templates](../src/Templates/) + +building each one of them requires some specific steps that are explained below. + +
+ +## Basic build requirements + +Building each of the bit platform projects needs the following basic requirements other than the specific requirements that are explained later: + +- [.NET 8 RC1 SDK (8.0.100-rc.1.23463.5)](https://dotnet.microsoft.com/en-us/download/dotnet/8.0) +- [Node.js](https://nodejs.org) + +
+ +## Projects build requirements + +Building each bit platform project requires specific steps that are explained per project below: + +
+ +### bit Platform Website +This website only requires the basic requirements and can be simply built by runnning the following command in the `Bit.Websites.Platform.Web` project folder: + +```bash +dotnet build +``` +and to run the project you just need to execute the following command in the same folder: + +```bash +dotnet watch +``` + +
+ +### bit BlazorUI (Blazor components) +The bit BlazorUI product has many sub-projects with the main one being the BlazorUI project itself. + +#### BlazorUI project + +To build the BlazorUI project you only need the basic requirements and simply run the following command in its folder (`Bit.BlazorUI` in the `src` folder): + +```bash +dotnet build +``` + +#### BlazorUI Demo project + +Another project is the bit BlazorUI `Demo` project which has two different projects (Web & App) with different requirements to build. + +The `Web` project just like the bit platform website only needs the basic requirements and can be simply built by running the following command in the `Bit.BlazorUI.Demo.Client.Web` project folder (`Demo/Client/Web`): + +```bash +dotnet build +``` + +The `App` project unlike the Web needs the `MAUI` workloads to build. This requirement can be installed with the following commands: + +**Linux**: +```bash +dotnet workload install maui-android --sdk-version=8.0.100-rc.1.23455.8 +``` +**Note**: because of MAUI shortcomings, for now only the android version can be built on Linux. + +**Windows & macOS**: +```bash +dotnet workload install maui --sdk-version=8.0.100-rc.1.23455.8 +``` + +To build the App project run the following command in the `Bit.BlazorUI.Demo.Client.App` project folder (`Demo/Client/App`): + +```bash +dotnet build +``` + +
+ +### bit Project Templates +Like the bit BlazorUI Demo project, the project templates (located in the `src/Templates` folder) have two different projects (Web & App) with different requirements to build. + +For exmaple for the `AdminPanel` porject template in the `AdminPanel/Bit.AdminPanel` folder: + +The `Web` project just like the bit platform website only needs the basic requirements and can be simply built by running the following command in the `AdminPanel.Client.Web` project folder (`src/Client/Web`): + +```bash +dotnet build +``` + +The `App` project unlike the Web needs the `MAUI` workloads too. This requirement can be installed with the following commands: + +**Linux**: +```bash +dotnet workload install maui-android --sdk-version=8.0.100-rc.1.23455.8 +``` +**Note**: because of MAUI shortcomings, for now only the android version can be built on Linux. + +**Windows & macOS**: +```bash +dotnet workload install maui --sdk-version=8.0.100-rc.1.23455.8 +``` + +To build the App project run the following command in the `AdminPanel.Client.App` project folder (`src/Client/Web`): + +```bash +dotnet build +``` \ No newline at end of file diff --git a/docs/up-and-running.md b/docs/up-and-running.md new file mode 100644 index 0000000000..593da8a9cb --- /dev/null +++ b/docs/up-and-running.md @@ -0,0 +1 @@ +# Up and running on bitplatform \ No newline at end of file diff --git a/src/Bit-CI.sln b/src/Bit-CI.sln index 3c5544e474..b467f703bd 100644 --- a/src/Bit-CI.sln +++ b/src/Bit-CI.sln @@ -115,7 +115,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Platform", "Platform", "{06 Websites\Platform\.gitignore = Websites\Platform\.gitignore Websites\Platform\Clean.bat = Websites\Platform\Clean.bat Websites\Platform\src\Directory.Build.props = Websites\Platform\src\Directory.Build.props - Websites\Platform\global.json = Websites\Platform\global.json Websites\Platform\README.md = Websites\Platform\README.md EndProjectSection EndProject @@ -124,7 +123,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Sales", "Sales", "{9FBD6994 Websites\Sales\.gitignore = Websites\Sales\.gitignore Websites\Sales\Clean.bat = Websites\Sales\Clean.bat Websites\Sales\src\Directory.Build.props = Websites\Sales\src\Directory.Build.props - Websites\Sales\global.json = Websites\Sales\global.json Websites\Sales\README.md = Websites\Sales\README.md EndProjectSection EndProject @@ -304,7 +302,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Careers", "Careers", "{E70A Websites\Careers\.gitignore = Websites\Careers\.gitignore Websites\Careers\Clean.bat = Websites\Careers\Clean.bat Websites\Careers\src\Directory.Build.props = Websites\Careers\src\Directory.Build.props - Websites\Careers\global.json = Websites\Careers\global.json Websites\Careers\README.md = Websites\Careers\README.md EndProjectSection EndProject diff --git a/src/Bit.Build.props b/src/Bit.Build.props index 4c3e1bade2..c8a480bd74 100644 --- a/src/Bit.Build.props +++ b/src/Bit.Build.props @@ -25,7 +25,7 @@ https://github.com/bitfoundation/bitplatform https://avatars.githubusercontent.com/u/22663390 - 5.6.1 + 6.0.0 https://github.com/bitfoundation/bitplatform/releases/tag/v-$(ReleaseVersion) $(ReleaseVersion) diff --git a/src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csproj b/src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csproj index 359be49dec..2306cbb3ba 100644 --- a/src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csproj +++ b/src/BlazorUI/Bit.BlazorUI.Assets/Bit.BlazorUI.Assets.csproj @@ -3,10 +3,10 @@ - net7.0;net6.0 + net8.0;net7.0;net6.0 Bit.BlazorUI 0 - + BeforeBuildTasks; $(ResolveStaticWebAssetsInputsDependsOn) @@ -20,7 +20,7 @@ - + diff --git a/src/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csproj b/src/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csproj index a576495b3a..1e97bb48d2 100644 --- a/src/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csproj +++ b/src/BlazorUI/Bit.BlazorUI.Extras/Bit.BlazorUI.Extras.csproj @@ -3,12 +3,12 @@ - net7.0;net6.0 + net8.0;net7.0;net6.0 enable Bit.BlazorUI false 0 - + BeforeBuildTasks; $(ResolveStaticWebAssetsInputsDependsOn) @@ -22,6 +22,7 @@ + @@ -50,7 +51,7 @@ - + diff --git a/src/BlazorUI/Bit.BlazorUI.Extras/Components/Chart/Common/BitChartClipping.cs b/src/BlazorUI/Bit.BlazorUI.Extras/Components/Chart/Common/BitChartClipping.cs index 7649834d97..9db9aebb34 100644 --- a/src/BlazorUI/Bit.BlazorUI.Extras/Components/Chart/Common/BitChartClipping.cs +++ b/src/BlazorUI/Bit.BlazorUI.Extras/Components/Chart/Common/BitChartClipping.cs @@ -130,7 +130,7 @@ public override BitChartClipping ReadJson(JsonReader reader, Type objectType, [A if (!obj.TryGetValue(name, StringComparison.OrdinalIgnoreCase, out JToken token)) return null; - if (token.Type == JTokenType.Boolean && (bool)token == false) + if (token.Type == JTokenType.Boolean && (bool)token is false) return null; if (token.Type == JTokenType.Integer) diff --git a/src/BlazorUI/Bit.BlazorUI.Extras/Components/DataGrid/Columns/BitDataGridColumnBase.razor b/src/BlazorUI/Bit.BlazorUI.Extras/Components/DataGrid/Columns/BitDataGridColumnBase.razor index f083646881..83b733952b 100644 --- a/src/BlazorUI/Bit.BlazorUI.Extras/Components/DataGrid/Columns/BitDataGridColumnBase.razor +++ b/src/BlazorUI/Bit.BlazorUI.Extras/Components/DataGrid/Columns/BitDataGridColumnBase.razor @@ -107,12 +107,12 @@ { @if (ColumnOptions is not null && Align != BitDataGridAlign.Right) { - + } if (Sortable.HasValue ? Sortable.Value : IsSortableByDefault()) { - @@ -126,7 +126,7 @@ @if (ColumnOptions is not null && Align == BitDataGridAlign.Right) { - + } } } diff --git a/src/BlazorUI/Bit.BlazorUI.Extras/Components/DataGrid/Pagination/BitDataGridPaginator.razor b/src/BlazorUI/Bit.BlazorUI.Extras/Components/DataGrid/Pagination/BitDataGridPaginator.razor index 41d6a94ce2..2ece139ac7 100644 --- a/src/BlazorUI/Bit.BlazorUI.Extras/Components/DataGrid/Pagination/BitDataGridPaginator.razor +++ b/src/BlazorUI/Bit.BlazorUI.Extras/Components/DataGrid/Pagination/BitDataGridPaginator.razor @@ -14,14 +14,14 @@ } } diff --git a/src/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csproj b/src/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csproj index ce5124f943..828043670d 100644 --- a/src/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csproj +++ b/src/BlazorUI/Bit.BlazorUI.Icons/Bit.BlazorUI.Icons.csproj @@ -3,10 +3,10 @@ - net7.0;net6.0 + net8.0;net7.0;net6.0 Bit.BlazorUI 0 - + BeforeBuildTasks; $(ResolveStaticWebAssetsInputsDependsOn) @@ -20,7 +20,7 @@ - + diff --git a/src/BlazorUI/Bit.BlazorUI.Icons/BitIconName.cs b/src/BlazorUI/Bit.BlazorUI.Icons/BitIconName.cs index 496af997d6..e246a71f9f 100644 --- a/src/BlazorUI/Bit.BlazorUI.Icons/BitIconName.cs +++ b/src/BlazorUI/Bit.BlazorUI.Icons/BitIconName.cs @@ -146,6 +146,10 @@ public static class BitIconName public static string Balloons = nameof(Balloons); public static string Bank = nameof(Bank); public static string BankSolid = nameof(BankSolid); + public static string BarChart3 = nameof(BarChart3); + public static string BarChart3One = nameof(BarChart3One); + public static string BarChart3Two = nameof(BarChart3Two); + public static string BarChart3Zero = nameof(BarChart3Zero); public static string BarChart4 = nameof(BarChart4); public static string BarChartHorizontal = nameof(BarChartHorizontal); public static string BarChartVertical = nameof(BarChartVertical); @@ -157,6 +161,7 @@ public static class BitIconName public static string BeerMug = nameof(BeerMug); public static string BIDashboard = nameof(BIDashboard); public static string BidiLtr = nameof(BidiLtr); + public static string Bidirectional = nameof(Bidirectional); public static string BidiRtl = nameof(BidiRtl); public static string Bill = nameof(Bill); public static string BingLogo = nameof(BingLogo); @@ -183,7 +188,7 @@ public static class BitIconName public static string BoldKorean = nameof(BoldKorean); public static string BoldN = nameof(BoldN); public static string BoldP = nameof(BoldP); - public static string BoldRussian = nameof(BoldRussian); + public static string BoldRussion = nameof(BoldRussion); public static string BoldSerbian = nameof(BoldSerbian); public static string BoldT = nameof(BoldT); public static string BookAnswers = nameof(BookAnswers); @@ -215,6 +220,7 @@ public static class BitIconName public static string BranchShelveset = nameof(BranchShelveset); public static string Breadcrumb = nameof(Breadcrumb); public static string Breakfast = nameof(Breakfast); + public static string BreakpointsRemove = nameof(BreakpointsRemove); public static string Brightness = nameof(Brightness); public static string Broom = nameof(Broom); public static string BrowserScreenShot = nameof(BrowserScreenShot); @@ -321,6 +327,7 @@ public static class BitIconName public static string CaretTopRightSolid8 = nameof(CaretTopRightSolid8); public static string CaretUp8 = nameof(CaretUp8); public static string CaretUpSolid8 = nameof(CaretUpSolid8); + public static string CaseSetting = nameof(CaseSetting); public static string Cat = nameof(Cat); public static string CategoryClassification = nameof(CategoryClassification); public static string CC = nameof(CC); @@ -436,6 +443,7 @@ public static class BitIconName public static string ClearSelectionMirrored = nameof(ClearSelectionMirrored); public static string Clicked = nameof(Clicked); public static string ClinicalImpression = nameof(ClinicalImpression); + public static string Clipboard = nameof(Clipboard); public static string ClipboardList = nameof(ClipboardList); public static string ClipboardListAdd = nameof(ClipboardListAdd); public static string ClipboardListMirrored = nameof(ClipboardListMirrored); @@ -478,6 +486,7 @@ public static class BitIconName public static string ColumnFunction = nameof(ColumnFunction); public static string ColumnLeftTwoThirds = nameof(ColumnLeftTwoThirds); public static string ColumnLeftTwoThirdsEdit = nameof(ColumnLeftTwoThirdsEdit); + public static string ColumnList = nameof(ColumnList); public static string ColumnOptions = nameof(ColumnOptions); public static string ColumnQuestion = nameof(ColumnQuestion); public static string ColumnQuestionMirrored = nameof(ColumnQuestionMirrored); @@ -501,6 +510,8 @@ public static class BitIconName public static string CommunicationDetails = nameof(CommunicationDetails); public static string CommunicationDetailsMirrored = nameof(CommunicationDetailsMirrored); public static string Communications = nameof(Communications); + public static string CompactColumnList = nameof(CompactColumnList); + public static string CompactViewList = nameof(CompactViewList); public static string CompanyDirectory = nameof(CompanyDirectory); public static string CompanyDirectoryMirrored = nameof(CompanyDirectoryMirrored); public static string Compare = nameof(Compare); @@ -533,6 +544,7 @@ public static class BitIconName public static string Contrast = nameof(Contrast); public static string Copy = nameof(Copy); public static string CopyEdit = nameof(CopyEdit); + public static string CopyPath = nameof(CopyPath); public static string CortanaLogoBeckonInner = nameof(CortanaLogoBeckonInner); public static string CortanaLogoBeckonOuter = nameof(CortanaLogoBeckonOuter); public static string CortanaLogoInner = nameof(CortanaLogoInner); @@ -581,6 +593,7 @@ public static class BitIconName public static string D365TalentInsight = nameof(D365TalentInsight); public static string D365TalentLearn = nameof(D365TalentLearn); public static string DashboardAdd = nameof(DashboardAdd); + public static string DataAnalysis = nameof(DataAnalysis); public static string Database = nameof(Database); public static string DatabaseActivity = nameof(DatabaseActivity); public static string DatabaseBlock = nameof(DatabaseBlock); @@ -591,16 +604,20 @@ public static class BitIconName public static string DatabaseView = nameof(DatabaseView); public static string DataConnectionLibrary = nameof(DataConnectionLibrary); public static string DataEnrichment = nameof(DataEnrichment); + public static string DataFilter = nameof(DataFilter); public static string DataFlow = nameof(DataFlow); public static string Dataflows = nameof(Dataflows); public static string DataflowsLink = nameof(DataflowsLink); public static string DataManagementSettings = nameof(DataManagementSettings); + public static string DatamartExternal = nameof(DatamartExternal); public static string Dataverse = nameof(Dataverse); public static string DateTime = nameof(DateTime); public static string DateTime12 = nameof(DateTime12); public static string DateTime2 = nameof(DateTime2); public static string DateTimeMirrored = nameof(DateTimeMirrored); public static string DeactivateOrders = nameof(DeactivateOrders); + public static string Debug = nameof(Debug); + public static string DebugAll = nameof(DebugAll); public static string Decimals = nameof(Decimals); public static string DecisionSolid = nameof(DecisionSolid); public static string DeclineCall = nameof(DeclineCall); @@ -644,9 +661,12 @@ public static class BitIconName public static string Devices3 = nameof(Devices3); public static string Devices4 = nameof(Devices4); public static string Diagnostic = nameof(Diagnostic); + public static string DiagnosticDataBar = nameof(DiagnosticDataBar); public static string DiagnosticDataBarTooltip = nameof(DiagnosticDataBarTooltip); public static string DiagnosticDataViewerApp = nameof(DiagnosticDataViewerApp); public static string Dialpad = nameof(Dialpad); + public static string DialShape1 = nameof(DialShape1); + public static string DialShape3 = nameof(DialShape3); public static string Diamond = nameof(Diamond); public static string DiamondSolid = nameof(DiamondSolid); public static string DiamondUser = nameof(DiamondUser); @@ -660,6 +680,7 @@ public static class BitIconName public static string DisconnectVirtualMachine = nameof(DisconnectVirtualMachine); public static string Dislike = nameof(Dislike); public static string DislikeSolid = nameof(DislikeSolid); + public static string Distance = nameof(Distance); public static string DistributeDown = nameof(DistributeDown); public static string DockLeft = nameof(DockLeft); public static string DockLeftMirrored = nameof(DockLeftMirrored); @@ -695,6 +716,7 @@ public static class BitIconName public static string DoubleColumnEdit = nameof(DoubleColumnEdit); public static string DoubleDownArrow = nameof(DoubleDownArrow); public static string Down = nameof(Down); + public static string DownKey = nameof(DownKey); public static string Download = nameof(Download); public static string DownloadDocument = nameof(DownloadDocument); public static string DragObject = nameof(DragObject); @@ -1121,6 +1143,7 @@ public static class BitIconName public static string LearningTools = nameof(LearningTools); public static string Leave = nameof(Leave); public static string LeaveUser = nameof(LeaveUser); + public static string LeftKey = nameof(LeftKey); public static string Library = nameof(Library); public static string LibraryAddTo = nameof(LibraryAddTo); public static string Lifesaver = nameof(Lifesaver); @@ -1443,6 +1466,7 @@ public static class BitIconName public static string PeopleExternalShare = nameof(PeopleExternalShare); public static string PeoplePause = nameof(PeoplePause); public static string PeopleRepeat = nameof(PeopleRepeat); + public static string PeopleSettings = nameof(PeopleSettings); public static string Permissions = nameof(Permissions); public static string PermissionsSolid = nameof(PermissionsSolid); public static string Personalize = nameof(Personalize); @@ -1471,9 +1495,13 @@ public static class BitIconName public static string PieSingleSolid = nameof(PieSingleSolid); public static string Pill = nameof(Pill); public static string Pin = nameof(Pin); + public static string PinNavMenu = nameof(PinNavMenu); public static string Pinned = nameof(Pinned); public static string PinnedFill = nameof(PinnedFill); public static string PinnedSolid = nameof(PinnedSolid); + public static string PinOff = nameof(PinOff); + public static string PinOffSolid = nameof(PinOffSolid); + public static string PinSolid = nameof(PinSolid); public static string PinSolid12 = nameof(PinSolid12); public static string PinSolidOff12 = nameof(PinSolidOff12); public static string PinToTab = nameof(PinToTab); @@ -1642,6 +1670,7 @@ public static class BitIconName public static string RemoveContent = nameof(RemoveContent); public static string RemoveEvent = nameof(RemoveEvent); public static string RemoveFilter = nameof(RemoveFilter); + public static string RemoveFrom = nameof(RemoveFrom); public static string RemoveFromShoppingList = nameof(RemoveFromShoppingList); public static string RemoveFromTrash = nameof(RemoveFromTrash); public static string RemoveLink = nameof(RemoveLink); @@ -1701,6 +1730,7 @@ public static class BitIconName public static string Ribbon2 = nameof(Ribbon2); public static string RibbonSolid = nameof(RibbonSolid); public static string RightDoubleQuote = nameof(RightDoubleQuote); + public static string RightKey = nameof(RightKey); public static string RightTriangle = nameof(RightTriangle); public static string Ringer = nameof(Ringer); public static string RingerActive = nameof(RingerActive); @@ -1715,6 +1745,7 @@ public static class BitIconName public static string Rotate90CounterClockwise = nameof(Rotate90CounterClockwise); public static string RowsChild = nameof(RowsChild); public static string RowsGroup = nameof(RowsGroup); + public static string RssFeed = nameof(RssFeed); public static string Rugby = nameof(Rugby); public static string Running = nameof(Running); public static string Sad = nameof(Sad); @@ -1723,6 +1754,7 @@ public static class BitIconName public static string Save = nameof(Save); public static string SaveAll = nameof(SaveAll); public static string SaveAndClose = nameof(SaveAndClose); + public static string SaveAndPublish = nameof(SaveAndPublish); public static string SaveAs = nameof(SaveAs); public static string SavedOffline = nameof(SavedOffline); public static string SaveTemplate = nameof(SaveTemplate); @@ -1790,6 +1822,7 @@ public static class BitIconName public static string ShieldSolid = nameof(ShieldSolid); public static string Shirt = nameof(Shirt); public static string Shop = nameof(Shop); + public static string ShopBrand = nameof(ShopBrand); public static string ShoppingCart = nameof(ShoppingCart); public static string ShoppingCartSolid = nameof(ShoppingCartSolid); public static string ShopServer = nameof(ShopServer); @@ -1866,10 +1899,12 @@ public static class BitIconName public static string Squalls = nameof(Squalls); public static string SquareShape = nameof(SquareShape); public static string SquareShapeSolid = nameof(SquareShapeSolid); + public static string SslCertificate = nameof(SslCertificate); public static string Stack = nameof(Stack); public static string StackColumnChart = nameof(StackColumnChart); public static string StackedBarChart = nameof(StackedBarChart); public static string StackedBarChartFull = nameof(StackedBarChartFull); + public static string StackedBarChartFullSettings = nameof(StackedBarChartFullSettings); public static string StackedColumnChart2 = nameof(StackedColumnChart2); public static string StackedColumnChart2Fill = nameof(StackedColumnChart2Fill); public static string StackedLineChart = nameof(StackedLineChart); @@ -1899,7 +1934,11 @@ public static class BitIconName public static string StatusTriangleInner = nameof(StatusTriangleInner); public static string StatusTriangleOuter = nameof(StatusTriangleOuter); public static string Step = nameof(Step); + public static string StepBackward = nameof(StepBackward); public static string StepInsert = nameof(StepInsert); + public static string StepInto = nameof(StepInto); + public static string StepOut = nameof(StepOut); + public static string StepOver = nameof(StepOver); public static string StepShared = nameof(StepShared); public static string StepSharedAdd = nameof(StepSharedAdd); public static string StepSharedInsert = nameof(StepSharedInsert); @@ -1982,6 +2021,7 @@ public static class BitIconName public static string TagUnknown12 = nameof(TagUnknown12); public static string TagUnknown12Mirror = nameof(TagUnknown12Mirror); public static string TagUnknownMirror = nameof(TagUnknownMirror); + public static string Task = nameof(Task); public static string TaskAdd = nameof(TaskAdd); public static string Taskboard = nameof(Taskboard); public static string TaskGroup = nameof(TaskGroup); @@ -2042,6 +2082,7 @@ public static class BitIconName public static string Tiles = nameof(Tiles); public static string Tiles2 = nameof(Tiles2); public static string TimeEntry = nameof(TimeEntry); + public static string TimeEntryTemplate = nameof(TimeEntryTemplate); public static string Timeline = nameof(Timeline); public static string TimelineDelivery = nameof(TimelineDelivery); public static string TimelineMatrixView = nameof(TimelineMatrixView); @@ -2102,6 +2143,7 @@ public static class BitIconName public static string Trophy2 = nameof(Trophy2); public static string Trophy2Solid = nameof(Trophy2Solid); public static string TurnRight = nameof(TurnRight); + public static string TurnUserLeft = nameof(TurnUserLeft); public static string TVMonitor = nameof(TVMonitor); public static string TVMonitorSelected = nameof(TVMonitorSelected); public static string TypeScriptLanguage = nameof(TypeScriptLanguage); @@ -2142,6 +2184,7 @@ public static class BitIconName public static string Up = nameof(Up); public static string UpdateRestore = nameof(UpdateRestore); public static string UpgradeAnalysis = nameof(UpgradeAnalysis); + public static string UpKey = nameof(UpKey); public static string Upload = nameof(Upload); public static string UpperCase = nameof(UpperCase); public static string URLBlock = nameof(URLBlock); @@ -2200,6 +2243,7 @@ public static class BitIconName public static string VisualsStore = nameof(VisualsStore); public static string VisualStudioForWindows = nameof(VisualStudioForWindows); public static string VisualStudioForWindowsAlt = nameof(VisualStudioForWindowsAlt); + public static string VivaTopicApp = nameof(VivaTopicApp); public static string VoicemailForward = nameof(VoicemailForward); public static string VoicemailIRM = nameof(VoicemailIRM); public static string VoicemailReply = nameof(VoicemailReply); @@ -2272,4 +2316,5 @@ public static class BitIconName public static string ZoomIn = nameof(ZoomIn); public static string ZoomOut = nameof(ZoomOut); public static string ZoomToFit = nameof(ZoomToFit); + public static string ZoomToFitAlt = nameof(ZoomToFitAlt); } diff --git a/src/BlazorUI/Bit.BlazorUI.Icons/Styles/fabric.mdl2.icons.scss b/src/BlazorUI/Bit.BlazorUI.Icons/Styles/fabric.mdl2.icons.scss index 69fab05364..61063613fd 100644 --- a/src/BlazorUI/Bit.BlazorUI.Icons/Styles/fabric.mdl2.icons.scss +++ b/src/BlazorUI/Bit.BlazorUI.Icons/Styles/fabric.mdl2.icons.scss @@ -1,6 +1,6 @@ @font-face { font-family: 'Fabric MDL2'; - src: url('../fonts/FabMDL2.4.46.woff2') format("woff2"); + src: url('../fonts/FabMDL2.4.66.woff2') format("woff2"); font-weight: normal; font-style: normal; font-display: swap; @@ -13,23 +13,6 @@ font-weight: normal; } -.bit-icon--xs { - font-size: 10px; -} - -.bit-icon--s { - font-size: 12px; -} - -.bit-icon--m { - font-size: 16px; -} - -.bit-icon--l { - font-size: 20px; -} - -// Mixins .bit-icon--12PointStar:before { content: "\F505"; } .bit-icon--6PointStar:before { content: "\F504"; } .bit-icon--AADLogo:before { content: "\ED68"; } @@ -172,6 +155,10 @@ .bit-icon--Balloons:before { content: "\ED7E"; } .bit-icon--Bank:before { content: "\E825"; } .bit-icon--BankSolid:before { content: "\F34F"; } +.bit-icon--BarChart3:before { content: "\EAE6"; } +.bit-icon--BarChart3One:before { content: "\E68C"; } +.bit-icon--BarChart3Two:before { content: "\E68D"; } +.bit-icon--BarChart3Zero:before { content: "\E68B"; } .bit-icon--BarChart4:before { content: "\EAE7"; } .bit-icon--BarChartHorizontal:before { content: "\E9EB"; } .bit-icon--BarChartVertical:before { content: "\E9EC"; } @@ -183,6 +170,7 @@ .bit-icon--BeerMug:before { content: "\F49E"; } .bit-icon--BIDashboard:before { content: "\F543"; } .bit-icon--BidiLtr:before { content: "\E9AA"; } +.bit-icon--Bidirectional:before { content: "\E688"; } .bit-icon--BidiRtl:before { content: "\E9AB"; } .bit-icon--Bill:before { content: "\E5FA"; } .bit-icon--BingLogo:before { content: "\EB6B"; } @@ -209,7 +197,7 @@ .bit-icon--BoldKorean:before { content: "\E5BD"; } .bit-icon--BoldN:before { content: "\E5B7"; } .bit-icon--BoldP:before { content: "\E5C7"; } -.bit-icon--BoldRussian:before { content: "\E5B9"; } +.bit-icon--BoldRussion:before { content: "\E5B9"; } .bit-icon--BoldSerbian:before { content: "\E5CA"; } .bit-icon--BoldT:before { content: "\E5C8"; } .bit-icon--BookAnswers:before { content: "\F8A4"; } @@ -241,6 +229,7 @@ .bit-icon--BranchShelveset:before { content: "\F298"; } .bit-icon--Breadcrumb:before { content: "\EF8C"; } .bit-icon--Breakfast:before { content: "\F49C"; } +.bit-icon--BreakpointsRemove:before { content: "\E692"; } .bit-icon--Brightness:before { content: "\E706"; } .bit-icon--Broom:before { content: "\EA99"; } .bit-icon--BrowserScreenShot:before { content: "\EBED"; } @@ -347,6 +336,7 @@ .bit-icon--CaretTopRightSolid8:before { content: "\EF55"; } .bit-icon--CaretUp8:before { content: "\EDD7"; } .bit-icon--CaretUpSolid8:before { content: "\EDDB"; } +.bit-icon--CaseSetting:before { content: "\F675"; } .bit-icon--Cat:before { content: "\ED7F"; } .bit-icon--CategoryClassification:before { content: "\E48C"; } .bit-icon--CC:before { content: "\E7F0"; } @@ -462,6 +452,7 @@ .bit-icon--ClearSelectionMirrored:before { content: "\EA48"; } .bit-icon--Clicked:before { content: "\F268"; } .bit-icon--ClinicalImpression:before { content: "\E54B"; } +.bit-icon--Clipboard:before { content: "\ED22"; } .bit-icon--ClipboardList:before { content: "\F0E3"; } .bit-icon--ClipboardListAdd:before { content: "\E4EF"; } .bit-icon--ClipboardListMirrored:before { content: "\F0E4"; } @@ -504,6 +495,7 @@ .bit-icon--ColumnFunction:before { content: "\E4C2"; } .bit-icon--ColumnLeftTwoThirds:before { content: "\F1D6"; } .bit-icon--ColumnLeftTwoThirdsEdit:before { content: "\F324"; } +.bit-icon--ColumnList:before { content: "\F1EC"; } .bit-icon--ColumnOptions:before { content: "\F317"; } .bit-icon--ColumnQuestion:before { content: "\E4C0"; } .bit-icon--ColumnQuestionMirrored:before { content: "\E4C1"; } @@ -527,6 +519,8 @@ .bit-icon--CommunicationDetails:before { content: "\E4CF"; } .bit-icon--CommunicationDetailsMirrored:before { content: "\E4D0"; } .bit-icon--Communications:before { content: "\E95A"; } +.bit-icon--CompactColumnList:before { content: "\F1EE"; } +.bit-icon--CompactViewList:before { content: "\F1EA"; } .bit-icon--CompanyDirectory:before { content: "\EF0D"; } .bit-icon--CompanyDirectoryMirrored:before { content: "\EF2B"; } .bit-icon--Compare:before { content: "\F057"; } @@ -559,6 +553,7 @@ .bit-icon--Contrast:before { content: "\E7A1"; } .bit-icon--Copy:before { content: "\E8C8"; } .bit-icon--CopyEdit:before { content: "\E464"; } +.bit-icon--CopyPath:before { content: "\E62F"; } .bit-icon--CortanaLogoBeckonInner:before { content: "\F4C6"; } .bit-icon--CortanaLogoBeckonOuter:before { content: "\F4C7"; } .bit-icon--CortanaLogoInner:before { content: "\E832"; } @@ -607,6 +602,7 @@ .bit-icon--D365TalentInsight:before { content: "\F6BC"; } .bit-icon--D365TalentLearn:before { content: "\F6BB"; } .bit-icon--DashboardAdd:before { content: "\F52D"; } +.bit-icon--DataAnalysis:before { content: "\F731"; } .bit-icon--Database:before { content: "\EFC7"; } .bit-icon--DatabaseActivity:before { content: "\E670"; } .bit-icon--DatabaseBlock:before { content: "\E617"; } @@ -617,16 +613,20 @@ .bit-icon--DatabaseView:before { content: "\E437"; } .bit-icon--DataConnectionLibrary:before { content: "\EEB7"; } .bit-icon--DataEnrichment:before { content: "\E4F5"; } +.bit-icon--DataFilter:before { content: "\E68A"; } .bit-icon--DataFlow:before { content: "\E577"; } .bit-icon--Dataflows:before { content: "\F7DD"; } .bit-icon--DataflowsLink:before { content: "\E366"; } .bit-icon--DataManagementSettings:before { content: "\EFC8"; } +.bit-icon--DatamartExternal:before { content: "\E69B"; } .bit-icon--Dataverse:before { content: "\E659"; } .bit-icon--DateTime:before { content: "\EC92"; } .bit-icon--DateTime12:before { content: "\F38F"; } .bit-icon--DateTime2:before { content: "\EA17"; } .bit-icon--DateTimeMirrored:before { content: "\EE93"; } .bit-icon--DeactivateOrders:before { content: "\EFE1"; } +.bit-icon--Debug:before { content: "\F395"; } +.bit-icon--DebugAll:before { content: "\F398"; } .bit-icon--Decimals:before { content: "\F218"; } .bit-icon--DecisionSolid:before { content: "\F350"; } .bit-icon--DeclineCall:before { content: "\F405"; } @@ -670,9 +670,12 @@ .bit-icon--Devices3:before { content: "\EA6C"; } .bit-icon--Devices4:before { content: "\EB66"; } .bit-icon--Diagnostic:before { content: "\E9D9"; } +.bit-icon--DiagnosticDataBar:before { content: "\F633"; } .bit-icon--DiagnosticDataBarTooltip:before { content: "\F7DF"; } .bit-icon--DiagnosticDataViewerApp:before { content: "\F568"; } .bit-icon--Dialpad:before { content: "\E75F"; } +.bit-icon--DialShape1:before { content: "\F156"; } +.bit-icon--DialShape3:before { content: "\F158"; } .bit-icon--Diamond:before { content: "\ED02"; } .bit-icon--DiamondSolid:before { content: "\F34C"; } .bit-icon--DiamondUser:before { content: "\E4F9"; } @@ -686,6 +689,7 @@ .bit-icon--DisconnectVirtualMachine:before { content: "\F873"; } .bit-icon--Dislike:before { content: "\E8E0"; } .bit-icon--DislikeSolid:before { content: "\F3C0"; } +.bit-icon--Distance:before { content: "\ECAE"; } .bit-icon--DistributeDown:before { content: "\F76A"; } .bit-icon--DockLeft:before { content: "\E90C"; } .bit-icon--DockLeftMirrored:before { content: "\EA4C"; } @@ -721,6 +725,7 @@ .bit-icon--DoubleColumnEdit:before { content: "\F322"; } .bit-icon--DoubleDownArrow:before { content: "\F769"; } .bit-icon--Down:before { content: "\E74B"; } +.bit-icon--DownKey:before { content: "\F3E1"; } .bit-icon--Download:before { content: "\E896"; } .bit-icon--DownloadDocument:before { content: "\F549"; } .bit-icon--DragObject:before { content: "\F553"; } @@ -1147,6 +1152,7 @@ .bit-icon--LearningTools:before { content: "\F7DB"; } .bit-icon--Leave:before { content: "\F627"; } .bit-icon--LeaveUser:before { content: "\E3A8"; } +.bit-icon--LeftKey:before { content: "\F264"; } .bit-icon--Library:before { content: "\E8F1"; } .bit-icon--LibraryAddTo:before { content: "\E60D"; } .bit-icon--Lifesaver:before { content: "\EF62"; } @@ -1469,6 +1475,7 @@ .bit-icon--PeopleExternalShare:before { content: "\E5EF"; } .bit-icon--PeoplePause:before { content: "\ED94"; } .bit-icon--PeopleRepeat:before { content: "\ED92"; } +.bit-icon--PeopleSettings:before { content: "\F72C"; } .bit-icon--Permissions:before { content: "\E8D7"; } .bit-icon--PermissionsSolid:before { content: "\F349"; } .bit-icon--Personalize:before { content: "\E771"; } @@ -1497,9 +1504,13 @@ .bit-icon--PieSingleSolid:before { content: "\F530"; } .bit-icon--Pill:before { content: "\EACB"; } .bit-icon--Pin:before { content: "\E718"; } +.bit-icon--PinNavMenu:before { content: "\E682"; } .bit-icon--Pinned:before { content: "\E840"; } .bit-icon--PinnedFill:before { content: "\E842"; } .bit-icon--PinnedSolid:before { content: "\F676"; } +.bit-icon--PinOff:before { content: "\E683"; } +.bit-icon--PinOffSolid:before { content: "\E694"; } +.bit-icon--PinSolid:before { content: "\F1DB"; } .bit-icon--PinSolid12:before { content: "\E352"; } .bit-icon--PinSolidOff12:before { content: "\E353"; } .bit-icon--PinToTab:before { content: "\E5E5"; } @@ -1668,6 +1679,7 @@ .bit-icon--RemoveContent:before { content: "\ECC7"; } .bit-icon--RemoveEvent:before { content: "\ED8A"; } .bit-icon--RemoveFilter:before { content: "\EB08"; } +.bit-icon--RemoveFrom:before { content: "\ECC9"; } .bit-icon--RemoveFromShoppingList:before { content: "\F7D5"; } .bit-icon--RemoveFromTrash:before { content: "\F82B"; } .bit-icon--RemoveLink:before { content: "\ED90"; } @@ -1727,6 +1739,7 @@ .bit-icon--Ribbon2:before { content: "\F19B"; } .bit-icon--RibbonSolid:before { content: "\F345"; } .bit-icon--RightDoubleQuote:before { content: "\E9B1"; } +.bit-icon--RightKey:before { content: "\F265"; } .bit-icon--RightTriangle:before { content: "\F500"; } .bit-icon--Ringer:before { content: "\EA8F"; } .bit-icon--RingerActive:before { content: "\E498"; } @@ -1741,6 +1754,7 @@ .bit-icon--Rotate90CounterClockwise:before { content: "\F80E"; } .bit-icon--RowsChild:before { content: "\F29C"; } .bit-icon--RowsGroup:before { content: "\F29B"; } +.bit-icon--RssFeed:before { content: "\F80C"; } .bit-icon--Rugby:before { content: "\EB2D"; } .bit-icon--Running:before { content: "\EADA"; } .bit-icon--Sad:before { content: "\E757"; } @@ -1749,6 +1763,7 @@ .bit-icon--Save:before { content: "\E74E"; } .bit-icon--SaveAll:before { content: "\F203"; } .bit-icon--SaveAndClose:before { content: "\F038"; } +.bit-icon--SaveAndPublish:before { content: "\F671"; } .bit-icon--SaveAs:before { content: "\E792"; } .bit-icon--SavedOffline:before { content: "\E546"; } .bit-icon--SaveTemplate:before { content: "\F6EC"; } @@ -1816,6 +1831,7 @@ .bit-icon--ShieldSolid:before { content: "\F340"; } .bit-icon--Shirt:before { content: "\ED00"; } .bit-icon--Shop:before { content: "\E719"; } +.bit-icon--ShopBrand:before { content: "\F478"; } .bit-icon--ShoppingCart:before { content: "\E7BF"; } .bit-icon--ShoppingCartSolid:before { content: "\F342"; } .bit-icon--ShopServer:before { content: "\F2B6"; } @@ -1892,10 +1908,12 @@ .bit-icon--Squalls:before { content: "\E9CC"; } .bit-icon--SquareShape:before { content: "\F1A6"; } .bit-icon--SquareShapeSolid:before { content: "\F63D"; } +.bit-icon--SslCertificate:before { content: "\F4CB"; } .bit-icon--Stack:before { content: "\F26F"; } .bit-icon--StackColumnChart:before { content: "\E9FC"; } .bit-icon--StackedBarChart:before { content: "\F24D"; } .bit-icon--StackedBarChartFull:before { content: "\F668"; } +.bit-icon--StackedBarChartFullSettings:before { content: "\F1E6"; } .bit-icon--StackedColumnChart2:before { content: "\F666"; } .bit-icon--StackedColumnChart2Fill:before { content: "\F831"; } .bit-icon--StackedLineChart:before { content: "\F24E"; } @@ -1925,7 +1943,11 @@ .bit-icon--StatusTriangleInner:before { content: "\F13A"; } .bit-icon--StatusTriangleOuter:before { content: "\F139"; } .bit-icon--Step:before { content: "\F241"; } +.bit-icon--StepBackward:before { content: "\E68E"; } .bit-icon--StepInsert:before { content: "\F242"; } +.bit-icon--StepInto:before { content: "\E690"; } +.bit-icon--StepOut:before { content: "\E691"; } +.bit-icon--StepOver:before { content: "\E68F"; } .bit-icon--StepShared:before { content: "\F243"; } .bit-icon--StepSharedAdd:before { content: "\F244"; } .bit-icon--StepSharedInsert:before { content: "\F245"; } @@ -2008,6 +2030,7 @@ .bit-icon--TagUnknown12:before { content: "\F6E1"; } .bit-icon--TagUnknown12Mirror:before { content: "\F6E2"; } .bit-icon--TagUnknownMirror:before { content: "\F6E0"; } +.bit-icon--Task:before { content: "\F7EC"; } .bit-icon--TaskAdd:before { content: "\E4FD"; } .bit-icon--Taskboard:before { content: "\F1C2"; } .bit-icon--TaskGroup:before { content: "\F2AE"; } @@ -2068,6 +2091,7 @@ .bit-icon--Tiles:before { content: "\ECA5"; } .bit-icon--Tiles2:before { content: "\EF7C"; } .bit-icon--TimeEntry:before { content: "\EF95"; } +.bit-icon--TimeEntryTemplate:before { content: "\F635"; } .bit-icon--Timeline:before { content: "\ED9C"; } .bit-icon--TimelineDelivery:before { content: "\F2AB"; } .bit-icon--TimelineMatrixView:before { content: "\F361"; } @@ -2128,6 +2152,7 @@ .bit-icon--Trophy2:before { content: "\F1AE"; } .bit-icon--Trophy2Solid:before { content: "\F337"; } .bit-icon--TurnRight:before { content: "\E7DB"; } +.bit-icon--TurnUserLeft:before { content: "\F269"; } .bit-icon--TVMonitor:before { content: "\E7F4"; } .bit-icon--TVMonitorSelected:before { content: "\EC77"; } .bit-icon--TypeScriptLanguage:before { content: "\F2F7"; } @@ -2168,6 +2193,7 @@ .bit-icon--Up:before { content: "\E74A"; } .bit-icon--UpdateRestore:before { content: "\E777"; } .bit-icon--UpgradeAnalysis:before { content: "\EA0B"; } +.bit-icon--UpKey:before { content: "\F3E0"; } .bit-icon--Upload:before { content: "\E898"; } .bit-icon--UpperCase:before { content: "\E5ED"; } .bit-icon--URLBlock:before { content: "\E3FE"; } @@ -2226,6 +2252,7 @@ .bit-icon--VisualsStore:before { content: "\F521"; } .bit-icon--VisualStudioForWindows:before { content: "\F5D0"; } .bit-icon--VisualStudioForWindowsAlt:before { content: "\EC22"; } +.bit-icon--VivaTopicApp:before { content: "\E687"; } .bit-icon--VoicemailForward:before { content: "\ED87"; } .bit-icon--VoicemailIRM:before { content: "\F421"; } .bit-icon--VoicemailReply:before { content: "\ED88"; } @@ -2297,4 +2324,5 @@ .bit-icon--Zoom:before { content: "\E71E"; } .bit-icon--ZoomIn:before { content: "\E8A3"; } .bit-icon--ZoomOut:before { content: "\E71F"; } -.bit-icon--ZoomToFit:before { content: "\F649"; } \ No newline at end of file +.bit-icon--ZoomToFit:before { content: "\F649"; } +.bit-icon--ZoomToFitAlt:before { content: "\E693"; } \ No newline at end of file diff --git a/src/BlazorUI/Bit.BlazorUI.Icons/wwwroot/fonts/FabMDL2.4.46.woff2 b/src/BlazorUI/Bit.BlazorUI.Icons/wwwroot/fonts/FabMDL2.4.46.woff2 deleted file mode 100644 index 3229526691..0000000000 Binary files a/src/BlazorUI/Bit.BlazorUI.Icons/wwwroot/fonts/FabMDL2.4.46.woff2 and /dev/null differ diff --git a/src/BlazorUI/Bit.BlazorUI.Icons/wwwroot/fonts/FabMDL2.4.66.woff2 b/src/BlazorUI/Bit.BlazorUI.Icons/wwwroot/fonts/FabMDL2.4.66.woff2 new file mode 100644 index 0000000000..236a7fc07b Binary files /dev/null and b/src/BlazorUI/Bit.BlazorUI.Icons/wwwroot/fonts/FabMDL2.4.66.woff2 differ diff --git a/src/BlazorUI/Bit.BlazorUI.SourceGenerators/AutoInject/AutoInjectSyntaxReceiver.cs b/src/BlazorUI/Bit.BlazorUI.SourceGenerators/AutoInject/AutoInjectSyntaxReceiver.cs index b53878dbc0..b69e5017a6 100644 --- a/src/BlazorUI/Bit.BlazorUI.SourceGenerators/AutoInject/AutoInjectSyntaxReceiver.cs +++ b/src/BlazorUI/Bit.BlazorUI.SourceGenerators/AutoInject/AutoInjectSyntaxReceiver.cs @@ -1,5 +1,4 @@ -using System; -using System.Collections.ObjectModel; +using System.Collections.ObjectModel; using System.Linq; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; diff --git a/src/BlazorUI/Bit.BlazorUI.Tests/Bit.BlazorUI.Tests.csproj b/src/BlazorUI/Bit.BlazorUI.Tests/Bit.BlazorUI.Tests.csproj index d8c8e891e5..5569a7bb90 100644 --- a/src/BlazorUI/Bit.BlazorUI.Tests/Bit.BlazorUI.Tests.csproj +++ b/src/BlazorUI/Bit.BlazorUI.Tests/Bit.BlazorUI.Tests.csproj @@ -1,7 +1,7 @@  - net7.0;net6.0 + net8.0;net7.0;net6.0 false 11.0 diff --git a/src/BlazorUI/Bit.BlazorUI.Tests/DateRangePicker/BitDateRangePickerTests.cs b/src/BlazorUI/Bit.BlazorUI.Tests/DateRangePicker/BitDateRangePickerTests.cs index 4de9b33e19..8e36024ca0 100644 --- a/src/BlazorUI/Bit.BlazorUI.Tests/DateRangePicker/BitDateRangePickerTests.cs +++ b/src/BlazorUI/Bit.BlazorUI.Tests/DateRangePicker/BitDateRangePickerTests.cs @@ -141,7 +141,7 @@ public void BitDateRangePickerCalendarWithCustomCultureInfo() parameters.Add(p => p.Culture, CultureInfoHelper.GetFaIrCultureByFingilishNames()); }); - var monthButtons = component.FindAll(".bit-dtrp-mwp .bit-dtrp-gctn .bit-dtrp-btn-row button"); + var monthButtons = component.FindAll("button.bit-dtrp-rbtn"); Assert.IsTrue(monthButtons.Count > 0); Assert.AreEqual(12, monthButtons.Count); diff --git a/src/BlazorUI/Bit.BlazorUI.Tests/Overlay/BitOverlayTests.cs b/src/BlazorUI/Bit.BlazorUI.Tests/Overlay/BitOverlayTests.cs index 268fbcbfda..eaa0410472 100644 --- a/src/BlazorUI/Bit.BlazorUI.Tests/Overlay/BitOverlayTests.cs +++ b/src/BlazorUI/Bit.BlazorUI.Tests/Overlay/BitOverlayTests.cs @@ -1,4 +1,3 @@ -using System; using Bunit; using Microsoft.VisualStudio.TestTools.UnitTesting; namespace Bit.BlazorUI.Tests.Overlay; diff --git a/src/BlazorUI/Bit.BlazorUI.Tests/Panel/BitPanelTests.cs b/src/BlazorUI/Bit.BlazorUI.Tests/Panel/BitPanelTests.cs index ebd5bcec04..3abc865983 100644 --- a/src/BlazorUI/Bit.BlazorUI.Tests/Panel/BitPanelTests.cs +++ b/src/BlazorUI/Bit.BlazorUI.Tests/Panel/BitPanelTests.cs @@ -1,5 +1,4 @@ using Bunit; -using Microsoft.AspNetCore.Components.Web; using Microsoft.VisualStudio.TestTools.UnitTesting; namespace Bit.BlazorUI.Tests.Panel; diff --git a/src/BlazorUI/Bit.BlazorUI.Tests/SpinButtons/BitSpinButtonTests.cs b/src/BlazorUI/Bit.BlazorUI.Tests/SpinButtons/BitSpinButtonTests.cs index b639ba8fb0..31420e2985 100644 --- a/src/BlazorUI/Bit.BlazorUI.Tests/SpinButtons/BitSpinButtonTests.cs +++ b/src/BlazorUI/Bit.BlazorUI.Tests/SpinButtons/BitSpinButtonTests.cs @@ -78,8 +78,8 @@ public void BitSpinButtonShouldRenderCorrectIncrementButton(string iconName, str { var component = RenderComponent(parameters => { - parameters.Add(p => p.IncrementButtonIconName, iconName); - parameters.Add(p => p.IncrementButtonAriaLabel, iconAriaLabel); + parameters.Add(p => p.IncrementIconName, iconName); + parameters.Add(p => p.IncrementAriaLabel, iconAriaLabel); parameters.Add(p => p.IsEnabled, isEnabled); }); @@ -107,8 +107,8 @@ public void BitSpinButtonShouldRenderCorrectDecrementButton(string iconName, str { var component = RenderComponent(parameters => { - parameters.Add(p => p.DecrementButtonIconName, iconName); - parameters.Add(p => p.DecrementButtonAriaLabel, iconAriaLabel); + parameters.Add(p => p.DecrementIconName, iconName); + parameters.Add(p => p.DecrementAriaLabel, iconAriaLabel); parameters.Add(p => p.IsEnabled, isEnabled); }); @@ -188,7 +188,7 @@ public void BitSpinButtonWrapperShouldHaveCorrectAttributes(string title, string parameters.Add(p => p.AriaPositionInSet, ariaPositionInSet); }); - var spbWrapper = component.Find(".bit-spb-wrp"); + var spbWrapper = component.Find(".bit-spb-cnt"); if (string.IsNullOrEmpty(title) is false) { diff --git a/src/BlazorUI/Bit.BlazorUI.Tests/SpinButtons/BitSpinButtonValidationTest.razor b/src/BlazorUI/Bit.BlazorUI.Tests/SpinButtons/BitSpinButtonValidationTest.razor index 21297f310a..0649a40d3b 100644 --- a/src/BlazorUI/Bit.BlazorUI.Tests/SpinButtons/BitSpinButtonValidationTest.razor +++ b/src/BlazorUI/Bit.BlazorUI.Tests/SpinButtons/BitSpinButtonValidationTest.razor @@ -16,10 +16,10 @@ LabelPosition="@LabelPosition" IconName="@IconName" IconAriaLabel="@IconAriaLabel" - DecrementButtonIconName="@DecrementButtonIconName" - IncrementButtonIconName="@IncrementButtonIconName" - DecrementButtonAriaLabel="@DecrementButtonAriaLabel" - IncrementButtonAriaLabel="@IncrementButtonAriaLabel" + DecrementIconName="@DecrementButtonIconName" + IncrementIconName="@IncrementButtonIconName" + DecrementAriaLabel="@DecrementButtonAriaLabel" + IncrementAriaLabel="@IncrementButtonAriaLabel" Label="@Label" InputHtmlAttributes="@InputHtmlAttributes" Title="@Title" diff --git a/src/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csproj b/src/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csproj index 56837a24ad..4e850e5a18 100644 --- a/src/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csproj +++ b/src/BlazorUI/Bit.BlazorUI/Bit.BlazorUI.csproj @@ -3,10 +3,10 @@ - net7.0;net6.0 + net8.0;net7.0;net6.0 true enable - + BeforeBuildTasks; $(ResolveStaticWebAssetsInputsDependsOn) @@ -19,6 +19,7 @@ + @@ -47,7 +48,7 @@ - + diff --git a/src/BlazorUI/Bit.BlazorUI/Components/Accordion/BitAccordion.razor b/src/BlazorUI/Bit.BlazorUI/Components/Accordion/BitAccordion.razor index 9a7342391e..4d75dd0302 100644 --- a/src/BlazorUI/Bit.BlazorUI/Components/Accordion/BitAccordion.razor +++ b/src/BlazorUI/Bit.BlazorUI/Components/Accordion/BitAccordion.razor @@ -2,7 +2,7 @@ @inherits BitComponentBase
@@ -11,6 +11,7 @@ role="button" class="bit-acd-hdr" aria-expanded="@IsExpanded" + type="button" tabindex="@(IsEnabled ? 0 : -1)"> @if (HeaderTemplate is not null) { diff --git a/src/BlazorUI/Bit.BlazorUI/Components/BitComponentBase.cs b/src/BlazorUI/Bit.BlazorUI/Components/BitComponentBase.cs index 33a934ecb6..66920467b7 100644 --- a/src/BlazorUI/Bit.BlazorUI/Components/BitComponentBase.cs +++ b/src/BlazorUI/Bit.BlazorUI/Components/BitComponentBase.cs @@ -7,10 +7,15 @@ public abstract partial class BitComponentBase : ComponentBase private bool isEnabled = true; private BitVisibility visibility; - protected bool Rendered { get; private set; } private Guid _uniqueId = Guid.NewGuid(); + + protected bool Rendered { get; private set; } + + protected string _Id => Id ?? _uniqueId.ToString(); + + /// /// The readonly unique id of the root element. it will be assigned to a new Guid at component instance construction. /// @@ -23,7 +28,7 @@ public abstract partial class BitComponentBase : ComponentBase /// - /// The aria-label of the control for the benefit of screen readers + /// The aria-label of the control for the benefit of screen readers. /// [Parameter] public string? AriaLabel { get; set; } @@ -44,10 +49,15 @@ public string? Class } /// - /// Capture and render additional attributes in addition to the component's parameters + /// Capture and render additional attributes in addition to the component's parameters. /// [Parameter] public Dictionary HtmlAttributes { get; set; } = new Dictionary(); + /// + /// Custom id attribute for the root element. if null the UniqueId will be used instead. + /// + [Parameter] public string? Id { get; set; } + /// /// Whether or not the component is enabled. /// @@ -106,8 +116,8 @@ public override Task SetParametersAsync(ParameterView parameters) { switch (parameter.Key) { - case nameof(Style): - Style = (string?)parameter.Value; + case nameof(AriaLabel): + AriaLabel = (string?)parameter.Value; parametersDictionary.Remove(parameter.Key); break; @@ -116,18 +126,23 @@ public override Task SetParametersAsync(ParameterView parameters) parametersDictionary.Remove(parameter.Key); break; + case nameof(Id): + Id = (string?)parameter.Value; + parametersDictionary.Remove(parameter.Key); + break; + case nameof(IsEnabled): IsEnabled = (bool)parameter.Value; parametersDictionary.Remove(parameter.Key); break; - case nameof(Visibility): - Visibility = (BitVisibility)parameter.Value; + case nameof(Style): + Style = (string?)parameter.Value; parametersDictionary.Remove(parameter.Key); break; - case nameof(AriaLabel): - AriaLabel = (string?)parameter.Value; + case nameof(Visibility): + Visibility = (BitVisibility)parameter.Value; parametersDictionary.Remove(parameter.Key); break; diff --git a/src/BlazorUI/Bit.BlazorUI/Components/Breadcrumb/BitBreadcrumb.razor b/src/BlazorUI/Bit.BlazorUI/Components/Breadcrumb/BitBreadcrumb.razor index c058b5b498..1a234cf0d9 100644 --- a/src/BlazorUI/Bit.BlazorUI/Components/Breadcrumb/BitBreadcrumb.razor +++ b/src/BlazorUI/Bit.BlazorUI/Components/Breadcrumb/BitBreadcrumb.razor @@ -10,7 +10,7 @@ }
@@ -44,7 +44,8 @@ } else { - } \ No newline at end of file diff --git a/src/BlazorUI/Bit.BlazorUI/Components/Buttons/BitActionButton/BitActionButton.razor.cs b/src/BlazorUI/Bit.BlazorUI/Components/Buttons/BitActionButton/BitActionButton.razor.cs index 5f79e717d0..477591bae4 100644 --- a/src/BlazorUI/Bit.BlazorUI/Components/Buttons/BitActionButton/BitActionButton.razor.cs +++ b/src/BlazorUI/Bit.BlazorUI/Components/Buttons/BitActionButton/BitActionButton.razor.cs @@ -40,9 +40,9 @@ public partial class BitActionButton [Parameter] public RenderFragment? ChildContent { get; set; } /// - /// Custom CSS classes/styles for different parts of the BitActionButton. + /// Custom CSS classes for different parts of the BitActionButton. /// - [Parameter] public BitActionButtonClassStyles? ClassStyles { get; set; } + [Parameter] public BitActionButtonClassStyles? Classes { get; set; } /// /// URL the link points to, if provided, button renders as an anchor @@ -59,6 +59,11 @@ public partial class BitActionButton /// [Parameter] public EventCallback OnClick { get; set; } + /// + /// Custom CSS styles for different parts of the BitActionButton. + /// + [Parameter] public BitActionButtonClassStyles? Styles { get; set; } + /// /// If Href provided, specifies how to open the link /// @@ -72,6 +77,16 @@ public partial class BitActionButton protected override string RootElementClass => "bit-acb"; + protected override void RegisterCssClasses() + { + ClassBuilder.Register(() => Classes?.Root); + } + + protected override void RegisterCssStyles() + { + StyleBuilder.Register(() => Styles?.Root); + } + protected override void OnParametersSet() { if (IsEnabled is false) diff --git a/src/BlazorUI/Bit.BlazorUI/Components/Buttons/BitActionButton/BitActionButtonClassStyles.cs b/src/BlazorUI/Bit.BlazorUI/Components/Buttons/BitActionButton/BitActionButtonClassStyles.cs index 0cd4d4cf62..ca05a372b1 100644 --- a/src/BlazorUI/Bit.BlazorUI/Components/Buttons/BitActionButton/BitActionButtonClassStyles.cs +++ b/src/BlazorUI/Bit.BlazorUI/Components/Buttons/BitActionButton/BitActionButtonClassStyles.cs @@ -3,17 +3,22 @@ public class BitActionButtonClassStyles { /// - /// Custom CSS classes/styles for the internal container of the BitActionButton. + /// Custom CSS classes/styles for the root element of the BitActionButton. /// - public BitClassStylePair? Container { get; set; } + public string? Root { get; set; } + + /// + /// Custom CSS classes/styles for the main container of the BitActionButton. + /// + public string? Container { get; set; } /// /// Custom CSS classes/styles for the Icon of the BitActionButton. /// - public BitClassStylePair? Icon { get; set; } + public string? Icon { get; set; } /// /// Custom CSS classes/styles for the content of the BitActionButton. /// - public BitClassStylePair? Content { get; set; } + public string? Content { get; set; } } diff --git a/src/BlazorUI/Bit.BlazorUI/Components/Buttons/BitButton/BitButton.razor b/src/BlazorUI/Bit.BlazorUI/Components/Buttons/BitButton/BitButton.razor index 64e18ebcf3..dc7b33a077 100644 --- a/src/BlazorUI/Bit.BlazorUI/Components/Buttons/BitButton/BitButton.razor +++ b/src/BlazorUI/Bit.BlazorUI/Components/Buttons/BitButton/BitButton.razor @@ -4,7 +4,7 @@ @if (Href.HasValue() && IsEnabled) { } @@ -36,28 +36,28 @@ }