@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
package/src/index.ts
CHANGED
|
@@ -15,6 +15,18 @@ export {
|
|
|
15
15
|
|
|
16
16
|
export { createTextFieldState, type TextFieldStateOptions, type TextFieldState } from "./textfield";
|
|
17
17
|
|
|
18
|
+
export {
|
|
19
|
+
createTokenFieldState,
|
|
20
|
+
TokenFieldValue,
|
|
21
|
+
type TokenFieldStateOptions,
|
|
22
|
+
type TokenFieldState,
|
|
23
|
+
type TokenFieldSegment,
|
|
24
|
+
type TextSegment,
|
|
25
|
+
type TokenSegment,
|
|
26
|
+
type Position,
|
|
27
|
+
type TokenFieldValueOptions,
|
|
28
|
+
} from "./tokenfield";
|
|
29
|
+
|
|
18
30
|
export {
|
|
19
31
|
createCheckboxGroupState,
|
|
20
32
|
type CheckboxGroupProps,
|
|
@@ -67,6 +79,8 @@ export {
|
|
|
67
79
|
createMenuTriggerState,
|
|
68
80
|
type MenuStateProps,
|
|
69
81
|
type MenuState,
|
|
82
|
+
type MenuTriggerType,
|
|
83
|
+
type MenuTriggerProps,
|
|
70
84
|
type MenuTriggerStateProps,
|
|
71
85
|
type MenuTriggerState,
|
|
72
86
|
} from "./collections";
|
|
@@ -355,6 +369,7 @@ export {
|
|
|
355
369
|
type DropStateOptions,
|
|
356
370
|
type DropState,
|
|
357
371
|
createDraggableCollectionState,
|
|
372
|
+
getKeysForDrag,
|
|
358
373
|
type DraggableCollectionStateOptions,
|
|
359
374
|
type DraggableCollectionState,
|
|
360
375
|
createDroppableCollectionState,
|
package/src/menu/index.ts
CHANGED
|
@@ -1,10 +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/numberfield/useNumberFieldState.ts
|
|
14
|
+
|
|
1
15
|
/**
|
|
2
16
|
* State management for NumberField.
|
|
3
17
|
* Based on @react-stately/numberfield useNumberFieldState.
|
|
4
18
|
*/
|
|
5
19
|
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
20
|
+
import { createMemo } from "solid-js";
|
|
21
|
+
import type { Accessor } from "solid-js";
|
|
22
|
+
import { NumberFormatter, NumberParser } from "@internationalized/number";
|
|
23
|
+
import { access, createInternalSignal, readNow, type MaybeAccessor } from "../utils";
|
|
24
|
+
import {
|
|
25
|
+
createFormValidationState,
|
|
26
|
+
type FormValidationState,
|
|
27
|
+
type ValidationFunction,
|
|
28
|
+
} from "../form";
|
|
8
29
|
|
|
9
30
|
export interface NumberFieldStateProps {
|
|
10
31
|
/** The current value (controlled). */
|
|
@@ -27,9 +48,30 @@ export interface NumberFieldStateProps {
|
|
|
27
48
|
locale?: string;
|
|
28
49
|
/** Number format options. */
|
|
29
50
|
formatOptions?: Intl.NumberFormatOptions;
|
|
51
|
+
/** Whether the number field is invalid (controlled). */
|
|
52
|
+
isInvalid?: boolean;
|
|
53
|
+
/** @deprecated Use isInvalid instead. */
|
|
54
|
+
validationState?: "valid" | "invalid";
|
|
55
|
+
/** Custom validation function. */
|
|
56
|
+
validate?: ValidationFunction<number>;
|
|
57
|
+
/**
|
|
58
|
+
* Whether to use native HTML form validation or ARIA validation semantics.
|
|
59
|
+
* @default "native"
|
|
60
|
+
*/
|
|
61
|
+
validationBehavior?: "aria" | "native";
|
|
62
|
+
/** Field name(s) for server error lookup. */
|
|
63
|
+
name?: string | string[];
|
|
64
|
+
/**
|
|
65
|
+
* Controls the behavior of the number field when the user blurs the field after
|
|
66
|
+
* editing. `'snap'` clamps to min/max and snaps to step. `'validate'` leaves the
|
|
67
|
+
* value and reports native range/step validity.
|
|
68
|
+
*
|
|
69
|
+
* @default "snap"
|
|
70
|
+
*/
|
|
71
|
+
commitBehavior?: "snap" | "validate";
|
|
30
72
|
}
|
|
31
73
|
|
|
32
|
-
export interface NumberFieldState {
|
|
74
|
+
export interface NumberFieldState extends FormValidationState {
|
|
33
75
|
/** The current input value as a string. */
|
|
34
76
|
inputValue: Accessor<string>;
|
|
35
77
|
/** The current numeric value. */
|
|
@@ -46,6 +88,12 @@ export interface NumberFieldState {
|
|
|
46
88
|
minValue: Accessor<number | undefined>;
|
|
47
89
|
/** The maximum value. */
|
|
48
90
|
maxValue: Accessor<number | undefined>;
|
|
91
|
+
/** The configured step, or undefined when the field uses the default step. */
|
|
92
|
+
step: Accessor<number | undefined>;
|
|
93
|
+
/** The default numeric value, used on native form reset. */
|
|
94
|
+
defaultNumberValue: number;
|
|
95
|
+
/** Sets the number value and reformats the input. */
|
|
96
|
+
setNumberValue: (value: number) => void;
|
|
49
97
|
/** Set the input value. */
|
|
50
98
|
setInputValue: (value: string) => void;
|
|
51
99
|
/** Validate a partial input value. */
|
|
@@ -115,64 +163,51 @@ export function createNumberFieldState(
|
|
|
115
163
|
): NumberFieldState {
|
|
116
164
|
const getProps = () => access(props);
|
|
117
165
|
|
|
166
|
+
// Internal signals
|
|
167
|
+
const [inputValue, setInputValueInternal] = createInternalSignal<string>("");
|
|
168
|
+
const [numberValue, setNumberValue] = createInternalSignal<number>(NaN);
|
|
169
|
+
|
|
118
170
|
// Get locale and formatter
|
|
119
171
|
const locale = () => getProps().locale ?? "en-US";
|
|
120
172
|
const formatOptions = () => getProps().formatOptions ?? {};
|
|
121
173
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
return new Intl.NumberFormat(locale(), formatOptions());
|
|
174
|
+
const numberParser = createMemo(() => {
|
|
175
|
+
return new NumberParser(locale(), formatOptions());
|
|
125
176
|
});
|
|
126
177
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
// Handle locale-specific decimal separators
|
|
132
|
-
const opts = formatOptions();
|
|
133
|
-
const testNumber = formatter().format(1.1);
|
|
134
|
-
const decimalSeparator = testNumber.charAt(1);
|
|
135
|
-
|
|
136
|
-
// Normalize the input
|
|
137
|
-
let normalized = value;
|
|
138
|
-
if (decimalSeparator !== ".") {
|
|
139
|
-
normalized = normalized.replace(decimalSeparator, ".");
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
// Remove grouping separators and currency symbols
|
|
143
|
-
normalized = normalized.replace(/[^\d.-]/g, "");
|
|
144
|
-
|
|
145
|
-
const parsed = parseFloat(normalized);
|
|
146
|
-
if (isNaN(parsed)) return parsed;
|
|
178
|
+
const numberingSystem = createMemo(() => {
|
|
179
|
+
return numberParser().getNumberingSystem(inputValue());
|
|
180
|
+
});
|
|
147
181
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
182
|
+
const formatter = createMemo(() => {
|
|
183
|
+
return new NumberFormatter(locale(), {
|
|
184
|
+
...formatOptions(),
|
|
185
|
+
numberingSystem: numberingSystem(),
|
|
186
|
+
});
|
|
187
|
+
});
|
|
151
188
|
|
|
152
|
-
|
|
189
|
+
const parseNumber = (value: string): number => {
|
|
190
|
+
return numberParser().parse(value);
|
|
153
191
|
};
|
|
154
192
|
|
|
155
193
|
// Format a number to string
|
|
156
194
|
const formatNumber = (value: number): string => {
|
|
157
|
-
if (isNaN(value)) return "";
|
|
195
|
+
if (isNaN(value) || value === null) return "";
|
|
158
196
|
return formatter().format(value);
|
|
159
197
|
};
|
|
160
198
|
|
|
161
199
|
// Determine step value
|
|
162
200
|
const hasCustomStep = createMemo(() => isValidStep(getProps().step));
|
|
201
|
+
const shouldSnap = () => (getProps().commitBehavior ?? "snap") === "snap";
|
|
163
202
|
|
|
164
203
|
const step = createMemo(() => {
|
|
165
204
|
const p = getProps();
|
|
166
205
|
if (hasCustomStep()) return p.step as number;
|
|
167
|
-
|
|
168
|
-
if (
|
|
206
|
+
const resolved = formatter().resolvedOptions();
|
|
207
|
+
if (resolved.style === "percent") return 0.01;
|
|
169
208
|
return 1;
|
|
170
209
|
});
|
|
171
210
|
|
|
172
|
-
// Internal signals
|
|
173
|
-
const [inputValue, setInputValueInternal] = createSignal<string>("");
|
|
174
|
-
const [numberValue, setNumberValue] = createSignal<number>(NaN);
|
|
175
|
-
|
|
176
211
|
const applyConstraints = (value: number): number => {
|
|
177
212
|
const p = getProps();
|
|
178
213
|
if (isNaN(value)) return NaN;
|
|
@@ -184,15 +219,30 @@ export function createNumberFieldState(
|
|
|
184
219
|
return clamp(value, p.minValue, p.maxValue);
|
|
185
220
|
};
|
|
186
221
|
|
|
222
|
+
let initialNumberValue = NaN;
|
|
223
|
+
let capturedDefaultNumberValue = NaN;
|
|
224
|
+
|
|
225
|
+
const constrainForCommit = (value: number): number => {
|
|
226
|
+
if (!shouldSnap()) return value;
|
|
227
|
+
return applyConstraints(value);
|
|
228
|
+
};
|
|
229
|
+
|
|
187
230
|
// Initialize from props
|
|
188
231
|
const initValue = () => {
|
|
189
232
|
const p = getProps();
|
|
190
233
|
const initial = p.value ?? p.defaultValue;
|
|
191
|
-
if (initial != null) {
|
|
192
|
-
const
|
|
193
|
-
setNumberValue(
|
|
194
|
-
setInputValueInternal(formatNumber(
|
|
234
|
+
if (initial != null && !isNaN(initial)) {
|
|
235
|
+
const next = constrainForCommit(initial);
|
|
236
|
+
setNumberValue(next);
|
|
237
|
+
setInputValueInternal(formatNumber(next));
|
|
238
|
+
initialNumberValue = next;
|
|
239
|
+
} else {
|
|
240
|
+
initialNumberValue = NaN;
|
|
195
241
|
}
|
|
242
|
+
const defaultValue = p.defaultValue ?? NaN;
|
|
243
|
+
capturedDefaultNumberValue = isNaN(defaultValue)
|
|
244
|
+
? initialNumberValue
|
|
245
|
+
: constrainForCommit(defaultValue);
|
|
196
246
|
};
|
|
197
247
|
|
|
198
248
|
// Call init on first access
|
|
@@ -209,7 +259,7 @@ export function createNumberFieldState(
|
|
|
209
259
|
ensureInitialized();
|
|
210
260
|
const p = getProps();
|
|
211
261
|
if (p.value !== undefined) {
|
|
212
|
-
return
|
|
262
|
+
return constrainForCommit(p.value);
|
|
213
263
|
}
|
|
214
264
|
return numberValue();
|
|
215
265
|
});
|
|
@@ -222,34 +272,45 @@ export function createNumberFieldState(
|
|
|
222
272
|
return;
|
|
223
273
|
}
|
|
224
274
|
|
|
225
|
-
const
|
|
226
|
-
if (lastControlledValue === undefined || !Object.is(lastControlledValue,
|
|
227
|
-
lastControlledValue =
|
|
228
|
-
setNumberValue(
|
|
229
|
-
setInputValueInternal(formatNumber(
|
|
275
|
+
const next = constrainForCommit(p.value);
|
|
276
|
+
if (lastControlledValue === undefined || !Object.is(lastControlledValue, next)) {
|
|
277
|
+
lastControlledValue = next;
|
|
278
|
+
setNumberValue(next);
|
|
279
|
+
setInputValueInternal(formatNumber(next));
|
|
230
280
|
}
|
|
231
281
|
};
|
|
232
282
|
|
|
233
283
|
const parsedInputValue = () => {
|
|
234
284
|
ensureInitialized();
|
|
235
285
|
syncControlledValue();
|
|
236
|
-
return parseNumber(inputValue
|
|
286
|
+
return parseNumber(readNow(inputValue));
|
|
237
287
|
};
|
|
238
288
|
|
|
289
|
+
const validation = createFormValidationState({
|
|
290
|
+
get value() {
|
|
291
|
+
ensureInitialized();
|
|
292
|
+
return actualNumberValue();
|
|
293
|
+
},
|
|
294
|
+
get isInvalid() {
|
|
295
|
+
return getProps().isInvalid;
|
|
296
|
+
},
|
|
297
|
+
get validationState() {
|
|
298
|
+
return getProps().validationState;
|
|
299
|
+
},
|
|
300
|
+
get validate() {
|
|
301
|
+
return getProps().validate;
|
|
302
|
+
},
|
|
303
|
+
get name() {
|
|
304
|
+
return getProps().name;
|
|
305
|
+
},
|
|
306
|
+
get validationBehavior() {
|
|
307
|
+
return getProps().validationBehavior ?? "native";
|
|
308
|
+
},
|
|
309
|
+
});
|
|
310
|
+
|
|
239
311
|
// Validate partial input
|
|
240
312
|
const validate = (value: string): boolean => {
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
// Allow partial decimal input like "1."
|
|
244
|
-
const opts = formatOptions();
|
|
245
|
-
const testNumber = formatter().format(1.1);
|
|
246
|
-
const decimalSeparator = testNumber.charAt(1);
|
|
247
|
-
|
|
248
|
-
// Check if it's a valid partial number
|
|
249
|
-
const pattern = new RegExp(
|
|
250
|
-
`^-?\\d*${decimalSeparator === "." ? "\\." : decimalSeparator}?\\d*$`,
|
|
251
|
-
);
|
|
252
|
-
return pattern.test(value);
|
|
313
|
+
return numberParser().isValidPartialNumber(value, getProps().minValue, getProps().maxValue);
|
|
253
314
|
};
|
|
254
315
|
|
|
255
316
|
// Set input value with validation
|
|
@@ -263,13 +324,14 @@ export function createNumberFieldState(
|
|
|
263
324
|
const commit = () => {
|
|
264
325
|
ensureInitialized();
|
|
265
326
|
const p = getProps();
|
|
266
|
-
const input = inputValue
|
|
327
|
+
const input = readNow(inputValue);
|
|
267
328
|
|
|
268
329
|
if (input === "" || input === "-") {
|
|
269
330
|
// Clear value
|
|
270
331
|
setNumberValue(NaN);
|
|
271
|
-
setInputValueInternal(p.value === undefined ? "" : formatNumber(actualNumberValue
|
|
332
|
+
setInputValueInternal(p.value === undefined ? "" : formatNumber(readNow(actualNumberValue)));
|
|
272
333
|
p.onChange?.(NaN);
|
|
334
|
+
validation.commitValidation();
|
|
273
335
|
return;
|
|
274
336
|
}
|
|
275
337
|
|
|
@@ -277,18 +339,21 @@ export function createNumberFieldState(
|
|
|
277
339
|
|
|
278
340
|
if (isNaN(parsed)) {
|
|
279
341
|
// Invalid input - revert to current value
|
|
280
|
-
setInputValueInternal(formatNumber(actualNumberValue
|
|
342
|
+
setInputValueInternal(formatNumber(readNow(actualNumberValue)));
|
|
281
343
|
return;
|
|
282
344
|
}
|
|
283
345
|
|
|
284
|
-
|
|
285
|
-
parsed =
|
|
346
|
+
const previous = readNow(actualNumberValue);
|
|
347
|
+
parsed = constrainForCommit(parsed);
|
|
348
|
+
parsed = numberParser().parse(formatNumber(parsed));
|
|
286
349
|
|
|
287
|
-
// Update state
|
|
288
350
|
setNumberValue(parsed);
|
|
289
351
|
setInputValueInternal(formatNumber(parsed));
|
|
290
352
|
|
|
291
353
|
p.onChange?.(parsed);
|
|
354
|
+
if (parsed !== previous) {
|
|
355
|
+
validation.commitValidation();
|
|
356
|
+
}
|
|
292
357
|
};
|
|
293
358
|
|
|
294
359
|
// Check if can increment
|
|
@@ -352,6 +417,7 @@ export function createNumberFieldState(
|
|
|
352
417
|
setNumberValue(current);
|
|
353
418
|
setInputValueInternal(formatNumber(current));
|
|
354
419
|
p.onChange?.(current);
|
|
420
|
+
validation.commitValidation();
|
|
355
421
|
};
|
|
356
422
|
|
|
357
423
|
// Decrement by step
|
|
@@ -365,6 +431,7 @@ export function createNumberFieldState(
|
|
|
365
431
|
setNumberValue(current);
|
|
366
432
|
setInputValueInternal(formatNumber(current));
|
|
367
433
|
p.onChange?.(current);
|
|
434
|
+
validation.commitValidation();
|
|
368
435
|
};
|
|
369
436
|
|
|
370
437
|
// Set to max
|
|
@@ -380,6 +447,7 @@ export function createNumberFieldState(
|
|
|
380
447
|
setNumberValue(snapped);
|
|
381
448
|
setInputValueInternal(formatNumber(snapped));
|
|
382
449
|
p.onChange?.(snapped);
|
|
450
|
+
validation.commitValidation();
|
|
383
451
|
};
|
|
384
452
|
|
|
385
453
|
// Set to min
|
|
@@ -394,9 +462,22 @@ export function createNumberFieldState(
|
|
|
394
462
|
setNumberValue(p.minValue);
|
|
395
463
|
setInputValueInternal(formatNumber(p.minValue));
|
|
396
464
|
p.onChange?.(p.minValue);
|
|
465
|
+
validation.commitValidation();
|
|
466
|
+
};
|
|
467
|
+
|
|
468
|
+
const setNumberValuePublic = (value: number) => {
|
|
469
|
+
ensureInitialized();
|
|
470
|
+
setNumberValue(value);
|
|
471
|
+
setInputValueInternal(formatNumber(value));
|
|
472
|
+
getProps().onChange?.(value);
|
|
397
473
|
};
|
|
398
474
|
|
|
399
475
|
return {
|
|
476
|
+
realtimeValidation: validation.realtimeValidation,
|
|
477
|
+
displayValidation: validation.displayValidation,
|
|
478
|
+
updateValidation: validation.updateValidation,
|
|
479
|
+
resetValidation: validation.resetValidation,
|
|
480
|
+
commitValidation: validation.commitValidation,
|
|
400
481
|
get inputValue() {
|
|
401
482
|
ensureInitialized();
|
|
402
483
|
syncControlledValue();
|
|
@@ -411,6 +492,12 @@ export function createNumberFieldState(
|
|
|
411
492
|
isReadOnly: () => getProps().isReadOnly ?? false,
|
|
412
493
|
minValue: () => getProps().minValue,
|
|
413
494
|
maxValue: () => getProps().maxValue,
|
|
495
|
+
step: () => getProps().step,
|
|
496
|
+
get defaultNumberValue() {
|
|
497
|
+
ensureInitialized();
|
|
498
|
+
return capturedDefaultNumberValue;
|
|
499
|
+
},
|
|
500
|
+
setNumberValue: setNumberValuePublic,
|
|
414
501
|
setInputValue,
|
|
415
502
|
validate,
|
|
416
503
|
commit,
|
|
@@ -1,10 +1,24 @@
|
|
|
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/overlays/useOverlayTriggerState.ts
|
|
14
|
+
|
|
1
15
|
/**
|
|
2
16
|
* Manages state for an overlay trigger.
|
|
3
17
|
* Based on @react-stately/overlays useOverlayTriggerState.
|
|
4
18
|
*/
|
|
5
19
|
|
|
6
|
-
import {
|
|
7
|
-
import { access, type MaybeAccessor } from "../utils";
|
|
20
|
+
import type { Accessor } from "solid-js";
|
|
21
|
+
import { access, createInternalSignal, readNow, type MaybeAccessor } from "../utils";
|
|
8
22
|
|
|
9
23
|
export interface OverlayTriggerProps {
|
|
10
24
|
/** Whether the overlay is open by default (uncontrolled). */
|
|
@@ -26,6 +40,10 @@ export interface OverlayTriggerState {
|
|
|
26
40
|
close(): void;
|
|
27
41
|
/** Toggles the overlay's visibility. */
|
|
28
42
|
toggle(): void;
|
|
43
|
+
/** Cursor position relative to the window viewport. */
|
|
44
|
+
readonly point: Accessor<{ x: number; y: number } | null>;
|
|
45
|
+
/** Sets the cursor position relative to the window viewport. */
|
|
46
|
+
setPoint(point: { x: number; y: number }): void;
|
|
29
47
|
}
|
|
30
48
|
|
|
31
49
|
/**
|
|
@@ -37,7 +55,10 @@ export function createOverlayTriggerState(
|
|
|
37
55
|
): OverlayTriggerState {
|
|
38
56
|
const propsAccessor = () => access(props);
|
|
39
57
|
|
|
40
|
-
const [internalOpen, setInternalOpen] =
|
|
58
|
+
const [internalOpen, setInternalOpen] = createInternalSignal(
|
|
59
|
+
propsAccessor().defaultOpen ?? false,
|
|
60
|
+
);
|
|
61
|
+
const [point, setPoint] = createInternalSignal<{ x: number; y: number } | null>(null);
|
|
41
62
|
|
|
42
63
|
const isOpen: Accessor<boolean> = () => {
|
|
43
64
|
const p = propsAccessor();
|
|
@@ -54,7 +75,11 @@ export function createOverlayTriggerState(
|
|
|
54
75
|
|
|
55
76
|
const open = () => setOpen(true);
|
|
56
77
|
const close = () => setOpen(false);
|
|
57
|
-
const toggle = () =>
|
|
78
|
+
const toggle = () => {
|
|
79
|
+
const p = propsAccessor();
|
|
80
|
+
const open = p.isOpen !== undefined ? p.isOpen : readNow(internalOpen);
|
|
81
|
+
setOpen(!open);
|
|
82
|
+
};
|
|
58
83
|
|
|
59
84
|
return {
|
|
60
85
|
isOpen,
|
|
@@ -62,5 +87,7 @@ export function createOverlayTriggerState(
|
|
|
62
87
|
open,
|
|
63
88
|
close,
|
|
64
89
|
toggle,
|
|
90
|
+
point,
|
|
91
|
+
setPoint,
|
|
65
92
|
};
|
|
66
93
|
}
|
|
@@ -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/radio/useRadioGroupState.ts
|
|
14
|
+
|
|
1
15
|
/**
|
|
2
16
|
* Radio group state for Solid Stately
|
|
3
17
|
*
|
|
@@ -7,8 +21,8 @@
|
|
|
7
21
|
* This is a 1:1 port of @react-stately/radio's useRadioGroupState.
|
|
8
22
|
*/
|
|
9
23
|
|
|
10
|
-
import { createMemo,
|
|
11
|
-
import { type MaybeAccessor, access } from "../utils";
|
|
24
|
+
import { createMemo, Accessor, untrack } from "solid-js";
|
|
25
|
+
import { createInternalSignal, type MaybeAccessor, access } from "../utils";
|
|
12
26
|
import { createId } from "../ssr";
|
|
13
27
|
import {
|
|
14
28
|
createFormValidationState,
|
|
@@ -123,15 +137,15 @@ export function createRadioGroupState(props: MaybeAccessor<RadioGroupProps> = {}
|
|
|
123
137
|
|
|
124
138
|
// Create internal signal for uncontrolled mode
|
|
125
139
|
// Initialize with defaultValue only (not value, which is for controlled mode)
|
|
126
|
-
const [internalValue, setInternalValue] =
|
|
140
|
+
const [internalValue, setInternalValue] = createInternalSignal<string | null>(
|
|
127
141
|
initialProps.defaultValue ?? null,
|
|
128
142
|
);
|
|
129
|
-
const [lastFocusedValue, setLastFocusedValueInternal] =
|
|
143
|
+
const [lastFocusedValue, setLastFocusedValueInternal] = createInternalSignal<string | null>(null);
|
|
130
144
|
|
|
131
145
|
// SolidJS-specific: Version counter for triggering DOM sync across all radios
|
|
132
146
|
// This handles the case where native radio behavior causes DOM state to desync
|
|
133
147
|
// from our reactive state (e.g., clicking a radio unchecks siblings in the DOM)
|
|
134
|
-
const [syncVersion, setSyncVersion] =
|
|
148
|
+
const [syncVersion, setSyncVersion] = createInternalSignal(0);
|
|
135
149
|
|
|
136
150
|
const controlledValue = createMemo<string | null | undefined>(() => {
|
|
137
151
|
const value = getProps().value;
|
|
@@ -1,10 +1,25 @@
|
|
|
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/searchfield/useSearchFieldState.ts
|
|
14
|
+
|
|
1
15
|
/**
|
|
2
16
|
* Creates state for a search field component.
|
|
3
17
|
* Based on @react-stately/searchfield useSearchFieldState.
|
|
4
18
|
*/
|
|
5
19
|
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
20
|
+
import { createMemo } from "solid-js";
|
|
21
|
+
import type { Accessor } from "solid-js";
|
|
22
|
+
import { createInternalSignal, access, type MaybeAccessor } from "../utils";
|
|
8
23
|
|
|
9
24
|
export interface SearchFieldStateProps {
|
|
10
25
|
/** The current value (controlled). */
|
|
@@ -32,7 +47,7 @@ export function createSearchFieldState(
|
|
|
32
47
|
|
|
33
48
|
const isControlled = () => getProps().value !== undefined;
|
|
34
49
|
|
|
35
|
-
const [internalValue, setInternalValue] =
|
|
50
|
+
const [internalValue, setInternalValue] = createInternalSignal(getProps().defaultValue ?? "");
|
|
36
51
|
|
|
37
52
|
const value = createMemo(() => {
|
|
38
53
|
const p = getProps();
|