@drivy/cobalt 0.39.1 → 0.40.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.
- package/cjs/tokens/theme.js +171 -171
- package/components/Alerter/index.js.map +1 -1
- package/components/BasicCell/index.js.map +1 -1
- package/components/Buttons/helpers.js.map +1 -1
- package/components/Calendar/CalendarDayPicker/CalendarDayPicker.js.map +1 -1
- package/components/Calendar/CalendarDayPicker/CalendarDayPickerMonth.js.map +1 -1
- package/components/Calendar/CalendarRangePicker/CalendarRangePicker.js.map +1 -1
- package/components/Calendar/CalendarRangePicker/CalendarRangePickerMonth.js.map +1 -1
- package/components/Calendar/CalendarView/CalendarViewMonth.js.map +1 -1
- package/components/Calendar/utils.js.map +1 -1
- package/components/Chip/index.js.map +1 -1
- package/components/Form/Autocomplete/index.js.map +1 -1
- package/components/Form/Hint.js.map +1 -1
- package/components/Form/Stepper.js.map +1 -1
- package/components/Form/TextArea.js.map +1 -1
- package/components/Modal/index.js.map +1 -1
- package/components/PhotoDropzone/index.js.map +1 -1
- package/components/Rating/RatingIcons.js.map +1 -1
- package/components/Tabs/index.js.map +1 -1
- package/components/utils/Timer.js.map +1 -1
- package/components/utils/validateFile.js.map +1 -1
- package/hooks/useBreakpoint.js.map +1 -1
- package/hooks/useElementHeight.js.map +1 -1
- package/package.json +31 -32
- package/styles/components/Layout/{Layout.scss → Components/index.scss} +28 -13
- package/styles/components/Layout/Surfaces/index.scss +55 -0
- package/styles/components.scss +2 -1
- package/styles/core/palette.scss +0 -25
- package/styles/core/text.scss +1 -1
- package/tokens/theme.js +171 -171
- package/types/components/Layout/{LayoutCard.d.ts → Components/LayoutCard.d.ts} +2 -1
- package/types/components/Layout/{LayoutSection.d.ts → Components/LayoutSection.d.ts} +2 -1
- package/types/components/Layout/{LayoutStack.d.ts → Components/LayoutStack.d.ts} +4 -3
- package/types/components/Layout/Components/index.d.ts +4 -0
- package/types/components/Layout/Surfaces/index.d.ts +25 -0
- package/utilities.css +5 -30
- package/types/components/Layout/LayoutPageTitle.d.ts +0 -5
- /package/types/components/Layout/{LayoutSectionTitle.d.ts → Components/LayoutSectionTitle.d.ts} +0 -0
package/cjs/tokens/theme.js
CHANGED
|
@@ -3,253 +3,253 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const background = {
|
|
6
|
-
primary: "
|
|
7
|
-
secondary: "white/
|
|
6
|
+
primary: "white/black.500",
|
|
7
|
+
secondary: "white/black.300",
|
|
8
8
|
secondaryInteractive: {
|
|
9
|
-
DEFAULT: "white/
|
|
10
|
-
hover: "
|
|
9
|
+
DEFAULT: "white/black.300",
|
|
10
|
+
hover: "navy.50/black.300"
|
|
11
11
|
},
|
|
12
|
-
accent: "purple
|
|
12
|
+
accent: "purple.500/purpleDeep.400",
|
|
13
13
|
accentInteractive: {
|
|
14
|
-
DEFAULT: "purple
|
|
15
|
-
hover: "purple
|
|
14
|
+
DEFAULT: "purple.500/purpleDeep.400",
|
|
15
|
+
hover: "purple.700/purpleDeep.400"
|
|
16
16
|
},
|
|
17
|
-
accentAlt: "
|
|
17
|
+
accentAlt: "purple.100/purpleDeep.900",
|
|
18
18
|
accentAltInteractive: {
|
|
19
|
-
DEFAULT: "
|
|
20
|
-
hover: "
|
|
19
|
+
DEFAULT: "purple.100/purpleDeep.900",
|
|
20
|
+
hover: "purpleLight.100/purpleDeep.900"
|
|
21
21
|
},
|
|
22
|
-
info: "
|
|
23
|
-
error: "red
|
|
22
|
+
info: "yellow.100/yellow.1000",
|
|
23
|
+
error: "red.500/red.500",
|
|
24
24
|
errorInteractive: {
|
|
25
|
-
DEFAULT: "red
|
|
26
|
-
hover: "red
|
|
25
|
+
DEFAULT: "red.500/red.500",
|
|
26
|
+
hover: "red.700/red.500"
|
|
27
27
|
},
|
|
28
|
-
errorAlt: "
|
|
29
|
-
success: "green
|
|
30
|
-
successAlt: "
|
|
31
|
-
connect: "turquoise
|
|
28
|
+
errorAlt: "red.100/red.900",
|
|
29
|
+
success: "green.700/green.700",
|
|
30
|
+
successAlt: "green.100/green.1000",
|
|
31
|
+
connect: "turquoise.500/turquoise.500",
|
|
32
32
|
connectInteractive: {
|
|
33
|
-
DEFAULT: "turquoise
|
|
34
|
-
hover: "turquoise
|
|
33
|
+
DEFAULT: "turquoise.500/turquoise.500",
|
|
34
|
+
hover: "turquoise.700/turquoise.500"
|
|
35
35
|
},
|
|
36
|
-
connectAlt: "
|
|
37
|
-
driver: "
|
|
38
|
-
owner: "
|
|
39
|
-
disabled: "
|
|
40
|
-
neutral: "
|
|
41
|
-
neutralAlt: "
|
|
42
|
-
seasonLow: "
|
|
43
|
-
seasonMedium: "
|
|
44
|
-
seasonHigh: "
|
|
45
|
-
seasonVeryHigh: "
|
|
46
|
-
rideShare: "
|
|
36
|
+
connectAlt: "turquoise.50/turquoise.900",
|
|
37
|
+
driver: "yellow.500/yellow.500",
|
|
38
|
+
owner: "navy.700/navy.700",
|
|
39
|
+
disabled: "navy.100/black.50",
|
|
40
|
+
neutral: "navy.100/black.50",
|
|
41
|
+
neutralAlt: "navy.50/black.100",
|
|
42
|
+
seasonLow: "season.100/season.700",
|
|
43
|
+
seasonMedium: "season.200/season.800",
|
|
44
|
+
seasonHigh: "season.300/season.900",
|
|
45
|
+
seasonVeryHigh: "season.400/season.1000",
|
|
46
|
+
rideShare: "black.1000/black.1000"
|
|
47
47
|
};
|
|
48
48
|
const text = {
|
|
49
|
-
base: "
|
|
49
|
+
base: "navy.700/grey.100",
|
|
50
50
|
baseInteractive: {
|
|
51
|
-
DEFAULT: "
|
|
52
|
-
hover: "
|
|
51
|
+
DEFAULT: "navy.700/grey.100",
|
|
52
|
+
hover: "navy.300/grey.300"
|
|
53
53
|
},
|
|
54
|
-
subdued: "
|
|
54
|
+
subdued: "navy.300/grey.300",
|
|
55
55
|
subduedInteractive: {
|
|
56
|
-
DEFAULT: "
|
|
57
|
-
hover: "
|
|
56
|
+
DEFAULT: "navy.300/grey.300",
|
|
57
|
+
hover: "navy.500/grey.300"
|
|
58
58
|
},
|
|
59
|
-
accent: "purple
|
|
59
|
+
accent: "purple.500/purpleDeep.400",
|
|
60
60
|
accentInteractive: {
|
|
61
|
-
DEFAULT: "
|
|
62
|
-
hover: "
|
|
61
|
+
DEFAULT: "purple.500/purpleDeep.400",
|
|
62
|
+
hover: "purple.700/purpleDeep.400"
|
|
63
63
|
},
|
|
64
|
-
accentAlt: "
|
|
64
|
+
accentAlt: "purple.500/grey.100",
|
|
65
65
|
accentAltInteractive: {
|
|
66
|
-
DEFAULT: "
|
|
67
|
-
hover: "
|
|
66
|
+
DEFAULT: "purple.500/grey.100",
|
|
67
|
+
hover: "purple.700/grey.100"
|
|
68
68
|
},
|
|
69
|
-
info: "
|
|
70
|
-
infoAlt: "
|
|
71
|
-
error: "red
|
|
72
|
-
errorAlt: "
|
|
73
|
-
success: "green
|
|
74
|
-
successAlt: "
|
|
75
|
-
warning: "
|
|
76
|
-
connect: "turquoise
|
|
77
|
-
connectAlt: "turquoise
|
|
78
|
-
driver: "
|
|
79
|
-
owner: "white/
|
|
80
|
-
inversed: "white/white
|
|
81
|
-
disabled: "navy.200/navy.200
|
|
82
|
-
onAccent: "white/white
|
|
83
|
-
onError: "white/white
|
|
84
|
-
onSuccess: "white/white
|
|
85
|
-
onRideShare: "white/white
|
|
69
|
+
info: "yellow.900/yellow.300",
|
|
70
|
+
infoAlt: "yellow.500/yellow.700",
|
|
71
|
+
error: "red.500/red.400",
|
|
72
|
+
errorAlt: "red.500/red.500",
|
|
73
|
+
success: "green.700/green.700",
|
|
74
|
+
successAlt: "green.900/green.100",
|
|
75
|
+
warning: "orange.500/orange.300",
|
|
76
|
+
connect: "turquoise.500/turquoise.500",
|
|
77
|
+
connectAlt: "turquoise.900/turquoise.50",
|
|
78
|
+
driver: "navy.700/navy.700",
|
|
79
|
+
owner: "white/grey.100",
|
|
80
|
+
inversed: "white/white",
|
|
81
|
+
disabled: "navy.200/navy.200",
|
|
82
|
+
onAccent: "white/white",
|
|
83
|
+
onError: "white/white",
|
|
84
|
+
onSuccess: "white/white",
|
|
85
|
+
onRideShare: "white/white"
|
|
86
86
|
};
|
|
87
87
|
const buttonBackground = {
|
|
88
|
-
selected: "
|
|
88
|
+
selected: "purple.100/purpleDeep.900",
|
|
89
89
|
destructiveInteractive: {
|
|
90
|
-
DEFAULT: "red
|
|
91
|
-
hover: "red
|
|
92
|
-
press: "red
|
|
90
|
+
DEFAULT: "red.100/red.900",
|
|
91
|
+
hover: "red.120/red.900",
|
|
92
|
+
press: "red.150/red.900"
|
|
93
93
|
},
|
|
94
|
-
disabled: "
|
|
94
|
+
disabled: "navy.100/black.50",
|
|
95
95
|
primaryInteractive: {
|
|
96
|
-
DEFAULT: "purple
|
|
97
|
-
hover: "
|
|
98
|
-
press: "
|
|
96
|
+
DEFAULT: "purple.500/purpleDeep.500",
|
|
97
|
+
hover: "purple.700/purpleDeep.500",
|
|
98
|
+
press: "purple.900/purpleDeep.500"
|
|
99
99
|
},
|
|
100
100
|
secondaryInteractive: {
|
|
101
|
-
DEFAULT: "white/
|
|
102
|
-
hover: "white/
|
|
103
|
-
press: "white/
|
|
101
|
+
DEFAULT: "white/black.500",
|
|
102
|
+
hover: "white/black.500",
|
|
103
|
+
press: "white/black.500"
|
|
104
104
|
},
|
|
105
|
-
success: "green
|
|
105
|
+
success: "green.700/green.900",
|
|
106
106
|
successAltInteractive: {
|
|
107
|
-
DEFAULT: "green
|
|
108
|
-
hover: "green
|
|
109
|
-
press: "green
|
|
107
|
+
DEFAULT: "green.100/green.1000",
|
|
108
|
+
hover: "green.120/green.1000",
|
|
109
|
+
press: "green.150/green.1000"
|
|
110
110
|
},
|
|
111
111
|
tertiaryInteractive: {
|
|
112
|
-
DEFAULT: "white/white
|
|
113
|
-
hover: "white/white
|
|
114
|
-
press: "white/white
|
|
112
|
+
DEFAULT: "white/white",
|
|
113
|
+
hover: "white/white",
|
|
114
|
+
press: "white/white"
|
|
115
115
|
}
|
|
116
116
|
};
|
|
117
117
|
const buttonIcon = {
|
|
118
|
-
selected: "
|
|
118
|
+
selected: "purple.500/grey.100",
|
|
119
119
|
destructiveInteractive: {
|
|
120
|
-
DEFAULT: "red
|
|
121
|
-
hover: "red
|
|
122
|
-
press: "red
|
|
120
|
+
DEFAULT: "red.500/red.200",
|
|
121
|
+
hover: "red.500/red.200",
|
|
122
|
+
press: "red.500/red.200"
|
|
123
123
|
},
|
|
124
|
-
disabled: "
|
|
124
|
+
disabled: "navy.300/grey.300",
|
|
125
125
|
primaryInteractive: {
|
|
126
|
-
DEFAULT: "white/
|
|
127
|
-
hover: "white/
|
|
128
|
-
press: "white/
|
|
126
|
+
DEFAULT: "white/grey.100",
|
|
127
|
+
hover: "white/grey.100",
|
|
128
|
+
press: "white/grey.100"
|
|
129
129
|
},
|
|
130
130
|
secondaryInteractive: {
|
|
131
|
-
DEFAULT: "
|
|
132
|
-
hover: "
|
|
133
|
-
press: "
|
|
131
|
+
DEFAULT: "purple.500/purpleDeep.400",
|
|
132
|
+
hover: "purple.700/purpleDeep.400",
|
|
133
|
+
press: "purple.900/purpleDeep.400"
|
|
134
134
|
},
|
|
135
|
-
success: "white/
|
|
135
|
+
success: "white/green.100",
|
|
136
136
|
successAltInteractive: {
|
|
137
|
-
DEFAULT: "
|
|
138
|
-
hover: "
|
|
139
|
-
press: "
|
|
137
|
+
DEFAULT: "green.900/green.100",
|
|
138
|
+
hover: "green.900/green.100",
|
|
139
|
+
press: "green.900/green.100"
|
|
140
140
|
},
|
|
141
141
|
tertiaryInteractive: {
|
|
142
|
-
DEFAULT: "
|
|
143
|
-
hover: "
|
|
144
|
-
press: "
|
|
142
|
+
DEFAULT: "purple.500/purpleDeep.400",
|
|
143
|
+
hover: "purple.700/purpleDeep.400",
|
|
144
|
+
press: "purple.900/purpleDeep.400"
|
|
145
145
|
}
|
|
146
146
|
};
|
|
147
147
|
const buttonLabel = {
|
|
148
|
-
selected: "
|
|
148
|
+
selected: "purple.500/grey.100",
|
|
149
149
|
destructiveInteractive: {
|
|
150
|
-
DEFAULT: "
|
|
151
|
-
hover: "
|
|
152
|
-
press: "
|
|
150
|
+
DEFAULT: "red.500/red.200",
|
|
151
|
+
hover: "red.500/red.200",
|
|
152
|
+
press: "red.500/red.200"
|
|
153
153
|
},
|
|
154
|
-
disabled: "
|
|
154
|
+
disabled: "navy.300/grey.300",
|
|
155
155
|
primaryInteractive: {
|
|
156
|
-
DEFAULT: "white/
|
|
157
|
-
hover: "white/
|
|
158
|
-
press: "white/
|
|
156
|
+
DEFAULT: "white/grey.100",
|
|
157
|
+
hover: "white/grey.100",
|
|
158
|
+
press: "white/grey.100"
|
|
159
159
|
},
|
|
160
160
|
secondaryInteractive: {
|
|
161
|
-
DEFAULT: "
|
|
162
|
-
hover: "
|
|
163
|
-
press: "
|
|
161
|
+
DEFAULT: "purple.500/purpleDeep.400",
|
|
162
|
+
hover: "purple.700/purpleDeep.400",
|
|
163
|
+
press: "purple.900/purpleDeep.400"
|
|
164
164
|
},
|
|
165
|
-
success: "white/
|
|
165
|
+
success: "white/green.100",
|
|
166
166
|
successAltInteractive: {
|
|
167
|
-
DEFAULT: "
|
|
168
|
-
hover: "
|
|
169
|
-
press: "
|
|
167
|
+
DEFAULT: "green.900/green.100",
|
|
168
|
+
hover: "green.900/green.100",
|
|
169
|
+
press: "green.900/green.100"
|
|
170
170
|
},
|
|
171
171
|
tertiaryInteractive: {
|
|
172
|
-
DEFAULT: "
|
|
173
|
-
hover: "
|
|
174
|
-
press: "
|
|
172
|
+
DEFAULT: "purple.500/purpleDeep.400",
|
|
173
|
+
hover: "purple.700/purpleDeep.400",
|
|
174
|
+
press: "purple.900/purpleDeep.400"
|
|
175
175
|
}
|
|
176
176
|
};
|
|
177
177
|
const icon = {
|
|
178
|
-
base: "
|
|
178
|
+
base: "navy.500/grey.100",
|
|
179
179
|
baseInteractive: {
|
|
180
|
-
DEFAULT: "
|
|
181
|
-
hover: "
|
|
180
|
+
DEFAULT: "navy.500/grey.100",
|
|
181
|
+
hover: "navy.700/grey.100"
|
|
182
182
|
},
|
|
183
|
-
subdued: "
|
|
183
|
+
subdued: "navy.300/grey.300",
|
|
184
184
|
subduedInteractive: {
|
|
185
|
-
DEFAULT: "
|
|
186
|
-
hover: "
|
|
185
|
+
DEFAULT: "navy.300/grey.300",
|
|
186
|
+
hover: "navy.500/grey.300"
|
|
187
187
|
},
|
|
188
|
-
accent: "purple
|
|
188
|
+
accent: "purple.500/purpleDeep.400",
|
|
189
189
|
accentInteractive: {
|
|
190
|
-
DEFAULT: "purple
|
|
191
|
-
hover: "
|
|
190
|
+
DEFAULT: "purple.500/purpleDeep.400",
|
|
191
|
+
hover: "purple.700//purpleDeep.400"
|
|
192
192
|
},
|
|
193
|
-
accentAlt: "
|
|
193
|
+
accentAlt: "purple.500/grey.100",
|
|
194
194
|
accentAltInteractive: {
|
|
195
|
-
DEFAULT: "
|
|
196
|
-
hover: "
|
|
195
|
+
DEFAULT: "purple.500/grey.100",
|
|
196
|
+
hover: "purple.700/grey.100"
|
|
197
197
|
},
|
|
198
|
-
info: "
|
|
199
|
-
infoAlt: "
|
|
200
|
-
error: "red
|
|
201
|
-
errorAlt: "red
|
|
202
|
-
success: "green
|
|
203
|
-
successAlt: "
|
|
204
|
-
warning: "
|
|
205
|
-
connect: "turquoise
|
|
206
|
-
connectAlt: "turquoise
|
|
207
|
-
driver: "
|
|
208
|
-
owner: "white/white
|
|
209
|
-
inversed: "white/white
|
|
210
|
-
disabled: "
|
|
211
|
-
rideShare: "
|
|
212
|
-
onRideShare: "white/white
|
|
198
|
+
info: "yellow.900/yellow.300",
|
|
199
|
+
infoAlt: "yellow.500/yellow.700",
|
|
200
|
+
error: "red.500/red.400",
|
|
201
|
+
errorAlt: "red.500/red.200",
|
|
202
|
+
success: "green.700/green.700",
|
|
203
|
+
successAlt: "green.900/green.100",
|
|
204
|
+
warning: "orange.500/orange.300",
|
|
205
|
+
connect: "turquoise.500/white",
|
|
206
|
+
connectAlt: "turquoise.900/turquoise.50",
|
|
207
|
+
driver: "navy.700//navy.700",
|
|
208
|
+
owner: "white/white",
|
|
209
|
+
inversed: "white/white",
|
|
210
|
+
disabled: "navy.100/black.50",
|
|
211
|
+
rideShare: "black.1000/white",
|
|
212
|
+
onRideShare: "white/white"
|
|
213
213
|
};
|
|
214
214
|
const stroke = {
|
|
215
|
-
base: "
|
|
215
|
+
base: "navy.100/black.50",
|
|
216
216
|
baseInteractive: {
|
|
217
|
-
DEFAULT: "
|
|
218
|
-
hover: "
|
|
219
|
-
press: "
|
|
217
|
+
DEFAULT: "navy.100/black.50",
|
|
218
|
+
hover: "navy.300/purpleDeep.400",
|
|
219
|
+
press: "navy.500/purpleDeep.400"
|
|
220
220
|
},
|
|
221
|
-
strong: "
|
|
221
|
+
strong: "navy.300/navy.200",
|
|
222
222
|
strongInteractive: {
|
|
223
|
-
DEFAULT: "
|
|
224
|
-
hover: "
|
|
225
|
-
press: "
|
|
223
|
+
DEFAULT: "navy.300/navy.200",
|
|
224
|
+
hover: "navy.500/purpleDeep.400",
|
|
225
|
+
press: "navy.700/purpleDeep.400"
|
|
226
226
|
},
|
|
227
|
-
subdued: "
|
|
228
|
-
accent: "
|
|
227
|
+
subdued: "navy.100/black.50",
|
|
228
|
+
accent: "purple.500/purpleDeep.400",
|
|
229
229
|
accentInteractive: {
|
|
230
|
-
DEFAULT: "
|
|
231
|
-
hover: "
|
|
232
|
-
press: "
|
|
230
|
+
DEFAULT: "purple.500/purpleDeep.400",
|
|
231
|
+
hover: "purple.700/purpleDeep.400",
|
|
232
|
+
press: "purple.900/purpleDeep.400"
|
|
233
233
|
},
|
|
234
|
-
accentAlt: "purple
|
|
235
|
-
error: "red
|
|
236
|
-
errorAlt: "red
|
|
237
|
-
success: "green
|
|
238
|
-
successAlt: "green
|
|
239
|
-
onAccent: "white/white
|
|
240
|
-
onError: "white/white
|
|
234
|
+
accentAlt: "purple.300/purpleDeep.700",
|
|
235
|
+
error: "red.500/red.200",
|
|
236
|
+
errorAlt: "red.500/red.200",
|
|
237
|
+
success: "green.500/green.700",
|
|
238
|
+
successAlt: "green.500/green.700",
|
|
239
|
+
onAccent: "white/white",
|
|
240
|
+
onError: "white/white"
|
|
241
241
|
};
|
|
242
242
|
const fill = {
|
|
243
|
-
base: "
|
|
244
|
-
secondary: "
|
|
245
|
-
subdued: "
|
|
246
|
-
accent: "purple
|
|
247
|
-
accentAlt: "purple
|
|
248
|
-
error: "red
|
|
249
|
-
negative: "red
|
|
250
|
-
success: "green
|
|
251
|
-
disabled: "
|
|
252
|
-
neutral: "
|
|
243
|
+
base: "navy.500/grey.100",
|
|
244
|
+
secondary: "yellow.500/yellow.500",
|
|
245
|
+
subdued: "navy.100/black.50",
|
|
246
|
+
accent: "purple.500/purpleDeep.400",
|
|
247
|
+
accentAlt: "purple.100/purpleDeep.900",
|
|
248
|
+
error: "red.500/red.500",
|
|
249
|
+
negative: "red.150/red.900",
|
|
250
|
+
success: "green.500/green.700",
|
|
251
|
+
disabled: "navy.300/grey.300",
|
|
252
|
+
neutral: "navy.50/black.100"
|
|
253
253
|
};
|
|
254
254
|
var _theme = {
|
|
255
255
|
background: background,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/Alerter/index.tsx"],"sourcesContent":["import React, { useContext, useReducer } from \"react\"\nimport { nanoid } from \"nanoid\"\nimport Portal from \"@reach/portal\"\nimport cx from \"classnames\"\nimport { useTransition, animated, config } from \"@react-spring/web\"\n\nimport Alert, { AlertType } from \"./Alert\"\nimport useBreakpoint from \"../../hooks/useBreakpoint\"\nimport { remToPx } from \"../utils\"\n\ntype AlertPropsType = Parameters<AlertType>[0]\n\nenum AlertActionType {\n send = \"send\",\n dismiss = \"dismiss\",\n}\n\nexport type AlertReducerActionData = {\n id: string\n status: AlertPropsType[\"status\"]\n message: AlertPropsType[\"children\"]\n // mandatory only for sent alerts\n dismiss?: AlertPropsType[\"dismiss\"]\n}\n\n// We omit props type private to the Alerter\ntype SendAlertParameters = Omit<AlertReducerActionData, \"dismiss\" | \"id\">\ntype DismissAlertParameters = Omit<AlertReducerActionData, \"dismiss\">\n// We omit types only use in the reducer\ntype AlertsQueue = (Omit<AlertReducerActionData, \"dismiss\"> & {\n dismiss: NonNullable<AlertReducerActionData[\"dismiss\"]>\n})[]\n\nconst hasDismiss = (\n alertData: AlertReducerActionData\n): alertData is AlertsQueue[0] => \"dismiss\" in alertData\n\nconst initialQueue: AlertsQueue = []\n\nfunction alertsReducer(\n queue: AlertsQueue,\n action: AlertReducerActionData & { type: AlertActionType }\n): AlertsQueue {\n const { type, ...alertData } = action\n if (type === AlertActionType.dismiss) {\n return queue.filter((a) => a.id !== alertData.id)\n }\n // We can't send alerts in the queue without providing a way to dismiss it\n if (type === AlertActionType.send && hasDismiss(alertData))\n return [alertData].concat(queue)\n return queue\n}\n\nconst defaultSendAlert: React.Dispatch<SendAlertParameters> = () => initialQueue // we never actually use this\nconst AlertsContext = React.createContext({\n queue: initialQueue,\n sendAlert: defaultSendAlert, // just to mock out the dispatch type and make it not optional\n})\n\nconst AlertsProvider = (props: { children?: React.ReactNode }) => {\n const [queue, dispatch] = useReducer(alertsReducer, initialQueue)\n const dismissAlert: React.Dispatch<DismissAlertParameters> = (args) => {\n dispatch({\n type: AlertActionType.dismiss,\n ...args,\n })\n }\n const sendAlert: React.Dispatch<SendAlertParameters> = (args) => {\n const alertData = { ...args, id: nanoid() }\n dispatch({\n type: AlertActionType.send,\n ...alertData,\n dismiss: () => dismissAlert(alertData),\n })\n }\n return <AlertsContext.Provider value={{ queue, sendAlert }} {...props} />\n}\n\n// Alerter hook\nexport const useAlerts = () => {\n return useContext(AlertsContext)\n}\n\nconst InnerAlerter = ({ children }: { children: React.ReactNode }) => {\n const { queue } = useAlerts()\n const { isMobile } = useBreakpoint()\n\n const transformSpring = {\n from: remToPx(2),\n enter: 0,\n leave: isMobile ? remToPx(2) : remToPx(5),\n }\n\n const transition = useTransition(queue, {\n keys: queue.map((a) => a.id),\n from: { opacity: 0, transform: transformSpring.from },\n enter: { opacity: 1, transform: transformSpring.enter },\n leave: { opacity: 0, transform: transformSpring.leave },\n config: config.stiff,\n })\n\n return (\n <>\n <Portal>\n <div\n className={cx(\"cobalt-alerts\", {\n \"cobalt-alerts--mobile\": isMobile,\n })}\n >\n {transition((style, alertData) => (\n <animated.div\n key={alertData.id}\n style={{\n opacity: style.opacity,\n ...(isMobile\n ? { translateY: style.transform }\n : { translateX: style.transform }),\n }}\n >\n <Alert status={alertData.status} dismiss={alertData.dismiss}>\n {alertData.message}\n </Alert>\n </animated.div>\n ))}\n </div>\n </Portal>\n {children}\n </>\n )\n}\n\nconst Alerter = (props: { children: React.ReactNode }) => {\n return (\n <AlertsProvider>\n <InnerAlerter {...props} />\n </AlertsProvider>\n )\n}\n\nexport default Alerter\n"],"names":[],"mappings":";;;;;;;;;;AAYA,IAAK,eAGJ,CAAA;AAHD,CAAA,UAAK,eAAe,EAAA;AAClB,IAAA,eAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,eAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACrB,CAAC,EAHI,eAAe,KAAf,eAAe,GAGnB,EAAA,CAAA,CAAA,CAAA;AAkBD,MAAM,UAAU,GAAG,CACjB,SAAiC,KACD,SAAS,IAAI,SAAS,CAAA;AAExD,MAAM,YAAY,GAAgB,EAAE,CAAA;AAEpC,SAAS,aAAa,CACpB,KAAkB,EAClB,MAA0D,EAAA;IAE1D,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,GAAG,MAAM,CAAA;AACrC,IAAA,IAAI,IAAI,KAAK,eAAe,CAAC,OAAO,EAAE;AACpC,QAAA,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/Alerter/index.tsx"],"sourcesContent":["import React, { useContext, useReducer } from \"react\"\nimport { nanoid } from \"nanoid\"\nimport Portal from \"@reach/portal\"\nimport cx from \"classnames\"\nimport { useTransition, animated, config } from \"@react-spring/web\"\n\nimport Alert, { AlertType } from \"./Alert\"\nimport useBreakpoint from \"../../hooks/useBreakpoint\"\nimport { remToPx } from \"../utils\"\n\ntype AlertPropsType = Parameters<AlertType>[0]\n\nenum AlertActionType {\n send = \"send\",\n dismiss = \"dismiss\",\n}\n\nexport type AlertReducerActionData = {\n id: string\n status: AlertPropsType[\"status\"]\n message: AlertPropsType[\"children\"]\n // mandatory only for sent alerts\n dismiss?: AlertPropsType[\"dismiss\"]\n}\n\n// We omit props type private to the Alerter\ntype SendAlertParameters = Omit<AlertReducerActionData, \"dismiss\" | \"id\">\ntype DismissAlertParameters = Omit<AlertReducerActionData, \"dismiss\">\n// We omit types only use in the reducer\ntype AlertsQueue = (Omit<AlertReducerActionData, \"dismiss\"> & {\n dismiss: NonNullable<AlertReducerActionData[\"dismiss\"]>\n})[]\n\nconst hasDismiss = (\n alertData: AlertReducerActionData\n): alertData is AlertsQueue[0] => \"dismiss\" in alertData\n\nconst initialQueue: AlertsQueue = []\n\nfunction alertsReducer(\n queue: AlertsQueue,\n action: AlertReducerActionData & { type: AlertActionType }\n): AlertsQueue {\n const { type, ...alertData } = action\n if (type === AlertActionType.dismiss) {\n return queue.filter((a) => a.id !== alertData.id)\n }\n // We can't send alerts in the queue without providing a way to dismiss it\n if (type === AlertActionType.send && hasDismiss(alertData))\n return [alertData].concat(queue)\n return queue\n}\n\nconst defaultSendAlert: React.Dispatch<SendAlertParameters> = () => initialQueue // we never actually use this\nconst AlertsContext = React.createContext({\n queue: initialQueue,\n sendAlert: defaultSendAlert, // just to mock out the dispatch type and make it not optional\n})\n\nconst AlertsProvider = (props: { children?: React.ReactNode }) => {\n const [queue, dispatch] = useReducer(alertsReducer, initialQueue)\n const dismissAlert: React.Dispatch<DismissAlertParameters> = (args) => {\n dispatch({\n type: AlertActionType.dismiss,\n ...args,\n })\n }\n const sendAlert: React.Dispatch<SendAlertParameters> = (args) => {\n const alertData = { ...args, id: nanoid() }\n dispatch({\n type: AlertActionType.send,\n ...alertData,\n dismiss: () => dismissAlert(alertData),\n })\n }\n return <AlertsContext.Provider value={{ queue, sendAlert }} {...props} />\n}\n\n// Alerter hook\nexport const useAlerts = () => {\n return useContext(AlertsContext)\n}\n\nconst InnerAlerter = ({ children }: { children: React.ReactNode }) => {\n const { queue } = useAlerts()\n const { isMobile } = useBreakpoint()\n\n const transformSpring = {\n from: remToPx(2),\n enter: 0,\n leave: isMobile ? remToPx(2) : remToPx(5),\n }\n\n const transition = useTransition(queue, {\n keys: queue.map((a) => a.id),\n from: { opacity: 0, transform: transformSpring.from },\n enter: { opacity: 1, transform: transformSpring.enter },\n leave: { opacity: 0, transform: transformSpring.leave },\n config: config.stiff,\n })\n\n return (\n <>\n <Portal>\n <div\n className={cx(\"cobalt-alerts\", {\n \"cobalt-alerts--mobile\": isMobile,\n })}\n >\n {transition((style, alertData) => (\n <animated.div\n key={alertData.id}\n style={{\n opacity: style.opacity,\n ...(isMobile\n ? { translateY: style.transform }\n : { translateX: style.transform }),\n }}\n >\n <Alert status={alertData.status} dismiss={alertData.dismiss}>\n {alertData.message}\n </Alert>\n </animated.div>\n ))}\n </div>\n </Portal>\n {children}\n </>\n )\n}\n\nconst Alerter = (props: { children: React.ReactNode }) => {\n return (\n <AlertsProvider>\n <InnerAlerter {...props} />\n </AlertsProvider>\n )\n}\n\nexport default Alerter\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/BasicCell/index.tsx"],"sourcesContent":["import React from \"react\"\nimport cx from \"classnames\"\n\nexport interface BasicCellProps {\n children: React.ReactNode\n leftAddonIcon?: React.ReactNode\n leftAddonThumbUrl?: string\n leftAddonThumbAlt?: string\n leftAddonThumbSquare?: boolean\n title: string\n rightAddonIcon?: React.ReactNode\n large?: boolean\n}\n\nexport const BasicCell = ({\n leftAddonIcon,\n leftAddonThumbUrl,\n leftAddonThumbAlt,\n leftAddonThumbSquare,\n title,\n children,\n rightAddonIcon,\n large = false,\n}: BasicCellProps) => {\n let leftAddon: React.ReactNode | BasicCellProps[\"leftAddonIcon\"] | null = null\n\n if (leftAddonIcon != null) leftAddon = leftAddonIcon\n else if (leftAddonThumbUrl != null) {\n const leftAddonThumbSize = large ? 64 : 44\n leftAddon = (\n <div\n className={cx(\"cobalt-BasicCell__Thumb\", {\n \"cobalt-BasicCell__Thumb--square\": leftAddonThumbSquare,\n })}\n >\n <img\n src={leftAddonThumbUrl}\n alt={leftAddonThumbAlt}\n width={leftAddonThumbSize}\n height={leftAddonThumbSize}\n />\n </div>\n )\n }\n\n return (\n <div\n className={cx(\"cobalt-BasicCell\", {\n \"cobalt-BasicCell--large\": large === true,\n })}\n >\n {leftAddon != null && (\n <div className=\"cobalt-BasicCell__LeftAddon\">{leftAddon}</div>\n )}\n <div className=\"cobalt-BasicCell__Main\">\n <div className=\"cobalt-BasicCell__Title\">{title}</div>\n <div className=\"cobalt-BasicCell__Content\">{children}</div>\n </div>\n {rightAddonIcon != null && (\n <div className=\"cobalt-BasicCell__RightAddonIcon\">{rightAddonIcon}</div>\n )}\n </div>\n )\n}\n"],"names":[],"mappings":";;;AAca,MAAA,SAAS,GAAG,CAAC,EACxB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,KAAK,EACL,QAAQ,EACR,cAAc,EACd,KAAK,GAAG,KAAK,GACE,KAAI;IACnB,IAAI,SAAS,GAA6D,IAAI,CAAA;IAE9E,IAAI,aAAa,IAAI,IAAI;QAAE,SAAS,GAAG,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/BasicCell/index.tsx"],"sourcesContent":["import React from \"react\"\nimport cx from \"classnames\"\n\nexport interface BasicCellProps {\n children: React.ReactNode\n leftAddonIcon?: React.ReactNode\n leftAddonThumbUrl?: string\n leftAddonThumbAlt?: string\n leftAddonThumbSquare?: boolean\n title: string\n rightAddonIcon?: React.ReactNode\n large?: boolean\n}\n\nexport const BasicCell = ({\n leftAddonIcon,\n leftAddonThumbUrl,\n leftAddonThumbAlt,\n leftAddonThumbSquare,\n title,\n children,\n rightAddonIcon,\n large = false,\n}: BasicCellProps) => {\n let leftAddon: React.ReactNode | BasicCellProps[\"leftAddonIcon\"] | null = null\n\n if (leftAddonIcon != null) leftAddon = leftAddonIcon\n else if (leftAddonThumbUrl != null) {\n const leftAddonThumbSize = large ? 64 : 44\n leftAddon = (\n <div\n className={cx(\"cobalt-BasicCell__Thumb\", {\n \"cobalt-BasicCell__Thumb--square\": leftAddonThumbSquare,\n })}\n >\n <img\n src={leftAddonThumbUrl}\n alt={leftAddonThumbAlt}\n width={leftAddonThumbSize}\n height={leftAddonThumbSize}\n />\n </div>\n )\n }\n\n return (\n <div\n className={cx(\"cobalt-BasicCell\", {\n \"cobalt-BasicCell--large\": large === true,\n })}\n >\n {leftAddon != null && (\n <div className=\"cobalt-BasicCell__LeftAddon\">{leftAddon}</div>\n )}\n <div className=\"cobalt-BasicCell__Main\">\n <div className=\"cobalt-BasicCell__Title\">{title}</div>\n <div className=\"cobalt-BasicCell__Content\">{children}</div>\n </div>\n {rightAddonIcon != null && (\n <div className=\"cobalt-BasicCell__RightAddonIcon\">{rightAddonIcon}</div>\n )}\n </div>\n )\n}\n"],"names":[],"mappings":";;;AAca,MAAA,SAAS,GAAG,CAAC,EACxB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,KAAK,EACL,QAAQ,EACR,cAAc,EACd,KAAK,GAAG,KAAK,GACE,KAAI;IACnB,IAAI,SAAS,GAA6D,IAAI,CAAA;IAE9E,IAAI,aAAa,IAAI,IAAI;QAAE,SAAS,GAAG,aAAa,CAAA;AAC/C,SAAA,IAAI,iBAAiB,IAAI,IAAI,EAAE;QAClC,MAAM,kBAAkB,GAAG,KAAK,GAAG,EAAE,GAAG,EAAE,CAAA;QAC1C,SAAS,IACP,KACE,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,EAAE,CAAC,yBAAyB,EAAE;AACvC,gBAAA,iCAAiC,EAAE,oBAAoB;aACxD,CAAC,EAAA;AAEF,YAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,GAAG,EAAE,iBAAiB,EACtB,GAAG,EAAE,iBAAiB,EACtB,KAAK,EAAE,kBAAkB,EACzB,MAAM,EAAE,kBAAkB,EAC1B,CAAA,CACE,CACP,CAAA;KACF;AAED,IAAA,QACE,KACE,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,EAAE,CAAC,kBAAkB,EAAE;YAChC,yBAAyB,EAAE,KAAK,KAAK,IAAI;SAC1C,CAAC,EAAA;QAED,SAAS,IAAI,IAAI,KAChB,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,6BAA6B,EAAA,EAAE,SAAS,CAAO,CAC/D;QACD,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,wBAAwB,EAAA;AACrC,YAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,yBAAyB,EAAA,EAAE,KAAK,CAAO;AACtD,YAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,2BAA2B,EAAE,EAAA,QAAQ,CAAO,CACvD;AACL,QAAA,cAAc,IAAI,IAAI,KACrB,6BAAK,SAAS,EAAC,kCAAkC,EAAA,EAAE,cAAc,CAAO,CACzE,CACG,EACP;AACH;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sources":["../../../src/components/Buttons/helpers.tsx"],"sourcesContent":["import React from \"react\"\nimport cx from \"classnames\"\n\nimport { Icon, IconSources } from \"../Icon\"\n\nexport type ButtonCommonPropsType = {\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n fullWidth?: boolean\n loading?: boolean\n rounded?: boolean\n size?: \"large\"\n iconPosition?: \"left\" | \"right\"\n icon?: IconSources\n}\n\nexport type ButtonTemplatePropsType<SpecificButtonProps> = SpecificButtonProps &\n ButtonCommonPropsType\n\nexport const getButtonContent = ({\n children,\n icon,\n iconPosition = icon ? \"left\" : undefined,\n}: Pick<ButtonCommonPropsType, \"children\" | \"icon\" | \"iconPosition\">) => {\n if (!children && !icon) {\n throw new Error(\"Either an icon or children are required\")\n }\n\n const iconMarkup = icon ? (\n <span\n key={iconPosition}\n className={cx(\"cob-Button__Icon\", {\n \"cob-Button__Icon--left\": !!children && iconPosition === \"left\",\n \"cob-Button__Icon--right\": !!children && iconPosition === \"right\",\n })}\n >\n <Icon source={icon} />\n </span>\n ) : null\n\n const leftIcon = iconPosition === \"left\" ? iconMarkup : null\n const rightIcon = iconPosition === \"right\" ? iconMarkup : null\n const childContent = children ? (\n <span key=\"children\" className=\"cob-Button__content\">\n {children}\n </span>\n ) : null\n return (\n <>\n {leftIcon}\n {childContent}\n {rightIcon}\n </>\n )\n}\n\nexport const getButtonCommonClassNames = ({\n rounded,\n size,\n fullWidth,\n className,\n disabled,\n}: Pick<\n ButtonCommonPropsType,\n \"rounded\" | \"size\" | \"fullWidth\" | \"className\" | \"disabled\"\n>) =>\n cx(className, \"cob-Button\", {\n \"cob-Button--rounded\": rounded,\n \"cob-Button--fullWidth\": fullWidth,\n \"cob-Button--large\": size === \"large\",\n \"cob-Button--disabled\": disabled,\n })\n"],"names":[],"mappings":";;;;MAoBa,gBAAgB,GAAG,CAAC,EAC/B,QAAQ,EACR,IAAI,EACJ,YAAY,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,GAC0B,KAAI;AACtE,IAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE;AACtB,QAAA,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"helpers.js","sources":["../../../src/components/Buttons/helpers.tsx"],"sourcesContent":["import React from \"react\"\nimport cx from \"classnames\"\n\nimport { Icon, IconSources } from \"../Icon\"\n\nexport type ButtonCommonPropsType = {\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n fullWidth?: boolean\n loading?: boolean\n rounded?: boolean\n size?: \"large\"\n iconPosition?: \"left\" | \"right\"\n icon?: IconSources\n}\n\nexport type ButtonTemplatePropsType<SpecificButtonProps> = SpecificButtonProps &\n ButtonCommonPropsType\n\nexport const getButtonContent = ({\n children,\n icon,\n iconPosition = icon ? \"left\" : undefined,\n}: Pick<ButtonCommonPropsType, \"children\" | \"icon\" | \"iconPosition\">) => {\n if (!children && !icon) {\n throw new Error(\"Either an icon or children are required\")\n }\n\n const iconMarkup = icon ? (\n <span\n key={iconPosition}\n className={cx(\"cob-Button__Icon\", {\n \"cob-Button__Icon--left\": !!children && iconPosition === \"left\",\n \"cob-Button__Icon--right\": !!children && iconPosition === \"right\",\n })}\n >\n <Icon source={icon} />\n </span>\n ) : null\n\n const leftIcon = iconPosition === \"left\" ? iconMarkup : null\n const rightIcon = iconPosition === \"right\" ? iconMarkup : null\n const childContent = children ? (\n <span key=\"children\" className=\"cob-Button__content\">\n {children}\n </span>\n ) : null\n return (\n <>\n {leftIcon}\n {childContent}\n {rightIcon}\n </>\n )\n}\n\nexport const getButtonCommonClassNames = ({\n rounded,\n size,\n fullWidth,\n className,\n disabled,\n}: Pick<\n ButtonCommonPropsType,\n \"rounded\" | \"size\" | \"fullWidth\" | \"className\" | \"disabled\"\n>) =>\n cx(className, \"cob-Button\", {\n \"cob-Button--rounded\": rounded,\n \"cob-Button--fullWidth\": fullWidth,\n \"cob-Button--large\": size === \"large\",\n \"cob-Button--disabled\": disabled,\n })\n"],"names":[],"mappings":";;;;MAoBa,gBAAgB,GAAG,CAAC,EAC/B,QAAQ,EACR,IAAI,EACJ,YAAY,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,GAC0B,KAAI;AACtE,IAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE;AACtB,QAAA,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;KAC3D;AAED,IAAA,MAAM,UAAU,GAAG,IAAI,IACrB,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EACE,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,EAAE,CAAC,kBAAkB,EAAE;AAChC,YAAA,wBAAwB,EAAE,CAAC,CAAC,QAAQ,IAAI,YAAY,KAAK,MAAM;AAC/D,YAAA,yBAAyB,EAAE,CAAC,CAAC,QAAQ,IAAI,YAAY,KAAK,OAAO;SAClE,CAAC,EAAA;AAEF,QAAA,KAAA,CAAA,aAAA,CAAC,IAAI,EAAA,EAAC,MAAM,EAAE,IAAI,EAAA,CAAI,CACjB,IACL,IAAI,CAAA;AAER,IAAA,MAAM,QAAQ,GAAG,YAAY,KAAK,MAAM,GAAG,UAAU,GAAG,IAAI,CAAA;AAC5D,IAAA,MAAM,SAAS,GAAG,YAAY,KAAK,OAAO,GAAG,UAAU,GAAG,IAAI,CAAA;IAC9D,MAAM,YAAY,GAAG,QAAQ,IAC3B,KAAM,CAAA,aAAA,CAAA,MAAA,EAAA,EAAA,GAAG,EAAC,UAAU,EAAC,SAAS,EAAC,qBAAqB,EAAA,EACjD,QAAQ,CACJ,IACL,IAAI,CAAA;AACR,IAAA,QACE,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA;QACG,QAAQ;QACR,YAAY;QACZ,SAAS,CACT,EACJ;AACH,EAAC;AAEY,MAAA,yBAAyB,GAAG,CAAC,EACxC,OAAO,EACP,IAAI,EACJ,SAAS,EACT,SAAS,EACT,QAAQ,GAIT,KACC,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE;AAC1B,IAAA,qBAAqB,EAAE,OAAO;AAC9B,IAAA,uBAAuB,EAAE,SAAS;IAClC,mBAAmB,EAAE,IAAI,KAAK,OAAO;AACrC,IAAA,sBAAsB,EAAE,QAAQ;AACjC,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarDayPicker.js","sources":["../../../../src/components/Calendar/CalendarDayPicker/CalendarDayPicker.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from \"react\"\nimport { CalendarDayPickerMonth } from \"./CalendarDayPickerMonth\"\nimport classNames from \"classnames\"\nimport { Hint } from \"../../Form/Hint\"\nimport addMonths from \"date-fns/addMonths\"\nimport { FormElementStatus } from \"../../Form/form\"\n\ntype CalendarDayPickerPropsType = {\n numberOfMonths?: number\n firstMonthDate?: Date\n firstAvailableDate?: Date\n lastAvailableDate?: Date\n selectedDate?: Date | null\n hint?: {\n status?: FormElementStatus\n html: string\n }\n onChangeDate?: (date: Date, disabled: boolean) => boolean\n onLeaveDate?: (date: Date) => void\n onSelectDate?: (date: Date) => void\n locale?: Record<string, unknown>\n}\n\nexport function CalendarDayPicker({\n firstMonthDate = new Date(),\n numberOfMonths = 1,\n hint,\n firstAvailableDate = new Date(),\n lastAvailableDate,\n selectedDate,\n onChangeDate,\n onLeaveDate,\n onSelectDate,\n locale,\n}: CalendarDayPickerPropsType) {\n const isFirstRender = useRef(true)\n\n firstMonthDate.setHours(0, 0, 0, 0)\n firstAvailableDate.setHours(0, 0, 0, 0)\n\n const [internalSelectedDate, setInternalSelectedDate] = useState<\n Date | null | undefined\n >(selectedDate != null ? selectedDate : null)\n\n useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false\n return\n }\n selectedDate !== internalSelectedDate &&\n setInternalSelectedDate(selectedDate)\n }, [selectedDate])\n\n const handleSelectDate = (date: Date) => {\n setInternalSelectedDate(date)\n onSelectDate && onSelectDate(date)\n }\n\n const handleChangeDate = (date: Date, disabled: boolean) => {\n const processChange = onChangeDate\n ? onChangeDate(date, disabled) !== false\n : true\n\n if (!processChange || disabled) return\n }\n\n const months = [firstMonthDate]\n for (let i = 0; i < numberOfMonths - 1; i++) {\n months.push(addMonths(months[months.length - 1], 1))\n }\n\n return (\n <div className=\"cobalt-CalendarDayPicker\">\n <div className=\"cobalt-CalendarDayPicker__months-container\">\n {months.map((monthDate) => (\n <CalendarDayPickerMonth\n key={monthDate.getTime()}\n month={monthDate}\n selectedDate={internalSelectedDate}\n onSelectDate={handleSelectDate}\n onChangeDate={handleChangeDate}\n onLeaveDate={onLeaveDate}\n firstAvailableDate={firstAvailableDate}\n lastAvailableDate={lastAvailableDate}\n locale={locale}\n />\n ))}\n </div>\n\n <div\n className={classNames(\"cobalt-CalendarDayPicker__message\", {\n \"cobalt-CalendarDayPicker__message--show\": !!hint,\n })}\n >\n {hint && <Hint status={hint.status}>{hint.html}</Hint>}\n </div>\n </div>\n )\n}\n"],"names":["classNames"],"mappings":";;;;;;AAuBgB,SAAA,iBAAiB,CAAC,EAChC,cAAc,GAAG,IAAI,IAAI,EAAE,EAC3B,cAAc,GAAG,CAAC,EAClB,IAAI,EACJ,kBAAkB,GAAG,IAAI,IAAI,EAAE,EAC/B,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,MAAM,GACqB,EAAA;AAC3B,IAAA,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAElC,cAAc,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACnC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAEvC,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAE9D,YAAY,IAAI,IAAI,GAAG,YAAY,GAAG,IAAI,CAAC,CAAA;IAE7C,SAAS,CAAC,MAAK;
|
|
1
|
+
{"version":3,"file":"CalendarDayPicker.js","sources":["../../../../src/components/Calendar/CalendarDayPicker/CalendarDayPicker.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from \"react\"\nimport { CalendarDayPickerMonth } from \"./CalendarDayPickerMonth\"\nimport classNames from \"classnames\"\nimport { Hint } from \"../../Form/Hint\"\nimport addMonths from \"date-fns/addMonths\"\nimport { FormElementStatus } from \"../../Form/form\"\n\ntype CalendarDayPickerPropsType = {\n numberOfMonths?: number\n firstMonthDate?: Date\n firstAvailableDate?: Date\n lastAvailableDate?: Date\n selectedDate?: Date | null\n hint?: {\n status?: FormElementStatus\n html: string\n }\n onChangeDate?: (date: Date, disabled: boolean) => boolean\n onLeaveDate?: (date: Date) => void\n onSelectDate?: (date: Date) => void\n locale?: Record<string, unknown>\n}\n\nexport function CalendarDayPicker({\n firstMonthDate = new Date(),\n numberOfMonths = 1,\n hint,\n firstAvailableDate = new Date(),\n lastAvailableDate,\n selectedDate,\n onChangeDate,\n onLeaveDate,\n onSelectDate,\n locale,\n}: CalendarDayPickerPropsType) {\n const isFirstRender = useRef(true)\n\n firstMonthDate.setHours(0, 0, 0, 0)\n firstAvailableDate.setHours(0, 0, 0, 0)\n\n const [internalSelectedDate, setInternalSelectedDate] = useState<\n Date | null | undefined\n >(selectedDate != null ? selectedDate : null)\n\n useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false\n return\n }\n selectedDate !== internalSelectedDate &&\n setInternalSelectedDate(selectedDate)\n }, [selectedDate])\n\n const handleSelectDate = (date: Date) => {\n setInternalSelectedDate(date)\n onSelectDate && onSelectDate(date)\n }\n\n const handleChangeDate = (date: Date, disabled: boolean) => {\n const processChange = onChangeDate\n ? onChangeDate(date, disabled) !== false\n : true\n\n if (!processChange || disabled) return\n }\n\n const months = [firstMonthDate]\n for (let i = 0; i < numberOfMonths - 1; i++) {\n months.push(addMonths(months[months.length - 1], 1))\n }\n\n return (\n <div className=\"cobalt-CalendarDayPicker\">\n <div className=\"cobalt-CalendarDayPicker__months-container\">\n {months.map((monthDate) => (\n <CalendarDayPickerMonth\n key={monthDate.getTime()}\n month={monthDate}\n selectedDate={internalSelectedDate}\n onSelectDate={handleSelectDate}\n onChangeDate={handleChangeDate}\n onLeaveDate={onLeaveDate}\n firstAvailableDate={firstAvailableDate}\n lastAvailableDate={lastAvailableDate}\n locale={locale}\n />\n ))}\n </div>\n\n <div\n className={classNames(\"cobalt-CalendarDayPicker__message\", {\n \"cobalt-CalendarDayPicker__message--show\": !!hint,\n })}\n >\n {hint && <Hint status={hint.status}>{hint.html}</Hint>}\n </div>\n </div>\n )\n}\n"],"names":["classNames"],"mappings":";;;;;;AAuBgB,SAAA,iBAAiB,CAAC,EAChC,cAAc,GAAG,IAAI,IAAI,EAAE,EAC3B,cAAc,GAAG,CAAC,EAClB,IAAI,EACJ,kBAAkB,GAAG,IAAI,IAAI,EAAE,EAC/B,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,MAAM,GACqB,EAAA;AAC3B,IAAA,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAElC,cAAc,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACnC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAEvC,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAE9D,YAAY,IAAI,IAAI,GAAG,YAAY,GAAG,IAAI,CAAC,CAAA;IAE7C,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,aAAa,CAAC,OAAO,EAAE;AACzB,YAAA,aAAa,CAAC,OAAO,GAAG,KAAK,CAAA;YAC7B,OAAM;SACP;AACD,QAAA,YAAY,KAAK,oBAAoB;YACnC,uBAAuB,CAAC,YAAY,CAAC,CAAA;AACzC,KAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA;AAElB,IAAA,MAAM,gBAAgB,GAAG,CAAC,IAAU,KAAI;QACtC,uBAAuB,CAAC,IAAI,CAAC,CAAA;AAC7B,QAAA,YAAY,IAAI,YAAY,CAAC,IAAI,CAAC,CAAA;AACpC,KAAC,CAAA;AAED,IAAA,MAAM,gBAAgB,GAAG,CAAC,IAAU,EAAE,QAAiB,KAAI;QACzD,MAAM,aAAa,GAAG,YAAY;cAC9B,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,KAAK;cACtC,IAAI,CAAA;QAER,IAAI,CAAC,aAAa,IAAI,QAAQ;YAAE,OAAM;AACxC,KAAC,CAAA;AAED,IAAA,MAAM,MAAM,GAAG,CAAC,cAAc,CAAC,CAAA;AAC/B,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC3C,QAAA,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;KACrD;AAED,IAAA,QACE,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,0BAA0B,EAAA;QACvC,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,4CAA4C,EACxD,EAAA,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,MACpB,KAAA,CAAA,aAAA,CAAC,sBAAsB,EAAA,EACrB,GAAG,EAAE,SAAS,CAAC,OAAO,EAAE,EACxB,KAAK,EAAE,SAAS,EAChB,YAAY,EAAE,oBAAoB,EAClC,YAAY,EAAE,gBAAgB,EAC9B,YAAY,EAAE,gBAAgB,EAC9B,WAAW,EAAE,WAAW,EACxB,kBAAkB,EAAE,kBAAkB,EACtC,iBAAiB,EAAE,iBAAiB,EACpC,MAAM,EAAE,MAAM,EAAA,CACd,CACH,CAAC,CACE;AAEN,QAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAEA,EAAU,CAAC,mCAAmC,EAAE;gBACzD,yCAAyC,EAAE,CAAC,CAAC,IAAI;AAClD,aAAA,CAAC,IAED,IAAI,IAAI,oBAAC,IAAI,EAAA,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAA,EAAG,IAAI,CAAC,IAAI,CAAQ,CAClD,CACF,EACP;AACH;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarDayPickerMonth.js","sources":["../../../../src/components/Calendar/CalendarDayPicker/CalendarDayPickerMonth.tsx"],"sourcesContent":["import React, { useRef } from \"react\"\nimport { CalendarDayPickerDay } from \"./CalendarDayPickerDay\"\nimport { format, isSameDay } from \"date-fns\"\nimport { getMonthDaysByWeeks, getWeekDays } from \"../utils\"\n\ntype CalendarDayPickerMonthPropsType = {\n month: Date\n selectedDate?: Date | null\n onSelectDate: (date: Date) => void\n onChangeDate: (date: Date, disabled: boolean) => void\n onLeaveDate?: (date: Date) => void\n firstAvailableDate: Date\n lastAvailableDate?: Date\n locale: any\n}\n\nfunction isDisabled(\n day: Date,\n firstAvailableDate: Date,\n lastAvailableDate: Date | undefined\n) {\n return (\n day.getTime() < firstAvailableDate.getTime() ||\n (lastAvailableDate != null && day.getTime() > lastAvailableDate.getTime())\n )\n}\n\nfunction areEqualDays(\n date1: Date | null | undefined,\n date2: Date | null | undefined\n) {\n return date1 != null && date2 != null && isSameDay(date1, date2)\n}\n\nconst weekdays = getWeekDays()\nconst today = new Date().setHours(0, 0, 0, 0)\n\nexport function CalendarDayPickerMonth({\n month,\n selectedDate,\n onSelectDate,\n onChangeDate,\n onLeaveDate,\n firstAvailableDate,\n lastAvailableDate,\n locale,\n}: CalendarDayPickerMonthPropsType) {\n const byWeeks = useRef(getMonthDaysByWeeks(month))\n\n const onMouseEnter = (day: Date, disabled: boolean) => {\n onChangeDate(day, disabled)\n }\n\n const onSelect = (targetDate: Date) => {\n if (!areEqualDays(targetDate, selectedDate)) {\n onSelectDate(targetDate)\n }\n }\n\n return (\n <div\n className=\"cobalt-CalendarDayPicker__month\"\n data-month={format(month, \"yyyy-MM\")}\n >\n <div className=\"cobalt-CalendarDayPicker__month-header\">\n {format(month, \"MMMM yyyy\", { locale })}\n </div>\n <div className=\"cobalt-CalendarDayPicker__month__weeks-container\">\n <div className=\"cobalt-CalendarDayPicker__month__week-header\">\n {weekdays.map((weekday) => (\n <div\n key={weekday.getTime()}\n className=\"cobalt-CalendarDayPicker__month__day-header\"\n >\n {format(weekday, \"iiiiii\", { locale })}\n </div>\n ))}\n </div>\n {byWeeks.current.map((week, index) => (\n <div key={index} className=\"cobalt-CalendarDayPicker__month__week\">\n {week.map((day) => {\n return (\n <CalendarDayPickerDay\n key={day.getTime()}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onLeaveDate}\n date={day}\n onSelect={onSelect}\n isToday={isSameDay(day, today)}\n disabled={isDisabled(\n day,\n firstAvailableDate,\n lastAvailableDate\n )}\n selected={areEqualDays(day, selectedDate)}\n />\n )\n })}\n </div>\n ))}\n </div>\n </div>\n )\n}\n"],"names":["CalendarDayPickerDay"],"mappings":";;;;;AAgBA,SAAS,UAAU,CACjB,GAAS,EACT,kBAAwB,EACxB,iBAAmC,EAAA;IAEnC,QACE,GAAG,CAAC,OAAO,EAAE,GAAG,kBAAkB,CAAC,OAAO,EAAE;AAC5C,SAAC,iBAAiB,IAAI,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,GAAG,iBAAiB,CAAC,OAAO,EAAE,CAAC,EAC3E;AACH,CAAC;AAED,SAAS,YAAY,CACnB,KAA8B,EAC9B,KAA8B,EAAA;AAE9B,IAAA,OAAO,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAClE,CAAC;AAED,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;AAC9B,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;SAE7B,sBAAsB,CAAC,EACrC,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,MAAM,GAC0B,EAAA;IAChC,MAAM,OAAO,GAAG,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAA;AAElD,IAAA,MAAM,YAAY,GAAG,CAAC,GAAS,EAAE,QAAiB,KAAI;AACpD,QAAA,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;AAC7B,KAAC,CAAA;AAED,IAAA,MAAM,QAAQ,GAAG,CAAC,UAAgB,KAAI;
|
|
1
|
+
{"version":3,"file":"CalendarDayPickerMonth.js","sources":["../../../../src/components/Calendar/CalendarDayPicker/CalendarDayPickerMonth.tsx"],"sourcesContent":["import React, { useRef } from \"react\"\nimport { CalendarDayPickerDay } from \"./CalendarDayPickerDay\"\nimport { format, isSameDay } from \"date-fns\"\nimport { getMonthDaysByWeeks, getWeekDays } from \"../utils\"\n\ntype CalendarDayPickerMonthPropsType = {\n month: Date\n selectedDate?: Date | null\n onSelectDate: (date: Date) => void\n onChangeDate: (date: Date, disabled: boolean) => void\n onLeaveDate?: (date: Date) => void\n firstAvailableDate: Date\n lastAvailableDate?: Date\n locale: any\n}\n\nfunction isDisabled(\n day: Date,\n firstAvailableDate: Date,\n lastAvailableDate: Date | undefined\n) {\n return (\n day.getTime() < firstAvailableDate.getTime() ||\n (lastAvailableDate != null && day.getTime() > lastAvailableDate.getTime())\n )\n}\n\nfunction areEqualDays(\n date1: Date | null | undefined,\n date2: Date | null | undefined\n) {\n return date1 != null && date2 != null && isSameDay(date1, date2)\n}\n\nconst weekdays = getWeekDays()\nconst today = new Date().setHours(0, 0, 0, 0)\n\nexport function CalendarDayPickerMonth({\n month,\n selectedDate,\n onSelectDate,\n onChangeDate,\n onLeaveDate,\n firstAvailableDate,\n lastAvailableDate,\n locale,\n}: CalendarDayPickerMonthPropsType) {\n const byWeeks = useRef(getMonthDaysByWeeks(month))\n\n const onMouseEnter = (day: Date, disabled: boolean) => {\n onChangeDate(day, disabled)\n }\n\n const onSelect = (targetDate: Date) => {\n if (!areEqualDays(targetDate, selectedDate)) {\n onSelectDate(targetDate)\n }\n }\n\n return (\n <div\n className=\"cobalt-CalendarDayPicker__month\"\n data-month={format(month, \"yyyy-MM\")}\n >\n <div className=\"cobalt-CalendarDayPicker__month-header\">\n {format(month, \"MMMM yyyy\", { locale })}\n </div>\n <div className=\"cobalt-CalendarDayPicker__month__weeks-container\">\n <div className=\"cobalt-CalendarDayPicker__month__week-header\">\n {weekdays.map((weekday) => (\n <div\n key={weekday.getTime()}\n className=\"cobalt-CalendarDayPicker__month__day-header\"\n >\n {format(weekday, \"iiiiii\", { locale })}\n </div>\n ))}\n </div>\n {byWeeks.current.map((week, index) => (\n <div key={index} className=\"cobalt-CalendarDayPicker__month__week\">\n {week.map((day) => {\n return (\n <CalendarDayPickerDay\n key={day.getTime()}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onLeaveDate}\n date={day}\n onSelect={onSelect}\n isToday={isSameDay(day, today)}\n disabled={isDisabled(\n day,\n firstAvailableDate,\n lastAvailableDate\n )}\n selected={areEqualDays(day, selectedDate)}\n />\n )\n })}\n </div>\n ))}\n </div>\n </div>\n )\n}\n"],"names":["CalendarDayPickerDay"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarRangePicker.js","sources":["../../../../src/components/Calendar/CalendarRangePicker/CalendarRangePicker.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from \"react\"\nimport { CalendarRangePickerMonth } from \"./CalendarRangePickerMonth\"\nimport classNames from \"classnames\"\nimport { Hint } from \"../../Form/Hint\"\nimport addMonths from \"date-fns/addMonths\"\nimport { FormElementStatus } from \"../../Form/form\"\nimport startOfDay from \"date-fns/startOfDay\"\nimport cx from \"classnames\"\n\nexport interface RangeConstraintInterface {\n value: number\n message: string\n}\n\nexport interface RangeConstraintsInterface {\n min?: RangeConstraintInterface\n max?: RangeConstraintInterface\n}\n\nexport interface DayStatusInterface {\n isRangeExceeded?: boolean\n isRangeTooShort?: boolean\n isCustomInvalid?: boolean\n isDisabled?: boolean\n}\n\nexport type CalendarRangePickerPropsType = {\n numberOfMonths?: number\n firstMonthDate?: Date\n rangeConstraints?: RangeConstraintsInterface\n firstAvailableDate?: Date\n lastAvailableDate?: Date\n isEditingStartDate: boolean\n isEditingEndDate: boolean\n startDate: Date | undefined\n endDate: Date | undefined\n isDayDisabledFn?: (day: Date) => boolean\n hasDayNotificationFn?: (day: Date) => boolean\n isDayInvalidForSelectionFn?: (day: Date) => boolean\n isSundayFirstDayOfWeek?: boolean\n hint?: {\n status?: FormElementStatus\n html: string\n }\n onChangeDate?: (date: Date, status: DayStatusInterface) => boolean\n onLeaveDate?: (date: Date) => void\n onSelectDate?: (date: Date, isOutOfRange: boolean) => void\n locale?: Record<string, unknown>\n}\n\nexport function CalendarRangePicker({\n rangeConstraints,\n firstMonthDate = new Date(),\n numberOfMonths = 1,\n hint,\n firstAvailableDate = new Date(),\n lastAvailableDate,\n isEditingStartDate,\n isEditingEndDate,\n startDate,\n endDate,\n onChangeDate,\n onLeaveDate,\n onSelectDate,\n isDayDisabledFn,\n hasDayNotificationFn,\n isDayInvalidForSelectionFn,\n isSundayFirstDayOfWeek,\n locale,\n}: CalendarRangePickerPropsType) {\n const isFirstRender = useRef(true)\n\n firstMonthDate.setHours(0, 0, 0, 0)\n firstAvailableDate.setHours(0, 0, 0, 0)\n\n const [rangeDates, setRangeDates] = useState({\n startDate: startDate ? startOfDay(startDate) : undefined,\n endDate: endDate ? startOfDay(endDate) : undefined,\n })\n\n useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false\n return\n }\n setRangeDates({\n startDate: startDate ? startOfDay(startDate) : undefined,\n endDate: endDate ? startOfDay(endDate) : undefined,\n })\n }, [startDate, endDate])\n\n useEffect(() => {\n if (rangeDates.startDate && !rangeDates.endDate) {\n setRangeDates({ ...rangeDates, endDate: rangeDates.startDate })\n }\n }, [isEditingEndDate])\n\n useEffect(() => {\n if (rangeDates.endDate && !rangeDates.startDate) {\n setRangeDates({ ...rangeDates, startDate: rangeDates.endDate })\n }\n }, [isEditingStartDate])\n\n const handleSelectDate = (date: Date, isDateOutOfRange?: boolean) => {\n if (isDateOutOfRange && isEditingEndDate) return\n\n onSelectDate && onSelectDate(date, !!isDateOutOfRange)\n }\n\n const handleChangeDate = (date: Date, status: DayStatusInterface) => {\n const processChange =\n onChangeDate && (isEditingStartDate || isEditingEndDate)\n ? onChangeDate(date, status) !== false\n : true\n\n if (!processChange || status.isDisabled) return\n\n if (isEditingStartDate) {\n setRangeDates((prev) => ({ ...prev, startDate: date }))\n } else if (isEditingEndDate) {\n setRangeDates((prev) => ({ ...prev, endDate: date }))\n }\n }\n\n const months = [firstMonthDate]\n for (let i = 0; i < numberOfMonths - 1; i++) {\n months.push(addMonths(months[months.length - 1], 1))\n }\n\n return (\n <div\n className={cx(\"cobalt-CalendarRangePicker\", {\n \"cobalt-CalendarRangePicker--isEditing\":\n isEditingStartDate || isEditingEndDate,\n })}\n >\n <div className=\"cobalt-CalendarRangePicker__months-container\">\n {months.map((monthDate) => (\n <CalendarRangePickerMonth\n key={monthDate.getTime()}\n date={monthDate}\n startDate={rangeDates.startDate}\n endDate={rangeDates.endDate}\n onSelectDate={handleSelectDate}\n onChangeDate={handleChangeDate}\n onLeaveDate={onLeaveDate}\n isEditingStartDate={isEditingStartDate}\n isEditingEndDate={isEditingEndDate}\n rangeConstraints={rangeConstraints}\n firstAvailableDate={firstAvailableDate}\n lastAvailableDate={lastAvailableDate}\n isDayDisabledFn={isDayDisabledFn}\n hasDayNotificationFn={hasDayNotificationFn}\n isDayInvalidForSelectionFn={isDayInvalidForSelectionFn}\n isSundayFirstDayOfWeek={isSundayFirstDayOfWeek}\n locale={locale}\n />\n ))}\n </div>\n\n <div\n className={classNames(\"cobalt-CalendarRangePicker__message\", {\n \"cobalt-CalendarRangePicker__message--show\": !!hint,\n })}\n >\n {hint && <Hint status={hint.status}>{hint.html}</Hint>}\n </div>\n </div>\n )\n}\n"],"names":["classNames"],"mappings":";;;;;;;AAkDM,SAAU,mBAAmB,CAAC,EAClC,gBAAgB,EAChB,cAAc,GAAG,IAAI,IAAI,EAAE,EAC3B,cAAc,GAAG,CAAC,EAClB,IAAI,EACJ,kBAAkB,GAAG,IAAI,IAAI,EAAE,EAC/B,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,SAAS,EACT,OAAO,EACP,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,0BAA0B,EAC1B,sBAAsB,EACtB,MAAM,GACuB,EAAA;AAC7B,IAAA,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAElC,cAAc,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACnC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAEvC,IAAA,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC;AAC3C,QAAA,SAAS,EAAE,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,SAAS;AACxD,QAAA,OAAO,EAAE,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,SAAS;AACnD,KAAA,CAAC,CAAA;IAEF,SAAS,CAAC,MAAK;
|
|
1
|
+
{"version":3,"file":"CalendarRangePicker.js","sources":["../../../../src/components/Calendar/CalendarRangePicker/CalendarRangePicker.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from \"react\"\nimport { CalendarRangePickerMonth } from \"./CalendarRangePickerMonth\"\nimport classNames from \"classnames\"\nimport { Hint } from \"../../Form/Hint\"\nimport addMonths from \"date-fns/addMonths\"\nimport { FormElementStatus } from \"../../Form/form\"\nimport startOfDay from \"date-fns/startOfDay\"\nimport cx from \"classnames\"\n\nexport interface RangeConstraintInterface {\n value: number\n message: string\n}\n\nexport interface RangeConstraintsInterface {\n min?: RangeConstraintInterface\n max?: RangeConstraintInterface\n}\n\nexport interface DayStatusInterface {\n isRangeExceeded?: boolean\n isRangeTooShort?: boolean\n isCustomInvalid?: boolean\n isDisabled?: boolean\n}\n\nexport type CalendarRangePickerPropsType = {\n numberOfMonths?: number\n firstMonthDate?: Date\n rangeConstraints?: RangeConstraintsInterface\n firstAvailableDate?: Date\n lastAvailableDate?: Date\n isEditingStartDate: boolean\n isEditingEndDate: boolean\n startDate: Date | undefined\n endDate: Date | undefined\n isDayDisabledFn?: (day: Date) => boolean\n hasDayNotificationFn?: (day: Date) => boolean\n isDayInvalidForSelectionFn?: (day: Date) => boolean\n isSundayFirstDayOfWeek?: boolean\n hint?: {\n status?: FormElementStatus\n html: string\n }\n onChangeDate?: (date: Date, status: DayStatusInterface) => boolean\n onLeaveDate?: (date: Date) => void\n onSelectDate?: (date: Date, isOutOfRange: boolean) => void\n locale?: Record<string, unknown>\n}\n\nexport function CalendarRangePicker({\n rangeConstraints,\n firstMonthDate = new Date(),\n numberOfMonths = 1,\n hint,\n firstAvailableDate = new Date(),\n lastAvailableDate,\n isEditingStartDate,\n isEditingEndDate,\n startDate,\n endDate,\n onChangeDate,\n onLeaveDate,\n onSelectDate,\n isDayDisabledFn,\n hasDayNotificationFn,\n isDayInvalidForSelectionFn,\n isSundayFirstDayOfWeek,\n locale,\n}: CalendarRangePickerPropsType) {\n const isFirstRender = useRef(true)\n\n firstMonthDate.setHours(0, 0, 0, 0)\n firstAvailableDate.setHours(0, 0, 0, 0)\n\n const [rangeDates, setRangeDates] = useState({\n startDate: startDate ? startOfDay(startDate) : undefined,\n endDate: endDate ? startOfDay(endDate) : undefined,\n })\n\n useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false\n return\n }\n setRangeDates({\n startDate: startDate ? startOfDay(startDate) : undefined,\n endDate: endDate ? startOfDay(endDate) : undefined,\n })\n }, [startDate, endDate])\n\n useEffect(() => {\n if (rangeDates.startDate && !rangeDates.endDate) {\n setRangeDates({ ...rangeDates, endDate: rangeDates.startDate })\n }\n }, [isEditingEndDate])\n\n useEffect(() => {\n if (rangeDates.endDate && !rangeDates.startDate) {\n setRangeDates({ ...rangeDates, startDate: rangeDates.endDate })\n }\n }, [isEditingStartDate])\n\n const handleSelectDate = (date: Date, isDateOutOfRange?: boolean) => {\n if (isDateOutOfRange && isEditingEndDate) return\n\n onSelectDate && onSelectDate(date, !!isDateOutOfRange)\n }\n\n const handleChangeDate = (date: Date, status: DayStatusInterface) => {\n const processChange =\n onChangeDate && (isEditingStartDate || isEditingEndDate)\n ? onChangeDate(date, status) !== false\n : true\n\n if (!processChange || status.isDisabled) return\n\n if (isEditingStartDate) {\n setRangeDates((prev) => ({ ...prev, startDate: date }))\n } else if (isEditingEndDate) {\n setRangeDates((prev) => ({ ...prev, endDate: date }))\n }\n }\n\n const months = [firstMonthDate]\n for (let i = 0; i < numberOfMonths - 1; i++) {\n months.push(addMonths(months[months.length - 1], 1))\n }\n\n return (\n <div\n className={cx(\"cobalt-CalendarRangePicker\", {\n \"cobalt-CalendarRangePicker--isEditing\":\n isEditingStartDate || isEditingEndDate,\n })}\n >\n <div className=\"cobalt-CalendarRangePicker__months-container\">\n {months.map((monthDate) => (\n <CalendarRangePickerMonth\n key={monthDate.getTime()}\n date={monthDate}\n startDate={rangeDates.startDate}\n endDate={rangeDates.endDate}\n onSelectDate={handleSelectDate}\n onChangeDate={handleChangeDate}\n onLeaveDate={onLeaveDate}\n isEditingStartDate={isEditingStartDate}\n isEditingEndDate={isEditingEndDate}\n rangeConstraints={rangeConstraints}\n firstAvailableDate={firstAvailableDate}\n lastAvailableDate={lastAvailableDate}\n isDayDisabledFn={isDayDisabledFn}\n hasDayNotificationFn={hasDayNotificationFn}\n isDayInvalidForSelectionFn={isDayInvalidForSelectionFn}\n isSundayFirstDayOfWeek={isSundayFirstDayOfWeek}\n locale={locale}\n />\n ))}\n </div>\n\n <div\n className={classNames(\"cobalt-CalendarRangePicker__message\", {\n \"cobalt-CalendarRangePicker__message--show\": !!hint,\n })}\n >\n {hint && <Hint status={hint.status}>{hint.html}</Hint>}\n </div>\n </div>\n )\n}\n"],"names":["classNames"],"mappings":"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"}
|