@app-studio/web 0.8.91 → 0.8.92

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.
Files changed (30) hide show
  1. package/dist/components/Title/Title/Title.props.d.ts +26 -27
  2. package/dist/components/Title/Title/Title.state.d.ts +4 -118
  3. package/dist/components/Title/Title/Title.type.d.ts +1 -9
  4. package/dist/components/Title/Title/Title.view.d.ts +0 -5
  5. package/dist/components/Title/Title/TypewriterEffect.d.ts +17 -0
  6. package/dist/components/Title/examples/alternating.d.ts +1 -1
  7. package/dist/components/Title/examples/animated.d.ts +1 -1
  8. package/dist/components/Title/examples/custom.d.ts +1 -1
  9. package/dist/components/Title/examples/default.d.ts +1 -1
  10. package/dist/components/Title/examples/directAnimation.d.ts +1 -1
  11. package/dist/components/Title/examples/{gradientTest.d.ts → gradient.d.ts} +1 -1
  12. package/dist/components/Title/examples/hero.d.ts +1 -1
  13. package/dist/components/Title/examples/{highlightTest.d.ts → highlight.d.ts} +1 -1
  14. package/dist/components/Title/examples/highlightStyles.d.ts +5 -0
  15. package/dist/components/Title/examples/highlighted.d.ts +1 -1
  16. package/dist/components/Title/examples/index.d.ts +4 -2
  17. package/dist/components/Title/examples/responsive.d.ts +1 -1
  18. package/dist/components/Title/examples/typewriterHighlight.d.ts +5 -0
  19. package/dist/web.cjs.development.js +257 -371
  20. package/dist/web.cjs.development.js.map +1 -1
  21. package/dist/web.cjs.production.min.js +1 -1
  22. package/dist/web.cjs.production.min.js.map +1 -1
  23. package/dist/web.esm.js +257 -371
  24. package/dist/web.esm.js.map +1 -1
  25. package/dist/web.umd.development.js +257 -371
  26. package/dist/web.umd.development.js.map +1 -1
  27. package/dist/web.umd.production.min.js +1 -1
  28. package/dist/web.umd.production.min.js.map +1 -1
  29. package/package.json +2 -2
  30. package/dist/components/Title/examples/animationTest.d.ts +0 -5
@@ -13614,227 +13614,66 @@
13614
13614
  var Tabs = /*#__PURE__*/React__default.memo(TabsComponent);
13615
13615
 
13616
13616
  /**
13617
- * Custom hook for managing Title component state and animations
13617
+ * Custom hook for managing Title component state
13618
13618
  */
