@app-studio/web 0.9.78 → 0.9.80

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/web.esm.js CHANGED
@@ -24,7 +24,6 @@ import 'core-js/modules/es.parse-int.js';
24
24
  import { Link as Link$1 } from 'react-router-dom';
25
25
  import 'core-js/modules/es.parse-float.js';
26
26
  import 'core-js/modules/es.string.ends-with.js';
27
- import contrast from 'contrast';
28
27
  import 'core-js/modules/es.promise.js';
29
28
  import 'core-js/modules/es.array.reduce.js';
30
29
  import 'core-js/modules/es.number.to-fixed.js';
@@ -35,6 +34,7 @@ import 'core-js/modules/es.regexp.exec.js';
35
34
  import { useFormikContext, getIn } from 'formik';
36
35
  import 'core-js/modules/es.string.replace.js';
37
36
  import 'core-js/modules/es.string.split.js';
37
+ import contrast from 'contrast';
38
38
  import 'core-js/modules/es.promise.finally.js';
39
39
  import 'core-js/modules/es.string.match.js';
40
40
  import 'core-js/modules/es.string.search.js';
@@ -2778,11 +2778,10 @@ var IconSizes$1 = {
2778
2778
  padding: 14
2779
2779
  }
2780
2780
  };
2781
- var getButtonVariants = function getButtonVariants(color, isLight, reversed) {
2781
+ var getButtonVariants = function getButtonVariants(color, textColor, reversed) {
2782
2782
  if (reversed === void 0) {
2783
2783
  reversed = false;
2784
2784
  }
2785
- var textColor = isLight ? '#000000' : '#FFFFFF';
2786
2785
  // Determine effective colors based on reversed state
2787
2786
  var effectiveBg = reversed ? textColor : color;
2788
2787
  var effectiveContent = reversed ? color : textColor;
@@ -2909,8 +2908,8 @@ var getButtonVariants = function getButtonVariants(color, isLight, reversed) {
2909
2908
 
2910
2909
  var _excluded$d = ["asComponent", "isDisabled", "isLoading", "isWrapped", "borderRadius", "width", "height", "baseStyles", "sizeStyles", "iconPad", "mainTone", "resolvedTextColor", "children", "borderWidth"],
2911
2910
  _excluded2$3 = ["shape", "isDisabled", "onClick", "shadow", "borderWidth", "isAuto", "isFilled", "views", "children"],
2912
- _excluded3$2 = ["variant", "animation", "to", "isDisabled", "isLoading", "isAuto", "isFilled", "isExternal", "shape", "shadow", "onClick", "views", "baseStyles", "sizeStyles", "iconPad", "resolvedTextColor", "content", "size", "mainTone", "tone", "borderMovingDuration", "borderMovingGradientColors", "animatedStrokeAccentColor", "animatedStrokeTextColor", "getColor"],
2913
- _excluded4$2 = ["variant", "size", "shape", "iconPosition", "loaderPosition", "backgroundColor", "color", "scheme", "reversed", "isAuto", "isFilled", "isDisabled", "isLoading", "isIconRounded", "icon", "children", "to", "isExternal", "shadow", "onClick", "views", "borderMovingDuration", "borderMovingGradientColors", "animatedStrokeAccentColor", "animatedStrokeTextColor"];
2911
+ _excluded3$2 = ["variant", "animation", "to", "isDisabled", "isLoading", "isAuto", "isFilled", "isExternal", "shape", "shadow", "onClick", "views", "baseStyles", "sizeStyles", "iconPad", "resolvedTextColor", "content", "size", "mainTone", "borderMovingDuration", "borderMovingGradientColors", "animatedStrokeAccentColor", "animatedStrokeTextColor", "getColor"],
2912
+ _excluded4$2 = ["variant", "size", "shape", "iconPosition", "loaderPosition", "backgroundColor", "color", "textColor", "reversed", "isAuto", "isFilled", "isDisabled", "isLoading", "isIconRounded", "icon", "children", "to", "isExternal", "shadow", "onClick", "views", "borderMovingDuration", "borderMovingGradientColors", "animatedStrokeAccentColor", "animatedStrokeTextColor"];
2914
2913
  // --- Helper: Button Content ---
2915
2914
  // Renders the inner content: Loader, Icon, and Children.
2916
2915
  var ButtonContent = _ref => {
@@ -3270,7 +3269,7 @@ var StandardButton = _ref4 => {
3270
3269
  // --- Main Component ---
3271
3270
  // --- Main Component ---
3272
3271
  var ButtonView = _ref5 => {
3273
- var _ref6, _ref7, _base$color;
3272
+ var _ref6, _base$color;
3274
3273
  var {
3275
3274
  /* behaviour */
3276
3275
  variant = 'filled',
@@ -3279,13 +3278,13 @@ var ButtonView = _ref5 => {
3279
3278
  iconPosition = 'left',
3280
3279
  loaderPosition = 'left',
3281
3280
  backgroundColor,
3282
- // primary candidate for main color
3281
+ // Primary override for main color
3283
3282
  color,
3284
- // 2nd candidate for main color (NOT text‑color)
3285
- scheme,
3286
- // New scheme prop
3283
+ // Main button color (theme tokens or color palette)
3284
+ textColor,
3285
+ // Explicit text color
3287
3286
  reversed = false,
3288
- // New reversed prop
3287
+ // Reverse colors for dark backgrounds
3289
3288
  isAuto = true,
3290
3289
  isFilled,
3291
3290
  isDisabled,
@@ -3310,24 +3309,30 @@ var ButtonView = _ref5 => {
3310
3309
  props = _objectWithoutPropertiesLoose(_ref5, _excluded4$2);
3311
3310
  /* theme helpers */
3312
3311
  var {
3313
- getColorHex,
3314
- themeMode
3312
+ getColorHex
3315
3313
  } = useTheme();
3316
3314
  /* MAIN COLOR – determines the entire palette */
3317
- var mainColorKey = (_ref6 = (_ref7 = backgroundColor != null ? backgroundColor : color) != null ? _ref7 : scheme) != null ? _ref6 : 'theme.primary';
3318
- var mainTone = getColorHex(isDisabled ? 'theme.disabled' : mainColorKey);
3319
- var tone = contrast(mainTone);
3320
- /* text color with mixBlendMode for maximum visibility */
3321
- var textColor;
3322
- if (tone === 'light') {
3323
- textColor = '#000000';
3324
- } else {
3325
- textColor = '#FFFFFF';
3315
+ // Priority: explicit backgroundColor/color prop -> theme.button.background -> theme.primary
3316
+ var mainColorKey = (_ref6 = backgroundColor != null ? backgroundColor : color) != null ? _ref6 : 'theme.button.background';
3317
+ // Decide which theme token to resolve based on state
3318
+ var stateColorKey = isDisabled ? 'theme.disabled' : isLoading ? 'theme.loading' : mainColorKey;
3319
+ // Resolve to actual hex color.
3320
+ // If 'theme.button.background' isn't defined, it falls back to 'theme.primary'
3321
+ var mainTone = getColorHex(stateColorKey);
3322
+ if (mainTone === 'theme.button.background' || mainTone === 'theme.loading') {
3323
+ mainTone = getColorHex(isLoading ? 'color.dark.500' : 'theme.primary');
3324
+ }
3325
+ /* text color - explicitly provided or default to white */
3326
+ // Priority: explicit textColor prop -> theme.button.text -> color.white
3327
+ var resolvedTextColorKey = textColor != null ? textColor : 'theme.button.text';
3328
+ var resolvedTextColor = getColorHex(resolvedTextColorKey);
3329
+ if (resolvedTextColor === 'theme.button.text') {
3330
+ resolvedTextColor = getColorHex('color.white');
3326
3331
  }
3327
3332
  /* variant palette */
3328
- var palette = useMemo(() => getButtonVariants(mainTone, tone === 'light', reversed), [mainTone, tone, reversed]);
3333
+ var palette = useMemo(() => getButtonVariants(mainTone, resolvedTextColor, reversed), [mainTone, resolvedTextColor, reversed]);
3329
3334
  var base = palette[variant];
3330
- var resolvedTextColor = (_base$color = base == null ? void 0 : base.color) != null ? _base$color : textColor;
3335
+ var finalContentColor = (_base$color = base == null ? void 0 : base.color) != null ? _base$color : resolvedTextColor;
3331
3336
  // Render content logic safely
3332
3337
  var content = /*#__PURE__*/React.createElement(ButtonContent, {
3333
3338
  icon: icon,
@@ -3335,7 +3340,7 @@ var ButtonView = _ref5 => {
3335
3340
  iconPosition: iconPosition,
3336
3341
  loaderPosition: loaderPosition,
3337
3342
  size: size,
3338
- resolvedTextColor: resolvedTextColor,
3343
+ resolvedTextColor: finalContentColor,
3339
3344
  isIconRounded: isIconRounded,
3340
3345
  views: views
3341
3346
  }, children);
@@ -3358,11 +3363,10 @@ var ButtonView = _ref5 => {
3358
3363
  baseStyles: base,
3359
3364
  sizeStyles: sizeStyles,
3360
3365
  iconPad: iconPad,
3361
- resolvedTextColor: resolvedTextColor,
3366
+ resolvedTextColor: finalContentColor,
3362
3367
  content: content,
3363
3368
  size: size,
3364
3369
  mainTone: mainTone,
3365
- tone: tone,
3366
3370
  borderMovingDuration: borderMovingDuration,
3367
3371
  borderMovingGradientColors: borderMovingGradientColors,
3368
3372
  animatedStrokeAccentColor: animatedStrokeAccentColor,
@@ -3397,50 +3401,57 @@ var Button = ButtonComponent;
3397
3401
  * - Rounded corners: Consistent border radius
3398
3402
  * - Transitions: Subtle animations
3399
3403
  */
3404
+ /**
3405
+ * Card sizes following the 4px grid system
3406
+ */
3407
+ var CardSizes = {
3408
+ sm: {
3409
+ padding: '12px'
3410
+ },
3411
+ md: {
3412
+ padding: '16px'
3413
+ },
3414
+ lg: {
3415
+ padding: '24px'
3416
+ }
3417
+ };
3400
3418
  /**
3401
3419
  * Card shapes with consistent border radius
3402
3420
  */
3403
3421
  var CardShapes = {
3404
3422
  sharp: 0,
3405
3423
  rounded: '8px',
3406
- pillShaped: '16px'
3424
+ pillShaped: '24px'
3407
3425
  };
3408
3426
  /**
3409
3427
  * Get card variants with consistent styling based on theme mode
3410
3428
  */
3411
3429
  var getCardVariants = themeMode => {
3430
+ var isDark = themeMode === 'dark';
3412
3431
  return {
3413
3432
  default: {
3414
- backgroundColor: 'color.white',
3433
+ backgroundColor: isDark ? 'color.gray.900' : 'color.white',
3415
3434
  border: 'none',
3416
3435
  transition: 'background-color 0.2s ease, box-shadow 0.2s ease'
3417
3436
  },
3418
3437
  outlined: {
3419
- backgroundColor: 'color.white',
3438
+ backgroundColor: isDark ? 'color.gray.900' : 'color.white',
3420
3439
  borderWidth: '1px',
3421
3440
  borderStyle: 'solid',
3422
- borderColor: 'color.gray.200',
3441
+ borderColor: isDark ? 'color.gray.700' : 'color.gray.200',
3423
3442
  transition: 'border-color 0.2s ease, box-shadow 0.2s ease',
3424
3443
  _hover: {
3425
- borderColor: 'color.gray.300',
3444
+ borderColor: isDark ? 'color.gray.600' : 'color.gray.300',
3426
3445
  boxShadow: '0px 1px 3px rgba(0, 0, 0, 0.05)'
3427
- },
3428
- _focusVisible: {
3429
- outline: 'none',
3430
- boxShadow: '0 0 0 2px rgba(255, 255, 255, 1), 0 0 0 4px rgba(0, 0, 0, 0.1)'
3431
3446
  }
3432
3447
  },
3433
3448
  elevated: {
3434
- backgroundColor: 'color.white',
3435
- boxShadow: '0px 1px 3px rgba(0, 0, 0, 0.08), 0px 1px 2px rgba(0, 0, 0, 0.06)',
3449
+ backgroundColor: isDark ? 'color.gray.900' : 'color.white',
3450
+ boxShadow: isDark ? '0px 4px 12px rgba(0, 0, 0, 0.3)' : '0px 1px 3px rgba(0, 0, 0, 0.08), 0px 1px 2px rgba(0, 0, 0, 0.06)',
3436
3451
  border: 'none',
3437
3452
  transition: 'box-shadow 0.2s ease',
3438
3453
  _hover: {
3439
- boxShadow: '0px 4px 6px rgba(0, 0, 0, 0.08), 0px 2px 4px rgba(0, 0, 0, 0.06)'
3440
- },
3441
- _focusVisible: {
3442
- outline: 'none',
3443
- boxShadow: '0 0 0 2px rgba(255, 255, 255, 1), 0 0 0 4px rgba(0, 0, 0, 0.1), 0px 4px 6px rgba(0, 0, 0, 0.08)'
3454
+ boxShadow: isDark ? '0px 8px 16px rgba(0, 0, 0, 0.4)' : '0px 4px 6px rgba(0, 0, 0, 0.08), 0px 2px 4px rgba(0, 0, 0, 0.06)'
3444
3455
  }
3445
3456
  }
3446
3457
  };
@@ -3450,50 +3461,31 @@ var getCardVariants = themeMode => {
3450
3461
  * @param theme - Theme object from useTheme hook
3451
3462
  */
3452
3463
  var getDefaultCardStyles = theme => {
3464
+ var isDark = theme.themeMode === 'dark';
3453
3465
  return {
3454
3466
  container: {
3455
- backgroundColor: 'color.white',
3456
- color: 'color.black',
3467
+ backgroundColor: isDark ? 'color.gray.900' : 'color.white',
3468
+ color: isDark ? 'color.white' : 'color.black',
3457
3469
  borderRadius: '8px',
3458
3470
  overflow: 'hidden',
3459
- transition: 'all 0.2s ease',
3460
- media: {
3461
- mobile: {
3462
- borderRadius: '4px'
3463
- }
3464
- }
3471
+ transition: 'all 0.2s ease'
3465
3472
  },
3466
3473
  header: {
3467
3474
  padding: '16px',
3468
3475
  borderBottomWidth: '1px',
3469
3476
  borderBottomStyle: 'solid',
3470
- borderBottomColor: 'color.gray.200',
3471
- color: 'color.black',
3472
- media: {
3473
- mobile: {
3474
- padding: '12px'
3475
- }
3476
- }
3477
+ borderBottomColor: isDark ? 'color.gray.800' : 'color.gray.100',
3478
+ color: 'theme.primary'
3477
3479
  },
3478
3480
  content: {
3479
3481
  padding: '16px',
3480
- color: 'color.black',
3481
- media: {
3482
- mobile: {
3483
- padding: '12px'
3484
- }
3485
- }
3482
+ color: isDark ? 'color.gray.300' : 'color.gray.600'
3486
3483
  },
3487
3484
  footer: {
3488
3485
  padding: '16px',
3489
3486
  borderTopWidth: '1px',
3490
3487
  borderTopStyle: 'solid',
3491
- borderTopColor: 'color.gray.200',
3492
- media: {
3493
- mobile: {
3494
- padding: '12px'
3495
- }
3496
- }
3488
+ borderTopColor: isDark ? 'color.gray.800' : 'color.gray.100'
3497
3489
  }
3498
3490
  };
3499
3491
  };
@@ -3518,12 +3510,14 @@ var CardHeader = _ref => {
3518
3510
  var {
3519
3511
  styles: contextStyles
3520
3512
  } = useCardContext();
3521
- var defaultStyles = getDefaultCardStyles().header;
3513
+ var defaultStyles = getDefaultCardStyles(theme).header;
3522
3514
  // Merge styles: Default < Context Override < Direct Props/Style
3523
3515
  var mergedProps = Object.assign({}, defaultStyles, contextStyles == null ? void 0 : contextStyles.header, props, {
3524
3516
  style: Object.assign({}, defaultStyles == null ? void 0 : defaultStyles.style, contextStyles == null || (_contextStyles$header = contextStyles.header) == null ? void 0 : _contextStyles$header.style, style)
3525
3517
  });
3526
- return /*#__PURE__*/React.createElement(View, Object.assign({}, mergedProps), children);
3518
+ return /*#__PURE__*/React.createElement(Vertical, Object.assign({
3519
+ gap: 8
3520
+ }, mergedProps), children);
3527
3521
  };
3528
3522
  var CardContent = _ref2 => {
3529
3523
  var _contextStyles$conten;
@@ -3536,12 +3530,14 @@ var CardContent = _ref2 => {
3536
3530
  var {
3537
3531
  styles: contextStyles
3538
3532
  } = useCardContext();
3539
- var defaultStyles = getDefaultCardStyles().content;
3533
+ var defaultStyles = getDefaultCardStyles(theme).content;
3540
3534
  // Merge styles: Default < Context Override < Direct Props/Style
3541
3535
  var mergedProps = Object.assign({}, defaultStyles, contextStyles == null ? void 0 : contextStyles.content, props, {
3542
3536
  style: Object.assign({}, defaultStyles == null ? void 0 : defaultStyles.style, contextStyles == null || (_contextStyles$conten = contextStyles.content) == null ? void 0 : _contextStyles$conten.style, style)
3543
3537
  });
3544
- return /*#__PURE__*/React.createElement(View, Object.assign({}, mergedProps), children);
3538
+ return /*#__PURE__*/React.createElement(Vertical, Object.assign({
3539
+ gap: 12
3540
+ }, mergedProps), children);
3545
3541
  };
3546
3542
  var CardFooter = _ref3 => {
3547
3543
  var _contextStyles$footer;
@@ -3554,15 +3550,17 @@ var CardFooter = _ref3 => {
3554
3550
  var {
3555
3551
  styles: contextStyles
3556
3552
  } = useCardContext();
3557
- var defaultStyles = getDefaultCardStyles().footer;
3553
+ var defaultStyles = getDefaultCardStyles(theme).footer;
3558
3554
  // Merge styles: Default < Context Override < Direct Props/Style
3559
3555
  var mergedProps = Object.assign({}, defaultStyles, contextStyles == null ? void 0 : contextStyles.footer, props, {
3560
3556
  style: Object.assign({}, defaultStyles == null ? void 0 : defaultStyles.style, contextStyles == null || (_contextStyles$footer = contextStyles.footer) == null ? void 0 : _contextStyles$footer.style, style)
3561
3557
  });
3562
- return /*#__PURE__*/React.createElement(View, Object.assign({}, mergedProps), children);
3558
+ return /*#__PURE__*/React.createElement(Vertical, Object.assign({
3559
+ gap: 8
3560
+ }, mergedProps), children);
3563
3561
  };
3564
3562
  var CardView = _ref4 => {
3565
- var _contextValue$styles$;
3563
+ var _CardSizes$size, _contextValue$styles$;
3566
3564
  var {
3567
3565
  variant = 'default',
3568
3566
  size = 'md',
@@ -3577,20 +3575,32 @@ var CardView = _ref4 => {
3577
3575
  } = _ref4,
3578
3576
  props = _objectWithoutPropertiesLoose(_ref4, _excluded4$3);
3579
3577
  var theme = useTheme();
3580
- var defaultStyles = getDefaultCardStyles();
3578
+ var defaultStyles = getDefaultCardStyles(theme);
3579
+ // Get size padding
3580
+ var sizePadding = ((_CardSizes$size = CardSizes[size]) == null ? void 0 : _CardSizes$size.padding) || '16px';
3581
3581
  // Prepare context value, merging default styles with user's `views` overrides
3582
3582
  var contextValue = useMemo(() => ({
3583
3583
  styles: {
3584
3584
  container: Object.assign({}, defaultStyles.container, views == null ? void 0 : views.container),
3585
- header: Object.assign({}, defaultStyles.header, views == null ? void 0 : views.header),
3586
- content: Object.assign({}, defaultStyles.content, views == null ? void 0 : views.content),
3587
- footer: Object.assign({}, defaultStyles.footer, views == null ? void 0 : views.footer)
3588
- }
3589
- }), [defaultStyles, views]);
3585
+ header: Object.assign({}, defaultStyles.header, {
3586
+ padding: sizePadding
3587
+ }, views == null ? void 0 : views.header),
3588
+ content: Object.assign({}, defaultStyles.content, {
3589
+ padding: sizePadding
3590
+ }, views == null ? void 0 : views.content),
3591
+ footer: Object.assign({}, defaultStyles.footer, {
3592
+ padding: sizePadding
3593
+ }, views == null ? void 0 : views.footer)
3594
+ }
3595
+ }), [defaultStyles, views, sizePadding]);
3590
3596
  // Determine if we have explicit Card.Header, Card.Content, Card.Footer components
3591
- // or if we need to wrap children in a default layout
3592
3597
  var hasExplicitStructure = React.Children.toArray(children).some(child => /*#__PURE__*/React.isValidElement(child) && (child.type === CardHeader || child.type === CardContent || child.type === CardFooter));
3593
- var variantStyles = getCardVariants()[variant];
3598
+ // Get the appropriate variant styles based on theme mode
3599
+ var {
3600
+ themeMode
3601
+ } = theme;
3602
+ var currentThemeMode = elementMode || themeMode;
3603
+ var variantStyles = getCardVariants(currentThemeMode)[variant];
3594
3604
  // Merge styles for the root element
3595
3605
  var mergedRootProps = Object.assign({
3596
3606
  width: isFullWidth ? '100%' : 'auto',
@@ -3601,7 +3611,9 @@ var CardView = _ref4 => {
3601
3611
  });
3602
3612
  return /*#__PURE__*/React.createElement(CardContext.Provider, {
3603
3613
  value: contextValue
3604
- }, /*#__PURE__*/React.createElement(View, Object.assign({}, mergedRootProps), hasExplicitStructure ? children : (/*#__PURE__*/React.createElement(Vertical, null, header && /*#__PURE__*/React.createElement(CardHeader, null, header), /*#__PURE__*/React.createElement(CardContent, null, children), footer && /*#__PURE__*/React.createElement(CardFooter, null, footer)))));
3614
+ }, /*#__PURE__*/React.createElement(View, Object.assign({}, mergedRootProps), hasExplicitStructure ? children : (/*#__PURE__*/React.createElement(Vertical, {
3615
+ width: "100%"
3616
+ }, header && /*#__PURE__*/React.createElement(CardHeader, null, header), /*#__PURE__*/React.createElement(CardContent, null, children), footer && /*#__PURE__*/React.createElement(CardFooter, null, footer)))));
3605
3617
  };
3606
3618
 
3607
3619
  /**
@@ -7337,12 +7349,9 @@ var ColorSchemes = {
7337
7349
  // State-specific colors
7338
7350
  states: {
7339
7351
  hover: {
7340
- active: {
7341
- opacity: 0.9
7342
- },
7343
- inactive: {
7344
- backgroundColor: 'color.gray.400'
7345
- }
7352
+ active: 'theme.primary',
7353
+ inactive: 'color.gray.400',
7354
+ activeOpacity: 0.9
7346
7355
  },
7347
7356
  focus: {
7348
7357
  active: {
@@ -7356,6 +7365,17 @@ var ColorSchemes = {
7356
7365
  }
7357
7366
  }
7358
7367
  };
7368
+ /**
7369
+ * Transition styles for the Switch component
7370
+ */
7371
+ var TransitionStyles = {
7372
+ slider: {
7373
+ transition: 'all 0.3s cubic-bezier(0.4, 0, 0.2, 1)'
7374
+ },
7375
+ knob: {
7376
+ transition: 'all 0.3s cubic-bezier(0.4, 0, 0.2, 1)'
7377
+ }
7378
+ };
7359
7379
 
7360
7380
  var _excluded$t = ["id", "name", "label", "inActiveChild", "isChecked", "activeChild", "labelPosition", "shadow", "size", "value", "isHovered", "isDisabled", "isReadOnly", "on", "setOn", "onChange", "setValue", "setIsHovered", "helperText", "views"];
7361
7381
  var SwitchContent = props => /*#__PURE__*/React.createElement(Input, Object.assign({
@@ -7394,7 +7414,8 @@ var SwitchView = _ref => {
7394
7414
  if (onChange) onChange(newValue);
7395
7415
  }
7396
7416
  };
7397
- var handleHover = () => setIsHovered(!isHovered);
7417
+ var handleMouseEnter = () => setIsHovered(true);
7418
+ var handleMouseLeave = () => setIsHovered(false);
7398
7419
  /**
7399
7420
  * Styles for the switch component
7400
7421
  */
@@ -7416,8 +7437,8 @@ var SwitchView = _ref => {
7416
7437
  };
7417
7438
  return /*#__PURE__*/React.createElement(Label, Object.assign({
7418
7439
  htmlFor: id,
7419
- onMouseEnter: handleHover,
7420
- onMouseLeave: handleHover
7440
+ onMouseEnter: handleMouseEnter,
7441
+ onMouseLeave: handleMouseLeave
7421
7442
  }, switchStyle.container, props), /*#__PURE__*/React.createElement(SwitchContent, Object.assign({
7422
7443
  id: id,
7423
7444
  name: name,
@@ -7445,12 +7466,10 @@ var SwitchView = _ref => {
7445
7466
  borderRadius: "9999px" // Full rounded for pill shape
7446
7467
  ,
7447
7468
  backgroundColor: isDisabled ? ColorSchemes.default.disabled : value ? isHovered ? ColorSchemes.states.hover.active : ColorSchemes.default.active : isHovered ? ColorSchemes.states.hover.inactive : ColorSchemes.default.inactive,
7448
- overflow: "hidden",
7469
+ opacity: !isDisabled && value && isHovered ? ColorSchemes.states.hover.activeOpacity : 1,
7449
7470
  // State properties
7450
- cursor: "pointer",
7451
- // Animation
7452
- transition: "all 0.3s cubic-bezier(0.4, 0, 0.2, 1)"
7453
- }, shadow, SliderPadding[size], SliderSizes[size], views['slider']), activeChild && value && (/*#__PURE__*/React.createElement(View, {
7471
+ cursor: "pointer"
7472
+ }, TransitionStyles.slider, shadow, SliderPadding[size], SliderSizes[size], views['slider']), activeChild && value && (/*#__PURE__*/React.createElement(View, {
7454
7473
  marginLeft: 8,
7455
7474
  marginRight: 4,
7456
7475
  transition: "all 0.3s ease",
@@ -7461,8 +7480,9 @@ var SwitchView = _ref => {
7461
7480
  }, activeChild)), /*#__PURE__*/React.createElement(View, Object.assign({
7462
7481
  borderRadius: "50%",
7463
7482
  backgroundColor: ColorSchemes.default.knob,
7464
- boxShadow: "0 1px 2px rgba(0, 0, 0, 0.1)",
7465
- transition: "all 0.3s cubic-bezier(0.4, 0, 0.2, 1)",
7483
+ boxShadow: isHovered ? '0 2px 4px rgba(0, 0, 0, 0.2)' : '0 1px 2px rgba(0, 0, 0, 0.1)',
7484
+ transform: isHovered ? 'scale(1.05)' : 'scale(1)'
7485
+ }, TransitionStyles.knob, {
7466
7486
  zIndex: 1
7467
7487
  }, KnobSizes[size], views['circle'])), inActiveChild && !value && (/*#__PURE__*/React.createElement(View, {
7468
7488
  marginRight: 8,
@@ -11274,29 +11294,32 @@ var TagChip = _ref => {
11274
11294
  alignItems: "center",
11275
11295
  gap: 6,
11276
11296
  padding: chipSize.padding,
11277
- backgroundColor: "white",
11297
+ backgroundColor: "color.gray.100",
11278
11298
  borderRadius: "16px",
11279
- border: "1px solid",
11280
- borderColor: "color.black.100",
11299
+ borderWidth: "1px",
11300
+ borderStyle: "solid",
11301
+ borderColor: "color.gray.300",
11281
11302
  boxShadow: "0 1px 2px rgba(0,0,0,0.05)",
11282
11303
  transition: "all 0.2s cubic-bezier(0.4, 0, 0.2, 1)",
11283
11304
  opacity: isDisabled ? 0.6 : 1,
11284
11305
  _hover: !isDisabled && !isReadOnly ? {
11285
- borderColor: 'color.gray.300',
11306
+ backgroundColor: 'color.gray.200',
11307
+ borderColor: 'color.gray.400',
11286
11308
  boxShadow: '0 4px 6px rgba(0,0,0,0.05)',
11287
11309
  transform: 'translateY(-1px)'
11288
11310
  } : {}
11289
11311
  }, views == null ? void 0 : views.tag), /*#__PURE__*/React.createElement(Text, Object.assign({
11290
11312
  fontSize: chipSize.fontSize,
11291
- color: isDisabled ? 'color.gray.400' : 'color.gray.700',
11292
- fontWeight: "500",
11313
+ color: isDisabled ? 'color.gray.400' : 'theme.primary',
11314
+ fontWeight: "bold",
11293
11315
  whiteSpace: "nowrap"
11294
11316
  }, views == null ? void 0 : views.tagText), tag), isRemovable && !isDisabled && !isReadOnly && (/*#__PURE__*/React.createElement(View, Object.assign({
11295
11317
  cursor: "pointer",
11296
11318
  padding: "2px",
11297
11319
  borderRadius: "50%",
11298
11320
  transition: "all 0.2s ease",
11299
- backgroundColor: isRemoveHovered ? 'color.red.50' : 'transparent',
11321
+ backgroundColor: isRemoveHovered ? 'color.red.100' : 'transparent',
11322
+ opacity: isRemoveHovered ? 1 : 0.7,
11300
11323
  onMouseEnter: () => setIsRemoveHovered(true),
11301
11324
  onMouseLeave: () => setIsRemoveHovered(false),
11302
11325
  onClick: e => {
@@ -11363,7 +11386,7 @@ var TagInputView = _ref2 => {
11363
11386
  outline: 'none',
11364
11387
  backgroundColor: 'transparent',
11365
11388
  fontSize: Typography.fontSizes[size],
11366
- color: isDisabled ? 'color.gray.400' : 'color.gray.900',
11389
+ color: isDisabled ? 'color.gray.400' : 'color.gray.800',
11367
11390
  flex: 1,
11368
11391
  minWidth: '120px'
11369
11392
  }, views == null ? void 0 : views.input);