design-zystem 1.0.284 → 1.0.286

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/index.d.mts CHANGED
@@ -34,6 +34,24 @@ interface BoxProps extends Omit<HTMLAttributes<HTMLDivElement>, 'color'> {
34
34
  border?: string;
35
35
  /** Colored left accent bar (status/score encoding), painted over the box border. */
36
36
  borderColor?: string;
37
+ /** Colored halo around the box, for transient states (unsaved, selected, in error). */
38
+ shadowColor?: string;
39
+ /** Explicit width, wins over `fullWidth`. The box stays in `content-box`, so a border adds to it. */
40
+ width?: string;
41
+ /** Explicit min-width, wins over `fullWidth`. Pair with `width` for a column that must not shrink. */
42
+ minWidth?: string;
43
+ /** Floor height of a flex child; `minHeight="0"` lets it shrink below its content so an inner area can scroll. */
44
+ minHeight?: string;
45
+ /** `flex` shorthand when the box is itself a flex child (e.g. `0 0 250px`, `1 1 auto`). */
46
+ flex?: string;
47
+ /** Stacking direction of the box's own children — the box is a `row` by default. */
48
+ flexDirection?: string;
49
+ /** Clips or scrolls the content (`hidden`, `auto`…); the box shows overflowing content by default. */
50
+ overflow?: string;
51
+ /** Positioning scheme; the box is `relative` by default, so children can already be absolute against it. */
52
+ position?: string;
53
+ /** `inset` shorthand, meaningful with `position="absolute"` (e.g. `0` to fill the positioned ancestor). */
54
+ inset?: string;
37
55
  style?: CSSProperties;
38
56
  }
39
57
  declare const Box: ({ children, hasShadow, ...rest }: BoxProps) => react_jsx_runtime.JSX.Element;
@@ -68,6 +86,18 @@ interface RowProps extends HTMLAttributes<HTMLDivElement> {
68
86
  width?: string;
69
87
  wrap?: string;
70
88
  backgroundColor?: string;
89
+ /** `flex` shorthand when the row is itself a flex child (e.g. `1 1 auto` to absorb the leftover height). */
90
+ flex?: string;
91
+ /** Floor height of a flex child; `minHeight="0"` lets it shrink below its content so an inner area can scroll. */
92
+ minHeight?: string;
93
+ /** Ceiling height — the row is capped at `100%` of its parent by default; `none` releases that cap. */
94
+ maxHeight?: string;
95
+ /** Horizontal overflow, e.g. `auto` for a horizontally scrollable board. */
96
+ overflowX?: string;
97
+ /** Vertical overflow, e.g. `auto` to make the row own its scroll region. */
98
+ overflowY?: string;
99
+ /** Positioning scheme; `relative` makes the row the anchor of an absolutely positioned child. */
100
+ position?: string;
71
101
  style?: CSSProperties;
72
102
  className?: string;
73
103
  }
@@ -84,6 +114,28 @@ interface ColProps extends HTMLAttributes<HTMLDivElement> {
84
114
  fullHeight?: boolean;
85
115
  fullWidth?: boolean;
86
116
  flex?: string;
117
+ /** Explicit width, wins over `fullWidth` and `size` (e.g. a 12px gutter column). */
118
+ width?: string;
119
+ /** Explicit min-width. `minWidth="0"` lets a flex column shrink below its content, like a `minmax(0, 1fr)` grid track. */
120
+ minWidth?: string;
121
+ /** Explicit height, wins over `fullHeight`. `height="auto"` beats the default `fit-content` so the column can stretch. */
122
+ height?: string;
123
+ /** Floor height of a flex child; `minHeight="0"` lets it shrink below its content so an inner area can scroll. */
124
+ minHeight?: string;
125
+ /** Cross-axis alignment of the column itself, e.g. `stretch` to match the height of its siblings. */
126
+ alignSelf?: string;
127
+ /** Horizontal overflow; the column shows overflowing content by default. */
128
+ overflowX?: string;
129
+ /** Vertical overflow; `overflowY="auto"` makes the column own its scroll region. */
130
+ overflowY?: string;
131
+ /** `scrollbar-gutter`, e.g. `stable` so the content keeps the same width whether or not a scrollbar shows. */
132
+ scrollbarGutter?: string;
133
+ /** Hides the scrollbar chrome while keeping the column scrollable. */
134
+ hideScrollbar?: boolean;
135
+ /** `overflow-wrap` — inherited, so `anywhere` also protects the whole subtree from an unbreakable token. */
136
+ overflowWrap?: string;
137
+ /** Positioning scheme; `relative` makes the column the anchor of an absolutely positioned child. */
138
+ position?: string;
87
139
  style?: CSSProperties;
88
140
  className?: string;
89
141
  }
@@ -110,10 +162,12 @@ interface DividerProps {
110
162
  color?: string;
111
163
  thickness?: string;
112
164
  ySpacing?: string;
165
+ /** `flex-shrink` when the divider is a flex child — `0` stops a column flex box from crushing its 1px to nothing. */
166
+ flexShrink?: string | number;
113
167
  className?: string;
114
168
  style?: CSSProperties;
115
169
  }
116
- declare const Divider: ({ orientation, color, thickness, ySpacing, className, ...rest }: DividerProps) => react_jsx_runtime.JSX.Element;
170
+ declare const Divider: ({ orientation, color, thickness, ySpacing, flexShrink, className, ...rest }: DividerProps) => react_jsx_runtime.JSX.Element;
117
171
 
