@proyecto-viviana/solid-stately 0.5.1 → 0.6.0-rc.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/LICENSE-APACHE-2.0 +201 -0
- package/NOTICE +91 -0
- package/dist/autocomplete/createAutocompleteState.d.ts +2 -1
- package/dist/autocomplete/createAutocompleteState.d.ts.map +1 -0
- package/dist/autocomplete/index.d.ts +1 -0
- package/dist/autocomplete/index.d.ts.map +1 -0
- package/dist/calendar/IncompleteDate.d.ts +2 -1
- package/dist/calendar/IncompleteDate.d.ts.map +1 -0
- package/dist/calendar/createCalendarState.d.ts +7 -8
- package/dist/calendar/createCalendarState.d.ts.map +1 -0
- package/dist/calendar/createDateFieldState.d.ts +4 -20
- package/dist/calendar/createDateFieldState.d.ts.map +1 -0
- package/dist/calendar/createDatePickerState.d.ts +2 -7
- package/dist/calendar/createDatePickerState.d.ts.map +1 -0
- package/dist/calendar/createRangeCalendarState.d.ts +7 -7
- package/dist/calendar/createRangeCalendarState.d.ts.map +1 -0
- package/dist/calendar/createTimeFieldState.d.ts +4 -23
- package/dist/calendar/createTimeFieldState.d.ts.map +1 -0
- package/dist/calendar/index.d.ts +1 -0
- package/dist/calendar/index.d.ts.map +1 -0
- package/dist/calendar/intl/index.d.ts +1 -0
- package/dist/calendar/intl/index.d.ts.map +1 -0
- package/dist/checkbox/createCheckboxGroupState.d.ts +1 -0
- package/dist/checkbox/createCheckboxGroupState.d.ts.map +1 -0
- package/dist/checkbox/index.d.ts +1 -0
- package/dist/checkbox/index.d.ts.map +1 -0
- package/dist/collections/ListCollection.d.ts +5 -0
- package/dist/collections/ListCollection.d.ts.map +1 -0
- package/dist/collections/createListState.d.ts +2 -6
- package/dist/collections/createListState.d.ts.map +1 -0
- package/dist/collections/createMenuState.d.ts +30 -13
- package/dist/collections/createMenuState.d.ts.map +1 -0
- package/dist/collections/createSelectionState.d.ts +2 -5
- package/dist/collections/createSelectionState.d.ts.map +1 -0
- package/dist/collections/getChildNodes.d.ts +6 -3
- package/dist/collections/getChildNodes.d.ts.map +1 -0
- package/dist/collections/index.d.ts +2 -1
- package/dist/collections/index.d.ts.map +1 -0
- package/dist/collections/types.d.ts +36 -2
- package/dist/collections/types.d.ts.map +1 -0
- package/dist/color/Color.d.ts +7 -1
- package/dist/color/Color.d.ts.map +1 -0
- package/dist/color/createColorAreaState.d.ts +2 -5
- package/dist/color/createColorAreaState.d.ts.map +1 -0
- package/dist/color/createColorFieldState.d.ts +2 -5
- package/dist/color/createColorFieldState.d.ts.map +1 -0
- package/dist/color/createColorSliderState.d.ts +2 -5
- package/dist/color/createColorSliderState.d.ts.map +1 -0
- package/dist/color/createColorWheelState.d.ts +2 -5
- package/dist/color/createColorWheelState.d.ts.map +1 -0
- package/dist/color/getColorChannels.d.ts +3 -0
- package/dist/color/getColorChannels.d.ts.map +1 -0
- package/dist/color/index.d.ts +2 -1
- package/dist/color/index.d.ts.map +1 -0
- package/dist/color/intl/index.d.ts +1 -0
- package/dist/color/intl/index.d.ts.map +1 -0
- package/dist/color/types.d.ts +2 -1
- package/dist/color/types.d.ts.map +1 -0
- package/dist/combobox/createComboBoxState.d.ts +4 -8
- package/dist/combobox/createComboBoxState.d.ts.map +1 -0
- package/dist/combobox/index.d.ts +1 -0
- package/dist/combobox/index.d.ts.map +1 -0
- package/dist/data/createAsyncList.d.ts +1 -7
- package/dist/data/createAsyncList.d.ts.map +1 -0
- package/dist/data/createListData.d.ts +1 -6
- package/dist/data/createListData.d.ts.map +1 -0
- package/dist/data/createTreeData.d.ts +1 -6
- package/dist/data/createTreeData.d.ts.map +1 -0
- package/dist/data/index.d.ts +1 -0
- package/dist/data/index.d.ts.map +1 -0
- package/dist/datepicker/index.d.ts +1 -0
- package/dist/datepicker/index.d.ts.map +1 -0
- package/dist/disclosure/createDisclosureState.d.ts +2 -5
- package/dist/disclosure/createDisclosureState.d.ts.map +1 -0
- package/dist/disclosure/index.d.ts +1 -0
- package/dist/disclosure/index.d.ts.map +1 -0
- package/dist/dnd/createDragState.d.ts +2 -6
- package/dist/dnd/createDragState.d.ts.map +1 -0
- package/dist/dnd/createDraggableCollectionState.d.ts +39 -10
- package/dist/dnd/createDraggableCollectionState.d.ts.map +1 -0
- package/dist/dnd/createDropState.d.ts +2 -6
- package/dist/dnd/createDropState.d.ts.map +1 -0
- package/dist/dnd/createDroppableCollectionState.d.ts +28 -11
- package/dist/dnd/createDroppableCollectionState.d.ts.map +1 -0
- package/dist/dnd/index.d.ts +3 -2
- package/dist/dnd/index.d.ts.map +1 -0
- package/dist/dnd/types.d.ts +17 -0
- package/dist/dnd/types.d.ts.map +1 -0
- package/dist/flags/flags.d.ts +5 -0
- package/dist/flags/flags.d.ts.map +1 -0
- package/dist/form/createFormValidationState.d.ts +2 -9
- package/{src → dist}/form/createFormValidationState.d.ts.map +1 -1
- package/dist/form/index.d.ts +1 -0
- package/dist/form/index.d.ts.map +1 -0
- package/dist/grid/createGridState.d.ts +3 -2
- package/dist/grid/createGridState.d.ts.map +1 -0
- package/dist/grid/index.d.ts +1 -0
- package/dist/grid/index.d.ts.map +1 -0
- package/dist/grid/types.d.ts +23 -1
- package/dist/grid/types.d.ts.map +1 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2030 -593
- package/dist/index.js.map +1 -1
- package/dist/menu/index.d.ts +2 -1
- package/dist/menu/index.d.ts.map +1 -0
- package/dist/numberfield/createNumberFieldState.d.ts +31 -6
- package/dist/numberfield/createNumberFieldState.d.ts.map +1 -0
- package/dist/numberfield/index.d.ts +1 -0
- package/dist/numberfield/index.d.ts.map +1 -0
- package/dist/overlays/createOverlayTriggerState.d.ts +12 -1
- package/dist/overlays/createOverlayTriggerState.d.ts.map +1 -0
- package/dist/overlays/index.d.ts +1 -0
- package/dist/overlays/index.d.ts.map +1 -0
- package/dist/private/flags/flags.js +26 -0
- package/dist/private/flags/flags.js.map +1 -0
- package/dist/radio/createRadioGroupState.d.ts +1 -0
- package/dist/radio/createRadioGroupState.d.ts.map +1 -0
- package/dist/radio/index.d.ts +1 -0
- package/dist/radio/index.d.ts.map +1 -0
- package/dist/searchfield/createSearchFieldState.d.ts +2 -5
- package/dist/searchfield/createSearchFieldState.d.ts.map +1 -0
- package/dist/searchfield/index.d.ts +1 -0
- package/dist/searchfield/index.d.ts.map +1 -0
- package/dist/select/createSelectState.d.ts +17 -6
- package/dist/select/createSelectState.d.ts.map +1 -0
- package/dist/select/index.d.ts +1 -0
- package/dist/select/index.d.ts.map +1 -0
- package/dist/selection/Selection.d.ts +2 -1
- package/dist/selection/Selection.d.ts.map +1 -0
- package/dist/selection/SelectionManager.d.ts +1 -19
- package/dist/selection/SelectionManager.d.ts.map +1 -0
- package/dist/selection/createMultipleSelectionState.d.ts +2 -13
- package/dist/selection/createMultipleSelectionState.d.ts.map +1 -0
- package/dist/selection/index.d.ts +1 -0
- package/dist/selection/index.d.ts.map +1 -0
- package/dist/slider/createSliderState.d.ts +2 -5
- package/dist/slider/createSliderState.d.ts.map +1 -0
- package/dist/slider/index.d.ts +1 -0
- package/dist/slider/index.d.ts.map +1 -0
- package/dist/ssr/index.d.ts +2 -7
- package/dist/ssr/index.d.ts.map +1 -0
- package/dist/steplist/createStepListState.d.ts +2 -5
- package/dist/steplist/createStepListState.d.ts.map +1 -0
- package/dist/steplist/index.d.ts +1 -0
- package/dist/steplist/index.d.ts.map +1 -0
- package/dist/table/TableCollection.d.ts +1 -0
- package/dist/table/TableCollection.d.ts.map +1 -0
- package/dist/table/createTableColumnResizeState.d.ts +2 -9
- package/dist/table/createTableColumnResizeState.d.ts.map +1 -0
- package/dist/table/createTableState.d.ts +2 -5
- package/dist/table/createTableState.d.ts.map +1 -0
- package/dist/table/createTreeGridState.d.ts +2 -8
- package/dist/table/createTreeGridState.d.ts.map +1 -0
- package/dist/table/index.d.ts +1 -0
- package/dist/table/index.d.ts.map +1 -0
- package/dist/table/types.d.ts +35 -1
- package/dist/table/types.d.ts.map +1 -0
- package/dist/tabs/createTabListState.d.ts +2 -5
- package/dist/tabs/createTabListState.d.ts.map +1 -0
- package/dist/tabs/index.d.ts +1 -0
- package/dist/tabs/index.d.ts.map +1 -0
- package/dist/textfield/createTextFieldState.d.ts +1 -0
- package/dist/textfield/createTextFieldState.d.ts.map +1 -0
- package/dist/textfield/index.d.ts +1 -0
- package/dist/textfield/index.d.ts.map +1 -0
- package/dist/toast/createToastState.d.ts +2 -5
- package/dist/toast/createToastState.d.ts.map +1 -0
- package/dist/toast/index.d.ts +1 -0
- package/dist/toast/index.d.ts.map +1 -0
- package/dist/toggle/createToggleGroupState.d.ts +1 -0
- package/dist/toggle/createToggleGroupState.d.ts.map +1 -0
- package/dist/toggle/createToggleState.d.ts +1 -0
- package/dist/toggle/createToggleState.d.ts.map +1 -0
- package/dist/toggle/index.d.ts +1 -0
- package/dist/toggle/index.d.ts.map +1 -0
- package/dist/tokenfield/TokenFieldValue.d.ts +72 -0
- package/dist/tokenfield/TokenFieldValue.d.ts.map +1 -0
- package/dist/tokenfield/createTokenFieldState.d.ts +33 -0
- package/dist/tokenfield/createTokenFieldState.d.ts.map +1 -0
- package/dist/tokenfield/index.d.ts +3 -0
- package/dist/tokenfield/index.d.ts.map +1 -0
- package/dist/tooltip/createTooltipTriggerState.d.ts +9 -8
- package/dist/tooltip/createTooltipTriggerState.d.ts.map +1 -0
- package/dist/tooltip/index.d.ts +1 -0
- package/dist/tooltip/index.d.ts.map +1 -0
- package/dist/tree/TreeCollection.d.ts +1 -0
- package/dist/tree/TreeCollection.d.ts.map +1 -0
- package/dist/tree/createTreeState.d.ts +2 -7
- package/{src → dist}/tree/createTreeState.d.ts.map +1 -1
- package/dist/tree/index.d.ts +1 -0
- package/dist/tree/index.d.ts.map +1 -0
- package/dist/tree/types.d.ts +19 -1
- package/dist/tree/types.d.ts.map +1 -0
- package/dist/utils/index.d.ts +3 -1
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/owner.d.ts +9 -0
- package/dist/utils/owner.d.ts.map +1 -0
- package/dist/utils/reactivity.d.ts +19 -0
- package/dist/utils/reactivity.d.ts.map +1 -0
- package/package.json +21 -9
- package/src/autocomplete/createAutocompleteState.ts +18 -4
- package/src/calendar/IncompleteDate.ts +15 -1
- package/src/calendar/createCalendarState.ts +194 -79
- package/src/calendar/createDateFieldState.ts +45 -31
- package/src/calendar/createDatePickerState.ts +32 -14
- package/src/calendar/createRangeCalendarState.ts +134 -73
- package/src/calendar/createTimeFieldState.ts +25 -6
- package/src/calendar/intl/index.ts +37 -2
- package/src/checkbox/createCheckboxGroupState.ts +29 -13
- package/src/collections/ListCollection.ts +31 -0
- package/src/collections/createListState.ts +23 -6
- package/src/collections/createMenuState.ts +59 -14
- package/src/collections/createSelectionState.ts +32 -12
- package/src/collections/getChildNodes.ts +20 -3
- package/src/collections/index.ts +2 -0
- package/src/collections/types.ts +35 -2
- package/src/color/Color.ts +61 -22
- package/src/color/createColorAreaState.ts +29 -4
- package/src/color/createColorFieldState.ts +37 -11
- package/src/color/createColorSliderState.ts +36 -7
- package/src/color/createColorWheelState.ts +20 -4
- package/src/color/getColorChannels.ts +16 -0
- package/src/color/index.ts +1 -0
- package/src/color/intl/index.ts +38 -3
- package/src/color/types.ts +1 -1
- package/src/combobox/createComboBoxState.ts +178 -195
- package/src/data/createAsyncList.ts +22 -2
- package/src/data/createListData.ts +19 -2
- package/src/data/createTreeData.ts +19 -3
- package/src/disclosure/createDisclosureState.ts +40 -19
- package/src/dnd/createDragState.ts +22 -4
- package/src/dnd/createDraggableCollectionState.ts +137 -10
- package/src/dnd/createDropState.ts +21 -3
- package/src/dnd/createDroppableCollectionState.ts +117 -11
- package/src/dnd/index.ts +4 -0
- package/src/dnd/types.ts +16 -0
- package/src/flags/flags.ts +25 -0
- package/src/form/createFormValidationState.ts +54 -36
- package/src/grid/createGridState.ts +187 -109
- package/src/grid/types.ts +22 -1
- package/src/index.ts +15 -0
- package/src/menu/index.ts +2 -0
- package/src/numberfield/createNumberFieldState.ts +153 -66
- package/src/overlays/createOverlayTriggerState.ts +31 -4
- package/src/radio/createRadioGroupState.ts +19 -5
- package/src/searchfield/createSearchFieldState.ts +18 -3
- package/src/select/createSelectState.ts +73 -8
- package/src/selection/Selection.ts +15 -1
- package/src/selection/SelectionManager.ts +14 -0
- package/src/selection/createMultipleSelectionState.ts +44 -25
- package/src/slider/createSliderState.ts +20 -5
- package/src/ssr/index.ts +27 -4
- package/src/steplist/createStepListState.ts +38 -17
- package/src/table/TableCollection.ts +14 -0
- package/src/table/createTableColumnResizeState.ts +20 -3
- package/src/table/createTableState.ts +22 -1
- package/src/table/createTreeGridState.ts +21 -4
- package/src/table/types.ts +36 -3
- package/src/tabs/createTabListState.ts +77 -34
- package/src/textfield/createTextFieldState.ts +17 -3
- package/src/toast/createToastState.ts +28 -3
- package/src/toggle/createToggleGroupState.ts +20 -5
- package/src/toggle/createToggleState.ts +19 -4
- package/src/tokenfield/TokenFieldValue.ts +440 -0
- package/src/tokenfield/createTokenFieldState.ts +88 -0
- package/src/tokenfield/index.ts +14 -0
- package/src/tooltip/createTooltipTriggerState.ts +49 -13
- package/src/tree/TreeCollection.ts +14 -0
- package/src/tree/createTreeState.ts +62 -35
- package/src/tree/types.ts +18 -1
- package/src/utils/index.ts +9 -1
- package/src/utils/owner.ts +20 -0
- package/src/utils/reactivity.ts +45 -1
- package/src/autocomplete/createAutocompleteState.d.ts +0 -48
- package/src/autocomplete/createAutocompleteState.d.ts.map +0 -1
- package/src/autocomplete/index.d.ts +0 -6
- package/src/autocomplete/index.d.ts.map +0 -1
- package/src/calendar/createCalendarState.d.ts +0 -152
- package/src/calendar/createCalendarState.d.ts.map +0 -1
- package/src/calendar/createDateFieldState.d.ts +0 -145
- package/src/calendar/createDateFieldState.d.ts.map +0 -1
- package/src/calendar/createRangeCalendarState.d.ts +0 -171
- package/src/calendar/createRangeCalendarState.d.ts.map +0 -1
- package/src/calendar/createTimeFieldState.d.ts +0 -97
- package/src/calendar/createTimeFieldState.d.ts.map +0 -1
- package/src/calendar/index.d.ts +0 -80
- package/src/calendar/index.d.ts.map +0 -1
- package/src/checkbox/createCheckboxGroupState.d.ts +0 -73
- package/src/checkbox/createCheckboxGroupState.d.ts.map +0 -1
- package/src/checkbox/index.d.ts +0 -6
- package/src/checkbox/index.d.ts.map +0 -1
- package/src/collections/ListCollection.d.ts +0 -40
- package/src/collections/ListCollection.d.ts.map +0 -1
- package/src/collections/createListState.d.ts +0 -94
- package/src/collections/createListState.d.ts.map +0 -1
- package/src/collections/createMenuState.d.ts +0 -55
- package/src/collections/createMenuState.d.ts.map +0 -1
- package/src/collections/createSelectionState.d.ts +0 -89
- package/src/collections/createSelectionState.d.ts.map +0 -1
- package/src/collections/index.d.ts +0 -38
- package/src/collections/index.d.ts.map +0 -1
- package/src/collections/types.d.ts +0 -147
- package/src/collections/types.d.ts.map +0 -1
- package/src/color/Color.d.ts +0 -43
- package/src/color/Color.d.ts.map +0 -1
- package/src/color/createColorAreaState.d.ts +0 -78
- package/src/color/createColorAreaState.d.ts.map +0 -1
- package/src/color/createColorFieldState.d.ts +0 -57
- package/src/color/createColorFieldState.d.ts.map +0 -1
- package/src/color/createColorSliderState.d.ts +0 -69
- package/src/color/createColorSliderState.d.ts.map +0 -1
- package/src/color/createColorWheelState.d.ts +0 -53
- package/src/color/createColorWheelState.d.ts.map +0 -1
- package/src/color/index.d.ts +0 -39
- package/src/color/index.d.ts.map +0 -1
- package/src/color/types.d.ts +0 -111
- package/src/color/types.d.ts.map +0 -1
- package/src/combobox/createComboBoxState.d.ts +0 -127
- package/src/combobox/createComboBoxState.d.ts.map +0 -1
- package/src/combobox/index.d.ts +0 -13
- package/src/combobox/index.d.ts.map +0 -1
- package/src/disclosure/createDisclosureState.d.ts +0 -68
- package/src/disclosure/createDisclosureState.d.ts.map +0 -1
- package/src/disclosure/index.d.ts +0 -10
- package/src/disclosure/index.d.ts.map +0 -1
- package/src/dnd/createDragState.d.ts +0 -68
- package/src/dnd/createDragState.d.ts.map +0 -1
- package/src/dnd/createDraggableCollectionState.d.ts +0 -68
- package/src/dnd/createDraggableCollectionState.d.ts.map +0 -1
- package/src/dnd/createDropState.d.ts +0 -80
- package/src/dnd/createDropState.d.ts.map +0 -1
- package/src/dnd/createDroppableCollectionState.d.ts +0 -107
- package/src/dnd/createDroppableCollectionState.d.ts.map +0 -1
- package/src/dnd/index.d.ts +0 -60
- package/src/dnd/index.d.ts.map +0 -1
- package/src/dnd/types.d.ts +0 -277
- package/src/dnd/types.d.ts.map +0 -1
- package/src/form/createFormValidationState.d.ts +0 -102
- package/src/form/index.d.ts +0 -16
- package/src/form/index.d.ts.map +0 -1
- package/src/grid/createGridState.d.ts +0 -15
- package/src/grid/createGridState.d.ts.map +0 -1
- package/src/grid/index.d.ts +0 -7
- package/src/grid/index.d.ts.map +0 -1
- package/src/grid/types.d.ts +0 -163
- package/src/grid/types.d.ts.map +0 -1
- package/src/index.d.ts +0 -311
- package/src/index.d.ts.map +0 -1
- package/src/numberfield/createNumberFieldState.d.ts +0 -67
- package/src/numberfield/createNumberFieldState.d.ts.map +0 -1
- package/src/numberfield/index.d.ts +0 -6
- package/src/numberfield/index.d.ts.map +0 -1
- package/src/overlays/createOverlayTriggerState.d.ts +0 -34
- package/src/overlays/createOverlayTriggerState.d.ts.map +0 -1
- package/src/overlays/index.d.ts +0 -6
- package/src/overlays/index.d.ts.map +0 -1
- package/src/radio/createRadioGroupState.d.ts +0 -79
- package/src/radio/createRadioGroupState.d.ts.map +0 -1
- package/src/radio/index.d.ts +0 -7
- package/src/radio/index.d.ts.map +0 -1
- package/src/searchfield/createSearchFieldState.d.ts +0 -27
- package/src/searchfield/createSearchFieldState.d.ts.map +0 -1
- package/src/searchfield/index.d.ts +0 -3
- package/src/searchfield/index.d.ts.map +0 -1
- package/src/select/createSelectState.d.ts +0 -75
- package/src/select/createSelectState.d.ts.map +0 -1
- package/src/select/index.d.ts +0 -2
- package/src/select/index.d.ts.map +0 -1
- package/src/slider/createSliderState.d.ts +0 -72
- package/src/slider/createSliderState.d.ts.map +0 -1
- package/src/slider/index.d.ts +0 -3
- package/src/slider/index.d.ts.map +0 -1
- package/src/ssr/index.d.ts +0 -28
- package/src/ssr/index.d.ts.map +0 -1
- package/src/table/TableCollection.d.ts +0 -54
- package/src/table/TableCollection.d.ts.map +0 -1
- package/src/table/createTableState.d.ts +0 -15
- package/src/table/createTableState.d.ts.map +0 -1
- package/src/table/index.d.ts +0 -18
- package/src/table/index.d.ts.map +0 -1
- package/src/table/types.d.ts +0 -145
- package/src/table/types.d.ts.map +0 -1
- package/src/tabs/createTabListState.d.ts +0 -70
- package/src/tabs/createTabListState.d.ts.map +0 -1
- package/src/tabs/index.d.ts +0 -8
- package/src/tabs/index.d.ts.map +0 -1
- package/src/textfield/createTextFieldState.d.ts +0 -32
- package/src/textfield/createTextFieldState.d.ts.map +0 -1
- package/src/textfield/index.d.ts +0 -6
- package/src/textfield/index.d.ts.map +0 -1
- package/src/toast/createToastState.d.ts +0 -129
- package/src/toast/createToastState.d.ts.map +0 -1
- package/src/toast/index.d.ts +0 -12
- package/src/toast/index.d.ts.map +0 -1
- package/src/toggle/createToggleState.d.ts +0 -34
- package/src/toggle/createToggleState.d.ts.map +0 -1
- package/src/toggle/index.d.ts +0 -2
- package/src/toggle/index.d.ts.map +0 -1
- package/src/tooltip/createTooltipTriggerState.d.ts +0 -39
- package/src/tooltip/createTooltipTriggerState.d.ts.map +0 -1
- package/src/tooltip/index.d.ts +0 -7
- package/src/tooltip/index.d.ts.map +0 -1
- package/src/tree/TreeCollection.d.ts +0 -43
- package/src/tree/TreeCollection.d.ts.map +0 -1
- package/src/tree/createTreeState.d.ts +0 -17
- package/src/tree/index.d.ts +0 -13
- package/src/tree/index.d.ts.map +0 -1
- package/src/tree/types.d.ts +0 -162
- package/src/tree/types.d.ts.map +0 -1
- package/src/utils/index.d.ts +0 -2
- package/src/utils/index.d.ts.map +0 -1
- package/src/utils/reactivity.d.ts +0 -28
- package/src/utils/reactivity.d.ts.map +0 -1
|
@@ -1,11 +1,31 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/src/calendar/useCalendarState.ts
|
|
14
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/src/calendar/useRangeCalendarState.ts
|
|
15
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/src/calendar/utils.ts
|
|
16
|
+
|
|
1
17
|
/**
|
|
2
18
|
* RangeCalendarState for Solid-Stately
|
|
3
19
|
*
|
|
4
20
|
* Provides state management for range calendar components.
|
|
5
|
-
*
|
|
21
|
+
* Ported from:
|
|
22
|
+
* - packages/react-stately/src/calendar/useRangeCalendarState.ts
|
|
23
|
+
* - packages/react-stately/src/calendar/useCalendarState.ts
|
|
24
|
+
* - packages/react-stately/src/calendar/utils.ts
|
|
6
25
|
*/
|
|
7
26
|
|
|
8
|
-
import {
|
|
27
|
+
import { createMemo, createEffect } from "solid-js";
|
|
28
|
+
import type { Accessor } from "solid-js";
|
|
9
29
|
import {
|
|
10
30
|
type Calendar as InternationalizedCalendar,
|
|
11
31
|
type CalendarDate,
|
|
@@ -28,7 +48,7 @@ import {
|
|
|
28
48
|
toCalendar as intlToCalendar,
|
|
29
49
|
toCalendarDate as intlToCalendarDate,
|
|
30
50
|
} from "@internationalized/date";
|
|
31
|
-
import { access, type MaybeAccessor } from "../utils";
|
|
51
|
+
import { access, createInternalSignal, readNow, type MaybeAccessor } from "../utils";
|
|
32
52
|
import type { CalendarDayOfWeek, ValidationState } from "./createCalendarState";
|
|
33
53
|
import { getFormatOptions } from "./createDateFieldState";
|
|
34
54
|
|
|
@@ -172,6 +192,11 @@ export interface RangeCalendarState<T extends DateValue = DateValue> {
|
|
|
172
192
|
selectFocusedDate: () => void;
|
|
173
193
|
/** Selects a specific date. */
|
|
174
194
|
selectDate: (date: CalendarDate) => void;
|
|
195
|
+
/**
|
|
196
|
+
* After a keyboard range-start selection, move focus to the next available
|
|
197
|
+
* day so the in-progress range is visible. RAC `focusNearestAvailableDate`.
|
|
198
|
+
*/
|
|
199
|
+
focusNearestAvailableDate: (anchorDate: CalendarDate) => void;
|
|
175
200
|
/** Whether focus is currently within the calendar. */
|
|
176
201
|
isFocused: Accessor<boolean>;
|
|
177
202
|
/** Sets whether focus is within the calendar. */
|
|
@@ -216,7 +241,7 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
|
|
|
216
241
|
const calendar = createMemo(() =>
|
|
217
242
|
(props.createCalendar ?? intlCreateCalendar)(resolvedOptions().calendar as CalendarIdentifier),
|
|
218
243
|
);
|
|
219
|
-
const visibleMonths = Math.max(1, Number(access(props.visibleMonths) ?? 1));
|
|
244
|
+
const visibleMonths = createMemo(() => Math.max(1, Number(access(props.visibleMonths) ?? 1)));
|
|
220
245
|
const firstDayOfWeekName = (): CalendarDayOfWeek | undefined =>
|
|
221
246
|
props.firstDayOfWeek == null ? undefined : dayOfWeekNames[props.firstDayOfWeek];
|
|
222
247
|
|
|
@@ -226,7 +251,7 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
|
|
|
226
251
|
// The anchor date is the first selected date during a range drag. Declared up
|
|
227
252
|
// here (ahead of constrainDate) because the available-range derivation below
|
|
228
253
|
// depends on it, and constrainDate consults that range.
|
|
229
|
-
const [anchorDate, setAnchorDate] =
|
|
254
|
+
const [anchorDate, setAnchorDate] = createInternalSignal<CalendarDate | null>(null);
|
|
230
255
|
|
|
231
256
|
// Mirrors @react-stately/calendar useRangeCalendarState getAvailableRange: once
|
|
232
257
|
// a range selection is anchored and unavailable dates exist, contiguous ranges
|
|
@@ -238,8 +263,8 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
|
|
|
238
263
|
if (anchor && props.isDateUnavailable && !props.allowsNonContiguousRanges) {
|
|
239
264
|
const predicate = (date: CalendarDate): boolean => props.isDateUnavailable!(date, anchor);
|
|
240
265
|
return {
|
|
241
|
-
start: nextUnavailableDate(anchor, predicate, visibleMonths, -1),
|
|
242
|
-
end: nextUnavailableDate(anchor, predicate, visibleMonths, 1),
|
|
266
|
+
start: nextUnavailableDate(anchor, predicate, visibleMonths(), -1),
|
|
267
|
+
end: nextUnavailableDate(anchor, predicate, visibleMonths(), 1),
|
|
243
268
|
};
|
|
244
269
|
}
|
|
245
270
|
return null;
|
|
@@ -281,7 +306,7 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
|
|
|
281
306
|
const visibleRangeEndFromStart = (start: CalendarDate): CalendarDate => {
|
|
282
307
|
let end = endOfMonth(start);
|
|
283
308
|
|
|
284
|
-
for (let i = 1; i < visibleMonths; i++) {
|
|
309
|
+
for (let i = 1; i < visibleMonths(); i++) {
|
|
285
310
|
end = endOfMonth(end.add({ months: 1 }));
|
|
286
311
|
}
|
|
287
312
|
|
|
@@ -291,7 +316,7 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
|
|
|
291
316
|
const rawAlignStart = (date: CalendarDate): CalendarDate => startOfMonth(date);
|
|
292
317
|
|
|
293
318
|
const rawAlignEnd = (date: CalendarDate): CalendarDate =>
|
|
294
|
-
startOfMonth(date).subtract({ months: Math.max(visibleMonths - 1, 0) });
|
|
319
|
+
startOfMonth(date).subtract({ months: Math.max(visibleMonths() - 1, 0) });
|
|
295
320
|
|
|
296
321
|
const constrainVisibleRangeStart = (date: CalendarDate, aligned: CalendarDate): CalendarDate => {
|
|
297
322
|
const minValue = access(props.minValue);
|
|
@@ -322,8 +347,8 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
|
|
|
322
347
|
constrainVisibleRangeStart(date, rawAlignEnd(date));
|
|
323
348
|
|
|
324
349
|
const alignCenter = (date: CalendarDate): CalendarDate => {
|
|
325
|
-
let offset = Math.floor(visibleMonths / 2);
|
|
326
|
-
if (offset > 0 && visibleMonths % 2 === 0) {
|
|
350
|
+
let offset = Math.floor(visibleMonths() / 2);
|
|
351
|
+
if (offset > 0 && visibleMonths() % 2 === 0) {
|
|
327
352
|
offset--;
|
|
328
353
|
}
|
|
329
354
|
|
|
@@ -373,16 +398,17 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
|
|
|
373
398
|
};
|
|
374
399
|
|
|
375
400
|
// State signals
|
|
376
|
-
const [internalValue, setInternalValue] =
|
|
401
|
+
const [internalValue, setInternalValue] = createInternalSignal<RangeValue<T> | null>(
|
|
377
402
|
props.defaultValue ?? null,
|
|
378
403
|
);
|
|
379
404
|
const initialFocusedDate = constrainDate(getInitialFocusedDate());
|
|
380
|
-
const [focusedDate, setFocusedDateInternal] =
|
|
381
|
-
|
|
405
|
+
const [focusedDate, setFocusedDateInternal] =
|
|
406
|
+
createInternalSignal<CalendarDate>(initialFocusedDate);
|
|
407
|
+
const [visibleRangeStart, setVisibleRangeStart] = createInternalSignal<CalendarDate>(
|
|
382
408
|
alignVisibleRangeStart(initialFocusedDate),
|
|
383
409
|
);
|
|
384
|
-
const [isFocused, setFocused] =
|
|
385
|
-
const [isDragging, setDragging] =
|
|
410
|
+
const [isFocused, setFocused] = createInternalSignal(false);
|
|
411
|
+
const [isDragging, setDragging] = createInternalSignal(false);
|
|
386
412
|
|
|
387
413
|
// Controlled vs uncontrolled value
|
|
388
414
|
const sourceValue = createMemo<RangeValue<T> | null>(() => {
|
|
@@ -448,7 +474,7 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
|
|
|
448
474
|
return { start: focused, end: anchor };
|
|
449
475
|
});
|
|
450
476
|
|
|
451
|
-
//
|
|
477
|
+
// The visible range follows React Stately's selection alignment rules.
|
|
452
478
|
const visibleRange = createMemo(() => {
|
|
453
479
|
const start = visibleRangeStart();
|
|
454
480
|
return { start, end: visibleRangeEndFromStart(start) };
|
|
@@ -461,9 +487,10 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
|
|
|
461
487
|
// on out-of-range keeps a same-month focus from re-firing visibleRangeStart
|
|
462
488
|
// with a fresh equal-valued object, which would otherwise recompute the grid
|
|
463
489
|
// and recreate every cell on focus.
|
|
464
|
-
const syncVisibleRangeForFocusedDate = (
|
|
465
|
-
|
|
466
|
-
|
|
490
|
+
const syncVisibleRangeForFocusedDate = (
|
|
491
|
+
nextFocusedDate: CalendarDate,
|
|
492
|
+
range: { start: CalendarDate; end: CalendarDate },
|
|
493
|
+
) => {
|
|
467
494
|
if (nextFocusedDate.compare(range.start) < 0) {
|
|
468
495
|
setVisibleRangeStart(alignEnd(nextFocusedDate));
|
|
469
496
|
} else if (nextFocusedDate.compare(range.end) > 0) {
|
|
@@ -471,56 +498,73 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
|
|
|
471
498
|
}
|
|
472
499
|
};
|
|
473
500
|
|
|
474
|
-
createEffect(
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
return;
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
const currentFocusedDate = focusedDate();
|
|
499
|
-
const nextFocusedDate = constrainDate(currentFocusedDate);
|
|
500
|
-
|
|
501
|
-
if (
|
|
502
|
-
nextFocusedDate.compare(currentFocusedDate) === 0 &&
|
|
503
|
-
isEqualCalendar(nextFocusedDate.calendar, currentFocusedDate.calendar)
|
|
504
|
-
) {
|
|
505
|
-
return;
|
|
506
|
-
}
|
|
507
|
-
|
|
508
|
-
setFocusedDateInternal(nextFocusedDate);
|
|
509
|
-
setVisibleRangeStart(alignVisibleRangeStart(nextFocusedDate));
|
|
510
|
-
props.onFocusChange?.(nextFocusedDate);
|
|
511
|
-
});
|
|
512
|
-
|
|
513
|
-
createEffect(() => {
|
|
514
|
-
const currentFocusedDate = focusedDate();
|
|
515
|
-
const nextFocusedDate = toDisplayCalendarDate(currentFocusedDate);
|
|
501
|
+
createEffect(
|
|
502
|
+
() => {
|
|
503
|
+
const controlledFocused = access(props.focusedValue);
|
|
504
|
+
if (!controlledFocused) return null;
|
|
505
|
+
const nextFocusedDate = constrainDate(toDisplayCalendarDate(controlledFocused));
|
|
506
|
+
return {
|
|
507
|
+
nextFocusedDate,
|
|
508
|
+
currentFocusedDate: focusedDate(),
|
|
509
|
+
alignedStart: alignVisibleRangeStart(nextFocusedDate),
|
|
510
|
+
};
|
|
511
|
+
},
|
|
512
|
+
(data) => {
|
|
513
|
+
if (!data) return;
|
|
514
|
+
const { nextFocusedDate, currentFocusedDate, alignedStart } = data;
|
|
515
|
+
if (
|
|
516
|
+
nextFocusedDate.compare(currentFocusedDate) !== 0 ||
|
|
517
|
+
!isEqualCalendar(nextFocusedDate.calendar, currentFocusedDate.calendar)
|
|
518
|
+
) {
|
|
519
|
+
setFocusedDateInternal(nextFocusedDate);
|
|
520
|
+
setVisibleRangeStart(alignedStart);
|
|
521
|
+
}
|
|
522
|
+
},
|
|
523
|
+
);
|
|
516
524
|
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
525
|
+
createEffect(
|
|
526
|
+
() => {
|
|
527
|
+
const controlledFocused = access(props.focusedValue);
|
|
528
|
+
if (controlledFocused) return null;
|
|
529
|
+
const currentFocusedDate = focusedDate();
|
|
530
|
+
const nextFocusedDate = constrainDate(currentFocusedDate);
|
|
531
|
+
if (
|
|
532
|
+
nextFocusedDate.compare(currentFocusedDate) === 0 &&
|
|
533
|
+
isEqualCalendar(nextFocusedDate.calendar, currentFocusedDate.calendar)
|
|
534
|
+
) {
|
|
535
|
+
return null;
|
|
536
|
+
}
|
|
537
|
+
return {
|
|
538
|
+
nextFocusedDate,
|
|
539
|
+
alignedStart: alignVisibleRangeStart(nextFocusedDate),
|
|
540
|
+
};
|
|
541
|
+
},
|
|
542
|
+
(data) => {
|
|
543
|
+
if (!data) return;
|
|
544
|
+
setFocusedDateInternal(data.nextFocusedDate);
|
|
545
|
+
setVisibleRangeStart(data.alignedStart);
|
|
546
|
+
props.onFocusChange?.(data.nextFocusedDate);
|
|
547
|
+
},
|
|
548
|
+
);
|
|
520
549
|
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
550
|
+
createEffect(
|
|
551
|
+
() => {
|
|
552
|
+
const currentFocusedDate = focusedDate();
|
|
553
|
+
const nextFocusedDate = toDisplayCalendarDate(currentFocusedDate);
|
|
554
|
+
if (isEqualCalendar(currentFocusedDate.calendar, nextFocusedDate.calendar)) {
|
|
555
|
+
return null;
|
|
556
|
+
}
|
|
557
|
+
return {
|
|
558
|
+
nextFocusedDate,
|
|
559
|
+
alignedStart: alignVisibleRangeStart(nextFocusedDate),
|
|
560
|
+
};
|
|
561
|
+
},
|
|
562
|
+
(data) => {
|
|
563
|
+
if (!data) return;
|
|
564
|
+
setFocusedDateInternal(data.nextFocusedDate);
|
|
565
|
+
setVisibleRangeStart(data.alignedStart);
|
|
566
|
+
},
|
|
567
|
+
);
|
|
524
568
|
|
|
525
569
|
// Format week days for headers
|
|
526
570
|
const weekDays = createMemo(() => {
|
|
@@ -581,7 +625,7 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
|
|
|
581
625
|
return;
|
|
582
626
|
}
|
|
583
627
|
|
|
584
|
-
syncVisibleRangeForFocusedDate(constrained);
|
|
628
|
+
syncVisibleRangeForFocusedDate(constrained, visibleRange());
|
|
585
629
|
setFocusedDateInternal(constrained);
|
|
586
630
|
props.onFocusChange?.(constrained);
|
|
587
631
|
};
|
|
@@ -691,7 +735,7 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
|
|
|
691
735
|
// the window, so a single-month page whose focus stays in view would never
|
|
692
736
|
// advance the grid.
|
|
693
737
|
const focusPreviousPage = () => {
|
|
694
|
-
const pageMonths = access(props.pageBehavior) === "single" ? 1 : visibleMonths;
|
|
738
|
+
const pageMonths = access(props.pageBehavior) === "single" ? 1 : visibleMonths();
|
|
695
739
|
const nextFocusedDate = constrainDate(focusedDate().subtract({ months: pageMonths }));
|
|
696
740
|
setFocusedDateInternal(nextFocusedDate);
|
|
697
741
|
setVisibleRangeStart(startOfMonth(visibleRangeStart().subtract({ months: pageMonths })));
|
|
@@ -699,7 +743,7 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
|
|
|
699
743
|
};
|
|
700
744
|
|
|
701
745
|
const focusNextPage = () => {
|
|
702
|
-
const pageMonths = access(props.pageBehavior) === "single" ? 1 : visibleMonths;
|
|
746
|
+
const pageMonths = access(props.pageBehavior) === "single" ? 1 : visibleMonths();
|
|
703
747
|
const nextFocusedDate = constrainDate(focusedDate().add({ months: pageMonths }));
|
|
704
748
|
setFocusedDateInternal(nextFocusedDate);
|
|
705
749
|
setVisibleRangeStart(startOfMonth(visibleRangeStart().add({ months: pageMonths })));
|
|
@@ -785,7 +829,7 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
|
|
|
785
829
|
);
|
|
786
830
|
if (!selectableDate) return;
|
|
787
831
|
|
|
788
|
-
const anchor = anchorDate
|
|
832
|
+
const anchor = readNow(anchorDate);
|
|
789
833
|
|
|
790
834
|
if (!anchor) {
|
|
791
835
|
// First click - set anchor
|
|
@@ -836,6 +880,20 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
|
|
|
836
880
|
return week;
|
|
837
881
|
};
|
|
838
882
|
|
|
883
|
+
const focusNearestAvailableDate = (anchor: CalendarDate) => {
|
|
884
|
+
// RAC `useRangeCalendarState.ts:261-273`: prefer anchor+1, else −1, skip invalid.
|
|
885
|
+
const isDateInvalid = (candidate: CalendarDate) =>
|
|
886
|
+
isInvalid(candidate) || isDateOutsideAllowedRange(candidate);
|
|
887
|
+
let nextDay = anchor.add({ days: 1 });
|
|
888
|
+
if (isDateInvalid(nextDay)) {
|
|
889
|
+
nextDay = anchor.subtract({ days: 1 });
|
|
890
|
+
}
|
|
891
|
+
if (!isDateInvalid(nextDay)) {
|
|
892
|
+
setFocusedDate(nextDay);
|
|
893
|
+
setFocused(true);
|
|
894
|
+
}
|
|
895
|
+
};
|
|
896
|
+
|
|
839
897
|
// Get number of weeks in a month
|
|
840
898
|
const getWeeksInMonthFn = (date?: CalendarDate): number => {
|
|
841
899
|
const monthDate = date ?? focusedDate();
|
|
@@ -966,13 +1024,16 @@ export function createRangeCalendarState<T extends DateValue = CalendarDate>(
|
|
|
966
1024
|
focusPageEnd,
|
|
967
1025
|
selectFocusedDate,
|
|
968
1026
|
selectDate,
|
|
1027
|
+
focusNearestAvailableDate,
|
|
969
1028
|
isFocused,
|
|
970
1029
|
setFocused,
|
|
971
1030
|
getDatesInWeek,
|
|
972
1031
|
getWeeksInMonth: getWeeksInMonthFn,
|
|
973
1032
|
weekDays,
|
|
974
1033
|
title,
|
|
975
|
-
visibleMonths
|
|
1034
|
+
get visibleMonths() {
|
|
1035
|
+
return visibleMonths();
|
|
1036
|
+
},
|
|
976
1037
|
isDragging,
|
|
977
1038
|
setDragging,
|
|
978
1039
|
formatValue,
|
|
@@ -1,8 +1,23 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the 'License');
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/src/datepicker/useTimeFieldState.ts
|
|
14
|
+
|
|
1
15
|
/**
|
|
2
16
|
* TimeFieldState for Solid-Stately
|
|
3
17
|
*
|
|
4
|
-
* Faithful port of
|
|
5
|
-
*
|
|
18
|
+
* Faithful port of
|
|
19
|
+
* `packages/react-stately/src/datepicker/useTimeFieldState.ts`, which is a thin
|
|
20
|
+
* wrapper over `useDateFieldState`: a time-only `Time` value is converted
|
|
6
21
|
* to a `CalendarDateTime` (anchored on today's date, or a zoned date when the
|
|
7
22
|
* value/default carries a time zone) and fed to the date-field state machine
|
|
8
23
|
* with `maxGranularity: 'hour'` so the date segments drop away and only
|
|
@@ -19,7 +34,10 @@
|
|
|
19
34
|
* invoke and freeze them, breaking reactivity.
|
|
20
35
|
*/
|
|
21
36
|
|
|
22
|
-
import {
|
|
37
|
+
import { createMemo } from "solid-js";
|
|
38
|
+
import type { Accessor } from "solid-js";
|
|
39
|
+
import { access, createInternalSignal, type MaybeAccessor } from "../utils";
|
|
40
|
+
|
|
23
41
|
import {
|
|
24
42
|
Time,
|
|
25
43
|
type CalendarDate,
|
|
@@ -33,7 +51,6 @@ import {
|
|
|
33
51
|
toCalendarDateTime,
|
|
34
52
|
GregorianCalendar,
|
|
35
53
|
} from "@internationalized/date";
|
|
36
|
-
import { access, type MaybeAccessor } from "../utils";
|
|
37
54
|
import type { ValidationState } from "./createCalendarState";
|
|
38
55
|
import type { ValidationBehavior, ValidationFunction } from "../form";
|
|
39
56
|
import {
|
|
@@ -73,7 +90,7 @@ export interface TimeFieldStateProps<T extends TimeValue = Time> {
|
|
|
73
90
|
/** Whether the value is invalid (controlled). */
|
|
74
91
|
isInvalid?: boolean;
|
|
75
92
|
/** The locale to use for formatting. */
|
|
76
|
-
locale?: string
|
|
93
|
+
locale?: MaybeAccessor<string | undefined>;
|
|
77
94
|
/** The granularity (hour, minute, second). */
|
|
78
95
|
granularity?: "hour" | "minute" | "second";
|
|
79
96
|
/** Whether to show 12 or 24 hour format. */
|
|
@@ -137,7 +154,9 @@ export function createTimeFieldState<T extends TimeValue = Time>(
|
|
|
137
154
|
const placeholderValue: TimeValue = props.placeholderValue ?? new Time();
|
|
138
155
|
|
|
139
156
|
// Controlled/uncontrolled Time value (mirrors useControlledState).
|
|
140
|
-
const [internalValue, setInternalValue] =
|
|
157
|
+
const [internalValue, setInternalValue] = createInternalSignal<T | null>(
|
|
158
|
+
props.defaultValue ?? null,
|
|
159
|
+
);
|
|
141
160
|
const value = (): T | null => {
|
|
142
161
|
const controlled = access(props.value);
|
|
143
162
|
return controlled !== undefined ? controlled : internalValue();
|
|
@@ -1,5 +1,40 @@
|
|
|
1
|
-
//
|
|
2
|
-
//
|
|
1
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/ar-AE.json
|
|
2
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/bg-BG.json
|
|
3
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/cs-CZ.json
|
|
4
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/da-DK.json
|
|
5
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/de-DE.json
|
|
6
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/el-GR.json
|
|
7
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/en-US.json
|
|
8
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/es-ES.json
|
|
9
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/et-EE.json
|
|
10
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/fi-FI.json
|
|
11
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/fr-FR.json
|
|
12
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/he-IL.json
|
|
13
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/hr-HR.json
|
|
14
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/hu-HU.json
|
|
15
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/it-IT.json
|
|
16
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/ja-JP.json
|
|
17
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/ko-KR.json
|
|
18
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/lt-LT.json
|
|
19
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/lv-LV.json
|
|
20
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/nb-NO.json
|
|
21
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/nl-NL.json
|
|
22
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/pl-PL.json
|
|
23
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/pt-BR.json
|
|
24
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/pt-PT.json
|
|
25
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/ro-RO.json
|
|
26
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/ru-RU.json
|
|
27
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/sk-SK.json
|
|
28
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/sl-SI.json
|
|
29
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/sr-SP.json
|
|
30
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/sv-SE.json
|
|
31
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/tr-TR.json
|
|
32
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/uk-UA.json
|
|
33
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/zh-CN.json
|
|
34
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/intl/datepicker/zh-TW.json
|
|
35
|
+
|
|
36
|
+
// DateField validation messages. Ported from the @react-stately/datepicker intl catalog.
|
|
37
|
+
// The catalog has 34 locales. Keep it in sync with the vendored react-spectrum source on every
|
|
3
38
|
// pin bump. Hand-rolled resolver so solid-stately needs no @internationalized/string dep.
|
|
4
39
|
|
|
5
40
|
export type DateFieldErrorKey =
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/src/checkbox/useCheckboxGroupState.ts
|
|
14
|
+
|
|
1
15
|
/**
|
|
2
16
|
* Checkbox group state for Solid Stately
|
|
3
17
|
*
|
|
@@ -7,8 +21,8 @@
|
|
|
7
21
|
* This is a 1:1 port of @react-stately/checkbox's useCheckboxGroupState.
|
|
8
22
|
*/
|
|
9
23
|
|
|
10
|
-
import { createMemo,
|
|
11
|
-
import { type MaybeAccessor
|
|
24
|
+
import { createMemo, Accessor } from "solid-js";
|
|
25
|
+
import { access, createInternalSignal, readNow, type MaybeAccessor } from "../utils";
|
|
12
26
|
import {
|
|
13
27
|
createFormValidationState,
|
|
14
28
|
type FormValidationState,
|
|
@@ -101,7 +115,7 @@ export function createCheckboxGroupState(
|
|
|
101
115
|
const initialProps = getProps();
|
|
102
116
|
const initialValue = initialProps.value ?? initialProps.defaultValue ?? [];
|
|
103
117
|
|
|
104
|
-
const [internalValue, setInternalValue] =
|
|
118
|
+
const [internalValue, setInternalValue] = createInternalSignal<readonly string[]>(initialValue);
|
|
105
119
|
|
|
106
120
|
const controlledValue = createMemo<readonly string[] | undefined>(() => getProps().value);
|
|
107
121
|
|
|
@@ -112,6 +126,8 @@ export function createCheckboxGroupState(
|
|
|
112
126
|
return controlled !== undefined ? controlled : internalValue();
|
|
113
127
|
};
|
|
114
128
|
|
|
129
|
+
const liveValue = (): readonly string[] => (isControlled() ? value() : readNow(internalValue));
|
|
130
|
+
|
|
115
131
|
const isRequired: Accessor<boolean> = () => {
|
|
116
132
|
const p = getProps();
|
|
117
133
|
return !!p.isRequired && value().length === 0;
|
|
@@ -161,9 +177,9 @@ export function createCheckboxGroupState(
|
|
|
161
177
|
return;
|
|
162
178
|
}
|
|
163
179
|
|
|
164
|
-
const
|
|
165
|
-
if (!
|
|
166
|
-
setValue([...
|
|
180
|
+
const snapshot = liveValue();
|
|
181
|
+
if (!snapshot.includes(addVal)) {
|
|
182
|
+
setValue([...snapshot, addVal]);
|
|
167
183
|
}
|
|
168
184
|
}
|
|
169
185
|
|
|
@@ -173,9 +189,9 @@ export function createCheckboxGroupState(
|
|
|
173
189
|
return;
|
|
174
190
|
}
|
|
175
191
|
|
|
176
|
-
const
|
|
177
|
-
if (
|
|
178
|
-
setValue(
|
|
192
|
+
const snapshot = liveValue();
|
|
193
|
+
if (snapshot.includes(removeVal)) {
|
|
194
|
+
setValue(snapshot.filter((v) => v !== removeVal));
|
|
179
195
|
}
|
|
180
196
|
}
|
|
181
197
|
|
|
@@ -185,11 +201,11 @@ export function createCheckboxGroupState(
|
|
|
185
201
|
return;
|
|
186
202
|
}
|
|
187
203
|
|
|
188
|
-
const
|
|
189
|
-
if (
|
|
190
|
-
setValue(
|
|
204
|
+
const snapshot = liveValue();
|
|
205
|
+
if (snapshot.includes(toggleVal)) {
|
|
206
|
+
setValue(snapshot.filter((v) => v !== toggleVal));
|
|
191
207
|
} else {
|
|
192
|
-
setValue([...
|
|
208
|
+
setValue([...snapshot, toggleVal]);
|
|
193
209
|
}
|
|
194
210
|
}
|
|
195
211
|
|
|
@@ -1,6 +1,37 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2024 Adobe. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
/*
|
|
14
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
15
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
16
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
17
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
18
|
+
*
|
|
19
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
20
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
21
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
22
|
+
* governing permissions and limitations under the License.
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-aria/src/collections/BaseCollection.ts
|
|
26
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/src/list/ListCollection.ts
|
|
27
|
+
|
|
1
28
|
/**
|
|
2
29
|
* A simple list collection implementation.
|
|
3
30
|
* Provides a Collection interface over an array of nodes.
|
|
31
|
+
*
|
|
32
|
+
* Ported from:
|
|
33
|
+
* - packages/react-stately/src/list/ListCollection.ts
|
|
34
|
+
* - packages/react-aria/src/collections/BaseCollection.ts
|
|
4
35
|
*/
|
|
5
36
|
|
|
6
37
|
import type { Collection, CollectionItemLike, CollectionNode, Key } from "./types";
|
|
@@ -1,10 +1,28 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/src/list/useListState.ts
|
|
14
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/src/list/useSingleSelectListState.ts
|
|
15
|
+
|
|
1
16
|
/**
|
|
2
17
|
* State management for list-like components.
|
|
3
18
|
* Combines collection and selection state.
|
|
4
|
-
*
|
|
19
|
+
* Ported from:
|
|
20
|
+
* - packages/react-stately/src/list/useListState.ts
|
|
21
|
+
* - packages/react-stately/src/list/useSingleSelectListState.ts
|
|
5
22
|
*/
|
|
6
23
|
|
|
7
|
-
import { createMemo, createEffect
|
|
24
|
+
import { createMemo, createEffect } from "solid-js";
|
|
25
|
+
import type { Accessor } from "solid-js";
|
|
8
26
|
import { access, type MaybeAccessor } from "../utils";
|
|
9
27
|
import { ListCollection } from "./ListCollection";
|
|
10
28
|
import type { SelectionState, SelectionPressEvent } from "./createSelectionState";
|
|
@@ -242,9 +260,8 @@ export function createFilteredListState<T = unknown>(
|
|
|
242
260
|
// forward (then backward) through the previous collection to the nearest
|
|
243
261
|
// surviving, enabled item. Mirrors @react-stately's useFocusedKeyReset.
|
|
244
262
|
let cachedCollection: Collection<T> | null = null;
|
|
245
|
-
createEffect(() => {
|
|
246
|
-
const
|
|
247
|
-
const focusedKey = untrack(() => state.focusedKey());
|
|
263
|
+
createEffect(collection, (coll) => {
|
|
264
|
+
const focusedKey = state.focusedKey();
|
|
248
265
|
if (focusedKey != null && !coll.getItem(focusedKey) && cachedCollection) {
|
|
249
266
|
let key = cachedCollection.getKeyAfter(focusedKey);
|
|
250
267
|
let nextFocusedKey: Key | null = null;
|
|
@@ -267,7 +284,7 @@ export function createFilteredListState<T = unknown>(
|
|
|
267
284
|
key = cachedCollection.getKeyBefore(key);
|
|
268
285
|
}
|
|
269
286
|
}
|
|
270
|
-
|
|
287
|
+
state.setFocusedKey(nextFocusedKey);
|
|
271
288
|
}
|
|
272
289
|
cachedCollection = coll;
|
|
273
290
|
});
|