All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
2.3.3 (2024-12-11)
- esm-env warning in vanilla-jsoneditor bundle (#507) (11daf16)
- suppress
[svelte] reactive_declaration_non_reactive_property
warnings during development (5e05768)
2.3.2 (2024-12-05)
- #506 modal closing when the mouse ends outside it after selecting text in Chrome (bbb7d83)
- update dependencies (1df771f)
2.3.1 (2024-11-27)
- no history being created when clicking action buttons such as format and compact (a8c329c)
2.3.0 (2024-11-27)
- update dependencies (most notably
jsonrepair
) (d84c394)
2.2.1 (2024-11-27)
- flush any pending changes before undo/redo (81783f4)
2.2.0 (2024-11-26)
2.1.0 (2024-11-20)
- implement quick key Ctrl+D to duplicate the current row in table mode (deef105)
- exclude the
sass
dependency from the vanilla package (e3bcddb) - update dependencies (
jsonpath-plus
,@jsonquerylang/jsonquery
and others) (b69e9bf)
2.0.2 (2024-11-05)
- cannot sort a nested object inside an array (5ebe9fc)
- more efficient patch operation for the undo action of moving an item inside an object (187e994)
- only expand JSON after sort, transform and expand when isn't expanded already (5d84af0)
- performance issue of sorting the keys of large objects (3708998)
2.0.1 (2024-11-01)
2.0.0 (2024-10-28)
- The library is upgraded to Svelte 5. Everything is backward compatible and works in Svelte 3, 4, and 5. There may be subtle breaking changes in specific edge cases though, hence the release as a new major version.
1.1.2 (2024-10-25)
- method
patch
not working intree
and table mode when the content is text (5f1c8a5)
1.1.1 (2024-10-22)
- list svelte
^3.54.0
as compatible peerDependency alongside4.0.0
(ba2aee5) - upgrade to [email protected] (5fe2588)
1.1.0 (2024-10-22)
- upgrade to
[email protected]
(acb6976)
1.0.8 (2024-10-14)
- upgrade dependencies (13e7cef)
1.0.7 (2024-10-09)
- #488 types
JsonEditor
andCreateJSONEditorProps
not exported invanilla-jsoneditor
(337c33b) - #489 anchor styling defined in the TransformModal affecting the global style (a213583)
1.0.6 (2024-09-30)
- type definition of
createJSONEditor
not exported in thevanilla-jsoneditor
library (e0aee3e)
1.0.5 (2024-09-30)
- key not rendered when the value contains search results and vice versa (0c41c79)
1.0.4 (2024-09-27)
1.0.3 (2024-09-26)
- invalid JSONPath query options could crash the Transform Modal (c90a54c)
1.0.2 (2024-09-26)
1.0.1 (2024-09-25)
- handle
createQuery
throwing an exception in the TransformModal (4b1f3f6)
1.0.0 (2024-09-24)
- The internal state is refactored. This should not give any issues except when relying on some internal or undocumented features.
- Changed the API to consistently use
undefined
instead ofnull
. This involves propertiesselection
,onChange
(propertiescontentErrors and
patchResult),
onRenderContextMenu(property
selection),
onSelect, and methods
validate, and
select`. - Old deprecation messages are removed.
- The API of the
expand
function is changed fromexpand(callback)
toexpand(path, callback)
, and can't be used anymore for collapsing nodes. Instead, se thecollapse(path)
method for that. - The property
edit
is removed from the typesKeySelection
andValueSelection
, and two new typesEditKeySelection
andEditValueSelection
are added. - The helper functions
createKeySelection
andcreateValueSelection
are changed, argumentedit
is removed, and two new helper functionscreateEditKeySelection
andcreateEditValueSelection
are added. - The API of the component
EditableValue
requires an additional propertyselection
. - Some of the class names related to selection highlighting are moved/changed.
- The default query language is changed to
jsonquery
. - The vanilla editor needs to be instantiated using
createJSONEditor(...)
instead ofnew JSONEditor(...)
in preparation for the upgrade to Svelte 5.
- change the constructor of the vanilla library from
new JSONEditor(...)
intocreateJSONEditor(...)
in preparation for an upgrade to Svelte 5. - implemented a powerful API for
expand
andcollapse
(#458) - replace the default query language with a new query language jsonquery (#469)
- implement support for the query language JSONPath (#470)
- export more utility functions (#461)
- change the API to consistently use
undefined
instead ofnull
(#453). - replaced
svelte-simple-modal
with native HTML<dialog />
(#462) - the property
edit
is removed from the typesKeySelection
andValueSelection
, and two new typesEditKeySelection
andEditValueSelection
are added. - internal refactor of the data structure holding state like expanded nodes and search results.
- shortcut keys
Ctrl+F
andCtrl+H
not working in table mode whilst editing a value - the do you want to format message popped up after clicking the "Compact" button
- define
svelte@4
as a peer dependency - a lot of small bugfixes.
0.23.8 (2024-07-26)
0.23.7 (2024-06-06)
- search and replace in table mode not working (3f8a398)
0.23.6 (2024-06-05)
- update dependencies
codemirror
,codemirror-indentation-markers
,ajv
,sass
(1eb5c0b)
0.23.5 (2024-05-30)
- upgrade dependencies
codemirror
,ajv
,jsonrepair
, and update dev dependencies (999acfc)
- cleanup wrong classname
jse-readonly-password
attached to all values (eabbeb2) - make platform detection more robust and future proof (#435) (776ff70)
0.23.4 (2024-05-09)
- cannot use middle mouse button to scroll (d0e7f4c)
- update
jsonrepair
and other dependencies (7b9063f)
0.23.3 (2024-05-06)
- update
codemirror
,ajv
,fontawesome
,jsonrepair
, and dev dependencies (7bd08e7)
- text mode loads partially scrolled down (56e18ee)
0.23.2 (2024-04-17)
- #423 error about an invalid selection in text mode when clearing the contents (5ed8a86)
- change text "fullscreen" to "full screen" (a56415f)
- editor not getting focus when clicking in an empty area in table mode (0e74043)
0.23.1 (2024-03-28)
- fullscreen support for modals (#420) (160a739)
- pass validation severity into UI (#416) (6cd6af9), closes #369 #148 #150
- update dependencies (
codemirror
,sass
, and dev dependencies) (abf0468)
- support pressing Esc to close the CopyPasteModal (fb77efe)
- update dependency
vanilla-picker
and update devDependencies (b0ba13f)
0.23.0 (2024-03-13)
- The
onRenderContextMenu
callback now also triggers when the editor isreadOnly
, so you now have to handle that case in the callback.
- #399 enable onRenderContextMenu when the editor is readOnly (#411) (db3fb57)
- extend the contexts of
onRenderMenu
andonRenderContextMenu
with a propreadOnly
(#411) (4df5548) - search and replace in table mode (#415) (0860f3e)
- cannot convert an Array into an Object (4b3af48)
- context menu not closing when clicking a button in a dropdown menu (e2c419a)
- disable all relevant context menu buttons when readOnly (see #411) (c66ee09)
- disable wrapped line indent when using tabs because that doesn't work well (2a067e1)
- editor not getting focus when clicking inside the welcome screen of table mode (919a31e)
- insert an object or array in tree mode in an empty document not working (5382e1c)
- status bar not visible when caret is at the start of the document (dca87f0)
- table row actions not disabled in the table mode context menu when having an empty document (7123249)
0.22.0 (2024-03-01)
- The
onChange
callback is no longer triggered on programmatic changes via a two-way bindedcontent
or via methods.update()
,.set()
, and.patch()
.
- do not trigger onChange on programmatic changes (#410) (201f602)
- document the requirement for immutable changes in
content
(see #318) (0545e64) - update dependencies (a.o. fixing an issue with wrapping tab indented lines) (1bd92e7)
- add missing property
onSelect
to interfaceJSONEditorPropsOptional
(4087e3f) - improve the logic to determine whether a JSON document needs formatting (bb15bd1)
- onCreateMenu and onCreateContextMenu possibly applying mutated changes without returning (da8fd60)
0.21.6 (2024-02-15)
- upgrade
codemirror
,jsonrepair
,svelte
,svelte-simple-modal
, and dev dependencies (3255741)
- improve the logic to determine whether a JSON document needs formatting (0ca8a49)
- type definition of
JSONEditorPropsOptional.flattenColumns
(3a28757) - type definition of RenderMenuContext.mode (51a7133)
0.21.5 (2024-02-05)
- #392 property
onRenderContextMenu
missing inJSONEditorPropsOptional
(ee9b4c9) - #401 original data can be mutated by the TransformModal previews (337f812)
- consistently use selectedJson in the TransformModal (ac31a79)
- use
flex-start
instead ofstart
foralign-items
(#395) (b8be1a5)
0.21.4 (2024-01-24)
- #381 method
.update()
throwing an exception when calling directly after creating the editor (75c3b5e) - update
@codemirror/view
and dev dependencies (3f2afef)
0.21.3 (2024-01-19)
- #381 method
set()
sometimes throwing an error intext
mode (2dc62f0) - #391 editor not supporting
Object.create(null)
as object (918a126) - update dependencies and devDependencies (0d49b66)
0.21.2 (2024-01-10)
- provide the current
selection
inonRenderContextMenu
(#376) (2068823) - update deps
codemirror
,jsonrepair
,sass
,svelte-awesome
,svelte-select
, and more (63ac195)
- #379 ContextMenu not closing after using a custom button via onRenderContextMenu (2a83137)
- #386 add a
standalone.d.ts
file to thevanilla-jsoneditor
package (4f8fa55) - improve performance of
isColor
detection (see #378) (514f6ca) - improve performance of
isColor
detection for long text values (See #378) (b1a04fc) - update dependency
jsonrepair
(ec23521)
0.21.1 (2023-12-20)
- add a module export again to the
svelte-jsoneditor
package (0c695a4)
0.21.0 (2023-12-20)
- The type
Content
is changed from{ json: JSONValue} | { text: string }
into{ json: unknown } | { text: string }
, and all other types havingJSONValue
changed tounknown
. The return type ofJSONParser.stringify
changed fromstring
tostring | undefined
.
- change the type of
json
fromJSONValue
tounknown
(#371) (dc4671a) - implement
onRenderContextMenu
(fix #82) (e53a620) - upgrade to upgrade
@sveltejs/kit@2
,vite-plugin-svelte@3
,vite@5
, andvitest@1
(#374) (b83e321)
0.20.0 (2023-12-06)
- When using
vanilla-jsoneditor
directly in the browser, you now have toimport { JSONEditor } from 'vanilla-jsoneditor/standalone.js'
instead ofimport { JSONEditor } from 'vanilla-jsoneditor'
. For projects with a build setup (React, Vue, Angular) it should be a drop-in replacement. - CSS variables are no longer defined globally, and the file
themes/jse-theme-default.css
is now removed (replaced by an internaldefaults.scss
). The provided dark theme still works as-is. The CSS variable--jse-modal-theme-color
has been renamed to--jse-modal-editor-theme-color
, and--jse-modal-theme-color-highlight
has been renamed to--jse-modal-editor-theme-color-highlight
.
- export one bundle with and one without external dependencies in
vanilla-jsoneditor
(#353) (9c1ad15) - update dependencies
codemirror
,fontawesome
,svelte-awesome
, and dev dependencies (75596ae) - use SCSS variables internally (#344) (ec4b788)
- allow
isEditing
property to be true when inreadOnly
mode (see #342) (3b0bdb7) - cleanup a console.log (005f189)
- make argument
element
of helper functiononEscape
optional (6eb9b82) - styling issue with a button text color in dark mode (4ff40f9)
0.19.0 (2023-11-21)
- Changes in the package exports
- additional classes for improved CSS targeting (4392f2c)
- package exports not working in Jest (77697b3)
0.18.13 (2023-11-13)
- update dependencies (
jsonrepair
,@codemirror/autocomplete
) (691072a)
0.18.12 (2023-11-08)
- update to
[email protected]
(9ede6ea)
- #331 changing contents during the
onChange
callback throws a selection error (6e511fa) - #337 some menu styling issues (2eec4e6)
onChange
event not fired after callingeditor.set(...)
(see #318) (afaca42)- update codemirror and a couple of devDependencies (7173333)
- use mono font in JSON Preview (b07d08d)
0.18.11 (2023-10-31)
- update codemirror, jsonrepair, and other dependencies (90d1b77)
- #321 editor not accepting JSON created in a different JavaScript realm like an iframe (06fb84c)
- bottom margin of welcome screen in tree and table mode (7d1eb02)
- editor sometimes losing track on whether it has focus (410f997)
- svelte giving warnings about creating components with unknown properties (627170a)
0.18.10 (2023-10-17)
- rename "whole document" to "document root" and "whole item" to "item root" to prevent confusion (2699b71)
0.18.9 (2023-10-11)
- unused CSS selector warnings in Svelte (23b82cc)
0.18.8 (2023-10-02)
- regression since v0.18.17 not allowing to put the cursor halfway the value when editing a value (3e34e8d)
0.18.7 (2023-09-28)
0.18.6 (2023-09-27)
- broken import due to missing file extension (0f734c5)
0.18.5 (2023-09-27)
- update dependencies, most notably
jsonrepair
andcodemirror
(f6306b0)
- #312 "Show me" button throwing an error when no position was provided in the error message (d839e95)
- #312 the "Show me" button throwing an error when no position was provided in the error message (36d7934)
- minor styling issues with modals (97d2d94)
- update dependencies, most notably
codemirror
andjsonrepair
(439eb8a)
0.18.4 (2023-09-19)
- add indentation on wrapped lines (#295) (367accf)
- improve welcome screen with action buttons to create an array or object (d4e301f)
- collapsed items section not removed when empty (3d3ad45)
- creating an array or object or pasting content in the welcome screen not working (7def339)
- editor not getting focus in table mode when clicking inside an empty area (609983d)
- select active element on undo only when existing (e5beebf)
- selection moving to value after renaming the last key of an object (ac31282)
- some issues with navigating in
tree
mode using arrow keys (a3f9c92) - when inserting a new array or object in an empty editor, set selection inside the array/object (821933e)
- when inserting a new value by typing somewhere, it doesn't initially have the right color (9f6ea35)
0.18.3 (2023-08-30)
- restore the selection when going back when having multiple JSONEditor modals (085a9d3)
- sometimes multiple cells selected in Table mode (c7705f6)
0.18.2 (2023-08-25)
0.18.1 (2023-08-25)
- #300 change the homepage in package.json to the Github repo (b1977e5)
- #304 missing type
JSONPointer
internally (e23abbc)
0.18.0 (2023-08-21)
-
- Upgraded to Svelte 4 providing improved TypeScript types.
- Dropped re-exporting types and utility functions from
immutable-json-patch
andsvelte
. Instead, import them directly from the library itself. - Dropped deprecated types
FontAwesomeIcon
(useIconDefinition
instead),DropdownButtonItem
,MenuButtonItem
,MenuSeparatorItem
,MenuSpaceItem
, and typeguardisMenuSpaceItem
. - The
vanilla-package
does not embed types of dependencies anymore and instead, imports the dependencies and use the types from there. - Drop official support for Node.js 16
0.17.10 (2023-08-16)
0.17.9 (2023-08-14)
- #163 implement method
.select()
and callbackonSelect
(#299) (69a9698) - export all typeguard functions like
isMenuButton
(53e671d) - resolve failed import in example "custom menu buttons" (#287) (8da09a4)
0.17.8 (2023-06-21)
- method
scrollTo
not always expanding an invisible section of an array (bda3922) - update dependencies (
codemirror
,jsonrepair
,sass
, and others) (3054f96)
0.17.7 (2023-06-13)
0.17.6 (2023-06-12)
- update dependencies and devDependencies (fc8ef83)
- let
createAjvValidator
throw an error when the JSON schema contains an error (7cfb233) - unused CSS selector
".jse-column-header span.jse-column-sort-icon"
(51c1d54)
0.17.5 (2023-06-08)
- keep focus on the editor after clicking a message action button (aeb5d8f)
- start typing in an empty document in tree mode throwing an error (747f2b4)
- throw an error when a custom Ajv instance provided via
onCreateAjv
is configured wrongly (78771cd)
0.17.4 (2023-05-18)
0.17.3 (2023-05-05)
- update dependencies (jsonrepair and dev dependencies) (d2c424a)
0.17.2 (2023-05-03)
- update dependencies (codemirror, sass) (aeb9af5)
0.17.1 (2023-04-17)
- #142 cannot select contents in readOnly text mode (99922dc)
- #251 enable search in text mode when readOnly (50f8889)
- update dependencies (
jsonrepair
and@codemirror/view
) (5ff1306)
0.17.0 (2023-04-17)
- The pointers to entry files and the exports map in the package.json file have been changed. This is just an under-the-hood change for most use cases.
- change
stringifyJSONPath
andparseJSONPath
to have a more human friendly output (f0f8b80) - update dependencies and devDependencies (f32281f)
- update dependencies including @sveltejs/package, changing the package structure (#258) (78603d4)
0.16.1 (2023-03-24)
- change the row numbering in table mode to zero based for consistency (d923268)
- give the optional
rootPath
option oftransform
a default value (b38db6c)
0.16.0 (2023-03-15)
- Methods
set
,update
,patch
,expand
,acceptAutoRepair
,scrollTo
,focus
,refresh
,updateProps
anddestroy
are now async and return a Promise.
- implement the public method
scrollTo
for modetable
(a615548) - update dependencies
svelte-awesome
andsvelte-select
and some devDependencies (05acdcf)
- #189 setup eslint to enforce
.js
file extensions on all imports (cf37451) - #236 change the public methods to return a Promise`, resolving after the editor is re-rendered (dbfb1a6)
- #237 parse error in case of empty text, and parse error not cleared on change (31e9e50)
0.15.1 (2023-03-01)
- missing .js extension on import (ae66310)
0.15.0 (2023-03-01)
- when there are no validation errors, the return value of
method
validate()
and parametercontentErrors
in callbackonChange
is nownull
instead of{ validationErrors: [] }
.
- faster
getColumns
without sampling (0937718) - sample the array to detect headers (fast) and have a button to enforce checking all items (452d168)
- #226 return
null
instead of{ validationErrors: [] }
when there are no validation errors (395dbd1) - #231 code mode grabbing focus on creation (5df57ee)
- update dependencies and devDependencies (9275c34)
0.14.10 (2023-02-24)
- implement an "Edit row" action in the context menu of table mode (4211a14)
- #226 export typeguards
isContentParseError
andisContentValidationErrors
(0c8189f) - table mode broken due to a wrong import (regression since v0.14.6) (1e48fe5)
0.14.9 (2023-02-22)
- throw an error when forgetting to end a Lodash
_.chain(...)
with.value()
(f76e4e8)
0.14.8 (2023-02-22)
- ensure dark indentation markers when using dark theme (f7b936e)
0.14.7 (2023-02-22)
- some imports missing a .js extension (5493931)
0.14.6 (2023-02-22)
- add indentation guide line in text mode (fixes #225) (09f2575)
- change the JavaScript and Lodash query languages to generate immutable, chained queries (3e92c10)
- jmespathQueryLanguage not working with non-native JSON data types like LosslessNumber (e2c8e3d)
0.14.5 (2023-02-15)
- update dependencies and devDependencies (d0e2568)
- styling issues of the selection dropdown in dark mode (886330e)
- the "Pick" field in the Transform Wizard not restoring the previously selected fields correctly (635f662)
0.14.4 (2023-02-03)
- add a "Show me" button to the message of the parse error (347910a)
- show a message "Do you want to format the JSON?" when loading compact JSON (42c6c95)
- #219 horizontal scrollbar visible in search box (d3ffdef)
- improve styling of the message text (e8a86d9)
0.14.3 (2023-01-27)
- creating a new object or array by typing
{
or]
broken (regression sincev0.14.1
) (f7b5f92)
0.14.2 (2023-01-26)
- expose utility actions
resizeObserver
andonEscape
(c705ea2)
0.14.1 (2023-01-26)
- implement duplicating, inserting, and removing rows in table mode (9b691d1)
- close only the top modal instead of all modals on Escape (b102843)
- editor cannot get focus by clicking selected key or value (7e83a36)
- improve detection of column names in large arrays with non-homogeneous data (5704325)
- maintain order of columns after sorting the contents (23bbf56)
- multi-select via Shift+Click not working in tree mode (aafd933)
0.14.0 (2023-01-20)
- Callback changed from
onRenderMenu(mode, items)
toonRenderMenu(items, { mode, modal })
.
- add more context information to
onRenderMenu
:mode
andmodal
(fbbdb87)
0.13.1 (2023-01-20)
- inserting a new character uppercase (d836096)
0.13.0 (2023-01-20)
- CSS variable
--jse-selection-background-light-color
is renamed to--jse-selection-background-inactive-color
- more flexible styling for contents in tree mode with new CSS variables (e29f85e)
- update dependencies and devDependencies (008dcd6)
0.12.0 (2023-01-18)
- The TypeScript definitions of
createAjvValidator
andrenderJSONSchemaEnum
are changed: passingJSONSchema
andJSONSchemaDefinitions
instead ofJSONValue
.
- #210
renderJSONSchemaEnum
not working enums inside an array (887bf23) - cannot click the bottom right quarter of the context menu pointer (b176f01)
- minor updates of dependencies and devDependencies (c654ed7)
- remove test files from the
svelte-jsoneditor
npm package (fe21ffb) - switch from
ajv-dist
toajv
again (works ok now with rollup and vite) (f43a5fb) - update dependencies and dev dependencies (7229ae6)
0.11.8 (2023-01-07)
0.11.7 (2023-01-07)
0.11.6 (2023-01-07)
- upgrade to [email protected] and [email protected] containing an issue with unicode characters (22cb40e)
0.11.5 (2022-12-20)
- upgrade all dependencies, most notably
svelte-select@5,
@sveltejs/[email protected],
[email protected]` (be135ee) - upgrade to
[email protected]
, improving performance and repairing more cases (8a315cf)
0.11.4 (2022-12-14)
- method
scrollTo
not returning a promise anymore (regression since v0.11.0) (524799f)
0.11.3 (2022-12-13)
- #206 remove the fixed width of the mode toggle buttons (8e0cda3)
- #96 add missing properties to
JSONEditorPropsOptional
(410fd80) - #96 make all properties of JSONEditorPropsOptional optional (4bc33e8)
- cannot edit values of non-existing nested objects in table mode (8127571)
- improve landing page message in table mode when opening an array without values (f238a92)
0.11.2 (2022-12-09)
0.11.1 (2022-12-07)
- table mode landing page not handling an empty array correctly (4b4d039)
0.11.0 (2022-12-07)
- In the
TransformModalCallback
, the propertyselectedPath
is renamed torootPath
. The css variables--jse-context-menu-button-*
are renamed to--jse-context-menu-pointer-*
.
- create a landing page for non-array content in table mode (558d8c1)
- implement table mode #156 (#202) (6fde147)
- #187 duplicate id's of svg's (b95ac82)
- support opening Sort and Transform modals from a JSONEditor modal (4652c1f)
- unnecessary z-index on the context menu pointer (5a6b2f6)
- z-index issue with the table header (8f6a7c7)
0.10.4 (2022-12-05)
- repair modal accidentally showing a mode toggle (798f668)
- update to
[email protected]
, fix throwing an error in case of bad characters like a newline (7f7b59e)
0.10.2 (2022-11-17)
- limit the number of rendered validation errors in the overview list (b0ae546)
- reset the selection instead of clearing it when the selected contents are removed (7c937f5)
0.10.1 (2022-11-10)
- improve highlighting color of search matches in dark mode (fb7bdd9)
0.10.0 (2022-11-10)
- The signature of
createAjvValidator
is changed from up to three unnamed argumentscreateAjvValidator(schema, schemaDefinitions, ajvOptions)
to a single object with optionscreateAjvValidator({ schema, schemaDefinitions, ajvOptions })
.
- implement
onCreateAjv
callback for thecreateAjvValidator
plugin (da3d76c)
- #188 selected text not visible in text mode when in dark mode (41856da)
- improve highlighting color of search matches in dark mode (b85c260)
- negative numbers like
-4.1
not highlighted with the right color in tree mode (071c3f9)
0.9.2 (2022-11-04)
- incorrect cursor style for ColorPicker & BooleanToggle (#184) (12e60e5)
- remove root
$
prefix from the path in the Sort and Transform modal (50ce3f0) - when switching to a different JSON parser, stringify and parse the contents again (2cece4e)
0.9.1 (2022-11-02)
- export and document all selection utility functions again (reverting their removal in
v0.9.0
) (0dd1dee) - update codemirror dependencies and all devDependencies (77cbb6d)
0.9.0 (2022-10-25)
- Not exporting a set of undocumented utility functions anymore:
isValueSelection
,isKeySelection
,isInsideSelection
,isAfterSelection
,isMultiSelection
,isEditingSelection
,createValueSelection
,createKeySelection
,createInsideSelection
,createAfterSelection
,createMultiSelection
. And not exporting componentsSortModal
andTransformModal
anymore.
- export utility functions
isContent
,isTextContent
,isJSONContent
,toTextContent
, (d21fc6d), closes #173
- #174 the
OnChange
signature containing anany
type instead ofOnChangeStatus
(c2d626f) any
type inJSONPathParser.parse
type definition (19363b4)
0.8.0 (2022-10-24)
- The custom
FontAwesomeIcon
is now replaced withIconDefinition
from FontAwesome
0.7.11 (2022-10-18)
- convert primitive values like a string into an object or array holding the value (67d78f0), closes #160
- correctly handle property names containing spaces and special characters in JMESPath (8e7d3e8)
- errors not displayed at the right position in text mode when
escapeUnicodeCharacters=true
(8e7be40) - improve error message when using
content.text
wrongly (see #166) (cdad5fb) - revert dev dependency
rollup-plugin-dts
to v4 too to have it work with rollup v2 (2b183c7)
0.7.10 (2022-10-13)
- #162 clicking the color picker causes a form submit (42f2586)
- show paths in Sort modal as a JSONPath (dot separated) instead of JSONPointer (3cde53d)
0.7.9 (2022-09-30)
0.7.8 (2022-09-29)
0.7.7 (2022-09-29)
- implemented options
parser
andvalidationParser
to support alternative JSON parsers like lossless-json (#151) (b47368b)
0.7.6 (2022-09-28)
- #149 double quote and unicode characters of control characters not being escaped correctly (ab213e6)
- escaping unicode characters not triggered when loading a document in text mode (9dedca0)
0.7.5 (2022-09-21)
0.7.4 (2022-09-12)
- #130 do not open mobile keyboard when the editor is readonly (1c669fa)
- #138 text of tooltip in text mode not readable when using a dark theme (5e7790e)
- #139 cannot use numpad keyboard to enter numbers in tree mode (e2383d9)
- inserting non capital case characters (861f36d)
- let
text
mode not change json contents directly into text contents, and prevent freezing when loading a large document (#141) (28b2b56)
0.7.3 (2022-09-09)
- circular dependency caused by an unused import (65a4f5d)
0.7.2 (2022-09-09)
- update all dependencies (dff38e3)
- mark the package as side-effects free, allowing better optimization in bundlers (23c1816)
0.7.1 (2022-09-05)
onChange
event being fired when creating the editor in tree mode (83e22f7)
0.7.0 (2022-09-01)
- Formerly,
onChange
did only fire after a change made by a user. Now,onChange
also fires after programmatic changes: when changing props or callingpatch
,set
,update
.
- always fire onChange, and let onPatch return a PatchResult (fixes #128) (fb45518)
- update dependencies (#135) (c2e8e0a)
- expanded state sometimes being reset when syncing content (a6cce69)
0.6.6 (2022-08-29)
- mobile keyboard opening all the time when selecting something in the editor on a touch device (c2a0937)
0.6.5 (2022-08-29)
0.6.4 (2022-08-19)
0.6.3 (2022-08-16)
- minor update of all dependencies (b61778a)
0.6.2 (2022-07-28)
- revert the ES workaround for
[@fortawesome](https://github.com/fortawesome)
again, it doesn't work anymore (69533af)
0.6.1 (2022-07-28)
- make sure all imports in index.ts have a .js extension (52431f6)
- re-introduce the ES workaround for
[@fortawesome](https://github.com/fortawesome)
again (2a7284c)
0.6.0 (2022-07-28)
- The signature of
onChange
is changed fromonChange(updatedContent, previousContent, patchResult)
toonChange(updatedContent, previousContent, { contentErrors, patchResult })
.
0.5.0 (2022-07-11)
- The bundled file has been moved into a separate npm package named
vanilla-jsoneditor
. Please replace:import { JSONEditor} from "svelte-jsoneditor/dist/jsoneditor.js"
withimport { JSONEditor} from "vanilla-jsoneditor"
. Read more about v0.5.0: https://github.com/josdejong/svelte-jsoneditor/blob/main/CHANGELOG.md
0.4.0 (2022-07-08)
- The 'code' mode has been renamed to 'text' mode.
- The type
JSONPath
is changed fromArray<string | number>
toArray<string>
, and some TypeScript types now come fromimmutable-json-patch
.
-
#105 disable dropdown button when all items are disabled (8698606)
-
#107 dependency issue with fortawesome building svelte-kit (7ad8e95)
-
#110 ContextMenu closes when hovering a validation error (#112) (46424bb)
-
generate a valid sourcemap again (7981a99)
-
make
svelte
a dependency, its type definitions are needed in TypeScript projects (see #19) (acb3acf) -
remove the "powered by CodeMirror" text, is listed in readme and webapp footer instead (89d661a)
-
truncate text preview of invalid JSON in tree mode (67f5790)
-
make sure the next version will be marked as a breaking change (0737b6c)
0.3.60 (2022-06-09)
0.3.59 (2022-06-08)
- #91 interface OptionalJSONEditorProps missing in npm package (23bd690)
- invert the color of warning text to make it better readable (410d91e)
- render the status bar of code mode above parse errors and validation warnings (d765cb0)
- update dependencies and devDependencies (9aa49b6)
0.3.58 (2022-05-31)
- implement StatusBar in code mode (4bf271a)
0.3.57 (2022-05-31)
- make active line color a lighter than the selection color in code mode (1d26fc7)
0.3.56 (2022-05-30)
- disable broken sourcemap for the time being (8239683)
0.3.55 (2022-05-30)
- editor not having a border when welcome screen is displayed (87e5da9)
- expanded state being reset when updating the contents (27f61f2)
0.3.54 (2022-05-27)
- do not throw an exception when using
.refresh()
in tree mode (6d5646d) - improve typescript definitions (#86) (a7d759a)
0.3.53 (2022-05-23)
- index.js files containing broken imports to ts files (0c4a9f0)
0.3.52 (2022-05-23)
- index.js file containing broken references to .ts files (regression since v0.3.51) (36959ee)
0.3.51 (2022-05-23)
- implement a method
.refresh()
to force rerendering of the code editor (545426a)
- improve the behavior of the arrow quickkeys to navigate the context menu (#83) (76b177f)
- maintain the enforceString status after replacing a value (4d1e9e3)
0.3.50 (2022-05-20)
- #79 browser scrolling the editor into view on load (42fe818)
- #81 clear navigation path when iterating through search results (434c66d)
- cannot start typing characters to insert a value from the welcome screen (2bc34e2)
- editor losing focus after selecting a color with the color picker (8cb912a)
- editor losing focus after toggling a boolean value (ea52484)
- give editor focus when the user starts dragging the selection (9bd28db)
- give navigation bar text a brighter color in dark theme (42be0e7)
- improve Transform Wizard to work better with numbers, booleans, and null (ebc076a)
- keep focus in editor when closing color picker via ESC (0b75001)
- paste as JSON helper message not working (0f803b2)
0.3.49 (2022-05-13)
- Support for custom styling using css variables
- #69 cannot build the library after a clean install (32a9b73)
- #70 implement quickkey Shift+Enter to go to the previous search result (8f1917f)
- #71 describe the differences with josdejong/jsoneditor in the README.md (b9a54e9)
- context menu button jumping around whilst selecting multiple expanded objects (d4a3cbf)
- exception thrown when clicking left from a selection (e7e8094)
- expandAll not working (37c6256)
- right click in welcome screen did not open the context menu (7934e9a)
- selection and expanded state not always stored correctly in history (#73) (702fba1)
0.3.48 (2022-04-26)
- quickkeys
[
and{
not working in welcome screen (regression since v0.3.47) (8a808a4)
0.3.47 (2022-04-26)
- allow defining multiple functions in the query of the Transform modal (31e9b8b)
- be able to right-click on top of a property/item tag to open the context menu (a033abf)
- context menu button of insert area sometimes flickering (282e31d)
- full document being selected when clicking scrollbar or main menu when there is no selection (5109de1)
- fully expand an inserted structure (a22f405)
- improve the Javascript and Lodash queries generated via the wizard (9666120)
- sort/transform the contents of the key instead of the parent when a key is selected (e761a79)
0.3.46 (2022-04-22)
- show tip in ContextMenu when it is opened via the ContextMenuButton or the main menu (b9c38d2)
- floating context menu button not rendered when a key is selected (1ec4ed9)
0.3.45 (2022-04-21)
- expose method
findElement(path)
(3930137)
0.3.44 (2022-04-21)
- expose method
findElement(path)
(655a790)
0.3.43 (2022-04-20)
- disable insert buttons in ContextMenu when root is selected (regression introduced in v0.3.41) (1fe6f48)
0.3.42 (2022-04-20)
- right-click right from a value did not select the insert area before opening the context menu (215eb04)
0.3.41 (2022-04-20)
- change insert buttons into convert buttons, converting between objects/arrays/text (see #61) (f413066)
- change button text to "Copy compacted" for consistency (396a274)
- change styling of the mode toggle button (code/tree) (28b9c6c)
- use flex-start and flex-end to fix warnings in environments like tailwindcss (#43) (e1e0ddd)
0.3.40 (2022-04-15)
- importing vanilla-picker wrongly (ddecbf1)
0.3.39 (2022-04-15)
0.3.38 (2022-04-13)
- show
prop
anditem
instead of plural when there is only one property or item (1f1725f)
0.3.37 (2022-04-12)
- clicking a button to switch mode did toggle instead of selecting the clicked mode (0451001)
0.3.36 (2022-04-12)
- change code mode toggle into group buttons [tree|code] (see #59) (ad33b26)
- expand all extracted contents (when not too large) (d4ae8f4)
- position search box in code mode on top (#62) (f0a1feb)
- update all devDependencies (13331c7)
0.3.35 (2022-04-11)
0.3.34 (2022-04-08)
- implement method
acceptAutoRepair
(d037a7e)
0.3.33 (2022-04-07)
- make sure JavaScript and Lodash queries return null and never undefined (73ae90c)
0.3.32 (2022-04-06)
0.3.31 (2022-04-06)
- styling tweaks in the vertical sizing of the TransformModal (3f87a8a)
0.3.30 (2022-04-06)
- be resilient against missing or disabled localStorage (52f76b7)
- disable Search menu item when there is no contents (e687229)
- do not show welcome options when editor is readOnly (eb92d75)
- method
editor.transform()
broken (regression since v0.3.29) (299dc78) - styling tweaks in the TransformModal (3983918)
0.3.29 (2022-04-06)
- cannot select a key or value when clicking inside the selection (331254a)
- disable Auto repair buttons when the editor is readOnly (0a5eca4)
- dragging selection not disabled in readOnly mode (eac069a)
- solve circular dependency to TreeMode in the Transform modal (71f3511)
- some styling fixes in the Sort modal (4366a0f)
- undo/redo buttons in code mode not updated when contents changed externally (5778540)
- use ajv-dist instead of ajv to solve rollup issues (a663a1b)
0.3.28 (2022-04-04)
- could not select items when starting to drag right from an item (c5de4d5)
- insert area visible whilst selecting or dragging (5d1e68f)
0.3.27 (2022-04-04)
- when pasting, expand all pasted contents by default when small (ec9703c)
0.3.26 (2022-04-04)
- fully expand small JSON documents by default (d94701b)
- pasted or replaced contents not being expanded (4e86440)
- update dependencies (d9eb233)
0.3.25 (2022-03-22)
- validate in code mode not always triggering (246cf67)
0.3.24 (2022-03-16)
- component EditableDiv did not close when losing focus to another element on the same page (a8abe71)
- define font for linting messages (8a5456f)
- editor layout does overflow when opening a large minified document in code mode (#48) (5574d38)
- implement quick keys Ctrl+F and Ctrl+H to open the find dialog whilst editing a key or value (e608486)
- minor styling fix (1399dd8)
- styling tweaks (1d15f2b)
- wrapping line in Copy dropdown menu (61b10ac)
0.3.23 (2022-03-08)
- do not use dynamic imports (b5ca813)
0.3.22 (2022-03-08)
- publish missing generated/* folder on npm too (ec391b2)
- publish missing generated/* folder on npm too (a0195cd)
0.3.21 (2022-03-08)
0.3.20 (2022-03-07)
- drop
viteOptimizeDeps
(insrc/config.js
) and remove it from the docs: not needed anymore (1c64009)
0.3.19 (2022-03-07)
- add
generated
folder to .prettierignore (e15ee93) - diff-sequences export not playing nice with Vite (f87a7b3)
0.3.18 (2022-02-09)
0.3.17 (2022-02-09)
- improve explanatory titles on color picker and boolean toggle when readOnly (aac632b)
- only show explanatory titles on color picker and boolean toggle when editable (4971138)
- rename schemaRefs to schemaDefinitions (not breaking, just a renamed function argument) (0e7d653)
- shortcut Shift+Enter to create a newline not working on Chrome (48a10a6)
- update dependencies (4bc6d53)
0.3.16 (2022-01-20)
- implement support for enforcing a value to stay a string when it contains a numeric value. This can be toggled via the button "Enforce string" in ContextMenu, under "Edit value".
0.3.15 (2022-01-12)
- regression in clicking the context menu button on an insert area (f5bcc71)
0.3.14 (2022-01-08)
- expand contents when pasting in an empty document (a3c8021)
- shift-click not working when selecting an area in between two nodes (c21f1f3)
- shift-click to select multiple items broken (a28bbdf)
0.3.13 (2022-01-05)
- clicking on another node whilst editing did not move the focus there (b2fe3d7)
- fix too large padding for expanded array bracket (0963960)
- issue in encode/decode datapath (a56cb1b)
- make the code robust against missing refContents (360de5e)
- scrollTo throwing exception when contents is empty (68fcb6a)
- styling tweak for the readonly item count tag (5bbb679)
- when opening edit mode, sometimes the first typed character was lost (22b5577)
0.3.12 (2022-01-05)
- revert "fix: upgrade to the latest version of sveltekit and vite, removing the need for viteOptimizeDeps"
0.3.11 (2022-01-05)
- property
normalization
missing the docs and in development application (002b7e9) - tweak font for ubuntu and mac (b05009c)
- upgrade to the latest version of sveltekit and vite, removing the need for viteOptimizeDeps (c7211a3)
0.3.10 (2021-12-22)
- implement options escapeControlCharacters and escapeUnicodeCharacters (#42) (cfdd8cc)
- show tag with array item count also when expanded (b427fe7)
- add property
type
to<button>
where missing (see #39) (880795f) - clicking outside the editor should stop editing a key/value (see #40) (b67de42)
- escape special characters in keys (10fdedd)
- make sure editor blur when clicking outside (aef0d57)
- partial fix for #40, clicking outside the editor should stop editing a key/value (70eab0c)
0.3.9 (2021-12-04)
- remember state of TransformModal and SortModal on every change instead of only after submit (caa4364)
0.3.8 (2021-12-04)
- add current value to the enum dropdown if needed (8f11bac)
0.3.7 (2021-12-04)
- custom rendering with onRenderValue, performance improvements, and fixes (635f542)
0.3.6 (2021-11-27)
- merge #32 adding rollup to the devDependencies (f292c2f)
- replace
debug
with a util debug function (#34) (ddf608a) - update dependencies (f87572e)
- use debug instead of console.log (b2478b8)
0.3.5 (2021-11-17)
- extend the
onChange
callback to pass previousJson and patchResult (8e5aecf) - implement
javascriptQueryLanguage
(6568afe) - implement a configuration dropdown to select a query language (871ac5c)
- support multiple query languages in the transform modal (WIP) (030d3ca)
- edge case in jmespath selecting whole item as projection (ef2a4cf)
- improve the performance of replacing returns with enclosing whitespaces (de05b10)
- robustness fix (54c6586)
- show arrow down icon on the right side of the select boxes (c0375b1)
- small styling fix (ec83c32)
- styling fix of the scrollbar in the TransformModal (5adc31d)
- write unit tests and fixes for all query languages (a6af472)
0.3.4 (2021-11-03)
0.3.3 (2021-10-13)
0.3.2 (2021-09-25)
0.3.1 (2021-09-22)
- clearing the complete document not working (regression since v0.3.0) (352b110)
- do not lose focus and fire a focus/blur event when opening a modal inside the editor (cbb0c79)
- fix formatting of the breaking changes list in CHANGELOG.md (05d5995)
- improve inefficient regex to replace return characters (f3ae485)
- scroll cursor into view when moving with arrows left/right (7ffd586)
- show selection with a lighter gray when the editor doesn't have focus (a57268b)
0.3.0 (2021-09-11)
- Properties
json
andtext
are replaced bycontent: { json, text }
- Methods
getText
,setText
, andupdateText
are removed, useget
,set
andupdate
instead. - Methods
get
set
, andupdate
now expect and return a content object{ json: JSON } | { text: string }
instead of the json data.
- change the API methods to consistently work with
content
instead ofjson
andtext
(6b810b7) - unify properties
json
andtext
insidecontent
(f93ce2d) - update all dependencies (2332413)
- validate content type (9885ff1)
- code mode throwing an exception when trying to validate an empty document (412172b)
- disable opening of color picker when editor is readOnly (236ec7a)
- tooltip font and size not defined (a9fa438)
0.2.8 (2021-08-20)
- create a Svelte examples section (908d0c4)
- implement color picker (652e3ac)
- implement method
editor.updateProps(props)
to change properties after creation (b596155) - show a time icon with human-readable time in case of unix timestamps (7d73846)
- update dependencies (
svelte-select
,sass
) and devDependencies (be32856)
0.2.7 (2021-08-06)
- sort the navigation bar dropdown items alphabetically (d85ecb2)
- insert before not working when the first item of the root array/object is selected (8e0043f)
- insert before/after not reckoning with multi selection (c66b2f7)
- navigation bar keys not being unique (b7bbc5b)
- position the search box below the navigation bar (86e50d5)
- redo of inserting an Array/Object does not correctly restore selection (148c8fd)
- validation error popup not visible when on the first line (3a6f0be)
0.2.6 (2021-08-06)
- navigation bar implemented in tree mode (ff93e7b)
- when json is changed, clear selection when it refers to a non-existing path (65c20f0)
0.2.5 (2021-08-04)
- minor styling tweak in the cut/copy dropdown buttons to visualize when dropdown is open (d2d9561)
0.2.4 (2021-08-04)
- auto scroll up/down when dragging to select multiple nodes (9e96957)
- implement menu options and quick keys to cut/copy without indentation (1dcbc41)
0.2.3 (2021-08-04)
- method
transform()
throwing an error (73e35c1)
0.2.2 (2021-08-04)
- extend the
transform
method with a callbackonTransform
(90e8427) - implement method
transform()
and callbackonTransform(operations)
(08c0f61)
- do not expand all contents after extracting some contents (bb98201)
- do wrap only values anywhere, do not wrap keys anywhere (5879826)
0.2.1 (2021-08-02)
- file
generated/worker-json-data-url.js
missing in npm package (861efd2)
0.2.0 (2021-08-02)
- Svelte setup is changed (see readme), ES bundle renamed, UMD bundle removed
- add search button to main menu of code mode (0df0f9a)
- implement a Cancel to cancel loading a large document in code mode (ab28a0c)
- migrate to SvelteKit (c11551d)
- update dependencies (
ajv
,svelte-select
,svelte-simple-modal
) (f9ca5cd) - use quick-key
Backspace
to delete selected contents too (alongsideDelete
) (f021959)
- extract not working when extracting an item from an Array (5251fb6)
- line height of a single line sometimes being larger than 18px due to icons and tooltip styling (1431160)
- vertical positioning of expand button when selected was a bit off (d93e4af)
- wrap long lines (1792525)
0.1.6 (2021-06-30)
- faster, more robust search (5e4c3ed)
- implement
readOnly
mode (31c438f) - limit the maximum number of search results (952adb6)
- upgrade dependencies (ajv, diff-sequences, svelte-awesome, svelte-select, svelte-simple-modal) (4469695)
- color styling issue with selected collapsed items (720946e)
- do not create selection area inside when in readOnly mode (03c5b6c)
- give the user a hint when pasted JSON contents as text (813a9ca)
- layout overflowing in case of long unbroken lines (4d4f15c)
- prevent submitting parent form when clicking a button in the editor, see #11 (64d873a)
- select area inside array/object after inserting a new array/object (0d9a1b7)
- select whole array/object after sorting or transforming it (0b20741)
- upgrade to [email protected], which has some nice improvements (a34a558)
0.1.5 (2021-06-02)
- refactor TreeMode such that it can hold an empty document, make undo/redo working (19f18ec)
- update dependencies (f4931c8)
- "Ok" message after auto repair not working anymore (e5b6e01)
- editor not getting focus when clicking inside the repair preview (913ef17)
- properly handle repaired/unrepaired text with undo/redo (1259e48)
- solve SCSS warnings (02854e6)
- solve some SCSS warnings (2832337)
- some fixes in ensuring a selection in case of an empty document (ed14a8c)
- transform and sort not triggering a change event (3b16a21)
0.1.4 (2021-05-26)
- clear old files from
dist
folder before bundling (59d1ec0)
0.1.3 (2021-05-26)
- generated files missing in published npm package (c63b1c1)
0.1.2 (2021-05-26)
- link to source code for Svelte component usage, describe how to setup required preprocessors (72f04b4)
- changing validator not triggering an update in CodeMode (5b4866e)
0.0.21 (2021-05-13)
- validation errors on an object/array not visible when expanded (d77ae5b)
0.0.20 (2021-05-12)
- alignment of context menu when clicking the context menu button of the main menu (f4c0c5e)
- let "Remove" remove the whole item/entry when a key or value is selected (ca1bcec)
0.0.19 (2021-04-28)
0.0.18 (2021-04-28)
- Setup tooling for releases (standard-version, commitlint, husky)
0.0.17 (2021-04-28)
- Setup tooling for releases (standard-version, commitlint, husky)
- Implemented context menu.
- Many small refinements.