@versoly/plugins 0.0.6 → 0.0.7

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/dist/index.cjs CHANGED
@@ -1007,6 +1007,81 @@ var versoly_modal_default = defineConfig({
1007
1007
  checks: [{ plugin: "modal" }]
1008
1008
  });
1009
1009
 
1010
+ // src/plugins/versoly-pricing.ts
1011
+ var js9 = `document.querySelectorAll('section:has([id$="-pricing-button"], [data-toggle="pricing"])').forEach(section => {
1012
+ const durationButtons = section.querySelectorAll('[id$="-pricing-button"]');
1013
+ const durations = [...durationButtons].map(b => b.id.replace('-pricing-button', ''));
1014
+
1015
+ const activeClass = durationButtons[0] && durationButtons[0].className;
1016
+ const inactiveClass = durationButtons[1] && durationButtons[1].className;
1017
+
1018
+ durations.forEach(duration => {
1019
+ const durationButton = section.querySelector('[id="' + duration + '-pricing-button"]');
1020
+
1021
+ if (!durationButton) {
1022
+ return;
1023
+ }
1024
+
1025
+ durationButton.addEventListener('click', function() {
1026
+ section.querySelectorAll('[data-' + duration + ']').forEach((element) => {
1027
+ element.innerHTML = element.dataset[duration];
1028
+ })
1029
+
1030
+ section.querySelectorAll('[data-duration-show]').forEach(d => {
1031
+ d.className = (d.className || '') + ' hidden';
1032
+ })
1033
+
1034
+ section.querySelectorAll('[data-duration-show="' + duration + '"]').forEach(d => {
1035
+ d.className = (d.className || '').split(' ').filter(c => c !== 'hidden').join(' ');
1036
+ })
1037
+
1038
+ durationButtons.forEach(b => b.className = inactiveClass);
1039
+ durationButton.className = activeClass;
1040
+ });
1041
+ });
1042
+
1043
+ const toggles = section.querySelectorAll('.pricing-toggle, [data-toggle="pricing"]');
1044
+ toggles.forEach(toggleElem => {
1045
+ toggleElem.addEventListener('click', function (e) {
1046
+ if (e.target.tagName !== 'INPUT') {
1047
+ return;
1048
+ }
1049
+
1050
+ toggles.forEach(t => {
1051
+ t.getElementsByTagName('input')[0].checked = !!e.target.checked
1052
+ });
1053
+
1054
+ const sectionDurations = ['monthly', 'annual'];
1055
+ let nextDuration = sectionDurations[0];
1056
+
1057
+ sectionDurations.forEach(d => {
1058
+ section.querySelectorAll('[data-' + d + ']').forEach(elem => {
1059
+ if (elem.innerHTML !== elem.getAttribute('data-' + d)) {
1060
+ nextDuration = d
1061
+ }
1062
+ })
1063
+ });
1064
+
1065
+ section.querySelectorAll('[' + 'data-' + nextDuration + ']').forEach(elem =>
1066
+ elem.innerHTML = elem.getAttribute('data-' + nextDuration)
1067
+ )
1068
+
1069
+ section.querySelectorAll('[data-duration-show]').forEach(d => {
1070
+ d.className = (d.className || '') + ' hidden'
1071
+ })
1072
+
1073
+ section.querySelectorAll('[data-duration-show="' + nextDuration + '"]').forEach(d => {
1074
+ d.className = (d.className || '').split(' ').filter(c => c !== 'hidden').join(' ')
1075
+ })
1076
+ })
1077
+ });
1078
+ });`;
1079
+ var versoly_pricing_default = defineConfig({
1080
+ name: "versoly-pricing",
1081
+ js: js9,
1082
+ checks: [{ plugin: "pricing" }, { html: "pricing-toggle" }, { html: "-pricing-button" }]
1083
+ });
1084
+
1010
1085
  // src/plugins/index.ts
