@toptal/picasso 17.3.3 → 18.1.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.
Files changed (198) hide show
  1. package/Calendar/Calendar.d.ts +23 -0
  2. package/Calendar/Calendar.js +86 -0
  3. package/Calendar/Calendar.js.map +1 -0
  4. package/Calendar/index.d.ts +2 -0
  5. package/Calendar/index.js +3 -0
  6. package/Calendar/index.js.map +1 -0
  7. package/Calendar/styles.d.ts +3 -0
  8. package/Calendar/styles.js +97 -0
  9. package/Calendar/styles.js.map +1 -0
  10. package/Calendar/types.d.ts +36 -0
  11. package/Calendar/types.js +2 -0
  12. package/Calendar/types.js.map +1 -0
  13. package/DatePicker/DatePicker.d.ts +62 -0
  14. package/DatePicker/DatePicker.js +198 -0
  15. package/DatePicker/DatePicker.js.map +1 -0
  16. package/DatePicker/constants.d.ts +12 -0
  17. package/DatePicker/constants.js +13 -0
  18. package/DatePicker/constants.js.map +1 -0
  19. package/DatePicker/index.d.ts +5 -0
  20. package/DatePicker/index.js +4 -0
  21. package/DatePicker/index.js.map +1 -0
  22. package/DatePicker/styles.d.ts +2 -0
  23. package/DatePicker/styles.js +7 -0
  24. package/DatePicker/styles.js.map +1 -0
  25. package/DatePicker/types.d.ts +13 -0
  26. package/DatePicker/types.js +2 -0
  27. package/DatePicker/types.js.map +1 -0
  28. package/DatePicker/utils.d.ts +12 -0
  29. package/DatePicker/utils.js +102 -0
  30. package/DatePicker/utils.js.map +1 -0
  31. package/Drawer/Drawer.d.ts +22 -0
  32. package/Drawer/Drawer.js +55 -0
  33. package/Drawer/Drawer.js.map +1 -0
  34. package/Drawer/index.d.ts +4 -0
  35. package/Drawer/index.js +2 -0
  36. package/Drawer/index.js.map +1 -0
  37. package/Drawer/styles.d.ts +2 -0
  38. package/Drawer/styles.js +40 -0
  39. package/Drawer/styles.js.map +1 -0
  40. package/DrawerTitle/DrawerTitle.d.ts +9 -0
  41. package/DrawerTitle/DrawerTitle.js +20 -0
  42. package/DrawerTitle/DrawerTitle.js.map +1 -0
  43. package/DrawerTitle/index.d.ts +1 -0
  44. package/DrawerTitle/index.js +2 -0
  45. package/DrawerTitle/index.js.map +1 -0
  46. package/DrawerTitle/styles.d.ts +3 -0
  47. package/DrawerTitle/styles.js +11 -0
  48. package/DrawerTitle/styles.js.map +1 -0
  49. package/Dropzone/Dropzone.d.ts +37 -0
  50. package/Dropzone/Dropzone.js +55 -0
  51. package/Dropzone/Dropzone.js.map +1 -0
  52. package/Dropzone/index.d.ts +5 -0
  53. package/Dropzone/index.js +3 -0
  54. package/Dropzone/index.js.map +1 -0
  55. package/Dropzone/styles.d.ts +3 -0
  56. package/Dropzone/styles.js +42 -0
  57. package/Dropzone/styles.js.map +1 -0
  58. package/Dropzone/types.d.ts +43 -0
  59. package/Dropzone/types.js +7 -0
  60. package/Dropzone/types.js.map +1 -0
  61. package/EmptyState/EmptyState.d.ts +5 -0
  62. package/EmptyState/EmptyState.js +7 -0
  63. package/EmptyState/EmptyState.js.map +1 -0
  64. package/EmptyState/index.d.ts +1 -0
  65. package/EmptyState/index.js +2 -0
  66. package/EmptyState/index.js.map +1 -0
  67. package/EmptyStateCollection/EmptyStateCollection.d.ts +7 -0
  68. package/EmptyStateCollection/EmptyStateCollection.js +36 -0
  69. package/EmptyStateCollection/EmptyStateCollection.js.map +1 -0
  70. package/EmptyStateCollection/index.d.ts +1 -0
  71. package/EmptyStateCollection/index.js +2 -0
  72. package/EmptyStateCollection/index.js.map +1 -0
  73. package/EmptyStateCollection/styles.d.ts +2 -0
  74. package/EmptyStateCollection/styles.js +9 -0
  75. package/EmptyStateCollection/styles.js.map +1 -0
  76. package/EmptyStatePage/EmptyStatePage.d.ts +9 -0
  77. package/EmptyStatePage/EmptyStatePage.js +31 -0
  78. package/EmptyStatePage/EmptyStatePage.js.map +1 -0
  79. package/EmptyStatePage/index.d.ts +1 -0
  80. package/EmptyStatePage/index.js +2 -0
  81. package/EmptyStatePage/index.js.map +1 -0
  82. package/EmptyStatePage/styles.d.ts +2 -0
  83. package/EmptyStatePage/styles.js +8 -0
  84. package/EmptyStatePage/styles.js.map +1 -0
  85. package/FormLabel/FormLabel.d.ts +3 -1
  86. package/FormLabel/FormLabel.js +6 -5
  87. package/FormLabel/FormLabel.js.map +1 -1
  88. package/FormLabel/styles.d.ts +1 -1
  89. package/FormLabel/styles.js +8 -6
  90. package/FormLabel/styles.js.map +1 -1
  91. package/MenuItem/MenuItem.js +6 -1
  92. package/MenuItem/MenuItem.js.map +1 -1
  93. package/Note/Note.d.ts +12 -0
  94. package/Note/Note.js +31 -0
  95. package/Note/Note.js.map +1 -0
  96. package/Note/index.d.ts +4 -0
  97. package/Note/index.js +2 -0
  98. package/Note/index.js.map +1 -0
  99. package/Note/styles.d.ts +3 -0
  100. package/Note/styles.js +23 -0
  101. package/Note/styles.js.map +1 -0
  102. package/NoteContent/NoteContent.d.ts +7 -0
  103. package/NoteContent/NoteContent.js +21 -0
  104. package/NoteContent/NoteContent.js.map +1 -0
  105. package/NoteContent/index.d.ts +1 -0
  106. package/NoteContent/index.js +2 -0
  107. package/NoteContent/index.js.map +1 -0
  108. package/NoteSubtitle/NoteSubtitle.d.ts +7 -0
  109. package/NoteSubtitle/NoteSubtitle.js +23 -0
  110. package/NoteSubtitle/NoteSubtitle.js.map +1 -0
  111. package/NoteSubtitle/index.d.ts +1 -0
  112. package/NoteSubtitle/index.js +2 -0
  113. package/NoteSubtitle/index.js.map +1 -0
  114. package/NoteTitle/NoteTitle.d.ts +7 -0
  115. package/NoteTitle/NoteTitle.js +27 -0
  116. package/NoteTitle/NoteTitle.js.map +1 -0
  117. package/NoteTitle/index.d.ts +1 -0
  118. package/NoteTitle/index.js +2 -0
  119. package/NoteTitle/index.js.map +1 -0
  120. package/NoteTitle/styles.d.ts +2 -0
  121. package/NoteTitle/styles.js +7 -0
  122. package/NoteTitle/styles.js.map +1 -0
  123. package/OverviewBlock/OverviewBlock.d.ts +25 -0
  124. package/OverviewBlock/OverviewBlock.js +54 -0
  125. package/OverviewBlock/OverviewBlock.js.map +1 -0
  126. package/OverviewBlock/index.d.ts +4 -0
  127. package/OverviewBlock/index.js +2 -0
  128. package/OverviewBlock/index.js.map +1 -0
  129. package/OverviewBlock/styles.d.ts +3 -0
  130. package/OverviewBlock/styles.js +42 -0
  131. package/OverviewBlock/styles.js.map +1 -0
  132. package/OverviewBlockGroup/OverviewBlockGroup.d.ts +10 -0
  133. package/OverviewBlockGroup/OverviewBlockGroup.js +36 -0
  134. package/OverviewBlockGroup/OverviewBlockGroup.js.map +1 -0
  135. package/OverviewBlockGroup/OverviewBlockGroupContext.d.ts +8 -0
  136. package/OverviewBlockGroup/OverviewBlockGroupContext.js +10 -0
  137. package/OverviewBlockGroup/OverviewBlockGroupContext.js.map +1 -0
  138. package/OverviewBlockGroup/index.d.ts +1 -0
  139. package/OverviewBlockGroup/index.js +2 -0
  140. package/OverviewBlockGroup/index.js.map +1 -0
  141. package/OverviewBlockGroup/settings.d.ts +2 -0
  142. package/OverviewBlockGroup/settings.js +2 -0
  143. package/OverviewBlockGroup/settings.js.map +1 -0
  144. package/OverviewBlockRow/OverviewBlockRow.d.ts +4 -0
  145. package/OverviewBlockRow/OverviewBlockRow.js +26 -0
  146. package/OverviewBlockRow/OverviewBlockRow.js.map +1 -0
  147. package/OverviewBlockRow/index.d.ts +1 -0
  148. package/OverviewBlockRow/index.js +2 -0
  149. package/OverviewBlockRow/index.js.map +1 -0
  150. package/OverviewBlockRow/styles.d.ts +3 -0
  151. package/OverviewBlockRow/styles.js +26 -0
  152. package/OverviewBlockRow/styles.js.map +1 -0
  153. package/PageFooter/PageFooter.d.ts +2 -0
  154. package/PageFooter/PageFooter.js +5 -4
  155. package/PageFooter/PageFooter.js.map +1 -1
  156. package/Section/Section.d.ts +29 -0
  157. package/Section/Section.js +60 -0
  158. package/Section/Section.js.map +1 -0
  159. package/Section/index.d.ts +4 -0
  160. package/Section/index.js +2 -0
  161. package/Section/index.js.map +1 -0
  162. package/Section/styles.d.ts +3 -0
  163. package/Section/styles.js +62 -0
  164. package/Section/styles.js.map +1 -0
  165. package/ShowMore/ShowMore.d.ts +1 -1
  166. package/ShowMore/ShowMore.js +4 -2
  167. package/ShowMore/ShowMore.js.map +1 -1
  168. package/ShowMore/utils.d.ts +1 -0
  169. package/ShowMore/utils.js +17 -0
  170. package/ShowMore/utils.js.map +1 -0
  171. package/Timeline/Timeline.d.ts +23 -0
  172. package/Timeline/Timeline.js +9 -0
  173. package/Timeline/Timeline.js.map +1 -0
  174. package/Timeline/index.d.ts +4 -0
  175. package/Timeline/index.js +2 -0
  176. package/Timeline/index.js.map +1 -0
  177. package/TimelineRow/TimelineRow.d.ts +24 -0
  178. package/TimelineRow/TimelineRow.js +27 -0
  179. package/TimelineRow/TimelineRow.js.map +1 -0
  180. package/TimelineRow/index.d.ts +4 -0
  181. package/TimelineRow/index.js +2 -0
  182. package/TimelineRow/index.js.map +1 -0
  183. package/TimelineRow/styles.d.ts +3 -0
  184. package/TimelineRow/styles.js +45 -0
  185. package/TimelineRow/styles.js.map +1 -0
  186. package/TypographyOverflow/TypographyOverflow.d.ts +26 -0
  187. package/TypographyOverflow/TypographyOverflow.js +79 -0
  188. package/TypographyOverflow/TypographyOverflow.js.map +1 -0
  189. package/TypographyOverflow/index.d.ts +4 -0
  190. package/TypographyOverflow/index.js +2 -0
  191. package/TypographyOverflow/index.js.map +1 -0
  192. package/TypographyOverflow/styles.d.ts +2 -0
  193. package/TypographyOverflow/styles.js +28 -0
  194. package/TypographyOverflow/styles.js.map +1 -0
  195. package/index.d.ts +19 -0
  196. package/index.js +10 -0
  197. package/index.js.map +1 -1
  198. package/package.json +7 -2
