@onetype/framework 2.0.26 → 2.0.28

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 (66) 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/classes/addon/classes/render/mixins/process.js +16 -0
  40. package/lib/src/mixins/addons.js +10 -10
  41. package/lib/styles/variables.css +1 -1
  42. package/package.json +1 -1
  43. package/addons/render/transforms/functions/load/assets.js +0 -49
  44. /package/{addons/render/directives/front/js/items → lib/items/directives}/100-if.js +0 -0
  45. /package/{addons/render/directives/front/js/items → lib/items/directives}/1000-render.js +0 -0
  46. /package/{addons/render/directives/front/js/items → lib/items/directives}/110-show.js +0 -0
  47. /package/{addons/render/directives/front/js/items → lib/items/directives}/160-slot.js +0 -0
  48. /package/{addons/render/directives/front/js/items → lib/items/directives}/200-for.js +0 -0
  49. /package/{addons/render/directives/front/js/items → lib/items/directives}/500-blur.js +0 -0
  50. /package/{addons/render/directives/front/js/items → lib/items/directives}/500-change.js +0 -0
  51. /package/{addons/render/directives/front/js/items → lib/items/directives}/500-click-outside.js +0 -0
  52. /package/{addons/render/directives/front/js/items → lib/items/directives}/500-click.js +0 -0
  53. /package/{addons/render/directives/front/js/items → lib/items/directives}/500-double-click.js +0 -0
  54. /package/{addons/render/directives/front/js/items → lib/items/directives}/500-focus.js +0 -0
  55. /package/{addons/render/directives/front/js/items → lib/items/directives}/500-input.js +0 -0
  56. /package/{addons/render/directives/front/js/items → lib/items/directives}/500-keydown.js +0 -0
  57. /package/{addons/render/directives/front/js/items → lib/items/directives}/500-keyup.js +0 -0
  58. /package/{addons/render/directives/front/js/items → lib/items/directives}/500-mouse-enter.js +0 -0
  59. /package/{addons/render/directives/front/js/items → lib/items/directives}/500-mouse-leave.js +0 -0
  60. /package/{addons/render/directives/front/js/items → lib/items/directives}/500-mouse-move.js +0 -0
  61. /package/{addons/render/directives/front/js/items → lib/items/directives}/500-scroll.js +0 -0
  62. /package/{addons/render/directives/front/js/items → lib/items/directives}/500-submit.js +0 -0
  63. /package/{addons/render/directives/front/js/items → lib/items/directives}/650-fetch.js +0 -0
  64. /package/{addons/render/directives/front/js/items → lib/items/directives}/660-form.js +0 -0
  65. /package/{addons/render/directives/front/js/items → lib/items/directives}/700-text.js +0 -0
  66. /package/{addons/render/directives/front/js/items → lib/items/directives}/750-html.js +0 -0