118
172
  interface CollapseProps {
119
173
  open: boolean;
@@ -196,8 +250,10 @@ interface DrawerProps {
196
250
  leftOutline?: boolean;
197
251
  rightOutline?: boolean;
198
252
  footer?: ReactNode;
253
+ /** Stretches the content wrapper to the full height of the scrollable area. Off by default: the wrapper is `fit-content`, so a panel that must pin something to its bottom needs this. */
254
+ stretchContent?: boolean;
199
255
  }
200
- declare const Drawer: ({ showDrawer, closeDrawer, title, width, children, leftButtonLabel, leftButtonAction, leftButtonDisabled, rightButtonLabel, rightButtonAction, rightButtonDisabled, isLoading, leftVariant, variant, leftOutline, rightOutline, footer, }: DrawerProps) => react_jsx_runtime.JSX.Element | null;
256
+ declare const Drawer: ({ showDrawer, closeDrawer, title, width, children, leftButtonLabel, leftButtonAction, leftButtonDisabled, rightButtonLabel, rightButtonAction, rightButtonDisabled, isLoading, leftVariant, variant, leftOutline, rightOutline, footer, stretchContent, }: DrawerProps) => react_jsx_runtime.JSX.Element | null;
201
257
 
202
258
  declare const Toaster: () => react.ReactPortal | null;
203
259
 
@@ -252,6 +308,8 @@ interface BubbleProps {
252
308
  width?: string;
253
309
  /** Looping pulse to draw the eye to a critical bubble. Ring colour follows `backgroundColor`, content is centred on the cross axis, and the animation is dropped under `prefers-reduced-motion`. Spacing between children stays the caller's job. */
254
310
  pulse?: boolean;
311
+ /** Shows the hand cursor. Pair it with `onClick` so an actionable bubble (a tag that opens a file) looks actionable. */
312
+ pointer?: boolean;
255
313
  style?: CSSProperties;
256
314
  onClick?: () => void;
257
315
  }
@@ -293,6 +351,7 @@ interface TextProps extends Omit<HTMLAttributes<HTMLElement>, 'color'> {
293
351
  max?: number | string;
294
352
  wrap?: string;
295
353
  lineClamp?: number;
354
+ overflowWrap?: string;
296
355
  onClick?: (e: MouseEvent) => void;
297
356
  style?: CSSProperties;
298
357
  className?: string;
@@ -350,10 +409,12 @@ interface ButtonProps extends HTMLAttributes<HTMLButtonElement> {
350
409
  onClick?: () => void;
351
410
  disabled?: boolean;
352
411
  noHover?: boolean;
412
+ /** Square side of an icon-only button (no `label`). Defaults to 36px, the historical hardcoded size. */
413
+ iconOnlySize?: string;
353
414
  style?: CSSProperties;
354
415
  className?: string;
355
416
  }
356
- declare const Button: ({ label, children, iconLeft, iconRight, iconColor, variant, outline, size, width, isLoading, fontWeight, onClick, disabled, noHover, ...rest }: ButtonProps) => react_jsx_runtime.JSX.Element;
417
+ declare const Button: ({ label, children, iconLeft, iconRight, iconColor, variant, outline, size, width, isLoading, fontWeight, onClick, disabled, noHover, iconOnlySize, ...rest }: ButtonProps) => react_jsx_runtime.JSX.Element;
357
418
 
358
419
  interface SelectOption<T> {
359
420
  value: T;
@@ -407,6 +468,8 @@ interface InputProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | '
407
468
  borderRadius?: string;
408
469
  gap?: string;
409
470
  marginTop?: string;
471
+ /** Type scale of the field and of its placeholder (the placeholder stays at 12px when unset). */
472
+ fontSize?: string;
410
473
  style?: CSSProperties;
411
474
  className?: string;
412
475
  isSearch?: boolean;
@@ -914,8 +977,10 @@ interface CardProps {
914
977
  backgroundColor?: string;
915
978
  padding?: string;
916
979
  borderRadius?: string;
980
+ /** `flex-shrink` when the card is a flex child — `0` keeps its natural height inside a scrolling column instead of being squashed. */
981
+ flexShrink?: string | number;
917
982
  }
918
- declare const Card: ({ children, onClick, accentColor, backgroundColor, padding, borderRadius, }: CardProps) => react_jsx_runtime.JSX.Element;
983
+ declare const Card: ({ children, onClick, accentColor, backgroundColor, padding, borderRadius, flexShrink, }: CardProps) => react_jsx_runtime.JSX.Element;
919
984
 
920
985
  interface BannerAction {
921
986
  label: string;
package/dist/index.d.ts CHANGED
@@ -34,6 +34,24 @@ interface BoxProps extends Omit<HTMLAttributes<HTMLDivElement>, 'color'> {
34
34
  border?: string;
35
35
  /** Colored left accent bar (status/score encoding), painted over the box border. */
36
36
  borderColor?: string;
37
+ /** Colored halo around the box, for transient states (unsaved, selected, in error). */
38
+ shadowColor?: string;
39
+ /** Explicit width, wins over `fullWidth`. The box stays in `content-box`, so a border adds to it. */
40
+ width?: string;
41
+ /** Explicit min-width, wins over `fullWidth`. Pair with `width` for a column that must not shrink. */
42
+ minWidth?: string;
43
+ /** Floor height of a flex child; `minHeight="0"` lets it shrink below its content so an inner area can scroll. */
44
+ minHeight?: string;
45
+ /** `flex` shorthand when the box is itself a flex child (e.g. `0 0 250px`, `1 1 auto`). */
46
+ flex?: string;
47
+ /** Stacking direction of the box's own children — the box is a `row` by default. */
48
+ flexDirection?: string;
49
+ /** Clips or scrolls the content (`hidden`, `auto`…); the box shows overflowing content by default. */
50
+ overflow?: string;
51
+ /** Positioning scheme; the box is `relative` by default, so children can already be absolute against it. */
52
+ position?: string;
53
+ /** `inset` shorthand, meaningful with `position="absolute"` (e.g. `0` to fill the positioned ancestor). */
54
+ inset?: string;
37
55
  style?: CSSProperties;
38
56
  }
39
57
  declare const Box: ({ children, hasShadow, ...rest }: BoxProps) => react_jsx_runtime.JSX.Element;
@@ -68,6 +86,18 @@ interface RowProps extends HTMLAttributes<HTMLDivElement> {
68
86
  width?: string;
69
87
  wrap?: string;
70
88
  backgroundColor?: string;
89
+ /** `flex` shorthand when the row is itself a flex child (e.g. `1 1 auto` to absorb the leftover height). */
90
+ flex?: string;
91
+ /** Floor height of a flex child; `minHeight="0"` lets it shrink below its content so an inner area can scroll. */
92
+ minHeight?: string;
93
+ /** Ceiling height — the row is capped at `100%` of its parent by default; `none` releases that cap. */
94
+ maxHeight?: string;
95
+ /** Horizontal overflow, e.g. `auto` for a horizontally scrollable board. */
96
+ overflowX?: string;
97
+ /** Vertical overflow, e.g. `auto` to make the row own its scroll region. */
98
+ overflowY?: string;
99
+ /** Positioning scheme; `relative` makes the row the anchor of an absolutely positioned child. */
100
+ position?: string;
71
101
  style?: CSSProperties;
72
102
  className?: string;
73
103
  }
@@ -84,6 +114,28 @@ interface ColProps extends HTMLAttributes<HTMLDivElement> {
84
114
  fullHeight?: boolean;
85
115
  fullWidth?: boolean;
86
116
  flex?: string;
117
+ /** Explicit width, wins over `fullWidth` and `size` (e.g. a 12px gutter column). */
118
+ width?: string;
119
+ /** Explicit min-width. `minWidth="0"` lets a flex column shrink below its content, like a `minmax(0, 1fr)` grid track. */
120
+ minWidth?: string;
121
+ /** Explicit height, wins over `fullHeight`. `height="auto"` beats the default `fit-content` so the column can stretch. */
122
+ height?: string;
123
+ /** Floor height of a flex child; `minHeight="0"` lets it shrink below its content so an inner area can scroll. */
124
+ minHeight?: string;
125
+ /** Cross-axis alignment of the column itself, e.g. `stretch` to match the height of its siblings. */
126
+ alignSelf?: string;
127
+ /** Horizontal overflow; the column shows overflowing content by default. */
128
+ overflowX?: string;
129
+ /** Vertical overflow; `overflowY="auto"` makes the column own its scroll region. */
130
+ overflowY?: string;
131
+ /** `scrollbar-gutter`, e.g. `stable` so the content keeps the same width whether or not a scrollbar shows. */
132
+ scrollbarGutter?: string;
133
+ /** Hides the scrollbar chrome while keeping the column scrollable. */
134
+ hideScrollbar?: boolean;
135
+ /** `overflow-wrap` — inherited, so `anywhere` also protects the whole subtree from an unbreakable token. */
136
+ overflowWrap?: string;
137
+ /** Positioning scheme; `relative` makes the column the anchor of an absolutely positioned child. */
138
+ position?: string;
87
139
  style?: CSSProperties;
88
140
  className?: string;
89
141
  }
@@ -110,10 +162,12 @@ interface DividerProps {
110
162
  color?: string;
111
163
  thickness?: string;
112
164
  ySpacing?: string;
165
+ /** `flex-shrink` when the divider is a flex child — `0` stops a column flex box from crushing its 1px to nothing. */
166
+ flexShrink?: string | number;
113
167
  className?: string;
114
168
  style?: CSSProperties;
115
169
  }
116
- declare const Divider: ({ orientation, color, thickness, ySpacing, className, ...rest }: DividerProps) => react_jsx_runtime.JSX.Element;
170
+ declare const Divider: ({ orientation, color, thickness, ySpacing, flexShrink, className, ...rest }: DividerProps) => react_jsx_runtime.JSX.Element;
117
171
 
118
172
  interface CollapseProps {
119
173
  open: boolean;
@@ -196,8 +250,10 @@ interface DrawerProps {
196
250
  leftOutline?: boolean;
197
251
  rightOutline?: boolean;
198
252
  footer?: ReactNode;
253
+ /** Stretches the content wrapper to the full height of the scrollable area. Off by default: the wrapper is `fit-content`, so a panel that must pin something to its bottom needs this. */
254
+ stretchContent?: boolean;
199
255
  }
200
- declare const Drawer: ({ showDrawer, closeDrawer, title, width, children, leftButtonLabel, leftButtonAction, leftButtonDisabled, rightButtonLabel, rightButtonAction, rightButtonDisabled, isLoading, leftVariant, variant, leftOutline, rightOutline, footer, }: DrawerProps) => react_jsx_runtime.JSX.Element | null;
256
+ declare const Drawer: ({ showDrawer, closeDrawer, title, width, children, leftButtonLabel, leftButtonAction, leftButtonDisabled, rightButtonLabel, rightButtonAction, rightButtonDisabled, isLoading, leftVariant, variant, leftOutline, rightOutline, footer, stretchContent, }: DrawerProps) => react_jsx_runtime.JSX.Element | null;
201
257
 
202
258
  declare const Toaster: () => react.ReactPortal | null;
203
259
 
@@ -252,6 +308,8 @@ interface BubbleProps {
252
308
  width?: string;
253
309
  /** Looping pulse to draw the eye to a critical bubble. Ring colour follows `backgroundColor`, content is centred on the cross axis, and the animation is dropped under `prefers-reduced-motion`. Spacing between children stays the caller's job. */
254
310
  pulse?: boolean;
311
+ /** Shows the hand cursor. Pair it with `onClick` so an actionable bubble (a tag that opens a file) looks actionable. */
312
+ pointer?: boolean;
255
313
  style?: CSSProperties;
256
314
  onClick?: () => void;
257
315
  }
@@ -293,6 +351,7 @@ interface TextProps extends Omit<HTMLAttributes<HTMLElement>, 'color'> {
293
351
  max?: number | string;
294
352
  wrap?: string;
295
353
  lineClamp?: number;
354
+ overflowWrap?: string;
296
355
  onClick?: (e: MouseEvent) => void;
297
356
  style?: CSSProperties;
298
357
  className?: string;
@@ -350,10 +409,12 @@ interface ButtonProps extends HTMLAttributes<HTMLButtonElement> {
350
409
  onClick?: () => void;
351
410
  disabled?: boolean;
352
411
  noHover?: boolean;
412
+ /** Square side of an icon-only button (no `label`). Defaults to 36px, the historical hardcoded size. */
413
+ iconOnlySize?: string;
353
414
  style?: CSSProperties;
354
415
  className?: string;
355
416
  }
356
- declare const Button: ({ label, children, iconLeft, iconRight, iconColor, variant, outline, size, width, isLoading, fontWeight, onClick, disabled, noHover, ...rest }: ButtonProps) => react_jsx_runtime.JSX.Element;
417
+ declare const Button: ({ label, children, iconLeft, iconRight, iconColor, variant, outline, size, width, isLoading, fontWeight, onClick, disabled, noHover, iconOnlySize, ...rest }: ButtonProps) => react_jsx_runtime.JSX.Element;
357
418
 
358
419
  interface SelectOption<T> {
359
420
  value: T;
@@ -407,6 +468,8 @@ interface InputProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | '
407
468
  borderRadius?: string;
408
469
  gap?: string;
409
470
  marginTop?: string;
471
+ /** Type scale of the field and of its placeholder (the placeholder stays at 12px when unset). */
472
+ fontSize?: string;
410
473
  style?: CSSProperties;
411
474
  className?: string;
412
475
  isSearch?: boolean;
@@ -914,8 +977,10 @@ interface CardProps {
914
977
  backgroundColor?: string;
915
978
  padding?: string;
916
979
  borderRadius?: string;
980
+ /** `flex-shrink` when the card is a flex child — `0` keeps its natural height inside a scrolling column instead of being squashed. */
981
+ flexShrink?: string | number;
917
982
  }
918
- declare const Card: ({ children, onClick, accentColor, backgroundColor, padding, borderRadius, }: CardProps) => react_jsx_runtime.JSX.Element;
983
+ declare const Card: ({ children, onClick, accentColor, backgroundColor, padding, borderRadius, flexShrink, }: CardProps) => react_jsx_runtime.JSX.Element;
919
984
 
920
985
  interface BannerAction {
921
986
  label: string;
package/dist/index.js CHANGED
@@ -375,11 +375,24 @@ var shouldForwardProp2 = (prop) => ![
375
375
  "borderRadius",
376
376
  "border",
377
377
  "borderColor",
378
- "height"
378
+ "shadowColor",
379
+ "height",
380
+ "width",
381
+ "minWidth",
382
+ "minHeight",
383
+ "flex",
384
+ "flexDirection",
385
+ "overflow",
386
+ "position",
387
+ "inset"
379
388
  ].includes(prop);
380
389
  var StyledBox = import_styled_components2.default.div.withConfig({ shouldForwardProp: shouldForwardProp2 })`
381
- position: relative;
390
+ position: ${(props) => props.position || "relative"};
391
+ ${(props) => props.inset ? `inset: ${props.inset};` : ""}
382
392
  display: flex;
393
+ ${(props) => props.flexDirection ? `flex-direction: ${props.flexDirection};` : ""}
394
+ ${(props) => props.flex ? `flex: ${props.flex};` : ""}
395
+ ${(props) => props.overflow ? `overflow: ${props.overflow};` : ""}
383
396
  border: ${(props) => {
384
397
  var _a;
385
398
  return (_a = props.border) != null ? _a : `1px solid ${colors.grey_300}`;
@@ -388,11 +401,17 @@ var StyledBox = import_styled_components2.default.div.withConfig({ shouldForward
388
401
 
389
402
  border-radius: ${(props) => props.borderRadius || "8px"};
390
403
 
391
- box-shadow: ${(props) => props.hasShadow === false ? "none" : "0 2px 15px 0 rgba(198, 198, 198, 0.25)"};
404
+ box-shadow: ${(props) => {
405
+ const base = props.hasShadow === false ? "" : "0 2px 15px 0 rgba(198, 198, 198, 0.25)";
406
+ if (!props.shadowColor) return base || "none";
407
+ const halo = `0 0 0 4px ${colors[props.shadowColor] || props.shadowColor}`;
408
+ return base ? `${halo}, ${base}` : halo;
409
+ }};
392
410
 
393
- width: ${(props) => props.fullWidth ? "100%" : "auto"};
394
- min-width: ${(props) => props.fullWidth ? "100%" : "auto"};
411
+ width: ${(props) => props.width || (props.fullWidth ? "100%" : "auto")};
412
+ min-width: ${(props) => props.minWidth || (props.fullWidth ? "100%" : "auto")};
395
413
  height: ${(props) => props.height || (props.fullHeight ? "100%" : "auto")};
414
+ ${(props) => props.minHeight ? `min-height: ${props.minHeight};` : ""}
396
415
  padding: ${(props) => props.padding || "16px"};
397
416
  margin: ${(props) => props.margin || "0"};
398
417
  color: ${(props) => colors[props.color] || props.color || "inherit"};
@@ -467,15 +486,26 @@ var shouldForwardPropRow = (prop) => ![
467
486
  "margin",
468
487
  "width",
469
488
  "wrap",
470
- "backgroundColor"
489
+ "backgroundColor",
490
+ "flex",
491
+ "minHeight",
492
+ "maxHeight",
493
+ "overflowX",
494
+ "overflowY",
495
+ "position"
471
496
  ].includes(prop);
472
497
  var StyledRow = import_styled_components4.default.div.withConfig({
473
498
  shouldForwardProp: shouldForwardPropRow
474
499
  })`
475
500
  display: flex;
476
501
  flex-wrap: ${(props) => props.wrap || "nowrap"};
502
+ ${(props) => props.flex ? `flex: ${props.flex};` : ""}
503
+ ${(props) => props.position ? `position: ${props.position};` : ""}
504
+ ${(props) => props.overflowX ? `overflow-x: ${props.overflowX};` : ""}
505
+ ${(props) => props.overflowY ? `overflow-y: ${props.overflowY};` : ""}
477
506
  width: ${(props) => props.width || "100%"};
478
- max-height: 100%;
507
+ max-height: ${(props) => props.maxHeight || "100%"};
508
+ ${(props) => props.minHeight ? `min-height: ${props.minHeight};` : ""}
479
509
  background-color: ${(props) => props.backgroundColor || "transparent"};
480
510
  margin: ${(props) => props.margin || "0"};
481
511
  height: ${(props) => props.fullHeight ? `100%` : "auto"};
@@ -506,7 +536,18 @@ var shouldForwardPropCol = (prop) => ![
506
536
  "padding",
507
537
  "fullHeight",
508
538
  "fullWidth",
509
- "flex"
539
+ "flex",
540
+ "width",
541
+ "minWidth",
542
+ "height",
543
+ "minHeight",
544
+ "alignSelf",
545
+ "overflowX",
546
+ "overflowY",
547
+ "scrollbarGutter",
548
+ "hideScrollbar",
549
+ "overflowWrap",
550
+ "position"
510
551
  ].includes(prop);
511
552
  var StyledCol = import_styled_components5.default.div.withConfig({
512
553
  shouldForwardProp: shouldForwardPropCol
@@ -514,9 +555,24 @@ var StyledCol = import_styled_components5.default.div.withConfig({
514
555
  display: flex;
515
556
  flex-direction: column;
516
557
  overflow: visible;
558
+ overflow-x: ${(props) => props.overflowX || "visible"};
559
+ overflow-y: ${(props) => props.overflowY || "visible"};
560
+ ${(props) => props.scrollbarGutter ? `scrollbar-gutter: ${props.scrollbarGutter};` : ""}
561
+ ${(props) => props.hideScrollbar ? `
562
+ scrollbar-width: none;
563
+ -ms-overflow-style: none;
564
+ &::-webkit-scrollbar {
565
+ display: none;
566
+ }
567
+ ` : ""}
568
+ ${(props) => props.overflowWrap ? `overflow-wrap: ${props.overflowWrap};` : ""}
569
+ ${(props) => props.position ? `position: ${props.position};` : ""}
517
570
  max-height: 100%;
518
- height: ${(props) => props.fullHeight ? "100%" : "fit-content"};
519
- width: ${(props) => props.fullWidth ? "100%" : props.size ? `${props.size / 12 * 100}%` : "fit-content"};
571
+ height: ${(props) => props.height || (props.fullHeight ? "100%" : "fit-content")};
572
+ ${(props) => props.minHeight ? `min-height: ${props.minHeight};` : ""}
573
+ width: ${(props) => props.width || (props.fullWidth ? "100%" : props.size ? `${props.size / 12 * 100}%` : "fit-content")};
574
+ ${(props) => props.minWidth ? `min-width: ${props.minWidth};` : ""}
575
+ ${(props) => props.alignSelf ? `align-self: ${props.alignSelf};` : ""}
520
576
  flex: ${(props) => {
521
577
  var _a;
522
578
  return (_a = props.flex) != null ? _a : props.size ? `1 1 ${props.size / 12 * 100}%` : "auto";
@@ -565,6 +621,7 @@ var Text = (props) => {
565
621
  max,
566
622
  wrap,
567
623
  lineClamp,
624
+ overflowWrap,
568
625
  onClick
569
626
  } = _a, rest = __objRest(_a, [
570
627
  "size",
@@ -583,6 +640,7 @@ var Text = (props) => {
583
640
  "max",
584
641
  "wrap",
585
642
  "lineClamp",
643
+ "overflowWrap",
586
644
  "onClick"
587
645
  ]);
588
646
  const textStyle = __spreadValues({
@@ -600,7 +658,8 @@ var Text = (props) => {
600
658
  display: lineClamp ? "-webkit-box" : max ? "inline-block" : "",
601
659
  overflow: "hidden",
602
660
  textOverflow: max ? "ellipsis" : "",
603
- whiteSpace: wrap || ""
661
+ whiteSpace: wrap || "",
662
+ overflowWrap: overflowWrap || ""
604
663
  }, lineClamp ? {
605
664
  WebkitLineClamp: lineClamp,
606
665
  WebkitBoxOrient: "vertical",
@@ -701,6 +760,7 @@ var StyledDivider = import_styled_components7.default.div`
701
760
  height: ${$thickness || "1px"};
702
761
  width: 100%;
703
762
  `}
763
+ ${({ $flexShrink }) => $flexShrink !== void 0 ? `flex-shrink: ${$flexShrink};` : ""}
704
764
  margin-top: ${({ $ySpacing }) => $ySpacing || "0px"};
705
765
  margin-bottom: ${({ $ySpacing }) => $ySpacing || "0px"};
706
766
  border: none;
@@ -711,12 +771,14 @@ var Divider = (_a) => {
711
771
  color = "#DCDCDC",
712
772
  thickness = "1px",
713
773
  ySpacing = "0px",
774
+ flexShrink,
714
775
  className = ""
715
776
  } = _b, rest = __objRest(_b, [
716
777
  "orientation",
717
778
  "color",
718
779
  "thickness",
719
780
  "ySpacing",
781
+ "flexShrink",
720
782
  "className"
721
783
  ]);
722
784
  return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
@@ -726,6 +788,7 @@ var Divider = (_a) => {
726
788
  $color: resolveColor(color),
727
789
  $thickness: thickness,
728
790
  $ySpacing: ySpacing,
791
+ $flexShrink: flexShrink,
729
792
  className,
730
793
  role: "separator"
731
794
  }, rest)
@@ -890,6 +953,7 @@ var shouldForwardProp4 = (p) => ![
890
953
  "isLoading",
891
954
  "sizeConfig",
892
955
  "iconOnly",
956
+ "iconOnlySize",
893
957
  "noHover"
894
958
  ].includes(p);
895
959
  var StyledButton = import_styled_components9.default.button.withConfig({
@@ -978,8 +1042,8 @@ var StyledButton = import_styled_components9.default.button.withConfig({
978
1042
  `}
979
1043
 
980
1044
  ${(p) => p.iconOnly && `
981
- width: 36px !important;
982
- height: 36px !important;
1045
+ width: ${p.iconOnlySize || "36px"} !important;
1046
+ height: ${p.iconOnlySize || "36px"} !important;
983
1047
  padding: 0 !important;
984
1048
  border-radius: 6px;
985
1049
  `}
@@ -1016,7 +1080,8 @@ var Button = (_a) => {
1016
1080
  fontWeight,
1017
1081
  onClick,
1018
1082
  disabled,
1019
- noHover = false
1083
+ noHover = false,
1084
+ iconOnlySize
1020
1085
  } = _b, rest = __objRest(_b, [
1021
1086
  "label",
1022
1087
  "children",
@@ -1031,7 +1096,8 @@ var Button = (_a) => {
1031
1096
  "fontWeight",
1032
1097
  "onClick",
1033
1098
  "disabled",
1034
- "noHover"
1099
+ "noHover",
1100
+ "iconOnlySize"
1035
1101
  ]);
1036
1102
  const ref = (0, import_react4.useRef)(null);
1037
1103
  const sizeConfig = defaultSizes[size];
@@ -1058,7 +1124,8 @@ var Button = (_a) => {
1058
1124
  sizeConfig,
1059
1125
  disabled: disabled || isLoading,
1060
1126
  "aria-busy": isLoading ? "true" : void 0,
1061
- iconOnly: Boolean(iconLeft || iconRight) && !label
1127
+ iconOnly: Boolean(iconLeft || iconRight) && !label,
1128
+ iconOnlySize
1062
1129
  }, rest), {
1063
1130
  children: [
1064
1131
  isLoading && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Loader, {}),
@@ -1253,7 +1320,8 @@ var shouldForwardProp6 = (prop) => ![
1253
1320
  "borderRadius",
1254
1321
  "boxShadow",
1255
1322
  "width",
1256
- "pulse"
1323
+ "pulse",
1324
+ "pointer"
1257
1325
  ].includes(prop);
1258
1326
  var StyledBubble = import_styled_components11.default.span.withConfig({
1259
1327
  shouldForwardProp: shouldForwardProp6
@@ -1266,6 +1334,7 @@ var StyledBubble = import_styled_components11.default.span.withConfig({
1266
1334
  margin: ${(props) => props.margin || "0"};
1267
1335
  padding: ${(props) => props.padding || paddingSizes[props.size] || "5px 10px"};
1268
1336
  font-weight: 600;
1337
+ ${(props) => props.pointer ? "cursor: pointer;" : ""}
1269
1338
  width: ${(props) => props.width ? props.width : "fit-content"};
1270
1339
  overflow: hidden;
1271
1340
  text-overflow: ellipsis;
@@ -1596,7 +1665,8 @@ var Drawer = ({
1596
1665
  variant = "blue_700",
1597
1666
  leftOutline = true,
1598
1667
  rightOutline = false,
1599
- footer
1668
+ footer,
1669
+ stretchContent = false
1600
1670
  }) => {
1601
1671
  const [isRendered, setIsRendered] = (0, import_react7.useState)(showDrawer);
1602
1672
  const [isVisible, setIsVisible] = (0, import_react7.useState)(false);
@@ -1636,7 +1706,7 @@ var Drawer = ({
1636
1706
  )
1637
1707
  ] }),
1638
1708
  title && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Divider, { orientation: "horizontal", thickness: "1px" }),
1639
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(ScrollableContent, { children: children && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Col, { fullWidth: true, children }) }),
1709
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(ScrollableContent, { children: children && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Col, { fullWidth: true, fullHeight: stretchContent, children }) }),
1640
1710
  /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Divider, { orientation: "horizontal", thickness: "1px" }),
1641
1711
  footer,
1642
1712
  (leftButtonLabel || rightButtonLabel) && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(Row, { gap: "12", fullWidth: true, children: [
@@ -2506,7 +2576,8 @@ var shouldForwardProp8 = (prop) => ![
2506
2576
  "borderRadius",
2507
2577
  "gap",
2508
2578
  "marginTop",
2509
- "asTextArea"
2579
+ "asTextArea",
2580
+ "fontSize"
2510
2581
  ].includes(prop);
2511
2582
  var StyledContainer2 = import_styled_components20.default.div.withConfig({
2512
2583
  shouldForwardProp: shouldForwardProp8
@@ -2524,6 +2595,7 @@ var StyledInput = import_styled_components20.default.input.withConfig({
2524
2595
  max-width: ${(props) => props.width || "100%"};
2525
2596
  width: ${(props) => props.width || "100%"};
2526
2597
  height: 36px;
2598
+ ${(props) => props.fontSize ? `font-size: ${props.fontSize};` : ""}
2527
2599
  padding: ${(props) => props.padding || "8px"};
2528
2600
  border-radius: ${(props) => props.borderRadius || "5px"};
2529
2601
  background-color: ${(props) => props.disabled ? colors.grey_200 : props.transparent ? "transparent" : colors.white};
@@ -2540,7 +2612,7 @@ var StyledInput = import_styled_components20.default.input.withConfig({
2540
2612
 
2541
2613
  &::placeholder {
2542
2614
  font-family: 'Open Sans', sans-serif;
2543
- font-size: 12px;
2615
+ font-size: ${(props) => props.fontSize || "12px"};
2544
2616
  font-weight: 400;
2545
2617
  color: ${colors.grey_500};
2546
2618
  }
@@ -2554,6 +2626,7 @@ var StyledTextarea = import_styled_components20.default.textarea.withConfig({
2554
2626
  })`
2555
2627
  max-width: ${(props) => props.width || "100%"};
2556
2628
  width: ${(props) => props.width || "100%"};
2629
+ ${(props) => props.fontSize ? `font-size: ${props.fontSize};` : ""}
2557
2630
  padding: ${(props) => props.padding || "8px"};
2558
2631
  border-radius: ${(props) => props.borderRadius || "5px"};
2559
2632
  background-color: ${(props) => props.disabled ? colors.grey_200 : props.transparent ? "transparent" : colors.white};
@@ -2570,7 +2643,7 @@ var StyledTextarea = import_styled_components20.default.textarea.withConfig({
2570
2643
 
2571
2644
  &::placeholder {
2572
2645
  font-family: 'Open Sans', sans-serif;
2573
- font-size: 12px;
2646
+ font-size: ${(props) => props.fontSize || "12px"};
2574
2647
  font-weight: 400;
2575
2648
  color: ${colors.grey_500};
2576
2649
  }
@@ -5218,6 +5291,7 @@ var import_jsx_runtime53 = require("react/jsx-runtime");
5218
5291
  var StyledCard = import_styled_components44.default.div`
5219
5292
  overflow: hidden;
5220
5293
  transition: box-shadow 0.15s ease;
5294
+ ${(p) => p.$flexShrink !== void 0 ? `flex-shrink: ${p.$flexShrink};` : ""}
5221
5295
  background-color: ${(p) => p.$backgroundColor};
5222
5296
  border-radius: ${(p) => p.$borderRadius};
5223
5297
  ${(p) => p.$accentColor ? `border-left: 2px solid ${p.$accentColor};` : ""}
@@ -5234,7 +5308,8 @@ var Card2 = ({
5234
5308
  accentColor,
5235
5309
  backgroundColor = "#F8FAFC",
5236
5310
  padding = "10px 12px",
5237
- borderRadius = "8px"
5311
+ borderRadius = "8px",
5312
+ flexShrink
5238
5313
  }) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5239
5314
  StyledCard,
5240
5315
  {
@@ -5242,6 +5317,7 @@ var Card2 = ({
5242
5317
  $backgroundColor: backgroundColor,
5243
5318
  $borderRadius: borderRadius,
5244
5319
  $accentColor: accentColor,
5320
+ $flexShrink: flexShrink,
5245
5321
  onClick,
5246
5322
  children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(StyledCardInner, { $padding: padding, children })
5247
5323
  }
package/dist/index.mjs CHANGED
@@ -236,11 +236,24 @@ var shouldForwardProp2 = (prop) => ![
236
236
  "borderRadius",
237
237
  "border",
238
238
  "borderColor",
239
- "height"
239
+ "shadowColor",
240
+ "height",
241
+ "width",
242
+ "minWidth",
243
+ "minHeight",
244
+ "flex",
245
+ "flexDirection",
246
+ "overflow",
247
+ "position",
248
+ "inset"
240
249
  ].includes(prop);
241
250
  var StyledBox = styled2.div.withConfig({ shouldForwardProp: shouldForwardProp2 })`
242
- position: relative;
251
+ position: ${(props) => props.position || "relative"};
252
+ ${(props) => props.inset ? `inset: ${props.inset};` : ""}
243
253
  display: flex;
254
+ ${(props) => props.flexDirection ? `flex-direction: ${props.flexDirection};` : ""}
255
+ ${(props) => props.flex ? `flex: ${props.flex};` : ""}
256
+ ${(props) => props.overflow ? `overflow: ${props.overflow};` : ""}
244
257
  border: ${(props) => {
245
258
  var _a;
246
259
  return (_a = props.border) != null ? _a : `1px solid ${colors.grey_300}`;
@@ -249,11 +262,17 @@ var StyledBox = styled2.div.withConfig({ shouldForwardProp: shouldForwardProp2 }
249
262
 
250
263
  border-radius: ${(props) => props.borderRadius || "8px"};
251
264
 
252
- box-shadow: ${(props) => props.hasShadow === false ? "none" : "0 2px 15px 0 rgba(198, 198, 198, 0.25)"};
265
+ box-shadow: ${(props) => {
266
+ const base = props.hasShadow === false ? "" : "0 2px 15px 0 rgba(198, 198, 198, 0.25)";
267
+ if (!props.shadowColor) return base || "none";
268
+ const halo = `0 0 0 4px ${colors[props.shadowColor] || props.shadowColor}`;
269
+ return base ? `${halo}, ${base}` : halo;
270
+ }};
253
271
 
254
- width: ${(props) => props.fullWidth ? "100%" : "auto"};
255
- min-width: ${(props) => props.fullWidth ? "100%" : "auto"};
272
+ width: ${(props) => props.width || (props.fullWidth ? "100%" : "auto")};
273
+ min-width: ${(props) => props.minWidth || (props.fullWidth ? "100%" : "auto")};
256
274
  height: ${(props) => props.height || (props.fullHeight ? "100%" : "auto")};
275
+ ${(props) => props.minHeight ? `min-height: ${props.minHeight};` : ""}
257
276
  padding: ${(props) => props.padding || "16px"};
258
277
  margin: ${(props) => props.margin || "0"};
259
278
  color: ${(props) => colors[props.color] || props.color || "inherit"};
@@ -328,15 +347,26 @@ var shouldForwardPropRow = (prop) => ![
328
347
  "margin",
329
348
  "width",
330
349
  "wrap",
331
- "backgroundColor"
350
+ "backgroundColor",
351
+ "flex",
352
+ "minHeight",
353
+ "maxHeight",
354
+ "overflowX",
355
+ "overflowY",
356
+ "position"
332
357
  ].includes(prop);
333
358
  var StyledRow = styled4.div.withConfig({
334
359
  shouldForwardProp: shouldForwardPropRow
335
360
  })`
336
361
  display: flex;
337
362
  flex-wrap: ${(props) => props.wrap || "nowrap"};
363
+ ${(props) => props.flex ? `flex: ${props.flex};` : ""}
364
+ ${(props) => props.position ? `position: ${props.position};` : ""}
365
+ ${(props) => props.overflowX ? `overflow-x: ${props.overflowX};` : ""}
366
+ ${(props) => props.overflowY ? `overflow-y: ${props.overflowY};` : ""}
338
367
  width: ${(props) => props.width || "100%"};
339
- max-height: 100%;
368
+ max-height: ${(props) => props.maxHeight || "100%"};
369
+ ${(props) => props.minHeight ? `min-height: ${props.minHeight};` : ""}
340
370
  background-color: ${(props) => props.backgroundColor || "transparent"};
341
371
  margin: ${(props) => props.margin || "0"};
342
372
  height: ${(props) => props.fullHeight ? `100%` : "auto"};
@@ -367,7 +397,18 @@ var shouldForwardPropCol = (prop) => ![
367
397
  "padding",
368
398
  "fullHeight",
369
399
  "fullWidth",
370
- "flex"
400
+ "flex",
401
+ "width",
402
+ "minWidth",
403
+ "height",
404
+ "minHeight",
405
+ "alignSelf",
406
+ "overflowX",
407
+ "overflowY",
408
+ "scrollbarGutter",
409
+ "hideScrollbar",
410
+ "overflowWrap",
411
+ "position"
371
412
  ].includes(prop);
372
413
  var StyledCol = styled5.div.withConfig({
373
414
  shouldForwardProp: shouldForwardPropCol
@@ -375,9 +416,24 @@ var StyledCol = styled5.div.withConfig({
375
416
  display: flex;
376
417
  flex-direction: column;
377
418
  overflow: visible;
419
+ overflow-x: ${(props) => props.overflowX || "visible"};
420
+ overflow-y: ${(props) => props.overflowY || "visible"};
421
+ ${(props) => props.scrollbarGutter ? `scrollbar-gutter: ${props.scrollbarGutter};` : ""}
422
+ ${(props) => props.hideScrollbar ? `
423
+ scrollbar-width: none;
424
+ -ms-overflow-style: none;
425
+ &::-webkit-scrollbar {
426
+ display: none;
427
+ }
428
+ ` : ""}
429
+ ${(props) => props.overflowWrap ? `overflow-wrap: ${props.overflowWrap};` : ""}
430
+ ${(props) => props.position ? `position: ${props.position};` : ""}
378
431
  max-height: 100%;
379
- height: ${(props) => props.fullHeight ? "100%" : "fit-content"};
380
- width: ${(props) => props.fullWidth ? "100%" : props.size ? `${props.size / 12 * 100}%` : "fit-content"};
432
+ height: ${(props) => props.height || (props.fullHeight ? "100%" : "fit-content")};
433
+ ${(props) => props.minHeight ? `min-height: ${props.minHeight};` : ""}
434
+ width: ${(props) => props.width || (props.fullWidth ? "100%" : props.size ? `${props.size / 12 * 100}%` : "fit-content")};
435
+ ${(props) => props.minWidth ? `min-width: ${props.minWidth};` : ""}
436
+ ${(props) => props.alignSelf ? `align-self: ${props.alignSelf};` : ""}
381
437
  flex: ${(props) => {
382
438
  var _a;
383
439
  return (_a = props.flex) != null ? _a : props.size ? `1 1 ${props.size / 12 * 100}%` : "auto";
@@ -426,6 +482,7 @@ var Text = (props) => {
426
482
  max,
427
483
  wrap,
428
484
  lineClamp,
485
+ overflowWrap,
429
486
  onClick
430
487
  } = _a, rest = __objRest(_a, [
431
488
  "size",
@@ -444,6 +501,7 @@ var Text = (props) => {
444
501
  "max",
445
502
  "wrap",
446
503
  "lineClamp",
504
+ "overflowWrap",
447
505
  "onClick"
448
506
  ]);
449
507
  const textStyle = __spreadValues({
@@ -461,7 +519,8 @@ var Text = (props) => {
461
519
  display: lineClamp ? "-webkit-box" : max ? "inline-block" : "",
462
520
  overflow: "hidden",
463
521
  textOverflow: max ? "ellipsis" : "",
464
- whiteSpace: wrap || ""
522
+ whiteSpace: wrap || "",
523
+ overflowWrap: overflowWrap || ""
465
524
  }, lineClamp ? {
466
525
  WebkitLineClamp: lineClamp,
467
526
  WebkitBoxOrient: "vertical",
@@ -562,6 +621,7 @@ var StyledDivider = styled7.div`
562
621
  height: ${$thickness || "1px"};
563
622
  width: 100%;
564
623
  `}
624
+ ${({ $flexShrink }) => $flexShrink !== void 0 ? `flex-shrink: ${$flexShrink};` : ""}
565
625
  margin-top: ${({ $ySpacing }) => $ySpacing || "0px"};
566
626
  margin-bottom: ${({ $ySpacing }) => $ySpacing || "0px"};
567
627
  border: none;
@@ -572,12 +632,14 @@ var Divider = (_a) => {
572
632
  color = "#DCDCDC",
573
633
  thickness = "1px",
574
634
  ySpacing = "0px",
635
+ flexShrink,
575
636
  className = ""
576
637
  } = _b, rest = __objRest(_b, [
577
638
  "orientation",
578
639
  "color",
579
640
  "thickness",
580
641
  "ySpacing",
642
+ "flexShrink",
581
643
  "className"
582
644
  ]);
583
645
  return /* @__PURE__ */ jsx8(
@@ -587,6 +649,7 @@ var Divider = (_a) => {
587
649
  $color: resolveColor(color),
588
650
  $thickness: thickness,
589
651
  $ySpacing: ySpacing,
652
+ $flexShrink: flexShrink,
590
653
  className,
591
654
  role: "separator"
592
655
  }, rest)
@@ -751,6 +814,7 @@ var shouldForwardProp4 = (p) => ![
751
814
  "isLoading",
752
815
  "sizeConfig",
753
816
  "iconOnly",
817
+ "iconOnlySize",
754
818
  "noHover"
755
819
  ].includes(p);
756
820
  var StyledButton = styled9.button.withConfig({
@@ -839,8 +903,8 @@ var StyledButton = styled9.button.withConfig({
839
903
  `}
840
904
 
841
905
  ${(p) => p.iconOnly && `
842
- width: 36px !important;
843
- height: 36px !important;
906
+ width: ${p.iconOnlySize || "36px"} !important;
907
+ height: ${p.iconOnlySize || "36px"} !important;
844
908
  padding: 0 !important;
845
909
  border-radius: 6px;
846
910
  `}
@@ -877,7 +941,8 @@ var Button = (_a) => {
877
941
  fontWeight,
878
942
  onClick,
879
943
  disabled,
880
- noHover = false
944
+ noHover = false,
945
+ iconOnlySize
881
946
  } = _b, rest = __objRest(_b, [
882
947
  "label",
883
948
  "children",
@@ -892,7 +957,8 @@ var Button = (_a) => {
892
957
  "fontWeight",
893
958
  "onClick",
894
959
  "disabled",
895
- "noHover"
960
+ "noHover",
961
+ "iconOnlySize"
896
962
  ]);
897
963
  const ref = useRef2(null);
898
964
  const sizeConfig = defaultSizes[size];
@@ -919,7 +985,8 @@ var Button = (_a) => {
919
985
  sizeConfig,
920
986
  disabled: disabled || isLoading,
921
987
  "aria-busy": isLoading ? "true" : void 0,
922
- iconOnly: Boolean(iconLeft || iconRight) && !label
988
+ iconOnly: Boolean(iconLeft || iconRight) && !label,
989
+ iconOnlySize
923
990
  }, rest), {
924
991
  children: [
925
992
  isLoading && /* @__PURE__ */ jsx11(Loader, {}),
@@ -1114,7 +1181,8 @@ var shouldForwardProp6 = (prop) => ![
1114
1181
  "borderRadius",
1115
1182
  "boxShadow",
1116
1183
  "width",
1117
- "pulse"
1184
+ "pulse",
1185
+ "pointer"
1118
1186
  ].includes(prop);
1119
1187
  var StyledBubble = styled11.span.withConfig({
1120
1188
  shouldForwardProp: shouldForwardProp6
@@ -1127,6 +1195,7 @@ var StyledBubble = styled11.span.withConfig({
1127
1195
  margin: ${(props) => props.margin || "0"};
1128
1196
  padding: ${(props) => props.padding || paddingSizes[props.size] || "5px 10px"};
1129
1197
  font-weight: 600;
1198
+ ${(props) => props.pointer ? "cursor: pointer;" : ""}
1130
1199
  width: ${(props) => props.width ? props.width : "fit-content"};
1131
1200
  overflow: hidden;
1132
1201
  text-overflow: ellipsis;
@@ -1457,7 +1526,8 @@ var Drawer = ({
1457
1526
  variant = "blue_700",
1458
1527
  leftOutline = true,
1459
1528
  rightOutline = false,
1460
- footer
1529
+ footer,
1530
+ stretchContent = false
1461
1531
  }) => {
1462
1532
  const [isRendered, setIsRendered] = useState3(showDrawer);
1463
1533
  const [isVisible, setIsVisible] = useState3(false);
@@ -1497,7 +1567,7 @@ var Drawer = ({
1497
1567
  )
1498
1568
  ] }),
1499
1569
  title && /* @__PURE__ */ jsx16(Divider, { orientation: "horizontal", thickness: "1px" }),
1500
- /* @__PURE__ */ jsx16(ScrollableContent, { children: children && /* @__PURE__ */ jsx16(Col, { fullWidth: true, children }) }),
1570
+ /* @__PURE__ */ jsx16(ScrollableContent, { children: children && /* @__PURE__ */ jsx16(Col, { fullWidth: true, fullHeight: stretchContent, children }) }),
1501
1571
  /* @__PURE__ */ jsx16(Divider, { orientation: "horizontal", thickness: "1px" }),
1502
1572
  footer,
1503
1573
  (leftButtonLabel || rightButtonLabel) && /* @__PURE__ */ jsxs6(Row, { gap: "12", fullWidth: true, children: [
@@ -2373,7 +2443,8 @@ var shouldForwardProp8 = (prop) => ![
2373
2443
  "borderRadius",
2374
2444
  "gap",
2375
2445
  "marginTop",
2376
- "asTextArea"
2446
+ "asTextArea",
2447
+ "fontSize"
2377
2448
  ].includes(prop);
2378
2449
  var StyledContainer2 = styled20.div.withConfig({
2379
2450
  shouldForwardProp: shouldForwardProp8
@@ -2391,6 +2462,7 @@ var StyledInput = styled20.input.withConfig({
2391
2462
  max-width: ${(props) => props.width || "100%"};
2392
2463
  width: ${(props) => props.width || "100%"};
2393
2464
  height: 36px;
2465
+ ${(props) => props.fontSize ? `font-size: ${props.fontSize};` : ""}
2394
2466
  padding: ${(props) => props.padding || "8px"};
2395
2467
  border-radius: ${(props) => props.borderRadius || "5px"};
2396
2468
  background-color: ${(props) => props.disabled ? colors.grey_200 : props.transparent ? "transparent" : colors.white};
@@ -2407,7 +2479,7 @@ var StyledInput = styled20.input.withConfig({
2407
2479
 
2408
2480
  &::placeholder {
2409
2481
  font-family: 'Open Sans', sans-serif;
2410
- font-size: 12px;
2482
+ font-size: ${(props) => props.fontSize || "12px"};
2411
2483
  font-weight: 400;
2412
2484
  color: ${colors.grey_500};
2413
2485
  }
@@ -2421,6 +2493,7 @@ var StyledTextarea = styled20.textarea.withConfig({
2421
2493
  })`
2422
2494
  max-width: ${(props) => props.width || "100%"};
2423
2495
  width: ${(props) => props.width || "100%"};
2496
+ ${(props) => props.fontSize ? `font-size: ${props.fontSize};` : ""}
2424
2497
  padding: ${(props) => props.padding || "8px"};
2425
2498
  border-radius: ${(props) => props.borderRadius || "5px"};
2426
2499
  background-color: ${(props) => props.disabled ? colors.grey_200 : props.transparent ? "transparent" : colors.white};
@@ -2437,7 +2510,7 @@ var StyledTextarea = styled20.textarea.withConfig({
2437
2510
 
2438
2511
  &::placeholder {
2439
2512
  font-family: 'Open Sans', sans-serif;
2440
- font-size: 12px;
2513
+ font-size: ${(props) => props.fontSize || "12px"};
2441
2514
  font-weight: 400;
2442
2515
  color: ${colors.grey_500};
2443
2516
  }
@@ -5099,6 +5172,7 @@ import { jsx as jsx53 } from "react/jsx-runtime";
5099
5172
  var StyledCard = styled44.div`
5100
5173
  overflow: hidden;
5101
5174
  transition: box-shadow 0.15s ease;
5175
+ ${(p) => p.$flexShrink !== void 0 ? `flex-shrink: ${p.$flexShrink};` : ""}
5102
5176
  background-color: ${(p) => p.$backgroundColor};
5103
5177
  border-radius: ${(p) => p.$borderRadius};
5104
5178
  ${(p) => p.$accentColor ? `border-left: 2px solid ${p.$accentColor};` : ""}
@@ -5115,7 +5189,8 @@ var Card2 = ({
5115
5189
  accentColor,
5116
5190
  backgroundColor = "#F8FAFC",
5117
5191
  padding = "10px 12px",
5118
- borderRadius = "8px"
5192
+ borderRadius = "8px",
5193
+ flexShrink
5119
5194
  }) => /* @__PURE__ */ jsx53(
5120
5195
  StyledCard,
5121
5196
  {
@@ -5123,6 +5198,7 @@ var Card2 = ({
5123
5198
  $backgroundColor: backgroundColor,
5124
5199
  $borderRadius: borderRadius,
5125
5200
  $accentColor: accentColor,
5201
+ $flexShrink: flexShrink,
5126
5202
  onClick,
5127
5203
  children: /* @__PURE__ */ jsx53(StyledCardInner, { $padding: padding, children })
5128
5204
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "design-zystem",
3
- "version": "1.0.284",
3
+ "version": "1.0.286",
4
4
  "description": "A React design system of importable components",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",