@newlogic-digital/ui 3.0.1 → 3.1.0

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 (113) hide show
  1. package/README.md +8 -12
  2. package/gulpfile.js +16 -168
  3. package/package.json +13 -8
  4. package/src/emails/email.css +15 -9
  5. package/src/emails/email.twig +7 -7
  6. package/src/icons.svg +32 -0
  7. package/src/main.json +14 -27
  8. package/src/scripts/Components/+.js +2 -2
  9. package/src/scripts/Components/CookieConsent.js +66 -64
  10. package/src/scripts/Components/Form.js +28 -21
  11. package/src/scripts/Layout/+.js +2 -1
  12. package/src/scripts/Layout/Header.js +18 -0
  13. package/src/scripts/Layout/Main.js +49 -45
  14. package/src/scripts/Libraries/+.js +12 -10
  15. package/src/scripts/Libraries/Anchor.js +18 -43
  16. package/src/scripts/Libraries/CookieConsent.js +37 -58
  17. package/src/scripts/Libraries/Dialog.js +56 -55
  18. package/src/scripts/Libraries/Drawer.js +23 -23
  19. package/src/scripts/Libraries/NativeSlider.js +86 -86
  20. package/src/scripts/Libraries/ReCaptcha.js +20 -18
  21. package/src/scripts/Libraries/Ripple.js +16 -32
  22. package/src/scripts/Libraries/Stimulus.js +30 -34
  23. package/src/scripts/Libraries/Swup.js +47 -50
  24. package/src/scripts/Libraries/Tabs.js +12 -18
  25. package/src/scripts/Libraries/Tippy.js +118 -0
  26. package/src/scripts/Ui/+.js +5 -3
  27. package/src/scripts/Ui/Checkbox.js +19 -0
  28. package/src/scripts/Ui/Input.js +188 -161
  29. package/src/scripts/Ui/Radio.js +23 -0
  30. package/src/scripts/Ui/Select.js +64 -37
  31. package/src/scripts/Ui/Text.js +25 -0
  32. package/src/scripts/Utils/Functions/+.js +6 -6
  33. package/src/scripts/Utils/Functions/dataValue.js +28 -25
  34. package/src/scripts/Utils/Functions/importScript.js +9 -11
  35. package/src/scripts/Utils/Functions/importStyle.js +18 -5
  36. package/src/scripts/Utils/Functions/inView.js +19 -21
  37. package/src/scripts/Utils/Functions/loadStimulus.js +22 -20
  38. package/src/scripts/Utils/cdn.js +6 -4
  39. package/src/scripts/Utils/global.js +10 -33
  40. package/src/scripts/main.js +6 -6
  41. package/src/styles/Components/CookieConsent.css +40 -179
  42. package/src/styles/Components/Dialog/Default.css +12 -15
  43. package/src/styles/Components/Form/CookieConsent.css +7 -12
  44. package/src/styles/Components/Item/+.css +1 -0
  45. package/src/styles/Layout/+.css +2 -0
  46. package/src/{templates/Components/Dialogs/.gitkeep → styles/Layout/Header.css} +0 -0
  47. package/src/styles/Layout/Main.css +28 -63
  48. package/src/styles/Layout/Nav.css +43 -0
  49. package/src/styles/Libraries/+.css +1 -1
  50. package/src/styles/Libraries/Datepicker.css +85 -39
  51. package/src/styles/Libraries/Dialog.css +6 -5
  52. package/src/styles/Libraries/Drawer.css +15 -15
  53. package/src/styles/Libraries/Hint.css +29 -23
  54. package/src/styles/Libraries/Lazysizes.css +2 -1
  55. package/src/styles/Libraries/NativeSlider.css +19 -18
  56. package/src/styles/Libraries/Ripple.css +8 -5
  57. package/src/styles/Libraries/Tabs.css +4 -4
  58. package/src/styles/Libraries/Tippy.css +87 -0
  59. package/src/styles/Sections/+.css +1 -0
  60. package/src/styles/Ui/+.css +5 -1
  61. package/src/styles/Ui/Badge.css +33 -19
  62. package/src/styles/Ui/Btn.css +80 -53
  63. package/src/styles/Ui/Checkbox.css +80 -41
  64. package/src/styles/Ui/Dropdown.css +5 -0
  65. package/src/styles/Ui/Heading.css +12 -12
  66. package/src/styles/Ui/Icon.css +27 -8
  67. package/src/styles/Ui/Image.css +23 -0
  68. package/src/styles/Ui/Input.css +295 -220
  69. package/src/styles/Ui/Label.css +14 -0
  70. package/src/styles/Ui/Link.css +3 -3
  71. package/src/styles/Ui/Notice.css +14 -16
  72. package/src/styles/Ui/Progress.css +10 -21
  73. package/src/styles/Ui/Radio.css +3 -8
  74. package/src/styles/Ui/Select.css +63 -112
  75. package/src/styles/Ui/Switch.css +70 -0
  76. package/src/styles/Ui/{Wsw.css → Text.css} +61 -80
  77. package/src/styles/Ui/Title.css +8 -4
  78. package/src/styles/Utils/default.css +75 -67
  79. package/src/styles/Utils/icons.css +9 -0
  80. package/src/styles/Utils/keyframes.css +182 -0
  81. package/src/styles/Utils/normalize.css +223 -0
  82. package/src/styles/Utils/print.css +1 -0
  83. package/src/styles/Utils/tailwind/base.css +15 -0
  84. package/src/styles/Utils/tailwind/gutters.css +264 -263
  85. package/src/styles/Utils/theme/main.css +24 -21
  86. package/src/styles/Utils/vars.css +58 -35
  87. package/src/styles/Utils/vendor.css +1 -2
  88. package/src/styles/main.css +6 -3
  89. package/src/styles/tailwind.css +1 -4
  90. package/src/templates/Components/CookieConsent.twig +30 -0
  91. package/src/templates/Components/Dialogs/Basic.twig +7 -3
  92. package/src/templates/Layout/Header.twig +42 -0
  93. package/src/templates/Layout/Main.twig +47 -64
  94. package/src/templates/Sections/Gdpr.twig +64 -0
  95. package/src/templates/Sections/Ui.twig +2104 -0
  96. package/src/templates/dialog-basic.twig +2 -2
  97. package/src/templates/gdpr.json +11 -0
  98. package/src/templates/index.json +8 -2
  99. package/src/templates/json-tippy.twig +16 -0
  100. package/src/templates/ui.json +11 -0
  101. package/CHANGELOG +0 -231
  102. package/src/icons/selection.json +0 -1
  103. package/src/icons/style.css +0 -171
  104. package/src/icons/variables.css +0 -31
  105. package/src/scripts/Ui/Wsw.js +0 -25
  106. package/src/scripts/Utils/Functions/bodyLoaded.js +0 -12
  107. package/src/styles/Libraries/Animate.css +0 -184
  108. package/src/styles/Utils/reference.css +0 -2
  109. package/src/styles/Utils/tailwind/content.css +0 -24
  110. package/src/styles/Utils/theme/vars.css +0 -19
  111. package/src/styles/preload.css +0 -29
  112. package/src/templates/Layout/Preload.twig +0 -21
  113. package/src/templates/Sections/.gitkeep +0 -0
