Skip to content

Releases: isamercan/ThemeKit

ThemeKit v0.4.0 — TimeField + Sidebar

Choose a tag to compare

@isamercan isamercan released this 30 Jun 20:27

SwiftPM: .package(url: "https://github.com/isamercan/ThemeKit.git", from: "0.4.0")

Added

  • TimeField — a dedicated time-of-day field: 12/24-hour hourCycle, minuteInterval snapping, optional range, clearable, leading icon, and validation messages. The time-first companion to DateField.
  • Sidebar — a token-bound vertical navigation organism: titled sections, per-item SF Symbol + badge, accent-tinted selection, and header/footer slots. Complements the bottom NavigationBar for macOS / iPad / regular-width layouts.

Both follow the modifier-based conventions (minimal init + chainable, order-free modifiers; native controlSize / disabled; Dynamic Type + Reduce Motion).

This release also rolls up the in-progress modifier-based component refactor (reduced initializers, appearance/state moved to chainable modifiers). It contains breaking changes — see CHANGELOG.md for the full list and migration notes.

themekit-mcp v2.7.0 — catalog adds TimeField + Sidebar

Choose a tag to compare

@isamercan isamercan released this 30 Jun 20:27

npm: @isamercan/themekit-mcp@2.7.0 · npx -y @isamercan/themekit-mcp

Changed

  • Catalog refreshed to 119 components — regenerated data/themekit.json from the symbol graph to include the new TimeField (Molecule) and Sidebar (Organism) with their full init params + modifiers. So get_component_api, list_components, search_components, and design_to_code now know about them.

Full changelog: mcp/CHANGELOG.md

themekit-mcp v2.6.0 — design_to_code, expandInstances, auto-validate

Choose a tag to compare

@isamercan isamercan released this 30 Jun 19:14

npm: @isamercan/themekit-mcp@2.6.0 · npx -y @isamercan/themekit-mcp

The Figma→SwiftUI generator gets a clearer name, deeper conversion, and self-checking output.