13619
13619
  var useTitleState = props => {
13620
13620
  var {
13621
- animation = 'none',
13622
- animationDirection = 'left',
13623
- animationDuration = '1s',
13624
- animationDelay = '0s',
13625
13621
  children,
13622
+ // Original children
13626
13623
  _isInView = false,
13627
13624
  alternateHighlightText = [],
13628
13625
  alternateAnimation = false,
13626
+ // Default to false as per prop definition
13629
13627
  alternateDuration = 3000,
13630
- highlightText
13628
+ highlightText: initialHighlightText,
13629
+ // Renamed to avoid confusion with the dynamic target
13630
+ highlightTypewriter = false,
13631
+ highlightTypewriterDuration = 1500
13631
13632
  } = props;
13632
- // State for typewriter animation
13633
- var [displayText, setDisplayText] = React.useState('');
13634
- // State for alternating highlight text
13635
- var [currentHighlightText, setCurrentHighlightText] = React.useState(highlightText);
13636
- // State for the alternating text content
13637
- var [alternatingContent, setAlternatingContent] = React.useState(children);
13633
+ // State for the final text to be displayed (could be original children or alternating text)
13634
+ var [finalDisplayedText, setFinalDisplayedText] = React.useState(children);
13635
+ // State for the text that should be actively highlighted (could be initialHighlightText or a word from alternateHighlightText)
13636
+ var [activeHighlightTarget, setActiveHighlightTarget] = React.useState(initialHighlightText);
13637
+ // We don't need state for typewriter text anymore as we're using the TypewriterEffect component
13638
13638
  // Handle alternating highlight text animation
13639
13639
  React.useEffect(() => {
13640
- // Initialize with the provided highlightText
13641
- setCurrentHighlightText(highlightText);
13642
- // If not using alternating animation or no alternateHighlightText provided, return early
13643
- if (!alternateAnimation || alternateHighlightText.length === 0 || !_isInView) {
13640
+ // If not using alternating animation or conditions not met, reset to initial/non-alternating state
13641
+ if (!alternateAnimation || alternateHighlightText.length === 0 || !_isInView || typeof children !== 'string' ||
13642
+ // Base text must be a string for replacement
13643
+ typeof initialHighlightText !== 'string' // Placeholder must be a string
13644
+ ) {
13645
+ setFinalDisplayedText(children);
13646
+ setActiveHighlightTarget(initialHighlightText);
13644
13647
  return () => {};
13645
13648
  }
13646
- // Only proceed if children is a string
13647
- if (typeof children !== 'string') {
13648
- return () => {};
13649
- }
13650
- // Set initial content with the first alternating text
13649
+ // Proceed with alternating animation
13651
13650
  var baseText = children;
13651
+ var placeholder = initialHighlightText;
13652
13652
  var currentIndex = 0;
13653
- // Function to update the content with the current alternating text
13654
- var updateContent = index => {
13655
- if (highlightText && typeof highlightText === 'string') {
13656
- // Replace the highlightText with the current alternating text
13657
- var regex = new RegExp(highlightText, 'gi');
13658
- var newContent = baseText.replace(regex, alternateHighlightText[index]);
13659
- setAlternatingContent(newContent);
13660
- }
13653
+ // Function to update the state for alternating text
13654
+ var updateAlternatingState = index => {
13655
+ var currentWordToHighlight = alternateHighlightText[index];
13656
+ // Replace the placeholder in the baseText with the current alternating word
13657
+ var regex = new RegExp(placeholder, 'gi');
13658
+ var newContent = baseText.replace(regex, currentWordToHighlight);
13659
+ setFinalDisplayedText(newContent);
13660
+ setActiveHighlightTarget(currentWordToHighlight); // Set the current word as the highlight target
13661
13661
  };
13662
- // Set initial content
13663
- updateContent(currentIndex);
13662
+ // Set initial alternating state
13663
+ updateAlternatingState(currentIndex);
13664
13664
  // Create interval to cycle through the alternateHighlightText array
13665
13665
  var interval = setInterval(() => {
13666
13666
  currentIndex = (currentIndex + 1) % alternateHighlightText.length;
13667
- updateContent(currentIndex);
13667
+ updateAlternatingState(currentIndex);
13668
13668
  }, alternateDuration);
13669
13669
  return () => clearInterval(interval);
13670
- }, [alternateAnimation, alternateHighlightText, alternateDuration, highlightText, children, _isInView]);
13671
- // Handle typewriter animation
13672
- React.useEffect(() => {
13673
- // Only start the typewriter animation when the component is in view
13674
- if (animation === 'typewriter' && typeof children === 'string' && _isInView) {
13675
- var text = children;
13676
- var currentIndex = 0;
13677
- setDisplayText('');
13678
- var interval = setInterval(() => {
13679
- if (currentIndex <= text.length) {
13680
- setDisplayText(text.substring(0, currentIndex));
13681
- currentIndex++;
13682
- } else {
13683
- clearInterval(interval);
13684
- }
13685
- }, 100);
13686
- return () => clearInterval(interval);
13687
- }
13688
- // Reset the text if not in view
13689
- if (animation === 'typewriter' && !_isInView) {
13690
- setDisplayText('');
13691
- }
13692
- return () => {};
13693
- }, [animation, children, _isInView]);
13694
- // Get animation configuration based on animation type
13695
- var getAnimation = () => {
13696
- // For typewriter animation, we handle it separately with useState and useEffect
13697
- if (animation === 'typewriter') {
13698
- return undefined;
13699
- }
13700
- switch (animation) {
13701
- case 'fadeIn':
13702
- return {
13703
- from: {
13704
- opacity: 0
13705
- },
13706
- to: {
13707
- opacity: 1
13708
- },
13709
- duration: animationDuration,
13710
- delay: animationDelay,
13711
- // iterationCount: 'infinite',
13712
- direction: 'alternate'
13713
- };
13714
- case 'slideIn':
13715
- switch (animationDirection) {
13716
- case 'left':
13717
- return {
13718
- from: {
13719
- transform: 'translateX(-100%)'
13720
- },
13721
- to: {
13722
- transform: 'translateX(0)'
13723
- },
13724
- duration: animationDuration,
13725
- delay: animationDelay,
13726
- // iterationCount: 'infinite',
13727
- direction: 'alternate'
13728
- };
13729
- case 'right':
13730
- return {
13731
- from: {
13732
- transform: 'translateX(100%)'
13733
- },
13734
- to: {
13735
- transform: 'translateX(0)'
13736
- },
13737
- duration: animationDuration,
13738
- delay: animationDelay,
13739
- // iterationCount: 'infinite',
13740
- direction: 'alternate'
13741
- };
13742
- case 'top':
13743
- return {
13744
- from: {
13745
- transform: 'translateY(-100%)'
13746
- },
13747
- to: {
13748
- transform: 'translateY(0)'
13749
- },
13750
- duration: animationDuration,
13751
- delay: animationDelay,
13752
- // iterationCount: 'infinite',
13753
- direction: 'alternate'
13754
- };
13755
- case 'bottom':
13756
- return {
13757
- from: {
13758
- transform: 'translateY(100%)'
13759
- },
13760
- to: {
13761
- transform: 'translateY(0)'
13762
- },
13763
- duration: animationDuration,
13764
- delay: animationDelay,
13765
- // iterationCount: 'infinite',
13766
- direction: 'alternate'
13767
- };
13768
- default:
13769
- return {
13770
- from: {
13771
- transform: 'translateX(-100%)'
13772
- },
13773
- to: {
13774
- transform: 'translateX(0)'
13775
- },
13776
- duration: animationDuration,
13777
- delay: animationDelay,
13778
- // iterationCount: 'infinite',
13779
- direction: 'alternate'
13780
- };
13781
- }
13782
- case 'bounce':
13783
- return {
13784
- from: {
13785
- transform: 'translateY(0)'
13786
- },
13787
- '20%': {
13788
- transform: 'translateY(-30px)'
13789
- },
13790
- '40%': {
13791
- transform: 'translateY(0)'
13792
- },
13793
- '60%': {
13794
- transform: 'translateY(-15px)'
13795
- },
13796
- '80%': {
13797
- transform: 'translateY(0)'
13798
- },
13799
- to: {
13800
- transform: 'translateY(0)'
13801
- },
13802
- duration: animationDuration,
13803
- delay: animationDelay,
13804
- iterationCount: '1'
13805
- };
13806
- case 'highlight':
13807
- return {
13808
- from: {
13809
- backgroundSize: '0 100%'
13810
- },
13811
- to: {
13812
- backgroundSize: '100% 100%'
13813
- },
13814
- duration: animationDuration,
13815
- delay: animationDelay
13816
- };
13817
- case 'reveal':
13818
- return {
13819
- from: {
13820
- clipPath: 'polygon(0 0, 0 0, 0 100%, 0% 100%)'
13821
- },
13822
- to: {
13823
- clipPath: 'polygon(0 0, 100% 0, 100% 100%, 0 100%)'
13824
- },
13825
- duration: animationDuration,
13826
- delay: animationDelay
13827
- };
13828
- case 'none':
13829
- default:
13830
- return undefined;
13831
- }
13832
- };
13670
+ }, [alternateAnimation, alternateHighlightText, alternateDuration, initialHighlightText, children, _isInView]);
13671
+ // We don't need a separate effect for typewriter animation anymore
13672
+ // as we're using the TypewriterEffect component directly in the view
13833
13673
  return {
13834
- displayText,
13835
- getAnimation,
13836
- currentHighlightText,
13837
- alternatingContent
13674
+ finalDisplayedText,
13675
+ activeHighlightTarget,
13676
+ highlightTypewriter
13838
13677
  };
13839
13678
  };
13840
13679
 
@@ -13860,8 +13699,13 @@
13860
13699
  xs: 24,
13861
13700
  sm: 28,
