Releases: accordproject/web-components
Web Components v0.93.1
Markdown Editor
π New Feature
#119 - Enables drag and drop for images (@DianaLease)
Contract Editor
π New Feature
#115 - Enables drag and drop for clause blocks (@DianaLease)
Web Components v0.93.0
We have refactored our three main user facing, front-end libraries to be four. This allows the structure to be more consistent.
Organization
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
Markdown Editor
π₯ Breaking Change
- #109: Syncronized package naming syntax (@irmerk)
- #106: Improve
id
generation for headings (@irmerk)
Contract Editor (Formerly Cicero UI)
π₯ Breaking Change
- #109: Syncronized package naming syntax (@irmerk)
π Bug Fix
- #108: Correct issue with pasting a clause template (@irmerk)
UI Components (Formerly Cicero UI)
π₯ Breaking Change
- #70: Reduce prop reliance for
ui-components
(cicero-ui
) (@irmerk)className
that started withcicero-ui__*
will now beui-components__*
- #109: Syncronized
className
and package naming syntax (@irmerk)
UI Concerto
π₯ Breaking Change
- #109: Syncronized package naming syntax (@irmerk)
Web Components v0.92.2
Web Components
π Internal
- #100: Migrates from Github pages to Netlify (@jeromesimeon)
Cicero UI
π New Feature
- #93 : Adds class to Library component for styling (@petrgazarov)
- #104 : Updates clause component styling so less space at the top (@DianaLease)
π Internal
- #94 : Fixes linter errors (@petrgazarov)
Markdown Editor
π New Feature
- #99: Allows format button color change through prop (@irmerk)
π Bug Fix
- #105: Renders space for softbreak (@DianaLease)
Web Components v0.92.1
Cicero UI
π Bug Fix
- #89 : Fixes issue where clicking on the background of a clause caused an error from slate in the Javascript console (@DianaLease)
ποΈ Feature
- #90 : Adds a new query to the editor
canAddClause()
which will return false if the user's selection is inside of a nested element such as a list or another clause (@DianaLease)
Web Components v0.92.0
Web Components
π Internal
- #82: Updates have been made to the eslint config across all packages. This repo no longer uses
prettier
and now extends Clause's eslint config. (@DianaLease) - #84: Updates READMEs for each individual package as well as the root README to make developing instructions more clear (@irmerk)
Cicero UI
π Bug Fixes
- #83 : Removes semantic-ui stylesheet previously imported into the library to avoid overriding styles when imported into other apps (@DianaLease)
- #88 : Passes the
readOnly
prop to the Clause component so it can prevent rendering icons on hover whenreadOnly
is true (@DianaLease)
Concerto UI
π₯ Breaking Change
Web Components v0.91.0
This is a major initial release!
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:
Performance
The new Slate version (v0.58) brings us huge benefits in speed, please read more at the Slate documentation.
Size
Switching to Rollup has changed the bundle sizes:
markdown-editor
: 90% Reductionconcerto-ui
: 15% Reductioncicero-ui
: 30% Reduction
Functional
This is a collection of React components that take advantage of Hooks and functional components, which means less overhead for extending functionality.
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
.
Organization
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
Markdown Editor
Support for:
Some new highlights:
π₯ Breaking Change
- MDE #297: Migrate to Slate
0.58
(@dselman, @DianaLease, @irmerk)- This new version does away with the 'plugin' concept of applying plugins onto the editor
augmentEditor
(optional)- There is a new Higher Order Function (HOF) approach to adding or manipulating methods on the editor
- You can utilize this by creating a HOF which takes
editor
and pass it in asaugmentEditor
customElements
(optional)- You may define and use your own custom React components for extra Slate Node types
- These must be defined in a function which receives
attributes
,children
, andelement
- This function returns an object with Slate Node type names as keys, and functions which return the React components as values
isEditable
(optional)- A method that determines if current edit should be allowed
canBeFormatted
(optional)- A method that determines if current formatting change should be allowed
canCopy
(optional)- A method that determines if current selection copy should be allowed
canKeyDown
(optional)- A method that determines if current key press event should be allowed
- Styling
- We did away with
editorProps
, opting to leave it to the user of this library to override css if desired
- We did away with
- Slate's Document Object Model (DOM) has changed to be more JSON-esque
nodes
have becomechildren
, and a complete overhaul of the structureMark
interface has been removed- Schema changes as well as schema removal
- Be sure to review the official Slate changelog
- Note: The Slate DOM is made immutable with
immer
- #1: Renamed export from
RichTextEditor
toMarkdownEditor
(@dselman) - MDE #390: Changed the
className
property to theid
property in the editor and toolbar (@irmerk)
π New Feature
- MDE #244: Support keyboard shortcuts (@98lenvi)
- MDE #312: Support hyperlink creation shortcut (@algomaster99)
- MDE #333: Support image addition shortcut (@shrey-sachdeva2000)
- MDE #311: Hyperlink modal revamp (@DianaLease)
- MDE #346: Prevent insertion of link with empty URL (@algomaster99)
- MDE #351: Improved UI for hyperlink modal (@elit-altum)
- MDE #377: Support Heading
id
's (@DianaLease) - MDE #365: Insert
https://
if a hyperlink does not have it (@nik72619c)
π Polish
- MDE #382: Improved developer demo (@arteevraina)
- MDE #315: Sticky formatting toolbar (@shrey-sachdeva2000)
π Documentation
- #286: Consolidate contributing guides to the
techdocs
repository (@irmerk)
π Internal
- #81: Support an Accord Project badge (@jeromesimeon)
Cicero UI
Support for:
Some new highlights:
π₯ Breaking Change
- CUI #297: Migrate to Slate
0.58
(@dselman, @DianaLease, @irmerk)- This new version does away with the 'plugin' concept of applying plugins onto the Slate editor
augmentEditor
(optional)- There is a new Higher Order Function (HOF) approach to adding or manipulating methods on the Slate editor
- You can utilize this by creating a HOF which takes
editor
and pass it in asaugmentEditor
- This adds onto the already built in
augmentEditor
passed intomarkdown-editor
onClauseUpdated
pasteToContract
- Remains as is, but updated to handle the new Slate format
loadTemplateObject
- Deprecated, now it is up to the parent component which consumes this library to handle fetching the template objects
- Slate's Document Object Model (DOM) has changed to be more JSON-esque
nodes
have becomechildren
, and a complete overhaul of the structureMark
interface has been removed- Schema changes as well as schema removal
- Be sure to review the official Slate changelog
- Note: The Slate DOM is made immutable with
immer
- Styling
- We did away with
clauseProps
andeditorProps
which pertained to styling, opting to leave it to the user of this library to override css if desired - Note: Still existing:
CLAUSE_DELETE_FUNCTION
CLAUSE_EDIT_FUNCTION
CLAUSE_TEST_FUNCTION
- We did away with
- CUI #363:
TemplateLibrary
becomesLibrary
through full redesign and can handle more objects than templates (@petrgazarov)
π New Feature
- CUI #315: Storybook for developer focused demo (@sanyamdogra, @elit-altum, @98lenvi)
π Polish
- CUI #366: Correct clickable import area in
Library
(@nik72619c) - CUI #389: CSS Styling for Blockquotes (@arteevraina)
- CUI #359: Provide user feedback if
Library
search has no results (@nik72619c)
π Documentation
- #286: Consolidate contributing guides to the
techdocs
repository (@irmerk)
π Internal
- #81: Support an Accord Project badge (@jeromesimeon)
Concerto UI
Some new highlights:
π Spec Compliance
π New Feature
- CON #45: Support for read-only rendering (@kanav-raina)
π Bug Fix
- CON #23: MonetaryAmount currency dropdown width on Safari (@mttrbrts)
- CON #40: Resolve enum radio buttons not updating (@mttrbrts)
- CON #38: Resolve bug adding element to an array of numbers (@mttrbrts)
- CON #48: Resolve missing logo and invalid logo link (@kanav-raina)
- CON #57: Resolve bug when adding element to nested array (@mttrbrts)