@toptal/picasso 31.5.1 → 31.6.1

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.
Files changed (78) hide show
  1. package/Calendar/Calendar.js +2 -0
  2. package/Calendar/Calendar.js.map +1 -1
  3. package/Calendar/styles.d.ts +1 -1
  4. package/Calendar/styles.js +13 -3
  5. package/Calendar/styles.js.map +1 -1
  6. package/Carousel/Carousel.d.ts +70 -0
  7. package/Carousel/Carousel.js +41 -0
  8. package/Carousel/Carousel.js.map +1 -0
  9. package/Carousel/hooks/useAutoplay/index.d.ts +1 -0
  10. package/Carousel/hooks/useAutoplay/index.js +2 -0
  11. package/Carousel/hooks/useAutoplay/index.js.map +1 -0
  12. package/Carousel/hooks/useAutoplay/useAutoplay.d.ts +10 -0
  13. package/Carousel/hooks/useAutoplay/useAutoplay.js +14 -0
  14. package/Carousel/hooks/useAutoplay/useAutoplay.js.map +1 -0
  15. package/Carousel/hooks/useCarousel/index.d.ts +1 -0
  16. package/Carousel/hooks/useCarousel/index.js +2 -0
  17. package/Carousel/hooks/useCarousel/index.js.map +1 -0
  18. package/Carousel/hooks/useCarousel/useCarousel.d.ts +44 -0
  19. package/Carousel/hooks/useCarousel/useCarousel.js +89 -0
  20. package/Carousel/hooks/useCarousel/useCarousel.js.map +1 -0
  21. package/Carousel/index.d.ts +4 -0
  22. package/Carousel/index.js +2 -0
  23. package/Carousel/index.js.map +1 -0
  24. package/Carousel/styles.d.ts +2 -0
  25. package/Carousel/styles.js +11 -0
  26. package/Carousel/styles.js.map +1 -0
  27. package/Carousel/utils/isOnLastPage/index.d.ts +1 -0
  28. package/Carousel/utils/isOnLastPage/index.js +2 -0
  29. package/Carousel/utils/isOnLastPage/index.js.map +1 -0
  30. package/Carousel/utils/isOnLastPage/isOnLastPage.d.ts +7 -0
  31. package/Carousel/utils/isOnLastPage/isOnLastPage.js +10 -0
  32. package/Carousel/utils/isOnLastPage/isOnLastPage.js.map +1 -0
  33. package/CarouselGradient/CarouselGradient.d.ts +7 -0
  34. package/CarouselGradient/CarouselGradient.js +23 -0
  35. package/CarouselGradient/CarouselGradient.js.map +1 -0
  36. package/CarouselGradient/index.d.ts +1 -0
  37. package/CarouselGradient/index.js +2 -0
  38. package/CarouselGradient/index.js.map +1 -0
  39. package/CarouselGradient/styles.d.ts +2 -0
  40. package/CarouselGradient/styles.js +17 -0
  41. package/CarouselGradient/styles.js.map +1 -0
  42. package/CarouselGradient/utils/gradientWidth/gradientWidth.d.ts +7 -0
  43. package/CarouselGradient/utils/gradientWidth/gradientWidth.js +12 -0
  44. package/CarouselGradient/utils/gradientWidth/gradientWidth.js.map +1 -0
  45. package/CarouselGradient/utils/gradientWidth/index.d.ts +1 -0
  46. package/CarouselGradient/utils/gradientWidth/index.js +2 -0
  47. package/CarouselGradient/utils/gradientWidth/index.js.map +1 -0
  48. package/CarouselNavigation/CarouselNavigation.d.ts +17 -0
  49. package/CarouselNavigation/CarouselNavigation.js +28 -0
  50. package/CarouselNavigation/CarouselNavigation.js.map +1 -0
  51. package/CarouselNavigation/index.d.ts +1 -0
  52. package/CarouselNavigation/index.js +2 -0
  53. package/CarouselNavigation/index.js.map +1 -0
  54. package/CarouselNavigation/styles.d.ts +3 -0
  55. package/CarouselNavigation/styles.js +28 -0
  56. package/CarouselNavigation/styles.js.map +1 -0
  57. package/index.d.ts +2 -0
  58. package/index.js +1 -0
  59. package/index.js.map +1 -1
  60. package/package.json +3 -1
  61. package/utils/useInterval/index.d.ts +1 -0
  62. package/utils/useInterval/index.js +2 -0
  63. package/utils/useInterval/index.js.map +1 -0
  64. package/utils/useInterval/use-interval.d.ts +7 -0
  65. package/utils/useInterval/use-interval.js +29 -0
  66. package/utils/useInterval/use-interval.js.map +1 -0
  67. package/utils/useMouseEnter/index.d.ts +1 -0
  68. package/utils/useMouseEnter/index.js +2 -0
  69. package/utils/useMouseEnter/index.js.map +1 -0
  70. package/utils/useMouseEnter/use-mouse-enter.d.ts +3 -0
  71. package/utils/useMouseEnter/use-mouse-enter.js +23 -0
  72. package/utils/useMouseEnter/use-mouse-enter.js.map +1 -0
  73. package/utils/useOnScreen/index.d.ts +1 -0
  74. package/utils/useOnScreen/index.js +2 -0
  75. package/utils/useOnScreen/index.js.map +1 -0
  76. package/utils/useOnScreen/use-on-screen.d.ts +8 -0
  77. package/utils/useOnScreen/use-on-screen.js +24 -0
  78. package/utils/useOnScreen/use-on-screen.js.map +1 -0
@@ -15,6 +15,7 @@ import React, { forwardRef } from 'react';
15
15
  import SimpleReactCalendar from 'simple-react-calendar';
16
16
  import cx from 'classnames';
17
17
  import { makeStyles } from '@material-ui/core/styles';
18
+ import isWeekend from 'date-fns/isWeekend';
18
19
  import styles from './styles';
19
20
  import CalendarMonthHeader from '../CalendarMonthHeader';
20
21
  import CalendarContainer from '../CalendarContainer';
