Skip to main content
196

Search Lumen

Find components, APIs, guides, and recipes.

GitHub
Changelog
Release notes

What changed in Lumen.

Every product-facing change to Lumen, collected from the same Changesets release history that publishes the packages.

Latest
v4.2.0
Releases
21
Changes
186

The timeline below follows the umbrella package. The release highlights include changes from individual adapters and link to their complete histories. Internal dependency-only updates are intentionally omitted from the timeline.

Browse GitHub releases

Lumen 4.2 highlights

Lumen 4.2 preserves application-owned SwiftUI appearance preferences and aligns AI guidance for web selection controls. It keeps existing v4 component contracts compatible.

SwiftUI appearance ownership

With enforceColorScheme: false, lumenTheme now leaves the host appearance preference untouched. A caller’s .preferredColorScheme(.dark) or .preferredColorScheme(.light) works before or after the Lumen modifier. Without a caller preference, the host appearance is inherited. This also works with applyTint: false; the supplied Lumen palette still determines Lumen semantic colors. Explicit enforceColorScheme: true retains its existing behavior. Switching enforcement on and off also preserves child view state, including an edited application draft; changing appearance policy does not recreate the content subtree.

No initializer migration is required. If an application compensated for the previous appearance override, remove that workaround only after checking its own windows, scenes, and previews.

Web selection guidance

The portable Lumen skill, generated plugin, AI guide, and MCP rules default to Select for web product option lists and Combobox for searchable choices. NativeSelect remains supported when the product explicitly requires the browser or platform picker. Native fallbacks remain intact. This changes agent guidance; it does not rewrite existing application controls.

Elements DatePicker layout

The DatePicker host uses the positioned field shell, matching Astro. Its authored native input, control, trigger, and popover keep their documented child classes; the visible trigger supplies input chrome without a second border or fixed-height wrapper. ARIA feedback belongs on the native input and is mirrored to that trigger.

Package versions

The umbrella, Elements, and MCP packages use 4.2.0, and Swift consumers use repository tag v4.2.0. Astro, React, and Core remain at 4.1.0. React Native and React Hook Form remain at 4.0.1; tokens, brand icons, and Compose remain at 4.0.0. Install only the packages your application uses; do not upgrade unrelated native artifacts to an invented 4.2 version.

The plugin package’s MCP pin is synchronized to 4.2.0. Directory publication, hosted MCP deployment, and store apps have separate delivery steps; a local snapshot does not prove their deployed version.

Verification and rollback

Hosted macOS regression tests exercise both caller modifier orders, inherited light/dark host appearance, explicit preference precedence, tint on/off, and an edited child draft across repeated enforcement changes. These tests do not claim fresh iOS or physical-device qualification. Verify the application’s own appearance choices after upgrading.

For rollback, restore the application’s prior Swift package revision and npm lock file, then rebuild. These changes require no persisted-data migration. Published corrections use a new version; never replace the published tag. See the v4.1 highlights for the preceding loading and form improvements, and the v4.2 scope audit for work retained in the backlog.

Lumen 4.1 highlights

Lumen 4.1 improves loading feedback, form accessibility, and pages that combine web adapters. Existing v4 applications can keep their integration setup and update the packages they use. Applications upgrading from v3 should first follow the v3 → v4 migration guide.

Loading feedback

Skeleton now accepts shape (rectangle, text, circle), width, height, and animation (shimmer, pulse, none). Numeric dimensions are pixels; supported CSS lengths, percentages, and calc() or var() expressions are accepted. Reduced motion stops shimmer and pulse. Skeleton and Spinner are decorative unless named; explicit ARIA overrides take precedence. Give a group of placeholders one named status region rather than announcing every placeholder. Progress normalizes non-finite values to finite ARIA values, and Elements Skeleton and Progress render as blocks. Review layouts that depended on their previous inline display.

Forms and floating calendars

  • ListBox exposes one accessible control while retaining native select submission and validation. External labels name the visible list, required single selection stays invalid until a choice is made, and invalid submission focuses the list. React focus and blur callbacks fire once when entering or leaving the visible list; the event target remains the native select.
  • DatePicker calendars escape clipping in short or scrolling dialogs through shared floating placement when the Popover API is available. Triggers mirror consumer validation ARIA attributes. React reopens on the selected month; Astro preserves an open calendar when only ARIA feedback changes.
  • React InputOTP paste reports the sanitized code once through its change callbacks and respects a consumer onPaste handler that calls preventDefault(). Controlled values and React Hook Form controllers receive the pasted code without duplicate notifications.
  • Select and NativeSelect chevrons follow inherited RTL direction, including nested LTR regions.

Mixed web adapters

React DatePicker, Calendar, and InputOTP mark their roots with data-ui-owner="react". Astro and Elements enhancers skip these roots, preserving React state, IDs, and label associations before and after hydration. Keep each adapter’s normal setup; do not remove this ownership marker or manually enhance a React-owned root.

Versions and verification

Use the individual versions in the release manifest. The v4.1 release uses 4.1.0 for the main web packages and MCP, 4.0.1 for React Native and React Hook Form, and 4.0.0 for tokens, brand icons, and Compose. Swift uses tag v4.1.0. Store apps and hosted agent tools follow their own publication schedules.

After updating, load the matching styles, commit the lock file, and verify the application’s loading layout, required ListBox submission, keyboard focus, date calendars inside dialogs, and OTP paste. For rollback, restore the application’s prior source and dependency pins and rebuild; no data migration is required by these library changes.

Read the package histories for the complete adapter-specific changes: Astro, React, Elements, Core, React Hook Form, and React Native.

Latest release

Version 4.2.0

Minor Changes

1
  • #105 089f823 Thanks @santi020k! - Preserve the host application's appearance when SwiftUI lumenTheme uses enforceColorScheme: false. Caller light/dark preferences now work in either modifier order, including with tint disabled, while Lumen keeps the supplied semantic palette. Explicit appearance enforcement retains its existing behavior. Includes hosted-view regression coverage for caller preferences and inherited light/dark host appearance.

Release

Version 4.1.0

Patch Changes

5
  • #103 14a6191 Thanks @santi020k! - React DatePicker places its calendar with the shared floating panel, so short or scrolling dialogs no longer clip it. The calendar follows its trigger through scroll and resize, respects RTL, closes on outside focus, and restores its styles when it closes. The popover inherits its text color instead of the browser's popover default.

  • #103 80d908f Thanks @santi020k! - The enhanced InputOTP native input now spans the field width while staying visually hidden. Its 1px width made Chromium apply maxlength to the old value when select-all typing or Playwright fill() replaced the code, which emptied or truncated it.

  • #103 960b62b Thanks @santi020k! - Strengthen loading feedback across Astro, React, and Elements.

    - Skeleton accepts shape (rectangle, text, circle), width, height, and animation (shimmer, pulse, none). The default shimmer rectangle and its 1rem height are unchanged, but explicit heights and classes can now size placeholders below 1rem. Sizes accept pixels, lengths, percentages, and calc() or var() expressions, and unsafe values are ignored. - React and Elements Skeleton, and Elements Spinner, match Astro: decorative (aria-hidden) unless named, role="status" when named, and explicit ARIA overrides win. Elements updates these as labels change and after reconnecting. - lumen-skeleton and lumen-progress now render as blocks instead of collapsing inline. - Progress clamps NaN and infinite max or value to finite ARIA values in every adapter. The Astro ui:progress-change runtime ignores missing, null, or non-numeric event detail. - Core exports the shared normalizeLumenProgress, resolveLumenLoadingSemantics, and Skeleton option resolvers.

  • Loading indicators treat non-string runtime aria-label and aria-labelledby values as unnamed instead of throwing. Floating panels skip focus for a malformed initialFocus selector and still return their cleanup. React ListBox keeps its list name current when an external label mounts, leaves, changes its id or for, or is replaced after the first render, and releases the label ids it generated. Skeleton shimmer and pulse stop looping under reduced motion in critical.css, which omits the full stylesheet's universal reduction.

  • #103 131c5a9 Thanks @santi020k! - Mirror the Select and NativeSelect chevron in right-to-left layouts so it stays inside the inline-end padding instead of overlapping the selected value. The position follows the nearest dir="rtl" or dir="ltr" ancestor, including nested LTR regions, and does not depend on :dir(), which some consumer CSS pipelines compile into language selectors. The generated critical stylesheets retain these inherited direction rules.

