Releases: Viserion77/treeui
Release list
@treeui/vue@0.26.0
Minor Changes
-
184914c: Two new data-entry components for the LSS dashboard:
TTagInput(TREEUX-001) — edit a list of free-text strings as
addable/removable chips.v-modelisstring[]; Enter and comma confirm the
current tag, Backspace on an empty field removes the last, pasted
comma-separated text splits into tags, and values are trimmed and deduped
silently. Chips reuseTTag. For selection from a fixed set, keep
TMultiSelect/TCombobox.TKeyValueEditor(TREEUX-002, phase 1) — edit aRecord<string, string>
as key/value rows with inline per-row validation (empty and duplicate keys are
flagged and blocked from commit without blocking typing) plus a
validity-changeevent for an aggregatedTFormFieldsummary. Copy is
localizable vialabels. This is the non-sensitive mode where the full value
round-trips; a write-only/sensitive mode is a separate, queued contract.
-
184914c:
TTextgainssize="title"— a responsive section-heading step (clamp
xl→4xl, tight line-height and tracking) that stays belowsize="display"at
every viewport width, so a section heading never out-sizes the page's hero on a
narrow screen (TREEUX-024). Marketing surfaces drop their hand-written
clamp()section-title class.
Patch Changes
- Updated dependencies [184914c]
- @treeui/utils@0.26.0
@treeui/vue@0.25.0
Minor Changes
-
2628793: Extend
TTextfor marketing surfaces and fix twoTLanguageSelectbugs.- TText display/heading sizes (TREEUX-024):
sizegains4xl,5xl, anddisplay— a responsive hero step (clamp(3xl→5xl)with compact line-height and tight tracking), so a landing hero scales with the viewport without a consumerclamp(). - TText overline (TREEUX-025):
size="overline"— a closed eyebrow style (xs, semibold, uppercase, wide tracking) that leaves colour to thetoneaxis (brand on a site, muted on a product LP). - TText reading measure (TREEUX-029):
measure="lead" | "prose"caps line length inch(58 / 68) and renders block, so every surface uses the same measure without hardcodingch. - TLanguageSelect SSR fix (TREEUX-028): the outside-click listener bound in an
immediatewatcher toucheddocumentduring setup and crashed server rendering (nuxt generate). The client-only side effect moved toonMounted; arenderToStringsmoke test now guards the overlay/select components against DOM access during setup. - TLanguageSelect icon-only fix (TREEUX-026):
icon-only(switcher) now visually hides the language name (kept as the accessible name) and collapses the trigger to a square, instead of only tightening padding — so a narrow navbar no longer shows the full endonym.
- TText display/heading sizes (TREEUX-024):
Patch Changes
- Updated dependencies [2628793]
- @treeui/tokens@0.25.0
@treeui/utils@0.26.0
Minor Changes
-
184914c: Calendar math fixes from real adoption (TREEUX-016 etapa a):
placeInDayno longer letsminHeightpush a block past the day's end. A
short event near midnight (e.g. 3 minutes at 23:55) was floored to the minimum
and spilled below the column; the floored height now shrinks sotop + height
stays within the day.weekStartForLocaletakes an optionalfallbackargument (default1,
Monday) used only when the engine can't report week info. The library no
longer silently hard-wires Monday — a Sunday-first product passes0so an
unknown tag or old runtime never flips its source locale to Monday.
@treeui/tokens@0.25.0
Minor Changes
- 2628793: Add letter-spacing (tracking) tokens (TREEUX-035):
--tree-font-tracking-tight(-0.02em),--tree-font-tracking-normal(0),--tree-font-tracking-wide(0.08em). Tracking was the only typographic axis without a token scale; the display and overline text styles consume it.
@treeui/react@0.3.3
Patch Changes
- Updated dependencies [184914c]
- @treeui/utils@0.26.0
@treeui/react@0.3.2
Patch Changes
- Updated dependencies [2628793]
- @treeui/tokens@0.25.0
@treeui/vue@0.24.0
Minor Changes
-
2a5c192: Add
TImage— a content-image primitive (TREEUX-017).Renders a native
<img>with token-driven corners (radius: none/sm/md/lg/pill),object-fit(fit: cover/contain), optionalratio(CSS aspect-ratio), lazy loading by default, and a requiredaltso an unnamed content image can't ship by accident. Display only — it never fetches or transforms the source. Zoom/lightbox is deliberately not built in: composeTImageinsideTModal(recipeimage-zoom), keeping the trigger a product decision.
Patch Changes
- Updated dependencies [2a5c192]
- @treeui/utils@0.24.0
@treeui/utils@0.24.0
Minor Changes
-
2a5c192: Add framework-agnostic calendar math for the upcoming
TCalendar(TREEUX-016, step a).New pure functions in
@treeui/utils(no DOM, no Vue, no bundled locale data):getMonthMatrix(anchor, weekStartsOn)(complete-week month grid, padded from adjacent months),placeInDay(item, day, { hourHeight, minHeight })(time-grid top/height with midnight clamp + min height),layoutDayColumns(items)(interval-graph greedy column placement for overlapping events, returning{ columnIndex, columnCount }per id — index and cluster count, not a width, so the consumer owns the measurement), andweekStartForLocale(locale)(via nativeIntl.Localeweek info, falling back to Monday). This is the portable core the VueTCalendarMonthGrid/TCalendarTimeGridwill compose.
@treeui/react@0.3.1
Patch Changes
- Updated dependencies [2a5c192]
- @treeui/utils@0.24.0
@treeui/vue@0.23.0
Minor Changes
-
93f5454: Add
TPopoverwidthand fix rich panels collapsing / overflowing the viewport (TREEUX-018).The panel content now sizes to its intrinsic width (
width: max-content), so a grid or flex panel (e.g. an app-launcherTGridwhose columns have a near-zero min-content) no longer shrink-to-fits down to themin-width. The newwidthprop caps how wide it may grow —sm(18rem),md(24rem, base),lg(40rem), orcontent(no rem cap, viewport only). Width and height are always clamped to the viewport (calc(100vw - space-8)/calc(100dvh - space-16)) and the panel gets its own scroll, so a tall/wide panel never runs off-screen.TMenuforwardswidthtoo. This removes the need for consumers to reach into:deep(.t-popover__content)for width/overflow.