@drivy/cobalt 0.39.0 → 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.
Files changed (38) hide show
  1. package/cjs/tokens/theme.js +171 -171
  2. package/components/Alerter/index.js.map +1 -1
  3. package/components/BasicCell/index.js.map +1 -1
  4. package/components/Buttons/helpers.js.map +1 -1
  5. package/components/Calendar/CalendarDayPicker/CalendarDayPicker.js.map +1 -1
  6. package/components/Calendar/CalendarDayPicker/CalendarDayPickerMonth.js.map +1 -1
  7. package/components/Calendar/CalendarRangePicker/CalendarRangePicker.js.map +1 -1
  8. package/components/Calendar/CalendarRangePicker/CalendarRangePickerMonth.js.map +1 -1
  9. package/components/Calendar/CalendarView/CalendarViewMonth.js.map +1 -1
  10. package/components/Calendar/utils.js.map +1 -1
  11. package/components/Chip/index.js.map +1 -1
  12. package/components/Form/Autocomplete/index.js.map +1 -1
  13. package/components/Form/Hint.js.map +1 -1
  14. package/components/Form/Stepper.js.map +1 -1
  15. package/components/Form/TextArea.js.map +1 -1
  16. package/components/Modal/index.js.map +1 -1
  17. package/components/PhotoDropzone/index.js.map +1 -1
  18. package/components/Rating/RatingIcons.js.map +1 -1
  19. package/components/Tabs/index.js.map +1 -1
  20. package/components/utils/Timer.js.map +1 -1
  21. package/components/utils/validateFile.js.map +1 -1
  22. package/hooks/useBreakpoint.js.map +1 -1
  23. package/hooks/useElementHeight.js.map +1 -1
  24. package/package.json +31 -32
  25. package/styles/components/Layout/{Layout.scss → Components/index.scss} +31 -16
  26. package/styles/components/Layout/Surfaces/index.scss +55 -0
  27. package/styles/components.scss +2 -1
  28. package/styles/core/palette.scss +0 -25
  29. package/styles/core/text.scss +1 -1
  30. package/tokens/theme.js +171 -171
  31. package/types/components/Layout/{LayoutCard.d.ts → Components/LayoutCard.d.ts} +2 -1
  32. package/types/components/Layout/{LayoutSection.d.ts → Components/LayoutSection.d.ts} +2 -1
  33. package/types/components/Layout/{LayoutStack.d.ts → Components/LayoutStack.d.ts} +4 -3
  34. package/types/components/Layout/Components/index.d.ts +4 -0
  35. package/types/components/Layout/Surfaces/index.d.ts +25 -0
  36. package/utilities.css +5 -30
  37. package/types/components/Layout/LayoutPageTitle.d.ts +0 -5
  38. /package/types/components/Layout/{LayoutSectionTitle.d.ts → Components/LayoutSectionTitle.d.ts} +0 -0
@@ -3,253 +3,253 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const background = {
6
- primary: "grey.lighter/white/black.500",
7
- secondary: "white/white/black.300",
6
+ primary: "white/black.500",
7
+ secondary: "white/black.300",
8
8
  secondaryInteractive: {
9
- DEFAULT: "white/white/black.300",
10
- hover: "grey.lighter/navy.50/black.300"
9
+ DEFAULT: "white/black.300",
10
+ hover: "navy.50/black.300"
11
11
  },
12
- accent: "purple/purple.500/purpleDeep.400",
12
+ accent: "purple.500/purpleDeep.400",
13
13
  accentInteractive: {
14
- DEFAULT: "purple/purple.500/purpleDeep.400",
15
- hover: "purple/purple.700/purpleDeep.400"
14
+ DEFAULT: "purple.500/purpleDeep.400",
15
+ hover: "purple.700/purpleDeep.400"
16
16
  },
17
- accentAlt: "indigo/purple.100/purpleDeep.900",
17
+ accentAlt: "purple.100/purpleDeep.900",
18
18
  accentAltInteractive: {
19
- DEFAULT: "indigo/purple.100/purpleDeep.900",
20
- hover: "indigo/purpleLight.100/purpleDeep.900"
19
+ DEFAULT: "purple.100/purpleDeep.900",
20
+ hover: "purpleLight.100/purpleDeep.900"
21
21
  },
22
- info: "grey.lighter/yellow.100/yellow.1000",
23
- error: "red/red.500/red.500",
22
+ info: "yellow.100/yellow.1000",
23
+ error: "red.500/red.500",
24
24
  errorInteractive: {
25
- DEFAULT: "red/red.500/red.500",
26
- hover: "red/red.700/red.500"
25
+ DEFAULT: "red.500/red.500",
26
+ hover: "red.700/red.500"
27
27
  },
28
- errorAlt: "graphite/red.100/red.900",
29
- success: "green/green.700/green.700",
30
- successAlt: "graphite/green.100/green.1000",
31
- connect: "turquoise/turquoise.500/turquoise.500",
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/turquoise.500/turquoise.500",
34
- hover: "turquoise/turquoise.700/turquoise.500"
33
+ DEFAULT: "turquoise.500/turquoise.500",
34
+ hover: "turquoise.700/turquoise.500"
35
35
  },