Release

Version 4.0.0

Minor Changes

4
  • Add saved table views, inclusive amount/date ranges, controlled page selection and guarded review workflows. Ship installable React review, import reconciliation and record workspace recipes with synthetic interactive examples. Applications retain persistence, authorization, financial rules and command reconciliation.

    Use the readable secondary text token for description labels on light surfaces.

  • Add controlled media viewport, thumbnail and filmstrip primitives, persistent comparison modes, and installable Studio workspace, adjustment and processing recipes. Keep media services and export host-owned. Include interactive qualification examples and native adapter contracts.

  • Add coordinated keyed motion, optional semantic visual effects, chart continuity, and application-owned AI surfaces across web adapters. Include installable product blocks, an interactive visual playground, and optional Motion and Rive integration entry points.

  • Add WorldMap for Astro, React, and Web Components with dotted and solid styles, highlighted countries, labeled markers, country selection, theme customization, and reduced motion. Ship public-domain country geometry behind an explicit core subpath, with no runtime requests or new dependencies.

Patch Changes

5
  • Keep warning alert and toast text readable against tinted surfaces, including import findings and uncertain-save guidance. Preserve warning borders and backgrounds.

  • Give DeviceFrame matte white and charcoal finishes with layered rims, recessed cameras, a sculpted iPhone notch, and softly shaded bases. Add a responsive grouped showcase while preserving HTML and fixed iframe viewports.

  • Keep consistent header padding and space between the hover background and body in bordered Accordion, Collapsible, and ToolActivity components. Preserve compact flush accordion spacing.

  • Refine DeviceFrame proportions with slimmer consistent phone bezels, smaller hardware details, a thinner MacBook base, and a shaped iMac stand. Give the demonstration gallery more space while preserving camera clearance and fixed iframe viewports.

  • Refine DeviceFrame with MacBook Pro, iMac, and Pixel presets, minimalist matte frames, camera details, side buttons, and simple bases. Reserve hardware space for live HTML and iframe content, and let phone images fill the glass. Refresh the interactive gallery and retain all generic device presets.

Patch Changes

10
  • #95 b5cff90 Thanks @santi020k! - Recognize Astro runtime import aliases when checking missing or duplicate mounts. Ignore type-only runtime imports, front matter example strings and HTML comments, and scan tag boundaries linearly.

  • Keep Compose sheets mounted through their native exit animation, allow interrupted dismissal to reopen safely, and preserve programmatic closure of non-dismissible sheets. Add native playground Motion examples for expansion, simulated save feedback, reduced effects, and sheet presentation.

  • Respect system reduced motion on overlay backdrops as well as panels. Preserve drawer centering inside Stack and Grid instead of resetting overlay margins. Add drawer and sheet previews alongside the dialog in the motion playground, with keyboard, interrupted-close, layout, and system/local preference coverage.

  • Render all four accessible setup steps in the Elements onboarding recipe, including the current Workspace step. Keep login examples within their container by including padding in their declared width.

  • #95 6fdb48b Thanks @santi020k! - Preserve application-resolved MultiSelect sheet headings and SectionHeader counts as verbatim text.

  • Add DeviceFrame for laptop, desktop, iPhone-style, Android-style, and tablet demonstrations with slotted HTML, images, fixed iframe viewports, orientation, shell tones, and configurable screen sizes.

  • Add dependency-free presence motion with shared timing, fade/slide/scale presets, abortable enter/exit effects, and reduced-motion support. Smooth native disclosure transitions progressively enhance supporting browsers while retaining immediate native toggles elsewhere. Add a local reduced-motion scope and an interactive motion playground for component entrances, dialogs, feedback, and list changes.

  • Distinguish contextual for-of operators from identifiers and skip regex literals after new in Astro runtime diagnostics.

  • Recognize regex literals after expression keywords when diagnosing Astro runtime mounts without confusing property access with keywords.

  • Reopen SwiftUI and Compose Mentions suggestions when focus returns after Escape.

Minor Changes

1
  • Add exact localized AmountField drafts across web adapters and a React Hook Form controller. Add opt-in MessageScroller following and reader-anchor preservation. Introduce consumer upgrade review signals, semantic theme diagnostics, and installable React form and operational-record recipes.

Patch Changes

7
  • Add visual email-code sign-in, verification, and passkey recovery examples to the Astro, React, and Elements auth-onboarding recipes. Auth integration remains an optional application concern; preview controls do not authenticate or send email.

  • Recognize Astro runtime import aliases when diagnosing missing or duplicate mounts, excluding type-only imports and example markup.

  • Preserve application-resolved Swift MultiSelect sheet headings and SectionHeader counts as verbatim text.

  • Preserve source edits made during migration ledger writes, clear unapplied fingerprints, and allow a safe retry.

  • Map Compose Material surface containers and navigation selection colors to Lumen semantic tokens, removing fallback purple from adaptive bottom bars and rails.

  • Keep sparkline endpoints circular and line strokes uniform when a chart stretches to fit a wide or shallow container.

  • Add controlled MultiSelect to React Native and SwiftUI alongside Compose, retaining selections outside filtered results, blocking disabled/read-only edits, and exposing loading/retry and localized action labels. Forward application safe-area insets into the React Native sheet. Add a complete, checked web-to-native catalog audit for the remaining v4 gaps.

Major Changes

5
  • Finalize web form visual sizing with visualSize/visual-size on Select, PhoneInput and Segmented, preserving native numeric size. Add conservative literal migration previews and a complete machine-readable v4 breaking inventory. Fix controlled Segmented ownership, Select accessibility/callback/reset behavior, Elements scalar reconnection and reset defaults, and multiple-select submission. Add selective React component and Elements VirtualList imports with measured bundle and packed-consumer checks. Existing root imports remain supported.

  • Refine v4 reading rhythm and responsive page gutters, allow interactive Card content to overflow, and wrap long actions in wrapping Stacks. Move media clipping into AspectRatio when upgrading. Container gutters now grow from 16px to 32px; override --ui-container-gutter to preserve fixed product gutters. Prose and Typography trim their outer child margins and separate headings from preceding paragraphs. Add four installable content-flow recipes for all web adapters and return complete framework examples through MCP recipe discovery.

    Elements Stack now honors align, justify, and wrap attributes, including boolean-presence wrap, so installed compositions wrap long actions consistently across the web adapters. Include CLI starter templates in the published umbrella package and verify all twelve new compositions install from a packed consumer, rather than only from the repository checkout.

  • Prepare the v4 content-flow contract: canonical gap sizes, semantic related/group/section gaps, Card density and parent-owned part spacing, wrapping footer actions, and generated spacing tokens available through CSS and MCP. Explicit md/lg/xl layout gaps now mean 12/16/24px; migrate old 16/24/32px layouts to group/xl/2xl. Default Stack/Grid spacing remains 16px. Comfortable Card insets become 24px, and direct child margins no longer stack with layout gaps.

  • Keep editable Combobox focus in the input with active-descendant navigation, composition-safe shortcuts and live option updates. Report React selection through onChange for controlled forms. Dismiss only the innermost active popup on Escape and preserve canceled events and text editing.

    Migration: use aria-activedescendant and aria-selected instead of focusing option buttons. Enter commits only an active option in an open list; otherwise native form behavior remains available.

  • Preserve VirtualList scroll height with fixed-height row windows and inert spacers across web adapters. Refresh changing rows and resized containers, retain keyboard focus, and restore row state on cleanup. Range endpoints are inclusive; empty lists report endIndex -1.

    Add cancelable rich-text command requests and a React commandHandler option so external engines can execute commands once without a browser fallback. Existing command events report completion.

