Skip to content

Releases: develappsancho/pantrix-ui-cmp-package

Pantrix UI 0.1.0-alpha03

Pre-release

Choose a tag to compare

@develappsancho develappsancho released this 30 Oct 12:35

Türkçesi: RELEASE_NOTES.tr.md

Pantrix UI 0.1.0-alpha03, released on 2026-10-30. It is built from the commit 24ed94680a55, with Kotlin 2.4.21 and Compose Multiplatform 1.12.2.

The third preview of 0.1.0, for coding assistants: the MCP server over HTTP, for a site that serves it, and the
server's jar, the skill and llms.txt with each release.

Packages

Package Changed since v0.1.0-alpha02 Public API JVM jar
com.pantrixui:mcp 4 files, 1 commit not tracked 4.4 MB, 28.9 KB more
com.pantrixui:detekt-rules none not tracked 89.6 KB, unchanged
com.pantrixui:annotations none 13 declarations, none changed 3.8 KB, unchanged
com.pantrixui:components none 3,677 declarations, none changed 6.2 MB, unchanged
com.pantrixui:foundation none 1,583 declarations, none changed 818.2 KB, unchanged
com.pantrixui:material3 none 21 declarations, none changed 22.6 KB, unchanged
com.pantrixui:testing none 70 declarations, none changed 45.2 KB, unchanged

A module of the JVM alone keeps no ABI dump, so its public API is not counted.

Getting the packages

The packages are on GitHub Packages, in the repository they are distributed from, https://github.com/develappsancho/pantrix-ui-cmp-package. GitHub asks for a token to read them even there: a classic personal access token that may read packages (read:packages), given as the Gradle properties GitHubPackagesUsername and GitHubPackagesPassword, in ~/.gradle/gradle.properties. A project's settings.gradle.kts:

dependencyResolutionManagement {
    repositories {
        maven {
            name = "GitHubPackages"
            url = uri("https://maven.pkg.github.com/develappsancho/pantrix-ui-cmp-package")
            credentials(PasswordCredentials::class)
        }
        google()
        mavenCentral()
    }
}

Built from the library's own repository, ./gradlew clean publishToMavenLocal puts them in the local Maven repository instead, and a project names it in place of GitHub Packages:

dependencyResolutionManagement {
    repositories {
        mavenLocal()
        google()
        mavenCentral()
    }
}

And a module's dependency:

dependencies {
    implementation("com.pantrixui:components:0.1.0-alpha03")
}

For coding assistants

The library's documents for coding assistants, written from its sources, come with each release in its version: the MCP server that answers from them, the skill pantrix-ui and llms.txt.

What How it is given
The MCP server, mcp-0.1.0-alpha03-all.jar, attached to this release and in ~/.m2/repository/com/pantrixui/mcp/0.1.0-alpha03/ after a local publish; it runs on JDK 17 or newer claude mcp add pantrix-ui -- java -jar <path>/mcp-0.1.0-alpha03-all.jar, or the same command in a client's mcpServers
The skill pantrix-ui, pantrix-ui-skill-0.1.0-alpha03.zip, attached to this release Unzipped into .claude/skills/ in an app's repository, where the team gets it through git
Claude Code's plugin pantrix-ui, which brings the skill claude plugin marketplace add develappsancho/pantrix-ui-cmp-package, then claude plugin install pantrix-ui@pantrix-ui
llms.txt and the documents it leads to, beside the web demo https://develappsancho.github.io/pantrix-ui-cmp-package/llms.txt, for an assistant that reads neither skills nor MCP

Tooling

com.pantrixui:mcp

Added

  • PantrixMcp.http() gives the MCP server over Streamable HTTP, bound to no web framework, for a site that serves it
    at an address of its own: an assistant is then given the address, and needs neither Java nor the jar.
  • Each release carries the MCP server's jar and the skill pantrix-ui as files of their own, the web demo's pages
    serve llms.txt and the documents it leads to, and the package repository is a Claude Code plugin marketplace whose
    plugin pantrix-ui brings the skill.

