| 2026-09-25 |
Bump version to 1.0.0
Eugene Sukhodolskiy
committed
15 days ago
|
Add Mono color theme
...
Plain black with minimal accents: true-gray neutrals, white
primary, a single restrained amber accent, and barely tinted
status colors. Also widen the demo theme switcher regex so
returning from Ember or Mono restores the default stylesheet.
Eugene Sukhodolskiy
committed
16 days ago
|
Add Ember color theme
...
Muted warm scheme: faded warm neutrals and paper text, soft
orange as the single expressive accent, status colors pulled
toward the warm range (sage success, brick error, amber
warning, warm-gray info). Third option in the demo switcher.
Eugene Sukhodolskiy
committed
16 days ago
|
| 2026-09-24 |
Add Verdant color theme with demo switcher
...
Palette variables become !default so themes can configure them.
kit-verdant.scss / demo-verdant.scss compile the green-shifted
palette (green-tinted neutrals, mint secondary, lime accent,
teal info) into kit-verdant.css / demo-verdant.css. Both demos
get a fixed theme switch in the corner that swaps the theme
stylesheets and persists the choice. The default Tokyo Night
theme is unchanged.
Eugene Sukhodolskiy
committed
16 days ago
|
Fix v0.4.0 review findings and demo asset paths
...
- Restore visible hover feedback on radio/checkbox (background $color-grey)
- Drop dead checked/hover border-color rules; guard checked with :not(:disabled)
- Tokenize radio border as $border-width-choice and add $range-thumb-size
so the choice-size bump no longer widens range slider thumbs
- Add cursor: pointer to switch wrapper
- Revert escaped doc snippets to absolute URLs (relative sweep was
teaching fake ./routes in documentation samples)
- Add compare-heights.js demo sync check with CHROME_PATH fallback;
ignore screenshots/
Eugene Sukhodolskiy
committed
16 days ago
|
| 2026-05-27 |
Add GnRepeater component for dynamic field groups
...
- New Vue adapter: GnRepeater with v-model, scoped #item slot,
minItems/maxItems guards, and built-in Add/Remove UI
- SCSS: .repeater, .repeater-header, .repeater-item,
.repeater-item-body, .repeater-item-actions
- Demo: vanilla repeater with inline JS + GnRepeater in Vue forms
- Build verified: compare-heights reports 0 differences
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
on 27 May
|
Add GnTagInput component for multi-value string input
...
Features:
- New GnTagInput Vue component with inline chip display
- Enter / paste (with separator split) to add tags
- Backspace in empty field removes last tag
- Unique check and maxItems limit
- Removable chips with x button
Style:
- Add _tag-input.scss with .tag-input, .tag-input-wrap, .tag-input-field
- Chips reuse existing .chip-secondary styling
Demo:
- Add interactive tag input example to Forms section (vanilla + Vue)
- Add code example blocks for HTML and Vue usage
Docs:
- Add GnTagInput to CLAUDE.md component catalog
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
on 27 May
|
Redesign toast UX: compact layout, progress bar, title-only mode
...
- Replace heavy colored header strip with inline icon+title header
- Add thin bottom progress bar showing remaining lifetime
- Support title-only compact single-line toasts (no text = no body padding)
- Increase tinted background opacity from 0.06 to 0.18 for visibility
- Fix vanilla toast defaults: all variants now use lifetime=4000, alone=true
- Add demo buttons for title-only variants in both vanilla and Vue demos
- Remove hover effect from toast close button
- Adjust close button position (top: 5px) and progress bar margin (1px)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
on 27 May
|
v0.3.0 — GnUserCard, NavigationShell footer slot, Vue demo partials
...
Features:
- Add GnUserCard Vue component with compact and full variants
- Add GnNavigationShell #footer slot for custom footer content
- Add profile footer demo in navigation-shell section
- Split demo/vue.html into 27 partials under demo/partials/vue/
- Fix toast open animation (nextTick + requestAnimationFrame pattern)
Style:
- Add .user-card and .user-card-compact to _cards.scss
- Add .profile-identity to _navigation-shell.scss
Docs:
- Add demo synchronization rules to CLAUDE.md
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
on 27 May
|
| 2026-05-26 |
Style login card: 460px max-width, max-content submit, centered form-group
...
- .card.login-card max-width 360px -> 460px
- .login-card-submit width 100% -> max-content
- Fix .form-group indentation inside .login-card
- Demo login button: btn-secondary with-icon ph-sign-in
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
on 26 May
|
Add GnLoginCard component for standardized login forms
...
- Create GnLoginCard Vue adapter component with username/password
fields, optional remember-me checkbox, submit button, and
forgot-password / sign-up links.
- Add `.login-card` styles in _cards.scss with centered header,
full-width submit button, and spaced link row.
- Register GnLoginCard in plugin and index exports.
- Add login-card demo block to demo/partials/cards.html.
- Update CLAUDE.md, README, and Vue docs with component entry.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
on 26 May
|
Replace code-example-copy with standard btn-icon
...
All copy buttons inside `.code-example` blocks now use `.btn-icon.btn-icon-sm`
with a Phosphor `ph-copy` icon instead of the old text-based `.code-example-copy`.
Updated `code-examples.js` to swap the icon to `ph-check` for 1.2 s after copy,
matching the behaviour of `GnCopyButton`.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
on 26 May
|
Add compact .btn-icon-sm and fix copy-button demo
...
- Introduce `.btn-icon-sm` (28×28, 18 px icon) in `_buttons.scss` for
a miniature icon-button variant.
- Remove `.btn-secondary` from demo copy buttons so they render as
transparent icon-only controls without background.
- Add `size` prop to `GnIconButton` and `GnCopyButton` Vue components.
- Update docs and demo to reflect the new size option.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
on 26 May
|
Ensure every icon carries the base `ph` class
...
- `iconNode()` in `src/vue/utils.js` now always prepends `ph` to the
generated <i> class list, guaranteeing the base Phosphor font-family.
- Fix all raw HTML/JS spinners that used `ph-bold ph-spinner` without
the base `ph` class: buttons demo, helper.js loading states.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
on 26 May
|
Add GnCopyButton component and strict icon rule in docs
...
- Create GnCopyButton Vue adapter component with clipboard copy
and 3-second icon swap from ph-copy to ph-check.
- Register GnCopyButton in plugin and index exports.
- Add copy-button demo block to demo/partials/buttons.html.
- Update CLAUDE.md, README, and Vue docs with component entry.
- Enforce "all icons must carry the ph class" rule in CLAUDE.md.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
on 26 May
|
Add horizontal card to demo page
...
- Insert horizontal card example into demo/partials/cards.html
- Add HTML and Vue code examples for copy-paste
- Rebuild dist
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
on 26 May
|

