Skip to content

Releases: Karanjot786/TermUI

Release list

v0.1.7

Choose a tag to compare

@Karanjot786 Karanjot786 released this 29 Jun 08:08

A CLI for copy-paste component installs, a real component registry, live previews for all 230 components, and an SEO/GEO pass on the docs. 253 commits from 35 contributors.


New: @termuijs/cli

npx termuijs add <component> copies a component's real source straight into your project — path-safe, with a registry resolver, package-manager detection, and automatic dependency install. npx termuijs list opens an interactive picker (built on the @termuijs/widgets List, dogfooding the framework).

Component registry

Every component now has a generated registry entry with its real constructor signature and options props — extracted from source, resolving extends, union params, inline object-literal options, *Props types, and per-field descriptions. The registry ships per-component files plus their dependencies for copy-source installs, and termui.io serves it at /r/<slug>.json.

Docs

  • Live previews for all 230 components, all 30 @termuijs/jsx hooks, and the @termuijs/ui templates.
  • Component pages render the real constructor signature and props, with Shiki-highlighted, collapsible, copy-paste source.
  • SEO/GEO pass: comparison pages, a dynamic sitemap (297 URLs), branded OG card, per-page canonical and structured data, and an accurate, regenerated llms.txt plus .md endpoints for LLM citation.
  • The documentation site moved to its own repository, TermUI_Docs.

@termuijs/jsx

The feedback API (useFeedback, triggerFeedback, AUDIBLE_FEEDBACK_TYPES, FeedbackType) and package-manager helpers (usePackageManager, detectPackageManager, getPackageManagerCommands) are now published to npm.

Notes

All 14 library packages are re-published in lockstep at 0.1.7. No breaking changes. See CHANGELOG.md for the full list.


Contributors

35 contributors made commits in this release. Thank you to:

@Karanjot786 @jainiksha @srushti-panara @ionfwsrijan @Harshithk951 @realtushartyagi @ZainabTravadi @pradeep0153 @anshika1179 @pranvxag @knoxiboy @RosheshChaware @atul-upadhyay-7 @RitikOnWork @KrutagyaKaneria @riddhima25bet10005-a11y @pixeltannu @hrx01-dev @Vartika-l7 @Akshith-cdr @theblag @prasannaPratapSingh @palak170306-design @nidhib08 @namrarafique93-del @kotebhakti30 @i-OmSharma @harsh0028-boop @divyanshisrivastava395 @bhumindeshpande8-spec @VirenSumbly @Vaibhavi-1107 @Satvik-art-creator @DivyanshSaharan @Aryan-Agarwal-creator

v0.1.6

Choose a tag to compare

@Karanjot786 Karanjot786 released this 15 Jun 06:46

72 new widgets, 35 new hooks, fixes across 14 packages, 5018 tests passing. 162 contributors shipped this release.


New packages

@termuijs/adapters connects your app to external tools: localStorage, conf, commander, chalk, execa, git, GitHub via Octokit, dotenv, keychain, zod validation, and a local RAG vector store with a built-in RAGChat widget.

@termuijs/charts ships as a standalone package. All chart widgets are re-exported and fully typed.


Widgets

New display widgets: Markdown, Code, Highlight, Typewriter, Digits, Marquee, Callout, Kbd, BigText, Hexdump, Stat, Avatar, Badge, Tag, EmptyState, Placeholder, Watermark

New layout widgets: SplitPane, Stack, Masonry, Fill, AspectRatio, Dock, Accordion, Collapsible, Carousel

New feedback widgets: ProgressCircle, ProgressString, LoadingDots, Stepper, Timer, Clock, Meter, NotificationBadge, Tooltip, ShortcutBar, TaskList, Timeline, ThinkingBlock

New chart widgets: StackedBarChart, Histogram, PieChart, BulletChart, CandlestickChart, AreaChart, ScatterPlot, RadarChart, GanttChart, BrailleCanvas