Minor Changes

18
  • Add controlled native Tree components and graph models for React Native, SwiftUI and Compose, with explicit invalid/status states and inherited disabled branches.

  • Extend native range filters to React Native and SwiftUI with independently named endpoints, localized formatting, controlled domain stepping, and disabled/read-only protection.

  • Add CalendarHeatmap, FunnelChart, and BoxPlot across web and native adapters with shared validation, semantic chart colors, localized formatting, responsive layouts, and accessible exact data. Calendar heatmaps use explicit Gregorian date-only ranges; funnels preserve supplied stage order; box plots accept precomputed quartiles, whiskers, and outliers without performing application statistics.

  • Add canonical Default, Studio and Glass appearance presets, scoped web styling and ThemeBuilder radius, spacing and border customization. Native adapters expose preset palettes and explicit surface material with opaque fallbacks. Swift and Compose consumers must rebuild for the updated theme and surface signatures; see the appearance presets guide.

  • Add attachment list and browser-owned image preview composition with localized fallback states, retry identity, safe state events, and independent application-owned file actions.

  • Add BulletChart across Astro, React, Web Components, React Native, SwiftUI, and Compose. Compare actual values with targets and labeled qualitative ranges using an honest zero-inclusive domain. Preserve missing measurements, localized exact data, responsive typography, and native accessibility. Existing chart APIs remain compatible.

  • Add Compose TopAppBar, SwipeActions, MultiSelect, RangeSlider, and AdaptiveListDetailScaffold. Keep selection, navigation, persistence, and destructive operations application-owned; provide native Material behavior, localized accessibility labels, disabled states, and Android reference examples.

  • Add dashboard filter and change-summary composition, richer responsive React DataTable records and shared sorting controls, top-layer React overlays with collision placement and focus handoff, and ScatterChart logarithmic X scales, independent formatting, explicit domains, and labeled references. Document host-owned freshness, import review, activity inbox, and persistent Kanban recipes. Keep controlled filter disclosure under host ownership and advance manual table sorting from the authored header state without changing server row order.

  • Add DialogHeader, DialogTitle, DialogBody, DialogFooter, and DialogClose across the web adapters. Compound dialogs keep their header and actions visible while long task content scrolls. Close actions honor cancelled clicks and disabled controls.

    FileUpload accepts localized selected-file count labels and clears selected-file feedback after an accepted native form reset.

  • Add complete page-header and section-header recipes for Astro, React and Elements with localized navigation and action labels, optional metadata, heading hierarchy, and wrapping actions.

    Honor a caller-provided accessible navigation label in Astro Breadcrumb.

  • Close advanced-input and media gaps across React Native, SwiftUI and Compose with number, time, autocomplete, password, numeric OTP and image comparison controls. Preserve controlled state, localized drafts, native secure entry and autofill hints, explicit cancellation and accessible adjustment. Add exact bounded decimal, numeric OTP and same-day time helpers for web and native consumers, plus bilingual native playground examples and a form-submission error recipe.

  • Repair chart data disclosures with full-width controls, bounded keyboard scrolling, and sticky headers across the web adapters. Add WaterfallChart and Histogram to React Native, SwiftUI, and Compose, with matching invalid-input behavior, exact values, and native expandable data lists.

  • Add Android Compose TimeField, Autocomplete, NumberField, and PullToRefresh contracts and discovery. Time selection confirms drafts; autocomplete exposes host-owned results and recovery states; numeric entry preserves localized drafts with exact decimal steps; refresh remains host-controlled and includes an accessibility action. These are additions to the unpublished Lumen 4 candidate.

  • Add Compose PasswordField, InputOTP, Tooltip, and ImageComparison with native autofill hints, controlled code normalization, Material tooltip behavior, and accessible image adjustment. Include Android playground examples, localized documentation, and reviewed public API baselines.

  • Add DescriptionItem, DescriptionTerm, and DescriptionDetail for rich description values across the web adapters. Astro and React preserve native definition-list markup; Web Components provide explicit group, term, and definition roles. Long values wrap within their grid column.

  • Add Histogram and WaterfallChart to the web catalog with explicit data contracts, shared geometry, validation, accessible summaries, and source tables. Add continuous numeric and time axes, reference annotations, optional keyboard and pointer inspection, interactive legends, and cursor synchronization to LineChart. React supports controlled cursor selection.

    Heatmaps now label axes, display a sequential or diverging color legend, and mark missing cells distinctly from measured zero. Duplicate coordinates use the first observation consistently. Existing category line spacing remains the default. Native component coverage is unchanged.

  • Add a controlled React DateRangeCalendar with visible endpoint calendars, inclusive range highlighting, bounded presets, keyboard navigation and responsive shared styles. Consumers own draft state and confirmation actions.

    Add DateRangeInput for polished input-attached selection, draft Apply/Cancel, localized validation and summaries, optional form entries, viewport-aware positioning, keyboard dismissal and a separately scrolling body with visible actions.

  • Add LollipopChart and DumbbellChart across Astro, React, Elements, React Native, SwiftUI, and Compose. The charts preserve missing values, share a zero-inclusive domain, and provide readable exact data. Refine BulletChart with a slimmer track, quieter range bands, and a capped target marker.

Patch Changes

