primo commit
This commit is contained in:
		
							
								
								
									
										7
									
								
								media/vendor/tinymce/plugins/nonbreaking/index.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								media/vendor/tinymce/plugins/nonbreaking/index.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,7 @@ | ||||
| // Exports the "nonbreaking" plugin for usage with module loaders | ||||
| // Usage: | ||||
| //   CommonJS: | ||||
| //     require('tinymce/plugins/nonbreaking') | ||||
| //   ES2015: | ||||
| //     import 'tinymce/plugins/nonbreaking' | ||||
| require('./plugin.js'); | ||||
							
								
								
									
										123
									
								
								media/vendor/tinymce/plugins/nonbreaking/plugin.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										123
									
								
								media/vendor/tinymce/plugins/nonbreaking/plugin.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,123 @@ | ||||
| /** | ||||
|  * TinyMCE version 6.8.4 (2024-06-19) | ||||
|  */ | ||||
|  | ||||
| (function () { | ||||
|     'use strict'; | ||||
|  | ||||
|     var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager'); | ||||
|  | ||||
|     const isSimpleType = type => value => typeof value === type; | ||||
|     const isBoolean = isSimpleType('boolean'); | ||||
|     const isNumber = isSimpleType('number'); | ||||
|  | ||||
|     const option = name => editor => editor.options.get(name); | ||||
|     const register$2 = editor => { | ||||
|       const registerOption = editor.options.register; | ||||
|       registerOption('nonbreaking_force_tab', { | ||||
|         processor: value => { | ||||
|           if (isBoolean(value)) { | ||||
|             return { | ||||
|               value: value ? 3 : 0, | ||||
|               valid: true | ||||
|             }; | ||||
|           } else if (isNumber(value)) { | ||||
|             return { | ||||
|               value, | ||||
|               valid: true | ||||
|             }; | ||||
|           } else { | ||||
|             return { | ||||
|               valid: false, | ||||
|               message: 'Must be a boolean or number.' | ||||
|             }; | ||||
|           } | ||||
|         }, | ||||
|         default: false | ||||
|       }); | ||||
|       registerOption('nonbreaking_wrap', { | ||||
|         processor: 'boolean', | ||||
|         default: true | ||||
|       }); | ||||
|     }; | ||||
|     const getKeyboardSpaces = option('nonbreaking_force_tab'); | ||||
|     const wrapNbsps = option('nonbreaking_wrap'); | ||||
|  | ||||
|     const stringRepeat = (string, repeats) => { | ||||
|       let str = ''; | ||||
|       for (let index = 0; index < repeats; index++) { | ||||
|         str += string; | ||||
|       } | ||||
|       return str; | ||||
|     }; | ||||
|     const isVisualCharsEnabled = editor => editor.plugins.visualchars ? editor.plugins.visualchars.isEnabled() : false; | ||||
|     const insertNbsp = (editor, times) => { | ||||
|       const classes = () => isVisualCharsEnabled(editor) ? 'mce-nbsp-wrap mce-nbsp' : 'mce-nbsp-wrap'; | ||||
|       const nbspSpan = () => `<span class="${ classes() }" contenteditable="false">${ stringRepeat(' ', times) }</span>`; | ||||
|       const shouldWrap = wrapNbsps(editor); | ||||
|       const html = shouldWrap || editor.plugins.visualchars ? nbspSpan() : stringRepeat(' ', times); | ||||
|       editor.undoManager.transact(() => editor.insertContent(html)); | ||||
|     }; | ||||
|  | ||||
|     const register$1 = editor => { | ||||
|       editor.addCommand('mceNonBreaking', () => { | ||||
|         insertNbsp(editor, 1); | ||||
|       }); | ||||
|     }; | ||||
|  | ||||
|     var global = tinymce.util.Tools.resolve('tinymce.util.VK'); | ||||
|  | ||||
|     const setup = editor => { | ||||
|       const spaces = getKeyboardSpaces(editor); | ||||
|       if (spaces > 0) { | ||||
|         editor.on('keydown', e => { | ||||
|           if (e.keyCode === global.TAB && !e.isDefaultPrevented()) { | ||||
|             if (e.shiftKey) { | ||||
|               return; | ||||
|             } | ||||
|             e.preventDefault(); | ||||
|             e.stopImmediatePropagation(); | ||||
|             insertNbsp(editor, spaces); | ||||
|           } | ||||
|         }); | ||||
|       } | ||||
|     }; | ||||
|  | ||||
|     const onSetupEditable = editor => api => { | ||||
|       const nodeChanged = () => { | ||||
|         api.setEnabled(editor.selection.isEditable()); | ||||
|       }; | ||||
|       editor.on('NodeChange', nodeChanged); | ||||
|       nodeChanged(); | ||||
|       return () => { | ||||
|         editor.off('NodeChange', nodeChanged); | ||||
|       }; | ||||
|     }; | ||||
|     const register = editor => { | ||||
|       const onAction = () => editor.execCommand('mceNonBreaking'); | ||||
|       editor.ui.registry.addButton('nonbreaking', { | ||||
|         icon: 'non-breaking', | ||||
|         tooltip: 'Nonbreaking space', | ||||
|         onAction, | ||||
|         onSetup: onSetupEditable(editor) | ||||
|       }); | ||||
|       editor.ui.registry.addMenuItem('nonbreaking', { | ||||
|         icon: 'non-breaking', | ||||
|         text: 'Nonbreaking space', | ||||
|         onAction, | ||||
|         onSetup: onSetupEditable(editor) | ||||
|       }); | ||||
|     }; | ||||
|  | ||||
|     var Plugin = () => { | ||||
|       global$1.add('nonbreaking', editor => { | ||||
|         register$2(editor); | ||||
|         register$1(editor); | ||||
|         register(editor); | ||||
|         setup(editor); | ||||
|       }); | ||||
|     }; | ||||
|  | ||||
|     Plugin(); | ||||
|  | ||||
| })(); | ||||
							
								
								
									
										4
									
								
								media/vendor/tinymce/plugins/nonbreaking/plugin.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								media/vendor/tinymce/plugins/nonbreaking/plugin.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,4 @@ | ||||
