@proyecto-viviana/solid-stately 0.5.1 → 0.6.0-rc.1
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/README.md +59 -29
- 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 +10 -9
- 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 +4 -7
- package/dist/calendar/createDatePickerState.d.ts.map +1 -0
- package/dist/calendar/createRangeCalendarState.d.ts +9 -7
- package/dist/calendar/createRangeCalendarState.d.ts.map +1 -0
- package/dist/calendar/createTimeFieldState.d.ts +5 -24
- 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 +3 -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 +74 -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 +6 -5
- package/dist/color/createColorAreaState.d.ts.map +1 -0
- package/dist/color/createColorFieldState.d.ts +4 -5
- package/dist/color/createColorFieldState.d.ts.map +1 -0
- package/dist/color/createColorSliderState.d.ts +4 -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 +92 -29
- package/dist/combobox/createComboBoxState.d.ts.map +1 -0
- package/dist/combobox/index.d.ts +2 -1
- 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 +44 -11
- 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 +34 -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/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 +4 -3
- 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 +7 -5
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2947 -969
- package/dist/index.js.map +1 -1
- package/dist/menu/index.d.ts +3 -1
- package/dist/menu/index.d.ts.map +1 -0
- package/dist/numberfield/createNumberFieldState.d.ts +37 -9
- 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.d.ts +5 -0
- package/dist/private/flags/flags.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 +100 -33
- package/dist/select/createSelectState.d.ts.map +1 -0
- package/dist/select/index.d.ts +2 -1
- 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 +37 -14
- 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 -13
- package/dist/ssr/index.d.ts.map +1 -0
- package/dist/steplist/createStepListState.d.ts +10 -18
- 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 +3 -6
- package/dist/table/createTableState.d.ts.map +1 -0
- package/dist/table/createTreeGridState.d.ts +3 -9
- 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 +37 -3
- 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 +96 -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 +3 -8
- package/dist/tree/createTreeState.d.ts.map +1 -0
- 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 +24 -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 +321 -125
- package/src/calendar/createDateFieldState.ts +45 -31
- package/src/calendar/createDatePickerState.ts +47 -26
- package/src/calendar/createRangeCalendarState.ts +173 -86
- package/src/calendar/createTimeFieldState.ts +26 -7
- package/src/calendar/intl/index.ts +37 -2
- package/src/checkbox/createCheckboxGroupState.ts +45 -13
- package/src/collections/ListCollection.ts +31 -0
- package/src/collections/createListState.ts +27 -10
- package/src/collections/createMenuState.ts +190 -15
- package/src/collections/createSelectionState.ts +33 -13
- package/src/collections/getChildNodes.ts +20 -3
- package/src/collections/index.ts +6 -0
- package/src/collections/types.ts +35 -2
- package/src/color/Color.ts +61 -22
- package/src/color/createColorAreaState.ts +48 -4
- package/src/color/createColorFieldState.ts +114 -38
- package/src/color/createColorSliderState.ts +61 -9
- package/src/color/createColorWheelState.ts +29 -9
- 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 +530 -297
- package/src/combobox/index.ts +4 -0
- package/src/data/createAsyncList.ts +41 -6
- package/src/data/createListData.ts +27 -4
- package/src/data/createTreeData.ts +30 -6
- package/src/disclosure/createDisclosureState.ts +40 -19
- package/src/dnd/createDragState.ts +22 -4
- package/src/dnd/createDraggableCollectionState.ts +145 -11
- package/src/dnd/createDropState.ts +21 -3
- package/src/dnd/createDroppableCollectionState.ts +127 -11
- package/src/dnd/index.ts +4 -0
- package/src/dnd/types.ts +16 -0
- package/src/form/createFormValidationState.ts +69 -37
- package/src/grid/createGridState.ts +196 -111
- package/src/grid/types.ts +22 -1
- package/src/index.ts +33 -2
- package/src/menu/index.ts +7 -0
- package/src/numberfield/createNumberFieldState.ts +247 -98
- package/src/overlays/createOverlayTriggerState.ts +31 -4
- package/src/private/flags/flags.ts +25 -0
- package/src/radio/createRadioGroupState.ts +23 -6
- package/src/searchfield/createSearchFieldState.ts +18 -3
- package/src/select/createSelectState.ts +317 -130
- package/src/select/index.ts +8 -1
- package/src/selection/Selection.ts +15 -1
- package/src/selection/SelectionManager.ts +17 -1
- package/src/selection/createMultipleSelectionState.ts +45 -26
- package/src/slider/createSliderState.ts +243 -104
- package/src/ssr/index.ts +34 -4
- package/src/steplist/createStepListState.ts +184 -130
- package/src/table/TableCollection.ts +14 -0
- package/src/table/createTableColumnResizeState.ts +71 -14
- package/src/table/createTableState.ts +26 -4
- package/src/table/createTreeGridState.ts +22 -6
- package/src/table/types.ts +38 -5
- package/src/tabs/createTabListState.ts +63 -43
- 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 +499 -0
- package/src/tokenfield/createTokenFieldState.ts +88 -0
- package/src/tokenfield/index.ts +15 -0
- package/src/tooltip/createTooltipTriggerState.ts +49 -13
- package/src/tree/TreeCollection.ts +14 -0
- package/src/tree/createTreeState.ts +70 -36
- package/src/tree/types.ts +18 -1
- package/src/utils/index.ts +10 -1
- package/src/utils/owner.ts +20 -0
- package/src/utils/reactivity.ts +53 -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/createTreeState.d.ts.map +0 -1
- 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,3 +1,17 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 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/table/useTreeGridState.ts
|
|
14
|
+
|
|
1
15
|
/**
|
|
2
16
|
* Tree grid state management for expandable Table rows.
|
|
3
17
|
* Based on @react-stately/table/useTreeGridState (the `UNSTABLE_` tree-grid feature).
|
|
@@ -6,7 +20,9 @@
|
|
|
6
20
|
* collection from it, and layers the expansion API on top of {@link createTableState}.
|
|
7
21
|
*/
|
|
8
22
|
|
|
9
|
-
import { createMemo
|
|
23
|
+
import { createMemo } from "solid-js";
|
|
24
|
+
import { createInternalSignal, propsAccessor, type MaybeAccessor } from "../utils";
|
|
25
|
+
|
|
10
26
|
import { createTableState } from "./createTableState";
|
|
11
27
|
import { createTableCollection, TableCollection } from "./TableCollection";
|
|
12
28
|
import type { Key } from "../collections/types";
|
|
@@ -19,22 +35,22 @@ import type { TreeGridState, TreeGridStateOptions } from "./types";
|
|
|
19
35
|
export function createTreeGridState<
|
|
20
36
|
T extends object,
|
|
21
37
|
C extends TableCollection<T> = TableCollection<T>,
|
|
22
|
-
>(options:
|
|
23
|
-
const getOptions = (
|
|
38
|
+
>(options: MaybeAccessor<TreeGridStateOptions<T, C>>): TreeGridState<T, C> {
|
|
39
|
+
const getOptions = propsAccessor(options);
|
|
24
40
|
|
|
25
41
|
// Expanded keys: controlled via `UNSTABLE_expandedKeys`, otherwise the internal signal
|
|
26
42
|
// seeded from `UNSTABLE_defaultExpandedKeys`.
|
|
27
|
-
const [internalExpandedKeys, setInternalExpandedKeys] =
|
|
43
|
+
const [internalExpandedKeys, setInternalExpandedKeys] = createInternalSignal<"all" | Set<Key>>(
|
|
28
44
|
getInitialExpanded(getOptions().UNSTABLE_defaultExpandedKeys),
|
|
29
45
|
);
|
|
30
46
|
|
|
31
|
-
const expandedKeys =
|
|
47
|
+
const expandedKeys = (): "all" | Set<Key> => {
|
|
32
48
|
const controlled = getOptions().UNSTABLE_expandedKeys;
|
|
33
49
|
if (controlled !== undefined) {
|
|
34
50
|
return convertExpanded(controlled);
|
|
35
51
|
}
|
|
36
52
|
return internalExpandedKeys();
|
|
37
|
-
}
|
|
53
|
+
};
|
|
38
54
|
|
|
39
55
|
// Rebuild the tree collection whenever the expanded keys (or the data) change.
|
|
40
56
|
const collection = createMemo(
|
package/src/table/types.ts
CHANGED
|
@@ -1,10 +1,43 @@
|
|
|
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
|
+
/*
|
|
14
|
+
* Copyright 2023 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-types/table/src/index.d.ts
|
|
26
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/src/table/TableCollection.ts
|
|
27
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/src/table/useTableState.ts
|
|
28
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/src/table/useTreeGridState.ts
|
|
29
|
+
|
|
1
30
|
/**
|
|
2
31
|
* Table state types for Table components.
|
|
3
|
-
*
|
|
32
|
+
* Ported from:
|
|
33
|
+
* - packages/react-stately/src/table/TableCollection.ts
|
|
34
|
+
* - packages/react-stately/src/table/useTableState.ts
|
|
35
|
+
* - packages/react-stately/src/table/useTreeGridState.ts
|
|
36
|
+
* - packages/@react-types/table/src/index.d.ts
|
|
4
37
|
*/
|
|
5
38
|
|
|
6
|
-
import type { Key
|
|
7
|
-
import type { GridState, GridCollection, GridNode
|
|
39
|
+
import type { Key } from "../collections/types";
|
|
40
|
+
import type { GridState, GridCollection, GridNode } from "../grid/types";
|
|
8
41
|
|
|
9
42
|
/**
|
|
10
43
|
* Sort direction for table columns.
|
|
@@ -105,8 +138,8 @@ export interface TreeGridStateOptions<
|
|
|
105
138
|
> extends Omit<TableStateOptions<T, C>, "collection"> {
|
|
106
139
|
/** Column definitions. */
|
|
107
140
|
columns: ColumnDefinition<T>[];
|
|
108
|
-
/** Row definitions (may contain `childRows`
|
|
109
|
-
rows: RowDefinition<T>[];
|
|
141
|
+
/** Row definitions (may contain `childRows`) or raw data items keyed by `getKey`. */
|
|
142
|
+
rows: RowDefinition<T>[] | T[];
|
|
110
143
|
/** Function to get the key from a data item. */
|
|
111
144
|
getKey?: (item: T) => Key;
|
|
112
145
|
/** Function to get the text value from a data item. */
|
|
@@ -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/tabs/useTabListState.ts
|
|
14
|
+
|
|
1
15
|
/**
|
|
2
16
|
* State management for tab components.
|
|
3
|
-
*
|
|
17
|
+
* Ported from packages/react-stately/src/tabs/useTabListState.ts.
|
|
4
18
|
*/
|
|
5
19
|
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
20
|
+
import { createEffect, createMemo } from "solid-js";
|
|
21
|
+
import type { Accessor } from "solid-js";
|
|
22
|
+
import { createInternalSignal, propsAccessor, type MaybeAccessor } from "../utils";
|
|
8
23
|
import { ListCollection } from "../collections/ListCollection";
|
|
9
24
|
import type {
|
|
10
25
|
Collection,
|
|
@@ -79,7 +94,7 @@ export interface TabListState<T = unknown> {
|
|
|
79
94
|
export function createTabListState<T = unknown>(
|
|
80
95
|
props: MaybeAccessor<TabListStateProps<T>>,
|
|
81
96
|
): TabListState<T> {
|
|
82
|
-
const getProps = (
|
|
97
|
+
const getProps = propsAccessor(props);
|
|
83
98
|
|
|
84
99
|
const collection: Accessor<Collection<T>> = createMemo(() => {
|
|
85
100
|
const p = getProps();
|
|
@@ -163,7 +178,7 @@ export function createTabListState<T = unknown>(
|
|
|
163
178
|
return findFirstNonDisabledKey();
|
|
164
179
|
};
|
|
165
180
|
|
|
166
|
-
const [selectedKeyInternal, setSelectedKeyInternal] =
|
|
181
|
+
const [selectedKeyInternal, setSelectedKeyInternal] = createInternalSignal<Key | null>(
|
|
167
182
|
getInitialSelectedKey(),
|
|
168
183
|
);
|
|
169
184
|
|
|
@@ -200,55 +215,60 @@ export function createTabListState<T = unknown>(
|
|
|
200
215
|
|
|
201
216
|
const orientation: Accessor<TabOrientation> = () => getProps().orientation ?? "horizontal";
|
|
202
217
|
|
|
203
|
-
const [isFocused, setIsFocused] =
|
|
204
|
-
const [focusedKey, setFocusedKeyInternal] =
|
|
205
|
-
const [childFocusStrategy, setChildFocusStrategy] =
|
|
218
|
+
const [isFocused, setIsFocused] = createInternalSignal(false);
|
|
219
|
+
const [focusedKey, setFocusedKeyInternal] = createInternalSignal<Key | null>(null);
|
|
220
|
+
const [childFocusStrategy, setChildFocusStrategy] = createInternalSignal<FocusStrategy | null>(
|
|
221
|
+
null,
|
|
222
|
+
);
|
|
206
223
|
|
|
207
224
|
const setFocusedKey = (key: Key | null, childStrategy?: FocusStrategy) => {
|
|
208
225
|
setFocusedKeyInternal(key);
|
|
209
226
|
setChildFocusStrategy(childStrategy ?? null);
|
|
210
227
|
};
|
|
211
228
|
|
|
212
|
-
//
|
|
213
|
-
//
|
|
214
|
-
//
|
|
229
|
+
// Match useTabListState's passive effect without adding a frame delay. Mouse
|
|
230
|
+
// press-start selection must update the roving target before native focusin;
|
|
231
|
+
// touch selects on press-up, so its earlier focusin retains the old tabindex.
|
|
215
232
|
let lastSelectedKey: Key | null = selectedKey();
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
233
|
+
createEffect(
|
|
234
|
+
() => ({ sel: selectedKey(), foc: focusedKey(), focused: isFocused() }),
|
|
235
|
+
({ sel, foc, focused }) => {
|
|
236
|
+
if ((sel !== null && foc === null) || (!focused && sel !== lastSelectedKey)) {
|
|
237
|
+
setFocusedKey(sel);
|
|
238
|
+
}
|
|
239
|
+
lastSelectedKey = sel;
|
|
240
|
+
},
|
|
241
|
+
);
|
|
223
242
|
|
|
224
243
|
// Keep uncontrolled selection valid as items/disabled keys change.
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
244
|
+
createEffect(
|
|
245
|
+
() => {
|
|
246
|
+
const p = getProps();
|
|
247
|
+
if (p.selectedKey !== undefined) return undefined;
|
|
248
|
+
|
|
249
|
+
const coll = collection();
|
|
250
|
+
if (coll.size === 0) return undefined;
|
|
251
|
+
|
|
252
|
+
const current = selectedKeyInternal();
|
|
253
|
+
const currentExists = current !== null && coll.getItem(current) !== null;
|
|
254
|
+
const currentEnabled = current !== null && !isKeyDisabled(current);
|
|
255
|
+
if (currentExists && currentEnabled) return undefined;
|
|
256
|
+
|
|
257
|
+
if (
|
|
258
|
+
p.defaultSelectedKey !== undefined &&
|
|
259
|
+
coll.getItem(p.defaultSelectedKey) !== null &&
|
|
260
|
+
!isKeyDisabled(p.defaultSelectedKey)
|
|
261
|
+
) {
|
|
262
|
+
return p.defaultSelectedKey !== current ? p.defaultSelectedKey : undefined;
|
|
243
263
|
}
|
|
244
|
-
return;
|
|
245
|
-
}
|
|
246
264
|
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
265
|
+
const nextKey = findFirstNonDisabledKey();
|
|
266
|
+
return nextKey !== current ? nextKey : undefined;
|
|
267
|
+
},
|
|
268
|
+
(nextKey) => {
|
|
269
|
+
if (nextKey !== undefined) setSelectedKeyInternal(nextKey);
|
|
270
|
+
},
|
|
271
|
+
);
|
|
252
272
|
|
|
253
273
|
return {
|
|
254
274
|
collection,
|
|
@@ -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/utils/useControlledState.ts
|
|
14
|
+
|
|
1
15
|
/**
|
|
2
16
|
* TextField state for Solid Stately
|
|
3
17
|
*
|
|
@@ -7,8 +21,8 @@
|
|
|
7
21
|
* as used by @react-aria/textfield.
|
|
8
22
|
*/
|
|
9
23
|
|
|
10
|
-
import {
|
|
11
|
-
import { type MaybeAccessor, access } from "../utils";
|
|
24
|
+
import { Accessor } from "solid-js";
|
|
25
|
+
import { createInternalSignal, type MaybeAccessor, access } from "../utils";
|
|
12
26
|
|
|
13
27
|
export interface TextFieldStateOptions {
|
|
14
28
|
/** The current value (controlled). */
|
|
@@ -38,7 +52,7 @@ export function createTextFieldState(
|
|
|
38
52
|
const initialProps = getProps();
|
|
39
53
|
const initialValue = initialProps.value ?? initialProps.defaultValue ?? "";
|
|
40
54
|
|
|
41
|
-
const [internalValue, setInternalValue] =
|
|
55
|
+
const [internalValue, setInternalValue] = createInternalSignal(initialValue);
|
|
42
56
|
|
|
43
57
|
const isControlled = () => getProps().value !== undefined;
|
|
44
58
|
|
|
@@ -1,9 +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/toast/useToastState.ts
|
|
14
|
+
|
|
1
15
|
/**
|
|
2
16
|
* Toast state management for SolidJS
|
|
3
17
|
* Based on @react-stately/toast useToastState
|
|
4
18
|
*/
|
|
5
19
|
|
|
6
|
-
import {
|
|
20
|
+
import { flush, onCleanup } from "solid-js";
|
|
21
|
+
import type { Accessor } from "solid-js";
|
|
22
|
+
import { createInternalSignal, readNow } from "../utils";
|
|
7
23
|
|
|
8
24
|
export interface ToastOptions {
|
|
9
25
|
/** A timeout to automatically close the toast, in milliseconds. */
|
|
@@ -326,11 +342,20 @@ export class ToastQueue<T> {
|
|
|
326
342
|
* Use this hook to subscribe to toast changes in your component.
|
|
327
343
|
*/
|
|
328
344
|
export function createToastState<T>(props: ToastStateProps<T>): ToastState<T> {
|
|
329
|
-
const [visibleToasts, setVisibleToasts] =
|
|
345
|
+
const [visibleToasts, setVisibleToasts] = createInternalSignal<QueuedToast<T>[]>([]);
|
|
330
346
|
|
|
331
347
|
// Subscribe to queue changes
|
|
332
348
|
const unsubscribe = props.queue.subscribe((toasts) => {
|
|
333
349
|
setVisibleToasts(toasts);
|
|
350
|
+
// Queue updates are typically called from event handlers or tests, not
|
|
351
|
+
// from effect apply. Flush so ToastRegion's Show sees the new length in
|
|
352
|
+
// the same turn (Solid 2 otherwise keeps the overlay unmounted until a
|
|
353
|
+
// later microtask).
|
|
354
|
+
try {
|
|
355
|
+
flush();
|
|
356
|
+
} catch {
|
|
357
|
+
// Ignore: flush is forbidden inside createEffect apply / createTrackedEffect.
|
|
358
|
+
}
|
|
334
359
|
});
|
|
335
360
|
|
|
336
361
|
onCleanup(() => {
|
|
@@ -338,7 +363,7 @@ export function createToastState<T>(props: ToastStateProps<T>): ToastState<T> {
|
|
|
338
363
|
});
|
|
339
364
|
|
|
340
365
|
return {
|
|
341
|
-
visibleToasts,
|
|
366
|
+
visibleToasts: () => readNow(visibleToasts),
|
|
342
367
|
add: (content, options) => props.queue.add(content, options),
|
|
343
368
|
close: (key) => props.queue.close(key),
|
|
344
369
|
remove: (key) => props.queue.remove(key),
|
|
@@ -1,3 +1,17 @@
|
|
|
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
|
+
// Ported to SolidJS for Proyecto Viviana; based on packages/react-stately/src/toggle/useToggleGroupState.ts
|
|
14
|
+
|
|
1
15
|
/**
|
|
2
16
|
* Toggle group state for Solid Stately
|
|
3
17
|
*
|
|
@@ -7,9 +21,8 @@
|
|
|
7
21
|
* This is a port of @react-stately/toggle's useToggleGroupState.
|
|
8
22
|
*/
|
|
9
23
|
|
|
10
|
-
import { createSignal } from "solid-js";
|
|
11
24
|
import type { Key } from "../collections";
|
|
12
|
-
import { type MaybeAccessor
|
|
25
|
+
import { access, createInternalSignal, readNow, type MaybeAccessor } from "../utils";
|
|
13
26
|
|
|
14
27
|
export interface ToggleGroupProps {
|
|
15
28
|
/**
|
|
@@ -57,7 +70,7 @@ export function createToggleGroupState(
|
|
|
57
70
|
const getProps = () => access(props);
|
|
58
71
|
|
|
59
72
|
const initialProps = getProps();
|
|
60
|
-
const [internalSelectedKeys, setInternalSelectedKeys] =
|
|
73
|
+
const [internalSelectedKeys, setInternalSelectedKeys] = createInternalSignal<Set<Key>>(
|
|
61
74
|
toKeySet(initialProps.defaultSelectedKeys),
|
|
62
75
|
);
|
|
63
76
|
|
|
@@ -77,7 +90,9 @@ export function createToggleGroupState(
|
|
|
77
90
|
const props = getProps();
|
|
78
91
|
const mode = props.selectionMode ?? "single";
|
|
79
92
|
const disallowEmptySelection = props.disallowEmptySelection ?? false;
|
|
80
|
-
const currentKeys =
|
|
93
|
+
const currentKeys = isControlled()
|
|
94
|
+
? toKeySet(props.selectedKeys)
|
|
95
|
+
: readNow(internalSelectedKeys);
|
|
81
96
|
|
|
82
97
|
let nextKeys: Set<Key>;
|
|
83
98
|
if (mode === "multiple") {
|
|
@@ -108,7 +123,7 @@ export function createToggleGroupState(
|
|
|
108
123
|
return getProps().isDisabled ?? false;
|
|
109
124
|
},
|
|
110
125
|
get selectedKeys() {
|
|
111
|
-
return new Set(selectedKeys());
|
|
126
|
+
return new Set(isControlled() ? selectedKeys() : readNow(internalSelectedKeys));
|
|
112
127
|
},
|
|
113
128
|
toggleKey,
|
|
114
129
|
setSelected,
|
|
@@ -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/toggle/useToggleState.ts
|
|
14
|
+
|
|
1
15
|
/**
|
|
2
16
|
* Toggle state for Solid Stately
|
|
3
17
|
*
|
|
@@ -6,8 +20,8 @@
|
|
|
6
20
|
* This is a 1:1 port of @react-stately/toggle's useToggleState.
|
|
7
21
|
*/
|
|
8
22
|
|
|
9
|
-
import {
|
|
10
|
-
import { type MaybeAccessor
|
|
23
|
+
import { Accessor } from "solid-js";
|
|
24
|
+
import { access, createInternalSignal, readNow, type MaybeAccessor } from "../utils";
|
|
11
25
|
|
|
12
26
|
export interface ToggleStateOptions {
|
|
13
27
|
/** Whether the element should be selected (controlled). */
|
|
@@ -40,7 +54,7 @@ export function createToggleState(props: MaybeAccessor<ToggleStateOptions> = {})
|
|
|
40
54
|
const initialProps = getProps();
|
|
41
55
|
const initialSelected = initialProps.isSelected ?? initialProps.defaultSelected ?? false;
|
|
42
56
|
|
|
43
|
-
const [internalSelected, setInternalSelected] =
|
|
57
|
+
const [internalSelected, setInternalSelected] = createInternalSignal(initialSelected);
|
|
44
58
|
|
|
45
59
|
const isControlled = () => getProps().isSelected !== undefined;
|
|
46
60
|
|
|
@@ -68,7 +82,8 @@ export function createToggleState(props: MaybeAccessor<ToggleStateOptions> = {})
|
|
|
68
82
|
return;
|
|
69
83
|
}
|
|
70
84
|
|
|
71
|
-
|
|
85
|
+
const selected = isControlled() ? (p.isSelected ?? false) : readNow(internalSelected);
|
|
86
|
+
setSelected(!selected);
|
|
72
87
|
}
|
|
73
88
|
|
|
74
89
|
return {
|