feat(core): widget polish closure#46
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c90d5e10c3
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| if (frame.border !== undefined) { | ||
| const borderStyle = mergeTextStyle(layerStyle, { fg: frame.border }); | ||
| renderBoxBorder(builder, rect, "single", undefined, "left", borderStyle); | ||
| } | ||
| pushChildrenWithLayout( |
There was a problem hiding this comment.
Inset layer content when drawing frame borders
When layer.frameStyle.border is set, the border is drawn and then pushChildrenWithLayout renders the layer content using the full layer rect, so any child that paints edge cells (which is common because layer content is laid out at the same x/y/w/h) will overwrite the border glyphs. This makes the new layer border styling unreliable in normal usage and breaks the expected frame behavior unless every caller manually pads content.
Useful? React with 👍 / 👎.
Summary
Closes remaining widget parity gaps in
@rezi-ui/core, adds deterministic test coverage for the changed contracts, and updates widget docs to match the public API.What changed
slideras a public widget across types,uifactory, renderer/runtime wiring, and docs.navigation: "grid",columns).getToastX/Y, expiration filtering, add/remove/progress updates).frameStyle) for modal/layer/dropdown/commandPalette/toastContainer.clip | ellipsis | middle) and configurable stripe/border styling.modal,dropdown,layer,layers,command-palette,table,toast) and addedsliderdocs.Validation
Executed and passed:
npm run lintnpm run typechecknpm run buildnpm testnpm run test:e2enpm run test:e2e:reducednpm run test:native:smokenpm -w @rezi-ui/core run buildnpm -w @rezi-ui/core run testnpm run docs:apinpm run docs:buildnpm run check:docs