13862
13701
  md: 32,
13863
- lg: 64,
13864
- xl: 88
13702
+ lg: 40,
13703
+ xl: 48,
13704
+ '2xl': 56,
13705
+ '3xl': 64,
13706
+ '4xl': 72,
13707
+ '5xl': 80,
13708
+ '6xl': 88
13865
13709
  };
13866
13710
  /**
13867
13711
  * Default styles for different highlight types
@@ -13881,11 +13725,12 @@
13881
13725
  }),
13882
13726
  gradient: (color, secondaryColor) => ({
13883
13727
  background: "linear-gradient(135deg, " + color + ", " + (secondaryColor || color) + ")",
13884
- webkitBackgroundClip: 'text',
13885
- webkitTextFillColor: 'transparent',
13886
13728
  backgroundClip: 'text',
13729
+ webkitBackgroundClip: 'text',
13887
13730
  color: 'transparent',
13888
- display: 'inline-block'
13731
+ webkitTextFillColor: 'transparent',
13732
+ display: 'inline-block',
13733
+ textShadow: 'none'
13889
13734
  }),
13890
13735
  outline: color => ({
13891
13736
  webkitTextStroke: "1px " + color,
@@ -13899,12 +13744,91 @@
13899
13744
  })
13900
13745
  };
13901
13746
 
13902
- var _excluded$L = ["children", "highlightText", "highlightStyle", "highlightColor", "highlightSecondaryColor", "animation", "size", "centered", "views"];
13747
+ var _excluded$L = ["text", "typingSpeed", "pauseTime", "onComplete", "showCursor", "cursorColor", "textStyle", "as"];
13903
13748
  /**
13904
- * Title View Component
13905
- *
13906
- * Renders a title with optional highlighting and animations for hero sections.
13749
+ * A component that creates a typewriter effect for text
13907
13750
  */
