grapesjs

Free and Open source Web Builder Framework. Next generation tool for building templates without coding

BSD-3-CLAUSE License

Downloads
163.7K
Stars
22.2K
Committers
205

Bot releases are visible (Hide)

grapesjs - v0.21.13

Published by artf about 2 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/GrapesJS/grapesjs/compare/v0.21.12...v0.21.13

grapesjs - v0.21.12

Published by artf 4 months ago

What's Changed

  • Added the possibility to add blocks via Components.addType
editor.Components.addType('hero-section', {
  model: { ... },
  block: { label: 'Hero section' },
});

New Contributors

Full Changelog: https://github.com/GrapesJS/grapesjs/compare/0.21.11...v0.21.12

grapesjs - v0.21.11

Published by artf 4 months ago

Added

  • Symbols API (beta) #5958
    Documentation here
  • Introduce HTML string document import (beta) #5895
  • Show style applied on tag (p, span, div) and private selectors as parent rules instead of hiding them by @Dobby85 in https://github.com/GrapesJS/grapesjs/pull/5890
  • Added an option to return inline style even if we want to avoid it at the beginning by @Dobby85 in https://github.com/GrapesJS/grapesjs/pull/5933
  • Added block:category:update event for listening block category updates.
  • Added trait:category:update event for listening trait category updates.

Fixed

Docs

New Contributors

Full Changelog: https://github.com/GrapesJS/grapesjs/compare/v0.21.10...0.21.11

grapesjs - v0.21.10 Latest Release

Published by artf 7 months ago

Added

  • Added the ability to preselect page on project load via new config.pageManager.selected option #5463
  • Added new command events. Added these events mainly for consistency with other module events. Previous are still there and working but should be considered from now as deprecated.

Fixed

  • Fix ColorPickerOptions TS #5739
  • Remove by default unsafe attribute values from HTML #5743
  • Skip component resizer if already enabled #5753
  • Always place the tools above the highlighter by @bernesto in https://github.com/GrapesJS/grapesjs/pull/5736

Full Changelog: https://github.com/GrapesJS/grapesjs/compare/v0.21.9...v0.21.10

grapesjs - v0.21.9

Published by artf 7 months ago

Docs

Added

Changed

Fixed

  • Fix Layers view not changing on page switch #5593
  • Fix update of layers #5607
  • Fix TS in StyleManagerConfig.sectors.properties #5613
  • Fix SelectComponent resizer with custom options #5630
  • Fix ComponentDelete command #5633
  • Allow comment Components in Text #5657
  • Prevent errors with layerable textnodes #5720
  • Fix boolean values when getting HTML with withProp

New Contributors

Full Changelog: https://github.com/GrapesJS/grapesjs/compare/v0.21.8...v0.21.9

grapesjs - v0.21.8

Published by artf 10 months ago

Added

Changed

Fixed

  • Fixed resizing when zoomed by @UnderKoen https://github.com/GrapesJS/grapesjs/pull/5436
  • Trigger component:styleUpdate on component.addStyle/setStyle #5424
  • Update rules id with remapped duplicate components in Pages #5425
  • Ensure components with script return id in HTML export #5441
  • Preserve custom styles on text component change #5442
  • Prevent crash if block category id is an object builtin method name #5478
  • Fix style bg image property with URLs containing parentheses #5497
  • Fix default Resizer on style update #5501
  • Fix TS type for replaceWith method by @MaxwellTheSecond #5504
  • Allow paste when nothing is selected by @lexoyo #5524
  • Fix UndoManager start/stop #5530
  • Fix built-in RTE with custom rendered components #5536
  • Fix autoplay for Youtube videos #5542
  • Fix Portuguese translations by @brenoassp #5546
  • Avoid triggering rte:disable on component move #5545
  • Fix performance issues with components having a lot of classes #5525
  • Allow ComponentScriptView with custom type attribute #5563
  • Spelling fix in docs - Components.md by @bryanjamesmiller https://github.com/GrapesJS/grapesjs/pull/5488

New Contributors

Full Changelog: https://github.com/GrapesJS/grapesjs/compare/v0.21.7...v0.21.8

grapesjs - v0.21.7

Published by artf about 1 year ago

Added

Full Changelog: https://github.com/GrapesJS/grapesjs/compare/v0.21.6...v0.21.7

grapesjs - v0.21.6

Published by artf about 1 year ago

Added

  • Added unminified module file to the package (dist/grapes.mjs)
  • Support for @container CSS at-rule #5372

