@app-studio/web 0.8.93 → 0.8.94

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.
@@ -470,20 +470,20 @@ var HeadingSizes = {
470
470
  * Font sizes following typography guidelines
471
471
  */
472
472
  var FontSizes = {
473
- xs: '12px',
474
- sm: '14px',
475
- md: '16px',
476
- lg: '18px',
473
+ xs: '10px',
474
+ sm: '12px',
475
+ md: '14px',
476
+ lg: '16px',
477
477
  xl: '20px'
478
478
  };
479
479
  /**
480
480
  * Line heights following typography guidelines
481
481
  */
482
482
  var LineHeights = {
483
- xs: '16px',
484
- sm: '20px',
485
- md: '24px',
486
- lg: '28px',
483
+ xs: '14px',
484
+ sm: '16px',
485
+ md: '20px',
486
+ lg: '22px',
487
487
  xl: '28px'
488
488
  };
489
489
  /**
@@ -3265,7 +3265,7 @@ var BadgeSizes = {
3265
3265
  height: '32px',
3266
3266
  padding: '0 12px',
3267
3267
  // Typography
3268
- fontSize: '14px',
3268
+ fontSize: '16px',
3269
3269
  fontWeight: '500',
3270
3270
  lineHeight: '32px'
3271
3271
  },
@@ -3275,7 +3275,7 @@ var BadgeSizes = {
3275
3275
  height: '36px',
3276
3276
  padding: '0 14px',
3277
3277
  // Typography
3278
- fontSize: '16px',
3278
+ fontSize: '20px',
3279
3279
  fontWeight: '500',
3280
3280
  lineHeight: '36px'
3281
3281
  }
@@ -3686,70 +3686,60 @@ var Loader = LoaderComponent;
3686
3686
  */
3687
3687
  /**
3688
3688
  * Button sizes following the 4px grid system
3689
- */
3690
- var ButtonSizes = {
3689
+ */var ButtonSizes = {
3691
3690
  xs: {
3692
- // Height: 24px (6 × 4px)
3691
+ minHeight: 3 * 4,
3692
+ paddingTop: 1,
3693
+ paddingBottom: 1,
3694
+ paddingLeft: 2,
3695
+ paddingRight: 2,
3696
+ fontSize: 10,
3697
+ fontWeight: '500',
3698
+ lineHeight: 14,
3699
+ letterSpacing: '-0.01em'
3700
+ },
3701
+ sm: {
3693
3702
  minHeight: 4 * 4,
3694
- paddingTop: 2,
3695
- paddingBottom: 2,
3696
- paddingLeft: 4,
3697
- paddingRight: 4,
3698
- // Typography
3703
+ paddingTop: 4,
3704
+ paddingBottom: 4,
3705
+ paddingLeft: 8,
3706
+ paddingRight: 8,
3699
3707
  fontSize: 12,
3700
3708
  fontWeight: '500',
3701
- lineHeight: 20,
3709
+ lineHeight: 16,
3702
3710
  letterSpacing: '-0.01em'
3703
3711
  },
3704
- sm: {
3705
- // Height: 32px (8 × 4px)
3712
+ md: {
3706
3713
  minHeight: 6 * 4,
3707
3714
  paddingTop: 6,
3708
3715
  paddingBottom: 6,
3709
3716
  paddingLeft: 12,
3710
3717
  paddingRight: 12,
3711
- // Typography
3712
- fontSize: 12,
3718
+ fontSize: 14,
3713
3719
  fontWeight: '500',
3714
- lineHeight: 12,
3720
+ lineHeight: 18,
3715
3721
  letterSpacing: '-0.01em'
3716
3722
  },
3717
- md: {
3718
- // Height: 40px (10 × 4px) - standard height for interactive elements
3723
+ lg: {
3719
3724
  minHeight: 8 * 4,
3720
3725
  paddingTop: 8,
3721
3726
  paddingBottom: 8,
3722
3727
  paddingLeft: 16,
3723
3728
  paddingRight: 16,
3724
- // Typography
3725
3729
  fontSize: 16,
3726
3730
  fontWeight: '500',
3727
- lineHeight: 16,
3731
+ lineHeight: 18,
3728
3732
  letterSpacing: '-0.01em'
3729
3733
  },
3730
- lg: {
3734
+ xl: {
3731
3735
  minHeight: 10 * 4,
3732
3736
  paddingTop: 10,
3733
3737
  paddingBottom: 10,
3734
3738
  paddingLeft: 20,
3735
3739
  paddingRight: 20,
3736
- // Typography
3737
- fontSize: 16,
3738
- fontWeight: '500',
3739
- lineHeight: 20,
3740
- letterSpacing: '-0.01em'
3741
- },
3742
- xl: {
3743
- // Height: 60px (15 × 4px)
3744
- minHeight: 12 * 4,
3745
- paddingTop: 12,
3746
- paddingBottom: 12,
3747
- paddingLeft: 24,
3748
- paddingRight: 24,
3749
- // Typography
3750
- fontSize: 18,
3740
+ fontSize: 20,
3751
3741
  fontWeight: '500',
3752
- lineHeight: 24,
3742
+ lineHeight: 22,
3753
3743
  letterSpacing: '-0.01em'
3754
3744
  }
3755
3745
  };
@@ -6500,13 +6490,12 @@ var useSelectState = _ref => {
6500
6490
  var {
6501
6491
  placeholder,
6502
6492
  isMulti,
6503
- options
6493
+ options,
6494
+ id = "select-" + Math.random().toString(36).substr(2, 9)
6504
6495
  } = _ref;
6505
6496
  // Determines the default value based on the 'placeholder' and 'isMulti' props, setting to an empty array for multi-select or an empty string/single default option
6506
6497
  var defaultValue = placeholder ? isMulti ? [] : '' // If there's a placeholder, set default to empty array for multi-select or empty string for single select
6507
- : Array.isArray(options) && options.length > 0 ? options[0].value : ''; // If no placeholder, use the first option value if available, otherwise undefined
6508
- // State hook for managing visibility of the Select dropdown, initially set to hidden
6509
- var [hide, setHide] = React__default.useState(true);
6498
+ : Array.isArray(options) && options.length > 0 ? options[0].value : isMulti ? [] : ''; // If no placeholder, use the first option value if available, otherwise empty array for multi-select or empty string for single select
6510
6499
  // State hook for tracking mouse hover status over the Select component
6511
6500
  var [isHovered, setIsHovered] = React__default.useState(false);
6512
6501
  // State hook for tracking focus status of the Select input field
@@ -6515,8 +6504,11 @@ var useSelectState = _ref => {
6515
6504
  var [value, setValue] = React__default.useState(defaultValue);
6516
6505
  // State hook for keeping track of the currently highlighted index in the options list
6517
6506
  var [highlightedIndex, setHighlightedIndex] = React__default.useState(0);
6507
+ // State hook for managing visibility of the Select dropdown, initially set to hidden
6508
+ var [hide, setHide] = React__default.useState(true);
6518
6509
  // Returns an object containing all stateful values and their associated setters to manage the Select component's state
6519
6510
  return {
6511
+ id,
6520
6512
  value,
6521
6513
  setValue,
6522
6514
  hide,
@@ -6731,7 +6723,7 @@ var FieldContent = _ref => {
6731
6723
  flexWrap: "nowrap",
6732
6724
  alignItems: "center",
6733
6725
  justifyContent: "space-between",
6734
- marginBottom: 8,
6726
+ marginBottom: 2,
6735
6727
  // Visual properties
6736
6728
  borderStyle: "solid",
6737
6729
  borderColor: color,
@@ -6753,10 +6745,9 @@ var FieldIcons = _ref => {
6753
6745
  props = _objectWithoutPropertiesLoose(_ref, _excluded$l);
6754
6746
  return /*#__PURE__*/React__default.createElement(appStudio.Center, Object.assign({
6755
6747
  gap: 10,
6756
- right: 16,
6748
+ right: 10,
6757
6749
  zIndex: 500,
6758
- flexWrap: "nowrap",
6759
- position: "absolute"
6750
+ flexWrap: "nowrap"
6760
6751
  }, props), children);
6761
6752
  };
6762
6753
 
@@ -6940,20 +6931,27 @@ var Item = _ref => {
6940
6931
  } = _ref,
6941
6932
  props = _objectWithoutPropertiesLoose(_ref, _excluded$p);
6942
6933
  // Handles the click event on an option by invoking the callback with the selected option's value
6943
- var handleOptionClick = option => callback(option);
6934
+ var handleOptionClick = (e, option) => {
6935
+ e.stopPropagation();
6936
+ e.preventDefault();
6937
+ if (typeof callback === 'function') {
6938
+ callback(option);
6939
+ }
6940
+ };
6944
6941
  // Toggles the hover state on the item
6945
6942
  var handleHover = () => setIsHovered(!isHovered);
6946
6943
  return /*#__PURE__*/React__default.createElement(appStudio.Element, Object.assign({
6947
6944
  as: "li",
6948
6945
  // Layout properties
6949
6946
  margin: 0,
6950
- paddingVertical: 12,
6951
- paddingHorizontal: 16,
6947
+ paddingVertical: 8,
6948
+ paddingHorizontal: 8,
6952
6949
  listStyleType: "none",
6950
+ cursor: "pointer",
6953
6951
  // Event handlers
6954
6952
  onMouseEnter: handleHover,
6955
6953
  onMouseLeave: handleHover,
6956
- onClick: () => handleOptionClick(option.value),
6954
+ onClick: e => handleOptionClick(e, option.value),
6957
6955
  // Visual properties
6958
6956
  backgroundColor: isHovered ? 'color.gray.100' : 'transparent',
6959
6957
  borderRadius: "4px" // Subtle rounded corners for items
@@ -6999,7 +6997,7 @@ var SelectBox = _ref2 => {
6999
6997
  width: '95%',
7000
6998
  height: '100%',
7001
6999
  border: 'none',
7002
- paddingVertical: 12,
7000
+ paddingVertical: 4,
7003
7001
  paddingHorizontal: 0,
7004
7002
  // Typography properties
7005
7003
  fontSize: appStudio.Typography.fontSizes[size],
@@ -7079,34 +7077,16 @@ var DropDown = _ref5 => {
7079
7077
  } = _ref5;
7080
7078
  var itemStates = useItemState();
7081
7079
  var handleCallback = option => callback(option);
7082
- // Shadow styles for the dropdown
7083
- var shadow = {
7084
- boxShadow: '0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)'
7085
- };
7080
+ // Shadow styles for the dropdown - now applied directly in the Element
7086
7081
  return /*#__PURE__*/React__default.createElement(appStudio.Element, Object.assign({
7087
7082
  as: "ul",
7088
7083
  role: "dropdown",
7089
- top: "100%",
7090
7084
  width: "100%",
7091
7085
  display: "flex",
7092
7086
  flexDirection: "column",
7093
- position: "absolute",
7094
- marginTop: 8,
7095
- marginLeft: 0,
7096
- marginRight: 0,
7097
- marginBottom: 0,
7098
- padding: 0,
7099
- maxHeight: "240px" // 60 × 4px grid
7100
- ,
7101
- overflowY: "auto",
7102
- zIndex: 1000,
7103
7087
  backgroundColor: "color.white",
7104
- borderRadius: "8px" // Consistent with design system (rounded-md)
7105
- ,
7106
- borderWidth: "1px",
7107
- borderStyle: "solid",
7108
- borderColor: "color.gray.200",
7109
7088
  transition: "all 0.2s ease",
7089
+ margin: 0,
7110
7090
  style: {
7111
7091
  scrollbarWidth: 'thin',
7112
7092
  scrollbarColor: 'rgba(0, 0, 0, 0.2) transparent',
@@ -7121,7 +7101,7 @@ var DropDown = _ref5 => {
7121
7101
  borderRadius: '4px'
7122
7102
  }
7123
7103
  }
7124
- }, shadow, views == null ? void 0 : views.dropDown), options.length > 0 && options.map((option, index) => (/*#__PURE__*/React__default.createElement(Item, Object.assign({
7104
+ }, views == null ? void 0 : views.dropDown), options && options.length > 0 && options.map((option, index) => (/*#__PURE__*/React__default.createElement(Item, Object.assign({
7125
7105
  key: option.value,
7126
7106
  size: size,
7127
7107
  style: views['text'],
@@ -7204,23 +7184,57 @@ var SelectView = _ref7 => {
7204
7184
  highlightedIndex
7205
7185
  } = _ref7,
7206
7186
  props = _objectWithoutPropertiesLoose(_ref7, _excluded4$6);
7187
+ // close when *any* other select opens
7188
+ React__default.useEffect(() => {
7189
+ var handleCloseAll = () => setHide(true);
7190
+ document.addEventListener('closeAllSelects', handleCloseAll);
7191
+ return () => document.removeEventListener('closeAllSelects', handleCloseAll);
7192
+ }, [setHide]);
7193
+ // Add a global click handler to close the dropdown when clicking outside
7194
+ React__default.useEffect(() => {
7195
+ var handleGlobalClick = e => {
7196
+ var target = e.target;
7197
+ // Only close if clicking outside of this specific select component
7198
+ if (!target.closest("#" + id) && !hide) {
7199
+ setHide(true);
7200
+ }
7201
+ };
7202
+ document.addEventListener('click', handleGlobalClick);
7203
+ return () => {
7204
+ document.removeEventListener('click', handleGlobalClick);
7205
+ };
7206
+ }, [id, hide, setHide]);
7207
7207
  var showLabel = !!(isFocused && label);
7208
7208
  var handleHover = () => setIsHovered(!isHovered);
7209
7209
  var handleFocus = () => setIsFocused(true);
7210
7210
  var handleClick = event => {
7211
+ // tell all other selects to close
7212
+ document.dispatchEvent(new Event('closeAllSelects'));
7211
7213
  if (event && event.stopPropagation) event.stopPropagation();
7212
- setHide(!hide);
7213
- setIsFocused(!isFocused);
7214
+ // Toggle dropdown visibility
7215
+ var newHideState = !hide;
7216
+ setHide(newHideState);
7217
+ setIsFocused(!newHideState); // Set focus state based on dropdown visibility
7214
7218
  };
7215
7219
  var handleCallback = React.useCallback(option => {
7216
- setHide(!hide);
7220
+ // Close dropdown after selection
7221
+ setHide(true);
7222
+ // Tell all other selects to close
7223
+ document.dispatchEvent(new Event('closeAllSelects'));
7224
+ // Update value based on multi-select or single-select mode
7217
7225
  if (isMulti && Array.isArray(value)) {
7218
- !value.includes(option) && setValue([...value, option]);
7226
+ if (!value.includes(option)) {
7227
+ var newValue = [...value, option];
7228
+ setValue(newValue);
7229
+ if (onChange) onChange(option);
7230
+ }
7219
7231
  } else {
7220
7232
  setValue(option);
7233
+ if (onChange) onChange(option);
7221
7234
  }
7222
- if (onChange) onChange(option);
7223
- }, [hide, isMulti, value]);
7235
+ // Set focus to indicate selection
7236
+ setIsFocused(true);
7237
+ }, [isMulti, value, setHide, setValue, onChange, setIsFocused]);
7224
7238
  var handleRemoveOption = valueOption => {
7225
7239
  if (Array.isArray(value) && value.includes(valueOption)) {
7226
7240
  var newValue = value.filter(option => option !== valueOption);
@@ -7228,11 +7242,24 @@ var SelectView = _ref7 => {
7228
7242
  }
7229
7243
  };
7230
7244
  return /*#__PURE__*/React__default.createElement(FieldContainer, {
7245
+ style: {
7246
+ position: 'relative',
7247
+ width: '100%',
7248
+ display: 'inline-block'
7249
+ },
7250
+ id: id,
7231
7251
  role: "SelectBox",
7232
7252
  helperText: helperText,
7233
7253
  error: error,
7234
7254
  views: views,
7235
- onClick: isDisabled || isReadOnly ? () => {} : handleClick
7255
+ onClick: e => {
7256
+ // Stop propagation to prevent clicks from bubbling up
7257
+ e.stopPropagation();
7258
+ // Only handle click if not disabled or readonly
7259
+ if (!(isDisabled || isReadOnly)) {
7260
+ handleClick(e);
7261
+ }
7262
+ }
7236
7263
  }, /*#__PURE__*/React__default.createElement(FieldContent, {
7237
7264
  label: label,
7238
7265
  size: size,
@@ -7282,39 +7309,78 @@ var SelectView = _ref7 => {
7282
7309
  orientation: "up",
7283
7310
  widthHeight: IconSizes$2[size],
7284
7311
  style: views.icon
7285
- })))))), !hide && (/*#__PURE__*/React__default.createElement(DropDown, {
7312
+ })))))), !hide && options.length > 0 && (/*#__PURE__*/React__default.createElement(appStudio.Element, {
7313
+ onClick: e => e.stopPropagation(),
7314
+ style: {
7315
+ position: 'absolute',
7316
+ top: 'calc(100% + 4px)',
7317
+ left: 0,
7318
+ right: 0,
7319
+ zIndex: 1000
7320
+ }
7321
+ }, /*#__PURE__*/React__default.createElement(DropDown, {
7286
7322
  size: size,
7287
- views: views,
7323
+ views: Object.assign({}, views, {
7324
+ dropDown: {
7325
+ borderRadius: '6px',
7326
+ border: '1px solid color.gray.200',
7327
+ boxShadow: '0 8px 16px rgba(0,0,0,0.1)',
7328
+ padding: '8px',
7329
+ maxHeight: '240px',
7330
+ overflowY: 'auto'
7331
+ }
7332
+ }),
7288
7333
  options: options,
7289
7334
  callback: handleCallback,
7290
7335
  highlightedIndex: highlightedIndex,
7291
7336
  setHighlightedIndex: setHighlightedIndex
7292
- })));
7337
+ }))));
7293
7338
  };
7294
7339
 
7295
7340
  // Defines a functional component named 'SelectComponent', which is expected to receive 'SelectProps' as properties.
7296
7341
  var SelectComponent = props => {
7342
+ // Ensure options is always an array
7343
+ var safeProps = Object.assign({}, props, {
7344
+ options: props.options || []
7345
+ });
7297
7346
  // Invokes the 'useSelectState' hook with props to obtain stateful logic for the Select component.
7298
- var selectStates = useSelectState(props);
7347
+ var selectStates = useSelectState(safeProps);
7299
7348
  // Renders the 'SelectView' component, passing along any states controlled by 'useSelectState' and all properties passed to 'SelectComponent'.
7300
- return /*#__PURE__*/React__default.createElement(SelectView, Object.assign({}, selectStates, props));
7349
+ return /*#__PURE__*/React__default.createElement(SelectView, Object.assign({}, selectStates, safeProps, {
7350
+ onClick: e => {
7351
+ // Stop propagation to prevent the global click handler from closing other dropdowns
7352
+ e.stopPropagation();
7353
+ if (props.onClick) props.onClick(e);
7354
+ }
7355
+ }));
7301
7356
  };
7302
7357
  // Exports 'SelectComponent' as 'Select', making it available for import in other parts of the application.
7303
7358
  var Select = SelectComponent;
7304
7359
 
7305
- // This file defines a custom hook for managing the state of a Switch component. It allows tracking whether the switch is hovered, and its on/off state based on 'isDisabled' and 'isChecked' properties.
7360
+ // This file defines a custom hook for managing the state of a Switch component.
7361
+ // It allows tracking whether the switch is hovered, and its on/off state based on 'isDisabled' and 'isChecked' properties.
7306
7362
  var useSwitchState = _ref => {
7307
7363
  var {
7308
7364
  isDisabled,
7309
7365
  isChecked
7310
7366
  } = _ref;
7311
7367
  var [isHovered, setIsHovered] = React__default.useState(false);
7312
- var [on, setOn] = React__default.useState(isDisabled ? !isDisabled : isChecked);
7368
+ var [on, setOn] = React__default.useState(isChecked || false);
7369
+ var [value, setValue] = React__default.useState(isChecked || false);
7370
+ // Update the value when isChecked changes
7371
+ React.useEffect(() => {
7372
+ if (isChecked !== undefined) {
7373
+ setOn(isChecked);
7374
+ setValue(isChecked);
7375
+ }
7376
+ }, [isChecked]);
7313
7377
  return {
7314
7378
  isHovered,
7315
7379
  setIsHovered,
7316
7380
  on,
7317
- setOn
7381
+ setOn,
7382
+ value,
7383
+ setValue
7318
7384
  };
7319
7385
  };
7320
7386
 
@@ -7330,68 +7396,68 @@ var useSwitchState = _ref => {
7330
7396
  */
7331
7397
  /**
7332
7398
  * Knob (circle) sizes for the Switch component
7333
- * Following the 4px grid system
7399
+ * Following the 4px grid system - dimensions réduites
7334
7400
  */
7335
7401
  var KnobSizes = {
7336
7402
  xs: {
7403
+ height: '8px',
7404
+ width: '8px'
7405
+ },
7406
+ sm: {
7337
7407
  height: '12px',
7338
7408
  width: '12px'
7339
7409
  },
7340
- sm: {
7410
+ md: {
7341
7411
  height: '16px',
7342
7412
  width: '16px'
7343
7413
  },
7344
- md: {
7414
+ lg: {
7345
7415
  height: '20px',
7346
7416
  width: '20px'
7347
7417
  },
7348
- lg: {
7418
+ xl: {
7349
7419
  height: '24px',
7350
7420
  width: '24px'
7351
- },
7352
- xl: {
7353
- height: '28px',
7354
- width: '28px'
7355
7421
  }
7356
7422
  };
7357
7423
  /**
7358
7424
  * Slider (track) sizes for the Switch component
7359
- * Following the 4px grid system
7425
+ * Following the 4px grid system - dimensions réduites
7360
7426
  */
7361
7427
  var SliderSizes = {
7362
7428
  xs: {
7363
- height: '24px',
7364
- width: '40px'
7429
+ height: '16px',
7430
+ width: '36px'
7365
7431
  },
7366
7432
  sm: {
7367
- height: '28px',
7368
- width: '48px'
7433
+ height: '20px',
7434
+ width: '44px'
7369
7435
  },
7370
7436
  md: {
7371
- height: '32px',
7372
- width: '56px'
7437
+ height: '24px',
7438
+ width: '52px'
7373
7439
  },
7374
7440
  lg: {
7375
- height: '36px',
7376
- width: '64px'
7441
+ height: '28px',
7442
+ width: '60px'
7377
7443
  },
7378
7444
  xl: {
7379
- height: '40px',
7380
- width: '72px'
7445
+ height: '32px',
7446
+ width: '68px'
7381
7447
  }
7382
7448
  };
7383
7449
  /**
7384
- * Padding for the Switch slider
7450
+ * Padding for the Switch slider - ajusté pour les nouvelles dimensions
7385
7451
  * Following the 4px grid system
7386
7452
  */
7387
7453
  var SliderPadding = {
7388
7454
  xs: {
7389
7455
  paddingVertical: 4,
7390
- paddingHorizontal: 4
7456
+ paddingHorizontal: 2
7391
7457
  },
7392
7458
  sm: {
7393
7459
  paddingVertical: 4,
7394
- paddingHorizontal: 4
7460
+ paddingHorizontal: 2
7395
7461
  },
7396
7462
  md: {
7397
7463
  paddingVertical: 4,
@@ -7449,7 +7515,6 @@ var SwitchView = _ref => {
7449
7515
  isHovered = false,
7450
7516
  isDisabled = false,
7451
7517
  isReadOnly = false,
7452
- on,
7453
7518
  setOn,
7454
7519
  onChange,
7455
7520
  setValue = () => {},
@@ -7462,10 +7527,11 @@ var SwitchView = _ref => {
7462
7527
  } = _ref,
7463
7528
  props = _objectWithoutPropertiesLoose(_ref, _excluded$q);
7464
7529
  var handleToggle = event => {
7465
- if (!isReadOnly) {
7466
- setValue(!value);
7467
- setOn(!on);
7468
- if (onChange) onChange(event.target.checked);
7530
+ if (!isReadOnly && !isDisabled) {
7531
+ var newValue = event.target.checked;
7532
+ setValue(newValue);
7533
+ setOn(newValue);
7534
+ if (onChange) onChange(newValue);
7469
7535
  }
7470
7536
  };
7471
7537
  var handleHover = () => setIsHovered(!isHovered);
@@ -7513,27 +7579,39 @@ var SwitchView = _ref => {
7513
7579
  // Layout properties
7514
7580
  display: "flex",
7515
7581
  alignItems: "center",
7516
- justifyContent: activeChild ? 'space-between' : value ? 'flex-end' : 'flex-start',
7582
+ justifyContent: value ? activeChild ? 'space-between' : 'flex-end' : inActiveChild ? 'space-between' : 'flex-start',
7517
7583
  marginBottom: 4,
7518
7584
  // Visual properties
7519
7585
  borderRadius: "9999px" // Full rounded for pill shape
7520
7586
  ,
7521
7587
  backgroundColor: isDisabled ? ColorSchemes.default.disabled : value ? isHovered ? ColorSchemes.states.hover.active : ColorSchemes.default.active : isHovered ? ColorSchemes.states.hover.inactive : ColorSchemes.default.inactive,
7588
+ overflow: "hidden",
7522
7589
  // State properties
7523
7590
  cursor: "pointer",
7524
7591
  // Animation
7525
7592
  transition: "all 0.3s cubic-bezier(0.4, 0, 0.2, 1)"
7526
7593
  }, shadow, SliderPadding[size], SliderSizes[size], views['slider']), activeChild && value && (/*#__PURE__*/React__default.createElement(appStudio.View, {
7527
7594
  marginLeft: 8,
7528
- transition: "all 0.3s ease"
7595
+ marginRight: 4,
7596
+ transition: "all 0.3s ease",
7597
+ display: "flex",
7598
+ alignItems: "center",
7599
+ justifyContent: "center",
7600
+ height: "100%"
7529
7601
  }, activeChild)), /*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({
7530
7602
  borderRadius: "50%",
7531
7603
  backgroundColor: ColorSchemes.default.knob,
7532
7604
  boxShadow: "0 1px 2px rgba(0, 0, 0, 0.1)",
7533
- transition: "all 0.3s cubic-bezier(0.4, 0, 0.2, 1)"
7605
+ transition: "all 0.3s cubic-bezier(0.4, 0, 0.2, 1)",
7606
+ zIndex: 1
7534
7607
  }, KnobSizes[size], views['circle'])), inActiveChild && !value && (/*#__PURE__*/React__default.createElement(appStudio.View, {
7535
7608
  marginRight: 8,
7536
- transition: "all 0.3s ease"
7609
+ marginLeft: 4,
7610
+ transition: "all 0.3s ease",
7611
+ display: "flex",
7612
+ alignItems: "center",
7613
+ justifyContent: "center",
7614
+ height: "100%"
7537
7615
  }, inActiveChild))), labelPosition === 'right' && label && (/*#__PURE__*/React__default.createElement(Text, {
7538
7616
  fontWeight: "500" // Medium weight for better readability
7539
7617
  ,
@@ -7819,7 +7897,7 @@ var TextFieldView = _ref => {
7819
7897
  var fieldStyles = Object.assign({
7820
7898
  // Layout properties
7821
7899
  margin: 0,
7822
- paddingVertical: 8,
7900
+ paddingVertical: 4,
7823
7901
  paddingHorizontal: 0,
7824
7902
  width: '100%',
7825
7903
  height: '100%',
@@ -7959,24 +8037,24 @@ var useCheckboxState = _ref => {
7959
8037
  */
7960
8038
  var Sizes = {
7961
8039
  xs: {
8040
+ height: '12px',
8041
+ width: '12px'
8042
+ },
8043
+ sm: {
7962
8044
  height: '16px',
7963
8045
  width: '16px'
7964
8046
  },
7965
- sm: {
8047
+ md: {
7966
8048
  height: '20px',
7967
8049
  width: '20px'
7968
8050
  },
7969
- md: {
8051
+ lg: {
7970
8052
  height: '24px',
7971
8053
  width: '24px'
7972
8054
  },
7973
- lg: {
8055
+ xl: {
7974
8056
  height: '28px',
7975
8057
  width: '28px'
7976
- },
7977
- xl: {
7978
- height: '32px',
7979
- width: '32px'
7980
8058
  }
7981
8059
  };
7982
8060
  /**
@@ -10214,7 +10292,7 @@ var ComboBoxView = _ref => {
10214
10292
  hint: placeholder,
10215
10293
  isClearable: false,
10216
10294
  left: /*#__PURE__*/React__default.createElement(SearchIcon, {
10217
- widthHeight: 12
10295
+ widthHeight: 16
10218
10296
  }),
10219
10297
  views: {
10220
10298
  container: Object.assign({
@@ -12775,17 +12853,17 @@ var useNavigationMenuState = function useNavigationMenuState(defaultActiveItemId
12775
12853
  var NavigationMenuSizes = {
12776
12854
  sm: {
12777
12855
  padding: '8px 12px',
12778
- fontSize: '14px',
12856
+ fontSize: '12px',
12779
12857
  fontWeight: '500'
12780
12858
  },
12781
12859
  md: {
12782
12860
  padding: '12px 16px',
12783
- fontSize: '16px',
12861
+ fontSize: '14px',
12784
12862
  fontWeight: '500'
12785
12863
  },
12786
12864
  lg: {
12787
12865
  padding: '16px 20px',
12788
- fontSize: '18px',
12866
+ fontSize: '16px',
12789
12867
  fontWeight: '500'
12790
12868
  }
12791
12869
  };
@@ -13733,8 +13811,8 @@ var HighlightStyles = {
13733
13811
  }),
13734
13812
  gradient: (color, secondaryColor) => ({
13735
13813
  background: "linear-gradient(135deg, " + color + ", " + (secondaryColor || color) + ")",
13736
- backgroundClip: 'text',
13737
- webkitBackgroundClip: 'text',
13814
+ backgroundClip: 'text !important',
13815
+ webkitBackgroundClip: 'text !important',
13738
13816
  color: 'transparent',
13739
13817
  webkitTextFillColor: 'transparent',
13740
13818
  display: 'inline-block',