New input widgets: RangeInput, Knob, PinInput, Calendar, Form, DataGrid, Canvas, Pty


UI components

34 new components: Drawer, Wizard, RadioGroup, TreeSelect, TextArea, ButtonGroup, AppShell, FilePicker, SegmentedControl, MenuBar, MaskedInput, Disclosure, TagInput, Popover, Combobox, Listbar, Menu, Slider, Switch, DateRangePicker, Transfer, EmailInput, Checkbox, CheckboxGroup, Rating, ThemeSwitcher, SearchInput, Pages, ContentSwitcher, BasicAuthPrompt, SortPrompt, ScalePrompt, SnippetPrompt, QuizPrompt


Hooks

35 new hooks: useWorker, useEventListener, useTimeout, useInterval, useMediaQuery, useFocusWithin, useClipboard, useCountdown, useStopwatch, useThrottle, useDebounce, useMount, useLatest, useBoolean, useMap, useList, useSet, useToggle, useUpdateEffect, useUnmount, useIsMounted, useDefault, useForceUpdate, useFirstRender, useTransition, Suspense and lazy, useSubprocess, useSyncExternalStore, useDeferredValue, useId, useImperativeHandle, createPortal, useLayoutEffect, useTerminalSize, useEventCallback


Store

Middleware support, computed selectors with memoization, temporal history middleware, persist plugin, slices helper, createLogger middleware, mutate() for in-place signal mutations, store reset to initial state.


Router

Navigation guards with beforeEnter and afterEnter hooks, declarative redirect rules, query string parsing, route meta fields, param validation, useParams and useNavigate hooks, forward navigation, lazy routes.


Data

Docker monitoring, database connection pool monitoring, systemd service monitoring, useInfiniteQuery, useSSE, useWebSocket, useGpu, useBattery, useFileWatch, useTemperature, useMutation, response caching with invalidation, retry with exponential backoff.


Theming

4 new built-in themes: High Contrast, Rose Pine, Tokyo Night, Gruvbox. You now have 10 built-in themes.

New syntax: mixin support with @mixin and @include, calc() expressions, @import, size media queries, nested rules, runtime CSS variable overrides, adaptive() helper for light and dark terminals, color functions (lighten, darken, alpha).


Motion

Keyframe animations, chained and parallel sequencing, stagger helper, cubicBezier easing, repeat and yoyo modes, path animation, 2D vector helpers, interpolate and mapRange.


Core

Mouse double-click, drag synthesis, modifier keys, hit-grid dispatch. Bracketed paste. Keychord and sequence binding. OSC 8 hyperlinks. Terminal bell. setCursorShape. Clipboard read and write. screenMode for alternate, main, and inline rendering. Constraint-based layout engine with Pos and Dim algebra. Render profiling hooks. Incremental diff renderer.


Testing

New helpers: pressKey, pressKeys, getOutput, getByRole, getByLabelText, queryAllByText, queryAllByType, frameSerializer, createFixture, createVirtualClock, fireResize, snapshot diff reporter.


Dev server

ThemeWatcher reloads .tss files without restarting your app. Error overlay displays render errors in-terminal. Reload notification banner shows when hot reload fires.


Quick

Modifier-aware keybindings, tabs() and select() shorthands, stack() and spacer() layout builders, batch() re-exported from @termuijs/store.


create-termui-app

6 templates: minimal, dashboard, rest-client, forms-and-validation, ai-assistant, cli-tool. Non-interactive --yes flag skips all prompts. Component registry command lists available components.


Bug fixes

Core: render pipeline race condition, wide-char differential renderer, multi-byte UTF-8 input, ANSI escape sanitization, border offset correction, SIGINT and SIGTERM drain before exit.

Widgets: unicode-correct ProgressBar, Callout, Spinner; TextInput keyboard handling; DataGrid runtime crash; exports restored for ContextMenu, Fill, SplitPane, ThinkingBlock, Collapsible, Digits, DirectoryTree.