@@ -50,6 +51,7 @@ export const Calendar = forwardRef(function Calendar(props, ref) {
50
51
  const { key, isDisabled, isSelected, isSelectable, isToday, isMonthNext, isMonthPrev, isSelectionStart, isSelectionEnd, handleOnClick, handleOnEnter, getDayFormatted, date, ISODate, } = dayProps;
51
52
  const defaultMarkup = (React.createElement("button", { "data-testid": `day-button-${isSelected ? 'selected' : getDayFormatted(date)}`, "data-simple-react-calendar-day": ISODate, key: key, tabIndex: isDisabled || !isSelectable ? -1 : undefined, className: cx(classes.day, {
52
53
  [classes.selected]: isSelected,
54
+ [classes.weekend]: isWeekend(date),
53
55
  [classes.selectable]: isSelectable,
54
56
  [classes.grayed]: (isMonthPrev || isMonthNext) && !isSelected && !isDisabled,
55
57
  [classes.disabled]: isDisabled || !isSelectable,
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.js","sourceRoot":"","sources":["../../src/Calendar/Calendar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Calendar.js","sourceRoot":"","sources":["../../src/Calendar/Calendar.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import { Theme } from '@material-ui/core/styles';
2
- declare const _default: ({ palette, sizes }: Theme) => import("@material-ui/styles").StyleRules<{}, "disabled" | "root" | "selected" | "actions" | "month" | "week" | "day" | "weekDays" | "weekDay" | "selectable" | "startSelection" | "endSelection" | "today" | "grayed">;
2
+ declare const _default: ({ palette, sizes }: Theme) => import("@material-ui/styles").StyleRules<{}, "disabled" | "root" | "selected" | "actions" | "month" | "week" | "day" | "weekDays" | "weekDay" | "weekend" | "selectable" | "startSelection" | "endSelection" | "today" | "grayed">;
3
3
  export default _default;
@@ -46,12 +46,22 @@ export default ({ palette, sizes }) => createStyles({
46
46
  justifyContent: 'space-between',
47
47
  marginBottom: '1.5rem',
48
48
  },
49
+ weekend: {
50
+ background: palette.grey.lighter,
51
+ '&:not(:hover):not($selected)': {
52
+ border: '4px solid white',
53
+ borderRadius: sizes.borderRadius.medium,
54
+ },
55
+ },
49
56
  selected: {
50
57
  background: palette.blue.lighter,
58
+ '&:not($startSelection):not($endSelection)': {
59
+ borderRadius: 0,
60
+ },
51
61
  },
52
62
  selectable: {
53
63
  cursor: 'pointer',
54
- '&:hover, &:focus': {
64
+ '&:hover': {
55
65
  backgroundColor: alpha(palette.blue.main, 0.24),
56
66
  },
57
67
  '&$startSelection:hover, &$endSelection:hover': {
@@ -78,7 +88,7 @@ export default ({ palette, sizes }) => createStyles({
78
88
  },
79
89
  disabled: {
80
90
  color: palette.grey.main,
81
- cursor: 'default'
82
- }
91
+ cursor: 'default',
92
+ },
83
93
  });
84
94
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/Calendar/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;AAEnD,eAAe,CAAC,EAAE,OAAO,EAAE,KAAK,EAAS,EAAE,EAAE,CAC3C,YAAY,CAAC;IACX,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM;KAChB;IACD,KAAK,EAAE,EAAE;IACT,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM;KAChB;IACD,GAAG,EAAE;QACH,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,QAAQ;QACf,QAAQ,EAAE,QAAQ;QAClB,SAAS,EAAE,OAAO;QAClB,aAAa,EAAE,QAAQ;QACvB,QAAQ,EAAE,SAAS;QACnB,UAAU,EAAE,MAAM;QAClB,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;QACxB,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;QAChC,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,CAAC;QACV,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK;QACtC,aAAa,EAAE,QAAQ;KACxB;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM;QACf,SAAS,EAAE,QAAQ;QACnB,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC;QACrB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC;QACvB,aAAa,EAAE,WAAW;QAC1B,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;QACzB,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC;QACtB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC;KAC3B;IACD,OAAO,EAAE;QACP,SAAS,EAAE,KAAK;KACjB;IAED,OAAO,EAAE;QACP,OAAO,EAAE,MAAM;QACf,cAAc,EAAE,eAAe;QAC/B,YAAY,EAAE,QAAQ;KACvB;IACD,QAAQ,EAAE;QACR,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO;KACjC;IACD,UAAU,EAAE;QACV,MAAM,EAAE,SAAS;QAEjB,kBAAkB,EAAE;YAClB,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;SAChD;QAED,8CAA8C,EAAE;YAC9C,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;SACnC;KACF;IACD,cAAc,EAAE;QACd,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;QAClC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;QAE3B,eAAe,EAAE;YACf,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;SACtC;KACF;IACD,YAAY,EAAE;QACZ,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;QAClC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;QAE3B,eAAe,EAAE;YACf,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;SACtC;KACF;IACD,KAAK,EAAE,EAAE;IACT,MAAM,EAAE;QACN,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;KAC1B;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;QACxB,MAAM,EAAE,SAAS;KAClB;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/Calendar/styles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ import { ReactNode } from 'react';
2
+ import 'glider-js/glider.css';
3
+ import { BaseProps } from '@toptal/picasso-shared';
4
+ export interface Props extends BaseProps {
5
+ /**
6
+ * Slide automatically to next slides
7
+ */
8
+ autoplay?: boolean;
9
+ /**
10
+ * Time in ms before sliding to next slide
11
+ */
12
+ autoplayDelay?: number;
13
+ /**
14
+ * Carousel items
15
+ */
16
+ children: ReactNode;
17
+ /**
18
+ * If true, Carousel will scroll to the beginning/end when its respective endpoint is reached
19
+ */
20
+ rewind: boolean;
21
+ /**
22
+ * Hide dots from the navigation bar
23
+ */
24
+ hasDots?: boolean;
25
+ /**
26
+ * Hide arrows from the navigation bar
27
+ */
28
+ hasArrows?: boolean;
29
+ /**
30
+ * The number of slides to show in container
31
+ */
32
+ slidesToShow?: number;
33
+ /**
34
+ * The number of slides to scroll when arrow navigation
35
+ * is used.
36
+ */
37
+ slidesToScroll?: number;
38
+ /**
39
+ * Callback triggered when Carousel finished scrolling to a slide
40
+ */
41
+ onSlide?: (currentSlide: number) => void;
42
+ /**
43
+ * data-testid passed to parts of the Carousel
44
+ */
45
+ testIds?: {
46
+ arrows?: string;
47
+ carousel?: string;
48
+ dots?: string;
49
+ footer?: string;
50
+ header?: string;
51
+ navigation?: string;
52
+ next?: string;
53
+ prev?: string;
54
+ root?: string;
55
+ };
56
+ }
57
+ export declare const Carousel: {
58
+ ({ autoplay, autoplayDelay, className, children, hasArrows, hasDots, onSlide, rewind, slidesToScroll, slidesToShow, testIds, }: Props): JSX.Element;
59
+ defaultProps: {
60
+ hasArrows: boolean;
61
+ hasDots: boolean;
62
+ rewind: boolean;
63
+ autoplay: boolean;
64
+ autoplayDelay: number;
65
+ slidesToScroll: number;
66
+ slidesToShow: number;
67
+ };
68
+ displayName: string;
69
+ };
70
+ export default Carousel;
@@ -0,0 +1,41 @@
1
+ import React from 'react';
2
+ import { makeStyles } from '@material-ui/core/styles';
3
+ import cx from 'classnames';
4
+ import 'glider-js/glider.css';
5
+ import styles from './styles';
6
+ import Container from '../Container';
7
+ import CarouselGradient from '../CarouselGradient';
8
+ import useCarousel from './hooks/useCarousel';
9
+ import CarouselNavigation from '../CarouselNavigation';
10
+ const useStyles = makeStyles(styles, { name: 'Carousel' });
11
+ const testIdsDefault = {};
12
+ export const Carousel = ({ autoplay = false, autoplayDelay = 3000, className, children, hasArrows = false, hasDots = false, onSlide, rewind = false, slidesToScroll = 1, slidesToShow = 1, testIds = testIdsDefault, }) => {
13
+ const { isLastPage, getContainerProps, getCarouselProps, getDotsProps, getNextProps, getPrevProps, } = useCarousel({
14
+ autoplay,
15
+ autoplayDelay,
16
+ onSlide,
17
+ rewind,
18
+ slidesToScroll,
19
+ slidesToShow,
20
+ slidesCount: React.Children.count(children),
21
+ hasDots,
22
+ });
23
+ const classes = useStyles();
24
+ return (React.createElement(Container, Object.assign({ className: cx(classes.root, className), "data-testid": testIds.root }, getContainerProps()),
25
+ React.createElement(Container, { className: classes.container },
26
+ React.createElement(Container, Object.assign({}, getCarouselProps(), { "data-testid": testIds.carousel }), children),
27
+ !Number.isInteger(slidesToShow) && (React.createElement(CarouselGradient, { slidesToShow: slidesToShow, isLastPage: isLastPage }))),
28
+ React.createElement(CarouselNavigation, { hasArrows: hasArrows, hasDots: hasDots, getDotsProps: getDotsProps, getPrevProps: getPrevProps, getNextProps: getNextProps, testIds: testIds })));
29
+ };
30
+ Carousel.defaultProps = {
31
+ hasArrows: false,
32
+ hasDots: false,
33
+ rewind: false,
34
+ autoplay: false,
35
+ autoplayDelay: 3000,
36
+ slidesToScroll: 1,
37
+ slidesToShow: 1,
38
+ };
39
+ Carousel.displayName = 'Carousel';
40
+ export default Carousel;
41
+ //# sourceMappingURL=Carousel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Carousel.js","sourceRoot":"","sources":["../../src/Carousel/Carousel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAA;AACxC,OAAO,EAAE,UAAU,EAAS,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,sBAAsB,CAAA;AAG7B,OAAO,MAAM,MAAM,UAAU,CAAA;AAC7B,OAAO,SAAS,MAAM,cAAc,CAAA;AACpC,OAAO,gBAAgB,MAAM,qBAAqB,CAAA;AAClD,OAAO,WAAW,MAAM,qBAAqB,CAAA;AAC7C,OAAO,kBAAkB,MAAM,uBAAuB,CAAA;AAEtD,MAAM,SAAS,GAAG,UAAU,CAAQ,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAA;AAwDjE,MAAM,cAAc,GAAG,EAAE,CAAA;AAEzB,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EACvB,QAAQ,GAAG,KAAK,EAChB,aAAa,GAAG,IAAI,EACpB,SAAS,EACT,QAAQ,EACR,SAAS,GAAG,KAAK,EACjB,OAAO,GAAG,KAAK,EACf,OAAO,EACP,MAAM,GAAG,KAAK,EACd,cAAc,GAAG,CAAC,EAClB,YAAY,GAAG,CAAC,EAChB,OAAO,GAAG,cAAc,GAClB,EAAE,EAAE;IACV,MAAM,EACJ,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,YAAY,GACb,GAAG,WAAW,CAAC;QACd,QAAQ;QACR,aAAa;QACb,OAAO;QACP,MAAM;QACN,cAAc;QACd,YAAY;QACZ,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC3C,OAAO;KACR,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,SAAS,EAAE,CAAA;IAE3B,OAAO,CACL,oBAAC,SAAS,kBACR,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,iBACzB,OAAO,CAAC,IAAI,IACrB,iBAAiB,EAAE;QAEvB,oBAAC,SAAS,IAAC,SAAS,EAAE,OAAO,CAAC,SAAS;YACrC,oBAAC,SAAS,oBAAK,gBAAgB,EAAE,mBAAe,OAAO,CAAC,QAAQ,KAC7D,QAAQ,CACC;YACX,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAClC,oBAAC,gBAAgB,IACf,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,GACtB,CACH,CACS;QAEZ,oBAAC,kBAAkB,IACjB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,OAAO,GAChB,CACQ,CACb,CAAA;AACH,CAAC,CAAA;AAED,QAAQ,CAAC,YAAY,GAAG;IACtB,SAAS,EAAE,KAAK;IAChB,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,KAAK;IACb,QAAQ,EAAE,KAAK;IACf,aAAa,EAAE,IAAI;IACnB,cAAc,EAAE,CAAC;IACjB,YAAY,EAAE,CAAC;CAChB,CAAA;AAED,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAA;AAEjC,eAAe,QAAQ,CAAA"}
@@ -0,0 +1 @@
1
+ export { default } from './useAutoplay';
@@ -0,0 +1,2 @@
1
+ export { default } from './useAutoplay';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Carousel/hooks/useAutoplay/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA"}
@@ -0,0 +1,10 @@
1
+ declare type Props = {
2
+ wrapperRef: React.RefObject<HTMLDivElement>;
3
+ slideNext: () => void;
4
+ autoplay: boolean;
5
+ autoplayDelay: number;
6
+ rewind: boolean;
7
+ isLastPage: boolean;
8
+ };
9
+ declare const useAutoplay: ({ wrapperRef, slideNext, autoplay, autoplayDelay, rewind, isLastPage, }: Props) => void;
10
+ export default useAutoplay;
@@ -0,0 +1,14 @@
1
+ import useInterval from '../../../utils/useInterval';
2
+ import useOnScreen from '../../../utils/useOnScreen';
3
+ import useMouseEnter from '../../../utils/useMouseEnter';
4
+ const useAutoplay = ({ wrapperRef, slideNext, autoplay, autoplayDelay, rewind, isLastPage, }) => {
5
+ const isOnScreen = useOnScreen({ ref: wrapperRef });
6
+ const isMouseOver = useMouseEnter(wrapperRef);
7
+ useInterval({
8
+ callback: slideNext,
9
+ delay: autoplayDelay,
10
+ isPaused: !autoplay || (!rewind && isLastPage) || !isOnScreen || isMouseOver,
11
+ });
12
+ };
13
+ export default useAutoplay;
14
+ //# sourceMappingURL=useAutoplay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAutoplay.js","sourceRoot":"","sources":["../../../../src/Carousel/hooks/useAutoplay/useAutoplay.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,4BAA4B,CAAA;AACpD,OAAO,WAAW,MAAM,4BAA4B,CAAA;AACpD,OAAO,aAAa,MAAM,8BAA8B,CAAA;AAWxD,MAAM,WAAW,GAAG,CAAC,EACnB,UAAU,EACV,SAAS,EACT,QAAQ,EACR,aAAa,EACb,MAAM,EACN,UAAU,GACJ,EAAE,EAAE;IACV,MAAM,UAAU,GAAG,WAAW,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAA;IACnD,MAAM,WAAW,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;IAE7C,WAAW,CAAC;QACV,QAAQ,EAAE,SAAS;QACnB,KAAK,EAAE,aAAa;QACpB,QAAQ,EACN,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,IAAI,WAAW;KACrE,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -0,0 +1 @@
1
+ export { default } from './useCarousel';
@@ -0,0 +1,2 @@
1
+ export { default } from './useCarousel';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Carousel/hooks/useCarousel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA"}
@@ -0,0 +1,44 @@
1
+ declare type Props = {
2
+ autoplay: boolean;
3
+ autoplayDelay: number;
4
+ /**
5
+ * Callback triggered when Carousel finished scrolling to a slide
6
+ */
7
+ onSlide?: (currentSlide: number) => void;
8
+ /**
9
+ * If true, Carousel will scroll to the beginning/end when its respective endpoint is reached
10
+ */
11
+ rewind: boolean;
12
+ /**
13
+ * The number of slides to scroll when arrow navigation
14
+ * is used.
15
+ */
16
+ slidesToScroll: number;
17
+ /**
18
+ * The number of slides to show in container
19
+ */
20
+ slidesToShow: number;
21
+ slidesCount: number;
22
+ hasDots: boolean;
23
+ };
24
+ declare const useCarousel: ({ autoplay, autoplayDelay, onSlide, rewind, slidesToScroll, slidesToShow, slidesCount, hasDots, }: Props) => {
25
+ isLastPage: boolean;
26
+ getPrevProps: () => {
27
+ disabled: boolean;
28
+ onClick: () => void;
29
+ };
30
+ getNextProps: () => {
31
+ disabled: boolean;
32
+ onClick: () => void;
33
+ };
34
+ getDotsProps: () => {
35
+ ref: import("react").RefObject<HTMLDivElement>;
36
+ };
37
+ getContainerProps: () => {
38
+ ref: import("react").RefObject<HTMLDivElement>;
39
+ };
40
+ getCarouselProps: () => {
41
+ ref: import("react").RefObject<HTMLDivElement>;
42
+ };
43
+ };
44
+ export default useCarousel;
@@ -0,0 +1,89 @@
1
+ import { useRef, useCallback, useState, useEffect } from 'react';
2
+ import Glider from 'glider-js';
3
+ import isOnLastPage from '../../utils/isOnLastPage';
4
+ import useAutoplay from '../useAutoplay';
5
+ const useCarousel = ({ autoplay, autoplayDelay, onSlide, rewind, slidesToScroll, slidesToShow, slidesCount, hasDots, }) => {
6
+ const dotsRef = useRef(null);
7
+ const elementRef = useRef(null);
8
+ const wrapperRef = useRef(null);
9
+ const [isLastPage, setLastPage] = useState(false);
10
+ const [isFirstPage, setFirstPage] = useState(!rewind);
11
+ const gliderRef = useRef();
12
+ const handleOnAnimated = useCallback(() => {
13
+ var _a;
14
+ const currentSlide = ((_a = gliderRef.current) === null || _a === void 0 ? void 0 : _a.slide) || 0;
15
+ setLastPage(isOnLastPage({
16
+ currentSlide,
17
+ slidesCount,
18
+ slidesToShow,
19
+ }));
20
+ setFirstPage(currentSlide === 0);
21
+ onSlide === null || onSlide === void 0 ? void 0 : onSlide(currentSlide);
22
+ }, [slidesCount, slidesToShow, onSlide]);
23
+ const initializeGlider = useCallback(() => {
24
+ const element = elementRef.current;
25
+ if (element &&
26
+ !gliderRef.current &&
27
+ (!hasDots || (hasDots && dotsRef.current))) {
28
+ gliderRef.current = new Glider(element, {
29
+ slidesToShow,
30
+ rewind,
31
+ slidesToScroll,
32
+ dots: dotsRef.current,
33
+ });
34
+ element.addEventListener('glider-animated', handleOnAnimated);
35
+ }
36
+ }, [slidesToShow, rewind, slidesToScroll, handleOnAnimated, hasDots]);
37
+ useEffect(() => {
38
+ initializeGlider();
39
+ }, [initializeGlider]);
40
+ const slideNext = useCallback(() => {
41
+ const glider = gliderRef.current;
42
+ const currentSlide = (glider === null || glider === void 0 ? void 0 : glider.slide) || 0;
43
+ const item = isLastPage ? 0 : currentSlide + slidesToScroll;
44
+ glider === null || glider === void 0 ? void 0 : glider.scrollItem(item, false);
45
+ }, [isLastPage, slidesToScroll]);
46
+ const slidePrev = useCallback(() => {
47
+ const glider = gliderRef.current;
48
+ const currentSlide = (glider === null || glider === void 0 ? void 0 : glider.slide) || 0;
49
+ const lastPage = slidesCount - slidesToShow;
50
+ const prevSlide = currentSlide - slidesToScroll;
51
+ const item = currentSlide === 0 ? lastPage : prevSlide;
52
+ glider === null || glider === void 0 ? void 0 : glider.scrollItem(item, false);
53
+ }, [slidesCount, slidesToShow, slidesToScroll]);
54
+ useAutoplay({
55
+ slideNext,
56
+ rewind,
57
+ isLastPage,
58
+ autoplay,
59
+ autoplayDelay,
60
+ wrapperRef,
61
+ });
62
+ const getPrevProps = useCallback(() => ({
63
+ disabled: rewind ? false : isFirstPage,
64
+ onClick: slidePrev,
65
+ }), [rewind, slidePrev, isFirstPage]);
66
+ const getNextProps = useCallback(() => ({
67
+ disabled: rewind ? false : isLastPage,
68
+ onClick: slideNext,
69
+ }), [isLastPage, rewind, slideNext]);
70
+ const getDotsProps = useCallback(() => ({
71
+ ref: dotsRef,
72
+ }), []);
73
+ const getCarouselProps = useCallback(() => ({
74
+ ref: elementRef,
75
+ }), []);
76
+ const getContainerProps = useCallback(() => ({
77
+ ref: wrapperRef,
78
+ }), []);
79
+ return {
80
+ isLastPage,
81
+ getPrevProps,
82
+ getNextProps,
83
+ getDotsProps,
84
+ getContainerProps,
85
+ getCarouselProps,
86
+ };
87
+ };
88
+ export default useCarousel;
89
+ //# sourceMappingURL=useCarousel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCarousel.js","sourceRoot":"","sources":["../../../../src/Carousel/hooks/useCarousel/useCarousel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { OmitInternalProps } from '@toptal/picasso-shared';
2
+ import type { Props } from './Carousel';
3
+ export { default } from './Carousel';
4
+ export declare type CarouselProps = OmitInternalProps<Props>;
@@ -0,0 +1,2 @@
1
+ export { default } from './Carousel';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Carousel/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,2 @@
1
+ declare const _default: () => import("@material-ui/styles").StyleRules<{}, "root" | "container">;
2
+ export default _default;
@@ -0,0 +1,11 @@
1
+ import { createStyles } from '@material-ui/core/styles';
2
+ export default () => createStyles({
3
+ root: {
4
+ '& .glider-slide': {
5
+ minWidth: '100px',
6
+ },
7
+ },
8
+ // important for gradient component to be on top of carousel
9
+ container: { position: 'relative' },
10
+ });
11
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/Carousel/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD,eAAe,GAAG,EAAE,CAClB,YAAY,CAAC;IACX,IAAI,EAAE;QACJ,iBAAiB,EAAE;YACjB,QAAQ,EAAE,OAAO;SAClB;KACF;IACD,4DAA4D;IAC5D,SAAS,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE;CACpC,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export { default } from './isOnLastPage';
@@ -0,0 +1,2 @@
1
+ export { default } from './isOnLastPage';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Carousel/utils/isOnLastPage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA"}
@@ -0,0 +1,7 @@
1
+ declare type Props = {
2
+ currentSlide: number;
3
+ slidesCount: number;
4
+ slidesToShow: number;
5
+ };
6
+ declare const isOnLastPage: ({ currentSlide, slidesCount, slidesToShow }: Props) => boolean;
7
+ export default isOnLastPage;
@@ -0,0 +1,10 @@
1
+ const isOnLastPage = ({ currentSlide, slidesCount, slidesToShow }) => {
2
+ if (Number.isInteger(slidesToShow) || slidesToShow % 1 <= 0.5) {
3
+ return currentSlide >= slidesCount - slidesToShow;
4
+ }
5
+ // when slidesToShow is not a whole number and is bigger than x.5
6
+ // glider.js will not show the whole last slide, only partial
7
+ return currentSlide >= slidesCount - slidesToShow - 1;
8
+ };
9
+ export default isOnLastPage;
10
+ //# sourceMappingURL=isOnLastPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isOnLastPage.js","sourceRoot":"","sources":["../../../../src/Carousel/utils/isOnLastPage/isOnLastPage.ts"],"names":[],"mappings":"AAMA,MAAM,YAAY,GAAG,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAS,EAAE,EAAE;IAC1E,IAAI,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,YAAY,GAAG,CAAC,IAAI,GAAG,EAAE;QAC7D,OAAO,YAAY,IAAI,WAAW,GAAG,YAAY,CAAA;KAClD;IAED,iEAAiE;IACjE,6DAA6D;IAC7D,OAAO,YAAY,IAAI,WAAW,GAAG,YAAY,GAAG,CAAC,CAAA;AACvD,CAAC,CAAA;AAED,eAAe,YAAY,CAAA"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ declare type Props = {
3
+ slidesToShow: number;
4
+ isLastPage: boolean;
5
+ };
6
+ declare const _default: React.MemoExoticComponent<({ isLastPage, slidesToShow }: Props) => JSX.Element>;
7
+ export default _default;
@@ -0,0 +1,23 @@
1
+ import React, { useMemo } from 'react';
2
+ import cx from 'classnames';
3
+ import { makeStyles } from '@material-ui/core/styles';
4
+ import gradientWidth from './utils/gradientWidth';
5
+ import styles from './styles';
6
+ const useStyles = makeStyles(styles, { name: 'CarouselGradient' });
7
+ const CarouselGradient = ({ isLastPage, slidesToShow }) => {
8
+ const classes = useStyles();
9
+ const showNextGradient = !isLastPage;
10
+ const showPrevGradient = isLastPage;
11
+ const gradientStyle = useMemo(() => {
12
+ return {
13
+ width: gradientWidth(slidesToShow),
14
+ };
15
+ }, [slidesToShow]);
16
+ return (React.createElement("div", { style: gradientStyle, className: cx({
17
+ [classes.gradient]: showNextGradient || showPrevGradient,
18
+ [classes.nextGradient]: showNextGradient,
19
+ [classes.prevGradient]: showPrevGradient,
20
+ }) }));
21
+ };
22
+ export default React.memo(CarouselGradient);
23
+ //# sourceMappingURL=CarouselGradient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CarouselGradient.js","sourceRoot":"","sources":["../../src/CarouselGradient/CarouselGradient.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,UAAU,EAAS,MAAM,0BAA0B,CAAA;AAE5D,OAAO,aAAa,MAAM,uBAAuB,CAAA;AACjD,OAAO,MAAM,MAAM,UAAU,CAAA;AAE7B,MAAM,SAAS,GAAG,UAAU,CAAQ,MAAM,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAA;AAOzE,MAAM,gBAAgB,GAAG,CAAC,EAAE,UAAU,EAAE,YAAY,EAAS,EAAE,EAAE;IAC/D,MAAM,OAAO,GAAG,SAAS,EAAE,CAAA;IAE3B,MAAM,gBAAgB,GAAG,CAAC,UAAU,CAAA;IACpC,MAAM,gBAAgB,GAAG,UAAU,CAAA;IAEnC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE;QACjC,OAAO;YACL,KAAK,EAAE,aAAa,CAAC,YAAY,CAAC;SACnC,CAAA;IACH,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA;IAElB,OAAO,CACL,6BACE,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,EAAE,CAAC;YACZ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,gBAAgB,IAAI,gBAAgB;YACxD,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,gBAAgB;YACxC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,gBAAgB;SACzC,CAAC,GACF,CACH,CAAA;AACH,CAAC,CAAA;AAED,eAAe,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export { default } from './CarouselGradient';
@@ -0,0 +1,2 @@
1
+ export { default } from './CarouselGradient';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/CarouselGradient/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA"}
@@ -0,0 +1,2 @@
1
+ declare const _default: () => import("@material-ui/styles").StyleRules<{}, "gradient" | "nextGradient" | "prevGradient">;
2
+ export default _default;
@@ -0,0 +1,17 @@
1
+ import { createStyles } from '@material-ui/core/styles';
2
+ export default () => createStyles({
3
+ gradient: {
4
+ position: 'absolute',
5
+ height: '100%',
6
+ top: 0,
7
+ },
8
+ nextGradient: {
9
+ right: 0,
10
+ background: 'linear-gradient(90deg, rgba(255, 255, 255, 0.2) 0%, white 95%)',
11
+ },
12
+ prevGradient: {
13
+ left: 0,
14
+ background: 'linear-gradient(90deg, white 5%, rgba(255, 255, 255, 0.2) 100%)',
15
+ },
16
+ });
17
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/CarouselGradient/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD,eAAe,GAAG,EAAE,CAClB,YAAY,CAAC;IACX,QAAQ,EAAE;QACR,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,CAAC;KACP;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,CAAC;QACR,UAAU,EACR,gEAAgE;KACnE;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,CAAC;QACP,UAAU,EACR,iEAAiE;KACpE;CACF,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Calculates the width of the gradient that fades out the edges of the slider.
3
+ * @param slidesToShow The number of slides to show in the slider.
4
+ * @returns The width of the gradient in %
5
+ */
6
+ declare const gradientWidth: (slidesToShow: number) => string;
7
+ export default gradientWidth;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Calculates the width of the gradient that fades out the edges of the slider.
3
+ * @param slidesToShow The number of slides to show in the slider.
4
+ * @returns The width of the gradient in %
5
+ */
6
+ const gradientWidth = (slidesToShow) => {
7
+ const slideWidth = 100 / slidesToShow;
8
+ const partialSlideWidth = slideWidth * (slidesToShow % 1);
9
+ return `${Math.round(partialSlideWidth)}%`;
10
+ };
11
+ export default gradientWidth;
12
+ //# sourceMappingURL=gradientWidth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gradientWidth.js","sourceRoot":"","sources":["../../../../src/CarouselGradient/utils/gradientWidth/gradientWidth.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,aAAa,GAAG,CAAC,YAAoB,EAAE,EAAE;IAC7C,MAAM,UAAU,GAAG,GAAG,GAAG,YAAY,CAAA;IACrC,MAAM,iBAAiB,GAAG,UAAU,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,CAAA;IAEzD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAA;AAC5C,CAAC,CAAA;AAED,eAAe,aAAa,CAAA"}
@@ -0,0 +1 @@
1
+ export { default } from './gradientWidth';
@@ -0,0 +1,2 @@
1
+ export { default } from './gradientWidth';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/CarouselGradient/utils/gradientWidth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA"}
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ declare type Props = {
3
+ hasArrows: boolean;
4
+ hasDots: boolean;
5
+ getDotsProps: () => {};
6
+ getNextProps: () => {};
7
+ getPrevProps: () => {};
8
+ testIds: {
9
+ navigation?: string;
10
+ arrows?: string;
11
+ prev?: string;
12
+ next?: string;
13
+ dots?: string;
14
+ };
15
+ };
16
+ declare const _default: React.MemoExoticComponent<({ getDotsProps, getNextProps, getPrevProps, hasArrows, hasDots, testIds, }: Props) => JSX.Element>;
17
+ export default _default;
@@ -0,0 +1,28 @@
1
+ import React, { memo } from 'react';
2
+ import { makeStyles } from '@material-ui/core/styles';
3
+ import styles from './styles';
4
+ import ButtonCircular from '../ButtonCircular';
5
+ import Container from '../Container';
6
+ import ChevronRight24 from '../Icon/ChevronRight24';
7
+ const getJustifyContent = (hasArrows, hasDots) => {
8
+ if (hasArrows && hasDots) {
9
+ return 'space-between';
10
+ }
11
+ if (hasArrows) {
12
+ return 'flex-end';
13
+ }
14
+ if (hasDots) {
15
+ return 'center';
16
+ }
17
+ };
18
+ const useStyles = makeStyles(styles, { name: 'CarouselNavigation' });
19
+ const CarouselNavigation = ({ getDotsProps, getNextProps, getPrevProps, hasArrows, hasDots, testIds, }) => {
20
+ const classes = useStyles();
21
+ return (React.createElement(Container, { className: classes.navigation, flex: true, justifyContent: getJustifyContent(hasArrows, hasDots), "data-testid": testIds.navigation },
22
+ hasDots && (React.createElement("div", Object.assign({}, getDotsProps(), { "data-testid": testIds.dots, className: classes.dots }))),
23
+ hasArrows && (React.createElement(Container, { "data-testid": testIds.arrows },
24
+ React.createElement(ButtonCircular, Object.assign({ className: classes.arrowPrev, "data-testid": testIds.prev, icon: React.createElement(ChevronRight24, null), variant: 'flat' }, getPrevProps())),
25
+ React.createElement(ButtonCircular, Object.assign({ "data-testid": testIds.next, icon: React.createElement(ChevronRight24, null), variant: 'flat' }, getNextProps()))))));
26
+ };
27
+ export default memo(CarouselNavigation);
28
+ //# sourceMappingURL=CarouselNavigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CarouselNavigation.js","sourceRoot":"","sources":["../../src/CarouselNavigation/CarouselNavigation.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AACnC,OAAO,EAAE,UAAU,EAAS,MAAM,0BAA0B,CAAA;AAE5D,OAAO,MAAM,MAAM,UAAU,CAAA;AAC7B,OAAO,cAAc,MAAM,mBAAmB,CAAA;AAC9C,OAAO,SAAS,MAAM,cAAc,CAAA;AACpC,OAAO,cAAc,MAAM,wBAAwB,CAAA;AAEnD,MAAM,iBAAiB,GAAG,CAAC,SAAkB,EAAE,OAAgB,EAAE,EAAE;IACjE,IAAI,SAAS,IAAI,OAAO,EAAE;QACxB,OAAO,eAAe,CAAA;KACvB;IAED,IAAI,SAAS,EAAE;QACb,OAAO,UAAU,CAAA;KAClB;IAED,IAAI,OAAO,EAAE;QACX,OAAO,QAAQ,CAAA;KAChB;AACH,CAAC,CAAA;AAED,MAAM,SAAS,GAAG,UAAU,CAAQ,MAAM,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAA;AAiB3E,MAAM,kBAAkB,GAAG,CAAC,EAC1B,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,OAAO,EACP,OAAO,GACD,EAAE,EAAE;IACV,MAAM,OAAO,GAAG,SAAS,EAAE,CAAA;IAE3B,OAAO,CACL,oBAAC,SAAS,IACR,SAAS,EAAE,OAAO,CAAC,UAAU,EAC7B,IAAI,QACJ,cAAc,EAAE,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,iBACxC,OAAO,CAAC,UAAU;QAE9B,OAAO,IAAI,CACV,6CACM,YAAY,EAAE,mBACL,OAAO,CAAC,IAAI,EACzB,SAAS,EAAE,OAAO,CAAC,IAAI,IACvB,CACH;QACA,SAAS,IAAI,CACZ,oBAAC,SAAS,mBAAc,OAAO,CAAC,MAAM;YACpC,oBAAC,cAAc,kBACb,SAAS,EAAE,OAAO,CAAC,SAAS,iBACf,OAAO,CAAC,IAAI,EACzB,IAAI,EAAE,oBAAC,cAAc,OAAG,EACxB,OAAO,EAAC,MAAM,IACV,YAAY,EAAE,EAClB;YACF,oBAAC,cAAc,iCACA,OAAO,CAAC,IAAI,EACzB,IAAI,EAAE,oBAAC,cAAc,OAAG,EACxB,OAAO,EAAC,MAAM,IACV,YAAY,EAAE,EAClB,CACQ,CACb,CACS,CACb,CAAA;AACH,CAAC,CAAA;AAED,eAAe,IAAI,CAAC,kBAAkB,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export { default } from './CarouselNavigation';
@@ -0,0 +1,2 @@
1
+ export { default } from './CarouselNavigation';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/CarouselNavigation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { Theme } from '@material-ui/core/styles';
2
+ declare const _default: ({ palette, transitions }: Theme) => import("@material-ui/styles").StyleRules<{}, "dots" | "navigation" | "arrowPrev">;
3
+ export default _default;
@@ -0,0 +1,28 @@
1
+ import { rem } from '@toptal/picasso-shared';
2
+ import { createStyles } from '@material-ui/core/styles';
3
+ export default ({ palette, transitions }) => createStyles({
4
+ arrowPrev: {
5
+ transform: 'rotate(180deg)',
6
+ },
7
+ dots: {
8
+ margin: 0,
9
+ '& .glider-dot': {
10
+ width: 10,
11
+ height: 10,
12
+ backgroundColor: palette.blue.main,
13
+ opacity: 0.2,
14
+ '&.active': {
15
+ opacity: 1,
16
+ },
17
+ '&:hover:not(.active)': {
18
+ transition: `box-shadow, opacity ${transitions.duration.standard}ms ${transitions.easing.easeOut}`,
19
+ opacity: 1,
20
+ boxShadow: '0 0 0 2px rgba(32, 78, 207, 0.2)',
21
+ },
22
+ },
23
+ },
24
+ navigation: {
25
+ padding: `${rem('14px')} 1.5rem 0`,
26
+ },
27
+ });
28
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/CarouselNavigation/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;AAC5C,OAAO,EAAS,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE9D,eAAe,CAAC,EAAE,OAAO,EAAE,WAAW,EAAS,EAAE,EAAE,CACjD,YAAY,CAAC;IACX,SAAS,EAAE;QACT,SAAS,EAAE,gBAAgB;KAC5B;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,CAAC;QACT,eAAe,EAAE;YACf,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;YAClC,OAAO,EAAE,GAAG;YACZ,UAAU,EAAE;gBACV,OAAO,EAAE,CAAC;aACX;YACD,sBAAsB,EAAE;gBACtB,UAAU,EAAE,uBAAuB,WAAW,CAAC,QAAQ,CAAC,QAAQ,MAAM,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE;gBAClG,OAAO,EAAE,CAAC;gBACV,SAAS,EAAE,kCAAkC;aAC9C;SACF;KACF;IACD,UAAU,EAAE;QACV,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW;KACnC;CACF,CAAC,CAAA"}
package/index.d.ts CHANGED
@@ -169,4 +169,6 @@ export type { FieldRequirementsProps, FieldRequirement, } from './FieldRequireme
169
169
  export type { Status as OutlinedInputStatus } from './OutlinedInput';
170
170
  export { default as AvatarUpload } from './AvatarUpload';
171
171
  export type { AvatarUploadProps, FileUpload as AvatarUploadFileUpload, FileError as AvatarUploadFileError, FileRejection as AvatarUploadFileRejection, DropEvent as AvatarUploadDropEvent, } from './AvatarUpload';
172
+ export { default as Carousel } from './Carousel';
173
+ export type { CarouselProps } from './Carousel';
172
174
  export * from './Icon';
package/index.js CHANGED
@@ -79,6 +79,7 @@ export { default as RichText } from './RichText';
79
79
  export { default as PasswordInput } from './PasswordInput';
80
80
  export { default as FieldRequirements } from './FieldRequirements';
81
81
  export { default as AvatarUpload } from './AvatarUpload';
82
+ export { default as Carousel } from './Carousel';
82
83
  // hygen code generator inserts export statements above this comment.
83
84
  export * from './Icon';
84
85
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@toptal/picasso",
3
- "version": "31.5.1",
3
+ "version": "31.6.1",
4
4
  "description": "Toptal UI components library",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -41,6 +41,7 @@
41
41
  "date-fns-tz": "^1.3.6",
42
42
  "debounce": "^1.2.1",
43
43
  "detect-browser": "^5.3.0",
44
+ "glider-js": "^1.7.8",
44
45
  "hast-to-hyperscript": "^9.0.1",
45
46
  "hast-util-from-dom": "^3.0.0",
46
47
  "hast-util-sanitize": "^3.0.2",
@@ -62,6 +63,7 @@
62
63
  "@toptal/picasso-provider": "2.1.0",
63
64
  "@types/classnames": "^2.3.1",
64
65
  "@types/d3": "^7.4.0",
66
+ "@types/glider-js": "^1.7.8",
65
67
  "@types/quill": "^1.3.10",
66
68
  "@types/react-input-mask": "^3.0.0",
67
69
  "@types/react-router-dom": "^5.1.3",
@@ -0,0 +1 @@
1
+ export { default } from './use-interval';
@@ -0,0 +1,2 @@
1
+ export { default } from './use-interval';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/useInterval/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA"}
@@ -0,0 +1,7 @@
1
+ interface UseIntervalOptions {
2
+ callback: () => void;
3
+ delay: number;
4
+ isPaused?: boolean;
5
+ }
6
+ declare const useInterval: ({ callback, delay, isPaused, }: UseIntervalOptions) => void;
7
+ export default useInterval;
@@ -0,0 +1,29 @@
1
+ import { useCallback, useEffect, useRef } from 'react';
2
+ /* eslint-disable @typescript-eslint/no-non-null-assertion */
3
+ const useInterval = ({ callback, delay, isPaused = false, }) => {
4
+ const intervalId = useRef();
5
+ const pauseInterval = useCallback(() => {
6
+ if (intervalId.current) {
7
+ clearInterval(intervalId.current);
8
+ intervalId.current = undefined;
9
+ }
10
+ }, []);
11
+ const resumeInterval = useCallback(() => {
12
+ if (!intervalId.current) {
13
+ intervalId.current = setInterval(callback, delay);
14
+ }
15
+ }, [callback, delay]);
16
+ useEffect(() => {
17
+ if (isPaused) {
18
+ pauseInterval();
19
+ }
20
+ if (!isPaused) {
21
+ resumeInterval();
22
+ }
23
+ return () => {
24
+ pauseInterval();
25
+ };
26
+ }, [isPaused, pauseInterval, resumeInterval]);
27
+ };
28
+ export default useInterval;
29
+ //# sourceMappingURL=use-interval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-interval.js","sourceRoot":"","sources":["../../../src/utils/useInterval/use-interval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAQtD,6DAA6D;AAE7D,MAAM,WAAW,GAAG,CAAC,EACnB,QAAQ,EACR,KAAK,EACL,QAAQ,GAAG,KAAK,GACG,EAAE,EAAE;IACvB,MAAM,UAAU,GAAG,MAAM,EAAkB,CAAA;IAE3C,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACrC,IAAI,UAAU,CAAC,OAAO,EAAE;YACtB,aAAa,CAAC,UAAU,CAAC,OAAQ,CAAC,CAAA;YAClC,UAAU,CAAC,OAAO,GAAG,SAAS,CAAA;SAC/B;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACtC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;YACvB,UAAU,CAAC,OAAO,GAAG,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;SAClD;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;IAErB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,QAAQ,EAAE;YACZ,aAAa,EAAE,CAAA;SAChB;QAED,IAAI,CAAC,QAAQ,EAAE;YACb,cAAc,EAAE,CAAA;SACjB;QAED,OAAO,GAAG,EAAE;YACV,aAAa,EAAE,CAAA;QACjB,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC,CAAA;AAC/C,CAAC,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -0,0 +1 @@
1
+ export { default } from './use-mouse-enter';
@@ -0,0 +1,2 @@
1
+ export { default } from './use-mouse-enter';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/useMouseEnter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { RefObject } from 'react';
2
+ declare const useMouseEnter: <T extends HTMLElement>(ref: RefObject<T>) => boolean;
3
+ export default useMouseEnter;
@@ -0,0 +1,23 @@
1
+ import { useEffect, useState } from 'react';
2
+ const useMouseEnter = (ref) => {
3
+ const [isMouseOver, setIsMouseOver] = useState(false);
4
+ useEffect(() => {
5
+ const handleMouseHover = (event) => {
6
+ setIsMouseOver(event.type === 'mouseenter');
7
+ };
8
+ const node = ref.current;
9
+ if (node) {
10
+ node.addEventListener('mouseenter', handleMouseHover);
11
+ node.addEventListener('mouseleave', handleMouseHover);
12
+ }
13
+ return () => {
14
+ if (node) {
15
+ node.removeEventListener('mouseenter', handleMouseHover);
16
+ node.removeEventListener('mouseleave', handleMouseHover);
17
+ }
18
+ };
19
+ }, [ref]);
20
+ return isMouseOver;
21
+ };
22
+ export default useMouseEnter;
23
+ //# sourceMappingURL=use-mouse-enter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-mouse-enter.js","sourceRoot":"","sources":["../../../src/utils/useMouseEnter/use-mouse-enter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAa,MAAM,OAAO,CAAA;AAEtD,MAAM,aAAa,GAAG,CAAwB,GAAiB,EAAW,EAAE;IAC1E,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAA;IAE9D,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,gBAAgB,GAAG,CAAC,KAAiB,EAAE,EAAE;YAC7C,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,CAAA;QAC7C,CAAC,CAAA;QAED,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAA;QAExB,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAA;YACrD,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAA;SACtD;QAED,OAAO,GAAG,EAAE;YACV,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAA;gBACxD,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAA;aACzD;QACH,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;IAET,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AAED,eAAe,aAAa,CAAA"}
@@ -0,0 +1 @@
1
+ export { default } from './use-on-screen';
@@ -0,0 +1,2 @@
1
+ export { default } from './use-on-screen';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/useOnScreen/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA"}
@@ -0,0 +1,8 @@
1
+ interface UseOnScreenProps {
2
+ ref: React.RefObject<HTMLElement>;
3
+ root?: React.RefObject<HTMLElement>;
4
+ rootMargin?: string;
5
+ threshold?: number | number[];
6
+ }
7
+ declare const useOnScreen: ({ ref, root, rootMargin, threshold, }: UseOnScreenProps) => boolean;
8
+ export default useOnScreen;
@@ -0,0 +1,24 @@
1
+ import { useEffect, useState, useMemo } from 'react';
2
+ const useOnScreen = ({ ref, root, rootMargin, threshold, }) => {
3
+ const [isIntersecting, setIntersecting] = useState(false);
4
+ const observer = useMemo(() => new IntersectionObserver(([entry]) => {
5
+ setIntersecting(entry.isIntersecting);
6
+ }, {
7
+ root: root === null || root === void 0 ? void 0 : root.current,
8
+ rootMargin,
9
+ threshold,
10
+ }), [root, rootMargin, threshold]);
11
+ useEffect(() => {
12
+ const element = ref.current;
13
+ if (!element) {
14
+ return;
15
+ }
16
+ observer.observe(element);
17
+ return () => {
18
+ observer.unobserve(element);
19
+ };
20
+ }, [observer, ref]);
21
+ return isIntersecting;
22
+ };
23
+ export default useOnScreen;
24
+ //# sourceMappingURL=use-on-screen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-on-screen.js","sourceRoot":"","sources":["../../../src/utils/useOnScreen/use-on-screen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AASpD,MAAM,WAAW,GAAG,CAAC,EACnB,GAAG,EACH,IAAI,EACJ,UAAU,EACV,SAAS,GACQ,EAAE,EAAE;IACrB,MAAM,CAAC,cAAc,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEzD,MAAM,QAAQ,GAAG,OAAO,CACtB,GAAG,EAAE,CACH,IAAI,oBAAoB,CACtB,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE;QACV,eAAe,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;IACvC,CAAC,EACD;QACE,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO;QACnB,UAAU;QACV,SAAS;KACV,CACF,EACH,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAC9B,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;QAE3B,IAAI,CAAC,OAAO,EAAE;YACZ,OAAM;SACP;QAED,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAEzB,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAC7B,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAA;IAEnB,OAAO,cAAc,CAAA;AACvB,CAAC,CAAA;AAED,eAAe,WAAW,CAAA"}