Files
maspotlighttour/MarketAlly.MASpotlightTour/MASpotlightTour.Maui.csproj

95 lines
6.1 KiB
XML

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net9.0-android;net9.0-ios;net9.0-maccatalyst</TargetFrameworks>
<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows'))">$(TargetFrameworks);net9.0-windows10.0.19041.0</TargetFrameworks>
<!-- Uncomment to also build the tizen app. You will need to install tizen by following this: https://github.com/Samsung/Tizen.NET -->
<!-- <TargetFrameworks>$(TargetFrameworks);net9.0-tizen</TargetFrameworks> -->
<UseMaui>true</UseMaui>
<SingleProject>true</SingleProject>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<PackageOutputPath>C:\Users\logik\Dropbox\Nugets</PackageOutputPath>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<AssemblyName>MarketAlly.SpotlightTour.Maui</AssemblyName>
<RootNamespace>MarketAlly.SpotlightTour.Maui</RootNamespace>
<PackageId>MarketAlly.SpotlightTour.Maui</PackageId>
<Title>MASpotlightTour - Feature Tour &amp; Onboarding for .NET MAUI</Title>
<Version>1.2.0</Version>
<Authors>David H Friedel Jr</Authors>
<Company>MarketAlly</Company>
<Description>A powerful, declarative spotlight tour and onboarding library for .NET MAUI applications. Create beautiful feature tours with spotlight overlays, callout cards, and step-by-step guidance using simple XAML attached properties. Features include: multiple display modes (spotlight with callout, callout-only, inline labels), flexible callout positioning (following, fixed corner, auto-corner), customizable spotlight shapes (rectangle, rounded rectangle, circle), corner navigator with step indicators, intro/welcome views, auto-advance timers, tour looping, light/dark theme support, smooth animations, and awaitable tour completion for action chaining. Perfect for user onboarding, feature discovery, and interactive tutorials. Supports iOS, Android, Windows, and macOS.</Description>
<Copyright>Copyright © MarketAlly 2025</Copyright>
<PackageIcon>icon.png</PackageIcon>
<PackageTags>maui;spotlight;tour;onboarding;walkthrough;tutorial;feature-tour;coach-marks;user-guide;intro;tooltip;callout;overlay;highlight;step-by-step;hints;guided-tour;app-intro;showcase;ios;android;windows;macos;dotnet;xaml;controls;ui</PackageTags>
<PackageProjectUrl>https://github.com/MarketAlly/MASpotlightTour</PackageProjectUrl>
<RepositoryUrl>https://github.com/MarketAlly/MASpotlightTour</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageReleaseNotes>
Version 1.2.0 - Shell Navigation &amp; Animation Fixes:
- FIXED: Corner positioning now works correctly on the first tour step
- FIXED: Tour steps no longer bleed between pages when using Shell.GoToAsync() navigation
- NEW: Tours automatically stop when navigating away from a page (Page.Disappearing)
- NEW: StopTourOnPageNavigate property to control auto-stop behavior (default: true)
- Animations now preserve target positions instead of resetting to origin
- Scanner filters out elements from cached Shell pages
Version 1.1.1 - Custom Control Support:
- FIXED: Scanner now detects tour steps inside custom controls (toolbars, menus, etc.)
- Enhanced DefaultStepScanner to check common collection properties (Items, MenuItems, ToolbarItems, etc.)
- Supports nested items like MenuItems inside ToolbarSplitButton
Version 1.1.0 - Step Actions:
- NEW: Step Actions - Execute custom async code when entering/leaving tour steps
- NEW: OnEntering/OnLeaving attached properties for per-element actions
- NEW: RegisterStepEnteringAction/RegisterStepLeavingAction for centralized registration by StepKey
- NEW: StepEntering event with Skip property for conditional step skipping
- NEW: StepEntered event fired after step animations complete
- NEW: StepLeaving event for cleanup before navigation
- Perfect for UI preparation: switching tabs, opening drawers, triggering animations
Version 1.0.0 - Initial Release:
- Declarative tour steps via XAML attached properties
- Three display modes: SpotlightWithCallout, CalloutOnly, SpotlightWithInlineLabel
- Flexible callout positioning: Following, FixedCorner, AutoCorner
- Spotlight shapes: Rectangle, RoundedRectangle, Circle
- Corner navigator with step indicators and navigation buttons
- IntroView support for welcome screens before tour starts
- Auto-advance timer for automated tours
- AutoLoop for repeating tours
- Light/Dark theme support with System theme detection
- Smooth animations with configurable duration
- Awaitable StartTourAsync for action chaining after tour completion
- Tour grouping for multiple tours per page
- Automatic scroll-to-element for off-screen targets
- Cross-platform support: iOS, Android, Windows, macOS
</PackageReleaseNotes>
<RequireLicenseAcceptance>false</RequireLicenseAcceptance>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'">15.0</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'maccatalyst'">15.0</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">24.0</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.17763.0</SupportedOSPlatformVersion>
<TargetPlatformMinVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.17763.0</TargetPlatformMinVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'tizen'">6.5</SupportedOSPlatformVersion>
</PropertyGroup>
<ItemGroup>
<None Include="..\README.md" Pack="true" PackagePath="\" />
<None Include="icon.png">
<Pack>true</Pack>
<PackagePath>\</PackagePath>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>true</Visible>
</None>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Maui.Controls" Version="$(MauiVersion)" />
</ItemGroup>
</Project>