diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
index 367304f0db..44f785bf06 100644
--- a/.github/CONTRIBUTING.md
+++ b/.github/CONTRIBUTING.md
@@ -20,10 +20,6 @@ The API is king. If adding anything to the public interface of this library (con
This whole project is a personal hobby, and this is even more true of the UWP section. I'm not accepting any PRs to UWP as I will be coding on this in my spare time, and using it as a way to learn and explore UWP for my own enlightenment. If and when the UWP solution becomes more mature I will relax this stance.
-## TabControl:
-
-There is no TabControl style, I won't create one, and I won't accept one. I have Dragablz and don't want the added burden of supporting two styles; even if it is fully complete. I don't want the duplication and the overhead.
-
## Submitting a PR:
Probably the smaller the better (within sensible bounds for the nature of your change); at least keep a single feature to a single branch/PR.
diff --git a/.github/actions/build-and-test/action.yml b/.github/actions/build-and-test/action.yml
new file mode 100644
index 0000000000..92a3e6ad65
--- /dev/null
+++ b/.github/actions/build-and-test/action.yml
@@ -0,0 +1,43 @@
+name: 'Compile and Test'
+description: 'Build the solution and runs the tests'
+inputs:
+ solution:
+ description: 'The relative path to the solution file'
+ required: true
+ buildConfiguration:
+ description: 'The configuration to use when building'
+ required: true
+ nugetKey:
+ description: The API key to setup with the NUGET_AUTH_TOKEN.
+ required: false
+runs:
+ using: "composite"
+ steps:
+ - name: Setup .NET
+ uses: actions/setup-dotnet@v1
+ with:
+ dotnet-version: |
+ 3.1.x
+ 5.x
+ 6.x
+ env:
+ NUGET_AUTH_TOKEN: ${{ inputs.nugetToken }}
+
+ - name: Restore dependencies
+ shell: pwsh
+ run: dotnet restore ${{ inputs.solution }}
+
+ - name: Build
+ shell: pwsh
+ run: dotnet build ${{ inputs.solution }} --configuration ${{ inputs.buildConfiguration }} --no-restore -p:Platform="Any CPU" -p:TreatWarningsAsErrors=True
+
+ - name: Test
+ shell: pwsh
+ run: dotnet test ${{ inputs.solution }} --configuration ${{ inputs.buildConfiguration }} --no-build --verbosity normal --blame-crash
+
+ - name: Upload Screenshots
+ if: ${{ always() }}
+ uses: actions/upload-artifact@v2
+ with:
+ name: Screenshots-${{ github.run_number }}
+ path: ${{ github.workspace }}/MaterialDesignThemes.UITests/bin/${{ inputs.buildConfiguration }}/net5.0-windows/Screenshots
diff --git a/.github/actions/push-artifacts/action.yml b/.github/actions/push-artifacts/action.yml
new file mode 100644
index 0000000000..a58a771abe
--- /dev/null
+++ b/.github/actions/push-artifacts/action.yml
@@ -0,0 +1,40 @@
+name: 'Compile and Test'
+description: 'Build the solution and runs the tests'
+inputs:
+ mdixVersion:
+ description: 'The version number for the Matrial Design in XAML library'
+ required: true
+ mdixColorsVersion:
+ description: 'The version number for the Matrial Design Colors library'
+ required: true
+ mdixMahAppsVersion:
+ description: 'The version number for the Matrial Design MahApps library'
+ required: true
+ demoAppPath:
+ description: 'The relative path to the compiled version of the demo app'
+ required: true
+ nugetKey:
+ description: 'The NuGet API key'
+ required: true
+runs:
+ using: "composite"
+ steps:
+ - name: Build NuGets
+ shell: pwsh
+ run: .\Scripts\BuildNugets.ps1 -MDIXVersion ${{ inputs.mdixVersion }} -MDIXMahAppsVersion ${{ inputs.mdixMahAppsVersion }} -MDIXColorsVersion ${{ inputs.mdixColorsVersion }}
+
+ - name: Upload NuGets
+ uses: actions/upload-artifact@v2
+ with:
+ name: NuGets-${{ github.run_number }}
+ path: "*.nupkg"
+
+ - name: Upload Demo App
+ uses: actions/upload-artifact@v2
+ with:
+ name: DemoApp-${{ github.run_number }}
+ path: "${{ inputs.demoAppPath }}"
+
+ - name: Publish to NuGet.org
+ shell: pwsh
+ run: dotnet nuget push ${{ github.workspace }}\*.nupkg --source https://api.nuget.org/v3/index.json -k ${{ inputs.nugetKey }} --skip-duplicate
diff --git a/.github/release.yml b/.github/release.yml
new file mode 100644
index 0000000000..5fcad17917
--- /dev/null
+++ b/.github/release.yml
@@ -0,0 +1,18 @@
+# .github/release.yml
+
+changelog:
+ exclude:
+ labels:
+ - ignore-for-release
+ authors:
+ - MDIX-SA
+ - github-actions[bot]
+ categories:
+ - title: Key Changes
+ labels:
+ - release notes
+ - title: Breaking Changes
+ labels:
+ - breaking change
+ - visual breaking change
+
diff --git a/.github/workflows/icon_update.yml b/.github/workflows/icon_update.yml
index 3e865bf024..97135c0ea9 100644
--- a/.github/workflows/icon_update.yml
+++ b/.github/workflows/icon_update.yml
@@ -13,13 +13,16 @@ jobs:
steps:
- uses: actions/checkout@v2
+
- name: Setup .NET
uses: actions/setup-dotnet@v1
with:
- dotnet-version: 3.1.x
+ dotnet-version: 6.x
+
- name: Run Icon Generation
run: dotnet run -c Release -- icons
working-directory: ./mdresgen
+
- name: Create Pull Request
uses: peter-evans/create-pull-request@v3
with:
@@ -35,5 +38,3 @@ jobs:
body: >
[Icon update detected by Github Action].
Auto generated pull request.
-
-
diff --git a/.github/workflows/nightly_release.yml b/.github/workflows/nightly_release.yml
deleted file mode 100644
index f32f4a8961..0000000000
--- a/.github/workflows/nightly_release.yml
+++ /dev/null
@@ -1,98 +0,0 @@
-name: Nightly Release
-
-on:
- workflow_dispatch:
- schedule:
- - cron: '0 9 * * *'
-
-env:
- solution: MaterialDesignToolkit.Full.sln
- buildPlatform: 'Any CPU'
- buildConfiguration: 'Release'
- mdixColorsVersion: '2.0.4'
- mdixMahAppsVersion: '0.2.0'
- mdixVersion: '4.3.0'
-
-jobs:
- check_for_changes:
- if: ${{ github.repository == 'MaterialDesignInXAML/MaterialDesignInXamlToolkit' }}
- runs-on: windows-latest
-
- outputs:
- has_changed: ${{ steps.check_tag.outputs.has_changed }}
-
- steps:
- - uses: actions/checkout@v2
- with:
- fetch-depth: 0
-
- - id: check_tag
- name: Check nightly_release tag
- run: |
- $nightlyReleaseHash = $(git rev-parse nightly_release)
- $masterHash = $(git rev-parse master)
- $hasChanged = ($nightlyReleaseHash -ne $masterHash).ToString().ToLower()
- echo "::set-output name=has_changed::$hasChanged"
-
- build:
- needs: [check_for_changes]
- if: ${{ needs.check_for_changes.outputs.has_changed == 'true' }}
- runs-on: windows-latest
-
- steps:
- - uses: actions/checkout@v2
-
- - name: Setup .NET Core 3.1
- uses: actions/setup-dotnet@v1
- with:
- dotnet-version: "3.1.x"
- env:
- NUGET_AUTH_TOKEN: ${{secrets.PAT}}
-
- - name: Setup .NET 5
- uses: actions/setup-dotnet@v1
- with:
- dotnet-version: "5.x"
- env:
- NUGET_AUTH_TOKEN: ${{secrets.PAT}}
-
- - name: Restore dependencies
- run: dotnet restore ${{ env.solution }}
-
- - name: Build
- run: dotnet build ${{ env.solution }} --configuration ${{ env.buildConfiguration }} --no-restore -p:Platform="${{ env.buildPlatform }}" -p:MDIXVersion=${{ env.mdixVersion }}.${{ github.run_number }} -p:MDIXColorsVersion=${{ env.mdixColorsVersion }}.${{ github.run_number }} -p:MDIXMahAppsVersion=${{ env.mdixMahappsVersion }}.${{ github.run_number }} -p:TreatWarningsAsErrors=True
-
- - name: Test
- run: dotnet test ${{ env.solution }} --configuration ${{ env.buildConfiguration }} --no-build --verbosity detailed --blame-crash
-
- - name: Upload Screenshots
- if: ${{ always() }}
- uses: actions/upload-artifact@v2
- with:
- name: Screenshots-${{ github.run_number }}
- path: ${{ github.workspace }}/MaterialDesignThemes.UITests/bin/${{ env.buildConfiguration }}/net5.0-windows/Screenshots
-
- - name: Build NuGets
- run: .\Scripts\BuildNugets.ps1 -MDIXVersion ${{ env.mdixVersion }}-ci${{ github.run_number }} -MDIXMahAppsVersion ${{ env.mdixMahappsVersion }}-ci${{ github.run_number }} -MDIXColorsVersion ${{ env.mdixColorsVersion }}-ci${{ github.run_number }}
-
- - name: Upload NuGets
- uses: actions/upload-artifact@v2
- with:
- name: NuGets-${{ github.run_number }}
- path: "*.nupkg"
-
- - name: Upload Demo App
- uses: actions/upload-artifact@v2
- with:
- name: DemoApp-${{ github.run_number }}
- path: "MainDemo.Wpf/bin/${{ env.buildConfiguration }}"
-
- - name: Publish to NuGet.org
- run: dotnet nuget push ${{ github.workspace }}\*.nupkg --source https://api.nuget.org/v3/index.json -k ${{ secrets.PAT }} --skip-duplicate
-
- - name: Update latest tag
- run: |
- git config user.name github-actions
- git config user.email github-actions@github.com
- git tag -f nightly_release master
- git push -f --tags
\ No newline at end of file
diff --git a/.github/workflows/pr_verification.yml b/.github/workflows/pr_verification.yml
index 1158cc2441..c96e013221 100644
--- a/.github/workflows/pr_verification.yml
+++ b/.github/workflows/pr_verification.yml
@@ -8,7 +8,6 @@ on:
env:
solution: MaterialDesignToolkit.Full.sln
- buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
jobs:
@@ -19,32 +18,10 @@ jobs:
steps:
- uses: actions/checkout@v2
- - name: Setup .NET Core 3.1
- uses: actions/setup-dotnet@v1
+ - name: Build and Test
+ uses: ./.github/actions/build-and-test
+ timeout-minutes: 20
with:
- dotnet-version: "3.1.x"
- env:
- NUGET_AUTH_TOKEN: ${{secrets.PAT}}
-
- - name: Setup .NET 5
- uses: actions/setup-dotnet@v1
- with:
- dotnet-version: "5.x"
- env:
- NUGET_AUTH_TOKEN: ${{secrets.PAT}}
-
- - name: Restore dependencies
- run: dotnet restore ${{ env.solution }}
-
- - name: Build
- run: dotnet build ${{ env.solution }} --configuration ${{ env.buildConfiguration }} --no-restore -p:Platform="${{ env.buildPlatform }}" -p:TreatWarningsAsErrors=True
-
- - name: Test
- run: dotnet test ${{ env.solution }} --configuration ${{ env.buildConfiguration }} --no-build --verbosity detailed --blame-crash
-
- - name: Upload Screenshots
- if: ${{ always() }}
- uses: actions/upload-artifact@v2
- with:
- name: Screenshots-${{ github.run_number }}
- path: ${{ github.workspace }}/MaterialDesignThemes.UITests/bin/${{ env.buildConfiguration }}/net5.0-windows/Screenshots
+ solution: ${{ env.solution }}
+ buildConfiguration: ${{ env.buildConfiguration }}
+ nugetKey: ${{ secrets.PAT }}
\ No newline at end of file
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index c0b4024fb4..4a5c56b240 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -2,69 +2,81 @@ name: Release
on:
workflow_dispatch:
+ schedule:
+ - cron: '0 9 * * *'
push:
tags:
- 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
+
env:
solution: MaterialDesignToolkit.Full.sln
- buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
- mdixColorsVersion: '2.0.4'
- mdixMahAppsVersion: '0.2.0'
- mdixVersion: '4.3.0'
+ mdixColorsVersion: '2.0.5'
+ mdixMahAppsVersion: '0.2.1'
+ mdixVersion: '4.4.0'
jobs:
- build:
+ check_for_changes:
if: ${{ github.repository == 'MaterialDesignInXAML/MaterialDesignInXamlToolkit' }}
runs-on: windows-latest
+ outputs:
+ should_run: ${{ github.event_name == 'push' || steps.check_tag.outputs.has_changed }}
+
steps:
- uses: actions/checkout@v2
-
- - name: Setup .NET Core 3.1
- uses: actions/setup-dotnet@v1
- with:
- dotnet-version: "3.1.x"
- env:
- NUGET_AUTH_TOKEN: ${{secrets.PAT}}
-
- - name: Setup .NET 5
- uses: actions/setup-dotnet@v1
+ if: ${{ github.event_name != 'push' }}
with:
- dotnet-version: "5.x"
- env:
- NUGET_AUTH_TOKEN: ${{secrets.PAT}}
+ fetch-depth: 0
- - name: Restore dependencies
- run: dotnet restore ${{ env.solution }}
+ - id: check_tag
+ name: Check nightly_release tag
+ if: ${{ github.event_name != 'push' }}
+ run: |
+ $nightlyReleaseHash = $(git rev-parse nightly_release)
+ $masterHash = $(git rev-parse master)
+ $hasChanged = ($nightlyReleaseHash -ne $masterHash).ToString().ToLower()
+ echo "::set-output name=has_changed::$hasChanged"
- - name: Build
- run: dotnet build ${{ env.solution }} --configuration ${{ env.buildConfiguration }} --no-restore -p:Platform="${{ env.buildPlatform }}" -p:MDIXVersion=${{ env.mdixVersion }}.${{ github.run_number }} -p:MDIXColorsVersion=${{ env.mdixColorsVersion }}.${{ github.run_number }} -p:MDIXMahAppsVersion=${{ env.mdixMahappsVersion }}.${{ github.run_number }} -p:TreatWarningsAsErrors=True
-
- - name: Test
- run: dotnet test ${{ env.solution }} --configuration ${{ env.buildConfiguration }} --no-build --verbosity detailed --blame-crash
+ build:
+ needs: [check_for_changes]
+ if: ${{ needs.check_for_changes.outputs.should_run == 'true' }}
+ runs-on: windows-latest
- - name: Upload Screenshots
- if: ${{ always() }}
- uses: actions/upload-artifact@v2
+ steps:
+ - uses: actions/checkout@v2
with:
- name: Screenshots-${{ github.run_number }}
- path: ${{ github.workspace }}/MaterialDesignThemes.UITests/bin/${{ env.buildConfiguration }}/net5.0-windows/Screenshots
-
- - name: Build NuGets
- run: .\Scripts\BuildNugets.ps1 -MDIXVersion ${{ env.mdixVersion }} -MDIXMahAppsVersion ${{ env.mdixMahappsVersion }} -MDIXColorsVersion ${{ env.mdixColorsVersion }}
+ fetch-depth: 0
- - name: Upload NuGets
- uses: actions/upload-artifact@v2
+ - name: Build and Test
+ uses: ./.github/actions/build-and-test
+ timeout-minutes: 20
with:
- name: NuGets-${{ github.run_number }}
- path: "*.nupkg"
+ solution: ${{ env.solution }}
+ buildConfiguration: ${{ env.buildConfiguration }}
+ nugetKey: ${{ secrets.PAT }}
- - name: Upload Demo App
- uses: actions/upload-artifact@v2
+ - name: Set Nightly Version Numbers
+ if: ${{ github.event_name != 'push' }}
+ run: |
+ echo "mdixVersion=${{ env.mdixVersion }}-ci${{ github.run_number }}" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf-8 -Append
+ echo "mdixColorsVersion=${{ env.mdixColorsVersion }}-ci${{ github.run_number }}" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf-8 -Append
+ echo "mdixMahAppsVersion=${{ env.mdixMahAppsVersion }}-ci${{ github.run_number }}" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf-8 -Append
+
+ - name: Push Artifacts
+ uses: ./.github/actions/push-artifacts
+ timeout-minutes: 10
with:
- name: DemoApp-${{ github.run_number }}
- path: "MainDemo.Wpf/bin/${{ env.buildConfiguration }}"
+ mdixVersion: ${{ env.mdixVersion }}
+ mdixColorsVersion: ${{ env.mdixColorsVersion }}
+ mdixMahAppsVersion: ${{ env.mdixMahappsVersion }}
+ demoAppPath: "MainDemo.Wpf/bin/${{ env.buildConfiguration }}"
+ nugetKey: ${{ secrets.PAT }}
- - name: Publish to NuGet.org
- run: dotnet nuget push ${{ github.workspace }}\*.nupkg --source https://api.nuget.org/v3/index.json -k ${{ secrets.PAT }} --skip-duplicate
+ - name: Update latest tag
+ if: ${{ github.event_name != 'push' }}
+ run: |
+ git config user.name github-actions
+ git config user.email github-actions@github.com
+ git tag -f nightly_release master
+ git push -f --tags
\ No newline at end of file
diff --git a/Directory.Build.props b/Directory.Build.props
index 7d786a9e70..b2b76da31e 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -4,7 +4,7 @@
Mulholland Software/James Willock
Debug;Release
- 9.0
+ 10.0
prompt
true
diff --git a/Directory.packages.props b/Directory.packages.props
index c6a537b04f..8b7f1cda1e 100644
--- a/Directory.packages.props
+++ b/Directory.packages.props
@@ -20,7 +20,7 @@
-
+
diff --git a/MahMaterialDragablzMashUp/MahAppsDragablzDemo.csproj b/MahMaterialDragablzMashUp/MahAppsDragablzDemo.csproj
index 290bced088..a523e8a2fd 100644
--- a/MahMaterialDragablzMashUp/MahAppsDragablzDemo.csproj
+++ b/MahMaterialDragablzMashUp/MahAppsDragablzDemo.csproj
@@ -1,4 +1,4 @@
-
+
WinExe
@@ -8,7 +8,6 @@
true
MahMaterialDragablzMashUp
MahMaterialDragablzMashUp
- true
true
false
diff --git a/MahMaterialDragablzMashUp/MainWindow.xaml b/MahMaterialDragablzMashUp/MainWindow.xaml
index 94e5445006..c3068e881b 100644
--- a/MahMaterialDragablzMashUp/MainWindow.xaml
+++ b/MahMaterialDragablzMashUp/MainWindow.xaml
@@ -15,7 +15,7 @@
-
+
diff --git a/MainDemo.Wpf/Buttons.xaml b/MainDemo.Wpf/Buttons.xaml
index 65f87e0fbf..46ecadf527 100644
--- a/MainDemo.Wpf/Buttons.xaml
+++ b/MainDemo.Wpf/Buttons.xaml
@@ -729,6 +729,86 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/MainDemo.Wpf/Cards.xaml b/MainDemo.Wpf/Cards.xaml
index f8b51c744b..e87a47aa83 100644
--- a/MainDemo.Wpf/Cards.xaml
+++ b/MainDemo.Wpf/Cards.xaml
@@ -304,11 +304,11 @@
Content="And go create"/>
@@ -112,6 +111,42 @@
IconForeground="{DynamicResource PrimaryHueLightForegroundBrush}" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -392,4 +427,3 @@
-
diff --git a/MainDemo.Wpf/ColorZones.xaml b/MainDemo.Wpf/ColorZones.xaml
index b256f054f1..5621fb954a 100644
--- a/MainDemo.Wpf/ColorZones.xaml
+++ b/MainDemo.Wpf/ColorZones.xaml
@@ -53,7 +53,7 @@
+ Style="{StaticResource MaterialDesignHamburgerToggleButton}"/>
+ Style="{StaticResource MaterialDesignHamburgerToggleButton}"/>
@@ -102,7 +102,7 @@
Orientation="Horizontal"
materialDesign:RippleAssist.IsCentered="True">
+ Style="{StaticResource MaterialDesignHamburgerToggleButton}"/>
-
+
+
+
+
+
+
+
+
+
+
+
+
+ Foreground="{Binding ElementName=PasswordBox, Path=BorderBrush}" />
-
-
-
-
-
-
-
-
-
-
-
@@ -303,8 +302,6 @@
-
-
@@ -325,13 +322,6 @@
Style="{StaticResource MaterialDesignHeadline5TextBlock}"
Text="Filled fields"/>
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -390,13 +432,14 @@
IsEnabled="{Binding Path=IsChecked, ElementName=MaterialDesignOutlinedTextBoxEnabledComboBox}"/>
+
+
diff --git a/MainDemo.Wpf/GroupBoxes.xaml b/MainDemo.Wpf/GroupBoxes.xaml
index dc57c65d97..aed3b703ae 100644
--- a/MainDemo.Wpf/GroupBoxes.xaml
+++ b/MainDemo.Wpf/GroupBoxes.xaml
@@ -47,7 +47,7 @@
Grid.Row="0">
@@ -65,7 +65,7 @@
@@ -78,7 +78,7 @@
Grid.Row="1">
@@ -91,7 +91,7 @@
Grid.Row="1">
@@ -105,7 +105,7 @@
Grid.Row="2">
@@ -138,7 +138,7 @@
Grid.Row="2">
@@ -172,7 +172,7 @@
Grid.Row="2">
@@ -132,7 +132,7 @@
@@ -154,7 +154,7 @@
BorderBrush="{DynamicResource MaterialDesignDivider}">
@@ -168,7 +168,7 @@
@@ -229,7 +229,7 @@
Padding="8">
diff --git a/MainDemo.Wpf/IconPack.xaml b/MainDemo.Wpf/IconPack.xaml
index fc2bc1ee9c..94488d1e21 100644
--- a/MainDemo.Wpf/IconPack.xaml
+++ b/MainDemo.Wpf/IconPack.xaml
@@ -109,7 +109,7 @@
@@ -115,7 +115,7 @@
ToolTip="Previous Item"
Command="{Binding MovePrevCommand}"
Content="{materialDesign:PackIcon Kind=ArrowLeft, Size=24}"
- Style="{DynamicResource MaterialDesignToolButton}"
+ Style="{StaticResource MaterialDesignToolButton}"
Foreground="{Binding RelativeSource={RelativeSource AncestorType={x:Type FrameworkElement}}, Path=(TextElement.Foreground)}"
materialDesign:RippleAssist.Feedback="{Binding RelativeSource={RelativeSource Self}, Path=Foreground, Converter={StaticResource BrushRoundConverter}}"/>
@@ -124,7 +124,7 @@
ToolTip="Next Item"
Command="{Binding MoveNextCommand}"
Content="{materialDesign:PackIcon Kind=ArrowRight, Size=24}"
- Style="{DynamicResource MaterialDesignToolButton}"
+ Style="{StaticResource MaterialDesignToolButton}"
Foreground="{Binding RelativeSource={RelativeSource AncestorType={x:Type FrameworkElement}}, Path=(TextElement.Foreground)}"
materialDesign:RippleAssist.Feedback="{Binding RelativeSource={RelativeSource Self}, Path=Foreground, Converter={StaticResource BrushRoundConverter}}"/>
@@ -133,7 +133,7 @@
ToolTip="Home"
Command="{Binding HomeCommand}"
Content="{materialDesign:PackIcon Kind=Home, Size=24}"
- Style="{DynamicResource MaterialDesignToolButton}"
+ Style="{StaticResource MaterialDesignToolButton}"
Foreground="{Binding RelativeSource={RelativeSource AncestorType={x:Type FrameworkElement}}, Path=(TextElement.Foreground)}"
materialDesign:RippleAssist.Feedback="{Binding RelativeSource={RelativeSource Self}, Path=Foreground, Converter={StaticResource BrushRoundConverter}}"/>
diff --git a/MainDemo.Wpf/MaterialDesignDemo.csproj b/MainDemo.Wpf/MaterialDesignDemo.csproj
index e46cc769a7..2ec5931c9a 100644
--- a/MainDemo.Wpf/MaterialDesignDemo.csproj
+++ b/MainDemo.Wpf/MaterialDesignDemo.csproj
@@ -4,7 +4,6 @@
WinExe
net472;netcoreapp3.1
true
- true
true
favicon.ico
true
diff --git a/MainDemo.Wpf/MenusAndToolBars.xaml b/MainDemo.Wpf/MenusAndToolBars.xaml
index 1ed1f3b6de..41e88daa72 100644
--- a/MainDemo.Wpf/MenusAndToolBars.xaml
+++ b/MainDemo.Wpf/MenusAndToolBars.xaml
@@ -13,14 +13,14 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -218,6 +258,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -225,7 +310,7 @@
diff --git a/MainDemo.Wpf/NavigationRail.xaml b/MainDemo.Wpf/NavigationRail.xaml
index 900f62b466..3590c6bb08 100644
--- a/MainDemo.Wpf/NavigationRail.xaml
+++ b/MainDemo.Wpf/NavigationRail.xaml
@@ -2,606 +2,778 @@
x:Class="MaterialDesignDemo.NavigationRail"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:smtx="clr-namespace:ShowMeTheXAML;assembly=ShowMeTheXAML"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
- mc:Ignorable="d"
- d:DesignHeight="450"
- d:DesignWidth="800">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:smtx="clr-namespace:ShowMeTheXAML;assembly=ShowMeTheXAML"
+ d:DesignHeight="1080"
+ d:DesignWidth="1920"
+ mc:Ignorable="d">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
-
-
+
+
+
-
-
-
-
-
- Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...
-
-
+
+
+
+
+
+
+
+
+
+ Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...
+
+
+
-
+
-
-
-
+
+
+
-
-
-
-
-
- Praesent sed dui arcu. Vivamus porta auctor sagittis
-
-
+
+
+
+
+
+
+
+
+ Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...
+
+
+
-
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+ Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...
+
+
+
-
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+ Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...
+
+
+
-
-
-
+
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
Praesent sed dui arcu. Vivamus porta auctor sagittis
-
+
-
-
-
+
+
+
-
-
-
+
+
+
Praesevzddvvvvvvvvvv
-
+
-
-
-
+
+
+
-
-
-
+
+
+
Prfadsssssssssssssssbvdcas
-
-
-
-
-
+
+
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...
-
+
-
-
-
+
+
+
-
-
-
+
+
+
Praesent sed dui arcu. Vivamus porta auctor sagittis
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...
-
+
-
-
-
+
+
+
-
-
-
+
+
+
Praesent sed dui arcu. Vivamus porta auctor sagittis
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+ materialDesign:NavigationRailAssist.ShowSelectionBackground="True"
+ Style="{StaticResource MaterialDesignNavigationRailTabControl}"
+ TabStripPlacement="Top">
-
-
+
+
-
+
-
-
-
+
+
+
-
-
-
-
-
- Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...
-
+
+
+
+
+
+ Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...
+
-
+
-
-
-
+
+
+
-
-
-
-
- Praesent sed dui arcu. Vivamus porta auctor sagittis
-
+
+
+
+
+ Praesent sed dui arcu. Vivamus porta auctor sagittis
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
+ materialDesign:ShadowAssist.ShadowDepth="Depth0"
+ Style="{StaticResource MaterialDesignNavigationRailTabControl}">
+
-
-
-
+
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
+
+
-
+ materialDesign:ShadowAssist.ShadowDepth="Depth1"
+ Style="{StaticResource MaterialDesignNavigationRailTabControl}">
+
-
-
-
+
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
+
+
-
+ materialDesign:ShadowAssist.ShadowDepth="Depth2"
+ Style="{StaticResource MaterialDesignNavigationRailTabControl}">
+
-
-
-
+
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
+
+
-
+ materialDesign:ShadowAssist.ShadowDepth="Depth3"
+ Style="{StaticResource MaterialDesignNavigationRailTabControl}">
+
-
-
-
+
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
diff --git a/MainDemo.Wpf/Pickers.xaml b/MainDemo.Wpf/Pickers.xaml
index 4bfe6b7813..d87b2b3e98 100644
--- a/MainDemo.Wpf/Pickers.xaml
+++ b/MainDemo.Wpf/Pickers.xaml
@@ -296,13 +296,13 @@
HorizontalAlignment="Right"
Orientation="Horizontal">
@@ -347,13 +347,13 @@
HorizontalAlignment="Right"
Orientation="Horizontal">
@@ -407,13 +407,13 @@
HorizontalAlignment="Right"
Orientation="Horizontal">
@@ -513,7 +513,7 @@
@@ -524,7 +524,7 @@
@@ -534,7 +534,7 @@
@@ -545,7 +545,7 @@
@@ -556,7 +556,7 @@
@@ -567,7 +567,7 @@
@@ -583,7 +583,7 @@
@@ -595,7 +595,7 @@
@@ -608,7 +608,7 @@
@@ -621,7 +621,7 @@
@@ -633,7 +633,7 @@
@@ -645,7 +645,7 @@
diff --git a/MainDemo.Wpf/Shadows.xaml b/MainDemo.Wpf/Shadows.xaml
index c1263a4376..6ec24c057b 100644
--- a/MainDemo.Wpf/Shadows.xaml
+++ b/MainDemo.Wpf/Shadows.xaml
@@ -18,7 +18,7 @@
Margin="0 32 0 0">
@@ -26,7 +26,7 @@
UniqueKey="shadow_2"
Margin="16 0 0 0">
@@ -35,7 +35,7 @@
UniqueKey="shadow_3"
Margin="16 0 0 0">
@@ -44,14 +44,14 @@
UniqueKey="shadow_4"
Margin="16 0 0 0">
@@ -62,7 +62,7 @@
Margin="0 32 0 0">
@@ -71,7 +71,7 @@
UniqueKey="shadow_7"
Margin="16 0 0 0">
@@ -80,7 +80,7 @@
UniqueKey="shadow_8"
Margin="16 0 0 0">
@@ -89,7 +89,7 @@
UniqueKey="shadow_9"
Margin="16 0 0 0">
@@ -98,7 +98,7 @@
UniqueKey="shadow_10"
Margin="16 0 0 0">
diff --git a/MainDemo.Wpf/Tabs.xaml b/MainDemo.Wpf/Tabs.xaml
new file mode 100644
index 0000000000..938edf0403
--- /dev/null
+++ b/MainDemo.Wpf/Tabs.xaml
@@ -0,0 +1,382 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/MainDemo.Wpf/Tabs.xaml.cs b/MainDemo.Wpf/Tabs.xaml.cs
new file mode 100644
index 0000000000..29b12473f6
--- /dev/null
+++ b/MainDemo.Wpf/Tabs.xaml.cs
@@ -0,0 +1,28 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace MaterialDesignDemo
+{
+ ///
+ /// Interaction logic for Tabs.xaml
+ ///
+ public partial class Tabs : UserControl
+ {
+ public Tabs()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/MainDemo.Wpf/TransitionsDemo/Slide1_Intro.xaml b/MainDemo.Wpf/TransitionsDemo/Slide1_Intro.xaml
index f1d366539c..cc17340d65 100644
--- a/MainDemo.Wpf/TransitionsDemo/Slide1_Intro.xaml
+++ b/MainDemo.Wpf/TransitionsDemo/Slide1_Intro.xaml
@@ -26,7 +26,7 @@
-
diff --git a/MainDemo.Wpf/TransitionsDemo/Slide2_Intro.xaml b/MainDemo.Wpf/TransitionsDemo/Slide2_Intro.xaml
index 02a88855a2..de426530b5 100644
--- a/MainDemo.Wpf/TransitionsDemo/Slide2_Intro.xaml
+++ b/MainDemo.Wpf/TransitionsDemo/Slide2_Intro.xaml
@@ -18,13 +18,13 @@
TextWrapping="Wrap">
The transition will originate from where the user clicks the button. Experiment with the back/forward buttons.
-
-
OK, we've seen some cool stuff. Let's take a look at some more transition types.
-
-
diff --git a/MainDemo.Wpf/TransitionsDemo/Slide5_TransitioningContent.xaml b/MainDemo.Wpf/TransitionsDemo/Slide5_TransitioningContent.xaml
index 4153a25248..19eda4ee8f 100644
--- a/MainDemo.Wpf/TransitionsDemo/Slide5_TransitioningContent.xaml
+++ b/MainDemo.Wpf/TransitionsDemo/Slide5_TransitioningContent.xaml
@@ -108,13 +108,13 @@
-
-
diff --git a/MainDemo.Wpf/TransitionsDemo/Slide6_Origins.xaml b/MainDemo.Wpf/TransitionsDemo/Slide6_Origins.xaml
index e382466516..d38dafb494 100644
--- a/MainDemo.Wpf/TransitionsDemo/Slide6_Origins.xaml
+++ b/MainDemo.Wpf/TransitionsDemo/Slide6_Origins.xaml
@@ -32,12 +32,12 @@
Second
-
-
diff --git a/MainDemo.Wpf/TransitionsDemo/Slide7_MVVM.xaml b/MainDemo.Wpf/TransitionsDemo/Slide7_MVVM.xaml
index 7cd40f23b4..3d2a278522 100644
--- a/MainDemo.Wpf/TransitionsDemo/Slide7_MVVM.xaml
+++ b/MainDemo.Wpf/TransitionsDemo/Slide7_MVVM.xaml
@@ -14,17 +14,17 @@
That's the end of the demo for now; a full MVVM demo coming soon!
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PerMonitorV2, PerMonitor, System
+ true
+
+
+
+
+
+
+
+
diff --git a/MaterialDesign3.Demo.Wpf/App.xaml b/MaterialDesign3.Demo.Wpf/App.xaml
new file mode 100644
index 0000000000..7830804e34
--- /dev/null
+++ b/MaterialDesign3.Demo.Wpf/App.xaml
@@ -0,0 +1,177 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/MaterialDesign3.Demo.Wpf/App.xaml.cs b/MaterialDesign3.Demo.Wpf/App.xaml.cs
new file mode 100644
index 0000000000..2025e3fc4c
--- /dev/null
+++ b/MaterialDesign3.Demo.Wpf/App.xaml.cs
@@ -0,0 +1,39 @@
+using System.Windows;
+using ShowMeTheXAML;
+
+namespace MaterialDesign3Demo
+{
+ ///
+ /// Interaction logic for App.xaml
+ ///
+ public partial class App : Application
+ {
+ protected override void OnStartup(StartupEventArgs e)
+ {
+ //This is an alternate way to initialize MaterialDesignInXAML if you don't use the MaterialDesignResourceDictionary in App.xaml
+ //Color primaryColor = SwatchHelper.Lookup[MaterialDesignColor.DeepPurple];
+ //Color accentColor = SwatchHelper.Lookup[MaterialDesignColor.Lime];
+ //ITheme theme = Theme.Create(new MaterialDesignLightTheme(), primaryColor, accentColor);
+ //Resources.SetTheme(theme);
+
+
+ //Illustration of setting culture info fully in WPF:
+ /*
+ Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-FR");
+ Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-FR");
+ FrameworkElement.LanguageProperty.OverrideMetadata(typeof(FrameworkElement), new FrameworkPropertyMetadata(
+ XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));
+ */
+
+ XamlDisplay.Init();
+
+ // test setup for Persian culture settings
+ /*System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("fa-Ir");
+ System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("fa-Ir");
+ FrameworkElement.LanguageProperty.OverrideMetadata(typeof(FrameworkElement), new FrameworkPropertyMetadata(
+ System.Windows.Markup.XmlLanguage.GetLanguage(System.Globalization.CultureInfo.CurrentCulture.IetfLanguageTag)));*/
+
+ base.OnStartup(e);
+ }
+ }
+}
diff --git a/MaterialDesign3.Demo.Wpf/ButtonAssist.cs b/MaterialDesign3.Demo.Wpf/ButtonAssist.cs
new file mode 100644
index 0000000000..e3b2b525df
--- /dev/null
+++ b/MaterialDesign3.Demo.Wpf/ButtonAssist.cs
@@ -0,0 +1,19 @@
+using System.Windows;
+
+namespace MaterialDesign3Demo
+{
+ public static class ButtonAssist
+ {
+ public static readonly DependencyProperty UniformCornerRadiusProperty = DependencyProperty.RegisterAttached(
+ "UniformCornerRadius", typeof(double), typeof(ButtonAssist), new PropertyMetadata(2.0, OnUniformCornerRadius));
+
+ private static void OnUniformCornerRadius(DependencyObject d, DependencyPropertyChangedEventArgs e)
+ => MaterialDesignThemes.Wpf.ButtonAssist.SetCornerRadius(d, new CornerRadius((double)e.NewValue));
+
+ public static void SetUniformCornerRadius(DependencyObject element, double value)
+ => element.SetValue(UniformCornerRadiusProperty, value);
+
+ public static double GetUniformCornerRadius(DependencyObject element)
+ => (double)element.GetValue(UniformCornerRadiusProperty);
+ }
+}
\ No newline at end of file
diff --git a/MaterialDesign3.Demo.Wpf/Buttons.xaml b/MaterialDesign3.Demo.Wpf/Buttons.xaml
new file mode 100644
index 0000000000..4738f0e9f8
--- /dev/null
+++ b/MaterialDesign3.Demo.Wpf/Buttons.xaml
@@ -0,0 +1,1095 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 24
+ 90
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 150
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 124
+ 50
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/MaterialDesign3.Demo.Wpf/Buttons.xaml.cs b/MaterialDesign3.Demo.Wpf/Buttons.xaml.cs
new file mode 100644
index 0000000000..3b39ffb529
--- /dev/null
+++ b/MaterialDesign3.Demo.Wpf/Buttons.xaml.cs
@@ -0,0 +1,35 @@
+using System;
+using System.Diagnostics;
+using System.Windows;
+using MaterialDesign3Demo.Domain;
+
+namespace MaterialDesign3Demo
+{
+ public partial class Buttons
+ {
+ public Buttons()
+ {
+ DataContext = new ButtonsViewModel();
+ InitializeComponent();
+ }
+
+ private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
+ => Debug.WriteLine("Just checking we haven't suppressed the button.");
+
+ private void PopupBox_OnOpened(object sender, RoutedEventArgs e)
+ => Debug.WriteLine("Just making sure the popup has opened.");
+
+ private void PopupBox_OnClosed(object sender, RoutedEventArgs e)
+ => Debug.WriteLine("Just making sure the popup has closed.");
+
+ private void CountingButton_OnClick(object sender, RoutedEventArgs e)
+ {
+ if (CountingBadge.Badge == null || Equals(CountingBadge.Badge, string.Empty))
+ CountingBadge.Badge = 0;
+
+ var next = int.Parse(CountingBadge.Badge.ToString() ?? "0") + 1;
+
+ CountingBadge.Badge = next < 21 ? (object)next : null;
+ }
+ }
+}
diff --git a/MaterialDesign3.Demo.Wpf/Cards.xaml b/MaterialDesign3.Demo.Wpf/Cards.xaml
new file mode 100644
index 0000000000..02e8ed33d9
--- /dev/null
+++ b/MaterialDesign3.Demo.Wpf/Cards.xaml
@@ -0,0 +1,556 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cycling
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/MaterialDesign3.Demo.Wpf/Cards.xaml.cs b/MaterialDesign3.Demo.Wpf/Cards.xaml.cs
new file mode 100644
index 0000000000..fe8eb93788
--- /dev/null
+++ b/MaterialDesign3.Demo.Wpf/Cards.xaml.cs
@@ -0,0 +1,12 @@
+using System.Windows;
+
+namespace MaterialDesign3Demo
+{
+ public partial class Cards
+ {
+ public Cards() => InitializeComponent();
+
+ private void Flipper_OnIsFlippedChanged(object sender, RoutedPropertyChangedEventArgs e)
+ => System.Diagnostics.Debug.WriteLine($"Card is flipped = {e.NewValue}");
+ }
+}
diff --git a/MaterialDesign3.Demo.Wpf/Chips.xaml b/MaterialDesign3.Demo.Wpf/Chips.xaml
new file mode 100644
index 0000000000..53bc3bd1e4
--- /dev/null
+++ b/MaterialDesign3.Demo.Wpf/Chips.xaml
@@ -0,0 +1,429 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Secondary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/MaterialDesign3.Demo.Wpf/Chips.xaml.cs b/MaterialDesign3.Demo.Wpf/Chips.xaml.cs
new file mode 100644
index 0000000000..be16bce91c
--- /dev/null
+++ b/MaterialDesign3.Demo.Wpf/Chips.xaml.cs
@@ -0,0 +1,16 @@
+using System.Windows;
+
+namespace MaterialDesign3Demo
+{
+ public partial class Chips
+ {
+ public Chips() => InitializeComponent();
+
+ private void ButtonsDemoChip_OnClick(object sender, RoutedEventArgs e)
+ => MainWindow.Snackbar.MessageQueue?.Enqueue("Chip clicked!");
+
+ private void ButtonsDemoChip_OnDeleteClick(object sender, RoutedEventArgs e)
+ => MainWindow.Snackbar.MessageQueue?.Enqueue("Chip delete clicked!");
+
+ }
+}
diff --git a/MaterialDesign3.Demo.Wpf/ColorScheme.cs b/MaterialDesign3.Demo.Wpf/ColorScheme.cs
new file mode 100644
index 0000000000..aa9ba208c8
--- /dev/null
+++ b/MaterialDesign3.Demo.Wpf/ColorScheme.cs
@@ -0,0 +1,10 @@
+namespace MaterialDesign3Demo
+{
+ enum ColorScheme
+ {
+ Primary,
+ Secondary,
+ PrimaryForeground,
+ SecondaryForeground
+ }
+}
diff --git a/MaterialDesign3.Demo.Wpf/ColorTool.xaml b/MaterialDesign3.Demo.Wpf/ColorTool.xaml
new file mode 100644
index 0000000000..b81abf4be1
--- /dev/null
+++ b/MaterialDesign3.Demo.Wpf/ColorTool.xaml
@@ -0,0 +1,611 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/MaterialDesign3.Demo.Wpf/ColorTool.xaml.cs b/MaterialDesign3.Demo.Wpf/ColorTool.xaml.cs
new file mode 100644
index 0000000000..ee42439a45
--- /dev/null
+++ b/MaterialDesign3.Demo.Wpf/ColorTool.xaml.cs
@@ -0,0 +1,13 @@
+using MaterialDesign3Demo.Domain;
+
+namespace MaterialDesign3Demo
+{
+ public partial class ColorTool
+ {
+ public ColorTool()
+ {
+ DataContext = new ColorToolViewModel();
+ InitializeComponent();
+ }
+ }
+}
diff --git a/MaterialDesign3.Demo.Wpf/ColorZones.xaml b/MaterialDesign3.Demo.Wpf/ColorZones.xaml
new file mode 100644
index 0000000000..08f4492862
--- /dev/null
+++ b/MaterialDesign3.Demo.Wpf/ColorZones.xaml
@@ -0,0 +1,244 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/MaterialDesign3.Demo.Wpf/ColorZones.xaml.cs b/MaterialDesign3.Demo.Wpf/ColorZones.xaml.cs
new file mode 100644
index 0000000000..ddafe86d59
--- /dev/null
+++ b/MaterialDesign3.Demo.Wpf/ColorZones.xaml.cs
@@ -0,0 +1,7 @@
+namespace MaterialDesign3Demo
+{
+ public partial class ColorZones
+ {
+ public ColorZones() => InitializeComponent();
+ }
+}
diff --git a/MaterialDesign3.Demo.Wpf/ComboBoxes.xaml b/MaterialDesign3.Demo.Wpf/ComboBoxes.xaml
new file mode 100644
index 0000000000..ff460dc507
--- /dev/null
+++ b/MaterialDesign3.Demo.Wpf/ComboBoxes.xaml
@@ -0,0 +1,380 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/MaterialDesign3.Demo.Wpf/ComboBoxes.xaml.cs b/MaterialDesign3.Demo.Wpf/ComboBoxes.xaml.cs
new file mode 100644
index 0000000000..f24093d16c
--- /dev/null
+++ b/MaterialDesign3.Demo.Wpf/ComboBoxes.xaml.cs
@@ -0,0 +1,19 @@
+using MaterialDesign3Demo.Domain;
+
+namespace MaterialDesign3Demo
+{
+ public partial class ComboBoxes
+ {
+ public ComboBoxes()
+ {
+ InitializeComponent();
+ DataContext = new ComboBoxesViewModel();
+ }
+
+ private void ClearFilledComboBox_Click(object sender, System.Windows.RoutedEventArgs e)
+ => FilledComboBox.SelectedItem = null;
+
+ private void ClearOutlinedComboBox_Click(object sender, System.Windows.RoutedEventArgs e)
+ => OutlinedComboBox.SelectedItem = null;
+ }
+}
diff --git a/MaterialDesign3.Demo.Wpf/Converters/BrushToHexConverter.cs b/MaterialDesign3.Demo.Wpf/Converters/BrushToHexConverter.cs
new file mode 100644
index 0000000000..9f3b040283
--- /dev/null
+++ b/MaterialDesign3.Demo.Wpf/Converters/BrushToHexConverter.cs
@@ -0,0 +1,24 @@
+using System;
+using System.Globalization;
+using System.Windows.Data;
+using System.Windows.Media;
+
+namespace MaterialDesign3Demo.Converters
+{
+ public class BrushToHexConverter : IValueConverter
+ {
+ public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture)
+ {
+ if (value is null) return null;
+ string lowerHexString(int i) => i.ToString("X2").ToLower();
+ var brush = (SolidColorBrush)value;
+ var hex = lowerHexString(brush.Color.R) +
+ lowerHexString(brush.Color.G) +
+ lowerHexString(brush.Color.B);
+ return "#" + hex;
+ }
+
+ public object? ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture)
+ => throw new NotImplementedException();
+ }
+}
diff --git a/MaterialDesign3.Demo.Wpf/Converters/ColorToBrushConverter.cs b/MaterialDesign3.Demo.Wpf/Converters/ColorToBrushConverter.cs
new file mode 100644
index 0000000000..eca894b813
--- /dev/null
+++ b/MaterialDesign3.Demo.Wpf/Converters/ColorToBrushConverter.cs
@@ -0,0 +1,29 @@
+using System;
+using System.Globalization;
+using System.Windows.Data;
+using System.Windows.Media;
+
+namespace MaterialDesign3Demo.Converters
+{
+ [ValueConversion(typeof(Color), typeof(Brush))]
+ public class ColorToBrushConverter : IValueConverter
+ {
+ public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ if (value is Color color)
+ {
+ return new SolidColorBrush(color);
+ }
+ return Binding.DoNothing;
+ }
+
+ public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ if (value is SolidColorBrush brush)
+ {
+ return brush.Color;
+ }
+ return default(Color);
+ }
+ }
+}
diff --git a/MaterialDesign3.Demo.Wpf/Converters/MultiValueEqualityConverter.cs b/MaterialDesign3.Demo.Wpf/Converters/MultiValueEqualityConverter.cs
new file mode 100644
index 0000000000..e352865977
--- /dev/null
+++ b/MaterialDesign3.Demo.Wpf/Converters/MultiValueEqualityConverter.cs
@@ -0,0 +1,20 @@
+using System;
+using System.Globalization;
+using System.Linq;
+using System.Windows.Data;
+
+namespace MaterialDesign3Demo.Converters
+{
+ public class MultiValueEqualityConverter : IMultiValueConverter
+ {
+ public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
+ {
+ return values?.All(o => o?.Equals(values[0]) == true) == true || values?.All(o => o == null) == true;
+ }
+
+ public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
+ {
+ throw new NotImplementedException();
+ }
+ }
+}
diff --git a/MaterialDesign3.Demo.Wpf/Converters/StringJoinConverter.cs b/MaterialDesign3.Demo.Wpf/Converters/StringJoinConverter.cs
new file mode 100644
index 0000000000..23eae69c94
--- /dev/null
+++ b/MaterialDesign3.Demo.Wpf/Converters/StringJoinConverter.cs
@@ -0,0 +1,24 @@
+using System;
+using System.Collections;
+using System.Globalization;
+using System.Linq;
+using System.Windows.Data;
+
+namespace MaterialDesign3Demo.Converters
+{
+ public class StringJoinConverter : IValueConverter
+ {
+ public string? Separator { get; set; }
+
+ public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture)
+ {
+ IEnumerable values = value as IEnumerable ?? Array.Empty
@@ -242,12 +242,12 @@
Orientation="Vertical">
+ Style="{StaticResource MaterialDesign.RangeSlider.VerticalTrack}" />
+ Style="{StaticResource MaterialDesign.RangeSlider.Thumb}" />
+ Style="{StaticResource MaterialDesign.RangeSlider.Thumb}" />
+ Style="{StaticResource MaterialDesign.RangeSlider.VerticalTrack}" />
diff --git a/MaterialDesignThemes.UITests/Samples/DrawerHost/CancellingDrawerHost.xaml b/MaterialDesignThemes.UITests/Samples/DrawerHost/CancellingDrawerHost.xaml
new file mode 100644
index 0000000000..078b6cf079
--- /dev/null
+++ b/MaterialDesignThemes.UITests/Samples/DrawerHost/CancellingDrawerHost.xaml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/MaterialDesignThemes.UITests/Samples/DrawerHost/CancellingDrawerHost.xaml.cs b/MaterialDesignThemes.UITests/Samples/DrawerHost/CancellingDrawerHost.xaml.cs
new file mode 100644
index 0000000000..e7fa69c90c
--- /dev/null
+++ b/MaterialDesignThemes.UITests/Samples/DrawerHost/CancellingDrawerHost.xaml.cs
@@ -0,0 +1,24 @@
+using System.Windows.Controls;
+
+namespace MaterialDesignThemes.UITests.Samples.DrawHost
+{
+ ///
+ /// Interaction logic for CancellingDrawerHost.xaml
+ ///
+ public partial class CancellingDrawerHost : UserControl
+ {
+ public CancellingDrawerHost()
+ => InitializeComponent();
+
+ private void DrawerHost_DrawerClosing(object sender, Wpf.DrawerClosingEventArgs e)
+ {
+ //Always cancel
+ e.Cancel();
+ }
+
+ private void CloseButtonAlt_Click(object sender, System.Windows.RoutedEventArgs e)
+ {
+ DrawerHost.IsLeftDrawerOpen = false;
+ }
+ }
+}
diff --git a/MaterialDesignThemes.UITests/TestBase.cs b/MaterialDesignThemes.UITests/TestBase.cs
index b2948b385f..07c3f8ed46 100644
--- a/MaterialDesignThemes.UITests/TestBase.cs
+++ b/MaterialDesignThemes.UITests/TestBase.cs
@@ -10,6 +10,7 @@
[assembly: CollectionBehavior(DisableTestParallelization = true)]
[assembly: GenerateHelpers(typeof(SmartHint))]
[assembly: GenerateHelpers(typeof(TimePicker))]
+[assembly: GenerateHelpers(typeof(DrawerHost))]
namespace MaterialDesignThemes.UITests
{
diff --git a/MaterialDesignThemes.UITests/WPF/DialogHosts/DialogHostTests.cs b/MaterialDesignThemes.UITests/WPF/DialogHosts/DialogHostTests.cs
index da06053038..fc706604cb 100644
--- a/MaterialDesignThemes.UITests/WPF/DialogHosts/DialogHostTests.cs
+++ b/MaterialDesignThemes.UITests/WPF/DialogHosts/DialogHostTests.cs
@@ -164,6 +164,8 @@ await Wait.For(async () =>
Assert.Equal(Colors.Red, await card1.GetBackgroundColor());
Assert.Equal(Colors.Red, await card2.GetBackgroundColor());
});
+
+ recorder.Success();
}
[Theory]
@@ -242,6 +244,8 @@ await Wait.For(async () =>
await textBlock2.GetEffectiveBackground(),
MinimumContrastSmallText);
});
+
+ recorder.Success();
}
}
}
diff --git a/MaterialDesignThemes.UITests/WPF/DrawerHosts/DrawerHostTests.cs b/MaterialDesignThemes.UITests/WPF/DrawerHosts/DrawerHostTests.cs
new file mode 100644
index 0000000000..de506ceb5d
--- /dev/null
+++ b/MaterialDesignThemes.UITests/WPF/DrawerHosts/DrawerHostTests.cs
@@ -0,0 +1,134 @@
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Controls.Primitives;
+using MaterialDesignThemes.UITests.Samples.DrawHost;
+using MaterialDesignThemes.Wpf;
+using XamlTest;
+using Xunit;
+using Xunit.Abstractions;
+
+namespace MaterialDesignThemes.UITests.WPF.DrawerHosts;
+
+public class DialogHostTests : TestBase
+{
+ public DialogHostTests(ITestOutputHelper output) : base(output)
+ {
+ }
+
+ [Fact]
+ public async Task DrawerHost_OpenAndClose_RaisesEvents()
+ {
+ await using var recorder = new TestRecorder(App);
+
+ IVisualElement drawerHost = await LoadXaml(@"
+
+
+
+
+
+
+
+
+
+");
+
+ var contentCover = await drawerHost.GetElement("PART_ContentCover");
+ var toggleButton = await drawerHost.GetElement("/ToggleButton");
+ var showButton = await drawerHost.GetElement("/Button");
+ var contents = await drawerHost.GetElement("DrawerContents");
+
+ var openedEvent = await drawerHost.RegisterForEvent(nameof(DrawerHost.DrawerOpened));
+ var closingEvent = await drawerHost.RegisterForEvent(nameof(DrawerHost.DrawerClosing));
+
+ await toggleButton.LeftClick();
+ //Allow for animations to start
+ await Task.Delay(10);
+
+ await Wait.For(async () =>
+ {
+ var invocations = await openedEvent.GetInvocations();
+ Assert.Equal(1, invocations.Count);
+ });
+
+ await Wait.For(async () =>
+ {
+ Assert.True(await contentCover.GetIsHitTestVisible());
+ Assert.True(await contentCover.GetOpacity() > 0.0);
+ });
+
+ await drawerHost.LeftClick();
+
+ await Wait.For(async () => await contentCover.GetOpacity() <= 0.0);
+ await Wait.For(async () =>
+ {
+ var invocations = await closingEvent.GetInvocations();
+ Assert.Equal(1, invocations.Count);
+ });
+
+ await showButton.LeftClick();
+ //Allow for animations to start
+ await Task.Delay(10);
+
+ await Wait.For(async () =>
+ {
+ var invocations = await openedEvent.GetInvocations();
+ Assert.Equal(2, invocations.Count);
+ });
+ await Wait.For(async () => await contentCover.GetOpacity() > 0.0);
+
+ await drawerHost.LeftClick();
+
+ await Wait.For(async () => await contentCover.GetOpacity() <= 0.0);
+ await Wait.For(async () =>
+ {
+ var invocations = await closingEvent.GetInvocations();
+ Assert.Equal(2, invocations.Count);
+ });
+
+ recorder.Success();
+ }
+
+ [Fact]
+ public async Task DrawerHost_CancelingClosingEvent_DrawerStaysOpen()
+ {
+ await using var recorder = new TestRecorder(App);
+
+ IVisualElement drawerHost = (await LoadUserControl()).As();
+ var showButton = await drawerHost.GetElement("ShowButton");
+ var closeButton = await drawerHost.GetElement("CloseButton");
+ var closeButtonDp = await drawerHost.GetElement("CloseButtonDp");
+
+ var openedEvent = await drawerHost.RegisterForEvent(nameof(DrawerHost.DrawerOpened));
+
+ await showButton.LeftClick();
+ //Allow open animation to finish
+ await Task.Delay(300);
+ await Wait.For(async () => (await openedEvent.GetInvocations()).Count == 1);
+
+ var closingEvent = await drawerHost.RegisterForEvent(nameof(DrawerHost.DrawerClosing));
+
+ //Attempt closing with routed command
+ await closeButton.LeftClick();
+ await Task.Delay(100);
+ await Wait.For(async () => (await closingEvent.GetInvocations()).Count == 1);
+ Assert.True(await drawerHost.GetIsLeftDrawerOpen());
+
+ //Attempt closing with click away
+ await drawerHost.LeftClick();
+ await Task.Delay(100);
+ await Wait.For(async () => (await closingEvent.GetInvocations()).Count == 2);
+ Assert.True(await drawerHost.GetIsLeftDrawerOpen());
+
+ //Attempt closing with DP property toggle
+ await closeButtonDp.LeftClick();
+ await Task.Delay(100);
+ await Wait.For(async () => (await closingEvent.GetInvocations()).Count == 3);
+ Assert.True(await drawerHost.GetIsLeftDrawerOpen());
+
+
+ recorder.Success();
+ }
+}
+
diff --git a/MaterialDesignThemes.UITests/WPF/TextBoxes/TextBoxTests.cs b/MaterialDesignThemes.UITests/WPF/TextBoxes/TextBoxTests.cs
index 4c76f652f8..3795c299d8 100644
--- a/MaterialDesignThemes.UITests/WPF/TextBoxes/TextBoxTests.cs
+++ b/MaterialDesignThemes.UITests/WPF/TextBoxes/TextBoxTests.cs
@@ -391,7 +391,10 @@ public async Task VerticalContentAlignment_ProperlyAlignsText()
");
var scrollViewer = await textBox.GetElement("PART_ContentHost");
- Assert.Equal(VerticalAlignment.Top, await scrollViewer.GetVerticalAlignment());
+ //The default for this changed with issue 2556.
+ //It should be stretch so that the horizontal scroll bar is at the bottom and not
+ //pushed to the bottom of the text.
+ Assert.Equal(VerticalAlignment.Stretch, await scrollViewer.GetVerticalAlignment());
foreach (var alignment in Enum.GetValues())
{
diff --git a/MaterialDesignThemes.Wpf.Tests/CalendarFormatInfoTests.cs b/MaterialDesignThemes.Wpf.Tests/CalendarFormatInfoTests.cs
index 369e1848bf..3c7de6caaa 100644
--- a/MaterialDesignThemes.Wpf.Tests/CalendarFormatInfoTests.cs
+++ b/MaterialDesignThemes.Wpf.Tests/CalendarFormatInfoTests.cs
@@ -7,8 +7,13 @@ public class CalendarFormatInfoTests
{
[StaTheory]
[InlineData("en-US", "MMMM yyyy", "yyyy", "ddd,", "MMM d")]
+#if NET5_0_OR_GREATER
+ [InlineData("fr-CA", "MMMM yyyy", "yyyy", "ddd", "d MMM")]
+ [InlineData("ja-JP", "yyyy年M月", "yyyy年", "M月d日", "dddd")]
+#else
[InlineData("fr-CA", "MMMM, yyyy", "yyyy", "ddd", "d MMM")]
[InlineData("ja-JP", "yyyy'年'M'月'", "yyyy年", "M月d日", "dddd")]
+#endif
public void TestFromCultureInfo(string cultureName, string yearMonth, string componentThree, string componentTwo, string componentOne)
{
var result = CalendarFormatInfo.FromCultureInfo(CultureInfo.GetCultureInfo(cultureName));
diff --git a/MaterialDesignThemes.Wpf.Tests/ColorDefinitionsTests.cs b/MaterialDesignThemes.Wpf.Tests/ColorDefinitionsTests.cs
index f274eefec7..7481ac0344 100644
--- a/MaterialDesignThemes.Wpf.Tests/ColorDefinitionsTests.cs
+++ b/MaterialDesignThemes.Wpf.Tests/ColorDefinitionsTests.cs
@@ -42,7 +42,7 @@ private static void AssertXamlColorsInTheme(string xaml, IBaseTheme baseTheme)
Assert.False(themeProperty is null, $"{themePropertyName} from {xaml} not found in {theme.GetType()}");
Assert.NotNull(themeProperty);
- Assert.Equal(solidColorBrush.Color, themeProperty!.GetValue(theme));
+ Assert.Equal(solidColorBrush!.Color, themeProperty!.GetValue(theme));
}
}
diff --git a/MaterialDesignThemes.Wpf.Tests/ColorPickerTests.cs b/MaterialDesignThemes.Wpf.Tests/ColorPickerTests.cs
index fe3229cf52..ac0beb5846 100644
--- a/MaterialDesignThemes.Wpf.Tests/ColorPickerTests.cs
+++ b/MaterialDesignThemes.Wpf.Tests/ColorPickerTests.cs
@@ -50,7 +50,7 @@ public void SettingTheColorUpdatesTheControls(string colorName)
{
var converter = new ColorConverter();
// ReSharper disable once PossibleNullReferenceException
- Color color = (Color)converter.ConvertFrom(colorName);
+ Color color = (Color)converter.ConvertFrom(colorName)!;
var hsb = color.ToHsb();
SetColor(color);
diff --git a/MaterialDesignThemes.Wpf.Tests/MaterialDesignThemes.Wpf.Tests.csproj b/MaterialDesignThemes.Wpf.Tests/MaterialDesignThemes.Wpf.Tests.csproj
index 9abce7a6ce..10b781624a 100644
--- a/MaterialDesignThemes.Wpf.Tests/MaterialDesignThemes.Wpf.Tests.csproj
+++ b/MaterialDesignThemes.Wpf.Tests/MaterialDesignThemes.Wpf.Tests.csproj
@@ -1,7 +1,7 @@
- net472;netcoreapp3.1;net5.0-windows
+ net472;netcoreapp3.1;net6.0-windows
MaterialDesignThemes.Wpf.Tests
MaterialDesignThemes.Wpf.Tests
diff --git a/MaterialDesignThemes.Wpf.Tests/TextBoxTests.cs b/MaterialDesignThemes.Wpf.Tests/TextBoxTests.cs
index 66ef650402..37af1be930 100644
--- a/MaterialDesignThemes.Wpf.Tests/TextBoxTests.cs
+++ b/MaterialDesignThemes.Wpf.Tests/TextBoxTests.cs
@@ -18,13 +18,17 @@ public void DefaultVerticalAlignment_ShouldBeStretch()
}
[StaFact]
- [Description("Issue 1301")]
- public void DefaultVerticalContentAlignment_ShouldBeTop()
+ [Description("Issue 2556")]
+ public void DefaultVerticalContentAlignment_ShouldBeStretch()
{
+ //The default was initially set to Top from issue 1301
+ //However because TextBox contains a ScrollViewer this pushes
+ //the horizontal scroll bar up by default, which is different
+ //than the default WPF behavior.
var textBox = new TextBox();
textBox.ApplyDefaultStyle();
- Assert.Equal(VerticalAlignment.Top, textBox.VerticalContentAlignment);
+ Assert.Equal(VerticalAlignment.Stretch, textBox.VerticalContentAlignment);
}
}
}
\ No newline at end of file
diff --git a/MaterialDesignThemes.Wpf.Tests/TimePickerUnitTests.cs b/MaterialDesignThemes.Wpf.Tests/TimePickerUnitTests.cs
index 5bd7d64923..d88336a43a 100644
--- a/MaterialDesignThemes.Wpf.Tests/TimePickerUnitTests.cs
+++ b/MaterialDesignThemes.Wpf.Tests/TimePickerUnitTests.cs
@@ -140,6 +140,24 @@ public static IEnumerable GetDisplaysExpectedTextData()
//Spain Spanish
var spainSpanish = CultureInfo.GetCultureInfo("es-ES");
+#if NET5_0_OR_GREATER
+ foreach (var data in GetDisplaysExpectedTextDataForCulture(spainSpanish, am,
+ "3:05 a. m.", "3:05:09 a. m.", //12 hour short
+ "03:05 a. m.", "03:05:09 a. m.", //12 hour long
+ "3:05", "3:05:09", //24 hour short
+ "03:05", "03:05:09")) //24 hour long
+ {
+ yield return data;
+ }
+ foreach (var data in GetDisplaysExpectedTextDataForCulture(spainSpanish, pm,
+ "4:30 p. m.", "4:30:25 p. m.", //12 hour short
+ "04:30 p. m.", "04:30:25 p. m.", //12 hour long
+ "16:30", "16:30:25", //24 hour short
+ "16:30", "16:30:25")) //24 hour long
+ {
+ yield return data;
+ }
+#else
foreach (var data in GetDisplaysExpectedTextDataForCulture(spainSpanish, am,
"3:05", "3:05:09", //12 hour short
"03:05", "03:05:09", //12 hour long
@@ -156,9 +174,28 @@ public static IEnumerable GetDisplaysExpectedTextData()
{
yield return data;
}
+#endif
//Iran Farsi fa-IR
var iranFarsi = CultureInfo.GetCultureInfo("fa-IR");
+#if NET5_0_OR_GREATER
+ foreach (var data in GetDisplaysExpectedTextDataForCulture(iranFarsi, am,
+ "3:05 قبلازظهر", "3:05:09 قبلازظهر", //12 hour short
+ "03:05 قبلازظهر", "03:05:09 قبلازظهر", //12 hour long
+ "3:05", "3:05:09", //24 hour short
+ "03:05", "03:05:09")) //24 hour long
+ {
+ yield return data;
+ }
+ foreach (var data in GetDisplaysExpectedTextDataForCulture(iranFarsi, pm,
+ "4:30 بعدازظهر", "4:30:25 بعدازظهر", //12 hour short
+ "04:30 بعدازظهر", "04:30:25 بعدازظهر", //12 hour long
+ "16:30", "16:30:25", //24 hour short
+ "16:30", "16:30:25")) //24 hour long
+ {
+ yield return data;
+ }
+#else
foreach (var data in GetDisplaysExpectedTextDataForCulture(iranFarsi, am,
"3:05 ق.ظ", "3:05:09 ق.ظ", //12 hour short
"03:05 ق.ظ", "03:05:09 ق.ظ", //12 hour long
@@ -175,6 +212,8 @@ public static IEnumerable GetDisplaysExpectedTextData()
{
yield return data;
}
+#endif
+
}
private static IEnumerable GetDisplaysExpectedTextDataForCulture(CultureInfo culture,
diff --git a/MaterialDesignThemes.Wpf/Converters/SnackbarMessageTypeConverter.cs b/MaterialDesignThemes.Wpf/Converters/SnackbarMessageTypeConverter.cs
index 856d07c4d0..6b98b86bf1 100644
--- a/MaterialDesignThemes.Wpf/Converters/SnackbarMessageTypeConverter.cs
+++ b/MaterialDesignThemes.Wpf/Converters/SnackbarMessageTypeConverter.cs
@@ -6,12 +6,12 @@ namespace MaterialDesignThemes.Wpf.Converters
{
public class SnackbarMessageTypeConverter : TypeConverter
{
- public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
+ public override bool CanConvertFrom(ITypeDescriptorContext? context, Type sourceType)
{
return sourceType == typeof(string) || base.CanConvertFrom(context, sourceType);
}
- public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
+ public override object? ConvertFrom(ITypeDescriptorContext? context, CultureInfo? culture, object value)
{
var s = value as string;
if (s != null)
diff --git a/MaterialDesignThemes.Wpf/Converters/ToolBarOverflowButtonVisibilityConverter.cs b/MaterialDesignThemes.Wpf/Converters/ToolBarOverflowButtonVisibilityConverter.cs
new file mode 100644
index 0000000000..e6667f12d9
--- /dev/null
+++ b/MaterialDesignThemes.Wpf/Converters/ToolBarOverflowButtonVisibilityConverter.cs
@@ -0,0 +1,32 @@
+using System;
+using System.Globalization;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+
+namespace MaterialDesignThemes.Wpf.Converters
+{
+ public class ToolBarOverflowButtonVisibilityConverter : IMultiValueConverter
+ {
+ public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
+ {
+ var overflowMode = (OverflowMode)values[0];
+ var hasOverflowItems = (bool)values[1];
+
+ if (overflowMode == OverflowMode.AsNeeded && hasOverflowItems)
+ {
+ return Visibility.Visible;
+ }
+ else
+ {
+ return overflowMode switch
+ {
+ OverflowMode.Always => Visibility.Visible,
+ OverflowMode.Never => Visibility.Hidden,
+ _ => Visibility.Hidden,
+ };
+ }
+ }
+ public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture) => throw new NotImplementedException();
+ }
+}
\ No newline at end of file
diff --git a/MaterialDesignThemes.Wpf/DialogHost.cs b/MaterialDesignThemes.Wpf/DialogHost.cs
index cd4bb927b3..9edac797b6 100644
--- a/MaterialDesignThemes.Wpf/DialogHost.cs
+++ b/MaterialDesignThemes.Wpf/DialogHost.cs
@@ -365,6 +365,15 @@ public bool IsOpen
set => SetValue(IsOpenProperty, value);
}
+ public static readonly DependencyProperty PlacementProperty = DependencyProperty.Register(
+ nameof(Placement), typeof(PlacementMode), typeof(DialogHost), new PropertyMetadata(PlacementMode.Center));
+
+ public PlacementMode Placement
+ {
+ get => (PlacementMode)GetValue(PlacementProperty);
+ set => SetValue(PlacementProperty, value);
+ }
+
public static readonly DependencyProperty DialogContentProperty = DependencyProperty.Register(
nameof(DialogContent), typeof(object), typeof(DialogHost), new PropertyMetadata(default(object)));
diff --git a/MaterialDesignThemes.Wpf/DrawerClosingEventArgs.cs b/MaterialDesignThemes.Wpf/DrawerClosingEventArgs.cs
index 97b1f4a3d4..f3175b0250 100644
--- a/MaterialDesignThemes.Wpf/DrawerClosingEventArgs.cs
+++ b/MaterialDesignThemes.Wpf/DrawerClosingEventArgs.cs
@@ -5,7 +5,8 @@ namespace MaterialDesignThemes.Wpf
{
public class DrawerClosingEventArgs : RoutedEventArgs
{
- public DrawerClosingEventArgs(Dock dock, RoutedEvent routedEvent) : base(routedEvent)
+ public DrawerClosingEventArgs(Dock dock, RoutedEvent routedEvent)
+ : base(routedEvent)
{
Dock = dock;
}
diff --git a/MaterialDesignThemes.Wpf/DrawerHost.cs b/MaterialDesignThemes.Wpf/DrawerHost.cs
index 05cf8f0b6a..1438ca0e26 100644
--- a/MaterialDesignThemes.Wpf/DrawerHost.cs
+++ b/MaterialDesignThemes.Wpf/DrawerHost.cs
@@ -491,7 +491,8 @@ public event EventHandler DrawerClosing
remove { RemoveHandler(DrawerClosingEvent, value); }
}
- protected void OnDrawerClosing(DrawerClosingEventArgs eventArgs) => RaiseEvent(eventArgs);
+ protected void OnDrawerClosing(DrawerClosingEventArgs eventArgs)
+ => RaiseEvent(eventArgs);
#endregion
@@ -598,6 +599,17 @@ private static void IsBottomDrawerOpenPropertyChangedCallback(DependencyObject d
private static void IsDrawerOpenPropertyChanged(DependencyObject dependencyObject, DependencyPropertyChangedEventArgs dependencyPropertyChangedEventArgs, Dock dock)
{
var drawerHost = (DrawerHost)dependencyObject;
+ if (!(bool)dependencyPropertyChangedEventArgs.NewValue)
+ {
+ var args = new DrawerClosingEventArgs(dock, DrawerClosingEvent);
+ drawerHost.OnDrawerClosing(args);
+ if (args.IsCancelled)
+ {
+ drawerHost.SetCurrentValue(dependencyPropertyChangedEventArgs.Property, dependencyPropertyChangedEventArgs.OldValue);
+ return;
+ }
+ }
+
if (!drawerHost._lockZIndexes && (bool)dependencyPropertyChangedEventArgs.NewValue)
drawerHost.PrepareZIndexes(drawerHost._zIndexPropertyLookup[dependencyPropertyChangedEventArgs.Property]);
drawerHost.UpdateVisualStates();
diff --git a/MaterialDesignThemes.Wpf/MaterialDateDisplay.cs b/MaterialDesignThemes.Wpf/MaterialDateDisplay.cs
index dc993f658a..855f38fbd9 100644
--- a/MaterialDesignThemes.Wpf/MaterialDateDisplay.cs
+++ b/MaterialDesignThemes.Wpf/MaterialDateDisplay.cs
@@ -144,7 +144,7 @@ private static string FormatDate(string format, DateTime displayDate, CultureInf
private void SetDisplayDateOfCalendar(DateTime displayDate)
{
- Calendar calendarControl = this.GetVisualAncestry().OfType().FirstOrDefault();
+ Calendar? calendarControl = this.GetVisualAncestry().OfType().FirstOrDefault();
if (calendarControl != null)
{
diff --git a/MaterialDesignThemes.Wpf/MaterialDesignThemes.Wpf.csproj b/MaterialDesignThemes.Wpf/MaterialDesignThemes.Wpf.csproj
index f591afcaf3..a02ceea56d 100644
--- a/MaterialDesignThemes.Wpf/MaterialDesignThemes.Wpf.csproj
+++ b/MaterialDesignThemes.Wpf/MaterialDesignThemes.Wpf.csproj
@@ -1,9 +1,8 @@
- net452;netcoreapp3.1
+ net452;netcoreapp3.1;net6.0-windows
true
- {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
1.0.1
MaterialDesignThemes.Wpf
MaterialDesignColors.Wpf
@@ -11,7 +10,6 @@
$(MDIXVersion)
$(MDIXVersion)
CS1591;CS1574
- true
bin\$(Configuration)\MaterialDesignThemes.Wpf.xml
@@ -19,6 +17,12 @@
PreserveNewest
+
+
+
+
+ PreserveNewest
+
diff --git a/MaterialDesignThemes.Wpf/NotoFontExtension.cs b/MaterialDesignThemes.Wpf/NotoFontExtension.cs
new file mode 100644
index 0000000000..947c680b2c
--- /dev/null
+++ b/MaterialDesignThemes.Wpf/NotoFontExtension.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Windows.Markup;
+using System.Windows.Media;
+
+namespace MaterialDesignThemes.Wpf
+{
+ [MarkupExtensionReturnType(typeof(FontFamily))]
+ public class NotoFontExtension : MarkupExtension
+ {
+ private static readonly Lazy _noto
+ = new Lazy(() =>
+ new FontFamily(new Uri("pack://application:,,,/MaterialDesignThemes.Wpf;component/Resources/Noto/"), "./#Noto"));
+
+ public override object ProvideValue(IServiceProvider serviceProvider)
+ {
+ return _noto.Value;
+ }
+ }
+}
\ No newline at end of file
diff --git a/MaterialDesignThemes.Wpf/PackIconDataFactory.cs b/MaterialDesignThemes.Wpf/PackIconDataFactory.cs
index 08e13d8a2a..d62a80f3a8 100644
--- a/MaterialDesignThemes.Wpf/PackIconDataFactory.cs
+++ b/MaterialDesignThemes.Wpf/PackIconDataFactory.cs
@@ -68,6 +68,7 @@ internal static class PackIconDataFactory
{PackIconKind.AccountGroup,"M12,5.5A3.5,3.5 0 0,1 15.5,9A3.5,3.5 0 0,1 12,12.5A3.5,3.5 0 0,1 8.5,9A3.5,3.5 0 0,1 12,5.5M5,8C5.56,8 6.08,8.15 6.53,8.42C6.38,9.85 6.8,11.27 7.66,12.38C7.16,13.34 6.16,14 5,14A3,3 0 0,1 2,11A3,3 0 0,1 5,8M19,8A3,3 0 0,1 22,11A3,3 0 0,1 19,14C17.84,14 16.84,13.34 16.34,12.38C17.2,11.27 17.62,9.85 17.47,8.42C17.92,8.15 18.44,8 19,8M5.5,18.25C5.5,16.18 8.41,14.5 12,14.5C15.59,14.5 18.5,16.18 18.5,18.25V20H5.5V18.25M0,20V18.5C0,17.11 1.89,15.94 4.45,15.6C3.86,16.28 3.5,17.22 3.5,18.25V20H0M24,20H20.5V18.25C20.5,17.22 20.14,16.28 19.55,15.6C22.11,15.94 24,17.11 24,18.5V20Z"},
{PackIconKind.AccountGroupOutline,"M12,5A3.5,3.5 0 0,0 8.5,8.5A3.5,3.5 0 0,0 12,12A3.5,3.5 0 0,0 15.5,8.5A3.5,3.5 0 0,0 12,5M12,7A1.5,1.5 0 0,1 13.5,8.5A1.5,1.5 0 0,1 12,10A1.5,1.5 0 0,1 10.5,8.5A1.5,1.5 0 0,1 12,7M5.5,8A2.5,2.5 0 0,0 3,10.5C3,11.44 3.53,12.25 4.29,12.68C4.65,12.88 5.06,13 5.5,13C5.94,13 6.35,12.88 6.71,12.68C7.08,12.47 7.39,12.17 7.62,11.81C6.89,10.86 6.5,9.7 6.5,8.5C6.5,8.41 6.5,8.31 6.5,8.22C6.2,8.08 5.86,8 5.5,8M18.5,8C18.14,8 17.8,8.08 17.5,8.22C17.5,8.31 17.5,8.41 17.5,8.5C17.5,9.7 17.11,10.86 16.38,11.81C16.5,12 16.63,12.15 16.78,12.3C16.94,12.45 17.1,12.58 17.29,12.68C17.65,12.88 18.06,13 18.5,13C18.94,13 19.35,12.88 19.71,12.68C20.47,12.25 21,11.44 21,10.5A2.5,2.5 0 0,0 18.5,8M12,14C9.66,14 5,15.17 5,17.5V19H19V17.5C19,15.17 14.34,14 12,14M4.71,14.55C2.78,14.78 0,15.76 0,17.5V19H3V17.07C3,16.06 3.69,15.22 4.71,14.55M19.29,14.55C20.31,15.22 21,16.06 21,17.07V19H24V17.5C24,15.76 21.22,14.78 19.29,14.55M12,16C13.53,16 15.24,16.5 16.23,17H7.77C8.76,16.5 10.47,16 12,16Z"},
{PackIconKind.AccountHardHat,"M12,15C7.58,15 4,16.79 4,19V21H20V19C20,16.79 16.42,15 12,15M8,9A4,4 0 0,0 12,13A4,4 0 0,0 16,9M11.5,2C11.2,2 11,2.21 11,2.5V5.5H10V3C10,3 7.75,3.86 7.75,6.75C7.75,6.75 7,6.89 7,8H17C16.95,6.89 16.25,6.75 16.25,6.75C16.25,3.86 14,3 14,3V5.5H13V2.5C13,2.21 12.81,2 12.5,2H11.5Z"},
+ {PackIconKind.AccountHardHatOutline,"M16 9C16 14.33 8 14.33 8 9H10C10 11.67 14 11.67 14 9M20 18V21H4V18C4 15.33 9.33 14 12 14C14.67 14 20 15.33 20 18M18.1 18C18.1 17.36 14.97 15.9 12 15.9C9.03 15.9 5.9 17.36 5.9 18V19.1H18.1M12.5 2C12.78 2 13 2.22 13 2.5V5.5H14V3C15.45 3.67 16.34 5.16 16.25 6.75C16.25 6.75 16.95 6.89 17 8H7C7 6.89 7.75 6.75 7.75 6.75C7.66 5.16 8.55 3.67 10 3V5.5H11V2.5C11 2.22 11.22 2 11.5 2"},
{PackIconKind.AccountHeart,"M15,14C12.3,14 7,15.3 7,18V20H23V18C23,15.3 17.7,14 15,14M15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12M5,15L4.4,14.5C2.4,12.6 1,11.4 1,9.9C1,8.7 2,7.7 3.2,7.7C3.9,7.7 4.6,8 5,8.5C5.4,8 6.1,7.7 6.8,7.7C8,7.7 9,8.6 9,9.9C9,11.4 7.6,12.6 5.6,14.5L5,15Z"},
{PackIconKind.AccountHeartOutline,"M5,15L4.4,14.5C2.4,12.6 1,11.4 1,9.9C1,8.7 2,7.7 3.2,7.7C3.9,7.7 4.6,8 5,8.5C5.4,8 6.1,7.7 6.8,7.7C8,7.7 9,8.6 9,9.9C9,11.4 7.6,12.6 5.6,14.5L5,15M15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4M15,10.1A2.1,2.1 0 0,1 12.9,8A2.1,2.1 0 0,1 15,5.9C16.16,5.9 17.1,6.84 17.1,8C17.1,9.16 16.16,10.1 15,10.1M15,13C12.33,13 7,14.33 7,17V20H23V17C23,14.33 17.67,13 15,13M21.1,18.1H8.9V17C8.9,16.36 12,14.9 15,14.9C17.97,14.9 21.1,16.36 21.1,17V18.1Z"},
{PackIconKind.AccountInjury,"M8 6C8 3.79 9.79 2 12 2S16 3.79 16 6 14.21 10 12 10 8 8.21 8 6M17 22H18C19.1 22 20 21.1 20 20V15.22C20 14.1 19.39 13.07 18.39 12.56C17.96 12.34 17.5 12.13 17 11.94V22M12.34 17L15 11.33C14.07 11.12 13.07 11 12 11C9.47 11 7.29 11.7 5.61 12.56C4.61 13.07 4 14.1 4 15.22V22H6.34C6.12 21.55 6 21.04 6 20.5C6 18.57 7.57 17 9.5 17H12.34M10 22L11.41 19H9.5C8.67 19 8 19.67 8 20.5S8.67 22 9.5 22H10Z"},
@@ -105,6 +106,8 @@ internal static class PackIconDataFactory
{PackIconKind.AccountReactivateOutline,"M21.5 9H16.5L18.36 7.14C16.9 5.23 14.59 4 12 4C7.58 4 4 7.58 4 12C4 13.83 4.61 15.5 5.64 16.85C6.86 15.45 9.15 14.5 12 14.5C14.85 14.5 17.15 15.45 18.36 16.85C19.39 15.5 20 13.83 20 12H22C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2C15.14 2 17.95 3.45 19.78 5.72L21.5 4V9M12 20C13.9 20 15.64 19.34 17 18.24C16.36 17.23 14.45 16.5 12 16.5C9.55 16.5 7.64 17.23 7 18.24C8.36 19.34 10.1 20 12 20M12 6C13.93 6 15.5 7.57 15.5 9.5C15.5 11.43 13.93 13 12 13C10.07 13 8.5 11.43 8.5 9.5C8.5 7.57 10.07 6 12 6M12 8C11.17 8 10.5 8.67 10.5 9.5C10.5 10.33 11.17 11 12 11C12.83 11 13.5 10.33 13.5 9.5C13.5 8.67 12.83 8 12 8Z"},
{PackIconKind.AccountRemove,"M15,14C17.67,14 23,15.33 23,18V20H7V18C7,15.33 12.33,14 15,14M15,12A4,4 0 0,1 11,8A4,4 0 0,1 15,4A4,4 0 0,1 19,8A4,4 0 0,1 15,12M5,9.59L7.12,7.46L8.54,8.88L6.41,11L8.54,13.12L7.12,14.54L5,12.41L2.88,14.54L1.46,13.12L3.59,11L1.46,8.88L2.88,7.46L5,9.59Z"},
{PackIconKind.AccountRemoveOutline,"M1.46,8.88L2.88,7.46L5,9.59L7.12,7.46L8.54,8.88L6.41,11L8.54,13.12L7.12,14.54L5,12.41L2.88,14.54L1.46,13.12L3.59,11L1.46,8.88M15,4A4,4 0 0,1 19,8A4,4 0 0,1 15,12A4,4 0 0,1 11,8A4,4 0 0,1 15,4M15,5.9A2.1,2.1 0 0,0 12.9,8A2.1,2.1 0 0,0 15,10.1C16.16,10.1 17.1,9.16 17.1,8C17.1,6.84 16.16,5.9 15,5.9M15,13C17.67,13 23,14.33 23,17V20H7V17C7,14.33 12.33,13 15,13M15,14.9C12,14.9 8.9,16.36 8.9,17V18.1H21.1V17C21.1,16.36 17.97,14.9 15,14.9Z"},
+ {PackIconKind.AccountSchool,"M16 8C16 10.21 14.21 12 12 12C9.79 12 8 10.21 8 8L8.11 7.06L5 5.5L12 2L19 5.5V10.5H18V6L15.89 7.06L16 8M12 14C16.42 14 20 15.79 20 18V20H4V18C4 15.79 7.58 14 12 14Z"},
+ {PackIconKind.AccountSchoolOutline,"M18 10.5V6L15.89 7.06C15.96 7.36 16 7.67 16 8C16 10.21 14.21 12 12 12C9.79 12 8 10.21 8 8C8 7.67 8.04 7.36 8.11 7.06L5 5.5L12 2L19 5.5V10.5H18M12 9L10 8C10 9.1 10.9 10 12 10C13.1 10 14 9.1 14 8L12 9M14.75 5.42L12.16 4.1L9.47 5.47L12.07 6.79L14.75 5.42M12 13C14.67 13 20 14.33 20 17V20H4V17C4 14.33 9.33 13 12 13M12 14.9C9 14.9 5.9 16.36 5.9 17V18.1H18.1V17C18.1 16.36 14.97 14.9 12 14.9Z"},
{PackIconKind.AccountSearch,"M15.5,12C18,12 20,14 20,16.5C20,17.38 19.75,18.21 19.31,18.9L22.39,22L21,23.39L17.88,20.32C17.19,20.75 16.37,21 15.5,21C13,21 11,19 11,16.5C11,14 13,12 15.5,12M15.5,14A2.5,2.5 0 0,0 13,16.5A2.5,2.5 0 0,0 15.5,19A2.5,2.5 0 0,0 18,16.5A2.5,2.5 0 0,0 15.5,14M10,4A4,4 0 0,1 14,8C14,8.91 13.69,9.75 13.18,10.43C12.32,10.75 11.55,11.26 10.91,11.9L10,12A4,4 0 0,1 6,8A4,4 0 0,1 10,4M2,20V18C2,15.88 5.31,14.14 9.5,14C9.18,14.78 9,15.62 9,16.5C9,17.79 9.38,19 10,20H2Z"},
{PackIconKind.AccountSearchOutline,"M10,13C9.65,13.59 9.36,14.24 9.19,14.93C6.5,15.16 3.9,16.42 3.9,17V18.1H9.2C9.37,18.78 9.65,19.42 10,20H2V17C2,14.34 7.33,13 10,13M10,4A4,4 0 0,1 14,8C14,8.91 13.69,9.75 13.18,10.43C12.32,10.75 11.55,11.26 10.91,11.9L10,12A4,4 0 0,1 6,8A4,4 0 0,1 10,4M10,5.9A2.1,2.1 0 0,0 7.9,8A2.1,2.1 0 0,0 10,10.1A2.1,2.1 0 0,0 12.1,8A2.1,2.1 0 0,0 10,5.9M15.5,12C18,12 20,14 20,16.5C20,17.38 19.75,18.21 19.31,18.9L22.39,22L21,23.39L17.88,20.32C17.19,20.75 16.37,21 15.5,21C13,21 11,19 11,16.5C11,14 13,12 15.5,12M15.5,14A2.5,2.5 0 0,0 13,16.5A2.5,2.5 0 0,0 15.5,19A2.5,2.5 0 0,0 18,16.5A2.5,2.5 0 0,0 15.5,14Z"},
{PackIconKind.AccountSettings,"M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,14C16.42,14 20,15.79 20,18V20H4V18C4,15.79 7.58,14 12,14M7,22H9V24H7V22M11,22H13V24H11V22M15,22H17V24H15V22Z"},
@@ -645,6 +648,7 @@ internal static class PackIconDataFactory
{PackIconKind.AutoDownload,"M22 17V19H11V17H22M19 4.5V9.5H22L16.5 15L11 9.5H14V4.5H19M10.7 15H8.8L8.1 13H4.9L4.2 15H2.3L5.5 6H7.5L10.7 15M7.65 11.65L6.5 8L5.35 11.65H7.65Z"},
{PackIconKind.AutoFix,"M7.5,5.6L5,7L6.4,4.5L5,2L7.5,3.4L10,2L8.6,4.5L10,7L7.5,5.6M19.5,15.4L22,14L20.6,16.5L22,19L19.5,17.6L17,19L18.4,16.5L17,14L19.5,15.4M22,2L20.6,4.5L22,7L19.5,5.6L17,7L18.4,4.5L17,2L19.5,3.4L22,2M13.34,12.78L15.78,10.34L13.66,8.22L11.22,10.66L13.34,12.78M14.37,7.29L16.71,9.63C17.1,10 17.1,10.65 16.71,11.04L5.04,22.71C4.65,23.1 4,23.1 3.63,22.71L1.29,20.37C0.9,20 0.9,19.35 1.29,18.96L12.96,7.29C13.35,6.9 14,6.9 14.37,7.29Z"},
{PackIconKind.Autorenew,"M12,6V9L16,5L12,1V4A8,8 0 0,0 4,12C4,13.57 4.46,15.03 5.24,16.26L6.7,14.8C6.25,13.97 6,13 6,12A6,6 0 0,1 12,6M18.76,7.74L17.3,9.2C17.74,10.04 18,11 18,12A6,6 0 0,1 12,18V15L8,19L12,23V20A8,8 0 0,0 20,12C20,10.43 19.54,8.97 18.76,7.74Z"},
+ {PackIconKind.AutorenewOff,"M18 12C18 11 17.74 10.04 17.3 9.2L18.76 7.74C19.54 8.97 20 10.43 20 12C20 13.39 19.64 14.68 19 15.82L17.5 14.32C17.82 13.6 18 12.83 18 12M2.39 1.73L1.11 3L5.5 7.37C4.55 8.68 4 10.27 4 12C4 13.57 4.46 15.03 5.24 16.26L6.7 14.8C6.25 13.97 6 13 6 12C6 10.83 6.34 9.74 6.92 8.81L15.19 17.08C14.26 17.66 13.17 18 12 18V15L8 19L12 23V20C13.73 20 15.32 19.45 16.63 18.5L20.84 22.73L22.11 21.46L2.39 1.73M12 6V8.8L12.1 8.9L16 5L12 1V4C10.62 4 9.32 4.36 8.18 5L9.68 6.5C10.4 6.18 11.18 6 12 6Z"},
{PackIconKind.AutoUpload,"M5.35,12.65L6.5,9L7.65,12.65M5.5,7L2.3,16H4.2L4.9,14H8.1L8.8,16H10.7L7.5,7M11,20H22V18H11M14,16H19V11H22L16.5,5.5L11,11H14V16Z"},
{PackIconKind.AvTimer,"M11,17A1,1 0 0,0 12,18A1,1 0 0,0 13,17A1,1 0 0,0 12,16A1,1 0 0,0 11,17M11,3V7H13V5.08C16.39,5.57 19,8.47 19,12A7,7 0 0,1 12,19A7,7 0 0,1 5,12C5,10.32 5.59,8.78 6.58,7.58L12,13L13.41,11.59L6.61,4.79V4.81C4.42,6.45 3,9.05 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12A9,9 0 0,0 12,3M18,12A1,1 0 0,0 17,11A1,1 0 0,0 16,12A1,1 0 0,0 17,13A1,1 0 0,0 18,12M6,12A1,1 0 0,0 7,13A1,1 0 0,0 8,12A1,1 0 0,0 7,11A1,1 0 0,0 6,12Z"},
{PackIconKind.Aws,"M7.64,10.38C7.64,10.63 7.66,10.83 7.71,11C7.76,11.12 7.83,11.28 7.92,11.46C7.96,11.5 7.97,11.56 7.97,11.61C7.97,11.68 7.93,11.74 7.84,11.81L7.42,12.09C7.36,12.13 7.3,12.15 7.25,12.15C7.18,12.15 7.12,12.11 7.05,12.05C6.96,11.95 6.88,11.85 6.81,11.74C6.75,11.63 6.68,11.5 6.61,11.35C6.09,11.96 5.44,12.27 4.65,12.27C4.09,12.27 3.65,12.11 3.32,11.79C3,11.47 2.83,11.04 2.83,10.5C2.83,9.95 3.03,9.5 3.43,9.14C3.84,8.8 4.38,8.62 5.06,8.62C5.29,8.62 5.5,8.64 5.77,8.68C6,8.71 6.27,8.76 6.53,8.82V8.34C6.53,7.83 6.43,7.5 6.22,7.27C6,7.06 5.65,6.97 5.14,6.97C4.9,6.97 4.66,7 4.42,7.05C4.17,7.11 3.93,7.18 3.7,7.28C3.59,7.32 3.5,7.35 3.47,7.36C3.42,7.38 3.39,7.38 3.36,7.38C3.27,7.38 3.22,7.32 3.22,7.18V6.85C3.22,6.75 3.23,6.67 3.27,6.62C3.3,6.57 3.36,6.53 3.45,6.5C3.69,6.36 3.96,6.26 4.29,6.18C4.62,6.09 4.96,6.05 5.33,6.05C6.12,6.05 6.7,6.23 7.07,6.59C7.44,6.95 7.62,7.5 7.62,8.23V10.38H7.64M4.94,11.4C5.16,11.4 5.38,11.36 5.62,11.28C5.86,11.2 6.07,11.05 6.25,10.85C6.36,10.72 6.44,10.58 6.5,10.42C6.5,10.26 6.55,10.07 6.55,9.84V9.57C6.35,9.5 6.15,9.5 5.93,9.45C5.72,9.43 5.5,9.41 5.31,9.41C4.86,9.41 4.54,9.5 4.32,9.68C4.1,9.86 4,10.11 4,10.44C4,10.76 4.07,11 4.24,11.15C4.4,11.32 4.63,11.4 4.94,11.4M10.28,12.11C10.16,12.11 10.08,12.09 10,12.05C9.97,12 9.92,11.91 9.88,11.79L8.32,6.65C8.28,6.5 8.26,6.43 8.26,6.38C8.26,6.27 8.31,6.21 8.42,6.21H9.07C9.2,6.21 9.29,6.23 9.33,6.28C9.39,6.32 9.43,6.41 9.47,6.54L10.58,10.94L11.62,6.54C11.65,6.41 11.69,6.32 11.75,6.28C11.8,6.24 11.89,6.21 12,6.21H12.55C12.67,6.21 12.76,6.23 12.81,6.28C12.86,6.32 12.91,6.41 12.94,6.54L14,11L15.14,6.54C15.18,6.41 15.23,6.32 15.27,6.28C15.33,6.24 15.41,6.21 15.53,6.21H16.15C16.26,6.21 16.32,6.27 16.32,6.38C16.32,6.41 16.31,6.45 16.3,6.5C16.3,6.5 16.28,6.58 16.26,6.65L14.65,11.79C14.61,11.93 14.57,12 14.5,12.05C14.46,12.09 14.37,12.12 14.26,12.12H13.69C13.56,12.12 13.5,12.1 13.42,12.05C13.37,12 13.32,11.92 13.3,11.79L12.27,7.5L11.24,11.78C11.21,11.91 11.17,12 11.12,12.05C11.06,12.09 10.97,12.11 10.85,12.11H10.28M18.83,12.29C18.5,12.29 18.13,12.25 17.8,12.17C17.47,12.09 17.21,12 17.04,11.91C16.93,11.85 16.86,11.78 16.83,11.72C16.8,11.66 16.79,11.6 16.79,11.54V11.2C16.79,11.06 16.84,11 16.94,11C17,11 17,11 17.06,11C17.1,11 17.16,11.05 17.23,11.08C17.45,11.18 17.7,11.26 17.96,11.31C18.23,11.36 18.5,11.39 18.75,11.39C19.17,11.39 19.5,11.32 19.72,11.17C19.95,11 20.07,10.81 20.07,10.54C20.07,10.35 20,10.2 19.89,10.07C19.77,9.95 19.54,9.83 19.22,9.73L18.25,9.43C17.77,9.27 17.41,9.05 17.19,8.75C16.97,8.46 16.86,8.13 16.86,7.78C16.86,7.5 16.92,7.26 17.04,7.05C17.16,6.83 17.32,6.65 17.5,6.5C17.72,6.35 17.94,6.24 18.21,6.16C18.47,6.08 18.75,6.04 19.05,6.04C19.19,6.04 19.34,6.05 19.5,6.07C19.64,6.09 19.78,6.12 19.92,6.14C20.06,6.18 20.18,6.21 20.3,6.25C20.42,6.29 20.5,6.33 20.58,6.37C20.67,6.42 20.74,6.47 20.78,6.53C20.82,6.59 20.84,6.66 20.84,6.75V7.07C20.84,7.21 20.79,7.28 20.69,7.28C20.64,7.28 20.55,7.25 20.43,7.2C20.06,7.03 19.63,6.94 19.16,6.94C18.78,6.94 18.5,7 18.27,7.13C18.07,7.25 17.96,7.45 17.96,7.72C17.96,7.91 18.03,8.07 18.16,8.19C18.29,8.32 18.54,8.44 18.89,8.56L19.84,8.86C20.32,9 20.66,9.22 20.87,9.5C21.07,9.77 21.17,10.08 21.17,10.43C21.17,10.71 21.11,10.97 21,11.2C20.88,11.42 20.72,11.62 20.5,11.78C20.31,11.95 20.06,12.07 19.78,12.16C19.5,12.25 19.16,12.29 18.83,12.29M20.08,15.53C17.89,17.14 14.71,18 12,18C8.15,18 4.7,16.58 2.09,14.23C1.88,14.04 2.07,13.79 2.32,13.94C5.14,15.57 8.61,16.56 12.21,16.56C14.64,16.56 17.31,16.06 19.76,15C20.13,14.85 20.44,15.26 20.08,15.53M21,14.5C20.71,14.13 19.14,14.32 18.43,14.4C18.22,14.43 18.19,14.24 18.38,14.1C19.63,13.23 21.69,13.5 21.92,13.77C22.16,14.07 21.86,16.13 20.69,17.11C20.5,17.26 20.33,17.18 20.41,17C20.68,16.32 21.27,14.84 21,14.5Z"},
@@ -877,7 +881,7 @@ internal static class PackIconDataFactory
{PackIconKind.BellAlert,"M23 7V13H21V7M21 15H23V17H21M12 2A2 2 0 0 0 10 4A2 2 0 0 0 10 4.29C7.12 5.14 5 7.82 5 11V17L3 19V20H21V19L19 17V11C19 7.82 16.88 5.14 14 4.29A2 2 0 0 0 14 4A2 2 0 0 0 12 2M10 21A2 2 0 0 0 12 23A2 2 0 0 0 14 21Z"},
{PackIconKind.BellAlertOutline,"M12 2A2 2 0 0 0 10 4A2 2 0 0 0 10 4.29C7.12 5.14 5 7.82 5 11V17L3 19V20H21V19L19 17V11C19 7.82 16.88 5.14 14 4.29A2 2 0 0 0 14 4A2 2 0 0 0 12 2M12 6A5 5 0 0 1 17 11V18H7V11A5 5 0 0 1 12 6M21 7V13H23V7H21M21 15V17H23V15H21M10 21A2 2 0 0 0 12 23A2 2 0 0 0 14 21H10Z"},
{PackIconKind.BellBadge,"M21 6.5C21 8.43 19.43 10 17.5 10S14 8.43 14 6.5 15.57 3 17.5 3 21 4.57 21 6.5M19 11.79C18.5 11.92 18 12 17.5 12C14.47 12 12 9.53 12 6.5C12 5.03 12.58 3.7 13.5 2.71C13.15 2.28 12.61 2 12 2C10.9 2 10 2.9 10 4V4.29C7.03 5.17 5 7.9 5 11V17L3 19V20H21V19L19 17V11.79M12 23C13.11 23 14 22.11 14 21H10C10 22.11 10.9 23 12 23Z"},
- {PackIconKind.BellBadgeOutline,"M21 6.5C21 8.43 19.43 10 17.5 10S14 8.43 14 6.5 15.57 3 17.5 3 21 4.57 21 6.5M11.5 22C12.61 22 13.5 21.11 13.5 20H9.5C9.5 21.11 10.4 22 11.5 22M18 12C17.84 12 17.67 12 17.5 12C17 12 16.5 11.92 16 11.79V17H7V10.5C7 8 9 6 11.5 6C11.68 6 11.85 6.03 12 6.05C12.1 5.06 12.45 4.14 13 3.37C12.92 2.6 12.28 2 11.5 2C10.67 2 10 2.67 10 3.5V4.18C7.13 4.86 5 7.43 5 10.5V16L3 18V19H20V18L18 16V12Z"},
+ {PackIconKind.BellBadgeOutline,"M19 17V11.8C18.5 11.9 18 12 17.5 12H17V18H7V11C7 8.2 9.2 6 12 6C12.1 4.7 12.7 3.6 13.5 2.7C13.2 2.3 12.6 2 12 2C10.9 2 10 2.9 10 4V4.3C7 5.2 5 7.9 5 11V17L3 19V20H21V19L19 17M10 21C10 22.1 10.9 23 12 23S14 22.1 14 21H10M21 6.5C21 8.4 19.4 10 17.5 10S14 8.4 14 6.5 15.6 3 17.5 3 21 4.6 21 6.5"},
{PackIconKind.BellCancel,"M17.5 13A4.5 4.5 0 0 0 13 17.5A4.5 4.5 0 0 0 17.5 22A4.5 4.5 0 0 0 22 17.5A4.5 4.5 0 0 0 17.5 13M17.5 14.5A3 3 0 0 1 20.5 17.5A3 3 0 0 1 20.08 19L16 14.92A3 3 0 0 1 17.5 14.5M14.92 16L19 20.08A3 3 0 0 1 17.5 20.5A3 3 0 0 1 14.5 17.5A3 3 0 0 1 14.92 16M12 2C10.9 2 10 2.9 10 4C10 4.1 10 4.19 10 4.29C7.12 5.14 5 7.82 5 11V17L3 19V20H11.5A6.5 6.5 0 0 1 11 17.5A6.5 6.5 0 0 1 17.5 11A6.5 6.5 0 0 1 19 11.18V11C19 7.82 16.88 5.14 14 4.29C14 4.19 14 4.1 14 4C14 2.9 13.11 2 12 2M10 21C10 22.11 10.9 23 12 23C12.5 23 12.97 22.81 13.33 22.5A6.5 6.5 0 0 1 12.03 21Z"},
{PackIconKind.BellCancelOutline,"M17.5 13A4.5 4.5 0 0 0 13 17.5A4.5 4.5 0 0 0 17.5 22A4.5 4.5 0 0 0 22 17.5A4.5 4.5 0 0 0 17.5 13M17.5 14.5A3 3 0 0 1 20.5 17.5A3 3 0 0 1 20.08 19L16 14.92A3 3 0 0 1 17.5 14.5M14.92 16L19 20.08A3 3 0 0 1 17.5 20.5A3 3 0 0 1 14.5 17.5A3 3 0 0 1 14.92 16M12 2C10.9 2 10 2.9 10 4C10 4.1 10 4.19 10 4.29C7.12 5.14 5 7.82 5 11V17L3 19V20H11.5A6.5 6.5 0 0 1 11.03 18H7V11A5 5 0 0 1 12 6A5 5 0 0 1 17 11V11A6.5 6.5 0 0 1 17.5 11A6.5 6.5 0 0 1 19 11.18V11C19 7.82 16.88 5.14 14 4.29C14 4.19 14 4.1 14 4C14 2.9 13.11 2 12 2M10 21C10 22.11 10.9 23 12 23C12.5 23 12.97 22.81 13.33 22.5A6.5 6.5 0 0 1 12.03 21Z"},
{PackIconKind.BellCheck,"M17.75 21.16L15 18.16L16.16 17L17.75 18.59L21.34 15L22.5 16.41L17.75 21.16M3 20V19L5 17V11C5 7.9 7.03 5.18 10 4.29V4C10 2.9 10.9 2 12 2C13.11 2 14 2.9 14 4V4.29C16.97 5.18 19 7.9 19 11V12.08L18 12C14.69 12 12 14.69 12 18C12 18.7 12.12 19.37 12.34 20H3M12 23C10.9 23 10 22.11 10 21H12.8C13.04 21.41 13.33 21.79 13.65 22.13C13.29 22.66 12.69 23 12 23Z"},
@@ -966,6 +970,8 @@ internal static class PackIconDataFactory
{PackIconKind.BookEditOutline,"M6 20H11V22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V10.3C19.78 10.42 19.57 10.56 19.39 10.74L18 12.13V4H13V12L10.5 9.75L8 12V4H6V20M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96Z"},
{PackIconKind.BookEducation,"M8.82 17L13 19.28V22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V12.54L18.5 11.72L8.82 17M24 17L18.5 14L13 17L18.5 20L24 17M15 19.09V21.09L18.5 23L22 21.09V19.09L18.5 21L15 19.09Z"},
{PackIconKind.BookEducationOutline,"M6 20H13V22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V12.54L18.5 11.72L18 12V4H13V12L10.5 9.75L8 12V4H6V20M24 17L18.5 14L13 17L18.5 20L24 17M15 19.09V21.09L18.5 23L22 21.09V19.09L18.5 21L15 19.09Z"},
+ {PackIconKind.BookHeart,"M19 23.3L18.4 22.8C16.4 20.9 15 19.7 15 18.2C15 17 16 16 17.2 16C17.9 16 18.6 16.3 19 16.8C19.4 16.3 20.1 16 20.8 16C22 16 23 16.9 23 18.2C23 19.7 21.6 20.9 19.6 22.8L19 23.3M6 22C4.89 22 4 21.1 4 20V4C4 2.89 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V13.08L19 13C15.69 13 13 15.69 13 19C13 20.09 13.29 21.12 13.8 22H6Z"},
+ {PackIconKind.BookHeartOutline,"M19 23.3L18.4 22.8C16.4 20.9 15 19.7 15 18.2C15 17 16 16 17.2 16C17.9 16 18.6 16.3 19 16.8C19.4 16.3 20.1 16 20.8 16C22 16 23 16.9 23 18.2C23 19.7 21.6 20.9 19.6 22.8L19 23.3M18 2C19.1 2 20 2.9 20 4V13.08L19 13L18 13.08V4H13V12L10.5 9.75L8 12V4H6V20H13.08C13.2 20.72 13.45 21.39 13.8 22H6C4.9 22 4 21.1 4 20V4C4 2.9 4.9 2 6 2H18Z"},
{PackIconKind.BookInformationVariant,"M18 2H12V9L9.5 7.5L7 9V2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V4C20 2.89 19.1 2 18 2M17.68 18.41C17.57 18.5 16.47 19.25 16.05 19.5C15.63 19.79 14 20.72 14.26 18.92C14.89 15.28 16.11 13.12 14.65 14.06C14.27 14.29 14.05 14.43 13.91 14.5C13.78 14.61 13.79 14.6 13.68 14.41S13.53 14.23 13.67 14.13C13.67 14.13 15.9 12.34 16.72 12.28C17.5 12.21 17.31 13.17 17.24 13.61C16.78 15.46 15.94 18.15 16.07 18.54C16.18 18.93 17 18.31 17.44 18C17.44 18 17.5 17.93 17.61 18.05C17.72 18.22 17.83 18.3 17.68 18.41M16.97 11.06C16.4 11.06 15.94 10.6 15.94 10.03C15.94 9.46 16.4 9 16.97 9C17.54 9 18 9.46 18 10.03C18 10.6 17.54 11.06 16.97 11.06Z"},
{PackIconKind.BookLock,"M14.2 14.5V14.74C13.5 15.34 13 16.24 13 17.2V20.7C13 21.16 13.1 21.6 13.27 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V10.11C19.68 10.04 19.34 10 19 10C16.4 10 14.2 12.06 14.2 14.5M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z"},
{PackIconKind.BookLockOpen,"M14.2 13.5V14.74C13.5 15.34 13 16.24 13 17.2V20.7C13 21.16 13.1 21.6 13.27 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V9.11C19.68 9.04 19.34 9 19 9C16.4 9 14.2 11.06 14.2 13.5M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z"},
@@ -1133,6 +1139,7 @@ internal static class PackIconDataFactory
{PackIconKind.Broom,"M19.36,2.72L20.78,4.14L15.06,9.85C16.13,11.39 16.28,13.24 15.38,14.44L9.06,8.12C10.26,7.22 12.11,7.37 13.65,8.44L19.36,2.72M5.93,17.57C3.92,15.56 2.69,13.16 2.35,10.92L7.23,8.83L14.67,16.27L12.58,21.15C10.34,20.81 7.94,19.58 5.93,17.57Z"},
{PackIconKind.Brush,"M20.71,4.63L19.37,3.29C19,2.9 18.35,2.9 17.96,3.29L9,12.25L11.75,15L20.71,6.04C21.1,5.65 21.1,5 20.71,4.63M7,14A3,3 0 0,0 4,17C4,18.31 2.84,19 2,19C2.92,20.22 4.5,21 6,21A4,4 0 0,0 10,17A3,3 0 0,0 7,14Z"},
{PackIconKind.BrushOff,"M20.8 22.7L12.4 14.3L11.8 15L9 12.2L9.7 11.5L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M7 14C5.3 14 4 15.3 4 17C4 18.3 2.8 19 2 19C2.9 20.2 4.5 21 6 21C8.2 21 10 19.2 10 17C10 15.3 8.7 14 7 14M20.7 6C21.1 5.6 21.1 5 20.7 4.6L19.4 3.3C19 2.9 18.4 2.9 18 3.3L12.2 9L15 11.8L20.7 6Z"},
+ {PackIconKind.BrushOutline,"M7 16C7.55 16 8 16.45 8 17C8 18.1 7.1 19 6 19C5.83 19 5.67 19 5.5 18.95C5.81 18.4 6 17.74 6 17C6 16.45 6.45 16 7 16M18.67 3C18.41 3 18.16 3.1 17.96 3.29L9 12.25L11.75 15L20.71 6.04C21.1 5.65 21.1 5 20.71 4.63L19.37 3.29C19.17 3.09 18.92 3 18.67 3M7 14C5.34 14 4 15.34 4 17C4 18.31 2.84 19 2 19C2.92 20.22 4.5 21 6 21C8.21 21 10 19.21 10 17C10 15.34 8.66 14 7 14Z"},
{PackIconKind.BrushVariant,"M8 3C5.79 3 4 4.79 4 7V14C4 15.1 4.9 16 6 16H9V20C9 21.1 9.9 22 11 22H13C14.1 22 15 21.1 15 20V16H18C19.1 16 20 15.1 20 14V3H8M8 5H12V7H14V5H15V9H17V5H18V10H6V7C6 5.9 6.9 5 8 5M6 14V12H18V14H6Z"},
{PackIconKind.Bucket,"M3 4H21V7H20L17.5 21H6.5L4 7H3V4Z"},
{PackIconKind.BucketOutline,"M3 4H21V7H20L17.5 21H6.5L4 7H3V4M17.97 7H6.03L8.15 19H15.85L17.97 7Z"},
@@ -1253,6 +1260,8 @@ internal static class PackIconDataFactory
{PackIconKind.CameraGopro,"M20,5H15A2,2 0 0,0 13,7V12A2,2 0 0,0 15,14H20A2,2 0 0,0 22,12V7A2,2 0 0,0 20,5M17.5,12.5A3,3 0 0,1 14.5,9.5A3,3 0 0,1 17.5,6.5A3,3 0 0,1 20.5,9.5A3,3 0 0,1 17.5,12.5M17.5,11A1.5,1.5 0 0,1 16,9.5A1.5,1.5 0 0,1 17.5,8A1.5,1.5 0 0,1 19,9.5A1.5,1.5 0 0,1 17.5,11M12,15V5H4A2,2 0 0,0 2,7V17A2,2 0 0,0 4,19H20A2,2 0 0,0 22,17V15H12M10,12H4V7H10V12Z"},
{PackIconKind.CameraImage,"M4,5H7L9,3H15L17,5H20A2,2 0 0,1 22,7V19A2,2 0 0,1 20,21H4A2,2 0 0,1 2,19V7A2,2 0 0,1 4,5M13.09,9.45L11.05,12.18L12.6,14.25L11.73,14.91L9.27,11.64L6,16H18L13.09,9.45Z"},
{PackIconKind.CameraIris,"M13.73,15L9.83,21.76C10.53,21.91 11.25,22 12,22C14.4,22 16.6,21.15 18.32,19.75L14.66,13.4M2.46,15C3.38,17.92 5.61,20.26 8.45,21.34L12.12,15M8.54,12L4.64,5.25C3,7 2,9.39 2,12C2,12.68 2.07,13.35 2.2,14H9.69M21.8,10H14.31L14.6,10.5L19.36,18.75C21,16.97 22,14.6 22,12C22,11.31 21.93,10.64 21.8,10M21.54,9C20.62,6.07 18.39,3.74 15.55,2.66L11.88,9M9.4,10.5L14.17,2.24C13.47,2.09 12.75,2 12,2C9.6,2 7.4,2.84 5.68,4.25L9.34,10.6L9.4,10.5Z"},
+ {PackIconKind.CameraLock,"M4 4H7L9 2H15L17 4H20C21.11 4 22 4.89 22 6V12C21.16 11.37 20.13 11 19 11C18.21 11 17.46 11.18 16.79 11.5C16.18 9.22 14.27 7 12 7C9.24 7 7 9.24 7 12C7 14.76 9.24 17 12 17C12.42 17 12.84 16.95 13.23 16.85C13.08 17.2 13 17.59 13 18V20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4M12 9C13.66 9 15 10.34 15 12C15 13.66 13.66 15 12 15C10.34 15 9 13.66 9 12C9 10.34 10.34 9 12 9M23 18.3V21.8C23 22.4 22.4 23 21.7 23H16.2C15.6 23 15 22.4 15 21.7V18.2C15 17.6 15.6 17 16.2 17V15.5C16.2 14.1 17.6 13 19 13C20.4 13 21.8 14.1 21.8 15.5V17C22.4 17 23 17.6 23 18.3M20.5 15.5C20.5 14.7 19.8 14.2 19 14.2C18.2 14.2 17.5 14.7 17.5 15.5V17H20.5V15.5Z"},
+ {PackIconKind.CameraLockOutline,"M23 18.3V21.8C23 22.4 22.4 23 21.7 23H16.2C15.6 23 15 22.4 15 21.7V18.2C15 17.6 15.6 17 16.2 17V15.5C16.2 14.1 17.6 13 19 13C20.4 13 21.8 14.1 21.8 15.5V17C22.4 17 23 17.6 23 18.3M20.5 15.5C20.5 14.7 19.8 14.2 19 14.2C18.2 14.2 17.5 14.7 17.5 15.5V17H20.5V15.5M20 4C21.1 4 22 4.9 22 6V12C21.42 11.56 20.74 11.25 20 11.1V6H15.95L14.12 4H9.88L8.05 6H4V18H13V20H4C2.9 20 2 19.1 2 18V6C2 4.9 2.9 4 4 4H7.17L9 2H15L16.83 4H20M12 7C14.57 7 16.68 8.94 16.97 11.43C15.29 12.18 14.1 13.83 14 15.76C13.67 16.06 13.4 16.43 13.23 16.85C12.84 16.95 12.42 17 12 17C9.24 17 7 14.76 7 12C7 9.24 9.24 7 12 7M12 15C13.65 15 15 13.65 15 12C15 10.35 13.65 9 12 9C10.35 9 9 10.35 9 12C9 13.65 10.35 15 12 15Z"},
{PackIconKind.CameraMarker,"M18.5 16.8C17.8 16.8 17.3 16.2 17.3 15.6C17.3 14.9 17.9 14.4 18.5 14.4S19.7 15 19.7 15.6C19.8 16.2 19.2 16.8 18.5 16.8M18.5 12C16.6 12 15 13.6 15 15.5C15 18.1 18.5 22 18.5 22S22 18.1 22 15.5C22 13.6 20.4 12 18.5 12M9 2L7 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H14.5C13.9 19.1 13.4 18.1 13.1 16.9C12.8 17 12.4 17 12 17C9.2 17 7 14.8 7 12S9.2 7 12 7C14.1 7 16 8.3 16.7 10.3C17.3 10.1 17.9 10 18.5 10C19.8 10 21 10.5 22 11.3V6C22 4.9 21.1 4 20 4H17L15 2H9M11.9 9C10.3 9 9 10.4 9 12C9 13.7 10.3 15 12 15C12.4 15 12.7 14.9 13 14.8C13.2 13.4 13.9 12.2 14.9 11.3C14.6 10 13.4 9 11.9 9C12 9 12 9 11.9 9Z"},
{PackIconKind.CameraMarkerOutline,"M18.5 16.8C17.8 16.8 17.3 16.2 17.3 15.6C17.3 14.9 17.9 14.4 18.5 14.4S19.7 15 19.7 15.6C19.8 16.2 19.2 16.8 18.5 16.8M18.5 12C16.6 12 15 13.6 15 15.5C15 18.1 18.5 22 18.5 22S22 18.1 22 15.5C22 13.6 20.4 12 18.5 12M9 2L7.2 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H14.5C14.1 19.4 13.7 18.7 13.5 18H4V6H8.1L9.9 4H14.1L15.9 6H20V10.2C20.7 10.4 21.4 10.8 22 11.3V6C22 4.9 21.1 4 20 4H16.8L15 2H9M12 7C9.2 7 7 9.2 7 12S9.2 17 12 17C12.4 17 12.8 17 13.2 16.9C13.1 16.4 13 16 13 15.5V14.8C12.7 14.9 12.3 15 12 15C10.3 15 9 13.7 9 12S10.3 9 12 9C13.4 9 14.6 10 14.9 11.3C15.4 10.9 16 10.5 16.7 10.3C16 8.3 14.1 7 12 7Z"},
{PackIconKind.CameraMeteringCenter,"M4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4M4,6V18H20V6H4M12,10.5A1.5,1.5 0 0,1 13.5,12A1.5,1.5 0 0,1 12,13.5A1.5,1.5 0 0,1 10.5,12A1.5,1.5 0 0,1 12,10.5M12,7.5C14.14,7.5 15.93,9 16.39,11H14.83C14.42,9.83 13.31,9 12,9C10.69,9 9.58,9.83 9.17,11H7.61C8.07,9 9.86,7.5 12,7.5M12,16.5C9.86,16.5 8.07,15 7.61,13H9.17C9.58,14.17 10.69,15 12,15C13.31,15 14.42,14.17 14.83,13H16.39C15.93,15 14.14,16.5 12,16.5Z"},
@@ -2597,7 +2606,7 @@ internal static class PackIconDataFactory
{PackIconKind.Feather,"M22,2C22,2 14.36,1.63 8.34,9.88C3.72,16.21 2,22 2,22L3.94,21C5.38,18.5 6.13,17.47 7.54,16C10.07,16.74 12.71,16.65 15,14C13,13.44 11.4,13.57 9.04,13.81C11.69,12 13.5,11.6 16,12L17,10C15.2,9.66 14,9.63 12.22,10.04C14.19,8.65 15.56,7.87 18,8L19.21,6.07C17.65,5.96 16.71,6.13 14.92,6.57C16.53,5.11 18,4.45 20.14,4.32C20.14,4.32 21.19,2.43 22,2Z"},
{PackIconKind.FeatureSearch,"M20,20A2,2 0 0,1 18,22H4A2,2 0 0,1 2,20V6A2,2 0 0,1 4,4H9.5C9.2,4.8 9,5.6 9,6.5C9,10.1 11.9,13 15.5,13C16.3,13 17,12.9 17.6,12.6L20,15V20M19.3,8.9C19.7,8.2 20,7.4 20,6.5C20,4 18,2 15.5,2C13,2 11,4 11,6.5C11,9 13,11 15.5,11C16.4,11 17.2,10.7 17.9,10.3L21,13.4L22.4,12L19.3,8.9M15.5,9C14.1,9 13,7.9 13,6.5C13,5.1 14.1,4 15.5,4C16.9,4 18,5.1 18,6.5C18,7.9 16.9,9 15.5,9Z"},
{PackIconKind.FeatureSearchOutline,"M15.5,2C13,2 11,4 11,6.5C11,9 13,11 15.5,11C16.4,11 17.2,10.7 17.9,10.3L21,13.4L22.4,12L19.3,8.9C19.7,8.2 20,7.4 20,6.5C20,4 18,2 15.5,2M4,4A2,2 0 0,0 2,6V20A2,2 0 0,0 4,22H18A2,2 0 0,0 20,20V15L18,13V20H4V6H9.03C9.09,5.3 9.26,4.65 9.5,4H4M15.5,4C16.9,4 18,5.1 18,6.5C18,7.9 16.9,9 15.5,9C14.1,9 13,7.9 13,6.5C13,5.1 14.1,4 15.5,4Z"},
- {PackIconKind.Fedora,"M4.4,22C3.07,22 2,20.93 2,19.6V12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22H4.4M14.9,4.4C12.3,4.4 10.2,6.5 10.2,9.1V11.6H8.3C7.69,11.6 7.2,12.09 7.2,12.7C7.2,13.31 7.69,13.8 8.3,13.8H9.8C10,13.8 10.2,14 10.2,14.2V16.3C10.2,17.68 9.08,18.8 7.7,18.8C7.55,18.8 7.41,18.79 7.27,18.76C7.19,18.74 7.1,18.73 7,18.73C6.41,18.73 5.91,19.23 5.91,19.83C5.91,20.37 6.3,20.81 6.8,20.91V20.91C7.09,20.97 7.39,21 7.7,21C10.3,21 12.4,18.9 12.4,16.3V13.8H14.3C14.91,13.8 15.4,13.31 15.4,12.7A1.1,1.1 0 0,0 14.3,11.6H12.8A0.4,0.4 0 0,1 12.4,11.2V9.1A2.5,2.5 0 0,1 14.9,6.6C15.05,6.6 15.2,6.61 15.34,6.64C15.42,6.66 15.5,6.67 15.59,6.67C16.19,6.67 16.69,6.17 16.69,5.57C16.69,5.03 16.3,4.58 15.8,4.5V4.5C15.5,4.43 15.21,4.4 14.9,4.4M6.8,12.7C6.8,12.58 6.81,12.46 6.84,12.34L6.31,11.81C6.1,11.87 5.89,11.95 5.7,12.05L6.91,13.26C6.84,13.08 6.8,12.9 6.8,12.7M6.54,18.5H6.47L6.5,18.5H6.54M5.61,19.83C5.61,19.6 5.67,19.38 5.77,19.19L3,16.42C3,16.76 3.05,17.08 3.13,17.4L5.61,19.88V19.83M5.86,20.63C5.77,20.5 5.71,20.37 5.67,20.22L3.24,17.79C3.67,19.07 4.63,20.1 5.86,20.63M15.8,12.7C15.8,12.82 15.79,12.94 15.76,13.06L16.29,13.59C16.5,13.53 16.71,13.45 16.9,13.35L15.69,12.14C15.76,12.32 15.8,12.5 15.8,12.7M16.06,6.88L16.13,6.92L16.08,6.88H16.06M17,5.57C17,5.8 16.93,6 16.83,6.21L19.6,9C19.59,8.64 19.55,8.32 19.47,8L17,5.5V5.57M16.74,4.77C16.83,4.9 16.89,5.03 16.93,5.18L19.36,7.61C18.93,6.33 17.97,5.3 16.74,4.77M16.07,13.65L15.69,13.27C15.61,13.46 15.5,13.63 15.35,13.78V13.78C15.6,13.76 15.84,13.71 16.07,13.65M18.23,12.42L16.67,10.86C16.53,11 16.37,11.13 16.2,11.24L17.78,12.82C17.94,12.69 18.09,12.56 18.23,12.42M17.62,12.94L16,11.34C15.82,11.44 15.61,11.5 15.39,11.55L17.09,13.26C17.27,13.16 17.45,13.05 17.62,12.94M18.75,11.8L17.15,10.2C17.05,10.39 16.94,10.56 16.81,10.71L18.37,12.27C18.5,12.12 18.63,11.97 18.75,11.8M19.16,11.09L17.39,9.32C17.37,9.56 17.32,9.79 17.23,10L18.86,11.63C18.97,11.46 19.07,11.28 19.16,11.09M19.6,9.26L16.72,6.38C16.6,6.55 16.45,6.69 16.28,6.79L19.5,10C19.56,9.77 19.59,9.5 19.6,9.26M19.46,10.25L17.08,7.87C17.27,8.22 17.39,8.62 17.4,9.04L19.25,10.89C19.33,10.68 19.4,10.47 19.46,10.25M4.82,12.58C4.66,12.71 4.5,12.84 4.37,13L5.93,14.54C6.07,14.4 6.23,14.27 6.4,14.16L4.82,12.58M5.5,12.14C5.33,12.24 5.15,12.35 5,12.46L6.58,14.06C6.78,13.96 7,13.89 7.21,13.85L5.5,12.14M7.25,11.62C7,11.64 6.76,11.69 6.53,11.75L6.91,12.13C7,11.94 7.11,11.77 7.25,11.62V11.62M3.09,15.38C3.04,15.63 3,15.88 3,16.14L5.88,19C6,18.85 6.15,18.71 6.32,18.61L3.09,15.38M3.74,13.77C3.63,13.94 3.53,14.12 3.44,14.31L5.21,16.08C5.23,15.84 5.28,15.61 5.37,15.4L3.74,13.77M3.35,14.5C3.27,14.72 3.2,14.93 3.14,15.15L5.5,17.53C5.33,17.18 5.21,16.78 5.2,16.36L3.35,14.5M4.23,13.13C4.1,13.28 3.97,13.43 3.85,13.6L5.45,15.2C5.55,15 5.66,14.84 5.79,14.69L4.23,13.13Z"},
+ {PackIconKind.Fedora,"M12 2C6.5 2 2 6.47 2 12H2V19.73H2C2 21 3 22 4.27 22H12C17.53 22 22 17.5 22 12C22 6.5 17.5 2 12 2M14.03 6.12C15.71 6.12 17.29 7.4 17.29 9.18C17.29 9.34 17.29 9.5 17.27 9.69C17.22 10.16 16.79 10.5 16.32 10.44C15.85 10.37 15.53 9.92 15.62 9.46C15.62 9.4 15.63 9.32 15.63 9.18C15.63 8.17 14.81 7.78 14.03 7.78C13.25 7.78 12.55 8.44 12.55 9.18C12.56 10.03 12.55 10.88 12.55 11.74L14 11.72C15.12 11.7 15.13 13.4 14 13.39L12.55 13.4L12.54 15.79C12.36 17.67 10.77 19.16 8.85 19.16C6.82 19.16 5.14 17.5 5.14 15.46C5.2 13.37 6.88 11.72 9 11.74L10.15 11.73V13.4L9 13.41H8.97C7.81 13.44 6.82 14.23 6.81 15.47C6.81 16.59 7.72 17.5 8.85 17.5C10 17.5 10.88 16.67 10.88 15.47C10.9 13.46 10.87 11.25 10.88 9.17C10.88 9.05 10.89 8.96 10.9 8.83C11.09 7.29 12.47 6.12 14.03 6.12"},
{PackIconKind.Fence,"M9 9V11H7V9H5V11H3V9H1V21H3V19H5V21H7V19H9V21H11V19H13V21H15V19H17V21H19V19H21V21H23V9H21V11H19V9H17V11H15V9H13V11H11V9H9M3 13H5V17H3V13M7 13H9V17H7V13M11 13H13V17H11V13M15 13H17V17H15V13M19 13H21V17H19V13Z"},
{PackIconKind.FenceElectric,"M9 9V11H7V9H5V11H3V9H1V21H3V19H5V21H7V19H9V21H11V19H13V21H15V19H17V21H19V19H21V21H23V9H21V11H19V9H17V11H15V9H13V11H11V9H9M3 13H5V17H3V13M7 13H9V17H7V13M11 13H13V17H11V13M15 13H17V17H15V13M19 13H21V17H19V13M7 4H11V2L17 5H13V7L7 4Z"},
{PackIconKind.Fencing,"M4.5 17.42L5.58 18.5L3.28 20.78C3 21.07 2.5 21.07 2.22 20.78S1.93 20 2.22 19.72L4.5 17.42M18.29 5.42L18.29 4L12 10.29L5.71 4L5.71 5.42L11.29 11L7.5 14.81C6.32 13.97 4.68 14.07 3.63 15.12L7.88 19.37C8.93 18.32 9.03 16.68 8.2 15.5L18.29 5.42M21.78 19.72L19.5 17.42L18.42 18.5L20.72 20.78C21 21.07 21.5 21.07 21.78 20.78S22.07 20 21.78 19.72M16.5 14.81L13.42 11.71L12.71 12.42L15.81 15.5C14.97 16.68 15.07 18.32 16.12 19.37L20.37 15.12C19.32 14.07 17.68 13.97 16.5 14.81Z"},
@@ -3138,6 +3147,7 @@ internal static class PackIconDataFactory
{PackIconKind.FruitCitrusOff,"M22.1 21.5L2.4 1.7L1.1 3L4.4 6.3C3.4 7.5 2.9 8.9 2.8 10.2C2.1 10.7 1.8 11.5 2.1 12.3C2.4 13.1 3.2 13.6 4 13.6C5.1 14.9 6.9 15.7 9 15.9C9.1 14.5 9.6 13.3 10.3 12.2L11.8 13.7C11.3 14.5 11 15.5 11 16.5C11 19.5 13.5 22 16.5 22C17.5 22 18.5 21.7 19.3 21.2L20.8 22.7L22.1 21.5M13 16.5C13 16 13.1 15.6 13.3 15.1L15 16.8L13.3 18C13.1 17.5 13 17 13 16.5M13.9 18.8L15.7 17.6L16 17.9V20C15.2 19.8 14.4 19.4 13.9 18.8M17 19.9V18.9L17.8 19.7C17.5 19.8 17.3 19.9 17 19.9M20 16.8V16.5C20 16 19.9 15.5 19.7 15L18.8 15.6L18.1 14.9L19.1 14.2C18.6 13.6 17.8 13.2 17 13V13.8L14.6 11.4C15.2 11.2 15.9 11 16.5 11C19.5 11 22 13.5 22 16.5C22 17.2 21.9 17.8 21.6 18.4L20 16.8M13 9.8L7.1 3.9C7.9 3.4 8.8 3 9.7 2.7C13.8 1.3 18 2.1 20 4.4C20.8 4.4 21.6 4.9 21.9 5.7C22.2 6.5 21.9 7.3 21.2 7.8C21.2 8.6 21 9.4 20.6 10.2C19.4 9.5 18 9 16.5 9C15.3 9 14.1 9.3 13 9.8Z"},
{PackIconKind.FruitGrapes,"M14 12C14 13.1 13.1 14 12 14S10 13.1 10 12 10.9 10 12 10 14 10.9 14 12M7 10C5.9 10 5 10.9 5 12S5.9 14 7 14 9 13.1 9 12 8.1 10 7 10M17 10C15.9 10 15 10.9 15 12S15.9 14 17 14 19 13.1 19 12 18.1 10 17 10M14.5 6C13.4 6 12.5 6.9 12.5 8S13.4 10 14.5 10 16.5 9.1 16.5 8 15.6 6 14.5 6M9.5 6C8.4 6 7.5 6.9 7.5 8S8.4 10 9.5 10 11.5 9.1 11.5 8 10.6 6 9.5 6M14.5 14C13.4 14 12.5 14.9 12.5 16S13.4 18 14.5 18 16.5 17.1 16.5 16 15.6 14 14.5 14M9.5 14C8.4 14 7.5 14.9 7.5 16S8.4 18 9.5 18 11.5 17.1 11.5 16 10.6 14 9.5 14M12 18C10.9 18 10 18.9 10 20S10.9 22 12 22 14 21.1 14 20 13.1 18 12 18M14.4 2.2L13.6 1C11.4 2 11.2 5.6 11.2 6H12.7C12.8 5.2 13.1 2.7 14.4 2.2Z"},
{PackIconKind.FruitGrapesOutline,"M19 12C19 10.61 18.05 9.47 16.78 9.12C16.92 8.78 17 8.4 17 8C17 6.34 15.66 5 14 5C13.57 5 13.17 5.1 12.81 5.26C13 4.19 13.39 2.59 14.4 2.2L13.6 1C11.9 1.77 11.4 4.09 11.26 5.29C10.87 5.11 10.45 5 10 5C8.34 5 7 6.34 7 8C7 8.4 7.08 8.77 7.22 9.12C5.94 9.46 5 10.62 5 12C5 13.39 5.95 14.54 7.23 14.88C7.09 15.22 7 15.6 7 16C7 17.39 7.94 18.54 9.22 18.88C9.08 19.23 9 19.61 9 20C9 21.66 10.34 23 12 23S15 21.66 15 20C15 19.61 14.92 19.23 14.78 18.88C16.06 18.54 17 17.39 17 16C17 15.6 16.92 15.23 16.77 14.88C18.05 14.54 19 13.39 19 12M16.31 9.88V9.9H16.3L16.31 9.88M14 6.5C14.83 6.5 15.5 7.17 15.5 8S14.83 9.5 14 9.5 12.5 8.83 12.5 8 13.17 6.5 14 6.5M13.5 12C13.5 12.83 12.83 13.5 12 13.5S10.5 12.83 10.5 12 11.17 10.5 12 10.5 13.5 11.17 13.5 12M10 6.5C10.83 6.5 11.5 7.17 11.5 8S10.83 9.5 10 9.5 8.5 8.83 8.5 8 9.17 6.5 10 6.5M6.5 12C6.5 11.17 7.17 10.5 8 10.5S9.5 11.17 9.5 12 8.83 13.5 8 13.5 6.5 12.83 6.5 12M8.5 16C8.5 15.17 9.17 14.5 10 14.5S11.5 15.17 11.5 16 10.83 17.5 10 17.5 8.5 16.83 8.5 16M12 21.5C11.17 21.5 10.5 20.83 10.5 20S11.17 18.5 12 18.5 13.5 19.17 13.5 20 12.83 21.5 12 21.5M14 17.5C13.17 17.5 12.5 16.83 12.5 16S13.17 14.5 14 14.5 15.5 15.17 15.5 16 14.83 17.5 14 17.5M16 13.5C15.17 13.5 14.5 12.83 14.5 12S15.17 10.5 16 10.5 17.5 11.17 17.5 12 16.83 13.5 16 13.5Z"},
+ {PackIconKind.FruitPear,"M18 16C18 19.31 15.31 22 12 22C8.69 22 6 19.31 6 16C6 13 8 13 8 10C8 8.56 8.75 7.22 10 6.5C10.4 6.27 10.82 6.12 11.25 6.04V5C11.25 4.63 11.17 4.42 11.03 4.28C10.9 4.14 10.63 4 10 4V2.5C10.88 2.5 11.6 2.73 12.09 3.22C12.58 3.71 12.75 4.38 12.75 5V6.04C13.18 6.12 13.61 6.27 14 6.5C15.25 7.22 16 8.56 16 10C16 13 18 13 18 16Z"},
{PackIconKind.FruitPineapple,"M14.4 7.7C16.4 6.4 19 7 19 7C17.2 4.6 15.1 4.7 13.6 5.2V5C14.7 3.4 16.9 3.5 16.9 3.5C15.3 2.1 13.9 2.5 13 3C12.5 1.8 12 1 12 1C11.6 1.7 11.3 2.4 11 3.1C10.1 2.5 8.6 2.1 7 3.5C7 3.5 9.3 3.5 10.4 5.2C8.9 4.7 6.8 4.6 5 7C5 7 7.6 6.4 9.6 7.7C7.5 8.9 6 11.7 6 15C6 19.4 8.7 23 12 23S18 19.4 18 15C18 11.7 16.5 8.9 14.4 7.7M15.8 16.8C15.7 17.2 15.6 17.6 15.4 18L14 16L12.5 18L14.1 20.1C13.8 20.3 13.6 20.5 13.3 20.7L12 19L10.7 20.7C10.4 20.6 10.1 20.4 9.9 20.1L11.5 18L10 16L8.5 17.9C8.4 17.5 8.2 17.1 8.1 16.7L9.5 15L8.2 13.2C8.3 12.8 8.4 12.4 8.6 12L10 14L11.5 12L9.9 9.9C10.2 9.7 10.4 9.5 10.7 9.3L12 11L13.3 9.3C13.6 9.4 13.9 9.6 14.1 9.9L12.5 12L14 14L15.5 12.1C15.6 12.5 15.8 12.9 15.9 13.3L14.5 15L15.8 16.8M12 13L13.5 15L12 17L10.5 15L12 13Z"},
{PackIconKind.FruitWatermelon,"M16.4 16.4C19.8 13 19.8 7.5 16.4 4.2L4.2 16.4C7.5 19.8 13 19.8 16.4 16.4M16 7C16.6 7 17 7.4 17 8C17 8.6 16.6 9 16 9S15 8.6 15 8C15 7.4 15.4 7 16 7M16 11C16.6 11 17 11.4 17 12C17 12.6 16.6 13 16 13S15 12.6 15 12C15 11.4 15.4 11 16 11M12 11C12.6 11 13 11.4 13 12C13 12.6 12.6 13 12 13S11 12.6 11 12C11 11.4 11.4 11 12 11M12 15C12.6 15 13 15.4 13 16C13 16.6 12.6 17 12 17S11 16.6 11 16C11 15.4 11.4 15 12 15M8 17C7.4 17 7 16.6 7 16C7 15.4 7.4 15 8 15S9 15.4 9 16C9 16.6 8.6 17 8 17M18.6 18.6C14 23.2 6.6 23.2 2 18.6L3.4 17.2C7.2 21 13.3 21 17.1 17.2C20.9 13.4 20.9 7.3 17.1 3.5L18.6 2C23.1 6.6 23.1 14 18.6 18.6Z"},
{PackIconKind.Fuel,"M3,2H6C6.28,2 6.53,2.11 6.71,2.29L8.79,4.38L9.59,3.59C10,3.2 10.5,3 11,3H17C17.5,3 18,3.2 18.41,3.59L19.41,4.59C19.8,5 20,5.5 20,6V19A2,2 0 0,1 18,21H8A2,2 0 0,1 6,19V13L6,12V8C6,7.5 6.2,7 6.59,6.59L7.38,5.79L5.59,4H3V2M11,5V7H17V5H11M11.41,11L9.41,9H8V10.41L10,12.41V15.59L8,17.59V19H9.41L11.41,17H14.59L16.59,19H18V17.59L16,15.59V12.41L18,10.41V9H16.59L14.59,11H11.41M12,13H14V15H12V13Z"},
@@ -3184,6 +3194,7 @@ internal static class PackIconDataFactory
{PackIconKind.GarageOpenVariant,"M22 9V20H20V11H4V20H2V9L12 5L22 9M19 12H5V14H19V12Z"},
{PackIconKind.GarageVariant,"M22 9V20H20V11H4V20H2V9L12 5L22 9M19 12H5V14H19V12M19 18H5V20H19V18M19 15H5V17H19V15Z"},
{PackIconKind.GarageVariantLock,"M21.8 16V14.5C21.8 13.1 20.4 12 19 12S16.2 13.1 16.2 14.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16M20.5 16H17.5V14.5C17.5 13.7 18.2 13.2 19 13.2S20.5 13.7 20.5 14.5V16M5 12H15.04C14.61 12.59 14.35 13.27 14.26 14H5V12M16.06 11H4V20H2V9L12 5L22 9V11.04C21.17 10.4 20.13 10 19 10C17.9 10 16.88 10.39 16.06 11M13 20H5V18H13V20M5 15H13.95C13.42 15.54 13.08 16.24 13 17H5V15Z"},
+ {PackIconKind.GasBurner,"M16.14 8.79L16.12 8.8C16.35 9.07 16.55 9.39 16.7 9.72L16.79 9.91C17.5 11.6 17 13.55 15.69 14.77C14.5 15.86 12.84 16.15 11.3 15.95C9.84 15.77 8.5 14.85 7.73 13.58C7.5 13.19 7.3 12.75 7.2 12.3C7.07 11.93 7.03 11.57 7 11.2C6.91 9.6 7.55 7.9 8.76 6.9C8.21 8.11 8.34 9.62 9.15 10.67L9.26 10.8C9.4 10.92 9.57 10.96 9.73 10.89C9.88 10.83 10 10.68 10 10.5L9.93 10.28C9.05 7.96 9.79 5.25 11.66 3.72C12.17 3.3 12.8 2.92 13.46 2.75C12.78 4.11 13 5.89 14.09 6.96C14.55 7.43 15.1 7.74 15.58 8.18L16.14 8.79M13.86 13.43L13.85 13.42C14.3 13.03 14.55 12.36 14.53 11.76L14.5 11.44C14.3 10.44 13.43 10.11 12.87 9.38C12.7 9.16 12.55 8.88 12.44 8.6C12.22 9.1 12.2 9.57 12.29 10.11C12.39 10.68 12.62 11.17 12.5 11.76C12.34 12.41 11.83 13.06 10.94 13.27C11.44 13.76 12.25 14.15 13.06 13.87C13.32 13.8 13.65 13.61 13.86 13.43M11 18V19C11 19.55 11.45 20 12 20C12.55 20 13 19.55 13 19V18H15V19C15 19.55 15.45 20 16 20C16.55 20 17 19.55 17 19V18C18.11 18 20 18.9 20 20V22H4V20C4 18.9 5.9 18 7 18V19C7 19.55 7.45 20 8 20C8.55 20 9 19.55 9 19V18H11Z"},
{PackIconKind.GasCylinder,"M16,9V14L16,20A2,2 0 0,1 14,22H10A2,2 0 0,1 8,20V14L8,9C8,7.14 9.27,5.57 11,5.13V4H9V2H15V4H13V5.13C14.73,5.57 16,7.14 16,9Z"},
{PackIconKind.GasStation,"M18,10A1,1 0 0,1 17,9A1,1 0 0,1 18,8A1,1 0 0,1 19,9A1,1 0 0,1 18,10M12,10H6V5H12M19.77,7.23L19.78,7.22L16.06,3.5L15,4.56L17.11,6.67C16.17,7 15.5,7.93 15.5,9A2.5,2.5 0 0,0 18,11.5C18.36,11.5 18.69,11.42 19,11.29V18.5A1,1 0 0,1 18,19.5A1,1 0 0,1 17,18.5V14C17,12.89 16.1,12 15,12H14V5C14,3.89 13.1,3 12,3H6C4.89,3 4,3.89 4,5V21H14V13.5H15.5V18.5A2.5,2.5 0 0,0 18,21A2.5,2.5 0 0,0 20.5,18.5V9C20.5,8.31 20.22,7.68 19.77,7.23Z"},
{PackIconKind.GasStationOff,"M1 4.27L2.28 3L21 21.72L19.73 23L17.71 21C16.56 20.85 15.65 19.94 15.5 18.78L14 17.27V21H4V7.27L1 4.27M18 10C18.55 10 19 9.55 19 9C19 8.45 18.55 8 18 8C17.45 8 17 8.45 17 9C17 9.55 17.45 10 18 10M12 10V5H6.82L5.06 3.23C5.34 3.08 5.66 3 6 3H12C13.1 3 14 3.89 14 5V12H15C16.1 12 17 12.89 17 14V15.18L11.82 10H12M6 10H6.73L6 9.27V10M19.77 7.23C20.22 7.68 20.5 8.31 20.5 9L20.5 18.67L19 17.18V11.29C18.69 11.42 18.36 11.5 18 11.5C16.62 11.5 15.5 10.38 15.5 9C15.5 7.93 16.17 7.03 17.11 6.67L15 4.56L16.06 3.5L19.78 7.22L19.77 7.23Z"},
@@ -3491,6 +3502,8 @@ internal static class PackIconDataFactory
{PackIconKind.HomeCircleOutline,"M12 20C7.6 20 4 16.4 4 12S7.6 4 12 4 20 7.6 20 12 16.4 20 12 20M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M11 14H13V17H16V12H18L12 7L6 12H8V17H11V14"},
{PackIconKind.HomeCity,"M0,21V10L7.5,5L15,10V21H10V14H5V21H0M24,2V21H17V8.93L16,8.27V6H14V6.93L10,4.27V2H24M21,14H19V16H21V14M21,10H19V12H21V10M21,6H19V8H21V6Z"},
{PackIconKind.HomeCityOutline,"M10,2V4.26L12,5.59V4H22V19H17V21H24V2H10M7.5,5L0,10V21H15V10L7.5,5M14,6V6.93L15.61,8H16V6H14M18,6V8H20V6H18M7.5,7.5L13,11V19H10V13H5V19H2V11L7.5,7.5M18,10V12H20V10H18M18,14V16H20V14H18Z"},
+ {PackIconKind.HomeClock,"M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25M23 16C23 19.87 19.87 23 16 23C13.62 23 11.53 21.81 10.26 20H4V12H1L11 3L18 9.29C20.89 10.15 23 12.83 23 16M21 16C21 13.24 18.76 11 16 11S11 13.24 11 16 13.24 21 16 21 21 18.76 21 16Z"},
+ {PackIconKind.HomeClockOutline,"M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25M23 16C23 19.87 19.87 23 16 23C13.62 23 11.53 21.81 10.26 20H4V12H1L11 3L18 9.29C20.89 10.15 23 12.83 23 16M9.29 18C9.11 17.37 9 16.7 9 16C9 12.54 11.5 9.68 14.8 9.11L11 5.69L6 10.19V18H9.29M21 16C21 13.24 18.76 11 16 11S11 13.24 11 16 13.24 21 16 21 21 18.76 21 16Z"},
{PackIconKind.HomeEdit,"M12 3L2 12H5V20H10V14H14V15.11L19.43 9.68L12 3M21.04 11.14C20.9 11.14 20.76 11.2 20.65 11.3L19.65 12.3L21.7 14.35L22.7 13.35C22.91 13.14 22.91 12.79 22.7 12.58L21.42 11.3C21.32 11.2 21.18 11.14 21.04 11.14M19.06 12.88L13 18.94V21H15.06L21.11 14.93L19.06 12.88Z"},
{PackIconKind.HomeEditOutline,"M12 3L2 12H5V20H11V14H13V16.11L15 14.11V12H9V18H7V10.19L12 5.69L17 10.19V12.11L19.43 9.68L12 3M21.04 11.14C20.9 11.14 20.76 11.2 20.65 11.3L19.65 12.3L21.7 14.35L22.7 13.35C22.91 13.14 22.91 12.79 22.7 12.58L21.42 11.3C21.32 11.2 21.18 11.14 21.04 11.14M19.06 12.88L13 18.94V21H15.06L21.11 14.93L19.06 12.88Z"},
{PackIconKind.HomeExportOutline,"M24 13L20 9V12H11V14H20V17M18 16V21H2V12H0L10 2L18 10H15L10 5L4 11V19H16V16H18Z"},
@@ -3634,12 +3647,16 @@ internal static class PackIconDataFactory
{PackIconKind.ImageOffOutline,"M22 20.7L3.3 2L2 3.3L3 4.3V19C3 20.1 3.9 21 5 21H19.7L20.7 22L22 20.7M5 19V6.3L12.6 13.9L11.1 15.8L9 13.1L6 17H15.7L17.7 19H5M8.8 5L6.8 3H19C20.1 3 21 3.9 21 5V17.2L19 15.2V5H8.8"},
{PackIconKind.ImageOutline,"M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M13.96,12.29L11.21,15.83L9.25,13.47L6.5,17H17.5L13.96,12.29Z"},
{PackIconKind.ImagePlus,"M5,3A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H14.09C14.03,20.67 14,20.34 14,20C14,19.32 14.12,18.64 14.35,18H5L8.5,13.5L11,16.5L14.5,12L16.73,14.97C17.7,14.34 18.84,14 20,14C20.34,14 20.67,14.03 21,14.09V5C21,3.89 20.1,3 19,3H5M19,16V19H16V21H19V24H21V21H24V19H21V16H19Z"},
+ {PackIconKind.ImageRefresh,"M12 18.5C12 19.39 12.18 20.23 12.5 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H19C20.1 3 21 3.89 21 5V12.5C20.23 12.18 19.39 12 18.5 12C17.29 12 16.16 12.34 15.19 12.92L14.5 12L11 16.5L8.5 13.5L5 18H12.03C12 18.17 12 18.33 12 18.5M22 18.5V14.5L20.83 15.67C20.11 14.95 19.11 14.5 18 14.5C15.79 14.5 14 16.29 14 18.5S15.79 22.5 18 22.5C19.68 22.5 21.12 21.47 21.71 20H20C19.54 20.61 18.82 21 18 21C16.62 21 15.5 19.88 15.5 18.5S16.62 16 18 16C18.69 16 19.32 16.28 19.77 16.73L18 18.5H22Z"},
+ {PackIconKind.ImageRefreshOutline,"M14.68 13.25C13.45 14.15 12.54 15.47 12.18 17H6.5L9.25 13.47L11.21 15.83L13.96 12.29L14.68 13.25M5 19V5H19V12.03C19.7 12.09 20.38 12.24 21 12.5V5C21 3.9 20.11 3 19 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H12.5C12.24 20.38 12.09 19.7 12.03 19H5M22 18.5V14.5L20.83 15.67C20.11 14.95 19.11 14.5 18 14.5C15.79 14.5 14 16.29 14 18.5S15.79 22.5 18 22.5C19.68 22.5 21.12 21.47 21.71 20H20C19.54 20.61 18.82 21 18 21C16.62 21 15.5 19.88 15.5 18.5S16.62 16 18 16C18.69 16 19.32 16.28 19.77 16.73L18 18.5H22Z"},
{PackIconKind.ImageRemove,"M5 3C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H14.09C14.03 20.67 14 20.34 14 20C14 19.32 14.12 18.64 14.35 18H5L8.5 13.5L11 16.5L14.5 12L16.73 14.97C17.7 14.34 18.84 14 20 14C20.34 14 20.67 14.03 21 14.09V5C21 3.89 20.1 3 19 3H5M16.47 17.88L18.59 20L16.47 22.12L17.88 23.54L20 21.41L22.12 23.54L23.54 22.12L21.41 20L23.54 17.88L22.12 16.46L20 18.59L17.88 16.47L16.46 17.88Z"},
{PackIconKind.ImageSearch,"M15.5,2C18,2 20,4 20,6.5C20,7.38 19.75,8.21 19.31,8.9L22.39,12L21,13.39L17.88,10.32C17.19,10.75 16.37,11 15.5,11C13,11 11,9 11,6.5C11,4 13,2 15.5,2M15.5,4A2.5,2.5 0 0,0 13,6.5A2.5,2.5 0 0,0 15.5,9A2.5,2.5 0 0,0 18,6.5A2.5,2.5 0 0,0 15.5,4M7.5,14.5L4,19H18L13.5,13L10,17.5L7.5,14.5M20,20A2,2 0 0,1 18,22H4A2,2 0 0,1 2,20V6A2,2 0 0,1 4,4H9.5C9.18,4.77 9,5.61 9,6.5A6.5,6.5 0 0,0 15.5,13C16.18,13 16.84,12.89 17.46,12.7L20,15.24V20Z"},
{PackIconKind.ImageSearchOutline,"M15.5,9C16.2,9 16.79,8.76 17.27,8.27C17.76,7.79 18,7.2 18,6.5C18,5.83 17.76,5.23 17.27,4.73C16.79,4.23 16.2,4 15.5,4C14.83,4 14.23,4.23 13.73,4.73C13.23,5.23 13,5.83 13,6.5C13,7.2 13.23,7.79 13.73,8.27C14.23,8.76 14.83,9 15.5,9M19.31,8.91L22.41,12L21,13.41L17.86,10.31C17.08,10.78 16.28,11 15.47,11C14.22,11 13.16,10.58 12.3,9.7C11.45,8.83 11,7.77 11,6.5C11,5.27 11.45,4.2 12.33,3.33C13.2,2.45 14.27,2 15.5,2C16.77,2 17.83,2.45 18.7,3.33C19.58,4.2 20,5.27 20,6.5C20,7.33 19.78,8.13 19.31,8.91M16.5,18H5.5L8.25,14.5L10.22,16.83L12.94,13.31L16.5,18M18,13L20,15V20C20,20.55 19.81,21 19.41,21.4C19,21.79 18.53,22 18,22H4C3.45,22 3,21.79 2.6,21.4C2.21,21 2,20.55 2,20V6C2,5.47 2.21,5 2.6,4.59C3,4.19 3.45,4 4,4H9.5C9.2,4.64 9.03,5.31 9,6H4V20H18V13Z"},
{PackIconKind.ImageSizeSelectActual,"M21,3H3C2,3 1,4 1,5V19A2,2 0 0,0 3,21H21C22,21 23,20 23,19V5C23,4 22,3 21,3M5,17L8.5,12.5L11,15.5L14.5,11L19,17H5Z"},
{PackIconKind.ImageSizeSelectLarge,"M21,15H23V17H21V15M21,11H23V13H21V11M23,19H21V21C22,21 23,20 23,19M13,3H15V5H13V3M21,7H23V9H21V7M21,3V5H23C23,4 22,3 21,3M1,7H3V9H1V7M17,3H19V5H17V3M17,19H19V21H17V19M3,3C2,3 1,4 1,5H3V3M9,3H11V5H9V3M5,3H7V5H5V3M1,11V19A2,2 0 0,0 3,21H15V11H1M3,19L5.5,15.79L7.29,17.94L9.79,14.72L13,19H3Z"},
{PackIconKind.ImageSizeSelectSmall,"M23,15H21V17H23V15M23,11H21V13H23V11M23,19H21V21C22,21 23,20 23,19M15,3H13V5H15V3M23,7H21V9H23V7M21,3V5H23C23,4 22,3 21,3M3,21H11V15H1V19A2,2 0 0,0 3,21M3,7H1V9H3V7M15,19H13V21H15V19M19,3H17V5H19V3M19,19H17V21H19V19M3,3C2,3 1,4 1,5H3V3M3,11H1V13H3V11M11,3H9V5H11V3M7,3H5V5H7V3Z"},
+ {PackIconKind.ImageSync,"M8.5 13.5L5 18H13.03C13.11 19.1 13.47 20.12 14.03 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H19C20.1 3 21 3.89 21 5V11.18C20.5 11.07 20 11 19.5 11C17.78 11 16.23 11.67 15.07 12.76L14.5 12L11 16.5L8.5 13.5M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5Z"},
+ {PackIconKind.ImageSyncOutline,"M13.18 19C13.35 19.72 13.64 20.39 14.03 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H19C20.11 3 21 3.9 21 5V11.18C20.5 11.07 20 11 19.5 11C19.33 11 19.17 11 19 11.03V5H5V19H13.18M11.21 15.83L9.25 13.47L6.5 17H13.03C13.14 15.54 13.73 14.22 14.64 13.19L13.96 12.29L11.21 15.83M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20Z"},
{PackIconKind.ImageText,"M22 13H14V11H22V13M22 7H14V9H22V7M14 17H22V15H14V17M12 9V15C12 16.1 11.1 17 10 17H4C2.9 17 2 16.1 2 15V9C2 7.9 2.9 7 4 7H10C11.1 7 12 7.9 12 9M10.5 15L8.3 12L6.5 14.3L5.3 12.8L3.5 15H10.5Z"},
{PackIconKind.Import,"M14,12L10,8V11H2V13H10V16M20,18V6C20,4.89 19.1,4 18,4H6A2,2 0 0,0 4,6V9H6V6H18V18H6V15H4V18A2,2 0 0,0 6,20H18A2,2 0 0,0 20,18Z"},
{PackIconKind.Inbox,"M19,15H15A3,3 0 0,1 12,18A3,3 0 0,1 9,15H5V5H19M19,3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z"},
@@ -3844,6 +3861,7 @@ internal static class PackIconDataFactory
{PackIconKind.LessThan,"M18.5,4.14L19.5,5.86L8.97,12L19.5,18.14L18.5,19.86L5,12L18.5,4.14Z"},
{PackIconKind.LessThanOrEqual,"M18.5,2.27L5,10.14L18.5,18L19.5,16.27L8.97,10.14L19.5,4L18.5,2.27M5,20V22H20V20H5Z"},
{PackIconKind.Library,"M12,8A3,3 0 0,0 15,5A3,3 0 0,0 12,2A3,3 0 0,0 9,5A3,3 0 0,0 12,8M12,11.54C9.64,9.35 6.5,8 3,8V19C6.5,19 9.64,20.35 12,22.54C14.36,20.35 17.5,19 21,19V8C17.5,8 14.36,9.35 12,11.54Z"},
+ {PackIconKind.LibraryOutline,"M12 14.27L10.64 13C9.09 11.57 7.16 10.57 5 10.18V17.13C7.61 17.47 10 18.47 12 19.95C14 18.47 16.39 17.47 19 17.13V10.18C16.84 10.57 14.91 11.57 13.36 13M19 8.15C19.65 8.05 20.32 8 21 8V19C17.5 19 14.36 20.35 12 22.54C9.64 20.35 6.5 19 3 19V8C3.68 8 4.35 8.05 5 8.15C7.69 8.56 10.1 9.78 12 11.54C13.9 9.78 16.31 8.56 19 8.15M12 6C12.27 6 12.5 5.9 12.71 5.71C12.9 5.5 13 5.27 13 5S12.9 4.5 12.71 4.29C12.5 4.11 12.27 4 12 4S11.5 4.11 11.29 4.29C11.11 4.5 11 4.74 11 5S11.11 5.5 11.29 5.71C11.5 5.9 11.74 6 12 6M14.12 7.12C13.56 7.68 12.8 8 12 8S10.44 7.68 9.88 7.12C9.32 6.56 9 5.8 9 5S9.32 3.44 9.88 2.88C10.44 2.32 11.2 2 12 2S13.56 2.32 14.12 2.88 15 4.2 15 5 14.68 6.56 14.12 7.12Z"},
{PackIconKind.LibraryShelves,"M19.5,9V1.5H16.5V9H13.5V1.5H10.5V9H7.5V1.5H4.65V9H3V10.5H21V9H19.5M19.5,13.5H16.5V21H13.5V13.5H10.5V21H7.5V13.5H4.65V21H3V22.5H21V21H19.5V13.5Z"},
{PackIconKind.License,"M9 10A3.04 3.04 0 0 1 12 7A3.04 3.04 0 0 1 15 10A3.04 3.04 0 0 1 12 13A3.04 3.04 0 0 1 9 10M12 19L16 20V16.92A7.54 7.54 0 0 1 12 18A7.54 7.54 0 0 1 8 16.92V20M12 4A5.78 5.78 0 0 0 7.76 5.74A5.78 5.78 0 0 0 6 10A5.78 5.78 0 0 0 7.76 14.23A5.78 5.78 0 0 0 12 16A5.78 5.78 0 0 0 16.24 14.23A5.78 5.78 0 0 0 18 10A5.78 5.78 0 0 0 16.24 5.74A5.78 5.78 0 0 0 12 4M20 10A8.04 8.04 0 0 1 19.43 12.8A7.84 7.84 0 0 1 18 15.28V23L12 21L6 23V15.28A7.9 7.9 0 0 1 4 10A7.68 7.68 0 0 1 6.33 4.36A7.73 7.73 0 0 1 12 2A7.73 7.73 0 0 1 17.67 4.36A7.68 7.68 0 0 1 20 10Z"},
{PackIconKind.Lifebuoy,"M19.79,15.41C20.74,13.24 20.74,10.75 19.79,8.59L17.05,9.83C17.65,11.21 17.65,12.78 17.06,14.17L19.79,15.41M15.42,4.21C13.25,3.26 10.76,3.26 8.59,4.21L9.83,6.94C11.22,6.35 12.79,6.35 14.18,6.95L15.42,4.21M4.21,8.58C3.26,10.76 3.26,13.24 4.21,15.42L6.95,14.17C6.35,12.79 6.35,11.21 6.95,9.82L4.21,8.58M8.59,19.79C10.76,20.74 13.25,20.74 15.42,19.78L14.18,17.05C12.8,17.65 11.22,17.65 9.84,17.06L8.59,19.79M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,8A4,4 0 0,0 8,12A4,4 0 0,0 12,16A4,4 0 0,0 16,12A4,4 0 0,0 12,8Z"},
@@ -4419,6 +4437,8 @@ internal static class PackIconDataFactory
{PackIconKind.NotebookCheckOutline,"M16.75 22.16L14 19.16L15.16 18L16.75 19.59L20.34 16L21.5 17.41L16.75 22.16M17 4V10L15 8L13 10V4H9V20H12.08C12.2 20.72 12.45 21.39 12.8 22H7C5.95 22 5 21.05 5 20V19H3V17H5V13H3V11H5V7H3V5H5V4C5 2.89 5.9 2 7 2H19C20.05 2 21 2.95 21 4V13.8C20.39 13.45 19.72 13.2 19 13.08V4H17M5 19H7V17H5V19M5 13H7V11H5V13M5 7H7V5H5V7Z"},
{PackIconKind.NotebookEdit,"M21.04 13.13C21.18 13.13 21.31 13.19 21.42 13.3L22.7 14.58C22.92 14.79 22.92 15.14 22.7 15.35L21.7 16.35L19.65 14.3L20.65 13.3C20.76 13.19 20.9 13.13 21.04 13.13M19.07 14.88L21.12 16.93L15.06 23H13V20.94L19.07 14.88M3 7V5H5V4C5 2.89 5.9 2 7 2H13V9L15.5 7.5L18 9V2H19C20.05 2 21 2.95 21 4V10L11 20V22H7C5.95 22 5 21.05 5 20V19H3V17H5V13H3V11H5V7H3M5 7H7V5H5V7M5 11V13H7V11H5M5 17V19H7V17H5Z"},
{PackIconKind.NotebookEditOutline,"M19.07 14.88L21.12 16.93L15.06 23H13V20.94L19.07 14.88M21.04 13.13C21.18 13.13 21.31 13.19 21.42 13.3L22.7 14.58C22.92 14.79 22.92 15.14 22.7 15.35L21.7 16.35L19.65 14.3L20.65 13.3C20.76 13.19 20.9 13.13 21.04 13.13M17 4V10L15 8L13 10V4H9V20H11V22H7C5.95 22 5 21.05 5 20V19H3V17H5V13H3V11H5V7H3V5H5V4C5 2.89 5.9 2 7 2H19C20.05 2 21 2.95 21 4V10L19 12V4H17M5 5V7H7V5H5M5 11V13H7V11H5M5 17V19H7V17H5Z"},
+ {PackIconKind.NotebookHeart,"M19 23.3L18.4 22.8C16.4 20.9 15 19.7 15 18.2C15 17 16 16 17.2 16C17.9 16 18.6 16.3 19 16.8C19.4 16.3 20.1 16 20.8 16C22 16 23 16.9 23 18.2C23 19.7 21.6 20.9 19.6 22.8L19 23.3M3 7V5H5V4C5 2.89 5.9 2 7 2H13V9L15.5 7.5L18 9V2H19C20.05 2 21 2.95 21 4V13.34C20.37 13.12 19.7 13 19 13C15.69 13 13 15.69 13 19C13 20.09 13.29 21.12 13.8 22H7C5.95 22 5 21.05 5 20V19H3V17H5V13H3V11H5V7H3M5 5V7H7V5H5M5 19H7V17H5V19M5 13H7V11H5V13Z"},
+ {PackIconKind.NotebookHeartOutline,"M19 23.3L18.4 22.8C16.4 20.9 15 19.7 15 18.2C15 17 16 16 17.2 16C17.9 16 18.6 16.3 19 16.8C19.4 16.3 20.1 16 20.8 16C22 16 23 16.9 23 18.2C23 19.7 21.6 20.9 19.6 22.8L19 23.3M17 4V10L15 8L13 10V4H9V20H13.08C13.2 20.72 13.45 21.39 13.8 22H7C5.95 22 5 21.05 5 20V19H3V17H5V13H3V11H5V7H3V5H5V4C5 2.89 5.9 2 7 2H19C20.05 2 21 2.95 21 4V13.34C20.37 13.12 19.7 13 19 13V4H17M5 19H7V17H5V19M5 13H7V11H5V13M5 7H7V5H5V7Z"},
{PackIconKind.NotebookMinus,"M3 7V5H5V4C5 2.9 5.9 2 7 2H13V9L15.5 7.5L18 9V2H19C20 2 21 3 21 4V13.8C20.1 13.3 19.1 13 18 13C14.7 13 12 15.7 12 19C12 20.1 12.3 21.1 12.8 22H7C5.9 22 5 21 5 20V19H3V17H5V13H3V11H5V7H3M5 5V7H7V5H5M5 19H7V17H5V19M5 13H7V11H5V13M14 18V20H22V18H14Z"},
{PackIconKind.NotebookMinusOutline,"M17 4V10L15 8L13 10V4H9V20H12.1C12.2 20.7 12.5 21.4 12.8 22H7C5.9 22 5 21 5 20V19H3V17H5V13H3V11H5V7H3V5H5V4C5 2.9 5.9 2 7 2H19C20 2 21 3 21 4V13.8C20.4 13.4 19.7 13.2 19 13.1V4H17M5 19H7V17H5V19M5 13H7V11H5V13M5 7H7V5H5V7M14 18V20H22V18H14Z"},
{PackIconKind.NotebookMultiple,"M9.05,9H7.06V6H9.05V4.03H7.06V3.03C7.06,1.92 7.95,1.04 9.05,1.04H15.03V8L17.5,6.5L20,8V1.04H21C22.05,1.04 23,2 23,3.03V17C23,18.03 22.05,19 21,19H9.05C8,19 7.06,18.05 7.06,17V16H9.05V14H7.06V11H9.05V9M1,18H3V15H1V13H3V10H1V8H3V5H5V8H3V10H5V13H3V15H5V18H3V20H5V21H21V23H5A2,2 0 0,1 3,21V20H1V18Z"},
@@ -4717,6 +4737,10 @@ internal static class PackIconDataFactory
{PackIconKind.PentagonOutline,"M12,5L19.6,10.5L16.7,19.4H7.3L4.4,10.5L12,5M12,2.5L2,9.8L5.8,21.5H18.1L22,9.8L12,2.5Z"},
{PackIconKind.Pentagram,"M16.15 14.4L18.71 22.26L12 17.4L5.28 22.3L7.85 14.37L1.15 9.5H9.44L12 1.61L14.56 9.5H22.89L16.15 14.4M13.3 16.47L15.86 18.33L14.88 15.32L13.3 16.47M11 9.5H13L12 6.47L11 9.5M10.74 16.47L9.13 15.3L8.13 18.37L10.74 16.47M18.28 11H15.05L15.67 12.9L18.28 11M10.53 11L9.62 13.8L12 15.54L14.39 13.82L13.47 11H10.53M5.76 11L8.34 12.87L8.95 11H5.76Z"},
{PackIconKind.Percent,"M18.5,3.5L3.5,18.5L5.5,20.5L20.5,5.5M7,4A3,3 0 0,0 4,7A3,3 0 0,0 7,10A3,3 0 0,0 10,7A3,3 0 0,0 7,4M17,14A3,3 0 0,0 14,17A3,3 0 0,0 17,20A3,3 0 0,0 20,17A3,3 0 0,0 17,14Z"},
+ {PackIconKind.PercentBox,"M19 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.1 3 19 3M8.83 7.05C9.81 7.05 10.6 7.84 10.6 8.83C10.6 9.81 9.81 10.6 8.83 10.6C7.84 10.6 7.05 9.81 7.05 8.83C7.05 7.84 7.84 7.05 8.83 7.05M15.22 17C14.24 17 13.45 16.2 13.45 15.22C13.45 14.24 14.24 13.45 15.22 13.45C16.2 13.45 17 14.24 17 15.22C17 16.2 16.2 17 15.22 17M8.5 17.03L7 15.53L15.53 7L17.03 8.5L8.5 17.03Z"},
+ {PackIconKind.PercentBoxOutline,"M19 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.1 3 19 3M19 19H5V5H19V19M17 15.22C17 16.2 16.2 17 15.22 17C14.24 17 13.45 16.2 13.45 15.22C13.45 14.24 14.24 13.45 15.22 13.45C16.2 13.45 17 14.24 17 15.22M8.5 17.03L7 15.53L15.53 7L17.03 8.5L8.5 17.03M7.05 8.83C7.05 7.84 7.84 7.05 8.83 7.05C9.81 7.05 10.6 7.84 10.6 8.83C10.6 9.81 9.81 10.6 8.83 10.6C7.84 10.6 7.05 9.81 7.05 8.83Z"},
+ {PackIconKind.PercentCircle,"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M8.83 7.05C9.81 7.05 10.6 7.84 10.6 8.83C10.6 9.81 9.81 10.6 8.83 10.6C7.84 10.6 7.05 9.81 7.05 8.83C7.05 7.84 7.84 7.05 8.83 7.05M15.22 17C14.24 17 13.45 16.2 13.45 15.22C13.45 14.24 14.24 13.45 15.22 13.45C16.2 13.45 17 14.24 17 15.22C17 16.2 16.2 17 15.22 17M8.5 17.03L7 15.53L15.53 7L17.03 8.5L8.5 17.03Z"},
+ {PackIconKind.PercentCircleOutline,"M17 15.22C17 16.2 16.2 17 15.22 17C14.24 17 13.45 16.2 13.45 15.22C13.45 14.24 14.24 13.45 15.22 13.45C16.2 13.45 17 14.24 17 15.22M8.83 10.6C9.81 10.6 10.6 9.81 10.6 8.83C10.6 7.84 9.81 7.05 8.83 7.05C7.84 7.05 7.05 7.84 7.05 8.83C7.05 9.81 7.84 10.6 8.83 10.6M7 15.53L8.5 17.03L17.03 8.5L15.53 7L7 15.53M22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2C17.5 2 22 6.5 22 12M20 12C20 7.59 16.41 4 12 4C7.59 4 4 7.59 4 12C4 16.41 7.59 20 12 20C16.41 20 20 16.41 20 12Z"},
{PackIconKind.PercentOutline,"M18.5 3.5L20.5 5.5L5.5 20.5L3.5 18.5L18.5 3.5M7 4C8.66 4 10 5.34 10 7C10 8.66 8.66 10 7 10C5.34 10 4 8.66 4 7C4 5.34 5.34 4 7 4M17 14C18.66 14 20 15.34 20 17C20 18.66 18.66 20 17 20C15.34 20 14 18.66 14 17C14 15.34 15.34 14 17 14M7 6C6.45 6 6 6.45 6 7C6 7.55 6.45 8 7 8C7.55 8 8 7.55 8 7C8 6.45 7.55 6 7 6M17 16C16.45 16 16 16.45 16 17C16 17.55 16.45 18 17 18C17.55 18 18 17.55 18 17C18 16.45 17.55 16 17 16Z"},
{PackIconKind.PeriodicTable,"M2,4V6H4V4H2M20,4V6H22V4H20M2,7V9H4V7H2M5,7V9H7V7H5M14,7V9H16V7H14M17,7V9H19V7H17M20,7V9H22V7H20M2,10V12H4V10H2M5,10V12H7V10H5M8,10V12H10V10H8M11,10V12H13V10H11M14,10V12H16V10H14M17,10V12H19V10H17M20,10V12H22V10H20M2,13V15H4V13H2M5,13V15H7V13H5M8,13V15H10V13H8M11,13V15H13V13H11M14,13V15H16V13H14M17,13V15H19V13H17M20,13V15H22V13H20M5,17V19H7V17H5M8,17V19H10V17H8M11,17V19H13V17H11M14,17V19H16V17H14M17,17V19H19V17H17Z"},
{PackIconKind.PerspectiveLess,"M16.56,12L19.23,20H4.78L7.44,12H16.56M7,1L3,5L7,9V6H11V4H7V1M17,1V4H13V6H17V9L21,5L17,1M18,10H6L2,22H22L18,10Z"},
@@ -4819,6 +4843,10 @@ internal static class PackIconDataFactory
{PackIconKind.Pizza,"M12,15A2,2 0 0,1 10,13C10,11.89 10.9,11 12,11A2,2 0 0,1 14,13A2,2 0 0,1 12,15M7,7C7,5.89 7.89,5 9,5A2,2 0 0,1 11,7A2,2 0 0,1 9,9C7.89,9 7,8.1 7,7M12,2C8.43,2 5.23,3.54 3,6L12,22L21,6C18.78,3.54 15.57,2 12,2Z"},
{PackIconKind.Play,"M8,5.14V19.14L19,12.14L8,5.14Z"},
{PackIconKind.PlayBox,"M19 3H5C3.89 3 3 3.89 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.89 20.1 3 19 3M10 16V8L15 12"},
+ {PackIconKind.PlayBoxLock,"M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12C20.4 12 21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M13 19V21H4C2.89 21 2 20.1 2 19V5C2 3.89 2.89 3 4 3H18C19.1 3 20 3.89 20 5V10.1L19 10L18 10.1C15.79 10.55 14.12 12.45 14 14.76C13.39 15.31 13 16.11 13 17V19M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2C18.2 13.2 17.5 13.7 17.5 14.5V16H20.5V14.5M9 8V16L14 12L9 8Z"},
+ {PackIconKind.PlayBoxLockOpen,"M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V13.5C16.2 12.1 17.6 11 19 11C20.4 11 21.8 12.1 21.8 13.5V14H20.5V13.5C20.5 12.7 19.8 12.2 19 12.2C18.2 12.2 17.5 12.7 17.5 13.5V16H21.8C22.4 16 23 16.6 23 17.3M9 8V16L14 12L9 8M13 19V21H4C2.89 21 2 20.1 2 19V5C2 3.89 2.89 3 4 3H18C19.1 3 20 3.89 20 5V9.1L19 9C16.24 9 14 11.24 14 14V14.76C13.39 15.31 13 16.11 13 17V19Z"},
+ {PackIconKind.PlayBoxLockOpenOutline,"M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V13.5C16.2 12.1 17.6 11 19 11C20.4 11 21.8 12.1 21.8 13.5V14H20.5V13.5C20.5 12.7 19.8 12.2 19 12.2C18.2 12.2 17.5 12.7 17.5 13.5V16H21.8C22.4 16 23 16.6 23 17.3M18 5H4V19H13V21H4C2.89 21 2 20.1 2 19V5C2 3.89 2.89 3 4 3H18C19.1 3 20 3.89 20 5V9.1L19 9L18 9.1V5M9 8L14 12L9 16V8Z"},
+ {PackIconKind.PlayBoxLockOutline,"M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12C20.4 12 21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2C18.2 13.2 17.5 13.7 17.5 14.5V16H20.5V14.5M18 5H4V19H13V21H4C2.89 21 2 20.1 2 19V5C2 3.89 2.89 3 4 3H18C19.1 3 20 3.89 20 5V10.1L19 10L18 10.1V5M9 8L14 12L9 16V8Z"},
{PackIconKind.PlayBoxMultiple,"M4,6H2V20A2,2 0 0,0 4,22H18V20H4V6M20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M12,14.5V5.5L18,10L12,14.5Z"},
{PackIconKind.PlayBoxMultipleOutline,"M4 6H2V20C2 21.1 2.9 22 4 22H18V20H4V6M20 4V16H8V4H20M20 2H8C6.9 2 6 2.9 6 4V16C6 17.1 6.9 18 8 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M12 14.5V5.5L18 10L12 14.5Z"},
{PackIconKind.PlayBoxOutline,"M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M10,8V16L15,12L10,8Z"},
@@ -4945,6 +4973,7 @@ internal static class PackIconDataFactory
{PackIconKind.ProgressUpload,"M13,2.03C17.73,2.5 21.5,6.25 21.95,11C22.5,16.5 18.5,21.38 13,21.93V19.93C16.64,19.5 19.5,16.61 19.96,12.97C20.5,8.58 17.39,4.59 13,4.05V2.05L13,2.03M11,2.06V4.06C9.57,4.26 8.22,4.84 7.1,5.74L5.67,4.26C7.19,3 9.05,2.25 11,2.06M4.26,5.67L5.69,7.1C4.8,8.23 4.24,9.58 4.05,11H2.05C2.25,9.04 3,7.19 4.26,5.67M2.06,13H4.06C4.24,14.42 4.81,15.77 5.69,16.9L4.27,18.33C3.03,16.81 2.26,14.96 2.06,13M7.1,18.37C8.23,19.25 9.58,19.82 11,20V22C9.04,21.79 7.18,21 5.67,19.74L7.1,18.37M12,7.5L7.5,12H11V16H13V12H16.5L12,7.5Z"},
{PackIconKind.ProgressWrench,"M13,2.03V2.05L13,4.05C17.39,4.59 20.5,8.58 19.96,12.97C19.5,16.61 16.64,19.5 13,19.93V21.93C18.5,21.38 22.5,16.5 21.95,11C21.5,6.25 17.73,2.5 13,2.03M11,2.06C9.05,2.25 7.19,3 5.67,4.26L7.1,5.74C8.22,4.84 9.57,4.26 11,4.06V2.06M4.26,5.67C3,7.19 2.25,9.04 2.05,11H4.05C4.24,9.58 4.8,8.23 5.69,7.1L4.26,5.67M2.06,13C2.26,14.96 3.03,16.81 4.27,18.33L5.69,16.9C4.81,15.77 4.24,14.42 4.06,13H2.06M7.1,18.37L5.67,19.74C7.18,21 9.04,21.79 11,22V20C9.58,19.82 8.23,19.25 7.1,18.37M16.82,15.19L12.71,11.08C13.12,10.04 12.89,8.82 12.03,7.97C11.13,7.06 9.78,6.88 8.69,7.38L10.63,9.32L9.28,10.68L7.29,8.73C6.75,9.82 7,11.17 7.88,12.08C8.74,12.94 9.96,13.16 11,12.76L15.11,16.86C15.29,17.05 15.56,17.05 15.74,16.86L16.78,15.83C17,15.65 17,15.33 16.82,15.19Z"},
{PackIconKind.Projector,"M16,6C14.87,6 13.77,6.35 12.84,7H4C2.89,7 2,7.89 2,9V15C2,16.11 2.89,17 4,17H5V18A1,1 0 0,0 6,19H8A1,1 0 0,0 9,18V17H15V18A1,1 0 0,0 16,19H18A1,1 0 0,0 19,18V17H20C21.11,17 22,16.11 22,15V9C22,7.89 21.11,7 20,7H19.15C18.23,6.35 17.13,6 16,6M16,7.5A3.5,3.5 0 0,1 19.5,11A3.5,3.5 0 0,1 16,14.5A3.5,3.5 0 0,1 12.5,11A3.5,3.5 0 0,1 16,7.5M4,9H8V10H4V9M16,9A2,2 0 0,0 14,11A2,2 0 0,0 16,13A2,2 0 0,0 18,11A2,2 0 0,0 16,9M4,11H8V12H4V11M4,13H8V14H4V13Z"},
+ {PackIconKind.ProjectorOff,"M16 9C14.97 9 14.1 9.79 14 10.82L16.18 13C18.72 12.76 18.55 9 16 9M15 14.35H15L18.95 18.31V18.3M7.64 7L12.65 12V12L7.65 7M20 7H19.15C17.26 5.67 14.73 5.67 12.84 7H10.19L12.8 9.61C13.78 7.34 16.73 6.78 18.5 8.53C20.22 10.27 19.66 13.22 17.39 14.2L20.18 17C21.21 16.9 22 16.04 22 15V9C22 7.9 21.1 7 20 7M16 9C14.97 9 14.1 9.79 14 10.82L16.18 13C18.72 12.76 18.55 9 16 9M16 9C14.97 9 14.1 9.79 14 10.82L16.18 13C18.72 12.76 18.55 9 16 9M22.25 21.61L2.53 1.89L1.26 3.16L5.1 7H4C2.9 7 2 7.9 2 9V15C2 16.11 2.9 17 4 17H5V18C5 18.55 5.45 19 6 19H8C8.55 19 9 18.55 9 18V17H15V18C15 18.55 15.45 19 16 19H17.1L21 22.89L22.26 21.61M8 14H4V13H8M8 12H4V11H8M8 10H4V9H7.1L8 9.9M2.54 1.89L7.64 7L2.53 1.89M7.65 7L12.65 12V12L7.64 7M18.95 18.3V18.31L15 14.35H15M7.64 7L2.53 1.89H2.54M12.65 12V12L7.64 7H7.65M18.95 18.3V18.31L15 14.35H15"},
{PackIconKind.ProjectorScreen,"M4,2A1,1 0 0,0 3,3V4A1,1 0 0,0 4,5H5V14H11V16.59L6.79,20.79L8.21,22.21L11,19.41V22H13V19.41L15.79,22.21L17.21,20.79L13,16.59V14H19V5H20A1,1 0 0,0 21,4V3A1,1 0 0,0 20,2H4Z"},
{PackIconKind.ProjectorScreenOff,"M13 14.89V16.59L17.21 20.79L15.79 22.21L13 19.41V22H11V19.41L8.21 22.21L6.79 20.79L11 16.59V14H5V6.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73L13 14.89M19 14V5H20C20.55 5 21 4.55 21 4V3C21 2.45 20.55 2 20 2H5.2L17.2 14H19Z"},
{PackIconKind.ProjectorScreenOffOutline,"M20.84 22.73L22.11 21.46L2.39 1.73L1.11 3L5 6.89V14H11V16.59L6.79 20.79L8.21 22.21L11 19.41V22H13V19.41L15.79 22.21L17.21 20.79L13 16.59V14.89L20.84 22.73M7 12V8.89L10.11 12H7M8.2 5L5.2 2H20C20.55 2 21 2.45 21 3V4C21 4.55 20.55 5 20 5H19V14H17.2L15.2 12H17V5H8.2Z"},
@@ -5020,6 +5049,8 @@ internal static class PackIconDataFactory
{PackIconKind.RailroadLight,"M17.67,10.5C16.4,10.5 15.27,11.3 14.85,12.5H13.17V7.77L16.66,9.86L17.66,8.14L14.11,6L17.68,3.86L16.68,2.14L13.17,4.23V2H11.17V4.23L7.68,2.14L6.68,3.86L10.23,6L6.66,8.14L7.66,9.86L11.17,7.77V12.5H9.5C8.36,9.32 3.66,10.13 3.66,13.5C3.66,16.87 8.36,17.68 9.5,14.5H11.17V20A2,2 0 0,0 9.17,22H15.17A2,2 0 0,0 13.17,20V14.5H14.85C15.66,16.8 18.73,17.22 20.13,15.23C21.53,13.24 20.1,10.5 17.67,10.5M6.67,14.5C5.78,14.5 5.33,13.42 5.96,12.79C6.59,12.16 7.67,12.61 7.67,13.5A1,1 0 0,1 6.67,14.5M17.67,14.5C16.78,14.5 16.33,13.42 16.96,12.79C17.59,12.16 18.67,12.61 18.67,13.5A1,1 0 0,1 17.67,14.5Z"},
{PackIconKind.Rake,"M10.5 17.05L9.43 16L22.07 3.35L20.66 1.93L8 14.58L6.95 13.5C6.17 12.73 4.9 12.73 4.12 13.5L2 15.64L2.71 16.34L4.83 14.22L5.54 14.93L3.41 17.05L4.12 17.76L6.24 15.64L6.95 16.34L4.83 18.46L5.54 19.17L7.66 17.05L8.36 17.76L6.24 19.88L6.95 20.59L9.07 18.46L9.78 19.17L7.66 21.29L8.36 22L10.5 19.88C11.27 19.1 11.27 17.83 10.5 17.05Z"},
{PackIconKind.RaspberryPi,"M20,8H22V10H20V8M4,5H20A2,2 0 0,1 22,7H19V9H5V13H8V16H19V17H22A2,2 0 0,1 20,19H16V20H14V19H11V20H7V19H4A2,2 0 0,1 2,17V7A2,2 0 0,1 4,5M19,15H9V10H19V11H22V13H19V15M13,12V14H15V12H13M5,6V8H6V6H5M7,6V8H8V6H7M9,6V8H10V6H9M11,6V8H12V6H11M13,6V8H14V6H13M15,6V8H16V6H15M20,14H22V16H20V14Z"},
+ {PackIconKind.Raw,"M6.5 9C7.3 9 8 9.7 8 10.5V11.5C8 12.1 7.6 12.6 7.1 12.9L8 15H6.5L5.6 13H4.5V15H3V9H6.5M6.5 11.5V10.5H4.5V11.5H6.5M10.25 9H12.75L14.25 15H12.75L12.38 13.5H10.63L10.25 15H8.75L10.25 9M11 12H12L11.75 11H11.25L11 12M20 9H21.5L20 15H18.5L17.74 11.96L17 15H15.5L14 9H15.5L16.24 12L17 9H18.5L19.24 12L20 9Z"},
+ {PackIconKind.RawOff,"M17.15 14.32L14.72 11.9L14 9H15.5L16.24 12L17 9H18.5L19.24 12L20 9H21.5L20 15H18.5L17.74 11.96L17.15 14.32M1.39 4.22L2.81 2.81L21.19 21.2L19.78 22.61L10.67 13.5H10.63L10.25 15H8.75L9.43 12.26L8 10.83V11.5C8 12.1 7.6 12.6 7.1 12.9L8 15H6.5L5.6 13H4.5V15H3V9H6.17L1.39 4.22M6.5 11.5V10.5H4.5V11.5H6.5Z"},
{PackIconKind.RayEnd,"M20,9C18.69,9 17.58,9.83 17.17,11H2V13H17.17C17.58,14.17 18.69,15 20,15A3,3 0 0,0 23,12A3,3 0 0,0 20,9Z"},
{PackIconKind.RayEndArrow,"M1,12L5,16V13H17.17C17.58,14.17 18.69,15 20,15A3,3 0 0,0 23,12A3,3 0 0,0 20,9C18.69,9 17.58,9.83 17.17,11H5V8L1,12Z"},
{PackIconKind.RayStart,"M4,9C5.31,9 6.42,9.83 6.83,11H22V13H6.83C6.42,14.17 5.31,15 4,15A3,3 0 0,1 1,12A3,3 0 0,1 4,9Z"},
@@ -5157,6 +5188,7 @@ internal static class PackIconDataFactory
{PackIconKind.RobotHappy,"M22 14H21C21 10.13 17.87 7 14 7H13V5.73C13.6 5.39 14 4.74 14 4C14 2.9 13.11 2 12 2S10 2.9 10 4C10 4.74 10.4 5.39 11 5.73V7H10C6.13 7 3 10.13 3 14H2C1.45 14 1 14.45 1 15V18C1 18.55 1.45 19 2 19H3V20C3 21.11 3.9 22 5 22H19C20.11 22 21 21.11 21 20V19H22C22.55 19 23 18.55 23 18V15C23 14.45 22.55 14 22 14M9.79 16.5C9.4 15.62 8.53 15 7.5 15S5.6 15.62 5.21 16.5C5.08 16.19 5 15.86 5 15.5C5 14.12 6.12 13 7.5 13S10 14.12 10 15.5C10 15.86 9.92 16.19 9.79 16.5M18.79 16.5C18.4 15.62 17.5 15 16.5 15S14.6 15.62 14.21 16.5C14.08 16.19 14 15.86 14 15.5C14 14.12 15.12 13 16.5 13S19 14.12 19 15.5C19 15.86 18.92 16.19 18.79 16.5Z"},
{PackIconKind.RobotHappyOutline,"M10.5 15.5C10.5 15.87 10.4 16.2 10.22 16.5C9.88 15.91 9.24 15.5 8.5 15.5S7.12 15.91 6.78 16.5C6.61 16.2 6.5 15.87 6.5 15.5C6.5 14.4 7.4 13.5 8.5 13.5S10.5 14.4 10.5 15.5M23 15V18C23 18.55 22.55 19 22 19H21V20C21 21.11 20.11 22 19 22H5C3.9 22 3 21.11 3 20V19H2C1.45 19 1 18.55 1 18V15C1 14.45 1.45 14 2 14H3C3 10.13 6.13 7 10 7H11V5.73C10.4 5.39 10 4.74 10 4C10 2.9 10.9 2 12 2S14 2.9 14 4C14 4.74 13.6 5.39 13 5.73V7H14C17.87 7 21 10.13 21 14H22C22.55 14 23 14.45 23 15M21 16H19V14C19 11.24 16.76 9 14 9H10C7.24 9 5 11.24 5 14V16H3V17H5V20H19V17H21V16M15.5 13.5C14.4 13.5 13.5 14.4 13.5 15.5C13.5 15.87 13.61 16.2 13.78 16.5C14.12 15.91 14.76 15.5 15.5 15.5S16.88 15.91 17.22 16.5C17.4 16.2 17.5 15.87 17.5 15.5C17.5 14.4 16.61 13.5 15.5 13.5Z"},
{PackIconKind.RobotIndustrial,"M18.41,4L16,6.41V6.59L18.41,9H22V11H17.59L16,9.41V12H15A2,2 0 0,1 13,10V7.5H9.86C9.77,7.87 9.62,8.22 9.42,8.55L15.18,19H20A2,2 0 0,1 22,21V22H2V21A2,2 0 0,1 4,19H10.61L5.92,10.5C4.12,10.47 2.56,9.24 2.11,7.5C1.56,5.36 2.85,3.18 5,2.63C7.13,2.08 9.31,3.36 9.86,5.5H13V3A2,2 0 0,1 15,1H16V3.59L17.59,2H22V4H18.41M6,4.5A2,2 0 0,0 4,6.5A2,2 0 0,0 6,8.5A2,2 0 0,0 8,6.5A2,2 0 0,0 6,4.5Z"},
+ {PackIconKind.RobotIndustrialOutline,"M4 19H8.6L2.62 8.64C2.23 8 2 7.29 2 6.5C2 4.29 3.79 2.5 6 2.5C7.86 2.5 9.43 3.78 9.87 5.5H14V3C14 1.9 14.9 1 16 1V3.59L17.59 2H22V4H18.41L16 6.41V6.59L18.41 9H22V11H17.59L16 9.41V12C14.9 12 14 11.11 14 10V7.5H9.87C9.77 7.89 9.61 8.26 9.41 8.6L15.41 19H20C21.11 19 22 19.9 22 21V22H2V21C2 19.9 2.9 19 4 19M7.91 10C7.35 10.32 6.7 10.5 6 10.5L10.91 19H13.1L7.91 10M6 4.5C4.89 4.5 4 5.4 4 6.5C4 7.61 4.89 8.5 6 8.5C7.11 8.5 8 7.61 8 6.5C8 5.4 7.11 4.5 6 4.5Z"},
{PackIconKind.RobotLove,"M22 14H21C21 10.13 17.87 7 14 7H13V5.73C13.6 5.39 14 4.74 14 4C14 2.9 13.11 2 12 2S10 2.9 10 4C10 4.74 10.4 5.39 11 5.73V7H10C6.13 7 3 10.13 3 14H2C1.45 14 1 14.45 1 15V18C1 18.55 1.45 19 2 19H3V20C3 21.11 3.9 22 5 22H19C20.11 22 21 21.11 21 20V19H22C22.55 19 23 18.55 23 18V15C23 14.45 22.55 14 22 14M9.7 15.45L8.97 16.18L7.5 17.65L5.3 15.45C4.9 15.05 4.9 14.39 5.3 14C5.71 13.58 6.36 13.58 6.77 14L7.5 14.72L8.23 14C8.64 13.58 9.29 13.58 9.7 14C10.1 14.39 10.1 15.05 9.7 15.45M18.7 15.45L17.97 16.18L16.5 17.65L14.3 15.45C13.9 15.05 13.9 14.39 14.3 14C14.71 13.58 15.36 13.58 15.77 14L16.5 14.72L17.23 14C17.64 13.58 18.29 13.58 18.7 14C19.1 14.39 19.1 15.05 18.7 15.45Z"},
{PackIconKind.RobotLoveOutline,"M22 14H21C21 10.13 17.87 7 14 7H13V5.73C13.6 5.39 14 4.74 14 4C14 2.9 13.11 2 12 2S10 2.9 10 4C10 4.74 10.4 5.39 11 5.73V7H10C6.13 7 3 10.13 3 14H2C1.45 14 1 14.45 1 15V18C1 18.55 1.45 19 2 19H3V20C3 21.11 3.9 22 5 22H19C20.11 22 21 21.11 21 20V19H22C22.55 19 23 18.55 23 18V15C23 14.45 22.55 14 22 14M21 17H19V20H5V17H3V16H5V14C5 11.24 7.24 9 10 9H14C16.76 9 19 11.24 19 14V16H21V17M10.7 14C11.1 14.39 11.1 15.05 10.7 15.45L9.97 16.18L8.5 17.65L6.3 15.45C5.9 15.05 5.9 14.39 6.3 14C6.71 13.58 7.36 13.58 7.77 14L8.5 14.72L9.23 14C9.64 13.58 10.29 13.58 10.7 14M17.7 14C18.1 14.39 18.1 15.05 17.7 15.45L16.97 16.18L15.5 17.65L13.3 15.45C12.9 15.05 12.9 14.39 13.3 14C13.71 13.58 14.36 13.58 14.77 14L15.5 14.72L16.23 14C16.64 13.58 17.29 13.58 17.7 14Z"},
{PackIconKind.RobotMower,"M1 14V5H13C18.5 5 23 9.5 23 15V17H20.83C20.42 18.17 19.31 19 18 19C16.69 19 15.58 18.17 15.17 17H10C9.09 18.21 7.64 19 6 19C3.24 19 1 16.76 1 14M6 11C4.34 11 3 12.34 3 14C3 15.66 4.34 17 6 17C7.66 17 9 15.66 9 14C9 12.34 7.66 11 6 11M15 10V12H20.25C19.92 11.27 19.5 10.6 19 10H15Z"},
@@ -5224,6 +5256,7 @@ internal static class PackIconDataFactory
{PackIconKind.SafetyGoggles,"M18,9C19.11,9 20,9.89 20,11V14C20,15.11 19.11,16 18,16H15.77L14.53,14.77C13.78,14 12.77,13.6 11.7,13.6C10.63,13.6 9.63,14 8.87,14.77L7.64,16H6C4.89,16 4,15.11 4,14V11C4,9.89 4.89,9 6,9H18M18,7H6A4,4 0 0,0 2,11H2L1,11V14H2V14A4,4 0 0,0 6,18H8.5C8.54,17.94 8.59,17.88 10.29,16.18C10.68,15.79 11.19,15.6 11.7,15.6C12.22,15.6 12.73,15.79 13.12,16.18L14.91,18H18A4,4 0 0,0 22,14H22L23,14V11H22V11A4,4 0 0,0 18,7Z"},
{PackIconKind.SailBoat,"M3 13.5L11 2.03V13.5H3M12.5 13.5C13.85 9.75 13.67 4.71 12.5 1C17.26 2.54 20.9 8.4 20.96 13.5H12.5M21.1 17.08C20.69 17.72 20.21 18.27 19.65 18.74C19 18.45 18.42 18 17.96 17.5C16.47 19.43 13.46 19.43 11.97 17.5C10.5 19.43 7.47 19.43 6 17.5C5.5 18 4.95 18.45 4.3 18.74C3.16 17.8 2.3 16.46 2 15H21.94C21.78 15.75 21.5 16.44 21.1 17.08M20.96 23C19.9 23 18.9 22.75 17.96 22.25C16.12 23.25 13.81 23.25 11.97 22.25C10.13 23.25 7.82 23.25 6 22.25C4.77 22.94 3.36 23.05 2 23V21C3.41 21.05 4.77 20.9 6 20C7.74 21.25 10.21 21.25 11.97 20C13.74 21.25 16.2 21.25 17.96 20C19.17 20.9 20.54 21.05 21.94 21V23H20.96Z"},
{PackIconKind.Sale,"M18.65,2.85L19.26,6.71L22.77,8.5L21,12L22.78,15.5L19.24,17.29L18.63,21.15L14.74,20.54L11.97,23.3L9.19,20.5L5.33,21.14L4.71,17.25L1.22,15.47L3,11.97L1.23,8.5L4.74,6.69L5.35,2.86L9.22,3.5L12,0.69L14.77,3.46L18.65,2.85M9.5,7A1.5,1.5 0 0,0 8,8.5A1.5,1.5 0 0,0 9.5,10A1.5,1.5 0 0,0 11,8.5A1.5,1.5 0 0,0 9.5,7M14.5,14A1.5,1.5 0 0,0 13,15.5A1.5,1.5 0 0,0 14.5,17A1.5,1.5 0 0,0 16,15.5A1.5,1.5 0 0,0 14.5,14M8.41,17L17,8.41L15.59,7L7,15.59L8.41,17Z"},
+ {PackIconKind.SaleOutline,"M9.5 7C10.33 7 11 7.67 11 8.5C11 9.33 10.33 10 9.5 10C8.67 10 8 9.33 8 8.5C8 7.67 8.67 7 9.5 7M14.5 14C15.33 14 16 14.67 16 15.5C16 16.33 15.33 17 14.5 17C13.67 17 13 16.33 13 15.5C13 14.67 13.67 14 14.5 14M8.41 17L7 15.59L15.59 7L17 8.41L8.41 17M18.65 2.85L19.26 6.71L22.77 8.5L21 12L22.78 15.5L19.24 17.29L18.63 21.15L14.74 20.54L11.97 23.31L9.19 20.5L5.33 21.14L4.71 17.25L1.22 15.47L3 11.97L1.23 8.5L4.74 6.69L5.35 2.87L9.22 3.5L12 .695L14.76 3.46L18.65 2.85M20.1 9.37L17.5 8L17 5.11L14.1 5.53L12 3.5L9.9 5.53L7 5.11L6.5 8L3.9 9.37L5.2 12L3.9 14.63L6.5 16L7 18.89L9.9 18.47L12 20.5L14.1 18.47L17 18.89L17.5 16L20.1 14.63L18.8 12L20.1 9.37Z"},
{PackIconKind.Salesforce,"M18.38,6.37C17.68,6.37 17.07,6.58 16.47,6.78C15.77,5.57 14.46,4.77 13.05,4.77C11.95,4.77 10.95,5.27 10.24,5.97C9.44,4.97 8.23,4.26 6.83,4.26C4.5,4.26 2.5,6.17 2.5,8.5C2.5,9.09 2.71,9.69 2.91,10.29C1.8,10.9 1,12.1 1,13.5C1,15.5 2.61,17.22 4.62,17.22C4.92,17.22 5.22,17.22 5.42,17.12C5.82,18.63 7.33,19.74 9.14,19.74C10.84,19.74 12.25,18.73 12.75,17.32C13.26,17.53 13.76,17.73 14.26,17.73C15.57,17.73 16.77,17 17.37,15.92C17.68,16 18,16 18.28,16C20.89,16 23,13.91 23,11.2C23.1,8.5 21,6.37 18.38,6.37Z"},
{PackIconKind.Sass,"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M10,15.33C10.16,15.87 10.14,16.37 10,16.83C10,16.88 9.96,16.93 9.94,17C9.92,17 9.9,17.07 9.87,17.12C9.76,17.36 9.6,17.59 9.41,17.79C8.83,18.43 8,18.67 7.67,18.47C7.29,18.25 7.5,17.35 8.16,16.64C8.88,15.88 9.92,15.38 9.92,15.38V15.38L10,15.33M18.27,6.28C17.82,4.5 14.87,3.92 12.09,4.91C10.43,5.5 8.63,6.42 7.34,7.63C5.81,9.07 5.56,10.32 5.66,10.84C6,12.68 8.54,13.89 9.58,14.78V14.79C9.28,14.94 7.04,16.07 6.5,17.23C5.96,18.45 6.6,19.33 7,19.45C8.34,19.81 9.69,19.16 10.41,18.07C11.11,17.03 11.06,15.68 10.75,15C11.17,14.9 11.66,14.85 12.28,14.92C14.04,15.13 14.38,16.22 14.31,16.68C14.25,17.14 13.88,17.39 13.76,17.47C13.64,17.54 13.6,17.57 13.61,17.63C13.62,17.71 13.68,17.71 13.78,17.69C13.93,17.66 14.71,17.32 14.74,16.47C14.78,15.39 13.75,14.19 11.93,14.22C11.18,14.24 10.71,14.31 10.37,14.44L10.29,14.35C9.16,13.15 7.08,12.3 7.17,10.68C7.2,10.09 7.4,8.55 11.17,6.67C14.25,5.13 16.72,5.55 17.15,6.5C17.76,7.83 15.83,10.32 12.63,10.68C11.41,10.82 10.76,10.34 10.6,10.17C10.43,10 10.41,9.97 10.35,10C10.24,10.07 10.31,10.23 10.35,10.33C10.44,10.58 10.84,11 11.5,11.24C12.09,11.43 13.53,11.54 15.26,10.87C17.2,10.12 18.72,8.03 18.27,6.28Z"},
{PackIconKind.Satellite,"M5,18L8.5,13.5L11,16.5L14.5,12L19,18M5,12V10A5,5 0 0,0 10,5H12A7,7 0 0,1 5,12M5,5H8A3,3 0 0,1 5,8M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z"},
@@ -6329,6 +6362,7 @@ internal static class PackIconDataFactory
{PackIconKind.Vibrate,"M16,19H8V5H16M16.5,3H7.5A1.5,1.5 0 0,0 6,4.5V19.5A1.5,1.5 0 0,0 7.5,21H16.5A1.5,1.5 0 0,0 18,19.5V4.5A1.5,1.5 0 0,0 16.5,3M19,17H21V7H19M22,9V15H24V9M3,17H5V7H3M0,15H2V9H0V15Z"},
{PackIconKind.VibrateOff,"M8.2,5L6.55,3.35C6.81,3.12 7.15,3 7.5,3H16.5A1.5,1.5 0 0,1 18,4.5V14.8L16,12.8V5H8.2M0,15H2V9H0V15M21,17V7H19V15.8L20.2,17H21M3,17H5V7H3V17M18,17.35L22.11,21.46L20.84,22.73L18,19.85C17.83,20.54 17.21,21 16.5,21H7.5A1.5,1.5 0 0,1 6,19.5V7.89L1.11,3L2.39,1.73L6.09,5.44L8,7.34L16,15.34L18,17.34V17.35M16,17.89L8,9.89V19H16V17.89M22,9V15H24V9H22Z"},
{PackIconKind.Video,"M17,10.5V7A1,1 0 0,0 16,6H4A1,1 0 0,0 3,7V17A1,1 0 0,0 4,18H16A1,1 0 0,0 17,17V13.5L21,17.5V6.5L17,10.5Z"},
+ {PackIconKind.Video2d,"M13 7H16C17.66 7 19 8.34 19 10V14C19 15.66 17.66 17 16 17H13V7M16 15C16.55 15 17 14.55 17 14V10C17 9.45 16.55 9 16 9H15V15H16M5 7H9C10.11 7 11 7.9 11 9V11C11 12.11 10.11 13 9 13H7V15H11V17H5V13C5 11.9 5.9 11 7 11H9V9H5V7Z"},
{PackIconKind.Video3d,"M5,7H9A2,2 0 0,1 11,9V15A2,2 0 0,1 9,17H5V15H9V13H6V11H9V9H5V7M13,7H16A3,3 0 0,1 19,10V14A3,3 0 0,1 16,17H13V7M16,15A1,1 0 0,0 17,14V10A1,1 0 0,0 16,9H15V15H16Z"},
{PackIconKind.Video3dOff,"M2.61 2L21.35 20.74L19.94 22.15L14.8 17H13V15.2L11 13.23V15.21C10.93 15.68 10.74 16.08 10.41 16.41C10.08 16.73 9.68 16.93 9.21 17H5V15H9V13H6V11H8.8L6.79 9H5V7.23L1.2 3.41L2.61 2M16 7H16.22C17 7.07 17.63 7.36 18.14 7.88C18.65 8.39 18.93 9 19 9.76V14.24C18.95 14.63 18.87 15 18.72 15.3L17 13.6V9.85C16.95 9.63 16.84 9.44 16.69 9.28C16.53 9.13 16.34 9.03 16.12 9H15V11.59L13 9.57V7H16Z"},
{PackIconKind.Video3dVariant,"M14,10V14A0.5,0.5 0 0,1 13.5,14.5H12.5V9.5H13.5A0.5,0.5 0 0,1 14,10M21,6.5V17.5L17,13.5V17A1,1 0 0,1 16,18H4A1,1 0 0,1 3,17V7A1,1 0 0,1 4,6H16A1,1 0 0,1 17,7V10.5M9.5,9.5A1.5,1.5 0 0,0 8,8H4.5V9.5H8V11.25H5.5V12.75H8V14.5H4.5V16H8A1.5,1.5 0 0,0 9.5,14.5M15.5,9.5A1.5,1.5 0 0,0 14,8H11V16H14A1.5,1.5 0 0,0 15.5,14.5"},
@@ -6437,6 +6471,7 @@ internal static class PackIconDataFactory
{PackIconKind.WalletPlus,"M3 0V3H0V5H3V8H5V5H8V3H5V0H3M9 3V6H6V9H3V19C3 20.1 3.89 21 5 21H19C20.11 21 21 20.11 21 19V18H12C10.9 18 10 17.11 10 16V8C10 6.9 10.89 6 12 6H21V5C21 3.9 20.11 3 19 3H9M12 8V16H22V8H12M16 10.5C16.83 10.5 17.5 11.17 17.5 12C17.5 12.83 16.83 13.5 16 13.5C15.17 13.5 14.5 12.83 14.5 12C14.5 11.17 15.17 10.5 16 10.5Z"},
{PackIconKind.WalletPlusOutline,"M3 0V3H0V5H3V8H5V5H8V3H5V0H3M10 3V5H19V7H13C11.9 7 11 7.9 11 9V15C11 16.1 11.9 17 13 17H19V19H5V10H3V19C3 20.1 3.89 21 5 21H19C20.1 21 21 20.1 21 19V16.72C21.59 16.37 22 15.74 22 15V9C22 8.26 21.59 7.63 21 7.28V5C21 3.9 20.1 3 19 3H10M13 9H20V15H13V9M16 10.5A1.5 1.5 0 0 0 14.5 12A1.5 1.5 0 0 0 16 13.5A1.5 1.5 0 0 0 17.5 12A1.5 1.5 0 0 0 16 10.5Z"},
{PackIconKind.WalletTravel,"M20,14H4V8H7V10H9V8H15V10H17V8H20M20,19H4V17H20M9,4H15V6H9M20,6H17V4C17,2.89 16.11,2 15,2H9C7.89,2 7,2.89 7,4V6H4C2.89,6 2,6.89 2,8V19C2,20.11 2.89,21 4,21H20C21.11,21 22,20.11 22,19V8C22,6.89 21.11,6 20,6Z"},
+ {PackIconKind.WallFire,"M22.14 15.34L22.12 15.35C22.35 15.63 22.55 15.94 22.7 16.27L22.79 16.46C23.5 18.15 23 20.1 21.69 21.32C20.5 22.41 18.84 22.7 17.3 22.5C15.84 22.32 14.5 21.4 13.73 20.13C13.5 19.74 13.3 19.3 13.2 18.85C13.07 18.5 13.03 18.12 13 17.75C12.91 16.15 13.55 14.45 14.76 13.45C14.21 14.66 14.34 16.17 15.15 17.22L15.26 17.35C15.4 17.47 15.57 17.5 15.73 17.44C15.88 17.38 16 17.23 16 17.07L15.93 16.83C15.05 14.5 15.79 11.8 17.66 10.27C18.17 9.85 18.8 9.47 19.46 9.3C18.78 10.66 19 12.44 20.09 13.5C20.55 14 21.11 14.29 21.58 14.73L22.14 15.34M19.86 20L19.85 19.97C20.3 19.58 20.55 18.91 20.53 18.31L20.5 18C20.3 17 19.43 16.66 18.87 15.93L18.44 15.15C18.22 15.65 18.2 16.12 18.29 16.66C18.39 17.23 18.61 17.72 18.5 18.31C18.34 18.96 17.83 19.61 16.94 19.82C17.44 20.31 18.25 20.7 19.06 20.42C19.32 20.35 19.65 20.16 19.86 20M3 16H11.06L11 17C11 18.41 11.36 19.73 12 20.88V21H3V16M2 10H8V15H2V10M9 10H15V10.07C13.17 11.13 11.79 12.9 11.25 15H9V10M3 4H11V9H3V4M12 4H21V9H12V4Z"},
{PackIconKind.Wallpaper,"M4,4H11V2H4A2,2 0 0,0 2,4V11H4V4M10,13L6,18H18L15,14L12.97,16.71L10,13M17,8.5A1.5,1.5 0 0,0 15.5,7A1.5,1.5 0 0,0 14,8.5A1.5,1.5 0 0,0 15.5,10A1.5,1.5 0 0,0 17,8.5M20,2H13V4H20V11H22V4A2,2 0 0,0 20,2M20,20H13V22H20A2,2 0 0,0 22,20V13H20V20M4,13H2V20A2,2 0 0,0 4,22H11V20H4V13Z"},
{PackIconKind.WallSconce,"M11,4L7,13H19L15,4H11M4,14V22H6V19H14V14H12V17H6V14H4Z"},
{PackIconKind.WallSconceFlat,"M5,5V11H19V5H5M5.27,13.32L3.5,15.09L4.91,16.5L6.68,14.73L5.27,13.32M18.73,13.32L17.32,14.73L19.09,16.5L20.5,15.09L18.73,13.32M11,16V19H13V16H11Z"},
diff --git a/MaterialDesignThemes.Wpf/PackIconKind.cs b/MaterialDesignThemes.Wpf/PackIconKind.cs
index 3134ccd432..6c219721dc 100644
--- a/MaterialDesignThemes.Wpf/PackIconKind.cs
+++ b/MaterialDesignThemes.Wpf/PackIconKind.cs
@@ -180,6 +180,7 @@ public enum PackIconKind
AccountHardHat,
Construction=AccountHardHat,
Worker=AccountHardHat,
+ AccountHardHatOutline,
AccountHeart,
PersonHeart=AccountHeart,
UserHeart=AccountHeart,
@@ -356,6 +357,8 @@ public enum PackIconKind
AccountRemoveOutline,
PersonRemoveOutline=AccountRemoveOutline,
UserRemoveOutline=AccountRemoveOutline,
+ AccountSchool,
+ AccountSchoolOutline,
AccountSearch,
PersonSearch=AccountSearch,
UserSearch=AccountSearch,
@@ -1449,6 +1452,10 @@ public enum PackIconKind
CircleArrows=Autorenew,
CircularArrows=Autorenew,
ClockwiseArrows=Autorenew,
+ AutorenewOff,
+ CircleArrowsOff=AutorenewOff,
+ CircularArrowsOff=AutorenewOff,
+ ClockwiseArrowsOff=AutorenewOff,
AutoUpload,
AvTimer,
Aws,
@@ -1949,6 +1956,8 @@ public enum PackIconKind
BookEditOutline,
BookEducation,
BookEducationOutline,
+ BookHeart,
+ BookHeartOutline,
BookInformationVariant,
Encyclopedia=BookInformationVariant,
BookLock,
@@ -2217,6 +2226,7 @@ public enum PackIconKind
Brush,
Paintbrush=Brush,
BrushOff,
+ BrushOutline,
BrushVariant,
Bucket,
BucketOutline,
@@ -2429,6 +2439,8 @@ public enum PackIconKind
CameraGopro,
CameraImage,
CameraIris,
+ CameraLock,
+ CameraLockOutline,
CameraMarker,
CameraLocation=CameraMarker,
CameraMarkerOutline,
@@ -4288,6 +4300,8 @@ public enum PackIconKind
Directions,
DirectionsFork,
Disc,
+ CdRom=Disc,
+ Dvd=Disc,
DiscAlert,
DiscFull=DiscAlert,
DiscWarning=DiscAlert,
@@ -5729,6 +5743,7 @@ public enum PackIconKind
FruitCitrusOff,
FruitGrapes,
FruitGrapesOutline,
+ FruitPear,
FruitPineapple,
FruitAnanas=FruitPineapple,
FruitWatermelon,
@@ -5806,6 +5821,7 @@ public enum PackIconKind
GarageOpenVariant,
GarageVariant,
GarageVariantLock,
+ GasBurner,
GasCylinder,
OxygenTank=GasCylinder,
GasStation,
@@ -6310,6 +6326,8 @@ public enum PackIconKind
HouseCity=HomeCity,
HomeCityOutline,
HouseCityOutline=HomeCityOutline,
+ HomeClock,
+ HomeClockOutline,
HomeEdit,
HomeEditOutline,
HomeExportOutline,
@@ -6595,12 +6613,16 @@ public enum PackIconKind
ImageOutline,
ImagePlus,
ImageAdd=ImagePlus,
+ ImageRefresh,
+ ImageRefreshOutline,
ImageRemove,
ImageSearch,
ImageSearchOutline,
ImageSizeSelectActual,
ImageSizeSelectLarge,
ImageSizeSelectSmall,
+ ImageSync,
+ ImageSyncOutline,
ImageText,
ImageDescription=ImageText,
Import,
@@ -6906,6 +6928,7 @@ public enum PackIconKind
LessThanOrEqual,
Library,
LocalLibrary=Library,
+ LibraryOutline,
LibraryShelves,
License,
Award=License,
@@ -7454,8 +7477,10 @@ public enum PackIconKind
MessageArrowRight,
MessageArrowRightOutline,
MessageBadge,
+ MessageNotification=MessageBadge,
MessageUnread=MessageBadge,
MessageBadgeOutline,
+ MessageNotificationOutline=MessageBadgeOutline,
MessageUnreadOutline=MessageBadgeOutline,
MessageBookmark,
MessageBookmarkOutline,
@@ -8081,6 +8106,8 @@ public enum PackIconKind
NotebookCheckOutline,
NotebookEdit,
NotebookEditOutline,
+ NotebookHeart,
+ NotebookHeartOutline,
NotebookMinus,
NotebookMinusOutline,
NotebookMultiple,
@@ -8763,6 +8790,10 @@ public enum PackIconKind
PentagonOutline,
Pentagram,
Percent,
+ PercentBox,
+ PercentBoxOutline,
+ PercentCircle,
+ PercentCircleOutline,
PercentOutline,
PeriodicTable,
PerspectiveLess,
@@ -8913,6 +8944,10 @@ public enum PackIconKind
Play,
PlayArrow=Play,
PlayBox,
+ PlayBoxLock,
+ PlayBoxLockOpen,
+ PlayBoxLockOpenOutline,
+ PlayBoxLockOutline,
PlayBoxMultiple,
PlayBoxMultipleOutline,
PlayBoxOutline,
@@ -9141,6 +9176,7 @@ public enum PackIconKind
ProgressWrench,
ProgressSpanner=ProgressWrench,
Projector,
+ ProjectorOff,
ProjectorScreen,
ProjectorScreenOff,
ProjectorScreenOffOutline,
@@ -9250,6 +9286,8 @@ public enum PackIconKind
RailroadLight,
Rake,
RaspberryPi,
+ Raw,
+ RawOff,
RayEnd,
RayEndArrow,
RayStart,
@@ -9432,6 +9470,7 @@ public enum PackIconKind
RobotIndustrial,
Assembly=RobotIndustrial,
Autonomous=RobotIndustrial,
+ RobotIndustrialOutline,
RobotLove,
EmojiRobotLove=RobotLove,
EmoticonRobotLove=RobotLove,
@@ -9528,6 +9567,7 @@ public enum PackIconKind
Sailing=SailBoat,
Sale,
Discount=Sale,
+ SaleOutline,
Salesforce,
Sass,
Satellite,
@@ -11333,6 +11373,7 @@ public enum PackIconKind
VibrateOff,
Video,
Videocam=Video,
+ Video2d,
Video3d,
Video3dOff,
Video3dVariant,
@@ -11486,6 +11527,7 @@ public enum PackIconKind
WalletAddOutline=WalletPlusOutline,
WalletTravel,
CardTravel=WalletTravel,
+ WallFire,
Wallpaper,
WallSconce,
WallSconceFlat,
diff --git a/MaterialDesignThemes.Wpf/PopupBox.cs b/MaterialDesignThemes.Wpf/PopupBox.cs
index 66ba5c8901..fdcba3ca54 100644
--- a/MaterialDesignThemes.Wpf/PopupBox.cs
+++ b/MaterialDesignThemes.Wpf/PopupBox.cs
@@ -596,7 +596,7 @@ private void AnimateChildrenIn(bool reverse)
))
))
{
- controls = controls.Reverse();
+ controls = controls?.Reverse();
translateCoordinateFrom = 80;
}
else
diff --git a/MaterialDesignThemes.Wpf/Resources/Noto/NotoSans-Bold.ttf b/MaterialDesignThemes.Wpf/Resources/Noto/NotoSans-Bold.ttf
new file mode 100644
index 0000000000..54ad879b41
Binary files /dev/null and b/MaterialDesignThemes.Wpf/Resources/Noto/NotoSans-Bold.ttf differ
diff --git a/MaterialDesignThemes.Wpf/Resources/Noto/NotoSans-BoldItalic.ttf b/MaterialDesignThemes.Wpf/Resources/Noto/NotoSans-BoldItalic.ttf
new file mode 100644
index 0000000000..530a82835d
Binary files /dev/null and b/MaterialDesignThemes.Wpf/Resources/Noto/NotoSans-BoldItalic.ttf differ
diff --git a/MaterialDesignThemes.Wpf/Resources/Noto/NotoSans-Italic.ttf b/MaterialDesignThemes.Wpf/Resources/Noto/NotoSans-Italic.ttf
new file mode 100644
index 0000000000..27ff1ed60a
Binary files /dev/null and b/MaterialDesignThemes.Wpf/Resources/Noto/NotoSans-Italic.ttf differ
diff --git a/MaterialDesignThemes.Wpf/Resources/Noto/NotoSans-Regular.ttf b/MaterialDesignThemes.Wpf/Resources/Noto/NotoSans-Regular.ttf
new file mode 100644
index 0000000000..10589e277e
Binary files /dev/null and b/MaterialDesignThemes.Wpf/Resources/Noto/NotoSans-Regular.ttf differ
diff --git a/MaterialDesignThemes.Wpf/Resources/Noto/OFL.txt b/MaterialDesignThemes.Wpf/Resources/Noto/OFL.txt
new file mode 100644
index 0000000000..c9857270cc
--- /dev/null
+++ b/MaterialDesignThemes.Wpf/Resources/Noto/OFL.txt
@@ -0,0 +1,93 @@
+Copyright 2012 Google Inc. All Rights Reserved.
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/MaterialDesignThemes.Wpf/RobotoFontExtension.cs b/MaterialDesignThemes.Wpf/RobotoFontExtension.cs
new file mode 100644
index 0000000000..93aadcad6c
--- /dev/null
+++ b/MaterialDesignThemes.Wpf/RobotoFontExtension.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Windows.Markup;
+using System.Windows.Media;
+
+namespace MaterialDesignThemes.Wpf
+{
+ [MarkupExtensionReturnType(typeof(FontFamily))]
+ public class RobotoFontExtension : MarkupExtension
+ {
+ private static readonly Lazy _roboto
+ = new Lazy(() =>
+ new FontFamily(new Uri("pack://application:,,,/MaterialDesignThemes.Wpf;component/Resources/Roboto/"), "./#Roboto"));
+
+ public override object ProvideValue(IServiceProvider serviceProvider)
+ {
+ return _roboto.Value;
+ }
+ }
+}
\ No newline at end of file
diff --git a/MaterialDesignThemes.Wpf/SnackbarMessageQueue.cs b/MaterialDesignThemes.Wpf/SnackbarMessageQueue.cs
index 5497343cef..5110af6b44 100644
--- a/MaterialDesignThemes.Wpf/SnackbarMessageQueue.cs
+++ b/MaterialDesignThemes.Wpf/SnackbarMessageQueue.cs
@@ -293,7 +293,7 @@ await _showMessageSemaphore.WaitAsync()
.ConfigureAwait(true);
try
{
- Snackbar snackbar;
+ Snackbar? snackbar;
while (true)
{
if (_isDisposed || _dispatcher.HasShutdownStarted)
@@ -332,7 +332,7 @@ await ShowAsync(snackbar, messageNode.Value, _closeSnackbarEvent)
_showMessageSemaphore.Release();
}
- Snackbar FindSnackbar() => _pairedSnackbars.FirstOrDefault(sb =>
+ Snackbar? FindSnackbar() => _pairedSnackbars.FirstOrDefault(sb =>
{
if (!sb.IsLoaded || sb.Visibility != Visibility.Visible) return false;
var window = Window.GetWindow(sb);
diff --git a/MaterialDesignThemes.Wpf/Themes/MaterialDesign2.Defaults.xaml b/MaterialDesignThemes.Wpf/Themes/MaterialDesign2.Defaults.xaml
new file mode 100644
index 0000000000..f022f89324
--- /dev/null
+++ b/MaterialDesignThemes.Wpf/Themes/MaterialDesign2.Defaults.xaml
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/MaterialDesignThemes.Wpf/Themes/MaterialDesign3.Defaults.xaml b/MaterialDesignThemes.Wpf/Themes/MaterialDesign3.Defaults.xaml
new file mode 100644
index 0000000000..9dc4eeceb9
--- /dev/null
+++ b/MaterialDesignThemes.Wpf/Themes/MaterialDesign3.Defaults.xaml
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/MaterialDesignThemes.Wpf/Themes/MaterialDesign3.Font.xaml b/MaterialDesignThemes.Wpf/Themes/MaterialDesign3.Font.xaml
new file mode 100644
index 0000000000..94ce21916e
--- /dev/null
+++ b/MaterialDesignThemes.Wpf/Themes/MaterialDesign3.Font.xaml
@@ -0,0 +1,6 @@
+
+ pack://application:,,,/MaterialDesignThemes.Wpf;component/Resources/Noto/#Noto
+
\ No newline at end of file
diff --git a/MaterialDesignThemes.Wpf/Themes/MaterialDesign3.TextBlock.xaml b/MaterialDesignThemes.Wpf/Themes/MaterialDesign3.TextBlock.xaml
new file mode 100644
index 0000000000..a7b0fc4785
--- /dev/null
+++ b/MaterialDesignThemes.Wpf/Themes/MaterialDesign3.TextBlock.xaml
@@ -0,0 +1,213 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/MaterialDesignThemes.Wpf/Themes/MaterialDesign3.Window.xaml b/MaterialDesignThemes.Wpf/Themes/MaterialDesign3.Window.xaml
new file mode 100644
index 0000000000..bcb20700d7
--- /dev/null
+++ b/MaterialDesignThemes.Wpf/Themes/MaterialDesign3.Window.xaml
@@ -0,0 +1,30 @@
+
+
+
\ No newline at end of file
diff --git a/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.Button.xaml b/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.Button.xaml
index 1700863fb0..130110316c 100644
--- a/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.Button.xaml
+++ b/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.Button.xaml
@@ -172,8 +172,8 @@
-
-
+
+
@@ -182,8 +182,8 @@
-
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
@@ -313,8 +315,8 @@
x:Name="border"
CornerRadius="{Binding Path=(wpf:ButtonAssist.CornerRadius), RelativeSource={RelativeSource TemplatedParent}}"
BorderBrush="{TemplateBinding BorderBrush}"
- BorderThickness="{TemplateBinding BorderThickness}">
-
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
\ No newline at end of file
diff --git a/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.ComboBox.xaml b/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.ComboBox.xaml
index 04d6ce8833..ebfcd4bf36 100644
--- a/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.ComboBox.xaml
+++ b/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.ComboBox.xaml
@@ -304,19 +304,14 @@
-
+
-
-
-
+
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
-
-
-
+
+
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
-
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
-
-
-
+
+
+
+
-
+
-
-
-
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
+
-
-
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
-
+
+
+
+
-
+
-
-
-
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
+
+
-
-
-
+
+
+
@@ -859,8 +1328,8 @@
-
-
+
+
diff --git a/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.DataGrid.xaml b/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.DataGrid.xaml
index 937db8d8fe..ca327657e1 100644
--- a/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.DataGrid.xaml
+++ b/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.DataGrid.xaml
@@ -1,7 +1,8 @@
-
+
@@ -18,48 +19,69 @@
-
-
-
-
+
-
-
-
-
+
diff --git a/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.DatePicker.xaml b/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.DatePicker.xaml
index 16168cb606..88bc4194a8 100644
--- a/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.DatePicker.xaml
+++ b/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.DatePicker.xaml
@@ -459,6 +459,7 @@
x:Name="PART_TextBox"
Grid.Column="0"
Grid.Row="0"
+ Background="{TemplateBinding Background}"
Focusable="{TemplateBinding Focusable}"
Style="{StaticResource MaterialDesignDatePickerTextBox}"
VerticalContentAlignment="Center"
diff --git a/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.Defaults.xaml b/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.Defaults.xaml
index 977e804ce7..5ead0e4df2 100644
--- a/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.Defaults.xaml
+++ b/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.Defaults.xaml
@@ -1,12 +1,13 @@
-
+
-
+
+
+
@@ -40,62 +41,71 @@
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.DialogHost.xaml b/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.DialogHost.xaml
index 522b37d8b6..fbee4e0734 100644
--- a/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.DialogHost.xaml
+++ b/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.DialogHost.xaml
@@ -139,6 +139,7 @@
@@ -218,6 +219,7 @@
\ No newline at end of file
diff --git a/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.Expander.xaml b/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.Expander.xaml
index 8e731bdc35..82325a2052 100644
--- a/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.Expander.xaml
+++ b/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.Expander.xaml
@@ -189,6 +189,11 @@
+
+
+
@@ -206,6 +211,11 @@
+
+
+
@@ -220,6 +230,11 @@
Storyboard.TargetProperty="(ScaleTransform.ScaleY)"
To="1"
Duration="0" />
+
+
+
@@ -233,6 +248,11 @@
Storyboard.TargetProperty="(ScaleTransform.ScaleY)"
To="0"
Duration="0" />
+
+
+
@@ -271,18 +291,19 @@
-
+
-
+
diff --git a/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.Menu.xaml b/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.Menu.xaml
index f2ce61e5dd..4f45863826 100644
--- a/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.Menu.xaml
+++ b/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.Menu.xaml
@@ -1,233 +1,285 @@
-
+
-
+
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
+
@@ -236,68 +288,174 @@
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
@@ -305,17 +463,126 @@
-
+
+
+
+
+
-
-
\ No newline at end of file
diff --git a/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.PasswordBox.xaml b/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.PasswordBox.xaml
index 7dd1af75b7..0e596774d6 100644
--- a/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.PasswordBox.xaml
+++ b/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.PasswordBox.xaml
@@ -1,8 +1,9 @@
-
+
@@ -16,66 +17,41 @@
-
-
-
diff --git a/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.TabControl.xaml b/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.TabControl.xaml
index 11921a1874..76a084b993 100644
--- a/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.TabControl.xaml
+++ b/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.TabControl.xaml
@@ -1,169 +1,284 @@
-
+
-
-
-
-
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
@@ -175,79 +290,61 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -->
+
-
-
-
-
+
+
+
+
diff --git a/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.TextBox.xaml b/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.TextBox.xaml
index 6ee955e94d..14117bd522 100644
--- a/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.TextBox.xaml
+++ b/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.TextBox.xaml
@@ -1,8 +1,9 @@
-
+
@@ -16,7 +17,10 @@
-
-
-
+
-
+
-
-
-
diff --git a/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.ToggleButton.xaml b/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.ToggleButton.xaml
index ac52d40bf3..755285c557 100644
--- a/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.ToggleButton.xaml
+++ b/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.ToggleButton.xaml
@@ -1,7 +1,6 @@
@@ -267,6 +266,7 @@
+
diff --git a/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.ToolBar.xaml b/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.ToolBar.xaml
index 60037d67e3..c922b4affa 100644
--- a/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.ToolBar.xaml
+++ b/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.ToolBar.xaml
@@ -1,6 +1,8 @@
-
+
@@ -16,15 +18,20 @@
-
+
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -215,65 +295,92 @@
-
-
-
-
-
-