@courtneyring/components-library 1.0.29 → 1.0.31

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 (101) hide show
  1. package/dist/AccordionItem-BlVXPxrh.js +40 -0
  2. package/dist/ScrollTrigger-6HnikosL.js +1086 -0
  3. package/dist/animations/FadeIn.js +8 -7
  4. package/dist/assets/AccordionItem.css +1 -1
  5. package/dist/assets/Background.css +1 -1
  6. package/dist/assets/Banner.css +1 -1
  7. package/dist/assets/Button.css +1 -1
  8. package/dist/assets/ButtonGroup.css +1 -0
  9. package/dist/assets/Container.css +1 -1
  10. package/dist/assets/Countdown.css +1 -0
  11. package/dist/assets/Fifty.css +1 -1
  12. package/dist/assets/FloatingWordsHero.css +1 -0
  13. package/dist/assets/Footer.css +1 -1
  14. package/dist/assets/GenericOverlay.css +1 -1
  15. package/dist/assets/IconDetail.css +1 -1
  16. package/dist/assets/ImageTextBlock.css +1 -1
  17. package/dist/assets/List.css +1 -1
  18. package/dist/assets/Map.css +1 -0
  19. package/dist/assets/MenuButton.css +1 -1
  20. package/dist/assets/Navbar.css +1 -1
  21. package/dist/assets/Note.css +1 -1
  22. package/dist/assets/OverlayHero.css +1 -1
  23. package/dist/assets/PageContainer.css +1 -1
  24. package/dist/assets/PinnedImage.css +1 -1
  25. package/dist/assets/PromoGroup.css +1 -1
  26. package/dist/assets/RSVPEmbed.css +1 -1
  27. package/dist/assets/Schedule.css +1 -0
  28. package/dist/assets/TextBlock.css +1 -1
  29. package/dist/components/Accordion/Accordion.js +1 -1
  30. package/dist/components/Accordion/AccordionItem.js +2 -2
  31. package/dist/components/Background/Background.js +24 -22
  32. package/dist/components/Banner/Banner.js +16 -14
  33. package/dist/components/BorderedBackground/BorderedBackground.js +1 -1
  34. package/dist/components/Button/Button.js +34 -27
  35. package/dist/components/ButtonGroup/ButtonGroup.js +10 -0
  36. package/dist/components/Container/Container.js +37 -34
  37. package/dist/components/Countdown/Countdown.js +41 -0
  38. package/dist/components/Fifty/Fifty.js +40 -32
  39. package/dist/components/FloatingWordsHero/FloatingWordsHero.js +30 -0
  40. package/dist/components/Footer/Footer.js +9 -9
  41. package/dist/components/GenericOverlay/GenericOverlay.js +13 -13
  42. package/dist/components/GridGallery/GridGallery.js +1 -1
  43. package/dist/components/HorizontalScrollImages/HorizontalScrollImages.js +13 -12
  44. package/dist/components/IconDetail/IconDetail.js +8 -8
  45. package/dist/components/ImageTextBlock/ImageTextBlock.js +27 -25
  46. package/dist/components/List/List.js +15 -15
  47. package/dist/components/Map/Map.js +41 -0
  48. package/dist/components/Map/Map.stories.js +16 -0
  49. package/dist/components/MenuButton/MenuButton.js +21 -21
  50. package/dist/components/Navbar/Navbar.js +50 -43
  51. package/dist/components/Note/Note.js +26 -22
  52. package/dist/components/Overlay/Overlay.js +1 -1
  53. package/dist/components/OverlayHero/OverlayHero.js +5 -5
  54. package/dist/components/PageContainer/PageContainer.js +5 -5
  55. package/dist/components/ParallaxImageGrid/ParallaxImageGrid.js +4 -3
  56. package/dist/components/PinnedImage/PinnedImage.js +34 -33
  57. package/dist/components/PromoGroup/PromoGroup.js +98 -50
  58. package/dist/components/RSVPEmbed/RSVPEmbed.js +9 -8
  59. package/dist/components/Schedule/Schedule.js +24 -0
  60. package/dist/components/Spacer/Spacer.js +6 -0
  61. package/dist/components/TextBlock/TextBlock.js +18 -18
  62. package/dist/components/Timeline/Timeline.js +12 -11
  63. package/dist/components/Toolbar/Toolbar.js +43 -15
  64. package/dist/hooks/useActiveSection 2.js +27 -0
  65. package/dist/hooks/useFadeIn 2.js +52 -0
  66. package/dist/hooks/useFadeIn.js +17 -16
  67. package/dist/hooks/useNavColor 2.js +15 -0
  68. package/dist/hooks/useRepeatable 2.js +32 -0
  69. package/dist/hooks/useResize 2.js +19 -0
  70. package/dist/hooks/useResponsive 2.js +15 -0
  71. package/dist/hooks/useReveal 2.js +38 -0
  72. package/dist/hooks/useReveal.js +38 -0
  73. package/dist/hooks/useStagger 2.js +43 -0
  74. package/dist/hooks/useStagger.js +43 -0
  75. package/dist/{index-BIlioXmW.js → index-B2JRaoNz 2.js } +2 -1
  76. package/dist/index-B2JRaoNz.js +48 -0
  77. package/dist/index-BmTo-IS6.js +2018 -0
  78. package/dist/{index-BlCqcUwj.js → index-K0WrPJ_C.js} +1 -1
  79. package/dist/index.js +48 -69
  80. package/dist/index.modern-DPbS1w7M.js +1443 -0
  81. package/dist/presets/animations 3.js +19 -0
  82. package/dist/presets/animations.js +19 -0
  83. package/dist/utils/breakpoints 3.js +8 -0
  84. package/dist/utils/gsapSetup 3.js +8 -0
  85. package/dist/utils/gsapSetup.js +4 -3
  86. package/dist/utils/parse 3.js +12 -0
  87. package/dist/utils/parse.js +7 -7
  88. package/package.json +8 -4
  89. package/src/styles/_breakpoints.scss +107 -0
  90. package/src/styles/_colors.scss +50 -0
  91. package/src/styles/_fonts.scss +241 -0
  92. package/src/styles/_mixins.scss +114 -0
  93. package/src/styles/_sizes.scss +191 -0
  94. package/src/styles/globals.scss +77 -0
  95. package/src/styles/index.scss +1 -0
  96. package/src/styles/variables.module.scss +20 -0
  97. package/dist/AccordionItem-DuHzStoZ.js +0 -40
  98. package/dist/Particles-CKNJUrOc.js +0 -2789
  99. package/dist/ScrollTrigger-DDbij8gI.js +0 -3102
  100. package/dist/assets/index.css +0 -1
  101. package/dist/components/ParticleBackground/ParticleBackground.js +0 -31
