@proyecto-viviana/solidaria-components 0.3.1 → 0.4.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.js +184 -0
- package/dist/ActionBar.js.map +1 -0
- package/dist/ActionBar.jsx +128 -0
- package/dist/ActionBar.jsx.map +1 -0
- package/dist/ActionGroup.js +179 -0
- package/dist/ActionGroup.js.map +1 -0
- package/dist/ActionGroup.jsx +129 -0
- package/dist/ActionGroup.jsx.map +1 -0
- package/dist/Alert.js +111 -0
- package/dist/Alert.js.map +1 -0
- package/dist/Alert.jsx +82 -0
- package/dist/Alert.jsx.map +1 -0
- package/dist/Autocomplete.js +130 -0
- package/dist/Autocomplete.js.map +1 -0
- package/dist/Autocomplete.jsx +116 -0
- package/dist/Autocomplete.jsx.map +1 -0
- package/dist/Breadcrumbs.d.ts.map +1 -1
- package/dist/Breadcrumbs.js +334 -0
- package/dist/Breadcrumbs.js.map +1 -0
- package/dist/Breadcrumbs.jsx +266 -0
- package/dist/Breadcrumbs.jsx.map +1 -0
- package/dist/Button.d.ts.map +1 -1
- package/dist/Button.js +348 -0
- package/dist/Button.js.map +1 -0
- package/dist/Button.jsx +314 -0
- package/dist/Button.jsx.map +1 -0
- package/dist/Calendar.d.ts +4 -4
- package/dist/Calendar.d.ts.map +1 -1
- package/dist/Calendar.js +538 -0
- package/dist/Calendar.js.map +1 -0
- package/dist/Calendar.jsx +333 -0
- package/dist/Calendar.jsx.map +1 -0
- package/dist/CalendarPicker.d.ts +33 -0
- package/dist/CalendarPicker.d.ts.map +1 -0
- package/dist/CalendarPicker.js +44 -0
- package/dist/CalendarPicker.js.map +1 -0
- package/dist/CalendarPicker.jsx +44 -0
- package/dist/CalendarPicker.jsx.map +1 -0
- package/dist/Checkbox.d.ts +83 -4
- package/dist/Checkbox.d.ts.map +1 -1
- package/dist/Checkbox.js +923 -0
- package/dist/Checkbox.js.map +1 -0
- package/dist/Checkbox.jsx +707 -0
- package/dist/Checkbox.jsx.map +1 -0
- package/dist/Collection.d.ts.map +1 -1
- package/dist/Collection.js +202 -0
- package/dist/Collection.js.map +1 -0
- package/dist/Collection.jsx +152 -0
- package/dist/Collection.jsx.map +1 -0
- package/dist/Color.d.ts.map +1 -1
- package/dist/Color.js +1720 -0
- package/dist/Color.js.map +1 -0
- package/dist/Color.jsx +1344 -0
- package/dist/Color.jsx.map +1 -0
- package/dist/ColorEditor.js +208 -0
- package/dist/ColorEditor.js.map +1 -0
- package/dist/ColorEditor.jsx +120 -0
- package/dist/ColorEditor.jsx.map +1 -0
- package/dist/ComboBox.d.ts +8 -5
- package/dist/ComboBox.d.ts.map +1 -1
- package/dist/ComboBox.js +992 -0
- package/dist/ComboBox.js.map +1 -0
- package/dist/ComboBox.jsx +714 -0
- package/dist/ComboBox.jsx.map +1 -0
- package/dist/ContextualHelpTrigger.js +146 -0
- package/dist/ContextualHelpTrigger.js.map +1 -0
- package/dist/ContextualHelpTrigger.jsx +109 -0
- package/dist/ContextualHelpTrigger.jsx.map +1 -0
- package/dist/DateField.d.ts +3 -3
- package/dist/DateField.d.ts.map +1 -1
- package/dist/DateField.js +4 -0
- package/dist/DateField.jsx +4 -0
- package/dist/DateField2.js +499 -0
- package/dist/DateField2.js.map +1 -0
- package/dist/DateField2.jsx +317 -0
- package/dist/DateField2.jsx.map +1 -0
- package/dist/DatePicker.d.ts +4 -4
- package/dist/DatePicker.d.ts.map +1 -1
- package/dist/DatePicker.js +991 -0
- package/dist/DatePicker.js.map +1 -0
- package/dist/DatePicker.jsx +682 -0
- package/dist/DatePicker.jsx.map +1 -0
- package/dist/Dialog.d.ts.map +1 -1
- package/dist/Dialog.js +337 -0
- package/dist/Dialog.js.map +1 -0
- package/dist/Dialog.jsx +192 -0
- package/dist/Dialog.jsx.map +1 -0
- package/dist/Disclosure.d.ts.map +1 -1
- package/dist/Disclosure.js +328 -0
- package/dist/Disclosure.js.map +1 -0
- package/dist/Disclosure.jsx +230 -0
- package/dist/Disclosure.jsx.map +1 -0
- package/dist/DragAndDrop.d.ts.map +1 -1
- package/dist/DragAndDrop.js +176 -0
- package/dist/DragAndDrop.js.map +1 -0
- package/dist/DragAndDrop.jsx +160 -0
- package/dist/DragAndDrop.jsx.map +1 -0
- package/dist/DropZone.d.ts.map +1 -1
- package/dist/DropZone.js +189 -0
- package/dist/DropZone.js.map +1 -0
- package/dist/DropZone.jsx +144 -0
- package/dist/DropZone.jsx.map +1 -0
- package/dist/FieldError.js +66 -0
- package/dist/FieldError.js.map +1 -0
- package/dist/FieldError.jsx +47 -0
- package/dist/FieldError.jsx.map +1 -0
- package/dist/FileTrigger.js +79 -0
- package/dist/FileTrigger.js.map +1 -0
- package/dist/FileTrigger.jsx +49 -0
- package/dist/FileTrigger.jsx.map +1 -0
- package/dist/Focusable.js +70 -0
- package/dist/Focusable.js.map +1 -0
- package/dist/Focusable.jsx +69 -0
- package/dist/Focusable.jsx.map +1 -0
- package/dist/Form.js +99 -0
- package/dist/Form.js.map +1 -0
- package/dist/Form.jsx +73 -0
- package/dist/Form.jsx.map +1 -0
- package/dist/GridList.d.ts +34 -2
- package/dist/GridList.d.ts.map +1 -1
- package/dist/GridList.js +723 -0
- package/dist/GridList.js.map +1 -0
- package/dist/GridList.jsx +552 -0
- package/dist/GridList.jsx.map +1 -0
- package/dist/HiddenTimeInput.js +104 -0
- package/dist/HiddenTimeInput.js.map +1 -0
- package/dist/HiddenTimeInput.jsx +69 -0
- package/dist/HiddenTimeInput.jsx.map +1 -0
- package/dist/Icon.d.ts.map +1 -1
- package/dist/Icon.js +127 -0
- package/dist/Icon.js.map +1 -0
- package/dist/Icon.jsx +72 -0
- package/dist/Icon.jsx.map +1 -0
- package/dist/Keyboard.js +30 -0
- package/dist/Keyboard.js.map +1 -0
- package/dist/Keyboard.jsx +24 -0
- package/dist/Keyboard.jsx.map +1 -0
- package/dist/Landmark.js +134 -0
- package/dist/Landmark.js.map +1 -0
- package/dist/Landmark.jsx +118 -0
- package/dist/Landmark.jsx.map +1 -0
- package/dist/Link.d.ts.map +1 -1
- package/dist/Link.js +219 -0
- package/dist/Link.js.map +1 -0
- package/dist/Link.jsx +189 -0
- package/dist/Link.jsx.map +1 -0
- package/dist/ListBox.d.ts.map +1 -1
- package/dist/ListBox.js +670 -0
- package/dist/ListBox.js.map +1 -0
- package/dist/ListBox.jsx +508 -0
- package/dist/ListBox.jsx.map +1 -0
- package/dist/Menu.d.ts +27 -9
- package/dist/Menu.d.ts.map +1 -1
- package/dist/Menu.js +1254 -0
- package/dist/Menu.js.map +1 -0
- package/dist/Menu.jsx +1042 -0
- package/dist/Menu.jsx.map +1 -0
- package/dist/Meter.d.ts.map +1 -1
- package/dist/Meter.js +123 -0
- package/dist/Meter.js.map +1 -0
- package/dist/Meter.jsx +107 -0
- package/dist/Meter.jsx.map +1 -0
- package/dist/Modal.d.ts.map +1 -1
- package/dist/Modal.js +380 -0
- package/dist/Modal.js.map +1 -0
- package/dist/Modal.jsx +314 -0
- package/dist/Modal.jsx.map +1 -0
- package/dist/NumberField.d.ts +3 -3
- package/dist/NumberField.d.ts.map +1 -1
- package/dist/NumberField.js +573 -0
- package/dist/NumberField.js.map +1 -0
- package/dist/NumberField.jsx +443 -0
- package/dist/NumberField.jsx.map +1 -0
- package/dist/Popover.d.ts +10 -2
- package/dist/Popover.d.ts.map +1 -1
- package/dist/Popover.js +464 -0
- package/dist/Popover.js.map +1 -0
- package/dist/Popover.jsx +333 -0
- package/dist/Popover.jsx.map +1 -0
- package/dist/Pressable.js +69 -0
- package/dist/Pressable.js.map +1 -0
- package/dist/Pressable.jsx +68 -0
- package/dist/Pressable.jsx.map +1 -0
- package/dist/ProgressBar.d.ts.map +1 -1
- package/dist/ProgressBar.js +130 -0
- package/dist/ProgressBar.js.map +1 -0
- package/dist/ProgressBar.jsx +114 -0
- package/dist/ProgressBar.jsx.map +1 -0
- package/dist/RadioGroup.d.ts +82 -4
- package/dist/RadioGroup.d.ts.map +1 -1
- package/dist/RadioGroup.js +931 -0
- package/dist/RadioGroup.js.map +1 -0
- package/dist/RadioGroup.jsx +681 -0
- package/dist/RadioGroup.jsx.map +1 -0
- package/dist/RangeCalendar.d.ts.map +1 -1
- package/dist/RangeCalendar.js +410 -0
- package/dist/RangeCalendar.js.map +1 -0
- package/dist/RangeCalendar.jsx +253 -0
- package/dist/RangeCalendar.jsx.map +1 -0
- package/dist/RouterProvider.js +118 -0
- package/dist/RouterProvider.js.map +1 -0
- package/dist/RouterProvider.jsx +112 -0
- package/dist/RouterProvider.jsx.map +1 -0
- package/dist/SearchField.d.ts +2 -2
- package/dist/SearchField.d.ts.map +1 -1
- package/dist/SearchField.js +643 -0
- package/dist/SearchField.js.map +1 -0
- package/dist/SearchField.jsx +526 -0
- package/dist/SearchField.jsx.map +1 -0
- package/dist/Select.d.ts.map +1 -1
- package/dist/Select.js +1031 -0
- package/dist/Select.js.map +1 -0
- package/dist/Select.jsx +744 -0
- package/dist/Select.jsx.map +1 -0
- package/dist/SelectionIndicator.d.ts.map +1 -1
- package/dist/SelectionIndicator.js +86 -0
- package/dist/SelectionIndicator.js.map +1 -0
- package/dist/SelectionIndicator.jsx +50 -0
- package/dist/SelectionIndicator.jsx.map +1 -0
- package/dist/Separator.js +97 -0
- package/dist/Separator.js.map +1 -0
- package/dist/Separator.jsx +85 -0
- package/dist/Separator.jsx.map +1 -0
- package/dist/SharedElementTransition.d.ts.map +1 -1
- package/dist/SharedElementTransition.js +165 -0
- package/dist/SharedElementTransition.js.map +1 -0
- package/dist/SharedElementTransition.jsx +138 -0
- package/dist/SharedElementTransition.jsx.map +1 -0
- package/dist/Slider.d.ts +33 -1
- package/dist/Slider.d.ts.map +1 -1
- package/dist/Slider.js +515 -0
- package/dist/Slider.js.map +1 -0
- package/dist/Slider.jsx +403 -0
- package/dist/Slider.jsx.map +1 -0
- package/dist/StepList.js +198 -0
- package/dist/StepList.js.map +1 -0
- package/dist/StepList.jsx +141 -0
- package/dist/StepList.jsx.map +1 -0
- package/dist/Switch.d.ts +65 -2
- package/dist/Switch.d.ts.map +1 -1
- package/dist/Switch.js +534 -0
- package/dist/Switch.js.map +1 -0
- package/dist/Switch.jsx +393 -0
- package/dist/Switch.jsx.map +1 -0
- package/dist/Table.d.ts +48 -0
- package/dist/Table.d.ts.map +1 -1
- package/dist/Table.js +1759 -0
- package/dist/Table.js.map +1 -0
- package/dist/Table.jsx +1348 -0
- package/dist/Table.jsx.map +1 -0
- package/dist/Tabs.d.ts +0 -4
- package/dist/Tabs.d.ts.map +1 -1
- package/dist/Tabs.js +595 -0
- package/dist/Tabs.js.map +1 -0
- package/dist/Tabs.jsx +367 -0
- package/dist/Tabs.jsx.map +1 -0
- package/dist/TagGroup.d.ts.map +1 -1
- package/dist/TagGroup.js +378 -0
- package/dist/TagGroup.js.map +1 -0
- package/dist/TagGroup.jsx +270 -0
- package/dist/TagGroup.jsx.map +1 -0
- package/dist/Text.d.ts +18 -6
- package/dist/Text.d.ts.map +1 -1
- package/dist/Text.js +42 -0
- package/dist/Text.js.map +1 -0
- package/dist/Text.jsx +35 -0
- package/dist/Text.jsx.map +1 -0
- package/dist/TextField.d.ts +7 -6
- package/dist/TextField.d.ts.map +1 -1
- package/dist/TextField.js +436 -0
- package/dist/TextField.js.map +1 -0
- package/dist/TextField.jsx +403 -0
- package/dist/TextField.jsx.map +1 -0
- package/dist/TimeField.d.ts +3 -3
- package/dist/TimeField.d.ts.map +1 -1
- package/dist/TimeField.js +372 -0
- package/dist/TimeField.js.map +1 -0
- package/dist/TimeField.jsx +224 -0
- package/dist/TimeField.jsx.map +1 -0
- package/dist/Toast.d.ts +14 -0
- package/dist/Toast.d.ts.map +1 -1
- package/dist/Toast.js +551 -0
- package/dist/Toast.js.map +1 -0
- package/dist/Toast.jsx +361 -0
- package/dist/Toast.jsx.map +1 -0
- package/dist/ToggleButton.d.ts.map +1 -1
- package/dist/ToggleButton.js +123 -0
- package/dist/ToggleButton.js.map +1 -0
- package/dist/ToggleButton.jsx +88 -0
- package/dist/ToggleButton.jsx.map +1 -0
- package/dist/ToggleButtonGroup.d.ts.map +1 -1
- package/dist/ToggleButtonGroup.js +114 -0
- package/dist/ToggleButtonGroup.js.map +1 -0
- package/dist/ToggleButtonGroup.jsx +85 -0
- package/dist/ToggleButtonGroup.jsx.map +1 -0
- package/dist/Toolbar.js +112 -0
- package/dist/Toolbar.js.map +1 -0
- package/dist/Toolbar.jsx +92 -0
- package/dist/Toolbar.jsx.map +1 -0
- package/dist/Tooltip.d.ts.map +1 -1
- package/dist/Tooltip.js +539 -0
- package/dist/Tooltip.js.map +1 -0
- package/dist/Tooltip.jsx +465 -0
- package/dist/Tooltip.jsx.map +1 -0
- package/dist/Tree.d.ts +14 -2
- package/dist/Tree.d.ts.map +1 -1
- package/dist/Tree.js +1424 -0
- package/dist/Tree.js.map +1 -0
- package/dist/Tree.jsx +1172 -0
- package/dist/Tree.jsx.map +1 -0
- package/dist/Virtualizer.d.ts +16 -2
- package/dist/Virtualizer.d.ts.map +1 -1
- package/dist/Virtualizer.js +2 -0
- package/dist/Virtualizer.jsx +2 -0
- package/dist/Virtualizer2.js +751 -0
- package/dist/Virtualizer2.js.map +1 -0
- package/dist/Virtualizer2.jsx +730 -0
- package/dist/Virtualizer2.jsx.map +1 -0
- package/dist/VirtualizerLayouts.d.ts +18 -0
- package/dist/VirtualizerLayouts.d.ts.map +1 -1
- package/dist/VisuallyHidden.js +42 -0
- package/dist/VisuallyHidden.js.map +1 -0
- package/dist/VisuallyHidden.jsx +35 -0
- package/dist/VisuallyHidden.jsx.map +1 -0
- package/dist/contexts.js +33 -0
- package/dist/contexts.js.map +1 -0
- package/dist/contexts.jsx +33 -0
- package/dist/contexts.jsx.map +1 -0
- package/dist/index.d.ts +7 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +70 -23711
- package/dist/index.jsx +70 -18116
- package/dist/useDragAndDrop.js +2 -0
- package/dist/useDragAndDrop.jsx +2 -0
- package/dist/useDragAndDrop2.js +395 -0
- package/dist/useDragAndDrop2.js.map +1 -0
- package/dist/useDragAndDrop2.jsx +395 -0
- package/dist/useDragAndDrop2.jsx.map +1 -0
- package/dist/utils.d.ts +83 -11
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +285 -0
- package/dist/utils.js.map +1 -0
- package/dist/utils.jsx +277 -0
- package/dist/utils.jsx.map +1 -0
- package/dist/virtualizer/Layout.js +144 -0
- package/dist/virtualizer/Layout.js.map +1 -0
- package/dist/virtualizer/Layout.jsx +144 -0
- package/dist/virtualizer/Layout.jsx.map +1 -0
- package/package.json +401 -4
- package/src/Breadcrumbs.tsx +3 -1
- package/src/Button.tsx +90 -23
- package/src/Calendar.tsx +27 -10
- package/src/CalendarPicker.tsx +73 -0
- package/src/Checkbox.tsx +539 -3
- package/src/Collection.tsx +9 -3
- package/src/Color.tsx +42 -14
- package/src/ComboBox.tsx +126 -14
- package/src/DateField.tsx +20 -2
- package/src/DatePicker.tsx +117 -10
- package/src/Dialog.tsx +13 -5
- package/src/Disclosure.tsx +3 -1
- package/src/DragAndDrop.tsx +3 -1
- package/src/DropZone.tsx +3 -1
- package/src/GridList.tsx +125 -24
- package/src/Icon.tsx +3 -1
- package/src/Link.tsx +3 -1
- package/src/ListBox.tsx +31 -4
- package/src/Menu.tsx +298 -131
- package/src/Meter.tsx +3 -1
- package/src/Modal.tsx +100 -52
- package/src/NumberField.tsx +73 -10
- package/src/Popover.tsx +49 -11
- package/src/ProgressBar.tsx +3 -1
- package/src/RadioGroup.tsx +468 -4
- package/src/RangeCalendar.tsx +3 -1
- package/src/SearchField.tsx +27 -3
- package/src/Select.tsx +22 -7
- package/src/SelectionIndicator.tsx +3 -1
- package/src/SharedElementTransition.tsx +3 -1
- package/src/Slider.tsx +159 -13
- package/src/Switch.tsx +395 -2
- package/src/Table.tsx +409 -95
- package/src/Tabs.tsx +16 -45
- package/src/TagGroup.tsx +4 -1
- package/src/Text.tsx +31 -10
- package/src/TextField.tsx +73 -10
- package/src/TimeField.tsx +20 -2
- package/src/Toast.tsx +79 -14
- package/src/ToggleButton.tsx +3 -1
- package/src/ToggleButtonGroup.tsx +3 -1
- package/src/Tooltip.tsx +55 -8
- package/src/Tree.tsx +77 -9
- package/src/Virtualizer.tsx +180 -31
- package/src/VirtualizerLayouts.ts +45 -10
- package/src/index.ts +50 -0
- package/src/utils.tsx +243 -27
- package/dist/index.js.map +0 -1
- package/dist/index.jsx.map +0 -1
package/src/Calendar.tsx
CHANGED
|
@@ -30,6 +30,7 @@ import {
|
|
|
30
30
|
createCalendarState,
|
|
31
31
|
type CalendarState,
|
|
32
32
|
type CalendarStateProps,
|
|
33
|
+
type CalendarSelectionMode,
|
|
33
34
|
type CalendarDate,
|
|
34
35
|
type DateValue,
|
|
35
36
|
endOfMonth,
|
|
@@ -69,10 +70,13 @@ export interface CalendarRenderProps {
|
|
|
69
70
|
isInvalid: boolean;
|
|
70
71
|
}
|
|
71
72
|
|
|
72
|
-
export interface CalendarProps<
|
|
73
|
+
export interface CalendarProps<
|
|
74
|
+
T extends DateValue = DateValue,
|
|
75
|
+
M extends CalendarSelectionMode = "single",
|
|
76
|
+
>
|
|
73
77
|
extends
|
|
74
78
|
Omit<AriaCalendarProps, "id" | "isDisabled" | "isReadOnly">,
|
|
75
|
-
Omit<CalendarStateProps<T>, "locale">,
|
|
79
|
+
Omit<CalendarStateProps<T, M>, "locale">,
|
|
76
80
|
SlotProps {
|
|
77
81
|
/** The children of the component. */
|
|
78
82
|
children?: JSX.Element;
|
|
@@ -207,7 +211,10 @@ export function useCalendarContext(): CalendarState<DateValue> {
|
|
|
207
211
|
* </Calendar>
|
|
208
212
|
* ```
|
|
209
213
|
*/
|
|
210
|
-
export function Calendar<
|
|
214
|
+
export function Calendar<
|
|
215
|
+
T extends DateValue = CalendarDate,
|
|
216
|
+
M extends CalendarSelectionMode = "single",
|
|
217
|
+
>(props: CalendarProps<T, M>): JSX.Element {
|
|
211
218
|
const inheritedState = useContext(CalendarContext);
|
|
212
219
|
|
|
213
220
|
// Use hydration-safe pattern for client-only rendering
|
|
@@ -227,9 +234,10 @@ export function Calendar<T extends DateValue = CalendarDate>(props: CalendarProp
|
|
|
227
234
|
);
|
|
228
235
|
}
|
|
229
236
|
|
|
230
|
-
function CalendarWithState<
|
|
231
|
-
|
|
232
|
-
|
|
237
|
+
function CalendarWithState<
|
|
238
|
+
T extends DateValue = CalendarDate,
|
|
239
|
+
M extends CalendarSelectionMode = "single",
|
|
240
|
+
>(props: CalendarProps<T, M> & { state: CalendarState<DateValue> }): JSX.Element {
|
|
233
241
|
const [local, stateProps, rest] = splitProps(
|
|
234
242
|
props,
|
|
235
243
|
["children", "class", "style", "slot", "state", "ref"],
|
|
@@ -237,6 +245,7 @@ function CalendarWithState<T extends DateValue = CalendarDate>(
|
|
|
237
245
|
"value",
|
|
238
246
|
"defaultValue",
|
|
239
247
|
"onChange",
|
|
248
|
+
"selectionMode",
|
|
240
249
|
"minValue",
|
|
241
250
|
"maxValue",
|
|
242
251
|
"isDisabled",
|
|
@@ -303,7 +312,10 @@ function CalendarWithState<T extends DateValue = CalendarDate>(
|
|
|
303
312
|
/**
|
|
304
313
|
* Internal Calendar component that renders after client mount.
|
|
305
314
|
*/
|
|
306
|
-
function CalendarInner<
|
|
315
|
+
function CalendarInner<
|
|
316
|
+
T extends DateValue = CalendarDate,
|
|
317
|
+
M extends CalendarSelectionMode = "single",
|
|
318
|
+
>(props: CalendarProps<T, M>): JSX.Element {
|
|
307
319
|
const [local, stateProps, rest] = splitProps(
|
|
308
320
|
props,
|
|
309
321
|
["children", "class", "style", "slot", "ref"],
|
|
@@ -311,6 +323,7 @@ function CalendarInner<T extends DateValue = CalendarDate>(props: CalendarProps<
|
|
|
311
323
|
"value",
|
|
312
324
|
"defaultValue",
|
|
313
325
|
"onChange",
|
|
326
|
+
"selectionMode",
|
|
314
327
|
"minValue",
|
|
315
328
|
"maxValue",
|
|
316
329
|
"isDisabled",
|
|
@@ -333,7 +346,7 @@ function CalendarInner<T extends DateValue = CalendarDate>(props: CalendarProps<
|
|
|
333
346
|
);
|
|
334
347
|
|
|
335
348
|
// Create calendar state
|
|
336
|
-
const state = createCalendarState(stateProps);
|
|
349
|
+
const state = createCalendarState<T, M>(stateProps);
|
|
337
350
|
|
|
338
351
|
// Create calendar ARIA props
|
|
339
352
|
const calendarAria = createCalendar(
|
|
@@ -398,7 +411,9 @@ export function CalendarHeading(props: CalendarHeadingProps): JSX.Element {
|
|
|
398
411
|
}));
|
|
399
412
|
const renderProps = useRenderProps(
|
|
400
413
|
{
|
|
401
|
-
children
|
|
414
|
+
get children() {
|
|
415
|
+
return props.children;
|
|
416
|
+
},
|
|
402
417
|
class: props.class,
|
|
403
418
|
style: props.style,
|
|
404
419
|
defaultClassName: "solidaria-CalendarHeading",
|
|
@@ -625,7 +640,9 @@ export function CalendarCell(props: CalendarCellProps): JSX.Element {
|
|
|
625
640
|
|
|
626
641
|
const renderProps = useRenderProps(
|
|
627
642
|
{
|
|
628
|
-
children
|
|
643
|
+
get children() {
|
|
644
|
+
return props.children;
|
|
645
|
+
},
|
|
629
646
|
class: props.class,
|
|
630
647
|
style: props.style,
|
|
631
648
|
defaultClassName: "solidaria-CalendarCell",
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CalendarMonthPicker / CalendarYearPicker components for solidaria-components
|
|
3
|
+
*
|
|
4
|
+
* Headless month/year "jump-to" pickers shared by Calendar and RangeCalendar.
|
|
5
|
+
* Each reads whichever calendar state context is present and renders through a
|
|
6
|
+
* child function, mirroring the single context-agnostic components upstream.
|
|
7
|
+
* Port of react-aria-components/src/Calendar.tsx (CalendarMonthPicker /
|
|
8
|
+
* CalendarYearPicker).
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import { type JSX, useContext } from "solid-js";
|
|
12
|
+
|
|
13
|
+
import {
|
|
14
|
+
createCalendarMonthPicker,
|
|
15
|
+
createCalendarYearPicker,
|
|
16
|
+
type CalendarMonthPickerProps as AriaCalendarMonthPickerProps,
|
|
17
|
+
type CalendarMonthPickerAria,
|
|
18
|
+
type CalendarYearPickerProps as AriaCalendarYearPickerProps,
|
|
19
|
+
type CalendarYearPickerAria,
|
|
20
|
+
} from "@proyecto-viviana/solidaria";
|
|
21
|
+
|
|
22
|
+
import { CalendarContext } from "./Calendar";
|
|
23
|
+
import { RangeCalendarContext } from "./RangeCalendar";
|
|
24
|
+
|
|
25
|
+
export type {
|
|
26
|
+
CalendarMonthPickerAria,
|
|
27
|
+
CalendarMonthPickerItem,
|
|
28
|
+
CalendarYearPickerAria,
|
|
29
|
+
CalendarYearPickerItem,
|
|
30
|
+
CalendarYearPickerFormatOptions,
|
|
31
|
+
} from "@proyecto-viviana/solidaria";
|
|
32
|
+
|
|
33
|
+
export interface CalendarMonthPickerProps extends AriaCalendarMonthPickerProps {
|
|
34
|
+
/** A function that renders the month picker from its accessible props. */
|
|
35
|
+
children: (renderProps: CalendarMonthPickerAria) => JSX.Element;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* A CalendarMonthPicker renders the list of months in the focused year so the
|
|
40
|
+
* user can jump the calendar's focus to a different month. It works within both
|
|
41
|
+
* a Calendar and a RangeCalendar.
|
|
42
|
+
*/
|
|
43
|
+
export function CalendarMonthPicker(props: CalendarMonthPickerProps): JSX.Element {
|
|
44
|
+
const calendarState = useContext(CalendarContext);
|
|
45
|
+
const rangeCalendarState = useContext(RangeCalendarContext);
|
|
46
|
+
const state = calendarState ?? rangeCalendarState;
|
|
47
|
+
if (!state) {
|
|
48
|
+
throw new Error("CalendarMonthPicker must be used within a Calendar or RangeCalendar");
|
|
49
|
+
}
|
|
50
|
+
const aria = createCalendarMonthPicker(props, state);
|
|
51
|
+
return props.children(aria);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export interface CalendarYearPickerProps extends AriaCalendarYearPickerProps {
|
|
55
|
+
/** A function that renders the year picker from its accessible props. */
|
|
56
|
+
children: (renderProps: CalendarYearPickerAria) => JSX.Element;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* A CalendarYearPicker renders a sliding window of years so the user can jump
|
|
61
|
+
* the calendar's focus to a different year. It works within both a Calendar and
|
|
62
|
+
* a RangeCalendar.
|
|
63
|
+
*/
|
|
64
|
+
export function CalendarYearPicker(props: CalendarYearPickerProps): JSX.Element {
|
|
65
|
+
const calendarState = useContext(CalendarContext);
|
|
66
|
+
const rangeCalendarState = useContext(RangeCalendarContext);
|
|
67
|
+
const state = calendarState ?? rangeCalendarState;
|
|
68
|
+
if (!state) {
|
|
69
|
+
throw new Error("CalendarYearPicker must be used within a Calendar or RangeCalendar");
|
|
70
|
+
}
|
|
71
|
+
const aria = createCalendarYearPicker(props, state);
|
|
72
|
+
return props.children(aria);
|
|
73
|
+
}
|