@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.
- package/dist/components/SelectInputNative/SelectInputNative.d.ts +6 -4
- package/dist/css/utilities.css +25 -1
- package/dist/css/variables.css +7 -2
- package/dist/hyphen-components.cjs.development.js +11 -4
- package/dist/hyphen-components.cjs.development.js.map +1 -1
- package/dist/hyphen-components.cjs.production.min.js +1 -1
- package/dist/hyphen-components.cjs.production.min.js.map +1 -1
- package/dist/hyphen-components.esm.js +11 -4
- package/dist/hyphen-components.esm.js.map +1 -1
- package/package.json +2 -2
- package/src/components/Box/Box.stories.tsx +20 -119
- package/src/components/Box/Box.tsx +19 -1
- package/src/components/Formik/Formik.stories.tsx +1 -0
- package/src/components/SelectInputNative/SelectInputNative.stories.tsx +1 -0
- package/src/components/SelectInputNative/SelectInputNative.test.tsx +15 -1
- package/src/components/SelectInputNative/SelectInputNative.tsx +17 -4
- package/src/components/Sidebar/Sidebar.stories.tsx +2 -7
|
@@ -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
|
*/
|
package/dist/css/utilities.css
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
\***************************************************************************************************************************/
|
|
4
4
|
/**
|
|
5
5
|
* Do not edit directly
|
|
6
|
-
* Generated on
|
|
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); }
|
package/dist/css/variables.css
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
\*********************************************************************************************************************/
|
|
4
4
|
/**
|
|
5
5
|
* Do not edit directly
|
|
6
|
-
* Generated on
|
|
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
|
|
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-" +
|
|
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 = [
|
|
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.
|
|
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);
|