36
- connectAlt: "grey.light/turquoise.50/turquoise.900",
37
- driver: "deprecatedDriver/yellow.500/yellow.500",
38
- owner: "indigo.dark/navy.700/navy.700",
39
- disabled: "grey.light/navy.100/black.50",
40
- neutral: "grey.light/navy.100/black.50",
41
- neutralAlt: "grey.lighter/navy.50/black.100",
42
- seasonLow: "deprecatedSeasonLow/season.100/season.700",
43
- seasonMedium: "deprecatedSeasonMedium/season.200/season.800",
44
- seasonHigh: "deprecatedSeasonHigh/season.300/season.900",
45
- seasonVeryHigh: "deprecatedSeasonVeryHigh/season.400/season.1000",
46
- rideShare: "grey.dark/black.1000/black.1000"
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: "graphite/navy.700/grey.100",
49
+ base: "navy.700/grey.100",
50
50
  baseInteractive: {
51
- DEFAULT: "graphite/navy.700/grey.100",
52
- hover: "graphite/navy.300/grey.300"
51
+ DEFAULT: "navy.700/grey.100",
52
+ hover: "navy.300/grey.300"
53
53
  },
54
- subdued: "graphite.light/navy.300/grey.300",
54
+ subdued: "navy.300/grey.300",
55
55
  subduedInteractive: {
56
- DEFAULT: "graphite.light/navy.300/grey.300",
57
- hover: "graphite/navy.500/grey.300"
56
+ DEFAULT: "navy.300/grey.300",
57
+ hover: "navy.500/grey.300"
58
58
  },
59
- accent: "purple/purple.500/purpleDeep.400",
59
+ accent: "purple.500/purpleDeep.400",
60
60
  accentInteractive: {
61
- DEFAULT: "blue/purple.500/purpleDeep.400",
62
- hover: "blue/purple.700/purpleDeep.400"
61
+ DEFAULT: "purple.500/purpleDeep.400",
62
+ hover: "purple.700/purpleDeep.400"
63
63
  },
64
- accentAlt: "white/purple.500/grey.100",
64
+ accentAlt: "purple.500/grey.100",
65
65
  accentAltInteractive: {
66
- DEFAULT: "white/purple.500/grey.100",
67
- hover: "white/purple.700/grey.100"
66
+ DEFAULT: "purple.500/grey.100",
67
+ hover: "purple.700/grey.100"
68
68
  },