Added

  • design_to_code tool — a more readable, design-tool-agnostic name for the Figma→SwiftUI generator. figma_to_swiftui is kept as a backward-compatible alias (identical behavior), so existing prompts and automations keep working.
  • expandInstances option — when true, an unmapped Figma component INSTANCE with children is walked into (like a FRAME/GROUP) instead of an opaque // ⚠️ unmapped leaf, so a screen built from nested instances (forms, headers, nav bars) actually converts. Default false; recursion capped by instanceMaxDepth (default 8).
  • Auto-validationdesign_to_code runs validate_code on its own output and appends the PASS/FAIL verdict under an ## Auto-validation section.
  • More figma-mapping.json rulesCheckbox, Radio/RadioButton, Toggle/SwitchThemeToggle, and Divider/Divider ContainerDividerView map out of the box.
  • Direct Figma url input — pass the design link as url; the tool parses fileKey + nodeId itself (both /design/ and legacy /file/ links, and normalises the URL's dash node-id → colon). Explicit fileKey + nodeId still accepted.

Fixed

  • Placeholder noise — design-system scaffolding text (scribble, Action Button, Input Label, …) is no longer emitted as real SwiftUI Text.
  • Spacing token → SpacingKey case emissionsp-4xl now emits Theme.SpacingKey.xl4.value (was the non-compiling .4xl) and spacing-none emits .none (was .spacing-none).

Full changelog: mcp/CHANGELOG.md

v0.3.0 — Public launch

Choose a tag to compare

@isamercan isamercan released this 29 Jun 19:47
09ec41d

First public release. 🎉

Highlights since v0.2.0

  • Open-source under MIT — repo is now public.
  • AI-native tooling — the advanced MCP server (19 tools) including the star figma_to_swiftui (Figma node → token-matched, verified-API ThemeKit SwiftUI), the Claude Code Agent skill, and llms.txt.
  • 33 theme presets — ThemeKit's Default plus 32 daisyUI-inspired sets; the in-app Theme Generator edits primary/secondary/accent/base live.
  • Auto-contrast content colors — on-solid foreground is computed from luminance, so labels stay legible on any accent.
  • 117 components across Atoms / Molecules / Organisms, all token-bound.
  • English-only source, demo, README, gallery, and docs (bundled Turkish localization kept as a feature).
  • README on-device screenshots + a component gallery that renders in the GitHub mobile app.
  • Live docs at https://isamercan.github.io/ThemeKit/documentation/themekit

Full history: https://github.com/isamercan/ThemeKit/commits/main

v0.2.0 — Per-subtree theming

Choose a tag to compare

@isamercan isamercan released this 28 Jun 14:23
70c7aae

The theming release: inject any Theme into a subtree and every component re-skins to it — plus the full migration that makes it possible, the style protocols, a micro-animation system, Ant Design feature parity across the catalog, and the docs/CI/test layer that took the library to reference-grade.

⚠️ Breaking

  • Package renamed GlobalUIComponentsThemeKit; Global-prefixed public API rebranded to ThemeKit. Update your SPM dependency, target product, and import GlobalUIComponentsimport ThemeKit.

Highlights

  • Per-subtree theming.theme(_:) + EnvironmentValues.theme (defaults to Theme.shared, crash-proof). Bundled themes (ocean, sunset) + on-device generation (applyGenerated(primaryHex:)).
  • Singleton → environment migration complete — every component reads @Environment(\.theme); zero Theme.shared color reads remain in components. Non-breaking and pixel-identical.
  • Style protocols.cardStyle / .statStyle / .selectStyle (the ButtonStyle idiom).
  • Micro-animation system — toggleable theme-wide and per-component; always yields to Reduce Motion.
  • Ant Design feature parity across Tooltip, Popconfirm, Upload, Timeline, Slider, InputNumber, TreeSelect, Breadcrumb, Avatar, Statistic, Table, and more.
  • ToolingPreviewMatrix, a live Theme Injection demo, an 87-screenshot README gallery, $0 local CI, and per-symbol DocC.

A regression test asserts .theme(_:) actually re-skins components and leaves Theme.shared untouched. Full suite green (163 tests).

See CHANGELOG.md for the full list.

v0.1.1

Choose a tag to compare

@isamercan isamercan released this 25 Jun 19:39
3f6e932

Documentation release — no public API change (PATCH).

  • DocC → GitHub Pages: swift-docc-plugin, styled landing page (@Metadata), new Getting Started and Installation articles, a Pages deploy workflow, and .spi.yml for Swift Package Index hosting.
  • GitHub Wiki scaffold: Home, FAQ, Troubleshooting, Versions & Releases, Roadmap, Contributing.

📖 Docs: https://isamercan.github.io/GlobalUIComponents/documentation/globaluicomponents/ (after enabling Settings ▸ Pages ▸ Source = "GitHub Actions")

🤖 Generated with Claude Code

v0.1.0

Choose a tag to compare

@isamercan isamercan released this 25 Jun 19:19
13f814d

First tagged release of GlobalUIComponents — a zero-dependency SwiftUI design system (108 components) plus the production-readiness layer that makes it safe to depend on.

Highlights

  • CI — iOS + macOS build/test, SwiftLint, API-breakage check (GitHub Actions)
  • Quality gates — SwiftLint/SwiftFormat config; public-API stability tooling + SemVer policy (this tag is the API baseline)
  • Visual regression — opt-in snapshot suite over 38 high-traffic component states, references recorded on iPhone 17 / iOS 26
  • Accessibility — Dynamic Type scaling, VoiceOver labels/values/traits, RTL glyph mirroring, with Turkish localizations

Versioning

0.x — the public API is still stabilising; minor releases may include breaking changes. Pin with .upToNextMinor(from: "0.1.0"). See docs/API-STABILITY.md.

🤖 Generated with Claude Code