Skip to content

chore(release): @hina-ui/vue@1.7.4 - #31

Merged
Ringyuki merged 1 commit into
mainfrom
release/next
Sep 21, 2026
Merged

Ringyuki merged 1 commit into
mainfrom
release/next

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

发布 1.7.3 → 1.7.4

Added

  • Affix Add a native sticky container with top and bottom placement, offsets, disabled state, and affixed-state slots and events. Preserve document flow, focus, and server-rendered layout, with automatic support for nested scroll containers and parent boundaries.

  • Autocomplete Add a free-text Autocomplete with typed suggestions, caret and selection context, caller-defined range replacement, and optional continued completion. Support remote loading and empty states, leading and trailing slots, accessible keyboard navigation, optional Tab acceptance, and Enter submission without a highlighted suggestion. Preserve text on blur and respect IME composition. Include bilingual query-builder, remote-search, and form validation examples.

  • Carousel Add a carousel with responsive item layouts, grouped navigation, dragging, looping, controlled snap selection, accessible rotation controls and caller-owned content. Render default slide positions, indicators and navigation state during SSR, including nonzero initial indices. Provide compact capsule indicators with fixed click targets, slots for individual indicators or the whole indicator group, custom controls, vertical layouts and an optional measurement placeholder for custom layouts. Keep styles and initial layout calculations in the shared layer and the motion engine behind a Vue adapter.

  • DataList Add DataList with structured media, title, description, metadata, and action slots; responsive list and card layouts; optional layout controls; and typed custom item rendering. Coordinate local and remote pagination, unknown totals, initial skeletons, refresh overlays, and empty states. Support measured virtualization in both lists and grids, server rendering, accessible scroll containers, and programmatic scrolling. Keep content styling consistent across rendering modes. Preserve ancestor scroll positions when results arrive or pages change, and keep explicit item alignment inside bounded lists.

  • Editable Add inline text editing with separate draft and committed values, click and double-click activation, multiline input, configurable submission, and save/cancel controls. Support asynchronous saving with error recovery, form field semantics, and custom preview and action slots. Include bilingual documentation and form examples.

  • FloatButton, ScrollTop Add floating actions with logical placement, safe-area spacing, visible labels, tooltips, loading states, and visibility transitions. Add a back-to-top control for pages and custom scroll containers with display thresholds, reduced-motion support, and keyboard focus handling. Include bilingual documentation and interactive examples.

  • Masonry Add responsive masonry layouts with stable item keys, shortest-column and sequential placement, automatic height measurement, RTL, and loading and empty slots. Add an optional pending slot for SSR and initial client layout: keep real items measurable but hidden and inert until positioned, and preserve existing content during append loading. Include bilingual documentation and interactive examples.

  • MonthGrid Add an SSR-ready monthly display table with caller-owned day content and actions, controlled month navigation, month and year shortcuts, date bounds, localized week headings, and visible-range events. Share calendar header controls while preserving existing date-selection behavior.

    Support per-date cell and content classes, independent content height and padding, supplementary date content, header actions and header visibility. Preserve date semantics when customizing its label and expose localized day text, weekday and relative-date metadata. Include schedule, check-in and room-rate examples.

  • QRCode Add SSR-rendered SVG QR codes with error correction, quiet zones, custom colors and logos, localized loading and expiry states, a custom status slot, and standalone SVG or PNG export. Keep encoding and visual contracts in the shared layer.

  • SplitButton Add a primary action joined to an accessible dropdown menu. Support independent action and menu disabling, loading, form submission, links, responsive width, RTL, and menu composition through existing DropdownMenu items. Include bilingual examples and documentation.

  • Text Add size="inherit" to inherit the parent font size and line height while keeping tone and weight independently configurable. Preserve the default body size.

  • Select, MultiSelect, Combobox, MultiCombobox, Listbox, CommandPalette Add optional virtualize support with measured row heights and configurable estimates and overscan. Keep search, grouped labels, keyboard navigation, disabled-item skipping and selection working across the complete dataset. Preserve focused rows and native form values without rendering every option, including when dropdowns are closed.

  • VirtualList Add VirtualList with typed item slots, fixed and dynamic item sizes, horizontal and RTL layouts, programmatic scrolling, visible-range events, loading and empty states, and server-rendered initial content. Preserve focused items while scrolling and share presentation styles across framework packages.

  • Tree, TreeSelect Add optional virtualize support for expanded tree nodes, with measured heights, complete-data search, RTL keyboard navigation and focus restoration after collapsing a focused descendant. Preserve cascading checks and indeterminate states independently of rendered nodes. Add maxHeight to configure the virtual Tree viewport.

