v0.6.0: ScrollBox + TabBar — container components
ScrollBox: - Container with vertical/horizontal scroll, viewport culling - Scroll offset (:scroll-y, :scroll-x) with clamp to valid bounds - Scrollbars rendered when content exceeds viewport - Sticky scroll (auto-scroll to bottom on content change) - Component protocol: component-children, component-layout-node TabBar: - Horizontal tab row with active/inactive styling - tab-bar-next/prev (wraps around), tab-bar-select, tab-bar-handle-key - Tab title rendering with overflow truncation (ellipsis) - Component protocol: component-layout-node 26 scrollbox+tabbar tests, 100% GREEN: 171 total (27 backend + 58 box + 60 input + 26 scrollbox) Review fixes applied: - Removed duplicate definitions (org per-function blocks are prose-only) - Fixed ASDF test path (../../tests/...) - Version bumped to 0.6.0 - Added clamp-scroll export - Added tab-bar-next/prev/select/handle-key tests - Added scroll clamp boundary tests
This commit is contained in:
13
src/components/container-package.lisp
Normal file
13
src/components/container-package.lisp
Normal file
@@ -0,0 +1,13 @@
|
||||
(defpackage :cl-tui.container
|
||||
(:use :cl :cl-tui.backend :cl-tui.box :cl-tui.layout :cl-tui.input)
|
||||
(:export
|
||||
#:scroll-box #:make-scroll-box
|
||||
#:scroll-box-scroll-y #:scroll-box-scroll-x
|
||||
#:scroll-box-children #:scroll-by
|
||||
#:sticky-scroll-p
|
||||
#:clamp-scroll
|
||||
#:tab-bar #:make-tab-bar
|
||||
#:tab-bar-active #:tab-bar-tabs
|
||||
#:tab-bar-add #:tab-bar-next #:tab-bar-prev
|
||||
#:tab-bar-select #:tab-bar-handle-key
|
||||
#:render))
|
||||
Reference in New Issue
Block a user