@onetype/framework 2.0.26 → 2.0.27

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.
Files changed (65) hide show
  1. package/addons/core/assets/back/functions/utils/transform.js +1 -1
  2. package/addons/render/directives/front/js/functions/process/data.js +0 -1
  3. package/addons/render/transforms/addon.js +2 -0
  4. package/addons/render/transforms/functions/data.js +21 -0
  5. package/addons/render/transforms/functions/run.js +11 -0
  6. package/addons/render/transforms/item/functions/load.js +55 -0
  7. package/addons/render/transforms/item/functions/run.js +12 -0
  8. package/addons/render/transforms/items/directives/transform.js +15 -18
  9. package/lib/items/elements/global/heading/heading.css +1 -1
  10. package/lib/items/elements/global/markdown/markdown.js +207 -3
  11. package/lib/items/elements/{sections → navigation}/navbar/navbar.css +9 -9
  12. package/lib/items/elements/{sections → navigation}/navbar/navbar.js +2 -2
  13. package/lib/items/elements/navigation/sidebar/sidebar.css +101 -0
  14. package/lib/items/elements/navigation/sidebar/sidebar.js +56 -0
  15. package/lib/items/elements/{global → navigation}/tabs/tabs.css +6 -6
  16. package/lib/items/elements/{global → navigation}/tabs/tabs.js +2 -2
  17. package/lib/items/elements/sections/pricing/pricing.css +148 -0
  18. package/lib/items/elements/sections/pricing/pricing.js +76 -0
  19. package/lib/items/transforms/accordion/accordion.js +139 -141
  20. package/lib/items/transforms/chart/area.js +130 -133
  21. package/lib/items/transforms/chart/bar.js +116 -119
  22. package/lib/items/transforms/chart/bubble.js +142 -145
  23. package/lib/items/transforms/chart/doughnut.js +104 -107
  24. package/lib/items/transforms/chart/line.js +127 -130
  25. package/lib/items/transforms/chart/pie.js +102 -105
  26. package/lib/items/transforms/chart/radar.js +134 -137
  27. package/lib/items/transforms/chart/scatter.js +127 -130
  28. package/lib/items/transforms/codeflask/codeflask.js +10 -12
  29. package/lib/items/transforms/codemirror/codemirror.js +186 -189
  30. package/lib/items/transforms/comparison/comparison.js +130 -133
  31. package/lib/items/transforms/heatmap/heatmap.js +406 -407
  32. package/lib/items/transforms/interact/interact.js +240 -241
  33. package/lib/items/transforms/particles/particles.js +282 -283
  34. package/lib/items/transforms/sparkline/sparkline.js +207 -208
  35. package/lib/items/transforms/swiper/swiper.js +115 -118
  36. package/lib/items/transforms/tabs/tabs.js +383 -384
  37. package/lib/items/transforms/typed/typed.js +146 -147
  38. package/lib/load.js +8 -16
  39. package/lib/src/mixins/addons.js +10 -10
  40. package/lib/styles/variables.css +1 -1
  41. package/package.json +1 -1
  42. package/addons/render/transforms/functions/load/assets.js +0 -49
  43. /package/{addons/render/directives/front/js/items → lib/items/directives}/100-if.js +0 -0
  44. /package/{addons/render/directives/front/js/items → lib/items/directives}/1000-render.js +0 -0
  45. /package/{addons/render/directives/front/js/items → lib/items/directives}/110-show.js +0 -0
  46. /package/{addons/render/directives/front/js/items → lib/items/directives}/160-slot.js +0 -0
  47. /package/{addons/render/directives/front/js/items → lib/items/directives}/200-for.js +0 -0
  48. /package/{addons/render/directives/front/js/items → lib/items/directives}/500-blur.js +0 -0
  49. /package/{addons/render/directives/front/js/items → lib/items/directives}/500-change.js +0 -0
  50. /package/{addons/render/directives/front/js/items → lib/items/directives}/500-click-outside.js +0 -0
  51. /package/{addons/render/directives/front/js/items → lib/items/directives}/500-click.js +0 -0
  52. /package/{addons/render/directives/front/js/items → lib/items/directives}/500-double-click.js +0 -0
  53. /package/{addons/render/directives/front/js/items → lib/items/directives}/500-focus.js +0 -0
  54. /package/{addons/render/directives/front/js/items → lib/items/directives}/500-input.js +0 -0
  55. /package/{addons/render/directives/front/js/items → lib/items/directives}/500-keydown.js +0 -0
  56. /package/{addons/render/directives/front/js/items → lib/items/directives}/500-keyup.js +0 -0
  57. /package/{addons/render/directives/front/js/items → lib/items/directives}/500-mouse-enter.js +0 -0
  58. /package/{addons/render/directives/front/js/items → lib/items/directives}/500-mouse-leave.js +0 -0
  59. /package/{addons/render/directives/front/js/items → lib/items/directives}/500-mouse-move.js +0 -0
  60. /package/{addons/render/directives/front/js/items → lib/items/directives}/500-scroll.js +0 -0
  61. /package/{addons/render/directives/front/js/items → lib/items/directives}/500-submit.js +0 -0
  62. /package/{addons/render/directives/front/js/items → lib/items/directives}/650-fetch.js +0 -0
  63. /package/{addons/render/directives/front/js/items → lib/items/directives}/660-form.js +0 -0
  64. /package/{addons/render/directives/front/js/items → lib/items/directives}/700-text.js +0 -0
  65. /package/{addons/render/directives/front/js/items → lib/items/directives}/750-html.js +0 -0