@@ -1,142 +1,139 @@
1
- onetype.AddonReady('transforms', (transforms) =>
2
- {
3
- transforms.ItemAdd({
4
- id: 'comparison',
5
- icon: 'compare_arrows',
6
- name: 'Comparison',
7
- description: 'Side-by-side comparison widget. Compare features, prices, or data in an interactive layout.',
8
- js: [
9
- 'https://cdn.jsdelivr.net/npm/img-comparison-slider@8/dist/index.js'
10
- ],
11
- css: [
12
- 'https://cdn.jsdelivr.net/npm/img-comparison-slider@8/dist/styles.css'
13
- ],
14
- config: {
15
- 'before-image': ['string', 'https://images.pexels.com/photos/3225517/pexels-photo-3225517.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1'],
16
- 'after-image': ['string', 'https://images.pexels.com/photos/3408744/pexels-photo-3408744.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1'],
17
- 'before-label': ['string', 'Before'],
18
- 'after-label': ['string', 'After'],
19
- 'start-position': ['number', 50],
20
- 'hover-enabled': ['boolean', true],
21
- 'handle-color': ['string', '#ffffff'],
22
- 'divider-color': ['string', '#ffffff'],
23
- 'divider-width': ['number', 2],
24
- 'keyboard-enabled': ['boolean', true]
25
- },
26
- code: function(data, item, compile, node, identifier)
1
+ transforms.ItemAdd({
2
+ id: 'comparison',
3
+ icon: 'compare_arrows',
4
+ name: 'Comparison',
5
+ description: 'Side-by-side comparison widget. Compare features, prices, or data in an interactive layout.',
6
+ js: [
7
+ 'https://cdn.jsdelivr.net/npm/img-comparison-slider@8/dist/index.js'
8
+ ],
9
+ css: [
10
+ 'https://cdn.jsdelivr.net/npm/img-comparison-slider@8/dist/styles.css'
11
+ ],
12
+ config: {
13
+ 'before-image': ['string', 'https://images.pexels.com/photos/3225517/pexels-photo-3225517.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1'],
14
+ 'after-image': ['string', 'https://images.pexels.com/photos/3408744/pexels-photo-3408744.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1'],
15
+ 'before-label': ['string', 'Before'],
16
+ 'after-label': ['string', 'After'],
17
+ 'start-position': ['number', 50],
18
+ 'hover-enabled': ['boolean', true],
19
+ 'handle-color': ['string', '#ffffff'],
20
+ 'divider-color': ['string', '#ffffff'],
21
+ 'divider-width': ['number', 2],
22
+ 'keyboard-enabled': ['boolean', true]
23
+ },
24
+ code: function(data, node, transformer)
25
+ {
26
+ this.setup = () =>
27
27
  {
28
- this.setup = () =>
28
+ // Create the custom element wrapper
29
+ const slider = document.createElement('img-comparison-slider');
30
+
31
+ // Create before image
32
+ const beforeImage = document.createElement('img');
33
+ beforeImage.setAttribute('slot', 'first');
34
+ beforeImage.src = data['before-image'];
35
+ beforeImage.alt = data['before-label'];
36
+
37
+ // Create after image
38
+ const afterImage = document.createElement('img');
39
+ afterImage.setAttribute('slot', 'second');
40
+ afterImage.src = data['after-image'];
41
+ afterImage.alt = data['after-label'];
42
+
43
+ // Append images to slider
44
+ slider.appendChild(beforeImage);
45
+ slider.appendChild(afterImage);
46
+
47
+ // Clear node and append slider
48
+ node.innerHTML = '';
49
+ node.appendChild(slider);
50
+
51
+ // Store reference for later configuration
52
+ this.slider = slider;
53
+ };
54
+
55
+ this.labels = () =>
56
+ {
57
+ const beforeLabel = data['before-label'];
58
+ const afterLabel = data['after-label'];
59
+
60
+ if(beforeLabel && beforeLabel !== 'Before')
61
+ {
62
+ this.slider.setAttribute('data-first-label', beforeLabel);
63
+ }
64
+
65
+ if(afterLabel && afterLabel !== 'After')
66
+ {
67
+ this.slider.setAttribute('data-second-label', afterLabel);
68
+ }
69
+ };
70
+
71
+ this.styles = () =>
72
+ {
73
+ const handleColor = data['handle-color'];
74
+ const dividerColor = data['divider-color'];
75
+ const dividerWidth = data['divider-width'];
76
+
77
+ const styles = [];
78
+
79
+ if(handleColor !== '#ffffff')
29
80
  {
30
- // Create the custom element wrapper
31
- const slider = document.createElement('img-comparison-slider');
32
-
33
- // Create before image
34
- const beforeImage = document.createElement('img');
35
- beforeImage.setAttribute('slot', 'first');
36
- beforeImage.src = data['before-image'].value;
37
- beforeImage.alt = data['before-label'].value;
38
-
39
- // Create after image
40
- const afterImage = document.createElement('img');
41
- afterImage.setAttribute('slot', 'second');
42
- afterImage.src = data['after-image'].value;
43
- afterImage.alt = data['after-label'].value;
44
-
45
- // Append images to slider
46
- slider.appendChild(beforeImage);
47
- slider.appendChild(afterImage);
48
-
49
- // Clear node and append slider
50
- node.innerHTML = '';
51
- node.appendChild(slider);
52
-
53
- // Store reference for later configuration
54
- this.slider = slider;
55
- };
56
-
57
- this.labels = () =>
81
+ styles.push(`--handle-color: ${handleColor}`);
82
+ }
83
+
84
+ if(dividerColor !== '#ffffff')
58
85
  {
59
- const beforeLabel = data['before-label'].value;
60
- const afterLabel = data['after-label'].value;
86
+ styles.push(`--divider-color: ${dividerColor}`);
87
+ }
61
88
 
62
- if(beforeLabel && beforeLabel !== 'Before')
63
- {
64
- this.slider.setAttribute('data-first-label', beforeLabel);
65
- }
89
+ if(dividerWidth !== 2)
90
+ {
91
+ styles.push(`--divider-width: ${dividerWidth}px`);
92
+ }
66
93
 
67
- if(afterLabel && afterLabel !== 'After')
68
- {
69
- this.slider.setAttribute('data-second-label', afterLabel);
70
- }
71
- };
94
+ if(styles.length > 0)
95
+ {
96
+ this.slider.style.cssText = styles.join('; ');
97
+ }
98
+ };
99
+
100
+ this.attributes = () =>
101
+ {
102
+ const startPosition = data['start-position'];
103
+ const hoverEnabled = data['hover-enabled'];
104
+ const keyboardEnabled = data['keyboard-enabled'];
72
105
 
73
- this.styles = () =>
106
+ if(startPosition !== 50)
74
107
  {
75
- const handleColor = data['handle-color'].value;
76
- const dividerColor = data['divider-color'].value;
77
- const dividerWidth = data['divider-width'].value;
78
-
79
- const styles = [];
80
-
81
- if(handleColor !== '#ffffff')
82
- {
83
- styles.push(`--handle-color: ${handleColor}`);
84
- }
85
-
86
- if(dividerColor !== '#ffffff')
87
- {
88
- styles.push(`--divider-color: ${dividerColor}`);
89
- }
90
-
91
- if(dividerWidth !== 2)
92
- {
93
- styles.push(`--divider-width: ${dividerWidth}px`);
94
- }
95
-
96
- if(styles.length > 0)
97
- {
98
- this.slider.style.cssText = styles.join('; ');
99
- }
100
- };
101
-
102
- this.attributes = () =>
108
+ this.slider.setAttribute('value', startPosition);
109
+ }
110
+
111
+ if(!hoverEnabled)
103
112
  {
104
- const startPosition = data['start-position'].value;
105
- const hoverEnabled = data['hover-enabled'].value;
106
- const keyboardEnabled = data['keyboard-enabled'].value;
107
-
108
- if(startPosition !== 50)
109
- {
110
- this.slider.setAttribute('value', startPosition);
111
- }
112
-
113
- if(!hoverEnabled)
114
- {
115
- this.slider.setAttribute('hover', 'false');
116
- }
117
-
118
- if(!keyboardEnabled)
119
- {
120
- this.slider.setAttribute('keyboard', 'false');
121
- }
122
- };
123
-
124
- this.initialize = () =>
113
+ this.slider.setAttribute('hover', 'false');
114
+ }
115
+
116
+ if(!keyboardEnabled)
125
117
  {
126
- // Add wrapper class to node for styling if needed
127
- node.classList.add('comparison-wrapper');
128
-
129
- // Set width/height on wrapper if needed
130
- node.style.display = 'block';
131
- node.style.width = '100%';
132
- node.style.maxWidth = '100%';
133
- };
134
-
135
- this.setup();
136
- this.labels();
137
- this.styles();
138
- this.attributes();
139
- this.initialize();
140
- }
141
- });
142
- });
118
+ this.slider.setAttribute('keyboard', 'false');
119
+ }
120
+ };
121
+
122
+ this.initialize = () =>
123
+ {
124
+ // Add wrapper class to node for styling if needed
125
+ node.classList.add('comparison-wrapper');
126
+
127
+ // Set width/height on wrapper if needed
128
+ node.style.display = 'block';
129
+ node.style.width = '100%';
130
+ node.style.maxWidth = '100%';
131
+ };
132
+
133
+ this.setup();
134
+ this.labels();
135
+ this.styles();
136
+ this.attributes();
137
+ this.initialize();
138
+ }
139
+ });