@toptal/picasso 26.4.0 → 26.5.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.
@@ -5,6 +5,7 @@ export interface Props extends BaseProps, TextLabelProps, HTMLAttributes<HTMLDiv
5
5
  children: string;
6
6
  active?: boolean;
7
7
  completed?: boolean;
8
+ overflowEllipsis?: boolean;
8
9
  }
9
10
  export declare const StepLabel: {
10
11
  (props: Props): JSX.Element;
@@ -17,18 +17,24 @@ import { useTitleCase } from '@toptal/picasso-shared';
17
17
  import StepIcon from '../StepIcon';
18
18
  import styles from './styles';
19
19
  import toTitleCase from '../utils/to-title-case';
20
+ import TypographyOverflow from '../TypographyOverflow';
20
21
  const useStyles = makeStyles(styles, { name: 'PicassoStepLabel' });
21
22
  export const StepLabel = (props) => {
22
- const { active, className, children, completed, hideLabel, style, titleCase: propsTitleCase } = props, rest = __rest(props, ["active", "className", "children", "completed", "hideLabel", "style", "titleCase"]);
23
+ const { active, className, children, completed, hideLabel, overflowEllipsis, style, titleCase: propsTitleCase } = props, rest = __rest(props, ["active", "className", "children", "completed", "hideLabel", "overflowEllipsis", "style", "titleCase"]);
23
24
  const titleCase = useTitleCase(propsTitleCase);
24
25
  const classes = useStyles();
26
+ const withOverflowEllipsis = !hideLabel && overflowEllipsis;
27
+ const labelElement = (React.createElement("span", { className: classes.label }, titleCase ? toTitleCase(children) : children));
25
28
  return (React.createElement(MUIStepLabel, Object.assign({}, rest, { classes: {
26
29
  labelContainer: cx({
27
30
  [classes.root]: !hideLabel || active,
31
+ [classes.labelContainerOverflowEllipsis]: withOverflowEllipsis,
28
32
  }),
29
- label: cx({ [classes.hidden]: hideLabel && !active }),
30
- }, className: className, icon: React.createElement(StepIcon, { active: active, completed: completed }), style: style }),
31
- React.createElement("span", { className: classes.label }, titleCase ? toTitleCase(children) : children)));
33
+ label: cx({
34
+ [classes.hidden]: hideLabel && !active,
35
+ [classes.labelOverflowEllipsis]: withOverflowEllipsis,
36
+ }),
37
+ }, className: className, icon: React.createElement(StepIcon, { active: active, completed: completed }), style: style }), withOverflowEllipsis ? (React.createElement(TypographyOverflow, null, labelElement)) : (labelElement)));
32
38
  };