Changed

  • com.pantrixui:mcp gives a build that depends on it MCP's Kotlin SDK too, since PantrixMcp.server() returns the
    SDK's Server.

Other packages

com.pantrixui:detekt-rules has no lines in the changelog for this version.

com.pantrixui:annotations has no lines in the changelog for this version.

com.pantrixui:components has no lines in the changelog for this version.

com.pantrixui:foundation has no lines in the changelog for this version.

com.pantrixui:material3 has no lines in the changelog for this version.

com.pantrixui:testing has no lines in the changelog for this version.

Pantrix UI 0.1.0-alpha02

Pre-release

Choose a tag to compare

@develappsancho develappsancho released this 29 Oct 22:41

Türkçesi: RELEASE_NOTES.tr.md

Pantrix UI 0.1.0-alpha02, released on 2026-10-30. It is built from the commit f1f18f460211, with Kotlin 2.4.21 and Compose Multiplatform 1.12.2.

The second preview of 0.1.0, with one change: a page takes the whole width of a wide window by default.

Packages

Package Changed since v0.1.0-alpha01 Public API JVM jar
com.pantrixui:components 3 files, 1 commit 3,677 declarations, none changed 6.2 MB, 0.0 KB more
com.pantrixui:mcp none not tracked 4.4 MB, 0.8 KB more
com.pantrixui:detekt-rules none not tracked 89.6 KB, unchanged
com.pantrixui:annotations none 13 declarations, none changed 3.8 KB, unchanged
com.pantrixui:foundation none 1,583 declarations, none changed 818.2 KB, unchanged
com.pantrixui:material3 none 21 declarations, none changed 22.6 KB, unchanged
com.pantrixui:testing none 70 declarations, none changed 45.2 KB, unchanged

A module of the JVM alone keeps no ABI dump, so its public API is not counted.

Getting the packages

The packages are on GitHub Packages, in the repository they are distributed from, https://github.com/develappsancho/pantrix-ui-cmp-package. GitHub asks for a token to read them even there: a classic personal access token that may read packages (read:packages), given as the Gradle properties GitHubPackagesUsername and GitHubPackagesPassword, in ~/.gradle/gradle.properties. A project's settings.gradle.kts:

dependencyResolutionManagement {
    repositories {
        maven {
            name = "GitHubPackages"
            url = uri("https://maven.pkg.github.com/develappsancho/pantrix-ui-cmp-package")
            credentials(PasswordCredentials::class)
        }
        google()
        mavenCentral()
    }
}

And a module's dependency:

dependencies {
    implementation("com.pantrixui:components:0.1.0-alpha02")
}

Components

com.pantrixui:components

Changed

  • PantrixPageScaffold and PantrixLazyPageScaffold take the page's whole width by default (width = PageWidth.Full),
    so a wide window no longer leaves the room past 1040dp empty; PageWidth.Content keeps a page that is read to the
    theme's content width.

Other packages

com.pantrixui:mcp has no lines in the changelog for this version.

com.pantrixui:detekt-rules has no lines in the changelog for this version.

com.pantrixui:annotations has no lines in the changelog for this version.

com.pantrixui:foundation has no lines in the changelog for this version.

com.pantrixui:material3 has no lines in the changelog for this version.

com.pantrixui:testing has no lines in the changelog for this version.

Pantrix UI 0.1.0-alpha01

Pre-release

Choose a tag to compare

@developersancho developersancho released this 29 Oct 21:09

Türkçesi: RELEASE_NOTES.tr.md

Pantrix UI 0.1.0-alpha01, released on 2026-10-29. It is built from the commit 92eccf7d1867, with Kotlin 2.4.21 and Compose Multiplatform 1.12.2.

The first preview of 0.1.0, the library's first version: an alpha, whose API may still change before 0.1.0. It is
built with Kotlin 2.4.21 and Compose Multiplatform 1.12.2.

Its targets:

  • Android, API 30 and newer;
  • iOS: devices, and the simulator on Apple silicon;
  • the JVM;
  • JS and Wasm.

It carries the following, each module under the name it is published as.

Packages

