diy-template-components 0.2.68 → 0.2.70

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 });
@@ -2083,7 +2083,9 @@ function PageRenderer$1({
2083
2083
  isTutorWebsite = false,
2084
2084
  extraProps,
2085
2085
  hideLogin,
2086
- isCustomWebsite
2086
+ isCustomWebsite,
2087
+ countryCode,
2088
+ currencySymbol
2087
2089
  }) {
2088
2090
  const theme = React.useMemo(() => getTheme(color, font), [color, font]);
2089
2091
  const navList = header?.navs;
@@ -2104,8 +2106,10 @@ function PageRenderer$1({
2104
2106
  extraProps,
2105
2107
  hideLogin,
2106
2108
  isCustomWebsite,
2107
- _id
2108
- }), [isMobile, isLandingPages, layout, baseURLs, hashToken, isPreview, isEdit, templateId, navList, isMasterTemplate, basePath, validations, isTutorWebsite, extraProps, hideLogin, _id]);
2109
+ _id,
2110
+ countryCode,
2111
+ currencySymbol
2112
+ }), [isMobile, isLandingPages, layout, baseURLs, hashToken, isPreview, isEdit, templateId, navList, isMasterTemplate, basePath, validations, isTutorWebsite, extraProps, hideLogin, _id, countryCode, currencySymbol]);
2109
2113
  const Wrapper = SectionWrapper || React.Fragment;
