Agentic upgrade guide for 3.13.0
This file contains structured instructions for AI assistants helping consumers upgrade to this version of the package.
Automated migrations
Run the automated migration tool first to apply all available codemods for this release:
dt-app update @dynatrace/strato-components
Sections marked Automated by codemod below have already been applied — verify the result rather than applying them manually. Sections without that marker require manual code changes.
Each section below corresponds to a change in this release that requires consumer attention. Sections are separated by ---.
InlineButton is a new component for inline, text-flowing action triggers. Unlike Button, it wraps naturally across line breaks like surrounding text.
Key capabilities:
colorprop for semantic coloringloadinganddisabled/aria-disabledstates- Optional
PrefixandSuffixicon slots aria-expanded,aria-haspopup, andaria-controlsfor disclosure or popup triggersasprop to render a different underlying element (default is'span', which enables multi-line wrapping viabox-decoration-break: clone; useas="button"to get a native button element and correctly typedHTMLButtonElementref)
Import from @dynatrace/strato-components/content.
import { InlineButton } from '@dynatrace/strato-components/content';
{
/* Inline within flowing text */
}
<p>
See <InlineButton onClick={handleClick}>more details</InlineButton> about this
event.
</p>;
{
/* As a disclosure trigger */
}
<InlineButton
aria-expanded={isOpen}
aria-controls="details-panel"
onClick={toggle}
>
{isOpen ? 'Show less' : 'Show more'}
</InlineButton>;
FormFieldMessages now passes a second argument to its render function containing showErrors and isValid, so you can conditionally render content based on whether the field's validation reveal gate has been passed (first blur, overlay close, or immediate submit).
Additionally, FormFieldMessages.Item with variant="error" now accepts a showImmediately prop that reveals the error as soon as it mounts, bypassing the normal reveal gate. This is useful for errors received from an external source such as a server response.
import {
FormField,
FormFieldMessages,
Label,
TextInput,
} from '@dynatrace/strato-components/forms';
<FormField>
<Label>Email</Label>
<TextInput name="email" required />
<FormFieldMessages>
{(messages, { showErrors, isValid }) => (
<>
{messages}
{showErrors && !isValid && (
<FormFieldMessages.Item variant="error">
Please enter a valid email address.
</FormFieldMessages.Item>
)}
{/* Shown immediately when mounted, e.g. from an API validation error */}
{serverError && (
<FormFieldMessages.Item variant="error" showImmediately>
{serverError}
</FormFieldMessages.Item>
)}
</>
)}
</FormFieldMessages>
</FormField>;