13751
+ var TypewriterEffect = _ref => {
13752
+ var {
13753
+ text,
13754
+ typingSpeed = 50,
13755
+ pauseTime = 500,
13756
+ onComplete,
13757
+ showCursor = true,
13758
+ cursorColor = 'currentColor',
13759
+ textStyle
13760
+ } = _ref,
13761
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$L);
13762
+ // Convert text to array if it's a string
13763
+ var textArray = Array.isArray(text) ? text : [text];
13764
+ // State for the currently displayed text
13765
+ var [displayedText, setDisplayedText] = React.useState(textArray.map(() => ''));
13766
+ // State to track if typing is complete
13767
+ var [isComplete, setIsComplete] = React.useState(false);
13768
+ // State to track which text item we're currently typing
13769
+ var [currentTextIndex, setCurrentTextIndex] = React.useState(0);
13770
+ // State to track the character position within the current text
13771
+ var [charIndex, setCharIndex] = React.useState(0);
13772
+ React.useEffect(() => {
13773
+ // Reset state when text changes
13774
+ setDisplayedText(textArray.map(() => ''));
13775
+ setIsComplete(false);
13776
+ setCurrentTextIndex(0);
13777
+ setCharIndex(0);
13778
+ }, [text]);
13779
+ React.useEffect(() => {
13780
+ // If all text is typed, call onComplete and return
13781
+ if (isComplete) {
13782
+ if (onComplete) onComplete();
13783
+ return;
13784
+ }
13785
+ // Get the current text we're typing
13786
+ var currentText = textArray[currentTextIndex];
13787
+ // If we've typed all characters in the current text
13788
+ if (charIndex >= currentText.length) {
13789
+ // If we've typed all texts, we're done
13790
+ if (currentTextIndex >= textArray.length - 1) {
13791
+ setIsComplete(true);
13792
+ return;
13793
+ }
13794
+ // Otherwise, move to the next text after a pause
13795
+ var _timeout = setTimeout(() => {
13796
+ setCurrentTextIndex(prev => prev + 1);
13797
+ setCharIndex(0);
13798
+ }, pauseTime);
13799
+ return () => clearTimeout(_timeout);
13800
+ }
13801
+ // Type the next character
13802
+ var timeout = setTimeout(() => {
13803
+ setDisplayedText(prev => {
13804
+ var newText = [...prev];
13805
+ newText[currentTextIndex] = currentText.substring(0, charIndex + 1);
13806
+ return newText;
13807
+ });
13808
+ setCharIndex(prev => prev + 1);
13809
+ }, typingSpeed);
13810
+ return () => clearTimeout(timeout);
13811
+ }, [textArray, currentTextIndex, charIndex, isComplete, onComplete, pauseTime, typingSpeed]);
13812
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, displayedText.map((text, index) => (/*#__PURE__*/React__default.createElement(React__default.Fragment, {
13813
+ key: index
13814
+ }, text, showCursor && index === currentTextIndex && !isComplete && (/*#__PURE__*/React__default.createElement(appStudio.Text, {
13815
+ as: "span",
13816
+ display: "inline-block",
13817
+ width: "0.1em",
13818
+ height: "1em",
13819
+ backgroundColor: cursorColor,
13820
+ style: Object.assign({
13821
+ animation: 'blink 1s step-end infinite',
13822
+ verticalAlign: 'text-bottom',
13823
+ marginLeft: '1px'
13824
+ }, textStyle)
13825
+ }))))));
13826
+ };
13827
+
13828
+ var _excluded$M = ["children", "highlightText", "highlightStyle", "highlightColor", "highlightSecondaryColor", "size", "centered", "views", "highlightAnimate", "animate", "highlightTypewriter", "highlightTypewriterDuration"];
13829
+ function escapeRegExp(string) {
13830
+ return string.replace(/[.*+?^${}()|[\\]\\/g, '\\$&');
13831
+ }
13908
13832
  var TitleView = _ref => {
13909
13833
  var {
13910
13834
  children,
@@ -13912,150 +13836,112 @@
13912
13836
  highlightStyle = 'background',
13913
13837
  highlightColor = 'theme.primary',
13914
13838
  highlightSecondaryColor,
13915
- animation = 'none',
13916
13839
  size = 'xl',
13917
13840
  centered = false,
13918
- views
13841
+ views,
13842
+ highlightAnimate,
13843
+ animate,
13844
+ highlightTypewriter: propHighlightTypewriter = false,
13845
+ highlightTypewriterDuration = 3000
13919
13846
  } = _ref,
13920
- props = _objectWithoutPropertiesLoose(_ref, _excluded$L);
13921
- // Use the inView hook to detect when the component is visible
13847
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$M);
13922
13848
  var {
13923
13849
  ref,
13924
13850
  inView
13925
13851
  } = appStudio.useInView();
13926
- // Get theme utilities
13927
13852
  var {
13928
13853
  getColor,
13929
- themeMode: contextThemeMode
13854
+ themeMode: ctxMode
13930
13855
  } = appStudio.useTheme();
13931
- var themeMode = props.themeMode || contextThemeMode;
13932
- // Resolve theme colors
13933
- var resolvedHighlightColor = getColor(highlightColor, {
13934
- themeMode
13935
- });
13936
- var resolvedSecondaryColor = highlightSecondaryColor ? getColor(highlightSecondaryColor, {
13937
- themeMode
13938
- }) : undefined;
13939
- // Get state and animation functions from custom hook
13856
+ var themeMode = props.themeMode || ctxMode;
13857
+ // Resolve colors, handling both theme colors and direct hex values
13858
+ var resolveColorValue = colorValue => {
13859
+ // If it's already a hex color, return it directly
13860
+ if (colorValue.startsWith('#')) {
13861
+ return colorValue;
13862
+ }
13863
+ // Otherwise, use the theme's getColor function
13864
+ return getColor(colorValue, {
13865
+ themeMode
13866
+ });
13867
+ };
13868
+ var resolvedColor = resolveColorValue(highlightColor);
13869
+ var resolvedSecondary = highlightSecondaryColor ? resolveColorValue(highlightSecondaryColor) : undefined;
13940
13870
  var {
13941
- displayText,
13942
- getAnimation,
13943
- currentHighlightText,
13944
- alternatingContent
13871
+ finalDisplayedText,
13872
+ activeHighlightTarget,
13873
+ highlightTypewriter
13945
13874
  } = useTitleState(Object.assign({
13946
13875
  children,
13947
13876
  highlightText,
13948
- highlightStyle,
13949
- highlightColor: resolvedHighlightColor,
13950
- animation,
13951
- _isInView: inView
13877
+ _isInView: inView,
13878
+ highlightTypewriter: propHighlightTypewriter,
13879
+ highlightTypewriterDuration
13952
13880
  }, props));
13953
- // Get animation configuration only when the component is in view
13954
- // For typewriter animation, we don't need an animation config as it's handled by useState/useEffect
13955
- var animationConfig = inView && animation !== 'typewriter' ? getAnimation() : undefined;
13956
- // Get highlight styles
13957
- var highlightStyleProps = HighlightStyles[highlightStyle](resolvedHighlightColor, resolvedSecondaryColor);
13958
- // Get font size and line height based on size prop
13959
13881
  var fontSize = TitleSizes[size];
13960
13882
  var lineHeight = LineHeights$1[size];
13961
- // For typewriter animation, use the displayText state
13962
- // For alternating animation, use the alternatingContent state
13963
- var content = animation === 'typewriter' ? displayText : props.alternateAnimation && typeof alternatingContent === 'string' ? alternatingContent : children;
13964
- // If the content is a simple string and we have highlight text
13965
- if (typeof children === 'string' && currentHighlightText) {
13966
- var text = children;
13967
- // For a single highlight text
13968
- if (typeof currentHighlightText === 'string') {
13969
- // Create a regex pattern to match the highlight text
13970
- // Use a more flexible approach that can match within words
13971
- var pattern = new RegExp("(" + currentHighlightText + ")", 'gi');
13972
- // Check if the pattern matches anything in the text
13973
- if (pattern.test(text)) {
13974
- // Reset the regex pattern's lastIndex property
13975
- pattern.lastIndex = 0;
13976
- // Split the text by the pattern and keep the matches
13977
- var parts = [];
13978
- var lastIndex = 0;
13979
- var match;
13980
- while ((match = pattern.exec(text)) !== null) {
13981
- // Add the text before the match
13982
- if (match.index > lastIndex) {
13983
- parts.push(text.substring(lastIndex, match.index));
13984
- }
13985
- // Add the match as a special part to be highlighted
13986
- parts.push({
13987
- highlight: true,
13988
- text: match[0]
13989
- });
13990
- lastIndex = match.index + match[0].length;
13991
- }
13992
- // Add any remaining text after the last match
13993
- if (lastIndex < text.length) {
13994
- parts.push(text.substring(lastIndex));
13995
- }
13996
- return /*#__PURE__*/React__default.createElement(appStudio.Element, Object.assign({
13997
- ref: ref,
13998
- as: "h1",
13999
- fontSize: fontSize,
14000
- lineHeight: lineHeight + "px",
14001
- fontWeight: "bold",
14002
- textAlign: centered ? 'center' : 'left',
14003
- animate: animationConfig
14004
- }, props, views == null ? void 0 : views.container), parts.map((part, index) => (/*#__PURE__*/React__default.createElement(React__default.Fragment, {
14005
- key: index
14006
- }, typeof part === 'string' ? part : (/*#__PURE__*/React__default.createElement(appStudio.Text, Object.assign({
14007
- as: "span",
14008
- display: "inline"
14009
- }, highlightStyleProps, views == null ? void 0 : views.highlight), part.text))))));
13883
+ // Get the text to display
13884
+ var text = typeof finalDisplayedText === 'string' ? finalDisplayedText : typeof children === 'string' ? children : '';
13885
+ if (typeof text === 'string' && activeHighlightTarget) {
13886
+ var pattern = new RegExp("(" + escapeRegExp(Array.isArray(activeHighlightTarget) ? activeHighlightTarget.join('|') : activeHighlightTarget) + ")", 'gi');
13887
+ var parts = [];
13888
+ var lastIndex = 0;
13889
+ var match;
13890
+ while (match = pattern.exec(text)) {
13891
+ if (match.index > lastIndex) {
13892
+ parts.push(text.substring(lastIndex, match.index));
14010
13893
  }
13894
+ parts.push({
13895
+ highlight: true,
13896
+ text: match[0]
13897
+ });
13898
+ lastIndex = match.index + match[0].length;
14011
13899
  }
14012
- // For multiple highlight texts
14013
- if (Array.isArray(currentHighlightText)) {
14014
- // Create a regex pattern to match any of the highlight texts
14015
- // Use a more flexible approach that can match within words
14016
- var _pattern = new RegExp("(" + currentHighlightText.join('|') + ")", 'gi');
14017
- // Check if the pattern matches anything in the text
14018
- if (_pattern.test(text)) {
14019
- // Reset the regex pattern's lastIndex property
14020
- _pattern.lastIndex = 0;
14021
- // Split the text by the pattern and keep the matches
14022
- var _parts = [];
14023
- var _lastIndex = 0;
14024
- var _match;
14025
- while ((_match = _pattern.exec(text)) !== null) {
14026
- // Add the text before the match
14027
- if (_match.index > _lastIndex) {
14028
- _parts.push(text.substring(_lastIndex, _match.index));
14029
- }
14030
- // Add the match as a special part to be highlighted
14031
- _parts.push({
14032
- highlight: true,
14033
- text: _match[0]
14034
- });
14035
- _lastIndex = _match.index + _match[0].length;
14036
- }
14037
- // Add any remaining text after the last match
14038
- if (_lastIndex < text.length) {
14039
- _parts.push(text.substring(_lastIndex));
14040
- }
14041
- return /*#__PURE__*/React__default.createElement(appStudio.Element, Object.assign({
14042
- ref: ref,
14043
- as: "h1",
14044
- fontSize: fontSize,
14045
- lineHeight: lineHeight + "px",
14046
- fontWeight: "bold",
14047
- textAlign: centered ? 'center' : 'left',
14048
- animate: animationConfig
14049
- }, props, views == null ? void 0 : views.container), _parts.map((part, index) => (/*#__PURE__*/React__default.createElement(React__default.Fragment, {
14050
- key: index
14051
- }, typeof part === 'string' ? part : (/*#__PURE__*/React__default.createElement(appStudio.Text, Object.assign({
14052
- as: "span",
14053
- display: "inline"
14054
- }, highlightStyleProps, views == null ? void 0 : views.highlight), part.text))))));
14055
- }
13900
+ if (lastIndex < text.length) {
13901
+ parts.push(text.substring(lastIndex));
14056
13902
  }
13903
+ return /*#__PURE__*/React__default.createElement(appStudio.Element, Object.assign({
13904
+ ref: ref,
13905
+ as: "h1",
13906
+ fontSize: fontSize,
13907
+ lineHeight: lineHeight + "px",
13908
+ fontWeight: "bold",
13909
+ textAlign: centered ? 'center' : 'left',
13910
+ animate: inView ? animate : undefined
13911
+ }, views == null ? void 0 : views.container, props), parts.map((part, idx) => typeof part === 'string' ? part : (/*#__PURE__*/React__default.createElement(appStudio.Text, Object.assign({
13912
+ key: part.text + "-" + idx,
13913
+ as: "span",
13914
+ display: "inline",
13915
+ animate: inView ? highlightAnimate : undefined
13916
+ }, HighlightStyles[highlightStyle](resolvedColor, resolvedSecondary), views == null ? void 0 : views.highlight), highlightTypewriter ? (/*#__PURE__*/React__default.createElement(TypewriterEffect, {
13917
+ text: part.text,
13918
+ typingSpeed: Math.max(30, highlightTypewriterDuration / (part.text.length * 10)),
13919
+ showCursor: true,
13920
+ cursorColor: "currentColor"
13921
+ })) : part.text))));
13922
+ }
13923
+ // If highlightStyle is provided but no highlightText, apply the style to the entire title
13924
+ if (highlightStyle && !activeHighlightTarget) {
13925
+ return /*#__PURE__*/React__default.createElement(appStudio.Element, Object.assign({
13926
+ ref: ref,
13927
+ as: "h1",
13928
+ fontSize: fontSize,
13929
+ lineHeight: lineHeight + "px",
13930
+ fontWeight: "bold",
13931
+ textAlign: centered ? 'center' : 'left',
13932
+ animate: inView ? animate : undefined
13933
+ }, views == null ? void 0 : views.container, props), /*#__PURE__*/React__default.createElement(appStudio.Text, Object.assign({
13934
+ as: "span",
13935
+ display: "inline",
13936
+ animate: inView ? highlightAnimate : undefined
13937
+ }, HighlightStyles[highlightStyle](resolvedColor, resolvedSecondary), views == null ? void 0 : views.highlight), highlightTypewriter ? (/*#__PURE__*/React__default.createElement(TypewriterEffect, {
13938
+ text: text,
13939
+ typingSpeed: Math.max(30, highlightTypewriterDuration / (text.length * 10)),
13940
+ showCursor: true,
13941
+ cursorColor: "currentColor"
13942
+ })) : text));
14057
13943
  }
14058
- // Default rendering for non-string children or no highlighting
13944
+ // Default case - no highlighting
14059
13945
  return /*#__PURE__*/React__default.createElement(appStudio.Element, Object.assign({
14060
13946
  ref: ref,
14061
13947
  as: "h1",
@@ -14063,8 +13949,8 @@
14063
13949
  lineHeight: lineHeight + "px",
14064
13950
  fontWeight: "bold",
14065
13951
  textAlign: centered ? 'center' : 'left',
14066
- animate: animationConfig
14067
- }, props, views == null ? void 0 : views.container), content);
13952
+ animate: inView ? animate : undefined
13953
+ }, views == null ? void 0 : views.container, props), text);
14068
13954
  };
14069
13955
 
14070
13956
  /**
@@ -14129,7 +14015,7 @@
14129
14015
  };
14130
14016
  };
14131
14017
 
14132
- var _excluded$M = ["children", "shape", "variant", "isHovered", "setIsHovered", "isDisabled", "isToggle", "setIsToggled", "onToggle", "views"];
14018
+ var _excluded$N = ["children", "shape", "variant", "isHovered", "setIsHovered", "isDisabled", "isToggle", "setIsToggled", "onToggle", "views"];
14133
14019
  var ToggleView = _ref => {
14134
14020
  var {
14135
14021
  children,
@@ -14143,7 +14029,7 @@
14143
14029
  onToggle,
14144
14030
  views
14145
14031
  } = _ref,
14146
- props = _objectWithoutPropertiesLoose(_ref, _excluded$M);
14032
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$N);
14147
14033
  var toggleColor = !isDisabled ? 'color.trueGray.400' : 'theme.disabled';
14148
14034
  var isActive = !!(isToggle || isHovered);
14149
14035
  var toggleVariants = {
@@ -14186,7 +14072,7 @@
14186
14072
  }, toggleVariants[variant], props, views == null ? void 0 : views.container), children);
14187
14073
  };
14188
14074
 
14189
- var _excluded$N = ["children", "shape", "variant", "isDisabled", "isToggled", "onToggle"];
14075
+ var _excluded$O = ["children", "shape", "variant", "isDisabled", "isToggled", "onToggle"];
14190
14076
  // Destructuring properties from ToggleProps to be used within the ToggleComponent.
14191
14077
  var ToggleComponent = _ref => {
14192
14078
  var {
@@ -14198,7 +14084,7 @@
14198
14084
  isToggled = false,
14199
14085
  onToggle
14200
14086
  } = _ref,
14201
- props = _objectWithoutPropertiesLoose(_ref, _excluded$N);
14087
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$O);
14202
14088
  // Initializing toggle state and set state functions using the custom hook useToggleState.
14203
14089
  var {
14204
14090
  isHovered,
@@ -14589,7 +14475,7 @@
14589
14475
  return positions[side];
14590
14476
  };
14591
14477
 
14592
- var _excluded$O = ["children", "views"],
14478
+ var _excluded$P = ["children", "views"],
14593
14479
  _excluded2$d = ["items", "side", "align", "views"],
14594
14480
  _excluded3$9 = ["item", "views"],
14595
14481
  _excluded4$8 = ["views"],
@@ -14627,7 +14513,7 @@
14627
14513
  children,
14628
14514
  views
14629
14515
  } = _ref2,
14630
- props = _objectWithoutPropertiesLoose(_ref2, _excluded$O);
14516
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded$P);
14631
14517
  var {
14632
14518
  isOpen,
14633
14519
  setIsOpen
@@ -14787,7 +14673,7 @@
14787
14673
  }));
14788
14674
  };
14789
14675
 
14790
- var _excluded$P = ["trigger", "items", "size", "variant", "side", "align", "defaultOpen", "views"];
14676
+ var _excluded$Q = ["trigger", "items", "size", "variant", "side", "align", "defaultOpen", "views"];
14791
14677
  /**
14792
14678
  * DropdownMenu component for displaying a menu when clicking on a trigger element.
14793
14679
  */
@@ -14802,7 +14688,7 @@
14802
14688
  defaultOpen = false,
14803
14689
  views
14804
14690
  } = _ref,