16
  • Fit scatter, combo, and range charts to narrow screens with readable responsive axis labels.

  • Keep success Alert and Toast text readable on their tinted surfaces by using the semantic ink color. Success borders and backgrounds retain their status color across web adapters.

  • Refine Accordion and Collapsible with aligned container-owned content insets, calmer borders and heading weight, and a fixed circular toggle background. Preserve keyboard focus, reduced motion, flush styling, and native disclosure behavior without JavaScript across the web adapters.

  • Improve inactive CodeTabs label contrast in the shared stylesheet so framework selectors remain readable in the light theme.

  • Reject unsafe external component names before wrapper generation. Keep schedule availability checks conservative for malformed intervals and report invalid resize or recurrence inputs explicitly without changing persisted event records.

  • Reduce published web artifact sizes within the existing v4 budgets. React compacts its component build without renaming identifiers, Web Components use native private methods for internal behavior, and the shared stylesheet retains the same rules with concise section comments. Public APIs stay unchanged.

  • Reject malformed Astro action errors and inherited icon names, preserve plain markup prose without syntax highlighting, and normalize form-error records whose field is named fields, exclude blank numeric chart coordinates, preserve literal slash-star text during markup migrations, and detect existing recipe conflicts before writing files.

    Validate externally associated native form controls on submission in Astro and Web Components.

    Keep timed toasts paused while hovered or focused, without subtracting elapsed time twice.

    Preserve localized password-toggle labels, accessible avatar fallback names and tree levels, correct listbox ownership, tolerate non-finite animation precision, and apply the final batched scroll-reveal visibility state.

    Restrict schedule drops to their actively dragged event, clear interrupted resizing state, and generate unique Astro runtime IDs without depending on crypto.randomUUID.

    Reject inherited search-alias dictionary properties instead of crashing MCP search.

  • Add opt-in Astro chart drilldown with matching pointer and native keyboard actions, localized action labels, and validated data identity events. Keep actions available when tables are hidden.

  • Refine web chart presentation with responsive plots, fading area fills, quieter grids, compact legends, clearer typography, and a floating inspection panel that stays inside the chart. Improve heatmap legend alignment and preserve all row labels at narrow sizes. The default line aspect ratio is wider and pie charts are more compact; existing data contracts and imports remain unchanged.

  • Keep Compose adaptive list/detail content in one pane at accessibility font scales of 2 or larger. The Android Workspace example now uses the shared scaffold while retaining selection, drafts and Back navigation.

  • Improve native sheet scrolling, dismissal protection, keyboard integration, and accessibility text layouts. React Native sheets accept explicit initial and return focus targets. Required-field and tab-panel descriptions are caller-localizable in React Native and Compose. SwiftUI rows and section headers stack at accessibility text sizes. SwiftUI and Compose consumers must rebuild for the updated sheet signatures; application-owned lazy or virtualized sheet content should disable the additional scrolling wrapper.

    Add the optional React Native foundations entrypoint, which shares root implementations and avoids eager full-catalog imports.

    Native horizontal button groups wrap or stack when space is limited and switch to vertical layouts at accessibility text sizes.

    Add an optional React Native graphics entrypoint for statically imported, app-owned SVG components. It shares root icon behavior while avoiding the full named catalog; root name and custom icon APIs remain available.

  • Use the secondary text token for small Card descriptions so the Default and Glass light presets meet text contrast requirements on opaque surfaces.

  • Prepare the coordinated Lumen 4 family from twenty real consumer audits.

    - Make chart axes readable, preserve complete detail labels, center single observations, use deterministic duplicate handling, and expose formatted native axes and compact plot layouts. - Add controlled date-range drafting with strict calendar bounds, localized labels, and safe disabled/read-only behavior. Keep form labels and keyboard focus attached to the active control. - Keep server-paginated tables in supplied order with controlled manual sorting, and make dialog dismissal and opener restoration explicit for pending and nested workflows. - Preserve native hidden semantics, loading-button dimensions, and disabled slotted activation. - Give code-copy actions localized success and failure feedback, preserve normal navigation Tab order, and improve readable prose and code-theme defaults. - Add ImageComparison with a fixed image frame, native range control, RTL support, and matching Astro, React, and Web Component contracts. - Improve native slider announcements, long text layout, and contextual symbol selection. - Refresh usage examples, migration guidance, machine-readable contracts, and the public consumer showcase. Token, icon, and form-integration packages join the coordinated major family.

    Migration: use unique stable chart X values, rebuild native consumers for updated initializer contracts, and review custom button selectors against the content wrapper. Loading actions now prevent repeated activation. See docs/migrating-to-lumen.md for the full v4 migration. No application data migration is performed, and this candidate is not publication authorization.

  • Fit line, bar, scatter, range, and combo chart geometry to the available container width. Keep every plotted value visible on phones with readable axis text and a compact plot height, and resize when the container changes.

    Fit web bar charts to narrow cards across Astro, React, and Web Components, reserving more room for horizontal category labels and spacing value-axis labels to avoid overlap.

  • Validate malformed decoded waterfall and histogram rows before accumulation or sorting, and fail closed with empty geometry. Reset Elements calendars to their latest configured value and focus form-owned external controls from error summaries. Align image-comparison crops and dividers with native range direction in LTR and RTL. Preserve decorative and custom accessibility descriptions for Compose flag text fallbacks.

  • Preserve regex literals during source migration with the existing TypeScript compiler parser as a runtime dependency; leave parser-exhausting input unchanged for manual review and recognize manifests on platform-native paths. Reject malformed serialized heatmap datasets atomically and guard native time display against malformed locales while preserving hour-format preferences.

Native Advanced Inputs

1
  • Add React Native and SwiftUI number, time, autocomplete, password, numeric OTP and image comparison controls alongside Compose. Add exact decimal, numeric OTP and same-day time helpers in Core, bilingual playground examples and an application-owned form-error summary recipe.

Migration, Direction and Data Collections

1
  • Add v3 and v4 source migration previews with optional coordinated pnpm dependency upgrades. Preserve explicit v3 layout gaps, report product and native review boundaries, and prevent repeated v4 applies from rewriting spacing twice.

    Correct inherited RTL horizontal navigation in tabs, calendars and pane resizing. Add an opt-in VirtualList data renderer that mounts only the visible window and focused neighbors, with stable keys and a shared DOM controller for Astro and Elements.

Appearance Presets

1
  • Add Default, Studio and Glass appearance presets with semantic palette and surface customization. Glass remains explicit per surface with opaque native fallbacks. See the appearance presets guide; Swift and Compose consumers must rebuild for the updated initializer signatures.

AI Workflow Improvements

1
  • Add version-aware AI workflows with exact installed-package compatibility checks, v4 migration discovery, concrete MCP usage schemas, and English/Spanish search. Preview known static embedded SDK import migrations with lumen migrate v4; preserve examples and report dependency and application review decisions before applying changes.

    Package portable plugin 1.1.0 with shared Codex/Claude manifests, a pinned v4 catalog, build/review/migration skills, and an optional read-only Claude reviewer. Add actual authenticated agent benchmarks with independently checked types, browser interactions, accessibility, migration output, and version-mismatch review.

Phone Input Improvements

1
  • Polish international phone inputs with shared offline flag artwork, compact country selectors, continuous borders, consistent spacing, visible validation, and complete disabled/read-only states. Expose input attributes and refs directly, and add reusable country flags and read-only phone views.

    In v4, Astro and React PhoneInput id labels the actual number input. Web Components expose input-id and render the visual phone frame inside the host. Remove consumer flag overlays and DOM attribute patches; use the public props and stable phone parts instead.

Release

Version 3.0.1

Patch Changes

1
  • #88 b4af91a Thanks @santi020k! - Prevent line-chart value labels from being clipped by sizing the SVG plot padding from the formatted axis values across Astro, React, and Web Components. Chart data disclosures now use a clear, touch-friendly open and close control instead of the browser's cramped default marker.

Release

Version 3.0.0

Major Changes

1
  • Coordinate Lumen 3 across web and native packages. Swift consumers with exhaustive LumenIconName switches must handle the synchronized icon cases or add an @unknown default branch; existing component calls and existing icon cases remain available.

Minor Changes

1
  • Add tree-shakeable interface icon definitions and a registry-free React icon entrypoint while preserving named icons. Add opt-in responsive record layouts to Table across web adapters. Extend native sheets with keyboard avoidance, safe-area inputs, scrolling bodies, adaptive presentation, and controlled dismissal. Document consumer recipes for editor layouts, whole-unit amount entry, and asynchronous recovery.

    Name sheet dialogs and remove decorative backdrop and web switch targets from keyboard traversal. Preserve the toggle's single labeled action and improve its supporting-text contrast.

    Improve supporting-text and warning-badge contrast in the shared web styles and mobile record labels.

    Keep icon rendering resilient to optional Lucide metadata and preserve native ref and keyboard contracts with the React Native version required by Expo SDK 57.

Release

Version 2.1.0

Minor Changes

