diy-template-components 5.13.0 → 5.14.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.
package/build/index.js CHANGED
@@ -363,7 +363,7 @@ const useSectionStyles$b = createUseStyles(theme => ({
363
363
  bottom: 0,
364
364
  left: 0,
365
365
  width: '100%',
366
- zIndex: '100'
366
+ zIndex: '10000'
367
367
  }
368
368
  },
369
369
  mobileAppNameClass: {
@@ -10928,7 +10928,7 @@ const SingleVideoSlide$1 = props => {
10928
10928
  currencySymbol
10929
10929
  } = props;
10930
10930
  const showCourseInstallmentData = data?.courseOverviewData;
10931
- const InstalmentData = isEdit ? data?.courseOverviewData?.installments?.formData?.installments[0].installmentAmount : data?.courseOverviewData?.installments?.formData?.installmentInfo?.installments[0].installmentPrice;
10931
+ const InstalmentData = isEdit ? data?.courseOverviewData?.installments?.formData?.installments[0].installmentAmount : data?.courseOverviewData?.installments?.formData?.installmentInfo?.installments?.[0]?.installmentPrice;
10932
10932
  const checkIfOfferIsValid = () => moment__default["default"]().diff(moment__default["default"](props?.data?.endDate || 0)) < 0;
10933
10933
  const checkForShowDiscount = () => {
10934
10934
  if (props.data.endDate === null || checkIfOfferIsValid()) {
@@ -13034,6 +13034,17 @@ const whatsAppIconSvgSize = {
13034
13034
  };
13035
13035
  const getWhatsAppIconSize = breakpoint => whatsAppIconSvgSize[breakpoint] ?? whatsAppIconSvgSize.mobile;
13036
13036
 
13037
+ /**
13038
+ * Height of the sticky bar (full-width CTA) by breakpoint for page padding.
13039
+ * Used to prevent content overlap when the sticky bar is fixed at the bottom.
13040
+ * Values match the sticky bar's padding + content height per breakpoint.
13041
+ */
13042
+ const STICKY_BAR_HEIGHT_BY_BREAKPOINT = {
13043
+ mobile: 0,
13044
+ tablet: 78,
13045
+ desktop: 82
13046
+ };
13047
+
13037
13048
  const DEFAULT_WHATSAPP_ICON_COLOR = '#25D366';
13038
13049
 
13039
13050
  /** Build WhatsApp wa.me URL from phone number (digits only, optional + prefix). */
@@ -13215,7 +13226,30 @@ function StickyCta({
13215
13226
  // type === 'sticky' – use primary Button (same as other sections) linking to WhatsApp
13216
13227
  const barStyle = getStickyBarStyle(breakpoint, theme);
13217
13228
  const textStyle = getStickyTextStyle(breakpoint, theme);
13218
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, isMobile ? null : editHintBlock, /*#__PURE__*/React__default["default"].createElement("div", {
13229
+ React.useEffect(() => {
13230
+ document.body.classList.add('has-sticky-cta');
13231
+ return () => document.body.classList.remove('has-sticky-cta');
13232
+ }, []);
13233
+ const stickyBarPaddingStyles = `
13234
+ body.has-sticky-cta {
13235
+ padding-bottom: ${STICKY_BAR_HEIGHT_BY_BREAKPOINT.mobile}px;
13236
+ }
13237
+ @media (min-width: ${BREAKPOINTS.tablet}px) {
13238
+ body.has-sticky-cta {
13239
+ padding-bottom: ${STICKY_BAR_HEIGHT_BY_BREAKPOINT.tablet}px;
13240
+ }
13241
+ }
13242
+ @media (min-width: ${BREAKPOINTS.desktop}px) {
13243
+ body.has-sticky-cta {
13244
+ padding-bottom: ${STICKY_BAR_HEIGHT_BY_BREAKPOINT.desktop}px;
13245
+ }
13246
+ }
13247
+ `;
13248
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("style", {
13249
+ dangerouslySetInnerHTML: {
13250
+ __html: stickyBarPaddingStyles
13251
+ }
13252
+ }), isMobile ? null : editHintBlock, /*#__PURE__*/React__default["default"].createElement("div", {
13219
13253
  style: barStyle,
13220
13254
  role: "banner",
13221
13255
  "access-cta-sticky": "DIY"
@@ -13792,7 +13826,13 @@ function VideoWorkshopPromotion({
13792
13826
  ref: videoData?.videoTextContent?.metadata?.refSetter,
13793
13827
  data: videoData?.videoTextContent?.metadata,
13794
13828
  type: 'primary',
13795
- size: isMobile ? 'small' : 'medium'
13829
+ size: isMobile ? 'small' : 'medium',
13830
+ onClick: () => {
13831
+ const url = videoData?.videoTextHeading?.metadata?.value;
13832
+ if (url) {
13833
+ window.open(url, '_blank', 'noopener,noreferrer');
13834
+ }
13835
+ }
13796
13836
  }))), /*#__PURE__*/React__default["default"].createElement("div", {
13797
13837
  className: classes.videoBlock
13798
13838
  }, /*#__PURE__*/React__default["default"].createElement("div", {