69
- info: "graphite.light/yellow.900/yellow.300",
70
- infoAlt: "turquoise/yellow.500/yellow.700",
71
- error: "red/red.500/red.400",
72
- errorAlt: "white/red.500/red.500",
73
- success: "green/green.700/green.700",
74
- successAlt: "white/green.900/green.100",
75
- warning: "coral/orange.500/orange.300",
76
- connect: "turquoise/turquoise.500/turquoise.500",
77
- connectAlt: "turquoise/turquoise.900/turquoise.50",
78
- driver: "graphite/navy.700/navy.700",
79
- owner: "white/white/grey.100",
80
- inversed: "white/white/white",
81
- disabled: "navy.200/navy.200/navy.200",
82
- onAccent: "white/white/white",
83
- onError: "white/white/white",
84
- onSuccess: "white/white/white",
85
- onRideShare: "white/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: "indigo/purple.100/purpleDeep.900",
88
+ selected: "purple.100/purpleDeep.900",
89
89
  destructiveInteractive: {
90
- DEFAULT: "red/red.100/red.900",
91
- hover: "red/red.120/red.900",
92
- press: "red/red.150/red.900"
90
+ DEFAULT: "red.100/red.900",
91
+ hover: "red.120/red.900",
92
+ press: "red.150/red.900"
93
93
  },
94
- disabled: "grey.lighter/navy.100/black.50",
94
+ disabled: "navy.100/black.50",
95
95
  primaryInteractive: {
96
- DEFAULT: "purple/purple.500/purpleDeep.500",
97
- hover: "indigo/purple.700/purpleDeep.500",
98
- press: "indigo.dark/purple.900/purpleDeep.500"
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/white/black.500",
102
- hover: "white/white/black.500",
103
- press: "white/white/black.500"
101
+ DEFAULT: "white/black.500",
102
+ hover: "white/black.500",
103
+ press: "white/black.500"
104
104
  },
105
- success: "green/green.700/green.900",
105
+ success: "green.700/green.900",
106
106
  successAltInteractive: {
107
- DEFAULT: "green/green.100/green.1000",
108
- hover: "green/green.120/green.1000",
109
- press: "green/green.150/green.1000"
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/white",
113
- hover: "white/white/white",
114
- press: "white/white/white"
112
+ DEFAULT: "white/white",
113
+ hover: "white/white",
114
+ press: "white/white"
115
115
  }
116
116
  };