1
  • Complete the v2 consumer-improvement contracts: localizable chart support copy, semantic native chart references and datum tones, richer SwiftUI form composition, adaptive native layouts, success actions, contextual React Native fields, complete CopyButton and reveal semantics, component-aware diagnostics, explicit shared-library integration boundaries, packed Astro runtime coverage, rendered migration checks, and adoption-ready registry output.

Patch Changes

3
  • Replace the Swift phone-number dependency with Lumen-owned parsing, validation, formatting, country detection, and generated metadata.

  • Make lumen doctor internal-selector findings identify likely components, recommend the detected adapter's public class API, and suggest data-slot only when the component publishes that stable styling hook.

  • Improve native control semantics and accessibility: preserve semantic SwiftUI button roles, expose loading icon buttons and spinner tints, keep disabled quiet Compose buttons transparent, allow status messages to reflow, make the full React Native toggle row interactive, preserve its supporting guidance, and give native selection rows and search actions density-aware targets. Keep compact chip removal independently operable with an explicit WCAG-sized target, and ensure React Native toast and banner dismissal controls meet native touch-target guidance. Align native live feedback for toast and field-group validation updates, and keep Compose required labels to one unambiguous accessibility description.

Release

Version 2.0.0

Major Changes

1
  • #43 b318703 Thanks @santi020k! - Finalize the Lumen 2 breaking contracts: import the Astro runtime from its dedicated subpath, replace the deprecated Sonner viewport name with ToastViewport, reserve native size for numeric form-control sizing, and move React Native date fields to the optional datetime subpath. The v2 migrator automates the supported source changes, while the Swift surface enums gain the reviewed larger semantic roles.

Release

Version 1.8.0

Minor Changes

1
  • #51 888187c Thanks @santi020k! - Expand pay-only-for-use web delivery with selector-loaded Astro phone and overlay controllers, a grouped granular Elements foundations entrypoint, and server-safe React Card, layout, typography, and accessibility primitives that are shared with the full client catalog. Add accessible in-memory string and numeric sorting to structured React DataTable columns. Publish a generated critical-web stylesheet for the essential forms, feedback, navigation, overlay, and data-table surface. Keep non-native custom-element dialogs above surrounding content so their controls remain operable on mobile layouts.

Patch Changes

1
  • #51 09fa666 Thanks @santi020k! - Keep the Lumen v2 source migrator out of generated, cached, and vendored dependency trees, including SwiftPM and Xcode build checkouts, CocoaPods, framework build output, and common web-tool caches.

Release

Version 1.7.0

Minor Changes

12
  • #43 b318703 Thanks @santi020k! - Add a shared ErrorState contract and accessible recovery surface for unavailable regions and pages, with error and offline contexts, compact and page layouts, explicit live-region policy, safe support references, application-owned actions, and an error-handling decision guide.

  • #43 b318703 Thanks @santi020k! - Expand shared surface radii for app-owned mobile cards and media, and improve SwiftUI product adaptation with palette overrides, optional tint ownership, configurable card geometry, and status icons that do not communicate state through color alone.

  • #43 b318703 Thanks @santi020k! - Extend lumen doctor-native with a registry-derived, non-authoritative adoption inventory and an Android JDK, SDK, platform-package, and conditional NDK preflight. Emit both readable and JSON reports, and fail only when a required local toolchain dependency is unavailable.

  • #43 b318703 Thanks @santi020k! - Add LumenTextContent to preserve SwiftUI localization keys, localization resources, and verbatim runtime strings across common text, field, validation, accessibility, and action boundaries. Add a live English and Spanish playground example driven by application-owned locale state.

  • #43 b318703 Thanks @santi020k! - Export typed Tabs change-event contracts, keep selected tabs visible in horizontally overflowing lists, expose the Lumen CLI through every web adapter, and detect duplicate stylesheet entrypoints across an application boundary.

  • #43 b318703 Thanks @santi020k! - Expand pay-only-for-use web delivery with selector-loaded Astro phone and overlay controllers, a grouped granular Elements foundations entrypoint, and server-safe React Card, layout, typography, and accessibility primitives that are shared with the full client catalog. Add accessible in-memory string and numeric sorting to structured React DataTable columns. Publish a generated critical-web stylesheet for the essential forms, feedback, navigation, overlay, and data-table surface. Keep non-native custom-element dialogs above surrounding content so their controls remain operable on mobile layouts.

  • #43 b318703 Thanks @santi020k! - Add the focused LumenWidgetUI Swift Package product with generated semantic tokens and WidgetKit-safe text, icon, badge, and compact-stat treatments for full-color, accented, vibrant, increased-contrast, and large-text rendering.

  • #43 b318703 Thanks @santi020k! - Add a dry-run-first lumen migrate v2 workflow that safely previews and applies the accepted Astro runtime-import and visual-size migrations, reports ambiguous cases for manual review, and remains idempotent across repeated runs.

  • #41 9b1542a Thanks @santi020k! - Add a canonical generated illustration catalog, shared graphics tokens, and cross-platform image presentation contracts with native React Native, SwiftUI, and Jetpack Compose implementations. Web images also gain shared contain or cover fitting and semantic corner-radius options.

  • #41 9b1542a Thanks @santi020k! - Add controlled native date and date-range fields across React Native, SwiftUI, and Jetpack Compose, with system picker behavior, bounds, coordinated range values, and validation context.

  • #40 909483d Thanks @santi020k! - Add a controlled, accessible LumenTabs primitive to the React Native, SwiftUI, and Jetpack Compose adapters, with native gallery examples and shared documentation.

  • #41 9b1542a Thanks @santi020k! - Expand Lumen data visualization with generated cross-platform chart tokens, numeric and time scales, validation, summaries, downsampling and live-window helpers, conformance fixtures, and accessible scatter, bubble, heatmap, range, and combo renderers. Add native chart families for React Native, SwiftUI, and Compose, plus semantic summaries and fallback data across adapters.

Patch Changes

