@windstream/react-shared-components 0.2.16 → 0.2.18

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.
@@ -21,14 +21,18 @@ export const PrimaryHero: React.FC<PrimaryHeroProps> = props => {
21
21
  checklist,
22
22
  renderCheckPlans,
23
23
  badgeImage,
24
+ pricingDescription,
24
25
  pricingDescriptionDisclaimer,
25
26
  secondaryCta,
26
27
  secondaryCtaPrefix,
27
28
  onModalButtonClick,
28
29
  hideOnMobileCta1,
30
+ textColor = "light",
31
+ logoLockup,
29
32
  } = props;
30
33
 
31
34
  const bottomLinkLabel = bottomLink?.buttonLabel ?? bottomLink?.label;
35
+ const textColorClass = textColor === "light" ? " text-white" : " text-text";
32
36
  return (
33
37
  <div className="component-container p-5 xl:flex xl:min-h-[724px] xl:items-center xl:p-0 xl:py-4">
34
38
  <div
@@ -37,7 +41,11 @@ export const PrimaryHero: React.FC<PrimaryHeroProps> = props => {
37
41
  )}
38
42
  >
39
43
  {/* Left column: navy background, headline, body, address, button, link */}
40
- <div className={cx("relative flex flex-col text-white sm:w-[485px]")}>
44
+ <div
45
+ className={cx(
46
+ `relative flex flex-col ${textColorClass} sm:w-[485px]`
47
+ )}
48
+ >
41
49
  <div className="flex flex-col gap-5 lg:gap-6">
42
50
  {title && (
43
51
  <Text
@@ -81,10 +89,25 @@ export const PrimaryHero: React.FC<PrimaryHeroProps> = props => {
81
89
  </div>
82
90
  ) : null}
83
91
 
92
+ {pricingDescription ? (
93
+ <Text
94
+ data-cy="hero-pricing-disclaimer"
95
+ className={cx("text-left sm:text-center xl:text-left")}
96
+ >
97
+ {pricingDescription}
98
+ </Text>
99
+ ) : null}
100
+
101
+ {pricingDescriptionDisclaimer ? (
102
+ <Text data-cy="hero-pricing-disclaimer" as="p" className="body3">
103
+ {pricingDescriptionDisclaimer}
104
+ </Text>
105
+ ) : null}
106
+
84
107
  {/* checklist */}
85
108
  {checklist && (
86
109
  <Checklist
87
- listItemClassName="body2 text-white text-left"
110
+ listItemClassName={`body2 text-left ${textColorClass}`}
88
111
  items={checklist.map(item =>
89
112
  item.iconUrl
90
113
  ? { title: item.title, iconUrl: item.iconUrl }
@@ -93,6 +116,20 @@ export const PrimaryHero: React.FC<PrimaryHeroProps> = props => {
93
116
  />
94
117
  )}
95
118
 
119
+ {logoLockup ? (
120
+ <div className="text-left sm:text-center xl:mb-0 xl:text-left">
121
+ <NextImage
122
+ src={logoLockup}
123
+ alt={"Logo Lockup"}
124
+ className="inline-block"
125
+ width={201}
126
+ height={24}
127
+ quality={90}
128
+ loading="eager"
129
+ />
130
+ </div>
131
+ ) : null}
132
+
96
133
  {/* CTA section */}
97
134
  <div className="flex flex-col gap-3">
98
135
  {/* desktop CTA */}
@@ -107,7 +144,7 @@ export const PrimaryHero: React.FC<PrimaryHeroProps> = props => {
107
144
  />
108
145
  </div>
109
146
  )}
110
- {secondaryCtaPrefix || secondaryCta ? (
147
+ {secondaryCtaPrefix && secondaryCta ? (
111
148
  <div className="hidden md:flex">
112
149
  {secondaryCtaPrefix && (
113
150
  <Text as="span" className="body2 mr-1">
@@ -116,7 +153,7 @@ export const PrimaryHero: React.FC<PrimaryHeroProps> = props => {
116
153
  )}
117
154
  {secondaryCta && (
118
155
  <Button
119
- linkClassName="body2 text-text-inverse"
156
+ linkClassName={`body2 ${textColorClass}`}
120
157
  onModalButtonClick={onModalButtonClick}
121
158
  {...secondaryCta}
122
159
  />
@@ -129,17 +166,11 @@ export const PrimaryHero: React.FC<PrimaryHeroProps> = props => {
129
166
  <div className="hidden md:block">
130
167
  <Button
131
168
  {...bottomLink}
132
- linkClassName="text-footnote text-white"
169
+ linkClassName={`text-footnote ${textColorClass}`}
133
170
  onModalButtonClick={onModalButtonClick}
134
171
  />
135
172
  </div>
136
173
  )}
137
-
138
- {pricingDescriptionDisclaimer ? (
139
- <Text as="p" className="body3 hidden md:block">
140
- {pricingDescriptionDisclaimer}
141
- </Text>
142
- ) : null}
143
174
  </div>
144
175
  </div>
145
176
  </div>
@@ -177,19 +208,15 @@ export const PrimaryHero: React.FC<PrimaryHeroProps> = props => {
177
208
  <Button
178
209
  {...bottomLink}
179
210
  onModalButtonClick={onModalButtonClick}
180
- linkClassName="body3 text-white"
211
+ linkClassName={`body3 ${textColorClass}`}
181
212
  />
182
213
  </div>
183
214
  )}
184
215
 
185
- {pricingDescriptionDisclaimer ? (
186
- <Text as="p" className="body3 md:hidden">
187
- {pricingDescriptionDisclaimer}
188
- </Text>
189
- ) : null}
190
-
191
216
  {secondaryCtaPrefix || secondaryCta ? (
192
- <div className="flex flex-wrap items-center text-white md:hidden">
217
+ <div
218
+ className={`flex flex-wrap items-center ${textColorClass} md:hidden`}
219
+ >
193
220
  {secondaryCtaPrefix && (
194
221
  <Text as="span" className="body2 mr-1">
195
222
  {secondaryCtaPrefix}
@@ -199,7 +226,7 @@ export const PrimaryHero: React.FC<PrimaryHeroProps> = props => {
199
226
  <Button
200
227
  {...secondaryCta}
201
228
  onModalButtonClick={onModalButtonClick}
202
- linkClassName="text-white"
229
+ linkClassName={`${textColorClass}`}
203
230
  />
204
231
  )}
205
232
  </div>
@@ -30,7 +30,7 @@ export type PrimaryHeroProps = {
30
30
  carouselImages?: string[];
31
31
  squareImage?: boolean;
32
32
  badgeImage?: string;
33
- textColor?: string;
33
+ textColor?: "light" | "dark";
34
34
  maxWidth?: boolean;
35
35
  renderCheckPlans?: (overrides?: CheckPlansProps) => React.ReactNode;
36
36
  onModalButtonClick?: (id?: string) => void;