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