13
  • #43 b318703 Thanks @santi020k! - Attach Compose date and phone validation errors directly to their actionable controls so TalkBack announces invalid context when users focus the date button or editable phone field. Dismiss open date, picker, and phone-country overlays when their controls become disabled, and keep empty pickers unavailable so disabled state cannot leak later selection callbacks.

  • #43 b318703 Thanks @santi020k! - Make the authored Lumen light palette the canonical default across web, React Native, SwiftUI, and Compose, keep semantic theme overrides intact, and allow built-in web themes on nested boundaries.

  • #43 b318703 Thanks @santi020k! - Keep the Lumen v2 source migrator out of generated, cached, and vendored dependency trees, including SwiftPM and Xcode build checkouts, CocoaPods, framework build output, and common web-tool caches.

  • #43 b318703 Thanks @santi020k! - Align native text-field validation semantics so an error message implies an invalid Compose field, while SwiftUI preserves the entered accessibility value and announces validation separately.

  • #43 b318703 Thanks @santi020k! - Expose meaningful required-field labels and exact validation context across native grouped, multiline, and date-range controls without replacing consumer-supplied accessibility guidance.

  • #43 b318703 Thanks @santi020k! - Expose disabled accessibility state consistently from React Native text fields, textareas, search fields, chip removal actions, and phone inputs, including country selectors with an empty allow-list. Preserve caller-supplied accessibility state and prevent buttons from being assigned a non-button accessibility role. Run rendered TSX component behavior tests in the standard React Native package suite so these semantics remain covered in CI. Announce validation context from React Native date, phone, and multiline controls without dropping consumer accessibility props, and keep SwiftUI textarea values distinct from their validation hints. Dismiss React Native date, generic, and phone-country pickers when their controls become disabled, keep them closed after re-enabling until the next user action, and disable generic pickers with no available options.

  • #43 b318703 Thanks @santi020k! - Graduate the React Native phone contract and the Compose phone and Wear compositions into the supported Lumen 2 surface. Remove obsolete Kotlin opt-in annotations, publish accurate React Native peer-install guidance, document the separate Wear OS artifact, and replace the incompatible public Expo Go launch link with supported browser and local-native playground paths. Restart the two-release stability soak from the newly frozen stable baselines.

    Declare visionOS 1 support for the SwiftUI application product, include visionOS in API-baseline and clean-consumer verification, and keep the WidgetKit product on its accurate iOS, iPadOS, macOS, and watchOS contract until its visionOS 26 rendering dependency can be adopted deliberately.

  • #43 b318703 Thanks @santi020k! - Harden external registry loading and installation with bounded manifest reads, strict manifest metadata, relative inline-file paths, duplicate-path rejection, and symbolic-link escape protection. Keep self-hosted and Worker MCP transports behind safe JSON error boundaries, expose catalog readiness, and fail closed when abuse protection is unavailable. Freeze the MCP, React Hook Form, and brand-icon public exports in the reviewed web API baseline alongside the rendering packages.

  • #43 b318703 Thanks @santi020k! - Add the canonical ToastViewport contract across web adapters, retain Sonner as a deprecated 1.x compatibility alias, and teach the Lumen 2 migrator to rename imports and custom elements without losing viewport configuration or children.

  • #40 909483d Thanks @santi020k! - Correct the SwiftUI tvOS availability contract so the package builds from its declared tvOS 16 baseline, with platform-native exclusions documented for textarea, share, and menu controls.

  • #40 909483d Thanks @santi020k! - Freeze the consumer-validated Wear OS theme, tone, action, progress, and status contracts as Supported. Mark the metric and list-row evaluation APIs with an explicit opt-in, and remove implementation-only sizing and progress helpers from the public Wear ABI before native stability.

  • #41 9b1542a Thanks @santi020k! - Deliver native date selections through the platform picker's supported event contract, keep invalid controlled dates from reaching formatters, and ignore invalid optional date bounds. Keep restricted phone inputs within their configured country allow-list across native adapters, including externally supplied values, and exclude invalid scatter coordinates, non-finite numeric categories, and negative bubble sizes from rendered charts and disclosures. Keep pie disclosures aligned with positive rendered slices and exclude incomplete ranges from Compose chart domains. Preserve typed range categories in React fallback keys, and generate Swift-safe illustration case identifiers from kebab-case catalog names. Allow SwiftUI consumers to derive a product palette by overriding only selected semantic colors.

  • #41 9b1542a Thanks @santi020k! - Add cross-platform phone input contracts for web, React Native, SwiftUI, and Jetpack Compose with localized country metadata, supplementary flags, calling codes, as-you-type formatting, metadata-backed validation, and E.164 output.

Release

Version 1.7.0-rc.0

Minor Changes

4
  • #41 9b1542a Thanks @santi020k! - Add a canonical generated illustration catalog, shared graphics tokens, and cross-platform image presentation contracts with native React Native, SwiftUI, and Jetpack Compose implementations. Web images also gain shared contain or cover fitting and semantic corner-radius options.

  • #41 9b1542a Thanks @santi020k! - Add controlled native date and date-range fields across React Native, SwiftUI, and Jetpack Compose, with system picker behavior, bounds, coordinated range values, and validation context.

  • #40 909483d Thanks @santi020k! - Add a controlled, accessible LumenTabs primitive to the React Native, SwiftUI, and Jetpack Compose adapters, with native gallery examples and shared documentation.

  • #41 9b1542a Thanks @santi020k! - Expand Lumen data visualization with generated cross-platform chart tokens, numeric and time scales, validation, summaries, downsampling and live-window helpers, conformance fixtures, and accessible scatter, bubble, heatmap, range, and combo renderers. Add native chart families for React Native, SwiftUI, and Compose, plus semantic summaries and fallback data across adapters.

Patch Changes

4
  • #40 909483d Thanks @santi020k! - Correct the SwiftUI tvOS availability contract so the package builds from its declared tvOS 16 baseline, with platform-native exclusions documented for textarea, share, and menu controls.

  • #40 909483d Thanks @santi020k! - Freeze the consumer-validated Wear OS theme, tone, action, progress, and status contracts as Supported. Mark the metric and list-row evaluation APIs with an explicit opt-in, and remove implementation-only sizing and progress helpers from the public Wear ABI before native stability.

  • #41 9b1542a Thanks @santi020k! - Deliver native date selections through the platform picker's supported event contract, keep invalid controlled dates from reaching formatters, and ignore invalid optional date bounds. Keep restricted phone inputs within their configured country allow-list across native adapters, including externally supplied values, and exclude invalid scatter coordinates, non-finite numeric categories, and negative bubble sizes from rendered charts and disclosures. Keep pie disclosures aligned with positive rendered slices and exclude incomplete ranges from Compose chart domains. Preserve typed range categories in React fallback keys, and generate Swift-safe illustration case identifiers from kebab-case catalog names. Allow SwiftUI consumers to derive a product palette by overriding only selected semantic colors.

  • #41 9b1542a Thanks @santi020k! - Add cross-platform phone input contracts for web, React Native, SwiftUI, and Jetpack Compose with localized country metadata, supplementary flags, calling codes, as-you-type formatting, metadata-backed validation, and E.164 output.

Release

Version 1.6.0

Minor Changes

1
  • #36 1c4de1b Thanks @santi020k! - Add the complete generated cross-platform Lumen icon catalog with 1,777 Lucide-backed interface icons and 573 namespaced Font Awesome Free brand icons. Expose semantic names through React Native, SwiftUI, and Compose icon and icon-button APIs while preserving custom graphic components, SF Symbols, and ImageVector values as native escape hatches. Generated packages retain the Lucide, Feather, and Font Awesome attribution and license notices. Public platform guides and native component references link to the searchable interface and brand catalogs and document each platform's generated name syntax and discovery collection.

Release

Version 1.5.0

Minor Changes

3
  • #33 dbd8430 Thanks @santi020k! - Add a token-aware SwiftUI LumenLink, rich and locally controlled SwiftUI disclosure labels, availability-safe native tab-bar minimization, adaptive tab accessories, and developed native composition guidance for settings, dense rows, asynchronous states, metrics, navigation, and adaptive actions. Add threshold-based nested-scroll navigation behavior for Compose and a dependency- free visibility controller with an animated collapsible navigation bar for React Native while retaining platform-owned navigation, scrolling, and lifecycle behavior.

    Add cross-adapter destination re-selection and accessible dot, text, and capped count badges; compact Compose and React Native navigation accessories; Material adaptive bar/rail navigation for Android; and Compose floating actions that can hide or follow scroll-responsive navigation.

  • #33 dbd8430 Thanks @santi020k! - Publish a cross-platform release manifest, expose it through the MCP server, and add lumen doctor-native for read-only Swift and Compose version, resolver-pin, and theme-placement diagnostics. Extend the web doctor with advisory suggestions for likely hand-built dropdown, theme, dialog-focus, and keyboard-menu behavior while preserving application-specific compositions.

  • #33 dbd8430 Thanks @santi020k! - Add focused watchOS and Wear OS component contracts for round essential actions, circular progress, compact statuses, at-a-glance metrics, and wearable list rows. Publish Wear OS through the separate lumen-compose-wear artifact, make the Swift package genuinely compile for its declared watchOS platform, and keep watch lifecycle and domain behavior application-owned.