1011
1086
  var plugins = {
1012
1087
  // external
@@ -1018,11 +1093,12 @@ var plugins = {
1018
1093
  countup: countup_default,
1019
1094
  countdown: countdown_default,
1020
1095
  "finisher-header": finisher_header_default,
1096
+ // versoly packages
1021
1097
  taos: taos_default,
1022
1098
  tailtip: tailtip_default,
1023
- // versoly packages
1024
1099
  "versoly-marquee": versoly_marquee_default,
1025
1100
  "versoly-ui": versoly_ui_default,
1101
+ "versoly-pricing": versoly_pricing_default,
1026
1102
  // internal
1027
1103
  "versoly-analytics": versoly_analytics_default,
1028
1104
  "versoly-events": versoly_events_default,
package/dist/index.d.cts CHANGED
@@ -484,6 +484,17 @@ declare const plugins: {
484
484
  defer?: undefined;
485
485
  })[];
486
486
  };
487
+ 'versoly-pricing': {
488
+ name: string;
489
+ js: string;
490
+ checks: ({
491
+ plugin: string;
492
+ html?: undefined;
493
+ } | {
494
+ html: string;
495
+ plugin?: undefined;
496
+ })[];
497
+ };
487
498
  'versoly-analytics': {
488
499
  name: string;
489
500
  js: string;
package/dist/index.d.ts CHANGED
@@ -484,6 +484,17 @@ declare const plugins: {
484
484
  defer?: undefined;
485
485
  })[];
486
486
  };
487
+ 'versoly-pricing': {
488
+ name: string;
489
+ js: string;
490
+ checks: ({
491
+ plugin: string;
492
+ html?: undefined;
493
+ } | {
494
+ html: string;
495
+ plugin?: undefined;
496
+ })[];
497
+ };
487
498
  'versoly-analytics': {
488
499
  name: string;
489
500
  js: string;
@@ -982,6 +982,81 @@ window.addFormListener && window.addFormListener()
982
982
  checks: [{ plugin: "modal" }]
983
983
  });
984
984
 
985
+ // src/plugins/versoly-pricing.ts
986
+ var js9 = `document.querySelectorAll('section:has([id$="-pricing-button"], [data-toggle="pricing"])').forEach(section => {
987
+ const durationButtons = section.querySelectorAll('[id$="-pricing-button"]');
988
+ const durations = [...durationButtons].map(b => b.id.replace('-pricing-button', ''));
989
+
990
+ const activeClass = durationButtons[0] && durationButtons[0].className;
991
+ const inactiveClass = durationButtons[1] && durationButtons[1].className;
992
+
993
+ durations.forEach(duration => {
994
+ const durationButton = section.querySelector('[id="' + duration + '-pricing-button"]');
995
+
996
+ if (!durationButton) {
997
+ return;
998
+ }
999
+
1000
+ durationButton.addEventListener('click', function() {
1001
+ section.querySelectorAll('[data-' + duration + ']').forEach((element) => {
1002
+ element.innerHTML = element.dataset[duration];
1003
+ })
1004
+
1005
+ section.querySelectorAll('[data-duration-show]').forEach(d => {
1006
+ d.className = (d.className || '') + ' hidden';
1007
+ })
1008
+
1009
+ section.querySelectorAll('[data-duration-show="' + duration + '"]').forEach(d => {
1010
+ d.className = (d.className || '').split(' ').filter(c => c !== 'hidden').join(' ');
1011
+ })
1012
+
1013
+ durationButtons.forEach(b => b.className = inactiveClass);
1014
+ durationButton.className = activeClass;
1015
+ });
1016
+ });
1017
+
1018
+ const toggles = section.querySelectorAll('.pricing-toggle, [data-toggle="pricing"]');
1019
+ toggles.forEach(toggleElem => {
1020
+ toggleElem.addEventListener('click', function (e) {
1021
+ if (e.target.tagName !== 'INPUT') {
1022
+ return;
1023
+ }
1024
+
1025
+ toggles.forEach(t => {
1026
+ t.getElementsByTagName('input')[0].checked = !!e.target.checked
1027
+ });
1028
+
1029
+ const sectionDurations = ['monthly', 'annual'];
1030
+ let nextDuration = sectionDurations[0];
1031
+
1032
+ sectionDurations.forEach(d => {
1033
+ section.querySelectorAll('[data-' + d + ']').forEach(elem => {
1034
+ if (elem.innerHTML !== elem.getAttribute('data-' + d)) {
1035
+ nextDuration = d
1036
+ }
1037
+ })
1038
+ });
1039
+
1040
+ section.querySelectorAll('[' + 'data-' + nextDuration + ']').forEach(elem =>
1041
+ elem.innerHTML = elem.getAttribute('data-' + nextDuration)
1042
+ )
1043
+
1044
+ section.querySelectorAll('[data-duration-show]').forEach(d => {
1045
+ d.className = (d.className || '') + ' hidden'
1046
+ })
1047
+
1048
+ section.querySelectorAll('[data-duration-show="' + nextDuration + '"]').forEach(d => {
1049
+ d.className = (d.className || '').split(' ').filter(c => c !== 'hidden').join(' ')
1050
+ })
1051
+ })
1052
+ });
1053
+ });`;
1054
+ var versoly_pricing_default = defineConfig({
1055
+ name: "versoly-pricing",
1056
+ js: js9,
1057
+ checks: [{ plugin: "pricing" }, { html: "pricing-toggle" }, { html: "-pricing-button" }]
1058
+ });
1059
+
985
1060
  // src/plugins/index.ts