117
117
  const buttonIcon = {
118
- selected: "white/purple.500/grey.100",
118
+ selected: "purple.500/grey.100",
119
119
  destructiveInteractive: {
120
- DEFAULT: "red/red.500/red.200",
121
- hover: "red/red.500/red.200",
122
- press: "red/red.500/red.200"
120
+ DEFAULT: "red.500/red.200",
121
+ hover: "red.500/red.200",
122
+ press: "red.500/red.200"
123
123
  },
124
- disabled: "graphite.light/navy.300/grey.300",
124
+ disabled: "navy.300/grey.300",
125
125
  primaryInteractive: {
126
- DEFAULT: "white/white/grey.100",
127
- hover: "white/white/grey.100",
128
- press: "white/white/grey.100"
126
+ DEFAULT: "white/grey.100",
127
+ hover: "white/grey.100",
128
+ press: "white/grey.100"
129
129
  },
130
130
  secondaryInteractive: {
131
- DEFAULT: "indigo/purple.500/purpleDeep.400",
132
- hover: "indigo/purple.700/purpleDeep.400",
133
- press: "indigo.dark/purple.900/purpleDeep.400"
131
+ DEFAULT: "purple.500/purpleDeep.400",
132
+ hover: "purple.700/purpleDeep.400",
133
+ press: "purple.900/purpleDeep.400"
134
134
  },
135
- success: "white/white/green.100",
135
+ success: "white/green.100",
136
136
  successAltInteractive: {
137
- DEFAULT: "white/green.900/green.100",
138
- hover: "white/green.900/green.100",
139
- press: "white/green.900/green.100"
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: "blue/purple.500/purpleDeep.400",
143
- hover: "blue/purple.700/purpleDeep.400",
144
- press: "blue/purple.900/purpleDeep.400"
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: "white/purple.500/grey.100",
148
+ selected: "purple.500/grey.100",
149
149
  destructiveInteractive: {
150
- DEFAULT: "white/red.500/red.200",
151
- hover: "white/red.500/red.200",
152
- press: "white/red.500/red.200"
150
+ DEFAULT: "red.500/red.200",
151
+ hover: "red.500/red.200",
152
+ press: "red.500/red.200"
153
153
  },
154
- disabled: "graphite.light/navy.300/grey.300",
154
+ disabled: "navy.300/grey.300",
155
155
  primaryInteractive: {
156
- DEFAULT: "white/white/grey.100",
157
- hover: "white/white/grey.100",
158
- press: "white/white/grey.100"
156
+ DEFAULT: "white/grey.100",
157
+ hover: "white/grey.100",
158
+ press: "white/grey.100"
159
159
  },
160
160
  secondaryInteractive: {
161
- DEFAULT: "indigo/purple.500/purpleDeep.400",
162
- hover: "indigo/purple.700/purpleDeep.400",
163
- press: "indigo.dark/purple.900/purpleDeep.400"
161
+ DEFAULT: "purple.500/purpleDeep.400",
162
+ hover: "purple.700/purpleDeep.400",
163
+ press: "purple.900/purpleDeep.400"
164
164
  },
165
- success: "white/white/green.100",
165
+ success: "white/green.100",
166
166
  successAltInteractive: {
167
- DEFAULT: "white/green.900/green.100",
168
- hover: "white/green.900/green.100",
169
- press: "white/green.900/green.100"
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: "blue/purple.500/purpleDeep.400",
173
- hover: "blue/purple.700/purpleDeep.400",
174
- press: "blue/purple.900/purpleDeep.400"
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: "graphite/navy.500/grey.100",
178
+ base: "navy.500/grey.100",
179
179
  baseInteractive: {
180
- DEFAULT: "graphite/navy.500/grey.100",
181
- hover: "graphite/navy.700/grey.100"
180
+ DEFAULT: "navy.500/grey.100",
181
+ hover: "navy.700/grey.100"
182
182
  },
183
- subdued: "graphite.light/navy.300/grey.300",
183
+ subdued: "navy.300/grey.300",
184
184
  subduedInteractive: {
185
- DEFAULT: "graphite.light/navy.300/grey.300",
186
- hover: "graphite/navy.500/grey.300"
185
+ DEFAULT: "navy.300/grey.300",
186
+ hover: "navy.500/grey.300"
187
187
  },
188
- accent: "purple/purple.500/purpleDeep.400",
188
+ accent: "purple.500/purpleDeep.400",
189
189
  accentInteractive: {
190
- DEFAULT: "purple/purple.500/purpleDeep.400",
191
- hover: "indigo/purple.700//purpleDeep.400"
190
+ DEFAULT: "purple.500/purpleDeep.400",
191
+ hover: "purple.700//purpleDeep.400"
192
192
  },
193
- accentAlt: "white/purple.500/grey.100",
193
+ accentAlt: "purple.500/grey.100",
194
194
  accentAltInteractive: {
195
- DEFAULT: "white/purple.500/grey.100",
196
- hover: "white/purple.700/grey.100"
195
+ DEFAULT: "purple.500/grey.100",
196
+ hover: "purple.700/grey.100"
197
197
  },
198
- info: "graphite.light/yellow.900/yellow.300",
199
- infoAlt: "turquoise/yellow.500/yellow.700",
200
- error: "red/red.500/red.400",
201
- errorAlt: "red/red.500/red.200",
202
- success: "green/green.700/green.700",
203
- successAlt: "white/green.900/green.100",
204
- warning: "coral/orange.500/orange.300",
205
- connect: "turquoise/turquoise.500/white",
206
- connectAlt: "turquoise/turquoise.900/turquoise.50",
207
- driver: "graphite/navy.700//navy.700",
208
- owner: "white/white/white",
209
- inversed: "white/white/white",
210
- disabled: "grey.lighter/navy.100/black.50",
211
- rideShare: "grey.dark/black.1000/white",
212
- onRideShare: "white/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: "grey/navy.100/black.50",
215
+ base: "navy.100/black.50",
216
216
  baseInteractive: {
217
- DEFAULT: "grey/navy.100/black.50",
218
- hover: "graphite.light/navy.300/purpleDeep.400",
219
- press: "graphite/navy.500/purpleDeep.400"
217
+ DEFAULT: "navy.100/black.50",
218
+ hover: "navy.300/purpleDeep.400",
219
+ press: "navy.500/purpleDeep.400"
220
220
  },
221
- strong: "grey.dark/navy.300/navy.200",
221
+ strong: "navy.300/navy.200",
222
222
  strongInteractive: {
223
- DEFAULT: "grey.dark/navy.300/navy.200",
224
- hover: "graphite.light/navy.500/purpleDeep.400",
225
- press: "graphite/navy.700/purpleDeep.400"
223
+ DEFAULT: "navy.300/navy.200",
224
+ hover: "navy.500/purpleDeep.400",
225
+ press: "navy.700/purpleDeep.400"
226
226
  },
227
- subdued: "grey.light/navy.100/black.50",
228
- accent: "indigo/purple.500/purpleDeep.400",
227
+ subdued: "navy.100/black.50",
228
+ accent: "purple.500/purpleDeep.400",
229
229
  accentInteractive: {
230
- DEFAULT: "indigo/purple.500/purpleDeep.400",
231
- hover: "indigo/purple.700/purpleDeep.400",
232
- press: "indigo.dark/purple.900/purpleDeep.400"
230
+ DEFAULT: "purple.500/purpleDeep.400",
231
+ hover: "purple.700/purpleDeep.400",
232
+ press: "purple.900/purpleDeep.400"
233
233
  },
234
- accentAlt: "purple/purple.300/purpleDeep.700",
235
- error: "red/red.500/red.200",
236
- errorAlt: "red/red.500/red.200",
237
- success: "green/green.500/green.700",
238
- successAlt: "green/green.500/green.700",
239
- onAccent: "white/white/white",
240
- onError: "white/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: "graphite/navy.500/grey.100",
244
- secondary: "turquoise/yellow.500/yellow.500",
245
- subdued: "grey.light/navy.100/black.50",
246
- accent: "purple/purple.500/purpleDeep.400",
247
- accentAlt: "purple/purple.100/purpleDeep.900",
248
- error: "red/red.500/red.500",
249
- negative: "red/red.150/red.900",
250
- success: "green/green.500/green.700",
251
- disabled: "grey.dark/navy.300/grey.300",
252
- neutral: "grey.lighter/navy.50/black.100"
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":"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"}
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;SAC/C,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;AACF,KAAA;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
+ {"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;AAC3D,KAAA;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
+ {"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;QACb,IAAI,aAAa,CAAC,OAAO,EAAE;AACzB,YAAA,aAAa,CAAC,OAAO,GAAG,KAAK,CAAA;YAC7B,OAAM;AACP,SAAA;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;AACrD,KAAA;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
+ {"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;AACpC,QAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE;YAC3C,YAAY,CAAC,UAAU,CAAC,CAAA;AACzB,SAAA;AACH,KAAC,CAAA;IAED,QACE,KACE,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,iCAAiC,EAC/B,YAAA,EAAA,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,EAAA;AAEpC,QAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,wCAAwC,EAAA,EACpD,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,CAAC,CACnC;QACN,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,kDAAkD,EAAA;AAC/D,YAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,8CAA8C,EAC1D,EAAA,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,MACpB,KACE,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,EACtB,SAAS,EAAC,6CAA6C,EAEtD,EAAA,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAClC,CACP,CAAC,CACE;AACL,YAAA,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,MAC/B,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,KAAK,EAAE,SAAS,EAAC,uCAAuC,EAAA,EAC/D,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAI;gBAChB,QACE,KAAC,CAAA,aAAA,CAAAA,iBAAoB,EACnB,EAAA,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,EAClB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,WAAW,EACzB,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,EAC9B,QAAQ,EAAE,UAAU,CAClB,GAAG,EACH,kBAAkB,EAClB,iBAAiB,CAClB,EACD,QAAQ,EAAE,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,EACzC,CAAA,EACH;AACH,aAAC,CAAC,CACE,CACP,CAAC,CACE,CACF,EACP;AACH;;;;"}
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":"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"}
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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"}