arcane_jaspr 2.4.0
arcane_jaspr: ^2.4.0 copied to clipboard
A Jaspr web framework port of the Arcane UI component library. Build beautiful web applications with Dart using familiar Arcane patterns.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
2.4.0 #
Added #
New Input Components
ArcaneTagInput- Tag/chip input for collecting multiple values with add/remove functionalityArcaneNumberInput- Numeric input with increment/decrement controls and prefix/suffix supportArcaneFileUpload- File upload component with drag-and-drop support, dropzone/button/inline styles, andhelperTextparameterArcaneColorInput- Color picker with swatch display, hex input, and preset color swatches
New View Components
ArcaneCallout- Inline notice box for tips, warnings, and contextual information (info, success, warning, error, tip, note styles)ArcaneKbd- Keyboard shortcut display with raised, flat, and outline styles, pluscombo()factory for key combinationsArcaneMeter- Progress meter/gauge with bar, gradient, segmented, and circular stylesArcaneAlert- Inline alert for status messages with subtle, solid, outline, and accent stylesArcaneTreeView- Hierarchical tree structure with expand/collapse, selection modes, and line/clean/compact stylesArcanePopover- Floating content panel with click/hover/manual triggers and multiple positions
New Navigation Components
ArcaneBreadcrumbs- Navigation breadcrumb trail with chevron, slash, arrow, and dot separatorsArcanePagination- Page navigation controls with outline, filled, ghost, and simple styles (usesonPageChangecallback)
New Layout Components
ArcaneDrawer- Slide-in side panel from any screen edge (left, right, top, bottom) with multiple sizesArcaneTabBar- Simple inline tab bar for view switching (usesArcaneTabBarItem, index-based selection)
SVG Abstractions
ArcaneSvg- SVG wrapper component with size presets (xs, sm, md, lg, xl, xxl)ArcaneSvgPath- SVG path element with fill, stroke, and line cap/join attributesArcaneSvgCircle- SVG circle elementArcaneSvgRect- SVG rect element with corner radius supportArcaneSvgLine- SVG line elementArcaneSvgPolyline- SVG polyline elementArcaneSvgPolygon- SVG polygon elementArcaneSvgGroup- SVG group element with transform support
Enhanced ArcaneIcon
- Added 30+ new icon factory constructors:
plus,minus,trash,edit,download,upload,user,mail,heart,star,lock,bell,calendar,folder,file,image,code,terminal,link,globe,info,warning,error,success,refresh,filter,moreHorizontal,moreVertical,eye,eyeOff,send,loader
Documentation #
- Added comprehensive documentation for all new components in codex
- Added demos for all new components
- Updated navigation sidebar with new component entries
- Fixed documentation for
ArcanePaginationto use correctonPageChangecallback name - Updated inline tabs documentation to reflect
ArcaneTabBarAPI
2.2.0 #
Added #
Renamed HTML Components (with backwards-compatible aliases)
ArcaneCodeBlock- Renamed fromArcanePrefor clarity, withCodeBlockStyleenum (raw, code, minimal, inline, terminal)ArcaneQuote- Renamed fromArcaneBlockquoteArcaneBulletList- Renamed fromArcaneUnorderedListArcaneNumberedList- Renamed fromArcaneOrderedListArcaneSideContent- Renamed fromArcaneAside
New Style Enums
PaddingPreset.badge- Compact padding for badge/tag elements (2px 8px)PaddingPreset.inlineCode- Padding for inline code snippets (2px 6px)PaddingPreset.chip- Padding for chip/pill elements (4px 12px)Background.glassTint- Subtle glass tint effect (rgba 5%)Background.glassHeader- Glass header effect (rgba 3%)Background.glassOverlay- Glass overlay effect (rgba 8%)Background.destructive- Alias for error backgroundMaxHeightenum - Preset max-heights (none, sm, md, lg, codeBlock, xl, modal, screen)MinWidthenum - Preset min-widths (none, touchTarget, sm, md, lg)
Changed #
- Updated codex documentation site to use enum-based styling instead of raw CSS
- Factory constructors like
ArcaneButton.ghost()now recommended asArcaneButton(style: ButtonStyle.ghost) - All legacy HTML component names preserved as typedefs for backwards compatibility
Documentation #
- Added new enum values to spacing documentation (badge, inlineCode, chip)
- Added Glass Effects section to colors documentation
- Added MaxHeight and MinWidth sections to display documentation
2.1.0 #
Added #
Authentication System
ArcaneAuthProvider- Context provider for Firebase authenticationAuthGuard- Route protection for authenticated usersGuestGuard- Route protection for unauthenticated users (login/signup pages)JasprAuthService- Firebase Auth service via JS interop
Auth UI Components
ArcaneLoginCard- Complete login form with email/password and social optionsArcaneSignupCard- Registration form with terms acceptance and password policyArcaneForgotPasswordCard- Password reset request form
Social Sign-in Buttons
GithubSignInButton- GitHub OAuth buttonGoogleSignInButton- Google OAuth buttonAppleSignInButton- Apple Sign-In button
Auth Layouts
AuthSplitLayout- Two-column layout for auth pages (branding + form)AuthBrandingPanel- Branding content panel with tagline, features, testimonials
Auth Form Primitives
AuthInput- Styled input for auth formsAuthButton- Submit button for auth formsAuthDivider- "or continue with" dividerAuthSocialRow- Row of social sign-in buttonsAuthFormCard- Card container for auth forms
Auth Utilities
PasswordPolicy- Password validation with presets (weak, medium, strong)AuthState- Authentication state containerAuthUser- Authenticated user modelAuthMethod- Enum for auth methods (email, github, google, apple, anonymous)AuthStatus- Enum for auth status (unknown, loading, authenticated, unauthenticated, error)
Context Extensions
context.authState- Access current auth statecontext.currentUser- Access current usercontext.isAuthenticated- Check authentication statuscontext.signInWithGitHub()- Trigger GitHub OAuthcontext.signInWithGoogle()- Trigger Google OAuthcontext.signInWithApple()- Trigger Apple Sign-Incontext.signOut()- Sign out current user
Changed #
- Added
web: ^1.1.1dependency for Firebase JS interop - Added
http: ^1.6.0dependency for auth API calls - Updated documentation with authentication section
- Added auth demos to codex documentation site
Documentation #
- Rewrote root README with comprehensive component and auth documentation
- Created codex root README
- Expanded codex web README with detailed project structure
- Added authentication section to docs sidebar
- Added auth component demos
Tests #
- Added
auth_test.dartwith 45+ tests covering:- PasswordPolicy (weak, medium, strong presets and custom)
- AuthMethod enum
- AuthStatus enum
- AuthUser class
- AuthState class
2.0.0 #
Breaking Changes #
All components now use the Arcane* prefix consistently. This is a breaking change that removes backwards compatibility.
Migration Guide:
Components have been renamed from their short names to the full Arcane* prefix. Examples:
Button→ArcaneButtonCard→ArcaneCardDiv→ArcaneDivHeading→ArcaneHeadingSection→ArcaneSectionBox→ArcaneBoxRow→ArcaneRowColumn→ArcaneColumnCheckbox→ArcaneCheckboxSlider→ArcaneSliderSearch→ArcaneSearchToast→ArcaneToastBar→ArcaneBarGlass→ArcaneGlassScreen→ArcaneScreen- ... and all other components
Added #
aliases.dart- ShorthandA*typedefs for all components (e.g.,AButton = ArcaneButton)- Import with
import 'package:arcane_jaspr/aliases.dart'; - Provides shorter names while keeping
Arcane*as the primary API
- Import with
Changed #
- Renamed all components to use consistent
Arcane*prefix - HTML element wrappers now use
Arcane*prefix:Div→ArcaneDivNav→ArcaneNavAside→ArcaneAsideHeading→ArcaneHeadingParagraph→ArcaneParagraphMain→ArcaneMainHtmlSection→ArcaneHtmlSectionHtmlFooter→ArcaneHtmlFooterBlockquote→ArcaneBlockquotePre→ArcanePre
- Layout components renamed:
Box→ArcaneBoxRow→ArcaneRowColumn→ArcaneColumnSection→ArcaneSectionGutter→ArcaneGutterFlow→ArcaneFlowButtonPanel→ArcaneButtonPanelCenterBody→ArcaneCenterBody
- Input components renamed:
Checkbox→ArcaneCheckboxRadio→ArcaneRadioSlider→ArcaneSliderRangeSlider→ArcaneRangeSliderToggleSwitch→ArcaneToggleSwitchSearch→ArcaneSearchSelector→ArcaneSelectorCycleButton→ArcaneCycleButtonFAB→ArcaneFABThemeToggle→ArcaneThemeToggle
- View components renamed:
Bar→ArcaneBarGlass→ArcaneGlassExpander→ArcaneExpanderAccordion→ArcaneAccordionTooltip→ArcaneTooltipToast→ArcaneToastStaticTable→ArcaneStaticTableTimeline→ArcaneTimelineStepper→ArcaneStepper
- Navigation components renamed:
Sidebar→ArcaneSidebarSidebarItem→ArcaneSidebarItemBottomNavigationBar→ArcaneBottomNavigationBarBottomNavItem→ArcaneBottomNavItem
- Screen components renamed:
Screen→ArcaneScreenFillScreen→ArcaneFillScreen
- Dialog/Feedback components renamed:
ConfirmDialog→ArcaneConfirmDialogAlertDialog→ArcaneAlertDialog
- Collection components renamed:
Collection→ArcaneCollectionListView→ArcaneListViewGridView→ArcaneGridViewMasonryGrid→ArcaneMasonryGridCardCarousel→ArcaneCardCarousel
1.0.0 #
Added #
Core
ArcaneApp- Main application wrapper with theme supportArcaneTheme- Theming system with Supabase-style dark-first designContrastedColorScheme- Comprehensive color scheme with accent themes (violet, green, orange)
Input Components
ArcaneButton- Primary button with multiple variants and sizesArcaneIconButton- Icon-only button with hover statesCheckbox- Styled checkbox inputCycleButton- Button that cycles through optionsFAB- Floating action buttonSearch- Search input with iconSelector- Dropdown selector componentSlider- Range slider inputTextInput- Text input field with validation supportThemeToggle- Dark/light mode toggleToggleSwitch- On/off toggle switch
View Components
AnimatedCounter- Animated number counterAvatar- User avatar with fallback initialsBadge- Status badges with variantsBar- Horizontal bar componentArcaneCard- Card container with hover effectsCardSection- Section within a cardCenterBody- Centered content wrapperChip- Tag/chip componentCodeSnippet- Syntax-highlighted code blockDataTable- Interactive data tableDivider- Horizontal/vertical dividerExpander- Expandable/collapsible contentFeatureCard- Feature showcase cardGameTile- Game server tile with status indicatorsGlass- Glassmorphism containerGradientText- Text with gradient colorIntegrationCard- Integration showcase cardPricingCard- Pricing tier cardProgressBar- Progress indicator barRatingStars- Star rating displaySkeleton- Loading skeleton placeholderSocialIcons- Social media icon linksStatCard- Statistics display cardStaticTable- Simple static tableStatusIndicator- Online/offline status dotStepper- Multi-step progress indicatorTestimonialCard- Customer testimonial cardTile- Clickable tile componentTimeline- Vertical timeline display
Layout Components
ButtonPanel- Row/column of buttonsCarpet- Full-width background sectionCTABanner- Call-to-action bannerFlow- Flexbox flow layoutFooter- Page footer with linksGutter- Spacing/margin utilityHeroSection- Hero banner sectionLogoCarousel- Scrolling logo carouselRadioCards- Radio button card selectorSection- Page section wrapperArcaneTabs- Tabbed content container
Navigation Components
BottomNavigationBar- Mobile bottom navDropdownMenu- Dropdown menu with itemsHeader- Page header/navbarMobileMenu- Responsive mobile menuSidebar- Side navigation panel
Screen Components
Screen- Base screen wrapperFillScreen- Full-height screenNavigationScreen- Screen with navigation
Dialog Components
ArcaneDialog- Modal dialogConfirmDialog- Confirmation dialogTextInputDialog- Text input modalToast- Toast notification
Feedback Components
AlertBanner- Alert/notification bannerLoader- Loading spinnerTooltip- Hover tooltip
Form Components
Field- Form field with labelFieldWrapper- Field container with validationFormProvider- Form state managementNewsletterForm- Email signup form
Interactive Components
Accordion- Collapsible accordion panelsBackToTop- Scroll to top button
Typography
Headline- Styled heading component
Collection Components
CardCarousel- Horizontally scrolling cardsCollection- Grid/list collection view
Design Tokens
ArcaneTokens- Spacing, radius, shadows, transitionsCommonStyles- Reusable style mapsStylePresets- Pre-built component styles- Button, Card, Badge, Chip, Input, FAB, IconButton, Alert, Progress, Control styles
Utilities
ArcaneStyles- Style helper utilities- Color utilities and extensions