Releases: Perspective-AI/perspective
Release list
@perspective-ai/sdk@1.13.1
Patch Changes
- a0af14d: Change the float launcher's default icon from a microphone to lucide's AudioLines icon for the voice and voice+text channels.
@perspective-ai/sdk-react@1.13.1
Patch Changes
- Updated dependencies [a0af14d]
- @perspective-ai/sdk@1.13.1
@perspective-ai/sdk@1.13.0
Minor Changes
- dc8254c: Add
teaserconfig to control the float welcome teaser:enabledturns the whole welcome sequence (teaser bubble, chime, notification dot) on or off,delaysets when the teaser appears (ms, default 3000), andsoundmutes the chime. Available programmatically (createFloatBubble,FloatBubble,useFloatBubble), via data attributes (data-perspective-teaser,data-perspective-teaser-delay,data-perspective-teaser-sound), and via APIembedSettings.teaser(which takes precedence). Disabling the teaser throughupdate()or late-arriving API config cancels a pending or visible teaser.
@perspective-ai/sdk-react@1.13.0
Minor Changes
- dc8254c: Add
teaserconfig to control the float welcome teaser:enabledturns the whole welcome sequence (teaser bubble, chime, notification dot) on or off,delaysets when the teaser appears (ms, default 3000), andsoundmutes the chime. Available programmatically (createFloatBubble,FloatBubble,useFloatBubble), via data attributes (data-perspective-teaser,data-perspective-teaser-delay,data-perspective-teaser-sound), and via APIembedSettings.teaser(which takes precedence). Disabling the teaser throughupdate()or late-arriving API config cancels a pending or visible teaser.
Patch Changes
- Updated dependencies [dc8254c]
- @perspective-ai/sdk@1.13.0
@perspective-ai/sdk@1.12.0
Minor Changes
-
d2f7626: Slider, popup, and float now hand their close (X) button to the interview app.
The app renders its own X (it emits
perspective:closewhen clicked), placed
within its own header so it no longer overlaps the app's top-right UI such as
the participant avatar or the…menu. The SDK now only draws a temporary X
over the loading skeleton and removes it the moment the interview becomes
visible, so there's never a double or overlapping X.- The
perspective:inithandshake now sendsrenderCloseButton(trueunless
disableCloseis set) for slider, popup, and float.widget/fullpagehave
no X and don't send it. - The legacy
hasCloseButtoninit flag is retired — the SDK no longer emits it.
It remains on theInitMessagetype as@deprecatedbecause the app may still
receive it from older deployed SDK clients. - Backdrop-click and Escape close handlers are unchanged; float's launcher bubble
still closes the window.disableClosecontinues to suppress the X entirely.
- The
@perspective-ai/sdk-react@1.12.0
Patch Changes
- Updated dependencies [d2f7626]
- @perspective-ai/sdk@1.12.0
@perspective-ai/sdk@1.11.0
Minor Changes
-
7a592f7: Widget: polished default appearance with a non-breaking, fully overridable
frame.A bare inline widget (
<div data-perspective-widget>/<Widget />with no
container sizing) now renders as a centered, framed card — border, rounded
corners, soft shadow, a comfortable height, and a sensible max-width — so it
looks finished with zero CSS. Previously it was an unstyled, full-bleed iframe
that looked awkward on wide pages.Backward compatible: when the host has sized the container (a height,
flex,
height: 100%, etc.), the widget keeps filling it edge to edge with no framing,
exactly as before.New
frameconfig object (also a<Widget frame={…} />prop) controls the
inline widget's layout and appearance:layout: "card" | "fill"— force a mode regardless of detection ("fill"
restores the full-width behaviour; omit to auto-detect).maxWidth,minHeight,radius,border,shadow,background— each
maps to a--perspective-widget-*CSS custom property the card reads, so the
same knob is reachable from theframeobject, a stylesheet, or inline
style. Because the SDK only reads these vars, an override wins at any
specificity and isn't clobbered by global resets.
Script-tag users get the same control declaratively via a packed
data-perspective-frameattribute, mirroringdata-perspective-brand:
data-perspective-frame="layout=fill,radius=4px,shadow=none,bg=#fff".
@perspective-ai/sdk-react@1.11.0
Minor Changes
-
7a592f7: Widget: polished default appearance with a non-breaking, fully overridable
frame.A bare inline widget (
<div data-perspective-widget>/<Widget />with no
container sizing) now renders as a centered, framed card — border, rounded
corners, soft shadow, a comfortable height, and a sensible max-width — so it
looks finished with zero CSS. Previously it was an unstyled, full-bleed iframe
that looked awkward on wide pages.Backward compatible: when the host has sized the container (a height,
flex,
height: 100%, etc.), the widget keeps filling it edge to edge with no framing,
exactly as before.New
frameconfig object (also a<Widget frame={…} />prop) controls the
inline widget's layout and appearance:layout: "card" | "fill"— force a mode regardless of detection ("fill"
restores the full-width behaviour; omit to auto-detect).maxWidth,minHeight,radius,border,shadow,background— each
maps to a--perspective-widget-*CSS custom property the card reads, so the
same knob is reachable from theframeobject, a stylesheet, or inline
style. Because the SDK only reads these vars, an override wins at any
specificity and isn't clobbered by global resets.
Script-tag users get the same control declaratively via a packed
data-perspective-frameattribute, mirroringdata-perspective-brand:
data-perspective-frame="layout=fill,radius=4px,shadow=none,bg=#fff".
Patch Changes
- Updated dependencies [7a592f7]
- @perspective-ai/sdk@1.11.0
@perspective-ai/sdk@1.10.0
Minor Changes
-
83eab2c: Trim brand color overrides to
primary+bgonlyThe interview app no longer honors the
secondaryandtextbrand overrides and has rescopedbg, so the SDK no longer advertises or forwards them.BrandColorsnow centers onprimaryandbg. The SDK no longer forwardssecondaryortextto the iframe.primarythemes buttons, the progress bar, links, the mic, and focus rings.bgpaints the interview background behind the card, shown only when no background scene is set.secondaryandtextremain on the type as@deprecatedno-ops so existing TypeScript consumers don't break; they're ignored at runtime.
This is non-breaking: the app gracefully ignores unknown
brand.*params and already-deployed embeds keep working. Passingsecondary/textis simply a no-op going forward.Also: SDK chrome that paints a brand color now derives a contrasting foreground from that color's WCAG luminance, so light brand colors no longer produce unreadable white-on-light content. This applies to the popup/slider trigger button text, the float launcher icon (both previously hard-coded to white), and the loading skeleton shimmer/border palette (now chosen from the actual
brand.bgluminance rather than the theme, so a darkbrand.bgunder a light theme still shows visible shimmer). Each falls back to the previous behavior when the color isn't a parseable hex.
@perspective-ai/sdk-react@1.10.0
Minor Changes
-
83eab2c: Trim brand color overrides to
primary+bgonlyThe interview app no longer honors the
secondaryandtextbrand overrides and has rescopedbg, so the SDK no longer advertises or forwards them.BrandColorsnow centers onprimaryandbg. The SDK no longer forwardssecondaryortextto the iframe.primarythemes buttons, the progress bar, links, the mic, and focus rings.bgpaints the interview background behind the card, shown only when no background scene is set.secondaryandtextremain on the type as@deprecatedno-ops so existing TypeScript consumers don't break; they're ignored at runtime.
This is non-breaking: the app gracefully ignores unknown
brand.*params and already-deployed embeds keep working. Passingsecondary/textis simply a no-op going forward.Also: SDK chrome that paints a brand color now derives a contrasting foreground from that color's WCAG luminance, so light brand colors no longer produce unreadable white-on-light content. This applies to the popup/slider trigger button text, the float launcher icon (both previously hard-coded to white), and the loading skeleton shimmer/border palette (now chosen from the actual
brand.bgluminance rather than the theme, so a darkbrand.bgunder a light theme still shows visible shimmer). Each falls back to the previous behavior when the color isn't a parseable hex.
Patch Changes
- Updated dependencies [83eab2c]
- @perspective-ai/sdk@1.10.0