@app-studio/web 0.9.61 → 0.9.63

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.
@@ -19075,7 +19075,9 @@ var useTitleState = props => {
19075
19075
  var updateAlternatingState = index => {
19076
19076
  var currentWordToHighlight = alternateHighlightText[index];
19077
19077
  // Replace the placeholder in the baseText with the current alternating word
19078
- var regex = new RegExp(placeholder, 'gi');
19078
+ // Escape regex special characters in placeholder to prevent errors
19079
+ var escapedPlaceholder = placeholder.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
19080
+ var regex = new RegExp(escapedPlaceholder, 'gi');
19079
19081
  var newContent = baseText.replace(regex, currentWordToHighlight);
19080
19082
  setFinalDisplayedText(newContent);
19081
19083
  setActiveHighlightTarget(currentWordToHighlight); // Set the current word as the highlight target
@@ -19120,20 +19122,16 @@ var ResponsiveTypography = {
19120
19122
  // xl maps to H1 - Largest heading
19121
19123
  xl: {
19122
19124
  fontWeight: 500,
19123
- marginBottom: 20,
19124
19125
  letterSpacing: 1.25,
19125
19126
  media: {
19126
19127
  mobile: {
19127
- fontSize: 42,
19128
- width: '100%'
19128
+ fontSize: 60
19129
19129
  },
19130
19130
  tablet: {
19131
- fontSize: 50,
19132
- width: '100%'
19131
+ fontSize: 60
19133
19132
  },
19134
19133
  desktop: {
19135
- fontSize: 58,
19136
- minWidth: '60%'
19134
+ fontSize: 96
19137
19135
  }
19138
19136
  }
19139
19137
  },
@@ -19142,13 +19140,13 @@ var ResponsiveTypography = {
19142
19140
  fontWeight: 500,
19143
19141
  media: {
19144
19142
  mobile: {
19145
- fontSize: 32
19143
+ fontSize: 48
19146
19144
  },
19147
19145
  tablet: {
19148
- fontSize: 40
19146
+ fontSize: 48
19149
19147
  },
19150
19148
  desktop: {
19151
- fontSize: 48
19149
+ fontSize: 70
19152
19150
  }
19153
19151
  }
19154
19152
  },
@@ -19157,13 +19155,13 @@ var ResponsiveTypography = {
19157
19155
  fontWeight: 500,
19158
19156
  media: {
19159
19157
  mobile: {
19160
- fontSize: 20
19158
+ fontSize: 32
19161
19159
  },
19162
19160
  tablet: {
19163
- fontSize: 30
19161
+ fontSize: 40
19164
19162
  },
19165
19163
  desktop: {
19166
- fontSize: 40
19164
+ fontSize: 56
19167
19165
  }
19168
19166
  }
19169
19167
  },
@@ -19173,10 +19171,10 @@ var ResponsiveTypography = {
19173
19171
  letterSpacing: -0.2,
19174
19172
  media: {
19175
19173
  mobile: {
19176
- fontSize: 16
19174
+ fontSize: 20
19177
19175
  },
19178
19176
  tablet: {
19179
- fontSize: 28
19177
+ fontSize: 24
19180
19178
  },
19181
19179
  desktop: {
19182
19180
  fontSize: 32
@@ -19189,13 +19187,13 @@ var ResponsiveTypography = {
19189
19187
  letterSpacing: -0.2,
19190
19188
  media: {
19191
19189
  mobile: {
19192
- fontSize: 12
19190
+ fontSize: 14
19193
19191
  },
19194
19192
  tablet: {
19195
19193
  fontSize: 18
19196
19194
  },
19197
19195
  desktop: {
19198
- fontSize: 24
19196
+ fontSize: 20
19199
19197
  }
19200
19198
  }
19201
19199
  }
@@ -19205,12 +19203,10 @@ var ResponsiveTypography = {
19205
19203
  */
19206
19204
  var HighlightStyles = {
19207
19205
  underline: color => ({
19208
- style: {
19209
- textDecoration: 'underline',
19210
- textDecorationColor: color,
19211
- textDecorationThickness: '4px',
19212
- textUnderlineOffset: '4px'
19213
- }
19206
+ textDecoration: 'underline',
19207
+ textDecorationColor: color,
19208
+ textDecorationThickness: '4px',
19209
+ textUnderlineOffset: '4px'
19214
19210
  }),
19215
19211
  background: color => ({
19216
19212
  backgroundColor: color,
@@ -19219,21 +19215,17 @@ var HighlightStyles = {
19219
19215
  borderRadius: '4px'
19220
19216
  }),
19221
19217
  gradient: (color, secondaryColor) => ({
19222
- style: {
19223
- background: "linear-gradient(135deg, " + color + ", " + (secondaryColor || color) + ")",
19224
- backgroundClip: 'text',
19225
- WebkitBackgroundClip: 'text',
19226
- WebkitTextFillColor: 'transparent'
19227
- },
19218
+ background: "linear-gradient(135deg, " + color + ", " + (secondaryColor || color) + ")",
19219
+ backgroundClip: 'text',
19220
+ WebkitBackgroundClip: 'text !important',
19221
+ WebkitTextFillColor: 'transparent',
19228
19222
  color: 'transparent',
19229
19223
  display: 'inline-block',
19230
19224
  textShadow: 'none'
19231
19225
  }),
19232
19226
  outline: color => ({
19233
- style: {
19234
- WebkitTextStroke: "1px " + color,
19235
- WebkitTextFillColor: 'transparent'
19236
- },
19227
+ WebkitTextStroke: "1px " + color,
19228
+ WebkitTextFillColor: 'transparent !important',
19237
19229
  color: 'transparent',
19238
19230
  textShadow: 'none'
19239
19231
  }),
@@ -19310,18 +19302,17 @@ var TypewriterEffect = _ref => {
19310
19302
  }, [textArray, currentTextIndex, charIndex, isComplete, onComplete, pauseTime, typingSpeed]);
19311
19303
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, displayedText.map((text, index) => (/*#__PURE__*/React__default.createElement(React__default.Fragment, {
19312
19304
  key: index
19313
- }, text, showCursor && index === currentTextIndex && !isComplete && (/*#__PURE__*/React__default.createElement(appStudio.Text, {
19305
+ }, text, showCursor && index === currentTextIndex && !isComplete && (/*#__PURE__*/React__default.createElement(appStudio.Text, Object.assign({
19314
19306
  as: "span",
19315
19307
  display: "inline-block",
19316
19308
  width: "0.1em",
19317
19309
  height: "1em",
19318
- backgroundColor: cursorColor,
19319
- style: Object.assign({
19320
- animation: 'blink 1s step-end infinite',
19321
- verticalAlign: 'text-bottom',
19322
- marginLeft: '1px'
19323
- }, textStyle)
19324
- }))))));
19310
+ backgroundColor: cursorColor
19311
+ }, Object.assign({
19312
+ animation: 'blink 1s step-end infinite',
19313
+ verticalAlign: 'text-bottom',
19314
+ marginLeft: '1px'
19315
+ }, textStyle))))))));
19325
19316
  };
19326
19317
 
19327
19318
  var _excluded$_ = ["text", "duration", "direction", "stagger", "sequential", "textStyle", "as", "wordProps"],
@@ -19497,9 +19488,7 @@ var SlideEffect = _ref => {
19497
19488
  key: animKey + "-" + index,
19498
19489
  as: "span",
19499
19490
  animate: wordAnimation
19500
- }, restWordProps, {
19501
- style: wordStyle
19502
- }), word);
19491
+ }, restWordProps, wordStyle), word);
19503
19492
  })));