@@ -1,38 +1,38 @@
1
1
  "use client";
2
- import { jsxs as i, jsx as s } from "react/jsx-runtime";
3
- import { c as t } from "../../index-BIlioXmW.js";
4
- import '../../assets/MenuButton.css';const a = "_button_zo0en_1", c = "_isOpen_zo0en_6", _ = "_top_zo0en_6", d = "_bottom_zo0en_7", m = "_middle_zo0en_25", p = "_line_zo0en_33", o = {
5
- button: a,
6
- isOpen: c,
7
- top: _,
8
- bottom: d,
9
- middle: m,
10
- line: p
11
- }, u = ({ isOpen: e, clickFn: l, theme: n }) => /* @__PURE__ */ i(
2
+ import { jsxs as i, jsx as n } from "react/jsx-runtime";
3
+ import { c as o } from "../../index-B2JRaoNz.js";
4
+ import '../../assets/MenuButton.css';const m = "_button_y3m6p_1", a = "_isOpen_y3m6p_6", c = "_top_y3m6p_6", _ = "_bottom_y3m6p_7", p = "_middle_y3m6p_25", d = "_line_y3m6p_33", t = {
5
+ button: m,
6
+ isOpen: a,
7
+ top: c,
8
+ bottom: _,
9
+ middle: p,
10
+ line: d
11
+ }, u = ({ isOpen: l, clickFn: e, theme: s }) => /* @__PURE__ */ i(
12
12
  "button",
13
13
  {
14
- className: t(o.button, e && o.isOpen),
15
- onClick: l,
14
+ className: o(t.button, l && t.isOpen),
15
+ onClick: e,
16
16
  children: [
17
- /* @__PURE__ */ s(
17
+ /* @__PURE__ */ n(
18
18
  "div",
19
19
  {
20
- className: t(o.top, o.line),
21
- "data-color": n
20
+ className: o(t.top, t.line),
21
+ "data-color": s
22
22
  }
23
23
  ),
24
- /* @__PURE__ */ s(
24
+ /* @__PURE__ */ n(
25
25
  "div",
26
26
  {
27
- className: t(o.middle, o.line),
28
- "data-color": n
27
+ className: o(t.middle, t.line),
28
+ "data-color": s
29
29
  }
30
30
  ),
31
- /* @__PURE__ */ s(
31
+ /* @__PURE__ */ n(
32
32
  "div",
33
33
  {
34
- className: t(o.bottom, o.line),
35
- "data-color": n
34
+ className: o(t.bottom, t.line),
35
+ "data-color": s
36
36
  }
37
37
  )
38
38
  ]
@@ -1,78 +1,85 @@
1
1
  "use client";
2
- import { jsxs as d, jsx as r } from "react/jsx-runtime";
3
- import { useRef as h, useState as l, useEffect as g, cloneElement as k } from "react";
4
- import w from "../MenuButton/MenuButton.js";
2
+ import { jsxs as b, jsx as e } from "react/jsx-runtime";
3
+ import { useRef as p, useState as l, useEffect as g, cloneElement as w } from "react";
4
+ import k from "../MenuButton/MenuButton.js";
5
5
  import { r as N } from "../../index-DyQs5aC7.js";
6
6
  import D from "../Overlay/Overlay.js";
7
7
  import x from "../Container/Container.js";
8
- import { c as E } from "../../index-BIlioXmW.js";
9
- import { useNavColor as C } from "../../hooks/useNavColor.js";
10
- import '../../assets/Navbar.css';const O = "_navbar_15cfv_1", Y = "_hide_15cfv_4", y = "_background_15cfv_24", S = "_open_15cfv_24", $ = "_navbar__link_15cfv_27", j = "_navbar__logo_15cfv_31", B = "_component_15cfv_41", F = "_navbar__links_15cfv_71", L = "_navbar__mobileDialog_15cfv_83", M = "_navbar__toggle_15cfv_99", o = {
11
- navbar: O,
12
- hide: Y,
13
- background: y,
8
+ import { c as E } from "../../index-B2JRaoNz.js";
9
+ import '../../assets/Navbar.css';const y = "_navbar_hb3wf_1", O = "_hide_hb3wf_4", Y = "_background_hb3wf_27", S = "_open_hb3wf_27", $ = "_navbar__link_hb3wf_31", j = "_navbar__logo_hb3wf_35", B = "_component_hb3wf_48", C = "_navbar__links_hb3wf_52", F = "_navbar__mobileDialog_hb3wf_110", L = "_navbar__toggle_hb3wf_123", n = {
10
+ navbar: y,
11
+ hide: O,
12
+ background: Y,
14
13
  open: S,
15
14
  navbar__link: $,
16
15
  navbar__logo: j,
17
16
  component: B,
18
- navbar__links: F,
19
- navbar__mobileDialog: L,
20
- navbar__toggle: M
21
- }, I = {}, T = ({ links: t, logoImage: s, color: P, logoComponent: _ }) => {
22
- const e = h(0), [b, m] = l("up"), [n, i] = l(!1), [u, R] = C(), [c, f] = l(!1);
23
- g(() => (window.addEventListener("scroll", v), () => window.removeEventListener("scroll", v)), []);
24
- const v = () => {
25
- f(window.scrollY > 30);
17
+ navbar__links: C,
18
+ navbar__mobileDialog: F,
19
+ navbar__toggle: L
20
+ }, M = {}, Q = ({
21
+ links: c,
22
+ logoImage: s,
23
+ backgroundColor: I,
24
+ color: P,
25
+ logoComponent: t,
26
+ hidden: d,
27
+ position: v = "absolute"
28
+ }) => {
29
+ const o = p(0), [R, m] = l("up"), [r, _] = l(!1), [u, h] = l(!1);
30
+ g(() => (window.addEventListener("scroll", i), () => window.removeEventListener("scroll", i)), []);
31
+ const i = () => {
32
+ h(window.scrollY > 30);
26
33
  const a = window.scrollY;
27
- a - e.current !== 0 && m(a > e.current ? "down" : "up"), e.current = a > 0 ? a : 0;
34
+ a - o.current !== 0 && m(a > o.current ? "down" : "up"), o.current = a > 0 ? a : 0;
28
35
  };
29
- return /* @__PURE__ */ d(
36
+ return /* @__PURE__ */ b(
30
37
  "nav",
31
38
  {
32
39
  className: E(
33
- o.navbar,
34
- c && o.background,
35
- n && o.open,
36
- b === "down" && o.hide
40
+ n.navbar,
41
+ u && n.background,
42
+ r && n.open,
43
+ // (direction === "down" || hidden) && styles.hide
44
+ d && n.hide
37
45
  ),
46
+ style: r ? {} : { position: v },
38
47
  children: [
39
- /* @__PURE__ */ d("a", { className: o.navbar__logo, href: "/", children: [
40
- s && /* @__PURE__ */ r("img", { src: s }),
41
- _ && k(_, {
42
- className: o.component,
43
- "data-color": !c || n ? "color-white" : "color-neutral-dark"
48
+ /* @__PURE__ */ b("a", { className: n.navbar__logo, href: "/", children: [
49
+ s && /* @__PURE__ */ e("img", { src: s }),
50
+ t && w(t, {
51
+ className: n.component
44
52
  })
45
53
  ] }),
46
- /* @__PURE__ */ r("div", { className: o.navbar__toggle, children: /* @__PURE__ */ r(
47
- w,
54
+ /* @__PURE__ */ e("div", { className: n.navbar__toggle, children: /* @__PURE__ */ e(
55
+ k,
48
56
  {
49
- clickFn: () => i(!n),
50
- isOpen: n,
51
- theme: !c || n ? "color-white" : "color-neutral-dark"
57
+ clickFn: () => _(!r),
58
+ isOpen: r,
59
+ theme: "color-white"
52
60
  }
53
61
  ) }),
54
- /* @__PURE__ */ r("div", { className: o.navbar__links, children: t.map((a, p) => /* @__PURE__ */ r(
62
+ /* @__PURE__ */ e("div", { className: n.navbar__links, children: c.map((a, f) => /* @__PURE__ */ e(
55
63
  "a",
56
64
  {
57
- className: `${o.navbar__link}`,
65
+ className: `${n.navbar__link}`,
58
66
  href: a.value,
59
- "data-color": u,
60
67
  children: a.label
61
68
  },
62
69
  `navbar-d-${a.value}`
63
70
  )) }),
64
- n && N.createPortal(
65
- /* @__PURE__ */ r(
71
+ r && N.createPortal(
72
+ /* @__PURE__ */ e(
66
73
  D,
67
74
  {
68
- closeFn: () => i(!1),
75
+ closeFn: () => _(!1),
69
76
  hideClose: !0,
70
- background: I.white,
77
+ background: M.white,
71
78
  fullscreen: !0,
72
- children: /* @__PURE__ */ r(x, { color: "color-white", children: /* @__PURE__ */ r("div", { className: o.navbar__mobileDialog, children: t.map((a, p) => /* @__PURE__ */ r(
79
+ children: /* @__PURE__ */ e(x, { color: "color-white", children: /* @__PURE__ */ e("div", { className: n.navbar__mobileDialog, children: c.map((a, f) => /* @__PURE__ */ e(
73
80
  "a",
74
81
  {
75
- className: o.navbar__link,
82
+ className: n.navbar__link,
76
83
  href: a.value,
77
84
  children: a.label
78
85
  },
@@ -87,5 +94,5 @@ import '../../assets/Navbar.css';const O = "_navbar_15cfv_1", Y = "_hide_15cfv_4
87
94
  );
88
95
  };
89
96
  export {
90
- T as default
97
+ Q as default
91
98
  };
@@ -1,26 +1,30 @@
1
1
  "use client";
2
- import { jsx as o, jsxs as e } from "react/jsx-runtime";
3
- import l from "../../utils/parse.js";
4
- import i from "../../animations/FadeInMotion.js";
5
- import '../../assets/Note.css';const m = "_salutation_13agx_2", _ = "_opener_13agx_43", d = "_from_13agx_48", p = "_body_13agx_90", g = "_close_13agx_137", u = "_signature_13agx_179", s = {
6
- salutation: m,
7
- opener: _,
8
- from: d,
9
- body: p,
10
- close: g,
11
- signature: u
12
- }, N = ({ salutation: a, from: n, body: t, signature: r, close: c }) => /* @__PURE__ */ o(i, { children: /* @__PURE__ */ e("div", { className: s.note, children: [
13
- /* @__PURE__ */ e("p", { className: s.salutation, children: [
14
- /* @__PURE__ */ e("span", { className: s.opener, children: [
15
- a,
16
- " "
2
+ import { jsxs as e, jsx as s } from "react/jsx-runtime";
3
+ import { useReveal as i } from "../../hooks/useReveal.js";
4
+ import { appleReveal as m } from "../../presets/animations.js";
5
+ import _ from "../../utils/parse.js";
6
+ import '../../assets/Note.css';const p = "_salutation_tq8oj_2", d = "_opener_tq8oj_49", u = "_from_tq8oj_54", f = "_body_tq8oj_96", j = "_close_tq8oj_149", N = "_signature_tq8oj_197", o = {
7
+ salutation: p,
8
+ opener: d,
9
+ from: u,
10
+ body: f,
11
+ close: j,
12
+ signature: N
13
+ }, g = ({ salutation: t, from: a, body: n, signature: r, close: c }) => {
14
+ const l = i(m);
15
+ return /* @__PURE__ */ e("div", { className: o.note, ref: l, children: [
16
+ /* @__PURE__ */ e("p", { className: o.salutation, children: [
17
+ /* @__PURE__ */ e("span", { className: o.opener, children: [
18
+ t,
19
+ " "
20
+ ] }),
21
+ /* @__PURE__ */ s("span", { className: o.from, children: a })
17
22
  ] }),
18
- /* @__PURE__ */ o("span", { className: s.from, children: n })
19
- ] }),
20
- /* @__PURE__ */ o("div", { className: s.body, children: l(t) }),
21
- /* @__PURE__ */ o("p", { className: s.close, children: c }),
22
- /* @__PURE__ */ o("p", { className: s.signature, children: r })
23
- ] }) });
23
+ /* @__PURE__ */ s("div", { className: o.body, children: _(n) }),
24
+ /* @__PURE__ */ s("p", { className: o.close, children: c }),
25
+ /* @__PURE__ */ s("p", { className: o.signature, children: r })
26
+ ] });
27
+ };
24
28
  export {
25
- N as default
29
+ g as default
26
30
  };
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsxs as r, jsx as s } from "react/jsx-runtime";
3
3
  import { useState as v, useEffect as u } from "react";
4
- import { c as m } from "../../index-BIlioXmW.js";
4
+ import { c as m } from "../../index-B2JRaoNz.js";
5
5
  import '../../assets/Overlay.css';const i = "_overlay_m36se_17", y = "_hideNav_m36se_43", f = "_overlay__dialog_m36se_43", N = "_overlay__background_m36se_47", h = "_fadeIn_m36se_1", O = "_fadeOut_m36se_57", g = "_overlay__close_m36se_80", b = "_fullscreen_m36se_103", e = {
6
6
  overlay: i,
7
7
  hideNav: y,
@@ -2,12 +2,12 @@
2
2
  import { jsx as t, jsxs as c } from "react/jsx-runtime";
3
3
  import s from "../../utils/parse.js";
4
4
  import "react";
5
- import '../../assets/OverlayHero.css';const n = "_hero_1f1qw_5", _ = "_overlay_1f1qw_17", d = "_eyebrow_1f1qw_42", m = "_title_1f1qw_49", h = "_subtitle_1f1qw_67", e = {
5
+ import '../../assets/OverlayHero.css';const n = "_hero_18ghz_5", h = "_overlay_18ghz_17", _ = "_eyebrow_18ghz_46", d = "_title_18ghz_53", m = "_subtitle_18ghz_71", e = {
6
6
  hero: n,
7
- overlay: _,
8
- eyebrow: d,
9
- title: m,
10
- subtitle: h
7
+ overlay: h,
8
+ eyebrow: _,
9
+ title: d,
10
+ subtitle: m
11
11
  }, v = ({ text: y, image: l, pos: a, eyebrow: r, title: i, subtitle: o }) => /* @__PURE__ */ t(
12
12
  "div",
13
13
  {
@@ -1,15 +1,15 @@
1
1
  "use client";
2
2
  import { jsxs as i, jsx as o } from "react/jsx-runtime";
3
- import '../../assets/PageContainer.css';const s = "_container__inner_1f10x_2", l = "_removePadding_1f10x_47", m = "_container__body_1f10x_51", y = "_container__copy_1f10x_66", n = {
3
+ import '../../assets/PageContainer.css';const s = "_container__inner_9nloq_2", l = "_removePadding_9nloq_47", m = "_container__body_9nloq_51", y = "_container__copy_9nloq_66", n = {
4
4
  container__inner: s,
5
5
  removePadding: l,
6
6
  container__body: m,
7
7
  container__copy: y
8
- }, x = ({
9
- heroImage: f,
8
+ }, P = ({
9
+ heroImage: g,
10
10
  pageTitle: r,
11
11
  children: t,
12
- hero: g,
12
+ hero: h,
13
13
  copy: e,
14
14
  excludePadding: c = []
15
15
  }) => {
@@ -35,5 +35,5 @@ import '../../assets/PageContainer.css';const s = "_container__inner_1f10x_2", l
35
35
  ] });
36
36
  };
37
37
  export {
38
- x as default
38
+ P as default
39
39
  };
@@ -1,7 +1,8 @@
1
1
  "use client";
2
2
  import { jsx as a, jsxs as _ } from "react/jsx-runtime";
3
3
  import { useRef as o, useEffect as b } from "react";
4
- import { g as i, S as w } from "../../ScrollTrigger-DDbij8gI.js";
4
+ import { g as i } from "../../index-BmTo-IS6.js";
5
+ import { S as w } from "../../ScrollTrigger-6HnikosL.js";
5
6
  import '../../assets/ParallaxImageGrid.css';const h = "_container_1tu23_1", R = "_center_1tu23_10", T = "_wrapper_1tu23_17", k = "_box_1tu23_29", n = {
6
7
  container: h,
7
8
  center: R,
@@ -9,7 +10,7 @@ import '../../assets/ParallaxImageGrid.css';const h = "_container_1tu23_1", R =
9
10
  box: k
10
11
  };
11
12
  i.registerPlugin(w);
12
- const N = ({ images: y, center: l }) => {
13
+ const A = ({ images: y, center: l }) => {
13
14
  const c = o(null), u = o([]), p = o(), g = o(), x = [
14
15
  { x: -500, y: -200 },
15
16
  { x: -75, y: -200 },
@@ -87,5 +88,5 @@ const N = ({ images: y, center: l }) => {
87
88
  ] }) });
88
89
  };
89
90
  export {
90
- N as default
91
+ A as default
91
92
  };
@@ -1,29 +1,30 @@
1
1
  "use client";
2
2
  import { jsxs as _, jsx as t } from "react/jsx-runtime";
3
- import { useRef as i, useEffect as x, createElement as y } from "react";
4
- import v from "../IconDetail/IconDetail.js";
5
- import { g as a, S as N } from "../../ScrollTrigger-DDbij8gI.js";
6
- import b from "../../utils/parse.js";
7
- import '../../assets/PinnedImage.css';const k = "_container_trrr1_2", P = "_content_trrr1_114", R = "_copy_trrr1_122", S = "_text_trrr1_158", T = "_title_trrr1_207", E = "_background_trrr1_253", H = "_section_trrr1_265", I = "_details_trrr1_297", e = {
8
- container: k,
9
- content: P,
10
- copy: R,
11
- text: S,
12
- title: T,
13
- background: E,
14
- section: H,
15
- details: I
3
+ import { useRef as s, useEffect as k, createElement as x } from "react";
4
+ import y from "../IconDetail/IconDetail.js";
5
+ import { g as i } from "../../index-BmTo-IS6.js";
6
+ import { S as q } from "../../ScrollTrigger-6HnikosL.js";
7
+ import v from "../../utils/parse.js";
8
+ import '../../assets/PinnedImage.css';const N = "_container_19qak_2", b = "_content_19qak_114", P = "_copy_19qak_122", R = "_text_19qak_162", S = "_title_19qak_218", T = "_background_19qak_264", E = "_section_19qak_276", H = "_details_19qak_308", e = {
9
+ container: N,
10
+ content: b,
11
+ copy: P,
12
+ text: R,
13
+ title: S,
14
+ background: T,
15
+ section: E,
16
+ details: H
16
17
  };
17
- a.registerPlugin(N);
18
+ i.registerPlugin(q);
18
19
  const W = ({ image: m, title: g, sections: f }) => {
19
- const o = i(null);
20
- i(null);
21
- const l = i([]), p = i();
22
- return x(() => {
23
- const r = a.context(() => {
24
- const n = l.current, c = Math.max(...n.map((s) => s.offsetHeight));
25
- a.set(p.current, { minHeight: c });
26
- const d = o.current.offsetTop, h = a.timeline({
20
+ const o = s(null);
21
+ s(null);
22
+ const l = s([]), p = s();
23
+ return k(() => {
24
+ const n = i.context(() => {
25
+ const c = l.current, r = Math.max(...c.map((a) => a.offsetHeight));
26
+ i.set(p.current, { minHeight: r });
27
+ const d = o.current.offsetTop, h = i.timeline({
27
28
  scrollTrigger: {
28
29
  trigger: o.current,
29
30
  start: `top-=${d} top`,
@@ -34,19 +35,19 @@ const W = ({ image: m, title: g, sections: f }) => {
34
35
  anticipatePin: 1
35
36
  }
36
37
  });
37
- n.forEach((s, u) => {
38
+ c.forEach((a, u) => {
38
39
  h.fromTo(
39
- s,
40
+ a,
40
41
  { opacity: u === 0 ? 1 : 0 },
41
42
  { opacity: 1, duration: 0.5 }
42
43
  ).to(
43
- s,
44
- { opacity: u === n.length - 1 ? 1 : 0, duration: 0.5 },
44
+ a,
45
+ { opacity: u === c.length - 1 ? 1 : 0, duration: 0.5 },
45
46
  "+=0.75"
46
47
  );
47
48
  });
48
49
  }, o);
49
- return () => r.revert();
50
+ return () => n.revert();
50
51
  }, []), /* @__PURE__ */ _(
51
52
  "div",
52
53
  {
@@ -56,18 +57,18 @@ const W = ({ image: m, title: g, sections: f }) => {
56
57
  children: [
57
58
  /* @__PURE__ */ t("h2", { className: e.title, children: g }),
58
59
  /* @__PURE__ */ t("div", { className: e.background, children: /* @__PURE__ */ t("img", { src: m }) }),
59
- /* @__PURE__ */ t("div", { className: e.content, ref: p, children: /* @__PURE__ */ t("div", { className: e.copy, children: f.map((r, n) => /* @__PURE__ */ _(
60
+ /* @__PURE__ */ t("div", { className: e.content, ref: p, children: /* @__PURE__ */ t("div", { className: e.copy, children: f.map((n, c) => /* @__PURE__ */ _(
60
61
  "div",
61
62
  {
62
63
  className: e.section,
63
- ref: (c) => l.current[n] = c,
64
+ ref: (r) => l.current[c] = r,
64
65
  children: [
65
- /* @__PURE__ */ t("h3", { children: r.header }),
66
- /* @__PURE__ */ t("div", { className: e.text, children: b(r.description) }),
67
- /* @__PURE__ */ t("div", { className: e.details, children: r.details && r.details.map((c, d) => /* @__PURE__ */ y(v, { ...c, key: d })) })
66
+ /* @__PURE__ */ t("h3", { children: n.header }),
67
+ /* @__PURE__ */ t("div", { className: e.text, children: v(n.description) }),
68
+ /* @__PURE__ */ t("div", { className: e.details, children: n.details && n.details.map((r, d) => /* @__PURE__ */ x(y, { ...r, key: d })) })
68
69
  ]
69
70
  },
70
- n
71
+ c
71
72
  )) }) })
72
73
  ]
73
74
  }
@@ -1,56 +1,104 @@
1
1
  "use client";
2
- import { jsxs as c, Fragment as l, jsx as t } from "react/jsx-runtime";
3
- import "react";
4
- import "../../index-BlCqcUwj.js";
2
+ import { jsxs as c, Fragment as p, jsx as e } from "react/jsx-runtime";
3
+ import { useMemo as u } from "react";
4
+ import "../../index-K0WrPJ_C.js";
5
5
  import "../../hooks/useFadeIn.js";
6
- import d from "../Button/Button.js";
7
- import { c as m } from "../../index-BIlioXmW.js";
8
- import "../../Particles-CKNJUrOc.js";
6
+ import N from "../Button/Button.js";
7
+ import { appleStagger as n } from "../../presets/animations.js";
8
+ import { c as m } from "../../index-B2JRaoNz.js";
9
9
  import "../../index-DyQs5aC7.js";
10
- import "../PinnedImage/PinnedImage.js";
11
- import "../ParallaxImageGrid/ParallaxImageGrid.js";
12
- import '../../assets/PromoGroup.css';const n = "_group_qbcz0_2", h = "_slider_qbcz0_27", p = "_header_qbcz0_33", b = "_promo_qbcz0_75", g = "_image_qbcz0_119", N = "_promo__header_qbcz0_124", q = "_cta_qbcz0_161", u = "_promo__body_qbcz0_204", y = "_stat_qbcz0_243", z = "_statText_qbcz0_253", e = {
13
- group: n,
14
- slider: h,
15
- header: p,
16
- promo: b,
17
- image: g,
18
- promo__header: N,
19
- cta: q,
20
- promo__body: u,
21
- stat: y,
22
- statText: z
23
- }, P = ({ header: i, promos: s }) => /* @__PURE__ */ c(l, { children: [
24
- /* @__PURE__ */ t("h2", { className: e.header, children: i }),
25
- /* @__PURE__ */ t(
26
- "div",
27
- {
28
- className: m(e.group, s.length > 3 && e.slider),
29
- style: { "--promos": s.length },
30
- children: s.map((a, r) => /* @__PURE__ */ c(
31
- "div",
32
- {
33
- delay: 0.1 * r,
34
- className: e.promo,
35
- "data-color": a.color,
36
- "data-text-align": a.textAlign,
37
- children: [
38
- a.icon && /* @__PURE__ */ t("span", { className: "material-symbols-outlined", children: a.icon }),
39
- a.image && /* @__PURE__ */ t("img", { className: e.image, src: a.image }),
40
- a.header && /* @__PURE__ */ t("h3", { className: e.promo__header, children: a.header }),
41
- /* @__PURE__ */ t("p", { className: e.promo__body, children: a.body }),
42
- a.cta && /* @__PURE__ */ t("div", { className: e.cta, children: /* @__PURE__ */ t(d, { ...a.cta }) }),
43
- a.stats && /* @__PURE__ */ t("div", { className: e.stats, children: a.stats.map((o, _) => /* @__PURE__ */ c("div", { className: e.stat, children: [
44
- /* @__PURE__ */ t("span", { className: "material-symbols-outlined", children: o.icon }),
45
- /* @__PURE__ */ t("span", { className: e.statText, children: o.text })
46
- ] }, `stat-${_}`)) })
47
- ]
10
+ import { useStagger as f } from "../../hooks/useStagger.js";
11
+ import "../../index.modern-DPbS1w7M.js";
12
+ import '../../assets/PromoGroup.css';const y = "_group_rwbwb_2", C = "_slider_rwbwb_27", x = "_header_rwbwb_33", v = "_promo_rwbwb_76", T = "_icon_rwbwb_126", $ = "_cta_rwbwb_136", j = "_imageContainer_rwbwb_144", F = "_image_rwbwb_144", k = "_promo__header_rwbwb_156", S = "_promo__body_rwbwb_254", z = "_stats_rwbwb_302", A = "_stat_rwbwb_302", B = "_statText_rwbwb_316", a = {
13
+ group: y,
14
+ slider: C,
15
+ header: x,
16
+ promo: v,
17
+ icon: T,
18
+ cta: $,
19
+ imageContainer: j,
20
+ image: F,
21
+ promo__header: k,
22
+ promo__body: S,
23
+ stats: z,
24
+ stat: A,
25
+ statText: B,
26
+ "count-4": "_count-4_rwbwb_394"
27
+ }, L = ({ header: d, promos: r, direction: i = "vertical", slider: b }) => {
28
+ const g = ["icon", "header", "body", "cta", "stats", "image"], h = f(`.${a.promo}`, n.from, {
29
+ ...n.to,
30
+ stagger: n.stagger,
31
+ scrollTrigger: { start: n.start }
32
+ }), l = u(() => {
33
+ let t = 0;
34
+ for (let s of g)
35
+ r.some((o) => !!o[s]) && (t += 1);
36
+ return t;
37
+ }, [r]);
38
+ return /* @__PURE__ */ c(p, { children: [
39
+ /* @__PURE__ */ e("h2", { className: a.header, children: d }),
40
+ /* @__PURE__ */ e(
41
+ "div",
42
+ {
43
+ ref: h,
44
+ className: m(
45
+ a.group,
46
+ a[`count-${r.length}`],
47
+ b && a.slider
48
+ ),
49
+ style: {
50
+ "--promos": r.length,
51
+ "--propCount": i == "horizontal" ? l - 1 : l
48
52
  },
49
- `promo-${r}`
50
- ))
51
- }
52
- )
53
- ] });
53
+ children: r.map((t, s) => {
54
+ const o = t.containerCta ? "a" : "div";
55
+ return /* @__PURE__ */ c(
56
+ o,
57
+ {
58
+ onClick: t.containerCta?.onClick || null,
59
+ href: t.containerCta?.href || null,
60
+ target: t.containerCta?.target || null,
61
+ delay: 0.1 * s,
62
+ className: a.promo,
63
+ "data-color": t.color,
64
+ "data-text-align": t.textAlign,
65
+ "data-direction": i,
66
+ children: [
67
+ t.icon && /* @__PURE__ */ e(
68
+ "span",
69
+ {
70
+ className: m(
71
+ "material-symbols-outlined",
72
+ a.icon,
73
+ !t.icon && "hidden"
74
+ ),
75
+ children: t.icon
76
+ }
77
+ ),
78
+ t.image && /* @__PURE__ */ e("div", { className: a.imageContainer, children: /* @__PURE__ */ e(
79
+ "img",
80
+ {
81
+ style: { objectFit: t.imageFit },
82
+ className: a.image,
83
+ src: t.image
84
+ }
85
+ ) }),
86
+ t.header && /* @__PURE__ */ e("h3", { className: a.promo__header, children: t.header }),
87
+ /* @__PURE__ */ e("p", { className: a.promo__body, children: t.body }),
88
+ t.cta && /* @__PURE__ */ e("div", { className: a.cta, children: /* @__PURE__ */ e(N, { ...t.cta }) }),
89
+ t.stats && /* @__PURE__ */ e("div", { className: a.stats, children: t.stats.map((_, w) => /* @__PURE__ */ c("div", { className: a.stat, children: [
90
+ /* @__PURE__ */ e("span", { className: "material-symbols-outlined", children: _.icon }),
91
+ /* @__PURE__ */ e("span", { className: a.statText, children: _.text })
92
+ ] }, `stat-${w}`)) })
93
+ ]
94
+ },
95
+ `promo-${s}`
96
+ );
97
+ })
98
+ }
99
+ )
100
+ ] });
101
+ };
54
102
  export {
55
- P as default
103
+ L as default
56
104
  };
@@ -1,17 +1,18 @@
1
1
  "use client";
2
2
  import { jsx as n } from "react/jsx-runtime";
3
- import { useRef as c, useEffect as s } from "react";
4
- import '../../assets/RSVPEmbed.css';const p = "_wrapper_1mgkx_1", a = {
5
- wrapper: p
3
+ import { useRef as s, useEffect as a } from "react";
4
+ import '../../assets/RSVPEmbed.css';const o = "_wrapper_1uu5y_1", i = "_container_1uu5y_10", t = {
5
+ wrapper: o,
6
+ container: i
6
7
  };
7
- function f({ embedUrl: t }) {
8
- const r = c(null);
9
- return s(() => {
8
+ function f({ embedUrl: c }) {
9
+ const r = s(null);
10
+ return a(() => {
10
11
  const e = document.createElement("script");
11
- return e.src = t, e.async = !0, r.current?.appendChild(e), () => {
12
+ return e.src = c, e.async = !0, r.current?.appendChild(e), () => {
12
13
  r.current && (r.current.innerHTML = "");
13
14
  };
14
- }, []), /* @__PURE__ */ n("div", { ref: r, className: a.wrapper });
15
+ }, []), /* @__PURE__ */ n("div", { className: t.container, children: /* @__PURE__ */ n("div", { ref: r, className: t.wrapper }) });
15
16
  }
16
17
  export {
17
18
  f as default