kendo-vue-popup-latest 1.0.0 → 1.0.1
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.
- package/README.md +101 -45
- package/index.js +142 -20
- package/package.json +10 -15
package/README.md
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
# kendo-vue-popup-latest
|
|
2
2
|
|
|
3
|
-
Kendo UI
|
|
4
|
-
|
|
5
|
-
Part of the [Popupsmart](https://popupsmart.com) ecosystem - a powerful popup builder and marketing conversion platform.
|
|
3
|
+
Vue.js popup component with Kendo UI styling and features.
|
|
6
4
|
|
|
7
5
|
## Installation
|
|
8
6
|
|
|
@@ -10,69 +8,127 @@ Part of the [Popupsmart](https://popupsmart.com) ecosystem - a powerful popup bu
|
|
|
10
8
|
npm install kendo-vue-popup-latest
|
|
11
9
|
```
|
|
12
10
|
|
|
13
|
-
##
|
|
14
|
-
|
|
15
|
-
Popupsmart is a no-code popup builder that helps you create high-converting popups in minutes. Our platform offers:
|
|
11
|
+
## Quick Start
|
|
16
12
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
- 📊 **Analytics & A/B Testing** - Optimize your conversion rates
|
|
20
|
-
- 🚀 **Easy Integration** - Works with all major platforms
|
|
21
|
-
- 💰 **Free to Start** - No credit card required
|
|
13
|
+
```javascript
|
|
14
|
+
import Popup from 'kendo-vue-popup-latest';
|
|
22
15
|
|
|
23
|
-
|
|
16
|
+
// Create a simple popup
|
|
17
|
+
const popup = new Popup({
|
|
18
|
+
position: 'center',
|
|
19
|
+
overlay: true,
|
|
20
|
+
closeButton: true
|
|
21
|
+
});
|
|
24
22
|
|
|
25
|
-
|
|
23
|
+
popup.create(`
|
|
24
|
+
<h2>Hello World!</h2>
|
|
25
|
+
<p>This is a simple popup.</p>
|
|
26
|
+
`).show();
|
|
27
|
+
```
|
|
26
28
|
|
|
27
|
-
##
|
|
29
|
+
## Usage
|
|
28
30
|
|
|
29
|
-
|
|
30
|
-
- Lightweight and performant
|
|
31
|
-
- Fully customizable
|
|
32
|
-
- Mobile responsive
|
|
33
|
-
- GDPR compliant
|
|
31
|
+
### Basic Popup
|
|
34
32
|
|
|
35
|
-
|
|
33
|
+
```javascript
|
|
34
|
+
const popup = new Popup();
|
|
35
|
+
popup.create('<h1>Welcome!</h1>').show();
|
|
36
|
+
```
|
|
36
37
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
### Custom Configuration
|
|
39
|
+
|
|
40
|
+
```javascript
|
|
41
|
+
const popup = new Popup({
|
|
42
|
+
position: 'center', // Popup position
|
|
43
|
+
animation: 'fade', // Animation type
|
|
44
|
+
overlay: true, // Show overlay
|
|
45
|
+
closeOnOverlayClick: true, // Close on overlay click
|
|
46
|
+
closeButton: true // Show close button
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
popup.create(`
|
|
50
|
+
<div>
|
|
51
|
+
<h2>Custom Popup</h2>
|
|
52
|
+
<p>With custom configuration</p>
|
|
53
|
+
</div>
|
|
54
|
+
`).show();
|
|
55
|
+
```
|
|
41
56
|
|
|
42
|
-
##
|
|
57
|
+
## API
|
|
43
58
|
|
|
44
|
-
|
|
59
|
+
### Constructor
|
|
45
60
|
|
|
46
|
-
|
|
61
|
+
```javascript
|
|
62
|
+
new Popup(options)
|
|
63
|
+
```
|
|
47
64
|
|
|
48
|
-
|
|
65
|
+
**Options:**
|
|
66
|
+
- `position` (string): Popup position - default: 'center'
|
|
67
|
+
- `animation` (string): Animation type - default: 'fade'
|
|
68
|
+
- `overlay` (boolean): Show overlay - default: true
|
|
69
|
+
- `closeOnOverlayClick` (boolean): Close on overlay click - default: true
|
|
70
|
+
- `closeButton` (boolean): Show close button - default: true
|
|
71
|
+
|
|
72
|
+
### Methods
|
|
73
|
+
|
|
74
|
+
- `create(content)` - Create popup with HTML content
|
|
75
|
+
- `show()` - Show the popup
|
|
76
|
+
- `close()` - Close the popup
|
|
77
|
+
- `destroy()` - Destroy and remove popup
|
|
78
|
+
|
|
79
|
+
## Examples
|
|
80
|
+
|
|
81
|
+
### Email Capture Popup
|
|
82
|
+
|
|
83
|
+
```javascript
|
|
84
|
+
const emailPopup = new Popup();
|
|
85
|
+
emailPopup.create(`
|
|
86
|
+
<h2>Subscribe to Newsletter</h2>
|
|
87
|
+
<form>
|
|
88
|
+
<input type="email" placeholder="Enter your email">
|
|
89
|
+
<button type="submit">Subscribe</button>
|
|
90
|
+
</form>
|
|
91
|
+
`).show();
|
|
92
|
+
```
|
|
49
93
|
|
|
50
|
-
|
|
94
|
+
### Notification Popup
|
|
51
95
|
|
|
52
|
-
|
|
96
|
+
```javascript
|
|
97
|
+
const notification = new Popup({
|
|
98
|
+
overlay: false,
|
|
99
|
+
closeButton: true
|
|
100
|
+
});
|
|
53
101
|
|
|
54
|
-
|
|
102
|
+
notification.create(`
|
|
103
|
+
<p>✅ Success! Your changes have been saved.</p>
|
|
104
|
+
`).show();
|
|
55
105
|
|
|
56
|
-
|
|
106
|
+
// Auto close after 3 seconds
|
|
107
|
+
setTimeout(() => notification.close(), 3000);
|
|
108
|
+
```
|
|
57
109
|
|
|
58
|
-
|
|
110
|
+
## Advanced Solutions
|
|
59
111
|
|
|
60
|
-
|
|
112
|
+
For advanced popup features like:
|
|
113
|
+
- Exit-intent detection
|
|
114
|
+
- A/B testing
|
|
115
|
+
- Analytics tracking
|
|
116
|
+
- Smart targeting
|
|
117
|
+
- 60+ templates
|
|
118
|
+
- Drag & drop builder
|
|
61
119
|
|
|
62
|
-
|
|
120
|
+
Visit **[Popupsmart.com](https://popupsmart.com)** - The world's most powerful no-code popup builder trusted by 100,000+ businesses.
|
|
63
121
|
|
|
64
|
-
|
|
122
|
+
## Keywords
|
|
65
123
|
|
|
66
|
-
|
|
67
|
-
- API access for programmatic popup management
|
|
68
|
-
- Webhook integrations for real-time events
|
|
69
|
-
- Developer-friendly documentation
|
|
70
|
-
- Free tier available with generous limits
|
|
124
|
+
kendo, vue, vuejs, popup, modal, ui-component
|
|
71
125
|
|
|
72
|
-
|
|
126
|
+
## License
|
|
73
127
|
|
|
74
|
-
|
|
128
|
+
MIT
|
|
75
129
|
|
|
76
|
-
|
|
130
|
+
## Support
|
|
77
131
|
|
|
78
|
-
|
|
132
|
+
- 📖 Documentation: [popupsmart.com/docs](https://popupsmart.com/docs)
|
|
133
|
+
- 💬 Support: [popupsmart.com/support](https://popupsmart.com/support)
|
|
134
|
+
- 🌐 Website: [popupsmart.com](https://popupsmart.com)
|
package/index.js
CHANGED
|
@@ -1,27 +1,149 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* kendo-vue-popup-latest
|
|
3
|
-
*
|
|
3
|
+
* Simple popup library for websites
|
|
4
4
|
*
|
|
5
|
-
* @
|
|
6
|
-
* @author Popupsmart
|
|
7
|
-
* @license MIT
|
|
5
|
+
* @see https://popupsmart.com for advanced popup solutions
|
|
8
6
|
*/
|
|
9
7
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
*/
|
|
20
|
-
init: function() {
|
|
21
|
-
return {
|
|
22
|
-
name: this.name,
|
|
23
|
-
version: this.version,
|
|
24
|
-
homepage: this.homepage
|
|
8
|
+
class Popup {
|
|
9
|
+
constructor(options = {}) {
|
|
10
|
+
this.config = {
|
|
11
|
+
position: options.position || 'center',
|
|
12
|
+
animation: options.animation || 'fade',
|
|
13
|
+
overlay: options.overlay !== false,
|
|
14
|
+
closeOnOverlayClick: options.closeOnOverlayClick !== false,
|
|
15
|
+
closeButton: options.closeButton !== false,
|
|
16
|
+
...options
|
|
25
17
|
};
|
|
18
|
+
|
|
19
|
+
this.isOpen = false;
|
|
20
|
+
this.element = null;
|
|
21
|
+
this.overlayElement = null;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
create(content) {
|
|
25
|
+
// Create overlay
|
|
26
|
+
this.overlayElement = this.createOverlay();
|
|
27
|
+
|
|
28
|
+
// Create popup
|
|
29
|
+
this.element = this.createPopupElement(content);
|
|
30
|
+
|
|
31
|
+
return this;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
createOverlay() {
|
|
35
|
+
if (!this.config.overlay) return null;
|
|
36
|
+
|
|
37
|
+
const overlay = document.createElement('div');
|
|
38
|
+
overlay.style.cssText = `
|
|
39
|
+
position: fixed;
|
|
40
|
+
top: 0;
|
|
41
|
+
left: 0;
|
|
42
|
+
width: 100%;
|
|
43
|
+
height: 100%;
|
|
44
|
+
background: rgba(0, 0, 0, 0.5);
|
|
45
|
+
z-index: 9998;
|
|
46
|
+
display: none;
|
|
47
|
+
`;
|
|
48
|
+
|
|
49
|
+
if (this.config.closeOnOverlayClick) {
|
|
50
|
+
overlay.addEventListener('click', () => this.close());
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
document.body.appendChild(overlay);
|
|
54
|
+
return overlay;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
createPopupElement(content) {
|
|
58
|
+
const popup = document.createElement('div');
|
|
59
|
+
popup.style.cssText = `
|
|
60
|
+
position: fixed;
|
|
61
|
+
top: 50%;
|
|
62
|
+
left: 50%;
|
|
63
|
+
transform: translate(-50%, -50%);
|
|
64
|
+
background: white;
|
|
65
|
+
padding: 20px;
|
|
66
|
+
border-radius: 8px;
|
|
67
|
+
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
|
68
|
+
z-index: 9999;
|
|
69
|
+
max-width: 90%;
|
|
70
|
+
max-height: 90%;
|
|
71
|
+
overflow: auto;
|
|
72
|
+
display: none;
|
|
73
|
+
`;
|
|
74
|
+
|
|
75
|
+
popup.innerHTML = content;
|
|
76
|
+
|
|
77
|
+
if (this.config.closeButton) {
|
|
78
|
+
const closeBtn = document.createElement('button');
|
|
79
|
+
closeBtn.innerHTML = '×';
|
|
80
|
+
closeBtn.style.cssText = `
|
|
81
|
+
position: absolute;
|
|
82
|
+
top: 10px;
|
|
83
|
+
right: 10px;
|
|
84
|
+
border: none;
|
|
85
|
+
background: none;
|
|
86
|
+
font-size: 24px;
|
|
87
|
+
cursor: pointer;
|
|
88
|
+
color: #666;
|
|
89
|
+
`;
|
|
90
|
+
closeBtn.addEventListener('click', () => this.close());
|
|
91
|
+
popup.appendChild(closeBtn);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
document.body.appendChild(popup);
|
|
95
|
+
return popup;
|
|
26
96
|
}
|
|
27
|
-
|
|
97
|
+
|
|
98
|
+
show() {
|
|
99
|
+
if (this.isOpen) return;
|
|
100
|
+
|
|
101
|
+
if (this.overlayElement) {
|
|
102
|
+
this.overlayElement.style.display = 'block';
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
if (this.element) {
|
|
106
|
+
this.element.style.display = 'block';
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
this.isOpen = true;
|
|
110
|
+
return this;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
close() {
|
|
114
|
+
if (!this.isOpen) return;
|
|
115
|
+
|
|
116
|
+
if (this.overlayElement) {
|
|
117
|
+
this.overlayElement.style.display = 'none';
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
if (this.element) {
|
|
121
|
+
this.element.style.display = 'none';
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
this.isOpen = false;
|
|
125
|
+
return this;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
destroy() {
|
|
129
|
+
if (this.overlayElement) {
|
|
130
|
+
this.overlayElement.remove();
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
if (this.element) {
|
|
134
|
+
this.element.remove();
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
this.isOpen = false;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
// Export
|
|
142
|
+
if (typeof module !== 'undefined' && module.exports) {
|
|
143
|
+
module.exports = Popup;
|
|
144
|
+
module.exports.default = Popup;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
if (typeof window !== 'undefined') {
|
|
148
|
+
window.Popup = Popup;
|
|
149
|
+
}
|
package/package.json
CHANGED
|
@@ -1,29 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kendo-vue-popup-latest",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "Kendo UI
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"description": "Vue.js popup component with Kendo UI styling and features.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
7
|
-
"test": "echo \"
|
|
7
|
+
"test": "echo \"No tests specified\""
|
|
8
8
|
},
|
|
9
|
-
"repository": {
|
|
10
|
-
"type": "git",
|
|
11
|
-
"url": "https://github.com/popupsmart/kendo-vue-popup-latest.git"
|
|
12
|
-
},
|
|
13
|
-
"homepage": "https://popupsmart.com",
|
|
14
9
|
"keywords": [
|
|
15
|
-
"popup",
|
|
16
|
-
"marketing",
|
|
17
|
-
"conversion",
|
|
18
|
-
"popupsmart",
|
|
19
10
|
"kendo",
|
|
20
11
|
"vue",
|
|
12
|
+
"vuejs",
|
|
21
13
|
"popup",
|
|
22
|
-
"
|
|
14
|
+
"modal",
|
|
15
|
+
"ui-component"
|
|
23
16
|
],
|
|
24
17
|
"author": "Popupsmart",
|
|
25
18
|
"license": "MIT",
|
|
26
|
-
"
|
|
27
|
-
|
|
19
|
+
"homepage": "https://popupsmart.com",
|
|
20
|
+
"repository": {
|
|
21
|
+
"type": "git",
|
|
22
|
+
"url": "https://github.com/popupsmart/kendo-vue-popup-latest"
|
|
28
23
|
}
|
|
29
24
|
}
|