Fixed

Full Changelog: https://github.com/GrapesJS/grapesjs/compare/v0.21.5...v0.21.6

grapesjs - v0.21.5

Published by artf about 1 year ago

Added

Fixed

  • Fixed undo/redo when using component.setClass #5319
  • Prevent default event with undo/redo shortcuts #5325
  • Hide badge if component.badgable is false #5340
  • Fixed canvas scroll on component select from layers #5342

Full Changelog: https://github.com/GrapesJS/grapesjs/compare/v0.21.4...v0.21.5

grapesjs - v0.21.4

Published by artf about 1 year ago

Added

  • Added config.canvas.allowExternalDrop option #5242
  • Support multiple style values for the same property #4434

Fixed

  • Prevent exporting textnodes with null #5229
  • Ignore current state and device for component related styles #5213
  • Fix video component import #2357
  • Up panels config TS #5269
  • Clean inline styles from comments #1577
  • Fixes bug with broken autoplay from video component (issue #5268); by @SLain123 in https://github.com/GrapesJS/grapesjs/pull/5270

Full Changelog: https://github.com/GrapesJS/grapesjs/compare/v0.21.3...v0.21.4

grapesjs - v0.21.3

Published by artf over 1 year ago

Docs

Added

  • Added addStyles option to editor.Css.setRule #5173

Changed

Fixed

  • Fixed usePlugin is not a function #5167
  • Fixed PropertyStack in bundled dts file #5154
  • Handle properly Component model defaults as functions #5199
  • Fixed broken link in README.md by @pfaffmann in https://github.com/GrapesJS/grapesjs/pull/5188

Full Changelog: https://github.com/GrapesJS/grapesjs/compare/v0.21.2...v0.21.3

grapesjs - v0.21.2

Published by artf over 1 year ago

Docs

Added

Changed

Fixed

  • Fixed addStyle(string, string) #5105
  • Take into account scroll data on drop in absolute mode
  • Fixed element jumping when resizing on zoomed frame https://github.com/GrapesJS/grapesjs/pull/5103
  • Fixed TS autocomplete for editor events
  • Fix StyleManager.addProperty TS #5135

Removed

  • Removed unused fonts folder

New Contributors

Full Changelog: https://github.com/GrapesJS/grapesjs/compare/v0.21.1...v0.21.2

grapesjs - v0.21.1

Published by artf over 1 year ago

⚠️ POSSIBLY BREAKING CHANGE

What's Changed

The biggest change we introduce with this release is the complete rewrite of modules to Typescript. This deprecates the old ./index.d.ts (manually updated) in favor of ./dist/index.d.ts (generated from the source).
So there are no real changes to the core API itself if not the new TS declaration file which includes type/interfaces changes in order to bring more naming consistency with the code.
This is how you might have used the import of types in the previous version:

import type grapesjs from 'grapesjs';

// plugin
const plugin: grapesjs.Plugin = function (editor: grapesjs.Editor, opt: ...) {...};

Now you can get types directly without specifying the grapesjs namespace (which is the most common way to import types):

import type { Editor, Plugin } from 'grapesjs';

// plugin
const plugin: Plugin = function (editor: Editor, opt: ...) {...};

Added

  • Added new noCustom option to Component.getName() in order to skip custom name assigned to the component.
  • Added rename method to SelectorManager
  • Added fetchOptions to AssetManager configs
  • Added options to ExportTemplate command

Fixed

Other

New Contributors

Full Changelog: https://github.com/GrapesJS/grapesjs/compare/v0.20.4...v0.21.1

grapesjs - v0.20.4

Published by artf over 1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/GrapesJS/grapesjs/compare/v0.20.3...v0.20.4

grapesjs - v0.20.3

Published by artf almost 2 years ago

Fixed

  • Fix D&D in Dragger class #4792
  • Fix block events inconsistency #4791
  • Fix trait init value #4803

Full Changelog: https://github.com/artf/grapesjs/compare/v0.20.2...v0.20.3

grapesjs - v0.20.2

Published by artf almost 2 years ago

Changed

Fixed

Full Changelog: https://github.com/artf/grapesjs/compare/v0.20.1...v0.20.2

grapesjs - v0.20.1

Published by artf about 2 years ago

⚠️ POSSIBLY BREAKING CHANGE

If for any reason you're still using the legacy API for registering your custom components you have to switch to the documented one.
Legacy API (which uses extended components via typeModelOrView.extend):

Components.addType('component-id', {
 model: defaultModel.extend({
   defaults: {
        ...defaultModel.prototype.defaults,
       someProp: '...',
       // ...
   }
 }),
// same for the view
});

Current API:

Components.addType('component-id', {
 model: {
   defaults: {
       someProp: '...',
       // ...
   }
 },
// same for the view
});

Added

Changed

  • Update iframe size on device update
  • Use mousePosFetcher also on start in Resizer #4580

Fixed

Full Changelog: https://github.com/artf/grapesjs/compare/v0.19.5...v0.20.1

grapesjs - v0.19.5

Published by artf over 2 years ago

Docs

  • Added Layers API documentation.
  • Added Layers module documentation.

Added

Changed

Fixed

grapesjs - v0.19.4

Published by artf over 2 years ago

⚠️ Breaking changes

  • The main breaking change in this release, is the refactoring of the Storage module in order to bring consistency across various storages (custom and built-in).
    We highly recommend checking out the new Storage module documentation which also shows some common use cases and will be helpful in the upgrade process.
    We're also in the process to release new versions for the related plugins: grapesjs-indexeddb, grapesjs-firestore
    Here is an overview of all the breaking changes:
    • editor.store(currentStorageOptions) and editor.load(currentStorageOptions) are now asynchronous methods and returns respectivly the stored and loaded project data (their first argument is not a callback anymore).
    • Storage Manager methods store/load are also asynchronous now and the signature of their arguments is also changed.
    • Storage API for adding custom storages is also changed.
      Before
      editor.StorageManager.add('new-storage-id', {
        load(keys, clb, clbErr) {...},
        store(data, clb, clbErr) {...},
      }
      
      After
      editor.StorageManager.add('new-storage-id', {
        async load(storageOptions) {...},
        async store(data, storageOptions) {...},
      }
      
    • Changed StorageManager configuration. Now all storage type options are moved in their correspective config.storageManager.options[STORAGE_TYPE] default configurations.
      storageManager.checkLocal -> storageManager.options.local.checkLocal
      storageManager.headers -> storageManager.options.remote.headers
      storageManager.urlStore -> storageManager.options.remote.urlStore
      storageManager.urlLoad -> storageManager.options.remote.urlLoad
      storageManager.contentTypeJson -> storageManager.options.remote.contentTypeJson
      storageManager.credentials -> storageManager.options.remote.credentials
      storageManager.fetchOptions -> storageManager.options.remote.fetchOptions
    • Removed config.domComponents.storeWrapper options. The project data will always store the wrapper of your pages.
    • Removed following configurations from StorageManager: storeHtml, storeCss, storeComponents, storeStyles, beforeSend, onComplete, params. The project data JSON doesn't extract any HTML/CSS from your pages anymore, but you're still able to extend your storages in order to enrich your data.

Added

Changed

Fixed

  • Fixed append of blocks on click https://github.com/artf/grapesjs/pull/4224
  • Fixed order change with the drag of multiple components @lexoyo https://github.com/artf/grapesjs/pull/4220
  • Fixed style manager on selectors sync #4239
  • Fixed StyleManager with componentFirst option and combined classes #4310
  • Avoid errors from Resizer if the component is removed #4333
  • Fixed color picker update on the component select change
  • Fixed style image preview from parsed CSS #4362
grapesjs - v0.18.4

Published by artf over 2 years ago

⚠️ Removed

  • Removed config.wrapperIsBody, config.exportWrapper options.
    Now is the wrapper component itself to indicate what tagName to use and how to output the HTML.
    So, if necessary you can extend the default wrapper as any other component and specify your logic.
editor.Components.addType('wrapper', {
 model: {
   defaults: {
     tagName: 'div', // use `div` instead of `body` in HTML export
   },

   // Skip wrapper in the HTML output
   toHTML(opts) {
     return this.getInnerHTML(opts);
   }
 }
})

Added

  • Added index.d.ts file. Thanks to @erdomke

Changed

  • Update component toolbar icons
  • Improve component delete command

Fixed

  • Prevent form submit in ClassTagsView #4166
  • Fixed editing logic for links #4145
  • Fixed RTE icons in Firefox #4176
  • Fixed tagName for SVG elements #4188
  • Ensure frame existence in SelectComponent #4187
  • Prevent divs on RTE paste and plain text #4195
  • Fix issues with the state rule. Closes #4208