Skip to content

v1.0.0-dev.1

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 26 Oct 22:35
91c7011

1.0.0-dev.1 (2026-10-26)

  • feat(pickers)!: pick dates in a dialog, by keyboard or as a range; fit both pickers to the kit (f841f77)
  • feat(search)!: default to the contained layout and give the bar an avatar slot (8d4f3ae)
  • feat(tokens)!: adopt M3 duration names and share a 3px secondary focus ring (6704c70), closes #416699

Bug Fixes

  • badge: centre anchored badges on the anchor point, keep them visible in forced colors (3460a9d)
  • bottom-sheet: keep the page usable under a standard sheet and match the kit's geometry (fefcfe6)
  • button: morph on press by default and match the kit across the button family (398c046)
  • card: match the kit's focus ring and dragged states, name clickable cards by content (981df97), closes #1c1b1f
  • carousel: drop the free-scroll hold once the carousel stops scrolling freely (724f34b)
  • carousel: make every layout swipeable, fill wide rows and morph without stretching (9fbbc3d)
  • circular-progress: keep the spinner on screen and match the kit's gaps and sizes (80f7360)
  • circular-progress: let a consumer stylesheet resize the box again (a7ef54d)
  • circular-progress: place wavy caps with a bracketed search (7282ef2)
  • date-picker: let reopening win over a bounds change in the same render (28b5148)
  • date-picker: rove focus in the month and year lists; re-read typed dates on new bounds (dad525e)
  • dialog: keep a plain DialogBody a direct child of DialogContent (0ee1985)
  • divider: keep the line visible in forced-colors mode (995c154)
  • extended-fab: keep the inline padding without Button's outline width (865b680)
  • extended-fab: match the kit's sizes, elevation and states (3a991d9)
  • icon-button: morph on press by default and match the kit's FAB corners and elevation (d363583)
  • linear-progress: match the kit's wave, stop and split indeterminate track (884c28c)
  • linear-progress: undo ancestor scale on each axis for the wave (9c172d5)
  • list: skip unfocusable swipe content, pad video rows 12px, morph corners on the effects spring (927b9f2)
  • loading-indicator: keep the kit's shape ratio and circle at any size (6686dc8)
  • menu: keep accepting plain strings for the color prop (9a7878d)
  • navigation-bar: match the kit's 64dp hit area, focus rings, state layer and tracking (d51a19c)
  • otp-input: keep the error outline on hover and the focus shape in error (7941ab6)
  • search: keep an open view mounted when its suggestions run out (2944f6e)
  • selection-controls: match the kit's focus rings, marks and switch geometry (5c3a011)
  • selection-controls: reset uncontrolled controls to their own defaults (a88787b)
  • side-sheet: match the kit's header insets and keep edges in forced colours (d5bcf0d)
  • slider: keep values and stops on the native input's step grid (1462980)
  • slider: match the kit's track geometry and take presses anywhere on the track (c8e8565)
  • snackbar: match the kit's spacing and keep the action and close button round (7639b0d)
  • tabs: fit the indicator to the content and stop clipping the focus ring (bf8780a)
  • tabs: treat false, null and empty children as no label (9cbea34)
  • toolbar: lay actions into the kit's 48dp slots and match its toggle and disabled states (7905c83)
  • tooltip: cap the rich tooltip at 320px including its padding (212f858)

Features

  • app-bar: make the search field activatable and match the kit's layout and type (499c6ed)
  • avatar: match the kit's 16/24 monogram and expose its type tokens (2d44a3d)
  • chip: add an opt-in expressive shape morph and match the kit's states and spacing (e087710)
  • dialog: add the list dialog and keep headline and actions pinned while the body scrolls (f217783)
  • list: match the kit's row geometry, density and states, and frame leading media (d6201fb)
  • menu: match the kit's state layers and colour roles, and type the vibrant scheme (95d79f0)
  • navigation-rail: add icon-only items and match the kit's layout, focus and floating rail (0d5c97a)
  • text-field: add a provisional tonal variant and match the kit's state colours (55644bc)

BREAKING CHANGES

  • DatePickerProps is now the union DatePickerSingleProps | DatePickerRangeProps.
    An interface can no longer extend it, and a plain Omit or Pick merges the two members. Wrappers
    written against the old single-date props should extend DatePickerSingleProps; a wrapper that
    supports both modes can use a distributive Omit. The month and year menu buttons are now named by
    their visible text first ("Apr, select month"), and an inline TimePicker no longer has
    role="dialog", so tests that query the old names or role need updating.

Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com

  • SearchView appearance and SearchBar viewAppearance
    default to expressive (contained) instead of baseline. Pass baseline
    to keep the divided layout. The plain SearchBar renders trailingIcon in a
    plain span instead of an IconButton, so pass an IconButton for an action.
    Its Clear button's class is now md-search-bar__clear instead of
    md-search-bar__trailing.

Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com

  • the motion duration tokens follow M3's names. The extra-short1–4 durations are
    removed; short1–4, medium1–4 and long1–4 now hold 50–200, 250–400 and 450–600ms, and the new
    extra-long1–4 hold 700–1000ms. CSS that references these tokens keeps its timing by moving each
    reference up one tier: extra-shortN to shortN, shortN to mediumN, mediumN to longN, longN to
    extra-longN. A reference to a removed name is invalid at computed-value time, so that transition
    stops animating.

Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com