All notable changes to form-js are documented here. We use semantic versioning for releases.
Note: Yet to be released changes appear here.
DEPS
: Add implicit keyboard binding / migrate to diagram-js@15 (#1269)DEPS
: bump bpmn.io deps (605a8fb)DEPS
: bump carbon deps (dff24f8)DEPS
: bump build deps (920e4a0)DEPS
: bump codemirror deps (27e0f40)DEPS
: bump dompurify (fd117ae)DEPS
: bump marked (8ef9453)
FIX
: prevent form editor from breaking on invalid expression on filepicker prop (#1311)
FIX
: makegetSchemaVariables
includefilepicker
property variables (739343c)
FIX
: fixfilepicker
component merge error (#1309)
FEAT
: implementfilepicker
component (#1264)FIX
: align drag preview/sticker properly (#1267)DEPS
: update preact to 10.15.1 in lockfile (#1283)FIX
: set radio name to properly imply tabindexes in firefox (#1288)FIX
: adjust the am/pm time placeholder tohh:mm --
(#1289)FIX
: do not create a simple label in datetime components (#1292)FEAT
: parameterized the properties panel subheading getter logic (#1303)
FIX
: serialize object table cells using the JSON serializer (#1139)CHORE
: dep updates (#1258)FIX
: fix carbonization (#1253)FIX
: don't clip radio buttons (#1261)
FEAT
: support form level version tag (#4463)
FIX
: disallow drop when no formfield is found (#1219)FIX
: ensure dynamic lists submit collapsed values (#1230)FIX
: cleaned up sass violations (93eabd82)DEPS
: bump feelin@3.1.2, resolving a some feel evaluation problems (e0aaef9a)
FIX
: ensure dates are parsed timezone agnostically (#1234)
FEAT
: enable passing of documentation link to form properties panel (#1201)
FIX
: expressions are properly included ingetSchemaVariables
(#1186)FIX
: button labels properly evaluate expressions (#1181)FIX
: ensure group paths are properly registered on add (#1173)FIX
: properly build out FEEL parent context chain (#1191)FIX
: removed deprecateduseSort
properties panel attributes (#1200)CHORE
: bump @bpmn-io/properties-panel@3.20.1, adding visual improvements to the feel (and feelers) popout editor (43c5615e)
FIX
: revert to min-dom@4.1.0 (#1178)
FIX
: ignore instance validation when field definition isnt registered (9e189cf0)FIX
: ensure output data is in sync with instance registration (5b006200)
FIX
: validation feel expressions now use the proper local feel context (#1147)FIX
: do not return field instance if field definition isn't available (5bef6df4)
FEAT
: implement formFieldInstanceRegistry (#1142)FIX
: prevent expression loops by only allowing them to recompute once (#1151)FIX
: use lodash equality when calculating whether to recompute expression fields (#1150)FIX
: made properties panel feel expressions A11y friendly (348afb85)CHORE
: addedprettier
(9c3af55b)CHORE
: updated group and iframe icons (622d80b6)CHORE
: moved options source group higher up (e7970972)CHORE
: re-ordered formfields by importance (1aa84550)CHORE
: update html documentation link (#1040)
FIX
: prevent checklist and taglist from triggering field validation early (#1123)FIX
: prevent datetime from triggering field validation early (#1099)FIX
: improved expression field result consistency in the editor (#1114)FIX
: properly export type definitions (#1105)CHORE
: renamed HTML component to HTML View for clarity (4d0a6f52)CHORE
: change the editor expression description to include the key for identification (#1116)
FIX
: prevent prototype polution through keys and paths (#1111)FIX
: make the JSON editor readonly truly readonly (#1107)
CHORE
: monkey patchformPlayground.init
event back into the release for compatibility reasons (#1076)
FEAT
: implemented newexpression
field, allowing precomputation of data at runtime using FEEL (#1073)FEAT
: overhaul the json editor components (#1101)FIX
: improved the editor selection autoscroll (#1106)FIX
: form playground no longer loads forms twice under some circumstances (8aad0b6f)FIX
: ensure palette renderer is immediately initialised (988fbc7b)FIX
: display groups with no outline with a dashed outline in the editor (#1084)FIX
: variables with keyword names likeduration
can now be used in feel expression (#975)FIX
: ensure dynamic list and tables interact safely (#1064)CHORE
: replaced our markdown renderer fromshowdown
tomarked
(#1091)CHORE
: reduced text sizing in json editor components (#1078)
FIX
: properly passthis
variable context to dynamic list elems (#1086)
FIX
: non-submit buttons in the library now havetype="button"
(#1077)FIX
: field readonly property now hidden when disabled property is set (#1063)FIX
: expression-driven options fields now properly initialize with input values (#1067)CHORE
: temporarily restrict preact dependency version to<= 10.15.1
due to conflict with dragula (#1057)
FEAT
: fields announce their descriptions and labels properly (#1043)FIX
: ensure searchable select filter is cleared with options (#1056)FIX
: ensure repeatRenderManager passes down props correctly (#1033)FIX
: prevent blur event from having value of out sync (#1052)FIX
: ensure simpleSelect mouseDown event deactivates normally (#1046)FIX
: ensure html content variables are included in getSchemaVariables (#1048)FIX
: validate instead of automatically resetting height entries (#1034)FIX
: fix HTML component link (#1039)
FIX
: resize textarea on input changes (#1011)FIX
: synchronize field validation properly (#1009)DEPS
: @bpmn-io/properties-panel@3.18.1 (a4e9b6d)
FEAT
: implement HTML component and cleanup Text component (#999)FIX
: repeatable entry parameters now validate with errors (#1000)FIX
: show iframe title in editor (#991)FIX
: prevent demo data from being created on edited tables (#1005)DEPS
: update to diagram-js@13.4.0, min-dash@4.2.1, min-dom@4.1.0, @bpmn-io/properties-panel@3.18.0 (#1008) (#1016)
FIX
: explicitly depend on lodash (#971)
FIX
: revert broken debouncing on number field (#958)
FIX
: improved performance through viewer debounce (#958)FIX
: properly handle all formats of options sources (#960)
FIX
: allow scripts in iframes by default (#954)
FEAT
: add dynamic list component (#796)FEAT
: add table component (#888)DEPS
: update to feelin@3 (0fdf5e19)
FEAT
: added a newform-json-schema
package (6690d2e2)FEAT
: introduced new SASS stylesheets to move away from styled-components (633)FEAT
: support iFrame component (#887)DEPS
: update to feelin@2.3 & feelers@1.2, bringing in new FEEL functionality (4765bb24)
FIX
: properly close dropdowns when opening other dropdowns (#878)FIX
: improved input data sanitation (#894)FIX
: ensure values not in options clear (#817)
FIX
: fixed an issue dragging rows into groups (#861)FIX
: adjusted palette size (#846)FIX
: renamed checklist and radio (#846)
FIX
: add tabIndex to json editors (ad6c00fb)
The @bpmn-io/form-js-carbon-styles
deprecates the carbon-styles.js
styled component export. The type
definitions got removed from the package. Please use the src/carbon-styles.scss
stylesheet instead.
FIX
: clean up default value on options source change (#859)FIX
: improve color contrast in input data placeholder (#876)FIX
: add title to remove action (#877)DEPS
: update to@bpmn-io/properties-panel@3.13.0
FEAT
: support custom form fields (#123)FEAT
: implement separator form field (#480)FEAT
: implement <formField.search> events (#785)CHORE
: update schemaVersion to 12
FEAT
: provide more customization options, as of (#776)- extending form field config via
icon
,iconUrl
,propertiesPanelEntries
- re-export core components as
Label
,Description
,Errors
- extending form field config via
FEAT
: make it easier to navigate over tags intaglist
component(#435)FEAT
: add focus and blur events (#841)
FEAT
: add properties panel providers mechanism (#776)FEAT
: collect palette entries and properties panel header information via form field configs (#776)FEAT
: addisDefaultVisible
control to all properties panel entries (#776)FEAT
: re-export hooksFEAT
: better keyboard support for pallette entries (#536)DEPS
: update to@bpmn-io/properties-panel@3.11.0
FIX
: improve pallette visuals (#539) (#848)
FEAT
: provideadditionalModules
to both viewer and editor (#776)
FIX
: getSchemaVariables filters all non-string variables (#860)FIX
: properly handle getSchemaVariables when combining contexts with paths (#860)
FIX
: resize datetime properly (#781)FIX
: remove dateime unnecessary event context (cc598798)DEPS
: bumped feelin@1.2.0 && feelers@1.0.0
FIX
: cleanup FEEL popup editor lifecycle eventsDEPS
: updatedproperties-panel
to v3.8.0
FEAT
: localized date picker based on browser language (#733)FEAT
: implemented Group component with multiple updates (#768)- dynamic input/output data access
- proper group component implementation
- new
pathRegistry
module for conflict-free path and key management - added validation for drag-and-drop and properties panel in nested scenarios
- introduced
EmptyRoot
render context for root of empty forms - enhanced
getSchemaVariables
for nested components - additional changes detailed in epic and pr
FEAT
: Added support for nested component keys (#464)FIX
: Dropdown options no longer reset when form reopens (#764)FIX
: Removed keying from buttons (#778)FIX
: Update options when expression evaluation changed (#809)CHORE
: Update schemaVersion to 11DEPS
: Updatedproperties-panel
to v3.7.0
CHORE
: exportFormField
component (#797)
FEAT
: allow definingpropertiesPanel.feelPopupContainer
(#795)FEAT
: incorporateFeelPopup
module to interact via API (#814)FEAT
: add phone validation tooltip (#815)
FEAT
: added placeholder to playground input panel (0f696119)
FEAT
: implement first set of tooltips (e36de9a78)FIX
: dynamically set drag and drop axis (34767366)FIX
: serialize empty labels as empty string (3a700de5)DEPS
: replaceddragula
with our own@bpmn-io/draggle@4.0.0
fork (34767366)
FEAT
: addspacer
component (#731)FIX
: properly parse variables in FEEL filter expressions (#711)FIX
: break overflowing words in text views (#651)CHORE
: update schemaVersion to 10DEPS
: update to@bpmn-io/properties-panel@3
DEPS
: update tofeelin@1
DEPS
: update tofeelers@0.1
FEAT
: eagerly validate on blur and input (#610)FEAT
: support defining input/output ingetSchemaVariables
(#555)FIX
: hide empty rows in DOM tree (#684)FIX
: improve auto resize behavior in text views (#546)
FEAT
: update empty state for form editor (#336)FIX
: serialize empty text as empty string (cbcfdb5e
)FIX
: render placeholder for whitespace empty text views (#721)
The call signature of getSchemaVariables
changed, favouring an options object over multiple params. This is very unlikely to have caused any issues as the old parameters were there only for very exceptional language override cases.
FEAT
: re-export external library styles separately (#677)FEAT
: support FEEL and templates forprefixAdorner
andsuffixAdorner
(#663)FEAT
: support templates foralt
andsource
properties (#663)FEAT
: support FEEL to populate multiselect values viavaluesExpression
(#673)FEAT
: support FEEL formin
,max
,minLength
andmaxLength
(#668)FEAT
: support FEEL forlabel
anddescription
(#658)FEAT
: supportreadonly
property (#636)FEAT
: support globalproperties.disabled
(#636)FEAT
: allow uneven columns (#605)FEAT
: make styles themable (#557)FEAT
: addfjs-no-theme
selector to disable themable styles (#680)FIX
: don't render empty strings as adorners (d7e55851)FIX
: safely consume time interval (4ccc3d85)FIX
: support markdown tables intext
(#205)CHORE
: introduce visual regression tests (#632)DEPS
: update todiagram-js@12
(798ac2a2
)DEPS
: update to@bpmn-io/properties-panel@2
CHORE
: updateschemaVersion
to 9
FEAT
: providetextLinkTarget
property (#613)FEAT
: correlate error messages to form fields (#626)FIX
: makeselect
component accessible (#617)FIX
: sanitizetextfield
new lines (#380)CHORE
: rework component definitions (#612)
FEAT
: support UI modules (#649)FEAT
: make elements keyboard accessible (#173)FEAT
: use toggle switch fordisabled
property (#639)FEAT
: update delete icon (#572)FEAT
: resize form fields (#566)FIX
: set proper width to drop containers (#623)FIX
: improve search in palette (#532)
FEAT
: set aria label to each component (#619)
FEAT
: introduce@bpmn-io/form-js-carbon-styles
package (#557)FIX
: correct margins for lower screens (#640)
We changed the behavior when providing the readOnly
property to a Form. From this version, the form fields will be rendered as readOnly
if the property is set. Previously, the form fields were rendered as disabled
. To restore the same behavior, please use the disabled
property instead.
const form = new Form({
container: document.querySelector('#form'),
properties: {
disabled: true,
},
});
We changed the structure of the static component configuration properties. These are now located on a static config
object, and may now be accessed as follows:
import { Button } from '@bpmn-io/form-js-viewer';
console.log('Button default label is ' + Button.config.label);
We changed the internal behavior of rendering palette
in the editor. Following that, the .fjs-editor-palette-container
selector was removed as it was optional. Please use the more generic .fjs-palette-container
selector instead.
FIX
: properly align rows (7fb5c1de
)FIX
: prevent submit on enter intaglist
andselect
options (#608)FIX
:getSchemaVariables
accounts fortext
templates (#603)FIX
: give adorners enough space (#598)
FEAT
: feat: implemented required parameter for checkboxes, checklists and taglists (#594)FIX
: prevented buttons from intercepting drag&drop action in editor (#585)FIX
: recentered form view (#582)
FEAT
: allow primitives for multi select values (#542)FEAT
: bundle style exports (#561)FEAT
: support more flexible rows layout with columns (#560)FEAT
: support FEEL templating intext
components (#567)CHORE
: update toschemaVersion@8
(0779d6
)
FIX
: correct background for disabledselect
andtaglist
inputs (#568)CHORE
: replacesnarkdown
markdown parser withshowdown
(#567)
FEAT
: improve input values key description (#303)FEAT
: allow editingcolumns
(#560)FEAT
: toggle between FEEL template and expression intext
component (#567)CHORE
: rework dragging and selection visuals (#560)
@bpmn-io/form-js/dist/assets/dragula.css
got removed@bpmn-io/form-js/dist/assets/flatpickr/light.css
got removed@bpmn-io/form-js/dist/assets/properties-panel.css
got removed
The missing styles are included in the general style exports (form-js.css
, form-js-editor.css
, form-js-playground.css
). If you need the base styles on their own, please find them in the additional *-base.css
exports in the dist/assets
directory.
FIX
: use correct height fordatetime
inputs (#548)
FIX
: use correct articles in palette titles (#545)FIX
: use correct empty default value forselect
(#562)
FIX
: correct type generation (#529)
FIX
: use ellipsis for text adorners (#538)
FIX
: use definedvalidationType
for customvalidate
(#537)
FEAT
: normalized font and form field styling (#506)FEAT
: support searchable selects (#381)FIX
: only exportschemaVersion
once (a93b664d
)FIX
: preventdate
values prior to 1900 (#534)CHORE
: change labels ofserializeToString
,pattern
andvalidationType
properties (#454)CHORE
: update toschemaVersion@7
(293f918d
)
FEAT
: emitdrag.*
events (#462)FEAT
: disable text links (#439)FEAT
: provide editor specifictext
component (#521)FEAT
: implement scalable palette component (#503)FEAT
: validate decimal properties (#531)
FIX
: properly clean up custom validate (#485)
FEAT
: simplifychecklist
icon (45c9b9ee
)FEAT
: makedatetime
icon color customizable (1aa334bb
)FIX
: truncate adorner texts (136a3234
)FIX
allowmin
andmax
validation for all numbers (#486)
FIX
: do not serialize standalone minus (#492)FIX
: properly useincrement
in validation (9b339dc2
)FIX
: displaydatetime
value when disabled (d775dc26
)FIX
: trim incrementnumber
value (b78667e2
)FIX
: do not collapse dropdown list on click scroll (#367)
FIX
: clear custom validation when using presets (13712915
)FIX
: properly handle decimal values inmin
andmax
validation (#497)
FEAT
: add auto complete for variable names (#295)FIX
: do not force palette scrolling (1c81d837
)FIX
: render properties panel to the right (8289216f
)FIX
: handle tabbing in JSON editor (7bb44611
)FIX
: properly layout properties panel (#487)FIX
: restrict editor width to viewport (f345d111
)
FIX
: aligned viewer, editor and control margins (#424)FIX
: set number field increment buttons to type 'button' (#467)
FEAT
: support prefix and suffix fortextfield
andnumber
(#420)FEAT
: supportdatetime
component, include/dist/assets/flatpickr/light.css
to display it (#340)FEAT
: support expressions fortext
content (#436)
FIX
: remove ES2020 syntax (#448)
FEAT
: support decimal numbers (#285)FEAT
: add conditional rendering (#374)FEAT
: supportimage
fields (#383)FEAT
: retrieve variables mentioned in conditions (#401)FEAT
: retrieve variables mentioned in expressions (32532aa7
)DEPS
: update todiagram-js@11
(6e2d5a1d
)DEPS
: update to@bpmn-io/properties-panel@1
(fdda226f
)
FEAT
: validatevaluesKey
in properties panel (#428)
DEPS
: add@bpmn-io/properties-panel
dependency (#429)
FIX
: maketaglist
component accessible (#413)
CHORE
: add additional.fjs-disabled
and.fjs-checked
selectors (#419)
FEAT
: improve properties panel header fortext
fields (#388)FEAT
: addemail
validation type fortextfield
(#414)FEAT
: addphone
validation type fortextfield
(#414)
DEPS
: update todiagram-js@9.0.0
DEPS
: update toeslint-plugin-bpmn-io@0.16.0
DEPS
: update tomin-dom@4.0.0
FIX
: align default static values (#355)
FIX
: do not order values alphanumerical (#350)
FIX
: inherit font family for inputs (#330)
FIX
: fix overflowing palette container (#348)
DEPS
: update todidi@9
CHORE
: updatepackage-lock.json
to v2
Re-release of 0.9.2.
CHORE
: upgrade toproperties-panel@0.21.0
(b914b2f3)
FIX
: increase description color contrast (#334)
CHORE
: show palette action names in compact mode (fc41baf9
)
FEAT
: mirror editor API (30d4363b
)FEAT
: emitformPlayground.init
after full initialization (dbb174c6
)FEAT
: allow to configureexporter
(#331)FEAT
: make initial schema optional (e041c24a
)
FEAT
: support components to be rendered flexible (#292)FEAT
: emitformPlayground.rendered
event (#292)FEAT
: make it possible to render own properties panel (#286)CHORE
: clean up package definition (#318)CHORE
: use editor and viewer packages directly (#318)
FEAT
: providegetSchemaVariables
utility (#103)
FEAT
: provide palette as feature module (#280)FIX
: remove term "process variable" fromkey
property (#241)CHORE
: change labelsValues
toOptions
(#304)
FEAT
: sanitize form field values on import (#266)FIX
: use outline for field focus state (#267)FIX
: filter invalid taglist options (#303)
FEAT
: load dynamic input data (#197)
FIX
: serialize regex pattern as 'pattern' (#245)CHORE
: added build:watch script (#248)CHORE
: general local HTML coverage report (#250)CHORE
: format files to end with LF instead of CRLF (#259)DEPS
: cleaned up some audit errors (#261)
FEAT
: allow to set custom properties for form fields (#226)FIX
: validate TextInput when validate function changes (#225)FIX
: don't allow duplicate values for select and radio fields (#229)
FIX
: overrideexporter
property on save (#221)
CHORE
: update color scheme (#193)
FEAT
: be able to set default value of a field (#213)FIX
: submit data for every field that is not disabled (#210)FIX
: do not submit data without corresponding field (#210)
FIX
: prevent properties panel from losing focus (#211)CHORE
: properties panel inputs inherit font family (#189)
- Data will now be submitted for every form field that is not disabled.
- Imported data without form field will not be submitted anymore.
FIX
: assign unique DOM IDsFIX
: correctly handling of undo/redo shortcuts in form
FIX
: assign unique DOM IDs
FEAT
: allow disabling of form fields (#182, #181)FIX
: correct border radius on context pad (#185)FIX
: ensure form fields react to click events (#186)
Initial public release of the @bpmn-io/form-js-playground
🎉.
FIX
: properly reset UI state ofselect
andnumber
fields (#155)FIX
: prevent un-checking ofradio
fields (#176)FIX
: correct display ofcheckbox
fields without label (#168)
FIX
: correct form icon (#170)
FIX
: prevent generation of duplicate keys when creating form fields (#161)FIX
: make field hover and select state better distinguishable (#163)
FIX
: update fields in registry on ID change (#152)
FEAT
: refactor selection (#140)FEAT
: add selection behavior (#140)FEAT
add editor action to select form field (#149)FIX
: add missing select label to properties panel (#148)FIX
: fix palette overflow (#147)FIX
: fix type definitions forcontainer
option when creating form or form editor (#145)
Modeling#addFormField
,Modeling#moveFormField
andModeling#remove
parameters have changed- selection in
Selection
is now form field, not its ID
FIX
: use external type declarations (#143)
FEAT
: addid
to form fields (#80, #137)DOCS
: publish typings with documentation tags (#138)DOCS
: mark private and internal APIsCHORE
: bump toschemaVersion=2
FEAT
: allow fields to be disabled via schema (bf185225
)FIX
: assign unique keys for child components (cb86f75e
,fd036484
)FIX
: santitize external links (9c53aa05
)FIX
: turn number field into a controlled component (874545e3
)FIX
: correctly label selects (8eade6ca
)
FEAT
: add compact mode (#130)FEAT
: validatekey
property (#58)FEAT
: debounce input per default (#132)FEAT
: allow editing multiple properties at once (e68526c1
)FEAT
: allow editing of form root (9193bb22
)FEAT
: improve form field selection and hover styles (71061807
)FIX
: make form element drag sticky (e2c2bdd0
)FIX
: clear before re-import (#135)FIX
: event listeners not de-registered (#133)FIX
: assign unique keys to rendered components (#139)CHORE
: rework import and field creation
FIX
: make options optional when creatingForm
andFormEditor
instances (8d9e09ae
)FIX
: importschemaVersion
(05622a95
)FIX
: ensurerequired
works with empty string (0279c4c4
)DOCS
: document new usage patterns (#106)DOCS
: document editor API (#24)
FIX
: do not paragraph wrapblockquote
andol
elements when rendering Markdown to HTML (a33d34ad
)FIX
: make HTML sanitizer more strict (122467df
)FIX
: gracefully handle unparseableText
input (a1121c0e
)
FIX
: removeasync
from public API (polyfillingPromise
is all that is needed)CHORE
: exposeFormEditor
andForm
in public API
FIX
: prevent embedded images from breaking the form layout (#92)FIX
: generate proper paragraphs from markdown text (#93)CHORE
: refactor for extensibility and testabilityCHORE
: separate component instantation and import
FEAT
: improve robustness of form import (#79)FEAT
: allow programmatic form validation (#30)FEAT
: prevent submission of readonly formFIX
: correct submission of empty fields (#54)FIX
: correct submission of disabled fields (#6)
- Form viewer and editor import are now asynchronous. Creating either via
#createForm
and#createFormEditor
must be awaited.
This release adds new form fields that are not supported by older versions of form-js.
FEAT
: addcheckbox
fieldFEAT
: addradio
fieldFEAT
: addselect
fieldFEAT
: add read-onlytext
fieldFEAT
: addnumber
fieldCHORE
: addUMD
distributions foreditor
andviewer
FEAT
: make editor field preview match renderered formFEAT
: addschemaVersion
to exported form filesFEAT
: add ability to specifyexporter
FEAT
: decrease visual presence of descriptions
- fix
required
checkbox in properties panel by passing correct props (#53)
- fix drag and drop by adding/removing event listeners on mount/unmount and attach/detach (#51)
FIX
: fix empty textfield and number input behavior in properties panel (#42)
FEAT
: improve positioning of powered by logoFEAT
: simplify initial form element labelsFIX
: restorefor
andname
properties on inputs and labels (#32)FIX
: correct commonjs bundle issue (#29)
FEAT
: improve property labelsFEAT
: emit blur and focus events
Re-publish of v0.0.7
.
FEAT
: fail on unknown form schema elements (#27)FEAT
: addmaxLength
validation
Initial editor release.
- Form viewer instantiation now fails hard when supplied with an unsupported form schema.
FEAT
: emitchanged
eventCHORE
: remove debug logging
Initial release.