From e95275264293b024f6809ca666c3d900fa47b19d Mon Sep 17 00:00:00 2001 From: NavigateCMS Date: Thu, 29 Oct 2020 17:19:45 +0100 Subject: [PATCH 1/6] Added Catalan translation file --- src/i18n/locale/ca.js | 198 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 198 insertions(+) create mode 100644 src/i18n/locale/ca.js diff --git a/src/i18n/locale/ca.js b/src/i18n/locale/ca.js new file mode 100644 index 000000000..33fde5c5a --- /dev/null +++ b/src/i18n/locale/ca.js @@ -0,0 +1,198 @@ +const traitInputAttr = { placeholder: 'ex. Text aquí' }; + +export default { + assetManager: { + addButton: 'Afegir imatge', + inputPlh: 'http://ruta/a/la/imatge.jpg', + modalTitle: 'Escollir imatge', + uploadTitle: 'Arrossega els fitxers aquí o fes clic per a pujar-ne' + }, + // Here just as a reference, GrapesJS core doesn't contain any block, + // so this should be omitted from other local files + blockManager: { + labels: { + // 'block-id': 'Block Label', + }, + categories: { + // 'category-id': 'Category Label', + } + }, + domComponents: { + names: { + '': 'Capsa', + wrapper: 'Cos', + text: 'Text', + comment: 'Comentari', + image: 'Imatge', + video: 'Vídeo', + label: 'Etiqueta', + link: 'Enllaç', + map: 'Mapa', + tfoot: 'Peu de la taula', + tbody: 'Cos de la taula', + thead: 'Capçalera de la taula', + table: 'Taula', + row: 'Fila de la taula', + cell: 'Cel·la de la taula' + } + }, + deviceManager: { + device: 'Dispositius', + devices: { + desktop: 'Escriptori', + tablet: 'Tauleta', + mobileLandscape: 'Mòbil en horitzontal', + mobilePortrait: 'Mòbil en vertical' + } + }, + panels: { + buttons: { + titles: { + preview: 'Vista prèvia', + fullscreen: 'Pantalla sencera', + 'sw-visibility': 'Veure components', + 'export-template': 'Veure codi', + 'open-sm': 'Obrir Administrador d\'estils', + 'open-tm': 'Configuració', + 'open-layers': 'Obrir Aministrador de capes', + 'open-blocks': 'Obrir Blocs' + } + } + }, + selectorManager: { + label: 'Classes', + selected: 'Seleccionat', + emptyState: '- Estat -', + states: { + hover: 'A sobre', + active: 'Clic', + 'nth-of-type(2n)': 'Parell/Senar' + } + }, + styleManager: { + empty: 'Escull un element abans d\'utilitzar l\'Administrador d\'estils', + layer: 'Capa', + fileButton: 'Imatges', + sectors: { + general: 'General', + layout: 'Disseny', + typography: 'Tipografia', + decorations: 'Decoracions', + extra: 'Extres', + flex: 'Flex', + dimension: 'Tamany' + }, + // The core library generates the name by their `property` name + properties: { + float: 'Flotant', + display: 'Vista', + position: 'Posició', + top: 'Superior', + right: 'Dreta', + left: 'Esquerra', + bottom: 'Inferior', + width: 'Ample', + height: 'Alt', + 'max-width': 'Ample màx.', + 'max-height': 'Alt màx.', + margin: 'Marge', + 'margin-top': 'Marge superior', + 'margin-right': 'Marge dret', + 'margin-left': 'Marge esquerra', + 'margin-bottom': 'Marge inferior', + padding: 'Padding', + 'padding-top': 'Padding superior', + 'padding-left': 'Padding esquerra', + 'padding-right': 'Padding dret', + 'padding-bottom': 'Padding inferior', + 'font-family': 'Tipus de lletra', + 'font-size': 'Tamany de la font', + 'font-weight': 'Pes', + 'letter-spacing': 'Espai entre lletres', + color: 'Color', + 'line-height': 'Interlineat', + 'text-align': 'Alineació del text', + 'text-shadow': 'Ombra del text', + 'text-shadow-h': 'Ombra del text: horizontal', + 'text-shadow-v': 'Ombra del text: vertical', + 'text-shadow-blur': 'Desenfocament de l\'ombra del text', + 'text-shadow-color': 'Color de l\'ombra del text', + 'border-top-left': 'Marc superior esquerra', + 'border-top-right': 'Marc superior dret', + 'border-bottom-left': 'Marc inferior esquerra', + 'border-bottom-right': 'Marc inferior dret', + 'border-radius-top-left': 'Radi del marc superior esquerra', + 'border-radius-top-right': 'Radi del marc superior dret', + 'border-radius-bottom-left': 'Radi del marc inferior esquerra', + 'border-radius-bottom-right': 'Radi del marc inferior dret', + 'border-radius': 'Radi del marc', + border: 'Marc', + 'border-width': 'Ample del marc', + 'border-style': 'Estil del marc', + 'border-color': 'Color del marc', + 'box-shadow': 'Ombra de la capsa', + 'box-shadow-h': 'Ombra de la capsa: horizontal', + 'box-shadow-v': 'Ombra de la capsa: vertical', + 'box-shadow-blur': 'Desenfocament de l\'ombra de la capsa', + 'box-shadow-spread': 'Propagació de l\'ombra de la capsa', + 'box-shadow-color': 'Color de l\'ombra de la capsa', + 'box-shadow-type': 'Tipus de l\'ombra de la capsa', + background: 'Fons', + 'background-image': 'Imatge de fons', + 'background-repeat': 'Repetir fons', + 'background-position': 'Posició del fons', + 'background-attachment': 'Desplaçament del fons', + 'background-size': 'Tamany del fons', + transition: 'Transició', + 'transition-property': 'Tipus de transició', + 'transition-duration': 'Temps de transició', + 'transition-timing-function': 'Funció de temps de la transición', + perspective: 'Perspectiva', + transform: 'Transformació', + 'transform-rotate-x': 'Rotació horitzontal', + 'transform-rotate-y': 'Rotació vertical', + 'transform-rotate-z': 'Rotació profunditat', + 'transform-scale-x': 'Escalar horitzontalment', + 'transform-scale-y': 'Escalar verticalment', + 'transform-scale-z': 'Escalar profunditat', + 'flex-direction': 'Direcció flex', + 'flex-wrap': 'Distribució flex', + 'justify-content': 'Justificar contingut', + 'align-items': 'Alinear elements', + 'align-content': 'Alinear contingut', + order: 'Ordre', + 'flex-basis': 'Base flex', + 'flex-grow': 'Creixement flex', + 'flex-shrink': 'Contracció flex', + 'align-self': 'Alineació pròpia', + 'background-color': 'Color de fons' + } + }, + traitManager: { + empty: 'Escull un element abans d\'usar l\'Administrador de característiques', + label: 'Configuració de components', + traits: { + // The core library generates the name by their `name` property + labels: { + id: 'Identificador', + alt: 'Títol alternatiu', + title: 'Títol', + href: 'Enllaç' + }, + // In a simple trait, like text input, these are used on input attributes + attributes: { + id: traitInputAttr, + alt: traitInputAttr, + title: traitInputAttr, + href: { placeholder: 'ex. https://google.com' } + }, + // In a trait like select, these are used to translate option names + options: { + target: { + false: 'Mateixa pestanya/finestra', + _blank: 'Nova pestanya/finestra' + } + } + } + } +}; From 3f3a33af369009f50072816dbad1e2de4d5a0907 Mon Sep 17 00:00:00 2001 From: NavigateCMS Date: Thu, 29 Oct 2020 17:22:10 +0100 Subject: [PATCH 2/6] Revert "Added Catalan translation file" This reverts commit e95275264293b024f6809ca666c3d900fa47b19d. --- src/i18n/locale/ca.js | 198 ------------------------------------------ 1 file changed, 198 deletions(-) delete mode 100644 src/i18n/locale/ca.js diff --git a/src/i18n/locale/ca.js b/src/i18n/locale/ca.js deleted file mode 100644 index 33fde5c5a..000000000 --- a/src/i18n/locale/ca.js +++ /dev/null @@ -1,198 +0,0 @@ -const traitInputAttr = { placeholder: 'ex. Text aquí' }; - -export default { - assetManager: { - addButton: 'Afegir imatge', - inputPlh: 'http://ruta/a/la/imatge.jpg', - modalTitle: 'Escollir imatge', - uploadTitle: 'Arrossega els fitxers aquí o fes clic per a pujar-ne' - }, - // Here just as a reference, GrapesJS core doesn't contain any block, - // so this should be omitted from other local files - blockManager: { - labels: { - // 'block-id': 'Block Label', - }, - categories: { - // 'category-id': 'Category Label', - } - }, - domComponents: { - names: { - '': 'Capsa', - wrapper: 'Cos', - text: 'Text', - comment: 'Comentari', - image: 'Imatge', - video: 'Vídeo', - label: 'Etiqueta', - link: 'Enllaç', - map: 'Mapa', - tfoot: 'Peu de la taula', - tbody: 'Cos de la taula', - thead: 'Capçalera de la taula', - table: 'Taula', - row: 'Fila de la taula', - cell: 'Cel·la de la taula' - } - }, - deviceManager: { - device: 'Dispositius', - devices: { - desktop: 'Escriptori', - tablet: 'Tauleta', - mobileLandscape: 'Mòbil en horitzontal', - mobilePortrait: 'Mòbil en vertical' - } - }, - panels: { - buttons: { - titles: { - preview: 'Vista prèvia', - fullscreen: 'Pantalla sencera', - 'sw-visibility': 'Veure components', - 'export-template': 'Veure codi', - 'open-sm': 'Obrir Administrador d\'estils', - 'open-tm': 'Configuració', - 'open-layers': 'Obrir Aministrador de capes', - 'open-blocks': 'Obrir Blocs' - } - } - }, - selectorManager: { - label: 'Classes', - selected: 'Seleccionat', - emptyState: '- Estat -', - states: { - hover: 'A sobre', - active: 'Clic', - 'nth-of-type(2n)': 'Parell/Senar' - } - }, - styleManager: { - empty: 'Escull un element abans d\'utilitzar l\'Administrador d\'estils', - layer: 'Capa', - fileButton: 'Imatges', - sectors: { - general: 'General', - layout: 'Disseny', - typography: 'Tipografia', - decorations: 'Decoracions', - extra: 'Extres', - flex: 'Flex', - dimension: 'Tamany' - }, - // The core library generates the name by their `property` name - properties: { - float: 'Flotant', - display: 'Vista', - position: 'Posició', - top: 'Superior', - right: 'Dreta', - left: 'Esquerra', - bottom: 'Inferior', - width: 'Ample', - height: 'Alt', - 'max-width': 'Ample màx.', - 'max-height': 'Alt màx.', - margin: 'Marge', - 'margin-top': 'Marge superior', - 'margin-right': 'Marge dret', - 'margin-left': 'Marge esquerra', - 'margin-bottom': 'Marge inferior', - padding: 'Padding', - 'padding-top': 'Padding superior', - 'padding-left': 'Padding esquerra', - 'padding-right': 'Padding dret', - 'padding-bottom': 'Padding inferior', - 'font-family': 'Tipus de lletra', - 'font-size': 'Tamany de la font', - 'font-weight': 'Pes', - 'letter-spacing': 'Espai entre lletres', - color: 'Color', - 'line-height': 'Interlineat', - 'text-align': 'Alineació del text', - 'text-shadow': 'Ombra del text', - 'text-shadow-h': 'Ombra del text: horizontal', - 'text-shadow-v': 'Ombra del text: vertical', - 'text-shadow-blur': 'Desenfocament de l\'ombra del text', - 'text-shadow-color': 'Color de l\'ombra del text', - 'border-top-left': 'Marc superior esquerra', - 'border-top-right': 'Marc superior dret', - 'border-bottom-left': 'Marc inferior esquerra', - 'border-bottom-right': 'Marc inferior dret', - 'border-radius-top-left': 'Radi del marc superior esquerra', - 'border-radius-top-right': 'Radi del marc superior dret', - 'border-radius-bottom-left': 'Radi del marc inferior esquerra', - 'border-radius-bottom-right': 'Radi del marc inferior dret', - 'border-radius': 'Radi del marc', - border: 'Marc', - 'border-width': 'Ample del marc', - 'border-style': 'Estil del marc', - 'border-color': 'Color del marc', - 'box-shadow': 'Ombra de la capsa', - 'box-shadow-h': 'Ombra de la capsa: horizontal', - 'box-shadow-v': 'Ombra de la capsa: vertical', - 'box-shadow-blur': 'Desenfocament de l\'ombra de la capsa', - 'box-shadow-spread': 'Propagació de l\'ombra de la capsa', - 'box-shadow-color': 'Color de l\'ombra de la capsa', - 'box-shadow-type': 'Tipus de l\'ombra de la capsa', - background: 'Fons', - 'background-image': 'Imatge de fons', - 'background-repeat': 'Repetir fons', - 'background-position': 'Posició del fons', - 'background-attachment': 'Desplaçament del fons', - 'background-size': 'Tamany del fons', - transition: 'Transició', - 'transition-property': 'Tipus de transició', - 'transition-duration': 'Temps de transició', - 'transition-timing-function': 'Funció de temps de la transición', - perspective: 'Perspectiva', - transform: 'Transformació', - 'transform-rotate-x': 'Rotació horitzontal', - 'transform-rotate-y': 'Rotació vertical', - 'transform-rotate-z': 'Rotació profunditat', - 'transform-scale-x': 'Escalar horitzontalment', - 'transform-scale-y': 'Escalar verticalment', - 'transform-scale-z': 'Escalar profunditat', - 'flex-direction': 'Direcció flex', - 'flex-wrap': 'Distribució flex', - 'justify-content': 'Justificar contingut', - 'align-items': 'Alinear elements', - 'align-content': 'Alinear contingut', - order: 'Ordre', - 'flex-basis': 'Base flex', - 'flex-grow': 'Creixement flex', - 'flex-shrink': 'Contracció flex', - 'align-self': 'Alineació pròpia', - 'background-color': 'Color de fons' - } - }, - traitManager: { - empty: 'Escull un element abans d\'usar l\'Administrador de característiques', - label: 'Configuració de components', - traits: { - // The core library generates the name by their `name` property - labels: { - id: 'Identificador', - alt: 'Títol alternatiu', - title: 'Títol', - href: 'Enllaç' - }, - // In a simple trait, like text input, these are used on input attributes - attributes: { - id: traitInputAttr, - alt: traitInputAttr, - title: traitInputAttr, - href: { placeholder: 'ex. https://google.com' } - }, - // In a trait like select, these are used to translate option names - options: { - target: { - false: 'Mateixa pestanya/finestra', - _blank: 'Nova pestanya/finestra' - } - } - } - } -}; From daeb814e8ff6f243df00c515065844450962bd67 Mon Sep 17 00:00:00 2001 From: CoolWind Date: Thu, 29 Oct 2020 17:25:09 +0100 Subject: [PATCH 3/6] Added Catalan translation file --- src/i18n/locale/ca.js | 198 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 198 insertions(+) create mode 100644 src/i18n/locale/ca.js diff --git a/src/i18n/locale/ca.js b/src/i18n/locale/ca.js new file mode 100644 index 000000000..33fde5c5a --- /dev/null +++ b/src/i18n/locale/ca.js @@ -0,0 +1,198 @@ +const traitInputAttr = { placeholder: 'ex. Text aquí' }; + +export default { + assetManager: { + addButton: 'Afegir imatge', + inputPlh: 'http://ruta/a/la/imatge.jpg', + modalTitle: 'Escollir imatge', + uploadTitle: 'Arrossega els fitxers aquí o fes clic per a pujar-ne' + }, + // Here just as a reference, GrapesJS core doesn't contain any block, + // so this should be omitted from other local files + blockManager: { + labels: { + // 'block-id': 'Block Label', + }, + categories: { + // 'category-id': 'Category Label', + } + }, + domComponents: { + names: { + '': 'Capsa', + wrapper: 'Cos', + text: 'Text', + comment: 'Comentari', + image: 'Imatge', + video: 'Vídeo', + label: 'Etiqueta', + link: 'Enllaç', + map: 'Mapa', + tfoot: 'Peu de la taula', + tbody: 'Cos de la taula', + thead: 'Capçalera de la taula', + table: 'Taula', + row: 'Fila de la taula', + cell: 'Cel·la de la taula' + } + }, + deviceManager: { + device: 'Dispositius', + devices: { + desktop: 'Escriptori', + tablet: 'Tauleta', + mobileLandscape: 'Mòbil en horitzontal', + mobilePortrait: 'Mòbil en vertical' + } + }, + panels: { + buttons: { + titles: { + preview: 'Vista prèvia', + fullscreen: 'Pantalla sencera', + 'sw-visibility': 'Veure components', + 'export-template': 'Veure codi', + 'open-sm': 'Obrir Administrador d\'estils', + 'open-tm': 'Configuració', + 'open-layers': 'Obrir Aministrador de capes', + 'open-blocks': 'Obrir Blocs' + } + } + }, + selectorManager: { + label: 'Classes', + selected: 'Seleccionat', + emptyState: '- Estat -', + states: { + hover: 'A sobre', + active: 'Clic', + 'nth-of-type(2n)': 'Parell/Senar' + } + }, + styleManager: { + empty: 'Escull un element abans d\'utilitzar l\'Administrador d\'estils', + layer: 'Capa', + fileButton: 'Imatges', + sectors: { + general: 'General', + layout: 'Disseny', + typography: 'Tipografia', + decorations: 'Decoracions', + extra: 'Extres', + flex: 'Flex', + dimension: 'Tamany' + }, + // The core library generates the name by their `property` name + properties: { + float: 'Flotant', + display: 'Vista', + position: 'Posició', + top: 'Superior', + right: 'Dreta', + left: 'Esquerra', + bottom: 'Inferior', + width: 'Ample', + height: 'Alt', + 'max-width': 'Ample màx.', + 'max-height': 'Alt màx.', + margin: 'Marge', + 'margin-top': 'Marge superior', + 'margin-right': 'Marge dret', + 'margin-left': 'Marge esquerra', + 'margin-bottom': 'Marge inferior', + padding: 'Padding', + 'padding-top': 'Padding superior', + 'padding-left': 'Padding esquerra', + 'padding-right': 'Padding dret', + 'padding-bottom': 'Padding inferior', + 'font-family': 'Tipus de lletra', + 'font-size': 'Tamany de la font', + 'font-weight': 'Pes', + 'letter-spacing': 'Espai entre lletres', + color: 'Color', + 'line-height': 'Interlineat', + 'text-align': 'Alineació del text', + 'text-shadow': 'Ombra del text', + 'text-shadow-h': 'Ombra del text: horizontal', + 'text-shadow-v': 'Ombra del text: vertical', + 'text-shadow-blur': 'Desenfocament de l\'ombra del text', + 'text-shadow-color': 'Color de l\'ombra del text', + 'border-top-left': 'Marc superior esquerra', + 'border-top-right': 'Marc superior dret', + 'border-bottom-left': 'Marc inferior esquerra', + 'border-bottom-right': 'Marc inferior dret', + 'border-radius-top-left': 'Radi del marc superior esquerra', + 'border-radius-top-right': 'Radi del marc superior dret', + 'border-radius-bottom-left': 'Radi del marc inferior esquerra', + 'border-radius-bottom-right': 'Radi del marc inferior dret', + 'border-radius': 'Radi del marc', + border: 'Marc', + 'border-width': 'Ample del marc', + 'border-style': 'Estil del marc', + 'border-color': 'Color del marc', + 'box-shadow': 'Ombra de la capsa', + 'box-shadow-h': 'Ombra de la capsa: horizontal', + 'box-shadow-v': 'Ombra de la capsa: vertical', + 'box-shadow-blur': 'Desenfocament de l\'ombra de la capsa', + 'box-shadow-spread': 'Propagació de l\'ombra de la capsa', + 'box-shadow-color': 'Color de l\'ombra de la capsa', + 'box-shadow-type': 'Tipus de l\'ombra de la capsa', + background: 'Fons', + 'background-image': 'Imatge de fons', + 'background-repeat': 'Repetir fons', + 'background-position': 'Posició del fons', + 'background-attachment': 'Desplaçament del fons', + 'background-size': 'Tamany del fons', + transition: 'Transició', + 'transition-property': 'Tipus de transició', + 'transition-duration': 'Temps de transició', + 'transition-timing-function': 'Funció de temps de la transición', + perspective: 'Perspectiva', + transform: 'Transformació', + 'transform-rotate-x': 'Rotació horitzontal', + 'transform-rotate-y': 'Rotació vertical', + 'transform-rotate-z': 'Rotació profunditat', + 'transform-scale-x': 'Escalar horitzontalment', + 'transform-scale-y': 'Escalar verticalment', + 'transform-scale-z': 'Escalar profunditat', + 'flex-direction': 'Direcció flex', + 'flex-wrap': 'Distribució flex', + 'justify-content': 'Justificar contingut', + 'align-items': 'Alinear elements', + 'align-content': 'Alinear contingut', + order: 'Ordre', + 'flex-basis': 'Base flex', + 'flex-grow': 'Creixement flex', + 'flex-shrink': 'Contracció flex', + 'align-self': 'Alineació pròpia', + 'background-color': 'Color de fons' + } + }, + traitManager: { + empty: 'Escull un element abans d\'usar l\'Administrador de característiques', + label: 'Configuració de components', + traits: { + // The core library generates the name by their `name` property + labels: { + id: 'Identificador', + alt: 'Títol alternatiu', + title: 'Títol', + href: 'Enllaç' + }, + // In a simple trait, like text input, these are used on input attributes + attributes: { + id: traitInputAttr, + alt: traitInputAttr, + title: traitInputAttr, + href: { placeholder: 'ex. https://google.com' } + }, + // In a trait like select, these are used to translate option names + options: { + target: { + false: 'Mateixa pestanya/finestra', + _blank: 'Nova pestanya/finestra' + } + } + } + } +}; From 6e73a379ce22df88e57a4e934e9266916c470ac7 Mon Sep 17 00:00:00 2001 From: aayush jain Date: Fri, 30 Oct 2020 13:30:39 +0530 Subject: [PATCH 4/6] codemirror version upgrade --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3e7b6fc27..83e486189 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "backbone": "1.3.3", "backbone-undo": "^0.2.5", "cash-dom": "^2.3.9", - "codemirror": "^5.49.2", + "codemirror": "^5.58.2", "codemirror-formatting": "^1.0.0", "keymaster": "^1.6.2", "promise-polyfill": "^8.1.3", From 02ddd6e69acf2b220180e3550b97e5f43b6d0944 Mon Sep 17 00:00:00 2001 From: Thomas P Date: Wed, 4 Nov 2020 14:25:27 +0100 Subject: [PATCH 5/6] DOC: Fix typo in introduction --- docs/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/README.md b/docs/README.md index fee25bccb..4b54d2daf 100644 --- a/docs/README.md +++ b/docs/README.md @@ -11,7 +11,7 @@ GrapesJS ships with features and tools that enable you to craft easy to use buil ## Why GrapesJS? -GrapesJS was designed primarily to for use inside Content Management Systems to speed up the creation of dynamic templates and replace common WYSIWYG editors. Which are good for content editing, but inappropriate for creating HTML structures. Instead of creating an application we decided to create an extensible framework that could be used by anyone for any purpose. +GrapesJS was designed primarily for use inside Content Management Systems to speed up the creation of dynamic templates and replace common WYSIWYG editors. Which are good for content editing, but inappropriate for creating HTML structures. Instead of creating an application we decided to create an extensible framework that could be used by anyone for any purpose. From 09e25824355a7585bb502e16edb0710ad9097861 Mon Sep 17 00:00:00 2001 From: Thomas P Date: Tue, 10 Nov 2020 08:43:07 +0100 Subject: [PATCH 6/6] DOC: Fix typo in components documentation --- docs/modules/Components.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/modules/Components.md b/docs/modules/Components.md index 1774c1e49..21b0f7d6d 100644 --- a/docs/modules/Components.md +++ b/docs/modules/Components.md @@ -79,7 +79,7 @@ In the first step, the HTML string is parsed and transformed to what is called * } ``` -The real **Component Definition** would be a little bit bigger so so we'd reduced the JSON for the sake of simplicity. +The real **Component Definition** would be a little bit bigger so we've reduced the JSON for the sake of simplicity. You might notice the result is similar to what is generally called a **Virtual DOM**, a lightweight representation of the DOM element. This actually helps the editor to keep track of the state of our elements and make performance-friendly changes/updates. The meaning of properties like `tagName`, `attributes` and `components` are quite obvious, but what about `type`?! This particular property specifies the **Component Type** of our **Component Definition** (you check the list of default components [below](#built-in-component-types)) and if it's omitted, the default one will be used `type: 'default'`.