JSX: reconciler memory leak, Suspense fallback, portal fiber context, memo() per-fiber cache scoping.

Store: selector memoization, batch() rollback on throw, async batch support.

Data: shell injection replaced with execFile, partial line buffering in tail(), WebSocket console.warn removed.

Router: back() and forward() now apply guards and redirects correctly.

create-termui-app: path traversal prevention, Windows path validation, project name validation.


Contributors

162 contributors made commits in this release. Thank you to:

@Karanjot786 @srushti-panara @Aryan-Agarwal-creator @ionfwsrijan @ZainabTravadi @Harshithk951 @riddhima25bet10005-a11y @Rish-2006 @kajalpa302005 @Satvik-art-creator @Pranaykarvi @Nikhil-0710 @TanCodeX @jainiksha @Ishika-1110 @Komal2008 @Tejas9406 @madhuri-perumalla @OnkarJondhale @Harshit-Maurya838 @Rashi1404 @karthikj5453 @ARPANPATRA111 @nandani-singh15 @PremSahith @abhijnyan-codes @Akshita-2307 @Xenon010101 @Debangana-Dutta @KrutagyaKaneria @namrarafique93-del @Krishnavamsi-codes @Kokila-chandrakar @theblag @Krushnakant-08 @RosheshChaware @16Rohan @RitikOnWork @RangeR107 @AnantTirupati @aanyacloud @anjalikumari45 @yashrajpurohit7 @Vidulaa03 @realtushartyagi @Srushti-Thombre @Srishti-Gupta74 @mittalsonal @Shan7Usmani @SamXop123 @Nicks-19 @Lalit-mahajan-1 @harsh0028-boop @Abhik-Mudi @anchallll02 @kotebhakti30 @akshayad2006-cmd @siddiqui7864 @titax03 @Vaibhavi-1107 @Aspirant200715 @riyanshigupta890-cloud @Bhavikapatel06 @palak170306-design @Khushiii008 @KanchanWaldia @Jenisish @ayyushrk @anirudhagarwal-dev @aavishkarchaudhari @anshika1179 @Vaibhav090212 @Siddh2024 @Shivansho @Shiva210Jyoti @shineetejol9 @SatyajeetSahoo08 @saksham91108 @adityabhatkar23 @Vishvadharman @2593803287-hue @Yazhini74 @arpita-pa @VirenSumbly @rpoojaa06-git @Unnati1007 @Althafdudekula @DarkSorcerer14 @bhanu-forge @Chakshu-Bamotra-04 @ida-jemi @Jighnesh-Py13 @kunal-9090 @lakshaygujjar273-cys @mohitmeena3883 @NachiketPatil26 @paridhijain153 @PranavAgarkar07 @Rakesh-Manthri @SairajTripathy-0077 @ShubhamSawant726 @Shri-Ananth @shaktipy @saurabhhhcodes @sapronaut @sandeepsidar1210-rgb @Safiya007 @rj9884 @Pushtikansara @Pratishtha-Yadav @Prateek007380 @palxsh01 @711nishtha @Novice47 @Sneha6657 @sujeetkumar1425 @NirvanJain @Yashisinghal285 @anjali1521 @codedbydollys10 @Khushi5041 @mahakagarwal7 @nidhib08 @prernaajaypatil-oss @saam-07 @sripriya1156 @vidushi1129 @Dev-aaditya @AbhishekAwasthi47 @A-adilajaleel @thakurakanksha288 @anshull-saxena @Anunay-2712 @Anushkaaa-09 @asthasingh011 @ravichandra14 @biswa1601nk-hub @CoderPrateek971 @Dippp10-ally @DivyaShreeS09 @DivyanshSaharan @durgaprasadml @GAURI167007 @Jagnyaseni-17 @jatingow @kanan010506 @DAYHARIKA @sahare-mayur-0071 @maheshshinde9100 @manasvi-sahare @ezManish @MeghPatel-007 @nkapoor175