magic_starter
library
Classes
EnsureAuthenticated
Middleware that redirects unauthenticated users to the login page.
MagicStarter
Static facade for Magic Starter.
MagicStarterAppBuild
The build this app is running: its version, its build number and where it
was installed from.
MagicStarterAppLayout
Default App Layout for Magic Starter.
MagicStarterAppUpdateBanner
Tells the customer, without interrupting them, that a newer build of the app
is available, and offers to load it or to be reminded with the next one.
MagicStarterAppVersion
A one-line caption naming the build the app is running, such as
Version 1.2.0 (34).
MagicStarterArtisanProvider
Magic Starter's contribution to the host application's artisan registry.
MagicStarterAuthController
Auth controller for Magic Starter plugin.
MagicStarterAuthFormCard
Consistent card wrapper for all auth forms.
MagicStarterAuthTheme
Theme configuration for authentication pages (login, register, forgot
password, reset password) and their shared widgets.
MagicStarterAuthUser
Default authenticatable user for Magic Starter.
MagicStarterBillingController
Backs the billing screen: six independent reads of what a customer is
entitled to, what they have spent, and where they manage it.
MagicStarterBillingView
The plan and billing screen.
MagicStarterBottomNavScope
Where a layout's bottom nav learns which pages want it gone.
MagicStarterBottomNavSlot
The layout's bottom nav, collapsed by the pages that hide it.
MagicStarterCampaign
The time-boxed offer GET /billing/campaign answers for the current team.
MagicStarterCampaignBanner
Tells a floor-tier team owner on the web rail, on every page, that a
time-boxed offer is running, and sends them to the plan grid.
MagicStarterCampaignDiscount
What a campaign takes off, as the backend snapshotted it from the Stripe
coupon behind the promotion code.
MagicStarterCapturedScreen
The screenshot captured on the way into support, with the path of the
screen it shows.
MagicStarterCardTheme
Theme configuration for MSCard widget styling.
MagicStarterChangelogView
The "What's new" page: the app's release notes, newest first.
MagicStarterConfig
Feature toggle helper for Magic Starter.
MagicStarterConfirmDialog
Thin backwards-compatible alias for the migrated MSConfirmDialog component.
MagicStarterDialogShell
Thin backwards-compatible alias for the migrated MSDialog component.
MagicStarterFeedbackCard
The occasional 0-10 feedback card.
MagicStarterFeedbackController
Backs the occasional 0-10 feedback card: whether to show it, and the one
write that answers or dismisses it.
MagicStarterFeedbackView
The "Send feedback" page the profile menu opens.
MagicStarterForgotPasswordView
MagicStarterFormTheme
Theme configuration for form input styling across all Magic Starter views.
MagicStarterGuestAuthController
Controller managing guest authentication and device-ID-based upgrade flows.
MagicStarterGuestClaim
Moves what a guest accumulated onto the account they sign in to next.
MagicStarterGuestLayout
Default Guest Layout for Magic Starter.
MagicStarterHideBottomNav
Hides the phone bottom nav while the page it wraps is on screen, in step
with that page's route transition.
MagicStarterHideChrome
Signals to MagicStarterAppLayout that the whole shell chrome should be
suppressed for routes nested under this widget.
MagicStarterLayoutIds
The layoutId values this package's route groups register under.
MagicStarterLayoutTheme
Theme configuration for the app layout shell (MagicStarterAppLayout ).
MagicStarterLoginView
Login view with dynamic identity field support.
MagicStarterManager
Manager for Magic Starter.
MagicStarterModalTheme
Theme configuration for modal/dialog colors and styling.
MagicStarterNavigationConfig
Configuration for app navigation sections.
MagicStarterNavigationTheme
Theme configuration for navigation colors and styling.
MagicStarterNavItem
Navigation item model for Magic Starter.
MagicStarterNewsletterController
Controller for newsletter subscription management.
MagicStarterOnboarding
A generic one-time gate for a first-run onboarding step.
MagicStarterOtpController
Controller managing the phone OTP authentication flow.
MagicStarterOtpVerifyView
Multi-step view for phone OTP authentication.
Theme configuration for MSPageHeader widget styling.
MagicStarterPasswordConfirmDialog
A reusable dialog widget that prompts the user to confirm their password.
MagicStarterPlan
A billing tier from a consumer app's plan catalogue, typed where the
package can honestly name a field and left in raw where it cannot.
MagicStarterPlanCardScope
Publishes the catalogue row a plan card was built from, so the
plan_card_highlight slot can render the fields this package never names.
Counts the dialog and popup routes open on the navigator it observes.
MagicStarterProduct
One product in a catalogue tier row: the thing a purchase names.
MagicStarterProfileController
Profile controller for Magic Starter plugin.
MagicStarterProfileSettingsView
Profile settings view --- multi-section page for managing user profile.
MagicStarterRegisterView
Registration view with dynamic identity field support.
MagicStarterRelease
One released version of the app, as listed by the backend's releases
endpoint.
MagicStarterReleaseFeed
The body of the backend's GET releases: the releases plus the newest
store builds.
MagicStarterReleaseItem
One line of a release's changelog.
MagicStarterReleasesController
Controller for the release changelog.
MagicStarterResetPasswordView
MagicStarterScreenCapture
Captures the screen a customer leaves for support, so a new conversation
can carry it as an auto_screenshot the customer previews first.
MagicStarterServiceProvider
Service provider for Magic Starter.
MagicStarterSocialAuth
The bridge between the starter's screens and an app's social login.
MagicStarterSocialButtons
One "Continue with" button per provider the social login bridge offers.
MagicStarterStepUpDialog
Asks an account with no password to prove who is calling.
MagicStarterStoreReview
Asks for a native store review at moments the host chooses, and opens the
store listing for an explicit "Rate us".
MagicStarterSupportArticle
A knowledge-base article offered to the customer, as magic-starter-laravel
serialises it: a suggestion while writing, or a card under an AI answer.
MagicStarterSupportAttachment
A file attached to a support message, as magic-starter-laravel serialises
it.
MagicStarterSupportClientContext
The client info a new support conversation carries behind
support_diagnostics: where the customer was, which build they run, on
what, and in which language and timezone.
MagicStarterSupportController
Backs the support desk screens: the opener's conversation list, one thread,
and the three writes that touch a thread.
MagicStarterSupportConversation
A support conversation the signed-in user opened.
MagicStarterSupportCreateView
Opens a support conversation: a topic and a first message.
MagicStarterSupportIndexView
The signed-in user's support conversations: newest activity first, split into
Open and Resolved, each row previewing the last message behind its sender, an
unread dot on a thread answered since it was last opened, and a way to start
a new one.
MagicStarterSupportLastMessage
The newest customer-visible message of a listed conversation, as the index
serialises it for the row preview.
MagicStarterSupportMessage
One message in a support conversation, as magic-starter-laravel serialises
it.
MagicStarterSupportRating
The customer's rating of a resolved conversation.
MagicStarterSupportStatusBadge
A conversation's status as the customer reads it.
MagicStarterSupportThreadView
One support conversation as a chat: bubbles by who wrote them, a docked
composer, and what to expect from the AI or the team above it.
MagicStarterTeam
Lightweight team DTO used by the starter plugin's team resolver.
MagicStarterTeamController
Team controller for Magic Starter plugin.
MagicStarterTeamCreateView
MagicStarterTeamInvitationAcceptView
MagicStarterTeamResolverConfig
Holds team-related callbacks so plugin UI can render team data
without depending on app-specific models.
MagicStarterTeamSettingsView
MagicStarterTheme
Unified theme configuration that aggregates all Magic Starter sub-themes.
MagicStarterTimezoneSelect
Searchable timezone select widget for Magic Starter.
MagicStarterTokens
Semantic Token Alias Convention
MagicStarterTwoFactorChallengeView
The Two-Factor Authentication challenge page.
MagicStarterTwoFactorModal
A multi-step wizard modal widget for Two-Factor Authentication (2FA) setup.
MagicStarterVerifyEmailView
The page the verification mail opens: it verifies on arrival and says so.
MagicStarterViewRegistry
Registry for starter view builders.
MSAccordion
A recipe-driven accordion component for Magic Starter.
MSAccordionItem
A single item within an MSAccordion .
MSAvatar
The Shared Avatar
MSBadge
A small inline status label built on WBadge .
MSBottomSheet
A reusable bottom-sheet component with Wind UI chrome driven by
MagicStarter.manager.modalTheme tokens.
MSButton
A reusable button component for Magic Starter views.
MSCard
A reusable card component for Magic Starter views.
MSCheckbox
A reusable checkbox component for Magic Starter forms.
MSCombobox <T >
A searchable single-select combobox component for Magic Starter.
MSDataColumn <E >
One column of an MSDataTable .
MSDataTable <E >
A table with a header and a body of rows.
MSDialog
A reusable dialog component providing consistent Wind UI chrome driven by
MagicStarter.manager.modalTheme tokens.
A reusable dropdown-menu component that composes on WPopover .
A single item entry for MSDropdownMenu .
MSEmptyState
A centered empty-state placeholder with optional icon, title, description,
and action slot.
MSErrorState
A centered error-state placeholder with destructive tone.
MSFormActions
The action row that closes a form: an optional cancel and the primary
submit, right-aligned at the bottom of the fields.
MSFormField
A labeled form-field wrapper composing label / child / hint / error slots.
A page-header action that becomes an icon-only control on a phone.
MSInput
A reusable text input component for Magic Starter forms.
MSKeyValueEditor
Controlled editor for an ordered list of key/value pairs.
MSKeyValueRow
A single editable key/value pair in a MSKeyValueEditor , e.g. one HTTP
request header.
MSNavbar
A responsive top navigation bar.
MSPageContainer
The Shared Page Container
Reusable page header for Magic Starter views.
MSPageScaffold
The Shared Page Scaffold
MSRadio <T >
A reusable radio button component for Magic Starter forms.
MSSegmentedControl <T >
A tab-bar-style segmented control component for Magic Starter.
MSSelect <T >
A styled single-select dropdown component for Magic Starter.
MSSettingsNavRow
A drill-navigation row for iOS-style grouped settings lists.
MSSettingsRow
A single iOS-style settings list row.
MSSettingsSection
An iOS inset-grouped settings section.
MSSkeleton
A loading placeholder built on WDiv .
MSSocialDivider
Visual divider with "Or continue with" text.
MSStringValueList
Controlled editor for a short list of distinct strings.
MSSwitch
A reusable toggle switch component for Magic Starter forms.
MSSwitchRow
A labelled toggle that takes its column's full width: an MSSwitch with
its MSSwitch.label beside it.
MSTabs
A recipe-driven tabs component for Magic Starter.
MSTeamSelector
Team selector widget.
MSTextarea
A reusable multiline text input component for Magic Starter forms.
MSToast
A reusable inline toast notification widget.
MSTooltip
A reusable tooltip component that wraps WPopover to display a brief
label on hover (desktop) or long-press (mobile).
MSTypography
A polymorphic text component built on WText .
MSUpdateBanner
Non-modal strip announcing that a newer version of the app is available.
MSUpgradeDialog
Modal body shown when the backend refuses an action for plan reasons.
MSUpgradeNudge
Inline upsell shown where a plan limit bites.
MSUsageMeter
A single resource's usage against its plan limit.
MSUserProfileDropdown
A dropdown widget for the user profile.
PackageInfo
Application metadata. Provides application bundle information on iOS and
application package information on Android.
PlanUpgradeRequirement
A refusal the team can fix by upgrading, read off a gated response.
RedirectIfAuthenticated
Middleware that redirects authenticated users away from guest-only pages.
UpgradePrompt
The one way a plan wall is surfaced to the user.
Functions
accordionRecipe ({Map <String , String ? > ? variants , Map <String , String > ? classNames })
→ Map <String , String >
Builds the slot recipe for MSAccordion from semantic tokens.
buildBottomSheetSlotRecipe (MagicStarterModalTheme theme )
→ WindSlotRecipe
Builds the bottom-sheet WindSlotRecipe from a MagicStarterModalTheme .
buildCardRecipe (MagicStarterCardTheme theme )
→ WindRecipe
Builds the card WindRecipe from a MagicStarterCardTheme .
buildDialogSlotRecipe (MagicStarterModalTheme theme )
→ WindSlotRecipe
Builds the dialog WindSlotRecipe from a MagicStarterModalTheme .
buildToastRecipe ()
→ WindRecipe
Builds the toast WindRecipe using semantic tokens.
buttonDangerOutlineClassName (BuildContext context )
→ String
Caller className that turns a ButtonIntent.secondary button into an
outlined danger action (remove, disable, revoke, disconnect).
comboboxRecipe ({Map <String , String ? > ? variants , Map <String , String > ? classNames })
→ Map <String , String >
Builds the slot recipe for MSCombobox from semantic tokens.
confirmAndRun (BuildContext context , MagicStarterProfileController controller , {required Future <bool > action (Map <String , String > proof ), ConfirmDialogVariant variant = ConfirmDialogVariant.primary , String ? title , String ? description })
→ Future <bool >
Confirms identity, then runs a gated action with the proof, inside the
confirmation dialog.
confirmIdentity (BuildContext context , {ConfirmDialogVariant variant = ConfirmDialogVariant.primary , String ? title , String ? description , ValueListenable <List <String > ? > ? accepts , Future <String ? > attempt (Map <String , String > proof )? })
→ Future <Map <String , String > ? >
Asks the signed-in user to prove who is calling, with the proof the
backend accepts for that account, and answers it as request fields.
dataTableBodyClassName (int height )
→ String
Wrapper for the scrolling body in the paginated mode.
dataTableCellClassName ()
→ String
Body cell className. Carries no track, for the reason above.
Header cell className.
Header row className.
ClassName for the tail row shown while the next page is in flight.
dataTableLoadingLabelClassName ()
→ String
ClassName for that row's label.
dataTableRootClassName ()
→ String
Root className for MSDataTable .
dataTableRowClassName ()
→ String
Body row className.
dataTableScrollClassName ()
→ String
The horizontal scroll wrapper, so a wide table scrolls as one unit.
dataTableTrackClassName (int ? width , {required bool alignEnd })
→ String
The className that puts a cell on its column's track.
emptyStateDescriptionClassName ()
→ String
Description className.
emptyStateIconClassName ()
→ String
Icon className.
emptyStateIconWrapClassName ()
→ String
Icon wrapper className.
emptyStateRootClassName ()
→ String
Root container className for MSEmptyState .
w-full because a page body is a start-aligned column that hands its
children a loose width: without it the state shrinks to its text and
items-center centres it inside itself, against the left edge.
emptyStateTitleClassName ()
→ String
Title className.
errorStateDescriptionClassName ()
→ String
Description className.
errorStateIconClassName ()
→ String
Icon className (destructive tone).
errorStateIconWrapClassName ()
→ String
Icon wrapper className (destructive tinted background).
errorStateRootClassName ()
→ String
Root container className for MSErrorState .
w-full for the reason emptyStateRootClassName has it: a page body is a
start-aligned column, and without it the state hugged the left edge.
errorStateTitleClassName ()
→ String
Title className (destructive tone).
formActionsRecipe ()
→ WindRecipe
Builds the WindRecipe for the MSFormActions row.
formFieldErrorClassName ()
→ String
Error text className (destructive tone).
formFieldHintClassName ()
→ String
Hint text className.
formFieldLabelClassName ()
→ String
Label text className.
formFieldRootClassName ()
→ String
Builds the root-container className for MSFormField .
Builds the WindRecipe for the MSHeaderAction component's icon-only
form.
magicStarterSupportFeedbackRoute ()
→ String
Full path of the "Send feedback" page (support_feedback).
magicStarterSupportTopicLabel (String topic )
→ String
The display label of a conversation topic.
navbarBrandClassName ()
→ String
Brand slot container className.
navbarChildrenClassName ()
→ String
Children (nav links) container className.
navbarRootClassName ()
→ String
Root container className for MSNavbar .
navbarTrailingClassName ()
→ String
Trailing slot container className.
pageContainerRecipe ({required String hostClassName , String ? className })
→ String
Returns the className for the shared page container.
pageScaffoldChildrenAreaRecipe ()
→ String
Returns the className for the children area (the page sections column).
pageScaffoldSurfaceRecipe ()
→ String
Returns the className for the outermost page-surface wrapper.
registerMagicStarterAuthRoutes ()
→ void
Registers auth routes provided by Magic Starter plugin.
registerMagicStarterNotificationRoutes ()
→ void
Registers notification routes provided by Magic Starter plugin.
registerMagicStarterProfileRoutes ()
→ void
Registers profile/settings routes provided by Magic Starter plugin.
registerMagicStarterSupportRoutes ()
→ void
Registers the support desk routes provided by Magic Starter plugin.
registerMagicStarterTeamRoutes ()
→ void
Registers team routes provided by Magic Starter plugin.
segmentedControlRecipe ({Map <String , String ? > ? variants , Map <String , String > ? classNames })
→ Map <String , String >
Builds the slot recipe for MSSegmentedControl from semantic tokens.
selectRecipe ({Map <String , String ? > ? variants , Map <String , String > ? classNames })
→ Map <String , String >
Builds the slot recipe for MSSelect from semantic tokens.
sessionDeviceTitle ({required String platform , required String browser , required String app })
→ String
Names the device behind one session row, or '' when nothing is known.
settingsSectionCaptionRecipe ({String ? className })
→ String
Returns the className for the section header and footer caption text.
settingsSectionContainerRecipe ({String ? className })
→ String
Returns the className for the grouped rounded container.
settingsSectionDividerRecipe ()
→ String
Returns the className for the hairline divider inserted between child rows.
setUpMagicStarterForTests ({MagicStarterManager ? manager })
→ void
Binds a MagicStarterManager into the Magic IoC container for tests.
switchRowRecipe ()
→ WindRecipe
Builds the WindRecipe for the MSSwitchRow layout.
tabsRecipe ({Map <String , String ? > ? variants , Map <String , String > ? classNames })
→ Map <String , String >
Builds the slot recipe for MSTabs from semantic tokens.
Typedefs
MagicStarterEntitlementSnapshot
= ({DateTime ? currentPeriodEnd , String ? plan , String ? product , BillingProvider provider } )
The four entitlement facts a store purchase can move, read together.
MagicStarterLayoutBuilder
= Widget Function(Widget child )
MagicStarterModalBuilder
= Widget Function()
MagicStarterNumberFormat
= String Function(int value )
Renders an integer the way the consumer's locale writes one.
MagicStarterPriceFormat
= String Function(MagicStarterWebPrice price )
Renders a web catalogue price the way the consumer writes money.
MagicStarterRefusalAction
= ({String label , Future <void > Function() run } )
The one thing a refused account deletion offers to clear what blocks it.
MagicStarterSlotBuilder
= Widget Function(BuildContext context )
Slot builder receives the current BuildContext and returns a widget.
MagicStarterStoreFundedTeamReader
= Future <String ? > Function()
Reads the NAME of another of the caller's teams that a store account already
funds, or null when none does.
MagicStarterStoreIds
= ({String ? appStore , String ? play } )
The store product ids a catalogue product is sold as, one per store, each
null when that store does not carry it.
MagicStarterTeamOwnershipReader
= bool ? Function()
Reads whether the signed-in user OWNS the team whose billing is on screen,
or null when that is genuinely unresolved.
MagicStarterUsageCopy
= List <UsageStat > Function(List <UsageStat > stats )
Pairs the consumer's display copy onto the usage stats the billing wire
carries.
MagicStarterViewBuilder
= Widget Function()
MagicStarterWebPrice
= ({int amountMinor , String currency , String display } )
One price the web rail charges for a product, in one currency.
UserModelFactory
= Authenticatable Function(Map <String , dynamic > data )