14805
- props = _objectWithoutPropertiesLoose(_ref, _excluded$P);
14691
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$Q);
14806
14692
  var {
14807
14693
  isOpen,
14808
14694
  setIsOpen,
@@ -15000,7 +14886,7 @@
15000
14886
  return rect;
15001
14887
  };
15002
14888
 
15003
- var _excluded$Q = ["children", "views", "asChild"],
14889
+ var _excluded$R = ["children", "views", "asChild"],
15004
14890
  _excluded2$e = ["children", "views", "side", "align", "sideOffset", "style", "backgroundColor", "borderRadius", "boxShadow", "padding", "minWidth", "maxWidth"];
15005
14891
  // Create context for the HoverCard
15006
14892
  var HoverCardContext = /*#__PURE__*/React.createContext({
@@ -15039,7 +14925,7 @@
15039
14925
  views,
15040
14926
  asChild = false
15041
14927
  } = _ref2,
15042
- props = _objectWithoutPropertiesLoose(_ref2, _excluded$Q);
14928
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded$R);
15043
14929
  var {
15044
14930
  openCard,
15045
14931
  closeCard,
@@ -15126,7 +15012,7 @@
15126
15012
  }, views == null ? void 0 : views.container, props), children);
15127
15013
  };
15128
15014
 
15129
- var _excluded$R = ["children", "views", "openDelay", "closeDelay"];
15015
+ var _excluded$S = ["children", "views", "openDelay", "closeDelay"];
15130
15016
  /**
15131
15017
  * HoverCard component displays floating content when hovering over a trigger element.
15132
15018
  * Supports configurable open and close delays for a smoother user experience.
@@ -15138,7 +15024,7 @@
15138
15024
  openDelay,
15139
15025
  closeDelay
15140
15026
  } = _ref,
15141
- props = _objectWithoutPropertiesLoose(_ref, _excluded$R);
15027
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$S);
15142
15028
  var hoverCardState = useHoverCardState({
15143
15029
  openDelay,
15144
15030
  closeDelay
@@ -15268,7 +15154,7 @@
15268
15154
  };
15269
15155
  };
15270
15156
 
15271
- var _excluded$S = ["children", "orientation", "size", "variant", "views"];
15157
+ var _excluded$T = ["children", "orientation", "size", "variant", "views"];
15272
15158
  // Create context for the Menubar
15273
15159
  var MenubarContext = /*#__PURE__*/React.createContext({
15274
15160
  activeMenuId: null,
@@ -15302,7 +15188,7 @@
15302
15188
  variant = 'default',
15303
15189
  views
15304
15190
  } = _ref2,
15305
- props = _objectWithoutPropertiesLoose(_ref2, _excluded$S);
15191
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded$T);
15306
15192
  var Container = orientation === 'horizontal' ? appStudio.Horizontal : appStudio.Vertical;
15307
15193
  return /*#__PURE__*/React__default.createElement(Container, Object.assign({
15308
15194
  role: "menubar",
@@ -15488,7 +15374,7 @@
15488
15374
  })))))));
15489
15375
  };
15490
15376
 
15491
- var _excluded$T = ["items", "orientation", "size", "variant", "defaultActiveMenuId", "defaultOpenMenuId", "views"];
15377
+ var _excluded$U = ["items", "orientation", "size", "variant", "defaultActiveMenuId", "defaultOpenMenuId", "views"];
15492
15378
  /**
15493
15379
  * Menubar component for creating horizontal or vertical menu bars with dropdown menus.
15494
15380
  */
