Version Packages - #1349
Open
tenphi wants to merge 1 commit into
Open
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
🏋️ Size limit report
Compared against main at 8fdee38 — run 32753929263, 2026-08-24T16:58:31Z.To see which modules changed, download the size-limit-statoscope-report artifact from this run and open report.html. |
Contributor
🧪 Storybook is successfully deployed!
|
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
August 24, 2026 18:12
eed6fe8 to
b93e357
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@cube-dev/ui-kit@0.167.0
Minor Changes
#1350
ee97f365Thanks @tenphi! -Board: corner-anchored widget chrome, app-defined widget modifiers, a reason ononLayoutChange, and a realdragCanceldefault.dragCancelnow defaults toBOARD_SELECTION_CANCELinstead of no cancel at all. A control inside a widget has to keep its own press whether or not the board happens to support selection — previously that only worked on a selectable board, whereselectionCancelincidentally doubled as the drag guard, so every other board had to hand-write a selector or a pointer-down on a child's button would drag the widget instead. Pass your own selector to narrow or widen it, or''for the old behaviour.cornerChrome(withcornerChromePlacement, default'ne') puts a control on a widget's corner, centred on it. It renders in the same layer as the corner resize grips, which is the layer that escapes the widget's ownoverflow: hidden— chrome hung off the corner from inside a widget is cropped in half by that clip, or by an ancestor's scroll container when the widget sits in the first row. Being outside the widget host, it is also outside the drag gesture, so pressing it can never start a drag and it needs nodragCancelentry.modsonBoard.Widget(and board-wide viawidgetProps) merges app-defined modifiers into the ones the board sets, so astylesmap can match on app state (mods={{ editing: true }}withstyles={{ shadow: { editing: '…' } }}) instead of the app swapping whole style objects per state. Board's own modifiers are applied last, so a custom one can never shadowselected,dragand the rest, which the board's styling and its accessibility wiring both depend on.onLayoutChangenow reports why the layout changed —'drag','resize','transfer', or'normalize'for the commits no gesture caused (a reflow for a changed column count, anisAutoHeightwidget growing). An app that persisted every commit had no way to tell a user's edit from the board fitting itself to a constraint that moved, so it wrote the reflow back as an edit and marked a document dirty nobody touched. The argument is additive: existing one-parameter handlers keep working.The docs also now explain that widget style maps are merged: a map with no
''entry extends the defaults, while one that sets''replaces them and needs'@inherit'to keep any. Reaching for'': falseto switch a single state off is the easy mistake — it silently takesselected,pre-selectedand the drag lift with it.#1345
8fdee382Thanks @tenphi! - Update Tasty to 3.3.1 (from 3.1.0). Three things come with it.Color tokens no longer emit companion channel variables, and
colorSpaceis deprecated. A#nametoken used to declare--name-colorplus a decomposed companion —--name-color-rgbhere, since the kit configuredcolorSpace: 'rgb'— and only the companion is gone:--name-coloris emitted exactly as authored. Opacity has used CSS relative color syntax since 3.1.0, so nothing inside Tasty needed the channels any more. If your own CSS reads a companion —rgb(var(--primary-color-rgb) / .2)and the like — it silently stops resolving. Rewrite it against the token itself:oklch(from var(--primary-color) l c h / .2), which works on any color, including the ones no build-time conversion could evaluate.configure({ colorSpace })now warns in development and does nothing; the kit no longer sets it. One more consequence worth planning for: a token is emitted in the space it was authored in, sogetComputedStyle(el).backgroundColornow returnsoklch(…)/oklab(…)where it used to returnrgb(…). The color is the same, but any test or code that parses those strings by hand has to stop assuming sRGB syntax.The inherited color is now readable as a color, through
$current-color.#currentkeeps emitting thecurrentcolorkeyword, so it still resolves against the element that reads it — which is what lets a ramp express its disabled state once, incolor, and have everything painted from#currentbelow it fade along. Beside that, everycolorstyle now publishes--current-color, registered withinitial-value: currentcolor, for the cases the keyword cannot serve: hand-authored CSS, or anywhere the inherited color is needed as a color. Read it as$current-color. A value that already reads the color it inherits —#current, a#currentfade — is deliberately not published into it, since resolving it again one level down would fade it twice.Opt-in batched style injection (from 3.2.0):
configure({ batchInjection: true })plus a<TastyBatchProvider>queue a commit's stylesheet writes into one FIFO and apply them together, so the document is style-invalidated once per flush instead of once per component — which matters in a tree that measures layout during render (popovers, autosizing inputs, virtualized lists). The provider flushes inuseInsertionEffect, before any layout effect, so a queued write can never be observed by a measurement.flushStyles(),hasPendingStyleWrites()andresetStyleBatch()come with it, and all of it is re-exported from@cube-dev/ui-kit. Batching stays off unless an app turns it on.Patch Changes
8fdee382Thanks @tenphi! -no-redundant-default-propnow knows three defaults it used to miss:ItemTable'ssizeandsummary, andPagination'ssummary. The registry it checks against is parsed line by line out of*.docs.mdx, so a documented default whose(default: …)annotation had been hard-wrapped onto the next line was invisible to the parser. Unwrapping the documentation surfaced them, and the generator proved each value against the component it belongs to.Note
Medium Risk
The release bundles consumer-facing Board default behavior and Tasty token/CSS changes that can break custom styles or tests parsing computed colors; the diff here is only version and changelog housekeeping.
Overview
This is a Changesets release PR: it bumps
@cube-dev/ui-kitfrom 0.166.0 to 0.167.0, folds three consumed changesets into CHANGELOG.md, and removes those.changesetfiles. Merging publishes the version already landed onmainvia #1350 and #1345.0.167.0 ships Board improvements: default
dragCanceltoBOARD_SELECTION_CANCEL,cornerChrome/cornerChromePlacement, mergeable widgetmods, and an optional change reason ononLayoutChange('drag' | 'resize' | 'transfer' | 'normalize'). It also upgrades Tasty to 3.3.1 (drops*-rgbcompanion token vars and deprecatescolorSpace, adds$current-color, and documents opt-inTastyBatchProvider/ batched injection). A patch extendsno-redundant-default-propforItemTableandPaginationdefaults after docs were unwrapped.Reviewed by Cursor Bugbot for commit b93e357. Bugbot is set up for automated code reviews on this repo. Configure here.