@proyecto-viviana/solidaria-components 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ActionBar.d.ts.map +1 -1
- package/dist/ActionBar.js +2 -11
- package/dist/ActionBar.js.map +1 -1
- package/dist/ActionBar.jsx +2 -11
- package/dist/ActionBar.jsx.map +1 -1
- package/dist/ActionGroup.d.ts.map +1 -1
- package/dist/ActionGroup.js +1 -1
- package/dist/ActionGroup.js.map +1 -1
- package/dist/ActionGroup.jsx +1 -1
- package/dist/ActionGroup.jsx.map +1 -1
- package/dist/Autocomplete.d.ts +2 -2
- package/dist/Autocomplete.d.ts.map +1 -1
- package/dist/Autocomplete.js +7 -7
- package/dist/Autocomplete.js.map +1 -1
- package/dist/Autocomplete.jsx +7 -7
- package/dist/Autocomplete.jsx.map +1 -1
- package/dist/Breadcrumbs.d.ts.map +1 -1
- package/dist/Breadcrumbs.js +18 -18
- package/dist/Breadcrumbs.js.map +1 -1
- package/dist/Breadcrumbs.jsx +21 -26
- package/dist/Breadcrumbs.jsx.map +1 -1
- package/dist/Calendar.d.ts.map +1 -1
- package/dist/Calendar.js +100 -65
- package/dist/Calendar.js.map +1 -1
- package/dist/Calendar.jsx +10 -1
- package/dist/Calendar.jsx.map +1 -1
- package/dist/Color.d.ts.map +1 -1
- package/dist/Color.js +15 -18
- package/dist/Color.js.map +1 -1
- package/dist/Color.jsx +15 -19
- package/dist/Color.jsx.map +1 -1
- package/dist/ComboBox.d.ts +4 -0
- package/dist/ComboBox.d.ts.map +1 -1
- package/dist/ComboBox.js +21 -13
- package/dist/ComboBox.js.map +1 -1
- package/dist/ComboBox.jsx +23 -13
- package/dist/ComboBox.jsx.map +1 -1
- package/dist/DateField.d.ts +11 -2
- package/dist/DateField.d.ts.map +1 -1
- package/dist/DateField2.js +237 -234
- package/dist/DateField2.js.map +1 -1
- package/dist/DateField2.jsx +134 -97
- package/dist/DateField2.jsx.map +1 -1
- package/dist/DatePicker.d.ts +42 -3
- package/dist/DatePicker.d.ts.map +1 -1
- package/dist/DatePicker.js +6 -990
- package/dist/DatePicker.jsx +6 -681
- package/dist/DatePicker2.js +1171 -0
- package/dist/DatePicker2.js.map +1 -0
- package/dist/DatePicker2.jsx +820 -0
- package/dist/DatePicker2.jsx.map +1 -0
- package/dist/DateRangePickerContext.d.ts +2 -0
- package/dist/DateRangePickerContext.d.ts.map +1 -1
- package/dist/Disclosure.d.ts.map +1 -1
- package/dist/Disclosure.js +3 -0
- package/dist/Disclosure.js.map +1 -1
- package/dist/Disclosure.jsx +1 -1
- package/dist/Disclosure.jsx.map +1 -1
- package/dist/ElementTag.d.ts +29 -0
- package/dist/ElementTag.d.ts.map +1 -0
- package/dist/ElementTag.js +220 -0
- package/dist/ElementTag.js.map +1 -0
- package/dist/ElementTag.jsx +67 -0
- package/dist/ElementTag.jsx.map +1 -0
- package/dist/GridList.d.ts.map +1 -1
- package/dist/GridList.js +2 -2
- package/dist/GridList.js.map +1 -1
- package/dist/GridList.jsx +2 -2
- package/dist/GridList.jsx.map +1 -1
- package/dist/Landmark.js +4 -3
- package/dist/Landmark.js.map +1 -1
- package/dist/Landmark.jsx +3 -3
- package/dist/Landmark.jsx.map +1 -1
- package/dist/Link.js +3 -2
- package/dist/Link.js.map +1 -1
- package/dist/Link.jsx +3 -3
- package/dist/Link.jsx.map +1 -1
- package/dist/ListBox.d.ts +2 -2
- package/dist/ListBox.d.ts.map +1 -1
- package/dist/ListBox.js +327 -166
- package/dist/ListBox.js.map +1 -1
- package/dist/ListBox.jsx +161 -25
- package/dist/ListBox.jsx.map +1 -1
- package/dist/Modal.d.ts.map +1 -1
- package/dist/Modal.js +7 -5
- package/dist/Modal.js.map +1 -1
- package/dist/Modal.jsx +5 -5
- package/dist/Modal.jsx.map +1 -1
- package/dist/Popover.d.ts.map +1 -1
- package/dist/Popover.js +16 -9
- package/dist/Popover.js.map +1 -1
- package/dist/Popover.jsx +25 -4
- package/dist/Popover.jsx.map +1 -1
- package/dist/RangeCalendar.d.ts.map +1 -1
- package/dist/RangeCalendar.js +182 -46
- package/dist/RangeCalendar.js.map +1 -1
- package/dist/RangeCalendar.jsx +72 -2
- package/dist/RangeCalendar.jsx.map +1 -1
- package/dist/SearchField.d.ts.map +1 -1
- package/dist/SearchField.js +26 -2
- package/dist/SearchField.js.map +1 -1
- package/dist/SearchField.jsx +26 -2
- package/dist/SearchField.jsx.map +1 -1
- package/dist/Select.d.ts +7 -0
- package/dist/Select.d.ts.map +1 -1
- package/dist/Select.js +64 -51
- package/dist/Select.js.map +1 -1
- package/dist/Select.jsx +35 -20
- package/dist/Select.jsx.map +1 -1
- package/dist/Separator.js +3 -2
- package/dist/Separator.js.map +1 -1
- package/dist/Separator.jsx +2 -2
- package/dist/Separator.jsx.map +1 -1
- package/dist/SharedElementTransition.d.ts.map +1 -1
- package/dist/SharedElementTransition.js +35 -33
- package/dist/SharedElementTransition.js.map +1 -1
- package/dist/SharedElementTransition.jsx +35 -33
- package/dist/SharedElementTransition.jsx.map +1 -1
- package/dist/StepList.d.ts.map +1 -1
- package/dist/StepList.js +2 -9
- package/dist/StepList.js.map +1 -1
- package/dist/StepList.jsx +1 -6
- package/dist/StepList.jsx.map +1 -1
- package/dist/Table.d.ts +2 -0
- package/dist/Table.d.ts.map +1 -1
- package/dist/Table.js +10 -3
- package/dist/Table.js.map +1 -1
- package/dist/Table.jsx +10 -3
- package/dist/Table.jsx.map +1 -1
- package/dist/Tabs.d.ts.map +1 -1
- package/dist/Tabs.js +3 -0
- package/dist/Tabs.js.map +1 -1
- package/dist/Tabs.jsx +1 -1
- package/dist/Tabs.jsx.map +1 -1
- package/dist/TagGroup.d.ts +3 -1
- package/dist/TagGroup.d.ts.map +1 -1
- package/dist/TagGroup.js +12 -8
- package/dist/TagGroup.js.map +1 -1
- package/dist/TagGroup.jsx +11 -8
- package/dist/TagGroup.jsx.map +1 -1
- package/dist/Text.d.ts.map +1 -1
- package/dist/Text.js +9 -8
- package/dist/Text.js.map +1 -1
- package/dist/Text.jsx +3 -3
- package/dist/Text.jsx.map +1 -1
- package/dist/TextField.js +4 -1
- package/dist/TextField.js.map +1 -1
- package/dist/TextField.jsx +4 -1
- package/dist/TextField.jsx.map +1 -1
- package/dist/TimeField.d.ts +14 -50
- package/dist/TimeField.d.ts.map +1 -1
- package/dist/TimeField.js +111 -205
- package/dist/TimeField.js.map +1 -1
- package/dist/TimeField.jsx +76 -82
- package/dist/TimeField.jsx.map +1 -1
- package/dist/Tree.d.ts.map +1 -1
- package/dist/Tree.js +3 -3
- package/dist/Tree.js.map +1 -1
- package/dist/Tree.jsx +3 -3
- package/dist/Tree.jsx.map +1 -1
- package/dist/VisuallyHidden.d.ts.map +1 -1
- package/dist/VisuallyHidden.js +3 -11
- package/dist/VisuallyHidden.js.map +1 -1
- package/dist/VisuallyHidden.jsx +3 -4
- package/dist/VisuallyHidden.jsx.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -6
- package/dist/index.jsx +6 -6
- package/dist/useDragAndDrop.d.ts +0 -8
- package/dist/useDragAndDrop.d.ts.map +1 -1
- package/dist/useDragAndDrop2.js +6 -2
- package/dist/useDragAndDrop2.js.map +1 -1
- package/dist/useDragAndDrop2.jsx +6 -2
- package/dist/useDragAndDrop2.jsx.map +1 -1
- package/dist/utils.d.ts +1 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +2 -2
- package/dist/utils.js.map +1 -1
- package/dist/utils.jsx +2 -2
- package/dist/utils.jsx.map +1 -1
- package/package.json +3 -9
- package/src/ActionBar.tsx +10 -12
- package/src/ActionGroup.tsx +5 -3
- package/src/Autocomplete.tsx +14 -9
- package/src/Breadcrumbs.tsx +57 -42
- package/src/Calendar.tsx +30 -1
- package/src/Color.tsx +42 -27
- package/src/ComboBox.tsx +49 -17
- package/src/DateField.tsx +285 -52
- package/src/DatePicker.tsx +345 -57
- package/src/DateRangePickerContext.tsx +2 -0
- package/src/Disclosure.tsx +4 -0
- package/src/ElementTag.tsx +116 -0
- package/src/GridList.tsx +8 -2
- package/src/Landmark.tsx +4 -4
- package/src/Link.tsx +4 -4
- package/src/ListBox.tsx +323 -21
- package/src/Modal.tsx +21 -5
- package/src/Popover.tsx +28 -7
- package/src/RangeCalendar.tsx +120 -1
- package/src/SearchField.tsx +53 -1
- package/src/Select.tsx +114 -22
- package/src/Separator.tsx +3 -3
- package/src/SharedElementTransition.tsx +92 -36
- package/src/StepList.tsx +0 -7
- package/src/Table.tsx +19 -4
- package/src/Tabs.tsx +1 -0
- package/src/TagGroup.tsx +26 -6
- package/src/Text.tsx +5 -4
- package/src/TextField.tsx +1 -1
- package/src/TimeField.tsx +113 -196
- package/src/Tree.tsx +14 -4
- package/src/VisuallyHidden.tsx +8 -12
- package/src/index.ts +3 -8
- package/src/useDragAndDrop.ts +8 -10
- package/src/utils.tsx +3 -3
- package/dist/DatePicker.js.map +0 -1
- package/dist/DatePicker.jsx.map +0 -1
- package/dist/HiddenTimeInput.d.ts +0 -25
- package/dist/HiddenTimeInput.d.ts.map +0 -1
- package/dist/HiddenTimeInput.js +0 -104
- package/dist/HiddenTimeInput.js.map +0 -1
- package/dist/HiddenTimeInput.jsx +0 -69
- package/dist/HiddenTimeInput.jsx.map +0 -1
- package/src/HiddenTimeInput.tsx +0 -133
package/dist/DatePicker.jsx
CHANGED
|
@@ -1,682 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import { d as
|
|
7
|
-
import { Show, createContext, createEffect, createMemo, createSignal, onCleanup, splitProps, useContext } from "solid-js";
|
|
8
|
-
import { Portal } from "solid-js/web";
|
|
9
|
-
import { FocusScope, createDatePicker, createDateRangePicker, createPopover, useUNSAFE_PortalContext } from "@proyecto-viviana/solidaria";
|
|
10
|
-
import { access, createCalendarState, createDateFieldState, createDatePickerState, createRangeCalendarState } from "@proyecto-viviana/solid-stately";
|
|
11
|
-
//#region src/DatePicker.tsx
|
|
12
|
-
/**
|
|
13
|
-
* DatePicker component for solidaria-components
|
|
14
|
-
*
|
|
15
|
-
* Pre-wired headless date picker component that combines a date field with a calendar popup.
|
|
16
|
-
* Port of react-aria-components/src/DatePicker.tsx
|
|
17
|
-
*/
|
|
18
|
-
const DatePickerContext = createContext(null);
|
|
19
|
-
const DatePickerStateContext = createContext(null);
|
|
20
|
-
const DateRangePickerStateContext = createContext(null);
|
|
21
|
-
function withFormValidationBehavior(props, formContext) {
|
|
22
|
-
if (!formContext?.validationBehavior) return props;
|
|
23
|
-
return new Proxy(props, {
|
|
24
|
-
get(target, property, receiver) {
|
|
25
|
-
const localValue = Reflect.get(target, property, receiver);
|
|
26
|
-
if (property === "validationBehavior" && localValue === void 0) return formContext.validationBehavior;
|
|
27
|
-
return localValue;
|
|
28
|
-
},
|
|
29
|
-
has(target, property) {
|
|
30
|
-
return Reflect.has(target, property) || property === "validationBehavior" && formContext.validationBehavior !== void 0;
|
|
31
|
-
},
|
|
32
|
-
ownKeys(target) {
|
|
33
|
-
const keys = new Set(Reflect.ownKeys(target));
|
|
34
|
-
if (formContext.validationBehavior !== void 0) keys.add("validationBehavior");
|
|
35
|
-
return Array.from(keys);
|
|
36
|
-
},
|
|
37
|
-
getOwnPropertyDescriptor(target, property) {
|
|
38
|
-
const descriptor = Reflect.getOwnPropertyDescriptor(target, property);
|
|
39
|
-
if (descriptor) return descriptor;
|
|
40
|
-
if (property === "validationBehavior" && formContext.validationBehavior !== void 0) return {
|
|
41
|
-
enumerable: true,
|
|
42
|
-
configurable: true,
|
|
43
|
-
get: () => formContext.validationBehavior
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
function useDatePickerContext() {
|
|
49
|
-
const context = useContext(DatePickerContext);
|
|
50
|
-
if (!context) throw new Error("DatePicker components must be used within a DatePicker");
|
|
51
|
-
return context;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* A date picker combines a DateField and a Calendar popover.
|
|
55
|
-
*
|
|
56
|
-
* @example
|
|
57
|
-
* ```tsx
|
|
58
|
-
* <DatePicker label="Event date">
|
|
59
|
-
* <Label>Event date</Label>
|
|
60
|
-
* <Group>
|
|
61
|
-
* <DateInput>
|
|
62
|
-
* {(segment) => <DateSegment segment={segment} />}
|
|
63
|
-
* </DateInput>
|
|
64
|
-
* <DatePickerButton>📅</DatePickerButton>
|
|
65
|
-
* </Group>
|
|
66
|
-
* <Popover>
|
|
67
|
-
* <Dialog>
|
|
68
|
-
* <Calendar>
|
|
69
|
-
* <CalendarGrid>
|
|
70
|
-
* {(date) => <CalendarCell date={date} />}
|
|
71
|
-
* </CalendarGrid>
|
|
72
|
-
* </Calendar>
|
|
73
|
-
* </Dialog>
|
|
74
|
-
* </Popover>
|
|
75
|
-
* </DatePicker>
|
|
76
|
-
* ```
|
|
77
|
-
*/
|
|
78
|
-
function DatePicker(props) {
|
|
79
|
-
const isHydrated = useIsHydrated();
|
|
80
|
-
const formContext = useContext(FormContext);
|
|
81
|
-
return <Show when={isHydrated()} fallback={<div class="solidaria-DatePicker solidaria-DatePicker--placeholder" aria-hidden="true" />}>
|
|
82
|
-
<DatePickerInner {...props} __formContext={formContext} />
|
|
83
|
-
</Show>;
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Internal DatePicker component that renders after client mount.
|
|
87
|
-
*/
|
|
88
|
-
function DatePickerInner(props) {
|
|
89
|
-
const formContext = props.__formContext ?? useContext(FormContext);
|
|
90
|
-
const [local, stateProps, rest] = splitProps(withFormValidationBehavior(props, formContext), [
|
|
91
|
-
"children",
|
|
92
|
-
"class",
|
|
93
|
-
"style",
|
|
94
|
-
"slot",
|
|
95
|
-
"shouldCloseOnSelect",
|
|
96
|
-
"__formContext"
|
|
97
|
-
], [
|
|
98
|
-
"value",
|
|
99
|
-
"defaultValue",
|
|
100
|
-
"onChange",
|
|
101
|
-
"isOpen",
|
|
102
|
-
"defaultOpen",
|
|
103
|
-
"onOpenChange",
|
|
104
|
-
"minValue",
|
|
105
|
-
"maxValue",
|
|
106
|
-
"isInvalid",
|
|
107
|
-
"isDisabled",
|
|
108
|
-
"isReadOnly",
|
|
109
|
-
"isRequired",
|
|
110
|
-
"locale",
|
|
111
|
-
"granularity",
|
|
112
|
-
"hourCycle",
|
|
113
|
-
"hideTimeZone",
|
|
114
|
-
"placeholderValue",
|
|
115
|
-
"shouldForceLeadingZeros",
|
|
116
|
-
"createCalendar",
|
|
117
|
-
"validationState",
|
|
118
|
-
"validationBehavior",
|
|
119
|
-
"validate",
|
|
120
|
-
"description",
|
|
121
|
-
"errorMessage",
|
|
122
|
-
"isDateUnavailable",
|
|
123
|
-
"firstDayOfWeek",
|
|
124
|
-
"visibleMonths",
|
|
125
|
-
"pageBehavior",
|
|
126
|
-
"selectionAlignment",
|
|
127
|
-
"isDateDisabled"
|
|
128
|
-
]);
|
|
129
|
-
const [triggerRef, setTriggerRef] = createSignal(null);
|
|
130
|
-
const [fieldRef, setFieldRef] = createSignal(null);
|
|
131
|
-
const datePickerState = createDatePickerState({
|
|
132
|
-
get value() {
|
|
133
|
-
return stateProps.value;
|
|
134
|
-
},
|
|
135
|
-
get defaultValue() {
|
|
136
|
-
return stateProps.defaultValue;
|
|
137
|
-
},
|
|
138
|
-
get onChange() {
|
|
139
|
-
return stateProps.onChange;
|
|
140
|
-
},
|
|
141
|
-
get minValue() {
|
|
142
|
-
return stateProps.minValue;
|
|
143
|
-
},
|
|
144
|
-
get maxValue() {
|
|
145
|
-
return stateProps.maxValue;
|
|
146
|
-
},
|
|
147
|
-
get isDisabled() {
|
|
148
|
-
return stateProps.isDisabled;
|
|
149
|
-
},
|
|
150
|
-
get isReadOnly() {
|
|
151
|
-
return stateProps.isReadOnly;
|
|
152
|
-
},
|
|
153
|
-
get isRequired() {
|
|
154
|
-
return stateProps.isRequired;
|
|
155
|
-
},
|
|
156
|
-
get granularity() {
|
|
157
|
-
return stateProps.granularity;
|
|
158
|
-
},
|
|
159
|
-
get hourCycle() {
|
|
160
|
-
return stateProps.hourCycle;
|
|
161
|
-
},
|
|
162
|
-
get hideTimeZone() {
|
|
163
|
-
return stateProps.hideTimeZone;
|
|
164
|
-
},
|
|
165
|
-
get placeholderValue() {
|
|
166
|
-
return stateProps.placeholderValue;
|
|
167
|
-
},
|
|
168
|
-
get shouldCloseOnSelect() {
|
|
169
|
-
return local.shouldCloseOnSelect;
|
|
170
|
-
},
|
|
171
|
-
get defaultOpen() {
|
|
172
|
-
return stateProps.defaultOpen;
|
|
173
|
-
},
|
|
174
|
-
get isOpen() {
|
|
175
|
-
return stateProps.isOpen;
|
|
176
|
-
},
|
|
177
|
-
get onOpenChange() {
|
|
178
|
-
return stateProps.onOpenChange;
|
|
179
|
-
},
|
|
180
|
-
get isDateUnavailable() {
|
|
181
|
-
return stateProps.isDateUnavailable;
|
|
182
|
-
},
|
|
183
|
-
get validationState() {
|
|
184
|
-
return stateProps.validationState;
|
|
185
|
-
}
|
|
186
|
-
});
|
|
187
|
-
const overlayState = {
|
|
188
|
-
get isOpen() {
|
|
189
|
-
return datePickerState.isOpen();
|
|
190
|
-
},
|
|
191
|
-
open: datePickerState.open,
|
|
192
|
-
close: datePickerState.close,
|
|
193
|
-
toggle: () => datePickerState.setOpen(!datePickerState.isOpen())
|
|
194
|
-
};
|
|
195
|
-
const fieldState = createDateFieldState({
|
|
196
|
-
...stateProps,
|
|
197
|
-
value: () => datePickerState.value(),
|
|
198
|
-
onChange: (value) => {
|
|
199
|
-
datePickerState.setValue(value);
|
|
200
|
-
}
|
|
201
|
-
});
|
|
202
|
-
const calendarState = createCalendarState({
|
|
203
|
-
value: () => datePickerState.value(),
|
|
204
|
-
onChange: (value) => {
|
|
205
|
-
if (!value) return;
|
|
206
|
-
datePickerState.setDateValue(value);
|
|
207
|
-
},
|
|
208
|
-
minValue: stateProps.minValue,
|
|
209
|
-
maxValue: stateProps.maxValue,
|
|
210
|
-
isDisabled: stateProps.isDisabled,
|
|
211
|
-
isReadOnly: stateProps.isReadOnly,
|
|
212
|
-
locale: stateProps.locale,
|
|
213
|
-
createCalendar: stateProps.createCalendar,
|
|
214
|
-
isDateUnavailable: stateProps.isDateUnavailable,
|
|
215
|
-
firstDayOfWeek: stateProps.firstDayOfWeek,
|
|
216
|
-
visibleMonths: stateProps.visibleMonths,
|
|
217
|
-
pageBehavior: stateProps.pageBehavior,
|
|
218
|
-
selectionAlignment: stateProps.selectionAlignment,
|
|
219
|
-
isDateDisabled: stateProps.isDateDisabled
|
|
220
|
-
});
|
|
221
|
-
const pickerAria = createDatePicker(() => ({
|
|
222
|
-
...rest,
|
|
223
|
-
description: stateProps.description,
|
|
224
|
-
errorMessage: stateProps.errorMessage
|
|
225
|
-
}), fieldState, overlayState, calendarState);
|
|
226
|
-
const contextValue = {
|
|
227
|
-
fieldState,
|
|
228
|
-
datePickerState,
|
|
229
|
-
calendarState,
|
|
230
|
-
overlayState,
|
|
231
|
-
triggerRef,
|
|
232
|
-
setTriggerRef: (element) => {
|
|
233
|
-
if (!element) return;
|
|
234
|
-
const current = triggerRef();
|
|
235
|
-
if (!current || !current.isConnected) setTriggerRef(() => element);
|
|
236
|
-
},
|
|
237
|
-
pickerAria
|
|
238
|
-
};
|
|
239
|
-
const isInvalid = createMemo(() => fieldState.isInvalid() || datePickerState.builtinValidation().isInvalid || Boolean(stateProps.isInvalid));
|
|
240
|
-
const renderValues = createMemo(() => ({
|
|
241
|
-
isDisabled: fieldState.isDisabled(),
|
|
242
|
-
isReadOnly: fieldState.isReadOnly(),
|
|
243
|
-
isRequired: fieldState.isRequired(),
|
|
244
|
-
isInvalid: isInvalid(),
|
|
245
|
-
isOpen: overlayState.isOpen
|
|
246
|
-
}));
|
|
247
|
-
const renderProps = useRenderProps({
|
|
248
|
-
class: local.class,
|
|
249
|
-
style: local.style,
|
|
250
|
-
defaultClassName: "solidaria-DatePicker"
|
|
251
|
-
}, renderValues);
|
|
252
|
-
const validationBehavior = () => stateProps.validationBehavior ?? formContext?.validationBehavior ?? "native";
|
|
253
|
-
return <DatePickerStateContext.Provider value={fieldState}>
|
|
254
|
-
<DatePickerContext.Provider value={contextValue}>
|
|
255
|
-
{}
|
|
256
|
-
<DateFieldContext.Provider value={{
|
|
257
|
-
state: fieldState,
|
|
258
|
-
aria: {
|
|
259
|
-
labelProps: pickerAria.labelProps,
|
|
260
|
-
inputProps: pickerAria.fieldProps,
|
|
261
|
-
descriptionProps: pickerAria.descriptionProps,
|
|
262
|
-
errorMessageProps: pickerAria.errorMessageProps
|
|
263
|
-
}
|
|
264
|
-
}}>
|
|
265
|
-
<CalendarContext.Provider value={calendarState}>
|
|
266
|
-
<div ref={setFieldRef} {...pickerAria.groupProps} class={renderProps.class()} style={renderProps.style()} data-disabled={dataAttr(fieldState.isDisabled())} data-readonly={dataAttr(fieldState.isReadOnly())} data-required={dataAttr(fieldState.isRequired())} data-invalid={dataAttr(isInvalid())} data-open={dataAttr(overlayState.isOpen)}>
|
|
267
|
-
<Provider values={[[TextContext, { slots: {
|
|
268
|
-
get description() {
|
|
269
|
-
return pickerAria.descriptionProps;
|
|
270
|
-
},
|
|
271
|
-
get errorMessage() {
|
|
272
|
-
return pickerAria.errorMessageProps;
|
|
273
|
-
}
|
|
274
|
-
} }]]}>
|
|
275
|
-
{props.children}
|
|
276
|
-
</Provider>
|
|
277
|
-
</div>
|
|
278
|
-
<Show when={rest.name}>
|
|
279
|
-
<HiddenDateInput name={rest.name} form={rest.form} value={() => datePickerState.value()} autoComplete={rest.autoComplete} isDisabled={fieldState.isDisabled()} isRequired={fieldState.isRequired()} validationBehavior={validationBehavior()} validationState={fieldState} focus={() => {
|
|
280
|
-
fieldRef()?.querySelector("[role=\"spinbutton\"]")?.focus();
|
|
281
|
-
}} minValue={() => access(stateProps.minValue)} maxValue={() => access(stateProps.maxValue)} granularity={datePickerState.granularity} />
|
|
282
|
-
</Show>
|
|
283
|
-
</CalendarContext.Provider>
|
|
284
|
-
</DateFieldContext.Provider>
|
|
285
|
-
</DatePickerContext.Provider>
|
|
286
|
-
</DatePickerStateContext.Provider>;
|
|
287
|
-
}
|
|
288
|
-
function DateRangePicker(props) {
|
|
289
|
-
const isHydrated = useIsHydrated();
|
|
290
|
-
return <Show when={isHydrated()} fallback={<div class="solidaria-DateRangePicker solidaria-DateRangePicker--placeholder" aria-hidden="true" />}>
|
|
291
|
-
<DateRangePickerInner {...props} />
|
|
292
|
-
</Show>;
|
|
293
|
-
}
|
|
294
|
-
function DateRangePickerInner(props) {
|
|
295
|
-
const [local, overlayProps, stateProps, rest] = splitProps(props, [
|
|
296
|
-
"children",
|
|
297
|
-
"class",
|
|
298
|
-
"style",
|
|
299
|
-
"slot",
|
|
300
|
-
"shouldCloseOnSelect"
|
|
301
|
-
], [
|
|
302
|
-
"defaultOpen",
|
|
303
|
-
"isOpen",
|
|
304
|
-
"onOpenChange"
|
|
305
|
-
], [
|
|
306
|
-
"value",
|
|
307
|
-
"defaultValue",
|
|
308
|
-
"onChange",
|
|
309
|
-
"minValue",
|
|
310
|
-
"maxValue",
|
|
311
|
-
"isDisabled",
|
|
312
|
-
"isReadOnly",
|
|
313
|
-
"focusedValue",
|
|
314
|
-
"defaultFocusedValue",
|
|
315
|
-
"onFocusChange",
|
|
316
|
-
"locale",
|
|
317
|
-
"granularity",
|
|
318
|
-
"hourCycle",
|
|
319
|
-
"hideTimeZone",
|
|
320
|
-
"placeholderValue",
|
|
321
|
-
"createCalendar",
|
|
322
|
-
"isDateUnavailable",
|
|
323
|
-
"visibleMonths",
|
|
324
|
-
"isDateDisabled",
|
|
325
|
-
"validationState",
|
|
326
|
-
"allowsNonContiguousRanges",
|
|
327
|
-
"firstDayOfWeek",
|
|
328
|
-
"pageBehavior",
|
|
329
|
-
"selectionAlignment"
|
|
330
|
-
]);
|
|
331
|
-
const [internalOpen, setInternalOpen] = createSignal(overlayProps.defaultOpen ?? false);
|
|
332
|
-
const isOpen = () => access(overlayProps.isOpen) ?? internalOpen();
|
|
333
|
-
const setOpen = (open) => {
|
|
334
|
-
if (access(overlayProps.isOpen) === void 0) setInternalOpen(open);
|
|
335
|
-
overlayProps.onOpenChange?.(open);
|
|
336
|
-
};
|
|
337
|
-
let triggerRef = null;
|
|
338
|
-
const overlayState = {
|
|
339
|
-
get isOpen() {
|
|
340
|
-
return isOpen();
|
|
341
|
-
},
|
|
342
|
-
open: () => setOpen(true),
|
|
343
|
-
close: () => setOpen(false),
|
|
344
|
-
toggle: () => setOpen(!isOpen())
|
|
345
|
-
};
|
|
346
|
-
const [internalRangeValue, setInternalRangeValue] = createSignal(stateProps.defaultValue ?? null);
|
|
347
|
-
const currentRangeValue = createMemo(() => {
|
|
348
|
-
const controlled = access(stateProps.value);
|
|
349
|
-
return controlled !== void 0 ? controlled : internalRangeValue();
|
|
350
|
-
});
|
|
351
|
-
const setCommittedRangeValue = (value) => {
|
|
352
|
-
if (access(stateProps.value) === void 0) setInternalRangeValue(() => value);
|
|
353
|
-
stateProps.onChange?.(value);
|
|
354
|
-
};
|
|
355
|
-
const calendarState = createRangeCalendarState({
|
|
356
|
-
...stateProps,
|
|
357
|
-
value: currentRangeValue,
|
|
358
|
-
onChange: (value) => {
|
|
359
|
-
setCommittedRangeValue(value);
|
|
360
|
-
if (local.shouldCloseOnSelect !== false && value?.start && value?.end) setOpen(false);
|
|
361
|
-
}
|
|
362
|
-
});
|
|
363
|
-
const isInvalid = createMemo(() => Boolean(rest.isInvalid) || calendarState.validationState() === "invalid");
|
|
364
|
-
const isRequired = createMemo(() => Boolean(rest.isRequired));
|
|
365
|
-
const [startFieldValue, setStartFieldValue] = createSignal(currentRangeValue()?.start ?? null);
|
|
366
|
-
const [endFieldValue, setEndFieldValue] = createSignal(currentRangeValue()?.end ?? null);
|
|
367
|
-
const rangeGranularity = createMemo(() => {
|
|
368
|
-
if (stateProps.granularity) return stateProps.granularity;
|
|
369
|
-
const value = currentRangeValue()?.start ?? currentRangeValue()?.end;
|
|
370
|
-
if (value && "hour" in value) return "second" in value ? "second" : "minute";
|
|
371
|
-
return "day";
|
|
372
|
-
});
|
|
373
|
-
createEffect(() => {
|
|
374
|
-
const value = currentRangeValue();
|
|
375
|
-
setStartFieldValue(() => value?.start ?? null);
|
|
376
|
-
setEndFieldValue(() => value?.end ?? null);
|
|
377
|
-
});
|
|
378
|
-
const setRangeFieldValue = (part, nextValue) => {
|
|
379
|
-
if (part === "start") setStartFieldValue(() => nextValue);
|
|
380
|
-
else setEndFieldValue(() => nextValue);
|
|
381
|
-
const nextStart = part === "start" ? nextValue : startFieldValue();
|
|
382
|
-
const nextEnd = part === "end" ? nextValue : endFieldValue();
|
|
383
|
-
setCommittedRangeValue(nextStart && nextEnd ? {
|
|
384
|
-
start: nextStart,
|
|
385
|
-
end: nextEnd
|
|
386
|
-
} : null);
|
|
387
|
-
};
|
|
388
|
-
const rangeFieldStateProps = {
|
|
389
|
-
minValue: stateProps.minValue,
|
|
390
|
-
maxValue: stateProps.maxValue,
|
|
391
|
-
isDisabled: stateProps.isDisabled,
|
|
392
|
-
isReadOnly: stateProps.isReadOnly,
|
|
393
|
-
isRequired,
|
|
394
|
-
locale: access(stateProps.locale),
|
|
395
|
-
granularity: rangeGranularity(),
|
|
396
|
-
hourCycle: stateProps.hourCycle,
|
|
397
|
-
hideTimeZone: stateProps.hideTimeZone,
|
|
398
|
-
placeholderValue: stateProps.placeholderValue,
|
|
399
|
-
validationState: () => isInvalid() ? "invalid" : access(stateProps.validationState),
|
|
400
|
-
isDateUnavailable: stateProps.isDateUnavailable ? (date) => stateProps.isDateUnavailable(date, null) : void 0
|
|
401
|
-
};
|
|
402
|
-
const startFieldState = createDateFieldState({
|
|
403
|
-
...rangeFieldStateProps,
|
|
404
|
-
value: startFieldValue,
|
|
405
|
-
onChange: (value) => setRangeFieldValue("start", value)
|
|
406
|
-
});
|
|
407
|
-
const endFieldState = createDateFieldState({
|
|
408
|
-
...rangeFieldStateProps,
|
|
409
|
-
value: endFieldValue,
|
|
410
|
-
onChange: (value) => setRangeFieldValue("end", value)
|
|
411
|
-
});
|
|
412
|
-
const pickerAria = createDateRangePicker(() => ({
|
|
413
|
-
...rest,
|
|
414
|
-
description: props.description,
|
|
415
|
-
errorMessage: props.errorMessage
|
|
416
|
-
}), calendarState, overlayState);
|
|
417
|
-
const contextValue = {
|
|
418
|
-
calendarState,
|
|
419
|
-
startFieldState,
|
|
420
|
-
endFieldState,
|
|
421
|
-
startFieldContext: {
|
|
422
|
-
state: startFieldState,
|
|
423
|
-
aria: {
|
|
424
|
-
labelProps: {},
|
|
425
|
-
get inputProps() {
|
|
426
|
-
return pickerAria.startInputProps;
|
|
427
|
-
},
|
|
428
|
-
get descriptionProps() {
|
|
429
|
-
return pickerAria.descriptionProps;
|
|
430
|
-
},
|
|
431
|
-
get errorMessageProps() {
|
|
432
|
-
return pickerAria.errorMessageProps;
|
|
433
|
-
}
|
|
434
|
-
}
|
|
435
|
-
},
|
|
436
|
-
endFieldContext: {
|
|
437
|
-
state: endFieldState,
|
|
438
|
-
aria: {
|
|
439
|
-
labelProps: {},
|
|
440
|
-
get inputProps() {
|
|
441
|
-
return pickerAria.endInputProps;
|
|
442
|
-
},
|
|
443
|
-
get descriptionProps() {
|
|
444
|
-
return pickerAria.descriptionProps;
|
|
445
|
-
},
|
|
446
|
-
get errorMessageProps() {
|
|
447
|
-
return pickerAria.errorMessageProps;
|
|
448
|
-
}
|
|
449
|
-
}
|
|
450
|
-
},
|
|
451
|
-
overlayState,
|
|
452
|
-
triggerRef: () => triggerRef,
|
|
453
|
-
setTriggerRef: (element) => {
|
|
454
|
-
if (!element) return;
|
|
455
|
-
if (!triggerRef || !triggerRef.isConnected) triggerRef = element;
|
|
456
|
-
},
|
|
457
|
-
pickerAria
|
|
458
|
-
};
|
|
459
|
-
const renderValues = createMemo(() => ({
|
|
460
|
-
isDisabled: calendarState.isDisabled(),
|
|
461
|
-
isReadOnly: calendarState.isReadOnly(),
|
|
462
|
-
isRequired: isRequired(),
|
|
463
|
-
isInvalid: isInvalid(),
|
|
464
|
-
isOpen: overlayState.isOpen
|
|
465
|
-
}));
|
|
466
|
-
const renderProps = useRenderProps({
|
|
467
|
-
class: local.class,
|
|
468
|
-
style: local.style,
|
|
469
|
-
defaultClassName: "solidaria-DateRangePicker"
|
|
470
|
-
}, renderValues);
|
|
471
|
-
return <DateRangePickerStateContext.Provider value={calendarState}>
|
|
472
|
-
<DateRangePickerContext.Provider value={contextValue}>
|
|
473
|
-
<RangeCalendarContext.Provider value={calendarState}>
|
|
474
|
-
<div {...pickerAria.groupProps} class={renderProps.class()} style={renderProps.style()} data-disabled={dataAttr(calendarState.isDisabled())} data-readonly={dataAttr(calendarState.isReadOnly())} data-required={dataAttr(isRequired())} data-invalid={dataAttr(isInvalid())} data-open={dataAttr(overlayState.isOpen)}>
|
|
475
|
-
<Provider values={[[TextContext, { slots: {
|
|
476
|
-
get description() {
|
|
477
|
-
return pickerAria.descriptionProps;
|
|
478
|
-
},
|
|
479
|
-
get errorMessage() {
|
|
480
|
-
return pickerAria.errorMessageProps;
|
|
481
|
-
}
|
|
482
|
-
} }]]}>
|
|
483
|
-
{props.children}
|
|
484
|
-
</Provider>
|
|
485
|
-
</div>
|
|
486
|
-
<Show when={rest.startName}>
|
|
487
|
-
<HiddenDateInput name={rest.startName} form={rest.form} value={() => currentRangeValue()?.start ?? null} isDisabled={access(stateProps.isDisabled) ?? false} minValue={() => access(stateProps.minValue)} maxValue={() => access(stateProps.maxValue)} granularity={rangeGranularity()} />
|
|
488
|
-
</Show>
|
|
489
|
-
<Show when={rest.endName}>
|
|
490
|
-
<HiddenDateInput name={rest.endName} form={rest.form} value={() => currentRangeValue()?.end ?? null} isDisabled={access(stateProps.isDisabled) ?? false} minValue={() => access(stateProps.minValue)} maxValue={() => access(stateProps.maxValue)} granularity={rangeGranularity()} />
|
|
491
|
-
</Show>
|
|
492
|
-
</RangeCalendarContext.Provider>
|
|
493
|
-
</DateRangePickerContext.Provider>
|
|
494
|
-
</DateRangePickerStateContext.Provider>;
|
|
495
|
-
}
|
|
496
|
-
/**
|
|
497
|
-
* A button that opens the date picker calendar.
|
|
498
|
-
*/
|
|
499
|
-
function DatePickerButton(props) {
|
|
500
|
-
const context = useDatePickerContext();
|
|
501
|
-
const renderValues = createMemo(() => ({
|
|
502
|
-
isDisabled: context.fieldState.isDisabled() || (props.isDisabled ?? false),
|
|
503
|
-
isOpen: context.overlayState.isOpen
|
|
504
|
-
}));
|
|
505
|
-
const renderProps = useRenderProps({
|
|
506
|
-
get children() {
|
|
507
|
-
return props.children;
|
|
508
|
-
},
|
|
509
|
-
class: props.class,
|
|
510
|
-
style: props.style,
|
|
511
|
-
defaultClassName: "solidaria-DatePickerButton"
|
|
512
|
-
}, renderValues);
|
|
513
|
-
const getChildren = () => {
|
|
514
|
-
if (typeof props.children === "function") return renderProps.renderChildren();
|
|
515
|
-
return props.children ?? "📅";
|
|
516
|
-
};
|
|
517
|
-
return <button ref={(el) => {
|
|
518
|
-
context.setTriggerRef(el);
|
|
519
|
-
}} {...context.pickerAria.buttonProps} class={renderProps.class()} style={renderProps.style()} disabled={context.fieldState.isDisabled() || props.isDisabled} data-disabled={dataAttr(context.fieldState.isDisabled() || props.isDisabled)} data-open={dataAttr(context.overlayState.isOpen)}>
|
|
520
|
-
{getChildren()}
|
|
521
|
-
</button>;
|
|
522
|
-
}
|
|
523
|
-
function DateRangePickerButton(props) {
|
|
524
|
-
const context = useDateRangePickerContext();
|
|
525
|
-
const renderValues = createMemo(() => ({
|
|
526
|
-
isDisabled: context.calendarState.isDisabled() || (props.isDisabled ?? false),
|
|
527
|
-
isOpen: context.overlayState.isOpen
|
|
528
|
-
}));
|
|
529
|
-
const renderProps = useRenderProps({
|
|
530
|
-
get children() {
|
|
531
|
-
return props.children;
|
|
532
|
-
},
|
|
533
|
-
class: props.class,
|
|
534
|
-
style: props.style,
|
|
535
|
-
defaultClassName: "solidaria-DateRangePickerButton"
|
|
536
|
-
}, renderValues);
|
|
537
|
-
const getChildren = () => {
|
|
538
|
-
if (typeof props.children === "function") return renderProps.renderChildren();
|
|
539
|
-
return props.children ?? "📅";
|
|
540
|
-
};
|
|
541
|
-
return <button ref={(el) => context.setTriggerRef(el)} {...context.pickerAria.buttonProps} class={renderProps.class()} style={renderProps.style()} disabled={context.calendarState.isDisabled() || props.isDisabled} data-disabled={dataAttr(context.calendarState.isDisabled() || props.isDisabled)} data-open={dataAttr(context.overlayState.isOpen)}>
|
|
542
|
-
{getChildren()}
|
|
543
|
-
</button>;
|
|
544
|
-
}
|
|
545
|
-
function DatePickerLabel(props) {
|
|
546
|
-
const context = useDatePickerContext();
|
|
547
|
-
return <span {...context.pickerAria.labelProps} class={props.class}>
|
|
548
|
-
{props.children}
|
|
549
|
-
</span>;
|
|
550
|
-
}
|
|
551
|
-
function DatePickerDescription(props) {
|
|
552
|
-
const context = useDatePickerContext();
|
|
553
|
-
return <p {...context.pickerAria.descriptionProps} class={props.class}>
|
|
554
|
-
{props.children}
|
|
555
|
-
</p>;
|
|
556
|
-
}
|
|
557
|
-
function DatePickerErrorMessage(props) {
|
|
558
|
-
const context = useDatePickerContext();
|
|
559
|
-
return <p {...context.pickerAria.errorMessageProps} class={props.class}>
|
|
560
|
-
{props.children}
|
|
561
|
-
</p>;
|
|
562
|
-
}
|
|
563
|
-
function DateRangePickerLabel(props) {
|
|
564
|
-
const context = useDateRangePickerContext();
|
|
565
|
-
return <span {...context.pickerAria.labelProps} class={props.class}>
|
|
566
|
-
{props.children}
|
|
567
|
-
</span>;
|
|
568
|
-
}
|
|
569
|
-
function DateRangePickerDescription(props) {
|
|
570
|
-
const context = useDateRangePickerContext();
|
|
571
|
-
return <p {...context.pickerAria.descriptionProps} class={props.class}>
|
|
572
|
-
{props.children}
|
|
573
|
-
</p>;
|
|
574
|
-
}
|
|
575
|
-
function DateRangePickerErrorMessage(props) {
|
|
576
|
-
const context = useDateRangePickerContext();
|
|
577
|
-
return <p {...context.pickerAria.errorMessageProps} class={props.class}>
|
|
578
|
-
{props.children}
|
|
579
|
-
</p>;
|
|
580
|
-
}
|
|
581
|
-
function createEscapeDismissFallback(isOpen, close) {
|
|
582
|
-
createEffect(() => {
|
|
583
|
-
if (!isOpen() || typeof document === "undefined") return;
|
|
584
|
-
const onKeyDown = (event) => {
|
|
585
|
-
if (event.key !== "Escape" || event.defaultPrevented || event.isComposing) return;
|
|
586
|
-
close();
|
|
587
|
-
};
|
|
588
|
-
document.addEventListener("keydown", onKeyDown);
|
|
589
|
-
onCleanup(() => document.removeEventListener("keydown", onKeyDown));
|
|
590
|
-
});
|
|
591
|
-
}
|
|
592
|
-
/**
|
|
593
|
-
* The content area of the date picker (typically contains a Calendar).
|
|
594
|
-
*/
|
|
595
|
-
function DatePickerContent(props) {
|
|
596
|
-
const context = useDatePickerContext();
|
|
597
|
-
const portalContext = useUNSAFE_PortalContext();
|
|
598
|
-
let contentRef;
|
|
599
|
-
const portalContainer = () => portalContext.getContainer?.() ?? void 0;
|
|
600
|
-
const popoverAria = createPopover({
|
|
601
|
-
triggerRef: () => context.triggerRef()?.parentElement ?? context.triggerRef(),
|
|
602
|
-
popoverRef: () => null,
|
|
603
|
-
placement: "bottom start",
|
|
604
|
-
offset: 8,
|
|
605
|
-
isNonModal: false,
|
|
606
|
-
isKeyboardDismissDisabled: false
|
|
607
|
-
}, {
|
|
608
|
-
isOpen: () => context.overlayState.isOpen,
|
|
609
|
-
open: context.overlayState.open,
|
|
610
|
-
close: context.overlayState.close,
|
|
611
|
-
toggle: context.overlayState.toggle
|
|
612
|
-
});
|
|
613
|
-
createEscapeDismissFallback(() => context.overlayState.isOpen, context.overlayState.close);
|
|
614
|
-
const cleanPopoverProps = () => {
|
|
615
|
-
const { style: _style, ref: _ref, ...rest } = popoverAria.popoverProps;
|
|
616
|
-
return rest;
|
|
617
|
-
};
|
|
618
|
-
const mergedStyle = () => {
|
|
619
|
-
return {
|
|
620
|
-
...popoverAria.popoverProps.style,
|
|
621
|
-
...props.style
|
|
622
|
-
};
|
|
623
|
-
};
|
|
624
|
-
createEffect(() => {
|
|
625
|
-
if (!context.overlayState.isOpen) requestAnimationFrame(() => context.triggerRef()?.focus());
|
|
626
|
-
});
|
|
627
|
-
return <Show when={context.overlayState.isOpen}>
|
|
628
|
-
<Portal mount={portalContainer()}>
|
|
629
|
-
<FocusScope contain restoreFocus>
|
|
630
|
-
<div ref={contentRef} {...cleanPopoverProps()} {...context.pickerAria.dialogProps} tabIndex={-1} class={props.class ?? "solidaria-DatePickerContent"} style={mergedStyle()} data-placement={popoverAria.placement() ?? void 0}>
|
|
631
|
-
{props.children}
|
|
632
|
-
</div>
|
|
633
|
-
</FocusScope>
|
|
634
|
-
</Portal>
|
|
635
|
-
</Show>;
|
|
636
|
-
}
|
|
637
|
-
function DateRangePickerContent(props) {
|
|
638
|
-
const context = useDateRangePickerContext();
|
|
639
|
-
const portalContext = useUNSAFE_PortalContext();
|
|
640
|
-
let contentRef;
|
|
641
|
-
const portalContainer = () => portalContext.getContainer?.() ?? void 0;
|
|
642
|
-
const popoverAria = createPopover({
|
|
643
|
-
triggerRef: () => context.triggerRef()?.parentElement ?? context.triggerRef(),
|
|
644
|
-
popoverRef: () => null,
|
|
645
|
-
placement: "bottom start",
|
|
646
|
-
offset: 8,
|
|
647
|
-
isNonModal: false,
|
|
648
|
-
isKeyboardDismissDisabled: false
|
|
649
|
-
}, {
|
|
650
|
-
isOpen: () => context.overlayState.isOpen,
|
|
651
|
-
open: context.overlayState.open,
|
|
652
|
-
close: context.overlayState.close,
|
|
653
|
-
toggle: context.overlayState.toggle
|
|
654
|
-
});
|
|
655
|
-
createEscapeDismissFallback(() => context.overlayState.isOpen, context.overlayState.close);
|
|
656
|
-
const cleanPopoverProps = () => {
|
|
657
|
-
const { style: _style, ref: _ref, ...rest } = popoverAria.popoverProps;
|
|
658
|
-
return rest;
|
|
659
|
-
};
|
|
660
|
-
const mergedStyle = () => {
|
|
661
|
-
return {
|
|
662
|
-
...popoverAria.popoverProps.style,
|
|
663
|
-
...props.style
|
|
664
|
-
};
|
|
665
|
-
};
|
|
666
|
-
createEffect(() => {
|
|
667
|
-
if (!context.overlayState.isOpen) requestAnimationFrame(() => context.triggerRef()?.focus());
|
|
668
|
-
});
|
|
669
|
-
return <Show when={context.overlayState.isOpen}>
|
|
670
|
-
<Portal mount={portalContainer()}>
|
|
671
|
-
<FocusScope contain restoreFocus>
|
|
672
|
-
<div ref={contentRef} {...cleanPopoverProps()} {...context.pickerAria.dialogProps} tabIndex={-1} class={props.class ?? "solidaria-DateRangePickerContent"} style={mergedStyle()} data-placement={popoverAria.placement() ?? void 0}>
|
|
673
|
-
{props.children}
|
|
674
|
-
</div>
|
|
675
|
-
</FocusScope>
|
|
676
|
-
</Portal>
|
|
677
|
-
</Show>;
|
|
678
|
-
}
|
|
679
|
-
//#endregion
|
|
1
|
+
import "./Text.jsx";
|
|
2
|
+
import "./Form.jsx";
|
|
3
|
+
import "./Calendar.jsx";
|
|
4
|
+
import "./RangeCalendar.jsx";
|
|
5
|
+
import { d as useDateRangePickerContext, u as DateRangePickerContext } from "./DateField2.jsx";
|
|
6
|
+
import { _ as HiddenDateInput, a as DatePickerDescription, c as DatePickerStateContext, d as DateRangePickerContent, f as DateRangePickerDescription, g as useDatePickerContext, h as DateRangePickerStateContext, i as DatePickerContext, l as DateRangePicker, m as DateRangePickerLabel, n as DatePickerButton, o as DatePickerErrorMessage, p as DateRangePickerErrorMessage, r as DatePickerContent, s as DatePickerLabel, t as DatePicker, u as DateRangePickerButton } from "./DatePicker2.jsx";
|
|
680
7
|
export { DatePicker, DatePickerButton, DatePickerContent, DatePickerContext, DatePickerDescription, DatePickerErrorMessage, DatePickerLabel, DatePickerStateContext, DateRangePicker, DateRangePickerButton, DateRangePickerContent, DateRangePickerContext, DateRangePickerDescription, DateRangePickerErrorMessage, DateRangePickerLabel, DateRangePickerStateContext, HiddenDateInput, useDatePickerContext, useDateRangePickerContext };
|
|
681
|
-
|
|
682
|
-
//# sourceMappingURL=DatePicker.jsx.map
|