33
39
  StepLabel.defaultProps = {
34
40
  hideLabel: false,
@@ -1 +1 @@
1
- {"version":3,"file":"StepLabel.js","sourceRoot":"","sources":["../../src/StepLabel/StepLabel.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAyB,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,UAAU,EAAS,MAAM,0BAA0B,CAAA;AAC5D,OAAO,YAAY,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAA6B,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAEhF,OAAO,QAAQ,MAAM,aAAa,CAAA;AAClC,OAAO,MAAM,MAAM,UAAU,CAAA;AAC7B,OAAO,WAAW,MAAM,wBAAwB,CAAA;AAYhD,MAAM,SAAS,GAAG,UAAU,CAAQ,MAAM,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAA;AAEzE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAY,EAAE,EAAE;IACxC,MAAM,EACJ,MAAM,EACN,SAAS,EACT,QAAQ,EACR,SAAS,EACT,SAAS,EACT,KAAK,EACL,SAAS,EAAE,cAAc,KAEvB,KAAK,EADJ,IAAI,UACL,KAAK,EATH,mFASL,CAAQ,CAAA;IACT,MAAM,SAAS,GAAG,YAAY,CAAC,cAAc,CAAC,CAAA;IAC9C,MAAM,OAAO,GAAG,SAAS,EAAE,CAAA;IAE3B,OAAO,CACL,oBAAC,YAAY,oBACP,IAAI,IACR,OAAO,EAAE;YACP,cAAc,EAAE,EAAE,CAAC;gBACjB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,IAAI,MAAM;aACrC,CAAC;YACF,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC;SACtD,EACD,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,oBAAC,QAAQ,IAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAI,EACxD,KAAK,EAAE,KAAK;QAEZ,8BAAM,SAAS,EAAE,OAAO,CAAC,KAAK,IAC3B,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CACxC,CACM,CAChB,CAAA;AACH,CAAC,CAAA;AAED,SAAS,CAAC,YAAY,GAAG;IACvB,SAAS,EAAE,KAAK;CACjB,CAAA;AAED,SAAS,CAAC,WAAW,GAAG,WAAW,CAAA;AAEnC,eAAe,SAAS,CAAA"}
1
+ {"version":3,"file":"StepLabel.js","sourceRoot":"","sources":["../../src/StepLabel/StepLabel.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAyB,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,UAAU,EAAS,MAAM,0BAA0B,CAAA;AAC5D,OAAO,YAAY,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAA6B,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAEhF,OAAO,QAAQ,MAAM,aAAa,CAAA;AAClC,OAAO,MAAM,MAAM,UAAU,CAAA;AAC7B,OAAO,WAAW,MAAM,wBAAwB,CAAA;AAChD,OAAO,kBAAkB,MAAM,uBAAuB,CAAA;AAatD,MAAM,SAAS,GAAG,UAAU,CAAQ,MAAM,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAA;AAEzE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAY,EAAE,EAAE;IACxC,MAAM,EACJ,MAAM,EACN,SAAS,EACT,QAAQ,EACR,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,KAAK,EACL,SAAS,EAAE,cAAc,KAEvB,KAAK,EADJ,IAAI,UACL,KAAK,EAVH,uGAUL,CAAQ,CAAA;IACT,MAAM,SAAS,GAAG,YAAY,CAAC,cAAc,CAAC,CAAA;IAC9C,MAAM,OAAO,GAAG,SAAS,EAAE,CAAA;IAE3B,MAAM,oBAAoB,GAAG,CAAC,SAAS,IAAI,gBAAgB,CAAA;IAC3D,MAAM,YAAY,GAAG,CACnB,8BAAM,SAAS,EAAE,OAAO,CAAC,KAAK,IAC3B,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CACxC,CACR,CAAA;IAED,OAAO,CACL,oBAAC,YAAY,oBACP,IAAI,IACR,OAAO,EAAE;YACP,cAAc,EAAE,EAAE,CAAC;gBACjB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,IAAI,MAAM;gBACpC,CAAC,OAAO,CAAC,8BAA8B,CAAC,EAAE,oBAAoB;aAC/D,CAAC;YACF,KAAK,EAAE,EAAE,CAAC;gBACR,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,SAAS,IAAI,CAAC,MAAM;gBACtC,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,oBAAoB;aACtD,CAAC;SACH,EACD,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,oBAAC,QAAQ,IAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAI,EACxD,KAAK,EAAE,KAAK,KAEX,oBAAoB,CAAC,CAAC,CAAC,CACtB,oBAAC,kBAAkB,QAAE,YAAY,CAAsB,CACxD,CAAC,CAAC,CAAC,CACF,YAAY,CACb,CACY,CAChB,CAAA;AACH,CAAC,CAAA;AAED,SAAS,CAAC,YAAY,GAAG;IACvB,SAAS,EAAE,KAAK;CACjB,CAAA;AAED,SAAS,CAAC,WAAW,GAAG,WAAW,CAAA;AAEnC,eAAe,SAAS,CAAA"}
@@ -1,3 +1,3 @@
1
1
  import { Theme } from '@material-ui/core/styles';
2
- declare const _default: ({ palette, breakpoints: { down } }: Theme) => import("@material-ui/styles").StyleRules<{}, "hidden" | "label" | "root">;
2
+ declare const _default: ({ palette, breakpoints: { down } }: Theme) => import("@material-ui/styles").StyleRules<{}, "hidden" | "label" | "root" | "labelContainerOverflowEllipsis" | "labelOverflowEllipsis">;
3
3
  export default _default;
@@ -18,6 +18,12 @@ export default ({ palette, breakpoints: { down } }) => createStyles({
18
18
  hidden: {
19
19
  display: 'none',
20
20
  },
21
+ labelContainerOverflowEllipsis: {
22
+ display: 'grid',
23
+ },
24
+ labelOverflowEllipsis: {
25
+ overflow: 'hidden',
26
+ },
21
27
  root: {
22
28
  marginLeft: '0.5em',
23
29
  },
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/StepLabel/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;AAC5C,OAAO,EACL,eAAe,EACf,eAAe,IAAI,WAAW,GAC/B,MAAM,0BAA0B,CAAA;AAEjC,eAAe,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9B,YAAY,EAAE;QACZ,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YAEf,UAAU,EAAE;gBACV,OAAO,EAAE,MAAM;aAChB;SACF;QACD,aAAa,EAAE;YACb,YAAY,EAAE,CAAC;SAChB;KACF;CACF,CAAC,CAAC,CAAA;AAEH,eAAe,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,EAAS,EAAE,EAAE,CAC3D,YAAY,CAAC;IACX,MAAM,EAAE;QACN,OAAO,EAAE,MAAM;KAChB;IACD,IAAI,EAAE;QACJ,UAAU,EAAE,OAAO;KACpB;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC;QACrB,UAAU,EAAE,GAAG;QACf,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;QACxB,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE;YACzB,OAAO,EAAE,MAAM;SAChB;KACF;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/StepLabel/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;AAC5C,OAAO,EACL,eAAe,EACf,eAAe,IAAI,WAAW,GAC/B,MAAM,0BAA0B,CAAA;AAEjC,eAAe,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9B,YAAY,EAAE;QACZ,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YAEf,UAAU,EAAE;gBACV,OAAO,EAAE,MAAM;aAChB;SACF;QACD,aAAa,EAAE;YACb,YAAY,EAAE,CAAC;SAChB;KACF;CACF,CAAC,CAAC,CAAA;AAEH,eAAe,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,EAAS,EAAE,EAAE,CAC3D,YAAY,CAAC;IACX,MAAM,EAAE;QACN,OAAO,EAAE,MAAM;KAChB;IACD,8BAA8B,EAAE;QAC9B,OAAO,EAAE,MAAM;KAChB;IACD,qBAAqB,EAAE;QACrB,QAAQ,EAAE,QAAQ;KACnB;IACD,IAAI,EAAE;QACJ,UAAU,EAAE,OAAO;KACpB;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC;QACrB,UAAU,EAAE,GAAG;QACf,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;QACxB,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE;YACzB,OAAO,EAAE,MAAM;SAChB;KACF;CACF,CAAC,CAAA"}
@@ -6,6 +6,8 @@ export interface StepperBaseProps extends BaseProps, TextLabelProps, HTMLAttribu
6
6
  active?: number;
7
7
  /** Array of the step labels */
8
8
  steps: string[];
9
+ /** Enable overflow ellipsis for labels */
10
+ overflowEllipsis?: boolean;
9
11
  }
10
12
  export interface Props extends StepperBaseProps {
11
13
  /** Hide labels of non active steps */
@@ -20,15 +20,16 @@ import StepConnector from '../StepConnector';
20
20
  import styles from './styles';
21
21
  const useStyles = makeStyles(styles, { name: 'PicassoStepper' });
22
22
  const Stepper = forwardRef((props, ref) => {
23
- const { active = 0, steps = [], hideLabels = false, className, style, titleCase, direction = 'horizontal' } = props, rest = __rest(props, ["active", "steps", "hideLabels", "className", "style", "titleCase", "direction"]);
23
+ const { active = 0, steps = [], hideLabels = false, className, style, titleCase, direction = 'horizontal', overflowEllipsis = false } = props, rest = __rest(props, ["active", "steps", "hideLabels", "className", "style", "titleCase", "direction", "overflowEllipsis"]);
24
24
  const classes = useStyles();
25
25
  return (React.createElement(MUIStepper, Object.assign({}, rest, { ref: ref, activeStep: active, connector: React.createElement(StepConnector, { direction: direction }), className: cx(classes.root, className), style: style, orientation: direction }), steps.map((label, stepIndex) => (React.createElement(Step, { key: label },
26
- React.createElement(StepLabel, { active: stepIndex === active, hideLabel: hideLabels, titleCase: titleCase }, label))))));
26
+ React.createElement(StepLabel, { active: stepIndex === active, hideLabel: hideLabels, titleCase: titleCase, overflowEllipsis: overflowEllipsis }, label))))));
27
27
  });
