All notable changes to this project are documented here. The format follows Keep a Changelog, and the project adheres to Semantic Versioning.

Unreleased

[0.3.3] - 2026-07-08

Fixed

  • Picker panel now carries the popover chrome itself (background, border, shadow) — the time pane and footer no longer float transparent below the calendar's box.
  • Open panels follow their anchor during scroll/resize instead of staying pinned to the viewport.
  • The panel time pane no longer shows its own clear glyph (the footer's Clear covers it).

Added

  • Explicit .light token block, so a subtree can force light mode under a dark OS (mirror of .dark).

[0.3.2] - 2026-07-08

Added

  • date_time_picker panel now includes a time pane — a non-submitting segmented time field under the calendar, kept in two-way sync with the trigger (new lantern:set-time event on the field hook). Picking a time with no date yet defaults the date to today.

Fixed

  • Segmented field no longer wraps onto multiple lines in narrow hosts (explicit flex-wrap: nowrap + overflow guards on .lui-dtf).

[0.3.1] - 2026-07-07

Fixed

  • date_picker / date_time_picker / time_picker now accept a form attribute and forward it to the hidden value input, so the pickers work as editors rendered outside their <form> element (e.g. lantern's table cell editors, which submit via form="...").

0.3.0 - 2026-07-07

Added

  • Component system foundation: full design-token set in priv/static/lantern_ui.css (semantic colors, shadcn-density scale — 32px controls / 13px text — monochrome primary + coral accent, light/dark, data-lantern-density modes), the use LanternUI importer with Fluxon-compatible :only/:except, LanternUI.Class helpers, and a dependency-free JS runtime core (position, trapFocus, onDismiss, LanternOverlay).
  • Primitives (Fluxon-compatible API, lui-* namespaced CSS, zero build step): button/button_group, icon (curated inline Heroicons-outline set), form.input/label/error, calendar (WAI-ARIA month grid + LanternCalendar hook with the full APG keyboard model), and the segmented datetime_field (typeable/steppable segments to millisecond precision, hidden canonical input, clear-to-null) with the LanternDatetimeField hook.
  • Pickers: date_picker, date_time_picker (calendar popover with Today/Now · Clear · Done), and time_picker (segments-only). Canonical values YYYY-MM-DD / HH:MM:SS.mmm / YYYY-MM-DDTHH:MM:SS.mmm; empty = null. Accepts Date/Time/NaiveDateTime/DateTime structs or strings.

Fixed

  • line_chart crosshair tooltip: size the box to the longest label + value so long series names (e.g. Kubernetes pod names) no longer collide with the right-aligned value.

Added

  • LanternUI.Charts.line_chart/1 — multi-series time-series line chart with a legend and a shared crosshair tooltip (LineHover hook). Accepts %{label, color, points: [{datetime, number}]} series; 0-based y axis; built for resource/monitoring metrics.
  • Initial chart set as native Phoenix LiveView function components under LanternUI.Charts: area_chart/1, sparkline/1, bar_chart/1.
  • LanternUI.Charts.Geometry — pure scaling, "nice" tick, and SVG path helpers.
  • ChartHover LiveView JS hook (priv/static/lantern_ui_hooks.js) for the crosshair + tooltip on area_chart.
  • Optional standalone theme (priv/static/lantern_ui.css); components otherwise inherit host CSS variables (Fluxon-compatible).