@rio-cloud/rio-uikit 2.3.0-beta.2 → 2.3.0-beta.3
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/Marker.js +9 -5
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.d.ts +38 -3
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.js +104 -109
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.js.map +1 -1
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.d.ts +24 -5
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.js +60 -56
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.js.map +1 -1
- package/components/datepicker/DayPicker.js +72 -70
- package/components/datepicker/DayPicker.js.map +1 -1
- package/components/datepicker/DayPickerDropdown.d.ts +1 -0
- package/components/datepicker/DayPickerDropdown.js +61 -48
- package/components/datepicker/DayPickerDropdown.js.map +1 -1
- package/components/datepicker/useStackedDayPickerCalendars.js +26 -26
- package/components/datepicker/useStackedDayPickerCalendars.js.map +1 -1
- package/components/listMenu/ListMenu.d.ts +8 -0
- package/components/listMenu/ListMenu.js +74 -66
- package/components/listMenu/ListMenu.js.map +1 -1
- package/components/map/components/Map.js +189 -157
- package/components/map/components/Map.js.map +1 -1
- package/components/map/components/MapContext.d.ts +1 -0
- package/components/map/components/MapContext.js +8 -7
- package/components/map/components/MapContext.js.map +1 -1
- package/components/map/components/features/Route.d.ts +65 -1
- package/components/map/components/features/Route.js +184 -98
- package/components/map/components/features/Route.js.map +1 -1
- package/components/map/components/features/basics/Marker.d.ts +21 -1
- package/components/map/components/features/basics/Marker.js +99 -40
- package/components/map/components/features/basics/Marker.js.map +1 -1
- package/components/map/components/features/basics/Polygon.d.ts +24 -1
- package/components/map/components/features/basics/Polygon.js +72 -19
- package/components/map/components/features/basics/Polygon.js.map +1 -1
- package/components/map/components/features/basics/Polyline.d.ts +29 -0
- package/components/map/components/features/basics/Polyline.js +69 -39
- package/components/map/components/features/basics/Polyline.js.map +1 -1
- package/components/map/components/features/layers/MarkerLayer.js +8 -8
- package/components/map/components/features/layers/MarkerLayer.js.map +1 -1
- package/components/map/components/features/layers/clustering/SimpleClusterLayer.js +13 -6
- package/components/map/components/features/layers/clustering/SimpleClusterLayer.js.map +1 -1
- package/components/map/utils/clustering.d.ts +1 -1
- package/components/map/utils/clustering.js +30 -30
- package/components/map/utils/clustering.js.map +1 -1
- package/components/map/utils/mapTypes.d.ts +135 -0
- package/components/map/utils/mapTypes.js.map +1 -1
- package/components/mapMarker/ClusterMapMarker.d.ts +2 -0
- package/components/mapMarker/ClusterMapMarker.js.map +1 -1
- package/components/mapMarker/SingleMapMarker.d.ts +2 -0
- package/components/mapMarker/SingleMapMarker.js.map +1 -1
- package/components/selects/ClearButton.js +9 -7
- package/components/selects/ClearButton.js.map +1 -1
- package/components/table/Table.js +208 -205
- package/components/table/Table.js.map +1 -1
- package/components/table/Table.types.d.ts +13 -4
- package/components/table/TableColumn.d.ts +8 -1
- package/components/table/TableColumn.js +66 -64
- package/components/table/TableColumn.js.map +1 -1
- package/components/table/TableExpandedRow.js +11 -11
- package/components/table/TableExpandedRow.js.map +1 -1
- package/components/table/TableHeader.d.ts +17 -0
- package/components/table/TableHeader.js +89 -76
- package/components/table/TableHeader.js.map +1 -1
- package/components/table/TableHeaderColumn.d.ts +11 -1
- package/components/table/TableHeaderColumn.js +63 -58
- package/components/table/TableHeaderColumn.js.map +1 -1
- package/components/table/TableRow.d.ts +6 -0
- package/components/table/TableRow.js +49 -48
- package/components/table/TableRow.js.map +1 -1
- package/components/table/context/TableLayoutContext.d.ts +1 -0
- package/components/table/context/TableLayoutContext.js.map +1 -1
- package/components/table/layout/useHorizontalSectionSync.d.ts +2 -1
- package/components/table/layout/useHorizontalSectionSync.js +32 -31
- package/components/table/layout/useHorizontalSectionSync.js.map +1 -1
- package/components/table/layout/useTableLayout.d.ts +2 -1
- package/components/table/layout/useTableLayout.js +37 -30
- package/components/table/layout/useTableLayout.js.map +1 -1
- package/components/table/render/header/TableDraggableHeaderCell.js +38 -36
- package/components/table/render/header/TableDraggableHeaderCell.js.map +1 -1
- package/components/table/render/header/TableHeader.types.d.ts +2 -0
- package/components/table/render/header/TableHeaderCellContent.js +16 -16
- package/components/table/render/header/TableHeaderCellContent.js.map +1 -1
- package/components/table/render/header/TableStaticHeaderCell.js +31 -29
- package/components/table/render/header/TableStaticHeaderCell.js.map +1 -1
- package/components/table/render/header/resolveHeaderCellClassName.d.ts +1 -0
- package/components/table/render/header/resolveHeaderCellClassName.js +10 -9
- package/components/table/render/header/resolveHeaderCellClassName.js.map +1 -1
- package/components/table/runtime/useResolvedRenderColumns.d.ts +4 -4
- package/components/table/runtime/useResolvedRenderColumns.js +13 -13
- package/components/table/runtime/useResolvedRenderColumns.js.map +1 -1
- package/components/table/runtime/useResolvedRenderHeader.d.ts +1 -1
- package/components/table/runtime/useResolvedRenderHeader.js.map +1 -1
- package/hooks/useDraggableElement.d.ts +27 -5
- package/hooks/useDraggableElement.js +100 -23
- package/hooks/useDraggableElement.js.map +1 -1
- package/hooks/usePopperDropdown.d.ts +1 -0
- package/hooks/usePopperDropdown.js +15 -12
- package/hooks/usePopperDropdown.js.map +1 -1
- package/package.json +1 -1
- package/utils/analytics/createAnalyticsOverlayTooltip.js.map +1 -1
- package/utils/init/initConfig.js +5 -5
- package/utils/init/initConfig.js.map +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.js.map +1 -1
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { jsx as i, jsxs as $, Fragment as q } from "react/jsx-runtime";
|
|
2
|
-
import { useState as H, useRef as J, useEffect as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import { getOrCreatePortalRoot as
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import { isSingleDayPickerProps as L, isMultipleDayPickerProps as Q, isRangeDayPickerProps as
|
|
13
|
-
import
|
|
2
|
+
import { useState as H, useRef as J, useEffect as Re } from "react";
|
|
3
|
+
import Ie from "react-dom";
|
|
4
|
+
import Ne from "../../hooks/useClickOutside.js";
|
|
5
|
+
import Be from "../../hooks/useKey.js";
|
|
6
|
+
import Me from "../../hooks/usePopperDropdown.js";
|
|
7
|
+
import Ve from "../../utils/classNames.js";
|
|
8
|
+
import { getOrCreatePortalRoot as Ee } from "../../utils/portalRoot.js";
|
|
9
|
+
import Fe from "./DayPickerCalendar.js";
|
|
10
|
+
import je from "./DayPickerDropdown.js";
|
|
11
|
+
import Ge from "./DayPickerInput.js";
|
|
12
|
+
import { isSingleDayPickerProps as L, isMultipleDayPickerProps as Q, isRangeDayPickerProps as Te } from "./dayPickerTypes.js";
|
|
13
|
+
import xe from "./useDayPickerInputState.js";
|
|
14
14
|
import "date-fns";
|
|
15
15
|
import "date-fns/locale";
|
|
16
|
-
const
|
|
16
|
+
const Ae = (e) => Object.hasOwn(e, "value"), Ke = (e) => Object.hasOwn(e, "closeOnSelect"), w = (e, o) => typeof e == "function" ? e(o) : e ?? null, nt = (e) => {
|
|
17
17
|
const {
|
|
18
18
|
id: o,
|
|
19
19
|
name: l,
|
|
@@ -24,7 +24,7 @@ const xe = (e) => Object.hasOwn(e, "value"), Ae = (e) => Object.hasOwn(e, "close
|
|
|
24
24
|
dateFormat: U,
|
|
25
25
|
onBlur: X,
|
|
26
26
|
inputProps: c,
|
|
27
|
-
errorMessage:
|
|
27
|
+
errorMessage: S,
|
|
28
28
|
warningMessage: k,
|
|
29
29
|
messageWhiteSpace: M = "normal",
|
|
30
30
|
inputClassName: Y,
|
|
@@ -38,21 +38,22 @@ const xe = (e) => Object.hasOwn(e, "value"), Ae = (e) => Object.hasOwn(e, "close
|
|
|
38
38
|
isClearable: re = !1,
|
|
39
39
|
closeOnOutsideClick: V = !0,
|
|
40
40
|
selectionBehavior: I = "immediate"
|
|
41
|
-
} = e, E =
|
|
41
|
+
} = e, E = Ae(e), N = L(e), oe = Ke(e) ? e.closeOnSelect !== !1 : I !== "deferred", [ae, ie] = H(e.defaultValue), s = E ? e.value : ae, [y, d] = H(s), {
|
|
42
42
|
isOpen: a,
|
|
43
43
|
open: D,
|
|
44
44
|
close: B,
|
|
45
|
+
update: le,
|
|
45
46
|
referenceRef: O,
|
|
46
|
-
popperElementRef:
|
|
47
|
-
popperStyles:
|
|
48
|
-
popperAttributes:
|
|
49
|
-
} =
|
|
50
|
-
|
|
47
|
+
popperElementRef: ce,
|
|
48
|
+
popperStyles: se,
|
|
49
|
+
popperAttributes: de
|
|
50
|
+
} = Me({ placement: ne ? "bottom-end" : "bottom-start" }), C = J(null), F = J(null);
|
|
51
|
+
Re(() => {
|
|
51
52
|
d(s);
|
|
52
53
|
}, [s]);
|
|
53
|
-
const
|
|
54
|
-
F.current = t,
|
|
55
|
-
},
|
|
54
|
+
const ue = (t) => {
|
|
55
|
+
F.current = t, ce(t);
|
|
56
|
+
}, fe = (t, n) => {
|
|
56
57
|
if (N) {
|
|
57
58
|
e.onChange?.(t, n);
|
|
58
59
|
return;
|
|
@@ -61,16 +62,16 @@ const xe = (e) => Object.hasOwn(e, "value"), Ae = (e) => Object.hasOwn(e, "close
|
|
|
61
62
|
e.onChange?.(t, n);
|
|
62
63
|
return;
|
|
63
64
|
}
|
|
64
|
-
|
|
65
|
+
Te(e) && e.onChange?.(t, n);
|
|
65
66
|
}, b = (t, n = {}) => {
|
|
66
|
-
E || ie(t), d(t),
|
|
67
|
-
},
|
|
67
|
+
E || ie(t), d(t), fe(t, n);
|
|
68
|
+
}, ge = () => {
|
|
68
69
|
b(void 0, {});
|
|
69
70
|
}, u = () => {
|
|
70
71
|
B(), d(s);
|
|
71
72
|
}, j = () => {
|
|
72
73
|
b(y, {}), B();
|
|
73
|
-
},
|
|
74
|
+
}, me = Ne(
|
|
74
75
|
(t) => {
|
|
75
76
|
if (!V)
|
|
76
77
|
return;
|
|
@@ -79,28 +80,28 @@ const xe = (e) => Object.hasOwn(e, "value"), Ae = (e) => Object.hasOwn(e, "close
|
|
|
79
80
|
u();
|
|
80
81
|
return;
|
|
81
82
|
}
|
|
82
|
-
const f = O.current?.contains(n),
|
|
83
|
-
f ||
|
|
83
|
+
const f = O.current?.contains(n), P = C.current?.contains(n);
|
|
84
|
+
f || P || u();
|
|
84
85
|
},
|
|
85
86
|
void 0,
|
|
86
87
|
a
|
|
87
88
|
);
|
|
88
|
-
|
|
89
|
+
Be("Escape", (t) => {
|
|
89
90
|
const n = t.target;
|
|
90
91
|
if (!n || !a)
|
|
91
92
|
return;
|
|
92
|
-
const f = C.current && C.current === n,
|
|
93
|
-
(f ||
|
|
93
|
+
const f = C.current && C.current === n, P = !!O.current?.contains(n);
|
|
94
|
+
(f || P) && u();
|
|
94
95
|
});
|
|
95
96
|
const {
|
|
96
97
|
displayValue: G,
|
|
97
|
-
handleInputBlur:
|
|
98
|
-
handleInputChange:
|
|
98
|
+
handleInputBlur: he,
|
|
99
|
+
handleInputChange: pe,
|
|
99
100
|
handleClearInput: T,
|
|
100
|
-
handleInputFocus:
|
|
101
|
-
handleInputKeyDown:
|
|
102
|
-
inputMaskProps:
|
|
103
|
-
} =
|
|
101
|
+
handleInputFocus: Ce,
|
|
102
|
+
handleInputKeyDown: be,
|
|
103
|
+
inputMaskProps: Pe
|
|
104
|
+
} = xe({
|
|
104
105
|
props: e,
|
|
105
106
|
locale: m,
|
|
106
107
|
dateFormat: U,
|
|
@@ -114,7 +115,7 @@ const xe = (e) => Object.hasOwn(e, "value"), Ae = (e) => Object.hasOwn(e, "close
|
|
|
114
115
|
draftValue: y,
|
|
115
116
|
setDraftValue: d,
|
|
116
117
|
commitValue: b,
|
|
117
|
-
clearValue:
|
|
118
|
+
clearValue: ge,
|
|
118
119
|
openDropdown: D,
|
|
119
120
|
closeDropdown: u,
|
|
120
121
|
applyDraftValue: j,
|
|
@@ -127,7 +128,7 @@ const xe = (e) => Object.hasOwn(e, "value"), Ae = (e) => Object.hasOwn(e, "close
|
|
|
127
128
|
return;
|
|
128
129
|
}
|
|
129
130
|
D();
|
|
130
|
-
}, r =
|
|
131
|
+
}, r = We({
|
|
131
132
|
props: e,
|
|
132
133
|
value: s,
|
|
133
134
|
draftValue: y,
|
|
@@ -143,40 +144,41 @@ const xe = (e) => Object.hasOwn(e, "value"), Ae = (e) => Object.hasOwn(e, "close
|
|
|
143
144
|
isOpen: a,
|
|
144
145
|
open: D,
|
|
145
146
|
toggle: Se
|
|
146
|
-
}) : null,
|
|
147
|
+
}) : null, ke = (t, n) => {
|
|
147
148
|
if (n.disabled || n.hidden)
|
|
148
149
|
return;
|
|
149
150
|
const f = I === "immediate";
|
|
150
151
|
f ? b(t, n) : d(t);
|
|
151
|
-
const
|
|
152
|
-
oe &&
|
|
153
|
-
}, K = !!(
|
|
152
|
+
const P = g !== "range" || !!t?.from && !!t?.to;
|
|
153
|
+
oe && P && (f || b(t, n), B());
|
|
154
|
+
}, K = !!(S || k), ye = {
|
|
154
155
|
...c,
|
|
155
156
|
name: l || c?.name,
|
|
156
157
|
autoComplete: c?.autoComplete || "off",
|
|
157
158
|
placeholder: h || c?.placeholder
|
|
158
|
-
},
|
|
159
|
-
|
|
159
|
+
}, De = r.leftSidebar ? w(r.leftSidebar, r.renderProps) : null, Oe = r.rightSidebar ? w(r.rightSidebar, r.renderProps) : null, we = r.footer ? w(r.footer, r.renderProps) : null, W = R ? Ee() : null, z = /* @__PURE__ */ i(
|
|
160
|
+
je,
|
|
160
161
|
{
|
|
161
|
-
assignPopperElement:
|
|
162
|
-
popperStyles:
|
|
163
|
-
popperAttributes:
|
|
162
|
+
assignPopperElement: ue,
|
|
163
|
+
popperStyles: se,
|
|
164
|
+
popperAttributes: de,
|
|
164
165
|
enableStackedCalendars: (e.numberOfMonths ?? 1) > 1,
|
|
165
166
|
dropdownClassName: _,
|
|
166
|
-
outsideRef:
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
167
|
+
outsideRef: me,
|
|
168
|
+
updatePopperPosition: le,
|
|
169
|
+
leftSidebar: De,
|
|
170
|
+
rightSidebar: Oe,
|
|
171
|
+
footer: we,
|
|
170
172
|
leftSidebarClassName: v,
|
|
171
173
|
rightSidebarClassName: ee,
|
|
172
174
|
footerClassName: te,
|
|
173
175
|
children: /* @__PURE__ */ i(
|
|
174
|
-
|
|
176
|
+
Fe,
|
|
175
177
|
{
|
|
176
178
|
...e,
|
|
177
179
|
size: "sm",
|
|
178
180
|
value: y,
|
|
179
|
-
onChange:
|
|
181
|
+
onChange: ke,
|
|
180
182
|
className: "margin-15"
|
|
181
183
|
}
|
|
182
184
|
)
|
|
@@ -186,18 +188,18 @@ const xe = (e) => Object.hasOwn(e, "value"), Ae = (e) => Object.hasOwn(e, "close
|
|
|
186
188
|
/* @__PURE__ */ i(
|
|
187
189
|
"div",
|
|
188
190
|
{
|
|
189
|
-
className:
|
|
191
|
+
className: Ve(
|
|
190
192
|
"form-group",
|
|
191
193
|
K && "has-feedback",
|
|
192
|
-
|
|
194
|
+
S && "has-error",
|
|
193
195
|
k && "has-warning",
|
|
194
196
|
Z
|
|
195
197
|
),
|
|
196
198
|
children: A ? /* @__PURE__ */ $(q, { children: [
|
|
197
199
|
/* @__PURE__ */ i("div", { ref: O, className: "display-inline-block", children: A }),
|
|
198
|
-
K ? /* @__PURE__ */ i("span", { className: `help-block white-space-${M}`, children: /* @__PURE__ */ i("span", { children:
|
|
200
|
+
K ? /* @__PURE__ */ i("span", { className: `help-block white-space-${M}`, children: /* @__PURE__ */ i("span", { children: S || k }) }) : null
|
|
199
201
|
] }) : /* @__PURE__ */ i(
|
|
200
|
-
|
|
202
|
+
Ge,
|
|
201
203
|
{
|
|
202
204
|
id: o,
|
|
203
205
|
triggerRef: O,
|
|
@@ -206,29 +208,29 @@ const xe = (e) => Object.hasOwn(e, "value"), Ae = (e) => Object.hasOwn(e, "close
|
|
|
206
208
|
iconName: p,
|
|
207
209
|
isSingleMode: N,
|
|
208
210
|
isClearable: re,
|
|
209
|
-
inputMaskProps:
|
|
210
|
-
mergedInputProps:
|
|
211
|
+
inputMaskProps: Pe,
|
|
212
|
+
mergedInputProps: ye,
|
|
211
213
|
inputClassName: Y,
|
|
212
|
-
errorMessage:
|
|
214
|
+
errorMessage: S,
|
|
213
215
|
warningMessage: k,
|
|
214
216
|
messageWhiteSpace: M,
|
|
215
|
-
onChange:
|
|
217
|
+
onChange: pe,
|
|
216
218
|
onAddonClick: x,
|
|
217
219
|
onClick: (t) => {
|
|
218
220
|
c?.onClick?.(t), x();
|
|
219
221
|
},
|
|
220
|
-
onFocus:
|
|
221
|
-
onBlur:
|
|
222
|
-
onKeyDown:
|
|
222
|
+
onFocus: Ce,
|
|
223
|
+
onBlur: he,
|
|
224
|
+
onKeyDown: be,
|
|
223
225
|
onClear: T
|
|
224
226
|
}
|
|
225
227
|
)
|
|
226
228
|
}
|
|
227
229
|
),
|
|
228
|
-
a && R && W &&
|
|
230
|
+
a && R && W && Ie.createPortal(z, W),
|
|
229
231
|
a && !R && z
|
|
230
232
|
] });
|
|
231
|
-
},
|
|
233
|
+
}, We = ({
|
|
232
234
|
props: e,
|
|
233
235
|
value: o,
|
|
234
236
|
draftValue: l,
|
|
@@ -283,7 +285,7 @@ const xe = (e) => Object.hasOwn(e, "value"), Ae = (e) => Object.hasOwn(e, "close
|
|
|
283
285
|
}
|
|
284
286
|
};
|
|
285
287
|
export {
|
|
286
|
-
|
|
287
|
-
|
|
288
|
+
Fe as DayPickerCalendar,
|
|
289
|
+
nt as default
|
|
288
290
|
};
|
|
289
291
|
//# sourceMappingURL=DayPicker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DayPicker.js","sources":["../../../src/components/datepicker/DayPicker.tsx"],"sourcesContent":["import { useEffect, useRef, useState, type ReactNode } from 'react';\nimport ReactDOM from 'react-dom';\n\nimport useClickOutside from '../../hooks/useClickOutside';\nimport useKey from '../../hooks/useKey';\nimport usePopperDropdown from '../../hooks/usePopperDropdown';\nimport classNames from '../../utils/classNames';\nimport { getOrCreatePortalRoot } from '../../utils/portalRoot';\n\nimport DayPickerCalendar from './DayPickerCalendar';\nimport DayPickerDropdown from './DayPickerDropdown';\nimport DayPickerInput from './DayPickerInput';\nimport {\n isMultipleDayPickerProps,\n isRangeDayPickerProps,\n isSingleDayPickerProps,\n type DateRange,\n type DayPickerProps,\n type DayPickerSelection,\n type Modifiers,\n} from './dayPickerTypes';\nimport useDayPickerInputState from './useDayPickerInputState';\nexport { supportedDayPickerLocales } from './dayPickerUtils';\n\nexport type {\n DateRange,\n DayPickerCalendarProps,\n DayPickerProps,\n DayPickerSlotRenderProps,\n DayPickerTriggerRenderProps,\n Modifiers,\n} from './dayPickerTypes';\nexport { default as DayPickerCalendar } from './DayPickerCalendar';\n\nconst hasValueProp = (props: DayPickerProps) => Object.hasOwn(props, 'value');\nconst hasCloseOnSelectProp = (props: DayPickerProps) => Object.hasOwn(props, 'closeOnSelect');\n\nconst renderSlot = (slot: unknown, slotProps: unknown) => {\n if (typeof slot === 'function') {\n return (slot as (props: unknown) => ReactNode)(slotProps);\n }\n\n return (slot as ReactNode) ?? null;\n};\n\nconst DayPicker = (props: DayPickerProps) => {\n const {\n id,\n name,\n mode = 'single',\n locale = 'en-GB',\n placeholder,\n iconName = 'rioglyph-calendar',\n dateFormat,\n onBlur,\n inputProps,\n errorMessage,\n warningMessage,\n messageWhiteSpace = 'normal',\n inputClassName,\n className,\n dropdownClassName,\n leftSidebarClassName,\n rightSidebarClassName,\n footerClassName,\n usePortal = false,\n alignRight,\n isClearable = false,\n closeOnOutsideClick = true,\n selectionBehavior = 'immediate',\n } = props;\n\n const isControlled = hasValueProp(props);\n const isSingleMode = isSingleDayPickerProps(props);\n const closeOnSelect = hasCloseOnSelectProp(props)\n ? props.closeOnSelect !== false\n : selectionBehavior !== 'deferred';\n const [internalValue, setInternalValue] = useState<DayPickerSelection>(props.defaultValue);\n const committedValue = (isControlled ? props.value : internalValue) as DayPickerSelection;\n const [draftValue, setDraftValue] = useState<DayPickerSelection>(committedValue);\n\n const {\n isOpen: isDropdownOpen,\n open: openPopper,\n close: closePopper,\n referenceRef: popperRef,\n popperElementRef: setPopperElement,\n popperStyles,\n popperAttributes,\n } = usePopperDropdown({ placement: alignRight ? 'bottom-end' : 'bottom-start' });\n\n const inputRef = useRef<HTMLInputElement | null>(null);\n const popperElementRef = useRef<HTMLElement | null>(null);\n\n useEffect(() => {\n setDraftValue(committedValue);\n }, [committedValue]);\n\n const assignPopperElement = (element: HTMLElement | null) => {\n popperElementRef.current = element;\n setPopperElement(element);\n };\n\n const notifyChange = (value: DayPickerSelection, modifiers: Modifiers) => {\n if (isSingleMode) {\n props.onChange?.(value as Date | undefined, modifiers);\n return;\n }\n\n if (isMultipleDayPickerProps(props)) {\n props.onChange?.(value as Date[] | undefined, modifiers);\n return;\n }\n\n if (isRangeDayPickerProps(props)) {\n props.onChange?.(value as DateRange | undefined, modifiers);\n }\n };\n\n const commitValue = (value: DayPickerSelection, modifiers: Modifiers = {}) => {\n if (!isControlled) {\n setInternalValue(value);\n }\n\n setDraftValue(value);\n notifyChange(value, modifiers);\n };\n\n const clearValue = () => {\n commitValue(undefined, {});\n };\n\n const closeDropdown = () => {\n closePopper();\n setDraftValue(committedValue);\n };\n\n const applyDraftValue = () => {\n commitValue(draftValue, {});\n closePopper();\n };\n\n const outsideRef = useClickOutside<HTMLDivElement>(\n event => {\n if (!closeOnOutsideClick) {\n return;\n }\n\n const target = event.target as Node | null;\n if (!target) {\n closeDropdown();\n return;\n }\n\n const clickedWithinTrigger = popperRef.current?.contains(target);\n const clickedWithinInput = inputRef.current?.contains(target);\n\n if (clickedWithinTrigger || clickedWithinInput) {\n return;\n }\n\n closeDropdown();\n },\n undefined,\n isDropdownOpen\n );\n\n useKey('Escape', event => {\n const target = event.target as Node | null;\n if (!target || !isDropdownOpen) {\n return;\n }\n\n const isInputTarget = inputRef.current && inputRef.current === target;\n const isTriggerTarget = !!popperRef.current?.contains(target);\n\n if (isInputTarget || isTriggerTarget) {\n closeDropdown();\n }\n });\n\n const {\n displayValue,\n handleInputBlur,\n handleInputChange,\n handleClearInput,\n handleInputFocus,\n handleInputKeyDown,\n inputMaskProps,\n } = useDayPickerInputState({\n props,\n locale,\n dateFormat,\n inputProps,\n onBlur,\n isDropdownOpen,\n isSingleMode,\n selectionBehavior,\n closeOnOutsideClick,\n committedValue,\n draftValue,\n setDraftValue,\n commitValue,\n clearValue,\n openDropdown: openPopper,\n closeDropdown,\n applyDraftValue,\n popperElementRef,\n });\n\n const handleInputClick = () => {\n openPopper();\n inputRef.current?.focus();\n };\n\n const toggleDropdown = () => {\n if (isDropdownOpen) {\n closeDropdown();\n return;\n }\n\n openPopper();\n };\n\n const slotProps = createSlotProps({\n props,\n value: committedValue,\n draftValue,\n setDraftValue,\n apply: applyDraftValue,\n clear: handleClearInput,\n close: closeDropdown,\n });\n\n const triggerContent = slotProps.trigger\n ? renderSlot(slotProps.trigger, {\n ...slotProps.renderProps,\n id,\n name,\n displayValue,\n isOpen: isDropdownOpen,\n open: openPopper,\n toggle: toggleDropdown,\n })\n : null;\n\n const handleCalendarChange = (value: DayPickerSelection, modifiers: Modifiers) => {\n if (modifiers.disabled || modifiers.hidden) {\n return;\n }\n\n const shouldApplyImmediately = selectionBehavior === 'immediate';\n\n if (shouldApplyImmediately) {\n commitValue(value, modifiers);\n } else {\n setDraftValue(value);\n }\n\n const shouldCloseRange =\n mode !== 'range' || (!!(value as DateRange | undefined)?.from && !!(value as DateRange | undefined)?.to);\n\n if (closeOnSelect && shouldCloseRange) {\n if (!shouldApplyImmediately) {\n commitValue(value, modifiers);\n }\n closePopper();\n }\n };\n\n const hasFeedback = !!(errorMessage || warningMessage);\n\n const mergedInputProps = {\n ...inputProps,\n name: name || inputProps?.name,\n autoComplete: inputProps?.autoComplete || 'off',\n placeholder: placeholder || inputProps?.placeholder,\n };\n\n const leftSidebarContent = slotProps.leftSidebar ? renderSlot(slotProps.leftSidebar, slotProps.renderProps) : null;\n\n const rightSidebarContent = slotProps.rightSidebar\n ? renderSlot(slotProps.rightSidebar, slotProps.renderProps)\n : null;\n\n const footerContent = slotProps.footer ? renderSlot(slotProps.footer, slotProps.renderProps) : null;\n\n const dropdownRoot = usePortal ? getOrCreatePortalRoot() : null;\n\n const dropdownContent = (\n <DayPickerDropdown\n assignPopperElement={assignPopperElement}\n popperStyles={popperStyles}\n popperAttributes={popperAttributes}\n enableStackedCalendars={(props.numberOfMonths ?? 1) > 1}\n dropdownClassName={dropdownClassName}\n outsideRef={outsideRef}\n leftSidebar={leftSidebarContent}\n rightSidebar={rightSidebarContent}\n footer={footerContent}\n leftSidebarClassName={leftSidebarClassName}\n rightSidebarClassName={rightSidebarClassName}\n footerClassName={footerClassName}\n >\n <DayPickerCalendar\n {...props}\n size='sm'\n value={draftValue as never}\n onChange={handleCalendarChange as never}\n className='margin-15'\n />\n </DayPickerDropdown>\n );\n\n return (\n <>\n <div\n className={classNames(\n 'form-group',\n hasFeedback && 'has-feedback',\n errorMessage && 'has-error',\n warningMessage && 'has-warning',\n className\n )}\n >\n {triggerContent ? (\n <>\n <div ref={popperRef} className='display-inline-block'>\n {triggerContent}\n </div>\n {hasFeedback ? (\n <span className={`help-block white-space-${messageWhiteSpace}`}>\n <span>{errorMessage || warningMessage}</span>\n </span>\n ) : null}\n </>\n ) : (\n <DayPickerInput\n id={id}\n triggerRef={popperRef}\n inputRef={inputRef}\n displayValue={displayValue}\n iconName={iconName}\n isSingleMode={isSingleMode}\n isClearable={isClearable}\n inputMaskProps={inputMaskProps}\n mergedInputProps={mergedInputProps}\n inputClassName={inputClassName}\n errorMessage={errorMessage}\n warningMessage={warningMessage}\n messageWhiteSpace={messageWhiteSpace}\n onChange={handleInputChange}\n onAddonClick={handleInputClick}\n onClick={event => {\n inputProps?.onClick?.(event);\n handleInputClick();\n }}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n onKeyDown={handleInputKeyDown}\n onClear={handleClearInput}\n />\n )}\n </div>\n {isDropdownOpen && usePortal && dropdownRoot && ReactDOM.createPortal(dropdownContent, dropdownRoot)}\n {isDropdownOpen && !usePortal && dropdownContent}\n </>\n );\n};\n\nconst createSlotProps = ({\n props,\n value,\n draftValue,\n setDraftValue,\n apply,\n clear,\n close,\n}: {\n props: DayPickerProps;\n value: DayPickerSelection;\n draftValue: DayPickerSelection;\n setDraftValue: (value: DayPickerSelection) => void;\n apply: () => void;\n clear: () => void;\n close: () => void;\n}) => {\n if (isSingleDayPickerProps(props)) {\n return {\n trigger: props.trigger,\n leftSidebar: props.leftSidebar,\n rightSidebar: props.rightSidebar,\n footer: props.footer,\n renderProps: {\n value: value as Date | undefined,\n draftValue: draftValue as Date | undefined,\n setDraftValue: setDraftValue as (value: Date | undefined) => void,\n apply,\n clear,\n close,\n mode: props.mode || 'single',\n locale: props.locale || 'en-GB',\n },\n };\n }\n\n if (isMultipleDayPickerProps(props)) {\n return {\n trigger: props.trigger,\n leftSidebar: props.leftSidebar,\n rightSidebar: props.rightSidebar,\n footer: props.footer,\n renderProps: {\n value: value as Date[] | undefined,\n draftValue: draftValue as Date[] | undefined,\n setDraftValue: setDraftValue as (value: Date[] | undefined) => void,\n apply,\n clear,\n close,\n mode: props.mode,\n locale: props.locale || 'en-GB',\n },\n };\n }\n\n return {\n trigger: props.trigger,\n leftSidebar: props.leftSidebar,\n rightSidebar: props.rightSidebar,\n footer: props.footer,\n renderProps: {\n value: value as DateRange | undefined,\n draftValue: draftValue as DateRange | undefined,\n setDraftValue: setDraftValue as (value: DateRange | undefined) => void,\n apply,\n clear,\n close,\n mode: props.mode,\n locale: props.locale || 'en-GB',\n },\n };\n};\n\nexport default DayPicker;\n"],"names":["hasValueProp","props","hasCloseOnSelectProp","renderSlot","slot","slotProps","DayPicker","id","name","mode","locale","placeholder","iconName","dateFormat","onBlur","inputProps","errorMessage","warningMessage","messageWhiteSpace","inputClassName","className","dropdownClassName","leftSidebarClassName","rightSidebarClassName","footerClassName","usePortal","alignRight","isClearable","closeOnOutsideClick","selectionBehavior","isControlled","isSingleMode","isSingleDayPickerProps","closeOnSelect","internalValue","setInternalValue","useState","committedValue","draftValue","setDraftValue","isDropdownOpen","openPopper","closePopper","popperRef","setPopperElement","popperStyles","popperAttributes","usePopperDropdown","inputRef","useRef","popperElementRef","useEffect","assignPopperElement","element","notifyChange","value","modifiers","isMultipleDayPickerProps","isRangeDayPickerProps","commitValue","clearValue","closeDropdown","applyDraftValue","outsideRef","useClickOutside","event","target","clickedWithinTrigger","clickedWithinInput","useKey","isInputTarget","isTriggerTarget","displayValue","handleInputBlur","handleInputChange","handleClearInput","handleInputFocus","handleInputKeyDown","inputMaskProps","useDayPickerInputState","handleInputClick","toggleDropdown","createSlotProps","triggerContent","handleCalendarChange","shouldApplyImmediately","shouldCloseRange","hasFeedback","mergedInputProps","leftSidebarContent","rightSidebarContent","footerContent","dropdownRoot","getOrCreatePortalRoot","dropdownContent","jsx","DayPickerDropdown","DayPickerCalendar","jsxs","Fragment","classNames","DayPickerInput","ReactDOM","apply","clear","close"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DayPicker.js","sources":["../../../src/components/datepicker/DayPicker.tsx"],"sourcesContent":["import { useEffect, useRef, useState, type ReactNode } from 'react';\nimport ReactDOM from 'react-dom';\n\nimport useClickOutside from '../../hooks/useClickOutside';\nimport useKey from '../../hooks/useKey';\nimport usePopperDropdown from '../../hooks/usePopperDropdown';\nimport classNames from '../../utils/classNames';\nimport { getOrCreatePortalRoot } from '../../utils/portalRoot';\n\nimport DayPickerCalendar from './DayPickerCalendar';\nimport DayPickerDropdown from './DayPickerDropdown';\nimport DayPickerInput from './DayPickerInput';\nimport {\n isMultipleDayPickerProps,\n isRangeDayPickerProps,\n isSingleDayPickerProps,\n type DateRange,\n type DayPickerProps,\n type DayPickerSelection,\n type Modifiers,\n} from './dayPickerTypes';\nimport useDayPickerInputState from './useDayPickerInputState';\nexport { supportedDayPickerLocales } from './dayPickerUtils';\n\nexport type {\n DateRange,\n DayPickerCalendarProps,\n DayPickerProps,\n DayPickerSlotRenderProps,\n DayPickerTriggerRenderProps,\n Modifiers,\n} from './dayPickerTypes';\nexport { default as DayPickerCalendar } from './DayPickerCalendar';\n\nconst hasValueProp = (props: DayPickerProps) => Object.hasOwn(props, 'value');\nconst hasCloseOnSelectProp = (props: DayPickerProps) => Object.hasOwn(props, 'closeOnSelect');\n\nconst renderSlot = (slot: unknown, slotProps: unknown) => {\n if (typeof slot === 'function') {\n return (slot as (props: unknown) => ReactNode)(slotProps);\n }\n\n return (slot as ReactNode) ?? null;\n};\n\nconst DayPicker = (props: DayPickerProps) => {\n const {\n id,\n name,\n mode = 'single',\n locale = 'en-GB',\n placeholder,\n iconName = 'rioglyph-calendar',\n dateFormat,\n onBlur,\n inputProps,\n errorMessage,\n warningMessage,\n messageWhiteSpace = 'normal',\n inputClassName,\n className,\n dropdownClassName,\n leftSidebarClassName,\n rightSidebarClassName,\n footerClassName,\n usePortal = false,\n alignRight,\n isClearable = false,\n closeOnOutsideClick = true,\n selectionBehavior = 'immediate',\n } = props;\n\n const isControlled = hasValueProp(props);\n const isSingleMode = isSingleDayPickerProps(props);\n const closeOnSelect = hasCloseOnSelectProp(props)\n ? props.closeOnSelect !== false\n : selectionBehavior !== 'deferred';\n const [internalValue, setInternalValue] = useState<DayPickerSelection>(props.defaultValue);\n const committedValue = (isControlled ? props.value : internalValue) as DayPickerSelection;\n const [draftValue, setDraftValue] = useState<DayPickerSelection>(committedValue);\n\n const {\n isOpen: isDropdownOpen,\n open: openPopper,\n close: closePopper,\n update: updatePopperPosition,\n referenceRef: popperRef,\n popperElementRef: setPopperElement,\n popperStyles,\n popperAttributes,\n } = usePopperDropdown({ placement: alignRight ? 'bottom-end' : 'bottom-start' });\n\n const inputRef = useRef<HTMLInputElement | null>(null);\n const popperElementRef = useRef<HTMLElement | null>(null);\n\n useEffect(() => {\n setDraftValue(committedValue);\n }, [committedValue]);\n\n const assignPopperElement = (element: HTMLElement | null) => {\n popperElementRef.current = element;\n setPopperElement(element);\n };\n\n const notifyChange = (value: DayPickerSelection, modifiers: Modifiers) => {\n if (isSingleMode) {\n props.onChange?.(value as Date | undefined, modifiers);\n return;\n }\n\n if (isMultipleDayPickerProps(props)) {\n props.onChange?.(value as Date[] | undefined, modifiers);\n return;\n }\n\n if (isRangeDayPickerProps(props)) {\n props.onChange?.(value as DateRange | undefined, modifiers);\n }\n };\n\n const commitValue = (value: DayPickerSelection, modifiers: Modifiers = {}) => {\n if (!isControlled) {\n setInternalValue(value);\n }\n\n setDraftValue(value);\n notifyChange(value, modifiers);\n };\n\n const clearValue = () => {\n commitValue(undefined, {});\n };\n\n const closeDropdown = () => {\n closePopper();\n setDraftValue(committedValue);\n };\n\n const applyDraftValue = () => {\n commitValue(draftValue, {});\n closePopper();\n };\n\n const outsideRef = useClickOutside<HTMLDivElement>(\n event => {\n if (!closeOnOutsideClick) {\n return;\n }\n\n const target = event.target as Node | null;\n if (!target) {\n closeDropdown();\n return;\n }\n\n const clickedWithinTrigger = popperRef.current?.contains(target);\n const clickedWithinInput = inputRef.current?.contains(target);\n\n if (clickedWithinTrigger || clickedWithinInput) {\n return;\n }\n\n closeDropdown();\n },\n undefined,\n isDropdownOpen\n );\n\n useKey('Escape', event => {\n const target = event.target as Node | null;\n if (!target || !isDropdownOpen) {\n return;\n }\n\n const isInputTarget = inputRef.current && inputRef.current === target;\n const isTriggerTarget = !!popperRef.current?.contains(target);\n\n if (isInputTarget || isTriggerTarget) {\n closeDropdown();\n }\n });\n\n const {\n displayValue,\n handleInputBlur,\n handleInputChange,\n handleClearInput,\n handleInputFocus,\n handleInputKeyDown,\n inputMaskProps,\n } = useDayPickerInputState({\n props,\n locale,\n dateFormat,\n inputProps,\n onBlur,\n isDropdownOpen,\n isSingleMode,\n selectionBehavior,\n closeOnOutsideClick,\n committedValue,\n draftValue,\n setDraftValue,\n commitValue,\n clearValue,\n openDropdown: openPopper,\n closeDropdown,\n applyDraftValue,\n popperElementRef,\n });\n\n const handleInputClick = () => {\n openPopper();\n inputRef.current?.focus();\n };\n\n const toggleDropdown = () => {\n if (isDropdownOpen) {\n closeDropdown();\n return;\n }\n\n openPopper();\n };\n\n const slotProps = createSlotProps({\n props,\n value: committedValue,\n draftValue,\n setDraftValue,\n apply: applyDraftValue,\n clear: handleClearInput,\n close: closeDropdown,\n });\n\n const triggerContent = slotProps.trigger\n ? renderSlot(slotProps.trigger, {\n ...slotProps.renderProps,\n id,\n name,\n displayValue,\n isOpen: isDropdownOpen,\n open: openPopper,\n toggle: toggleDropdown,\n })\n : null;\n\n const handleCalendarChange = (value: DayPickerSelection, modifiers: Modifiers) => {\n if (modifiers.disabled || modifiers.hidden) {\n return;\n }\n\n const shouldApplyImmediately = selectionBehavior === 'immediate';\n\n if (shouldApplyImmediately) {\n commitValue(value, modifiers);\n } else {\n setDraftValue(value);\n }\n\n const shouldCloseRange =\n mode !== 'range' || (!!(value as DateRange | undefined)?.from && !!(value as DateRange | undefined)?.to);\n\n if (closeOnSelect && shouldCloseRange) {\n if (!shouldApplyImmediately) {\n commitValue(value, modifiers);\n }\n closePopper();\n }\n };\n\n const hasFeedback = !!(errorMessage || warningMessage);\n\n const mergedInputProps = {\n ...inputProps,\n name: name || inputProps?.name,\n autoComplete: inputProps?.autoComplete || 'off',\n placeholder: placeholder || inputProps?.placeholder,\n };\n\n const leftSidebarContent = slotProps.leftSidebar ? renderSlot(slotProps.leftSidebar, slotProps.renderProps) : null;\n\n const rightSidebarContent = slotProps.rightSidebar\n ? renderSlot(slotProps.rightSidebar, slotProps.renderProps)\n : null;\n\n const footerContent = slotProps.footer ? renderSlot(slotProps.footer, slotProps.renderProps) : null;\n\n const dropdownRoot = usePortal ? getOrCreatePortalRoot() : null;\n\n const dropdownContent = (\n <DayPickerDropdown\n assignPopperElement={assignPopperElement}\n popperStyles={popperStyles}\n popperAttributes={popperAttributes}\n enableStackedCalendars={(props.numberOfMonths ?? 1) > 1}\n dropdownClassName={dropdownClassName}\n outsideRef={outsideRef}\n updatePopperPosition={updatePopperPosition}\n leftSidebar={leftSidebarContent}\n rightSidebar={rightSidebarContent}\n footer={footerContent}\n leftSidebarClassName={leftSidebarClassName}\n rightSidebarClassName={rightSidebarClassName}\n footerClassName={footerClassName}\n >\n <DayPickerCalendar\n {...props}\n size='sm'\n value={draftValue as never}\n onChange={handleCalendarChange as never}\n className='margin-15'\n />\n </DayPickerDropdown>\n );\n\n return (\n <>\n <div\n className={classNames(\n 'form-group',\n hasFeedback && 'has-feedback',\n errorMessage && 'has-error',\n warningMessage && 'has-warning',\n className\n )}\n >\n {triggerContent ? (\n <>\n <div ref={popperRef} className='display-inline-block'>\n {triggerContent}\n </div>\n {hasFeedback ? (\n <span className={`help-block white-space-${messageWhiteSpace}`}>\n <span>{errorMessage || warningMessage}</span>\n </span>\n ) : null}\n </>\n ) : (\n <DayPickerInput\n id={id}\n triggerRef={popperRef}\n inputRef={inputRef}\n displayValue={displayValue}\n iconName={iconName}\n isSingleMode={isSingleMode}\n isClearable={isClearable}\n inputMaskProps={inputMaskProps}\n mergedInputProps={mergedInputProps}\n inputClassName={inputClassName}\n errorMessage={errorMessage}\n warningMessage={warningMessage}\n messageWhiteSpace={messageWhiteSpace}\n onChange={handleInputChange}\n onAddonClick={handleInputClick}\n onClick={event => {\n inputProps?.onClick?.(event);\n handleInputClick();\n }}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n onKeyDown={handleInputKeyDown}\n onClear={handleClearInput}\n />\n )}\n </div>\n {isDropdownOpen && usePortal && dropdownRoot && ReactDOM.createPortal(dropdownContent, dropdownRoot)}\n {isDropdownOpen && !usePortal && dropdownContent}\n </>\n );\n};\n\nconst createSlotProps = ({\n props,\n value,\n draftValue,\n setDraftValue,\n apply,\n clear,\n close,\n}: {\n props: DayPickerProps;\n value: DayPickerSelection;\n draftValue: DayPickerSelection;\n setDraftValue: (value: DayPickerSelection) => void;\n apply: () => void;\n clear: () => void;\n close: () => void;\n}) => {\n if (isSingleDayPickerProps(props)) {\n return {\n trigger: props.trigger,\n leftSidebar: props.leftSidebar,\n rightSidebar: props.rightSidebar,\n footer: props.footer,\n renderProps: {\n value: value as Date | undefined,\n draftValue: draftValue as Date | undefined,\n setDraftValue: setDraftValue as (value: Date | undefined) => void,\n apply,\n clear,\n close,\n mode: props.mode || 'single',\n locale: props.locale || 'en-GB',\n },\n };\n }\n\n if (isMultipleDayPickerProps(props)) {\n return {\n trigger: props.trigger,\n leftSidebar: props.leftSidebar,\n rightSidebar: props.rightSidebar,\n footer: props.footer,\n renderProps: {\n value: value as Date[] | undefined,\n draftValue: draftValue as Date[] | undefined,\n setDraftValue: setDraftValue as (value: Date[] | undefined) => void,\n apply,\n clear,\n close,\n mode: props.mode,\n locale: props.locale || 'en-GB',\n },\n };\n }\n\n return {\n trigger: props.trigger,\n leftSidebar: props.leftSidebar,\n rightSidebar: props.rightSidebar,\n footer: props.footer,\n renderProps: {\n value: value as DateRange | undefined,\n draftValue: draftValue as DateRange | undefined,\n setDraftValue: setDraftValue as (value: DateRange | undefined) => void,\n apply,\n clear,\n close,\n mode: props.mode,\n locale: props.locale || 'en-GB',\n },\n };\n};\n\nexport default DayPicker;\n"],"names":["hasValueProp","props","hasCloseOnSelectProp","renderSlot","slot","slotProps","DayPicker","id","name","mode","locale","placeholder","iconName","dateFormat","onBlur","inputProps","errorMessage","warningMessage","messageWhiteSpace","inputClassName","className","dropdownClassName","leftSidebarClassName","rightSidebarClassName","footerClassName","usePortal","alignRight","isClearable","closeOnOutsideClick","selectionBehavior","isControlled","isSingleMode","isSingleDayPickerProps","closeOnSelect","internalValue","setInternalValue","useState","committedValue","draftValue","setDraftValue","isDropdownOpen","openPopper","closePopper","updatePopperPosition","popperRef","setPopperElement","popperStyles","popperAttributes","usePopperDropdown","inputRef","useRef","popperElementRef","useEffect","assignPopperElement","element","notifyChange","value","modifiers","isMultipleDayPickerProps","isRangeDayPickerProps","commitValue","clearValue","closeDropdown","applyDraftValue","outsideRef","useClickOutside","event","target","clickedWithinTrigger","clickedWithinInput","useKey","isInputTarget","isTriggerTarget","displayValue","handleInputBlur","handleInputChange","handleClearInput","handleInputFocus","handleInputKeyDown","inputMaskProps","useDayPickerInputState","handleInputClick","toggleDropdown","createSlotProps","triggerContent","handleCalendarChange","shouldApplyImmediately","shouldCloseRange","hasFeedback","mergedInputProps","leftSidebarContent","rightSidebarContent","footerContent","dropdownRoot","getOrCreatePortalRoot","dropdownContent","jsx","DayPickerDropdown","DayPickerCalendar","jsxs","Fragment","classNames","DayPickerInput","ReactDOM","apply","clear","close"],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ type DayPickerDropdownProps = {
|
|
|
6
6
|
enableStackedCalendars?: boolean;
|
|
7
7
|
dropdownClassName?: string;
|
|
8
8
|
outsideRef: MutableRefObject<HTMLDivElement | null>;
|
|
9
|
+
updatePopperPosition?: () => void;
|
|
9
10
|
leftSidebar?: ReactNode;
|
|
10
11
|
rightSidebar?: ReactNode;
|
|
11
12
|
footer?: ReactNode;
|
|
@@ -1,67 +1,80 @@
|
|
|
1
|
-
import { jsx as e, jsxs as
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
|
|
1
|
+
import { jsx as e, jsxs as n } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect as C } from "react";
|
|
3
|
+
import s from "../../utils/classNames.js";
|
|
4
|
+
import v from "./DayPickerDropdownFooter.js";
|
|
5
|
+
import u from "./DayPickerDropdownSidebar.js";
|
|
6
|
+
import S from "./useStackedDayPickerCalendars.js";
|
|
7
|
+
const z = (b) => {
|
|
7
8
|
const {
|
|
8
|
-
assignPopperElement:
|
|
9
|
-
popperStyles:
|
|
10
|
-
popperAttributes:
|
|
11
|
-
enableStackedCalendars:
|
|
12
|
-
dropdownClassName:
|
|
13
|
-
outsideRef:
|
|
9
|
+
assignPopperElement: x,
|
|
10
|
+
popperStyles: w,
|
|
11
|
+
popperAttributes: h,
|
|
12
|
+
enableStackedCalendars: r = !1,
|
|
13
|
+
dropdownClassName: y,
|
|
14
|
+
outsideRef: D,
|
|
15
|
+
updatePopperPosition: l,
|
|
14
16
|
leftSidebar: a,
|
|
15
|
-
rightSidebar:
|
|
16
|
-
footer:
|
|
17
|
-
leftSidebarClassName:
|
|
18
|
-
rightSidebarClassName:
|
|
19
|
-
footerClassName:
|
|
20
|
-
children:
|
|
21
|
-
} =
|
|
22
|
-
|
|
23
|
-
if (!
|
|
17
|
+
rightSidebar: t,
|
|
18
|
+
footer: d,
|
|
19
|
+
leftSidebarClassName: k,
|
|
20
|
+
rightSidebarClassName: N,
|
|
21
|
+
footerClassName: P,
|
|
22
|
+
children: c
|
|
23
|
+
} = b, { calendarsRef: g, stackCalendars: m } = S([c, a, t]);
|
|
24
|
+
C(() => {
|
|
25
|
+
if (!r || !l)
|
|
24
26
|
return;
|
|
25
|
-
const
|
|
27
|
+
const o = window.requestAnimationFrame(() => {
|
|
28
|
+
l();
|
|
29
|
+
});
|
|
30
|
+
return () => window.cancelAnimationFrame(o);
|
|
31
|
+
}, [r, m, l]);
|
|
32
|
+
const p = (o) => {
|
|
33
|
+
const f = o.target;
|
|
34
|
+
if (!f)
|
|
35
|
+
return;
|
|
36
|
+
const i = f.closest(
|
|
26
37
|
'input:not([type="button"]):not([type="submit"]):not([type="reset"]), select, textarea, [contenteditable="true"], [role="combobox"], [role="textbox"]'
|
|
27
38
|
);
|
|
28
|
-
|
|
39
|
+
i && !i.hasAttribute("disabled") && i.getAttribute("aria-disabled") !== "true" || o.preventDefault();
|
|
29
40
|
};
|
|
30
41
|
return /* @__PURE__ */ e(
|
|
31
42
|
"div",
|
|
32
43
|
{
|
|
33
|
-
ref:
|
|
34
|
-
style:
|
|
35
|
-
className:
|
|
44
|
+
ref: x,
|
|
45
|
+
style: w,
|
|
46
|
+
className: s(
|
|
36
47
|
"DayPickerDropdown z-index-max bg-white shadow-default rounded margin-y-3 border",
|
|
37
|
-
|
|
48
|
+
y
|
|
38
49
|
),
|
|
39
|
-
...
|
|
50
|
+
...h,
|
|
40
51
|
role: "dialog",
|
|
41
52
|
"aria-label": "DayPicker calendar",
|
|
42
53
|
children: /* @__PURE__ */ e(
|
|
43
54
|
"div",
|
|
44
55
|
{
|
|
45
|
-
ref:
|
|
56
|
+
ref: D,
|
|
46
57
|
className: "display-flex flex-column",
|
|
47
|
-
onPointerDownCapture:
|
|
48
|
-
onMouseDownCapture:
|
|
49
|
-
children: /* @__PURE__ */
|
|
50
|
-
a && /* @__PURE__ */ e(
|
|
51
|
-
/* @__PURE__ */
|
|
52
|
-
/* @__PURE__ */
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
58
|
+
onPointerDownCapture: p,
|
|
59
|
+
onMouseDownCapture: p,
|
|
60
|
+
children: /* @__PURE__ */ n("div", { className: s(a && "display-flex flex-column-xs flex-row-sm"), children: [
|
|
61
|
+
a && /* @__PURE__ */ e(u, { className: k, children: a }),
|
|
62
|
+
/* @__PURE__ */ n("div", { children: [
|
|
63
|
+
/* @__PURE__ */ n("div", { className: s(t && "display-flex flex-column-xs flex-row-sm"), children: [
|
|
64
|
+
/* @__PURE__ */ e(
|
|
65
|
+
"div",
|
|
66
|
+
{
|
|
67
|
+
ref: r ? g : null,
|
|
68
|
+
className: s(
|
|
69
|
+
"DayPickerDropdown-calendars",
|
|
70
|
+
r && m && "stacked-calendars"
|
|
71
|
+
),
|
|
72
|
+
children: c
|
|
73
|
+
}
|
|
74
|
+
),
|
|
75
|
+
t && /* @__PURE__ */ e(u, { side: "right", className: N, children: t })
|
|
76
|
+
] }),
|
|
77
|
+
d && /* @__PURE__ */ e(v, { className: P, children: d })
|
|
65
78
|
] })
|
|
66
79
|
] })
|
|
67
80
|
}
|
|
@@ -70,6 +83,6 @@ const I = (f) => {
|
|
|
70
83
|
);
|
|
71
84
|
};
|
|
72
85
|
export {
|
|
73
|
-
|
|
86
|
+
z as default
|
|
74
87
|
};
|
|
75
88
|
//# sourceMappingURL=DayPickerDropdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DayPickerDropdown.js","sources":["../../../src/components/datepicker/DayPickerDropdown.tsx"],"sourcesContent":["import type { CSSProperties, HTMLAttributes, MouseEvent, MutableRefObject, PointerEvent, ReactNode } from 'react';\n\nimport classNames from '../../utils/classNames';\n\nimport DayPickerDropdownFooter from './DayPickerDropdownFooter';\nimport DayPickerDropdownSidebar from './DayPickerDropdownSidebar';\nimport useStackedDayPickerCalendars from './useStackedDayPickerCalendars';\n\ntype DayPickerDropdownProps = {\n assignPopperElement: (element: HTMLDivElement | null) => void;\n popperStyles: CSSProperties;\n popperAttributes: HTMLAttributes<HTMLDivElement>;\n enableStackedCalendars?: boolean;\n dropdownClassName?: string;\n outsideRef: MutableRefObject<HTMLDivElement | null>;\n leftSidebar?: ReactNode;\n rightSidebar?: ReactNode;\n footer?: ReactNode;\n leftSidebarClassName?: string;\n rightSidebarClassName?: string;\n footerClassName?: string;\n children: ReactNode;\n};\n\nconst DayPickerDropdown = (props: DayPickerDropdownProps) => {\n const {\n assignPopperElement,\n popperStyles,\n popperAttributes,\n enableStackedCalendars = false,\n dropdownClassName,\n outsideRef,\n leftSidebar,\n rightSidebar,\n footer,\n leftSidebarClassName,\n rightSidebarClassName,\n footerClassName,\n children,\n } = props;\n\n const { calendarsRef, stackCalendars } = useStackedDayPickerCalendars([children, leftSidebar, rightSidebar]);\n\n const handlePointerDownCapture = (event: PointerEvent<HTMLDivElement> | MouseEvent<HTMLDivElement>) => {\n const target = event.target as HTMLElement | null;\n if (!target) {\n return;\n }\n\n const focusableFieldElement = target.closest<HTMLElement>(\n 'input:not([type=\"button\"]):not([type=\"submit\"]):not([type=\"reset\"]), select, textarea, [contenteditable=\"true\"], [role=\"combobox\"], [role=\"textbox\"]'\n );\n const clickedInteractiveElement =\n !!focusableFieldElement &&\n !focusableFieldElement.hasAttribute('disabled') &&\n focusableFieldElement.getAttribute('aria-disabled') !== 'true';\n\n if (!clickedInteractiveElement) {\n event.preventDefault();\n }\n };\n\n return (\n <div\n ref={assignPopperElement}\n style={popperStyles}\n className={classNames(\n 'DayPickerDropdown z-index-max bg-white shadow-default rounded margin-y-3 border',\n dropdownClassName\n )}\n {...popperAttributes}\n role='dialog'\n aria-label='DayPicker calendar'\n >\n <div\n ref={outsideRef}\n className='display-flex flex-column'\n onPointerDownCapture={handlePointerDownCapture}\n onMouseDownCapture={handlePointerDownCapture}\n >\n {/* flex-column on mobile */}\n <div className={classNames(
|
|
1
|
+
{"version":3,"file":"DayPickerDropdown.js","sources":["../../../src/components/datepicker/DayPickerDropdown.tsx"],"sourcesContent":["import { useEffect } from 'react';\nimport type { CSSProperties, HTMLAttributes, MouseEvent, MutableRefObject, PointerEvent, ReactNode } from 'react';\n\nimport classNames from '../../utils/classNames';\n\nimport DayPickerDropdownFooter from './DayPickerDropdownFooter';\nimport DayPickerDropdownSidebar from './DayPickerDropdownSidebar';\nimport useStackedDayPickerCalendars from './useStackedDayPickerCalendars';\n\ntype DayPickerDropdownProps = {\n assignPopperElement: (element: HTMLDivElement | null) => void;\n popperStyles: CSSProperties;\n popperAttributes: HTMLAttributes<HTMLDivElement>;\n enableStackedCalendars?: boolean;\n dropdownClassName?: string;\n outsideRef: MutableRefObject<HTMLDivElement | null>;\n updatePopperPosition?: () => void;\n leftSidebar?: ReactNode;\n rightSidebar?: ReactNode;\n footer?: ReactNode;\n leftSidebarClassName?: string;\n rightSidebarClassName?: string;\n footerClassName?: string;\n children: ReactNode;\n};\n\nconst DayPickerDropdown = (props: DayPickerDropdownProps) => {\n const {\n assignPopperElement,\n popperStyles,\n popperAttributes,\n enableStackedCalendars = false,\n dropdownClassName,\n outsideRef,\n updatePopperPosition,\n leftSidebar,\n rightSidebar,\n footer,\n leftSidebarClassName,\n rightSidebarClassName,\n footerClassName,\n children,\n } = props;\n\n const { calendarsRef, stackCalendars } = useStackedDayPickerCalendars([children, leftSidebar, rightSidebar]);\n\n useEffect(() => {\n if (!enableStackedCalendars || !updatePopperPosition) {\n return;\n }\n\n const frameId = window.requestAnimationFrame(() => {\n updatePopperPosition();\n });\n\n return () => window.cancelAnimationFrame(frameId);\n }, [enableStackedCalendars, stackCalendars, updatePopperPosition]);\n\n const handlePointerDownCapture = (event: PointerEvent<HTMLDivElement> | MouseEvent<HTMLDivElement>) => {\n const target = event.target as HTMLElement | null;\n if (!target) {\n return;\n }\n\n const focusableFieldElement = target.closest<HTMLElement>(\n 'input:not([type=\"button\"]):not([type=\"submit\"]):not([type=\"reset\"]), select, textarea, [contenteditable=\"true\"], [role=\"combobox\"], [role=\"textbox\"]'\n );\n const clickedInteractiveElement =\n !!focusableFieldElement &&\n !focusableFieldElement.hasAttribute('disabled') &&\n focusableFieldElement.getAttribute('aria-disabled') !== 'true';\n\n if (!clickedInteractiveElement) {\n event.preventDefault();\n }\n };\n\n return (\n <div\n ref={assignPopperElement}\n style={popperStyles}\n className={classNames(\n 'DayPickerDropdown z-index-max bg-white shadow-default rounded margin-y-3 border',\n dropdownClassName\n )}\n {...popperAttributes}\n role='dialog'\n aria-label='DayPicker calendar'\n >\n <div\n ref={outsideRef}\n className='display-flex flex-column'\n onPointerDownCapture={handlePointerDownCapture}\n onMouseDownCapture={handlePointerDownCapture}\n >\n {/* flex-column on mobile */}\n <div className={classNames(leftSidebar && 'display-flex flex-column-xs flex-row-sm')}>\n {leftSidebar && (\n <DayPickerDropdownSidebar className={leftSidebarClassName}>\n {leftSidebar}\n </DayPickerDropdownSidebar>\n )}\n <div>\n <div className={classNames(rightSidebar && 'display-flex flex-column-xs flex-row-sm')}>\n <div\n ref={enableStackedCalendars ? calendarsRef : null}\n className={classNames(\n 'DayPickerDropdown-calendars',\n enableStackedCalendars && stackCalendars && 'stacked-calendars'\n )}\n >\n {children}\n </div>\n {rightSidebar && (\n <DayPickerDropdownSidebar side='right' className={rightSidebarClassName}>\n {rightSidebar}\n </DayPickerDropdownSidebar>\n )}\n </div>\n {footer && (\n <DayPickerDropdownFooter className={footerClassName}>{footer}</DayPickerDropdownFooter>\n )}\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default DayPickerDropdown;\n"],"names":["DayPickerDropdown","props","assignPopperElement","popperStyles","popperAttributes","enableStackedCalendars","dropdownClassName","outsideRef","updatePopperPosition","leftSidebar","rightSidebar","footer","leftSidebarClassName","rightSidebarClassName","footerClassName","children","calendarsRef","stackCalendars","useStackedDayPickerCalendars","useEffect","frameId","handlePointerDownCapture","event","target","focusableFieldElement","jsx","classNames","DayPickerDropdownSidebar","jsxs","DayPickerDropdownFooter"],"mappings":";;;;;;AA0BA,MAAMA,IAAoB,CAACC,MAAkC;AACzD,QAAM;AAAA,IACF,qBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,wBAAAC,IAAyB;AAAA,IACzB,mBAAAC;AAAA,IACA,YAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,cAAAC;AAAA,IACA,QAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,UAAAC;AAAA,EAAA,IACAd,GAEE,EAAE,cAAAe,GAAc,gBAAAC,MAAmBC,EAA6B,CAACH,GAAUN,GAAaC,CAAY,CAAC;AAE3G,EAAAS,EAAU,MAAM;AACZ,QAAI,CAACd,KAA0B,CAACG;AAC5B;AAGJ,UAAMY,IAAU,OAAO,sBAAsB,MAAM;AAC/C,MAAAZ,EAAA;AAAA,IACJ,CAAC;AAED,WAAO,MAAM,OAAO,qBAAqBY,CAAO;AAAA,EACpD,GAAG,CAACf,GAAwBY,GAAgBT,CAAoB,CAAC;AAEjE,QAAMa,IAA2B,CAACC,MAAqE;AACnG,UAAMC,IAASD,EAAM;AACrB,QAAI,CAACC;AACD;AAGJ,UAAMC,IAAwBD,EAAO;AAAA,MACjC;AAAA,IAAA;AAOJ,IAJMC,KACF,CAACA,EAAsB,aAAa,UAAU,KAC9CA,EAAsB,aAAa,eAAe,MAAM,UAGxDF,EAAM,eAAA;AAAA,EAEd;AAEA,SACI,gBAAAG;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,KAAKvB;AAAA,MACL,OAAOC;AAAA,MACP,WAAWuB;AAAA,QACP;AAAA,QACApB;AAAA,MAAA;AAAA,MAEH,GAAGF;AAAA,MACJ,MAAK;AAAA,MACL,cAAW;AAAA,MAEX,UAAA,gBAAAqB;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,KAAKlB;AAAA,UACL,WAAU;AAAA,UACV,sBAAsBc;AAAA,UACtB,oBAAoBA;AAAA,UAGpB,4BAAC,OAAA,EAAI,WAAWK,EAAWjB,KAAe,yCAAyC,GAC9E,UAAA;AAAA,YAAAA,KACG,gBAAAgB,EAACE,GAAA,EAAyB,WAAWf,GAChC,UAAAH,GACL;AAAA,8BAEH,OAAA,EACG,UAAA;AAAA,cAAA,gBAAAmB,EAAC,OAAA,EAAI,WAAWF,EAAWhB,KAAgB,yCAAyC,GAChF,UAAA;AAAA,gBAAA,gBAAAe;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACG,KAAKpB,IAAyBW,IAAe;AAAA,oBAC7C,WAAWU;AAAA,sBACP;AAAA,sBACArB,KAA0BY,KAAkB;AAAA,oBAAA;AAAA,oBAG/C,UAAAF;AAAA,kBAAA;AAAA,gBAAA;AAAA,gBAEJL,KACG,gBAAAe,EAACE,GAAA,EAAyB,MAAK,SAAQ,WAAWd,GAC7C,UAAAH,EAAA,CACL;AAAA,cAAA,GAER;AAAA,cACCC,KACG,gBAAAc,EAACI,GAAA,EAAwB,WAAWf,GAAkB,UAAAH,EAAA,CAAO;AAAA,YAAA,EAAA,CAErE;AAAA,UAAA,EAAA,CACJ;AAAA,QAAA;AAAA,MAAA;AAAA,IACJ;AAAA,EAAA;AAGZ;"}
|