Improve Vue adapter usability, add router support, and fix animations
...
- Remove hover rotation from .btn-icon (SCSS)
- Fix iconNode to auto-prefix missing "ph-" and warn in dev
- Add CLAUDE.md as AI agent quick-reference for component usage
- Include src/vue/ and CLAUDE.md in published package files
- Add exports field wildcard for src/vue/* subpaths
- Reposition Vue adapter docs as primary contract (not thin wrapper)
- Add JSDoc @typedef to key Vue components (GnButton, GnInput, etc.)
- Add Vue demo page (demo/vue.html) linked from main navigation
Router support (optional, no hard dependency):
- Create useVueRouter composable with safe getCurrentInstance access
- Create GnRouterTabs component for route-driven tabs
- Add item.to support to GnNavList with auto-active and router.push
- Forward activeMatch through GnNavigationShell to GnNavList
- Register GnRouterTabs in plugin and index exports
- Update docs (README, CLAUDE, component-api, ai-usage-guide, component-map)
Fix missing close animations in Vue components:
- GnModal: a-hide transition before unmount (300ms)
- GnDrawer: a-hide transition before unmount (300ms)
- GnToastProvider: dismiss with a-hide animation, close for instant clear
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
on 26 May
|
| 2026-05-17 |
Included dist to repo
Eugene Sukhodolskiy
committed
on 17 May
|