Skip to content

v5.0.0-beta.24

Pre-release
Pre-release

Choose a tag to compare

@LouisMazel LouisMazel released this 05 Jun 13:11
· 1 commit to master since this release

compare changes

🚀 Features

  • ⚠️ Maz-ui v5 - theming overhaul, RTL-native components, ~8% lighter (61883c03c)

    Maz-UI v5 is a focused major: a theming overhaul on top of Tailwind v4, RTL-correct components, a lighter chart, a simpler icon API, and a one-shot CLI to make the upgrade itself painless.

    Highlights

    • Theming, top to bottom - OKLCh color system for perceptually uniform scales, honest token names (background to surface, border to divider), a real radius scale, a components block to override per-component tokens, the new nova preset, and preset persistence across reloads.
    • Logical direction by default - every left/right prop, slot and CSS hook is now start/end. Set dir="rtl" and components mirror correctly.
    • Lighter chart - MazChart drops vue-chartjs, lazy-loads chart.js, and only registers the modules the chart type actually needs.
    • Simpler icons - one icon prop instead of four. New @maz-ui/icons/raw/* subpath for raw SVG inlining without a Vue component.
    • Standardized sizes - MazBadge joins the rest of the library on the MazSize keyword scale.
    • ~8% lighter library bundle thanks to the chart, icon and theming refactors.
    • Modern browsers required (Chromium 111+, Safari 16.4+, Firefox 128+).

    Migration

    • Mechanical part: npx @maz-ui/upgrade ./ rewrites your code, bumps every maz-ui / @maz-ui/* entry in package.json to ^5.0.0, and runs the right pnpm/yarn/bun/npm install for you.
    • Judgment calls (icon paths, theme preset reshape, chart animation default): connect @maz-ui/mcp to your AI assistant and walk the guide section by section.

    Links

    Solo maintainer note: v4 will receive no further support after v5 stable - no security fixes, no backports.

  • maz-ui: Input fields with top label and assistive text (51c9f6f25)

  • @maz-ui/eslint-config: Add maz/tailwind-no-arbitrary-px rule and maz plugin (2b52d922d)

    Ships a new ESLint plugin under the maz/* namespace, starting with maz/tailwind-no-arbitrary-px which forbids px units inside Tailwind arbitrary value classes (w-[16px], [gap:24px], etc.) and autofixes them to rem (or em). The plugin and rule are registered automatically when tailwindcss is enabled in defineConfig.

  • @maz-ui/themes: Modernize CSS generator with light-dark, color-scheme, color-mix (#1572)

  • maz-ui: Add MazSidebar component system (#1574)

    Fully accessible, composable sidebar system for dashboard, admin, and SaaS applications. New components: MazSidebar (root container with push/overlay modes), MazSidebarHeader/Content/Footer (layout zones), MazSidebarGroup/Separator, MazSidebarMenu/MenuItem, MazSidebarMenuButton, MazSidebarMenuSub (collapsible with keyboard support), and MazSidebarTrigger. Includes useSidebar composable for typed state access. Closes #1573.

  • maz-ui: Add MazCodeHighlight and MazWindowMockup components (#1569)

    MazCodeHighlight: Syntax highlighting with shiki, supports code/language/theme props, auto-detects dark/light mode, lazy-loads shiki to keep bundle lean.

    MazWindowMockup: macOS-style window mockup with browser (address bar), terminal ($ prompt), and editor (filename tab) variants. Integrates with MazCodeHighlight when code and language props are provided.

  • maz-ui: Improve MazSidebar (a71e0543a)

  • maz-ui: MazSidebar - persistent open/closed state (#1581)

  • maz-ui: MazSidebar - persistent open/closed state on SSR (6839d8276)

  • Move cookie utilities from themes to utils (352083972)

  • docs: Ecosystem documentation (#1582)

  • maz-ui: MazSidebar - add 'hover' collapsible mode (#1586)

  • @maz-ui/themes: MazDialog - configurable max/min-width via preset (#1594)

    MazDialog width is now driven by the active theme preset via new components.dialog tokens for max-width and min-width, while staying overridable per instance. MazDialog reads these as CSS variables with sensible fallbacks.

  • maz-ui: Global component default props via MazUi plugin & Nuxt module (#1596)

    Set global defaults for component props like size and roundedSize on MazBtn, MazContainer, MazCard, display components, and form components. Defaults are resolved once at setup and can be overridden per instance.

🩹 Fixes

  • Add default condition to exports for CJS resolver fallback (5f6c6f683)
  • maz-ui: MazBtn - fix loading layout (b7846572a)
  • maz-ui: MazDatePicker - use dayjs ESM instead of CJS (299d06662)
  • maz-ui: MazDatePicker tests - align dayjs imports with ESM (e07a7bd15)
  • docs: Bundle dayjs for SSR to handle extension-less ESM imports (fc329c286)
  • maz-ui: MazTable - scrollable behaviour (6a45701be)
  • maz-ui: Inputs - auto-fill with SSR (da00bc2da)
  • @maz-ui/themes: Auto color-scheme issue (58faa8e0e)
  • @maz-ui/nuxt: Color mode reverts to dark on client navigation (#1587)

💅 Refactors

  • maz-ui: MazSwitch - cursor color to be more visible when not active (66f0a16fd)

📦 Build

  • Upgrade dependencies (69a1869b6)

  • Upgrade relizy (a334bf17c)

  • Upgrade dependencies (#1583)

    Update pnpm workspace configuration and upgrade major dependencies.

⚠️ Breaking Changes

  • ⚠️ Maz-ui v5 - theming overhaul, RTL-native components, ~8% lighter

    See Features section for full details on Maz-ui v5 breaking changes, highlights, and migration guide.

❤️ Contributors