@ostendis/grapesjs-preset-ostendis-simple 1.3.7 → 1.3.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -22,6 +22,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
22
22
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
23
23
|
/* harmony export */ "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
|
|
24
24
|
/* harmony export */ });
|
|
25
|
+
Object.defineProperty(__WEBPACK_DEFAULT_EXPORT__, "name", { value: "default", configurable: true });
|
|
25
26
|
/* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(editor, opts) {
|
|
26
27
|
const { Blocks } = editor;
|
|
27
28
|
const addBlock = (id, blockDef) => {
|
|
@@ -220,6 +221,7 @@ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _argume
|
|
|
220
221
|
},
|
|
221
222
|
});
|
|
222
223
|
}));
|
|
224
|
+
(Object.getOwnPropertyDescriptor(__WEBPACK_DEFAULT_EXPORT__, "name") || {}).writable || Object.defineProperty(__WEBPACK_DEFAULT_EXPORT__, "name", { value: "default", configurable: true });
|
|
223
225
|
|
|
224
226
|
|
|
225
227
|
/***/ },
|
|
@@ -583,6 +585,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
583
585
|
},
|
|
584
586
|
});
|
|
585
587
|
});
|
|
588
|
+
(Object.getOwnPropertyDescriptor(__WEBPACK_DEFAULT_EXPORT__, "name") || {}).writable || Object.defineProperty(__WEBPACK_DEFAULT_EXPORT__, "name", { value: "default", configurable: true });
|
|
586
589
|
|
|
587
590
|
|
|
588
591
|
/***/ },
|
|
@@ -1025,6 +1028,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
1025
1028
|
});
|
|
1026
1029
|
});
|
|
1027
1030
|
});
|
|
1031
|
+
(Object.getOwnPropertyDescriptor(__WEBPACK_DEFAULT_EXPORT__, "name") || {}).writable || Object.defineProperty(__WEBPACK_DEFAULT_EXPORT__, "name", { value: "default", configurable: true });
|
|
1028
1032
|
|
|
1029
1033
|
|
|
1030
1034
|
/***/ },
|
|
@@ -1056,6 +1060,7 @@ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _argume
|
|
|
1056
1060
|
result: (rte) => rte.exec("removeFormat"),
|
|
1057
1061
|
});
|
|
1058
1062
|
}));
|
|
1063
|
+
(Object.getOwnPropertyDescriptor(__WEBPACK_DEFAULT_EXPORT__, "name") || {}).writable || Object.defineProperty(__WEBPACK_DEFAULT_EXPORT__, "name", { value: "default", configurable: true });
|
|
1059
1064
|
|
|
1060
1065
|
|
|
1061
1066
|
/***/ },
|
|
@@ -1191,6 +1196,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
1191
1196
|
});
|
|
1192
1197
|
}
|
|
1193
1198
|
});
|
|
1199
|
+
(Object.getOwnPropertyDescriptor(__WEBPACK_DEFAULT_EXPORT__, "name") || {}).writable || Object.defineProperty(__WEBPACK_DEFAULT_EXPORT__, "name", { value: "default", configurable: true });
|
|
1194
1200
|
|
|
1195
1201
|
|
|
1196
1202
|
/***/ }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grapesjs-preset-ostendis-simple.min.js","mappings":"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","sources":["webpack://@ostendis/grapesjs-preset-ostendis-simple/webpack/universalModuleDefinition","webpack://@ostendis/grapesjs-preset-ostendis-simple/./src/blocks.ts","webpack://@ostendis/grapesjs-preset-ostendis-simple/./src/commands.ts","webpack://@ostendis/grapesjs-preset-ostendis-simple/./src/components.ts","webpack://@ostendis/grapesjs-preset-ostendis-simple/./src/consts.ts","webpack://@ostendis/grapesjs-preset-ostendis-simple/./src/ostTranslations.ts","webpack://@ostendis/grapesjs-preset-ostendis-simple/./src/panels.ts","webpack://@ostendis/grapesjs-preset-ostendis-simple/./src/rte.ts","webpack://@ostendis/grapesjs-preset-ostendis-simple/./src/traits.ts","webpack://@ostendis/grapesjs-preset-ostendis-simple/webpack/bootstrap","webpack://@ostendis/grapesjs-preset-ostendis-simple/webpack/runtime/define property getters","webpack://@ostendis/grapesjs-preset-ostendis-simple/webpack/runtime/hasOwnProperty shorthand","webpack://@ostendis/grapesjs-preset-ostendis-simple/webpack/runtime/make namespace object","webpack://@ostendis/grapesjs-preset-ostendis-simple/./src/index.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"@ostendis/grapesjs-preset-ostendis-simple\"] = factory();\n\telse\n\t\troot[\"@ostendis/grapesjs-preset-ostendis-simple\"] = factory();\n})(Object(typeof globalThis !== 'undefined' ? globalThis : (typeof window !== 'undefined' ? window : this)), () => {\nreturn ","import type { Editor, BlockProperties } from \"grapesjs\";\r\nimport PluginOptions from \"./pluginOptions\";\r\n\r\nexport default function (editor: Editor, opts: Required<PluginOptions>) {\r\n const { Blocks } = editor;\r\n\r\n const addBlock = (id: string, blockDef: BlockProperties) => {\r\n opts.blocks.indexOf(id)! >= 0 &&\r\n editor.Blocks.add(id, {\r\n select: true,\r\n ...blockDef,\r\n ...opts.block(id),\r\n });\r\n };\r\n\r\n Blocks.getAll().reset();\r\n}\r\n","import type {Editor} from \"grapesjs\";\r\nimport PluginOptions from \"./pluginOptions\";\r\nimport {BULLET_PATTERNS, cmdDeviceDesktop, cmdDeviceMobile, cmdDeviceTablet} from \"./consts\";\r\n\r\nexport default async (editor: Editor, opts: Required<PluginOptions>) => {\r\n const {Commands} = editor;\r\n\r\n Commands.add(cmdDeviceDesktop, {\r\n run: (ed) => ed.setDevice(\"Desktop\"),\r\n stop: () => {\r\n },\r\n });\r\n\r\n Commands.add(cmdDeviceTablet, {\r\n run: (ed) => ed.setDevice(\"Tablet\"),\r\n stop: () => {\r\n },\r\n });\r\n\r\n Commands.add(cmdDeviceMobile, {\r\n run: (ed) => ed.setDevice(\"Mobile portrait\"),\r\n stop: () => {\r\n },\r\n });\r\n\r\n // Helper function to check if a line is a bullet point\r\n function isBulletPoint(line: string): boolean {\r\n const trimmedLine = line.trim();\r\n return BULLET_PATTERNS.some(pattern => pattern.test(trimmedLine));\r\n }\r\n\r\n // Helper function to remove bullet point markers\r\n function removeBulletPoint(line: string): string {\r\n let trimmedLine = line.trim();\r\n\r\n for (const pattern of BULLET_PATTERNS) {\r\n trimmedLine = trimmedLine.replace(pattern, '');\r\n }\r\n\r\n return trimmedLine.trim() || 'Text';\r\n }\r\n\r\n // Helper function to clean individual item content\r\n function cleanItemContent(content: string): string {\r\n content = content.replace(/<br\\s*\\/?>/gi, ' ');\r\n content = content.replace(/<[^>]+>/g, '');\r\n\r\n const entityMap: { [key: string]: string } = {\r\n '&': '&',\r\n '<': '<',\r\n '>': '>',\r\n '"': '\"',\r\n ''': \"'\",\r\n ' ': ' ',\r\n '•': '•',\r\n '‣': '‣',\r\n '⁃': '⁃',\r\n '•': '•',\r\n '·': '·'\r\n };\r\n\r\n for (const [entity, char] of Object.entries(entityMap)) {\r\n content = content.replace(new RegExp(entity, 'g'), char);\r\n }\r\n\r\n content = content.replace(/\\s+/g, ' ').trim();\r\n\r\n if (!content || /^[•·▪▫‣⁃◦‧⦿⦾\\-*+.()]+$/.test(content)) {\r\n content = 'Text';\r\n }\r\n\r\n return content;\r\n }\r\n\r\n // Helper function to clean Word content and convert to list items\r\n function cleanWordContentToListItems(content: string): string[] {\r\n content = content.replace(/<!--[\\s\\S]*?-->/g, '');\r\n content = content.replace(/<o:p\\s*\\/?>|<\\/o:p>/gi, '');\r\n content = content.replace(/<w:[\\s\\S]*?>/gi, '');\r\n content = content.replace(/\\s*mso-[^:]+:[^;\"]*;?/gi, '');\r\n content = content.replace(/\\s*class=\"[^\"]*Mso[^\"]*\"/gi, '');\r\n content = content.replace(/<span[^>]*>\\s*<\\/span>/gi, '');\r\n content = content.replace(/<p[^>]*>/gi, '\\n').replace(/<\\/p>/gi, '');\r\n content = content.replace(/[ \\t]+/g, ' ');\r\n content = content.replace(/\\n\\s+/g, '\\n');\r\n content = content.trim();\r\n\r\n let items: string[] = [];\r\n\r\n if (content.includes('<li>') || content.includes('<LI>')) {\r\n const liMatches = content.match(/<li[^>]*>(.*?)<\\/li>/gi);\r\n if (liMatches) {\r\n items = liMatches.map(li => {\r\n const itemContent = li.replace(/<li[^>]*>|<\\/li>/gi, '').trim();\r\n return cleanItemContent(itemContent);\r\n });\r\n }\r\n } else {\r\n const lines = content.split(/\\r?\\n/).map(line => line.trim()).filter(line => line.length > 0);\r\n\r\n for (const line of lines) {\r\n if (isBulletPoint(line)) {\r\n const itemContent = removeBulletPoint(line);\r\n const cleaned = cleanItemContent(itemContent);\r\n if (cleaned.trim().length > 0) {\r\n items.push(cleaned);\r\n }\r\n } else if (line.trim().length > 0) {\r\n const cleaned = cleanItemContent(line);\r\n if (cleaned.trim().length > 0) {\r\n items.push(cleaned);\r\n }\r\n }\r\n }\r\n }\r\n\r\n items = items.filter(item => item.trim().length > 0);\r\n if (items.length === 0) {\r\n items = ['Text'];\r\n }\r\n\r\n return items;\r\n }\r\n\r\n // Add Word paste command\r\n Commands.add(\"paste-from-word\", {\r\n run(editor) {\r\n const selected = editor.getSelected();\r\n if (!selected) return;\r\n\r\n if (selected.getEl()?.tagName !== \"UL\") {\r\n console.warn(\"Paste from Word is only available for UL elements\");\r\n return;\r\n }\r\n\r\n const modal = editor.Modal;\r\n const modalContent = `\r\n <div>\r\n <p id=\"paste-from-word-text\">${opts.t9n.labelPasteFromWordText}</p>\r\n <textarea id=\"paste-from-word-content\" placeholder=\"${opts.t9n.labelPasteFromWordPlaceholder}\"></textarea>\r\n <div id=\"paste-from-word-footer\">\r\n <button id=\"paste-from-word-apply\" class=\"gjs-btn-prim\">${opts.t9n.labelPasteFromWordButton}</button>\r\n </div>\r\n </div>\r\n `;\r\n\r\n modal.setTitle(opts.t9n.labelPasteFromWord);\r\n modal.setContent(modalContent);\r\n modal.open();\r\n\r\n setTimeout(() => {\r\n const textarea = document.getElementById('paste-from-word-content') as HTMLTextAreaElement;\r\n const applyBtn = document.getElementById('paste-from-word-apply');\r\n\r\n if (textarea) {\r\n textarea.focus();\r\n }\r\n\r\n if (applyBtn) {\r\n applyBtn.addEventListener('click', () => {\r\n if (textarea && selected) {\r\n const content = textarea.value;\r\n const listItems = cleanWordContentToListItems(content);\r\n\r\n selected.components().reset();\r\n\r\n selected.addAttributes({\r\n 'class': 'ulist fa-ul',\r\n 'style': 'padding: 0.2em 0; margin-left: 2em; line-height: 1.4em;'\r\n });\r\n\r\n listItems.forEach(itemContent => {\r\n const liHtml = `<li class=\"ulistitem\" style=\"text-align: left;\"><span class=\"fa-li\" style=\"left: -2em; width: 2em;\"><i class=\"fas fa-circle\" style=\"font-size: 0.4em; line-height: inherit; display: block;\"></i></span><div>${itemContent}</div></li>`;\r\n selected.append(liHtml);\r\n });\r\n\r\n modal.close();\r\n editor.trigger('component:update', selected);\r\n }\r\n });\r\n }\r\n\r\n if (textarea) {\r\n textarea.addEventListener('keydown', (e) => {\r\n if (e.ctrlKey && e.key === 'Enter') {\r\n applyBtn?.click();\r\n } else if (e.key === 'Escape') {\r\n modal.close();\r\n }\r\n });\r\n }\r\n }, 100);\r\n },\r\n });\r\n};\r\n","import type {Editor} from \"grapesjs\";\r\nimport PluginOptions from \"./pluginOptions\";\r\nimport {\r\n uListItemContent,\r\n ulListItem,\r\n ostTypeTextTrait,\r\n ostTypeImageTrait,\r\n ostTypeHideInSimpleHtmlTrait,\r\n iconTrait,\r\n nameTrait,\r\n valueTrait,\r\n} from \"./consts\";\r\n\r\nexport default (editor: Editor, opts: Required<PluginOptions>) => {\r\n const {DomComponents} = editor;\r\n\r\n // Add ostendis block trait to video components\r\n var dType = DomComponents.getType(\"video\");\r\n var dModel = dType?.model;\r\n var dView = dType?.view;\r\n const yt = \"yt\";\r\n const vi = \"vi\";\r\n const ytnc = \"ytnc\";\r\n\r\n DomComponents.addType(\"video\", {\r\n model: dModel.extend({\r\n updateTraits() {\r\n const {em} = this;\r\n const prov = this.get(\"provider\");\r\n let tagName = \"iframe\";\r\n let traits;\r\n\r\n switch (prov) {\r\n case yt:\r\n case ytnc:\r\n traits = this.getYoutubeTraits();\r\n break;\r\n case vi:\r\n traits = this.getVimeoTraits();\r\n break;\r\n default:\r\n tagName = \"video\";\r\n traits = this.getSourceTraits();\r\n }\r\n\r\n traits.push({\r\n type: \"select\",\r\n label: \"Ostendis Blocks\",\r\n name: \"data-ost-type\",\r\n options: [\r\n {id: \"\", name: opts.t9n.traitOstNone},\r\n {id: \"videoURL\", name: opts.t9n.traitOstVideoURL},\r\n ],\r\n });\r\n\r\n this.set({tagName}, {silent: true}); // avoid break in view\r\n this.set({traits});\r\n em.get(\"ready\") && em.trigger(\"component:toggled\");\r\n },\r\n }),\r\n view: dView,\r\n });\r\n\r\n // Scale the new range\r\n DomComponents.addType('scale', {\r\n isComponent: (el) => {\r\n return (\r\n el.tagName === 'DIV' &&\r\n (el.getAttribute('data-scale') === 'true' ||\r\n el.classList.contains('scale'))\r\n )\r\n },\r\n\r\n model: {\r\n defaults: {\r\n tagName: 'div',\r\n attributes: {\r\n 'data-scale': 'true',\r\n 'data-percent': '66',\r\n 'data-fcolor': '#2f2924',\r\n 'data-bgcolor': '#CCCCCC',\r\n 'aria-label': '66 %',\r\n role: 'img',\r\n },\r\n style: {\r\n 'box-sizing': 'border-box',\r\n 'height': '20px',\r\n 'max-width': '100%',\r\n 'background': 'linear-gradient(to right, #2f2924 66%, #CCCCCC 66%)',\r\n },\r\n traits: [\r\n 'id',\r\n {\r\n name: 'percent',\r\n type: 'number',\r\n min: 0,\r\n max: 100,\r\n label: opts.t9n.labelScalePercent,\r\n changeProp: true,\r\n },\r\n {\r\n name: 'fcolor',\r\n type: 'color',\r\n label: opts.t9n.labelScaleBarColor,\r\n placeholder: '#222222',\r\n changeProp: true,\r\n },\r\n {\r\n name: 'bgcolor',\r\n type: 'color',\r\n label: opts.t9n.labelScaleBgColor,\r\n placeholder: '#cccccc',\r\n changeProp: true,\r\n },\r\n ostTypeHideInSimpleHtmlTrait(opts),\r\n ],\r\n },\r\n\r\n init() {\r\n const attr = this.getAttributes()\r\n\r\n let p = parseInt(attr['data-percent'])\r\n let f = attr['data-fcolor']\r\n let b = attr['data-bgcolor']\r\n\r\n if (isNaN(p)) p = 66\r\n if (!f) f = '#2f2924'\r\n if (!b) b = '#CCCCCC'\r\n\r\n p = Math.max(0, Math.min(100, p))\r\n\r\n this.set('percent', p, {silent: true})\r\n this.set('bgcolor', b, {silent: true})\r\n this.set('fcolor', f, {silent: true})\r\n\r\n // Clean up stale background properties from saved HTML\r\n this.cleanupBackgroundStyles()\r\n\r\n const update = () => this.updateScale()\r\n this.on('change:percent', update)\r\n this.on('change:bgcolor', update)\r\n this.on('change:fcolor', update)\r\n },\r\n\r\n onRender() {\r\n this.updateScale()\r\n },\r\n\r\n cleanupBackgroundStyles() {\r\n const styles = this.getStyle() || {}\r\n // Remove stale background-image that conflicts with gradient\r\n delete styles['background-image']\r\n delete styles['background-position-x']\r\n delete styles['background-position-y']\r\n delete styles['background-size']\r\n delete styles['background-repeat']\r\n delete styles['background-attachment']\r\n delete styles['background-origin']\r\n delete styles['background-clip']\r\n delete styles['background-color']\r\n this.setStyle(styles, {silent: true})\r\n },\r\n\r\n updateScale() {\r\n try {\r\n let p = parseInt(this.get('percent'))\r\n const f = this.get('fcolor') || '#2f2924'\r\n const b = this.get('bgcolor') || '#CCCCCC'\r\n\r\n if (isNaN(p)) p = 0\r\n p = Math.max(0, Math.min(100, p))\r\n\r\n this.setAttributes(\r\n {\r\n 'data-scale': 'true',\r\n 'data-percent': p.toString(),\r\n 'data-fcolor': f,\r\n 'data-bgcolor': b,\r\n 'aria-label': `${p} %`,\r\n },\r\n {silent: true},\r\n )\r\n\r\n const styles = this.getStyle() || {}\r\n\r\n // Apply gradient with validated colors\r\n styles['background'] = `linear-gradient(to right, ${f} ${p}%, ${b} ${p}%)`\r\n this.setStyle(styles)\r\n } catch (error) {\r\n console.warn('Scale component update failed:', error)\r\n }\r\n },\r\n },\r\n })\r\n\r\n // INPUT\r\n DomComponents.addType(\"range\", {\r\n isComponent: (el) => el.tagName == \"INPUT\",\r\n model: {\r\n defaults: {\r\n tagName: \"input\",\r\n droppable: true,\r\n highlightable: true,\r\n traits: [nameTrait, valueTrait],\r\n attributes: {type: \"range\", disabled: true},\r\n },\r\n },\r\n extendFnView: [\"updateAttributes\"],\r\n view: {\r\n updateAttributes() {\r\n this.el.setAttribute(\"autocomplete\", \"on\");\r\n },\r\n },\r\n });\r\n\r\n // Unsorted list item component\r\n DomComponents.addType(\"ulistitem\", {\r\n isComponent: (el) => {\r\n if (el.tagName === \"LI\" && el.classList.contains(\"ulistitem\")) {\r\n return {type: \"ulistitem\"};\r\n }\r\n },\r\n model: {\r\n defaults: {\r\n tagName: \"li\",\r\n draggable: \"ul\",\r\n attributes: {class: \"ulistitem\"},\r\n style: {\"text-align\": \"left\"},\r\n components: uListItemContent,\r\n traits: [\"id\", \"title\", ostTypeTextTrait(opts)],\r\n },\r\n },\r\n });\r\n\r\n // Unsorted list component with fontawesome\r\n DomComponents.addType(\"ulist\", {\r\n isComponent: (el) => {\r\n if (el.tagName === \"UL\" && el.classList.contains(\"ulist\")) {\r\n return {type: \"ulist\"};\r\n }\r\n },\r\n model: {\r\n defaults: {\r\n tagName: \"ul\",\r\n attributes: {class: \"ulist fa-ul\"},\r\n style: {\r\n padding: \"0.2em 0\",\r\n \"margin-left\": \"2em\",\r\n \"line-height\": \"1.4em\",\r\n },\r\n components: ulListItem + ulListItem + ulListItem,\r\n traits: [\r\n \"id\",\r\n ostTypeTextTrait(opts),\r\n ostTypeHideInSimpleHtmlTrait(opts),\r\n ],\r\n },\r\n },\r\n });\r\n\r\n // Header component\r\n DomComponents.addType(\"header\", {\r\n isComponent: (el) => {\r\n const headings = [\"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\"];\r\n if (el.tagName && headings.includes(el.tagName.toLowerCase())) {\r\n return {type: \"header\"};\r\n }\r\n },\r\n extend: \"text\",\r\n model: {\r\n defaults: {\r\n tagName: \"h1\", //Default\r\n traits: [\r\n \"id\",\r\n ostTypeTextTrait(opts),\r\n ostTypeHideInSimpleHtmlTrait(opts),\r\n ],\r\n },\r\n },\r\n });\r\n\r\n // Icon component\r\n DomComponents.addType(\"icon\", {\r\n isComponent: (el) => {\r\n var classNames = [\r\n \"fa\",\r\n \"fas\",\r\n \"far\",\r\n \"fab\",\r\n \"fa-solid\",\r\n \"fa-regular\",\r\n \"fa-brands\",\r\n ];\r\n if (\r\n el.tagName === \"I\" &&\r\n classNames.some((className) => el.classList.contains(className))\r\n ) {\r\n return {type: \"icon\"};\r\n }\r\n },\r\n model: {\r\n defaults: {\r\n tagName: \"i\",\r\n attributes: {class: \"fas fa-star\"},\r\n draggable: false,\r\n droppable: false,\r\n removable: false,\r\n copyable: false,\r\n traits: [iconTrait(opts), ostTypeHideInSimpleHtmlTrait(opts)],\r\n },\r\n },\r\n });\r\n\r\n // Add ostendis type trait to table components\r\n DomComponents.addType(\"table\", {\r\n model: {\r\n defaults: {\r\n traits: [\r\n \"id\",\r\n ostTypeTextTrait(opts),\r\n ostTypeHideInSimpleHtmlTrait(opts),\r\n ],\r\n },\r\n },\r\n });\r\n\r\n // Add ostendis type trait to link components\r\n DomComponents.addType(\"link\", {\r\n model: {\r\n defaults: {\r\n traits: [\r\n \"id\",\r\n \"href\",\r\n \"target\",\r\n ostTypeTextTrait(opts),\r\n ostTypeHideInSimpleHtmlTrait(opts),\r\n ],\r\n },\r\n },\r\n });\r\n\r\n // Add ostendis type trait to image components\r\n DomComponents.addType(\"image\", {\r\n model: {\r\n defaults: {\r\n traits: [\r\n \"id\",\r\n \"alt\",\r\n ostTypeImageTrait(opts),\r\n ostTypeHideInSimpleHtmlTrait(opts),\r\n ],\r\n },\r\n },\r\n });\r\n\r\n // Add ostendis type trait to text components\r\n DomComponents.addType(\"textnode\", {\r\n model: {\r\n defaults: {\r\n traits: [\r\n \"id\",\r\n ostTypeTextTrait(opts),\r\n ostTypeHideInSimpleHtmlTrait(opts),\r\n ],\r\n },\r\n },\r\n });\r\n\r\n // Add ostendis type trait to text components\r\n DomComponents.addType(\"text\", {\r\n model: {\r\n defaults: {\r\n traits: [\r\n \"id\",\r\n ostTypeTextTrait(opts),\r\n ostTypeHideInSimpleHtmlTrait(opts),\r\n ],\r\n },\r\n },\r\n });\r\n\r\n // Add ostendis type trait to default components\r\n DomComponents.addType(\"default\", {\r\n model: {\r\n defaults: {\r\n traits: [\r\n \"id\",\r\n ostTypeTextTrait(opts),\r\n ostTypeHideInSimpleHtmlTrait(opts),\r\n ],\r\n },\r\n },\r\n });\r\n};\r\n","import PluginOptions from \"./pluginOptions\";\r\nimport { ostTrans } from \"./ostTranslations\";\r\n\r\nexport const cmdDeviceDesktop = \"set-device-desktop\";\r\nexport const cmdDeviceTablet = \"set-device-tablet\";\r\nexport const cmdDeviceMobile = \"set-device-mobile\";\r\n\r\nexport const nameTrait = {\r\n name: \"name\",\r\n};\r\n\r\nexport const valueTrait = {\r\n name: \"value\",\r\n label: ostTrans.traitBlkValue,\r\n};\r\n\r\nexport const uListItemContent = `\r\n <span class=\"fa-li\" style=\"left:-2em;width:2em;\" draggable=\"false\" removable=\"false\" editable=\"false\" copyable=\"false\">\r\n <i class=\"fas fa-circle\" data-gjs-type=\"icon\" style=\"font-size:0.4em;line-height:inherit;display:block;\" draggable=\"false\" removable=\"false\" editable=\"false\" copyable=\"false\"></i>\r\n </span>\r\n <div draggable=\"false\" removable=\"false\" copyable=\"false\">Text</div>`;\r\n\r\nexport const ulListItem =\r\n `<li style=\"text-align:left\" data-gjs-type=\"ulistitem\">` +\r\n uListItemContent +\r\n `</li>`;\r\n\r\n// Comprehensive bullet point patterns for detection and removal\r\nexport const BULLET_PATTERNS: readonly RegExp[] = [\r\n // Parenthesized numeric/alphabetic markers: (1), (a), (A)\r\n /^\\(\\d+\\)\\s+/,\r\n /^\\([a-zA-Z]\\)\\s+/,\r\n\r\n // Hierarchical numbering: 1. / 1) / 1.2. / 2.3.4)\r\n /^\\d+(?:\\.\\d+)*[.)]\\s+/,\r\n\r\n // Single alphabetic list markers: a) a. A) A.\r\n /^[a-zA-Z][.)]\\s+/,\r\n\r\n // Roman numerals (bounded, followed by . or ) and space)\r\n /^[IVXLCDM]{1,12}[.)]\\s+/i,\r\n\r\n // Word style lowercase o bullet (kept broad per request)\r\n /^o\\s+/i,\r\n\r\n // Basic ASCII bullets (hyphen, asterisk, plus)\r\n /^[-*+]\\s+/,\r\n\r\n // Dashes often used as bullets (en/em)\r\n /^[–—]\\s+/,\r\n\r\n // Common Unicode bullets & similar symbols\r\n /^[•·▪▫‣⁃◦‧⦿⦾⚬]/u,\r\n\r\n // Private use (Word/Wingdings)\r\n /^[\\uF0A7\\uF0B6\\uF0FC\\uF0A8\\uF076\\uF0D8\\uF0E0]/u,\r\n\r\n // Section sign\r\n /^§\\s+/u,\r\n\r\n // Circles and dots\r\n /^[○●◘◙]/u,\r\n\r\n // Squares\r\n /^[■□]/u,\r\n\r\n // Diamonds\r\n /^[◆◇⬥❖]/u,\r\n\r\n // Arrows (incl. guillemets)\r\n /^[►➔➢➤→⇒▸▹⏵⮚›»]/u,\r\n\r\n // Checkmarks\r\n /^[✓✗]/u,\r\n\r\n // Stars and similar asterisks\r\n /^[⭐✦✧✱✲✳✴]/u,\r\n\r\n // Circled numbers ①-⑳\r\n /^[\\u2460-\\u2473]/u,\r\n\r\n // Circled zero variants\r\n /^[⓪⓿]/u,\r\n\r\n // Circled lowercase letters ⓐ-ⓩ\r\n /^[\\u24D0-\\u24E9]/u,\r\n\r\n // Circled uppercase letters Ⓐ-Ⓩ\r\n /^[\\u24B6-\\u24CF]/u,\r\n\r\n // HTML named entities\r\n /^•\\s+/,\r\n /^·\\s+/,\r\n\r\n // HTML decimal entities (selected)\r\n /^•\\s+/, // •\r\n /^‣\\s+/, // ‣\r\n /^⁃\\s+/, // ⁃\r\n /^→\\s+/, // →\r\n /^⇒\\s+/, // ⇒\r\n /^■\\s+/, // ■\r\n /^□\\s+/, // □\r\n /^◆\\s+/, // ◆\r\n /^◇\\s+/, // ◇\r\n /^○\\s+/, // ○\r\n /^●\\s+/, // ●\r\n /^➤\\s+/, // ➤\r\n] as const;\r\n\r\n// Define ostendis type trait for text and default components\r\nexport function ostTypeTextTrait(opts: Required<PluginOptions>) {\r\n return {\r\n type: \"ost-blocks-select\",\r\n label: \"Ostendis Blocks\",\r\n name: \"data-ost-type\",\r\n attributes: {\r\n \"data-tooltip\": opts.t9n.traitBlkOstendisTooltip,\r\n \"data-tooltip-pos\": \"bottom\",\r\n },\r\n options: [\r\n { id: \"\", name: opts.t9n.traitOstNone },\r\n { id: \"organizationHeading\", name: opts.t9n.traitOstOrganizationHeading },\r\n { id: \"organization\", name: opts.t9n.traitOstOrganization },\r\n { id: \"introductionHeading\", name: opts.t9n.traitOstIntroductionHeading },\r\n { id: \"introduction\", name: opts.t9n.traitOstIntroduction },\r\n { id: \"descriptionHeading\", name: opts.t9n.traitOstDescriptionHeading },\r\n { id: \"description\", name: opts.t9n.traitOstDescription },\r\n { id: \"tasksHeading\", name: opts.t9n.traitOstTasksHeading },\r\n { id: \"tasks\", name: opts.t9n.traitOstTasks },\r\n { id: \"requirementsHeading\", name: opts.t9n.traitOstRequirementsHeading },\r\n { id: \"requirements\", name: opts.t9n.traitOstRequirements },\r\n { id: \"benefitsHeading\", name: opts.t9n.traitOstBenefitsHeading },\r\n { id: \"benefits\", name: opts.t9n.traitOstBenefits },\r\n { id: \"contactHeading\", name: opts.t9n.traitOstContactHeading },\r\n { id: \"contact\", name: opts.t9n.traitOstContact },\r\n { id: \"calltoaction\", name: opts.t9n.traitOstCallToAction },\r\n ],\r\n };\r\n}\r\n// Define ostendis type trait for images\r\nexport function ostTypeImageTrait(opts: Required<PluginOptions>) {\r\n return {\r\n type: \"ost-blocks-select\",\r\n label: \"Ostendis Blocks\",\r\n name: \"data-ost-type\",\r\n attributes: {\r\n \"data-tooltip\": opts.t9n.traitBlkOstendisTooltip,\r\n \"data-tooltip-pos\": \"bottom\",\r\n },\r\n options: [\r\n { id: \"\", name: opts.t9n.traitOstNone },\r\n { id: \"logoPicURL\", name: opts.t9n.traitOstLogoPicURL },\r\n { id: \"headerPic1URL\", name: opts.t9n.traitOstHeaderPic1URL },\r\n { id: \"headerPic2URL\", name: opts.t9n.traitOstHeaderPic2URL },\r\n { id: \"headerPic3URL\", name: opts.t9n.traitOstHeaderPic3URL },\r\n { id: \"footerPic1URL\", name: opts.t9n.traitOstFooterPic1URL },\r\n { id: \"footerPic2URL\", name: opts.t9n.traitOstFooterPic2URL },\r\n { id: \"footerPic3URL\", name: opts.t9n.traitOstFooterPic3URL },\r\n { id: \"additionalPic1URL\", name: opts.t9n.traitOstAdditionalPic1URL },\r\n { id: \"additionalPic2URL\", name: opts.t9n.traitOstAdditionalPic2URL },\r\n { id: \"additionalPic3URL\", name: opts.t9n.traitOstAdditionalPic3URL },\r\n ],\r\n };\r\n}\r\n// Define ostendis type \"hide in simple html\"\r\nexport function ostTypeHideInSimpleHtmlTrait(opts: Required<PluginOptions>) {\r\n return {\r\n type: \"checkbox\",\r\n label: opts.t9n.hideInSimpleHtmlLabel,\r\n name: \"data-ost-simple-hide\",\r\n attributes: {\r\n \"data-tooltip\": opts.t9n.hideInSimpleHtmlTooltip,\r\n \"data-tooltip-pos\": \"bottom\",\r\n },\r\n valueTrue: \"1\",\r\n valueFalse: \"\",\r\n };\r\n}\r\n// Define ostendis type trait for icons\r\nexport function iconTrait(opts: Required<PluginOptions>) {\r\n return {\r\n type: \"select\",\r\n label: \"Icon\",\r\n name: \"class\",\r\n attributes: {\r\n id: \"select-fontawesome\",\r\n \"data-tooltip\": opts.t9n.labelIconTooltip,\r\n \"data-tooltip-pos\": \"bottom\",\r\n },\r\n options: [\r\n { id: \"fas fa-minus\", name: opts.t9n.labelIconSelectMinus },\r\n { id: \"fas fa-circle\", name: opts.t9n.labelIconSelectCircleSolid },\r\n { id: \"far fa-circle\", name: opts.t9n.labelIconSelectCircle },\r\n { id: \"fas fa-check\", name: opts.t9n.labelIconSelectCheck },\r\n { id: \"fas fa-square\", name: opts.t9n.labelIconSelectSquare },\r\n { id: \"fas fa-arrow-right\", name: opts.t9n.labelIconSelectArrowRight },\r\n { id: \"fas fa-check-circle\", name: opts.t9n.labelIconSelectCheckCircle },\r\n { id: \"far fa-clock\", name: opts.t9n.labelIconSelectClock },\r\n { id: \"fas fa-percent\", name: opts.t9n.labelIconSelectPercent },\r\n { id: \"far fa-building\", name: opts.t9n.labelIconSelectBuilding },\r\n { id: \"fas fa-home\", name: opts.t9n.labelIconSelectHome },\r\n { id: \"fas fa-globe\", name: opts.t9n.labelIconSelectGlobe },\r\n { id: \"far fa-file\", name: opts.t9n.labelIconSelectFile },\r\n { id: \"fas fa-utensils\", name: opts.t9n.labelIconSelectUtensils },\r\n { id: \"far fa-calendar-alt\", name: opts.t9n.labelIconSelectCalendar },\r\n { id: \"far fa-hourglass\", name: opts.t9n.labelIconSelectHourglass },\r\n { id: \"fas fa-map-marker-alt\", name: opts.t9n.labelIconSelectMapMarker },\r\n { id: \"fas fa-road\", name: opts.t9n.labelIconSelectRoad },\r\n { id: \"fas fa-coffee\", name: opts.t9n.labelIconSelectCoffee },\r\n { id: \"fas fa-phone\", name: opts.t9n.labelIconSelectPhone },\r\n { id: \"fas fa-envelope\", name: opts.t9n.labelIconSelectEnvelope },\r\n { id: \"fas fa-star\", name: opts.t9n.labelIconSelectStar },\r\n ],\r\n };\r\n}\r\n","import type { OstTranslations } from \"./pluginOptions\";\r\n\r\nexport const ostTrans: OstTranslations = {\r\n cmdBtnDesktopLabel: \"Desktop\",\r\n cmdBtnTabletLabel: \"Tablet\",\r\n cmdBtnMobileLabel: \"Mobile\",\r\n\r\n cmdBtnViewCompLabel: \"View components\",\r\n cmdBtnUndoLabel: \"Undo\",\r\n cmdBtnRedoLabel: \"Redo\",\r\n\r\n openTraits: \"Open Parameter\",\r\n\r\n categoryLabel: \"Basic\",\r\n smSitesCategoryLabel: \"Social media sites\",\r\n smSharesCategoryLabel: \"Social media shares\",\r\n sharesCategoryLabel: \"Shares\",\r\n\r\n traitBlkValue: \"Value\",\r\n\r\n traitHeaderLabel: \"Header Level\",\r\n traitHeaderSelectH1: \"H1 (highest)\",\r\n traitHeaderSelectH2: \"H2\",\r\n traitHeaderSelectH3: \"H3\",\r\n traitHeaderSelectH4: \"H4\",\r\n traitHeaderSelectH5: \"H5\",\r\n traitHeaderSelectH6: \"H6 (lowest)\",\r\n\r\n traitBlkOstendisTooltip: \"Define Ostendis block.\",\r\n traitOstNone: \"None\",\r\n traitOstOrganizationHeading: \"Organization Heading\",\r\n traitOstOrganization: \"Organization\",\r\n traitOstIntroductionHeading: \"Introduction Heading\",\r\n traitOstIntroduction: \"Introduction\",\r\n traitOstDescriptionHeading: \"Description Heading\",\r\n traitOstDescription: \"Description\",\r\n traitOstTasksHeading: \"Tasks Heading\",\r\n traitOstTasks: \"Tasks\",\r\n traitOstRequirementsHeading: \"Requirements Heading\",\r\n traitOstRequirements: \"Requirements\",\r\n traitOstBenefitsHeading: \"Benefits Heading\",\r\n traitOstBenefits: \"Benefits\",\r\n traitOstContactHeading: \"Contact Heading\",\r\n traitOstContact: \"Contact\",\r\n traitOstCallToAction: \"Call to action\",\r\n\r\n traitOstLogoPicURL: \"Logo Image\",\r\n traitOstHeaderPic1URL: \"Header Image 1\",\r\n traitOstHeaderPic2URL: \"Header Image 2\",\r\n traitOstHeaderPic3URL: \"Header Image 3\",\r\n traitOstFooterPic1URL: \"Footer Image 1\",\r\n traitOstFooterPic2URL: \"Footer Image 2\",\r\n traitOstFooterPic3URL: \"Footer Image 3\",\r\n traitOstAdditionalPic1URL: \"Additional Image 1\",\r\n traitOstAdditionalPic2URL: \"Additional Image 2\",\r\n traitOstAdditionalPic3URL: \"Additional Image 3\",\r\n traitOstVideoURL: \"Video\",\r\n\r\n hideInSimpleHtmlLabel: \"Hide\",\r\n hideInSimpleHtmlTooltip: \"Hide element in simple HTML (jobs.ch)\",\r\n\r\n labelIconTooltip: \"For more icons: change class name in style manager.\",\r\n labelIconSelectMinus: \"minus\",\r\n labelIconSelectCircleSolid: \"circle solid\",\r\n labelIconSelectCircle: \"circle\",\r\n labelIconSelectCheck: \"check\",\r\n labelIconSelectSquare: \"square\",\r\n labelIconSelectArrowRight: \"arrow right\",\r\n labelIconSelectCheckCircle: \"check circle\",\r\n labelIconSelectClock: \"clock\",\r\n labelIconSelectPercent: \"percent\",\r\n labelIconSelectBuilding: \"building\",\r\n labelIconSelectHome: \"home\",\r\n labelIconSelectGlobe: \"globe\",\r\n labelIconSelectFile: \"file\",\r\n labelIconSelectUtensils: \"utensils\",\r\n labelIconSelectCalendar: \"calendar\",\r\n labelIconSelectHourglass: \"hourglass\",\r\n labelIconSelectMapMarker: \"map marker\",\r\n labelIconSelectRoad: \"road\",\r\n labelIconSelectCoffee: \"coffee\",\r\n labelIconSelectPhone: \"phone\",\r\n labelIconSelectEnvelope: \"envelope\",\r\n labelIconSelectStar: \"star\",\r\n\r\n labelScalePercent: \"Percent\",\r\n labelScaleBarColor: \"Color 1\",\r\n labelScaleBgColor: \"Color 2\",\r\n\r\n labelPasteFromWord: \"Paste from Word\",\r\n labelPasteFromWordButton: \"Replace List Content\",\r\n labelPasteFromWordPlaceholder: \"Paste your Word list content here...\",\r\n labelPasteFromWordText: \"Paste your list content from Word text editor below.</br>The formatting will be cleaned and converted to list items. This will replace all existing content in the list.\",\r\n ostToolbarPasteFromWord: \"Paste from Word\",\r\n\r\n ostToolbarClone: \"Clone list element\",\r\n ostToolbarDelete: \"Delete list element\",\r\n ostToolbarUp: \"Move list element up\",\r\n ostToolbarDown: \"Move list element down\",\r\n cmdRteRemoveFormat: \"Remove format\"\r\n};\r\n","import type { Editor } from \"grapesjs\";\r\nimport PluginOptions from \"./pluginOptions\";\r\nimport { cmdDeviceDesktop, cmdDeviceMobile, cmdDeviceTablet } from \"./consts\";\r\n\r\nexport default (editor: Editor, opts: Required<PluginOptions>) => {\r\n const { Panels } = editor;\r\n const openTraits = \"open-tm\";\r\n const activateOutline = \"sw-visibility\";\r\n\r\n // Turn off default devices select and create new one\r\n editor.getConfig().showDevices = false;\r\n\r\n Panels.getPanels().reset([\r\n {\r\n id: \"commands\",\r\n buttons: [{}],\r\n },\r\n {\r\n id: \"devices-c\",\r\n buttons: [\r\n {\r\n id: cmdDeviceDesktop,\r\n command: cmdDeviceDesktop,\r\n className: \"fa-solid fa-desktop\",\r\n attributes: {\r\n \"data-tooltip\": opts.t9n.cmdBtnDesktopLabel,\r\n \"data-tooltip-pos\": \"bottom\",\r\n },\r\n active: true,\r\n },\r\n {\r\n id: cmdDeviceTablet,\r\n command: cmdDeviceTablet,\r\n className: \"fa-solid fa-tablet-screen-button\",\r\n attributes: {\r\n \"data-tooltip\": opts.t9n.cmdBtnTabletLabel,\r\n \"data-tooltip-pos\": \"bottom\",\r\n },\r\n },\r\n {\r\n id: cmdDeviceMobile,\r\n command: cmdDeviceMobile,\r\n className: \"fa-solid fa-mobile-screen-button\",\r\n attributes: {\r\n \"data-tooltip\": opts.t9n.cmdBtnMobileLabel,\r\n \"data-tooltip-pos\": \"bottom\",\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n id: \"options\",\r\n buttons: [\r\n {\r\n id: activateOutline,\r\n command: activateOutline,\r\n context: activateOutline,\r\n className: \"fa-solid fa-border-none\",\r\n attributes: {\r\n \"data-tooltip\": opts.t9n.cmdBtnViewCompLabel,\r\n \"data-tooltip-pos\": \"bottom\",\r\n },\r\n },\r\n {\r\n id: \"undo\",\r\n command: \"core:undo\",\r\n className: \"fa-solid fa-rotate-left\",\r\n attributes: {\r\n \"data-tooltip\": opts.t9n.cmdBtnUndoLabel,\r\n \"data-tooltip-pos\": \"bottom\",\r\n },\r\n },\r\n {\r\n id: \"redo\",\r\n command: \"core:redo\",\r\n className: \"fa-solid fa-rotate-right\",\r\n attributes: {\r\n \"data-tooltip\": opts.t9n.cmdBtnRedoLabel,\r\n \"data-tooltip-pos\": \"bottom\",\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n id: \"views\",\r\n buttons: [\r\n {\r\n id: openTraits,\r\n command: openTraits,\r\n togglable: false,\r\n className: \"fa-solid fa-gear\",\r\n attributes: {\r\n \"data-tooltip\": opts.t9n.openTraits,\r\n \"data-tooltip-pos\": \"bottom\",\r\n },\r\n },\r\n ],\r\n },\r\n ]);\r\n\r\n // Do stuff on load\r\n editor.onReady(() => {\r\n if (opts.showOutlineOnLoad) {\r\n const btn = Panels.getButton(\"options\", activateOutline);\r\n btn?.set(\"active\", true);\r\n }\r\n\r\n if (opts.showTraitsOnLoad) {\r\n const btn = Panels.getButton(\"views\", openTraits);\r\n btn?.set(\"active\", true);\r\n }\r\n //Beautify tooltips\r\n document.querySelectorAll(\"*[data-tooltip-pos]\").forEach((el) => {\r\n const title = el.getAttribute(\"title\")?.trim();\r\n if (title) {\r\n el.setAttribute(\"data-tooltip\", title);\r\n el.removeAttribute(\"title\");\r\n }\r\n });\r\n });\r\n};\r\n","import type { Editor } from \"grapesjs\";\r\nimport PluginOptions from \"./pluginOptions\";\r\n\r\nexport default async (editor: Editor, opts: Required<PluginOptions>) => {\r\n const { RichTextEditor } = editor;\r\n\r\n RichTextEditor.add(\"removeFormat\", {\r\n icon: '<i class=\"fa-solid fa-text-slash\"></i>',\r\n attributes: { title: opts.t9n.cmdRteRemoveFormat },\r\n\r\n result: (rte) => rte.exec(\"removeFormat\"),\r\n });\r\n};\r\n","import type { Editor } from \"grapesjs\";\r\nimport PluginOptions from \"./pluginOptions\";\r\n\r\nexport default (editor: Editor, opts: Required<PluginOptions>) => {\r\n const { TraitManager } = editor;\r\n\r\n // Ostendis-Blocks trait\r\n TraitManager.addType(\"ost-blocks-select\", {\r\n createInput({ trait }) {\r\n const traitOpts = trait.get(\"options\") || [];\r\n const traitName = trait.get(\"name\") || \"ost-block-select\";\r\n const options = traitOpts.length\r\n ? traitOpts\r\n : [{ id: \"\", name: \"None\", disabled: \"disabled\" }];\r\n\r\n const el = document.createElement(\"div\");\r\n el.innerHTML = `\r\n <select class=\"ost-blocks-select\" id=\"${traitName}\">\r\n ${options\r\n .map(\r\n (opt) =>\r\n `<option value=\"${opt.id}\" ${opt.disabled}>${opt.name}</option>`\r\n )\r\n .join(\"\")}\r\n </select>\r\n <div class=\"gjs-sel-arrow\">\r\n <div class=\"gjs-d-s-arrow\"></div>\r\n </div>`;\r\n return el;\r\n },\r\n onEvent({ elInput, component, trait }) {\r\n const traitName = trait.get(\"name\") || \"ost-block-select-default\";\r\n let element = elInput.querySelector(\r\n \"#\" + [traitName]\r\n ) as HTMLSelectElement;\r\n const dataOstType = element.value;\r\n\r\n if (dataOstType == \"\") {\r\n component.removeAttributes(traitName);\r\n } else {\r\n component.addAttributes({ [traitName]: dataOstType });\r\n }\r\n updateTrait(element);\r\n },\r\n onUpdate({ elInput, component, trait }) {\r\n const traitName = trait.get(\"name\") || \"ost-block-select-default\";\r\n\r\n if (elInput !== null) {\r\n let element = elInput.querySelector(\r\n \"#\" + [traitName]\r\n ) as HTMLSelectElement;\r\n updateTrait(element);\r\n\r\n // Set select\r\n const dataOstType = component.getAttributes()[traitName] || \"\";\r\n element = elInput.querySelector(\"#\" + [traitName]) as HTMLSelectElement;\r\n element.value = dataOstType;\r\n }\r\n },\r\n });\r\n\r\n // Range trait\r\n TraitManager.addType(\"value\", {\r\n label: opts.t9n.traitBlkValue,\r\n min: 0, // Minimum number value\r\n max: 100, // Maximum number value\r\n events: {\r\n keyup: \"onChange\",\r\n },\r\n\r\n onValueChange() {\r\n const { model, target } = this;\r\n const optionsStr = model.get(\"value\").trim();\r\n const options = optionsStr.split(\"\\n\");\r\n const optComps = [];\r\n\r\n for (let i = 0; i < options.length; i++) {\r\n const optionStr = options[i];\r\n const option = optionStr.split(\"::\");\r\n optComps.push({\r\n type: \"range\",\r\n components: option[1] || option[0],\r\n attributes: { value: option[0] },\r\n });\r\n }\r\n\r\n target.components().reset(optComps);\r\n target?.view?.render();\r\n },\r\n });\r\n\r\n function updateTrait(element: HTMLSelectElement) {\r\n // Set Array to 0\r\n opts.usedOstBlocks.forEach((el) => {\r\n el.count = 0;\r\n });\r\n\r\n var wrapper = editor.DomComponents.getWrapper();\r\n var elements = wrapper?.view?.$el.find(\"[data-ost-type]\").get();\r\n\r\n // List all data-ost-type\r\n elements?.forEach((element) => {\r\n var type = element.getAttribute(\"data-ost-type\") || \"\";\r\n let index = opts.usedOstBlocks.findIndex((item) => item.name === type);\r\n if (index === -1) {\r\n opts.usedOstBlocks.push({ name: type, count: 1 });\r\n } else {\r\n opts.usedOstBlocks[index].count++;\r\n }\r\n });\r\n\r\n // Display update select input\r\n Array.from(element.options).forEach(function (optionElement, optionIndex) {\r\n if (optionElement.value != \"\") {\r\n const usedOstBlockIndex = opts.usedOstBlocks.findIndex(\r\n (e) => e.name === optionElement.value\r\n );\r\n\r\n // Reset\r\n var optionEl = element.options[optionIndex];\r\n optionEl.text = optionEl.text.replace(/^\\(.*\\)\\s*/g, \"\");\r\n optionEl.removeAttribute(\"class\");\r\n optionEl.removeAttribute(\"disabled\");\r\n\r\n if (usedOstBlockIndex > -1) {\r\n if (opts.usedOstBlocks[usedOstBlockIndex].count == 1) {\r\n optionEl.innerHTML = \"(✓) \" + optionEl.text;\r\n optionEl.classList.add(\"gjs-select-option-ok\");\r\n optionEl.disabled = true;\r\n } else if (opts.usedOstBlocks[usedOstBlockIndex].count > 1) {\r\n optionEl.innerHTML =\r\n \"(! \" +\r\n opts.usedOstBlocks[usedOstBlockIndex].count +\r\n \"×) \" +\r\n optionEl.text;\r\n optionEl.classList.add(\"gjs-select-option-nok\");\r\n optionEl.disabled = true;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n};\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\tif (!(moduleId in __webpack_modules__)) {\n\t\tdelete __webpack_module_cache__[moduleId];\n\t\tvar e = new Error(\"Cannot find module '\" + moduleId + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import type {Component, Plugin} from \"grapesjs\";\r\nimport loadBlocks from \"./blocks\";\r\nimport loadCommands from \"./commands\";\r\nimport loadPanels from \"./panels\";\r\nimport loadTraits from \"./traits\";\r\nimport loadComponents from \"./components\";\r\nimport loadRte from \"./rte\";\r\nimport PluginOptions from \"./pluginOptions\";\r\nimport {ostTrans} from \"./ostTranslations\";\r\n\r\nexport type RequiredPluginOptions = Required<PluginOptions>;\r\n\r\ntype ToolbarButton = {\r\n attributes?: {\r\n class?: string;\r\n \"data-tooltip\"?: string;\r\n \"data-tooltip-pos\"?: \"bottom\",\r\n };\r\n label?: string;\r\n command: string;\r\n};\r\n\r\nconst plugin: Plugin<PluginOptions> = async (\r\n editor,\r\n opts: Partial<PluginOptions> = {}\r\n) => {\r\n let config = editor.getConfig();\r\n\r\n const options: RequiredPluginOptions = {\r\n blocks: [],\r\n block: () => ({}),\r\n usedOstBlocks: [],\r\n cmdOpenImport: \"gjs-open-import-template\",\r\n codeViewerTheme: \"hopscotch\",\r\n inlineCss: true,\r\n showStylesOnChange: true,\r\n showTraitsOnLoad: true,\r\n showOutlineOnLoad: true,\r\n t9n: ostTrans,\r\n ...opts,\r\n };\r\n\r\n // Change some config\r\n config.devicePreviewMode = true;\r\n\r\n loadComponents(editor, options);\r\n loadTraits(editor, options);\r\n await loadCommands(editor, options);\r\n loadBlocks(editor, options);\r\n loadPanels(editor, options);\r\n await loadRte(editor, options);\r\n\r\n // On load\r\n editor.on(\"load\", () => {\r\n // Create ostendis toolbar\r\n const tools = document.getElementById(\"gjs-tools\");\r\n const ostTools = document.createElement(\"div\");\r\n ostTools.classList.add(\"gjs-ost-toolbar\");\r\n tools?.append(ostTools);\r\n });\r\n\r\n // On selected components\r\n editor.on(\"component:selected\", () => {\r\n let selected = editor.getSelected();\r\n\r\n if (selected != undefined) {\r\n // Disable all actions for all components\r\n selected.set({\r\n draggable: false,\r\n removable: false,\r\n copyable: false,\r\n });\r\n\r\n if (selected.is(\"ulistitem\")) {\r\n // LI itself - show only select-parent\r\n selected.set({\r\n toolbar: [\r\n {\r\n attributes: {class: \"fa-solid fa-arrow-up\"},\r\n command: \"select-parent\",\r\n },\r\n ],\r\n });\r\n showOstToolbar(selected);\r\n } else if (selected.isChildOf(\"ulistitem\")) {\r\n // Content inside LI - show only select-parent\r\n const liContentToolbar: ToolbarButton[] = [\r\n {\r\n attributes: {class: \"fa-solid fa-arrow-up\"},\r\n command: \"select-parent\",\r\n },\r\n ];\r\n selected.set({\r\n toolbar: liContentToolbar,\r\n });\r\n showOstToolbar(selected.closestType(\"ulistitem\"));\r\n } else if (selected.getEl()?.tagName === \"LI\") {\r\n // Regular LI - show only select-parent\r\n selected.set({\r\n toolbar: [\r\n {\r\n attributes: {class: \"fa-solid fa-arrow-up\"},\r\n command: \"select-parent\",\r\n },\r\n ],\r\n });\r\n //If list element is empty replace with placeholder text (M&E case:)\r\n if (selected.components().length === 0 && !selected.get(\"content\")) {\r\n const selectedPosition = selected.index();\r\n const newComponent = selected\r\n .parent()\r\n ?.append(\"<li>Text</li>\", {at: selectedPosition});\r\n selected.remove();\r\n editor.select(newComponent);\r\n selected = editor.getSelected();\r\n }\r\n showOstToolbar(selected);\r\n } else if (isChildOfElement(selected.getEl(), \"LI\")) {\r\n // Content inside regular LI - show only select-parent\r\n const liContentToolbar: ToolbarButton[] = [\r\n {\r\n attributes: {class: \"fa-solid fa-arrow-up\"},\r\n command: \"select-parent\",\r\n },\r\n ];\r\n selected.set({\r\n toolbar: liContentToolbar,\r\n });\r\n showOstToolbar(selected.closest(\"li\"));\r\n } else if (selected.getEl()?.tagName === \"UL\") {\r\n // UL is selected - show paste button first, select-parent at the end\r\n const ulToolbar: ToolbarButton[] = [\r\n {\r\n attributes: {\r\n class: \"fa-solid fa-file-word\",\r\n \"data-tooltip\": options.t9n.ostToolbarPasteFromWord,\r\n \"data-tooltip-pos\": \"bottom\"\r\n },\r\n command: \"paste-from-word\",\r\n },\r\n {\r\n label: '<svg viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M13,20H11V8L5.5,13.5L4.08,12.08L12,4.16L19.92,12.08L18.5,13.5L13,8V20Z\"></path></svg>',\r\n command: \"select-parent\",\r\n },\r\n ];\r\n\r\n selected.set({\r\n toolbar: ulToolbar,\r\n });\r\n\r\n // Hide OST toolbar for UL elements\r\n const ostToolbar = document.querySelector(\".gjs-ost-toolbar\");\r\n ostToolbar?.classList.remove(\"show\");\r\n } else {\r\n // For other elements, show default toolbar with only select-parent\r\n const defaultToolbar: ToolbarButton[] = [\r\n {\r\n label: '<svg viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M13,20H11V8L5.5,13.5L4.08,12.08L12,4.16L19.92,12.08L18.5,13.5L13,8V20Z\"></path></svg>',\r\n command: \"select-parent\",\r\n },\r\n ];\r\n\r\n selected.set({\r\n toolbar: defaultToolbar,\r\n });\r\n\r\n // Hide OST toolbar for other elements\r\n const ostToolbar = document.querySelector(\".gjs-ost-toolbar\");\r\n ostToolbar?.classList.remove(\"show\");\r\n }\r\n }\r\n });\r\n\r\n // On deselected components\r\n editor.on(\"component:deselected\", () => {\r\n const ostToolbar = document.querySelector(\".gjs-ost-toolbar\");\r\n ostToolbar?.classList.remove(\"show\");\r\n });\r\n\r\n function isChildOfElement(element: HTMLElement | undefined, tag: string) {\r\n while (element?.parentNode) {\r\n element = element.parentNode as HTMLElement;\r\n if (element.tagName === tag) return element;\r\n }\r\n return false;\r\n }\r\n\r\n function showOstToolbar(listItem: Component | undefined) {\r\n const elPos = listItem?.index() || 0;\r\n const elLast = listItem?.parent()?.getLastChild().index();\r\n\r\n const ostToolbar = document.querySelector(\".gjs-ost-toolbar\") as HTMLElement;\r\n if (ostToolbar != undefined) {\r\n ostToolbar.innerHTML = \"\";\r\n\r\n // Add clone button\r\n const cBtn = document.createElement(\"div\");\r\n cBtn.innerHTML =\r\n '<svg viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 3a9 9 0 0 0 0 18 9 9 0 0 0 0-18zm-1.3 3.88h2.6v3.82h3.82v2.6H13.3v3.82h-2.6V13.3H6.88v-2.6h3.82z\"/></svg>';\r\n cBtn.classList.add(\"gjs-ost-toolbar-item\", \"clone\");\r\n cBtn.title = options.t9n.ostToolbarClone;\r\n cBtn.addEventListener(\"click\", () => {\r\n listItem?.parent()?.append(listItem?.clone(), {at: elPos + 1});\r\n });\r\n ostToolbar.appendChild(cBtn);\r\n\r\n //Add delete button\r\n const dBtn = document.createElement(\"div\");\r\n dBtn.innerHTML =\r\n '<svg viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18zm5.12 7.7v2.6H6.88v-2.6z\"/></svg>';\r\n dBtn.title = options.t9n.ostToolbarDelete;\r\n dBtn.classList.add(\"gjs-ost-toolbar-item\", \"del\");\r\n if (elLast != 0) {\r\n dBtn.addEventListener(\"click\", () => {\r\n listItem?.remove();\r\n ostToolbar?.classList.remove(\"show\");\r\n });\r\n } else {\r\n dBtn.classList.add(\"disable\");\r\n }\r\n ostToolbar.appendChild(dBtn);\r\n\r\n // Add move up button\r\n const upBtn = document.createElement(\"div\");\r\n upBtn.innerHTML =\r\n '<svg viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M1.9 20.75 12 3.25l10.1 17.5Z\"/></svg>';\r\n upBtn.title = options.t9n.ostToolbarUp;\r\n upBtn.classList.add(\"gjs-ost-toolbar-item\", \"up\");\r\n if (elPos > 0) {\r\n upBtn.addEventListener(\"click\", () => {\r\n if (elPos && listItem?.parent() != undefined) {\r\n let parent = listItem.parent();\r\n if (parent) {\r\n listItem?.move(parent, {at: elPos - 1});\r\n }\r\n editor.selectRemove(listItem);\r\n editor.select(listItem);\r\n }\r\n });\r\n } else {\r\n upBtn.classList.add(\"disable\");\r\n }\r\n ostToolbar.appendChild(upBtn);\r\n\r\n // Add move down button\r\n const dwnBtn = document.createElement(\"div\");\r\n dwnBtn.innerHTML =\r\n '<svg viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M22.4 3.25 12 20.75 1.6 3.25Z\"/></svg>';\r\n dwnBtn.title = options.t9n.ostToolbarDown;\r\n dwnBtn.classList.add(\"gjs-ost-toolbar-item\", \"down\");\r\n if (elPos != elLast) {\r\n let toPos = elPos + 2;\r\n if (elPos == elLast) {\r\n toPos = 0;\r\n }\r\n dwnBtn.addEventListener(\"click\", () => {\r\n if (toPos && listItem?.parent() != undefined) {\r\n let parent = listItem.parent();\r\n if (parent) {\r\n listItem.move(parent, {at: toPos});\r\n }\r\n editor.selectRemove(listItem);\r\n editor.select(listItem);\r\n }\r\n });\r\n } else {\r\n dwnBtn.classList.add(\"disable\");\r\n }\r\n ostToolbar.appendChild(dwnBtn);\r\n\r\n // Add show\r\n ostToolbar.classList.add(\"show\");\r\n }\r\n }\r\n};\r\n\r\nexport default plugin;\r\n"],"names":[],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"grapesjs-preset-ostendis-simple.min.js","mappings":"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","sources":["webpack://@ostendis/grapesjs-preset-ostendis-simple/webpack/universalModuleDefinition","webpack://@ostendis/grapesjs-preset-ostendis-simple/./src/blocks.ts","webpack://@ostendis/grapesjs-preset-ostendis-simple/./src/commands.ts","webpack://@ostendis/grapesjs-preset-ostendis-simple/./src/components.ts","webpack://@ostendis/grapesjs-preset-ostendis-simple/./src/consts.ts","webpack://@ostendis/grapesjs-preset-ostendis-simple/./src/ostTranslations.ts","webpack://@ostendis/grapesjs-preset-ostendis-simple/./src/panels.ts","webpack://@ostendis/grapesjs-preset-ostendis-simple/./src/rte.ts","webpack://@ostendis/grapesjs-preset-ostendis-simple/./src/traits.ts","webpack://@ostendis/grapesjs-preset-ostendis-simple/webpack/bootstrap","webpack://@ostendis/grapesjs-preset-ostendis-simple/webpack/runtime/define property getters","webpack://@ostendis/grapesjs-preset-ostendis-simple/webpack/runtime/hasOwnProperty shorthand","webpack://@ostendis/grapesjs-preset-ostendis-simple/webpack/runtime/make namespace object","webpack://@ostendis/grapesjs-preset-ostendis-simple/./src/index.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"@ostendis/grapesjs-preset-ostendis-simple\"] = factory();\n\telse\n\t\troot[\"@ostendis/grapesjs-preset-ostendis-simple\"] = factory();\n})(Object(typeof globalThis !== 'undefined' ? globalThis : (typeof window !== 'undefined' ? window : this)), () => {\nreturn ","import type { Editor, BlockProperties } from \"grapesjs\";\r\nimport PluginOptions from \"./pluginOptions\";\r\n\r\nexport default function (editor: Editor, opts: Required<PluginOptions>) {\r\n const { Blocks } = editor;\r\n\r\n const addBlock = (id: string, blockDef: BlockProperties) => {\r\n opts.blocks.indexOf(id)! >= 0 &&\r\n editor.Blocks.add(id, {\r\n select: true,\r\n ...blockDef,\r\n ...opts.block(id),\r\n });\r\n };\r\n\r\n Blocks.getAll().reset();\r\n}\r\n","import type {Editor} from \"grapesjs\";\r\nimport PluginOptions from \"./pluginOptions\";\r\nimport {BULLET_PATTERNS, cmdDeviceDesktop, cmdDeviceMobile, cmdDeviceTablet} from \"./consts\";\r\n\r\nexport default async (editor: Editor, opts: Required<PluginOptions>) => {\r\n const {Commands} = editor;\r\n\r\n Commands.add(cmdDeviceDesktop, {\r\n run: (ed) => ed.setDevice(\"Desktop\"),\r\n stop: () => {\r\n },\r\n });\r\n\r\n Commands.add(cmdDeviceTablet, {\r\n run: (ed) => ed.setDevice(\"Tablet\"),\r\n stop: () => {\r\n },\r\n });\r\n\r\n Commands.add(cmdDeviceMobile, {\r\n run: (ed) => ed.setDevice(\"Mobile portrait\"),\r\n stop: () => {\r\n },\r\n });\r\n\r\n // Helper function to check if a line is a bullet point\r\n function isBulletPoint(line: string): boolean {\r\n const trimmedLine = line.trim();\r\n return BULLET_PATTERNS.some(pattern => pattern.test(trimmedLine));\r\n }\r\n\r\n // Helper function to remove bullet point markers\r\n function removeBulletPoint(line: string): string {\r\n let trimmedLine = line.trim();\r\n\r\n for (const pattern of BULLET_PATTERNS) {\r\n trimmedLine = trimmedLine.replace(pattern, '');\r\n }\r\n\r\n return trimmedLine.trim() || 'Text';\r\n }\r\n\r\n // Helper function to clean individual item content\r\n function cleanItemContent(content: string): string {\r\n content = content.replace(/<br\\s*\\/?>/gi, ' ');\r\n content = content.replace(/<[^>]+>/g, '');\r\n\r\n const entityMap: { [key: string]: string } = {\r\n '&': '&',\r\n '<': '<',\r\n '>': '>',\r\n '"': '\"',\r\n ''': \"'\",\r\n ' ': ' ',\r\n '•': '•',\r\n '‣': '‣',\r\n '⁃': '⁃',\r\n '•': '•',\r\n '·': '·'\r\n };\r\n\r\n for (const [entity, char] of Object.entries(entityMap)) {\r\n content = content.replace(new RegExp(entity, 'g'), char);\r\n }\r\n\r\n content = content.replace(/\\s+/g, ' ').trim();\r\n\r\n if (!content || /^[•·▪▫‣⁃◦‧⦿⦾\\-*+.()]+$/.test(content)) {\r\n content = 'Text';\r\n }\r\n\r\n return content;\r\n }\r\n\r\n // Helper function to clean Word content and convert to list items\r\n function cleanWordContentToListItems(content: string): string[] {\r\n content = content.replace(/<!--[\\s\\S]*?-->/g, '');\r\n content = content.replace(/<o:p\\s*\\/?>|<\\/o:p>/gi, '');\r\n content = content.replace(/<w:[\\s\\S]*?>/gi, '');\r\n content = content.replace(/\\s*mso-[^:]+:[^;\"]*;?/gi, '');\r\n content = content.replace(/\\s*class=\"[^\"]*Mso[^\"]*\"/gi, '');\r\n content = content.replace(/<span[^>]*>\\s*<\\/span>/gi, '');\r\n content = content.replace(/<p[^>]*>/gi, '\\n').replace(/<\\/p>/gi, '');\r\n content = content.replace(/[ \\t]+/g, ' ');\r\n content = content.replace(/\\n\\s+/g, '\\n');\r\n content = content.trim();\r\n\r\n let items: string[] = [];\r\n\r\n if (content.includes('<li>') || content.includes('<LI>')) {\r\n const liMatches = content.match(/<li[^>]*>(.*?)<\\/li>/gi);\r\n if (liMatches) {\r\n items = liMatches.map(li => {\r\n const itemContent = li.replace(/<li[^>]*>|<\\/li>/gi, '').trim();\r\n return cleanItemContent(itemContent);\r\n });\r\n }\r\n } else {\r\n const lines = content.split(/\\r?\\n/).map(line => line.trim()).filter(line => line.length > 0);\r\n\r\n for (const line of lines) {\r\n if (isBulletPoint(line)) {\r\n const itemContent = removeBulletPoint(line);\r\n const cleaned = cleanItemContent(itemContent);\r\n if (cleaned.trim().length > 0) {\r\n items.push(cleaned);\r\n }\r\n } else if (line.trim().length > 0) {\r\n const cleaned = cleanItemContent(line);\r\n if (cleaned.trim().length > 0) {\r\n items.push(cleaned);\r\n }\r\n }\r\n }\r\n }\r\n\r\n items = items.filter(item => item.trim().length > 0);\r\n if (items.length === 0) {\r\n items = ['Text'];\r\n }\r\n\r\n return items;\r\n }\r\n\r\n // Add Word paste command\r\n Commands.add(\"paste-from-word\", {\r\n run(editor) {\r\n const selected = editor.getSelected();\r\n if (!selected) return;\r\n\r\n if (selected.getEl()?.tagName !== \"UL\") {\r\n console.warn(\"Paste from Word is only available for UL elements\");\r\n return;\r\n }\r\n\r\n const modal = editor.Modal;\r\n const modalContent = `\r\n <div>\r\n <p id=\"paste-from-word-text\">${opts.t9n.labelPasteFromWordText}</p>\r\n <textarea id=\"paste-from-word-content\" placeholder=\"${opts.t9n.labelPasteFromWordPlaceholder}\"></textarea>\r\n <div id=\"paste-from-word-footer\">\r\n <button id=\"paste-from-word-apply\" class=\"gjs-btn-prim\">${opts.t9n.labelPasteFromWordButton}</button>\r\n </div>\r\n </div>\r\n `;\r\n\r\n modal.setTitle(opts.t9n.labelPasteFromWord);\r\n modal.setContent(modalContent);\r\n modal.open();\r\n\r\n setTimeout(() => {\r\n const textarea = document.getElementById('paste-from-word-content') as HTMLTextAreaElement;\r\n const applyBtn = document.getElementById('paste-from-word-apply');\r\n\r\n if (textarea) {\r\n textarea.focus();\r\n }\r\n\r\n if (applyBtn) {\r\n applyBtn.addEventListener('click', () => {\r\n if (textarea && selected) {\r\n const content = textarea.value;\r\n const listItems = cleanWordContentToListItems(content);\r\n\r\n selected.components().reset();\r\n\r\n selected.addAttributes({\r\n 'class': 'ulist fa-ul',\r\n 'style': 'padding: 0.2em 0; margin-left: 2em; line-height: 1.4em;'\r\n });\r\n\r\n listItems.forEach(itemContent => {\r\n const liHtml = `<li class=\"ulistitem\" style=\"text-align: left;\"><span class=\"fa-li\" style=\"left: -2em; width: 2em;\"><i class=\"fas fa-circle\" style=\"font-size: 0.4em; line-height: inherit; display: block;\"></i></span><div>${itemContent}</div></li>`;\r\n selected.append(liHtml);\r\n });\r\n\r\n modal.close();\r\n editor.trigger('component:update', selected);\r\n }\r\n });\r\n }\r\n\r\n if (textarea) {\r\n textarea.addEventListener('keydown', (e) => {\r\n if (e.ctrlKey && e.key === 'Enter') {\r\n applyBtn?.click();\r\n } else if (e.key === 'Escape') {\r\n modal.close();\r\n }\r\n });\r\n }\r\n }, 100);\r\n },\r\n });\r\n};\r\n","import type {Editor} from \"grapesjs\";\r\nimport PluginOptions from \"./pluginOptions\";\r\nimport {\r\n uListItemContent,\r\n ulListItem,\r\n ostTypeTextTrait,\r\n ostTypeImageTrait,\r\n ostTypeHideInSimpleHtmlTrait,\r\n iconTrait,\r\n nameTrait,\r\n valueTrait,\r\n} from \"./consts\";\r\n\r\nexport default (editor: Editor, opts: Required<PluginOptions>) => {\r\n const {DomComponents} = editor;\r\n\r\n // Add ostendis block trait to video components\r\n var dType = DomComponents.getType(\"video\");\r\n var dModel = dType?.model;\r\n var dView = dType?.view;\r\n const yt = \"yt\";\r\n const vi = \"vi\";\r\n const ytnc = \"ytnc\";\r\n\r\n DomComponents.addType(\"video\", {\r\n model: dModel.extend({\r\n updateTraits() {\r\n const {em} = this;\r\n const prov = this.get(\"provider\");\r\n let tagName = \"iframe\";\r\n let traits;\r\n\r\n switch (prov) {\r\n case yt:\r\n case ytnc:\r\n traits = this.getYoutubeTraits();\r\n break;\r\n case vi:\r\n traits = this.getVimeoTraits();\r\n break;\r\n default:\r\n tagName = \"video\";\r\n traits = this.getSourceTraits();\r\n }\r\n\r\n traits.push({\r\n type: \"select\",\r\n label: \"Ostendis Blocks\",\r\n name: \"data-ost-type\",\r\n options: [\r\n {id: \"\", name: opts.t9n.traitOstNone},\r\n {id: \"videoURL\", name: opts.t9n.traitOstVideoURL},\r\n ],\r\n });\r\n\r\n this.set({tagName}, {silent: true}); // avoid break in view\r\n this.set({traits});\r\n em.get(\"ready\") && em.trigger(\"component:toggled\");\r\n },\r\n }),\r\n view: dView,\r\n });\r\n\r\n // Scale the new range\r\n DomComponents.addType('scale', {\r\n isComponent: (el) => {\r\n return (\r\n el.tagName === 'DIV' &&\r\n (el.getAttribute('data-scale') === 'true' ||\r\n el.classList.contains('scale'))\r\n )\r\n },\r\n\r\n model: {\r\n defaults: {\r\n tagName: 'div',\r\n attributes: {\r\n 'data-scale': 'true',\r\n 'data-percent': '66',\r\n 'data-fcolor': '#2f2924',\r\n 'data-bgcolor': '#CCCCCC',\r\n 'aria-label': '66 %',\r\n role: 'img',\r\n },\r\n style: {\r\n 'box-sizing': 'border-box',\r\n 'height': '20px',\r\n 'max-width': '100%',\r\n 'background': 'linear-gradient(to right, #2f2924 66%, #CCCCCC 66%)',\r\n },\r\n traits: [\r\n 'id',\r\n {\r\n name: 'percent',\r\n type: 'number',\r\n min: 0,\r\n max: 100,\r\n label: opts.t9n.labelScalePercent,\r\n changeProp: true,\r\n },\r\n {\r\n name: 'fcolor',\r\n type: 'color',\r\n label: opts.t9n.labelScaleBarColor,\r\n placeholder: '#222222',\r\n changeProp: true,\r\n },\r\n {\r\n name: 'bgcolor',\r\n type: 'color',\r\n label: opts.t9n.labelScaleBgColor,\r\n placeholder: '#cccccc',\r\n changeProp: true,\r\n },\r\n ostTypeHideInSimpleHtmlTrait(opts),\r\n ],\r\n },\r\n\r\n init() {\r\n const attr = this.getAttributes()\r\n\r\n let p = parseInt(attr['data-percent'])\r\n let f = attr['data-fcolor']\r\n let b = attr['data-bgcolor']\r\n\r\n if (isNaN(p)) p = 66\r\n if (!f) f = '#2f2924'\r\n if (!b) b = '#CCCCCC'\r\n\r\n p = Math.max(0, Math.min(100, p))\r\n\r\n this.set('percent', p, {silent: true})\r\n this.set('bgcolor', b, {silent: true})\r\n this.set('fcolor', f, {silent: true})\r\n\r\n // Clean up stale background properties from saved HTML\r\n this.cleanupBackgroundStyles()\r\n\r\n const update = () => this.updateScale()\r\n this.on('change:percent', update)\r\n this.on('change:bgcolor', update)\r\n this.on('change:fcolor', update)\r\n },\r\n\r\n onRender() {\r\n this.updateScale()\r\n },\r\n\r\n cleanupBackgroundStyles() {\r\n const styles = this.getStyle() || {}\r\n // Remove stale background-image that conflicts with gradient\r\n delete styles['background-image']\r\n delete styles['background-position-x']\r\n delete styles['background-position-y']\r\n delete styles['background-size']\r\n delete styles['background-repeat']\r\n delete styles['background-attachment']\r\n delete styles['background-origin']\r\n delete styles['background-clip']\r\n delete styles['background-color']\r\n this.setStyle(styles, {silent: true})\r\n },\r\n\r\n updateScale() {\r\n try {\r\n let p = parseInt(this.get('percent'))\r\n const f = this.get('fcolor') || '#2f2924'\r\n const b = this.get('bgcolor') || '#CCCCCC'\r\n\r\n if (isNaN(p)) p = 0\r\n p = Math.max(0, Math.min(100, p))\r\n\r\n this.setAttributes(\r\n {\r\n 'data-scale': 'true',\r\n 'data-percent': p.toString(),\r\n 'data-fcolor': f,\r\n 'data-bgcolor': b,\r\n 'aria-label': `${p} %`,\r\n },\r\n {silent: true},\r\n )\r\n\r\n const styles = this.getStyle() || {}\r\n\r\n // Apply gradient with validated colors\r\n styles['background'] = `linear-gradient(to right, ${f} ${p}%, ${b} ${p}%)`\r\n this.setStyle(styles)\r\n } catch (error) {\r\n console.warn('Scale component update failed:', error)\r\n }\r\n },\r\n },\r\n })\r\n\r\n // INPUT\r\n DomComponents.addType(\"range\", {\r\n isComponent: (el) => el.tagName == \"INPUT\",\r\n model: {\r\n defaults: {\r\n tagName: \"input\",\r\n droppable: true,\r\n highlightable: true,\r\n traits: [nameTrait, valueTrait],\r\n attributes: {type: \"range\", disabled: true},\r\n },\r\n },\r\n extendFnView: [\"updateAttributes\"],\r\n view: {\r\n updateAttributes() {\r\n this.el.setAttribute(\"autocomplete\", \"on\");\r\n },\r\n },\r\n });\r\n\r\n // Unsorted list item component\r\n DomComponents.addType(\"ulistitem\", {\r\n isComponent: (el) => {\r\n if (el.tagName === \"LI\" && el.classList.contains(\"ulistitem\")) {\r\n return {type: \"ulistitem\"};\r\n }\r\n },\r\n model: {\r\n defaults: {\r\n tagName: \"li\",\r\n draggable: \"ul\",\r\n attributes: {class: \"ulistitem\"},\r\n style: {\"text-align\": \"left\"},\r\n components: uListItemContent,\r\n traits: [\"id\", \"title\", ostTypeTextTrait(opts)],\r\n },\r\n },\r\n });\r\n\r\n // Unsorted list component with fontawesome\r\n DomComponents.addType(\"ulist\", {\r\n isComponent: (el) => {\r\n if (el.tagName === \"UL\" && el.classList.contains(\"ulist\")) {\r\n return {type: \"ulist\"};\r\n }\r\n },\r\n model: {\r\n defaults: {\r\n tagName: \"ul\",\r\n attributes: {class: \"ulist fa-ul\"},\r\n style: {\r\n padding: \"0.2em 0\",\r\n \"margin-left\": \"2em\",\r\n \"line-height\": \"1.4em\",\r\n },\r\n components: ulListItem + ulListItem + ulListItem,\r\n traits: [\r\n \"id\",\r\n ostTypeTextTrait(opts),\r\n ostTypeHideInSimpleHtmlTrait(opts),\r\n ],\r\n },\r\n },\r\n });\r\n\r\n // Header component\r\n DomComponents.addType(\"header\", {\r\n isComponent: (el) => {\r\n const headings = [\"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\"];\r\n if (el.tagName && headings.includes(el.tagName.toLowerCase())) {\r\n return {type: \"header\"};\r\n }\r\n },\r\n extend: \"text\",\r\n model: {\r\n defaults: {\r\n tagName: \"h1\", //Default\r\n traits: [\r\n \"id\",\r\n ostTypeTextTrait(opts),\r\n ostTypeHideInSimpleHtmlTrait(opts),\r\n ],\r\n },\r\n },\r\n });\r\n\r\n // Icon component\r\n DomComponents.addType(\"icon\", {\r\n isComponent: (el) => {\r\n var classNames = [\r\n \"fa\",\r\n \"fas\",\r\n \"far\",\r\n \"fab\",\r\n \"fa-solid\",\r\n \"fa-regular\",\r\n \"fa-brands\",\r\n ];\r\n if (\r\n el.tagName === \"I\" &&\r\n classNames.some((className) => el.classList.contains(className))\r\n ) {\r\n return {type: \"icon\"};\r\n }\r\n },\r\n model: {\r\n defaults: {\r\n tagName: \"i\",\r\n attributes: {class: \"fas fa-star\"},\r\n draggable: false,\r\n droppable: false,\r\n removable: false,\r\n copyable: false,\r\n traits: [iconTrait(opts), ostTypeHideInSimpleHtmlTrait(opts)],\r\n },\r\n },\r\n });\r\n\r\n // Add ostendis type trait to table components\r\n DomComponents.addType(\"table\", {\r\n model: {\r\n defaults: {\r\n traits: [\r\n \"id\",\r\n ostTypeTextTrait(opts),\r\n ostTypeHideInSimpleHtmlTrait(opts),\r\n ],\r\n },\r\n },\r\n });\r\n\r\n // Add ostendis type trait to link components\r\n DomComponents.addType(\"link\", {\r\n model: {\r\n defaults: {\r\n traits: [\r\n \"id\",\r\n \"href\",\r\n \"target\",\r\n ostTypeTextTrait(opts),\r\n ostTypeHideInSimpleHtmlTrait(opts),\r\n ],\r\n },\r\n },\r\n });\r\n\r\n // Add ostendis type trait to image components\r\n DomComponents.addType(\"image\", {\r\n model: {\r\n defaults: {\r\n traits: [\r\n \"id\",\r\n \"alt\",\r\n ostTypeImageTrait(opts),\r\n ostTypeHideInSimpleHtmlTrait(opts),\r\n ],\r\n },\r\n },\r\n });\r\n\r\n // Add ostendis type trait to text components\r\n DomComponents.addType(\"textnode\", {\r\n model: {\r\n defaults: {\r\n traits: [\r\n \"id\",\r\n ostTypeTextTrait(opts),\r\n ostTypeHideInSimpleHtmlTrait(opts),\r\n ],\r\n },\r\n },\r\n });\r\n\r\n // Add ostendis type trait to text components\r\n DomComponents.addType(\"text\", {\r\n model: {\r\n defaults: {\r\n traits: [\r\n \"id\",\r\n ostTypeTextTrait(opts),\r\n ostTypeHideInSimpleHtmlTrait(opts),\r\n ],\r\n },\r\n },\r\n });\r\n\r\n // Add ostendis type trait to default components\r\n DomComponents.addType(\"default\", {\r\n model: {\r\n defaults: {\r\n traits: [\r\n \"id\",\r\n ostTypeTextTrait(opts),\r\n ostTypeHideInSimpleHtmlTrait(opts),\r\n ],\r\n },\r\n },\r\n });\r\n};\r\n","import PluginOptions from \"./pluginOptions\";\r\nimport { ostTrans } from \"./ostTranslations\";\r\n\r\nexport const cmdDeviceDesktop = \"set-device-desktop\";\r\nexport const cmdDeviceTablet = \"set-device-tablet\";\r\nexport const cmdDeviceMobile = \"set-device-mobile\";\r\n\r\nexport const nameTrait = {\r\n name: \"name\",\r\n};\r\n\r\nexport const valueTrait = {\r\n name: \"value\",\r\n label: ostTrans.traitBlkValue,\r\n};\r\n\r\nexport const uListItemContent = `\r\n <span class=\"fa-li\" style=\"left:-2em;width:2em;\" draggable=\"false\" removable=\"false\" editable=\"false\" copyable=\"false\">\r\n <i class=\"fas fa-circle\" data-gjs-type=\"icon\" style=\"font-size:0.4em;line-height:inherit;display:block;\" draggable=\"false\" removable=\"false\" editable=\"false\" copyable=\"false\"></i>\r\n </span>\r\n <div draggable=\"false\" removable=\"false\" copyable=\"false\">Text</div>`;\r\n\r\nexport const ulListItem =\r\n `<li style=\"text-align:left\" data-gjs-type=\"ulistitem\">` +\r\n uListItemContent +\r\n `</li>`;\r\n\r\n// Comprehensive bullet point patterns for detection and removal\r\nexport const BULLET_PATTERNS: readonly RegExp[] = [\r\n // Parenthesized numeric/alphabetic markers: (1), (a), (A)\r\n /^\\(\\d+\\)\\s+/,\r\n /^\\([a-zA-Z]\\)\\s+/,\r\n\r\n // Hierarchical numbering: 1. / 1) / 1.2. / 2.3.4)\r\n /^\\d+(?:\\.\\d+)*[.)]\\s+/,\r\n\r\n // Single alphabetic list markers: a) a. A) A.\r\n /^[a-zA-Z][.)]\\s+/,\r\n\r\n // Roman numerals (bounded, followed by . or ) and space)\r\n /^[IVXLCDM]{1,12}[.)]\\s+/i,\r\n\r\n // Word style lowercase o bullet (kept broad per request)\r\n /^o\\s+/i,\r\n\r\n // Basic ASCII bullets (hyphen, asterisk, plus)\r\n /^[-*+]\\s+/,\r\n\r\n // Dashes often used as bullets (en/em)\r\n /^[–—]\\s+/,\r\n\r\n // Common Unicode bullets & similar symbols\r\n /^[•·▪▫‣⁃◦‧⦿⦾⚬]/u,\r\n\r\n // Private use (Word/Wingdings)\r\n /^[\\uF0A7\\uF0B6\\uF0FC\\uF0A8\\uF076\\uF0D8\\uF0E0]/u,\r\n\r\n // Section sign\r\n /^§\\s+/u,\r\n\r\n // Circles and dots\r\n /^[○●◘◙]/u,\r\n\r\n // Squares\r\n /^[■□]/u,\r\n\r\n // Diamonds\r\n /^[◆◇⬥❖]/u,\r\n\r\n // Arrows (incl. guillemets)\r\n /^[►➔➢➤→⇒▸▹⏵⮚›»]/u,\r\n\r\n // Checkmarks\r\n /^[✓✗]/u,\r\n\r\n // Stars and similar asterisks\r\n /^[⭐✦✧✱✲✳✴]/u,\r\n\r\n // Circled numbers ①-⑳\r\n /^[\\u2460-\\u2473]/u,\r\n\r\n // Circled zero variants\r\n /^[⓪⓿]/u,\r\n\r\n // Circled lowercase letters ⓐ-ⓩ\r\n /^[\\u24D0-\\u24E9]/u,\r\n\r\n // Circled uppercase letters Ⓐ-Ⓩ\r\n /^[\\u24B6-\\u24CF]/u,\r\n\r\n // HTML named entities\r\n /^•\\s+/,\r\n /^·\\s+/,\r\n\r\n // HTML decimal entities (selected)\r\n /^•\\s+/, // •\r\n /^‣\\s+/, // ‣\r\n /^⁃\\s+/, // ⁃\r\n /^→\\s+/, // →\r\n /^⇒\\s+/, // ⇒\r\n /^■\\s+/, // ■\r\n /^□\\s+/, // □\r\n /^◆\\s+/, // ◆\r\n /^◇\\s+/, // ◇\r\n /^○\\s+/, // ○\r\n /^●\\s+/, // ●\r\n /^➤\\s+/, // ➤\r\n] as const;\r\n\r\n// Define ostendis type trait for text and default components\r\nexport function ostTypeTextTrait(opts: Required<PluginOptions>) {\r\n return {\r\n type: \"ost-blocks-select\",\r\n label: \"Ostendis Blocks\",\r\n name: \"data-ost-type\",\r\n attributes: {\r\n \"data-tooltip\": opts.t9n.traitBlkOstendisTooltip,\r\n \"data-tooltip-pos\": \"bottom\",\r\n },\r\n options: [\r\n { id: \"\", name: opts.t9n.traitOstNone },\r\n { id: \"organizationHeading\", name: opts.t9n.traitOstOrganizationHeading },\r\n { id: \"organization\", name: opts.t9n.traitOstOrganization },\r\n { id: \"introductionHeading\", name: opts.t9n.traitOstIntroductionHeading },\r\n { id: \"introduction\", name: opts.t9n.traitOstIntroduction },\r\n { id: \"descriptionHeading\", name: opts.t9n.traitOstDescriptionHeading },\r\n { id: \"description\", name: opts.t9n.traitOstDescription },\r\n { id: \"tasksHeading\", name: opts.t9n.traitOstTasksHeading },\r\n { id: \"tasks\", name: opts.t9n.traitOstTasks },\r\n { id: \"requirementsHeading\", name: opts.t9n.traitOstRequirementsHeading },\r\n { id: \"requirements\", name: opts.t9n.traitOstRequirements },\r\n { id: \"benefitsHeading\", name: opts.t9n.traitOstBenefitsHeading },\r\n { id: \"benefits\", name: opts.t9n.traitOstBenefits },\r\n { id: \"contactHeading\", name: opts.t9n.traitOstContactHeading },\r\n { id: \"contact\", name: opts.t9n.traitOstContact },\r\n { id: \"calltoaction\", name: opts.t9n.traitOstCallToAction },\r\n ],\r\n };\r\n}\r\n// Define ostendis type trait for images\r\nexport function ostTypeImageTrait(opts: Required<PluginOptions>) {\r\n return {\r\n type: \"ost-blocks-select\",\r\n label: \"Ostendis Blocks\",\r\n name: \"data-ost-type\",\r\n attributes: {\r\n \"data-tooltip\": opts.t9n.traitBlkOstendisTooltip,\r\n \"data-tooltip-pos\": \"bottom\",\r\n },\r\n options: [\r\n { id: \"\", name: opts.t9n.traitOstNone },\r\n { id: \"logoPicURL\", name: opts.t9n.traitOstLogoPicURL },\r\n { id: \"headerPic1URL\", name: opts.t9n.traitOstHeaderPic1URL },\r\n { id: \"headerPic2URL\", name: opts.t9n.traitOstHeaderPic2URL },\r\n { id: \"headerPic3URL\", name: opts.t9n.traitOstHeaderPic3URL },\r\n { id: \"footerPic1URL\", name: opts.t9n.traitOstFooterPic1URL },\r\n { id: \"footerPic2URL\", name: opts.t9n.traitOstFooterPic2URL },\r\n { id: \"footerPic3URL\", name: opts.t9n.traitOstFooterPic3URL },\r\n { id: \"additionalPic1URL\", name: opts.t9n.traitOstAdditionalPic1URL },\r\n { id: \"additionalPic2URL\", name: opts.t9n.traitOstAdditionalPic2URL },\r\n { id: \"additionalPic3URL\", name: opts.t9n.traitOstAdditionalPic3URL },\r\n ],\r\n };\r\n}\r\n// Define ostendis type \"hide in simple html\"\r\nexport function ostTypeHideInSimpleHtmlTrait(opts: Required<PluginOptions>) {\r\n return {\r\n type: \"checkbox\",\r\n label: opts.t9n.hideInSimpleHtmlLabel,\r\n name: \"data-ost-simple-hide\",\r\n attributes: {\r\n \"data-tooltip\": opts.t9n.hideInSimpleHtmlTooltip,\r\n \"data-tooltip-pos\": \"bottom\",\r\n },\r\n valueTrue: \"1\",\r\n valueFalse: \"\",\r\n };\r\n}\r\n// Define ostendis type trait for icons\r\nexport function iconTrait(opts: Required<PluginOptions>) {\r\n return {\r\n type: \"select\",\r\n label: \"Icon\",\r\n name: \"class\",\r\n attributes: {\r\n id: \"select-fontawesome\",\r\n \"data-tooltip\": opts.t9n.labelIconTooltip,\r\n \"data-tooltip-pos\": \"bottom\",\r\n },\r\n options: [\r\n { id: \"fas fa-minus\", name: opts.t9n.labelIconSelectMinus },\r\n { id: \"fas fa-circle\", name: opts.t9n.labelIconSelectCircleSolid },\r\n { id: \"far fa-circle\", name: opts.t9n.labelIconSelectCircle },\r\n { id: \"fas fa-check\", name: opts.t9n.labelIconSelectCheck },\r\n { id: \"fas fa-square\", name: opts.t9n.labelIconSelectSquare },\r\n { id: \"fas fa-arrow-right\", name: opts.t9n.labelIconSelectArrowRight },\r\n { id: \"fas fa-check-circle\", name: opts.t9n.labelIconSelectCheckCircle },\r\n { id: \"far fa-clock\", name: opts.t9n.labelIconSelectClock },\r\n { id: \"fas fa-percent\", name: opts.t9n.labelIconSelectPercent },\r\n { id: \"far fa-building\", name: opts.t9n.labelIconSelectBuilding },\r\n { id: \"fas fa-home\", name: opts.t9n.labelIconSelectHome },\r\n { id: \"fas fa-globe\", name: opts.t9n.labelIconSelectGlobe },\r\n { id: \"far fa-file\", name: opts.t9n.labelIconSelectFile },\r\n { id: \"fas fa-utensils\", name: opts.t9n.labelIconSelectUtensils },\r\n { id: \"far fa-calendar-alt\", name: opts.t9n.labelIconSelectCalendar },\r\n { id: \"far fa-hourglass\", name: opts.t9n.labelIconSelectHourglass },\r\n { id: \"fas fa-map-marker-alt\", name: opts.t9n.labelIconSelectMapMarker },\r\n { id: \"fas fa-road\", name: opts.t9n.labelIconSelectRoad },\r\n { id: \"fas fa-coffee\", name: opts.t9n.labelIconSelectCoffee },\r\n { id: \"fas fa-phone\", name: opts.t9n.labelIconSelectPhone },\r\n { id: \"fas fa-envelope\", name: opts.t9n.labelIconSelectEnvelope },\r\n { id: \"fas fa-star\", name: opts.t9n.labelIconSelectStar },\r\n ],\r\n };\r\n}\r\n","import type { OstTranslations } from \"./pluginOptions\";\r\n\r\nexport const ostTrans: OstTranslations = {\r\n cmdBtnDesktopLabel: \"Desktop\",\r\n cmdBtnTabletLabel: \"Tablet\",\r\n cmdBtnMobileLabel: \"Mobile\",\r\n\r\n cmdBtnViewCompLabel: \"View components\",\r\n cmdBtnUndoLabel: \"Undo\",\r\n cmdBtnRedoLabel: \"Redo\",\r\n\r\n openTraits: \"Open Parameter\",\r\n\r\n categoryLabel: \"Basic\",\r\n smSitesCategoryLabel: \"Social media sites\",\r\n smSharesCategoryLabel: \"Social media shares\",\r\n sharesCategoryLabel: \"Shares\",\r\n\r\n traitBlkValue: \"Value\",\r\n\r\n traitHeaderLabel: \"Header Level\",\r\n traitHeaderSelectH1: \"H1 (highest)\",\r\n traitHeaderSelectH2: \"H2\",\r\n traitHeaderSelectH3: \"H3\",\r\n traitHeaderSelectH4: \"H4\",\r\n traitHeaderSelectH5: \"H5\",\r\n traitHeaderSelectH6: \"H6 (lowest)\",\r\n\r\n traitBlkOstendisTooltip: \"Define Ostendis block.\",\r\n traitOstNone: \"None\",\r\n traitOstOrganizationHeading: \"Organization Heading\",\r\n traitOstOrganization: \"Organization\",\r\n traitOstIntroductionHeading: \"Introduction Heading\",\r\n traitOstIntroduction: \"Introduction\",\r\n traitOstDescriptionHeading: \"Description Heading\",\r\n traitOstDescription: \"Description\",\r\n traitOstTasksHeading: \"Tasks Heading\",\r\n traitOstTasks: \"Tasks\",\r\n traitOstRequirementsHeading: \"Requirements Heading\",\r\n traitOstRequirements: \"Requirements\",\r\n traitOstBenefitsHeading: \"Benefits Heading\",\r\n traitOstBenefits: \"Benefits\",\r\n traitOstContactHeading: \"Contact Heading\",\r\n traitOstContact: \"Contact\",\r\n traitOstCallToAction: \"Call to action\",\r\n\r\n traitOstLogoPicURL: \"Logo Image\",\r\n traitOstHeaderPic1URL: \"Header Image 1\",\r\n traitOstHeaderPic2URL: \"Header Image 2\",\r\n traitOstHeaderPic3URL: \"Header Image 3\",\r\n traitOstFooterPic1URL: \"Footer Image 1\",\r\n traitOstFooterPic2URL: \"Footer Image 2\",\r\n traitOstFooterPic3URL: \"Footer Image 3\",\r\n traitOstAdditionalPic1URL: \"Additional Image 1\",\r\n traitOstAdditionalPic2URL: \"Additional Image 2\",\r\n traitOstAdditionalPic3URL: \"Additional Image 3\",\r\n traitOstVideoURL: \"Video\",\r\n\r\n hideInSimpleHtmlLabel: \"Hide\",\r\n hideInSimpleHtmlTooltip: \"Hide element in simple HTML (jobs.ch)\",\r\n\r\n labelIconTooltip: \"For more icons: change class name in style manager.\",\r\n labelIconSelectMinus: \"minus\",\r\n labelIconSelectCircleSolid: \"circle solid\",\r\n labelIconSelectCircle: \"circle\",\r\n labelIconSelectCheck: \"check\",\r\n labelIconSelectSquare: \"square\",\r\n labelIconSelectArrowRight: \"arrow right\",\r\n labelIconSelectCheckCircle: \"check circle\",\r\n labelIconSelectClock: \"clock\",\r\n labelIconSelectPercent: \"percent\",\r\n labelIconSelectBuilding: \"building\",\r\n labelIconSelectHome: \"home\",\r\n labelIconSelectGlobe: \"globe\",\r\n labelIconSelectFile: \"file\",\r\n labelIconSelectUtensils: \"utensils\",\r\n labelIconSelectCalendar: \"calendar\",\r\n labelIconSelectHourglass: \"hourglass\",\r\n labelIconSelectMapMarker: \"map marker\",\r\n labelIconSelectRoad: \"road\",\r\n labelIconSelectCoffee: \"coffee\",\r\n labelIconSelectPhone: \"phone\",\r\n labelIconSelectEnvelope: \"envelope\",\r\n labelIconSelectStar: \"star\",\r\n\r\n labelScalePercent: \"Percent\",\r\n labelScaleBarColor: \"Color 1\",\r\n labelScaleBgColor: \"Color 2\",\r\n\r\n labelPasteFromWord: \"Paste from Word\",\r\n labelPasteFromWordButton: \"Replace List Content\",\r\n labelPasteFromWordPlaceholder: \"Paste your Word list content here...\",\r\n labelPasteFromWordText: \"Paste your list content from Word text editor below.</br>The formatting will be cleaned and converted to list items. This will replace all existing content in the list.\",\r\n ostToolbarPasteFromWord: \"Paste from Word\",\r\n\r\n ostToolbarClone: \"Clone list element\",\r\n ostToolbarDelete: \"Delete list element\",\r\n ostToolbarUp: \"Move list element up\",\r\n ostToolbarDown: \"Move list element down\",\r\n cmdRteRemoveFormat: \"Remove format\"\r\n};\r\n","import type { Editor } from \"grapesjs\";\r\nimport PluginOptions from \"./pluginOptions\";\r\nimport { cmdDeviceDesktop, cmdDeviceMobile, cmdDeviceTablet } from \"./consts\";\r\n\r\nexport default (editor: Editor, opts: Required<PluginOptions>) => {\r\n const { Panels } = editor;\r\n const openTraits = \"open-tm\";\r\n const activateOutline = \"sw-visibility\";\r\n\r\n // Turn off default devices select and create new one\r\n editor.getConfig().showDevices = false;\r\n\r\n Panels.getPanels().reset([\r\n {\r\n id: \"commands\",\r\n buttons: [{}],\r\n },\r\n {\r\n id: \"devices-c\",\r\n buttons: [\r\n {\r\n id: cmdDeviceDesktop,\r\n command: cmdDeviceDesktop,\r\n className: \"fa-solid fa-desktop\",\r\n attributes: {\r\n \"data-tooltip\": opts.t9n.cmdBtnDesktopLabel,\r\n \"data-tooltip-pos\": \"bottom\",\r\n },\r\n active: true,\r\n },\r\n {\r\n id: cmdDeviceTablet,\r\n command: cmdDeviceTablet,\r\n className: \"fa-solid fa-tablet-screen-button\",\r\n attributes: {\r\n \"data-tooltip\": opts.t9n.cmdBtnTabletLabel,\r\n \"data-tooltip-pos\": \"bottom\",\r\n },\r\n },\r\n {\r\n id: cmdDeviceMobile,\r\n command: cmdDeviceMobile,\r\n className: \"fa-solid fa-mobile-screen-button\",\r\n attributes: {\r\n \"data-tooltip\": opts.t9n.cmdBtnMobileLabel,\r\n \"data-tooltip-pos\": \"bottom\",\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n id: \"options\",\r\n buttons: [\r\n {\r\n id: activateOutline,\r\n command: activateOutline,\r\n context: activateOutline,\r\n className: \"fa-solid fa-border-none\",\r\n attributes: {\r\n \"data-tooltip\": opts.t9n.cmdBtnViewCompLabel,\r\n \"data-tooltip-pos\": \"bottom\",\r\n },\r\n },\r\n {\r\n id: \"undo\",\r\n command: \"core:undo\",\r\n className: \"fa-solid fa-rotate-left\",\r\n attributes: {\r\n \"data-tooltip\": opts.t9n.cmdBtnUndoLabel,\r\n \"data-tooltip-pos\": \"bottom\",\r\n },\r\n },\r\n {\r\n id: \"redo\",\r\n command: \"core:redo\",\r\n className: \"fa-solid fa-rotate-right\",\r\n attributes: {\r\n \"data-tooltip\": opts.t9n.cmdBtnRedoLabel,\r\n \"data-tooltip-pos\": \"bottom\",\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n id: \"views\",\r\n buttons: [\r\n {\r\n id: openTraits,\r\n command: openTraits,\r\n togglable: false,\r\n className: \"fa-solid fa-gear\",\r\n attributes: {\r\n \"data-tooltip\": opts.t9n.openTraits,\r\n \"data-tooltip-pos\": \"bottom\",\r\n },\r\n },\r\n ],\r\n },\r\n ]);\r\n\r\n // Do stuff on load\r\n editor.onReady(() => {\r\n if (opts.showOutlineOnLoad) {\r\n const btn = Panels.getButton(\"options\", activateOutline);\r\n btn?.set(\"active\", true);\r\n }\r\n\r\n if (opts.showTraitsOnLoad) {\r\n const btn = Panels.getButton(\"views\", openTraits);\r\n btn?.set(\"active\", true);\r\n }\r\n //Beautify tooltips\r\n document.querySelectorAll(\"*[data-tooltip-pos]\").forEach((el) => {\r\n const title = el.getAttribute(\"title\")?.trim();\r\n if (title) {\r\n el.setAttribute(\"data-tooltip\", title);\r\n el.removeAttribute(\"title\");\r\n }\r\n });\r\n });\r\n};\r\n","import type { Editor } from \"grapesjs\";\r\nimport PluginOptions from \"./pluginOptions\";\r\n\r\nexport default async (editor: Editor, opts: Required<PluginOptions>) => {\r\n const { RichTextEditor } = editor;\r\n\r\n RichTextEditor.add(\"removeFormat\", {\r\n icon: '<i class=\"fa-solid fa-text-slash\"></i>',\r\n attributes: { title: opts.t9n.cmdRteRemoveFormat },\r\n\r\n result: (rte) => rte.exec(\"removeFormat\"),\r\n });\r\n};\r\n","import type { Editor } from \"grapesjs\";\r\nimport PluginOptions from \"./pluginOptions\";\r\n\r\nexport default (editor: Editor, opts: Required<PluginOptions>) => {\r\n const { TraitManager } = editor;\r\n\r\n // Ostendis-Blocks trait\r\n TraitManager.addType(\"ost-blocks-select\", {\r\n createInput({ trait }) {\r\n const traitOpts = trait.get(\"options\") || [];\r\n const traitName = trait.get(\"name\") || \"ost-block-select\";\r\n const options = traitOpts.length\r\n ? traitOpts\r\n : [{ id: \"\", name: \"None\", disabled: \"disabled\" }];\r\n\r\n const el = document.createElement(\"div\");\r\n el.innerHTML = `\r\n <select class=\"ost-blocks-select\" id=\"${traitName}\">\r\n ${options\r\n .map(\r\n (opt) =>\r\n `<option value=\"${opt.id}\" ${opt.disabled}>${opt.name}</option>`\r\n )\r\n .join(\"\")}\r\n </select>\r\n <div class=\"gjs-sel-arrow\">\r\n <div class=\"gjs-d-s-arrow\"></div>\r\n </div>`;\r\n return el;\r\n },\r\n onEvent({ elInput, component, trait }) {\r\n const traitName = trait.get(\"name\") || \"ost-block-select-default\";\r\n let element = elInput.querySelector(\r\n \"#\" + [traitName]\r\n ) as HTMLSelectElement;\r\n const dataOstType = element.value;\r\n\r\n if (dataOstType == \"\") {\r\n component.removeAttributes(traitName);\r\n } else {\r\n component.addAttributes({ [traitName]: dataOstType });\r\n }\r\n updateTrait(element);\r\n },\r\n onUpdate({ elInput, component, trait }) {\r\n const traitName = trait.get(\"name\") || \"ost-block-select-default\";\r\n\r\n if (elInput !== null) {\r\n let element = elInput.querySelector(\r\n \"#\" + [traitName]\r\n ) as HTMLSelectElement;\r\n updateTrait(element);\r\n\r\n // Set select\r\n const dataOstType = component.getAttributes()[traitName] || \"\";\r\n element = elInput.querySelector(\"#\" + [traitName]) as HTMLSelectElement;\r\n element.value = dataOstType;\r\n }\r\n },\r\n });\r\n\r\n // Range trait\r\n TraitManager.addType(\"value\", {\r\n label: opts.t9n.traitBlkValue,\r\n min: 0, // Minimum number value\r\n max: 100, // Maximum number value\r\n events: {\r\n keyup: \"onChange\",\r\n },\r\n\r\n onValueChange() {\r\n const { model, target } = this;\r\n const optionsStr = model.get(\"value\").trim();\r\n const options = optionsStr.split(\"\\n\");\r\n const optComps = [];\r\n\r\n for (let i = 0; i < options.length; i++) {\r\n const optionStr = options[i];\r\n const option = optionStr.split(\"::\");\r\n optComps.push({\r\n type: \"range\",\r\n components: option[1] || option[0],\r\n attributes: { value: option[0] },\r\n });\r\n }\r\n\r\n target.components().reset(optComps);\r\n target?.view?.render();\r\n },\r\n });\r\n\r\n function updateTrait(element: HTMLSelectElement) {\r\n // Set Array to 0\r\n opts.usedOstBlocks.forEach((el) => {\r\n el.count = 0;\r\n });\r\n\r\n var wrapper = editor.DomComponents.getWrapper();\r\n var elements = wrapper?.view?.$el.find(\"[data-ost-type]\").get();\r\n\r\n // List all data-ost-type\r\n elements?.forEach((element) => {\r\n var type = element.getAttribute(\"data-ost-type\") || \"\";\r\n let index = opts.usedOstBlocks.findIndex((item) => item.name === type);\r\n if (index === -1) {\r\n opts.usedOstBlocks.push({ name: type, count: 1 });\r\n } else {\r\n opts.usedOstBlocks[index].count++;\r\n }\r\n });\r\n\r\n // Display update select input\r\n Array.from(element.options).forEach(function (optionElement, optionIndex) {\r\n if (optionElement.value != \"\") {\r\n const usedOstBlockIndex = opts.usedOstBlocks.findIndex(\r\n (e) => e.name === optionElement.value\r\n );\r\n\r\n // Reset\r\n var optionEl = element.options[optionIndex];\r\n optionEl.text = optionEl.text.replace(/^\\(.*\\)\\s*/g, \"\");\r\n optionEl.removeAttribute(\"class\");\r\n optionEl.removeAttribute(\"disabled\");\r\n\r\n if (usedOstBlockIndex > -1) {\r\n if (opts.usedOstBlocks[usedOstBlockIndex].count == 1) {\r\n optionEl.innerHTML = \"(✓) \" + optionEl.text;\r\n optionEl.classList.add(\"gjs-select-option-ok\");\r\n optionEl.disabled = true;\r\n } else if (opts.usedOstBlocks[usedOstBlockIndex].count > 1) {\r\n optionEl.innerHTML =\r\n \"(! \" +\r\n opts.usedOstBlocks[usedOstBlockIndex].count +\r\n \"×) \" +\r\n optionEl.text;\r\n optionEl.classList.add(\"gjs-select-option-nok\");\r\n optionEl.disabled = true;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n};\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\tif (!(moduleId in __webpack_modules__)) {\n\t\tdelete __webpack_module_cache__[moduleId];\n\t\tvar e = new Error(\"Cannot find module '\" + moduleId + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import type {Component, Plugin} from \"grapesjs\";\r\nimport loadBlocks from \"./blocks\";\r\nimport loadCommands from \"./commands\";\r\nimport loadPanels from \"./panels\";\r\nimport loadTraits from \"./traits\";\r\nimport loadComponents from \"./components\";\r\nimport loadRte from \"./rte\";\r\nimport PluginOptions from \"./pluginOptions\";\r\nimport {ostTrans} from \"./ostTranslations\";\r\n\r\nexport type RequiredPluginOptions = Required<PluginOptions>;\r\n\r\ntype ToolbarButton = {\r\n attributes?: {\r\n class?: string;\r\n \"data-tooltip\"?: string;\r\n \"data-tooltip-pos\"?: \"bottom\",\r\n };\r\n label?: string;\r\n command: string;\r\n};\r\n\r\nconst plugin: Plugin<PluginOptions> = async (\r\n editor,\r\n opts: Partial<PluginOptions> = {}\r\n) => {\r\n let config = editor.getConfig();\r\n\r\n const options: RequiredPluginOptions = {\r\n blocks: [],\r\n block: () => ({}),\r\n usedOstBlocks: [],\r\n cmdOpenImport: \"gjs-open-import-template\",\r\n codeViewerTheme: \"hopscotch\",\r\n inlineCss: true,\r\n showStylesOnChange: true,\r\n showTraitsOnLoad: true,\r\n showOutlineOnLoad: true,\r\n t9n: ostTrans,\r\n ...opts,\r\n };\r\n\r\n // Change some config\r\n config.devicePreviewMode = true;\r\n\r\n loadComponents(editor, options);\r\n loadTraits(editor, options);\r\n await loadCommands(editor, options);\r\n loadBlocks(editor, options);\r\n loadPanels(editor, options);\r\n await loadRte(editor, options);\r\n\r\n // On load\r\n editor.on(\"load\", () => {\r\n // Create ostendis toolbar\r\n const tools = document.getElementById(\"gjs-tools\");\r\n const ostTools = document.createElement(\"div\");\r\n ostTools.classList.add(\"gjs-ost-toolbar\");\r\n tools?.append(ostTools);\r\n });\r\n\r\n // On selected components\r\n editor.on(\"component:selected\", () => {\r\n let selected = editor.getSelected();\r\n\r\n if (selected != undefined) {\r\n // Disable all actions for all components\r\n selected.set({\r\n draggable: false,\r\n removable: false,\r\n copyable: false,\r\n });\r\n\r\n if (selected.is(\"ulistitem\")) {\r\n // LI itself - show only select-parent\r\n selected.set({\r\n toolbar: [\r\n {\r\n attributes: {class: \"fa-solid fa-arrow-up\"},\r\n command: \"select-parent\",\r\n },\r\n ],\r\n });\r\n showOstToolbar(selected);\r\n } else if (selected.isChildOf(\"ulistitem\")) {\r\n // Content inside LI - show only select-parent\r\n const liContentToolbar: ToolbarButton[] = [\r\n {\r\n attributes: {class: \"fa-solid fa-arrow-up\"},\r\n command: \"select-parent\",\r\n },\r\n ];\r\n selected.set({\r\n toolbar: liContentToolbar,\r\n });\r\n showOstToolbar(selected.closestType(\"ulistitem\"));\r\n } else if (selected.getEl()?.tagName === \"LI\") {\r\n // Regular LI - show only select-parent\r\n selected.set({\r\n toolbar: [\r\n {\r\n attributes: {class: \"fa-solid fa-arrow-up\"},\r\n command: \"select-parent\",\r\n },\r\n ],\r\n });\r\n //If list element is empty replace with placeholder text (M&E case:)\r\n if (selected.components().length === 0 && !selected.get(\"content\")) {\r\n const selectedPosition = selected.index();\r\n const newComponent = selected\r\n .parent()\r\n ?.append(\"<li>Text</li>\", {at: selectedPosition});\r\n selected.remove();\r\n editor.select(newComponent);\r\n selected = editor.getSelected();\r\n }\r\n showOstToolbar(selected);\r\n } else if (isChildOfElement(selected.getEl(), \"LI\")) {\r\n // Content inside regular LI - show only select-parent\r\n const liContentToolbar: ToolbarButton[] = [\r\n {\r\n attributes: {class: \"fa-solid fa-arrow-up\"},\r\n command: \"select-parent\",\r\n },\r\n ];\r\n selected.set({\r\n toolbar: liContentToolbar,\r\n });\r\n showOstToolbar(selected.closest(\"li\"));\r\n } else if (selected.getEl()?.tagName === \"UL\") {\r\n // UL is selected - show paste button first, select-parent at the end\r\n const ulToolbar: ToolbarButton[] = [\r\n {\r\n attributes: {\r\n class: \"fa-solid fa-file-word\",\r\n \"data-tooltip\": options.t9n.ostToolbarPasteFromWord,\r\n \"data-tooltip-pos\": \"bottom\"\r\n },\r\n command: \"paste-from-word\",\r\n },\r\n {\r\n label: '<svg viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M13,20H11V8L5.5,13.5L4.08,12.08L12,4.16L19.92,12.08L18.5,13.5L13,8V20Z\"></path></svg>',\r\n command: \"select-parent\",\r\n },\r\n ];\r\n\r\n selected.set({\r\n toolbar: ulToolbar,\r\n });\r\n\r\n // Hide OST toolbar for UL elements\r\n const ostToolbar = document.querySelector(\".gjs-ost-toolbar\");\r\n ostToolbar?.classList.remove(\"show\");\r\n } else {\r\n // For other elements, show default toolbar with only select-parent\r\n const defaultToolbar: ToolbarButton[] = [\r\n {\r\n label: '<svg viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M13,20H11V8L5.5,13.5L4.08,12.08L12,4.16L19.92,12.08L18.5,13.5L13,8V20Z\"></path></svg>',\r\n command: \"select-parent\",\r\n },\r\n ];\r\n\r\n selected.set({\r\n toolbar: defaultToolbar,\r\n });\r\n\r\n // Hide OST toolbar for other elements\r\n const ostToolbar = document.querySelector(\".gjs-ost-toolbar\");\r\n ostToolbar?.classList.remove(\"show\");\r\n }\r\n }\r\n });\r\n\r\n // On deselected components\r\n editor.on(\"component:deselected\", () => {\r\n const ostToolbar = document.querySelector(\".gjs-ost-toolbar\");\r\n ostToolbar?.classList.remove(\"show\");\r\n });\r\n\r\n function isChildOfElement(element: HTMLElement | undefined, tag: string) {\r\n while (element?.parentNode) {\r\n element = element.parentNode as HTMLElement;\r\n if (element.tagName === tag) return element;\r\n }\r\n return false;\r\n }\r\n\r\n function showOstToolbar(listItem: Component | undefined) {\r\n const elPos = listItem?.index() || 0;\r\n const elLast = listItem?.parent()?.getLastChild().index();\r\n\r\n const ostToolbar = document.querySelector(\".gjs-ost-toolbar\") as HTMLElement;\r\n if (ostToolbar != undefined) {\r\n ostToolbar.innerHTML = \"\";\r\n\r\n // Add clone button\r\n const cBtn = document.createElement(\"div\");\r\n cBtn.innerHTML =\r\n '<svg viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 3a9 9 0 0 0 0 18 9 9 0 0 0 0-18zm-1.3 3.88h2.6v3.82h3.82v2.6H13.3v3.82h-2.6V13.3H6.88v-2.6h3.82z\"/></svg>';\r\n cBtn.classList.add(\"gjs-ost-toolbar-item\", \"clone\");\r\n cBtn.title = options.t9n.ostToolbarClone;\r\n cBtn.addEventListener(\"click\", () => {\r\n listItem?.parent()?.append(listItem?.clone(), {at: elPos + 1});\r\n });\r\n ostToolbar.appendChild(cBtn);\r\n\r\n //Add delete button\r\n const dBtn = document.createElement(\"div\");\r\n dBtn.innerHTML =\r\n '<svg viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18zm5.12 7.7v2.6H6.88v-2.6z\"/></svg>';\r\n dBtn.title = options.t9n.ostToolbarDelete;\r\n dBtn.classList.add(\"gjs-ost-toolbar-item\", \"del\");\r\n if (elLast != 0) {\r\n dBtn.addEventListener(\"click\", () => {\r\n listItem?.remove();\r\n ostToolbar?.classList.remove(\"show\");\r\n });\r\n } else {\r\n dBtn.classList.add(\"disable\");\r\n }\r\n ostToolbar.appendChild(dBtn);\r\n\r\n // Add move up button\r\n const upBtn = document.createElement(\"div\");\r\n upBtn.innerHTML =\r\n '<svg viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M1.9 20.75 12 3.25l10.1 17.5Z\"/></svg>';\r\n upBtn.title = options.t9n.ostToolbarUp;\r\n upBtn.classList.add(\"gjs-ost-toolbar-item\", \"up\");\r\n if (elPos > 0) {\r\n upBtn.addEventListener(\"click\", () => {\r\n if (elPos && listItem?.parent() != undefined) {\r\n let parent = listItem.parent();\r\n if (parent) {\r\n listItem?.move(parent, {at: elPos - 1});\r\n }\r\n editor.selectRemove(listItem);\r\n editor.select(listItem);\r\n }\r\n });\r\n } else {\r\n upBtn.classList.add(\"disable\");\r\n }\r\n ostToolbar.appendChild(upBtn);\r\n\r\n // Add move down button\r\n const dwnBtn = document.createElement(\"div\");\r\n dwnBtn.innerHTML =\r\n '<svg viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M22.4 3.25 12 20.75 1.6 3.25Z\"/></svg>';\r\n dwnBtn.title = options.t9n.ostToolbarDown;\r\n dwnBtn.classList.add(\"gjs-ost-toolbar-item\", \"down\");\r\n if (elPos != elLast) {\r\n let toPos = elPos + 2;\r\n if (elPos == elLast) {\r\n toPos = 0;\r\n }\r\n dwnBtn.addEventListener(\"click\", () => {\r\n if (toPos && listItem?.parent() != undefined) {\r\n let parent = listItem.parent();\r\n if (parent) {\r\n listItem.move(parent, {at: toPos});\r\n }\r\n editor.selectRemove(listItem);\r\n editor.select(listItem);\r\n }\r\n });\r\n } else {\r\n dwnBtn.classList.add(\"disable\");\r\n }\r\n ostToolbar.appendChild(dwnBtn);\r\n\r\n // Add show\r\n ostToolbar.classList.add(\"show\");\r\n }\r\n }\r\n};\r\n\r\nexport default plugin;\r\n"],"names":[],"sourceRoot":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ostendis/grapesjs-preset-ostendis-simple",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.9",
|
|
4
4
|
"description": "GrapesJS preset configuration for the Ostendis editor",
|
|
5
5
|
"main": "dist/grapesjs-preset-ostendis-simple.min.js",
|
|
6
6
|
"files": [
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@babel/preset-typescript": "^7.18.6",
|
|
30
30
|
"@types/jest": "^29.4.0",
|
|
31
|
-
"@webpack-cli/generators": "^
|
|
32
|
-
"grapesjs": "^0.22.
|
|
31
|
+
"@webpack-cli/generators": "^3.0.7",
|
|
32
|
+
"grapesjs": "^0.22.16",
|
|
33
33
|
"grapesjs-cli": "^4.1.3",
|
|
34
34
|
"jest": "^29.4.1",
|
|
35
35
|
"sass": "^1.80.6"
|