@@ -1,231 +1,228 @@
1
- onetype.AddonReady('transforms', (transforms) =>
2
- {
3
- transforms.ItemAdd({
4
- id: 'codemirror',
5
- icon: 'code',
6
- name: 'Code Mirror',
7
- description: 'Advanced code editor with syntax highlighting. Supports multiple languages and themes.',
8
- js: [
9
- 'https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.16/codemirror.min.js',
10
-
11
- ],
12
- css: [
13
- 'https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.16/codemirror.min.css',
14
- 'https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.16/theme/monokai.min.css',
15
- 'https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.16/theme/dracula.min.css',
16
- 'https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.16/theme/material.min.css'
17
- ],
18
- config: {
19
- 'value': ['string', '// Welcome to CodeMirror\nfunction hello() {\n console.log("Hello, World!");\n}\n\nhello();'],
20
- 'mode': ['string', 'javascript'],
21
- 'theme': ['string', 'monokai'],
22
- 'height': ['number', 400],
23
- 'line-numbers': ['boolean', true],
24
- 'line-wrapping': ['boolean', false],
25
- 'tab-size': ['number', 4],
26
- 'indent-unit': ['number', 4],
27
- 'font-size': ['number', 14],
28
- 'readonly': ['boolean', false],
29
- 'auto-close-brackets': ['boolean', true],
30
- 'match-brackets': ['boolean', true],
31
- 'highlight-active-line': ['boolean', true],
32
- 'smart-indent': ['boolean', true],
33
- 'electric-chars': ['boolean', true],
34
- 'show-cursor-when-selecting': ['boolean', false]
35
- },
36
- code: function(data, item, compile, node, identifier)
1
+ transforms.ItemAdd({
2
+ id: 'codemirror',
3
+ icon: 'code',
4
+ name: 'Code Mirror',
5
+ description: 'Advanced code editor with syntax highlighting. Supports multiple languages and themes.',
6
+ js: [
7
+ 'https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.16/codemirror.min.js',
8
+
9
+ ],
10
+ css: [
11
+ 'https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.16/codemirror.min.css',
12
+ 'https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.16/theme/monokai.min.css',
13
+ 'https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.16/theme/dracula.min.css',
14
+ 'https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.16/theme/material.min.css'
15
+ ],
16
+ config: {
17
+ 'value': ['string', '// Welcome to CodeMirror\nfunction hello() {\n console.log("Hello, World!");\n}\n\nhello();'],
18
+ 'mode': ['string', 'javascript'],
19
+ 'theme': ['string', 'monokai'],
20
+ 'height': ['number', 400],
21
+ 'line-numbers': ['boolean', true],
22
+ 'line-wrapping': ['boolean', false],
23
+ 'tab-size': ['number', 4],
24
+ 'indent-unit': ['number', 4],
25
+ 'font-size': ['number', 14],
26
+ 'readonly': ['boolean', false],
27
+ 'auto-close-brackets': ['boolean', true],
28
+ 'match-brackets': ['boolean', true],
29
+ 'highlight-active-line': ['boolean', true],
30
+ 'smart-indent': ['boolean', true],
31
+ 'electric-chars': ['boolean', true],
32
+ 'show-cursor-when-selecting': ['boolean', false]
33
+ },
34
+ code: function(data, node, transformer)
35
+ {
36
+ this.setup = () =>
37
37
  {
38
- this.setup = () =>
39
- {
40
- // Clear existing content
41
- node.innerHTML = '';
38
+ // Clear existing content
39
+ node.innerHTML = '';
42
40
 
43
- // Add codemirror wrapper class
44
- node.classList.add('codemirror-wrapper');
41
+ // Add codemirror wrapper class
42
+ node.classList.add('codemirror-wrapper');
45
43
 
46
- // Create textarea element
47
- const textarea = document.createElement('textarea');
48
- textarea.id = 'codemirror-' + Math.random().toString(36).substring(2, 11);
49
- textarea.value = data['value'].value || '';
44
+ // Create textarea element
45
+ const textarea = document.createElement('textarea');
46
+ textarea.id = 'codemirror-' + Math.random().toString(36).substring(2, 11);
47
+ textarea.value = data['value'] || '';
50
48
 
51
- // Store textarea reference
52
- this.textarea = textarea;
49
+ // Store textarea reference
50
+ this.textarea = textarea;
53
51
 
54
- // Apply wrapper styles
55
- const height = data['height'].value;
56
- node.style.height = height + 'px';
57
- node.style.border = '1px solid #e0e0e0';
58
- node.style.borderRadius = '4px';
59
- node.style.overflow = 'hidden';
52
+ // Apply wrapper styles
53
+ const height = data['height'];
54
+ node.style.height = height + 'px';
55
+ node.style.border = '1px solid #e0e0e0';
56
+ node.style.borderRadius = '4px';
57
+ node.style.overflow = 'hidden';
60
58
 
61
- // Append textarea to node
62
- node.appendChild(textarea);
63
- };
59
+ // Append textarea to node
60
+ node.appendChild(textarea);
61
+ };
64
62
 
65
- this.config = () =>
66
- {
67
- const fontSize = data['font-size'].value;
68
-
69
- return {
70
- value: data['value'].value || '',
71
- mode: data['mode'].value || 'javascript',
72
- theme: data['theme'].value || 'monokai',
73
- lineNumbers: data['line-numbers'].value !== false,
74
- lineWrapping: data['line-wrapping'].value === true,
75
- tabSize: data['tab-size'].value || 4,
76
- indentUnit: data['indent-unit'].value || 4,
77
- readOnly: data['readonly'].value === true,
78
- autoCloseBrackets: data['auto-close-brackets'].value !== false,
79
- matchBrackets: data['match-brackets'].value !== false,
80
- styleActiveLine: data['highlight-active-line'].value !== false,
81
- smartIndent: data['smart-indent'].value !== false,
82
- electricChars: data['electric-chars'].value !== false,
83
- showCursorWhenSelecting: data['show-cursor-when-selecting'].value === true,
84
- extraKeys: {
85
- 'Ctrl-Space': 'autocomplete'
86
- }
87
- };
63
+ this.config = () =>
64
+ {
65
+ const fontSize = data['font-size'];
66
+
67
+ return {
68
+ value: data['value'] || '',
69
+ mode: data['mode'] || 'javascript',
70
+ theme: data['theme'] || 'monokai',
71
+ lineNumbers: data['line-numbers'] !== false,
72
+ lineWrapping: data['line-wrapping'] === true,
73
+ tabSize: data['tab-size'] || 4,
74
+ indentUnit: data['indent-unit'] || 4,
75
+ readOnly: data['readonly'] === true,
76
+ autoCloseBrackets: data['auto-close-brackets'] !== false,
77
+ matchBrackets: data['match-brackets'] !== false,
78
+ styleActiveLine: data['highlight-active-line'] !== false,
79
+ smartIndent: data['smart-indent'] !== false,
80
+ electricChars: data['electric-chars'] !== false,
81
+ showCursorWhenSelecting: data['show-cursor-when-selecting'] === true,
82
+ extraKeys: {
83
+ 'Ctrl-Space': 'autocomplete'
84
+ }
88
85
  };
86
+ };
89
87
 
90
- this.applyStyles = () =>
91
- {
92
- const fontSize = data['font-size'].value;
88
+ this.applyStyles = () =>
89
+ {
90
+ const fontSize = data['font-size'];
93
91
 
94
- // Apply custom font size
95
- setTimeout(() =>
92
+ // Apply custom font size
93
+ setTimeout(() =>
94
+ {
95
+ if(this.editor)
96
96
  {
97
- if(this.editor)
98
- {
99
- const wrapper = this.editor.getWrapperElement();
100
- wrapper.style.fontSize = fontSize + 'px';
101
- wrapper.style.fontFamily = 'Monaco, Menlo, "Ubuntu Mono", monospace';
102
- }
103
- }, 100);
104
- };
105
-
106
- this.initialize = () =>
97
+ const wrapper = this.editor.getWrapperElement();
98
+ wrapper.style.fontSize = fontSize + 'px';
99
+ wrapper.style.fontFamily = 'Monaco, Menlo, "Ubuntu Mono", monospace';
100
+ }
101
+ }, 100);
102
+ };
103
+
104
+ this.initialize = () =>
105
+ {
106
+ setTimeout(() =>
107
107
  {
108
- setTimeout(() =>
108
+ // Check if CodeMirror is available
109
+ if(typeof CodeMirror === 'undefined')
109
110
  {
110
- // Check if CodeMirror is available
111
- if(typeof CodeMirror === 'undefined')
112
- {
113
- console.error('CodeMirror library not loaded');
114
- node.innerHTML = '<div style="padding: 20px; color: #666;">CodeMirror library not available</div>';
115
- return;
116
- }
111
+ console.error('CodeMirror library not loaded');
112
+ node.innerHTML = '<div style="padding: 20px; color: #666;">CodeMirror library not available</div>';
113
+ return;
114
+ }
117
115
 
118
- try
119
- {
120
- // Create CodeMirror instance
121
- this.editor = CodeMirror.fromTextArea(this.textarea, this.config());
116
+ try
117
+ {
118
+ // Create CodeMirror instance
119
+ this.editor = CodeMirror.fromTextArea(this.textarea, this.config());
122
120
 
123
- // Store instance on node for external access
124
- node._codeMirrorEditor = this.editor;
121
+ // Store instance on node for external access
122
+ node._codeMirrorEditor = this.editor;
125
123
 
126
- // Apply custom styles
127
- this.applyStyles();
124
+ // Apply custom styles
125
+ this.applyStyles();
128
126
 
129
- // Set height
130
- const height = data['height'].value;
131
- this.editor.setSize('100%', height + 'px');
127
+ // Set height
128
+ const height = data['height'];
129
+ this.editor.setSize('100%', height + 'px');
132
130
 
133
- // Add helper methods to node
134
- node.getValue = () =>
135
- {
136
- return this.editor ? this.editor.getValue() : '';
137
- };
131
+ // Add helper methods to node
132
+ node.getValue = () =>
133
+ {
134
+ return this.editor ? this.editor.getValue() : '';
135
+ };
138
136
 
139
- node.setValue = (value) =>
137
+ node.setValue = (value) =>
138
+ {
139
+ if(this.editor && value !== undefined)
140
140
  {
141
- if(this.editor && value !== undefined)
142
- {
143
- this.editor.setValue(String(value));
144
- }
145
- };
141
+ this.editor.setValue(String(value));
142
+ }
143
+ };
146
144
 
147
- node.getMode = () =>
148
- {
149
- return this.editor ? this.editor.getOption('mode') : '';
150
- };
145
+ node.getMode = () =>
146
+ {
147
+ return this.editor ? this.editor.getOption('mode') : '';
148
+ };
151
149
 
152
- node.setMode = (mode) =>
150
+ node.setMode = (mode) =>
151
+ {
152
+ if(this.editor && mode)
153
153
  {
154
- if(this.editor && mode)
155
- {
156
- this.editor.setOption('mode', String(mode));
157
- }
158
- };
154
+ this.editor.setOption('mode', String(mode));
155
+ }
156
+ };
159
157
 
160
- node.setTheme = (theme) =>
158
+ node.setTheme = (theme) =>
159
+ {
160
+ if(this.editor && theme)
161
161
  {
162
- if(this.editor && theme)
163
- {
164
- this.editor.setOption('theme', String(theme));
165
- }
166
- };
162
+ this.editor.setOption('theme', String(theme));
163
+ }
164
+ };
167
165
 
168
- node.setReadOnly = (readonly) =>
166
+ node.setReadOnly = (readonly) =>
167
+ {
168
+ if(this.editor)
169
169
  {
170
- if(this.editor)
171
- {
172
- this.editor.setOption('readOnly', Boolean(readonly));
173
- }
174
- };
170
+ this.editor.setOption('readOnly', Boolean(readonly));
171
+ }
172
+ };
175
173
 
176
- node.refresh = () =>
174
+ node.refresh = () =>
175
+ {
176
+ if(this.editor)
177
177
  {
178
- if(this.editor)
178
+ setTimeout(() =>
179
179
  {
180
- setTimeout(() =>
181
- {
182
- this.editor.refresh();
183
- }, 10);
184
- }
185
- };
180
+ this.editor.refresh();
181
+ }, 10);
182
+ }
183
+ };
186
184
 
187
- node.focus = () =>
185
+ node.focus = () =>
186
+ {
187
+ if(this.editor)
188
188
  {
189
- if(this.editor)
190
- {
191
- this.editor.focus();
192
- }
193
- };
189
+ this.editor.focus();
190
+ }
191
+ };
194
192
 
195
- node.dispose = () =>
193
+ node.dispose = () =>
194
+ {
195
+ if(this.editor)
196
196
  {
197
- if(this.editor)
198
- {
199
- this.editor.toTextArea();
200
- this.editor = null;
201
- }
202
- };
197
+ this.editor.toTextArea();
198
+ this.editor = null;
199
+ }
200
+ };
203
201
 
204
- // Auto-refresh when container becomes visible
205
- const observer = new IntersectionObserver((entries) =>
202
+ // Auto-refresh when container becomes visible
203
+ const observer = new IntersectionObserver((entries) =>
204
+ {
205
+ entries.forEach(entry =>
206
206
  {
207
- entries.forEach(entry =>
207
+ if(entry.isIntersecting && this.editor)
208
208
  {
209
- if(entry.isIntersecting && this.editor)
210
- {
211
- this.editor.refresh();
212
- }
213
- });
209
+ this.editor.refresh();
210
+ }
214
211
  });
212
+ });
215
213
 
216
- observer.observe(node);
214
+ observer.observe(node);
217
215
 
218
- console.log('CodeMirror editor initialized successfully');
216
+ console.log('CodeMirror editor initialized successfully');
219
217
 
220
- } catch (error) {
221
- console.error('CodeMirror initialization failed:', error);
222
- node.innerHTML = '<div style="padding: 20px; color: #666;">CodeMirror initialization failed</div>';
223
- }
224
- }, 200);
225
- };
218
+ } catch (error) {
219
+ console.error('CodeMirror initialization failed:', error);
220
+ node.innerHTML = '<div style="padding: 20px; color: #666;">CodeMirror initialization failed</div>';
221
+ }
222
+ }, 200);
223
+ };
226
224
 
227
- this.setup();
228
- this.initialize();
229
- }
230
- });
231
- });
225
+ this.setup();
226
+ this.initialize();
227
+ }
228
+ });