@@ -1,74 +1,75 @@
1
+ import { loadStimulus } from './Stimulus.js'
2
+
1
3
  const LibDialog = {
2
- show: (content, callback) => {
3
- if (document.querySelector(".lib-dialog > [class^='c-dialog']") !== null) {
4
- document.querySelector(".lib-dialog > [class^='c-dialog']").remove();
5
- }
4
+ show: async(content) => {
5
+ return new Promise(resolve => {
6
+ if (document.querySelector('.lib-dialog > [class^="c-dialog"]') !== null) {
7
+ document.querySelector('.lib-dialog > [class^="c-dialog"]').remove()
8
+ }
6
9
 
7
- if (document.querySelector(".lib-dialog") === null) {
8
- document.body.insertAdjacentHTML("beforeend", `<div class="lib-dialog"></div>`);
9
- }
10
+ if (document.querySelector('.lib-dialog') === null) {
11
+ document.body.insertAdjacentHTML('beforeend', '<div class="lib-dialog"></div>')
12
+ }
10
13
 
11
- document.querySelector(".lib-dialog").insertAdjacentHTML("beforeend", content);
12
- document.querySelector(".lib-dialog").style["display"] = "flex";
14
+ document.querySelector('.lib-dialog').insertAdjacentHTML('beforeend', content)
15
+ document.querySelector('.lib-dialog').style.display = 'flex'
13
16
 
14
- function outerHeight(el) {
15
- return el.offsetHeight + parseInt(getComputedStyle(el).marginTop) + parseInt(getComputedStyle(el).marginBottom);
16
- }
17
+ function outerHeight(el) {
18
+ return el.offsetHeight + parseInt(getComputedStyle(el).marginTop) + parseInt(getComputedStyle(el).marginBottom)
19
+ }
17
20
 
18
- if (outerHeight(document.querySelector(".lib-dialog > [class^='c-dialog']")) > window.innerHeight) {
19
- let offset = window.innerWidth - document.body.clientWidth;
21
+ if (outerHeight(document.querySelector('.lib-dialog > [class^="c-dialog"]')) > window.innerHeight) {
22
+ const offset = window.innerWidth - document.body.clientWidth
20
23
 
21
- document.documentElement.style["padding-right"] = offset;
22
- document.documentElement.classList.add("is-overflow-hidden");
24
+ document.documentElement.style.paddingRight = `${offset}px`
25
+ document.documentElement.classList.add('overflow-hidden')
23
26
 
24
- if (document.querySelector("#l-header") !== null) {
25
- document.querySelector("#l-header").style["right"] = offset;
27
+ if (document.querySelector('#l-header') !== null) {
28
+ document.querySelector('#l-header').style.right = `${offset}px`
29
+ }
26
30
  }
27
- }
28
31
 
29
- if (callback) {
30
- callback();
31
- }
32
+ loadStimulus(document.querySelector('.lib-dialog'))
32
33
 
33
- document.querySelector(".lib-dialog").addEventListener("mousedown", (e) => {
34
- if (e.target.classList.contains("lib-dialog")) {
35
- document.documentElement.addEventListener("mouseup", function e() {
36
- LibDialog.hide();
37
- document.documentElement.removeEventListener("mouseup", e);
38
- });
39
- }
40
- }, true);
34
+ resolve()
35
+
36
+ document.querySelector('.lib-dialog').addEventListener('mousedown', e => {
37
+ if (e.target.classList.contains('lib-dialog')) {
38
+ document.documentElement.addEventListener('mouseup', function e() {
39
+ LibDialog.hide()
40
+ document.documentElement.removeEventListener('mouseup', e)
41
+ })
42
+ }
43
+ }, true)
44
+ })
41
45
  },
42
- hide: (callback) => {
43
- if (document.querySelector(".lib-dialog") !== null) {
44
- document.querySelector(".lib-dialog")._addDataValue("state", "hiding");
45
- }
46
+ hide: async() => {
47
+ return new Promise(resolve => {
48
+ if (document.querySelector('.lib-dialog') !== null) {
49
+ document.querySelector('.lib-dialog')._addDataValue('state', 'hiding')
50
+ }
46
51
 
47
- setTimeout(function () {
48
- if (document.querySelector(".lib-dialog") !== null) {
49
- document.querySelector(".lib-dialog").style["display"] = "none";
50
- document.documentElement.classList.remove("is-overflow-hidden");
52
+ setTimeout(() => {
53
+ if (document.querySelector('.lib-dialog') !== null) {
54
+ document.querySelector('.lib-dialog').style.display = 'none'
55
+ document.documentElement.classList.remove('overflow-hidden')
51
56
 
52
- if (document.querySelector("#l-header") !== null) {
53
- document.querySelector("#l-header").style["right"] = "";
54
- }
57
+ if (document.querySelector('#l-header') !== null) {
58
+ document.querySelector('#l-header').style.right = ''
59
+ }
55
60
 
56
- document.querySelector(".lib-dialog").remove();
57
- }
61
+ document.querySelector('.lib-dialog').remove()
62
+ }
58
63
 
59
- if (callback) {
60
- callback();
61
- }
62
- }, 300);
64
+ resolve()
65
+ }, 300)
66
+ })
63
67
  },
64
- action: (element, url, callback) => {
65
- fetch(url, {headers: {'X-Requested-With': 'XMLHttpRequest'}}).then((response) => {
66
- return response.json();
68
+ action: async(element, url) => {
69
+ fetch(url, { headers: { 'X-Requested-With': 'XMLHttpRequest' } }).then(response => response.json()).then(({ dialog }) => {
70
+ LibDialog.show(dialog)
67
71
  })
68
- .then((data) => {
69
- LibDialog.show(data["dialog"], callback);
70
- });
71
72
  }
72
- };
73
+ }
73
74
 
74
- export default LibDialog;
75
+ export default LibDialog
@@ -1,39 +1,39 @@
1
- import { LibStimulus, Controller } from "./Stimulus.js";
1
+ import { LibStimulus, Controller } from './Stimulus.js'
2
2
 
3
- LibStimulus.register("lib-drawer", class extends Controller {
3
+ LibStimulus.register('lib-drawer', class extends Controller {
4
4
  init() {
5
- setTimeout(() => this.queryTarget("nav").classList.add("is-transition"), 50);
6
- this.queryTarget("nav").addEventListener("click", (e) => {
7
- if (e.target === this.queryTarget("nav")) {
8
- this.hide();
5
+ setTimeout(() => this.queryTarget('nav').classList.add('is-transition'), 50)
6
+ this.queryTarget('nav').addEventListener('click', ({ target }) => {
7
+ if (target === this.queryTarget('nav')) {
8
+ this.hide()
9
9
  }
10
10
  })
11
11
  }
12
12
 
13
13
  show() {
14
- this.queryTarget("nav").scrollLeft = 0;
15
- this.queryTarget("nav").style.setProperty('--drawerOpacity', `1`);
16
- this.queryTarget("nav").classList.add("is-opacity");
17
- this.queryTarget("nav")._addDataValue("state", "active");
18
- document.documentElement.classList.add("is-lib-drawer-active");
14
+ this.queryTarget('nav').scrollLeft = 0
15
+ this.queryTarget('nav').style.setProperty('--lib-drawer-opacity', '1')
16
+ this.queryTarget('nav').classList.add('is-opacity')
17
+ this.queryTarget('nav')._addDataValue('state', 'active')
18
+ document.documentElement.classList.add('overflow-hidden')
19
19
  }
20
20
 
21
21
  hide() {
22
- this.queryTarget("nav")._removeDataValue("state", "active");
23
- this.queryTarget("nav").classList.add("is-opacity");
24
- this.queryTarget("nav").style.setProperty('--drawerOpacity', `0`);
25
- document.documentElement.classList.remove("is-lib-drawer-active");
22
+ this.queryTarget('nav')._removeDataValue('state', 'active')
23
+ this.queryTarget('nav').classList.add('is-opacity')
24
+ this.queryTarget('nav').style.setProperty('--lib-drawer-opacity', '0')
25
+ document.documentElement.classList.remove('overflow-hidden')
26
26
  }
27
27
 
28
- scroll(e) {
29
- if (e.target.scrollLeft > 1) {
30
- this.queryTarget("nav").classList.remove("is-opacity");
31
- this.queryTarget("nav").style.setProperty('--drawerOpacity', `${Math.abs((e.target.scrollLeft / this.queryTarget("nav").children[0].clientWidth) - 1)}`);
28
+ scroll({ target }) {
29
+ if (target.scrollLeft > 1) {
30
+ this.queryTarget('nav').classList.remove('is-opacity')
31
+ this.queryTarget('nav').style.setProperty('--lib-drawer-opacity', `${Math.abs((target.scrollLeft / this.queryTarget('nav').children[0].clientWidth) - 1)}`)
32
32
  }
33
33
 
34
- if (e.target.scrollLeft === this.queryTarget("nav").children[0].clientWidth) {
35
- this.queryTarget("nav")._removeDataValue("state", "active");
36
- document.documentElement.classList.remove("is-lib-drawer-active");
34
+ if (target.scrollLeft === this.queryTarget('nav').children[0].clientWidth) {
35
+ this.queryTarget('nav')._removeDataValue('state', 'active')
36
+ document.documentElement.classList.remove('overflow-hidden')
37
37
  }
38
38
  }
39
- });
39
+ })
@@ -1,137 +1,137 @@
1
- const LibNativeSlider = function(selector, parent) {
2
- let self = {
3
- behavior: "auto",
1
+ export default function LibNativeSlider(selector, parent) {
2
+ const self = {
3
+ behavior: 'auto',
4
4
  ref: {
5
- nav: parent.querySelector("[data-lib-ns-nav]"),
6
- select: parent.querySelectorAll("[data-lib-ns-nav-item]"),
7
- progress: parent.querySelector("[data-lib-ns-progress]"),
8
- counterMin: parent.querySelector(`[data-lib-ns-counter="min"]`),
9
- counterMax: parent.querySelector(`[data-lib-ns-counter="max"]`),
10
- prev: parent.querySelector("[data-lib-ns-prev]"),
11
- next: parent.querySelector("[data-lib-ns-next]")
5
+ nav: parent.querySelector('[data-lib-ns-nav]'),
6
+ select: parent.querySelectorAll('[data-lib-ns-nav-item]'),
7
+ progress: parent.querySelector('[data-lib-ns-progress]'),
8
+ counterMin: parent.querySelector('[data-lib-ns-counter="min"]'),
9
+ counterMax: parent.querySelector('[data-lib-ns-counter="max"]'),
10
+ prev: parent.querySelector('[data-lib-ns-prev]'),
11
+ next: parent.querySelector('[data-lib-ns-next]')
12
12
  }
13
13
  }
14
-
15
- if (!selector.classList.contains("is-fade")) {
16
- self.behavior = "smooth";
17
-
18
- let grabbing = () => {
19
- self.isDown = false;
20
- self.paused = false;
21
- selector.classList.remove('is-grabbing');
22
- selector.scrollLeft = selector.scrollLeft - 1;
23
- };
24
-
25
- selector.addEventListener('mouseleave', grabbing);
26
-
27
- selector.addEventListener('mouseup', grabbing);
28
-
29
- selector.addEventListener('mousedown', (e) => {
30
- self.isDown = true;
31
- self.startX = e.pageX - selector.offsetLeft;
32
- self.scrollLeft = selector.scrollLeft;
33
- self.paused = true;
34
- });
35
-
36
- selector.addEventListener('mousemove', (e) => {
37
- if(!self.isDown) return;
38
- e.preventDefault();
39
- const x = e.pageX - selector.offsetLeft;
40
- const walk = (x - self.startX) * 1.25;
41
- selector.classList.add('is-grabbing');
42
- selector.scrollLeft = self.scrollLeft - walk;
43
-
44
- selector.ondragstart = (dragEvent) => {
45
- dragEvent.preventDefault();
46
- };
47
- });
14
+
15
+ if (!selector.classList.contains('is-fade')) {
16
+ self.behavior = 'smooth'
17
+
18
+ if (!document.documentElement.classList.contains('safari')) {
19
+ const grabbing = () => {
20
+ self.isDown = false
21
+ self.paused = false
22
+ selector.classList.remove('is-grabbing')
23
+ selector.scrollLeft = selector.scrollLeft - 1
24
+ }
25
+
26
+ selector.addEventListener('mouseleave', grabbing)
27
+
28
+ selector.addEventListener('mouseup', grabbing)
29
+
30
+ selector.addEventListener('mousedown', e => {
31
+ self.isDown = true
32
+ self.startX = e.pageX - selector.offsetLeft
33
+ self.scrollLeft = selector.scrollLeft
34
+ self.paused = true
35
+ })
36
+
37
+ selector.addEventListener('mousemove', e => {
38
+ if (!self.isDown) return
39
+ e.preventDefault()
40
+ const x = e.pageX - selector.offsetLeft
41
+ const walk = (x - self.startX) * 1.25
42
+ selector.classList.add('is-grabbing')
43
+ selector.scrollLeft = self.scrollLeft - walk
44
+
45
+ selector.ondragstart = dragEvent => {
46
+ dragEvent.preventDefault()
47
+ }
48
+ })
49
+ }
48
50
  }
49
51
 
50
52
  if (self.ref.counterMax !== null) {
51
- self.counterMax = parseInt(((selector.scrollWidth - selector.clientWidth) / selector.children[0].clientWidth + 1).toFixed(0));
52
- self.ref.counterMax.textContent = self.counterMax;
53
+ self.counterMax = parseInt(((selector.scrollWidth - selector.clientWidth) / selector.children[0].clientWidth + 1).toFixed(0))
54
+ self.ref.counterMax.textContent = self.counterMax
53
55
  }
54
56
 
55
57
  if (self.ref.nav !== null) {
56
- self.ref.nav.insertAdjacentHTML("beforeend", [...Array(self.counterMax)].map((x,i) => `<div data-state="${i === 0 && 'active'}" aria-label="${i+1}" aria-current="step" data-lib-ns-nav-item="${i}"></div>`).join(""));
57
- self.ref.select = parent.querySelectorAll("[data-lib-ns-nav-item]");
58
+ self.ref.nav.insertAdjacentHTML('beforeend', [...Array(self.counterMax)].map((x, i) => `<div data-state="${i === 0 && 'active'}" aria-label="${i + 1}" aria-current="step" data-lib-ns-nav-item="${i}"></div>`).join(''))
59
+ self.ref.select = parent.querySelectorAll('[data-lib-ns-nav-item]')
58
60
  }
59
61
 
60
- if (typeof self.ref.select[0] !== "undefined") {
61
- self.ref.select.forEach((elm) => {
62
- elm.addEventListener("click", () => {
63
- if (!elm._hasDataValue("state", "active")) {
64
- let position = selector.scrollLeft / selector.children[0].clientWidth,
65
- selected = elm.dataset["libNsNavItem"];
62
+ if (typeof self.ref.select[0] !== 'undefined') {
63
+ self.ref.select.forEach(elm => {
64
+ elm.addEventListener('click', () => {
65
+ if (!elm._hasDataValue('state', 'active')) {
66
+ const position = selector.scrollLeft / selector.children[0].clientWidth
67
+ const selected = elm.dataset.libNsNavItem
66
68
 
67
69
  if (position - selected <= 0) {
68
- selector.scroll({ left: selector.scrollLeft + selector.children[0].clientWidth * (selected - position), behavior: self.behavior });
70
+ selector.scroll({ left: selector.scrollLeft + selector.children[0].clientWidth * (selected - position), behavior: self.behavior })
69
71
  } else {
70
- selector.scroll({ left: selector.scrollLeft - selector.children[0].clientWidth * (position - selected), behavior: self.behavior });
72
+ selector.scroll({ left: selector.scrollLeft - selector.children[0].clientWidth * (position - selected), behavior: self.behavior })
71
73
  }
72
74
  }
73
- });
74
- });
75
+ })
76
+ })
75
77
  }
76
78
 
77
- selector.addEventListener("scroll", () => {
79
+ selector.addEventListener('scroll', () => {
78
80
  if (self.ref.progress !== null) {
79
- self.ref.progress.value = ((selector.scrollLeft + selector.clientWidth) / selector.scrollWidth * 100).toFixed(2);
81
+ self.ref.progress.value = ((selector.scrollLeft + selector.clientWidth) / selector.scrollWidth * 100).toFixed(2)
80
82
  }
81
83
 
82
- let activeSlide = parseInt(((selector.scrollLeft / selector.children[0].clientWidth)+1).toFixed(0));
84
+ const activeSlide = parseInt(((selector.scrollLeft / selector.children[0].clientWidth) + 1).toFixed(0))
83
85
 
84
86
  if (self.ref.counterMin !== null) {
85
- self.ref.counterMin.textContent = activeSlide;
87
+ self.ref.counterMin.textContent = activeSlide
86
88
  }
87
89
 
88
- if (typeof self.ref.select[0] !== "undefined") {
89
- self.ref.select.forEach((elm) => elm._removeDataValue("state", "active"));
90
+ if (typeof self.ref.select[0] !== 'undefined') {
91
+ self.ref.select.forEach(elm => elm._removeDataValue('state', 'active'))
90
92
 
91
- self.ref.select[activeSlide-1]._addDataValue("state", "active");
93
+ self.ref.select[activeSlide - 1]._addDataValue('state', 'active')
92
94
  }
93
95
 
94
96
  if (Math.floor(selector.scrollLeft / selector.children[0].clientWidth) === selector.scrollLeft / selector.children[0].clientWidth) {
95
- [...selector.children].forEach((elm, index) => {
96
- elm._removeDataValue("state", "active");
97
+ [...selector.children].forEach(elm => {
98
+ elm._removeDataValue('state', 'active')
97
99
 
98
100
  if (selector.scrollLeft === elm.offsetLeft - elm.parentNode.offsetLeft) {
99
- elm._addDataValue("state", "active");
101
+ elm._addDataValue('state', 'active')
100
102
  }
101
- });
103
+ })
102
104
  }
103
- }, { passive: true });
105
+ }, { passive: true })
104
106
 
105
107
  if (self.ref.progress !== null) {
106
- self.ref.progress.addEventListener("click", (e) => {
107
- selector.scrollLeft = (selector.scrollWidth / 100) * (e.clientX - e.target["offsetLeft"]) / e.target["clientWidth"] * 100;
108
- });
108
+ self.ref.progress.addEventListener('click', e => {
109
+ selector.scrollLeft = (selector.scrollWidth / 100) * (e.clientX - e.target.offsetLeft) / e.target.clientWidth * 100
110
+ })
109
111
  }
110
112
 
111
113
  if (self.ref.prev !== null && self.ref.next !== null) {
112
- self.ref.prev.addEventListener("click", () => selector.scroll({ left: selector.scrollLeft - selector.children[0].clientWidth, behavior: self.behavior }));
114
+ self.ref.prev.addEventListener('click', () => selector.scroll({ left: selector.scrollLeft - selector.children[0].clientWidth, behavior: self.behavior }))
113
115
 
114
- self.ref.next.addEventListener("click", () => selector.scroll({ left: selector.scrollLeft + selector.children[0].clientWidth, behavior: self.behavior }));
116
+ self.ref.next.addEventListener('click', () => selector.scroll({ left: selector.scrollLeft + selector.children[0].clientWidth, behavior: self.behavior }))
115
117
  }
116
118
 
117
- [self.ref.prev, self.ref.next, ...self.ref.select, self.ref.progress].map((elm) => {
118
- if (typeof elm !== "undefined" && elm !== null) {
119
- elm.addEventListener("mouseenter", () => self.paused = true);
120
- elm.addEventListener("mouseleave", () => self.paused = false);
119
+ [self.ref.prev, self.ref.next, ...self.ref.select, self.ref.progress].forEach(elm => {
120
+ if (typeof elm !== 'undefined' && elm !== null) {
121
+ elm.addEventListener('mouseenter', () => (self.paused = true))
122
+ elm.addEventListener('mouseleave', () => (self.paused = false))
121
123
  }
122
124
  })
123
125
 
124
- if (!isNaN(parseInt(selector.getAttribute("data-lib-ns")))) {
126
+ if (!isNaN(parseInt(selector.getAttribute('data-lib-ns')))) {
125
127
  setInterval(() => {
126
128
  if (!self.paused) {
127
129
  if (selector.scrollLeft <= selector.children[0].clientWidth) {
128
- selector.scroll({ left: selector.scrollLeft + selector.children[0].clientWidth, behavior: self.behavior });
130
+ selector.scroll({ left: selector.scrollLeft + selector.children[0].clientWidth, behavior: self.behavior })
129
131
  } else {
130
- selector.scroll({ left: 0, behavior: self.behavior });
132
+ selector.scroll({ left: 0, behavior: self.behavior })
131
133
  }
132
134
  }
133
- }, parseInt(selector.getAttribute("data-lib-ns")))
135
+ }, parseInt(selector.getAttribute('data-lib-ns')))
134
136
  }
135
- };
136
-
137
- export default LibNativeSlider;
137
+ }
@@ -1,25 +1,27 @@
1
- import { LibStimulus, Controller } from "./Stimulus.js";
2
- import importScript from "../Utils/Functions/importScript.js";
3
- import cdn from "../Utils/cdn.js";
1
+ import { LibStimulus, Controller } from './Stimulus.js'
2
+ import importScript from '../Utils/Functions/importScript.js'
3
+ import cdn from '../Utils/cdn.js'
4
4
 
5
- LibStimulus.register("lib-recaptcha", class extends Controller {
5
+ LibStimulus.register('lib-recaptcha', class extends Controller {
6
6
  connect() {
7
- setTimeout(() => this.captcha(), 2500);
8
-
9
- this.interval = setInterval(() => this.captcha(), 150000);
7
+ importScript(cdn.recaptcha.replace('{apikey}', this.data.get('api')))
10
8
  }
11
9
 
12
- captcha() {
13
- importScript(cdn.recaptcha.replace("{apikey}", this.data.get("api")).then(() => {
14
- window.grecaptcha.ready(function () {
15
- window.grecaptcha.execute(this.data.get("api"), {action: 'form'}).then(token => {
16
- this.element.querySelector(`[name="gtoken"]`).value = token;
17
- });
18
- });
19
- }))
10
+ async execute() {
11
+ return new Promise(resolve => {
12
+ window.grecaptcha.enterprise.ready(() => {
13
+ window.grecaptcha.enterprise.execute(this.data.get('api'), { action: this.data.get('action') ? this.data.get('action') : 'form' }).then(token => {
14
+ this.element.querySelector('[name="gtoken"]').value = token
15
+ resolve()
16
+ })
17
+ })
18
+ })
20
19
  }
21
20
 
22
- disconnect() {
23
- clearInterval(this.interval);
21
+ async submit(e) {
22
+ e.preventDefault()
23
+
24
+ await this.execute()
25
+ this.element.submit()
24
26
  }
25
- });
27
+ })
@@ -1,40 +1,24 @@
1
- function LibRipple(element, e) {
2
- const init = function (container) {
3
- if (container.querySelector(".lib-ripple-inner") === null) {
4
- container.insertAdjacentHTML("beforeend", `<div class='lib-ripple-inner'></div>`);
5
- }
1
+ const LibRipple = ({ currentTarget, layerX, layerY }) => {
2
+ const container = currentTarget
6
3
 
7
- let ink = container.querySelector(".lib-ripple-inner");
8
-
9
- ink.classList.remove("animation");
10
-
11
- if (ink.clientWidth === 0 && ink.clientHeight === 0) {
12
- let d = Math.max(element.offsetWidth, element.offsetHeight);
13
-
14
- ink.style["width"] = d + 'px';
15
- ink.style["height"] = d + 'px';
16
- }
4
+ if (container.querySelector('.lib-ripple') === null) {
5
+ container.insertAdjacentHTML('beforeend', "<div class='lib-ripple'></div>")
6
+ }
17
7
 
18
- let x, y;
8
+ const ink = container.querySelector('.lib-ripple')
19
9
 
20
- if (container === document.body) {
21
- x = e.clientX - container.offsetLeft - (ink.clientWidth / 2);
22
- y = e.clientY - container.offsetTop - (ink.clientHeight / 2);
23
- } else {
24
- x = e.pageX - container.offsetLeft - (ink.clientWidth / 2);
25
- y = e.pageY - container.offsetTop - (ink.clientHeight / 2);
26
- }
10
+ ink.classList.remove('animation')
27
11
 
28
- ink.style["top"] = y + 'px';
29
- ink.style["left"] = x + 'px';
30
- ink.classList.add("animation");
31
- };
12
+ if (ink.clientWidth === 0 && ink.clientHeight === 0) {
13
+ const d = Math.max(container.offsetWidth, container.offsetHeight)
32
14
 
33
- if (element.getAttribute("data-action-ripple") === "body") {
34
- init(document.body);
35
- } else {
36
- init(element);
15
+ ink.style.width = d + 'px'
16
+ ink.style.height = d + 'px'
37
17
  }
18
+
19
+ ink.style.top = layerY - (ink.clientHeight / 2) + 'px'
20
+ ink.style.left = layerX - (ink.clientWidth / 2) + 'px'
21
+ ink.classList.add('animation')
38
22
  }
39
23
 
40
- export default LibRipple;
24
+ export default LibRipple
@@ -1,46 +1,42 @@
1
- import { Application, Controller } from "stimulus";
2
- import loadStimulus from "../Utils/Functions/loadStimulus.js";
1
+ import { Application, Controller as DefaultController } from '@hotwired/stimulus'
2
+ import loadStimulus from '../Utils/Functions/loadStimulus.js'
3
3
 
4
- const LibStimulus = new Application(document.documentElement, {
5
- controllerAttribute: "data-controller",
6
- actionAttribute: "data-action",
7
- targetAttribute: "data-ref"
8
- });
4
+ const LibStimulus = new Application(document.documentElement)
9
5
 
10
- LibStimulus.getController = (element, identifier) => LibStimulus.getControllerForElementAndIdentifier(element, identifier);
6
+ const getController = (element, identifier) => LibStimulus.getControllerForElementAndIdentifier(element, identifier)
11
7
 
12
- Controller.prototype.getValue = function(value) {
13
- return this[`${value}Value`]
14
- };
8
+ class Controller extends DefaultController {
9
+ getValue(value) {
10
+ return this[`${value}Value`]
11
+ }
15
12
 
16
- Controller.prototype.setValue = function(type, value) {
17
- this[`${type}Value`] = value;
18
- };
13
+ setValue(type, value) {
14
+ this[`${type}Value`] = value
15
+ }
19
16
 
20
- Controller.prototype.hasValue = function(type, value) {
21
- return this.data.has(`${type}Value`, value);
22
- };
17
+ hasValue(value) {
18
+ return this.data.has(`${value}Value`)
19
+ }
23
20
 
24
- Controller.prototype.getClass = function(value) {
25
- return this.data.get(`${value}Class`)
26
- };
21
+ getClass(value) {
22
+ return this.data.get(`${value}Class`)
23
+ }
27
24
 
28
- Controller.prototype.queryTarget = function(target) {
29
- return this.targets.find(target)
30
- };
25
+ queryTarget(target) {
26
+ return this.targets.find(target)
27
+ }
31
28
 
32
- Controller.prototype.queryTargetAll = function(targets) {
33
- return this.targets.findAll(targets)
34
- };
29
+ queryTargetAll(targets) {
30
+ return this.targets.findAll(targets)
31
+ }
35
32
 
36
- Controller.prototype.hasTarget = function(target) {
37
- return this.targets.has(target)
38
- };
33
+ hasTarget(target) {
34
+ return this.targets.has(target)
35
+ }
36
+ }
39
37
 
40
- LibStimulus.start().then(() => {
41
- loadStimulus(document);
42
- });
38
+ LibStimulus.start().then(() => loadStimulus(document.body))
43
39
 
44
- window.LibStimulus = LibStimulus;
40
+ window.LibStimulus = { default: LibStimulus, Controller, loadStimulus }
45
41
 
46
- export { LibStimulus, Controller, loadStimulus };
42
+ export { LibStimulus, Controller, loadStimulus, getController }