@zendeskgarden/react-datepickers 9.0.0-next.2 → 9.0.0-next.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/esm/elements/DatePicker/DatePicker.js +169 -0
- package/dist/esm/elements/DatePicker/components/Calendar.js +125 -0
- package/dist/esm/elements/DatePicker/components/Input.js +75 -0
- package/dist/esm/elements/DatePicker/components/MonthSelector.js +61 -0
- package/dist/esm/elements/DatePicker/utils/date-picker-reducer.js +187 -0
- package/dist/esm/elements/DatePicker/utils/useDatePickerContext.js +14 -0
- package/dist/esm/elements/DatePickerRange/DatePickerRange.js +101 -0
- package/dist/esm/elements/DatePickerRange/components/Calendar.js +42 -0
- package/dist/esm/elements/DatePickerRange/components/End.js +79 -0
- package/dist/esm/elements/DatePickerRange/components/Month.js +270 -0
- package/dist/esm/elements/DatePickerRange/components/Start.js +79 -0
- package/dist/esm/elements/DatePickerRange/utils/date-picker-range-reducer.js +319 -0
- package/dist/esm/elements/DatePickerRange/utils/useDatePickerRangeContext.js +14 -0
- package/dist/esm/index.js +8 -0
- package/dist/esm/node_modules/@zendeskgarden/svg-icons/src/16/chevron-left-stroke.svg.js +25 -0
- package/dist/esm/node_modules/@zendeskgarden/svg-icons/src/16/chevron-right-stroke.svg.js +25 -0
- package/dist/esm/styled/StyledCalendar.js +22 -0
- package/dist/esm/styled/StyledCalendarItem.js +35 -0
- package/dist/esm/styled/StyledDatePicker.js +40 -0
- package/dist/esm/styled/StyledDay.js +95 -0
- package/dist/esm/styled/StyledDayLabel.js +22 -0
- package/dist/esm/styled/StyledHeader.js +22 -0
- package/dist/esm/styled/StyledHeaderLabel.js +22 -0
- package/dist/esm/styled/StyledHeaderPaddle.js +71 -0
- package/dist/esm/styled/StyledHighlight.js +56 -0
- package/dist/esm/styled/StyledMenu.js +22 -0
- package/dist/esm/styled/StyledMenuWrapper.js +29 -0
- package/dist/esm/styled/StyledRangeCalendar.js +23 -0
- package/dist/esm/types/index.js +12 -0
- package/dist/esm/utils/calendar-utils.js +88 -0
- package/dist/index.cjs.js +240 -156
- package/dist/typings/elements/DatePicker/utils/date-picker-reducer.d.ts +4 -4
- package/dist/typings/elements/DatePickerRange/utils/date-picker-range-reducer.d.ts +4 -4
- package/dist/typings/styled/StyledCalendar.d.ts +3 -2
- package/dist/typings/styled/StyledCalendarItem.d.ts +4 -3
- package/dist/typings/styled/StyledDatePicker.d.ts +3 -2
- package/dist/typings/styled/StyledDay.d.ts +5 -5
- package/dist/typings/styled/StyledDayLabel.d.ts +3 -2
- package/dist/typings/styled/StyledHeader.d.ts +3 -2
- package/dist/typings/styled/StyledHeaderLabel.d.ts +3 -2
- package/dist/typings/styled/StyledHeaderPaddle.d.ts +7 -4
- package/dist/typings/styled/StyledHighlight.d.ts +5 -4
- package/dist/typings/styled/StyledMenuWrapper.d.ts +4 -4
- package/dist/typings/styled/StyledRangeCalendar.d.ts +2 -1
- package/package.json +8 -8
- package/dist/index.esm.js +0 -1683
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Zendesk, Inc.
|
|
3
|
+
*
|
|
4
|
+
* Use of this source code is governed under the Apache License, Version 2.0
|
|
5
|
+
* found at http://www.apache.org/licenses/LICENSE-2.0.
|
|
6
|
+
*/
|
|
7
|
+
import styled, { css } from 'styled-components';
|
|
8
|
+
import { retrieveComponentStyles, DEFAULT_THEME, getColor } from '@zendeskgarden/react-theming';
|
|
9
|
+
|
|
10
|
+
const sizeStyles = _ref => {
|
|
11
|
+
let {
|
|
12
|
+
$isCompact,
|
|
13
|
+
theme
|
|
14
|
+
} = _ref;
|
|
15
|
+
const iconSize = theme.iconSizes.md;
|
|
16
|
+
const size = theme.space.base * ($isCompact ? 8 : 10);
|
|
17
|
+
return css(["width:", "px;height:", "px;svg{width:", ";height:", ";}"], size, size, iconSize, iconSize);
|
|
18
|
+
};
|
|
19
|
+
const colorStyles = _ref2 => {
|
|
20
|
+
let {
|
|
21
|
+
theme
|
|
22
|
+
} = _ref2;
|
|
23
|
+
const foreground = getColor({
|
|
24
|
+
variable: 'foreground.subtle',
|
|
25
|
+
theme
|
|
26
|
+
});
|
|
27
|
+
const foregroundHover = getColor({
|
|
28
|
+
variable: 'foreground.subtle',
|
|
29
|
+
light: {
|
|
30
|
+
offset: 100
|
|
31
|
+
},
|
|
32
|
+
dark: {
|
|
33
|
+
offset: -100
|
|
34
|
+
},
|
|
35
|
+
theme
|
|
36
|
+
});
|
|
37
|
+
const backgroundHover = getColor({
|
|
38
|
+
variable: 'background.primaryEmphasis',
|
|
39
|
+
theme,
|
|
40
|
+
transparency: theme.opacity[100]
|
|
41
|
+
});
|
|
42
|
+
const foregroundActive = getColor({
|
|
43
|
+
variable: 'foreground.subtle',
|
|
44
|
+
light: {
|
|
45
|
+
offset: 200
|
|
46
|
+
},
|
|
47
|
+
dark: {
|
|
48
|
+
offset: -200
|
|
49
|
+
},
|
|
50
|
+
theme
|
|
51
|
+
});
|
|
52
|
+
const backgroundActive = getColor({
|
|
53
|
+
variable: 'background.primaryEmphasis',
|
|
54
|
+
theme,
|
|
55
|
+
transparency: theme.opacity[200]
|
|
56
|
+
});
|
|
57
|
+
return css(["color:", ";:hover{background-color:", ";color:", ";}:active{background-color:", ";color:", ";}"], foreground, backgroundHover, foregroundHover, backgroundActive, foregroundActive);
|
|
58
|
+
};
|
|
59
|
+
const COMPONENT_ID = 'datepickers.header_paddle';
|
|
60
|
+
const StyledHeaderPaddle = styled.div.attrs({
|
|
61
|
+
'data-garden-id': COMPONENT_ID,
|
|
62
|
+
'data-garden-version': '9.0.0-next.21'
|
|
63
|
+
}).withConfig({
|
|
64
|
+
displayName: "StyledHeaderPaddle",
|
|
65
|
+
componentId: "sc-2oqh0g-0"
|
|
66
|
+
})(["display:flex;align-items:center;justify-content:center;transform:", ";border-radius:50%;cursor:pointer;&[aria-hidden]{visibility:hidden;}", " ", " ", ";"], props => props.theme.rtl && 'rotate(180deg)', sizeStyles, colorStyles, props => retrieveComponentStyles(COMPONENT_ID, props));
|
|
67
|
+
StyledHeaderPaddle.defaultProps = {
|
|
68
|
+
theme: DEFAULT_THEME
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export { StyledHeaderPaddle };
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Zendesk, Inc.
|
|
3
|
+
*
|
|
4
|
+
* Use of this source code is governed under the Apache License, Version 2.0
|
|
5
|
+
* found at http://www.apache.org/licenses/LICENSE-2.0.
|
|
6
|
+
*/
|
|
7
|
+
import styled, { css } from 'styled-components';
|
|
8
|
+
import { retrieveComponentStyles, DEFAULT_THEME, getColor } from '@zendeskgarden/react-theming';
|
|
9
|
+
|
|
10
|
+
const COMPONENT_ID = 'datepickers.highlight';
|
|
11
|
+
const sizeStyles = _ref => {
|
|
12
|
+
let {
|
|
13
|
+
theme,
|
|
14
|
+
$isEnd,
|
|
15
|
+
$isStart
|
|
16
|
+
} = _ref;
|
|
17
|
+
let borderRadius;
|
|
18
|
+
const startValue = '0 50% 50% 0;';
|
|
19
|
+
const endValue = '50% 0 0 50%;';
|
|
20
|
+
if (theme.rtl) {
|
|
21
|
+
if ($isStart) {
|
|
22
|
+
borderRadius = startValue;
|
|
23
|
+
} else if ($isEnd) {
|
|
24
|
+
borderRadius = endValue;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
if ($isStart) {
|
|
28
|
+
borderRadius = endValue;
|
|
29
|
+
} else if ($isEnd) {
|
|
30
|
+
borderRadius = startValue;
|
|
31
|
+
}
|
|
32
|
+
return css(["border-radius:", ";width:100%;height:100%;"], borderRadius);
|
|
33
|
+
};
|
|
34
|
+
const colorStyles = _ref2 => {
|
|
35
|
+
let {
|
|
36
|
+
$isHighlighted,
|
|
37
|
+
theme
|
|
38
|
+
} = _ref2;
|
|
39
|
+
return css(["background-color:", ";"], $isHighlighted && getColor({
|
|
40
|
+
variable: 'background.primaryEmphasis',
|
|
41
|
+
transparency: theme.opacity[100],
|
|
42
|
+
theme
|
|
43
|
+
}));
|
|
44
|
+
};
|
|
45
|
+
const StyledHighlight = styled.div.attrs({
|
|
46
|
+
'data-garden-id': COMPONENT_ID,
|
|
47
|
+
'data-garden-version': '9.0.0-next.21'
|
|
48
|
+
}).withConfig({
|
|
49
|
+
displayName: "StyledHighlight",
|
|
50
|
+
componentId: "sc-16vr32x-0"
|
|
51
|
+
})(["position:absolute;top:0;left:0;", " ", " ", ";"], sizeStyles, colorStyles, props => retrieveComponentStyles(COMPONENT_ID, props));
|
|
52
|
+
StyledHighlight.defaultProps = {
|
|
53
|
+
theme: DEFAULT_THEME
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export { StyledHighlight };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Zendesk, Inc.
|
|
3
|
+
*
|
|
4
|
+
* Use of this source code is governed under the Apache License, Version 2.0
|
|
5
|
+
* found at http://www.apache.org/licenses/LICENSE-2.0.
|
|
6
|
+
*/
|
|
7
|
+
import styled from 'styled-components';
|
|
8
|
+
import { retrieveComponentStyles, DEFAULT_THEME } from '@zendeskgarden/react-theming';
|
|
9
|
+
|
|
10
|
+
const COMPONENT_ID = 'datepickers.menu';
|
|
11
|
+
const StyledMenu = styled.div.attrs({
|
|
12
|
+
'data-garden-id': COMPONENT_ID,
|
|
13
|
+
'data-garden-version': '9.0.0-next.21'
|
|
14
|
+
}).withConfig({
|
|
15
|
+
displayName: "StyledMenu",
|
|
16
|
+
componentId: "sc-1npbkk0-0"
|
|
17
|
+
})(["", ";"], props => retrieveComponentStyles(COMPONENT_ID, props));
|
|
18
|
+
StyledMenu.defaultProps = {
|
|
19
|
+
theme: DEFAULT_THEME
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export { StyledMenu };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Zendesk, Inc.
|
|
3
|
+
*
|
|
4
|
+
* Use of this source code is governed under the Apache License, Version 2.0
|
|
5
|
+
* found at http://www.apache.org/licenses/LICENSE-2.0.
|
|
6
|
+
*/
|
|
7
|
+
import styled from 'styled-components';
|
|
8
|
+
import { menuStyles, getMenuPosition, retrieveComponentStyles, DEFAULT_THEME } from '@zendeskgarden/react-theming';
|
|
9
|
+
|
|
10
|
+
const COMPONENT_ID = 'datepickers.menu_wrapper';
|
|
11
|
+
const StyledMenuWrapper = styled.div.attrs(props => ({
|
|
12
|
+
'data-garden-id': COMPONENT_ID,
|
|
13
|
+
'data-garden-version': '9.0.0-next.21',
|
|
14
|
+
className: props.$isAnimated && 'is-animated'
|
|
15
|
+
})).withConfig({
|
|
16
|
+
displayName: "StyledMenuWrapper",
|
|
17
|
+
componentId: "sc-6fowoz-0"
|
|
18
|
+
})(["top:0;left:0;", ";", ";"], props => menuStyles(getMenuPosition(props.$placement), {
|
|
19
|
+
theme: props.theme,
|
|
20
|
+
hidden: props['aria-hidden'],
|
|
21
|
+
margin: `${props.theme.space.base}px`,
|
|
22
|
+
zIndex: props.$zIndex,
|
|
23
|
+
animationModifier: props.$isAnimated ? '.is-animated' : undefined
|
|
24
|
+
}), props => retrieveComponentStyles(COMPONENT_ID, props));
|
|
25
|
+
StyledMenuWrapper.defaultProps = {
|
|
26
|
+
theme: DEFAULT_THEME
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export { StyledMenuWrapper };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Zendesk, Inc.
|
|
3
|
+
*
|
|
4
|
+
* Use of this source code is governed under the Apache License, Version 2.0
|
|
5
|
+
* found at http://www.apache.org/licenses/LICENSE-2.0.
|
|
6
|
+
*/
|
|
7
|
+
import styled from 'styled-components';
|
|
8
|
+
import { StyledDatePicker } from './StyledDatePicker.js';
|
|
9
|
+
import { retrieveComponentStyles, DEFAULT_THEME } from '@zendeskgarden/react-theming';
|
|
10
|
+
|
|
11
|
+
const COMPONENT_ID = 'datepickers.range_calendar';
|
|
12
|
+
const StyledRangeCalendar = styled.div.attrs({
|
|
13
|
+
'data-garden-id': COMPONENT_ID,
|
|
14
|
+
'data-garden-version': '9.0.0-next.21'
|
|
15
|
+
}).withConfig({
|
|
16
|
+
displayName: "StyledRangeCalendar",
|
|
17
|
+
componentId: "sc-1og46sy-0"
|
|
18
|
+
})(["display:flex;overflow:auto;", "{margin:0;", "}", ";"], StyledDatePicker, props => props.theme.rtl ? `&:last-of-type {margin-right: ${props.theme.space.base * 5}px}` : `&:first-of-type {margin-right: ${props.theme.space.base * 5}px}`, props => retrieveComponentStyles(COMPONENT_ID, props));
|
|
19
|
+
StyledRangeCalendar.defaultProps = {
|
|
20
|
+
theme: DEFAULT_THEME
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export { StyledRangeCalendar };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Zendesk, Inc.
|
|
3
|
+
*
|
|
4
|
+
* Use of this source code is governed under the Apache License, Version 2.0
|
|
5
|
+
* found at http://www.apache.org/licenses/LICENSE-2.0.
|
|
6
|
+
*/
|
|
7
|
+
import { PLACEMENT as PLACEMENT$1 } from '@zendeskgarden/react-theming';
|
|
8
|
+
|
|
9
|
+
const WEEK_STARTS_ON = [0, 1, 2, 3, 4, 5, 6];
|
|
10
|
+
const PLACEMENT = ['auto', ...PLACEMENT$1];
|
|
11
|
+
|
|
12
|
+
export { PLACEMENT, WEEK_STARTS_ON };
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Zendesk, Inc.
|
|
3
|
+
*
|
|
4
|
+
* Use of this source code is governed under the Apache License, Version 2.0
|
|
5
|
+
* found at http://www.apache.org/licenses/LICENSE-2.0.
|
|
6
|
+
*/
|
|
7
|
+
const REGION_MAPPINGS = {
|
|
8
|
+
'ar-DZ': 0,
|
|
9
|
+
'ar-SA': 0,
|
|
10
|
+
'en-CA': 0,
|
|
11
|
+
'en-GB': 1,
|
|
12
|
+
'en-US': 0,
|
|
13
|
+
'fa-IR': 0,
|
|
14
|
+
'fr-CH': 1,
|
|
15
|
+
'nl-BE': 1,
|
|
16
|
+
'pt-BR': 0,
|
|
17
|
+
'zh-CN': 1,
|
|
18
|
+
'zh-TW': 1
|
|
19
|
+
};
|
|
20
|
+
const LANGUAGE_MAPPINGS = {
|
|
21
|
+
af: 0,
|
|
22
|
+
ar: 6,
|
|
23
|
+
be: 1,
|
|
24
|
+
bg: 1,
|
|
25
|
+
bn: 0,
|
|
26
|
+
ca: 1,
|
|
27
|
+
cs: 1,
|
|
28
|
+
da: 1,
|
|
29
|
+
de: 1,
|
|
30
|
+
el: 1,
|
|
31
|
+
en: 0,
|
|
32
|
+
eo: 1,
|
|
33
|
+
es: 1,
|
|
34
|
+
et: 1,
|
|
35
|
+
fa: 0,
|
|
36
|
+
fi: 1,
|
|
37
|
+
fil: 0,
|
|
38
|
+
fr: 1,
|
|
39
|
+
gl: 1,
|
|
40
|
+
he: 0,
|
|
41
|
+
hr: 1,
|
|
42
|
+
hu: 1,
|
|
43
|
+
id: 1,
|
|
44
|
+
is: 1,
|
|
45
|
+
it: 1,
|
|
46
|
+
ja: 1,
|
|
47
|
+
ka: 1,
|
|
48
|
+
ko: 0,
|
|
49
|
+
lt: 1,
|
|
50
|
+
lv: 1,
|
|
51
|
+
mk: 1,
|
|
52
|
+
ms: 1,
|
|
53
|
+
nb: 1,
|
|
54
|
+
nl: 1,
|
|
55
|
+
nn: 1,
|
|
56
|
+
pl: 1,
|
|
57
|
+
pt: 0,
|
|
58
|
+
ro: 1,
|
|
59
|
+
ru: 1,
|
|
60
|
+
sk: 1,
|
|
61
|
+
sl: 1,
|
|
62
|
+
sr: 1,
|
|
63
|
+
sv: 1,
|
|
64
|
+
th: 1,
|
|
65
|
+
tr: 1,
|
|
66
|
+
ug: 0,
|
|
67
|
+
uk: 1,
|
|
68
|
+
vi: 1,
|
|
69
|
+
zh: 1
|
|
70
|
+
};
|
|
71
|
+
function getStartOfWeek(locale) {
|
|
72
|
+
if (!locale) {
|
|
73
|
+
return 0;
|
|
74
|
+
}
|
|
75
|
+
for (const region in REGION_MAPPINGS) {
|
|
76
|
+
if (locale.startsWith(region)) {
|
|
77
|
+
return REGION_MAPPINGS[region];
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
for (const language in LANGUAGE_MAPPINGS) {
|
|
81
|
+
if (locale.startsWith(language)) {
|
|
82
|
+
return LANGUAGE_MAPPINGS[language];
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return 0;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export { getStartOfWeek };
|