@rtstic.dev/pulse 0.0.56 → 0.0.58
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/form/index.js +10431 -21
- package/dist/form/index.js.map +4 -4
- package/dist/form/pricing.js +10374 -20
- package/dist/form/pricing.js.map +4 -4
- package/dist/global/faqs.js +12 -4
- package/dist/global/faqs.js.map +2 -2
- package/package.json +2 -1
package/dist/global/faqs.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
(() => {
|
|
3
3
|
// src/global/faqs.ts
|
|
4
|
-
|
|
4
|
+
function initAccordions() {
|
|
5
5
|
const items = document.querySelectorAll('[data-acc="item"]');
|
|
6
6
|
items.forEach((item) => {
|
|
7
7
|
const toggle = item.querySelector('[data-acc="toggle"]');
|
|
@@ -11,6 +11,10 @@
|
|
|
11
11
|
const yLine = item.querySelector('[data-acc="y-line"]');
|
|
12
12
|
const divider = item.querySelector('[data-acc="divider"]');
|
|
13
13
|
if (!toggle || !panel || !inner) return;
|
|
14
|
+
if (toggle._accClickHandler) {
|
|
15
|
+
toggle.removeEventListener("click", toggle._accClickHandler);
|
|
16
|
+
}
|
|
17
|
+
panel.accAnim?.kill();
|
|
14
18
|
gsap.set(panel, { height: 0, overflow: "hidden" });
|
|
15
19
|
gsap.set(inner, { opacity: 0 });
|
|
16
20
|
toggle.setAttribute("aria-expanded", "false");
|
|
@@ -24,7 +28,7 @@
|
|
|
24
28
|
});
|
|
25
29
|
}
|
|
26
30
|
let animating = false;
|
|
27
|
-
|
|
31
|
+
const clickHandler = () => {
|
|
28
32
|
if (animating) return;
|
|
29
33
|
animating = true;
|
|
30
34
|
const open = toggle.getAttribute("aria-expanded") === "true";
|
|
@@ -33,9 +37,13 @@
|
|
|
33
37
|
} else {
|
|
34
38
|
expandItem(item, () => animating = false);
|
|
35
39
|
}
|
|
36
|
-
}
|
|
40
|
+
};
|
|
41
|
+
toggle._accClickHandler = clickHandler;
|
|
42
|
+
toggle.addEventListener("click", clickHandler);
|
|
37
43
|
});
|
|
38
|
-
}
|
|
44
|
+
}
|
|
45
|
+
document.addEventListener("DOMContentLoaded", initAccordions);
|
|
46
|
+
window.initAccordions = initAccordions;
|
|
39
47
|
function expandItem(item, done) {
|
|
40
48
|
const toggle = item.querySelector('[data-acc="toggle"]');
|
|
41
49
|
const panel = item.querySelector('[data-acc="panel"]');
|
package/dist/global/faqs.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/global/faqs.ts"],
|
|
4
|
-
"sourcesContent": ["// \u2705 Simple GSAP Accordion (open/close only)\n// Attribute names used in HTML:\n// - data-acc=\"item\" (wrapper)\n// - data-acc=\"toggle\" (click target)\n// - data-acc=\"panel\" (height animates)\n// - data-acc=\"inner\" (opacity animates)\n\ninterface AccordionPanel extends HTMLElement {\n accAnim?: { kill(): void };\n}\n\
|
|
5
|
-
"mappings": ";;;
|
|
4
|
+
"sourcesContent": ["// \u2705 Simple GSAP Accordion (open/close only)\n// Attribute names used in HTML:\n// - data-acc=\"item\" (wrapper)\n// - data-acc=\"toggle\" (click target)\n// - data-acc=\"panel\" (height animates)\n// - data-acc=\"inner\" (opacity animates)\n\ninterface AccordionPanel extends HTMLElement {\n accAnim?: { kill(): void };\n}\n\ninterface AccordionToggle extends HTMLElement {\n _accClickHandler?: () => void;\n}\n\nfunction initAccordions(): void {\n const items = document.querySelectorAll<HTMLElement>('[data-acc=\"item\"]');\n\n items.forEach((item) => {\n const toggle = item.querySelector<AccordionToggle>('[data-acc=\"toggle\"]');\n const panel = item.querySelector<AccordionPanel>('[data-acc=\"panel\"]');\n const inner = item.querySelector<HTMLElement>('[data-acc=\"inner\"]');\n const xLine = item.querySelector<HTMLElement>('[data-acc=\"x-line\"]');\n const yLine = item.querySelector<HTMLElement>('[data-acc=\"y-line\"]');\n const divider = item.querySelector<HTMLElement>('[data-acc=\"divider\"]');\n\n if (!toggle || !panel || !inner) return;\n\n // Remove previous listener if reinitialising\n if (toggle._accClickHandler) {\n toggle.removeEventListener(\"click\", toggle._accClickHandler);\n }\n\n // Kill any running animation\n panel.accAnim?.kill();\n\n // initial: closed\n gsap.set(panel, { height: 0, overflow: \"hidden\" });\n gsap.set(inner, { opacity: 0 });\n toggle.setAttribute(\"aria-expanded\", \"false\");\n\n if (xLine && yLine) {\n gsap.set(xLine, { rotation: 0 });\n gsap.set(yLine, { rotation: 0 });\n }\n if (divider) {\n gsap.set(divider, {\n backgroundColor: \"var(--grey--grey40)\",\n });\n }\n\n let animating = false;\n\n const clickHandler = () => {\n if (animating) return;\n animating = true;\n\n const open = toggle.getAttribute(\"aria-expanded\") === \"true\";\n\n if (open) {\n collapseItem(item, () => (animating = false));\n } else {\n expandItem(item, () => (animating = false));\n }\n };\n\n toggle._accClickHandler = clickHandler;\n toggle.addEventListener(\"click\", clickHandler);\n });\n}\n\n// Run on first load\ndocument.addEventListener(\"DOMContentLoaded\", initAccordions);\n\n// Expose globally for reinitialisation\n(window as any).initAccordions = initAccordions;\n\nfunction expandItem(item: HTMLElement, done?: () => void): void {\n const toggle = item.querySelector<HTMLElement>('[data-acc=\"toggle\"]');\n const panel = item.querySelector<AccordionPanel>('[data-acc=\"panel\"]');\n const inner = item.querySelector<HTMLElement>('[data-acc=\"inner\"]');\n const xLine = item.querySelector<HTMLElement>('[data-acc=\"x-line\"]');\n const yLine = item.querySelector<HTMLElement>('[data-acc=\"y-line\"]');\n const divider = item.querySelector<HTMLElement>('[data-acc=\"divider\"]');\n\n if (!toggle || !panel || !inner) {\n done?.();\n return;\n }\n\n panel.accAnim?.kill();\n\n const tl = gsap.timeline({ onComplete: () => done?.() });\n\n gsap.set(panel, { height: \"auto\", visibility: \"hidden\" });\n const h = panel.offsetHeight;\n gsap.set(panel, { height: 0, visibility: \"visible\", overflow: \"hidden\" });\n\n tl.to(panel, {\n height: h,\n duration: 0.35,\n ease: \"power3.inOut\",\n onComplete: () => {\n panel.style.height = \"auto\";\n },\n });\n\n tl.to(inner, { opacity: 1, duration: 0.2, ease: \"power2.out\" }, \"-=0.15\");\n\n if (xLine && yLine) {\n tl.to(xLine, { rotation: 180, duration: 0.4, ease: \"power2.inOut\" }, 0);\n tl.to(yLine, { rotation: 270, duration: 0.4, ease: \"power2.inOut\" }, 0);\n }\n if (divider) {\n tl.to(\n divider,\n {\n backgroundColor: \"var(--grey--grey10)\",\n duration: 0.3,\n ease: \"power2.inOut\",\n },\n 0\n );\n }\n panel.accAnim = tl;\n toggle.setAttribute(\"aria-expanded\", \"true\");\n}\n\nfunction collapseItem(item: HTMLElement, done?: () => void): void {\n const toggle = item.querySelector<HTMLElement>('[data-acc=\"toggle\"]');\n const panel = item.querySelector<AccordionPanel>('[data-acc=\"panel\"]');\n const inner = item.querySelector<HTMLElement>('[data-acc=\"inner\"]');\n const xLine = item.querySelector<HTMLElement>('[data-acc=\"x-line\"]');\n const yLine = item.querySelector<HTMLElement>('[data-acc=\"y-line\"]');\n const divider = item.querySelector<HTMLElement>('[data-acc=\"divider\"]');\n\n if (!toggle || !panel || !inner) {\n done?.();\n return;\n }\n\n panel.accAnim?.kill();\n\n const tl = gsap.timeline({ onComplete: () => done?.() });\n\n tl.to(inner, { opacity: 0, duration: 0.15, ease: \"power2.in\" });\n tl.to(panel, { height: 0, duration: 0.25, ease: \"power3.inOut\" }, \"-=0.05\");\n\n if (xLine && yLine) {\n tl.to(xLine, { rotation: 0, duration: 0.4, ease: \"power2.inOut\" }, 0);\n tl.to(yLine, { rotation: 0, duration: 0.4, ease: \"power2.inOut\" }, 0);\n }\n if (divider) {\n tl.to(\n divider,\n {\n backgroundColor: \"var(--grey--grey40)\",\n duration: 0.3,\n ease: \"power2.inOut\",\n },\n 0\n );\n }\n\n panel.accAnim = tl;\n toggle.setAttribute(\"aria-expanded\", \"false\");\n}"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rtstic.dev/pulse",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.58",
|
|
4
4
|
"description": "pulse website",
|
|
5
5
|
"license": "license-of-your-project",
|
|
6
6
|
"keywords": [],
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
"@splinetool/runtime": "^1.10.91",
|
|
28
28
|
"@studio-freight/lenis": "^1.0.42",
|
|
29
29
|
"gsap": "^3.13.0",
|
|
30
|
+
"intl-tel-input": "^25.15.1",
|
|
30
31
|
"three": "^0.181.0"
|
|
31
32
|
},
|
|
32
33
|
"scripts": {
|