diy-template-components 0.3.3 → 0.3.5

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/build/index.js CHANGED
@@ -2,15 +2,15 @@
2
2
 
3
3
 
4
4
 
5
- function ___$insertStyle(css) {
6
- if (!css || typeof window === 'undefined') {
7
- return;
8
- }
9
- const style = document.createElement('style');
10
- style.setAttribute('type', 'text/css');
11
- style.innerHTML = css;
12
- document.head.appendChild(style);
13
- return css;
5
+ function ___$insertStyle(css) {
6
+ if (!css || !window) {
7
+ return;
8
+ }
9
+ const style = document.createElement('style');
10
+ style.setAttribute('type', 'text/css');
11
+ style.innerHTML = css;
12
+ document.head.appendChild(style);
13
+ return css;
14
14
  }
15
15
 
16
16
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -2272,12 +2272,12 @@ const useSectionStyles$8 = createUseStyles(theme => ({
2272
2272
  imageContainer: {
2273
2273
  width: '50%',
2274
2274
  position: 'relative',
2275
+ height: '90%',
2275
2276
  paddingBottom: ({
2276
2277
  isCustomWebsite
2277
2278
  }) => isCustomWebsite ? '35%' : '',
2278
2279
  '& img': {
2279
- height: '520px',
2280
- objectFit: 'cover'
2280
+ // objectFit: 'cover'
2281
2281
  }
2282
2282
  },
2283
2283
  subTitleHeading: {
@@ -2304,7 +2304,7 @@ const useSectionStyles$8 = createUseStyles(theme => ({
2304
2304
  sideBannerImage: {
2305
2305
  width: '100%',
2306
2306
  height: 'calc(100% - 100px)',
2307
- objectFit: 'cover',
2307
+ // objectFit: 'cover',
2308
2308
  objectPosition: '50% 50%'
2309
2309
  },
2310
2310
  absoluteButtonsBannerRight: {
@@ -2329,14 +2329,14 @@ const useSectionStyles$8 = createUseStyles(theme => ({
2329
2329
  },
2330
2330
  textContainer: {
2331
2331
  textAlign: 'center',
2332
- maxWidth: "100%"
2332
+ maxWidth: '100%'
2333
2333
  },
2334
2334
  linkButton: {
2335
2335
  padding: '12px 16px'
2336
2336
  },
2337
2337
  imageContainer: {
2338
2338
  height: 'undefined',
2339
- width: "100%",
2339
+ width: '100%',
2340
2340
  paddingBottom: ({
2341
2341
  isCustomWebsite
2342
2342
  }) => isCustomWebsite ? '100%' : 'unset'
@@ -4397,6 +4397,8 @@ function VideoTestimonial({
4397
4397
  layout: {
4398
4398
  containerWidth
4399
4399
  },
4400
+ countryCode,
4401
+ currencySymbol,
4400
4402
  isMobile
4401
4403
  } = React.useContext(PageContext);
4402
4404
  const classes = useVideoTestimonialStyles({
@@ -4428,7 +4430,9 @@ function VideoTestimonial({
4428
4430
  })), /*#__PURE__*/React__default["default"].createElement(Wrapper, null, videoData.videoCarousel.components.map((data, index) => /*#__PURE__*/React__default["default"].createElement(SingleVideoSlide$2, {
4429
4431
  data: data,
4430
4432
  key: index,
4431
- sectionIndex: sectionIndex
4433
+ sectionIndex: sectionIndex,
4434
+ countryCode: countryCode,
4435
+ currencySymbol: currencySymbol
4432
4436
  }))))));
4433
4437
  }
4434
4438
 
@@ -7337,7 +7341,9 @@ const SingleVideoSlide$1 = props => {
7337
7341
  const {
7338
7342
  data,
7339
7343
  webinarCtaClick,
7340
- conversions = 0
7344
+ conversions = 0,
7345
+ countryCode,
7346
+ currencySymbol
7341
7347
  } = props;
7342
7348
  const renderer = ({
7343
7349
  days,
@@ -7347,11 +7353,14 @@ const SingleVideoSlide$1 = props => {
7347
7353
  completed
7348
7354
  }) => {
7349
7355
  if (days === 0 && hours < 24) {
7356
+ if (countryCode === 'KR') {
7357
+ return /*#__PURE__*/React__default["default"].createElement("span", null, hours, " \uC2DC\uAC04 ", minutes, " \uBD84 ", seconds, "\uCD08");
7358
+ }
7350
7359
  return /*#__PURE__*/React__default["default"].createElement("span", null, hours, "h ", minutes, "m ", seconds, "s");
7351
7360
  } else {
7352
7361
  let given = moment__default["default"](props.data.offerPriceEndDate);
7353
7362
  let current = moment__default["default"]().startOf('day');
7354
- return /*#__PURE__*/React__default["default"].createElement("span", null, Math.floor(moment__default["default"].duration(given.diff(current)).asDays()), " day(s)");
7363
+ return /*#__PURE__*/React__default["default"].createElement("span", null, Math.floor(moment__default["default"].duration(given.diff(current)).asDays()), ' ', countryCode === 'KR' ? '날' : 'day(s)');
7355
7364
  }
7356
7365
  };
7357
7366
  const checkIfOfferIsValid = () => moment__default["default"]().diff(moment__default["default"](props.data.offerPriceEndDate)) < 0;
@@ -7383,6 +7392,44 @@ const SingleVideoSlide$1 = props => {
7383
7392
  return (discount / price * 100).toFixed(2);
7384
7393
  };
7385
7394
  const classes = useWebinarPromotionPage();
7395
+ const effectivePrice = formatCurrency(countryCode, data?.effectivePrice, currencySymbol);
7396
+ const renderHurryUpBannerText = () => {
7397
+ let count = data.offerPriceValidFor - conversions;
7398
+ if (countryCode === 'KR') {
7399
+ if (count > 1) {
7400
+ return `서두르세요! 현재 신청 가능 인원은 ${count}명 입니다.`;
7401
+ } else {
7402
+ return `서두르세요! ${count}명까지만 신청 가능이 가능합니다.`;
7403
+ }
7404
+ } else {
7405
+ return `Hurry up! Offer left for ${count} ${count > 1 ? 'users now' : 'user only'}`;
7406
+ }
7407
+ };
7408
+ const limitedPeriodOfferText = countryCode === 'KR' ? '기간 한정 딜이므로 서두르세요!' : 'Hurry up! Offer for limited period only';
7409
+ const renderOfferEndsInText = () => {
7410
+ if (countryCode === 'KR') {
7411
+ return /*#__PURE__*/React__default["default"].createElement("p", {
7412
+ className: classes.offerText
7413
+ }, /*#__PURE__*/React__default["default"].createElement("span", {
7414
+ className: classes.courseDetailTime
7415
+ }, /*#__PURE__*/React__default["default"].createElement(Countdown__default["default"], {
7416
+ renderer: renderer,
7417
+ date: data.offerPriceEndDate
7418
+ })), ' ', "\uD6C4\xA0\uC2E0\uCCAD\xA0\uB9C8\uAC10\xA0\uC608\uC815");
7419
+ } else {
7420
+ return /*#__PURE__*/React__default["default"].createElement("p", {
7421
+ className: classes.offerText
7422
+ }, "Offer Ends in", ' ', /*#__PURE__*/React__default["default"].createElement("span", {
7423
+ className: classes.courseDetailTime
7424
+ }, /*#__PURE__*/React__default["default"].createElement(Countdown__default["default"], {
7425
+ renderer: renderer,
7426
+ date: data.offerPriceEndDate
7427
+ })));
7428
+ }
7429
+ };
7430
+ const finalPrice = formatCurrency(countryCode, data?.price, currencySymbol);
7431
+ const buyNowText = countryCode === 'KR' ? '이 강좌를 수강하세요.' : 'BUY NOW';
7432
+ const registerNowText = countryCode === 'KR' ? '지금 신청하기' : 'REGISTER NOW';
7386
7433
  return /*#__PURE__*/React__default["default"].createElement("div", {
7387
7434
  className: classes.videoCarouselContainer
7388
7435
  }, /*#__PURE__*/React__default["default"].createElement("div", {
@@ -7395,11 +7442,11 @@ const SingleVideoSlide$1 = props => {
7395
7442
  className: classes.bannerContainer
7396
7443
  }, /*#__PURE__*/React__default["default"].createElement("div", {
7397
7444
  className: classes.bannerContainerText
7398
- }, "Hurry up! Offer left for", ' ', data.offerPriceValidFor - conversions, ' ', data.offerPriceValidFor - conversions > 1 ? 'users now' : 'user only')) : checkIfOfferIsValid() && data.offerPriceValidFor !== null ? data.offerPriceValidFor - conversions > 0 : /*#__PURE__*/React__default["default"].createElement("div", {
7445
+ }, renderHurryUpBannerText())) : checkIfOfferIsValid() && data.offerPriceValidFor !== null ? data.offerPriceValidFor - conversions > 0 : /*#__PURE__*/React__default["default"].createElement("div", {
7399
7446
  className: classes.bannerContainer
7400
7447
  }, /*#__PURE__*/React__default["default"].createElement("div", {
7401
7448
  className: classes.bannerContainerText
7402
- }, "Hurry up! Offer for limited period only"))), /*#__PURE__*/React__default["default"].createElement("h3", {
7449
+ }, limitedPeriodOfferText))), /*#__PURE__*/React__default["default"].createElement("h3", {
7403
7450
  ref: data?.videoTextHeading?.refSetter,
7404
7451
  className: classes.videoDetailsHeading,
7405
7452
  dangerouslySetInnerHTML: {
@@ -7439,14 +7486,7 @@ const SingleVideoSlide$1 = props => {
7439
7486
  }
7440
7487
  }))), /*#__PURE__*/React__default["default"].createElement("div", {
7441
7488
  className: classes.courseViewContainer
7442
- }, data.isPaid !== 0 && checkIfOfferIsValid() && (data.offerPriceValidFor !== null ? data.offerPriceValidFor - conversions > 0 : true) && /*#__PURE__*/React__default["default"].createElement("p", {
7443
- className: classes.offerText
7444
- }, "Offer Ends in", ' ', /*#__PURE__*/React__default["default"].createElement("span", {
7445
- className: classes.courseDetailTime
7446
- }, /*#__PURE__*/React__default["default"].createElement(Countdown__default["default"], {
7447
- renderer: renderer,
7448
- date: data.offerPriceEndDate
7449
- }))), /*#__PURE__*/React__default["default"].createElement("div", {
7489
+ }, data.isPaid !== 0 && checkIfOfferIsValid() && (data.offerPriceValidFor !== null ? data.offerPriceValidFor - conversions > 0 : true) && renderOfferEndsInText(), /*#__PURE__*/React__default["default"].createElement("div", {
7450
7490
  ref: data?.videoFrame?.refSetter,
7451
7491
  className: classes.iframeContainer
7452
7492
  }, /*#__PURE__*/React__default["default"].createElement(VideoPlayer, {
@@ -7463,13 +7503,13 @@ const SingleVideoSlide$1 = props => {
7463
7503
  className: classes.priceContainer
7464
7504
  }, /*#__PURE__*/React__default["default"].createElement("div", {
7465
7505
  className: classes.offerPrice
7466
- }, "\u20B9", data?.effectivePrice), checkForShowDiscount() && (data.offerPriceEndDate ? checkIfOfferIsValid() : true) && /*#__PURE__*/React__default["default"].createElement("p", {
7506
+ }, effectivePrice), checkForShowDiscount() && (data.offerPriceEndDate ? checkIfOfferIsValid() : true) && /*#__PURE__*/React__default["default"].createElement("p", {
7467
7507
  style: {
7468
7508
  fontSize: '20px'
7469
7509
  }
7470
7510
  }, /*#__PURE__*/React__default["default"].createElement("span", {
7471
7511
  className: classes.originalPrice
7472
- }, "\u20B9", data?.price), ' ', /*#__PURE__*/React__default["default"].createElement("span", {
7512
+ }, finalPrice), ' ', /*#__PURE__*/React__default["default"].createElement("span", {
7473
7513
  className: classes.offerDiscount
7474
7514
  }, `${data && discount(data)}%`))) : null, /*#__PURE__*/React__default["default"].createElement("div", {
7475
7515
  className: classes.webinarButtonContainer
@@ -7481,7 +7521,7 @@ const SingleVideoSlide$1 = props => {
7481
7521
  data: {
7482
7522
  // link: 'headerData?.loginCtaLink',
7483
7523
  // isLink: 1,
7484
- value: data.isPaid ? 'BUY NOW' : 'REGISTER NOW'
7524
+ value: data.isPaid ? buyNowText : registerNowText
7485
7525
  // isExternal: 1
7486
7526
  },
7487
7527
 
@@ -7499,10 +7539,12 @@ function CoursePromotionPage$1({
7499
7539
  sectionIndex
7500
7540
  }) {
7501
7541
  const {
7502
- isMobile,
7503
7542
  layout: {
7504
7543
  containerWidth
7505
- }
7544
+ },
7545
+ countryCode,
7546
+ currencySymbol,
7547
+ isMobile
7506
7548
  } = React.useContext(PageContext);
7507
7549
  const classes = useWebinarPromotionPage({
7508
7550
  containerWidth,
@@ -7518,7 +7560,9 @@ function CoursePromotionPage$1({
7518
7560
  data: sectionData.components[0].metadata,
7519
7561
  webinarCtaClick: extraProps.webinarCtaClick,
7520
7562
  conversions: extraProps.conversions,
7521
- sectionIndex: sectionIndex
7563
+ sectionIndex: sectionIndex,
7564
+ countryCode: countryCode,
7565
+ currencySymbol: currencySymbol
7522
7566
  }))));
7523
7567
  }
7524
7568
 
@@ -7838,18 +7882,23 @@ const SingleVideoSlide = props => {
7838
7882
  completed
7839
7883
  }) => {
7840
7884
  if (days === 0 && hours < 24) {
7885
+ if (countryCode === 'KR') {
7886
+ return /*#__PURE__*/React__default["default"].createElement("span", null, hours, " \uC2DC\uAC04 ", minutes, " \uBD84 ", seconds, "\uCD08");
7887
+ }
7841
7888
  return /*#__PURE__*/React__default["default"].createElement("span", null, hours, "h ", minutes, "m ", seconds, "s");
7842
7889
  } else {
7843
7890
  let given = moment__default["default"](props.data.endDate);
7844
7891
  let current = moment__default["default"]().startOf('day');
7845
- return /*#__PURE__*/React__default["default"].createElement("span", null, Math.floor(moment__default["default"].duration(given.diff(current)).asDays()), " day(s)");
7892
+ return /*#__PURE__*/React__default["default"].createElement("span", null, Math.floor(moment__default["default"].duration(given.diff(current)).asDays()), ' ', countryCode === 'KR' ? '날' : 'day(s)');
7846
7893
  }
7847
7894
  };
7848
7895
  const {
7849
7896
  data,
7850
7897
  courseBuyNow,
7851
7898
  conversions = 20,
7852
- showCourseInstallment
7899
+ showCourseInstallment,
7900
+ countryCode,
7901
+ currencySymbol
7853
7902
  } = props;
7854
7903
  const showCourseInstallmentData = data?.courseOverviewData;
7855
7904
  const InstalmentData = isEdit ? data?.courseOverviewData?.installments?.formData?.installments[0].installmentAmount : data?.courseOverviewData?.installments?.formData?.installmentInfo?.installments[0].installmentPrice;
@@ -7882,6 +7931,34 @@ const SingleVideoSlide = props => {
7882
7931
  }) => {
7883
7932
  return (discount / price * 100).toFixed(2);
7884
7933
  };
7934
+ const renderHurryUpBannerText = () => {
7935
+ return countryCode === 'KR' ? `서두르세요! 현재 신청 가능 인원은 ${data.offerPriceValidFor - conversions}명 입니다.` : `Hurry up! Offer left for ${data.offerPriceValidFor - conversions} users now`;
7936
+ };
7937
+ const limitedPeriodOfferText = countryCode === 'KR' ? `기간 한정 딜이므로 서두르세요!` : 'Hurry up! Offer for limited period only';
7938
+ const renderOfferEndsInText = () => {
7939
+ if (countryCode === 'KR') {
7940
+ return /*#__PURE__*/React__default["default"].createElement("p", {
7941
+ className: classes.offerText
7942
+ }, /*#__PURE__*/React__default["default"].createElement("span", {
7943
+ className: classes.courseDetailTime
7944
+ }, /*#__PURE__*/React__default["default"].createElement(Countdown__default["default"], {
7945
+ renderer: renderer,
7946
+ date: data.endDate
7947
+ })), ' ', "\uD6C4\xA0\uC2E0\uCCAD\xA0\uB9C8\uAC10\xA0\uC608\uC815");
7948
+ } else {
7949
+ return /*#__PURE__*/React__default["default"].createElement("p", {
7950
+ className: classes.offerText
7951
+ }, "Offer Ends in", ' ', /*#__PURE__*/React__default["default"].createElement("span", {
7952
+ className: classes.courseDetailTime
7953
+ }, /*#__PURE__*/React__default["default"].createElement(Countdown__default["default"], {
7954
+ renderer: renderer,
7955
+ date: data.endDate
7956
+ })));
7957
+ }
7958
+ };
7959
+ const effectivePrice = formatCurrency(countryCode, data?.effectivePrice, currencySymbol);
7960
+ const finalPrice = formatCurrency(countryCode, data?.price, currencySymbol);
7961
+ const buyNowText = countryCode === 'KR' ? '이 강좌를 수강하세요.' : 'BUY NOW';
7885
7962
  return /*#__PURE__*/React__default["default"].createElement("div", {
7886
7963
  className: classes.videoCarouselContainer
7887
7964
  }, /*#__PURE__*/React__default["default"].createElement("div", {
@@ -7894,11 +7971,11 @@ const SingleVideoSlide = props => {
7894
7971
  className: classes.bannerContainer
7895
7972
  }, /*#__PURE__*/React__default["default"].createElement("div", {
7896
7973
  className: classes.bannerContainerText
7897
- }, "Hurry up! Offer left for", ' ', data.offerPriceValidFor - conversions, " users now")) : checkIfOfferIsValid() && /*#__PURE__*/React__default["default"].createElement("div", {
7974
+ }, renderHurryUpBannerText())) : checkIfOfferIsValid() && /*#__PURE__*/React__default["default"].createElement("div", {
7898
7975
  className: classes.bannerContainer
7899
7976
  }, /*#__PURE__*/React__default["default"].createElement("div", {
7900
7977
  className: classes.bannerContainerText
7901
- }, "Hurry up! Offer for limited period only"))), /*#__PURE__*/React__default["default"].createElement("div", {
7978
+ }, limitedPeriodOfferText))), /*#__PURE__*/React__default["default"].createElement("div", {
7902
7979
  className: classes.emblemContainer
7903
7980
  }, data?.courseOverviewData?.courseTagList.length && data?.courseOverviewData?.courseTagList?.map(data => {
7904
7981
  return /*#__PURE__*/React__default["default"].createElement("div", {
@@ -7963,14 +8040,7 @@ const SingleVideoSlide = props => {
7963
8040
  }
7964
8041
  }, /*#__PURE__*/React__default["default"].createElement("div", {
7965
8042
  className: classes.courseViewContainer
7966
- }, checkIfOfferIsValid() && (data.offerPriceValidFor !== null ? data.offerPriceValidFor - conversions > 0 : true) && /*#__PURE__*/React__default["default"].createElement("p", {
7967
- className: classes.offerText
7968
- }, "Offer Ends in", ' ', /*#__PURE__*/React__default["default"].createElement("span", {
7969
- className: classes.courseDetailTime
7970
- }, /*#__PURE__*/React__default["default"].createElement(Countdown__default["default"], {
7971
- renderer: renderer,
7972
- date: data.endDate
7973
- }))), /*#__PURE__*/React__default["default"].createElement("div", {
8043
+ }, checkIfOfferIsValid() && (data.offerPriceValidFor !== null ? data.offerPriceValidFor - conversions > 0 : true) && renderOfferEndsInText(), /*#__PURE__*/React__default["default"].createElement("div", {
7974
8044
  ref: data?.videoFrame?.refSetter,
7975
8045
  className: classes.iframeContainer
7976
8046
  }, /*#__PURE__*/React__default["default"].createElement(VideoPlayer, {
@@ -7984,14 +8054,14 @@ const SingleVideoSlide = props => {
7984
8054
  className: classes.priceContainer
7985
8055
  }, /*#__PURE__*/React__default["default"].createElement("div", {
7986
8056
  className: classes.offerPrice
7987
- }, "\u20B9 ", data.effectivePrice), checkForShowDiscount() && (data.endDate ? checkIfOfferIsValid() : true) && /*#__PURE__*/React__default["default"].createElement("p", {
8057
+ }, effectivePrice), checkForShowDiscount() && (data.endDate ? checkIfOfferIsValid() : true) && /*#__PURE__*/React__default["default"].createElement("p", {
7988
8058
  style: {
7989
8059
  // fontSize: '20px',
7990
8060
  marginTop: '0px'
7991
8061
  }
7992
8062
  }, /*#__PURE__*/React__default["default"].createElement("span", {
7993
8063
  className: classes.originalPrice
7994
- }, "\u20B9 ", data.price), ' ', /*#__PURE__*/React__default["default"].createElement("span", {
8064
+ }, finalPrice), ' ', /*#__PURE__*/React__default["default"].createElement("span", {
7995
8065
  className: classes.offerDiscount
7996
8066
  }, `${data && discount(data)}%`))), /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement(Button, {
7997
8067
  style: {
@@ -8000,7 +8070,7 @@ const SingleVideoSlide = props => {
8000
8070
  data: {
8001
8071
  // link: 'headerData?.loginCtaLink',
8002
8072
  // isLink: 1,
8003
- value: 'BUY NOW'
8073
+ value: buyNowText
8004
8074
  // isExternal: 1
8005
8075
  },
8006
8076
 
@@ -8036,10 +8106,12 @@ function CoursePromotionPage({
8036
8106
  sectionIndex
8037
8107
  }) {
8038
8108
  const {
8039
- isMobile,
8040
8109
  layout: {
8041
8110
  containerWidth
8042
- }
8111
+ },
8112
+ countryCode,
8113
+ currencySymbol,
8114
+ isMobile
8043
8115
  } = React.useContext(PageContext);
8044
8116
  const classes = useCoursePromotionPage({
8045
8117
  containerWidth,
@@ -8056,7 +8128,9 @@ function CoursePromotionPage({
8056
8128
  courseBuyNow: extraProps.courseBuyNow,
8057
8129
  showCourseInstallment: extraProps.showCourseInstallment,
8058
8130
  conversions: extraProps.conversions,
8059
- sectionIndex: sectionIndex
8131
+ sectionIndex: sectionIndex,
8132
+ countryCode: countryCode,
8133
+ currencySymbol: currencySymbol
8060
8134
  }))));
8061
8135
  }
8062
8136