@hyphen/hyphen-components 5.7.3 → 5.8.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/Box/Box.d.ts +9 -1
- package/dist/components/Box/Box.stories.d.ts +2 -0
- package/dist/css/utilities.css +73 -1
- package/dist/css/variables.css +11 -2
- package/dist/hyphen-components.cjs.development.js +18 -9
- 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 +18 -9
- package/dist/hyphen-components.esm.js.map +1 -1
- package/dist/types/index.d.ts +3 -1
- package/package.json +2 -2
- package/src/components/Box/Box.stories.tsx +111 -0
- package/src/components/Box/Box.tsx +14 -0
- package/src/components/Sidebar/Sidebar.stories.tsx +6 -8
- package/src/components/Sidebar/Sidebar.tsx +5 -0
- package/src/types/index.ts +10 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as CSS from 'csstype';
|
|
2
|
-
import { BaseSpacing, BorderRadiusSize, BorderSize, BoxShadowSize, CssAlignContentValue, CssAlignItemsValue, CssDisplayValue, CssFlexDirectionValue, CssFlexValue, CssJustifyContentValue, CssOverflowValue, CssTextAlignValue, DimensionSize, FontColor, FontFamily, FontSize, FontWeight, ResponsiveProp, SpacingSize, ZIndexSize, BackgroundColor, BorderColor } from '../../types';
|
|
2
|
+
import { BaseSpacing, BorderRadiusSize, BorderSize, BoxShadowSize, CssAlignContentValue, CssAlignItemsValue, CssDisplayValue, CssFlexDirectionValue, CssFlexValue, CssJustifyContentValue, CssOverflowValue, CssTextAlignValue, DimensionSize, FontColor, FontFamily, FontSize, FontWeight, ResponsiveProp, SpacingSize, ZIndexSize, BackgroundColor, BorderColor, CssWhiteSpaceValue, CssWordBreakValue } from '../../types';
|
|
3
3
|
import { CSSProperties, FC, ReactNode } from 'react';
|
|
4
4
|
import { KnownKeys } from '../../types/lib.types';
|
|
5
5
|
export type HoverableBoxProperties = 'color' | 'borderColor' | 'shadow' | 'background';
|
|
@@ -200,6 +200,10 @@ export interface BoxProps {
|
|
|
200
200
|
* the alignment of the text
|
|
201
201
|
*/
|
|
202
202
|
textAlign?: CssTextAlignValue | ResponsiveProp<CssTextAlignValue>;
|
|
203
|
+
/**
|
|
204
|
+
* Control the whitespace behavior of the Box
|
|
205
|
+
*/
|
|
206
|
+
whiteSpace?: CssWhiteSpaceValue | ResponsiveProp<CssWhiteSpaceValue>;
|
|
203
207
|
/**
|
|
204
208
|
* By default, a Box's items will all try to fit onto one line.
|
|
205
209
|
* Change that and allow the items to wrap as needed wrap
|
|
@@ -210,6 +214,10 @@ export interface BoxProps {
|
|
|
210
214
|
* or a [width token](/?path=/docs/foundation-design-tokens--docs#width)
|
|
211
215
|
*/
|
|
212
216
|
width?: DimensionSize | ResponsiveProp<DimensionSize> | string;
|
|
217
|
+
/**
|
|
218
|
+
* Control the word break behavior of the Box
|
|
219
|
+
*/
|
|
220
|
+
wordBreak?: CssWordBreakValue | ResponsiveProp<CssWordBreakValue>;
|
|
213
221
|
/**
|
|
214
222
|
* ZIndex value for the element. Can be one of the predetermined token values.
|
|
215
223
|
* Can be responsive.
|
|
@@ -23,11 +23,13 @@ export declare const Margin: () => React.JSX.Element;
|
|
|
23
23
|
export declare const Padding: () => React.JSX.Element;
|
|
24
24
|
export declare const Radius: () => React.JSX.Element;
|
|
25
25
|
export declare const Shadow: () => React.JSX.Element;
|
|
26
|
+
export declare const WhiteSpace: () => React.JSX.Element;
|
|
26
27
|
export declare const Width: () => React.JSX.Element;
|
|
27
28
|
export declare const WidthTokens: () => React.JSX.Element;
|
|
28
29
|
export declare const WidthPercentages: () => React.JSX.Element;
|
|
29
30
|
export declare const WidthMax: () => React.JSX.Element;
|
|
30
31
|
export declare const WidthMin: () => React.JSX.Element;
|
|
32
|
+
export declare const WordBreak: () => React.JSX.Element;
|
|
31
33
|
export declare const Height: () => React.JSX.Element;
|
|
32
34
|
export declare const HeightTokens: () => React.JSX.Element;
|
|
33
35
|
export declare const HeightPercentages: () => React.JSX.Element;
|
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, 15 Aug 2025 16:51:26 GMT
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
.font-family-monospace { font-family: var(--assets-font-family-monospace); }
|
|
@@ -864,6 +864,24 @@
|
|
|
864
864
|
|
|
865
865
|
.transform-normal-case { text-transform: var(--font-text-transform-normal-case); }
|
|
866
866
|
|
|
867
|
+
.whitespace-normal { white-space: var(--font-white-space-normal); }
|
|
868
|
+
|
|
869
|
+
.whitespace-nowrap { white-space: var(--font-white-space-nowrap); }
|
|
870
|
+
|
|
871
|
+
.whitespace-pre { white-space: var(--font-white-space-pre); }
|
|
872
|
+
|
|
873
|
+
.whitespace-pre-line { white-space: var(--font-white-space-pre-line); }
|
|
874
|
+
|
|
875
|
+
.whitespace-pre-wrap { white-space: var(--font-white-space-pre-wrap); }
|
|
876
|
+
|
|
877
|
+
.whitespace-break-spaces { white-space: var(--font-white-space-break-spaces); }
|
|
878
|
+
|
|
879
|
+
.break-normal { word-break: var(--font-word-break-normal); }
|
|
880
|
+
|
|
881
|
+
.break-break-all { word-break: var(--font-word-break-break-all); }
|
|
882
|
+
|
|
883
|
+
.break-keep-all { word-break: var(--font-word-break-keep-all); }
|
|
884
|
+
|
|
867
885
|
.bw-0 { border-width: var(--size-border-width-0); border-style: solid; }
|
|
868
886
|
|
|
869
887
|
.bw-top-0 { border-top-width: var(--size-border-width-0); border-top-style: solid; }
|
|
@@ -2171,6 +2189,24 @@
|
|
|
2171
2189
|
.z-sticky { z-index: var(--size-z-index-sticky); }
|
|
2172
2190
|
|
|
2173
2191
|
@media (min-width: 680px) {
|
|
2192
|
+
.whitespace-normal-tablet { white-space: var(--font-white-space-normal); }
|
|
2193
|
+
|
|
2194
|
+
.whitespace-nowrap-tablet { white-space: var(--font-white-space-nowrap); }
|
|
2195
|
+
|
|
2196
|
+
.whitespace-pre-tablet { white-space: var(--font-white-space-pre); }
|
|
2197
|
+
|
|
2198
|
+
.whitespace-pre-line-tablet { white-space: var(--font-white-space-pre-line); }
|
|
2199
|
+
|
|
2200
|
+
.whitespace-pre-wrap-tablet { white-space: var(--font-white-space-pre-wrap); }
|
|
2201
|
+
|
|
2202
|
+
.whitespace-break-spaces-tablet { white-space: var(--font-white-space-break-spaces); }
|
|
2203
|
+
|
|
2204
|
+
.break-normal-tablet { word-break: var(--font-word-break-normal); }
|
|
2205
|
+
|
|
2206
|
+
.break-break-all-tablet { word-break: var(--font-word-break-break-all); }
|
|
2207
|
+
|
|
2208
|
+
.break-keep-all-tablet { word-break: var(--font-word-break-keep-all); }
|
|
2209
|
+
|
|
2174
2210
|
.bw-0-tablet { border-width: var(--size-border-width-0); border-style: solid; }
|
|
2175
2211
|
|
|
2176
2212
|
.bw-top-0-tablet { border-top-width: var(--size-border-width-0); border-top-style: solid; }
|
|
@@ -3458,6 +3494,24 @@
|
|
|
3458
3494
|
}
|
|
3459
3495
|
|
|
3460
3496
|
@media (min-width: 992px) {
|
|
3497
|
+
.whitespace-normal-desktop { white-space: var(--font-white-space-normal); }
|
|
3498
|
+
|
|
3499
|
+
.whitespace-nowrap-desktop { white-space: var(--font-white-space-nowrap); }
|
|
3500
|
+
|
|
3501
|
+
.whitespace-pre-desktop { white-space: var(--font-white-space-pre); }
|
|
3502
|
+
|
|
3503
|
+
.whitespace-pre-line-desktop { white-space: var(--font-white-space-pre-line); }
|
|
3504
|
+
|
|
3505
|
+
.whitespace-pre-wrap-desktop { white-space: var(--font-white-space-pre-wrap); }
|
|
3506
|
+
|
|
3507
|
+
.whitespace-break-spaces-desktop { white-space: var(--font-white-space-break-spaces); }
|
|
3508
|
+
|
|
3509
|
+
.break-normal-desktop { word-break: var(--font-word-break-normal); }
|
|
3510
|
+
|
|
3511
|
+
.break-break-all-desktop { word-break: var(--font-word-break-break-all); }
|
|
3512
|
+
|
|
3513
|
+
.break-keep-all-desktop { word-break: var(--font-word-break-keep-all); }
|
|
3514
|
+
|
|
3461
3515
|
.bw-0-desktop { border-width: var(--size-border-width-0); border-style: solid; }
|
|
3462
3516
|
|
|
3463
3517
|
.bw-top-0-desktop { border-top-width: var(--size-border-width-0); border-top-style: solid; }
|
|
@@ -4745,6 +4799,24 @@
|
|
|
4745
4799
|
}
|
|
4746
4800
|
|
|
4747
4801
|
@media (min-width: 1280px) {
|
|
4802
|
+
.whitespace-normal-hd { white-space: var(--font-white-space-normal); }
|
|
4803
|
+
|
|
4804
|
+
.whitespace-nowrap-hd { white-space: var(--font-white-space-nowrap); }
|
|
4805
|
+
|
|
4806
|
+
.whitespace-pre-hd { white-space: var(--font-white-space-pre); }
|
|
4807
|
+
|
|
4808
|
+
.whitespace-pre-line-hd { white-space: var(--font-white-space-pre-line); }
|
|
4809
|
+
|
|
4810
|
+
.whitespace-pre-wrap-hd { white-space: var(--font-white-space-pre-wrap); }
|
|
4811
|
+
|
|
4812
|
+
.whitespace-break-spaces-hd { white-space: var(--font-white-space-break-spaces); }
|
|
4813
|
+
|
|
4814
|
+
.break-normal-hd { word-break: var(--font-word-break-normal); }
|
|
4815
|
+
|
|
4816
|
+
.break-break-all-hd { word-break: var(--font-word-break-break-all); }
|
|
4817
|
+
|
|
4818
|
+
.break-keep-all-hd { word-break: var(--font-word-break-keep-all); }
|
|
4819
|
+
|
|
4748
4820
|
.bw-0-hd { border-width: var(--size-border-width-0); border-style: solid; }
|
|
4749
4821
|
|
|
4750
4822
|
.bw-top-0-hd { border-top-width: var(--size-border-width-0); border-top-style: solid; }
|
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, 15 Aug 2025 16:51:26 GMT
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
:root {
|
|
@@ -231,6 +231,15 @@
|
|
|
231
231
|
--font-text-transform-lowercase: lowercase;
|
|
232
232
|
--font-text-transform-capitalize: capitalize;
|
|
233
233
|
--font-text-transform-normal-case: normal-case;
|
|
234
|
+
--font-white-space-normal: normal;
|
|
235
|
+
--font-white-space-nowrap: nowrap;
|
|
236
|
+
--font-white-space-pre: pre;
|
|
237
|
+
--font-white-space-pre-line: pre-line;
|
|
238
|
+
--font-white-space-pre-wrap: pre-wrap;
|
|
239
|
+
--font-white-space-break-spaces: break-spaces;
|
|
240
|
+
--font-word-break-normal: normal;
|
|
241
|
+
--font-word-break-break-all: break-all;
|
|
242
|
+
--font-word-break-keep-all: keep-all;
|
|
234
243
|
--size-border-width-0: 0rem;
|
|
235
244
|
--size-border-width-sm: 0.0625rem;
|
|
236
245
|
--size-border-width-md: 0.125rem;
|
|
@@ -357,7 +366,7 @@
|
|
|
357
366
|
\*******************************************************************************************************************************/
|
|
358
367
|
/**
|
|
359
368
|
* Do not edit directly
|
|
360
|
-
* Generated on
|
|
369
|
+
* Generated on Fri, 15 Aug 2025 16:51:26 GMT
|
|
361
370
|
*/
|
|
362
371
|
|
|
363
372
|
:root.dark {
|
|
@@ -281,7 +281,7 @@ Component, props, getDefault) {
|
|
|
281
281
|
|
|
282
282
|
var styles$A = {"box-transition":"Box-module_box-transition__eQx8C"};
|
|
283
283
|
|
|
284
|
-
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", "wrap", "width", "zIndex"];
|
|
284
|
+
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", "wrap", "whiteSpace", "width", "wordBreak", "zIndex"];
|
|
285
285
|
/**
|
|
286
286
|
* A `<Box>` is a layout component to build UIs with consistent padding and spacing between
|
|
287
287
|
* elements.
|
|
@@ -364,8 +364,12 @@ var Box = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
364
364
|
textAlign = _ref$textAlign === void 0 ? undefined : _ref$textAlign,
|
|
365
365
|
_ref$wrap = _ref.wrap,
|
|
366
366
|
wrap = _ref$wrap === void 0 ? undefined : _ref$wrap,
|
|
367
|
+
_ref$whiteSpace = _ref.whiteSpace,
|
|
368
|
+
whiteSpace = _ref$whiteSpace === void 0 ? undefined : _ref$whiteSpace,
|
|
367
369
|
_ref$width = _ref.width,
|
|
368
370
|
width = _ref$width === void 0 ? undefined : _ref$width,
|
|
371
|
+
_ref$wordBreak = _ref.wordBreak,
|
|
372
|
+
wordBreak = _ref$wordBreak === void 0 ? undefined : _ref$wordBreak,
|
|
369
373
|
_ref$zIndex = _ref.zIndex,
|
|
370
374
|
zIndex = _ref$zIndex === void 0 ? undefined : _ref$zIndex,
|
|
371
375
|
restProps = _objectWithoutPropertiesLoose(_ref, _excluded$R);
|
|
@@ -414,7 +418,7 @@ var Box = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
414
418
|
};
|
|
415
419
|
var hoverClasses = getStatefulClasses('hover', hover);
|
|
416
420
|
var focusClasses = getStatefulClasses('focus', focus);
|
|
417
|
-
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('position', position), generateResponsiveClasses('z-index', zIndex)].concat(hoverClasses != null ? hoverClasses : [], focusClasses != null ? focusClasses : [], [(_ref3 = {
|
|
421
|
+
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('position', position), generateResponsiveClasses('z-index', zIndex), generateResponsiveClasses('whitespace', whiteSpace), generateResponsiveClasses('break', wordBreak)].concat(hoverClasses != null ? hoverClasses : [], focusClasses != null ? focusClasses : [], [(_ref3 = {
|
|
418
422
|
'flex-wrap': isFlexBox && wrap,
|
|
419
423
|
'flex-nowrap': isFlexBox && wrap === false
|
|
420
424
|
}, _ref3["background-color-" + background] = background, _ref3["font-color-" + color] = color, _ref3["border-color-" + borderColor] = borderColor, _ref3["cursor-" + cursor] = cursor, _ref3[styles$A['box-transition']] = hover || focus, _ref3)]));
|
|
@@ -4257,10 +4261,15 @@ SidebarInset.displayName = 'SidebarInset';
|
|
|
4257
4261
|
var SidebarHeader = /*#__PURE__*/React.forwardRef(function (_ref5, ref) {
|
|
4258
4262
|
var className = _ref5.className,
|
|
4259
4263
|
props = _objectWithoutPropertiesLoose(_ref5, _excluded5);
|
|
4264
|
+
var _useSidebar3 = useSidebar(),
|
|
4265
|
+
state = _useSidebar3.state;
|
|
4266
|
+
var isCollapsed = state === 'collapsed';
|
|
4260
4267
|
return React.createElement("div", _extends({
|
|
4261
4268
|
ref: ref,
|
|
4262
4269
|
"data-sidebar": "header",
|
|
4263
|
-
className: classNames('display-flex g-sm p-v-md p-h-md p-right-0-desktop',
|
|
4270
|
+
className: classNames('display-flex g-sm p-v-md p-h-md p-right-0-desktop', {
|
|
4271
|
+
'overflow-hidden': isCollapsed
|
|
4272
|
+
}, className)
|
|
4264
4273
|
}, props));
|
|
4265
4274
|
});
|
|
4266
4275
|
SidebarHeader.displayName = 'SidebarHeader';
|
|
@@ -4323,9 +4332,9 @@ var SidebarMenuButton = /*#__PURE__*/React.forwardRef(function (_ref0, ref) {
|
|
|
4323
4332
|
className = _ref0.className,
|
|
4324
4333
|
props = _objectWithoutPropertiesLoose(_ref0, _excluded0);
|
|
4325
4334
|
var Comp = asChild ? reactSlot.Slot : 'button';
|
|
4326
|
-
var
|
|
4327
|
-
isMobile =
|
|
4328
|
-
state =
|
|
4335
|
+
var _useSidebar4 = useSidebar(),
|
|
4336
|
+
isMobile = _useSidebar4.isMobile,
|
|
4337
|
+
state = _useSidebar4.state;
|
|
4329
4338
|
var button = React.createElement(Comp, _extends({
|
|
4330
4339
|
ref: ref,
|
|
4331
4340
|
"data-sidebar": "menu-button",
|
|
@@ -4430,9 +4439,9 @@ SidebarMenuAction.displayName = 'SidebarMenuAction';
|
|
|
4430
4439
|
var SidebarRail = /*#__PURE__*/React.forwardRef(function (_ref15, ref) {
|
|
4431
4440
|
var className = _ref15.className,
|
|
4432
4441
|
props = _objectWithoutPropertiesLoose(_ref15, _excluded14);
|
|
4433
|
-
var
|
|
4434
|
-
open =
|
|
4435
|
-
toggleSidebar =
|
|
4442
|
+
var _useSidebar5 = useSidebar(),
|
|
4443
|
+
open = _useSidebar5.open,
|
|
4444
|
+
toggleSidebar = _useSidebar5.toggleSidebar;
|
|
4436
4445
|
var caretIcon = open ? 'caret-sm-left' : 'caret-sm-right';
|
|
4437
4446
|
return React.createElement("button", _extends({
|
|
4438
4447
|
ref: ref,
|