Major changes
- b3281af
Fix generated compound-component declarations and validate the packed package with
skipLibCheck: false, both with and without optional ECharts. Pin Ark UI to 5.37.2 and align the date dependency so consumers receive the tested declarations.Chart components, palettes, legends, and chart types now use
@dicehub/phi/components/chartexclusively. Move existing chart imports from@dicehub/phito that module. This keeps optional ECharts types out of root imports for other components.
Minor changes
- 1c04e01
Add the
ButtonGroupcomponent for joining tightly coupled controls into one control, most commonly a split button. The group is a layout-onlyrole="group"wrapper: it flattens the joining corners, overlaps neighbouring controls by one pixel so they share a single seam, and lifts the keyboard-focused control above that seam. Children keep their own variant, size, and shape, and the group works withButton,LinkButton, disabled-button tooltip wrappers, and composed dropdown triggers. - 1c04e01
Add the
InlineCopyTextcomponent: a compact, borderless copy control for short values shown inline or in dense table cells. It copiestextunlesstextToCopyoverrides the value, hides the copy icon until hover or keyboard focus (always visible on devices without hover), swaps it for a check mark for 1.5 seconds after a successful write, announces the copied label in a polite live region, and emitscopywith the written value only after the clipboard write succeeds. Text variants are limited to non-heading styles, and the value truncates by default. - 1c04e01
Add the
TagInputcomponent for creating and removing free-form values withv-model, optional validation and value limits, and localized labels. - 1c04e01
Add
Toolbar.Linkwith toolbar styling, sizing, and keyboard navigation. - 1c04e01
Add icon support and linked hover feedback to Badge.
- 1c04e01
Describe installable block templates in the component registry. The generated registry now includes an optional
blockTemplatesrecord, plus theRegistryBlockTemplatetypes,registryBlockTemplateNames, andgetRegistryBlockTemplatelookup. The registry describes the PageHeader and ResourceListPage templates and their installation options. - 1c04e01
Add an optional
tooltipFooterprop toTimeseriesChart. The footer renders below the values in both standard-series and marker tooltips, is escaped before it reaches the tooltip HTML, and an empty string adds no space. - 1c04e01
Add an optional
tooltipTimestampFormatprop toTimeseriesChart. It formats timestamps in both standard-series and marker tooltips and receives the raw timestamp in milliseconds. Without a formatter, tooltip timestamps use the browser locale and time zone and now include the day and seconds, for exampleSep 18, 12:34:56. - 1c04e01
Add an optional
yAxisMinIntervalprop toTimeseriesChart. Set it to1for discrete count data so ECharts stops drawing fractional tick marks. The option is only sent to ECharts when defined. - 1c04e01
Replace Kumo-branded metadata and toast manager APIs with Phi names, correct the project license owner, and ship complete notices for Kumo, Ark UI, and every dependency bundled into the published package.
- 1c04e01
Add a
variantprop toCodeHighlightedwith the newCodeHighlightedVarianttype.variant="plain"removes the frame, background, radius, and code padding, drops the line-number padding, keeps highlighted lines inside the content width, and places the multiline copy control at the top right. Default rendering is unchanged. Copy failures no longer raise an unhandled rejection and no longer show the copied label, and the copy control's opacity transition is disabled under reduced motion. - 1c04e01
Add Vue-native Select and Combobox trigger composition for Toolbar controls.
- 5c2ca13
Join Radio card groups inside one outline with dividers and distinct hover and selected states. Add card appearance and orientation to Checkbox.Group, plus appearance and descriptions to Checkbox.Item. Horizontal card groups use two columns on desktop and one column on mobile. Keep custom legends outside the option grid and preserve focus space for default-appearance items inside card groups.
- 1c04e01
Add the
phiCLI for installing source blocks:phi help,phi init,phi blocks, andphi add <BlockName>. The CLI is dependency-free and non-interactive, validatesphi.jsonand all paths strictly, refuses symlinks and traversal, and writes atomically. The CLI includes PageHeader and ResourceListPage templates. - 1c04e01
Ship readable, unminified JavaScript without source maps in the published package. Consumer bundlers continue to own final minification and tree-shaking.
- 1c04e01
Add
itemIdto Sidebar.MenuItem and Sidebar.MenuButton, plususeSidebar().scrollToItemandscrollItemIntoView. Scroll only the owning viewport, support scaled containers, and honor reduced motion.scrollItemIntoViewleaves fully visible items in place even with explicit alignment. - 1c04e01
Add
openChangeCompletetoSidebar.ProviderandSidebar.Collapsible(@open-change-complete). The event reports the settled open state once the open/close animation actually ends: the provider waits for its desktopwidthor mobiletransformtransition, and the collapsible waits for its content row transition. Rapid toggles report only the latest state, nested sidebars and unrelated transitions are ignored, the event never fires during initial mount, and zero duration or reduced motion completes immediately. - 1c04e01
Support unknown pagination totals through
hasNextPage. - 1c04e01
Let
PhiToastManager.updateaccept a callback that receives the current toast and returns the next partial options, so updates can derive from live toast state. Updating with a plain partial object keeps working unchanged.
Patch changes
- 1c04e01
Use borderless alternating backgrounds for Table body rows and keep sticky cells aligned with their row.
- 1c04e01
Open Select popups below their triggers instead of over selected options.
- 1c04e01
Mark the Badge root with
data-phi-component="Badge"and match the Link corner radius to a Badge it directly wraps. A linked badge now draws its focus ring around the badge silhouette instead of the default small link radius. - 1c04e01
Use the elevated surface color for even rows in the default Table variant.
- 1c04e01
Expose all Ark positioning options directly on
Combobox.Content. - 24a17bb
Keep the Popover arrow fixed when scrollable content moves during its opening transition.
- eca64ad
Restart SensitiveInput's two-second copy feedback timer after each successful copy.
- eca64ad
Report Sidebar.Collapsible completion after the content DOM updates when sidebar or mobile drawer changes show or hide it. Keep static sidebar sections visible on mobile. Cancel pending auto-scroll when content hides.
- eca64ad
Remove the runtime warning for deprecated numbered Text heading variants. Keep their existing rendering, types, and deprecation guidance.
- 1c04e01
Allow non-heading Text variants to inherit line height from their surrounding context.
- 1c04e01
Position dialogs near the top of the viewport instead of vertically centering them.
- 1c04e01
Keep peekable Sidebars expanded while pointer or focus remains inside during sliding view changes.
- 1c04e01
Limit Tabs overflow controls to the segmented variant, flatten their caret styling, and preserve explicit
aria-currentvalues on Sidebar menu links. - 1c04e01
Refine the Empty state typography and command surface. The title renders at 20px semibold when a description exists and as 14px subtle text without one, both still as
h2; the title and description are grouped 0.625rem apart; the description balances its wrapping; and the command line becomes a neutral surface with a line ring and no hover elevation or brand coloring. Clipboard behavior, labels, and the live region are unchanged. - 1c04e01
Allow users to select and copy LinkButton text while Button text remains non-selectable.
- 1c04e01
Align Combobox search inputs with popup edges, use the base surface for Select popups and the control surface for open triggers, tighten the large InputGroup trailing button inset, and let Tooltip triggers inherit line height for nested text.
- 1c04e01
Refine the default Collapsible trigger and add smooth Ark UI height animation through an inner panel content wrapper.
Layout or spacing classes applied to
Collapsible.DefaultPanelnow target the animated outer element. Move those styles to child content, or useCollapsible.Panelwhen fully custom panel layout is required. - 1c04e01
Stabilize ShikiProvider initialization so equivalent language arrays reuse the current highlighter and superseded or late-resolving highlighters are disposed safely.
- 1c04e01
Draw the Select up/down double chevron in every standard Combobox trigger, so closed Combobox and Select controls read the same. Custom
triggerand default slots keep rendering whatever they provide.