2110
2114
  return /*#__PURE__*/React__default["default"].createElement(ThemeProvider, {
2111
2115
  theme: theme
@@ -2818,7 +2822,7 @@ var index$k = /*#__PURE__*/Object.freeze({
2818
2822
  const useSectionStyles$6 = createUseStyles(theme => ({
2819
2823
  bannerCarouselCenterSection: {
2820
2824
  width: '100%',
2821
- height: '100%',
2825
+ // height: '100%',
2822
2826
  textAlign: 'center',
2823
2827
  position: 'relative',
2824
2828
  '&, & *, & *:before, & *:after': {
@@ -2852,7 +2856,7 @@ const useSectionStyles$6 = createUseStyles(theme => ({
2852
2856
  // height: '100%',
2853
2857
  // display: 'flex',
2854
2858
  // alignItems: 'center'
2855
- height: '100%',
2859
+ // height: '100%',
2856
2860
  display: 'flex',
2857
2861
  /* padding: 100px 0; */
2858
2862
  alignItems: 'center'
@@ -2923,9 +2927,10 @@ const useSectionStyles$6 = createUseStyles(theme => ({
2923
2927
  textContainer: {
2924
2928
  padding: '20px 20px',
2925
2929
  height: '100%',
2926
- width: '100%',
2927
- backgroundColor: theme?.palette?.background?.primary
2930
+ width: '100%'
2931
+ // backgroundColor: theme?.palette?.background?.primary
2928
2932
  },
2933
+
2929
2934
  subTitleHeading: {
2930
2935
  color: theme?.palette?.font?.tertiary
2931
2936
  },
@@ -2979,34 +2984,34 @@ const Section$3 = ({
2979
2984
  className: classes.contentContainer
2980
2985
  }, /*#__PURE__*/React__default["default"].createElement("div", {
2981
2986
  className: classes.sectionContainer
2982
- }, /*#__PURE__*/React__default["default"].createElement("div", {
2987
+ }, !(nodeData.cardHeading.metadata.value === '<br>' && nodeData.title.metadata.value === '<br>' && nodeData.description.metadata.value === '<br>' && nodeData?.cta?.metadata?.value === '') ? /*#__PURE__*/React__default["default"].createElement("div", {
2983
2988
  className: classes.textContainer
2984
- }, /*#__PURE__*/React__default["default"].createElement("div", {
2989
+ }, nodeData.cardHeading.metadata.value !== '<br>' ? /*#__PURE__*/React__default["default"].createElement("div", {
2985
2990
  className: classes.subTitleHeading
2986
2991
  }, /*#__PURE__*/React__default["default"].createElement("span", {
2987
2992
  ref: nodeData?.cardHeading?.refSetter,
2988
2993
  dangerouslySetInnerHTML: {
2989
2994
  __html: nodeData.cardHeading.metadata.value
2990
2995
  }
2991
- })), /*#__PURE__*/React__default["default"].createElement("h2", {
2996
+ })) : null, nodeData.title.metadata.value !== '<br>' ? /*#__PURE__*/React__default["default"].createElement("h2", {
2992
2997
  className: classes.heading
2993
2998
  }, /*#__PURE__*/React__default["default"].createElement("span", {
2994
2999
  ref: nodeData?.title?.refSetter,
2995
3000
  dangerouslySetInnerHTML: {
2996
3001
  __html: nodeData.title.metadata.value
2997
3002
  }
2998
- })), /*#__PURE__*/React__default["default"].createElement("p", {
3003
+ })) : null, nodeData.description.metadata.value !== '<br>' ? /*#__PURE__*/React__default["default"].createElement("p", {
2999
3004
  ref: nodeData?.description?.refSetter,
3000
3005
  className: classes.description,
3001
3006
  dangerouslySetInnerHTML: {
3002
3007
  __html: nodeData.description.metadata.value
3003
3008
  }
3004
- }), nodeData?.cta?.validations?.isEmptyAllowed && nodeData?.cta?.metadata?.value === '' ? null : /*#__PURE__*/React__default["default"].createElement(Button, {
3009
+ }) : null, nodeData?.cta?.validations?.isEmptyAllowed && nodeData?.cta?.metadata?.value === '' ? null : /*#__PURE__*/React__default["default"].createElement(Button, {
3005
3010
  ref: nodeData?.cta?.refSetter,
3006
3011
  data: nodeData.cta.metadata,
3007
3012
  type: nodeData?.cta?.metadata?.type,
3008
3013
  size: isMobile ? 'small' : 'medium'
3009
- }))), /*#__PURE__*/React__default["default"].createElement("div", {
3014
+ })) : null), /*#__PURE__*/React__default["default"].createElement("div", {
3010
3015
  className: classes?.centerBgImageContainer
3011
3016
  }, /*#__PURE__*/React__default["default"].createElement(NextImageRenderer, {
3012
3017
  src: nodeData.image.metadata.value,
@@ -5475,7 +5480,11 @@ const useCourseStyles = createUseStyles(theme => {
5475
5480
  },
5476
5481
  courseCardImgThumbnail: {
5477
5482
  borderTopLeftRadius: theme?.shape?.borderRadius?.regular,
5478
- borderTopRightRadius: theme?.shape?.borderRadius?.regular
5483
+ borderTopRightRadius: theme?.shape?.borderRadius?.regular,
5484
+ maxWidth: '100%',
5485
+ minHeight: '100%',
5486
+ maxHeight: '100%',
5487
+ minWidth: '100%'
5479
5488
  },
5480
5489
  courseCardData: {
5481
5490
  padding: '20px',
@@ -5656,8 +5665,61 @@ function getShortenedSubstring(name, length, allowDots = true) {
5656
5665
  return '';
5657
5666
  }
5658
5667
 
5668
+ const formatCurrency = (countryCode, value, currencySymbol) => {
5669
+ let formattedValue = Number(value);
5670
+ const getFormattedValue = (countryCode, currencySymbol, value) => {
5671
+ return new Intl.NumberFormat(countryCode, {
5672
+ // style: "currency",
5673
+ // currency: currency,
5674
+ minimumFractionDigits: 0,
5675
+ maximumFractionDigits: 0
5676
+ }).format(value);
5677
+ };
5678
+ const getFormattedFractionValue = (countryCode, currencySymbol, value) => {
5679
+ return new Intl.NumberFormat(countryCode, {
5680
+ minimumFractionDigits: 2,
5681
+ maximumFractionDigits: 2
5682
+ }).format(value);
5683
+ };
5684
+ let func = getFormattedValue;
5685
+ if (countryCode === 'IN' || countryCode === 'SG') {
5686
+ if (value % 1 !== 0) {
5687
+ func = getFormattedFractionValue;
5688
+ }
5689
+ }
5690
+
5691
+ // India
5692
+ if (countryCode === 'IN') {
5693
+ formattedValue = `₹ ${func('en-IN', 'INR', value)}`;
5694
+ }
5695
+ // Vietnam
5696
+ else if (countryCode === 'VI' || countryCode === 'VN') {
5697
+ if (currencySymbol === '$') {
5698
+ formattedValue = `$ ${func('en-US', 'USD', value)}`;
5699
+ } else {
5700
+ formattedValue = `${func('vi-VN', 'VND', value)} đ`;
5701
+ formattedValue = formattedValue.replace(/[.]/g, ',');
5702
+ }
5703
+ }
5704
+ // South Korea
5705
+ else if (countryCode === 'KR') {
5706
+ if (currencySymbol === '$') {
5707
+ formattedValue = `$ ${func('en-US', 'USD', value)}`;
5708
+ } else {
5709
+ formattedValue = `${func('ko-KR', 'KRW', value)} 원`;
5710
+ }
5711
+ }
5712
+ // Singapore
5713
+ else if (countryCode === 'SG') {
5714
+ formattedValue = `S$ ${func('en-SG', 'SGD', value)}`;
5715
+ }
5716
+ return formattedValue;
5717
+ };
5718
+
5659
5719
  function CourseCard({
5660
- card
5720
+ card,
5721
+ countryCode,
5722
+ currencySymbol
5661
5723
  }) {
5662
5724
  const classes = useCourseStyles();
5663
5725
  const {
@@ -5665,6 +5727,10 @@ function CourseCard({
5665
5727
  } = React.useContext(PageContext);
5666
5728
  const discount = parseInt((card?.price - card?.finalPrice) / card?.price * 100).toFixed(2);
5667
5729
  const defaultCardImg = 'https://cp-assets-public.s3.ap-south-1.amazonaws.com/cams/cards-icon/default_course.png';
5730
+ const price = formatCurrency(countryCode, card?.price, currencySymbol);
5731
+ const finalPrice = formatCurrency(countryCode, card?.finalPrice, currencySymbol);
5732
+ const buyNowText = countryCode === 'KR' ? '이 강좌를 수강하세요.' : 'Buy Now';
5733
+ const offText = countryCode === 'KR' ? '할인' : 'OFF';
5668
5734
  return /*#__PURE__*/React__default["default"].createElement("div", {
5669
5735
  className: classes.singleCard
5670
5736
  }, /*#__PURE__*/React__default["default"].createElement("div", {
@@ -5699,14 +5765,14 @@ function CourseCard({
5699
5765
  className: classes.courseCardPriceContainer
5700
5766
  }, /*#__PURE__*/React__default["default"].createElement("div", {
5701
5767
  className: classes.courseCardPrice
5702
- }, '₹', card?.finalPrice), card?.price !== card?.finalPrice ? /*#__PURE__*/React__default["default"].createElement("div", {
5768
+ }, finalPrice), card?.price !== card?.finalPrice ? /*#__PURE__*/React__default["default"].createElement("div", {
5703
5769
  className: classes.courseCardStrikePrice
5704
- }, /*#__PURE__*/React__default["default"].createElement("span", null, '₹', card?.price), ' ', discount > 0 && discount + '% OFF') : null), /*#__PURE__*/React__default["default"].createElement("a", {
5770
+ }, /*#__PURE__*/React__default["default"].createElement("span", null, price), " ", discount > 0 && discount + `% ${offText}`) : null), /*#__PURE__*/React__default["default"].createElement("a", {
5705
5771
  className: classes.coursesAnchorTag,
5706
5772
  href: isEdit ? null : card?.shareableLink
5707
5773
  }, /*#__PURE__*/React__default["default"].createElement("div", {
5708
5774
  className: classes.courseCardBuyBtn
5709
- }, "Buy Now")))));
5775
+ }, buyNowText)))));
5710
5776
  }
5711
5777
 
5712
5778
  function courses({
@@ -5720,7 +5786,9 @@ function courses({
5720
5786
  baseURLs,
5721
5787
  hashToken,
5722
5788
  isMasterTemplate,
5723
- isEdit
5789
+ isEdit,
5790
+ countryCode,
5791
+ currencySymbol
5724
5792
  } = React.useContext(PageContext);
5725
5793
  const [cardList, setCardList] = React.useState(null);
5726
5794
  const [errored, setErrored] = React.useState(false);
@@ -5810,7 +5878,9 @@ function courses({
5810
5878
  }
5811
5879
  })), !showShimmer ? /*#__PURE__*/React__default["default"].createElement(Wrapper, wrapperProps, cardList != null ? cardList?.map((card, index) => /*#__PURE__*/React__default["default"].createElement(CourseCard, {
5812
5880
  key: index,
5813
- card: card
5881
+ card: card,
5882
+ countryCode: countryCode,
5883
+ currencySymbol: currencySymbol
5814
5884
  })) : fallBackImages?.map((dt, ind) => {
5815
5885
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, {
5816
5886
  key: ind
@@ -7118,16 +7188,13 @@ const SingleVideoSlide$1 = props => {
7118
7188
  };
7119
7189
  const checkIfOfferIsValid = () => moment__default["default"]().diff(moment__default["default"](props.data.offerPriceEndDate)) < 0;
7120
7190
  const checkForShowDiscount = () => {
7121
- if (checkIfOfferIsValid() && data?.discount) {
7122
- return true;
7123
- }
7124
7191
  if (props.data.endDate === null || checkIfOfferIsValid()) {
7125
- if (data.discount > 0 && data.offerPriceValidFor === 0) {
7192
+ if (data.discount > 0 && data.offerPriceValidFor === null) {
7126
7193
  return true;
7127
- } else if (data.discount > 0 && data.offerPriceValidFor !== 0 && data.offerPriceValidFor - conversions <= 0) {
7194
+ } else if (data.discount > 0 && data.offerPriceValidFor !== null && data.offerPriceValidFor - conversions <= 0) {
7128
7195
  return false;
7129
7196
  }
7130
- } else if (data.offerPriceValidFor >= 0 && data.discount) {
7197
+ } else if (data.offerPriceValidFor >= null && data.discount) {
7131
7198
  if (data.offerPriceValidFor <= conversions) {
7132
7199
  return false;
7133
7200
  }
@@ -7156,11 +7223,11 @@ const SingleVideoSlide$1 = props => {
7156
7223
  className: classes.iframeSuperContainer
7157
7224
  }, /*#__PURE__*/React__default["default"].createElement("div", {
7158
7225
  className: classes.videoDetails
7159
- }, data?.isPaid !== 0 && (checkIfOfferIsValid() || data.offerPriceValidFor > 0) && /*#__PURE__*/React__default["default"].createElement("div", null, data.offerPriceValidFor - conversions > 0 && (data.offerPriceEndDate ? checkIfOfferIsValid() : true) ? /*#__PURE__*/React__default["default"].createElement("div", {
7226
+ }, data?.isPaid !== 0 && (checkIfOfferIsValid() || data.offerPriceValidFor > 0) && /*#__PURE__*/React__default["default"].createElement("div", null, data.offerPriceValidFor > conversions && (data.discount && data.offerPriceEndDate ? checkIfOfferIsValid() : true) ? /*#__PURE__*/React__default["default"].createElement("div", {
7160
7227
  className: classes.bannerContainer
7161
7228
  }, /*#__PURE__*/React__default["default"].createElement("div", {
7162
7229
  className: classes.bannerContainerText
7163
- }, "Hurry up! Offer left for", ' ', data.offerPriceValidFor - conversions, ' ', data.offerPriceValidFor - conversions > 1 ? 'users now' : 'user only')) : checkIfOfferIsValid() && /*#__PURE__*/React__default["default"].createElement("div", {
7230
+ }, "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", {
7164
7231
  className: classes.bannerContainer
7165
7232
  }, /*#__PURE__*/React__default["default"].createElement("div", {
7166
7233
  className: classes.bannerContainerText
@@ -7204,7 +7271,7 @@ const SingleVideoSlide$1 = props => {
7204
7271
  }
7205
7272
  }))), /*#__PURE__*/React__default["default"].createElement("div", {
7206
7273
  className: classes.courseViewContainer
7207
- }, data.isPaid !== 0 && checkIfOfferIsValid() && (data.offerPriceValidFor === 0 ? data.offerPriceValidFor - conversions > 0 : true) && /*#__PURE__*/React__default["default"].createElement("p", {
7274
+ }, data.isPaid !== 0 && checkIfOfferIsValid() && (data.offerPriceValidFor !== null ? data.offerPriceValidFor - conversions > 0 : true) && /*#__PURE__*/React__default["default"].createElement("p", {
7208
7275
  className: classes.offerText
7209
7276
  }, "Offer Ends in", ' ', /*#__PURE__*/React__default["default"].createElement("span", {
7210
7277
  className: classes.courseDetailTime
@@ -7610,12 +7677,12 @@ const SingleVideoSlide = props => {
7610
7677
  const checkIfOfferIsValid = () => moment__default["default"]().diff(moment__default["default"](props?.data?.endDate || 0)) < 0;
7611
7678
  const checkForShowDiscount = () => {
7612
7679
  if (props.data.endDate === null || checkIfOfferIsValid()) {
7613
- if (data.discount > 0 && data.offerPriceValidFor === 0) {
7680
+ if (data.discount > 0 && data.offerPriceValidFor === null) {
7614
7681
  return true;
7615
- } else if (data.discount > 0 && data.offerPriceValidFor !== 0 && data.offerPriceValidFor - conversions <= 0) {
7682
+ } else if (data.discount > 0 && data.offerPriceValidFor !== null && data.offerPriceValidFor - conversions <= 0) {
7616
7683
  return false;
7617
7684
  }
7618
- } else if (data.offerPriceValidFor >= 0 && data.discount) {
7685
+ } else if (data.offerPriceValidFor >= null && data.discount) {
7619
7686
  if (data.offerPriceValidFor <= conversions) {
7620
7687
  return false;
7621
7688
  }
@@ -7644,7 +7711,7 @@ const SingleVideoSlide = props => {
7644
7711
  className: classes.iframeSuperContainer
7645
7712
  }, /*#__PURE__*/React__default["default"].createElement("div", {
7646
7713
  className: classes.videoDetails
7647
- }, (checkIfOfferIsValid() || data.offerPriceValidFor > 0) && data.offerPriceValidFor > conversions && /*#__PURE__*/React__default["default"].createElement("div", null, data.offerPriceValidFor - conversions > 0 && data.discount && (data.endDate ? checkIfOfferIsValid() : true) ? /*#__PURE__*/React__default["default"].createElement("div", {
7714
+ }, (checkIfOfferIsValid() || data.offerPriceValidFor > 0) && (data.offerPriceValidFor > conversions || data.offerPriceValidFor === null) && /*#__PURE__*/React__default["default"].createElement("div", null, data.offerPriceValidFor - conversions > 0 && data.discount && (data.endDate ? checkIfOfferIsValid() : true) ? /*#__PURE__*/React__default["default"].createElement("div", {
7648
7715
  className: classes.bannerContainer
7649
7716
  }, /*#__PURE__*/React__default["default"].createElement("div", {
7650
7717
  className: classes.bannerContainerText
@@ -7717,7 +7784,7 @@ const SingleVideoSlide = props => {
7717
7784
  }
7718
7785
  }, /*#__PURE__*/React__default["default"].createElement("div", {
7719
7786
  className: classes.courseViewContainer
7720
- }, checkIfOfferIsValid() && (data.offerPriceValidFor !== 0 ? data.offerPriceValidFor - conversions > 0 : true) && /*#__PURE__*/React__default["default"].createElement("p", {
7787
+ }, checkIfOfferIsValid() && (data.offerPriceValidFor !== null ? data.offerPriceValidFor - conversions > 0 : true) && /*#__PURE__*/React__default["default"].createElement("p", {
7721
7788
  className: classes.offerText
7722
7789
  }, "Offer Ends in", ' ', /*#__PURE__*/React__default["default"].createElement("span", {
7723
7790
  className: classes.courseDetailTime
@@ -8840,6 +8907,8 @@ function PageRenderer({
8840
8907
  SectionWrapper,
8841
8908
  isMasterTemplate,
8842
8909
  basePath,
8910
+ countryCode,
8911
+ currencySymbol,
8843
8912
  isPreview,
8844
8913
  isEdit,
8845
8914
  sectionPlaceholder,
@@ -8867,8 +8936,10 @@ function PageRenderer({
8867
8936
  extraProps,
8868
8937
  hideLogin,
8869
8938
  isCustomWebsite,
8870
- _id
8871
- }), [isMobile, isLandingPages, layout, baseURLs, hashToken, isPreview, isEdit, templateId, navList, isMasterTemplate, basePath, validations, isTutorWebsite, extraProps, hideLogin, _id]);
8939
+ _id,
8940
+ countryCode,
8941
+ currencySymbol
8942
+ }), [isMobile, isLandingPages, layout, baseURLs, hashToken, isPreview, isEdit, templateId, navList, isMasterTemplate, basePath, validations, isTutorWebsite, extraProps, hideLogin, _id, countryCode, currencySymbol]);
8872
8943
  const Wrapper = SectionWrapper || React.Fragment;
8873
8944
  return /*#__PURE__*/React__default["default"].createElement(ThemeProvider, {
8874
8945
  theme: theme