Changelog
v0.8.3
0.8.3 (2025-06-16)
Bug Fixes
- update svelte version in README playground link (5d7c133)
v0.8.2
0.8.2 (2025-06-16)
Bug Fixes
- remove some unused code (8c66df2)
v0.8.1
0.8.1 (2025-06-16)
Changes
- Make collapse-buttons of
Promisevalues flash when their state changes - Fix: remove unused Icons to reduce package size
- Fix: made
bigintvalues “copy to clipboard”-able - Fix: Properly forward attachments to root element of
Inspect(.Values)andInspect.Panel- For
Inspect.Values, spreading an object with a non-attachmentSymbolkey will still inspect it, e.g.<Inspect.Values {...{ [Symbol('foo')]: 'hi' }} /> - Since Svelte 5.29, using attachments with
Inspect.Valueswill only have inspected the attachments as values.
- For
- Internal actions have all been ported to attachments
- Fix / New: Export
inspectElementattachment (previously unexported action)- Utility for quickly inspecting elements with
Inspect.Panel
- Utility for quickly inspecting elements with
- Perf: Ensure all Svelte
{#each}-blocks are keyed across the library
v0.8.0
0.8.0 (2025-06-07)
This update largely focuses on improving user-interactions of the Inspect-component as well as improving its look and feel.
🔎 Search / Filter
Suggested by @cycle4passion (#29)
If the option / prop search is set to 'highlight', true | 'filter' or 'filter-strict', a search bar will be visible in the heading of the Inspect-component. This feature is disabled by default for now.
Typing a query and hitting the enter key (or clicking the magnifying glass) performs a deep indexed search of inspected values, and depending on the value of the search option will display search results in one of three ways:
'highlight'— matching value-nodes (and their parents)will be expanded and highlighted with their “bullets” or expand-buttons set to a different color.'filter' | true— non-matching value-nodes will be hidden, except for their siblings and parents'filter-strict'— only matching value-nodes and parent nodes will be displayed
By default, a query can match paths, types and the value itself. You can narrow/expand searches with multiple terms, and/or-mode and field-prefixes like path:, key:, type: and value:.
Look for all the details on how the search-functionality works in the documentation (look for the “usage”-page.)
🔦 Text Highlighting
The search-bar will also result in matching text being highlighted as you type queries. This is enabled by default and can be disabled by setting the option / prop highlightMatches to false.
While Text Highlighting also supports narrowing with multiple terms and field-prefixes, searching and text highlighting is not 1:1 and you might not see highlighted values count as matches. This is mostly dependent on “and/or”-mode and whether or not a value was indexable.
⌨ Keyboard Controls
Value-nodes are now focusable and keyboard-control for controlling focus and expandable nodes have been implemented.
Some examples:
- ↑ / ↓ — focuses previous/next nodes
- → / ← — expands / collapses expandable nodes or jumps in and out of an expandable “scope”
- Enter — expand a node and focus its first child node.
- ctrl / cmd + f — focus the search bar
- ctrl / cmd + e — expand all top-level nodes
- ctrl / cmd + c — collapse all top-level nodes
See the full list of keyboard-shortcuts in the documentation.
🔤 Type to Focus
While a node is focused, type anything and any visible node with matching text will be focused.
⚡️ Animation / transition speed changes
The transition speed for expanding / collapsing nodes was set to 600ms, which was too many milliseconds when a quick google search suggests between 100 and 500ms for interactivity on the web.
The new default speed has been lowered 250ms, but can be increased/decreased with the new option / prop animRate. Setting animRate to 0.5 will double transition speeds and setting it to 2 will halve them. By default it is set to 1. This setting controls both Svelte in/out transitions as well as CSS-animations like hover-effects, opening/closing panels, etc.
The new easing-prop takes any easing function with the same signature as easings imported from svelte/easing. This can be used to control expand/collapse transitions further.
⚙️ Inspect.Panel onSettingsChange callback
A callback that runs if any Panel-settings are changed using the UI. This can be used for persisting Panel-settings.
🐛 Bugs fixed
- Values added to
Inspect.Panelfrom otherInspect-instances are no longer removed if their parent nodes were collapsed, but “cleaned up” when theInspect-instance unmounts. - Internally, not all nodes had all props forwarded, meaning they wouldn’t have notes displayed among other things.
🗞️ Other
Inspect.ValuesorInspect(.Panel)with thevalues-prop set now have an expand/collapse and “log to console”-buttons in its heading (if enabled)- The
heading-prop is now considered an option-prop meaning it can be configured via option-providers (andInspect.Valuescan have a heading) - The
heading-prop can now be set totrueto simply display it. It will also render if search is enabled - If
headingis aSnippet, it now has a boolean parameter indicating if the instance is collapsed - New, nicer and more consistent icons for icon-buttons in node-toolbar and headings.
- Removed default inline/left/right padding
- The CSS-variables
--paddingand--padding-compactcan be used to restore the original0.25empadding if desired
- The CSS-variables
- New CSS-variable:
--text-search-highlight-color— sets the background-color for highlighted text and bullet/collapse-button of matching nodes. Set tovar(--base0A)by default (string color) - Removed unique styling for node tool-buttons when
borderlesswas active (Just one less thing to maintain)
v0.7.2
0.7.2 (2025-04-28)
Bug Fixes
- dont expand / collapse on row doubleclick / key click if collapsebutton also disabled (4708f2c)
- vastly reduce amount of properties with transitions (css) (17fcb33)
v0.7.1
0.7.1 (2025-04-26)
Bug Fixes
- use smaller image in readme (4bea692)
- also dont use “readme” for image file name to prevent it to be bundled in npm package
v0.7.0
0.7.0 (2025-04-26)
Features
Inspect.Panel- a fixed position drawer/panel version ofInspect(506a81f)- new option for displaying stores -
'value-only'- simply shows store value, skipping extra properties on store / observable. Displays a note that it’s a store. (6a649ff) - new prop
values- likeInspect.Valueswill list all enumerable properties of passed value (781331a) - Move position of node notes (“json” / “store” etc.)
Bug Fixes
- object view could error if value went from object to undefined or null (6946c57)
- pass restprops to promiseview (c931d0e)
v0.6.2
0.6.2 (2025-04-07)
Bug Fixes
- fix readme (c4520f7)
v0.6.1
0.6.1 (2025-04-07)
Bug Fixes
- add jsdoc to exports (4b01438)
v0.6.0
0.6.0 (2025-04-07)
Bug Fixes
- handle asyncgenerator and asyncIterator (9c05a4b)
- InspectErrorView now hides error-value behind a getter as to avoid recursive erroring (0f9b949)
- make max initial expandLevel 30 to avoid range error (b169660)
Features
- “plain” theme now uses currentColor and css color-mix to make what should be a readable theme (74eb078)
Inspect.Values, a version ofInspectthat will inspect any value passed to it. It inherits options set viasetGlobalInspectOptions/InspectOptionsProviderbut can also be configured usingInspect.Values.withOptionsor chainable inline configurations in the template, like so:<Inspect.Values.Config.DarkTheme.Ok />(7598ce1)- add “none” alternative to quotes prop (7574fb0)