28
28
  Stepper.defaultProps = {
29
29
  active: 0,
30
30
  hideLabels: false,
31
31
  direction: 'horizontal',
32
+ overflowEllipsis: false,
32
33
  steps: [],
33
34
  };
34
35
  Stepper.displayName = 'Stepper';
@@ -1 +1 @@
1
- {"version":3,"file":"Stepper.js","sourceRoot":"","sources":["../../src/Stepper/Stepper.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAA;AACzD,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,UAAU,EAAS,MAAM,0BAA0B,CAAA;AAC5D,OAAO,UAAU,MAAM,2BAA2B,CAAA;AAGlD,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,SAAS,MAAM,cAAc,CAAA;AACpC,OAAO,aAAa,CAAA;AACpB,OAAO,aAAa,MAAM,kBAAkB,CAAA;AAC5C,OAAO,MAAM,MAAM,UAAU,CAAA;AAkB7B,MAAM,SAAS,GAAG,UAAU,CAAQ,MAAM,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAA;AAEvE,MAAM,OAAO,GAAG,UAAU,CAAwB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAC/D,MAAM,EACJ,MAAM,GAAG,CAAC,EACV,KAAK,GAAG,EAAE,EACV,UAAU,GAAG,KAAK,EAClB,SAAS,EACT,KAAK,EACL,SAAS,EACT,SAAS,GAAG,YAAY,KAEtB,KAAK,EADJ,IAAI,UACL,KAAK,EATH,iFASL,CAAQ,CAAA;IACT,MAAM,OAAO,GAAG,SAAS,EAAE,CAAA;IAE3B,OAAO,CACL,oBAAC,UAAU,oBACL,IAAI,IACR,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,oBAAC,aAAa,IAAC,SAAS,EAAE,SAAS,GAAI,EAClD,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,EACtC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,SAAS,KAErB,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,CAC/B,oBAAC,IAAI,IAAC,GAAG,EAAE,KAAK;QACd,oBAAC,SAAS,IACR,MAAM,EAAE,SAAS,KAAK,MAAM,EAC5B,SAAS,EAAE,UAAU,EACrB,SAAS,EAAE,SAAS,IAEnB,KAAK,CACI,CACP,CACR,CAAC,CACS,CACd,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,OAAO,CAAC,YAAY,GAAG;IACrB,MAAM,EAAE,CAAC;IACT,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,YAAY;IACvB,KAAK,EAAE,EAAE;CACV,CAAA;AAED,OAAO,CAAC,WAAW,GAAG,SAAS,CAAA;AAE/B,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"Stepper.js","sourceRoot":"","sources":["../../src/Stepper/Stepper.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAA;AACzD,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,UAAU,EAAS,MAAM,0BAA0B,CAAA;AAC5D,OAAO,UAAU,MAAM,2BAA2B,CAAA;AAGlD,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,SAAS,MAAM,cAAc,CAAA;AACpC,OAAO,aAAa,CAAA;AACpB,OAAO,aAAa,MAAM,kBAAkB,CAAA;AAC5C,OAAO,MAAM,MAAM,UAAU,CAAA;AAoB7B,MAAM,SAAS,GAAG,UAAU,CAAQ,MAAM,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAA;AAEvE,MAAM,OAAO,GAAG,UAAU,CAAwB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAC/D,MAAM,EACJ,MAAM,GAAG,CAAC,EACV,KAAK,GAAG,EAAE,EACV,UAAU,GAAG,KAAK,EAClB,SAAS,EACT,KAAK,EACL,SAAS,EACT,SAAS,GAAG,YAAY,EACxB,gBAAgB,GAAG,KAAK,KAEtB,KAAK,EADJ,IAAI,UACL,KAAK,EAVH,qGAUL,CAAQ,CAAA;IACT,MAAM,OAAO,GAAG,SAAS,EAAE,CAAA;IAE3B,OAAO,CACL,oBAAC,UAAU,oBACL,IAAI,IACR,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,oBAAC,aAAa,IAAC,SAAS,EAAE,SAAS,GAAI,EAClD,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,EACtC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,SAAS,KAErB,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,CAC/B,oBAAC,IAAI,IAAC,GAAG,EAAE,KAAK;QACd,oBAAC,SAAS,IACR,MAAM,EAAE,SAAS,KAAK,MAAM,EAC5B,SAAS,EAAE,UAAU,EACrB,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,gBAAgB,IAEjC,KAAK,CACI,CACP,CACR,CAAC,CACS,CACd,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,OAAO,CAAC,YAAY,GAAG;IACrB,MAAM,EAAE,CAAC;IACT,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,YAAY;IACvB,gBAAgB,EAAE,KAAK;IACvB,KAAK,EAAE,EAAE;CACV,CAAA;AAED,OAAO,CAAC,WAAW,GAAG,SAAS,CAAA;AAE/B,eAAe,OAAO,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@toptal/picasso",
3
- "version": "26.4.0",
3
+ "version": "26.5.0",
4
4
  "description": "Toptal UI components library",
5
5
  "publishConfig": {
6
6
  "access": "public",