Changed

  • Styles Isolate primitive CSS variables in the Vue adapter so shared component styles and motion use Hina-owned runtime properties.
  • Architecture Extract shared styles, variants, class utilities and motion helpers into a framework-independent internal layer while preserving the Vue package API and CSS entry.
  • VirtualList, DataTable Share virtual window measurement, scroll positioning and spacer calculations between VirtualList and DataTable while preserving their existing APIs. Export VirtualizeOptions for consistent optional virtualization across collection components.

Fixed

  • Anchor Keep the current entry visible in a scrollable table of contents, including ScrollArea, without scrolling a shared article viewport or moving focus. Add autoScroll to opt out, a change event, and a read-only exposed current id. Respect reduced motion and directory viewport resizing.
  • DropdownMenu Refresh anchored menu positioning after the reading direction changes so logical start and end alignment follow the updated layout while the menu stays open.
  • AvatarGroup Apply overlap spacing and separator rings to direct DOM children through container selectors so wrapped avatars no longer need to forward injected classes to their outer element. Preserve size-specific spacing, stacking order and overflow counts. Export useAvatarGroup and AvatarGroupContext for custom avatar components.
  • Combobox Render the selected label in the input during SSR, including remote selections supplied through selectedOption, without waiting for client updates. Preserve active search input and clearing behavior.
  • DataTable Keep column style declarations portable when generating the published package's types, without exposing the package manager's internal dependency paths.
  • DataTable Keep responsive column calculations within the column group instead of invalidating every cell's inherited styles. Preserve server-rendered geometry, pinned columns, resizing, and editing feedback while avoiding body rerenders and unnecessary header measurements during container resizing.
  • Image Prevent images sized by height and aspect ratio from expanding shrink-to-fit ancestors to their intrinsic width in WebKit. Preserve full-width images, natural height, preview sizing, and server-rendered layout without requiring width overrides on the inner image.
  • Inline, Flex, Stack Accept Vue components in the as prop alongside tag names, allowing component roots without TypeScript errors or invalid-prop warnings. Preserve layout classes and attribute, event, and default-slot forwarding.
  • AppShell, ScrollArea Reduce repeated measurements during sidebar transitions while preserving the existing layout animation and scroll position. Pause descendant ScrollArea measurements before layout changes and resume after the final transition, including interrupted and nested layouts. Add AppShell's size-stable event for expensive resize consumers. Use a single grid track for ScrollArea sizing, coalesce animation updates, and skip unchanged scrollbar attributes.
  • ScrollArea Mirror horizontal edge gradients in RTL and apply explicit content direction to both the viewport and shadow layers.
  • ScrollArea Redirect vertical wheel input along the logical horizontal axis in RTL and release outward wheel events at both scroll boundaries.
  • ScrollArea Initialize custom scrollbars on the next frame after mounting instead of waiting for idle time and repeatedly postponing initialization during scrolling. Dialogs, drawers, sheets, and other overlays now initialize their scrollbars promptly when opened or reopened, preserving any native scrolling that occurred before initialization.
  • State layer Only suppress a state layer's press feedback when it owns a direct Ripple child. Nested controls with their own ripples no longer suppress press feedback on the surrounding row, including selected and grouped states.
  • Toggle Preserve normal button padding when a text toggle also provides an accessible label. Apply square, icon-only sizing only when no default text slot is present.
  • Listbox, Tree Render visible initial rows during SSR when a virtualized collection has a distant selected item. Preserve the initial DOM during hydration, then scroll to the selection after the viewport is ready. Popup collections continue to open around the selected item.
  • VirtualList Update item positions in the same frame as animated size changes to avoid overlaps while expanding and gaps while collapsing.
  • VirtualList Show loading feedback in a centered overlay without shrinking the scroll viewport or shifting its edge shadows. Preserve existing items and scroll position while loading.
  • VirtualList Clip scroll shadows and content to the outer border radius.
  • Select, MultiSelect, Combobox, MultiCombobox, TreeSelect, ScrollArea, VirtualList Prevent blank virtualized popups when opening at a distant selection. Keep initial rendering bounded before positioning completes and calculate list offsets independently of entrance transforms.
  • Select, MultiSelect, Combobox, MultiCombobox, Listbox, Tree, TreeSelect Center the selected item when opening or reopening a virtualized popup, clamping at the first and last items. Keep variable-height options fully visible and retain minimal scrolling during keyboard navigation. Initialize the rendered range around the selection and remove the intermediate native-viewport binding now that scrollbars initialize on the next frame.

合并后,发布提交的 CI 通过才会发布 npm。

@Ringyuki
Ringyuki merged commit b73e381 into main Sep 21, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant