@app-studio/web 0.8.82 → 0.8.83

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.
@@ -2792,71 +2792,70 @@
2792
2792
  * Get theme styles for different alert variants based on theme mode
2793
2793
  */
2794
2794
  var getThemes = themeMode => {
2795
- var isDarkMode = themeMode === 'dark';
2796
2795
  return {
2797
2796
  default: {
2798
2797
  container: {
2799
- backgroundColor: isDarkMode ? 'color.gray.800' : 'color.gray.50',
2800
- borderColor: isDarkMode ? 'color.gray.700' : 'color.gray.200',
2801
- boxShadow: isDarkMode ? '0 1px 2px rgba(0, 0, 0, 0.2)' : '0 1px 2px rgba(0, 0, 0, 0.05)'
2798
+ backgroundColor: 'color.gray.50',
2799
+ borderColor: 'color.gray.200',
2800
+ boxShadow: '0 1px 2px rgba(0, 0, 0, 0.05)'
2802
2801
  },
2803
2802
  content: {
2804
- color: isDarkMode ? 'color.gray.300' : 'color.gray.700'
2803
+ color: 'color.gray.700'
2805
2804
  },
2806
2805
  icon: {
2807
- color: isDarkMode ? 'color.gray.400' : 'color.gray.500'
2806
+ color: 'color.gray.500'
2808
2807
  }
2809
2808
  },
2810
2809
  info: {
2811
2810
  container: {
2812
- backgroundColor: isDarkMode ? 'color.blue.900' : 'color.blue.50',
2813
- borderColor: isDarkMode ? 'color.blue.800' : 'color.blue.200',
2814
- boxShadow: isDarkMode ? '0 1px 2px rgba(59, 130, 246, 0.2)' : '0 1px 2px rgba(59, 130, 246, 0.05)'
2811
+ backgroundColor: 'color.blue.50',
2812
+ borderColor: 'color.blue.200',
2813
+ boxShadow: '0 1px 2px rgba(59, 130, 246, 0.05)'
2815
2814
  },
2816
2815
  content: {
2817
- color: isDarkMode ? 'color.blue.300' : 'color.blue.700'
2816
+ color: 'color.blue.700'
2818
2817
  },
2819
2818
  icon: {
2820
- color: isDarkMode ? 'color.blue.400' : 'color.blue.500'
2819
+ color: 'color.blue.500'
2821
2820
  }
2822
2821
  },
2823
2822
  success: {
2824
2823
  container: {
2825
- backgroundColor: isDarkMode ? 'color.green.900' : 'color.green.50',
2826
- borderColor: isDarkMode ? 'color.green.800' : 'color.green.200',
2827
- boxShadow: isDarkMode ? '0 1px 2px rgba(34, 197, 94, 0.2)' : '0 1px 2px rgba(34, 197, 94, 0.05)'
2824
+ backgroundColor: 'color.green.50',
2825
+ borderColor: 'color.green.200',
2826
+ boxShadow: '0 1px 2px rgba(34, 197, 94, 0.05)'
2828
2827
  },
2829
2828
  content: {
2830
- color: isDarkMode ? 'color.green.300' : 'color.green.700'
2829
+ color: 'color.green.700'
2831
2830
  },
2832
2831
  icon: {
2833
- color: isDarkMode ? 'color.green.400' : 'color.green.500'
2832
+ color: 'color.green.500'
2834
2833
  }
2835
2834
  },
2836
2835
  error: {
2837
2836
  container: {
2838
- backgroundColor: isDarkMode ? 'color.red.900' : 'color.red.50',
2839
- borderColor: isDarkMode ? 'color.red.800' : 'color.red.200',
2840
- boxShadow: isDarkMode ? '0 1px 2px rgba(239, 68, 68, 0.2)' : '0 1px 2px rgba(239, 68, 68, 0.05)'
2837
+ backgroundColor: 'color.red.50',
2838
+ borderColor: 'color.red.200',
2839
+ boxShadow: '0 1px 2px rgba(239, 68, 68, 0.05)'
2841
2840
  },
2842
2841
  content: {
2843
- color: isDarkMode ? 'color.red.300' : 'color.red.700'
2842
+ color: 'color.red.700'
2844
2843
  },
2845
2844
  icon: {
2846
- color: isDarkMode ? 'color.red.400' : 'color.red.500'
2845
+ color: 'color.red.500'
2847
2846
  }
2848
2847
  },
2849
2848
  warning: {
2850
2849
  container: {
2851
- backgroundColor: isDarkMode ? 'color.orange.900' : 'color.orange.50',
2852
- borderColor: isDarkMode ? 'color.orange.800' : 'color.orange.200',
2853
- boxShadow: isDarkMode ? '0 1px 2px rgba(249, 115, 22, 0.2)' : '0 1px 2px rgba(249, 115, 22, 0.05)'
2850
+ backgroundColor: 'color.orange.50',
2851
+ borderColor: 'color.orange.200',
2852
+ boxShadow: '0 1px 2px rgba(249, 115, 22, 0.05)'
2854
2853
  },
2855
2854
  content: {
2856
- color: isDarkMode ? 'color.orange.300' : 'color.orange.700'
2855
+ color: 'color.orange.700'
2857
2856
  },
2858
2857
  icon: {
2859
- color: isDarkMode ? 'color.orange.400' : 'color.orange.500'
2858
+ color: 'color.orange.500'
2860
2859
  }
2861
2860
  }
2862
2861
  };
@@ -2879,8 +2878,7 @@
2879
2878
  var {
2880
2879
  themeMode
2881
2880
  } = appStudio.useTheme();
2882
- var currentThemeMode = elementMode || themeMode;
2883
- var themes = getThemes(currentThemeMode);
2881
+ var themes = getThemes();
2884
2882
  // Select the appropriate icon based on the variant
2885
2883
  var getIcon = () => {
2886
2884
  var _views$icon$color, _views$icon;
@@ -3209,11 +3207,10 @@
3209
3207
  * Get badge variants with consistent styling based on theme mode
3210
3208
  */
3211
3209
  var getBadgeVariants = themeMode => {
3212
- var isDarkMode = themeMode === 'dark';
3213
3210
  return {
3214
3211
  filled: {
3215
3212
  backgroundColor: 'theme.primary',
3216
- color: isDarkMode ? 'color.gray.900' : 'color.white',
3213
+ color: 'color.white',
3217
3214
  borderWidth: '1px',
3218
3215
  borderStyle: 'solid',
3219
3216
  borderColor: 'transparent',
@@ -3239,7 +3236,7 @@
3239
3236
  },
3240
3237
  ghost: {
3241
3238
  backgroundColor: 'transparent',
3242
- color: isDarkMode ? 'color.gray.400' : 'color.gray.500',
3239
+ color: 'color.gray.500',
3243
3240
  borderWidth: '1px',
3244
3241
  borderStyle: 'solid',
3245
3242
  borderColor: 'transparent',
@@ -3267,8 +3264,7 @@
3267
3264
  var {
3268
3265
  themeMode
3269
3266
  } = appStudio.useTheme();
3270
- var currentThemeMode = elementMode || themeMode;
3271
- var variantStyles = getBadgeVariants(currentThemeMode)[variant];
3267
+ var variantStyles = getBadgeVariants()[variant];
3272
3268
  // Combine styles for the badge
3273
3269
  var combinedStyles = Object.assign({
3274
3270
  // Base styles
@@ -3530,7 +3526,9 @@
3530
3526
  getColor,
3531
3527
  themeMode
3532
3528
  } = appStudio.useTheme();
3533
- var colorStyle = getColor(color, elementMode ? elementMode : themeMode);
3529
+ var colorStyle = getColor(color, {
3530
+ themeMode: elementMode ? elementMode : themeMode
3531
+ });
3534
3532
  var sizeStyle = typeof size === 'number' ? size : DefaultSizes[size];
3535
3533
  var [angle, setAngle] = React.useState(0);
3536
3534
  React.useEffect(() => {
@@ -3577,7 +3575,9 @@
3577
3575
  getColor,
3578
3576
  themeMode
3579
3577
  } = appStudio.useTheme();
3580
- var colorStyle = getColor(color, elementMode ? elementMode : themeMode);
3578
+ var colorStyle = getColor(color, {
3579
+ themeMode: elementMode ? elementMode : themeMode
3580
+ });
3581
3581
  var sizeStyle = typeof size === 'number' ? size : DefaultSizes[size];
3582
3582
  var [angle, setAngle] = React.useState(0);
3583
3583
  React.useEffect(() => {
@@ -3623,7 +3623,9 @@
3623
3623
  getColor,
3624
3624
  themeMode
3625
3625
  } = appStudio.useTheme();
3626
- var colorStyle = getColor(color, elementMode ? elementMode : themeMode);
3626
+ var colorStyle = getColor(color, {
3627
+ themeMode: elementMode ? elementMode : themeMode
3628
+ });
3627
3629
  var sizeStyle = typeof size === 'number' ? size : DefaultSizes[size];
3628
3630
  var [angle, setAngle] = React.useState(0);
3629
3631
  React.useEffect(() => {
@@ -3690,9 +3692,10 @@
3690
3692
  // Exports the LoaderComponent as Loader, making it available for use in other parts of the application.
3691
3693
  var Loader = LoaderComponent;
3692
3694
 
3693
- var _excluded$a = ["icon", "shadow", "children", "ariaLabel", "to", "isAuto", "isFilled", "isIconRounded", "isLoading", "isDisabled", "size", "variant", "iconPosition", "shape", "onClick", "loaderProps", "loaderPosition", "effect", "isHovered", "setIsHovered", "isExternal", "themeMode", "views", "colorScheme"],
3695
+ var _excluded$a = ["icon", "shadow", "children", "ariaLabel", "to", "isAuto", "isFilled", "isIconRounded", "isLoading", "isDisabled", "size", "variant", "iconPosition", "shape", "onClick", "loaderProps", "loaderPosition", "effect", "isHovered", "setIsHovered", "isExternal", "themeMode", "views", "color", "backgroundColor"],
3694
3696
  _excluded2$3 = ["_hover", "_active"],
3695
3697
  _excluded3$3 = ["height"];
3698
+ // Using require for contrast as it seems to be a common pattern in your code
3696
3699
  var contrast = /*#__PURE__*/require('contrast');
3697
3700
  var ButtonView = _ref => {
3698
3701
  var _props$onClick;
@@ -3714,13 +3717,16 @@
3714
3717
  onClick = () => {},
3715
3718
  loaderProps = {},
3716
3719
  loaderPosition = 'left',
3717
- effect = 'default',
3718
- isHovered,
3720
+ effect = 'default' // 'default', 'hover', 'reverse'
3721
+ ,
3719
3722
  setIsHovered = () => {},
3720
3723
  isExternal = false,
3721
3724
  themeMode: elementMode,
3725
+ // Allow overriding themeMode for this element
3722
3726
  views,
3723
- colorScheme = 'theme.primary'
3727
+ color,
3728
+ // Text color prop
3729
+ backgroundColor = 'theme.primary' // Background color prop
3724
3730
  } = _ref,
3725
3731
  props = _objectWithoutPropertiesLoose(_ref, _excluded$a);
3726
3732
  var {
@@ -3732,83 +3738,170 @@
3732
3738
  var defaultNativeProps = {
3733
3739
  disabled: !isActive
3734
3740
  };
3735
- var buttonColor = isActive ? colorScheme : 'theme.disabled';
3736
- var hovering = isHovered && effect === 'hover';
3737
- var reverse = isHovered && effect === 'reverse';
3738
- // Determine if the button color is light or dark for proper contrast
3739
- var buttonMode = elementMode ? elementMode : themeMode;
3740
- var reverseMode = reverse && buttonMode == 'light' ? 'dark' : "light"; // Slightly darker
3741
- var isLight = contrast(getColor(buttonColor, buttonMode)) == 'light';
3742
- // Define button variants with effect support
3743
- var ButtonVariants = {
3744
- filled: {
3745
- backgroundColor: reverse ? 'transparent' : buttonColor,
3746
- color: reverse ? isLight ? 'white' : buttonColor : isLight ? buttonColor : 'white',
3747
- borderWidth: 1,
3748
- borderStyle: 'solid',
3749
- borderColor: reverse ? buttonColor : 'transparent',
3750
- _hover: {
3751
- themeMode: reverse && buttonMode == 'light' ? 'light' : "dark",
3752
- transform: 'translateY(-1px)',
3753
- boxShadow: '0 4px 8px rgba(0, 0, 0, 0.1)'
3741
+ // Determine the base background color key/value, considering disabled state
3742
+ var buttonBackgroundColorKey = isActive ? backgroundColor : 'theme.disabled';
3743
+ // --- Provided Color Logic ---
3744
+ // Determine the effective theme mode for this button
3745
+ var mode = elementMode != null ? elementMode : themeMode; // effective mode
3746
+ // Resolve the base background color string
3747
+ var bg = getColor(buttonBackgroundColorKey, {
3748
+ themeMode: mode
3749
+ });
3750
+ // Resolve the background color string in the opposite theme mode (for reverse effect, though not directly used for ghost/outline text contrast)
3751
+ // const bgHover = getColor(buttonBackgroundColorKey, {
3752
+ // themeMode: mode === 'light' ? 'dark' : 'light',
3753
+ // }); // bgHover is not strictly needed for the text contrast logic below
3754
+ // Check contrast of base background
3755
+ var isBgLight = contrast(bg) === mode;
3756
+ // Determine contrasting text color key for the base background
3757
+ var txtOnBgKey = isBgLight ? 'color.black' : 'color.white';
3758
+ // --- End Provided Color Logic ---
3759
+ // Determine the default text color key/value if 'color' prop is not provided
3760
+ // For filled buttons, default text color should contrast with the background (use txtOnBgKey).
3761
+ // For outline/link/ghost, a theme-appropriate text color is usually better (e.g., theme.text or theme.primary).
3762
+ var defaultTextColorKey;
3763
+ if (variant === 'filled') {
3764
+ defaultTextColorKey = txtOnBgKey; // Use the calculated contrasting color key
3765
+ } else {
3766
+ // For non-filled variants, default to theme's text color or primary color
3767
+ defaultTextColorKey = 'theme.primary'; // Or 'theme.primary' depending on design system
3768
+ }
3769
+ // Determine the actual key/value for the base text color
3770
+ // Use the provided 'color' prop if available, otherwise use the calculated default
3771
+ var baseTextColorKey = color || defaultTextColorKey;
3772
+ // Resolve the actual base text color string
3773
+ var resolvedBaseTextColor = getColor(baseTextColorKey, {
3774
+ themeMode: mode
3775
+ });
3776
+ // Resolve the contrasting color string for the base background (used for text in outline/ghost reverse)
3777
+ var contrastingColorForBg = getColor(txtOnBgKey, {
3778
+ themeMode: mode
3779
+ });
3780
+ // Resolve the contrasting color string for the base text color (used for text in ghost reverse)
3781
+ var isBaseTextLight = contrast(resolvedBaseTextColor) === 'light';
3782
+ var contrastingColorForBaseText = getColor(isBaseTextLight ? 'color.black' : 'color.white', {
3783
+ themeMode: mode
3784
+ });
3785
+ // --- Button Variant Styles Function ---
3786
+ // This function calculates the styles based on the current state (base, hover, active)
3787
+ var getButtonVariantStyles = _ref2 => {
3788
+ var {
3789
+ currentVariant,
3790
+ currentEffect,
3791
+ resolvedBg,
3792
+ // Resolved base background color string (bg)
3793
+ resolvedBaseTextColor,
3794
+ // Resolved base text color string
3795
+ contrastingColorForBg,
3796
+ // Resolved contrasting color string for resolvedBg
3797
+ contrastingColorForBaseText,
3798
+ // Resolved contrasting color string for resolvedBaseTextColor
3799
+ resolvedBorderColor
3800
+ } = _ref2;
3801
+ // Define the base styles for each variant
3802
+ var baseStyles = {
3803
+ filled: {
3804
+ backgroundColor: resolvedBg,
3805
+ color: resolvedBaseTextColor,
3806
+ borderWidth: 1,
3807
+ borderStyle: 'solid',
3808
+ borderColor: 'transparent'
3754
3809
  },
3755
- _active: {
3756
- themeMode: reverse && buttonMode == 'light' ? 'light' : "dark",
3757
- transform: 'translateY(0)',
3758
- boxShadow: '0 2px 4px rgba(0, 0, 0, 0.1)'
3759
- }
3760
- },
3761
- outline: {
3762
- backgroundColor: reverse ? buttonColor : 'transparent',
3763
- borderWidth: 1,
3764
- borderStyle: 'solid',
3765
- borderColor: reverse ? buttonColor : colorScheme,
3766
- color: reverse ? 'white' : buttonColor,
3767
- _hover: {
3768
- themeMode: reverse ? reverseMode : buttonMode,
3769
- transform: 'translateY(-1px)',
3770
- boxShadow: '0 4px 8px rgba(0, 0, 0, 0.05)'
3810
+ outline: {
3811
+ backgroundColor: 'transparent',
3812
+ color: resolvedBaseTextColor,
3813
+ borderWidth: 1,
3814
+ borderStyle: 'solid',
3815
+ borderColor: resolvedBorderColor
3771
3816
  },
3772
- _active: {
3773
- themeMode: reverse ? reverseMode : buttonMode,
3774
- transform: 'translateY(0)',
3775
- boxShadow: '0 2px 4px rgba(0, 0, 0, 0.05)'
3776
- }
3777
- },
3778
- link: {
3779
- backgroundColor: 'transparent',
3780
- borderWidth: 0,
3781
- borderStyle: 'none',
3782
- borderColor: 'transparent',
3783
- color: buttonColor,
3784
- textDecoration: reverse ? 'none' : 'underline',
3785
- _hover: {
3786
- opacity: 0.8,
3787
- textDecorationThickness: '2px'
3817
+ link: {
3818
+ backgroundColor: 'transparent',
3819
+ color: resolvedBg,
3820
+ borderWidth: 0,
3821
+ borderStyle: 'none',
3822
+ borderColor: 'transparent',
3823
+ textDecoration: 'underline'
3788
3824
  },
3789
- _active: {
3790
- opacity: 0.8,
3791
- textDecorationThickness: '2px'
3825
+ ghost: {
3826
+ backgroundColor: 'transparent',
3827
+ color: resolvedBaseTextColor,
3828
+ borderWidth: 0,
3829
+ borderStyle: 'none',
3830
+ borderColor: 'transparent'
3792
3831
  }
3793
- },
3794
- ghost: {
3795
- backgroundColor: reverse ? buttonColor : 'transparent',
3796
- color: reverse ? 'white' : buttonColor,
3797
- borderWidth: 0,
3798
- borderStyle: 'none',
3799
- borderColor: 'transparent',
3800
- _hover: {
3801
- themeMode: reverse ? reverseMode : buttonMode,
3802
- transform: 'translateY(-1px)'
3832
+ };
3833
+ // Define the styles applied on hover/active when effect is 'reverse'
3834
+ var reverseHoverActiveStyles = {
3835
+ filled: {
3836
+ backgroundColor: 'transparent',
3837
+ color: resolvedBg,
3838
+ borderWidth: 1,
3839
+ borderStyle: 'solid',
3840
+ borderColor: resolvedBg
3803
3841
  },
3804
- _active: {
3805
- themeMode: reverse ? reverseMode : buttonMode,
3806
- transform: 'translateY(0)'
3842
+ outline: {
3843
+ backgroundColor: resolvedBg,
3844
+ color: contrastingColorForBg,
3845
+ borderWidth: 1,
3846
+ borderStyle: 'solid',
3847
+ borderColor: 'transparent'
3848
+ },
3849
+ link: {
3850
+ backgroundColor: 'transparent',
3851
+ color: resolvedBg,
3852
+ borderWidth: 0,
3853
+ borderStyle: 'none',
3854
+ borderColor: 'transparent',
3855
+ textDecoration: 'none'
3856
+ },
3857
+ ghost: {
3858
+ backgroundColor: resolvedBg,
3859
+ color: contrastingColorForBaseText,
3860
+ borderWidth: 0,
3861
+ borderStyle: 'none',
3862
+ borderColor: 'transparent'
3807
3863
  }
3808
- }
3864
+ };
3865
+ // General hover/active effects (transform, shadow, opacity, etc.)
3866
+ var generalHoverStyles = {
3867
+ transform: 'translateY(2px)',
3868
+ boxShadow: currentVariant === 'link' ? undefined : '0 4px 8px rgba(0, 0, 0, 0.1)',
3869
+ // opacity: currentVariant === 'link' ? 0.8 : undefined,
3870
+ textDecorationThickness: currentVariant === 'link' ? '2px' : undefined
3871
+ };
3872
+ var generalActiveStyles = {
3873
+ transform: 'translateY(-1px)',
3874
+ boxShadow: '0 2px 4px rgba(0, 0, 0, 0.1)',
3875
+ opacity: currentVariant === 'link' ? 0.8 : undefined,
3876
+ textDecorationThickness: currentVariant === 'link' ? '2px' : undefined
3877
+ };
3878
+ // Combine base styles with conditional hover/active overrides
3879
+ return Object.assign({}, baseStyles[currentVariant], {
3880
+ _hover: Object.assign({}, currentEffect === 'reverse' ? reverseHoverActiveStyles[currentVariant] : {}, currentEffect === 'hover' ? {
3881
+ filter: 'brightness(0.85)'
3882
+ } : {}, generalHoverStyles),
3883
+ _active: Object.assign({}, currentEffect === 'reverse' ? reverseHoverActiveStyles[currentVariant] : {}, currentEffect === 'hover' ? {
3884
+ filter: 'brightness(0.7)'
3885
+ } : {}, generalActiveStyles)
3886
+ });
3809
3887
  };
3888
+ // Get the calculated variant styles for the current state
3889
+ var buttonVariantStyles = getButtonVariantStyles({
3890
+ currentVariant: variant,
3891
+ currentEffect: effect,
3892
+ resolvedBg: bg,
3893
+ resolvedBaseTextColor: resolvedBaseTextColor,
3894
+ contrastingColorForBg: contrastingColorForBg,
3895
+ contrastingColorForBaseText: contrastingColorForBaseText,
3896
+ resolvedBorderColor: bg
3897
+ });
3898
+ // Extract hover and active styles from the calculated styles
3899
+ var {
3900
+ _hover,
3901
+ _active
3902
+ } = buttonVariantStyles,
3903
+ baseButtonVariantStyles = _objectWithoutPropertiesLoose(buttonVariantStyles, _excluded2$3);
3810
3904
  var buttonSizeStyles = ButtonSizes[size];
3811
- var buttonVariant = ButtonVariants[variant];
3812
3905
  var scaleWidth = {
3813
3906
  width: isAuto === true ? 'fit-content' : isFilled ? '100%' : buttonSizeStyles.width
3814
3907
  };
@@ -3821,62 +3914,68 @@
3821
3914
  alignItems: "center",
3822
3915
  justifyContent: "center"
3823
3916
  }, views == null ? void 0 : views.container), isLoading && loaderPosition === 'left' && (/*#__PURE__*/React__default.createElement(Loader, Object.assign({
3824
- size: size === 'xs' || size === 'sm' ? 'sm' : 'md'
3917
+ size: size === 'xs' || size === 'sm' ? 'sm' : 'md',
3918
+ color: baseButtonVariantStyles.color
3825
3919
  }, loaderProps))), icon && ['left', 'top'].includes(iconPosition) && !isLoading && (/*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({
3826
3920
  display: "flex",
3827
3921
  alignItems: "center",
3828
- justifyContent: "center"
3922
+ justifyContent: "center",
3923
+ color: baseButtonVariantStyles.color
3829
3924
  }, views == null ? void 0 : views.icon), icon)), children, icon && ['right', 'bottom'].includes(iconPosition) && !isLoading && (/*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({
3830
3925
  display: "flex",
3831
3926
  alignItems: "center",
3832
- justifyContent: "center"
3927
+ justifyContent: "center",
3928
+ color: baseButtonVariantStyles.color
3833
3929
  }, views == null ? void 0 : views.icon), icon)), isLoading && loaderPosition === 'right' && (/*#__PURE__*/React__default.createElement(Loader, Object.assign({
3834
- size: size === 'xs' || size === 'sm' ? 'sm' : 'md'
3930
+ size: size === 'xs' || size === 'sm' ? 'sm' : 'md',
3931
+ color: baseButtonVariantStyles.color
3835
3932
  }, loaderProps))));
3836
- // Extract hover and active styles from buttonVariant
3837
- var _ref2 = buttonVariant || {},
3838
- {
3839
- _hover,
3840
- _active
3841
- } = _ref2,
3842
- baseButtonVariant = _objectWithoutPropertiesLoose(_ref2, _excluded2$3);
3933
+ // Determine if the button should render as a Link or a button Element
3934
+ var isLink = variant === 'link' && to;
3843
3935
  return /*#__PURE__*/React__default.createElement(appStudio.Element, Object.assign({
3844
3936
  gap: 8,
3845
- as: "button",
3846
- type: "button",
3937
+ as: isLink ? 'div' : 'button',
3938
+ type: isLink ? undefined : 'button',
3847
3939
  display: "flex",
3848
3940
  alignItems: "center",
3849
3941
  justifyContent: "center",
3850
3942
  "aria-label": ariaLabel,
3851
- backgroundColor: "transparent",
3943
+ // backgroundColor="transparent" // Remove this unless it's intended to override variant styles
3852
3944
  borderRadius: ButtonShapes[shape],
3853
3945
  onClick: (_props$onClick = props.onClick) != null ? _props$onClick : onClick,
3854
3946
  onMouseEnter: () => handleHover(true),
3855
3947
  onMouseLeave: () => handleHover(false),
3856
- cursor: isActive ? 'pointer' : 'default',
3857
- filter: hovering && effect === 'hover' ? 'brightness(0.85)' : 'brightness(1)',
3948
+ cursor: isActive ? isLink ? 'pointer' : 'pointer' : 'default',
3858
3949
  transition: "all 0.2s ease",
3859
- transform: hovering && effect === 'hover' && !isDisabled ? 'translateY(-5px)' : '',
3860
- // Apply consistent styling according to design guidelines
3950
+ // filter and transform are now handled within _hover/_active styles
3861
3951
  // Apply shadow if provided
3862
3952
  boxShadow: shadow ? shadow : undefined
3863
3953
  }, defaultNativeProps, (_ref3 => {
3864
3954
  var rest = _objectWithoutPropertiesLoose(_ref3, _excluded3$3);
3865
3955
  return rest;
3866
- })(props), buttonSizeStyles, baseButtonVariant, scaleWidth, props.padding || props.paddingHorizontal || props.paddingVertical || props.paddingLeft || props.paddingRight || props.paddingTop || props.paddingBottom ? {} : changePadding, {
3956
+ })(props), buttonSizeStyles, baseButtonVariantStyles, scaleWidth, props.padding || props.paddingHorizontal || props.paddingVertical || props.paddingLeft || props.paddingRight || props.paddingTop || props.paddingBottom ? {} : changePadding, {
3867
3957
  // Apply hover and active styles
3868
3958
  _hover: _hover,
3869
3959
  _active: _active
3870
- }, views == null ? void 0 : views.container), variant === 'link' && to ? (/*#__PURE__*/React__default.createElement(Link, Object.assign({
3960
+ }), to ? (/*#__PURE__*/React__default.createElement(Link, Object.assign({
3871
3961
  to: to,
3872
- textDecorationColor: colorScheme,
3873
- textDecorationThickness: "1px",
3962
+ isExternal: isExternal,
3963
+ // Link styles should inherit from the button's calculated styles or be defined here
3964
+ // Let's apply relevant styles from the button variant to the Link
3965
+ color: baseButtonVariantStyles.color,
3966
+ textDecoration: baseButtonVariantStyles.textDecoration,
3967
+ textDecorationColor: baseButtonVariantStyles.color,
3968
+ textDecorationThickness: "1px" // Base thickness
3969
+ ,
3874
3970
  textUnderlineOffset: "2px",
3875
3971
  transition: "all 0.2s ease",
3876
- isExternal: isExternal,
3877
- _hover: {
3972
+ // Apply Link-specific hover/active styles if needed, or let Element's _hover/_active handle it
3973
+ _hover: Object.assign({}, _hover, {
3878
3974
  textDecorationThickness: '2px'
3879
- }
3975
+ }),
3976
+ _active: Object.assign({}, _active, {
3977
+ textDecorationThickness: '2px'
3978
+ })
3880
3979
  }, views == null ? void 0 : views.link), content)) : content);
3881
3980
  };
3882
3981
 
@@ -3929,30 +4028,29 @@
3929
4028
  * Get card variants with consistent styling based on theme mode
3930
4029
  */
3931
4030
  var getCardVariants = themeMode => {
3932
- var isDarkMode = themeMode === 'dark';
3933
4031
  return {
3934
4032
  default: {
3935
- backgroundColor: isDarkMode ? 'color.gray.800' : 'white',
4033
+ backgroundColor: 'color.white',
3936
4034
  border: 'none',
3937
4035
  transition: 'all 0.2s ease'
3938
4036
  },
3939
4037
  outlined: {
3940
- backgroundColor: isDarkMode ? 'color.gray.800' : 'white',
4038
+ backgroundColor: 'color.white',
3941
4039
  borderWidth: '1px',
3942
4040
  borderStyle: 'solid',
3943
- borderColor: isDarkMode ? 'color.gray.700' : 'color.gray.200',
4041
+ borderColor: 'color.gray.200',
3944
4042
  transition: 'all 0.2s ease',
3945
4043
  _hover: {
3946
- borderColor: isDarkMode ? 'color.gray.600' : 'color.gray.300'
4044
+ borderColor: 'color.gray.300'
3947
4045
  }
3948
4046
  },
3949
4047
  elevated: {
3950
- backgroundColor: isDarkMode ? 'color.gray.800' : 'white',
3951
- boxShadow: isDarkMode ? '0px 2px 8px rgba(0, 0, 0, 0.2)' : '0px 2px 8px rgba(0, 0, 0, 0.08)',
4048
+ backgroundColor: 'color.white',
4049
+ boxShadow: '0px 2px 8px rgba(0, 0, 0, 0.08)',
3952
4050
  border: 'none',
3953
4051
  transition: 'all 0.2s ease',
3954
4052
  _hover: {
3955
- boxShadow: isDarkMode ? '0px 4px 12px rgba(0, 0, 0, 0.25)' : '0px 4px 12px rgba(0, 0, 0, 0.12)',
4053
+ boxShadow: '0px 4px 12px rgba(0, 0, 0, 0.12)',
3956
4054
  transform: 'translateY(-2px)'
3957
4055
  }
3958
4056
  }
@@ -3963,14 +4061,10 @@
3963
4061
  * @param theme - Theme object from useTheme hook
3964
4062
  */
3965
4063
  var getDefaultCardStyles = theme => {
3966
- var {
3967
- themeMode
3968
- } = theme;
3969
- var isDarkMode = themeMode === 'dark';
3970
4064
  return {
3971
4065
  container: {
3972
- backgroundColor: isDarkMode ? 'color.gray.800' : 'white',
3973
- color: isDarkMode ? 'color.gray.100' : 'color.gray.900',
4066
+ backgroundColor: 'color.white',
4067
+ color: 'color.black',
3974
4068
  borderRadius: '8px',
3975
4069
  overflow: 'hidden',
3976
4070
  transition: 'all 0.2s ease'
@@ -3979,17 +4073,18 @@
3979
4073
  padding: '16px',
3980
4074
  borderBottomWidth: '1px',
3981
4075
  borderBottomStyle: 'solid',
3982
- borderBottomColor: isDarkMode ? 'color.gray.700' : 'color.gray.200'
4076
+ borderBottomColor: 'color.gray.200',
4077
+ color: 'color.black'
3983
4078
  },
3984
4079
  content: {
3985
4080
  padding: '16px',
3986
- color: isDarkMode ? 'color.gray.100' : 'color.gray.900'
4081
+ color: 'color.black'
3987
4082
  },
3988
4083
  footer: {
3989
4084
  padding: '16px',
3990
4085
  borderTopWidth: '1px',
3991
4086
  borderTopStyle: 'solid',
3992
- borderTopColor: isDarkMode ? 'color.gray.700' : 'color.gray.200'
4087
+ borderTopColor: 'color.gray.200'
3993
4088
  }
3994
4089
  };
3995
4090
  };
@@ -4014,7 +4109,7 @@
4014
4109
  var {
4015
4110
  styles: contextStyles
4016
4111
  } = useCardContext();
4017
- var defaultStyles = getDefaultCardStyles(theme).header;
4112
+ var defaultStyles = getDefaultCardStyles().header;
4018
4113
  // Merge styles: Default < Context Override < Direct Props/Style
4019
4114
  var mergedProps = Object.assign({}, defaultStyles, contextStyles == null ? void 0 : contextStyles.header, props, {
4020
4115
  style: Object.assign({}, defaultStyles == null ? void 0 : defaultStyles.style, contextStyles == null || (_contextStyles$header = contextStyles.header) == null ? void 0 : _contextStyles$header.style, style)
@@ -4032,7 +4127,7 @@
4032
4127
  var {
4033
4128
  styles: contextStyles
4034
4129
  } = useCardContext();
4035
- var defaultStyles = getDefaultCardStyles(theme).content;
4130
+ var defaultStyles = getDefaultCardStyles().content;
4036
4131
  // Merge styles: Default < Context Override < Direct Props/Style
4037
4132
  var mergedProps = Object.assign({}, defaultStyles, contextStyles == null ? void 0 : contextStyles.content, props, {
4038
4133
  style: Object.assign({}, defaultStyles == null ? void 0 : defaultStyles.style, contextStyles == null || (_contextStyles$conten = contextStyles.content) == null ? void 0 : _contextStyles$conten.style, style)
@@ -4050,7 +4145,7 @@
4050
4145
  var {
4051
4146
  styles: contextStyles
4052
4147
  } = useCardContext();
4053
- var defaultStyles = getDefaultCardStyles(theme).footer;
4148
+ var defaultStyles = getDefaultCardStyles().footer;
4054
4149
  // Merge styles: Default < Context Override < Direct Props/Style
4055
4150
  var mergedProps = Object.assign({}, defaultStyles, contextStyles == null ? void 0 : contextStyles.footer, props, {
4056
4151
  style: Object.assign({}, defaultStyles == null ? void 0 : defaultStyles.style, contextStyles == null || (_contextStyles$footer = contextStyles.footer) == null ? void 0 : _contextStyles$footer.style, style)
@@ -4073,7 +4168,7 @@
4073
4168
  } = _ref4,
4074
4169
  props = _objectWithoutPropertiesLoose(_ref4, _excluded4$3);
4075
4170
  var theme = appStudio.useTheme();
4076
- var defaultStyles = getDefaultCardStyles(theme);
4171
+ var defaultStyles = getDefaultCardStyles();
4077
4172
  // Prepare context value, merging default styles with user's `views` overrides
4078
4173
  var contextValue = React.useMemo(() => ({
4079
4174
  styles: {
@@ -4086,12 +4181,7 @@
4086
4181
  // Determine if we have explicit Card.Header, Card.Content, Card.Footer components
4087
4182
  // or if we need to wrap children in a default layout
4088
4183
  var hasExplicitStructure = React__default.Children.toArray(children).some(child => /*#__PURE__*/React__default.isValidElement(child) && (child.type === CardHeader || child.type === CardContent || child.type === CardFooter));
4089
- // Get the appropriate variant styles based on theme mode
4090
- var {
4091
- themeMode
4092
- } = theme;
4093
- var currentThemeMode = elementMode || themeMode;
4094
- var variantStyles = getCardVariants(currentThemeMode)[variant];
4184
+ var variantStyles = getCardVariants()[variant];
4095
4185
  // Merge styles for the root element
4096
4186
  var mergedRootProps = Object.assign({
4097
4187
  width: isFullWidth ? '100%' : 'auto',
@@ -4338,7 +4428,7 @@
4338
4428
  },
4339
4429
  number: {
4340
4430
  backgroundColor: 'theme.primary',
4341
- color: 'white'
4431
+ color: 'color.white'
4342
4432
  }
4343
4433
  };
4344
4434
  var NavigationButtonStyles = {
@@ -4783,7 +4873,7 @@
4783
4873
  // Default styles for tooltip
4784
4874
  var TooltipStyles = {
4785
4875
  position: 'absolute',
4786
- backgroundColor: 'white',
4876
+ backgroundColor: 'color.white',
4787
4877
  padding: '8px 12px',
4788
4878
  borderRadius: '4px',
4789
4879
  boxShadow: '0 2px 5px rgba(0, 0, 0, 0.1)',
@@ -5620,7 +5710,7 @@
5620
5710
  };
5621
5711
  var ContextMenuVariants = {
5622
5712
  default: {
5623
- backgroundColor: 'white',
5713
+ backgroundColor: 'color.white',
5624
5714
  color: 'color.gray.800'
5625
5715
  },
5626
5716
  filled: {
@@ -5628,7 +5718,7 @@
5628
5718
  color: 'color.gray.800'
5629
5719
  },
5630
5720
  outline: {
5631
- backgroundColor: 'white',
5721
+ backgroundColor: 'color.white',
5632
5722
  borderWidth: '1px',
5633
5723
  borderStyle: 'solid',
5634
5724
  borderColor: 'color.gray.200',
@@ -6298,7 +6388,7 @@
6298
6388
  borderWidth: '1px',
6299
6389
  borderStyle: 'solid',
6300
6390
  borderColor: 'color.gray.200',
6301
- backgroundColor: 'white',
6391
+ backgroundColor: 'color.white',
6302
6392
  transition: 'all 0.2s ease',
6303
6393
  _hover: {
6304
6394
  borderColor: 'color.gray.300'
@@ -6314,7 +6404,7 @@
6314
6404
  borderBottomStyle: 'solid',
6315
6405
  borderBottomColor: 'color.gray.200',
6316
6406
  borderRadius: 0,
6317
- backgroundColor: 'white',
6407
+ backgroundColor: 'color.white',
6318
6408
  transition: 'all 0.2s ease',
6319
6409
  _hover: {
6320
6410
  borderBottomColor: 'color.gray.300'
@@ -6750,7 +6840,7 @@
6750
6840
  ,
6751
6841
  overflowY: "auto",
6752
6842
  zIndex: 1000,
6753
- backgroundColor: "white",
6843
+ backgroundColor: "color.white",
6754
6844
  borderRadius: "8px" // Consistent with design system (rounded-md)
6755
6845
  ,
6756
6846
  borderWidth: "1px",
@@ -7459,7 +7549,9 @@
7459
7549
  getColor,
7460
7550
  themeMode
7461
7551
  } = appStudio.useTheme();
7462
- var IconColor = getColor('color.blueGray.700', elementMode ? elementMode : themeMode);
7552
+ var IconColor = getColor('color.blueGray.700', {
7553
+ themeMode: elementMode ? elementMode : themeMode
7554
+ });
7463
7555
  var showLabel = !!(isFocused && label);
7464
7556
  /**
7465
7557
  * Styles for the input field
@@ -7645,19 +7737,19 @@
7645
7737
  selected: {
7646
7738
  backgroundColor: 'theme.primary',
7647
7739
  borderColor: 'theme.primary',
7648
- color: 'white'
7740
+ color: 'color.white'
7649
7741
  },
7650
7742
  unselected: {
7651
- backgroundColor: 'transparent',
7743
+ backgroundColor: 'color.white',
7652
7744
  borderWidth: '2px',
7653
7745
  borderStyle: 'solid',
7654
7746
  borderColor: 'color.gray.300',
7655
- color: 'transparent'
7747
+ color: 'color.black'
7656
7748
  },
7657
7749
  indeterminate: {
7658
7750
  backgroundColor: 'theme.primary',
7659
7751
  borderColor: 'theme.primary',
7660
- color: 'white'
7752
+ color: 'color.white'
7661
7753
  }
7662
7754
  };
7663
7755
  /**
@@ -9391,7 +9483,7 @@
9391
9483
  borderRadius: 4,
9392
9484
  position: "absolute",
9393
9485
  flexDirection: "column",
9394
- backgroundColor: "white",
9486
+ backgroundColor: "color.white",
9395
9487
  boxShadow: "rgba(0, 0, 0, 0.07) 0px 1px 1px, rgba(0, 0, 0, 0.07) 0px 2px 2px, rgba(0, 0, 0, 0.07) 0px 4px 4px, rgba(0, 0, 0, 0.07) 0px 8px 8px, rgba(0, 0, 0, 0.07) 0px 16px 16px"
9396
9488
  }, views['dropDown']), options.map(option => (/*#__PURE__*/React__default.createElement(DropDownItem, Object.assign({
9397
9489
  key: option.code,
@@ -9441,7 +9533,9 @@
9441
9533
  getColor,
9442
9534
  themeMode
9443
9535
  } = appStudio.useTheme();
9444
- var IconColor = getColor('color.blueGray.700', elementMode ? elementMode : themeMode);
9536
+ var IconColor = getColor('color.blueGray.700', {
9537
+ themeMode: elementMode ? elementMode : themeMode
9538
+ });
9445
9539
  var handleHover = () => setIsHovered(!isHovered);
9446
9540
  var handleFocus = () => setIsFocused(true);
9447
9541
  var handleCallback = option => {
@@ -9818,7 +9912,7 @@
9818
9912
  position: "relative"
9819
9913
  }, /*#__PURE__*/React__default.createElement(appStudio.Horizontal, Object.assign({
9820
9914
  cursor: "pointer",
9821
- backgroundColor: "white",
9915
+ backgroundColor: "color.white",
9822
9916
  boxShadow: "rgba(0, 0, 0, 0.16) 0px 1px 4px",
9823
9917
  padding: "12px",
9824
9918
  display: "flex",
@@ -9840,7 +9934,7 @@
9840
9934
  }, views == null ? void 0 : views.label), selectedItem.label)), right, isDropdownVisible && (/*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({
9841
9935
  id: "combobox-dropdown",
9842
9936
  position: "absolute",
9843
- backgroundColor: "white",
9937
+ backgroundColor: "color.white",
9844
9938
  boxShadow: "rgba(0, 0 ,0 ,0.16) 0px 1px 4px",
9845
9939
  width: "100%",
9846
9940
  overflowY: "auto",
@@ -11057,7 +11151,7 @@
11057
11151
  }
11058
11152
  };
11059
11153
 
11060
- var _excluded$F = ["min", "max", "step", "currentValue", "stepValues", "shape", "size", "variant", "orientation", "isDisabled", "showValue", "showTooltip", "colorScheme", "label", "helperText", "themeMode", "shadow", "isDragging", "isHovered", "setIsHovered", "trackRef", "thumbRef", "handleThumbMouseDown", "handleTrackMouseDown", "handleKeyDown", "thumbPositionPercent", "ariaLabel", "views"];
11154
+ var _excluded$F = ["min", "max", "step", "currentValue", "stepValues", "shape", "size", "variant", "orientation", "isDisabled", "showValue", "showTooltip", "backgroundColor", "label", "helperText", "themeMode", "shadow", "isDragging", "isHovered", "setIsHovered", "trackRef", "thumbRef", "handleThumbMouseDown", "handleTrackMouseDown", "handleKeyDown", "thumbPositionPercent", "ariaLabel", "views"];
11061
11155
  var SliderView = _ref => {
11062
11156
  var _views$tooltip, _views$tooltip2;
11063
11157
  var {
@@ -11073,7 +11167,7 @@
11073
11167
  isDisabled = false,
11074
11168
  showValue = false,
11075
11169
  showTooltip = false,
11076
- colorScheme = 'theme.primary',
11170
+ backgroundColor = 'theme.primary',
11077
11171
  label,
11078
11172
  helperText,
11079
11173
  themeMode: elementMode,
@@ -11105,9 +11199,15 @@
11105
11199
  getColor,
11106
11200
  themeMode
11107
11201
  } = appStudio.useTheme();
11108
- var themeColor = getColor(colorScheme, elementMode || themeMode);
11109
- var disabledColor = getColor('theme.disabled', elementMode || themeMode);
11110
- var trackColor = getColor(SliderVariants[variant].backgroundColor, elementMode || themeMode);
11202
+ var themeColor = getColor(backgroundColor, {
11203
+ themeMode: elementMode || themeMode
11204
+ });
11205
+ var disabledColor = getColor('theme.disabled', {
11206
+ themeMode: elementMode || themeMode
11207
+ });
11208
+ var trackColor = getColor(SliderVariants[variant].backgroundColor, {
11209
+ themeMode: elementMode || themeMode
11210
+ });
11111
11211
  var isVertical = orientation === 'vertical';
11112
11212
  var {
11113
11213
  trackCrossAxisSize,
@@ -11177,7 +11277,7 @@
11177
11277
  top: "50%",
11178
11278
  left: thumbPositionPercent + "%",
11179
11279
  borderRadius: "50%",
11180
- backgroundColor: "white",
11280
+ backgroundColor: "color.white",
11181
11281
  boxShadow: "0 2px 4px rgba(0, 0, 0, 0.2)",
11182
11282
  border: "2px solid " + (isDisabled ? disabledColor : themeColor),
11183
11283
  transition: isDragging ? 'none' : 'transform 0.1s ease-in-out',
@@ -12245,7 +12345,7 @@
12245
12345
  };
12246
12346
  return /*#__PURE__*/React__default.createElement(appStudio.Vertical, Object.assign({
12247
12347
  cursor: "default",
12248
- backgroundColor: "white",
12348
+ backgroundColor: "color.white",
12249
12349
  width: isFullScreen ? '100%' : 600,
12250
12350
  height: isFullScreen ? '100%' : 'fit-content',
12251
12351
  onClick: handleClick,
@@ -13652,7 +13752,7 @@
13652
13752
  };
13653
13753
  var DropdownMenuVariants = {
13654
13754
  default: {
13655
- backgroundColor: 'white',
13755
+ backgroundColor: 'color.white',
13656
13756
  color: 'color.gray.800'
13657
13757
  },
13658
13758
  filled: {
@@ -13660,7 +13760,7 @@
13660
13760
  color: 'color.gray.800'
13661
13761
  },
13662
13762
  outline: {
13663
- backgroundColor: 'white',
13763
+ backgroundColor: 'color.white',
13664
13764
  borderWidth: '1px',
13665
13765
  borderStyle: 'solid',
13666
13766
  borderColor: 'color.gray.200',
@@ -14540,7 +14640,7 @@
14540
14640
  position: "absolute",
14541
14641
  zIndex: 1000,
14542
14642
  minWidth: "200px",
14543
- backgroundColor: "white",
14643
+ backgroundColor: "color.white",
14544
14644
  borderRadius: 4,
14545
14645
  boxShadow: "0px 2px 8px rgba(0, 0, 0, 0.15)",
14546
14646
  overflow: "hidden"
@@ -14792,7 +14892,7 @@
14792
14892
  };
14793
14893
  var ActivePageButtonStyles = {
14794
14894
  backgroundColor: 'color.blue.500',
14795
- color: 'white',
14895
+ color: 'color.white',
14796
14896
  _hover: {
14797
14897
  backgroundColor: 'color.blue.600'
14798
14898
  }
@@ -14945,7 +15045,7 @@
14945
15045
  borderWidth: "1px",
14946
15046
  borderStyle: "solid",
14947
15047
  borderColor: "color.gray.200",
14948
- backgroundColor: "white",
15048
+ backgroundColor: "color.white",
14949
15049
  cursor: "pointer",
14950
15050
  value: pageSize,
14951
15051
  onChange: handlePageSizeChange
@@ -15221,7 +15321,7 @@
15221
15321
  var getSidebar = themeMode => {
15222
15322
  return {
15223
15323
  default: {
15224
- backgroundColor: 'white',
15324
+ backgroundColor: 'color.white',
15225
15325
  color: 'color.gray.800',
15226
15326
  transition: 'all 0.2s ease'
15227
15327
  },
@@ -15231,7 +15331,7 @@
15231
15331
  transition: 'all 0.2s ease'
15232
15332
  },
15233
15333
  outline: {
15234
- backgroundColor: 'white',
15334
+ backgroundColor: 'color.white',
15235
15335
  borderWidth: '1px',
15236
15336
  borderStyle: 'solid',
15237
15337
  borderColor: 'color.gray.200',
@@ -15244,7 +15344,7 @@
15244
15344
  transition: 'all 0.2s ease'
15245
15345
  },
15246
15346
  elevated: {
15247
- backgroundColor: 'white',
15347
+ backgroundColor: 'color.white',
15248
15348
  boxShadow: '0px 4px 8px rgba(0, 0, 0, 0.1)',
15249
15349
  color: 'color.gray.800',
15250
15350
  transition: 'all 0.2s ease'
@@ -16899,7 +16999,7 @@
16899
16999
  var getCommand = themeMode => {
16900
17000
  return {
16901
17001
  default: {
16902
- backgroundColor: 'white',
17002
+ backgroundColor: 'color.white',
16903
17003
  borderWidth: '1px',
16904
17004
  borderStyle: 'solid',
16905
17005
  borderColor: 'color.gray.200',
@@ -16913,7 +17013,7 @@
16913
17013
  boxShadow: '0px 4px 20px rgba(0, 0, 0, 0.1)'
16914
17014
  },
16915
17015
  outline: {
16916
- backgroundColor: 'white',
17016
+ backgroundColor: 'color.white',
16917
17017
  borderWidth: '2px',
16918
17018
  borderStyle: 'solid',
16919
17019
  borderColor: 'color.gray.300',