986
1061
  var plugins = {
987
1062
  // external
@@ -993,11 +1068,12 @@ window.addFormListener && window.addFormListener()
993
1068
  countup: countup_default,
994
1069
  countdown: countdown_default,
995
1070
  "finisher-header": finisher_header_default,
1071
+ // versoly packages
996
1072
  taos: taos_default,
997
1073
  tailtip: tailtip_default,
998
- // versoly packages
999
1074
  "versoly-marquee": versoly_marquee_default,
1000
1075
  "versoly-ui": versoly_ui_default,
1076
+ "versoly-pricing": versoly_pricing_default,
1001
1077
  // internal
1002
1078
  "versoly-analytics": versoly_analytics_default,
1003
1079
  "versoly-events": versoly_events_default,
package/dist/index.mjs CHANGED
@@ -980,6 +980,81 @@ var versoly_modal_default = defineConfig({
980
980
  checks: [{ plugin: "modal" }]
981
981
  });
982
982
 
983
+ // src/plugins/versoly-pricing.ts
984
+ var js9 = `document.querySelectorAll('section:has([id$="-pricing-button"], [data-toggle="pricing"])').forEach(section => {
985
+ const durationButtons = section.querySelectorAll('[id$="-pricing-button"]');
986
+ const durations = [...durationButtons].map(b => b.id.replace('-pricing-button', ''));
987
+
988
+ const activeClass = durationButtons[0] && durationButtons[0].className;
989
+ const inactiveClass = durationButtons[1] && durationButtons[1].className;
990
+
991
+ durations.forEach(duration => {
992
+ const durationButton = section.querySelector('[id="' + duration + '-pricing-button"]');
993
+
994
+ if (!durationButton) {
995
+ return;
996
+ }
997
+
998
+ durationButton.addEventListener('click', function() {
999
+ section.querySelectorAll('[data-' + duration + ']').forEach((element) => {
1000
+ element.innerHTML = element.dataset[duration];
1001
+ })
1002
+
1003
+ section.querySelectorAll('[data-duration-show]').forEach(d => {
1004
+ d.className = (d.className || '') + ' hidden';
1005
+ })
1006
+
1007
+ section.querySelectorAll('[data-duration-show="' + duration + '"]').forEach(d => {
1008
+ d.className = (d.className || '').split(' ').filter(c => c !== 'hidden').join(' ');
1009
+ })
1010
+
1011
+ durationButtons.forEach(b => b.className = inactiveClass);
1012
+ durationButton.className = activeClass;
1013
+ });
1014
+ });
1015
+
1016
+ const toggles = section.querySelectorAll('.pricing-toggle, [data-toggle="pricing"]');
1017
+ toggles.forEach(toggleElem => {
1018
+ toggleElem.addEventListener('click', function (e) {
1019
+ if (e.target.tagName !== 'INPUT') {
1020
+ return;
1021
+ }
1022
+
1023
+ toggles.forEach(t => {
1024
+ t.getElementsByTagName('input')[0].checked = !!e.target.checked
1025
+ });
1026
+
1027
+ const sectionDurations = ['monthly', 'annual'];
1028
+ let nextDuration = sectionDurations[0];
1029
+
1030
+ sectionDurations.forEach(d => {
1031
+ section.querySelectorAll('[data-' + d + ']').forEach(elem => {
1032
+ if (elem.innerHTML !== elem.getAttribute('data-' + d)) {
1033
+ nextDuration = d
1034
+ }
1035
+ })
1036
+ });
1037
+
1038
+ section.querySelectorAll('[' + 'data-' + nextDuration + ']').forEach(elem =>
1039
+ elem.innerHTML = elem.getAttribute('data-' + nextDuration)
1040
+ )
1041
+
1042
+ section.querySelectorAll('[data-duration-show]').forEach(d => {
1043
+ d.className = (d.className || '') + ' hidden'
1044
+ })
1045
+
1046
+ section.querySelectorAll('[data-duration-show="' + nextDuration + '"]').forEach(d => {
1047
+ d.className = (d.className || '').split(' ').filter(c => c !== 'hidden').join(' ')
1048
+ })
1049
+ })
1050
+ });
1051
+ });`;
1052
+ var versoly_pricing_default = defineConfig({
1053
+ name: "versoly-pricing",
1054
+ js: js9,
1055
+ checks: [{ plugin: "pricing" }, { html: "pricing-toggle" }, { html: "-pricing-button" }]
1056
+ });
1057
+
983
1058
  // src/plugins/index.ts
984
1059
  var plugins = {
985
1060
  // external
@@ -991,11 +1066,12 @@ var plugins = {
991
1066
  countup: countup_default,
992
1067
  countdown: countdown_default,
993
1068
  "finisher-header": finisher_header_default,
1069
+ // versoly packages
994
1070
  taos: taos_default,
995
1071
  tailtip: tailtip_default,
996
- // versoly packages
997
1072
  "versoly-marquee": versoly_marquee_default,
998
1073
  "versoly-ui": versoly_ui_default,
1074
+ "versoly-pricing": versoly_pricing_default,
999
1075
  // internal
1000
1076
  "versoly-analytics": versoly_analytics_default,
1001
1077
  "versoly-events": versoly_events_default,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@versoly/plugins",
3
- "version": "0.0.6",
3
+ "version": "0.0.7",
4
4
  "description": "Plugins for Versoly",
5
5
  "sideEffects": false,
6
6
  "type": "module",
@@ -37,8 +37,8 @@
37
37
  "url": "https://versoly.com"
38
38
  },
39
39
  "engines": {
40
- "node": ">=20.17.0",
41
- "pnpm": ">=8"
40
+ "node": ">=22.12.0",
41
+ "pnpm": ">=9.15.1"
42
42
  },
43
43
  "keywords": [
44
44
  "Versoly"
@@ -57,7 +57,7 @@
57
57
  "@semantic-release/github": "^10.0.2",
58
58
  "@semantic-release/npm": "^12.0.0",
59
59
  "@semantic-release/release-notes-generator": "^12.1.0",
60
- "@types/node": "^20.11.29",
60
+ "@types/node": "^22.12.0",
61
61
  "@vitest/coverage-v8": "^2.1.1",
62
62
  "commitizen": "^4.3.0",
63
63
  "cz-conventional-changelog": "^3.3.0",