@@ -15502,7 +15388,7 @@
15502
15388
  defaultOpenMenuId = null,
15503
15389
  views
15504
15390
  } = _ref,
15505
- props = _objectWithoutPropertiesLoose(_ref, _excluded$T);
15391
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$U);
15506
15392
  var {
15507
15393
  activeMenuId,
15508
15394
  setActiveMenuId,
@@ -15658,7 +15544,7 @@
15658
15544
  }
15659
15545
  };
15660
15546
 
15661
- var _excluded$U = ["currentPage", "totalPages", "onPageChange", "pageSize", "pageSizeOptions", "onPageSizeChange", "showPageSizeSelector", "showPageInfo", "maxPageButtons", "showFirstLastButtons", "size", "variant", "shape", "visiblePageNumbers", "views"];
15547
+ var _excluded$V = ["currentPage", "totalPages", "onPageChange", "pageSize", "pageSizeOptions", "onPageSizeChange", "showPageSizeSelector", "showPageInfo", "maxPageButtons", "showFirstLastButtons", "size", "variant", "shape", "visiblePageNumbers", "views"];
15662
15548
  var PaginationView = _ref => {
15663
15549
  var {
15664
15550
  currentPage,
@@ -15689,7 +15575,7 @@
15689
15575
  visiblePageNumbers,
15690
15576
  views
15691
15577
  } = _ref,
15692
- props = _objectWithoutPropertiesLoose(_ref, _excluded$U);
15578
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$V);
15693
15579
  var handlePageChange = page => {
15694
15580
  if (page < 1 || page > totalPages || page === currentPage) {
15695
15581
  return;
@@ -15808,7 +15694,7 @@
15808
15694
  }, option.label))))));
15809
15695
  };
15810
15696
 
15811
- var _excluded$V = ["currentPage", "totalPages", "onPageChange", "pageSize", "pageSizeOptions", "onPageSizeChange", "showPageSizeSelector", "showPageInfo", "maxPageButtons", "showFirstLastButtons", "size", "variant", "shape", "views"];
15697
+ var _excluded$W = ["currentPage", "totalPages", "onPageChange", "pageSize", "pageSizeOptions", "onPageSizeChange", "showPageSizeSelector", "showPageInfo", "maxPageButtons", "showFirstLastButtons", "size", "variant", "shape", "views"];
15812
15698
  /**
15813
15699
  * Pagination component for navigating through pages of content.
15814
15700
  */
@@ -15829,7 +15715,7 @@
15829
15715
  shape = 'rounded',
15830
15716
  views
15831
15717
  } = _ref,
15832
- props = _objectWithoutPropertiesLoose(_ref, _excluded$V);
15718
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$W);
15833
15719
  var {
15834
15720
  visiblePageNumbers
15835
15721
  } = usePaginationState(currentPage, totalPages, maxPageButtons);
@@ -15899,7 +15785,7 @@
15899
15785
  }
15900
15786
  };
15901
15787
 
15902
- var _excluded$W = ["orientation", "variant", "thickness", "color", "spacing", "label", "decorative", "views", "themeMode"];
15788
+ var _excluded$X = ["orientation", "variant", "thickness", "color", "spacing", "label", "decorative", "views", "themeMode"];
15903
15789
  var SeparatorView = _ref => {
15904
15790
  var {
15905
15791
  orientation = 'horizontal',
@@ -15911,7 +15797,7 @@
15911
15797
  decorative = false,
15912
15798
  views
15913
15799
  } = _ref,
15914
- props = _objectWithoutPropertiesLoose(_ref, _excluded$W);
15800
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$X);
15915
15801
  // Access theme if needed for future enhancements
15916
15802
  var {
15917
15803
  themeMode
@@ -16149,7 +16035,7 @@
16149
16035
  bounce: 'width 0.3s cubic-bezier(0.68, -0.55, 0.27, 1.55), transform 0.3s cubic-bezier(0.68, -0.55, 0.27, 1.55)'
16150
16036
  };
16151
16037
 
16152
- var _excluded$X = ["children", "showToggleButton", "views"],
16038
+ var _excluded$Y = ["children", "showToggleButton", "views"],
16153
16039
  _excluded2$f = ["children", "views"],
16154
16040
  _excluded3$a = ["children", "views"],
16155
16041
  _excluded4$9 = ["children", "position", "size", "variant", "fixed", "hasBackdrop", "expandedWidth", "collapsedWidth", "breakpointBehavior", "elevation", "transitionPreset", "ariaLabel", "isExpanded", "isMobile", "collapse", "views", "themeMode"];
@@ -16182,7 +16068,7 @@
16182
16068
  showToggleButton = true,
16183
16069
  views
16184
16070
  } = _ref2,
16185
- props = _objectWithoutPropertiesLoose(_ref2, _excluded$X);
16071
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded$Y);
16186
16072
  var {
16187
16073
  isExpanded,
16188
16074
  toggleExpanded,
@@ -16337,7 +16223,7 @@
16337
16223
  }))));
16338
16224
  };
16339
16225
 
16340
- var _excluded$Y = ["children", "position", "size", "variant", "defaultExpanded", "expanded", "onExpandedChange", "fixed", "hasBackdrop", "showToggleButton", "expandedWidth", "collapsedWidth", "breakpoint", "breakpointBehavior", "views"];
16226
+ var _excluded$Z = ["children", "position", "size", "variant", "defaultExpanded", "expanded", "onExpandedChange", "fixed", "hasBackdrop", "showToggleButton", "expandedWidth", "collapsedWidth", "breakpoint", "breakpointBehavior", "views"];
16341
16227
  /**
16342
16228
  * Sidebar component for creating collapsible, themeable and customizable sidebars.
16343
16229
  */
@@ -16359,7 +16245,7 @@
16359
16245
  breakpointBehavior = 'overlay',
16360
16246
  views
16361
16247
  } = _ref,
16362
- props = _objectWithoutPropertiesLoose(_ref, _excluded$Y);
16248
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$Z);
16363
16249
  var {
16364
16250
  isExpanded,
16365
16251
  toggleExpanded,
@@ -16824,7 +16710,7 @@
16824
16710
  }
16825
16711
  };
16826
16712
 
16827
- var _excluded$Z = ["children", "id", "defaultSize", "minSize", "maxSize", "collapsible", "defaultCollapsed", "onCollapseChange", "views"],
16713
+ var _excluded$_ = ["children", "id", "defaultSize", "minSize", "maxSize", "collapsible", "defaultCollapsed", "onCollapseChange", "views"],
16828
16714
  _excluded2$g = ["id", "position", "disabled", "withVisualIndicator", "withCollapseButton", "collapseTarget", "views"],
16829
16715
  _excluded3$b = ["children", "orientation", "size", "variant", "defaultSizes", "minSize", "maxSize", "collapsible", "containerRef", "autoSaveId", "views"];
16830
16716
  // Create context for the Resizable component
@@ -16869,7 +16755,7 @@
16869
16755
  onCollapseChange,
16870
16756
  views
16871
16757
  } = _ref2,
16872
- props = _objectWithoutPropertiesLoose(_ref2, _excluded$Z);
16758
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded$_);
16873
16759
  var {
16874
16760
  orientation,
16875
16761
  registerPanel,
@@ -17084,7 +16970,7 @@
17084
16970
  }, ResizableOrientations[orientation], views == null ? void 0 : views.container, props), children);
17085
16971
  };
17086
16972
 
17087
- var _excluded$_ = ["children", "orientation", "size", "variant", "defaultSizes", "onSizesChange", "minSize", "maxSize", "collapsible", "autoSaveId", "storage", "keyboardResizeBy", "views"];
16973
+ var _excluded$$ = ["children", "orientation", "size", "variant", "defaultSizes", "onSizesChange", "minSize", "maxSize", "collapsible", "autoSaveId", "storage", "keyboardResizeBy", "views"];
17088
16974
  /**
17089
16975
  * Resizable component for creating resizable panel groups and layouts.
17090
16976
  */
@@ -17104,7 +16990,7 @@
17104
16990
  keyboardResizeBy = 10,
17105
16991
  views
17106
16992
  } = _ref,
17107
- props = _objectWithoutPropertiesLoose(_ref, _excluded$_);
16993
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$$);
17108
16994
  var {
17109
16995
  isResizing,
17110
16996
  setIsResizing,
@@ -17872,7 +17758,7 @@
17872
17758
  color: 'color.gray.500'
17873
17759
  };
17874
17760
 
17875
- var _excluded$$ = ["value", "onValueChange", "placeholder", "views"],
17761
+ var _excluded$10 = ["value", "onValueChange", "placeholder", "views"],
17876
17762
  _excluded2$h = ["children", "views"],
17877
17763
  _excluded3$c = ["heading", "children", "views"],
17878
17764
  _excluded4$a = ["item", "selected", "onSelect", "views"],
@@ -17904,7 +17790,7 @@
17904
17790
  placeholder = 'Type a command or search...',
17905
17791
  views
17906
17792
  } = _ref2,
17907
- props = _objectWithoutPropertiesLoose(_ref2, _excluded$$);
17793
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded$10);
17908
17794
  var inputRef = React.useRef(null);
17909
17795
  // Focus input when component mounts
17910
17796
  React__default.useEffect(() => {
@@ -18087,7 +17973,7 @@
18087
17973
  })))), footer && (/*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({}, CommandFooterStyles, views == null ? void 0 : views.footer), footer)))));
18088
17974
  };
18089
17975
 
18090
- var _excluded$10 = ["open", "onOpenChange", "groups", "commands", "placeholder", "size", "variant", "filter", "emptyState", "footer", "views"];
17976
+ var _excluded$11 = ["open", "onOpenChange", "groups", "commands", "placeholder", "size", "variant", "filter", "emptyState", "footer", "views"];
18091
17977
  /**
18092
17978
  * Command component for displaying a command palette with search functionality.
18093
17979
  */
@@ -18105,7 +17991,7 @@
18105
17991
  footer,
18106
17992
  views
18107
17993
  } = _ref,
18108
- props = _objectWithoutPropertiesLoose(_ref, _excluded$10);
17994
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$11);
18109
17995
  var {
18110
17996
  search,
18111
17997
  setSearch,
@@ -18392,7 +18278,7 @@
18392
18278
  }
18393
18279
  };
18394
18280
 
18395
- var _excluded$11 = ["children", "views", "asChild"],
18281
+ var _excluded$12 = ["children", "views", "asChild"],
18396
18282
  _excluded2$i = ["children", "views"],
18397
18283
  _excluded3$d = ["content", "children", "position", "align", "size", "variant", "showArrow", "views", "themeMode"];
18398
18284
  // Create context for the Tooltip
@@ -18428,7 +18314,7 @@
18428
18314
  views,
18429
18315
  asChild = false
18430
18316
  } = _ref2,
18431
- props = _objectWithoutPropertiesLoose(_ref2, _excluded$11);
18317
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded$12);
18432
18318
  var {
18433
18319
  openTooltip,
18434
18320
  closeTooltip,
@@ -18521,7 +18407,7 @@
18521
18407
  }, TooltipSizes[size], TooltipVariants[variant], positionStyles, views == null ? void 0 : views.content), typeof content === 'string' ? (/*#__PURE__*/React__default.createElement(appStudio.Text, Object.assign({}, views == null ? void 0 : views.text), content)) : content, showArrow && /*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({}, arrowStyles, views == null ? void 0 : views.arrow)))));
18522
18408
  };
18523
18409
 
18524
- var _excluded$12 = ["content", "children", "position", "align", "size", "variant", "openDelay", "closeDelay", "showArrow", "defaultOpen", "isDisabled", "views"];
18410
+ var _excluded$13 = ["content", "children", "position", "align", "size", "variant", "openDelay", "closeDelay", "showArrow", "defaultOpen", "isDisabled", "views"];
18525
18411
  /**
18526
18412
  * Tooltip component for displaying additional information when hovering over an element.
18527
18413
  * Supports configurable positions, delays, and styling.
@@ -18541,7 +18427,7 @@
18541
18427
  isDisabled = false,
18542
18428
  views
18543
18429
  } = _ref,
18544
- props = _objectWithoutPropertiesLoose(_ref, _excluded$12);
18430
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$13);
18545
18431
  var tooltipState = useTooltipState({
18546
18432
  defaultOpen,
18547
18433
  openDelay,