@codecademy/brand 3.6.0-alpha.351a8c5fe3.0 → 3.6.0-alpha.63c16a9e8d.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.
@@ -119,64 +119,136 @@ export const SkillPathsPanel = ({
119
119
  })
120
120
  });
121
121
  };
122
- const providers = ['AWS', 'Microsoft', 'Google', 'COMPTIA', 'ISC2'];
122
+ const getCertificationProviderLogoUrl = fileName => `https://static-assets.codecademy.com/assets/certification-provider-logos/catalog-dropdown/${fileName}`;
123
+ const providers = [{
124
+ name: 'Microsoft',
125
+ logoUrl: getCertificationProviderLogoUrl('microsoft-2.svg'),
126
+ hubType: 'subhub'
127
+ }, {
128
+ name: 'CompTIA',
129
+ logoUrl: getCertificationProviderLogoUrl('comptia-1.svg'),
130
+ hubType: 'subhub'
131
+ }, {
132
+ name: 'ISC2',
133
+ logoUrl: getCertificationProviderLogoUrl('isc2-1.svg'),
134
+ hubType: 'subhub'
135
+ }, {
136
+ name: 'AWS',
137
+ logoUrl: getCertificationProviderLogoUrl('aws-2.svg'),
138
+ hubType: 'subhub'
139
+ }, {
140
+ name: 'Google',
141
+ logoUrl: getCertificationProviderLogoUrl('google-1.svg'),
142
+ hubType: 'certification-prep'
143
+ }, {
144
+ name: 'Cisco',
145
+ logoUrl: getCertificationProviderLogoUrl('cisco-2.svg'),
146
+ hubType: 'certification-prep'
147
+ }, {
148
+ name: 'IIBA',
149
+ logoUrl: getCertificationProviderLogoUrl('iiba-2.svg'),
150
+ hubType: 'certification-prep'
151
+ }, {
152
+ name: 'ISTQB',
153
+ logoUrl: getCertificationProviderLogoUrl('istqb-1.svg'),
154
+ hubType: 'certification-prep'
155
+ }, {
156
+ name: 'ISACA',
157
+ logoUrl: getCertificationProviderLogoUrl('isaca-1.svg'),
158
+ hubType: 'certification-prep'
159
+ }, {
160
+ name: 'Kubernetes',
161
+ logoUrl: getCertificationProviderLogoUrl('kubernetes-1.svg'),
162
+ hubType: 'certification-prep'
163
+ }, {
164
+ name: 'Oracle',
165
+ logoUrl: getCertificationProviderLogoUrl('oracle-1.svg'),
166
+ hubType: 'certification-prep'
167
+ }, {
168
+ name: 'Project Management Institute',
169
+ logoUrl: getCertificationProviderLogoUrl('pmi-1.svg'),
170
+ hubType: 'certification-prep'
171
+ }];
172
+ const Image = Box.withComponent('img', {
173
+ target: "eqfnvo0",
174
+ label: "Image"
175
+ });
123
176
  const ProviderChip = ({
124
- text,
177
+ name,
125
178
  href,
179
+ imgSrc,
126
180
  tabIndex
127
181
  }) => {
128
182
  return /*#__PURE__*/_jsx(Anchor, {
129
183
  href: href,
130
184
  variant: "interface",
131
185
  tabIndex: tabIndex,
132
- children: /*#__PURE__*/_jsx(FlexBox, {
133
- border: 1,
134
- borderColor: "border-secondary",
135
- borderRadius: "md",
136
- py: 1.5,
137
- px: 8,
138
- children: /*#__PURE__*/_jsx(Text, {
139
- children: text
186
+ width: "100%",
187
+ height: "100%",
188
+ display: "block",
189
+ children: /*#__PURE__*/_jsx(Card, {
190
+ borderColor: "border-tertiary",
191
+ borderRadius: "lg",
192
+ isInteractive: true,
193
+ width: "100%",
194
+ height: "100%",
195
+ p: 8,
196
+ children: /*#__PURE__*/_jsx(Image, {
197
+ src: imgSrc,
198
+ alt: name,
199
+ display: "block",
200
+ m: "auto",
201
+ height: 52
140
202
  })
141
203
  })
142
- }, text);
204
+ }, name);
143
205
  };
144
206
  export const CertificationPathsPanel = ({
145
207
  tabIndex = 0
146
208
  }) => {
147
209
  return /*#__PURE__*/_jsxs(PanelLayout, {
148
210
  heading: "Certification paths",
149
- description: "Get ready for certification exams with guided learning paths.",
211
+ description: "Prepare for top industry certifications with a guided path. Each one includes expert-reviewed lessons, hands-on projects, and practice tests to help you pass the exam.",
150
212
  linkItem: {
151
213
  type: 'link',
152
214
  href: '/catalog?type=certification-path',
153
- text: 'View all certification paths',
215
+ text: 'Explore all certification paths',
154
216
  trackingTarget: 'catalog-header-view-all-certification-paths',
155
217
  id: 'view-all-certification-paths'
156
218
  },
157
219
  tabIndex: tabIndex,
158
- children: [/*#__PURE__*/_jsxs(FlexBox, {
159
- gap: 8,
160
- children: [providers.map(provider => /*#__PURE__*/_jsx(ProviderChip, {
161
- text: provider,
162
- href: `/search?query=${provider} certifications`,
163
- tabIndex: tabIndex
164
- }, provider)), /*#__PURE__*/_jsx(ProviderChip, {
165
- text: "+ More providers",
166
- href: "/catalog/certification-prep",
167
- tabIndex: tabIndex
168
- }, "more-providers")]
220
+ children: [/*#__PURE__*/_jsx(Text, {
221
+ as: "h3",
222
+ fontSize: 18,
223
+ fontWeight: "bold",
224
+ children: "Providers"
169
225
  }), /*#__PURE__*/_jsx(GridBox, {
170
226
  gridTemplateColumns: {
171
227
  _: '1fr',
172
- md: 'repeat(3, 1fr)'
228
+ xs: 'repeat(2, 1fr)',
229
+ sm: 'repeat(3, 1fr)',
230
+ md: 'repeat(4, 1fr)'
173
231
  },
174
- gap: 16,
175
- children: Array.from({
176
- length: 6
177
- }).map((_, index) => /*#__PURE__*/_jsx(CareerPathCard, {
178
- tabIndex: tabIndex
179
- }, `${index}-card`))
232
+ gap: 24,
233
+ width: "100%",
234
+ as: "ul",
235
+ listStyle: "none",
236
+ p: 0,
237
+ m: 0,
238
+ children: providers.map(({
239
+ name,
240
+ logoUrl,
241
+ hubType
242
+ }) => /*#__PURE__*/_jsx(Box, {
243
+ as: "li",
244
+ width: "100%",
245
+ children: /*#__PURE__*/_jsx(ProviderChip, {
246
+ name: name,
247
+ href: hubType === 'subhub' ? `/search?query=${name} certifications` : `/catalog/certification-prep?provider=${name.toLowerCase()}`,
248
+ imgSrc: logoUrl,
249
+ tabIndex: tabIndex
250
+ })
251
+ }, name))
180
252
  })]
181
253
  });
182
254
  };
@@ -11,7 +11,7 @@ import { AppHeaderSubMenuRow } from '../AppHeaderSubMenuTarget';
11
11
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
12
12
  const isBusinessPageExperiment = isBlpHeroExperimentVariant => {
13
13
  if (typeof window === 'undefined') return false;
14
- return (window.location.pathname === '/business' || window.location.pathname === '/business/pricing') && isBlpHeroExperimentVariant;
14
+ return window.location.pathname === '/business' && isBlpHeroExperimentVariant;
15
15
  };
16
16
  export const AppHeaderMainMenuMobile = ({
17
17
  action,
@@ -1,7 +1,7 @@
1
1
  import { addPayment, bootcampCta, businessSolutions, catalogDropdown, communityDropdown, enterpriseLogo, freeProfile, liveLearningHub, loading, login, logo, myHome, myPercipioHome, pricingDropdown, proProfile, requestTeamsDemo, resourcesDropdown, signUp, signUpTextButton, simpleResourcesDropdown, tryProForFree, unpausePro, upgradePlan, upgradeToPro } from './GlobalHeaderItems';
2
2
  const isBusinessPage = isBlpHeroExperimentVariant => {
3
3
  if (typeof window === 'undefined') return false;
4
- return (window.location.pathname === '/business' || window.location.pathname === '/business/pricing') && Boolean(isBlpHeroExperimentVariant);
4
+ return window.location.pathname === '/business' && Boolean(isBlpHeroExperimentVariant);
5
5
  };
6
6
  const transformSimpleResourcesDropdownlabels = resourcesLabel => ({
7
7
  ...simpleResourcesDropdown,
@@ -1,14 +1,10 @@
1
- import React from 'react';
2
1
  import { Product } from '../types';
3
- import { AllCurrency } from './types';
4
- type PricingAmountProps = {
2
+ interface PricingAmountProps {
5
3
  product: Product;
6
4
  price: string;
5
+ isUserInIndia: boolean;
7
6
  monthlyPrice?: string;
8
- currency: AllCurrency;
9
7
  termMonths?: number;
10
- compact?: boolean;
11
- isUserInIndia: boolean;
12
- };
8
+ }
13
9
  export declare const PricingAmount: React.FC<PricingAmountProps>;
14
10
  export {};
@@ -1,115 +1,84 @@
1
1
  import _styled from "@emotion/styled/base";
2
2
  import { FlexBox, HiddenText, Text } from '@codecademy/gamut';
3
3
  import { theme } from '@codecademy/gamut-styles';
4
- import React from 'react';
5
4
  import { Product } from '../types';
6
- import { getCurrencySymbol } from './types';
7
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
5
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
+ const getCurrencySymbol = ({
7
+ isUserInIndia
8
+ }) => isUserInIndia ? '₹' : '$';
8
9
  const Amount = /*#__PURE__*/_styled(Text, {
9
10
  target: "e19mon8j0",
10
11
  label: "Amount"
11
- })("font-weight:bold;color:black;font-size:44px;line-height:64px;", theme.breakpoints.xl, "{font-size:64px;line-height:80px;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9QcmljaW5nU2VjdGlvbi9QcmljaW5nQ2FyZC9QcmljaW5nQW1vdW50LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRMkIiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL1ByaWNpbmdTZWN0aW9uL1ByaWNpbmdDYXJkL1ByaWNpbmdBbW91bnQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmxleEJveCwgSGlkZGVuVGV4dCwgVGV4dCB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0JztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtc3R5bGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IFByb2R1Y3QgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBBbGxDdXJyZW5jeSwgZ2V0Q3VycmVuY3lTeW1ib2wgfSBmcm9tICcuL3R5cGVzJztcblxuY29uc3QgQW1vdW50ID0gc3R5bGVkKFRleHQpYFxuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IGJsYWNrO1xuICBmb250LXNpemU6IDQ0cHg7XG4gIGxpbmUtaGVpZ2h0OiA2NHB4O1xuICAke3RoZW1lLmJyZWFrcG9pbnRzLnhsfSB7XG4gICAgZm9udC1zaXplOiA2NHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA4MHB4O1xuICB9XG5gO1xuXG50eXBlIFByaWNpbmdBbW91bnRQcm9wcyA9IHtcbiAgcHJvZHVjdDogUHJvZHVjdDtcbiAgcHJpY2U6IHN0cmluZztcbiAgbW9udGhseVByaWNlPzogc3RyaW5nO1xuICBjdXJyZW5jeTogQWxsQ3VycmVuY3k7XG4gIHRlcm1Nb250aHM/OiBudW1iZXI7XG4gIGNvbXBhY3Q/OiBib29sZWFuO1xuICBpc1VzZXJJbkluZGlhOiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IFByaWNpbmdBbW91bnQ6IFJlYWN0LkZDPFByaWNpbmdBbW91bnRQcm9wcz4gPSAoe1xuICBjdXJyZW5jeSxcbiAgbW9udGhseVByaWNlLFxuICBwcm9kdWN0LFxuICBwcmljZSxcbiAgdGVybU1vbnRocyxcbiAgY29tcGFjdCA9IGZhbHNlLFxuICBpc1VzZXJJbkluZGlhLFxufSkgPT4ge1xuICBjb25zdCBpc1RlYW1zID0gcHJvZHVjdCA9PT0gUHJvZHVjdC5UZWFtcztcblxuICBjb25zdCBjeWNsZSA9IHRlcm1Nb250aHMgPT09IDEgPyAnbW9udGhseScgOiAnYW5udWFsbHknO1xuICBjb25zdCBbZG9sbGFycywgY2VudHNdID0gcHJpY2Uuc3BsaXQoJy4nKTtcbiAgbGV0IGFyaWFMYWJlbCA9IGAke2dldEN1cnJlbmN5U3ltYm9sKGN1cnJlbmN5KX0ke2RvbGxhcnN9JHtcbiAgICBjZW50cyA/IGAuJHtjZW50c31gIDogJydcbiAgfWA7XG4gIGlmIChwcm9kdWN0ICE9PSBQcm9kdWN0LkJhc2ljKSB7XG4gICAgYXJpYUxhYmVsICs9IGAgYSBtb250aCwgYmlsbGVkICR7Y3ljbGV9YDtcbiAgICBpZiAobW9udGhseVByaWNlKSB7XG4gICAgICBhcmlhTGFiZWwgKz0gYCBvciAke2dldEN1cnJlbmN5U3ltYm9sKFxuICAgICAgICBjdXJyZW5jeVxuICAgICAgKX0ke21vbnRobHlQcmljZX0gYmlsbGVkIG1vbnRobHlgO1xuICAgIH1cbiAgfVxuICBpZiAoaXNUZWFtcykge1xuICAgIGFyaWFMYWJlbCArPSAnLCBwZXIgdXNlci4gRGlzY291bnRzIGF2YWlsYWJsZSBmb3IgZWxpZ2libGUgdGVhbXMnO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPEZsZXhCb3hcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJwcmljaW5nLWFtb3VudFwiXG4gICAgICAgIGxpbmVIZWlnaHQ9XCJ0aXRsZVwiXG4gICAgICAgIG1iPXtjb21wYWN0ID8gMCA6IDh9XG4gICAgICAgIGNvbHVtblxuICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgID5cbiAgICAgICAgPEhpZGRlblRleHQgZGF0YS10ZXN0aWQ9XCJwcmljaW5nLWFtb3VudC1sYWJlbFwiPnthcmlhTGFiZWx9PC9IaWRkZW5UZXh0PlxuICAgICAgICB7LyogZm9yIHNjcmVlbiByZWFkZXIgb3B0aW1pemF0aW9uICovfVxuICAgICAgICA8RmxleEJveFxuICAgICAgICAgIGFyaWEtaGlkZGVuXG4gICAgICAgICAgcm93XG4gICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgaGVpZ2h0PXt7IF86IDUwLCB4bDogJ3Vuc2V0JyB9fVxuICAgICAgICA+XG4gICAgICAgICAgPEZsZXhCb3ggbXI9ezR9IGFsaWduSXRlbXM9XCJzdGFydFwiPlxuICAgICAgICAgICAgPFRleHRcbiAgICAgICAgICAgICAgbXQ9e3sgXzogMTIsIHhsOiAxNiB9fVxuICAgICAgICAgICAgICBmb250V2VpZ2h0PVwiYm9sZFwiXG4gICAgICAgICAgICAgIGZvbnRTaXplPXszNH1cbiAgICAgICAgICAgID57YCR7Z2V0Q3VycmVuY3lTeW1ib2woY3VycmVuY3kpfWB9PC9UZXh0PlxuICAgICAgICAgICAgPEFtb3VudD57YCR7ZG9sbGFyc31gfTwvQW1vdW50PlxuICAgICAgICAgICAge3Byb2R1Y3QgPT09IFByb2R1Y3QuQmFzaWMgPyBudWxsIDogKFxuICAgICAgICAgICAgICA8RmxleEJveCBjb2x1bW4gYWxpZ25JdGVtcz1cImZsZXgtZW5kXCIgbWw9ezR9PlxuICAgICAgICAgICAgICAgIDxUZXh0IGZvbnRXZWlnaHQ9XCJib2xkXCIgZm9udFNpemU9ezIyfSBtdD17eyBfOiAxMiwgeGw6IDE2IH19PlxuICAgICAgICAgICAgICAgICAge2NlbnRzID8gYC4ke2NlbnRzfWAgOiA8c3Bhbj4mbmJzcDs8L3NwYW4+fVxuICAgICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgICAgICA8VGV4dCBtdD17eyBfOiAwLCB4bDogNCB9fSBjb2xvcj1cIm5hdnktNTAwXCI+XG4gICAgICAgICAgICAgICAgICAvbW9cbiAgICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgIDwvRmxleEJveD5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgICA8L0ZsZXhCb3g+XG4gICAgICAgIDxUZXh0IGNvbG9yPVwibmF2eS01MDBcIiBjZW50ZXIgbXQ9e2NvbXBhY3QgPyAwIDogeyBfOiA4LCB4bDogMCB9fT5cbiAgICAgICAgICB7cHJvZHVjdCA9PT0gUHJvZHVjdC5CYXNpYyA/IChcbiAgICAgICAgICAgIDxUZXh0IG1iPXsyNH0+QWx3YXlzIGZyZWU8L1RleHQ+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxUZXh0IG1iPXtjb21wYWN0ID8gMCA6IDh9IGFyaWEtaGlkZGVuPlxuICAgICAgICAgICAgICAgIHtpc1RlYW1zXG4gICAgICAgICAgICAgICAgICA/ICdQZXIgdXNlciwgYmlsbGVkIGFubnVhbGx5J1xuICAgICAgICAgICAgICAgICAgOiBpc1VzZXJJbkluZGlhXG4gICAgICAgICAgICAgICAgICA/IGBQZXIgbW9udGgsIHBhaWQgJHtjeWNsZX1gXG4gICAgICAgICAgICAgICAgICA6IGBCaWxsZWQgJHtjeWNsZX1gfVxuICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgICB7bW9udGhseVByaWNlICYmIChcbiAgICAgICAgICAgICAgICA8VGV4dCBhcmlhLWhpZGRlbj5cbiAgICAgICAgICAgICAgICAgIHtgb3IgJHtnZXRDdXJyZW5jeVN5bWJvbChjdXJyZW5jeSl9JHttb250aGx5UHJpY2V9ICR7XG4gICAgICAgICAgICAgICAgICAgIGlzVXNlckluSW5kaWEgPyAncGFpZCcgOiAnYmlsbGVkJ1xuICAgICAgICAgICAgICAgICAgfSBtb250aGx5YH1cbiAgICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHtpc1RlYW1zICYmIChcbiAgICAgICAgICAgICAgICA8VGV4dCBhcmlhLWhpZGRlbj5EaXNjb3VudHMgYXZhaWxhYmxlIGZvciBlbGlnaWJsZSB0ZWFtczwvVGV4dD5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvVGV4dD5cbiAgICAgIDwvRmxleEJveD5cbiAgICA8Lz5cbiAgKTtcbn07XG4iXX0= */"));
12
+ })("font-weight:bold;color:black;font-size:64px;line-height:64px;", theme.breakpoints.xl, "{font-size:64px;line-height:80px;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9QcmljaW5nU2VjdGlvbi9QcmljaW5nQ2FyZC9QcmljaW5nQW1vdW50LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTMkIiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL1ByaWNpbmdTZWN0aW9uL1ByaWNpbmdDYXJkL1ByaWNpbmdBbW91bnQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmxleEJveCwgSGlkZGVuVGV4dCwgVGV4dCB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0JztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtc3R5bGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcblxuaW1wb3J0IHsgUHJvZHVjdCB9IGZyb20gJy4uL3R5cGVzJztcblxuY29uc3QgZ2V0Q3VycmVuY3lTeW1ib2wgPSAoeyBpc1VzZXJJbkluZGlhIH06IHsgaXNVc2VySW5JbmRpYTogYm9vbGVhbiB9KSA9PlxuICBpc1VzZXJJbkluZGlhID8gJ+KCuScgOiAnJCc7XG5cbmNvbnN0IEFtb3VudCA9IHN0eWxlZChUZXh0KWBcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiBibGFjaztcbiAgZm9udC1zaXplOiA2NHB4O1xuICBsaW5lLWhlaWdodDogNjRweDtcbiAgJHt0aGVtZS5icmVha3BvaW50cy54bH0ge1xuICAgIGZvbnQtc2l6ZTogNjRweDtcbiAgICBsaW5lLWhlaWdodDogODBweDtcbiAgfVxuYDtcblxuaW50ZXJmYWNlIFByaWNpbmdBbW91bnRQcm9wcyB7XG4gIHByb2R1Y3Q6IFByb2R1Y3Q7XG4gIHByaWNlOiBzdHJpbmc7XG4gIGlzVXNlckluSW5kaWE6IGJvb2xlYW47XG4gIG1vbnRobHlQcmljZT86IHN0cmluZztcbiAgdGVybU1vbnRocz86IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IFByaWNpbmdBbW91bnQ6IFJlYWN0LkZDPFByaWNpbmdBbW91bnRQcm9wcz4gPSAoe1xuICBtb250aGx5UHJpY2UsXG4gIHByb2R1Y3QsXG4gIHByaWNlLFxuICBpc1VzZXJJbkluZGlhLFxuICB0ZXJtTW9udGhzLFxufSkgPT4ge1xuICBjb25zdCBjeWNsZSA9IHRlcm1Nb250aHMgPT09IDEgPyAnbW9udGhseScgOiAnYW5udWFsbHknO1xuICBjb25zdCBbZG9sbGFycywgY2VudHNdID0gcHJpY2Uuc3BsaXQoJy4nKTtcbiAgY29uc3QgY3VycmVuY3lTeW1ib2wgPSBnZXRDdXJyZW5jeVN5bWJvbCh7IGlzVXNlckluSW5kaWEgfSk7XG5cbiAgbGV0IGFyaWFMYWJlbCA9IGAke2N1cnJlbmN5U3ltYm9sfSR7ZG9sbGFyc30ke2NlbnRzID8gYC4ke2NlbnRzfWAgOiAnJ31gO1xuXG4gIGlmIChwcm9kdWN0ICE9PSBQcm9kdWN0LkJhc2ljKSB7XG4gICAgYXJpYUxhYmVsICs9IGAgcGVyIG1vbnRoYDtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPEZsZXhCb3hcbiAgICAgIGRhdGEtdGVzdGlkPVwicHJpY2luZy1hbW91bnRcIlxuICAgICAgbGluZUhlaWdodD1cInRpdGxlXCJcbiAgICAgIG1iPXs4fVxuICAgICAgY29sdW1uXG4gICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICA+XG4gICAgICA8RmxleEJveCBtcj17NH0gYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICA8SGlkZGVuVGV4dD57YXJpYUxhYmVsfTwvSGlkZGVuVGV4dD5cbiAgICAgICAgPFRleHQgZm9udFdlaWdodD1cImJvbGRcIiBmb250U2l6ZT17MzR9IGFyaWEtaGlkZGVuPlxuICAgICAgICAgIHtjdXJyZW5jeVN5bWJvbH1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgICA8QW1vdW50IGFyaWEtaGlkZGVuPntgJHtkb2xsYXJzfWB9PC9BbW91bnQ+XG4gICAgICAgIHtwcm9kdWN0ID09PSBQcm9kdWN0LkJhc2ljID8gbnVsbCA6IChcbiAgICAgICAgICA8RmxleEJveCBjb2x1bW4gbWw9ezR9IGFyaWEtaGlkZGVuPlxuICAgICAgICAgICAgPFRleHQgZm9udFdlaWdodD1cImJvbGRcIiBmb250U2l6ZT17MjJ9PlxuICAgICAgICAgICAgICB7Y2VudHMgPyBgLiR7Y2VudHN9YCA6IDxzcGFuPiZuYnNwOzwvc3Bhbj59XG4gICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICA8VGV4dCBjb2xvcj1cInRleHQtc2Vjb25kYXJ5XCI+L21vPC9UZXh0PlxuICAgICAgICAgIDwvRmxleEJveD5cbiAgICAgICAgKX1cbiAgICAgIDwvRmxleEJveD5cbiAgICAgIDxUZXh0IGNvbG9yPVwidGV4dC1zZWNvbmRhcnlcIiBjZW50ZXIgbXQ9e3sgXzogOCwgeGw6IDAgfX0+XG4gICAgICAgIHtwcm9kdWN0ID09PSBQcm9kdWN0LkJhc2ljID8gKFxuICAgICAgICAgIDxUZXh0IG1iPXsyNH0+QWx3YXlzIGZyZWU8L1RleHQ+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPEZsZXhCb3ggY29sdW1uPlxuICAgICAgICAgICAgPFRleHQgbWI9ezh9PntgQmlsbGVkICR7Y3ljbGV9IG9yYH08L1RleHQ+XG4gICAgICAgICAgICB7bW9udGhseVByaWNlICYmIChcbiAgICAgICAgICAgICAgPFRleHQ+e2Ake2N1cnJlbmN5U3ltYm9sfSR7bW9udGhseVByaWNlfSBiaWxsZWQgbW9udGhseWB9PC9UZXh0PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L0ZsZXhCb3g+XG4gICAgICAgICl9XG4gICAgICA8L1RleHQ+XG4gICAgPC9GbGV4Qm94PlxuICApO1xufTtcbiJdfQ== */"));
12
13
  export const PricingAmount = ({
13
- currency,
14
14
  monthlyPrice,
15
15
  product,
16
16
  price,
17
- termMonths,
18
- compact = false,
19
- isUserInIndia
17
+ isUserInIndia,
18
+ termMonths
20
19
  }) => {
21
- const isTeams = product === Product.Teams;
22
20
  const cycle = termMonths === 1 ? 'monthly' : 'annually';
23
21
  const [dollars, cents] = price.split('.');
24
- let ariaLabel = `${getCurrencySymbol(currency)}${dollars}${cents ? `.${cents}` : ''}`;
22
+ const currencySymbol = getCurrencySymbol({
23
+ isUserInIndia
24
+ });
25
+ let ariaLabel = `${currencySymbol}${dollars}${cents ? `.${cents}` : ''}`;
25
26
  if (product !== Product.Basic) {
26
- ariaLabel += ` a month, billed ${cycle}`;
27
- if (monthlyPrice) {
28
- ariaLabel += ` or ${getCurrencySymbol(currency)}${monthlyPrice} billed monthly`;
29
- }
30
- }
31
- if (isTeams) {
32
- ariaLabel += ', per user. Discounts available for eligible teams';
27
+ ariaLabel += ` per month`;
33
28
  }
34
- return /*#__PURE__*/_jsx(_Fragment, {
35
- children: /*#__PURE__*/_jsxs(FlexBox, {
36
- "data-testid": "pricing-amount",
37
- lineHeight: "title",
38
- mb: compact ? 0 : 8,
39
- column: true,
29
+ return /*#__PURE__*/_jsxs(FlexBox, {
30
+ "data-testid": "pricing-amount",
31
+ lineHeight: "title",
32
+ mb: 8,
33
+ column: true,
34
+ alignItems: "center",
35
+ children: [/*#__PURE__*/_jsxs(FlexBox, {
36
+ mr: 4,
40
37
  alignItems: "center",
41
38
  children: [/*#__PURE__*/_jsx(HiddenText, {
42
- "data-testid": "pricing-amount-label",
43
39
  children: ariaLabel
44
- }), /*#__PURE__*/_jsx(FlexBox, {
45
- "aria-hidden": true,
46
- row: true,
47
- alignItems: "center",
48
- height: {
49
- _: 50,
50
- xl: 'unset'
51
- },
52
- children: /*#__PURE__*/_jsxs(FlexBox, {
53
- mr: 4,
54
- alignItems: "start",
55
- children: [/*#__PURE__*/_jsx(Text, {
56
- mt: {
57
- _: 12,
58
- xl: 16
59
- },
60
- fontWeight: "bold",
61
- fontSize: 34,
62
- children: `${getCurrencySymbol(currency)}`
63
- }), /*#__PURE__*/_jsx(Amount, {
64
- children: `${dollars}`
65
- }), product === Product.Basic ? null : /*#__PURE__*/_jsxs(FlexBox, {
66
- column: true,
67
- alignItems: "flex-end",
68
- ml: 4,
69
- children: [/*#__PURE__*/_jsx(Text, {
70
- fontWeight: "bold",
71
- fontSize: 22,
72
- mt: {
73
- _: 12,
74
- xl: 16
75
- },
76
- children: cents ? `.${cents}` : /*#__PURE__*/_jsx("span", {
77
- children: "\xA0"
78
- })
79
- }), /*#__PURE__*/_jsx(Text, {
80
- mt: {
81
- _: 0,
82
- xl: 4
83
- },
84
- color: "navy-500",
85
- children: "/mo"
86
- })]
87
- })]
88
- })
89
40
  }), /*#__PURE__*/_jsx(Text, {
90
- color: "navy-500",
91
- center: true,
92
- mt: compact ? 0 : {
93
- _: 8,
94
- xl: 0
95
- },
96
- children: product === Product.Basic ? /*#__PURE__*/_jsx(Text, {
97
- mb: 24,
98
- children: "Always free"
99
- }) : /*#__PURE__*/_jsxs(_Fragment, {
100
- children: [/*#__PURE__*/_jsx(Text, {
101
- mb: compact ? 0 : 8,
102
- "aria-hidden": true,
103
- children: isTeams ? 'Per user, billed annually' : isUserInIndia ? `Per month, paid ${cycle}` : `Billed ${cycle}`
104
- }), /*#__PURE__*/_jsx("br", {}), monthlyPrice && /*#__PURE__*/_jsx(Text, {
105
- "aria-hidden": true,
106
- children: `or ${getCurrencySymbol(currency)}${monthlyPrice} ${isUserInIndia ? 'paid' : 'billed'} monthly`
107
- }), isTeams && /*#__PURE__*/_jsx(Text, {
108
- "aria-hidden": true,
109
- children: "Discounts available for eligible teams"
110
- })]
111
- })
41
+ fontWeight: "bold",
42
+ fontSize: 34,
43
+ "aria-hidden": true,
44
+ children: currencySymbol
45
+ }), /*#__PURE__*/_jsx(Amount, {
46
+ "aria-hidden": true,
47
+ children: `${dollars}`
48
+ }), product === Product.Basic ? null : /*#__PURE__*/_jsxs(FlexBox, {
49
+ column: true,
50
+ ml: 4,
51
+ "aria-hidden": true,
52
+ children: [/*#__PURE__*/_jsx(Text, {
53
+ fontWeight: "bold",
54
+ fontSize: 22,
55
+ children: cents ? `.${cents}` : /*#__PURE__*/_jsx("span", {
56
+ children: "\xA0"
57
+ })
58
+ }), /*#__PURE__*/_jsx(Text, {
59
+ color: "text-secondary",
60
+ children: "/mo"
61
+ })]
112
62
  })]
113
- })
63
+ }), /*#__PURE__*/_jsx(Text, {
64
+ color: "text-secondary",
65
+ center: true,
66
+ mt: {
67
+ _: 8,
68
+ xl: 0
69
+ },
70
+ children: product === Product.Basic ? /*#__PURE__*/_jsx(Text, {
71
+ mb: 24,
72
+ children: "Always free"
73
+ }) : /*#__PURE__*/_jsxs(FlexBox, {
74
+ column: true,
75
+ children: [/*#__PURE__*/_jsx(Text, {
76
+ mb: 8,
77
+ children: `Billed ${cycle} or`
78
+ }), monthlyPrice && /*#__PURE__*/_jsx(Text, {
79
+ children: `${currencySymbol}${monthlyPrice} billed monthly`
80
+ })]
81
+ })
82
+ })]
114
83
  });
115
84
  };
@@ -75,20 +75,6 @@ export const planDetails = {
75
75
  isLite: true,
76
76
  features: getFeatures(['Basic access to free courses', 'Community support', 'Learning resources', 'Real-world projects', 'All courses', 'Skill paths', 'Certificates of completion'])
77
77
  },
78
- teams: {
79
- id: 'teams',
80
- title: 'Teams',
81
- tag: 'Recommended for 2+',
82
- isLite: false,
83
- features: getFeatures()
84
- },
85
- enterprise: {
86
- id: 'enterprise',
87
- title: 'Enterprise',
88
- tag: 'Recommended for 25+',
89
- isLite: false,
90
- features: getFeatures()
91
- },
92
78
  free: {
93
79
  id: 'free',
94
80
  title: 'Pro',
@@ -1,12 +1,12 @@
1
1
  import { PlansByType } from '../config';
2
- import { Product, ProductDetails, User } from '../types';
3
- import { AllCurrency } from './types';
2
+ import { CopyConfig, CtaConfig, Product, ProductDetails } from '../types';
4
3
  export declare const smSize = 728;
5
- export declare const PricingCard: ({ product, productDetails, currency, plansByType, isUserInIndia, user, }: {
4
+ export declare const PricingCard: React.FC<{
6
5
  product: Product;
7
6
  productDetails: ProductDetails;
8
- currency: AllCurrency;
9
7
  plansByType: PlansByType;
10
8
  isUserInIndia: boolean;
11
- user: User;
12
- }) => import("react/jsx-runtime").JSX.Element;
9
+ isCurrentPlan?: boolean;
10
+ ctaConfig?: CtaConfig[keyof CtaConfig];
11
+ copyConfig?: CopyConfig[keyof CopyConfig];
12
+ }>;