Release

Version 1.4.0

Minor Changes

2
  • #30 6299eae Thanks @santi020k! - Add token-aware Graphic, Backdrop, and Illustration primitives across Astro, React, Elements, React Native, SwiftUI, and Compose. Shared decorative presets frame application artwork, add ambient patterns behind content, and provide semantic empty, success, error, and offline scenes without bundling platform-specific bitmap assets.

  • #30 6299eae Thanks @santi020k! - Add controlled alert-dialog, sheet, and anchored-menu contracts across React Native, SwiftUI, and Compose. Add token-aware share buttons that delegate destination selection to each operating system while keeping application content and presentation state host-owned.

Release

Version 1.3.0

Minor Changes

3
  • #28 f2bd75a Thanks @santi020k! - Add controlled and uncontrolled language-toggle behavior across the shared core, Astro, React, and Elements adapters, including persistence, document-language synchronization, accessible labels, events, and a React hook. Add discoverable dropdown-menu trigger, content, item, separator, disabled, and status contracts across Astro and React.

  • #28 f2bd75a Thanks @santi020k! - Add intentionally platform-specific native controls without requiring artificial adapter parity. React Native gains a semantic pull-to-refresh control, SwiftUI gains a bounded date field with validation context, and Compose gains a Material floating action button with Lumen intents and sizes.

  • #28 f2bd75a Thanks @santi020k! - Let SwiftUI and Compose applications integrate product-owned themes through public native APIs. Swift palettes now have a public initializer and can be injected without forcing the preferred system appearance. Compose can map an existing Material 3 color scheme into Lumen semantic roles, preserve explicit product colors, and reuse product typography and shapes through one provider. Move consumable Compose plugin versions to the standalone settings boundary, enforce Android lint warnings as errors, refresh the native toolchain baseline, and document release-pinned installation.

Release

Version 1.2.0

Minor Changes

3
  • #25 2c480eb Thanks @santi020k! - Add controlled Kanban board and column primitives with keyboard, pointer, and touch move requests, plus a compact Empty state for dense collection layouts.

  • #25 2c480eb Thanks @santi020k! - Add a cross-framework ContextNavigation primitive for pairing a stable product, platform, or workspace context with an independently named, horizontally scrollable navigation group.

  • #25 2c480eb Thanks @santi020k! - Add canonical cross-platform design tokens, synchronized light and dark semantic palettes, and native foundation packages for React Native, SwiftUI, and Jetpack Compose. Ship the first shared native primitive slice with theme, text, icon, icon button, surface, button, text field, badge, divider, spinner, card, alert, progress, and avatar contracts while preserving each platform's native accessibility and interaction model. Adapt SwiftUI control density automatically for touch-first iOS and pointer-first macOS applications while keeping one shared component API. Add Apple-native settings, selection, empty state, row, banner, metric, section, and status primitives, plus macOS shortcut recording and SF Symbols selection based on recurring Lumen application needs.

Patch Changes

2
  • #25 2c480eb Thanks @santi020k! - Expose native element refs through the React Avatar and Separator component contracts so shared UI packages can replace compatibility wrappers without giving up focus or measurement access. Include React Native and the complete Lumen package family in rollout inventories and verification routing, and preserve the first repository when an inventory is run without an optional target version.

  • #25 2c480eb Thanks @santi020k! - Improve package discovery with framework-specific documentation homepages and npm search keywords.

Release

Version 1.1.0

Minor Changes

1
  • e5a6b36 Thanks @santi020k! - Make lumen doctor workspace-aware, ignore generated build trees, parse real adapter imports, recognize controlled Astro toggles, and deduplicate diagnostics. Preserve native form-control size across adapters while adding explicit Astro visualSize and Elements visual-size styling contracts with pre-1.0 alias compatibility.

Release

Version 1.0.0

Major Changes

1
  • #13 da44247 Thanks @santi020k! - Release Lumen 1.0 with stable public component, token, styling, framework, registry, and MCP contracts. Remove the deprecated surface="glass" overlay alias and ui:datatable-selection-change event; use the glass prop or attribute and ui:data-table-selection-change instead.

Minor Changes

4
  • #13 6e84499 Thanks @santi020k! - Add compound Card and Stat parts, stable styling contracts, wrapper-safe React composition, framework behavior metadata, chart formatting and presentation controls, sibling-derived registry recipes, and integration diagnostics with canonical setup generation.

  • #13 46c2aca Thanks @santi020k! - Add arbitrary-text CopyButton behavior, hydrated Progress updates, richer accessible Anchor scroll-spy navigation, and semantic Item hosts across framework adapters.

  • #13 32448b0 Thanks @santi020k! - Add native-first form contracts and the Form, FieldError, ErrorSummary, PasswordField, CheckboxGroup, ListBox, Container, Stack, Grid, and VisuallyHidden components across Astro, React, and Elements.

    Ship an optional React Hook Form adapter package, Astro Actions error normalization, form-associated custom element behavior, accessible validation and error-summary focus, documented serialization, and generated registry and MCP metadata.

  • #13 988c097 Thanks @santi020k! - Add five installable, multi-framework product template recipes for analytics, SaaS administration, commerce, project workspaces, and authentication/onboarding.

Patch Changes

1
  • #13 46c2aca Thanks @santi020k! - Parse token declarations in linear time to prevent crafted CSS from slowing down token audits.

Release

Version 0.4.0

Minor Changes

2
  • #9 43197cc Thanks @santi020k! - Add a document-aware ScrollProgress primitive across Astro, React, and Web Components. Extend Anchor with heading depth metadata and add neutral, brand, and outline variants to Pill.

  • #9 43197cc Thanks @santi020k! - Add shared chart contracts, geometry helpers, visualization tokens, and accessible Sparkline, BarChart, LineChart, and PieChart components across Astro, React, and Web Components. The new pie renderer defaults to a donut, supports part-to-whole legends and center content, and includes a revealable semantic data table. Expand Chart with standard heading, description, value, and caption composition while preserving custom plot children.

Patch Changes

3
  • #9 43197cc Thanks @santi020k! - Add a polymorphic as prop to Stat so standalone metrics can use an article or section root while preserving div as the default. Add default, accent, and glass visual variants across Astro, React, and Web Components.

  • #9 43197cc Thanks @santi020k! - Restore the Particles primitive as a density-controlled field of softly glowing, slowly drifting particles across Astro, React, and Web Components. Keep the decorative field static-free when reduced motion is requested.

  • #9 43197cc Thanks @santi020k! - Use the canonical Santi020k Montserrat family stack across Lumen interface text, including generated Watermark tiles, while keeping font loading and the --ui-font override under application control.

Release

Version 0.3.0

Minor Changes

2
  • #7 325ad43 Thanks @santi020k! - Add CodeTabs to the shared catalog with accessible, synchronized, copyable code examples across Astro, React, custom elements, and MCP discovery.

  • #7 325ad43 Thanks @santi020k! - Add a coordinated pnpm consumer rollout command, full-screen dialog layouts across every framework, and circular focus treatment for the theme toggle.

Patch Changes

1
  • #7 069b6aa Thanks @santi020k! - Refine Accordion and Collapsible surfaces with clearer open states, roomier disclosure targets, and more polished hover and focus feedback.

Release

Version 0.2.0

Minor Changes

