FRONT-I-01: Extract Auth components to Razor Class Library packages/blazor-ui/
- Created GoodGo.BlazorUi RCL (net10.0, MudBlazor 8.15) at packages/blazor-ui/
- Moved AuthButton, AuthCard, AuthInput, OtpInput, BrandPanel, SocialLogin, LanguageSwitcher
- Referenced RCL from WebClientTpos.Client via ProjectReference
- Added GoodGo.BlazorUi.Components.Auth/Common namespaces to _Imports.razor
FRONT-I-02: Add ARIA/accessibility attributes (WCAG 2.1 AA)
- AuthButton: aria-label, aria-busy, aria-disabled, aria-hidden on decorative icons
- OtpInput: role=group, aria-label per digit, autocomplete=one-time-code
- PosLayout: aria-expanded + aria-controls on sidebar/order toggles, aria-label on all icon buttons
FRONT-I-03: Implement Style Dictionary design token pipeline
- Created packages/design-tokens/ with token JSON (color, spacing, typography, border)
- Style Dictionary config outputs: CSS custom properties → wwwroot/css/tokens.generated.css
- Second output: C# constants → packages/blazor-ui/DesignTokens/DesignTokens.g.cs
- Added tokens:build script to root package.json
- Added tokens.generated.css link to index.html (before app.css for cascade correctness)
FRONT-I-04: Replace eval() in OtpInput with safe JS interop
- Created wwwroot/js/otp-input.js with window.focusOtpInput(index) helper
- Replaced JS.InvokeVoidAsync("eval", ...) with JS.InvokeVoidAsync("focusOtpInput", index)
- Eliminates CSP-violating eval(), improves security and debuggability
Co-Authored-By: Paperclip <noreply@paperclip.ing>
27 lines
1.1 KiB
XML
27 lines
1.1 KiB
XML
<Project Sdk="Microsoft.NET.Sdk.Razor">
|
|
|
|
<PropertyGroup>
|
|
<!--
|
|
EN: Razor Class Library — shared Blazor UI components for GoodGo platform.
|
|
Consumed by web-client-tpos-net and web-client-base-net.
|
|
VI: Razor Class Library — thư viện component Blazor dùng chung cho nền tảng GoodGo.
|
|
Được dùng bởi web-client-tpos-net và web-client-base-net.
|
|
-->
|
|
<TargetFramework>net10.0</TargetFramework>
|
|
<Nullable>enable</Nullable>
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
<AddRazorSupportForMvc>false</AddRazorSupportForMvc>
|
|
<AssemblyName>GoodGo.BlazorUi</AssemblyName>
|
|
<RootNamespace>GoodGo.BlazorUi</RootNamespace>
|
|
<Version>1.0.0</Version>
|
|
<Description>Shared Blazor UI component library for GoodGo platform</Description>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="10.0.1" />
|
|
<PackageReference Include="Microsoft.Extensions.Localization.Abstractions" Version="10.0.2" />
|
|
<PackageReference Include="MudBlazor" Version="8.15.0" />
|
|
</ItemGroup>
|
|
|
|
</Project>
|