| 2026-08-20 |
Align vanilla breadcrumbs with Vue light design
...
Remove the dark inverted breadcrumb variant and make the vanilla demo
use the same light-surface style as the Vue breadcrumbs.
Co-Authored-By: Claude <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
1 day ago
|
Remove input border inside input group
...
When GnInput is placed inside GnInputGroup, it carries the .input class
from the standalone input styles, which added an unwanted border and
focus shadow. Override border and box-shadow to keep the group shell as
the only border.
Co-Authored-By: Claude <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
1 day ago
|
fix: icon mapping for common Phosphor names and toast provider resolution
...
- Map copy, chart-line-up, check-circle, chat-circle, lock-key, sign-in/out,
pencil, pencil-simple, house, list, credit-card, bell, cloud-arrow-up,
package, gear, home, login, logout, edit, message, box to real VMK icon keys.
- Use Symbol.for for toastKey so builds with multiple bundles resolve the same key.
- Add globalProperties fallback in useToast/GnToastProvider for inline createApp demos.
Eugene Sukhodolskiy
committed
1 day ago
|
feat: add remaining reference Vue components, card variants, toolbar/repeater/activity-log/usage-meter styles and demo mounts
...
- Add GnHorizontalCard, GnUserCard, GnMetricCard, GnStatusCard, GnLoginCard,
GnIdentity, GnActivityLog, GnToolbar, GnRouterTabs, GnRepeater, GnUsageMeter
- Extend GnTabs to support reference items API while keeping child mode
- Add card subcomponent styles: status, metric, horizontal, login, user
- Add toolbar, repeater, identity, activity-log, usage-meter styles
- Add typography token variables used by reference-compatible components
- Add Vue demo mounts for cards, data-patterns, progress, tabs, navigation-shell
- Fix GnAvatar online status class and navigation-shell footer slot
- Update screenshot config to cover skeleton and navigation-shell
Verified: npm run build, npm run test:e2e (19 passed), npm run screenshots,
npm run test:vue-adapter, figma-match (7 passed)
Eugene Sukhodolskiy
committed
1 day ago
|
Add alias exports for gnexus-ui-kit component names
...
- GnDefinitionList -> GnDescriptionList, GnNavList -> GnList, GnProgressStages -> GnSteps.
Co-Authored-By: Claude <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
1 day ago
|
Add GnActionCard, GnActionList, GnCopyButton, GnRange and GnTagInput
...
- Mirror reference component APIs and register them in the Vue plugin and index.
- Add supporting styles for action-card, list-actions, range, tag-input and .btn-icon.
- Add Vue demo mounts to cards, lists and inputs partials.
- Capture Lists section in screenshot review.
Co-Authored-By: Claude <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
1 day ago
|
Add GnAvatarStack, GnChipGroup, GnCombobox and GnSearchField Vue components
...
- Mirror reference gnexus-ui-kit API for avatar stack, chip group, combobox and search field.
- Add supporting styles for .avatar-stack, .avatar-xs and .chip-group.
- Add Vue demo mounts to avatar, chips, advanced-select and inputs partials.
Co-Authored-By: Claude <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
1 day ago
|
Add Vue demo mounts for buttons, inputs, tables and capture inputs section
...
- Add GnButton, GnInput and GnTable Vue demo mounts.
- Switch tables partial to demo-section for screenshot capture.
- Add dismissible alert styles and close button.
- Include Inputs section in screenshot review list.
Co-Authored-By: Claude <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
1 day ago
|
Add Vue components and demo mounts for divider, step, chips, avatar, choices, select, textarea, pagination, loader
...
- Create GnDivider and GnStep Vue components.
- Export GnStep and GnDivider via plugin and index.
- Update GnSteps to render check icon for complete steps.
- Add Vue demo mounts to divider, stepper, select-textarea, pagination, loader, chips, avatar, choices partials.
- Convert chips and avatar partials to demo-section for screenshot capture.
- Expand screenshot section list.
- All 19 e2e tests green.
Co-Authored-By: Claude <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
1 day ago
|
Polish triggers, breadcrumbs, drawer, file preview, editable icons, logos
...
- Use btn-sm for popover, tooltip, dropdown, modal-open, confirm, toast, drawer triggers.
- Use btn-md with gap for modal and confirm-popup action buttons.
- Fix left drawer: correct SCSS nesting so .drawer-left panel slides from left.
- Align breadcrumbs demo with Figma: dark surface, active pill, collapsed rows.
- Unify File Upload preview cards with static File attachment cards markup.
- Style Editable String buttons as btn-icon-only btn-sm.
- Fix 'essentials/search' icon mapping to 'essentials/zoom/search'.
- Add Logos component block from Figma frames.
- Expand screenshot section list to cover more component demos.
- All 19 e2e tests green.
Co-Authored-By: Claude <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
1 day ago
|
Polish visual defects: color cards, spacing, date picker, file attachments, progress, input group, timeline, icon mappings
...
- demo: remove page background layer, add vertical spacing for demo rows
- palette: wrap color swatches in color cards with name/hex labels
- description list: style description-list-term distinctly
- file-upload: shrink attachment cards to 130px, increase gaps, center placeholder text
- forms: add .input-date styling with calendar icon and focus ring
- input-group: seamless action slot button without double borders
- progress: add vertical spacing between consecutive progress bars
- timeline: align marker connector line at left: 23px
- vue: make GnIconButton label optional, add Phosphor icon mappings
- tests: screenshot workflow passing, all 19 e2e tests green
Co-Authored-By: Claude <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
1 day ago
|
style: polish demo visuals and add screenshot workflow
...
- Replace flat palette swatches with color cards (name + hex).
- Increase vertical spacing for demo-section and demo-row.
- Fix Description List to show term when items use { key, value }.
- Style advanced-select input like a regular input with a custom arrow.
- Resize file attachment cards from 420px to 160px, fix grid gaps and padding.
- Make demo background fixed with a subtle parallax drift on scroll.
- Link demo.css in demo/index.html so demo styles actually load.
- Add tests/demo-screenshot.spec.js and npm run screenshots for regular
visual review.
All 19 e2e tests pass.
Co-Authored-By: Claude <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
1 day ago
|
fix: close high-severity compatibility gaps from functional audit
...
- Add missing Drawer browser helper (src/js/components/drawer.js) and export it.
- Replace icon-only Helper with full gnexus-ui-kit-compatible Helper object
(template, unification, states).
- Make Toasts create* methods synchronous to match the reference contract.
- Rename Vue plugin export to GnexusUiVue while keeping VMKUiVue alias;
add tryUseRouter, tryUseRoute, isRouteActive composables.
- Emit both vmk-ui-kit.* and gnexus-ui-kit.* browser bundles; point package.json
main/module/exports to gnexus-ui-kit aliases.
- Add demo partials for GnInputGroup, GnDescriptionList, GnEmptyState, GnPageHeader.
- Update modal/drawer/toast demos to exercise the browser JS API.
- Update functional tests for dynamic modal/drawer creation.
All e2e tests pass; demo page has no console errors with the new background wrapper.
Co-Authored-By: Claude <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
1 day ago
|
Add advancedSelect browser helper
...
- Implement advancedSelect helper with search, keyboard navigation and selection
- Add styles and demo partial
- Wire export in browser bundle
- All 17 e2e tests pass, no console errors
Co-Authored-By: Claude <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
1 day ago
|
Add Overlays browser helper
...
- Implement Overlays helper for dropdown and tooltip toggle management
- Avoid conflict with existing popover.js by not handling data-popover-toggle
- Add CSS support for .dropdown.is-open and .tooltip.is-open
- Add overlays demo partial
- All 17 e2e tests pass, no console errors
Co-Authored-By: Claude <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
1 day ago
|
Add InputPatterns and editableString browser helpers
...
- Implement InputPatterns helper for input clear, date picker trigger and file upload previews
- Implement editableString helper for inline text/textarea editing
- Add component styles and data-patterns demo partial
- Wire exports in browser bundle and auto-init InputPatterns on DOMContentLoaded
- No console errors, all 17 e2e tests pass
Co-Authored-By: Claude <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
1 day ago
|
Add GnConfirmDialog and confirmPopup helper
...
- Create GnConfirmDialog Vue component wrapping GnModal
- Add browser Modals helper and confirmPopup for gnexus-ui-kit compatibility
- Wire exports in src/js/index.js, src/vue/index.js and plugin
- Add demo partial for confirm dialog
- Build and e2e tests pass (17/17)
Co-Authored-By: Claude <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
1 day ago
|
Final polish, functional audit, and new Vue components
...
- Fix interactive overlay pointer-events for modal/drawer
- Add accordion panel transition so animation completes
- Fix toast inline handler syntax escaping
- Install real Phosphor Icons fonts and CSS
- Add auto-init for browser helpers and GNexusUIKit alias
- Add functional Playwright tests for all interactive components
- Add new Vue components: GnIconButton, GnInputGroup, GnDescriptionList, GnEmptyState, GnPageHeader
- Update kit.scss with new component styles
- All 17 e2e tests, Vue adapter smoke, and production build passing
Co-Authored-By: Claude <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
1 day ago
|
| 2026-08-19 |
Add Popover, Pagination, Timeline and Loader components
...
- Add Popover CSS/browser helper/Vue adapter with click-outside and Escape handling.
- Add Pagination CSS and GnPagination Vue adapter.
- Add Timeline CSS and GnTimeline Vue adapter.
- Add Loader/Spinner CSS/browser helper/Vue adapter with spin/dots/bar variants.
- Wire all four components into the SCSS entry, browser bundle, Vue plugin and exports.
- Add demo partials for popover, pagination, timeline and loader.
E2E and Vue adapter smoke builds pass.
Eugene Sukhodolskiy
committed
1 day ago
|
Add Divider, Accordion, Stepper and FileAttachment components
...
- Implement CSS for divider, accordion, stepper and file-upload/attachment.
- Add browser Accordion helper and expose it on window.VMKUIKit.
- Add Vue adapters: GnAccordion, GnSteps, GnFileUpload, GnFileAttachment.
- Add demo partials and figma match pages for divider and attached-file.
- Fix Figma comparison flattening for transparent baselines (e.g. breadcrumbs, attached-file).
- Add vertical spacing to the demo index page to separate sections.
All Figma visual tests and the Vue adapter smoke build pass.
Eugene Sukhodolskiy
committed
1 day ago
|
Add Table, List, Skeleton, Tooltip, Dropdown, NavigationShell
...
- Implement Table styles + browser helper + GnTable/GnTableRow/GnTableHeader
with sortable/selectable variants.
- Implement List styles + browser helper + GnList/GnListItem.
- Implement Skeleton placeholders + browser helper + GnSkeleton.
- Implement Tooltip styles + browser helper + GnTooltip.
- Implement Dropdown menu styles + browser helper + GnDropdown/GnDropdownItem.
- Implement NavigationShell layout + browser helper + GnNavigationShell/GnNavigationItem.
- Wire all new components into kit.scss, Vue plugin, Vue entry, and browser bundle.
- Add demo partials for every new component.
- Update docs/component-coverage.md and PROJECT_NOTES.md.
- Builds and tests pass.
Eugene Sukhodolskiy
committed
1 day ago
|
Add Tabs, Avatar, Chip, and Progress components
...
- Implement pill/compact/vertical tabs with browser helper and Vue adapters
(GnTabs, GnTab, GnTabPanel) plus keyboard navigation.
- Add Avatar styles and GnAvatar with initials/image/icon and status dot.
- Add Chip styles and GnChip removable/selectable chip.
- Add Progress styles, browser helper, and GnProgress linear/step.
- Wire new components into kit.scss, Vue plugin, Vue entry, and browser bundle.
- Add demo partials and update docs/component-coverage.md + PROJECT_NOTES.md.
- All builds and smoke tests pass.
Eugene Sukhodolskiy
committed
1 day ago
|
Sync tokens and components with Figma variables and frames
...
- Update primitive palette: add neutral-25, adjust warning-bg to #FEF3E5.
- Add full radius scale (xs/sm/md/lg/xl/2xl/full) from radius.tokens.json.
- Update semantic surfaces/borders from Mode 1 tokens.
- Realign buttons: primary dark, secondary mint, accent yellow, tertiary ghost.
- Realign badges, alerts, cards, inputs, checkbox, radio, switch, modal, toast.
- Update demo palette/utilities and style-guide docs.
- Add exported Figma frames and variables under 'figma design parts/' for reference.
Eugene Sukhodolskiy
committed
1 day ago
|
Add overlay components: Modal, Drawer, Toast system
...
- Add SCSS for modals, drawers and toasts with VMK design tokens.
- Add GnModal and GnDrawer Vue adapters with focus trap, Escape close and teleport.
- Add browser Toasts helper and GnToastProvider + useToast composable.
- Wire overlays into plugin, Vue entry and browser bundle.
- Add demo partials for Modal, Drawer and Toast.
- Update component coverage and project notes.
Eugene Sukhodolskiy
committed
1 day ago
|
Add Select, Textarea, and Card components
...
- Add _select.scss with native select wrapper and chevron.
- Extend _forms.scss with textarea styling.
- Add _cards.scss with default, filled, outlined, primary, secondary,
elevated variants and sm/lg sizes.
- Add Vue adapters GnSelect, GnTextarea, GnCard matching gnexus-ui-kit API.
- Wire components into plugin and entry exports.
- Add demo partials for Select/Textarea and Cards.
- Update Vue example app and component coverage matrix.
Eugene Sukhodolskiy
committed
1 day ago
|
Add Checkbox, Radio, and Switch components
...
- Add SCSS for checkbox, radio, and switch controls with checked,
disabled, and focus-visible states.
- Add Vue adapters GnCheckbox, GnRadio, GnRadioGroup, GnSwitch matching
gnexus-ui-kit API.
- Wire components into plugin and entry exports.
- Add Choice controls demo partial and include it in demo/index.html.
- Extend Vue example app with interactive checkbox/radio/switch usage.
- Update component coverage matrix.
Eugene Sukhodolskiy
committed
1 day ago
|
Add Input, Badge, Alert components and foundation demos
...
- Add src/scss/components/_forms.scss with input, label, help text,
and error/success/warning states.
- Add src/scss/components/_badges.scss and _alerts.scss with semantic
variants and outline/size options.
- Add GnInput, GnBadge, GnAlert Vue adapters mirroring gnexus-ui-kit API.
- Update plugin and entry exports for new components.
- Add demo partials for Typography, Palette, Utilities, Inputs, Badges,
and Alerts, and include them in demo/index.html.
- Extend Vue example app to render new components.
Eugene Sukhodolskiy
committed
2 days ago
|
Implement Button component and Vue adapter
...
- Add src/scss/components/_buttons.scss with Figma-extracted variants,
sizes (lg/md/sm/xs/xxs), states (disabled, loading), icon support,
and destructive secondary/tertiary styles.
- Add src/vue/components/GnButton.js and VmkIcon with inline SVG loading.
- Add shared src/vue/utils.js for class/variant/size normalization and
legacy Phosphor-name mapping.
- Wire GnButton and VmkIcon into the Vue plugin and entry exports.
- Add demo partial for buttons and update demo index page.
Eugene Sukhodolskiy
committed
2 days ago
|
Load Plus Jakarta Sans from Google Fonts
...
- Add Google Fonts link (400/500/600/700) to demo/index.html and examples/vue/index.html.
- Update docs/getting-started.md with font setup instructions for HTML and Vue consumers.
- Export Icons helper from src/js/index.js so browser bundle can render inline SVGs.
Build, Vue example build, and Playwright smoke test still pass.
Eugene Sukhodolskiy
committed
2 days ago
|
Integrate user-provided SVG icon set
...
- Extract Icons_svg.zip into public/assets/icons/svg/ (967 icons).
- Replace stroke="black" and fill="black" with currentColor in all SVGs
so icons inherit text color.
- Build public/assets/icons/index.json mapping clean names to SVG paths.
- Add src/js/components/icon-helper.js for async inline SVG loading.
- Add src/scss/components/_icons.scss with base icon styles.
- Import icons component styles into kit.scss.
Build, Vue example build, and Playwright smoke test still pass.
Eugene Sukhodolskiy
committed
2 days ago
|