PluginProbe
Elementor Website Builder – more than just a page builder / 3.26.1
Elementor Website Builder – more than just a page builder v3.26.1
4.3.4 4.3.3 4.3.2 4.3.1 4.3.0 4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 All 457 releases
elementor / assets / js / text-editor.4c1f4c7a6496bcbd4fbc.bundle.js

text-editor.4c1f4c7a6496bcbd4fbc.bundle.js in Elementor Website Builder – more than just a page builder 3.26.1, at assets/js/text-editor.4c1f4c7a6496bcbd4fbc.bundle.js

94 lines 2.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /*! elementor - v3.26.0 - 19-12-2024 */
2 "use strict";
3 (self["webpackChunkelementor"] = self["webpackChunkelementor"] || []).push([["text-editor"],{
4
5 /***/ "../assets/dev/js/frontend/handlers/text-editor.js":
6 /*!*********************************************************!*\
7 !*** ../assets/dev/js/frontend/handlers/text-editor.js ***!
8 \*********************************************************/
9 /***/ ((__unused_webpack_module, exports) => {
10
11
12
13 Object.defineProperty(exports, "__esModule", ({
14 value: true
15 }));
16 exports["default"] = void 0;
17 class TextEditor extends elementorModules.frontend.handlers.Base {
18 getDefaultSettings() {
19 return {
20 selectors: {
21 paragraph: 'p:first'
22 },
23 classes: {
24 dropCap: 'elementor-drop-cap',
25 dropCapLetter: 'elementor-drop-cap-letter'
26 }
27 };
28 }
29 getDefaultElements() {
30 const selectors = this.getSettings('selectors'),
31 classes = this.getSettings('classes'),
32 $dropCap = jQuery('<span>', {
33 class: classes.dropCap
34 }),
35 $dropCapLetter = jQuery('<span>', {
36 class: classes.dropCapLetter
37 });
38 $dropCap.append($dropCapLetter);
39 return {
40 $paragraph: this.$element.find(selectors.paragraph),
41 $dropCap,
42 $dropCapLetter
43 };
44 }
45 wrapDropCap() {
46 const isDropCapEnabled = this.getElementSettings('drop_cap');
47 if (!isDropCapEnabled) {
48 // If there is an old drop cap inside the paragraph
49 if (this.dropCapLetter) {
50 this.elements.$dropCap.remove();
51 this.elements.$paragraph.prepend(this.dropCapLetter);
52 this.dropCapLetter = '';
53 }
54 return;
55 }
56 const $paragraph = this.elements.$paragraph;
57 if (!$paragraph.length) {
58 return;
59 }
60 const paragraphContent = $paragraph.html().replace(/&nbsp;/g, ' '),
61 firstLetterMatch = paragraphContent.match(/^ *([^ ] ?)/);
62 if (!firstLetterMatch) {
63 return;
64 }
65 const firstLetter = firstLetterMatch[1],
66 trimmedFirstLetter = firstLetter.trim();
67
68 // Don't apply drop cap when the content starting with an HTML tag
69 if ('<' === trimmedFirstLetter) {
70 return;
71 }
72 this.dropCapLetter = firstLetter;
73 this.elements.$dropCapLetter.text(trimmedFirstLetter);
74 const restoredParagraphContent = paragraphContent.slice(firstLetter.length).replace(/^ */, match => {
75 return new Array(match.length + 1).join('&nbsp;');
76 });
77 $paragraph.html(restoredParagraphContent).prepend(this.elements.$dropCap);
78 }
79 onInit() {
80 super.onInit(...arguments);
81 this.wrapDropCap();
82 }
83 onElementChange(propertyName) {
84 if ('drop_cap' === propertyName) {
85 this.wrapDropCap();
86 }
87 }
88 }
89 exports["default"] = TextEditor;
90
91 /***/ })
92
93 }]);
94 //# sourceMappingURL=text-editor.4c1f4c7a6496bcbd4fbc.bundle.js.map