19504
19493
  };
19505
19494
 
@@ -19536,15 +19525,32 @@ var TitleView = _ref => {
19536
19525
  } = appStudio.useInView();
19537
19526
  var {
19538
19527
  getColor,
19539
- themeMode
19528
+ themeMode,
19529
+ theme
19540
19530
  } = appStudio.useTheme();
19541
19531
  var currentThemeMode = elementMode || themeMode;
19542
19532
  var resolvedHighlightColor = getColor(highlightColor, {
19543
19533
  themeMode: currentThemeMode
19544
19534
  });
19535
+ // Fallback: If getColor returns the token itself (resolution failed), try manual lookup in theme object
19536
+ if (resolvedHighlightColor === highlightColor && highlightColor.startsWith('theme.') && theme) {
19537
+ var tokenPath = highlightColor.replace('theme.', '');
19538
+ var value = tokenPath.split('.').reduce((acc, part) => acc && acc[part], theme);
19539
+ if (typeof value === 'string') {
19540
+ resolvedHighlightColor = value;
19541
+ }
19542
+ }
19545
19543
  var resolvedHighlightSecondaryColor = highlightSecondaryColor ? getColor(highlightSecondaryColor, {
19546
19544
  themeMode: currentThemeMode
19547
19545
  }) : undefined;
19546
+ // Fallback for secondary color
19547
+ if (highlightSecondaryColor && resolvedHighlightSecondaryColor === highlightSecondaryColor && highlightSecondaryColor.startsWith('theme.') && theme) {
19548
+ var _tokenPath = highlightSecondaryColor.replace('theme.', '');
19549
+ var _value = _tokenPath.split('.').reduce((acc, part) => acc && acc[part], theme);
19550
+ if (typeof _value === 'string') {
19551
+ resolvedHighlightSecondaryColor = _value;
19552
+ }
19553
+ }
19548
19554
  var {
19549
19555
  finalDisplayedText,
19550
19556
  activeHighlightTarget,