@@ -0,0 +1,23 @@
1
+ import React, { ReactNode } from 'react';
2
+ import { BaseProps } from '@toptal/picasso-shared';
3
+ import { DayProps } from './types';
4
+ export declare type DateOrDateRangeType = Date | DateRangeType;
5
+ export declare type DateRangeType = [Date, Date];
6
+ export type { DayProps };
7
+ export interface Props extends BaseProps, Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'onBlur'> {
8
+ onChange: (value: DateOrDateRangeType) => void;
9
+ onBlur?: (event: React.FocusEvent<HTMLDivElement>) => void;
10
+ renderDay?: (args: DayProps) => ReactNode;
11
+ minDate?: Date;
12
+ maxDate?: Date;
13
+ range?: boolean;
14
+ value?: DateOrDateRangeType;
15
+ activeMonth?: Date;
16
+ disabledIntervals?: {
17
+ start: Date;
18
+ end: Date;
19
+ }[];
20
+ weekStartsOn?: number;
21
+ }
22
+ export declare const Calendar: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLDivElement>>;
23
+ export default Calendar;
@@ -0,0 +1,86 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import React, { forwardRef } from 'react';
13
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
14
+ // @ts-ignore
15
+ import SimpleReactCalendar from 'simple-react-calendar';
16
+ import cx from 'classnames';
17
+ import format from 'date-fns/format';
18
+ import { makeStyles } from '@material-ui/core/styles';
19
+ import { ChevronMinor16, BackMinor16 } from '@toptal/picasso/Icon';
20
+ import Button from '../Button';
21
+ import Typography from '../Typography';
22
+ import styles from './styles';
23
+ const getNormalizedValue = (value) => {
24
+ if (!value) {
25
+ return;
26
+ }
27
+ if (value instanceof Date) {
28
+ return value;
29
+ }
30
+ const [start, end] = value;
31
+ return { start, end };
32
+ };
33
+ const isDateRange = (value) => {
34
+ return !(value instanceof Date) && Boolean(value.start && value.end);
35
+ };
36
+ const useStyles = makeStyles(styles, { name: 'PicassoCalendar' });
37
+ export const Calendar = forwardRef(function Calendar(props, ref) {
38
+ const classes = useStyles();
39
+ const { range, activeMonth, value, onChange, minDate, maxDate, disabledIntervals, renderDay, weekStartsOn } = props, rest = __rest(props, ["range", "activeMonth", "value", "onChange", "minDate", "maxDate", "disabledIntervals", "renderDay", "weekStartsOn"]);
40
+ const handleChange = (selection) => {
41
+ if (isDateRange(selection)) {
42
+ const { start, end } = selection;
43
+ onChange([start, end]);
44
+ }
45
+ else {
46
+ onChange(selection);
47
+ }
48
+ };
49
+ return (React.createElement("div", Object.assign({ ref: ref }, rest, { tabIndex: 0 }),
50
+ React.createElement(SimpleReactCalendar, { selected: getNormalizedValue(value), onSelect: handleChange, customRender: ({ children }) => {
51
+ return React.createElement("div", { className: classes.root }, children);
52
+ }, renderDay: (dayProps) => {
53
+ const { key, isDisabled, isSelected, isSelectable, isToday, isMonthNext, isMonthPrev, isSelectionStart, isSelectionEnd, handleOnClick, handleOnEnter, getDayFormatted, date, ISODate } = dayProps;
54
+ 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, {
55
+ [classes.selected]: isSelected,
56
+ [classes.selectable]: isSelectable,
57
+ [classes.today]: isToday,
58
+ [classes.grayed]: (isMonthPrev || isMonthNext) && !isSelected && !isDisabled,
59
+ [classes.disabled]: isDisabled || !isSelectable,
60
+ [classes.startSelection]: isSelectionStart,
61
+ [classes.endSelection]: isSelectionEnd
62
+ }), onClick: handleOnClick, onMouseEnter: handleOnEnter, value: date.toString(), type: 'button' }, getDayFormatted(date)));
63
+ return renderDay
64
+ ? renderDay(Object.assign(Object.assign({}, dayProps), { children: defaultMarkup }))
65
+ : defaultMarkup;
66
+ }, renderMonthHeader: ({ switchMonth, activeMonth: headerActiveMonth }) => {
67
+ return (React.createElement("div", { className: classes.actions },
68
+ React.createElement(Button, { title: 'Previous month', variant: 'secondary', size: 'small', onClick: () => switchMonth(-1) },
69
+ React.createElement(BackMinor16, null)),
70
+ React.createElement(Typography, { variant: 'heading', size: 'medium' }, format(headerActiveMonth, 'MMMM y')),
71
+ React.createElement(Button, { title: 'Next month', variant: 'secondary', size: 'small', onClick: () => switchMonth(1) },
72
+ React.createElement(ChevronMinor16, null))));
73
+ }, renderDaysOfWeek: ({ children }) => {
74
+ return React.createElement("div", { className: classes.weekDays }, children);
75
+ }, renderDayOfWeek: ({ day, key }) => {
76
+ return (React.createElement("div", { key: key, className: classes.weekDay }, day));
77
+ }, renderWeek: ({ children }) => {
78
+ return React.createElement("div", { className: classes.week }, children);
79
+ }, activeMonth: activeMonth, mode: range ? 'range' : 'single', minDate: minDate, maxDate: maxDate, disabledIntervals: disabledIntervals, getNoticeContent: () => null, weekStartsOn: weekStartsOn })));
80
+ });
81
+ Calendar.defaultProps = {
82
+ range: false
83
+ };
84
+ Calendar.displayName = 'Calendar';
85
+ export default Calendar;
86
+ //# sourceMappingURL=Calendar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Calendar.js","sourceRoot":"","sources":["../../src/Calendar/Calendar.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { default } from './Calendar';
2
+ export * from './Calendar';
@@ -0,0 +1,3 @@
1
+ export { default } from './Calendar';
2
+ export * from './Calendar';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Calendar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,cAAc,YAAY,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { Theme } from '@material-ui/core/styles';
2
+ declare const _default: ({ palette, shadows }: Theme) => import("@material-ui/styles").StyleRules<{}, "disabled" | "root" | "selected" | "month" | "week" | "day" | "weekDays" | "weekDay" | "actions" | "selectable" | "startSelection" | "endSelection" | "today" | "grayed">;
3
+ export default _default;
@@ -0,0 +1,97 @@
1
+ import { createStyles } from '@material-ui/core/styles';
2
+ import { alpha, rem } from '@toptal/picasso-shared';
3
+ export default ({ palette, shadows }) => createStyles({
4
+ root: {
5
+ padding: '1.875em',
6
+ color: palette.grey.darker,
7
+ display: 'flex',
8
+ flexDirection: 'column',
9
+ flexBasis: '20.5rem',
10
+ maxWidth: '20.5rem',
11
+ boxShadow: shadows[2],
12
+ backgroundColor: palette.common.white
13
+ },
14
+ month: {},
15
+ week: {
16
+ display: 'flex'
17
+ },
18
+ day: {
19
+ height: '2.5rem',
20
+ width: '2.5rem',
21
+ minWidth: '2.5rem',
22
+ verticalAlign: 'middle',
23
+ fontSize: '0.75rem',
24
+ userSelect: 'none',
25
+ display: 'flex',
26
+ alignItems: 'center',
27
+ justifyContent: 'center',
28
+ background: palette.common.white,
29
+ position: 'relative',
30
+ margin: 0,
31
+ padding: 0,
32
+ border: 'none',
33
+ outline: 0
34
+ },
35
+ weekDays: {
36
+ display: 'flex',
37
+ textAlign: 'center',
38
+ fontSize: '0.75em',
39
+ textTransform: 'uppercase',
40
+ color: palette.grey.main2,
41
+ paddingBottom: rem('11px')
42
+ },
43
+ weekDay: {
44
+ flexBasis: '15%'
45
+ },
46
+ actions: {
47
+ display: 'flex',
48
+ justifyContent: 'space-between',
49
+ marginBottom: '1.5rem'
50
+ },
51
+ selected: {
52
+ background: palette.blue.lighter
53
+ },
54
+ selectable: {
55
+ cursor: 'pointer',
56
+ '&:hover, &:focus': {
57
+ backgroundColor: alpha(palette.blue.main, 0.24)
58
+ },
59
+ '&$startSelection:hover, &$endSelection:hover': {
60
+ backgroundColor: palette.blue.main
61
+ }
62
+ },
63
+ startSelection: {
64
+ backgroundColor: palette.blue.main,
65
+ color: palette.common.white,
66
+ '&$today:after': {
67
+ backgroundColor: palette.common.white
68
+ }
69
+ },
70
+ endSelection: {
71
+ backgroundColor: palette.blue.main,
72
+ color: palette.common.white,
73
+ '&$today:after': {
74
+ backgroundColor: palette.common.white
75
+ }
76
+ },
77
+ today: {
78
+ display: 'flex',
79
+ flexDirection: 'column',
80
+ '&:after': {
81
+ content: '""',
82
+ height: '0.25rem',
83
+ width: '0.25rem',
84
+ borderRadius: '50%',
85
+ background: palette.blue.main,
86
+ position: 'absolute',
87
+ bottom: '0.375rem'
88
+ }
89
+ },
90
+ grayed: {
91
+ color: palette.grey.main2
92
+ },
93
+ disabled: {
94
+ color: palette.grey.main
95
+ }
96
+ });
97
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/Calendar/styles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import { ReactNode } from 'react';
2
+ export interface DayProps {
3
+ isDisabled: boolean;
4
+ isSelected: boolean;
5
+ isSelectable: boolean;
6
+ isToday: boolean;
7
+ isMonthNext: boolean;
8
+ isMonthPrev: boolean;
9
+ isSelectionStart: boolean;
10
+ isSelectionEnd: boolean;
11
+ handleOnClick: () => void;
12
+ handleOnEnter: () => void;
13
+ date: Date;
14
+ ISODate: string;
15
+ getDayFormatted: (date: Date) => string;
16
+ key?: string;
17
+ children?: ReactNode;
18
+ }
19
+ export interface MonthHeaderProps {
20
+ switchMonth: (diff: number) => void;
21
+ activeMonth: Date;
22
+ }
23
+ export interface WeekProps {
24
+ children?: ReactNode;
25
+ }
26
+ export interface DayOfWeekProps {
27
+ day: string;
28
+ key: string;
29
+ children?: ReactNode;
30
+ }
31
+ export interface DaysOfWeekProps {
32
+ children?: ReactNode;
33
+ }
34
+ export interface CalendarProps {
35
+ children?: ReactNode;
36
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/Calendar/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,62 @@
1
+ import { BaseProps } from '@toptal/picasso-shared';
2
+ import { ReactNode } from 'react';
3
+ import { InputProps } from '../Input';
4
+ import { DayProps } from '../Calendar';
5
+ import { DatePickerValue, DatePickerInputCustomValueParser } from './types';
6
+ export interface Props extends BaseProps, Omit<InputProps, 'value' | 'onSelect' | 'type' | 'multiline' | 'rows' | 'defaultValue' | 'onChange' | 'testIds'> {
7
+ /** Date that will be selected in `DatePicker` */
8
+ value?: DatePickerValue;
9
+ /** Method that will be invoked with selected values */
10
+ onChange: (value: DatePickerValue) => void;
11
+ /** Invoked when user goes away from `DatePicker` input */
12
+ onBlur?: () => void;
13
+ /** Whether calendar supports single date selection or range */
14
+ range?: boolean;
15
+ /** Earliest date available for selection */
16
+ minDate?: Date;
17
+ /** Latest date available for selection */
18
+ maxDate?: Date;
19
+ /** Whether calendar should be closed after date selection. True by default */
20
+ hideOnSelect?: boolean;
21
+ /** Date format that user will see in the input */
22
+ displayDateFormat?: string;
23
+ /** Date range where selection is not allowed */
24
+ disabledIntervals?: {
25
+ start: Date;
26
+ end: Date;
27
+ }[];
28
+ /** Date format that user will see during manual input */
29
+ editDateFormat?: string;
30
+ /** Specify icon which should be rendered inside `DatePicker` */
31
+ icon?: ReactNode;
32
+ /** Specify a value if want to enable browser autofill */
33
+ autoComplete?: string;
34
+ /** Indicate whether `DatePicker`'s input is in error state */
35
+ error?: boolean;
36
+ /** Function to override default markup to show Date */
37
+ renderDay?: (args: DayProps) => ReactNode;
38
+ popperContainer?: HTMLElement;
39
+ /** Index of the first day of the week (0 - Sunday). Default is 1 - Monday */
40
+ weekStartsOn?: number;
41
+ /** IANA timezone to display and edit date(s) */
42
+ timezone?: string;
43
+ /** Custom parser for `DatePicker`'s input value to process custom input value, like, human-readable dates */
44
+ parseInputValue?: DatePickerInputCustomValueParser;
45
+ testIds?: InputProps['testIds'] & {
46
+ calendar?: string;
47
+ input?: string;
48
+ };
49
+ }
50
+ export declare const DatePicker: {
51
+ (props: Props): JSX.Element;
52
+ defaultProps: {
53
+ range: boolean;
54
+ hideOnSelect: boolean;
55
+ onBlur: () => void;
56
+ editDateFormat: string;
57
+ displayDateFormat: string;
58
+ autoComplete: string;
59
+ };
60
+ displayName: string;
61
+ };
62
+ export default DatePicker;
@@ -0,0 +1,198 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ /* eslint-disable max-lines-per-function, max-lines */
13
+ /* eslint-disable complexity, max-statements */ // Squiggly lines makes code difficult to work with
14
+ import { makeStyles } from '@material-ui/core/styles';
15
+ import { Calendar16 } from '@toptal/picasso/Icon';
16
+ import formatDate from 'date-fns/format';
17
+ import React, { useCallback, useLayoutEffect, useMemo, useRef, useState } from 'react';
18
+ import Popper from '../Popper';
19
+ import Container from '../Container';
20
+ import Input from '../Input';
21
+ import InputAdornment from '../InputAdornment';
22
+ import { noop } from '../utils';
23
+ import Calendar from '../Calendar';
24
+ import { DEFAULT_DATE_PICKER_DISPLAY_DATE_FORMAT, DEFAULT_DATE_PICKER_EDIT_DATE_FORMAT, DEFAULT_POPPER_OPTIONS } from './constants';
25
+ import styles from './styles';
26
+ import { formatDateRange, datePickerParseDateString, timezoneConvert, timezoneFormat, getStartOfTheDayDate } from './utils';
27
+ const EMPTY_INPUT_VALUE = '';
28
+ const useStyles = makeStyles(styles, {
29
+ name: 'PicassoDatePicker'
30
+ });
31
+ export const DatePicker = (props) => {
32
+ const { range, hideOnSelect, displayDateFormat = DEFAULT_DATE_PICKER_DISPLAY_DATE_FORMAT, editDateFormat = DEFAULT_DATE_PICKER_EDIT_DATE_FORMAT, onBlur = noop, onChange, onResetClick, value, width, icon, minDate, maxDate, disabledIntervals, popperContainer, renderDay, weekStartsOn, timezone, size, parseInputValue, testIds } = props, rest = __rest(props, ["range", "hideOnSelect", "displayDateFormat", "editDateFormat", "onBlur", "onChange", "onResetClick", "value", "width", "icon", "minDate", "maxDate", "disabledIntervals", "popperContainer", "renderDay", "weekStartsOn", "timezone", "size", "parseInputValue", "testIds"]);
33
+ const classes = useStyles();
34
+ const inputProps = rest;
35
+ const [calendarIsShown, setCalendarIsShown] = useState(false);
36
+ const [isInputFocused, setIsInputFocused] = useState(false);
37
+ const [inputValue, setInputValue] = useState(EMPTY_INPUT_VALUE);
38
+ const [calendarValue, setCalendarValue] = useState(null);
39
+ const [normalizedMinDate, normalizedMaxDate] = useMemo(() => {
40
+ return [getStartOfTheDayDate(minDate), getStartOfTheDayDate(maxDate)];
41
+ }, [minDate, maxDate]);
42
+ const hideCalendar = () => setCalendarIsShown(false);
43
+ const showCalendar = () => setCalendarIsShown(true);
44
+ const inputRef = useRef(null);
45
+ const popperRef = useRef(null);
46
+ const calendarRef = useRef(null);
47
+ const inputWrapperRef = useRef(null);
48
+ // Active (visible) month of the calendar that required for manual entering of
49
+ // a single date
50
+ const activeMonth = calendarValue instanceof Date ? calendarValue : undefined;
51
+ // Format the input based on its 'focus' state
52
+ const formatInputValue = useCallback((valueToFormat) => {
53
+ return Array.isArray(valueToFormat)
54
+ ? formatDateRange(valueToFormat, displayDateFormat)
55
+ : formatDate(valueToFormat, isInputFocused ? editDateFormat : displayDateFormat);
56
+ }, [isInputFocused, editDateFormat, displayDateFormat]);
57
+ const updateInputValue = useCallback(({ preventUpdateOnFocus }) => {
58
+ if (preventUpdateOnFocus && isInputFocused) {
59
+ return;
60
+ }
61
+ setInputValue(() => {
62
+ if (!value) {
63
+ return EMPTY_INPUT_VALUE;
64
+ }
65
+ return formatInputValue(timezoneConvert(value, timezone));
66
+ });
67
+ }, [value, isInputFocused, timezone, formatInputValue]);
68
+ // Keep the input value in sync with date value update
69
+ // Updating on incoming date value or timezone change
70
+ // Should not update when input is focused to prevent overriding it's value
71
+ useLayoutEffect(() => {
72
+ updateInputValue({ preventUpdateOnFocus: true });
73
+ }, [value, timezone]);
74
+ // Keep the input format in sync with its 'focus' state
75
+ // Updating on input focus state change
76
+ useLayoutEffect(() => {
77
+ updateInputValue({ preventUpdateOnFocus: false });
78
+ }, [isInputFocused]);
79
+ // Keep the calendar in sync with the input value
80
+ useLayoutEffect(() => {
81
+ setCalendarValue(() => {
82
+ if (!value) {
83
+ return null;
84
+ }
85
+ return timezoneConvert(value, timezone);
86
+ });
87
+ }, [value, timezone]);
88
+ const isInsideDatePicker = (node) => {
89
+ var _a, _b;
90
+ return (((_a = popperRef.current) === null || _a === void 0 ? void 0 : _a.popper.contains(node)) ||
91
+ ((_b = inputWrapperRef.current) === null || _b === void 0 ? void 0 : _b.contains(node)));
92
+ };
93
+ const handleBlur = (event) => {
94
+ const isFocusedInsideDatePicker = isInsideDatePicker((event.relatedTarget || document.activeElement));
95
+ if (isFocusedInsideDatePicker) {
96
+ return;
97
+ }
98
+ hideCalendar();
99
+ onBlur();
100
+ setIsInputFocused(false);
101
+ };
102
+ const handleInputChange = (e) => {
103
+ const nextValue = e.target.value;
104
+ // TODO: change this if manual entering of range is needed
105
+ if (range && nextValue) {
106
+ return;
107
+ }
108
+ // TODO: add char filtering (only number , `-` or ` ` allowed) in case if `parseInputValue` is not set
109
+ setInputValue(nextValue);
110
+ if (!nextValue) {
111
+ return onChange(null);
112
+ }
113
+ const parsedInputDate = datePickerParseDateString(nextValue, {
114
+ customParser: parseInputValue,
115
+ dateFormat: editDateFormat,
116
+ timezone,
117
+ minDate: normalizedMinDate,
118
+ maxDate: normalizedMaxDate
119
+ });
120
+ if (parsedInputDate) {
121
+ onChange(parsedInputDate);
122
+ }
123
+ };
124
+ const focus = () => {
125
+ if (inputRef && inputRef.current) {
126
+ inputRef.current.focus();
127
+ }
128
+ };
129
+ const handleCalendarChange = (nextValue) => {
130
+ const nextTimezoneValue = Array.isArray(nextValue)
131
+ ? nextValue.map((date) => timezoneFormat(date, timezone))
132
+ : timezoneFormat(nextValue, timezone);
133
+ onChange(nextTimezoneValue);
134
+ setInputValue(formatInputValue(nextValue));
135
+ setCalendarValue(nextTimezoneValue);
136
+ if (hideOnSelect) {
137
+ focus();
138
+ hideCalendar();
139
+ }
140
+ };
141
+ const handleInputKeydown = (event) => {
142
+ var _a;
143
+ const key = event.key;
144
+ if (key === 'Escape') {
145
+ hideCalendar();
146
+ event.currentTarget.blur();
147
+ return;
148
+ }
149
+ if (key === 'Enter') {
150
+ if (!calendarIsShown) {
151
+ showCalendar();
152
+ }
153
+ else {
154
+ hideCalendar();
155
+ }
156
+ return;
157
+ }
158
+ if (key === 'Tab' && calendarIsShown) {
159
+ event.preventDefault();
160
+ event.stopPropagation();
161
+ if (!calendarIsShown) {
162
+ event.currentTarget.blur();
163
+ }
164
+ else {
165
+ // TODO: Manage this whole logic inside simple-react-calendar
166
+ const firstButton = (_a = calendarRef.current) === null || _a === void 0 ? void 0 : _a.querySelector('button:not([tabindex="-1"])');
167
+ if (firstButton) {
168
+ firstButton.focus();
169
+ }
170
+ }
171
+ }
172
+ };
173
+ const handleFocusOrClick = () => {
174
+ showCalendar();
175
+ setIsInputFocused(true);
176
+ };
177
+ const handleResetClick = (event) => {
178
+ setInputValue(EMPTY_INPUT_VALUE);
179
+ onResetClick === null || onResetClick === void 0 ? void 0 : onResetClick(event);
180
+ };
181
+ const startAdornment = size !== 'small' ? (React.createElement(InputAdornment, { position: 'start', disablePointerEvents: true }, icon || React.createElement(Calendar16, null))) : undefined;
182
+ return (React.createElement(React.Fragment, null,
183
+ React.createElement(Container, { inline: width !== 'full', ref: inputWrapperRef },
184
+ React.createElement(Input, Object.assign({}, inputProps, { ref: inputRef, onKeyDown: handleInputKeydown, onClick: handleFocusOrClick, onFocus: handleFocusOrClick, onBlur: handleBlur, onResetClick: handleResetClick, value: inputValue, onChange: handleInputChange, size: size, startAdornment: startAdornment, width: width, testIds: testIds, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.input }))),
185
+ inputWrapperRef.current && (React.createElement(Popper, { placement: 'bottom-start', open: calendarIsShown, anchorEl: inputWrapperRef.current, autoWidth: false, enableCompactMode: true, container: popperContainer, popperOptions: DEFAULT_POPPER_OPTIONS, ref: popperRef },
186
+ React.createElement(Calendar, { activeMonth: activeMonth, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.calendar, ref: calendarRef, range: range, value: calendarValue !== null && calendarValue !== void 0 ? calendarValue : undefined, minDate: normalizedMinDate, maxDate: normalizedMaxDate, disabledIntervals: disabledIntervals, renderDay: renderDay, onChange: handleCalendarChange, onBlur: handleBlur, className: classes.calendar, weekStartsOn: weekStartsOn })))));
187
+ };
188
+ DatePicker.defaultProps = {
189
+ range: false,
190
+ hideOnSelect: true,
191
+ onBlur: noop,
192
+ editDateFormat: 'MM-dd-yyyy',
193
+ displayDateFormat: 'MMM d, yyyy',
194
+ autoComplete: 'off'
195
+ };
196
+ DatePicker.displayName = 'DatePicker';
197
+ export default DatePicker;
198
+ //# sourceMappingURL=DatePicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatePicker.js","sourceRoot":"","sources":["../../src/DatePicker/DatePicker.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export declare const DEFAULT_DATE_PICKER_EDIT_DATE_FORMAT = "MM-dd-yyyy";
2
+ export declare const DEFAULT_DATE_PICKER_DISPLAY_DATE_FORMAT = "MMM d, yyyy";
3
+ export declare const DEFAULT_POPPER_OPTIONS: {
4
+ modifiers: {
5
+ hide: {
6
+ enabled: boolean;
7
+ };
8
+ preventOverflow: {
9
+ enabled: boolean;
10
+ };
11
+ };
12
+ };
@@ -0,0 +1,13 @@
1
+ export const DEFAULT_DATE_PICKER_EDIT_DATE_FORMAT = 'MM-dd-yyyy';
2
+ export const DEFAULT_DATE_PICKER_DISPLAY_DATE_FORMAT = 'MMM d, yyyy';
3
+ export const DEFAULT_POPPER_OPTIONS = {
4
+ modifiers: {
5
+ hide: {
6
+ enabled: false
7
+ },
8
+ preventOverflow: {
9
+ enabled: false
10
+ }
11
+ }
12
+ };
13
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/DatePicker/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oCAAoC,GAAG,YAAY,CAAA;AAChE,MAAM,CAAC,MAAM,uCAAuC,GAAG,aAAa,CAAA;AACpE,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,SAAS,EAAE;QACT,IAAI,EAAE;YACJ,OAAO,EAAE,KAAK;SACf;QACD,eAAe,EAAE;YACf,OAAO,EAAE,KAAK;SACf;KACF;CACF,CAAA"}
@@ -0,0 +1,5 @@
1
+ export { default } from './DatePicker';
2
+ export type { Props as DatePickerProps } from './DatePicker';
3
+ export type { DatePickerValue, DatePickerInputCustomValueParser, DatePickerInputCustomValueParserParameters } from './types';
4
+ export { datePickerParseDateString } from './utils';
5
+ export { DEFAULT_DATE_PICKER_EDIT_DATE_FORMAT, DEFAULT_DATE_PICKER_DISPLAY_DATE_FORMAT } from './constants';
@@ -0,0 +1,4 @@
1
+ export { default } from './DatePicker';
2
+ export { datePickerParseDateString } from './utils';
3
+ export { DEFAULT_DATE_PICKER_EDIT_DATE_FORMAT, DEFAULT_DATE_PICKER_DISPLAY_DATE_FORMAT } from './constants';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/DatePicker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAGtC,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AACnD,OAAO,EAAE,oCAAoC,EAAE,uCAAuC,EAAE,MAAM,aAAa,CAAA"}
@@ -0,0 +1,2 @@
1
+ declare const _default: () => import("@material-ui/styles").StyleRules<{}, "calendar">;
2
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import { createStyles } from '@material-ui/core/styles';
2
+ export default () => createStyles({
3
+ calendar: {
4
+ outline: 'none'
5
+ }
6
+ });
7
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/DatePicker/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD,eAAe,GAAG,EAAE,CAClB,YAAY,CAAC;IACX,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM;KAChB;CACF,CAAC,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { DateOrDateRangeType } from '../Calendar';
2
+ export declare type DatePickerValue = DateOrDateRangeType | null;
3
+ export declare type DatePickerInputValueParserParameters = {
4
+ customParser?: DatePickerInputCustomValueParser;
5
+ dateFormat: string;
6
+ minDate?: Date;
7
+ maxDate?: Date;
8
+ timezone?: string;
9
+ };
10
+ export declare type DatePickerInputCustomValueParserParameters = {
11
+ timezone?: string;
12
+ };
13
+ export declare type DatePickerInputCustomValueParser = (value: string, params: DatePickerInputCustomValueParserParameters) => Date | null | undefined;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map