466e00c16c
fix(element/scrollable): support deriving Container size of scrollable
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 13s
2025-03-04 21:54:07 +01:00
fc72cf4abb
ref(container): split size and position calculations
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 34s
2025-03-04 19:53:28 +01:00
ec22e68e8c
ref(event): remove .resize and replace with recursize method calls
...
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 40s
This also means that currently the dynamic resizing through the app's
detached thread is not working, as it cannot send size updates. The
examples have been overhauled to still implement intermediate mode
applications accordingly.
2025-03-04 14:52:19 +01:00
591b990087
ref(event): split Size into two Points (one for the size and one for the anchor / origin)
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 39s
2025-03-04 00:04:56 +01:00
91ac6241f4
doc: correct TODO, NOTE and FIX comment statements
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 48s
2025-03-03 21:49:11 +01:00
caee008d50
test: streamline examples with quit texts
...
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 24s
Improve some examples to provide visual feedback, i.e. for the button
exmample, with fixes to make them compilable with the `Scrollable`
element changes.
2025-03-01 17:12:28 +01:00
8a7ce78aaf
feat(container): introduce fixed_size property for fixed sizing of Containers
...
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 42s
Moved min_size property from `Container` to the `Scrollable` element,
where it is only used anyway.
2025-03-01 11:56:14 +01:00
3b6848f845
fix(container): rendering scrollable elements with separators
...
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 23s
Added corresponding test cases to test the corresponding rendering of
scrollable elements.
2025-02-27 17:02:16 +01:00
ca14bc6106
fix(container): positioning; move separator options to layout struct
...
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 22s
Added corresponding test cases for padding, borders and corresponding
seperators.
2025-02-26 18:21:55 +01:00
33262c9638
add(testing): new namespace containing testing capabilities for zterm
...
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 39s
The namespace shall also be used for testing the rendering of
`Container`s and `Element`s (including the `Scrollable` element).
The testing renderer currently is a striped down version of the double
buffered render without the secondary buffer and the flushing to stdout.
The internal `Cell` slice (the *screen*) is used for equality checks.
The testing namespace shall provide a way to describe the expected
`Cell` slices that should be validated against.
2025-02-24 17:14:57 +01:00
6ccab74c94
add(examples/demo): application to showcase a more complex application
...
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 53s
Further improvements for example applications; Demo example is now
default build target (when not providing example configuration).
2025-02-21 22:57:14 +01:00
dab486a2c1
add(examples/errors): error notifaction handling
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 1m33s
2025-02-21 22:25:42 +01:00
7b005ea4b1
add(examples/styles): text and color styling possiblities
...
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 39s
This also contains some minor refactoring to improve the readability
and understandability of the library (i.e. renaming of Style.Attributes
to Style.Emphasis).
2025-02-21 19:13:11 +01:00
c0c0590bb9
add(examples/styles): color palette to showcase all available colors to render (except for .default)
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 54s
2025-02-21 16:43:03 +01:00
16724f6a52
add(example/elements): distinct different scrollable containers
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 46s
2025-02-21 15:58:42 +01:00
44e92735cf
ref(examples): avoid unnecessary casts
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 43s
2025-02-21 15:15:15 +01:00
8fbc958ca1
add(examples/elements): mouse clickable button
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 39s
2025-02-21 14:50:29 +01:00
cc847b7035
add(examples/layout): mixed content with different layout options
2025-02-21 12:19:16 +01:00
9dc1a4b95a
add(examples/layout): vertical, horizontal and grid
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 39s
2025-02-21 11:31:18 +01:00
c4639bf4bb
add(example): input with simple text field
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 1m41s
2025-02-20 23:48:57 +01:00
96375e3b72
mod(build): build configuration for examples
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 54s
2025-02-20 11:16:42 +01:00
9322785ca0
mod: update zig version
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 43s
2025-02-19 22:55:03 +01:00
cc831a5cdf
fix(element/scrollable): render horizontal directed contents correctly
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 46s
2025-02-19 22:23:32 +01:00
86b3e7d4ed
feat(scrollable): make Container scrollable through Element Scrollable
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 1m35s
2025-02-19 20:32:26 +01:00
f66a870223
ref(input): move mouse.zig and key.zig into public input.zig namespace
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 1m41s
2025-02-18 18:24:09 +01:00
a9f48bfb6a
ref(key): make Key struct packed and rename constants
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 2m5s
2025-02-17 21:06:15 +01:00
7b690d387b
fix(lint): correct spelling errors
Zig Project Action / Lint, Spell-check and test zig project (pull_request) Successful in 1m9s
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 42s
2025-02-16 16:01:04 +01:00
d8a9e72b67
add(border): seperator line options with corresponding code points
2025-02-16 02:04:53 +01:00
d951906b2b
rem: Scroll from Propierties of Container
...
Updated the corresponding documentation and ideas for how to realize
scrollable contents.
2025-02-15 18:50:36 +01:00
1041b0a955
mod: update zg dependency
...
`zg` now supports zig 0.14 dev which this library already uses.
2025-02-15 16:00:55 +01:00
4781e9ce39
add(element): interface for injecting user behavior to containers
...
Some additional refactoring and documentation updates have also been
applied.
2025-02-15 15:56:30 +01:00
5c148e1aa5
fix(cotainer/border): seperator placement without border's and gap
2025-02-15 11:25:20 +01:00
a6aa6e5150
fix(container/border): correct location and rendering of separators between child elements
2025-02-15 11:10:37 +01:00
26d31a38de
ref(container): use only one size for each container
2025-02-15 10:49:48 +01:00
abaea968a6
rem(container): sizing options
...
This enables the `Layout` struct to be packed (as well as the
`Properties` struct) which should further reduce the memory footprint.
2025-02-14 22:19:20 +01:00
c2a03e95c1
fix(container/layout): padding calculation for anchor corrections
2025-02-14 21:59:10 +01:00
8998afd9d6
mod():
2025-02-14 21:49:30 +01:00
bbe6f4741e
WIP: use viewport to allow sizes of scroll to extend further than renderable screen
2025-02-12 22:33:03 +01:00
98031dbd1a
add(container/layout): sizing option percentage
2025-02-09 13:41:23 +01:00
ef950809a6
add(container/layout): sizing:fixed option
2025-02-09 12:59:55 +01:00
c72d76470a
mod(container/border): change default configuration
2025-02-08 13:52:01 +01:00
29ae75adf5
add(layout/padding): layout configuration for padding
...
With minor code layout fixes
2025-02-08 13:11:27 +01:00
d326deac97
add(container/rectangle): add content creation
2025-02-07 17:43:16 +01:00
11531e9d4a
mod: remove min_size argument from App.start
2025-02-06 22:19:27 +01:00
8586a05508
mod: fix rendering resizing; layout placement of child elements for vertical and horizontal directions
...
Work in progress for separator configuration of border properties
2025-02-06 20:10:22 +01:00
009d2129b6
mod(container/layout): support gap configuration
2025-02-04 19:06:09 +01:00
9c06ced658
mod(style): styling and color revamp now with fewer characters to print to the terminal
2025-02-04 17:51:28 +01:00
2bfacc0e98
WIP: container rendering for borders + container element rendering
2025-02-03 19:55:33 +01:00
1293cb065d
WIP: add Container type with corresponding Properties configuration
...
The configuration of the `Container` types is very much inspired by
[clay](https://github.com/nicbarker/clay ).
2025-02-01 01:05:56 +01:00
bdbe05c996
mod(structure): update project structure
...
Remove examples, add description for design goals in README.md and
apply re-names and naming changes accordingly for the project structure.
Implement a flat hierachry, as the library shall remain pretty simple.
2025-01-30 23:02:34 +01:00