| /** | ||||
|  * TinyMCE version 6.8.4 (2024-06-19) | ||||
|  */ | ||||
| !function(){"use strict";var n=tinymce.util.Tools.resolve("tinymce.PluginManager");const e=n=>e=>typeof e===n,o=e("boolean"),a=e("number"),t=n=>e=>e.options.get(n),i=t("nonbreaking_force_tab"),s=t("nonbreaking_wrap"),r=(n,e)=>{let o="";for(let a=0;a<e;a++)o+=n;return o},c=(n,e)=>{const o=s(n)||n.plugins.visualchars?`<span class="${(n=>!!n.plugins.visualchars&&n.plugins.visualchars.isEnabled())(n)?"mce-nbsp-wrap mce-nbsp":"mce-nbsp-wrap"}" contenteditable="false">${r(" ",e)}</span>`:r(" ",e);n.undoManager.transact((()=>n.insertContent(o)))};var l=tinymce.util.Tools.resolve("tinymce.util.VK");const u=n=>e=>{const o=()=>{e.setEnabled(n.selection.isEditable())};return n.on("NodeChange",o),o(),()=>{n.off("NodeChange",o)}};n.add("nonbreaking",(n=>{(n=>{const e=n.options.register;e("nonbreaking_force_tab",{processor:n=>o(n)?{value:n?3:0,valid:!0}:a(n)?{value:n,valid:!0}:{valid:!1,message:"Must be a boolean or number."},default:!1}),e("nonbreaking_wrap",{processor:"boolean",default:!0})})(n),(n=>{n.addCommand("mceNonBreaking",(()=>{c(n,1)}))})(n),(n=>{const e=()=>n.execCommand("mceNonBreaking");n.ui.registry.addButton("nonbreaking",{icon:"non-breaking",tooltip:"Nonbreaking space",onAction:e,onSetup:u(n)}),n.ui.registry.addMenuItem("nonbreaking",{icon:"non-breaking",text:"Nonbreaking space",onAction:e,onSetup:u(n)})})(n),(n=>{const e=i(n);e>0&&n.on("keydown",(o=>{if(o.keyCode===l.TAB&&!o.isDefaultPrevented()){if(o.shiftKey)return;o.preventDefault(),o.stopImmediatePropagation(),c(n,e)}}))})(n)}))}(); | ||||
							
								
								
									
										
											BIN
										
									
								
								media/vendor/tinymce/plugins/nonbreaking/plugin.min.js.gz
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								media/vendor/tinymce/plugins/nonbreaking/plugin.min.js.gz
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
		Reference in New Issue
	
	Block a user