Text changelog
v3.5.4 (2026-10-22)
Single-line Tooltip Hug anchors stay vertically centered within an explicit singleLine host. Ordinary text flow and column layouts remain unchanged.
Single-line truncation retains complete assistive text so button, link and native-label names do not shrink to the visible prefix. Text continues to own visual fitting, the ellipsis and full-text hints.
v3.5.3 (2026-10-12)
Incoming children now use a distinct internal name to avoid self-reference to Frame's identically named Snippet. This fixes recursion during package SSR for ordinary text such as category headings without changing public content or breakpoint props.
2026-09-21: Aligned the usage guide, source Prop table, and Site / AI reading entry. Documentation only; component behavior is unchanged.
v3.5.2 (2026-08-15)
Semantic
p / h1…h6hosts explicitly enableoverflow-wrap: break-word, protecting long words even without optionalsnowui-base.css;tag="code"still allows application-level code initialization.
v3.5.1 (2026-08-06)
Without
lines, the truncation controller remains entirely dormant: it reads no text and creates no observation target. Enabling truncation dynamically still activates the existing protocol.
v3.5.0 (2026-07-04)
Added an opt-in built-in
moreButton forlines=0, styled after the ArrowLineDown button in example 6.The built-in more Button enables
backgroundBlurwith the same strength as the BarChart blurred overlay.Added
parts.Button; an explicitButton as="more"can replace the built-in button.Without more, shared
.snowui-scroll-maskanduseOverlayScrollbarprovide top/bottom fades and the same overlay scrollbar rules as Textarea. With more, Text stays in expand mode without a scrollbar.
v3.4.0 (2026-06-23)
Fixes
TX-Fix.57 Changed
lines={1}to shared boundary fitting plus an explicit inline ellipsis. This fixes missing ellipsis with automatic Tooltip and avoids splitting words, Han characters, emoji, or combining characters.TX-Fix.58 Separated the line-clamp content layer from Tooltip for
lines={2|3}, preventing text after the ellipsis from showing. Real truncation consistently displays Tooltip and pointer cursor. Multiline hosts return to block layout to remove inline-baseline bottom space. Restored the controller's initiallinesto fix missing bottom fade whenlines={0}is collapsed.TX-Fix.60
lines={2|3}usestext-box-trim: trim-endandtext-box-edge: textto trim half-leading below the last line. This removes the impression of larger bottom padding from asymmetric font ascent/descent while preserving descender space.TX-Fix.61 Fixed
.snowui-text-inline-blockstill overriding multiline hosts. Thelines={2|3}root now uses block layout without inline-baseline bottom space. Collapse height is applied to the real multiline content layer to avoid a height feedback loop between root and content.TX-Test.59 Example 4 now uses
tooltip="Full content…"to avoid registering both a child Tooltip and Text's automatic Tooltip in the shared overlay; mouseleave closes it again.TX-Fix.56 Added a local content-opacity bridge for ButtonGroup to Text's base opacity chain, so a disabled ButtonGroup applies
opacity: 0.2only once at its shell.Text-Docs.2026-05-25 Archived the historical changelog from the source header. New changes belong in this document's changelog; the source header retains only its role, current key architecture, and documentation path.
TX-Adjust.55 Internalized expansion through
Button as="more": the example no longer passesClick.runto change host height. A Button insideText lines={0}withas="more"triggers the expansion animation and hides itself through Text context.TX-Adjust.54 Added host-height animation when
Button as="more"expands. Like Accordion content size motion, height transitions from current to full content. Collapsed state and more Button stay visible during animation; only afterward does Text switch to expanded and hide the button, preserving the animation starting point rather than letting the example setheight:autoimmediately.TX-Adjust.53
Button as="more"now uses automatic layout Pin. It is still declared inside Text content, internally mapped topin-bottom-right, and lifted to the root after Text mounts to avoid the content mask. It hides after expansion or when content is not truncated.TX-Adjust.52
lines=0fade now reuses shared transparent-mask capability from.snowui-scroll-maskinlayout.cssrather than drawing a background-color gradient overlay through::after.
v3.3.35 (2026-03-16)
Changes
TX-Adjust.51 Disabled Text's own default hover on request:
interactivenow defaults tofalse, andsnowui-text-hover-enabledis attached only with explicitinteractive={true}.
v3.3.34 (2026-03-06)
Changes
TX-Adjust.50 Fixed missing easing on
lines=0/2/3hover by extending the default--snowui-text-collapse-transitionto a combined list ofmax-height/min-height/height + margin/transform, preventing inline truncation transitions from overriding hover.
v3.3.33 (2026-03-06)
Changes
TX-Adjust.48 Reverted the policy of disabling hover while truncated. Text again follows only
interactive, retaining hover motion across truncation and expansion states.TX-Adjust.49 Removed
[data-truncated="true"]exclusion from hover selectors solines=1and expandedlines=0use consistent entry/exit transitions.
v3.3.32 (2026-03-06)
Changes
TX-Adjust.47 Isolated hover in single-line truncated state by explicitly excluding
[data-truncated="true"]from selectors, avoiding movement during asynchronous truncation measurement.
v3.3.31 (2026-03-06)
Changes
TX-Adjust.45 Removed hover movement while truly truncated: Text attaches
snowui-text-hover-enabledonly wheninteractive !== false && !isTruncated.TX-Adjust.46 Split truncation/expansion transition variables into
snowui-text-collapse-motion-enabledso preserving collapse animation does not accidentally restore hover while truncated.
v3.3.30 (2026-03-06)
Changes
TX-Adjust.42 Restored Text's own hover transition chain.
hover-enabledagain declares explicitmargin/transformtransitions so appearance does not fall back entirely to Frame's default motion.TX-Adjust.43 Restored explicit transition variables in the truncation path:
--snowui-text-collapse-transitionnow lists targetedmax-height/min-height/heightproperties instead oftransition: all.TX-Adjust.44 Hover rules now exclude
.snowui-disabledand:disabled, preventing additional hover movement when disabled.
v3.3.29 (2026-02-25)
Changes
TX-Adjust.41 Removed the
:not(code)patch fromText.svelteandlayout.csson request, returning to the original typography strategy. Future base-style override issues should be solved at the style-layer architecture rather than by selector patches.
v3.3.28 (2026-02-25)
Fixes
TX-Fix.40 Fixed
Text tag="code"not being overridden bysnowui.csscode rules. Component default typography was limited to:not(code), and Container baseline typography inlayout.cssexcludedcodeto avoid overriding@layer basecode styles.
v3.3.27 (2026-02-25)
Fixes
TX-Fix.39 Historical approach: the component once forced code typography with
code.snowui-text; v3.3.28 replaced it with natural override bysnowui.css.
v3.3.26 (2026-02-25)
Fixes
TX-Fix.37 Fixed inline truncation styles overriding hover transitions for
lines=2/3/0.text-collapsetransition became variable-driven through--snowui-text-collapse-transition, with Text injectingall 1000ms ease-outwhile hover-enabled.
Style refinements
TX-Doc.38 Completed Text style documentation covering hover-state styles,
Button as="more"positioning,lines=0fade mask,lines=2/3truncation fallback, and selector mapping.
v3.3.25 (2026-02-25)
Fixes
TX-Fix.35 Fixed hover still running with
interactive={false}by restoringinteractiveas the hover switch, on by default and disabled by explicitfalse.TX-Fix.36 Unified inconsistent hover transition durations across examples with
transition: all 1000ms ease-outon the resting.snowui-text-hover-enabledclass.
v3.3.24 (2026-02-25)
Fixes
TX-Fix.34 Made hover perceptible in the basic centered-text example by adding
--snowui-text-hover-shift-xwhile retaining margin hover rules.
v3.3.23 (2026-02-25)
Changes
TX-Adjust.32 Simplified interaction policy:
interactiveremained for compatibility but no longer controlled Text hover; all Text applied transitions and margin changes on hover by default.TX-Adjust.33 Removed forced pointer cursors inside Text. Ordinary hover, truncation, and tooltip states no longer inject
cursor:pointer.
v3.3.22 (2026-02-25)
Fixes
TX-Fix.31 Resolved
lines=0host detection regressions between examples 6 and 9-4. Computed height in pixels is no longer treated alone as an explicit constraint; instead detect inlineheight/max-height, computedmax-height, height utilities (h-* / max-h-* / min-h-* / size-*), and overflow constraints.
v3.3.21 (2026-02-25)
Fixes
TX-Fix.30 Fixed a regression for a fixed-height outer container with
lines=0(example 6). A constraint host must itself truly clip content, avoiding misclassification of an unclipped Text as the host and restoring truncated state and themorebutton.
v3.3.20 (2026-02-25)
Fixes
TX-Fix.29 Fixed
lines=0failing to truncate without an outer container when Text's own class sets height such ash-*.findConstraintHostnow prioritizes computed height constraints on Text itself instead of selecting an outer scroll container.
v3.3.19 (2026-02-25)
Fixes
TX-Fix.27 Fixed occasional missed truncation for
lines=2/3with only Text's own constraints. Multiline mode now writes stablemax-height + overflow:hidden; the previousmin-heightfallback alone could not guarantee visible clipping.TX-Fix.28 Reverted incorrect forced fallback overrides: removed
width:auto/height:autofortruncate-container/collapsedinside Text so userw-*/h-*constraints are not reversed andlines=0works.
v3.3.18 (2026-02-25)
Fixes
TX-Fix.26 Removed global truncation rules in
layout.cssthat forcibly changed Text width/height, and added a fallback in Text solines=3/0truncates reliably with only its own width/height constraints.
v3.3.17 (2026-02-25)
Fixes
TX-Fix.25 Fixed missed
lines=3/0truncation when width and height were declared only on Text itself. Removedwidth:100%and collapsedlines=0globalheight:100%rules that overrode user constraints, giving Text's own dimensions priority.
v3.3.16 (2026-02-25)
Fixes
TX-Fix.24
lines=0fade appears only when content is truly truncated and not expanded, preventing masks on untruncated text from disrupting button visibility or readability.
v3.3.15 (2026-02-25)
Fixes
TX-Fix.23 Removed the built-in “+5 lines” expansion rule.
TextTruncation.handleExpandreturned to generic expansion; examples or applications can implement staged container growth through Frame events.
v3.3.14 (2026-02-25)
Fixes
TX-Fix.22 Historical approach: the component once implemented staged growth for
lines=0plusButton as="more"; v3.3.15 moved it to the example layer.
v3.3.13 (2026-02-25)
Fixes
TX-Fix.21 Strengthened positioning of
Button as="more"by explicitly placing.snowui-text-expand-buttonat Text's bottom-right, preventing Button base positioning from returning it to the text flow.
v3.3.12 (2026-02-25)
Fixes
TX-Fix.19 Updated the newer contract:
moreis no longer a visibility switch; presence of<Button as="more">in Text content determines both button visibility and what it shows.TX-Fix.20 Text adds a button stacking constraint (
z-index) forButton as="more"inlines=0, keeping the button above the fade layer.
v3.3.11 (2026-02-25)
Fixes
TX-Fix.18 Aligned collapsed
lines=0height with Text2: forcedsnowui-truncate-containertoheight:100%while collapsed for a stable clipping basis, fixing missing fade/more button during initial measurement.
v3.3.10 (2026-02-25)
Fixes
TX-Fix.17 Fixed
lines=0host detection regression.findConstraintHostexcludes Text's internalheight:100%control value and prioritizes explicit parent height constraints (max-heightoroverflow + fixed height), restoring truncation detection and bottom fade/more button.
v3.3.9 (2026-02-25)
Fixes
TX-Fix.14 Matched Text2's
morebehavior: removed suppression of the default button when customas="more"is detected, keeping the default more button visible whenlines=0is collapsed and truncated.TX-Fix.15 Changed the default more icon from
CaretDowntoArrowLineDownand updated Test example assets.TX-Fix.16
findConstraintHostnow prefers explicit height constraints (max-heightoroverflow + fixed height), reducing mistaken truncation when the constraint host shifts underlines=0.
v3.3.8 (2026-02-25)
Fixes
TX-Fix.12 Corrected truncation detection with padding on an outer container for
lines=0.checkCollapsecomputes visible height asmin(constraintHeight, measureClientHeight)to restoreisTruncated/isCollapsedand reveal the more button.TX-Fix.13 The default more icon uses
ComponentIcon name="arrow-line-down", resolved through Components built-in fallback and IconProvider rather than inline SVG or a forced external resource package.
v3.3.7 (2026-02-25)
Fixes
TX-Fix.11 Fixed missing fade from a misidentified constraint host.
lines=0now detects truncation against a container that actually clips content instead of mistaking Text's own auto height for a host constraint.
v3.3.6 (2026-02-25)
Fixes
TX-Fix.10 Stabilized the
lines=0fade layer while collapsed, changed the gradient tolinear-gradient(transparent -> background color), and raised itsz-index, avoiding missing fades fromcolor-mix/maskcompatibility differences.
v3.3.5 (2026-02-25)
Fixes
TX-Fix.9 Removed interfering same-layer
mask-imagefrom thelines=0fade and used one::aftergradient overlay for reliable visibility.
v3.3.4 (2026-02-25)
Fixes
TX-Fix.8 Added a
::aftergradient overlay alongsidemask-imageas alines=0fade fallback, keeping the last-line fade visible across environments.
v3.3.3 (2026-02-25)
Fixes
TX-Fix.7 Added bottom-mask fading of the final visible line for
lines=0, following Text2 to signal undisplayed content.
v3.3.2 (2026-02-25)
Fixes
TX-Fix.5 Added a multiline truncation CSS fallback for
lines=2/3whendisplay:blockcould override block-mode clamping.TX-Fix.6 Expanded nested-container height detection to include the current container's actual height, entering truncation when space is insufficient.
v3.3.1 (2026-02-25)
Fixes
TX-Fix.4 Fixed
lines=2/3truncation with Tooltip by preventinginline-flexfrom overriding line-clamp display.
v3.3.0 (2026-02-25)
Fixes
TX-Fix.1 Restored the
lines=0truncation mask and default expand-button path.TX-Fix.2 Restored automatic Tooltip inference: truncated
lines=1/2/3shows full text by default.TX-Fix.3 Added compatibility inputs
tooltip/morewhile retaining role-based composition.
v3.2.0 (2026-02-23)
Architecture refactoring
TX-Migration.1 Moved truncation from Frame to Text; Text now directly supports
lines/onTruncate.TX-Migration.2 Added
TextTruncationinside Text to manage truncation action, state context, and class/style output consistently.TX-Migration.3 Removed dependency on
enableTruncation; default capability switches are nowenableResponsive/enableContext/enableScaleObserver.
v3.1.0 (2026-02-23)
Simplification
TX-Refactor.1 Removed context and state logic duplicated with Frame (
getInteraction/getSkeleton/getSize/isLoading/isDisabled).TX-Refactor.2 Changed
enableContextfromfalsetotrue, letting Frame handle context awareness automatically.TX-Refactor.3 Stopped manually forwarding
loading/disabled/size/renderHints, reducing the script from 97 to 65 lines.
v3.0.2 (2026-02-03)
Fixes
TX-Fix.1 Passed Frame CSS behavior and capability switches explicitly.
v3.0.0 (2026-01-21)
Architecture refactoring
Delegated truncation: Removed internal
lineshandling,ResponsiveController, andResizeObserver; Frame became the owner of all three at that stage.Context refinement: Removed
setContextand usedcontext.tsautomatic fallback to reuse Frame'sTruncationContext.
Style refinements
Inline CSS: Truncation styles were inlined into
Frame.svelteat that stage.
v2.0.0 (Previous)
Added intelligent truncation (
lines).Supported role-based Tooltip/Button composition.