@hyphen/hyphen-components 7.0.0 → 7.2.0

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.
@@ -3,14 +3,16 @@ import { ResponsiveProp } from '../../types';
3
3
  import { BoxProps } from '../Box/Box';
4
4
  import { FormControlProps } from '../FormControl/FormControl';
5
5
  export type SelectInputNativeSize = 'sm' | 'md' | 'lg';
6
+ export interface SelectInputNativeOption {
7
+ value: string | number;
8
+ label: string | number;
9
+ disabled?: boolean;
10
+ }
6
11
  export interface SelectInputNativeProps extends BoxProps, FormControlProps {
7
12
  /**
8
13
  * List of options for the select input.
9
14
  */
10
- options: {
11
- value: string | number;
12
- label: string | number;
13
- }[];
15
+ options: SelectInputNativeOption[];
14
16
  /**
15
17
  * onChange callback from select element.
16
18
  */
@@ -3,7 +3,7 @@
3
3
  \***************************************************************************************************************************/
4
4
  /**
5
5
  * Do not edit directly
6
- * Generated on Tue, 23 Dec 2025 18:50:27 GMT
6
+ * Generated on Fri, 09 Jan 2026 18:46:14 GMT
7
7
  */
8
8
 
9
9
  .font-family-monospace { font-family: var(--assets-font-family-monospace); }
@@ -390,6 +390,12 @@
390
390
 
391
391
  .focus\:border-color-info:focus { border-color: var(--color-border-info); }
392
392
 
393
+ .border-color-success { border-color: var(--color-border-success); }
394
+
395
+ .hover\:border-color-success:hover { border-color: var(--color-border-success); }
396
+
397
+ .focus\:border-color-success:focus { border-color: var(--color-border-success); }
398
+
393
399
  .border-color-button-primary { border-color: var(--color-border-button-primary); }
394
400
 
395
401
  .hover\:border-color-button-primary:hover { border-color: var(--color-border-button-primary); }
@@ -534,6 +540,24 @@
534
540
 
535
541
  .focus\:border-color-white:focus { border-color: var(--color-border-white); }
536
542
 
543
+ .border-color-green { border-color: var(--color-border-green); }
544
+
545
+ .hover\:border-color-green:hover { border-color: var(--color-border-green); }
546
+
547
+ .focus\:border-color-green:focus { border-color: var(--color-border-green); }
548
+
549
+ .border-color-red { border-color: var(--color-border-red); }
550
+
551
+ .hover\:border-color-red:hover { border-color: var(--color-border-red); }
552
+
553
+ .focus\:border-color-red:focus { border-color: var(--color-border-red); }
554
+
555
+ .border-color-purple { border-color: var(--color-border-purple); }
556
+
557
+ .hover\:border-color-purple:hover { border-color: var(--color-border-purple); }
558
+
559
+ .focus\:border-color-purple:focus { border-color: var(--color-border-purple); }
560
+
537
561
  .background-color-yellow { background-color: var(--color-brand-yellow); }
538
562
 
539
563
  .hover\:background-color-yellow:hover { background-color: var(--color-brand-yellow); }
@@ -3,7 +3,7 @@
3
3
  \*********************************************************************************************************************/
4
4
  /**
5
5
  * Do not edit directly
6
- * Generated on Tue, 23 Dec 2025 18:50:27 GMT
6
+ * Generated on Fri, 09 Jan 2026 18:46:14 GMT
7
7
  */
8
8
 
9
9
  :root {
@@ -146,6 +146,7 @@
146
146
  --color-border-warning: #fde047;
147
147
  --color-border-inverse: #262626;
148
148
  --color-border-info: #bfdbfe;
149
+ --color-border-success: #bbf7d0;
149
150
  --color-border-button-primary: #171717;
150
151
  --color-border-button-primary-hover: #262626;
151
152
  --color-border-button-primary-active: #171717;
@@ -170,6 +171,9 @@
170
171
  --color-border-brand-dark-purple: #1e1e5a;
171
172
  --color-border-black: #000000;
172
173
  --color-border-white: #ffffff;
174
+ --color-border-green: #16a34a;
175
+ --color-border-red: #ef4444;
176
+ --color-border-purple: #a855f7;
173
177
  --color-brand-yellow: #ffd200;
174
178
  --color-brand-orange: #ff911e;
175
179
  --color-brand-magenta: #ff3278;
@@ -376,7 +380,7 @@
376
380
  \*******************************************************************************************************************************/
377
381
  /**
378
382
  * Do not edit directly
379
- * Generated on Tue, 23 Dec 2025 18:50:27 GMT
383
+ * Generated on Fri, 09 Jan 2026 18:46:14 GMT
380
384
  */
381
385
 
382
386
  :root.dark {
@@ -421,6 +425,7 @@
421
425
  --color-border-warning: #fef08a;
422
426
  --color-border-inverse: #d4d4d4;
423
427
  --color-border-info: #bfdbfe;
428
+ --color-border-success: #bbf7d0;
424
429
  --color-border-button-primary: #ffffff;
425
430
  --color-border-button-primary-hover: #e5e5e5;
426
431
  --color-border-button-primary-active: #e5e5e5;
@@ -285,6 +285,7 @@ Component, props, getDefault) {
285
285
  var styles$z = {"box-transition":"Box-module_box-transition__eQx8C"};
286
286
 
287
287
  var _excluded$R = ["as", "alignItems", "alignContent", "alignSelf", "background", "borderColor", "borderWidth", "children", "childGap", "className", "color", "columnGap", "cursor", "display", "direction", "flex", "fontFamily", "fontSize", "focus", "fontWeight", "gap", "height", "hover", "justifyContent", "margin", "maxHeight", "minHeight", "maxWidth", "minWidth", "overflow", "padding", "position", "radius", "rowGap", "shadow", "style", "textAlign", "textTransform", "textWrap", "wrap", "whiteSpace", "width", "wordBreak", "zIndex"];
288
+ var AUTO_FONT_COLOR_BACKGROUNDS = ['success', 'warning', 'danger', 'info'];
288
289
  /**
289
290
  * A `<Box>` is a layout component to build UIs with consistent padding and spacing between
290
291
  * elements.
@@ -386,6 +387,10 @@ var Box = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
386
387
  var maxWidthCss = getDimensionCss('mw', maxWidth);
387
388
  var minHeightCss = getDimensionCss('minh', minHeight);
388
389
  var minWidthCss = getDimensionCss('minw', minWidth);
390
+ // `inverse` background uses a matching `inverse` font color instead of the
391
+ // generic auto-mapped colors in AUTO_FONT_COLOR_BACKGROUNDS, so it is
392
+ // intentionally handled separately here.
393
+ var finalColor = color != null ? color : background === 'inverse' ? 'inverse' : AUTO_FONT_COLOR_BACKGROUNDS.includes(background) ? 'grey' : undefined;
389
394
  var isFlexBox = typeof display === 'string' && display.includes('flex');
390
395
  var flexDirectionClasses = isFlexBox ? generateResponsiveClasses('flex-direction', direction) : null;
391
396
  var cssPropertyMap = {
@@ -428,7 +433,7 @@ var Box = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
428
433
  var boxClasses = classNames.apply(void 0, [className, cssShorthandToClasses('m', margin), cssShorthandToClasses('p', padding), cssShorthandToClasses('br', radius), cssShorthandToClasses('g', gap), cssShorthandToClasses('cg', columnGap), cssShorthandToClasses('rg', rowGap), heightCss.classes, maxHeightCss.classes, minHeightCss.classes, maxWidthCss.classes, minWidthCss.classes, widthCss.classes, flexDirectionClasses, generateResponsiveClasses('display', display), generateResponsiveClasses('justify-content', justifyContent), generateResponsiveClasses('align-items', alignItems), generateResponsiveClasses('align-content', alignContent), generateResponsiveClasses('align-self', alignSelf), generateResponsiveClasses('font-family', fontFamily), generateResponsiveClasses('font-size', fontSize), generateResponsiveClasses('overflow', overflow), generateResponsiveClasses('shadow', shadow), generateResponsiveClasses('flex', flex), cssShorthandToClasses('bw', borderWidth), generateResponsiveClasses('font-weight', fontWeight), generateResponsiveClasses('text-align', textAlign), generateResponsiveClasses('transform', textTransform), generateResponsiveClasses('text-wrap', textWrap), generateResponsiveClasses('position', position), generateResponsiveClasses('z-index', zIndex), generateResponsiveClasses('whitespace', whiteSpace), generateResponsiveClasses('break', wordBreak)].concat(hoverClasses != null ? hoverClasses : [], focusClasses != null ? focusClasses : [], [(_ref3 = {
429
434
  'flex-wrap': isFlexBox && wrap,
430
435
  'flex-nowrap': isFlexBox && wrap === false
431
- }, _ref3["background-color-" + background] = background, _ref3["font-color-" + color] = color, _ref3["border-color-" + borderColor] = borderColor, _ref3["cursor-" + cursor] = cursor, _ref3[styles$z['box-transition']] = hover || focus, _ref3)]));
436
+ }, _ref3["background-color-" + background] = background, _ref3["font-color-" + finalColor] = finalColor, _ref3["border-color-" + borderColor] = borderColor, _ref3["cursor-" + cursor] = cursor, _ref3[styles$z['box-transition']] = hover || focus, _ref3)]));
432
437
  var boxStyles = _extends({}, style, heightCss.styles, maxHeightCss.styles, maxWidthCss.styles, widthCss.styles, minHeightCss.styles, minWidthCss.styles);
433
438
  /**
434
439
  * Creates an object that maps the flex direction to either `right` or `bottom`
@@ -2672,9 +2677,10 @@ var SelectInputNative = function SelectInputNative(_ref) {
2672
2677
  restProps = _objectWithoutPropertiesLoose(_ref, _excluded$o);
2673
2678
  var placeholderOption = {
2674
2679
  value: '',
2675
- label: placeholder
2680
+ label: placeholder,
2681
+ disabled: true
2676
2682
  };
2677
- var optionsWithPlaceholder = [_extends({}, placeholderOption)].concat(options);
2683
+ var optionsWithPlaceholder = [placeholderOption].concat(options);
2678
2684
  var responsiveClasses = generateResponsiveClasses('size', size);
2679
2685
  var selectWrapperClasses = classNames.apply(void 0, ['hyphen-components__variables__form-control', styles$g['select-input-native-wrapper']].concat(responsiveClasses.map(function (className) {
2680
2686
  return styles$g[className];
@@ -2704,11 +2710,12 @@ var SelectInputNative = function SelectInputNative(_ref) {
2704
2710
  id: id,
2705
2711
  required: isRequired
2706
2712
  }, optionsWithPlaceholder.map(function (option) {
2713
+ var _option$disabled;
2707
2714
  return React.createElement(Box, {
2708
2715
  as: "option",
2709
2716
  key: option.value,
2710
2717
  value: option.value,
2711
- disabled: option.value === '',
2718
+ disabled: (_option$disabled = option.disabled) != null ? _option$disabled : false,
2712
2719
  hidden: option.value === '',
2713
2720
  color: option.value === '' ? 'disabled' : 'base'
2714
2721
  }, option.label);