React Components for Accord Project
We have refactored our three main user facing, front-end libraries to be four. This allows the structure to be more consistent.
The syntax structure of the packages has changed, and packages will now be available from npm as:
@accordproject/ui-markdown-editor
@accordproject/ui-contract-editor
@accordproject/ui-concerto
@accordproject/ui-components
Adjusted directory names:
@accordproject/markdown-editor => @accordproject/ui-markdown-editor
@accordproject/concerto-ui => @accordproject/ui-concerto
@accordproject/cicero-ui => @accordproject/ui-contract-editor
@accordproject/cicero-ui => @accordproject/ui-components
@accordproject/text-editor => @accordproject/ui-components
id
generation for headings (@irmerk)ui-components
(cicero-ui
) (@irmerk)
className
that started with cicero-ui__*
will now be ui-components__*
className
and package naming syntax (@irmerk)canAddClause()
which will return false if the user's selection is inside of a nested element such as a list or another clause (@DianaLease)prettier
and now extends Clause's eslint config. (@DianaLease)readOnly
prop to the Clause component so it can prevent rendering icons on hover when readOnly
is true (@DianaLease)@accordproject/concerto-ui-core
and @accordproject/concerto-ui-react
in favor of merging them into one @accordproject/concerto-ui
(@mttrbrts)We have consolidated our three main user facing, front-end libraries under one mono-repository. Please take the time to familiarize yourself with the new structure and documentation.
This process has brought a number of high level benefits:
The new Slate version (v0.58) brings us huge benefits in speed, please read more at the Slate documentation.
Switching to Rollup has changed the bundle sizes:
markdown-editor
: 90% Reductionconcerto-ui
: 15% Reductioncicero-ui
: 30% ReductionThis is a collection of React components that take advantage of Hooks and functional components, which means less overhead for extending functionality.
Image support in the editor and editor's toolbar. Copy and paste have been improved. We have scrapped the props approach for styling and in favor of class names css
.
There will now be a simplified, single version number for all components. Moreover, the structure has changed:
markdown-editor/RichTextEditor
-> markdown-editor/MarkdownEditor
markdown-editor/TextEditor
-> text-editor/TextEditor
cicero-ui/TemplateLibrary
-> cicero-ui/Library
Note: Packages will still be available from npm in the same way:
@accordproject/markdown-editor
@accordproject/concerto-ui
@accordproject/cicero-ui
Support for:
Some new highlights:
0.58
(@dselman, @dianalease, @irmerk)
augmentEditor
(optional)
editor
and pass it in as augmentEditor
customElements
(optional)
attributes
, children
, and element
isEditable
(optional)
canBeFormatted
(optional)
canCopy
(optional)
canKeyDown
(optional)
editorProps
, opting to leave it to the user of this library to override css if desirednodes
have become children
, and a complete overhaul of the structure
Mark
interface has been removed
immer
RichTextEditor
to MarkdownEditor
(@dselman)className
property to the id
property in the editor and toolbar (@irmerk)id
's (@dianalease)https://
if a hyperlink does not have it (@nik72619c)techdocs
repository (@irmerk)Support for:
Some new highlights:
0.58
(@dselman, @dianalease, @irmerk)
augmentEditor
(optional)
editor
and pass it in as augmentEditor
augmentEditor
passed into markdown-editor
onClauseUpdated
pasteToContract
loadTemplateObject
nodes
have become children
, and a complete overhaul of the structure
Mark
interface has been removed
immer
clauseProps
and editorProps
which pertained to styling, opting to leave it to the user of this library to override css if desiredCLAUSE_DELETE_FUNCTION
CLAUSE_EDIT_FUNCTION
CLAUSE_TEST_FUNCTION
TemplateLibrary
becomes Library
through full redesign and can handle more objects than templates (@petrgazarov)Library
(@nik72619c)Library
search has no results (@nik72619c)techdocs
repository (@irmerk)Some new highlights: