@app-studio/web 0.8.91 → 0.8.93

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 +260 -397
  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 +261 -398
  24. package/dist/web.esm.js.map +1 -1
  25. package/dist/web.umd.development.js +260 -397
  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
@@ -3401,18 +3401,6 @@ var BadgeView = _ref => {
3401
3401
  // Badge component that displays a small indicator, typically used for counts or status
3402
3402
  var Badge = props => /*#__PURE__*/React__default.createElement(BadgeView, Object.assign({}, props));
3403
3403
 
3404
- var useButtonState = () => {
3405
- var [isHovered, setIsHovered] = React__default.useState(false);
3406
- // This custom react hook 'useButtonState' is defined for managing the state of a button, especially for hover interactions.
3407
- return {
3408
- isHovered,
3409
- setIsHovered
3410
- };
3411
- // The 'setIsHovered' function is used to update the value of 'isHovered' state when the hover status of the button changes.
3412
- // A state variable 'isHovered' is declared with its initial value set to 'false', indicating that the button is not hovered by default.
3413
- };
3414
- // The hook returns an object containing 'isHovered' state and the 'setIsHovered' function to enable state management from the consumer component.
3415
-
3416
3404
  // This function initializes the Link component's state using the useState hook and exposes its state and setter function.
3417
3405
  var useLinkState = () => {
3418
3406
  var [isHovered, setIsHovered] = React.useState(false);
@@ -3997,25 +3985,14 @@ var ButtonView = _ref => {
3997
3985
 
3998
3986
  // Importing a custom hook to manage the state specific to the button component.
3999
3987
  var ButtonComponent = props => {
4000
- // Importing the view part of the button, which is presumably a presentational component.
4001
- var {
4002
- isHovered,
4003
- setIsHovered
4004
- } = useButtonState();
4005
- // Defining the button component with generic React Functional Component type augmented with ButtonProps type.
4006
- var handleHover = () => setIsHovered(!isHovered);
3988
+ var [ref, hover] = appStudio.useHover();
4007
3989
  // Destructuring the state and state update function from the custom hook for button state management.
4008
3990
  return (
4009
3991
  /*#__PURE__*/
4010
3992
  // Defines a function to toggle the hover state of the button.
4011
3993
  React__default.createElement(ButtonView, Object.assign({
4012
- isHovered: isHovered,
4013
- // Rendering the ButtonView component and spreading the received props on it.
4014
- setIsHovered: setIsHovered,
4015
- // Passing the isHovered state and the setIsHovered function to the ButtonView.
4016
- onMouseEnter: handleHover,
4017
- // Binding handleHover function to onMouseEnter and onMouseLeave events to toggle hover effect.
4018
- onMouseLeave: handleHover
3994
+ ref: ref,
3995
+ isHovered: hover
4019
3996
  }, props))
4020
3997
  );
4021
3998
  // Exports the Button component for use in other parts of the application.
@@ -13645,227 +13622,66 @@ var TabsComponent = _ref => {
13645
13622
  var Tabs = /*#__PURE__*/React__default.memo(TabsComponent);
13646
13623
 
13647
13624
  /**
13648
- * Custom hook for managing Title component state and animations
13625
+ * Custom hook for managing Title component state
13649
13626
  */
13650
13627
  var useTitleState = props => {
13651
13628
  var {
13652
- animation = 'none',
13653
- animationDirection = 'left',
13654
- animationDuration = '1s',
13655
- animationDelay = '0s',
13656
13629
  children,
13630
+ // Original children
13657
13631
  _isInView = false,
13658
13632
  alternateHighlightText = [],
13659
13633
  alternateAnimation = false,
13634
+ // Default to false as per prop definition
13660
13635
  alternateDuration = 3000,
13661
- highlightText
13636
+ highlightText: initialHighlightText,
13637
+ // Renamed to avoid confusion with the dynamic target
13638
+ highlightTypewriter = false,
13639
+ highlightTypewriterDuration = 1500
13662
13640
  } = props;
13663
- // State for typewriter animation
13664
- var [displayText, setDisplayText] = React.useState('');
13665
- // State for alternating highlight text
13666
- var [currentHighlightText, setCurrentHighlightText] = React.useState(highlightText);
13667
- // State for the alternating text content
13668
- var [alternatingContent, setAlternatingContent] = React.useState(children);
13641
+ // State for the final text to be displayed (could be original children or alternating text)
13642
+ var [finalDisplayedText, setFinalDisplayedText] = React.useState(children);
13643
+ // State for the text that should be actively highlighted (could be initialHighlightText or a word from alternateHighlightText)
13644
+ var [activeHighlightTarget, setActiveHighlightTarget] = React.useState(initialHighlightText);
13645
+ // We don't need state for typewriter text anymore as we're using the TypewriterEffect component
13669
13646
  // Handle alternating highlight text animation
13670
13647
  React.useEffect(() => {
13671
- // Initialize with the provided highlightText
13672
- setCurrentHighlightText(highlightText);
13673
- // If not using alternating animation or no alternateHighlightText provided, return early
13674
- if (!alternateAnimation || alternateHighlightText.length === 0 || !_isInView) {
13648
+ // If not using alternating animation or conditions not met, reset to initial/non-alternating state
13649
+ if (!alternateAnimation || alternateHighlightText.length === 0 || !_isInView || typeof children !== 'string' ||
13650
+ // Base text must be a string for replacement
13651
+ typeof initialHighlightText !== 'string' // Placeholder must be a string
13652
+ ) {
13653
+ setFinalDisplayedText(children);
13654
+ setActiveHighlightTarget(initialHighlightText);
13675
13655
  return () => {};
13676
13656
  }
13677
- // Only proceed if children is a string
13678
- if (typeof children !== 'string') {
13679
- return () => {};
13680
- }
13681
- // Set initial content with the first alternating text
13657
+ // Proceed with alternating animation
13682
13658
  var baseText = children;
13659
+ var placeholder = initialHighlightText;
13683
13660
  var currentIndex = 0;
13684
- // Function to update the content with the current alternating text
13685
- var updateContent = index => {
13686
- if (highlightText && typeof highlightText === 'string') {
13687
- // Replace the highlightText with the current alternating text
13688
- var regex = new RegExp(highlightText, 'gi');
13689
- var newContent = baseText.replace(regex, alternateHighlightText[index]);
13690
- setAlternatingContent(newContent);
13691
- }
13661
+ // Function to update the state for alternating text
13662
+ var updateAlternatingState = index => {
13663
+ var currentWordToHighlight = alternateHighlightText[index];
13664
+ // Replace the placeholder in the baseText with the current alternating word
13665
+ var regex = new RegExp(placeholder, 'gi');
13666
+ var newContent = baseText.replace(regex, currentWordToHighlight);
13667
+ setFinalDisplayedText(newContent);
13668
+ setActiveHighlightTarget(currentWordToHighlight); // Set the current word as the highlight target
13692
13669
  };
13693
- // Set initial content
13694
- updateContent(currentIndex);
13670
+ // Set initial alternating state
13671
+ updateAlternatingState(currentIndex);
13695
13672
  // Create interval to cycle through the alternateHighlightText array
13696
13673
  var interval = setInterval(() => {
13697
13674
  currentIndex = (currentIndex + 1) % alternateHighlightText.length;
13698
- updateContent(currentIndex);
13675
+ updateAlternatingState(currentIndex);
13699
13676
  }, alternateDuration);
13700
13677
  return () => clearInterval(interval);
13701
- }, [alternateAnimation, alternateHighlightText, alternateDuration, highlightText, children, _isInView]);
13702
- // Handle typewriter animation
13703
- React.useEffect(() => {
13704
- // Only start the typewriter animation when the component is in view
13705
- if (animation === 'typewriter' && typeof children === 'string' && _isInView) {
13706
- var text = children;
13707
- var currentIndex = 0;
13708
- setDisplayText('');
13709
- var interval = setInterval(() => {
13710
- if (currentIndex <= text.length) {
13711
- setDisplayText(text.substring(0, currentIndex));
13712
- currentIndex++;
13713
- } else {
13714
- clearInterval(interval);
13715
- }
13716
- }, 100);
13717
- return () => clearInterval(interval);
13718
- }
13719
- // Reset the text if not in view
13720
- if (animation === 'typewriter' && !_isInView) {
13721
- setDisplayText('');
13722
- }
13723
- return () => {};
13724
- }, [animation, children, _isInView]);
13725
- // Get animation configuration based on animation type
13726
- var getAnimation = () => {
13727
- // For typewriter animation, we handle it separately with useState and useEffect
13728
- if (animation === 'typewriter') {
13729
- return undefined;
13730
- }
13731
- switch (animation) {
13732
- case 'fadeIn':
13733
- return {
13734
- from: {
13735
- opacity: 0
13736
- },
13737
- to: {
13738
- opacity: 1
13739
- },
13740
- duration: animationDuration,
13741
- delay: animationDelay,
13742
- // iterationCount: 'infinite',
13743
- direction: 'alternate'
13744
- };
13745
- case 'slideIn':
13746
- switch (animationDirection) {
13747
- case 'left':
13748
- return {
13749
- from: {
13750
- transform: 'translateX(-100%)'
13751
- },
13752
- to: {
13753
- transform: 'translateX(0)'
13754
- },
13755
- duration: animationDuration,
13756
- delay: animationDelay,
13757
- // iterationCount: 'infinite',
13758
- direction: 'alternate'
13759
- };
13760
- case 'right':
13761
- return {
13762
- from: {
13763
- transform: 'translateX(100%)'
13764
- },
13765
- to: {
13766
- transform: 'translateX(0)'
13767
- },
13768
- duration: animationDuration,
13769
- delay: animationDelay,
13770
- // iterationCount: 'infinite',
13771
- direction: 'alternate'
13772
- };
13773
- case 'top':
13774
- return {
13775
- from: {
13776
- transform: 'translateY(-100%)'
13777
- },
13778
- to: {
13779
- transform: 'translateY(0)'
13780
- },
13781
- duration: animationDuration,
13782
- delay: animationDelay,
13783
- // iterationCount: 'infinite',
13784
- direction: 'alternate'
13785
- };
13786
- case 'bottom':
13787
- return {
13788
- from: {
13789
- transform: 'translateY(100%)'
13790
- },
13791
- to: {
13792
- transform: 'translateY(0)'
13793
- },
13794
- duration: animationDuration,
13795
- delay: animationDelay,
13796
- // iterationCount: 'infinite',
13797
- direction: 'alternate'
13798
- };
13799
- default:
13800
- return {
13801
- from: {
13802
- transform: 'translateX(-100%)'
13803
- },
13804
- to: {
13805
- transform: 'translateX(0)'
13806
- },
13807
- duration: animationDuration,
13808
- delay: animationDelay,
13809
- // iterationCount: 'infinite',
13810
- direction: 'alternate'
13811
- };
13812
- }
13813
- case 'bounce':
13814
- return {
13815
- from: {
13816
- transform: 'translateY(0)'
13817
- },
13818
- '20%': {
13819
- transform: 'translateY(-30px)'
13820
- },
13821
- '40%': {
13822
- transform: 'translateY(0)'
13823
- },
13824
- '60%': {
13825
- transform: 'translateY(-15px)'
13826
- },
13827
- '80%': {
13828
- transform: 'translateY(0)'
13829
- },
13830
- to: {
13831
- transform: 'translateY(0)'
13832
- },
13833
- duration: animationDuration,
13834
- delay: animationDelay,
13835
- iterationCount: '1'
13836
- };
13837
- case 'highlight':
13838
- return {
13839
- from: {
13840
- backgroundSize: '0 100%'
13841
- },
13842
- to: {
13843
- backgroundSize: '100% 100%'
13844
- },
13845
- duration: animationDuration,
13846
- delay: animationDelay
13847
- };
13848
- case 'reveal':
13849
- return {
13850
- from: {
13851
- clipPath: 'polygon(0 0, 0 0, 0 100%, 0% 100%)'
13852
- },
13853
- to: {
13854
- clipPath: 'polygon(0 0, 100% 0, 100% 100%, 0 100%)'
13855
- },
13856
- duration: animationDuration,
13857
- delay: animationDelay
13858
- };
13859
- case 'none':
13860
- default:
13861
- return undefined;
13862
- }
13863
- };
13678
+ }, [alternateAnimation, alternateHighlightText, alternateDuration, initialHighlightText, children, _isInView]);
13679
+ // We don't need a separate effect for typewriter animation anymore
13680
+ // as we're using the TypewriterEffect component directly in the view
13864
13681
  return {
13865
- displayText,
13866
- getAnimation,
13867
- currentHighlightText,
13868
- alternatingContent
13682
+ finalDisplayedText,
13683
+ activeHighlightTarget,
13684
+ highlightTypewriter
13869
13685
  };
13870
13686
  };
13871
13687
 
@@ -13891,8 +13707,13 @@ var LineHeights$1 = {
13891
13707
  xs: 24,
13892
13708
  sm: 28,
13893
13709
  md: 32,
13894
- lg: 64,
13895
- xl: 88
13710
+ lg: 40,
13711
+ xl: 48,
13712
+ '2xl': 56,
13713
+ '3xl': 64,
13714
+ '4xl': 72,
13715
+ '5xl': 80,
13716
+ '6xl': 88
13896
13717
  };
13897
13718
  /**
13898
13719
  * Default styles for different highlight types
@@ -13912,11 +13733,12 @@ var HighlightStyles = {
13912
13733
  }),
13913
13734
  gradient: (color, secondaryColor) => ({
13914
13735
  background: "linear-gradient(135deg, " + color + ", " + (secondaryColor || color) + ")",
13915
- webkitBackgroundClip: 'text',
13916
- webkitTextFillColor: 'transparent',
13917
13736
  backgroundClip: 'text',
13737
+ webkitBackgroundClip: 'text',
13918
13738
  color: 'transparent',
13919
- display: 'inline-block'
13739
+ webkitTextFillColor: 'transparent',
13740
+ display: 'inline-block',
13741
+ textShadow: 'none'
13920
13742
  }),
13921
13743
  outline: color => ({
13922
13744
  webkitTextStroke: "1px " + color,
@@ -13930,12 +13752,91 @@ var HighlightStyles = {
13930
13752
  })
13931
13753
  };
13932
13754
 
13933
- var _excluded$L = ["children", "highlightText", "highlightStyle", "highlightColor", "highlightSecondaryColor", "animation", "size", "centered", "views"];
13755
+ var _excluded$L = ["text", "typingSpeed", "pauseTime", "onComplete", "showCursor", "cursorColor", "textStyle", "as"];
13934
13756
  /**
13935
- * Title View Component
13936
- *
13937
- * Renders a title with optional highlighting and animations for hero sections.
13757
+ * A component that creates a typewriter effect for text
13938
13758
  */
13759
+ var TypewriterEffect = _ref => {
13760
+ var {
13761
+ text,
13762
+ typingSpeed = 50,
13763
+ pauseTime = 500,
13764
+ onComplete,
13765
+ showCursor = true,
13766
+ cursorColor = 'currentColor',
13767
+ textStyle
13768
+ } = _ref,
13769
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$L);
13770
+ // Convert text to array if it's a string
13771
+ var textArray = Array.isArray(text) ? text : [text];
13772
+ // State for the currently displayed text
13773
+ var [displayedText, setDisplayedText] = React.useState(textArray.map(() => ''));
13774
+ // State to track if typing is complete
13775
+ var [isComplete, setIsComplete] = React.useState(false);
13776
+ // State to track which text item we're currently typing
13777
+ var [currentTextIndex, setCurrentTextIndex] = React.useState(0);
13778
+ // State to track the character position within the current text
13779
+ var [charIndex, setCharIndex] = React.useState(0);
13780
+ React.useEffect(() => {
13781
+ // Reset state when text changes
13782
+ setDisplayedText(textArray.map(() => ''));
13783
+ setIsComplete(false);
13784
+ setCurrentTextIndex(0);
13785
+ setCharIndex(0);
13786
+ }, [text]);
13787
+ React.useEffect(() => {
13788
+ // If all text is typed, call onComplete and return
13789
+ if (isComplete) {
13790
+ if (onComplete) onComplete();
13791
+ return;
13792
+ }
13793
+ // Get the current text we're typing
13794
+ var currentText = textArray[currentTextIndex];
13795
+ // If we've typed all characters in the current text
13796
+ if (charIndex >= currentText.length) {
13797
+ // If we've typed all texts, we're done
13798
+ if (currentTextIndex >= textArray.length - 1) {
13799
+ setIsComplete(true);
13800
+ return;
13801
+ }
13802
+ // Otherwise, move to the next text after a pause
13803
+ var _timeout = setTimeout(() => {
13804
+ setCurrentTextIndex(prev => prev + 1);
13805
+ setCharIndex(0);
13806
+ }, pauseTime);
13807
+ return () => clearTimeout(_timeout);
13808
+ }
13809
+ // Type the next character
13810
+ var timeout = setTimeout(() => {
13811
+ setDisplayedText(prev => {
13812
+ var newText = [...prev];
13813
+ newText[currentTextIndex] = currentText.substring(0, charIndex + 1);
13814
+ return newText;
13815
+ });
13816
+ setCharIndex(prev => prev + 1);
13817
+ }, typingSpeed);
13818
+ return () => clearTimeout(timeout);
13819
+ }, [textArray, currentTextIndex, charIndex, isComplete, onComplete, pauseTime, typingSpeed]);
13820
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, displayedText.map((text, index) => (/*#__PURE__*/React__default.createElement(React__default.Fragment, {
13821
+ key: index
13822
+ }, text, showCursor && index === currentTextIndex && !isComplete && (/*#__PURE__*/React__default.createElement(appStudio.Text, {
13823
+ as: "span",
13824
+ display: "inline-block",
13825
+ width: "0.1em",
13826
+ height: "1em",
13827
+ backgroundColor: cursorColor,
13828
+ style: Object.assign({
13829
+ animation: 'blink 1s step-end infinite',
13830
+ verticalAlign: 'text-bottom',
13831
+ marginLeft: '1px'
13832
+ }, textStyle)
13833
+ }))))));
13834
+ };
13835
+
13836
+ var _excluded$M = ["children", "highlightText", "highlightStyle", "highlightColor", "highlightSecondaryColor", "size", "centered", "views", "highlightAnimate", "animate", "highlightTypewriter", "highlightTypewriterDuration"];
13837
+ function escapeRegExp(string) {
13838
+ return string.replace(/[.*+?^${}()|[\\]\\/g, '\\$&');
13839
+ }
13939
13840
  var TitleView = _ref => {
13940
13841
  var {
13941
13842
  children,
@@ -13943,150 +13844,112 @@ var TitleView = _ref => {
13943
13844
  highlightStyle = 'background',
13944
13845
  highlightColor = 'theme.primary',
13945
13846
  highlightSecondaryColor,
13946
- animation = 'none',
13947
13847
  size = 'xl',
13948
13848
  centered = false,
13949
- views
13849
+ views,
13850
+ highlightAnimate,
13851
+ animate,
13852
+ highlightTypewriter: propHighlightTypewriter = false,
13853
+ highlightTypewriterDuration = 3000
13950
13854
  } = _ref,
13951
- props = _objectWithoutPropertiesLoose(_ref, _excluded$L);
13952
- // Use the inView hook to detect when the component is visible
13855
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$M);
13953
13856
  var {
13954
13857
  ref,
13955
13858
  inView
13956
13859
  } = appStudio.useInView();
13957
- // Get theme utilities
13958
13860
  var {
13959
13861
  getColor,
13960
- themeMode: contextThemeMode
13862
+ themeMode: ctxMode
13961
13863
  } = appStudio.useTheme();
13962
- var themeMode = props.themeMode || contextThemeMode;
13963
- // Resolve theme colors
13964
- var resolvedHighlightColor = getColor(highlightColor, {
13965
- themeMode
13966
- });
13967
- var resolvedSecondaryColor = highlightSecondaryColor ? getColor(highlightSecondaryColor, {
13968
- themeMode
13969
- }) : undefined;
13970
- // Get state and animation functions from custom hook
13864
+ var themeMode = props.themeMode || ctxMode;
13865
+ // Resolve colors, handling both theme colors and direct hex values
13866
+ var resolveColorValue = colorValue => {
13867
+ // If it's already a hex color, return it directly
13868
+ if (colorValue.startsWith('#')) {
13869
+ return colorValue;
13870
+ }
13871
+ // Otherwise, use the theme's getColor function
13872
+ return getColor(colorValue, {
13873
+ themeMode
13874
+ });
13875
+ };
13876
+ var resolvedColor = resolveColorValue(highlightColor);
13877
+ var resolvedSecondary = highlightSecondaryColor ? resolveColorValue(highlightSecondaryColor) : undefined;
13971
13878
  var {
13972
- displayText,
13973
- getAnimation,
13974
- currentHighlightText,
13975
- alternatingContent
13879
+ finalDisplayedText,
13880
+ activeHighlightTarget,
13881
+ highlightTypewriter
13976
13882
  } = useTitleState(Object.assign({
13977
13883
  children,
13978
13884
  highlightText,
13979
- highlightStyle,
13980
- highlightColor: resolvedHighlightColor,
13981
- animation,
13982
- _isInView: inView
13885
+ _isInView: inView,
13886
+ highlightTypewriter: propHighlightTypewriter,
13887
+ highlightTypewriterDuration
13983
13888
  }, props));
13984
- // Get animation configuration only when the component is in view
13985
- // For typewriter animation, we don't need an animation config as it's handled by useState/useEffect
13986
- var animationConfig = inView && animation !== 'typewriter' ? getAnimation() : undefined;
13987
- // Get highlight styles
13988
- var highlightStyleProps = HighlightStyles[highlightStyle](resolvedHighlightColor, resolvedSecondaryColor);
13989
- // Get font size and line height based on size prop
13990
13889
  var fontSize = TitleSizes[size];
13991
13890
  var lineHeight = LineHeights$1[size];
13992
- // For typewriter animation, use the displayText state
13993
- // For alternating animation, use the alternatingContent state
13994
- var content = animation === 'typewriter' ? displayText : props.alternateAnimation && typeof alternatingContent === 'string' ? alternatingContent : children;
13995
- // If the content is a simple string and we have highlight text
13996
- if (typeof children === 'string' && currentHighlightText) {
13997
- var text = children;
13998
- // For a single highlight text
13999
- if (typeof currentHighlightText === 'string') {
14000
- // Create a regex pattern to match the highlight text
14001
- // Use a more flexible approach that can match within words
14002
- var pattern = new RegExp("(" + currentHighlightText + ")", 'gi');
14003
- // Check if the pattern matches anything in the text
14004
- if (pattern.test(text)) {
14005
- // Reset the regex pattern's lastIndex property
14006
- pattern.lastIndex = 0;
14007
- // Split the text by the pattern and keep the matches
14008
- var parts = [];
14009
- var lastIndex = 0;
14010
- var match;
14011
- while ((match = pattern.exec(text)) !== null) {
14012
- // Add the text before the match
14013
- if (match.index > lastIndex) {
14014
- parts.push(text.substring(lastIndex, match.index));
14015
- }
14016
- // Add the match as a special part to be highlighted
14017
- parts.push({
14018
- highlight: true,
14019
- text: match[0]
14020
- });
14021
- lastIndex = match.index + match[0].length;
14022
- }
14023
- // Add any remaining text after the last match
14024
- if (lastIndex < text.length) {
14025
- parts.push(text.substring(lastIndex));
14026
- }
14027
- return /*#__PURE__*/React__default.createElement(appStudio.Element, Object.assign({
14028
- ref: ref,
14029
- as: "h1",
14030
- fontSize: fontSize,
14031
- lineHeight: lineHeight + "px",
14032
- fontWeight: "bold",
14033
- textAlign: centered ? 'center' : 'left',
14034
- animate: animationConfig
14035
- }, props, views == null ? void 0 : views.container), parts.map((part, index) => (/*#__PURE__*/React__default.createElement(React__default.Fragment, {
14036
- key: index
14037
- }, typeof part === 'string' ? part : (/*#__PURE__*/React__default.createElement(appStudio.Text, Object.assign({
14038
- as: "span",
14039
- display: "inline"
14040
- }, highlightStyleProps, views == null ? void 0 : views.highlight), part.text))))));
13891
+ // Get the text to display
13892
+ var text = typeof finalDisplayedText === 'string' ? finalDisplayedText : typeof children === 'string' ? children : '';
13893
+ if (typeof text === 'string' && activeHighlightTarget) {
13894
+ var pattern = new RegExp("(" + escapeRegExp(Array.isArray(activeHighlightTarget) ? activeHighlightTarget.join('|') : activeHighlightTarget) + ")", 'gi');
13895
+ var parts = [];
13896
+ var lastIndex = 0;
13897
+ var match;
13898
+ while (match = pattern.exec(text)) {
13899
+ if (match.index > lastIndex) {
13900
+ parts.push(text.substring(lastIndex, match.index));
14041
13901
  }
13902
+ parts.push({
13903
+ highlight: true,
13904
+ text: match[0]
13905
+ });
13906
+ lastIndex = match.index + match[0].length;
14042
13907
  }
14043
- // For multiple highlight texts
14044
- if (Array.isArray(currentHighlightText)) {
14045
- // Create a regex pattern to match any of the highlight texts
14046
- // Use a more flexible approach that can match within words
14047
- var _pattern = new RegExp("(" + currentHighlightText.join('|') + ")", 'gi');
14048
- // Check if the pattern matches anything in the text
14049
- if (_pattern.test(text)) {
14050
- // Reset the regex pattern's lastIndex property
14051
- _pattern.lastIndex = 0;
14052
- // Split the text by the pattern and keep the matches
14053
- var _parts = [];
14054
- var _lastIndex = 0;
14055
- var _match;
14056
- while ((_match = _pattern.exec(text)) !== null) {
14057
- // Add the text before the match
14058
- if (_match.index > _lastIndex) {
14059
- _parts.push(text.substring(_lastIndex, _match.index));
14060
- }
14061
- // Add the match as a special part to be highlighted
14062
- _parts.push({
14063
- highlight: true,
14064
- text: _match[0]
14065
- });
14066
- _lastIndex = _match.index + _match[0].length;
14067
- }
14068
- // Add any remaining text after the last match
14069
- if (_lastIndex < text.length) {
14070
- _parts.push(text.substring(_lastIndex));
14071
- }
14072
- return /*#__PURE__*/React__default.createElement(appStudio.Element, Object.assign({
14073
- ref: ref,
14074
- as: "h1",
14075
- fontSize: fontSize,
14076
- lineHeight: lineHeight + "px",
14077
- fontWeight: "bold",
14078
- textAlign: centered ? 'center' : 'left',
14079
- animate: animationConfig
14080
- }, props, views == null ? void 0 : views.container), _parts.map((part, index) => (/*#__PURE__*/React__default.createElement(React__default.Fragment, {
14081
- key: index
14082
- }, typeof part === 'string' ? part : (/*#__PURE__*/React__default.createElement(appStudio.Text, Object.assign({
14083
- as: "span",
14084
- display: "inline"
14085
- }, highlightStyleProps, views == null ? void 0 : views.highlight), part.text))))));
14086
- }
13908
+ if (lastIndex < text.length) {
13909
+ parts.push(text.substring(lastIndex));
14087
13910
  }
13911
+ return /*#__PURE__*/React__default.createElement(appStudio.Element, Object.assign({
13912
+ ref: ref,
13913
+ as: "h1",
13914
+ fontSize: fontSize,
13915
+ lineHeight: lineHeight + "px",
13916
+ fontWeight: "bold",
13917
+ textAlign: centered ? 'center' : 'left',
13918
+ animate: inView ? animate : undefined
13919
+ }, views == null ? void 0 : views.container, props), parts.map((part, idx) => typeof part === 'string' ? part : (/*#__PURE__*/React__default.createElement(appStudio.Text, Object.assign({
13920
+ key: part.text + "-" + idx,
13921
+ as: "span",
13922
+ display: "inline",
13923
+ animate: inView ? highlightAnimate : undefined
13924
+ }, HighlightStyles[highlightStyle](resolvedColor, resolvedSecondary), views == null ? void 0 : views.highlight), highlightTypewriter ? (/*#__PURE__*/React__default.createElement(TypewriterEffect, {
13925
+ text: part.text,
13926
+ typingSpeed: Math.max(30, highlightTypewriterDuration / (part.text.length * 10)),
13927
+ showCursor: true,
13928
+ cursorColor: "currentColor"
13929
+ })) : part.text))));
14088
13930
  }
14089
- // Default rendering for non-string children or no highlighting
13931
+ // If highlightStyle is provided but no highlightText, apply the style to the entire title
13932
+ if (highlightStyle && !activeHighlightTarget) {
13933
+ return /*#__PURE__*/React__default.createElement(appStudio.Element, Object.assign({
13934
+ ref: ref,
13935
+ as: "h1",
13936
+ fontSize: fontSize,
13937
+ lineHeight: lineHeight + "px",
13938
+ fontWeight: "bold",
13939
+ textAlign: centered ? 'center' : 'left',
13940
+ animate: inView ? animate : undefined
13941
+ }, views == null ? void 0 : views.container, props), /*#__PURE__*/React__default.createElement(appStudio.Text, Object.assign({
13942
+ as: "span",
13943
+ display: "inline",
13944
+ animate: inView ? highlightAnimate : undefined
13945
+ }, HighlightStyles[highlightStyle](resolvedColor, resolvedSecondary), views == null ? void 0 : views.highlight), highlightTypewriter ? (/*#__PURE__*/React__default.createElement(TypewriterEffect, {
13946
+ text: text,
13947
+ typingSpeed: Math.max(30, highlightTypewriterDuration / (text.length * 10)),
13948
+ showCursor: true,
13949
+ cursorColor: "currentColor"
13950
+ })) : text));
13951
+ }
13952
+ // Default case - no highlighting
14090
13953
  return /*#__PURE__*/React__default.createElement(appStudio.Element, Object.assign({
14091
13954
  ref: ref,
14092
13955
  as: "h1",
@@ -14094,8 +13957,8 @@ var TitleView = _ref => {
14094
13957
  lineHeight: lineHeight + "px",
14095
13958
  fontWeight: "bold",
14096
13959
  textAlign: centered ? 'center' : 'left',
14097
- animate: animationConfig
14098
- }, props, views == null ? void 0 : views.container), content);
13960
+ animate: inView ? animate : undefined
13961
+ }, views == null ? void 0 : views.container, props), text);
14099
13962
  };
14100
13963
 
14101
13964
  /**
@@ -14160,7 +14023,7 @@ var useToggleState = defaultToggled => {
14160
14023
  };
14161
14024
  };
14162
14025
 
14163
- var _excluded$M = ["children", "shape", "variant", "isHovered", "setIsHovered", "isDisabled", "isToggle", "setIsToggled", "onToggle", "views"];
14026
+ var _excluded$N = ["children", "shape", "variant", "isHovered", "setIsHovered", "isDisabled", "isToggle", "setIsToggled", "onToggle", "views"];
14164
14027
  var ToggleView = _ref => {
14165
14028
  var {
14166
14029
  children,
@@ -14174,7 +14037,7 @@ var ToggleView = _ref => {
14174
14037
  onToggle,
14175
14038
  views
14176
14039
  } = _ref,
14177
- props = _objectWithoutPropertiesLoose(_ref, _excluded$M);
14040
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$N);
14178
14041
  var toggleColor = !isDisabled ? 'color.trueGray.400' : 'theme.disabled';
14179
14042
  var isActive = !!(isToggle || isHovered);
14180
14043
  var toggleVariants = {
@@ -14217,7 +14080,7 @@ var ToggleView = _ref => {
14217
14080
  }, toggleVariants[variant], props, views == null ? void 0 : views.container), children);
14218
14081
  };
14219
14082
 
14220
- var _excluded$N = ["children", "shape", "variant", "isDisabled", "isToggled", "onToggle"];
14083
+ var _excluded$O = ["children", "shape", "variant", "isDisabled", "isToggled", "onToggle"];
14221
14084
  // Destructuring properties from ToggleProps to be used within the ToggleComponent.
14222
14085
  var ToggleComponent = _ref => {
14223
14086
  var {
@@ -14229,7 +14092,7 @@ var ToggleComponent = _ref => {
14229
14092
  isToggled = false,
14230
14093
  onToggle
14231
14094
  } = _ref,
14232
- props = _objectWithoutPropertiesLoose(_ref, _excluded$N);
14095
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$O);
14233
14096
  // Initializing toggle state and set state functions using the custom hook useToggleState.
14234
14097
  var {
14235
14098
  isHovered,
@@ -14620,7 +14483,7 @@ var getDropdownPosition = function getDropdownPosition(side, align) {
14620
14483
  return positions[side];
14621
14484
  };
14622
14485
 
14623
- var _excluded$O = ["children", "views"],
14486
+ var _excluded$P = ["children", "views"],
14624
14487
  _excluded2$d = ["items", "side", "align", "views"],
14625
14488
  _excluded3$9 = ["item", "views"],
14626
14489
  _excluded4$8 = ["views"],
@@ -14658,7 +14521,7 @@ var DropdownMenuTrigger = _ref2 => {
14658
14521
  children,
14659
14522
  views
14660
14523
  } = _ref2,
14661
- props = _objectWithoutPropertiesLoose(_ref2, _excluded$O);
14524
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded$P);
14662
14525
  var {
14663
14526
  isOpen,
14664
14527
  setIsOpen
@@ -14818,7 +14681,7 @@ var DropdownMenuView = _ref6 => {
14818
14681
  }));
14819
14682
  };
14820
14683
 
14821
- var _excluded$P = ["trigger", "items", "size", "variant", "side", "align", "defaultOpen", "views"];
14684
+ var _excluded$Q = ["trigger", "items", "size", "variant", "side", "align", "defaultOpen", "views"];
14822
14685
  /**
14823
14686
  * DropdownMenu component for displaying a menu when clicking on a trigger element.
14824
14687
  */
@@ -14833,7 +14696,7 @@ var DropdownMenuComponent = _ref => {
14833
14696
  defaultOpen = false,
14834
14697
  views
14835
14698
  } = _ref,
14836
- props = _objectWithoutPropertiesLoose(_ref, _excluded$P);
14699
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$Q);
14837
14700
  var {
14838
14701
  isOpen,
14839
14702
  setIsOpen,
@@ -15031,7 +14894,7 @@ var useRect = ref => {
15031
14894
  return rect;
15032
14895
  };
15033
14896
 
15034
- var _excluded$Q = ["children", "views", "asChild"],
14897
+ var _excluded$R = ["children", "views", "asChild"],
15035
14898
  _excluded2$e = ["children", "views", "side", "align", "sideOffset", "style", "backgroundColor", "borderRadius", "boxShadow", "padding", "minWidth", "maxWidth"];
15036
14899
  // Create context for the HoverCard
15037
14900
  var HoverCardContext = /*#__PURE__*/React.createContext({
@@ -15070,7 +14933,7 @@ var HoverCardTrigger = _ref2 => {
15070
14933
  views,
15071
14934
  asChild = false
15072
14935
  } = _ref2,
15073
- props = _objectWithoutPropertiesLoose(_ref2, _excluded$Q);
14936
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded$R);
15074
14937
  var {
15075
14938
  openCard,
15076
14939
  closeCard,
@@ -15157,7 +15020,7 @@ var HoverCardContent = _ref3 => {
15157
15020
  }, views == null ? void 0 : views.container, props), children);
15158
15021
  };
15159
15022
 
15160
- var _excluded$R = ["children", "views", "openDelay", "closeDelay"];
15023
+ var _excluded$S = ["children", "views", "openDelay", "closeDelay"];
15161
15024
  /**
15162
15025
  * HoverCard component displays floating content when hovering over a trigger element.
15163
15026
  * Supports configurable open and close delays for a smoother user experience.
@@ -15169,7 +15032,7 @@ var HoverCardComponent = _ref => {
15169
15032
  openDelay,
15170
15033
  closeDelay
15171
15034
  } = _ref,
15172
- props = _objectWithoutPropertiesLoose(_ref, _excluded$R);
15035
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$S);
15173
15036
  var hoverCardState = useHoverCardState({
15174
15037
  openDelay,
15175
15038
  closeDelay
@@ -15299,7 +15162,7 @@ var getMenubarContentPosition = orientation => {
15299
15162
  };
15300
15163
  };
15301
15164
 
15302
- var _excluded$S = ["children", "orientation", "size", "variant", "views"];
15165
+ var _excluded$T = ["children", "orientation", "size", "variant", "views"];
15303
15166
  // Create context for the Menubar
15304
15167
  var MenubarContext = /*#__PURE__*/React.createContext({
15305
15168
  activeMenuId: null,
@@ -15333,7 +15196,7 @@ var MenubarRoot = _ref2 => {
15333
15196
  variant = 'default',
15334
15197
  views
15335
15198
  } = _ref2,
15336
- props = _objectWithoutPropertiesLoose(_ref2, _excluded$S);
15199
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded$T);
15337
15200
  var Container = orientation === 'horizontal' ? appStudio.Horizontal : appStudio.Vertical;
15338
15201
  return /*#__PURE__*/React__default.createElement(Container, Object.assign({
15339
15202
  role: "menubar",
@@ -15519,7 +15382,7 @@ var MenubarView = _ref8 => {
15519
15382
  })))))));
15520
15383
  };
15521
15384
 
15522
- var _excluded$T = ["items", "orientation", "size", "variant", "defaultActiveMenuId", "defaultOpenMenuId", "views"];
15385
+ var _excluded$U = ["items", "orientation", "size", "variant", "defaultActiveMenuId", "defaultOpenMenuId", "views"];
15523
15386
  /**
15524
15387
  * Menubar component for creating horizontal or vertical menu bars with dropdown menus.
15525
15388
  */
@@ -15533,7 +15396,7 @@ var MenubarComponent = _ref => {
15533
15396
  defaultOpenMenuId = null,
15534
15397
  views
15535
15398
  } = _ref,
15536
- props = _objectWithoutPropertiesLoose(_ref, _excluded$T);
15399
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$U);
15537
15400
  var {
15538
15401
  activeMenuId,
15539
15402
  setActiveMenuId,
@@ -15689,7 +15552,7 @@ var DisabledButtonStyles = {
15689
15552
  }
15690
15553
  };
15691
15554
 
15692
- var _excluded$U = ["currentPage", "totalPages", "onPageChange", "pageSize", "pageSizeOptions", "onPageSizeChange", "showPageSizeSelector", "showPageInfo", "maxPageButtons", "showFirstLastButtons", "size", "variant", "shape", "visiblePageNumbers", "views"];
15555
+ var _excluded$V = ["currentPage", "totalPages", "onPageChange", "pageSize", "pageSizeOptions", "onPageSizeChange", "showPageSizeSelector", "showPageInfo", "maxPageButtons", "showFirstLastButtons", "size", "variant", "shape", "visiblePageNumbers", "views"];
15693
15556
  var PaginationView = _ref => {
15694
15557
  var {
15695
15558
  currentPage,
@@ -15720,7 +15583,7 @@ var PaginationView = _ref => {
15720
15583
  visiblePageNumbers,
15721
15584
  views
15722
15585
  } = _ref,
15723
- props = _objectWithoutPropertiesLoose(_ref, _excluded$U);
15586
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$V);
15724
15587
  var handlePageChange = page => {
15725
15588
  if (page < 1 || page > totalPages || page === currentPage) {
15726
15589
  return;
@@ -15839,7 +15702,7 @@ var PaginationView = _ref => {
15839
15702
  }, option.label))))));
15840
15703
  };
15841
15704
 
15842
- var _excluded$V = ["currentPage", "totalPages", "onPageChange", "pageSize", "pageSizeOptions", "onPageSizeChange", "showPageSizeSelector", "showPageInfo", "maxPageButtons", "showFirstLastButtons", "size", "variant", "shape", "views"];
15705
+ var _excluded$W = ["currentPage", "totalPages", "onPageChange", "pageSize", "pageSizeOptions", "onPageSizeChange", "showPageSizeSelector", "showPageInfo", "maxPageButtons", "showFirstLastButtons", "size", "variant", "shape", "views"];
15843
15706
  /**
15844
15707
  * Pagination component for navigating through pages of content.
15845
15708
  */
@@ -15860,7 +15723,7 @@ var PaginationComponent = _ref => {
15860
15723
  shape = 'rounded',
15861
15724
  views
15862
15725
  } = _ref,
15863
- props = _objectWithoutPropertiesLoose(_ref, _excluded$V);
15726
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$W);
15864
15727
  var {
15865
15728
  visiblePageNumbers
15866
15729
  } = usePaginationState(currentPage, totalPages, maxPageButtons);
@@ -15930,7 +15793,7 @@ var DefaultSeparatorStyles = {
15930
15793
  }
15931
15794
  };
15932
15795
 
15933
- var _excluded$W = ["orientation", "variant", "thickness", "color", "spacing", "label", "decorative", "views", "themeMode"];
15796
+ var _excluded$X = ["orientation", "variant", "thickness", "color", "spacing", "label", "decorative", "views", "themeMode"];
15934
15797
  var SeparatorView = _ref => {
15935
15798
  var {
15936
15799
  orientation = 'horizontal',
@@ -15942,7 +15805,7 @@ var SeparatorView = _ref => {
15942
15805
  decorative = false,
15943
15806
  views
15944
15807
  } = _ref,
15945
- props = _objectWithoutPropertiesLoose(_ref, _excluded$W);
15808
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$X);
15946
15809
  // Access theme if needed for future enhancements
15947
15810
  var {
15948
15811
  themeMode
@@ -16180,7 +16043,7 @@ var SidebarTransitions = {
16180
16043
  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)'
16181
16044
  };
16182
16045
 
16183
- var _excluded$X = ["children", "showToggleButton", "views"],
16046
+ var _excluded$Y = ["children", "showToggleButton", "views"],
16184
16047
  _excluded2$f = ["children", "views"],
16185
16048
  _excluded3$a = ["children", "views"],
16186
16049
  _excluded4$9 = ["children", "position", "size", "variant", "fixed", "hasBackdrop", "expandedWidth", "collapsedWidth", "breakpointBehavior", "elevation", "transitionPreset", "ariaLabel", "isExpanded", "isMobile", "collapse", "views", "themeMode"];
@@ -16213,7 +16076,7 @@ var SidebarHeader = _ref2 => {
16213
16076
  showToggleButton = true,
16214
16077
  views
16215
16078
  } = _ref2,
16216
- props = _objectWithoutPropertiesLoose(_ref2, _excluded$X);
16079
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded$Y);
16217
16080
  var {
16218
16081
  isExpanded,
16219
16082
  toggleExpanded,
@@ -16368,7 +16231,7 @@ var SidebarView = _ref5 => {
16368
16231
  }))));
16369
16232
  };
16370
16233
 
16371
- var _excluded$Y = ["children", "position", "size", "variant", "defaultExpanded", "expanded", "onExpandedChange", "fixed", "hasBackdrop", "showToggleButton", "expandedWidth", "collapsedWidth", "breakpoint", "breakpointBehavior", "views"];
16234
+ var _excluded$Z = ["children", "position", "size", "variant", "defaultExpanded", "expanded", "onExpandedChange", "fixed", "hasBackdrop", "showToggleButton", "expandedWidth", "collapsedWidth", "breakpoint", "breakpointBehavior", "views"];
16372
16235
  /**
16373
16236
  * Sidebar component for creating collapsible, themeable and customizable sidebars.
16374
16237
  */
@@ -16390,7 +16253,7 @@ var SidebarComponent = _ref => {
16390
16253
  breakpointBehavior = 'overlay',
16391
16254
  views
16392
16255
  } = _ref,
16393
- props = _objectWithoutPropertiesLoose(_ref, _excluded$Y);
16256
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$Z);
16394
16257
  var {
16395
16258
  isExpanded,
16396
16259
  toggleExpanded,
@@ -16855,7 +16718,7 @@ var HandleIconStyles = {
16855
16718
  }
16856
16719
  };
16857
16720
 
16858
- var _excluded$Z = ["children", "id", "defaultSize", "minSize", "maxSize", "collapsible", "defaultCollapsed", "onCollapseChange", "views"],
16721
+ var _excluded$_ = ["children", "id", "defaultSize", "minSize", "maxSize", "collapsible", "defaultCollapsed", "onCollapseChange", "views"],
16859
16722
  _excluded2$g = ["id", "position", "disabled", "withVisualIndicator", "withCollapseButton", "collapseTarget", "views"],
16860
16723
  _excluded3$b = ["children", "orientation", "size", "variant", "defaultSizes", "minSize", "maxSize", "collapsible", "containerRef", "autoSaveId", "views"];
16861
16724
  // Create context for the Resizable component
@@ -16900,7 +16763,7 @@ var ResizablePanel = _ref2 => {
16900
16763
  onCollapseChange,
16901
16764
  views
16902
16765
  } = _ref2,
16903
- props = _objectWithoutPropertiesLoose(_ref2, _excluded$Z);
16766
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded$_);
16904
16767
  var {
16905
16768
  orientation,
16906
16769
  registerPanel,
@@ -17115,7 +16978,7 @@ var ResizableView = _ref4 => {
17115
16978
  }, ResizableOrientations[orientation], views == null ? void 0 : views.container, props), children);
17116
16979
  };
17117
16980
 
17118
- var _excluded$_ = ["children", "orientation", "size", "variant", "defaultSizes", "onSizesChange", "minSize", "maxSize", "collapsible", "autoSaveId", "storage", "keyboardResizeBy", "views"];
16981
+ var _excluded$$ = ["children", "orientation", "size", "variant", "defaultSizes", "onSizesChange", "minSize", "maxSize", "collapsible", "autoSaveId", "storage", "keyboardResizeBy", "views"];
17119
16982
  /**
17120
16983
  * Resizable component for creating resizable panel groups and layouts.
17121
16984
  */
@@ -17135,7 +16998,7 @@ var ResizableComponent = _ref => {
17135
16998
  keyboardResizeBy = 10,
17136
16999
  views
17137
17000
  } = _ref,
17138
- props = _objectWithoutPropertiesLoose(_ref, _excluded$_);
17001
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$$);
17139
17002
  var {
17140
17003
  isResizing,
17141
17004
  setIsResizing,
@@ -17903,7 +17766,7 @@ var CommandFooterStyles = {
17903
17766
  color: 'color.gray.500'
17904
17767
  };
17905
17768
 
17906
- var _excluded$$ = ["value", "onValueChange", "placeholder", "views"],
17769
+ var _excluded$10 = ["value", "onValueChange", "placeholder", "views"],
17907
17770
  _excluded2$h = ["children", "views"],
17908
17771
  _excluded3$c = ["heading", "children", "views"],
17909
17772
  _excluded4$a = ["item", "selected", "onSelect", "views"],
@@ -17935,7 +17798,7 @@ var CommandInput = _ref2 => {
17935
17798
  placeholder = 'Type a command or search...',
17936
17799
  views
17937
17800
  } = _ref2,
17938
- props = _objectWithoutPropertiesLoose(_ref2, _excluded$$);
17801
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded$10);
17939
17802
  var inputRef = React.useRef(null);
17940
17803
  // Focus input when component mounts
17941
17804
  React__default.useEffect(() => {
@@ -18118,7 +17981,7 @@ var CommandView = _ref7 => {
18118
17981
  })))), footer && (/*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({}, CommandFooterStyles, views == null ? void 0 : views.footer), footer)))));
18119
17982
  };
18120
17983
 
18121
- var _excluded$10 = ["open", "onOpenChange", "groups", "commands", "placeholder", "size", "variant", "filter", "emptyState", "footer", "views"];
17984
+ var _excluded$11 = ["open", "onOpenChange", "groups", "commands", "placeholder", "size", "variant", "filter", "emptyState", "footer", "views"];
18122
17985
  /**
18123
17986
  * Command component for displaying a command palette with search functionality.
18124
17987
  */
@@ -18136,7 +17999,7 @@ var CommandComponent = _ref => {
18136
17999
  footer,
18137
18000
  views
18138
18001
  } = _ref,
18139
- props = _objectWithoutPropertiesLoose(_ref, _excluded$10);
18002
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$11);
18140
18003
  var {
18141
18004
  search,
18142
18005
  setSearch,
@@ -18423,7 +18286,7 @@ var getArrowStyles = position => {
18423
18286
  }
18424
18287
  };
18425
18288
 
18426
- var _excluded$11 = ["children", "views", "asChild"],
18289
+ var _excluded$12 = ["children", "views", "asChild"],
18427
18290
  _excluded2$i = ["children", "views"],
18428
18291
  _excluded3$d = ["content", "children", "position", "align", "size", "variant", "showArrow", "views", "themeMode"];
18429
18292
  // Create context for the Tooltip
@@ -18459,7 +18322,7 @@ var TooltipTrigger = _ref2 => {
18459
18322
  views,
18460
18323
  asChild = false
18461
18324
  } = _ref2,
18462
- props = _objectWithoutPropertiesLoose(_ref2, _excluded$11);
18325
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded$12);
18463
18326
  var {
18464
18327
  openTooltip,
18465
18328
  closeTooltip,
@@ -18552,7 +18415,7 @@ var TooltipView = _ref4 => {
18552
18415
  }, 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)))));
18553
18416
  };
18554
18417
 
18555
- var _excluded$12 = ["content", "children", "position", "align", "size", "variant", "openDelay", "closeDelay", "showArrow", "defaultOpen", "isDisabled", "views"];
18418
+ var _excluded$13 = ["content", "children", "position", "align", "size", "variant", "openDelay", "closeDelay", "showArrow", "defaultOpen", "isDisabled", "views"];
18556
18419
  /**
18557
18420
  * Tooltip component for displaying additional information when hovering over an element.
18558
18421
  * Supports configurable positions, delays, and styling.
@@ -18572,7 +18435,7 @@ var TooltipComponent = _ref => {
18572
18435
  isDisabled = false,
18573
18436
  views
18574
18437
  } = _ref,
18575
- props = _objectWithoutPropertiesLoose(_ref, _excluded$12);
18438
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$13);
18576
18439
  var tooltipState = useTooltipState({
18577
18440
  defaultOpen,
18578
18441
  openDelay,