@proyecto-viviana/solid-stately 0.1.5 → 0.2.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/{src → dist}/autocomplete/createAutocompleteState.d.ts +0 -1
- package/{src → dist}/autocomplete/index.d.ts +0 -1
- package/{src → dist}/calendar/createCalendarState.d.ts +0 -1
- package/{src → dist}/calendar/createDateFieldState.d.ts +0 -1
- package/{src → dist}/calendar/createRangeCalendarState.d.ts +0 -1
- package/{src → dist}/calendar/createTimeFieldState.d.ts +0 -1
- package/{src → dist}/calendar/index.d.ts +0 -1
- package/{src → dist}/checkbox/createCheckboxGroupState.d.ts +0 -1
- package/{src → dist}/checkbox/index.d.ts +0 -1
- package/{src → dist}/collections/ListCollection.d.ts +0 -1
- package/{src → dist}/collections/createListState.d.ts +0 -1
- package/{src → dist}/collections/createMenuState.d.ts +0 -1
- package/{src → dist}/collections/createSelectionState.d.ts +0 -1
- package/{src → dist}/collections/index.d.ts +0 -1
- package/{src → dist}/collections/types.d.ts +0 -1
- package/{src → dist}/color/Color.d.ts +0 -1
- package/{src → dist}/color/createColorAreaState.d.ts +0 -1
- package/{src → dist}/color/createColorFieldState.d.ts +0 -1
- package/{src → dist}/color/createColorSliderState.d.ts +0 -1
- package/{src → dist}/color/createColorWheelState.d.ts +0 -1
- package/{src → dist}/color/index.d.ts +0 -1
- package/{src → dist}/color/types.d.ts +0 -1
- package/{src → dist}/combobox/createComboBoxState.d.ts +0 -1
- package/{src → dist}/combobox/index.d.ts +0 -1
- package/{src → dist}/disclosure/createDisclosureState.d.ts +0 -1
- package/{src → dist}/disclosure/index.d.ts +0 -1
- package/{src → dist}/dnd/createDragState.d.ts +0 -1
- package/{src → dist}/dnd/createDraggableCollectionState.d.ts +0 -1
- package/{src → dist}/dnd/createDropState.d.ts +0 -1
- package/{src → dist}/dnd/createDroppableCollectionState.d.ts +0 -1
- package/{src → dist}/dnd/index.d.ts +0 -1
- package/{src → dist}/dnd/types.d.ts +0 -1
- package/{src → dist}/form/createFormValidationState.d.ts +0 -1
- package/{src → dist}/form/index.d.ts +0 -1
- package/{src → dist}/grid/createGridState.d.ts +0 -1
- package/{src → dist}/grid/index.d.ts +0 -1
- package/{src → dist}/grid/types.d.ts +0 -1
- package/dist/index.d.ts +25 -3363
- package/dist/index.js +2 -2
- package/dist/index.js.map +7 -1
- package/{src → dist}/numberfield/createNumberFieldState.d.ts +0 -1
- package/{src → dist}/numberfield/index.d.ts +0 -1
- package/{src → dist}/overlays/createOverlayTriggerState.d.ts +0 -1
- package/{src → dist}/overlays/index.d.ts +0 -1
- package/{src → dist}/radio/createRadioGroupState.d.ts +0 -1
- package/{src → dist}/radio/index.d.ts +0 -1
- package/{src → dist}/searchfield/createSearchFieldState.d.ts +0 -1
- package/{src → dist}/searchfield/index.d.ts +0 -1
- package/{src → dist}/select/createSelectState.d.ts +0 -1
- package/{src → dist}/select/index.d.ts +0 -1
- package/{src → dist}/slider/createSliderState.d.ts +0 -1
- package/{src → dist}/slider/index.d.ts +0 -1
- package/{src → dist}/ssr/index.d.ts +0 -1
- package/{src → dist}/table/TableCollection.d.ts +0 -1
- package/{src → dist}/table/createTableState.d.ts +0 -1
- package/{src → dist}/table/index.d.ts +0 -1
- package/{src → dist}/table/types.d.ts +0 -1
- package/{src → dist}/tabs/createTabListState.d.ts +0 -1
- package/{src → dist}/tabs/index.d.ts +0 -1
- package/{src → dist}/textfield/createTextFieldState.d.ts +0 -1
- package/{src → dist}/textfield/index.d.ts +0 -1
- package/{src → dist}/toast/createToastState.d.ts +0 -1
- package/{src → dist}/toast/index.d.ts +0 -1
- package/{src → dist}/toggle/createToggleState.d.ts +0 -1
- package/{src → dist}/toggle/index.d.ts +0 -1
- package/{src → dist}/tooltip/createTooltipTriggerState.d.ts +0 -1
- package/{src → dist}/tooltip/index.d.ts +0 -1
- package/{src → dist}/tree/TreeCollection.d.ts +0 -1
- package/{src → dist}/tree/createTreeState.d.ts +0 -1
- package/{src → dist}/tree/index.d.ts +0 -1
- package/{src → dist}/tree/types.d.ts +0 -1
- package/{src → dist}/utils/reactivity.d.ts +0 -1
- package/package.json +5 -7
- package/src/autocomplete/createAutocompleteState.d.ts.map +0 -1
- package/src/autocomplete/createAutocompleteState.ts +0 -90
- package/src/autocomplete/index.d.ts.map +0 -1
- package/src/autocomplete/index.ts +0 -5
- package/src/calendar/createCalendarState.d.ts.map +0 -1
- package/src/calendar/createCalendarState.ts +0 -461
- package/src/calendar/createDateFieldState.d.ts.map +0 -1
- package/src/calendar/createDateFieldState.ts +0 -562
- package/src/calendar/createRangeCalendarState.d.ts.map +0 -1
- package/src/calendar/createRangeCalendarState.ts +0 -535
- package/src/calendar/createTimeFieldState.d.ts.map +0 -1
- package/src/calendar/createTimeFieldState.ts +0 -483
- package/src/calendar/index.d.ts.map +0 -1
- package/src/calendar/index.ts +0 -81
- package/src/checkbox/createCheckboxGroupState.d.ts.map +0 -1
- package/src/checkbox/createCheckboxGroupState.ts +0 -193
- package/src/checkbox/index.d.ts.map +0 -1
- package/src/checkbox/index.ts +0 -5
- package/src/collections/ListCollection.d.ts.map +0 -1
- package/src/collections/ListCollection.ts +0 -146
- package/src/collections/createListState.d.ts.map +0 -1
- package/src/collections/createListState.ts +0 -264
- package/src/collections/createMenuState.d.ts.map +0 -1
- package/src/collections/createMenuState.ts +0 -106
- package/src/collections/createSelectionState.d.ts.map +0 -1
- package/src/collections/createSelectionState.ts +0 -336
- package/src/collections/index.d.ts.map +0 -1
- package/src/collections/index.ts +0 -46
- package/src/collections/types.d.ts.map +0 -1
- package/src/collections/types.ts +0 -169
- package/src/color/Color.d.ts.map +0 -1
- package/src/color/Color.ts +0 -951
- package/src/color/createColorAreaState.d.ts.map +0 -1
- package/src/color/createColorAreaState.ts +0 -293
- package/src/color/createColorFieldState.d.ts.map +0 -1
- package/src/color/createColorFieldState.ts +0 -292
- package/src/color/createColorSliderState.d.ts.map +0 -1
- package/src/color/createColorSliderState.ts +0 -241
- package/src/color/createColorWheelState.d.ts.map +0 -1
- package/src/color/createColorWheelState.ts +0 -211
- package/src/color/index.d.ts.map +0 -1
- package/src/color/index.ts +0 -47
- package/src/color/types.d.ts.map +0 -1
- package/src/color/types.ts +0 -127
- package/src/combobox/createComboBoxState.d.ts.map +0 -1
- package/src/combobox/createComboBoxState.ts +0 -703
- package/src/combobox/index.d.ts.map +0 -1
- package/src/combobox/index.ts +0 -13
- package/src/disclosure/createDisclosureState.d.ts.map +0 -1
- package/src/disclosure/createDisclosureState.ts +0 -193
- package/src/disclosure/index.d.ts.map +0 -1
- package/src/disclosure/index.ts +0 -9
- package/src/dnd/createDragState.d.ts.map +0 -1
- package/src/dnd/createDragState.ts +0 -153
- package/src/dnd/createDraggableCollectionState.d.ts.map +0 -1
- package/src/dnd/createDraggableCollectionState.ts +0 -165
- package/src/dnd/createDropState.d.ts.map +0 -1
- package/src/dnd/createDropState.ts +0 -212
- package/src/dnd/createDroppableCollectionState.d.ts.map +0 -1
- package/src/dnd/createDroppableCollectionState.ts +0 -357
- package/src/dnd/index.d.ts.map +0 -1
- package/src/dnd/index.ts +0 -76
- package/src/dnd/types.d.ts.map +0 -1
- package/src/dnd/types.ts +0 -317
- package/src/form/createFormValidationState.d.ts.map +0 -1
- package/src/form/createFormValidationState.ts +0 -389
- package/src/form/index.d.ts.map +0 -1
- package/src/form/index.ts +0 -15
- package/src/grid/createGridState.d.ts.map +0 -1
- package/src/grid/createGridState.ts +0 -327
- package/src/grid/index.d.ts.map +0 -1
- package/src/grid/index.ts +0 -13
- package/src/grid/types.d.ts.map +0 -1
- package/src/grid/types.ts +0 -179
- package/src/index.d.ts +0 -26
- package/src/index.d.ts.map +0 -1
- package/src/index.ts +0 -383
- package/src/numberfield/createNumberFieldState.d.ts.map +0 -1
- package/src/numberfield/createNumberFieldState.ts +0 -383
- package/src/numberfield/index.d.ts.map +0 -1
- package/src/numberfield/index.ts +0 -5
- package/src/overlays/createOverlayTriggerState.d.ts.map +0 -1
- package/src/overlays/createOverlayTriggerState.ts +0 -67
- package/src/overlays/index.d.ts.map +0 -1
- package/src/overlays/index.ts +0 -5
- package/src/radio/createRadioGroupState.d.ts.map +0 -1
- package/src/radio/createRadioGroupState.ts +0 -201
- package/src/radio/index.d.ts.map +0 -1
- package/src/radio/index.ts +0 -6
- package/src/searchfield/createSearchFieldState.d.ts.map +0 -1
- package/src/searchfield/createSearchFieldState.ts +0 -62
- package/src/searchfield/index.d.ts.map +0 -1
- package/src/searchfield/index.ts +0 -5
- package/src/select/createSelectState.d.ts.map +0 -1
- package/src/select/createSelectState.ts +0 -181
- package/src/select/index.d.ts.map +0 -1
- package/src/select/index.ts +0 -5
- package/src/slider/createSliderState.d.ts.map +0 -1
- package/src/slider/createSliderState.ts +0 -211
- package/src/slider/index.d.ts.map +0 -1
- package/src/slider/index.ts +0 -6
- package/src/ssr/index.d.ts.map +0 -1
- package/src/ssr/index.ts +0 -41
- package/src/table/TableCollection.d.ts.map +0 -1
- package/src/table/TableCollection.ts +0 -388
- package/src/table/createTableState.d.ts.map +0 -1
- package/src/table/createTableState.ts +0 -127
- package/src/table/index.d.ts.map +0 -1
- package/src/table/index.ts +0 -18
- package/src/table/types.d.ts.map +0 -1
- package/src/table/types.ts +0 -150
- package/src/tabs/createTabListState.d.ts.map +0 -1
- package/src/tabs/createTabListState.ts +0 -240
- package/src/tabs/index.d.ts.map +0 -1
- package/src/tabs/index.ts +0 -7
- package/src/textfield/createTextFieldState.d.ts.map +0 -1
- package/src/textfield/createTextFieldState.ts +0 -75
- package/src/textfield/index.d.ts.map +0 -1
- package/src/textfield/index.ts +0 -5
- package/src/toast/createToastState.d.ts.map +0 -1
- package/src/toast/createToastState.ts +0 -316
- package/src/toast/index.d.ts.map +0 -1
- package/src/toast/index.ts +0 -11
- package/src/toggle/createToggleState.d.ts.map +0 -1
- package/src/toggle/createToggleState.ts +0 -94
- package/src/toggle/index.d.ts.map +0 -1
- package/src/toggle/index.ts +0 -5
- package/src/tooltip/createTooltipTriggerState.d.ts.map +0 -1
- package/src/tooltip/createTooltipTriggerState.ts +0 -183
- package/src/tooltip/index.d.ts.map +0 -1
- package/src/tooltip/index.ts +0 -6
- package/src/tree/TreeCollection.d.ts.map +0 -1
- package/src/tree/TreeCollection.ts +0 -175
- package/src/tree/createTreeState.d.ts.map +0 -1
- package/src/tree/createTreeState.ts +0 -392
- package/src/tree/index.d.ts.map +0 -1
- package/src/tree/index.ts +0 -13
- package/src/tree/types.d.ts.map +0 -1
- package/src/tree/types.ts +0 -174
- package/src/utils/index.d.ts +0 -2
- package/src/utils/index.d.ts.map +0 -1
- package/src/utils/reactivity.d.ts.map +0 -1
- package/src/utils/reactivity.ts +0 -36
- /package/{src/utils/index.ts → dist/utils/index.d.ts} +0 -0
package/src/combobox/index.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ComboBox state management for Solid Stately.
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
export {
|
|
6
|
-
createComboBoxState,
|
|
7
|
-
defaultContainsFilter,
|
|
8
|
-
type ComboBoxState,
|
|
9
|
-
type ComboBoxStateProps,
|
|
10
|
-
type FilterFn,
|
|
11
|
-
type MenuTriggerAction,
|
|
12
|
-
type FocusStrategy,
|
|
13
|
-
} from './createComboBoxState';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createDisclosureState.d.ts","sourceRoot":"","sources":["createDisclosureState.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAA8B,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,EAAU,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAMtD,MAAM,WAAW,oBAAoB;IACnC,uDAAuD;IACvD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oEAAoE;IACpE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;CAClD;AAED,MAAM,WAAW,eAAe;IAC9B,oDAAoD;IACpD,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IACvC,+CAA+C;IAC/C,WAAW,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;IACvC,6BAA6B;IAC7B,MAAM,IAAI,IAAI,CAAC;IACf,+BAA+B;IAC/B,QAAQ,IAAI,IAAI,CAAC;IACjB,2CAA2C;IAC3C,MAAM,IAAI,IAAI,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,GAAE,aAAa,CAAC,oBAAoB,CAAM,GAC9C,eAAe,CAiCjB;AAMD,MAAM,MAAM,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC;AAElC,MAAM,WAAW,yBAAyB;IACxC,+DAA+D;IAC/D,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,sCAAsC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC7B,6DAA6D;IAC7D,mBAAmB,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IACpC,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;CAC7C;AAED,MAAM,WAAW,oBAAoB;IACnC,+DAA+D;IAC/D,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC;IACzC,sCAAsC;IACtC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,iDAAiD;IACjD,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1C,yDAAyD;IACzD,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC;IAC1B,yCAAyC;IACzC,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACtC,2CAA2C;IAC3C,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC;CAC/B;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,GAAE,aAAa,CAAC,yBAAyB,CAAM,GACnD,oBAAoB,CA6EtB"}
|
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Disclosure state management for SolidJS
|
|
3
|
-
* Based on @react-stately/disclosure useDisclosureState and useDisclosureGroupState
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import { createSignal, createEffect, type Accessor } from 'solid-js';
|
|
7
|
-
import { access, type MaybeAccessor } from '../utils';
|
|
8
|
-
|
|
9
|
-
// ============================================
|
|
10
|
-
// SINGLE DISCLOSURE STATE
|
|
11
|
-
// ============================================
|
|
12
|
-
|
|
13
|
-
export interface DisclosureStateProps {
|
|
14
|
-
/** Whether the disclosure is expanded (controlled). */
|
|
15
|
-
isExpanded?: boolean;
|
|
16
|
-
/** Whether the disclosure is expanded by default (uncontrolled). */
|
|
17
|
-
defaultExpanded?: boolean;
|
|
18
|
-
/** Handler that is called when the disclosure expanded state changes. */
|
|
19
|
-
onExpandedChange?: (isExpanded: boolean) => void;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export interface DisclosureState {
|
|
23
|
-
/** Whether the disclosure is currently expanded. */
|
|
24
|
-
readonly isExpanded: Accessor<boolean>;
|
|
25
|
-
/** Sets whether the disclosure is expanded. */
|
|
26
|
-
setExpanded(isExpanded: boolean): void;
|
|
27
|
-
/** Expand the disclosure. */
|
|
28
|
-
expand(): void;
|
|
29
|
-
/** Collapse the disclosure. */
|
|
30
|
-
collapse(): void;
|
|
31
|
-
/** Toggles the disclosure's visibility. */
|
|
32
|
-
toggle(): void;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Manages state for a disclosure widget. Tracks whether the disclosure is expanded,
|
|
37
|
-
* and provides methods to toggle this state.
|
|
38
|
-
*/
|
|
39
|
-
export function createDisclosureState(
|
|
40
|
-
props: MaybeAccessor<DisclosureStateProps> = {}
|
|
41
|
-
): DisclosureState {
|
|
42
|
-
const propsAccessor = () => access(props);
|
|
43
|
-
|
|
44
|
-
// Internal state for uncontrolled mode
|
|
45
|
-
const [internalExpanded, setInternalExpanded] = createSignal(
|
|
46
|
-
propsAccessor().defaultExpanded ?? false
|
|
47
|
-
);
|
|
48
|
-
|
|
49
|
-
// Determine if expanded (controlled vs uncontrolled)
|
|
50
|
-
const isExpanded: Accessor<boolean> = () => {
|
|
51
|
-
const p = propsAccessor();
|
|
52
|
-
return p.isExpanded !== undefined ? p.isExpanded : internalExpanded();
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
const setExpanded = (expanded: boolean) => {
|
|
56
|
-
const p = propsAccessor();
|
|
57
|
-
if (p.isExpanded === undefined) {
|
|
58
|
-
setInternalExpanded(expanded);
|
|
59
|
-
}
|
|
60
|
-
p.onExpandedChange?.(expanded);
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
const expand = () => setExpanded(true);
|
|
64
|
-
const collapse = () => setExpanded(false);
|
|
65
|
-
const toggle = () => setExpanded(!isExpanded());
|
|
66
|
-
|
|
67
|
-
return {
|
|
68
|
-
isExpanded,
|
|
69
|
-
setExpanded,
|
|
70
|
-
expand,
|
|
71
|
-
collapse,
|
|
72
|
-
toggle,
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
// ============================================
|
|
77
|
-
// DISCLOSURE GROUP STATE (Accordion)
|
|
78
|
-
// ============================================
|
|
79
|
-
|
|
80
|
-
export type Key = string | number;
|
|
81
|
-
|
|
82
|
-
export interface DisclosureGroupStateProps {
|
|
83
|
-
/** Whether multiple items can be expanded at the same time. */
|
|
84
|
-
allowsMultipleExpanded?: boolean;
|
|
85
|
-
/** Whether all items are disabled. */
|
|
86
|
-
isDisabled?: boolean;
|
|
87
|
-
/** The currently expanded keys in the group (controlled). */
|
|
88
|
-
expandedKeys?: Iterable<Key>;
|
|
89
|
-
/** The initial expanded keys in the group (uncontrolled). */
|
|
90
|
-
defaultExpandedKeys?: Iterable<Key>;
|
|
91
|
-
/** Handler that is called when items are expanded or collapsed. */
|
|
92
|
-
onExpandedChange?: (keys: Set<Key>) => void;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
export interface DisclosureGroupState {
|
|
96
|
-
/** Whether multiple items can be expanded at the same time. */
|
|
97
|
-
readonly allowsMultipleExpanded: boolean;
|
|
98
|
-
/** Whether all items are disabled. */
|
|
99
|
-
readonly isDisabled: boolean;
|
|
100
|
-
/** A set of keys for items that are expanded. */
|
|
101
|
-
readonly expandedKeys: Accessor<Set<Key>>;
|
|
102
|
-
/** Toggles the expanded state for an item by its key. */
|
|
103
|
-
toggleKey(key: Key): void;
|
|
104
|
-
/** Replaces the set of expanded keys. */
|
|
105
|
-
setExpandedKeys(keys: Set<Key>): void;
|
|
106
|
-
/** Check if a specific key is expanded. */
|
|
107
|
-
isExpanded(key: Key): boolean;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* Manages state for a group of disclosures, e.g. an accordion.
|
|
112
|
-
* It supports both single and multiple expanded items.
|
|
113
|
-
*/
|
|
114
|
-
export function createDisclosureGroupState(
|
|
115
|
-
props: MaybeAccessor<DisclosureGroupStateProps> = {}
|
|
116
|
-
): DisclosureGroupState {
|
|
117
|
-
const propsAccessor = () => access(props);
|
|
118
|
-
|
|
119
|
-
// Internal state for uncontrolled mode
|
|
120
|
-
const [internalKeys, setInternalKeys] = createSignal<Set<Key>>(
|
|
121
|
-
new Set(propsAccessor().defaultExpandedKeys ?? [])
|
|
122
|
-
);
|
|
123
|
-
|
|
124
|
-
// Determine expanded keys (controlled vs uncontrolled)
|
|
125
|
-
const expandedKeys: Accessor<Set<Key>> = () => {
|
|
126
|
-
const p = propsAccessor();
|
|
127
|
-
return p.expandedKeys !== undefined ? new Set(p.expandedKeys) : internalKeys();
|
|
128
|
-
};
|
|
129
|
-
|
|
130
|
-
const setExpandedKeys = (keys: Set<Key>) => {
|
|
131
|
-
const p = propsAccessor();
|
|
132
|
-
if (p.expandedKeys === undefined) {
|
|
133
|
-
setInternalKeys(keys);
|
|
134
|
-
}
|
|
135
|
-
p.onExpandedChange?.(keys);
|
|
136
|
-
};
|
|
137
|
-
|
|
138
|
-
// Ensure only one item is expanded if allowsMultipleExpanded is false
|
|
139
|
-
// Note: We use untrack to prevent infinite loops when calling setExpandedKeys
|
|
140
|
-
createEffect(() => {
|
|
141
|
-
const p = propsAccessor();
|
|
142
|
-
const allowsMultiple = p.allowsMultipleExpanded ?? false;
|
|
143
|
-
const keys = expandedKeys();
|
|
144
|
-
|
|
145
|
-
if (!allowsMultiple && keys.size > 1) {
|
|
146
|
-
// Use queueMicrotask to defer the update and avoid infinite effect loop
|
|
147
|
-
const firstKey = keys.values().next().value;
|
|
148
|
-
if (firstKey != null) {
|
|
149
|
-
queueMicrotask(() => {
|
|
150
|
-
setExpandedKeys(new Set([firstKey]));
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
});
|
|
155
|
-
|
|
156
|
-
const toggleKey = (key: Key) => {
|
|
157
|
-
const p = propsAccessor();
|
|
158
|
-
const allowsMultiple = p.allowsMultipleExpanded ?? false;
|
|
159
|
-
const currentKeys = expandedKeys();
|
|
160
|
-
|
|
161
|
-
let newKeys: Set<Key>;
|
|
162
|
-
if (allowsMultiple) {
|
|
163
|
-
newKeys = new Set(currentKeys);
|
|
164
|
-
if (newKeys.has(key)) {
|
|
165
|
-
newKeys.delete(key);
|
|
166
|
-
} else {
|
|
167
|
-
newKeys.add(key);
|
|
168
|
-
}
|
|
169
|
-
} else {
|
|
170
|
-
// Single selection: toggle off if already expanded, otherwise select only this one
|
|
171
|
-
newKeys = new Set(currentKeys.has(key) ? [] : [key]);
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
setExpandedKeys(newKeys);
|
|
175
|
-
};
|
|
176
|
-
|
|
177
|
-
const isExpanded = (key: Key): boolean => {
|
|
178
|
-
return expandedKeys().has(key);
|
|
179
|
-
};
|
|
180
|
-
|
|
181
|
-
return {
|
|
182
|
-
get allowsMultipleExpanded() {
|
|
183
|
-
return propsAccessor().allowsMultipleExpanded ?? false;
|
|
184
|
-
},
|
|
185
|
-
get isDisabled() {
|
|
186
|
-
return propsAccessor().isDisabled ?? false;
|
|
187
|
-
},
|
|
188
|
-
expandedKeys,
|
|
189
|
-
toggleKey,
|
|
190
|
-
setExpandedKeys,
|
|
191
|
-
isExpanded,
|
|
192
|
-
};
|
|
193
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,KAAK,GAAG,GACT,MAAM,yBAAyB,CAAC"}
|
package/src/disclosure/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createDragState.d.ts","sourceRoot":"","sources":["createDragState.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAA4B,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,aAAa,EACb,YAAY,EACZ,aAAa,EACb,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,gBAAgB;IAC/B,uDAAuD;IACvD,QAAQ,EAAE,MAAM,QAAQ,EAAE,CAAC;IAC3B,yDAAyD;IACzD,wBAAwB,CAAC,EAAE,MAAM,aAAa,EAAE,CAAC;IACjD,+DAA+D;IAC/D,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1C,qDAAqD;IACrD,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IACxC,2DAA2D;IAC3D,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IACtC,8CAA8C;IAC9C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qCAAqC;IACrC,OAAO,CAAC,EAAE;QAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAA;KAAE,CAAC;CACnD;AAED,MAAM,WAAW,SAAS;IACxB,qDAAqD;IACrD,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,gCAAgC;IAChC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,8BAA8B;IAC9B,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,4BAA4B;IAC5B,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,4BAA4B;IAC5B,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IAClE,+BAA+B;IAC/B,UAAU,IAAI,IAAI,CAAC;IACnB,mCAAmC;IACnC,QAAQ,IAAI,QAAQ,EAAE,CAAC;IACvB,mCAAmC;IACnC,wBAAwB,IAAI,aAAa,EAAE,CAAC;IAC5C,sCAAsC;IACtC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,wBAAwB;IACxB,QAAQ,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAA;KAAE,GAAG,SAAS,CAAC;CACvE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAChC,SAAS,CAsFX"}
|
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Drag state management for solid-stately.
|
|
3
|
-
*
|
|
4
|
-
* Provides reactive state for drag operations.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import { createSignal, createMemo, type Accessor } from 'solid-js';
|
|
8
|
-
import type {
|
|
9
|
-
DragItem,
|
|
10
|
-
DragStartEvent,
|
|
11
|
-
DragMoveEvent,
|
|
12
|
-
DragEndEvent,
|
|
13
|
-
DropOperation,
|
|
14
|
-
DragPreviewRenderer,
|
|
15
|
-
} from './types';
|
|
16
|
-
|
|
17
|
-
export interface DragStateOptions {
|
|
18
|
-
/** A function that returns the items being dragged. */
|
|
19
|
-
getItems: () => DragItem[];
|
|
20
|
-
/** Function that returns the allowed drop operations. */
|
|
21
|
-
getAllowedDropOperations?: () => DropOperation[];
|
|
22
|
-
/** Handler that is called when a drag operation is started. */
|
|
23
|
-
onDragStart?: (e: DragStartEvent) => void;
|
|
24
|
-
/** Handler that is called when the drag is moved. */
|
|
25
|
-
onDragMove?: (e: DragMoveEvent) => void;
|
|
26
|
-
/** Handler that is called when the drag operation ends. */
|
|
27
|
-
onDragEnd?: (e: DragEndEvent) => void;
|
|
28
|
-
/** Whether the drag operation is disabled. */
|
|
29
|
-
isDisabled?: boolean;
|
|
30
|
-
/** Whether there is a separate drag button affordance. */
|
|
31
|
-
hasDragButton?: boolean;
|
|
32
|
-
/** Preview renderer function ref. */
|
|
33
|
-
preview?: { current: DragPreviewRenderer | null };
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export interface DragState {
|
|
37
|
-
/** Whether an element is currently being dragged. */
|
|
38
|
-
readonly isDragging: boolean;
|
|
39
|
-
/** Whether drag is disabled. */
|
|
40
|
-
readonly isDisabled: boolean;
|
|
41
|
-
/** Start a drag operation. */
|
|
42
|
-
startDrag(x: number, y: number): void;
|
|
43
|
-
/** Update drag position. */
|
|
44
|
-
moveDrag(x: number, y: number): void;
|
|
45
|
-
/** End a drag operation. */
|
|
46
|
-
endDrag(x: number, y: number, dropOperation: DropOperation): void;
|
|
47
|
-
/** Cancel a drag operation. */
|
|
48
|
-
cancelDrag(): void;
|
|
49
|
-
/** Get the items being dragged. */
|
|
50
|
-
getItems(): DragItem[];
|
|
51
|
-
/** Get allowed drop operations. */
|
|
52
|
-
getAllowedDropOperations(): DropOperation[];
|
|
53
|
-
/** Whether there is a drag button. */
|
|
54
|
-
readonly hasDragButton: boolean;
|
|
55
|
-
/** Preview renderer. */
|
|
56
|
-
readonly preview: { current: DragPreviewRenderer | null } | undefined;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Creates drag state for managing drag operations.
|
|
61
|
-
*
|
|
62
|
-
* @param props - Accessor returning drag state options
|
|
63
|
-
* @returns Drag state object
|
|
64
|
-
*/
|
|
65
|
-
export function createDragState(
|
|
66
|
-
props: Accessor<DragStateOptions>
|
|
67
|
-
): DragState {
|
|
68
|
-
const getProps = createMemo(() => props());
|
|
69
|
-
|
|
70
|
-
const [isDragging, setIsDragging] = createSignal(false);
|
|
71
|
-
|
|
72
|
-
const startDrag = (x: number, y: number) => {
|
|
73
|
-
const p = getProps();
|
|
74
|
-
if (p.isDisabled) return;
|
|
75
|
-
|
|
76
|
-
setIsDragging(true);
|
|
77
|
-
|
|
78
|
-
if (typeof p.onDragStart === 'function') {
|
|
79
|
-
p.onDragStart({
|
|
80
|
-
type: 'dragstart',
|
|
81
|
-
x,
|
|
82
|
-
y,
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
const moveDrag = (x: number, y: number) => {
|
|
88
|
-
const p = getProps();
|
|
89
|
-
if (!isDragging() || p.isDisabled) return;
|
|
90
|
-
|
|
91
|
-
if (typeof p.onDragMove === 'function') {
|
|
92
|
-
p.onDragMove({
|
|
93
|
-
type: 'dragmove',
|
|
94
|
-
x,
|
|
95
|
-
y,
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
const endDrag = (x: number, y: number, dropOperation: DropOperation) => {
|
|
101
|
-
const p = getProps();
|
|
102
|
-
if (!isDragging()) return;
|
|
103
|
-
|
|
104
|
-
setIsDragging(false);
|
|
105
|
-
|
|
106
|
-
if (typeof p.onDragEnd === 'function') {
|
|
107
|
-
p.onDragEnd({
|
|
108
|
-
type: 'dragend',
|
|
109
|
-
x,
|
|
110
|
-
y,
|
|
111
|
-
dropOperation,
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
};
|
|
115
|
-
|
|
116
|
-
const cancelDrag = () => {
|
|
117
|
-
endDrag(0, 0, 'cancel');
|
|
118
|
-
};
|
|
119
|
-
|
|
120
|
-
const getItems = () => {
|
|
121
|
-
const p = getProps();
|
|
122
|
-
return p.getItems();
|
|
123
|
-
};
|
|
124
|
-
|
|
125
|
-
const getAllowedDropOperations = (): DropOperation[] => {
|
|
126
|
-
const p = getProps();
|
|
127
|
-
if (typeof p.getAllowedDropOperations === 'function') {
|
|
128
|
-
return p.getAllowedDropOperations();
|
|
129
|
-
}
|
|
130
|
-
return ['move', 'copy', 'link'];
|
|
131
|
-
};
|
|
132
|
-
|
|
133
|
-
return {
|
|
134
|
-
get isDragging() {
|
|
135
|
-
return isDragging();
|
|
136
|
-
},
|
|
137
|
-
get isDisabled() {
|
|
138
|
-
return getProps().isDisabled ?? false;
|
|
139
|
-
},
|
|
140
|
-
get hasDragButton() {
|
|
141
|
-
return getProps().hasDragButton ?? false;
|
|
142
|
-
},
|
|
143
|
-
get preview() {
|
|
144
|
-
return getProps().preview;
|
|
145
|
-
},
|
|
146
|
-
startDrag,
|
|
147
|
-
moveDrag,
|
|
148
|
-
endDrag,
|
|
149
|
-
cancelDrag,
|
|
150
|
-
getItems,
|
|
151
|
-
getAllowedDropOperations,
|
|
152
|
-
};
|
|
153
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createDraggableCollectionState.d.ts","sourceRoot":"","sources":["createDraggableCollectionState.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAA4B,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,KAAK,EACV,QAAQ,EACR,6BAA6B,EAC7B,4BAA4B,EAC5B,2BAA2B,EAC3B,aAAa,EACb,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,+BAA+B,CAAC,CAAC,GAAG,MAAM;IACzD,uDAAuD;IACvD,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,QAAQ,EAAE,CAAC;IACrD,yDAAyD;IACzD,wBAAwB,CAAC,EAAE,MAAM,aAAa,EAAE,CAAC;IACjD,+DAA+D;IAC/D,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,6BAA6B,KAAK,IAAI,CAAC;IACzD,qDAAqD;IACrD,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,4BAA4B,KAAK,IAAI,CAAC;IACvD,2DAA2D;IAC3D,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,2BAA2B,KAAK,IAAI,CAAC;IACrD,8CAA8C;IAC9C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qCAAqC;IACrC,OAAO,CAAC,EAAE;QAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAA;KAAE,CAAC;CACnD;AAED,MAAM,WAAW,wBAAwB;IACvC,iDAAiD;IACjD,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,2CAA2C;IAC3C,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAC5C,oCAAoC;IACpC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,kDAAkD;IAClD,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClE,4BAA4B;IAC5B,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,4BAA4B;IAC5B,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;IACvF,+BAA+B;IAC/B,UAAU,IAAI,IAAI,CAAC;IACnB,sDAAsD;IACtD,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,QAAQ,EAAE,CAAC;IACjD,mCAAmC;IACnC,wBAAwB,IAAI,aAAa,EAAE,CAAC;IAC5C,wBAAwB;IACxB,QAAQ,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAA;KAAE,GAAG,SAAS,CAAC;CACvE;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,CAAC,GAAG,MAAM,EACvD,KAAK,EAAE,QAAQ,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC,GAClD,wBAAwB,CAoG1B"}
|
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Draggable collection state management for solid-stately.
|
|
3
|
-
*
|
|
4
|
-
* Provides reactive state for dragging items from a collection.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import { createSignal, createMemo, type Accessor } from 'solid-js';
|
|
8
|
-
import type {
|
|
9
|
-
DragItem,
|
|
10
|
-
DraggableCollectionStartEvent,
|
|
11
|
-
DraggableCollectionMoveEvent,
|
|
12
|
-
DraggableCollectionEndEvent,
|
|
13
|
-
DropOperation,
|
|
14
|
-
DragPreviewRenderer,
|
|
15
|
-
} from './types';
|
|
16
|
-
|
|
17
|
-
export interface DraggableCollectionStateOptions<T = object> {
|
|
18
|
-
/** A function that returns the items being dragged. */
|
|
19
|
-
getItems: (keys: Set<string | number>) => DragItem[];
|
|
20
|
-
/** Function that returns the allowed drop operations. */
|
|
21
|
-
getAllowedDropOperations?: () => DropOperation[];
|
|
22
|
-
/** Handler that is called when a drag operation is started. */
|
|
23
|
-
onDragStart?: (e: DraggableCollectionStartEvent) => void;
|
|
24
|
-
/** Handler that is called when the drag is moved. */
|
|
25
|
-
onDragMove?: (e: DraggableCollectionMoveEvent) => void;
|
|
26
|
-
/** Handler that is called when the drag operation ends. */
|
|
27
|
-
onDragEnd?: (e: DraggableCollectionEndEvent) => void;
|
|
28
|
-
/** Whether the drag operation is disabled. */
|
|
29
|
-
isDisabled?: boolean;
|
|
30
|
-
/** Preview renderer function ref. */
|
|
31
|
-
preview?: { current: DragPreviewRenderer | null };
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export interface DraggableCollectionState {
|
|
35
|
-
/** Whether items are currently being dragged. */
|
|
36
|
-
readonly isDragging: boolean;
|
|
37
|
-
/** The keys of the items being dragged. */
|
|
38
|
-
readonly draggingKeys: Set<string | number>;
|
|
39
|
-
/** Whether dragging is disabled. */
|
|
40
|
-
readonly isDisabled: boolean;
|
|
41
|
-
/** Start a drag operation with the given keys. */
|
|
42
|
-
startDrag(keys: Set<string | number>, x: number, y: number): void;
|
|
43
|
-
/** Update drag position. */
|
|
44
|
-
moveDrag(x: number, y: number): void;
|
|
45
|
-
/** End a drag operation. */
|
|
46
|
-
endDrag(x: number, y: number, dropOperation: DropOperation, isInternal: boolean): void;
|
|
47
|
-
/** Cancel a drag operation. */
|
|
48
|
-
cancelDrag(): void;
|
|
49
|
-
/** Get the items being dragged for the given keys. */
|
|
50
|
-
getItems(keys: Set<string | number>): DragItem[];
|
|
51
|
-
/** Get allowed drop operations. */
|
|
52
|
-
getAllowedDropOperations(): DropOperation[];
|
|
53
|
-
/** Preview renderer. */
|
|
54
|
-
readonly preview: { current: DragPreviewRenderer | null } | undefined;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* Creates state for dragging items from a collection.
|
|
59
|
-
*
|
|
60
|
-
* @param props - Accessor returning draggable collection options
|
|
61
|
-
* @returns Draggable collection state object
|
|
62
|
-
*/
|
|
63
|
-
export function createDraggableCollectionState<T = object>(
|
|
64
|
-
props: Accessor<DraggableCollectionStateOptions<T>>
|
|
65
|
-
): DraggableCollectionState {
|
|
66
|
-
const getProps = createMemo(() => props());
|
|
67
|
-
|
|
68
|
-
const [isDragging, setIsDragging] = createSignal(false);
|
|
69
|
-
const [draggingKeys, setDraggingKeys] = createSignal<Set<string | number>>(
|
|
70
|
-
new Set()
|
|
71
|
-
);
|
|
72
|
-
|
|
73
|
-
const startDrag = (keys: Set<string | number>, x: number, y: number) => {
|
|
74
|
-
const p = getProps();
|
|
75
|
-
if (p.isDisabled) return;
|
|
76
|
-
|
|
77
|
-
setIsDragging(true);
|
|
78
|
-
setDraggingKeys(keys);
|
|
79
|
-
|
|
80
|
-
if (typeof p.onDragStart === 'function') {
|
|
81
|
-
p.onDragStart({
|
|
82
|
-
type: 'dragstart',
|
|
83
|
-
x,
|
|
84
|
-
y,
|
|
85
|
-
keys,
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
const moveDrag = (x: number, y: number) => {
|
|
91
|
-
const p = getProps();
|
|
92
|
-
if (!isDragging() || p.isDisabled) return;
|
|
93
|
-
|
|
94
|
-
if (typeof p.onDragMove === 'function') {
|
|
95
|
-
p.onDragMove({
|
|
96
|
-
type: 'dragmove',
|
|
97
|
-
x,
|
|
98
|
-
y,
|
|
99
|
-
keys: draggingKeys(),
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
|
|
104
|
-
const endDrag = (
|
|
105
|
-
x: number,
|
|
106
|
-
y: number,
|
|
107
|
-
dropOperation: DropOperation,
|
|
108
|
-
isInternal: boolean
|
|
109
|
-
) => {
|
|
110
|
-
const p = getProps();
|
|
111
|
-
const keys = draggingKeys();
|
|
112
|
-
|
|
113
|
-
setIsDragging(false);
|
|
114
|
-
setDraggingKeys(new Set<string | number>());
|
|
115
|
-
|
|
116
|
-
if (typeof p.onDragEnd === 'function') {
|
|
117
|
-
p.onDragEnd({
|
|
118
|
-
type: 'dragend',
|
|
119
|
-
x,
|
|
120
|
-
y,
|
|
121
|
-
dropOperation,
|
|
122
|
-
keys,
|
|
123
|
-
isInternal,
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
};
|
|
127
|
-
|
|
128
|
-
const cancelDrag = () => {
|
|
129
|
-
endDrag(0, 0, 'cancel', false);
|
|
130
|
-
};
|
|
131
|
-
|
|
132
|
-
const getItems = (keys: Set<string | number>) => {
|
|
133
|
-
const p = getProps();
|
|
134
|
-
return p.getItems(keys);
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
const getAllowedDropOperations = (): DropOperation[] => {
|
|
138
|
-
const p = getProps();
|
|
139
|
-
if (typeof p.getAllowedDropOperations === 'function') {
|
|
140
|
-
return p.getAllowedDropOperations();
|
|
141
|
-
}
|
|
142
|
-
return ['move', 'copy', 'link'];
|
|
143
|
-
};
|
|
144
|
-
|
|
145
|
-
return {
|
|
146
|
-
get isDragging() {
|
|
147
|
-
return isDragging();
|
|
148
|
-
},
|
|
149
|
-
get draggingKeys() {
|
|
150
|
-
return draggingKeys();
|
|
151
|
-
},
|
|
152
|
-
get isDisabled() {
|
|
153
|
-
return getProps().isDisabled ?? false;
|
|
154
|
-
},
|
|
155
|
-
get preview() {
|
|
156
|
-
return getProps().preview;
|
|
157
|
-
},
|
|
158
|
-
startDrag,
|
|
159
|
-
moveDrag,
|
|
160
|
-
endDrag,
|
|
161
|
-
cancelDrag,
|
|
162
|
-
getItems,
|
|
163
|
-
getAllowedDropOperations,
|
|
164
|
-
};
|
|
165
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createDropState.d.ts","sourceRoot":"","sources":["createDropState.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAA4B,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,SAAS,EACV,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,gBAAgB,CAAC,EAAE,CACjB,KAAK,EAAE,SAAS,EAChB,iBAAiB,EAAE,aAAa,EAAE,KAC/B,aAAa,CAAC;IACnB;;OAEG;IACH,wBAAwB,CAAC,EAAE,CACzB,KAAK,EAAE,SAAS,EAChB,iBAAiB,EAAE,aAAa,EAAE,EAClC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,KACN,aAAa,CAAC;IACnB,uEAAuE;IACvE,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1C,gFAAgF;IAChF,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IACxC,8EAA8E;IAC9E,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAChD,sEAAsE;IACtE,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IACxC,8EAA8E;IAC9E,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IAChC,0DAA0D;IAC1D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,qEAAqE;IACrE,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,2CAA2C;IAC3C,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,sCAAsC;IACtC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,6BAA6B;IAC7B,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,mCAAmC;IACnC,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,4BAA4B;IAC5B,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,gDAAgD;IAChD,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,oCAAoC;IACpC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IAClF,8CAA8C;IAC9C,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,GAAG,aAAa,CAAC;IACtF,mDAAmD;IACnD,wBAAwB,CACtB,KAAK,EAAE,SAAS,EAChB,iBAAiB,EAAE,aAAa,EAAE,EAClC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,GACR,aAAa,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAChC,SAAS,CA4HX"}
|