Repository navigation
codelessly_sdk 8.3.0: computed variables, new formula functions, gauges, sheet dialogs, text field fixes - #76
Merged
Conversation
- A variable whose value is a ${= ...} formula is computed: reads
evaluate it against the other variables, and nodes bound to it rebuild
when the variables it reads change.
- Formulas: obj, set, merge, keys, values (formulas have no {} literals,
so these build and update maps, e.g. one item of a list via map + set),
range, slice, first, last, concat, indexOf, padLeft, padRight,
substring, split, replace, coalesce, daysInMonth.
- On the web, the page URL's query parameters are in route, so a
published site can link to a state (?date=...); navigation params win.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011fXBKiHRftTsgsVPHEZAWz
RepeatingGradientTransform squeezes one run of the stops into the period along the gradient's axis, then rotates like GradientRotation; with TileMode.repeated the stops repeat every N px whatever the box size. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011fXBKiHRftTsgsVPHEZAWz
ArcProgressPainter draws the track, zone bands, progress, ticks and a needle that overshoots slightly past the max, fitted to the box, with the bound currentValue and progressColor. HttpApiData.directory defaults to the root folder instead of throwing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011fXBKiHRftTsgsVPHEZAWz
presentCanvas shows a canvas as a dialog at an alignment (e.g. a menu at the top right) or as a modal bottom sheet; adaptive picks the sheet below 600 px wide, as phones expect. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011fXBKiHRftTsgsVPHEZAWz
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011fXBKiHRftTsgsVPHEZAWz
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011fXBKiHRftTsgsVPHEZAWz
…ches() - obscureText, enabled and readOnly follow variables, conditions and set-property actions, so a show-password toggle works. - A one-line text field with a set height stayed multi-line (expands), which silently turned off obscuring and made Enter insert a newline. It now stays one line and fills its height through its decoration. - Prefix and suffix icon constraints apply when set. - New formula function matches(text, pattern) for regular expressions. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011fXBKiHRftTsgsVPHEZAWz
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011fXBKiHRftTsgsVPHEZAWz
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011fXBKiHRftTsgsVPHEZAWz
Contributor
Author
|
CI Locally, with the API as a path dependency: 676 tests pass, and Generated by Claude Code |
Master added computed variables and many of the same formula functions in parallel. Keeps master's implementation of computed variables, route link parameters and the duplicate functions (first, last, slice, range, indexOf, merge, set, keys, values); keeps this branch's functions master lacks, its rendering, text field and delay changes. Drops the URL query test that master's link parameters replace, and fixes two quote lints in master's formula_math_test. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011fXBKiHRftTsgsVPHEZAWz
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 changes found by rebuilding a coded reference app (an equipment rental yard) in the editor. Released as 8.3.0 (version bump and CHANGELOG are included). Requires codelessly_api 6.2.0 (Codelessly/CodelesslyAPI PR, same branch name).
${= ...}formula is evaluated when read. Bound widgets update when the variables it uses change, and cycles resolve to null.obj,set,merge,keys,values,range,slice,first,last,concat,indexOf,daysInMonth,padLeft,padRight,substring,split,replace,coalesce,formatNumber,matches(regex).moneytakes a digit count.routeon the web (${route.date}).RepeatingGradientTransform).ArcProgressPainter).obscureText,enabledandreadOnlyfollow bindings.durationformula says.Tests:
formula_maps_text_test,formula_matches_test,computed_variables_test,route_url_query_test,gradient_repeat_test,progress_arc_test,dialog_presentation_test,text_field_bindings_test,delay_duration_test. Locally all 676 tests pass, andflutter analyzeanddart formatare clean.Known Issues
flutter pub getuntil codelessly_api 6.2.0 is on pub.dev. CI resolves the API from pub, not from a path. Re-run CI after publishing 6.2.0.Merge order: the CodelesslyAPI PR, then publish 6.2.0, then this PR, then publish 8.3.0, then the CodelesslyEditor PR.
Generated by Claude Code