0.2.0: editor blur/autofocus/part-tokens, form testids, popover fixed positioning, dialog event rename (BREAKING) - #1
Merged
Merged
Conversation
…rt tokens - blur() mirrors the focus() delegate into the shadow textarea - firstUpdated() honors the native autofocus attribute - class doc pins the composed-keydown pass-through as public API (only Tab is intercepted, never stopPropagation on other keys) - gutter lines expose breakpoint/current state as part tokens so consumers and e2e suites stop coupling to internal class names
…eads destructive at rest - sema-input/sema-textarea forward a testid prop onto the inner control, matching the sema-editor/sema-markdown pattern, so shadow-piercing test queries work - variant=run + danger (a Stop button) shows --error border/text at rest, not only on hover
Panel is position:fixed, measured from the trigger on open, flipped vertically at the viewport edge, clamped horizontally, and closed on outside scroll/resize (scrolling the popover's own content is exempt via composedPath, which keeps sema-select's listbox usable).
…ost a real box BREAKING: sema-dialog-open/sema-dialog-close are now sema-open/sema-close, aligning with sema-popover. The open host is position:fixed inset:0 so it has a real box matching what is painted (its only child, the backdrop, is out of flow — visibility checks used to report a shown dialog as hidden).
…omment) - CHANGELOG 0.2.0 section (Added / Changed-BREAKING / Fixed) - TODO-COMPONENTS: shipped items moved to Done; stale packaging/CI notes removed; event-name + popover-positioning marked resolved - custom-elements.json regenerated - sema-markdown fence-degradation comment no longer names one consumer
# Conflicts: # package.json
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.
Summary
0.2.0 — the library-side half of completing sema-lisp/sema#69 (notebook UI migration). Everything the notebook and playground needed to finish adopting
@sema-lang/ui:sema-editor:blur()delegate,autofocussupport, a documented composed-keydown contract (only Tab is intercepted), and gutter-line state (breakpoint/current) exposed as part tokens — the public hook that replaced internal-class coupling in the playground's debugger specs.sema-input/sema-textarea:testidforwarding onto the inner control (same pattern as editor/markdown) so shadow-piercing test queries work.sema-button:variant="run"+dangerreads destructive at rest (Stop button styling).sema-popover(fix):position: fixedstrategy — panels escape overflow-clipping ancestors, flip at the viewport edge, clamp horizontally, and close on outside scroll/resize (internal scrolling exempt viacomposedPath, keepingsema-selectusable).sema-dialog(BREAKING): events renamedsema-dialog-open/sema-dialog-close→sema-open/sema-close, aligning with popover. Done now while the dialog has no external consumers. Also fixed: the open host now has a real box (position: fixed; inset: 0) instead of computing 0×0.custom-elements.jsonregenerated; version → 0.2.0.Verification
npm test: 299/299 (was 286; +13 new tests covering every addition, all existing suites green)npm run typecheck,npm run lint,npm run build: cleanNotes
v0.2.0); the sema-side PR vendors this build's bytes and itsnotebook-ui-vendorjake recipe pins0.2.0for future refreshes.