Package Changes Public API JVM jar
com.pantrixui:foundation first release 1,583 declarations 818.2 KB
com.pantrixui:components first release 3,677 declarations 6.2 MB
com.pantrixui:annotations first release 13 declarations 3.8 KB
com.pantrixui:material3 first release 21 declarations 22.6 KB
com.pantrixui:testing first release 70 declarations 45.2 KB
com.pantrixui:detekt-rules first release not tracked 89.6 KB
com.pantrixui:mcp first release not tracked 4.4 MB

A module of the JVM alone keeps no ABI dump, so its public API is not counted.

Getting the packages

The packages are on GitHub Packages, in the repository they are distributed from, https://github.com/develappsancho/pantrix-ui-cmp-package. GitHub asks for a token to read them even there: a classic personal access token that may read packages (read:packages), given as the Gradle properties GitHubPackagesUsername and GitHubPackagesPassword, in ~/.gradle/gradle.properties. A project's settings.gradle.kts:

dependencyResolutionManagement {
    repositories {
        maven {
            name = "GitHubPackages"
            url = uri("https://maven.pkg.github.com/develappsancho/pantrix-ui-cmp-package")
            credentials(PasswordCredentials::class)
        }
        google()
        mavenCentral()
    }
}

And a module's dependency:

dependencies {
    implementation("com.pantrixui:components:0.1.0-alpha01")
}

Foundation

com.pantrixui:foundation

Added

  • Theme: PantrixTheme, a brand's look in one DesignPreset, themes nested inside each other, a preset's
    colours for the dark the app's reader chose (rememberPantrixColors(preset, darkTheme)), and the system's bars,
    keyboard and controls on Android and iOS following the theme rather than the system's dark mode
    (followSystemBars).
  • Tokens:
    • colour roles, the palette and content colour;
    • the type scale, typefaces, a typeface for code (rememberPantrixTypography(typeface, codeTypeface)) and a gate
      that waits for fonts on the web, given them one by one or as a list;
    • spacing, shapes, elevation, density, and component styles per platform;
    • motion that follows the system's reduced motion.
  • Accessibility: focus rings, touch targets, modal layers, keeping a focused field clear of bars, and each
    platform's conventions.
  • Adaptive layout:
    • window size classes, breakpoints, page margins, layout columns and a maximum content width;
    • foldable postures on Android and iOS, and overlays that keep to one side of a fold;
    • the vertical bar iOS shows on a foldable iPhone's cover screen.
  • Localisation: Turkish, English and Arabic strings, right-to-left layout, the day a week starts on, numbers in
    each language's digits, and alphabetical order by language.
  • Platform services: haptics, the clipboard, picking, dropping and saving files (FileSaver), keyboard shortcuts,
    putting the keyboard away with a tap outside a field (Modifier.clearFocusOnTap), resize pointers, system settings,
    the window's title after the screen shown, and dates and times without a date library.
  • For tests and products: automation tags (TestScope, pantrixTestTagOf for the tag a test looks for, and
    Modifier.pantrixAutomationRoot for the tags in a window of the app's own to reach Android's automation), a screen's
    clock, file picker and file saver that a test or a preview gives (LocalPantrixClock, LocalFilePicker,
    LocalFileSaver), and UI events for analytics, which carry each component's tag even in a build that keeps its tags
    out of the semantics tree (TestTagPolicy.Off).
  • Diagnostics: checks a running screen is put to while its theme is given diagnostics: one tag on two nodes,
    colours that do not read, a squeezed touch target, a blank name, a language without strings of its own and a
    shadowed shortcut. Their findings go to the log or are kept for a test, and contrastRatio measures two colours as
    WCAG 2.2 does.

Components

com.pantrixui:components

Added

