Releases: isamercan/ThemeKit
Release list
ThemeKit v0.4.0 — TimeField + Sidebar
SwiftPM: .package(url: "https://github.com/isamercan/ThemeKit.git", from: "0.4.0")
Added
TimeField— a dedicated time-of-day field: 12/24-hourhourCycle,minuteIntervalsnapping, optionalrange, clearable, leading icon, and validation messages. The time-first companion toDateField.Sidebar— a token-bound vertical navigation organism: titled sections, per-item SF Symbol + badge, accent-tinted selection, andheader/footerslots. Complements the bottomNavigationBarfor 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.mdfor the full list and migration notes.
themekit-mcp v2.7.0 — catalog adds TimeField + Sidebar
npm: @isamercan/themekit-mcp@2.7.0 · npx -y @isamercan/themekit-mcp
Changed
- Catalog refreshed to 119 components — regenerated
data/themekit.jsonfrom the symbol graph to include the newTimeField(Molecule) andSidebar(Organism) with their full init params + modifiers. Soget_component_api,list_components,search_components, anddesign_to_codenow know about them.
Full changelog: mcp/CHANGELOG.md
themekit-mcp v2.6.0 — design_to_code, expandInstances, auto-validate
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_codetool — a more readable, design-tool-agnostic name for the Figma→SwiftUI generator.figma_to_swiftuiis kept as a backward-compatible alias (identical behavior), so existing prompts and automations keep working.expandInstancesoption — whentrue, an unmapped Figma componentINSTANCEwith children is walked into (like a FRAME/GROUP) instead of an opaque// ⚠️ unmappedleaf, so a screen built from nested instances (forms, headers, nav bars) actually converts. Defaultfalse; recursion capped byinstanceMaxDepth(default 8).- Auto-validation —
design_to_coderunsvalidate_codeon its own output and appends the PASS/FAIL verdict under an## Auto-validationsection. - More
figma-mapping.jsonrules —Checkbox,Radio/RadioButton,Toggle/Switch→ThemeToggle, andDivider/Divider Container→DividerViewmap out of the box. - Direct Figma
urlinput — pass the design link asurl; the tool parsesfileKey+nodeIditself (both/design/and legacy/file/links, and normalises the URL's dashnode-id→ colon). ExplicitfileKey+nodeIdstill accepted.
Fixed
- Placeholder noise — design-system scaffolding text (
scribble,Action Button,Input Label, …) is no longer emitted as real SwiftUIText. - Spacing token →
SpacingKeycase emission —sp-4xlnow emitsTheme.SpacingKey.xl4.value(was the non-compiling.4xl) andspacing-noneemits.none(was.spacing-none).
Full changelog: mcp/CHANGELOG.md
v0.3.0 — Public launch
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, andllms.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
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
GlobalUIComponents→ThemeKit;Global-prefixed public API rebranded toThemeKit. Update your SPM dependency, target product, andimport GlobalUIComponents→import ThemeKit.
Highlights
- Per-subtree theming —
.theme(_:)+EnvironmentValues.theme(defaults toTheme.shared, crash-proof). Bundled themes (ocean,sunset) + on-device generation (applyGenerated(primaryHex:)). - Singleton → environment migration complete — every component reads
@Environment(\.theme); zeroTheme.sharedcolor reads remain in components. Non-breaking and pixel-identical. - Style protocols —
.cardStyle/.statStyle/.selectStyle(theButtonStyleidiom). - 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.
- Tooling —
PreviewMatrix, a live Theme Injection demo, an 87-screenshot README gallery,$0local 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
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.ymlfor 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
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