3
  • 81bf725 Thanks @santi020k! - Add wrapped block-code output across framework adapters, refine native accordion disclosure styling, and teach the registry and MCP catalog that Astro motion primitives require styles and UIPrimitives.

  • 241e1b6 Thanks @santi020k! - Add migration-friendly link, pill, toggle, navigation menu, and sidebar contracts. Links now support safe new-tab handling and inherited presentation, pills can render as links, Astro toggles expose a cancelable controlled-state intent, navigation surfaces can opt out of Lumen presentation, and Astro tabs can generate relationships, persist selection, synchronize groups, and emit changes. The Astro theme toggle now switches and persists configured themes with the same circular reveal used by the other framework adapters while respecting reduced-motion and touch preferences. Astro component class props now preserve the nullable native attribute type for strict passthrough. Cards and button links can also opt out of presentation while preserving their public semantic contract and stable class hook. The umbrella CLI can audit existing stylesheets for semantic-token name collisions with incompatible complete CSS color values before migration. Astro also warns about unsupported named Lucide icons during development and documents the custom SVG slot for brand marks. Framework packages also expose a Tailwind layer-order prelude so utilities reliably override Lumen component display, spacing, radius, width, and responsive visibility defaults.

  • 485ef4b Thanks @santi020k! - Add a flush Accordion variant for compact FAQ and content-led disclosure lists.

Patch Changes

2
  • e6c1737 Thanks @santi020k! - Make Code blocks easier to use without a separate syntax-highlighting integration.

    Code strings now receive lightweight semantic-token highlighting for JavaScript, TypeScript, JSON, YAML, Bash, Astro and HTML, Markdown, Lua, and SQL language families. The palette continues to derive from the active Lumen theme tokens, and block layouts now stay within flex and grid containers while preserving the existing opt-in wrapping behavior.

  • d7a8a84 Thanks @santi020k! - Stabilize the existing catalog without adding components: complete the typed API reference, add cross-framework class and behavior contract checks, enforce coverage and bundle-size budgets, load motion controllers only when matching Astro primitives are present, and adopt ui:data-table-selection-change while keeping the previous DataTable event as a compatibility alias until Lumen 1.0.

Release

Version 0.1.0

Minor Changes

10
  • b30a72a - Add AnimatedNumber and RevealGroup, and extend ScrollReveal with shared duration, delay, threshold, and repeat controls across Astro, React, Elements, metadata, runtime behavior, and standalone styles. Overlay entrances now use the canonical Lumen motion tokens. Astro ButtonLink controls now share the same subtle CSS hover lift as Button, while directional arrow motion remains as a navigation cue.

  • aed151a - Generalize AnimatedLogo into an accessible wrapper for arbitrary inline SVG logos, with shared reveal and opt-in sequenced animation styles plus reduced-motion support.

  • 26053f4 Thanks @santi020k! - Add competitor-informed product primitives, AI discovery docs, shared behavior helpers, and registry installation tooling.

    The shared catalog now includes scheduling, advanced data collection, theme builder, rich text editor, and advanced form field surfaces. Astro, React, and Web Components expose matching class and data contracts, and the docs app includes examples for each new primitive.

    The core package now includes reusable schedule, data-view, and theme helpers for state serialization, persistence, virtual ranges, scheduling conflicts and resize math, server request adapters, and contrast-safe theme tuning. The umbrella package exposes a lumen CLI that can add recipes, merge conflicts deterministically, and load token-authenticated private registries.

  • c417a07 - Expand rich text editors with value-bearing commands, keyboard shortcuts, active toolbar states, HTML and text change events, accessible editable props, and richer toolbar/content styling.

  • 64b69c1 Thanks @santi020k! - Add framework targets to lumen add so component wrappers and bundled recipe starters can be generated for Astro, React, and custom elements.

  • b6f7d70 Thanks @santi020k! - Add a Lucide-backed Icon primitive with shared full-catalog icon names across Astro, React, and Web Components. Credit the upstream Lucide and Feather creators and ship their license notices with the core package.

  • 4760e13 - Preserve framework-native image optimization, lazy-load native images by default, and add opt-in dark-theme inversion for monochrome artwork.

  • 0b0c038 - Improve SpeedDial with rendered action icons, polished directional motion, an initial-open option, and complete click, dismissal, and keyboard menu behavior.

  • 971c892 - Expose the shared stylesheet through every framework package so consumers only install and import from their selected adapter. Keep @santi020k/lumen/styles.css available for umbrella-package consumers.

  • 5aab08e Thanks @santi020k! - Add shared ThemeBuilder controller helpers, React useThemeBuilder, and Web Components ThemeBuilder behavior for token previews and exports.

Patch Changes

22
  • a32b14d - Align image and fallback avatars consistently when they appear together in an inline group.

  • 0b0c038 - Complete glass surface support for DatePicker and Select across framework adapters, intensity variants, fallback styles, documentation, and examples.

  • a32b14d - Restore the AnimatedPortrait badge surfaces and replace square border-image artifacts with responsive elliptical portrait orbits.

  • 0fd7938 - Use a mode-aware foreground for destructive buttons and floating badges so solid danger surfaces retain accessible text and icon contrast in light and dark themes.

  • 7c6ad35 - Restore visible native Meter tracks and values across browser engines by using the shared color tokens.

  • 0fd7938 - Repeat Watermark labels across protected content at the configured gap and rotation instead of rendering a single centered label.

  • 0b6f99e - Restore the full-size Agenda, Schedule, and RichTextEditor layouts after their roots accidentally inherited ThemeToggle button dimensions.

  • c417a07 - Replace the FileUpload placeholder with a clear upload icon and improve its focus, drag, disabled, selected-file, and responsive visual states.

  • 1df25dc Thanks @santi020k! - Add glass surface tokens, boolean glass props and attributes, and documentation for supported glass surfaces. Expand glass support across layout, data display, feedback, navigation, and editor-style container primitives with matching Astro, React, and Elements examples.

  • c417a07 - Replace the browser-native DatePicker surface with Lumen's accessible Calendar popover, including localized display values, keyboard navigation, form-backed values, and matching Astro, React, and Elements behavior.

  • a32b14d - Keep icon adornments at their intended size inside input groups.

  • 5ae75c5 Thanks @santi020k! - Polish Code block layout so headers avoid control overlap, inline code uses the component palette, framed examples preserve multiline formatting without inheriting global pre borders, and the Astro/React Code components can render a normalized code string with lightweight theme-aware token colors.

  • ae13d36 - Improve dark-theme segmented-control contrast and make radio-group arrow navigation update the selected value while emitting native input and change events.

  • ffe0107 - Present DateRangePicker as a cohesive responsive pair of custom Calendar-backed fields, expose range state for styling, and synchronize composed React DatePicker children automatically.

  • bf6ea87 Thanks @santi020k! - Add per-component registry entries and support installing local Astro wrappers with lumen add <component>.

  • 0fd7938 - Improve breadcrumb hierarchy with automatic chevron separators and distinct link, focus, hover, and current-page states.

  • 160fd16 - Improve Stepper hierarchy, completed progress, and responsive layout.

  • ffe0107 - Refine Transfer with a balanced compact layout, clearer selection and focus states, a centered empty state, and responsive stacked controls.

  • 4760e13 - Refine Tree presentation with compact navigator rows, visible nesting guides, aligned hierarchy, and clearer hover, focus, and selection states.

  • e5dcf54 - Restore the cyan and teal Lumen Light palette across standalone CSS, exported core tokens, and the Figma theme contract.

  • 4760e13 - Restore the Pill shell and count affix styling in the shared standalone stylesheet.

  • 24990c5 Thanks @santi020k! - Include glass surface variables in generated ThemeBuilder tokens, CSS exports, scoped previews, Figma color variables, and design-token JSON.

ChangelogWeb and native guides