100 components, each named Pantrix…:

  • Elements:

    • text, icons and images;
    • buttons, icon buttons, button groups, segment buttons whose labels may be set in a type of their own, links,
      underlined always or under a pointer (LinkUnderline), and chips;
    • badges, avatars, dividers, skeletons and spinners;
    • checkboxes, radio buttons and radio groups, and switches, whose label may be set in a type of its own, each
      with its control before its label or at the end of the row (ControlPosition);
    • a file drop zone and its file rows;
    • a scroll bar for a screen's own content: a column that scrolls with it (Modifier.pantrixVerticalScroll) and a
      lazy list (Modifier.pantrixScrollBar).
  • Inputs: text fields, filled and secure, whose boxes of several lines show how far their text is scrolled, fields
    that grow with their text, and text areas, outlined and filled, with a handle that resizes them, a limit their text
    may pass (TextLimit) and a submit on Ctrl or Cmd and Enter.

  • Date and time: a date picker, a time picker, masked date and time fields, and an elastic date picker for ranges.

  • Containers: a surface, a card whose body fills the height it is given, its actions at the foot, an accordion, an
    alert whose message may hold code and links, in a type of its own where an app gives one, with an edge in a colour of
    its own and its room across apart from its room up and down, tabs, a top bar with its back button, a scaffold, a page
    inside it with its bar or heading, its actions laid out by the room and a list's form, and a screen outside it with a
    showcase beside its form, the form alone in a narrow room, with the adaptive list-detail, supporting-pane, tabletop
    and two-pane layouts.

  • Navigation: a breadcrumb, which may sit as low as a line of text, a navigation bar, a navigation rail and a
    sidebar whose groups may carry a title, its rows and titles set in a type of their own, with a scroll bar where its
    rows do not fit.

  • Overlays: a modal layer of the app's own (PantrixModal), a dialog, a sheet along the bottom, the end or the
    start edge, a popover, a menu with a check on the row chosen and a second line under a row's label in a type of its
    own, a tooltip, a snackbar, a select, a multi-select, a command palette whose commands may carry a second line, and
    an inspector that shows over an app what its theme's diagnostics have found.

  • Data: list rows with a title, the lines over and under it, what leads and ends them, a chevron and a line under
    them (PantrixListItem), a data table, a tree view, a carousel, a code block with tabs at its header's start, its own
    type and a height a row can ask of it before its lines are built, a JSON view, tags in a type of their own where an
    app gives one, and pagination with its page jump and page size.

  • Charts:

    • line, area, range, bar, waterfall and candlestick charts, and a chart that combines their series;
    • pie and polar charts, a gauge, a progress circle, a meter group, a status tracker and a sparkline;
    • scatter and radar charts, a heatmap and a treemap;
    • funnel, Sankey and Gantt charts.

    They come with zoom, a navigator and export to PNG, SVG and PDF.

  • Forms: FormState and its fields, with their rules, their errors and the submission. The text fields, the
    text areas, the checkbox, the radio group, the switch, the selects and the date and time fields bind to a field
    directly.

Annotations

com.pantrixui:annotations

Added

  • @PantrixComponent and @PantrixExample, which describe each component for tooling: its name, group, description
    and keywords, and its short examples. @PantrixComponentPart marks a part of a component.

Material 3

com.pantrixui:material3

Added

  • A bridge between Pantrix's theme and Material 3's, both ways: PantrixThemeFromMaterial gives Pantrix's components
    inside a Material theme its colours, type and shapes, and the system's bars its dark unless it is told
    followSystemBars = false, and MaterialThemeFromPantrix gives Material's components inside a Pantrix theme
    Pantrix's. toPantrixColors, toColorScheme, toPantrixTypography, toMaterialTypography, toPantrixShapes
    and toMaterialShapes convert one theme's values to the other's, and PantrixContentFromMaterial and
    MaterialContentFromPantrix carry one system's content colour and text style to the other's components on a mixed
    screen. It is built against Material 3 1.9.0, and an app's newer Material 3 is the one it gets.

Testing

com.pantrixui:testing

Added

  • For an app's tests on every target: finding a component by its tag (onPantrixNode, hasPantrixTag, pantrixTags),
    a theme of fixed defaults (PantrixTestTheme, onEachPlatform), doubles of the clipboard, the file picker and the
    file saver, analytics, haptics and the clock, and assertions of the diagnostics' findings, names, touch targets,
    shortcuts and text. On Android it brings the activity a Compose test starts.

Tooling

com.pantrixui:detekt-rules, com.pantrixui:mcp

Added

  • detek...
Read more