Repository navigation
Render signatures, hold-to-confirm, full-screen dialogs, bound flex and record helpers - #79
Open
BuildCodelessly wants to merge 14 commits into
Open
BuildCodelessly wants to merge 14 commits into
BuildCodelessly wants to merge 14 commits into
Conversation
obj, set, unset, merge, append, prepend, concat, updateWhere, removeWhere, findIndex, indexOf, slice, take, skip, first, last, range and newId let a setVariable change a record inside a list variable, which formulas couldn't express because they can't contain braces. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0147gqWiq3xoEdAGwWSpq9JK
iconName (bound, from a condition or set by an action) swaps the icon for the Material Symbol of that name, keeping its style, so list items can each show their own icon. thousands(value, decimals) groups digits without money's symbol and cents. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0147gqWiq3xoEdAGwWSpq9JK
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0147gqWiq3xoEdAGwWSpq9JK
A flex bound to a variable or formula, or set by a condition, replaces the node's own when a row or column shares out its free space. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0147gqWiq3xoEdAGwWSpq9JK
showLayoutDialog follows the action's presentation: showModalBottomSheet with the canvas spanning the width at its content's height, a sheet on mobile widths for adaptive, or a full-screen route. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0147gqWiq3xoEdAGwWSpq9JK
The hold trigger exposes its progress to the nodes inside as ${hold}.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0147gqWiq3xoEdAGwWSpq9JK
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0147gqWiq3xoEdAGwWSpq9JK
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0147gqWiq3xoEdAGwWSpq9JK
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0147gqWiq3xoEdAGwWSpq9JK
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0147gqWiq3xoEdAGwWSpq9JK
Master's per-node interaction states style a node and the nodes inside it
when hovered, pressed, focused, selected or disabled, so a second hover
mechanism only adds confusion. The hold trigger keeps its scope above the
node's build, so the held node's own bindings read ${hold} too.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0147gqWiq3xoEdAGwWSpq9JK
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0147gqWiq3xoEdAGwWSpq9JK
Contributor
Author
|
The This PR can't fix that itself. Once API#44 merges and the API is released, raising Generated by Claude Code |
Master landed row/column spacing and wrap (CodelesslyWrap), flex and rotation bindings and many of the same formula functions. Keep master's versions and drop this branch's Wrap rendering and its test; master's wrap and spacing tests cover them. Kept from this branch: a child whose bound flex is 0 collapses, and the row reads a bound flex when it lays out its Flexibles, since the child's own style overrides can't change its share (flex_binding_test caught that); the record helpers master lacks (obj, unset, prepend, concat, updateWhere, removeWhere, findIndex, newId), set on a list and indexOf and slice on text. Formatted two quotes in master's formula_math_test. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0147gqWiq3xoEdAGwWSpq9JK
Master landed presentCanvas (dialog, bottom sheet, adaptive) with an alignment for dialogs, and obj, concat and a decimals argument for money. Keep master's and add what this branch had: full screen dialogs, sheets as wide as the screen and up to 90% of its height (CanvasSizing.sheet), and sheets on the bottom edge wherever an action places a dialog. Both branches added test/dialog_presentation_test.dart; this branch's moves to test/dialog_sizing_test.dart. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0147gqWiq3xoEdAGwWSpq9JK
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
Runtime support for Codelessly/CodelesslyAPI#44, found while rebuilding a jobsite daily log app in the editor. This branch is merged with master. Master's wrap and spacing (#75), dialog presentation and alignment (#76) and its formula functions replace this branch's versions. What this PR still adds:
valueand firechanged.${hold}(0 to 1).presentCanvasshows full-screen dialogs.CanvasSizing.sheet), and always sit on the bottom edge.flexwhen it lays out itsFlexibles. Master's binding patched the child's own style, which can't change its share of the row, so bound bars kept equal widths.flex_binding_test.dartcovers this.strokeWeight, and the icon a node shows.unset,prepend,updateWhere,removeWhere,findIndexandnewId.setalso takes a list and an index, andindexOfandslicealso take text.${hovered}was dropped in favour of the editor's per-node interaction states.Everything is under
## UnreleasedinCHANGELOG.md.Checks run locally against Codelessly/CodelesslyAPI#44:
dart format,flutter analyze --no-pub(no issues) andflutter test(749 tests passing). The merge also fixes two quote lints in master'sformula_math_test.dart.Known Issues
codelessly_api6.2.0 is on pub.dev. Master already requirescodelessly_api ^6.2.0, which isn't published yet, so dependency resolution fails, including for the example app's web build.🤖 Generated with Claude Code
https://claude.ai/code/session_0147gqWiq3xoEdAGwWSpq9JK