@atlaskit/pragmatic-drag-and-drop 1.1.8 → 1.1.10
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/CHANGELOG.md +438 -416
- package/dist/cjs/adapter/element-adapter.js +1 -1
- package/dist/cjs/adapter/external-adapter.js +1 -1
- package/dist/cjs/adapter/text-selection-adapter.js +1 -1
- package/dist/cjs/ledger/lifecycle-manager.js +15 -3
- package/dist/es2019/adapter/element-adapter.js +1 -1
- package/dist/es2019/adapter/external-adapter.js +1 -1
- package/dist/es2019/adapter/text-selection-adapter.js +1 -1
- package/dist/es2019/ledger/lifecycle-manager.js +15 -3
- package/dist/esm/adapter/element-adapter.js +1 -1
- package/dist/esm/adapter/external-adapter.js +1 -1
- package/dist/esm/adapter/text-selection-adapter.js +1 -1
- package/dist/esm/ledger/lifecycle-manager.js +15 -3
- package/dist/types/adapter/element-adapter.d.ts +1 -1
- package/dist/types/adapter/text-selection-adapter.d.ts +1 -1
- package/dist/types/ledger/dispatch-consumer-event.d.ts +1 -1
- package/dist/types/ledger/lifecycle-manager.d.ts +1 -1
- package/dist/types/ledger/usage-ledger.d.ts +1 -1
- package/dist/types/make-adapter/make-adapter.d.ts +1 -1
- package/dist/types/make-adapter/make-drop-target.d.ts +1 -1
- package/dist/types/make-adapter/make-monitor.d.ts +1 -1
- package/dist/types/public-utils/combine.d.ts +1 -1
- package/dist/types/public-utils/element/custom-native-drag-preview/preserve-offset-on-source.d.ts +1 -1
- package/dist/types/public-utils/element/custom-native-drag-preview/set-custom-native-drag-preview.d.ts +1 -1
- package/dist/types/public-utils/external/file.d.ts +1 -1
- package/dist/types/public-utils/external/html.d.ts +1 -1
- package/dist/types/public-utils/external/some.d.ts +1 -1
- package/dist/types/public-utils/external/text.d.ts +1 -1
- package/dist/types/public-utils/external/url.d.ts +1 -1
- package/dist/types/util/add-attribute.d.ts +1 -1
- package/dist/types/util/get-input.d.ts +1 -1
- package/dist/types-ts4.5/adapter/element-adapter.d.ts +1 -1
- package/dist/types-ts4.5/adapter/text-selection-adapter.d.ts +1 -1
- package/dist/types-ts4.5/ledger/dispatch-consumer-event.d.ts +1 -1
- package/dist/types-ts4.5/ledger/lifecycle-manager.d.ts +1 -1
- package/dist/types-ts4.5/ledger/usage-ledger.d.ts +1 -1
- package/dist/types-ts4.5/make-adapter/make-adapter.d.ts +1 -1
- package/dist/types-ts4.5/make-adapter/make-drop-target.d.ts +1 -1
- package/dist/types-ts4.5/make-adapter/make-monitor.d.ts +1 -1
- package/dist/types-ts4.5/public-utils/combine.d.ts +1 -1
- package/dist/types-ts4.5/public-utils/element/custom-native-drag-preview/preserve-offset-on-source.d.ts +1 -1
- package/dist/types-ts4.5/public-utils/element/custom-native-drag-preview/set-custom-native-drag-preview.d.ts +1 -1
- package/dist/types-ts4.5/public-utils/external/file.d.ts +1 -1
- package/dist/types-ts4.5/public-utils/external/html.d.ts +1 -1
- package/dist/types-ts4.5/public-utils/external/some.d.ts +1 -1
- package/dist/types-ts4.5/public-utils/external/text.d.ts +1 -1
- package/dist/types-ts4.5/public-utils/external/url.d.ts +1 -1
- package/dist/types-ts4.5/util/add-attribute.d.ts +1 -1
- package/dist/types-ts4.5/util/get-input.d.ts +1 -1
- package/package.json +2 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,666 +1,688 @@
|
|
|
1
1
|
# @atlaskit/pragmatic-drag-and-drop
|
|
2
2
|
|
|
3
|
+
## 1.1.10
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#105574](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/105574)
|
|
8
|
+
[`2f5d213b2613`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/2f5d213b2613) -
|
|
9
|
+
These fixes only impact situations were you have native drag and drop code in addition to
|
|
10
|
+
Pragmatic drag and drop running on your page.
|
|
11
|
+
|
|
12
|
+
- Fix: if a `"drop"` is caused by non Pragmatic drag and drop code on the page, then we will no
|
|
13
|
+
longer cancel the `"drop"` event.
|
|
14
|
+
- Fix: No longer exposing external adapter data (`source.items`) in `onDrop` if not dropping on a
|
|
15
|
+
Pragmatic drag and drop drop target. Previously, if some non Pragmatic drag and drop code
|
|
16
|
+
accepted a drop then `source.items` would be populated. Now all unsuccessful (or un managed)
|
|
17
|
+
drops are handled consistently.
|
|
18
|
+
|
|
19
|
+
## 1.1.9
|
|
20
|
+
|
|
21
|
+
### Patch Changes
|
|
22
|
+
|
|
23
|
+
- [#100243](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/100243)
|
|
24
|
+
[`1ba7a4e942d4`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/1ba7a4e942d4) -
|
|
25
|
+
Fixing typos in dev time warnings
|
|
26
|
+
|
|
3
27
|
## 1.1.8
|
|
4
28
|
|
|
5
29
|
### Patch Changes
|
|
6
30
|
|
|
7
|
-
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
31
|
+
- [#100196](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/100196)
|
|
32
|
+
[`da322bbbe7f5`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/da322bbbe7f5) -
|
|
33
|
+
Setting `sideEffects: true` in `package.json` as a few essential files in `core` have side
|
|
34
|
+
effects. Unfortunately we require side effects to work around browser bugs and strangeness 😅.
|
|
11
35
|
|
|
12
36
|
## 1.1.7
|
|
13
37
|
|
|
14
38
|
### Patch Changes
|
|
15
39
|
|
|
16
|
-
-
|
|
17
|
-
|
|
18
|
-
|
|
40
|
+
- [#95385](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/95385)
|
|
41
|
+
[`c8d2e32f5071`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/c8d2e32f5071) -
|
|
42
|
+
Minor internal refactor of code concerning entering / leaving a window
|
|
19
43
|
|
|
20
44
|
## 1.1.6
|
|
21
45
|
|
|
22
46
|
### Patch Changes
|
|
23
47
|
|
|
24
|
-
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
48
|
+
- [#94759](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/94759)
|
|
49
|
+
[`140fc0d20c02`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/140fc0d20c02) -
|
|
50
|
+
Fixing our Safari workaround in `setCustomNativeDragPreview()` for a
|
|
51
|
+
[Safari drag preview bug](https://bugs.webkit.org/show_bug.cgi?id=266025) so that it works
|
|
52
|
+
correctly for `react@18+` usage.
|
|
29
53
|
|
|
30
54
|
## 1.1.5
|
|
31
55
|
|
|
32
56
|
### Patch Changes
|
|
33
57
|
|
|
34
|
-
-
|
|
35
|
-
|
|
36
|
-
|
|
58
|
+
- [#94316](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/94316)
|
|
59
|
+
[`35fd5ed8e1d7`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/35fd5ed8e1d7) -
|
|
60
|
+
Upgrading internal dependency `bind-event-listener` to `@^3.0.0`
|
|
37
61
|
|
|
38
62
|
## 1.1.4
|
|
39
63
|
|
|
40
64
|
### Patch Changes
|
|
41
65
|
|
|
42
|
-
-
|
|
43
|
-
|
|
44
|
-
|
|
66
|
+
- [#94302](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/94302)
|
|
67
|
+
[`66ca9d1d1602`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/66ca9d1d1602) -
|
|
68
|
+
Improving jsdoc for the drop target `canDrop` function
|
|
45
69
|
|
|
46
70
|
## 1.1.3
|
|
47
71
|
|
|
48
72
|
### Patch Changes
|
|
49
73
|
|
|
50
|
-
-
|
|
51
|
-
|
|
52
|
-
|
|
74
|
+
- [#84398](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/84398)
|
|
75
|
+
[`77694db987fc`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/77694db987fc) -
|
|
76
|
+
Public release of Pragmatic drag and drop documentation
|
|
53
77
|
|
|
54
78
|
## 1.1.2
|
|
55
79
|
|
|
56
80
|
### Patch Changes
|
|
57
81
|
|
|
58
|
-
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
82
|
+
- [#84047](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/84047)
|
|
83
|
+
[`72a86ac4a940`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/72a86ac4a940) -
|
|
84
|
+
Removing experimental `DropData` from `onDrop()`. Exposing the native `dropEffect` turned out to
|
|
85
|
+
problematic, as you will always get a `"none"` drop effect if dropping externally if the original
|
|
86
|
+
`draggable` was removed (a native `"dragend"` event is targetted at the original draggable). This
|
|
87
|
+
made the weak signal of `dropEffect` for even weaker and more problematic. In order to not create
|
|
88
|
+
footguns for folks, we have decided to remove this experimental API for now. We can explore adding
|
|
89
|
+
the API back in the future if folks think it would be valuable.
|
|
66
90
|
|
|
67
91
|
## 1.1.1
|
|
68
92
|
|
|
69
93
|
### Patch Changes
|
|
70
94
|
|
|
71
|
-
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
95
|
+
- [#83702](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/83702)
|
|
96
|
+
[`4d9e25ab4eaa`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/4d9e25ab4eaa) -
|
|
97
|
+
Updating the descriptions of Pragmatic drag and drop packages, so they each provide a consistent
|
|
98
|
+
description to various consumers, and so they are consistently formed amongst each other.
|
|
75
99
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
100
|
+
- `package.json` `description`
|
|
101
|
+
- `README.md`
|
|
102
|
+
- Website documentation
|
|
79
103
|
|
|
80
104
|
## 1.1.0
|
|
81
105
|
|
|
82
106
|
### Minor Changes
|
|
83
107
|
|
|
84
|
-
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
108
|
+
- [#82653](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/82653)
|
|
109
|
+
[`136d8da5542d`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/136d8da5542d) -
|
|
110
|
+
_Experimental_: Adding additional information to `onDrop()` events to expose what the final
|
|
111
|
+
`dropEffect` was for a drag operation (_now removed_)
|
|
88
112
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
113
|
+
Fixing a bug where `preventUnhandled.start()` would prevent unhandled drag operations forever. It
|
|
114
|
+
now only prevents unhandled drag operations for the current drag operation.
|
|
115
|
+
`preventUnhandled.stop()` is now optional, as `preventUnhandled.start()` now tidies up itself. You
|
|
116
|
+
can still leverage `preventUnhandled.stop()` to stop preventing unhandled drag operations during a
|
|
117
|
+
drag.
|
|
94
118
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
119
|
+
Tightening the `getDropEffect()` function on drop targets slightly so that `"none"` cannot be
|
|
120
|
+
provided. Using `"none"` as the drop effect would break the expected behaviour for nested drop
|
|
121
|
+
targets.
|
|
98
122
|
|
|
99
123
|
## 1.0.2
|
|
100
124
|
|
|
101
125
|
### Patch Changes
|
|
102
126
|
|
|
103
|
-
-
|
|
104
|
-
|
|
105
|
-
|
|
127
|
+
- [#83116](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/83116)
|
|
128
|
+
[`8d4e99057fe0`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/8d4e99057fe0) -
|
|
129
|
+
Upgrade Typescript from `4.9.5` to `5.4.2`
|
|
106
130
|
|
|
107
131
|
## 1.0.1
|
|
108
132
|
|
|
109
133
|
### Patch Changes
|
|
110
134
|
|
|
111
|
-
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
135
|
+
- [#76476](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/76476)
|
|
136
|
+
[`35148e092790`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/35148e092790) -
|
|
137
|
+
Adding warning for test environments to let people know if DragEvents have not been setup
|
|
138
|
+
correctly.
|
|
115
139
|
|
|
116
140
|
## 1.0.0
|
|
117
141
|
|
|
118
142
|
### Major Changes
|
|
119
143
|
|
|
120
|
-
-
|
|
121
|
-
|
|
122
|
-
|
|
144
|
+
- [#70616](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/70616)
|
|
145
|
+
[`42e57ea65fee`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/42e57ea65fee) -
|
|
146
|
+
This is our first `major` release (`1.0`) for all Pragmatic drag and drop packages.
|
|
123
147
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
148
|
+
For a detailed explanation of these changes, and how to upgrade (automatically) to `1.0` please
|
|
149
|
+
see our
|
|
150
|
+
[1.0 upgrade guide](http://atlassian.design/components/pragmatic-drag-and-drop/core-package/upgrade-guides/upgrade-guide-for-1.0)
|
|
127
151
|
|
|
128
152
|
## 0.25.0
|
|
129
153
|
|
|
130
154
|
### Minor Changes
|
|
131
155
|
|
|
132
|
-
-
|
|
133
|
-
|
|
134
|
-
|
|
156
|
+
- [#59458](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/59458)
|
|
157
|
+
[`7d6a69cfa61c`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/7d6a69cfa61c) -
|
|
158
|
+
Adding workaround for Safari bug.
|
|
135
159
|
|
|
136
|
-
|
|
137
|
-
|
|
160
|
+
In Safari (and iOS) if the element used for generating a native drag preview has opacity applied,
|
|
161
|
+
then the native drag preview can include elements underneath the drag preview element.
|
|
138
162
|
|
|
139
|
-
|
|
163
|
+
Pragmatic drag and drop now includes a workaround for this Safari bug.
|
|
140
164
|
|
|
141
165
|
## 0.24.0
|
|
142
166
|
|
|
143
167
|
### Minor Changes
|
|
144
168
|
|
|
145
|
-
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
169
|
+
- [#39935](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/39935)
|
|
170
|
+
[`03b91562fec`](https://bitbucket.org/atlassian/atlassian-frontend/commits/03b91562fec) - Exposing
|
|
171
|
+
`AllDragTypes` type. This was previously an internal type, but it provided helpful to expose for
|
|
172
|
+
our new auto scroller. `AllDragTypes` is helpful if you need a function to work with either
|
|
173
|
+
`element` or `file` drag operations.
|
|
150
174
|
|
|
151
175
|
## 0.23.0
|
|
152
176
|
|
|
153
177
|
### Minor Changes
|
|
154
178
|
|
|
155
|
-
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
179
|
+
- [#38713](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/38713)
|
|
180
|
+
[`3da89e29dfc`](https://bitbucket.org/atlassian/atlassian-frontend/commits/3da89e29dfc) - We have
|
|
181
|
+
renamed and tweaked the recently added `setCustomNativeDragPreview` `getOffset` utility
|
|
182
|
+
`preserveOffsetFromPointer` to be a bit easier to understand what it is doing.
|
|
183
|
+
|
|
184
|
+
```diff
|
|
185
|
+
- import { preserveOffsetFromPointer } from '@atlaskit/pragmatic-drag-and-drop/util/preserve-offset-from-pointer';
|
|
186
|
+
+ import { preserveOffsetOnSource } from '@atlaskit/pragmatic-drag-and-drop/util/preserve-offset-on-source';
|
|
187
|
+
|
|
188
|
+
draggable({
|
|
189
|
+
element: myElement,
|
|
190
|
+
onGenerateDragPreview: ({ nativeSetDragImage, location, source }) => {
|
|
191
|
+
setCustomNativeDragPreview({
|
|
192
|
+
- getOffset: preserveOffsetFromPointer({
|
|
193
|
+
+ 'preserveOffsetOnSource' is a more accurate description of what is being achieved
|
|
194
|
+
+ getOffset: preserveOffsetOnSource({
|
|
195
|
+
- sourceElement: source.element,
|
|
196
|
+
+ // no longer including 'source' in argument name
|
|
197
|
+
+ // as it is implied by the function name
|
|
198
|
+
+ element: source.element,
|
|
199
|
+
input: location.current.input,
|
|
200
|
+
}),
|
|
201
|
+
render: function render({ container }) {
|
|
202
|
+
/* ... */
|
|
203
|
+
},
|
|
204
|
+
nativeSetDragImage,
|
|
205
|
+
});
|
|
206
|
+
},
|
|
207
|
+
});
|
|
208
|
+
```
|
|
185
209
|
|
|
186
210
|
## 0.22.0
|
|
187
211
|
|
|
188
212
|
### Minor Changes
|
|
189
213
|
|
|
190
|
-
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
214
|
+
- [#38397](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/38397)
|
|
215
|
+
[`d644a68ddf6`](https://bitbucket.org/atlassian/atlassian-frontend/commits/d644a68ddf6) - Added a
|
|
216
|
+
new `setCustomNativeDragPreview` `getOffset` utility: `preserveOffsetFromPointer`.
|
|
217
|
+
`preserveOffsetFromPointer` mimics the default behaviour for non custom drag previews when
|
|
218
|
+
starting a drag: the initial cursor position offset is preserved for a seamless drag and drop
|
|
219
|
+
experience.
|
|
220
|
+
|
|
221
|
+
```ts
|
|
222
|
+
import { setCustomNativeDragPreview } from '@atlaskit/pragmatic-drag-and-drop/util/set-custom-native-drag-preview';
|
|
223
|
+
import { preserveOffsetFromPointer } from '@atlaskit/pragmatic-drag-and-drop/util/preserve-offset-from-pointer';
|
|
224
|
+
|
|
225
|
+
draggable({
|
|
226
|
+
element: myElement,
|
|
227
|
+
onGenerateDragPreview: ({ nativeSetDragImage, location, source }) => {
|
|
228
|
+
setCustomNativeDragPreview({
|
|
229
|
+
getOffset: preserveOffsetFromPointer({
|
|
230
|
+
sourceElement: source.element,
|
|
231
|
+
input: location.current.input,
|
|
232
|
+
}),
|
|
233
|
+
render: function render({ container }) {
|
|
234
|
+
/* ... */
|
|
235
|
+
},
|
|
236
|
+
nativeSetDragImage,
|
|
237
|
+
});
|
|
238
|
+
},
|
|
239
|
+
});
|
|
240
|
+
```
|
|
217
241
|
|
|
218
242
|
## 0.21.0
|
|
219
243
|
|
|
220
244
|
### Minor Changes
|
|
221
245
|
|
|
222
|
-
-
|
|
223
|
-
|
|
224
|
-
|
|
246
|
+
- [#38525](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/38525)
|
|
247
|
+
[`de7463c7096`](https://bitbucket.org/atlassian/atlassian-frontend/commits/de7463c7096) - Exposing
|
|
248
|
+
some additional TypeScript types. These can be helpful when creating helper packages.
|
|
225
249
|
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
250
|
+
```ts
|
|
251
|
+
import type {
|
|
252
|
+
// These types are not needed for consumers
|
|
253
|
+
// They are mostly helpful for other packages
|
|
254
|
+
AllDragTypes,
|
|
255
|
+
MonitorArgs,
|
|
256
|
+
BaseEventPayload,
|
|
257
|
+
} from '@atlaskit/pragmatic-drag-and-drop/types';
|
|
258
|
+
```
|
|
235
259
|
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
260
|
+
- `AllDragTypes`: representation of all entities types in the system (eg element and file)
|
|
261
|
+
- `MonitorArgs<DragType extends AllDragTypes>`: the arguments that can be passed to a monitor
|
|
262
|
+
- `BaseEventPayload<DragType extends AllDragTypes>`: the shared properties in all events
|
|
239
263
|
|
|
240
264
|
## 0.20.0
|
|
241
265
|
|
|
242
266
|
### Minor Changes
|
|
243
267
|
|
|
244
|
-
-
|
|
245
|
-
|
|
246
|
-
|
|
268
|
+
- [#38453](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/38453)
|
|
269
|
+
[`554a6d8cc34`](https://bitbucket.org/atlassian/atlassian-frontend/commits/554a6d8cc34) - ###
|
|
270
|
+
Stickiness algorithm improvement
|
|
247
271
|
|
|
248
|
-
|
|
249
|
-
|
|
272
|
+
We have made some improvements to the drop target stickiness algorithm to allow sticky drop
|
|
273
|
+
targets that are no longer dragged over to cancel their stickiness.
|
|
250
274
|
|
|
251
|
-
|
|
275
|
+
Stickiness is no longer maintained when a sticky drop target states it cannot be dropped on
|
|
252
276
|
|
|
253
|
-
|
|
277
|
+
> Scenario: `[A(sticky)]` → `[]` + `A:canDrop()` returns `false` Result: `[]`
|
|
254
278
|
|
|
255
|
-
|
|
279
|
+
Stickiness is no longer maintained when a sticky drop start states it is no longer sticky
|
|
256
280
|
|
|
257
|
-
|
|
281
|
+
> Scenario: `[A(sticky)]` → `[]` + `A:getIsSticky()` returns `false` Result: `[]`
|
|
258
282
|
|
|
259
|
-
|
|
283
|
+
Stickiness is no longer maintained when a sticky drop start is unmounted
|
|
260
284
|
|
|
261
|
-
|
|
285
|
+
> Scenario: `[A(sticky)]` → `[]` + `A` is unmounted Result: `[]`
|
|
262
286
|
|
|
263
|
-
|
|
287
|
+
To help facilitate this change:
|
|
264
288
|
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
289
|
+
- `getIsSticky()` is now only called when an _drop target_ is a potential candidate for stickiness
|
|
290
|
+
(previously it was called repeatedly)
|
|
291
|
+
- `getIsSticky()` and `canDrop()` are called on _drop targets_ that are no longer being dragged
|
|
292
|
+
over, but are candidates for stickiness
|
|
269
293
|
|
|
270
|
-
|
|
294
|
+
### Change to `DropTargetRecord` `type`
|
|
271
295
|
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
296
|
+
Previously, the `DropTargetRecord` type had a property called `sticky` which would represent
|
|
297
|
+
whether the _drop target_ was registering itself as sticky via `getIsSticky()`. Knowing `sticky`
|
|
298
|
+
is not overly helpful given that we now regularly recompute stickiness and a _drop target_ can
|
|
299
|
+
change disable stickiness after it is applied.
|
|
276
300
|
|
|
277
|
-
|
|
278
|
-
|
|
301
|
+
What is helpful, is knowing whether a _drop target_ is active _because_ of stickiness. So we have
|
|
302
|
+
removed `sticky` and added `isActiveDueToStickiness` to the `DropTargetRecord` type.
|
|
279
303
|
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
304
|
+
```diff
|
|
305
|
+
type DropTargetRecord = {
|
|
306
|
+
element: Element;
|
|
307
|
+
data: Record<string | symbol, unknown>;
|
|
308
|
+
dropEffect: DataTransfer['dropEffect'];
|
|
309
|
+
- sticky: boolean;
|
|
310
|
+
+ isActiveDueToStickiness: boolean;
|
|
311
|
+
};
|
|
312
|
+
```
|
|
289
313
|
|
|
290
314
|
## 0.19.0
|
|
291
315
|
|
|
292
316
|
### Minor Changes
|
|
293
317
|
|
|
294
|
-
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
318
|
+
- [#35574](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/35574)
|
|
319
|
+
[`8c301a251e4`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8c301a251e4) - We have
|
|
320
|
+
changed the API of `setCustomNativeDragPreview()` to allow increased control and slightly lower
|
|
321
|
+
bundles as well.
|
|
322
|
+
|
|
323
|
+
We have removed the `placement` argument, and replaced it with `getOffset()`.
|
|
324
|
+
|
|
325
|
+
```diff
|
|
326
|
+
- placement: { type: 'center' } | { type: 'offset-from-pointer'; x: CSSValue; y: CSSValue };
|
|
327
|
+
+ getOffset: (args: { container: HTMLElement }) => {x: number, y: number}
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
`getOffset()` allows unlimited control over how to place the custom native drag preview relative
|
|
331
|
+
to the users pointer. Please see our updated documentation for detailed information about the new
|
|
332
|
+
`getOffset()` API. Our new `getOffset()` approach means that we also no longer need to bake in all
|
|
333
|
+
`placement` options into the bundle - consumers now only pay for what they use!
|
|
334
|
+
|
|
335
|
+
`placement: { type: 'offset-from-pointer' }` has been replaced by `offsetFromPointer()`
|
|
336
|
+
|
|
337
|
+
```diff
|
|
338
|
+
import { setCustomNativeDragPreview } from '@atlaskit/pragmatic-drag-and-drop/util/set-custom-native-drag-preview';
|
|
339
|
+
+ import { offsetFromPointer } from '@atlaskit/pragmatic-drag-and-drop/util/offset-from-pointer;
|
|
340
|
+
|
|
341
|
+
draggable({
|
|
342
|
+
element: myElement,
|
|
343
|
+
onGenerateDragPreview: ({ nativeSetDragImage }) => {
|
|
344
|
+
setCustomNativeDragPreview({
|
|
345
|
+
- placement: { type: 'offset-from-pointer', x: '16px', y: '8px' }
|
|
346
|
+
+ getOffset: offsetFromPointer({x: '16px', y: '8px'}),
|
|
347
|
+
render: function render({ container }) {
|
|
348
|
+
ReactDOM.render(<Preview item={item} />, container);
|
|
349
|
+
return function cleanup() {
|
|
350
|
+
ReactDOM.unmountComponentAtNode(container);
|
|
351
|
+
};
|
|
352
|
+
},
|
|
353
|
+
nativeSetDragImage,
|
|
354
|
+
});
|
|
355
|
+
},
|
|
356
|
+
});
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
`placement: { type: 'center' }` has been replaced by `centerUnderPointer()`
|
|
360
|
+
|
|
361
|
+
```diff
|
|
362
|
+
import { setCustomNativeDragPreview } from '@atlaskit/pragmatic-drag-and-drop/util/set-custom-native-drag-preview';
|
|
363
|
+
+ import { centerUnderPointer } from '@atlaskit/pragmatic-drag-and-drop/util/center-under-pointer-pointer;
|
|
364
|
+
|
|
365
|
+
draggable({
|
|
366
|
+
element: myElement,
|
|
367
|
+
onGenerateDragPreview: ({ nativeSetDragImage }) => {
|
|
368
|
+
setCustomNativeDragPreview({
|
|
369
|
+
- placement: { type: 'center' }
|
|
370
|
+
+ getOffset: centerUnderPointer,
|
|
371
|
+
render: function render({ container }) {
|
|
372
|
+
ReactDOM.render(<Preview item={item} />, container);
|
|
373
|
+
return function cleanup() {
|
|
374
|
+
ReactDOM.unmountComponentAtNode(container);
|
|
375
|
+
};
|
|
376
|
+
},
|
|
377
|
+
nativeSetDragImage,
|
|
378
|
+
});
|
|
379
|
+
},
|
|
380
|
+
});
|
|
381
|
+
```
|
|
358
382
|
|
|
359
383
|
## 0.18.2
|
|
360
384
|
|
|
361
385
|
### Patch Changes
|
|
362
386
|
|
|
363
|
-
-
|
|
364
|
-
|
|
365
|
-
|
|
387
|
+
- [#33793](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/33793)
|
|
388
|
+
[`9d00501a414`](https://bitbucket.org/atlassian/atlassian-frontend/commits/9d00501a414) - Ensure
|
|
389
|
+
legacy types are published for TS 4.5-4.8
|
|
366
390
|
|
|
367
391
|
## 0.18.1
|
|
368
392
|
|
|
369
393
|
### Patch Changes
|
|
370
394
|
|
|
371
|
-
-
|
|
372
|
-
|
|
373
|
-
|
|
395
|
+
- [#33649](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/33649)
|
|
396
|
+
[`41fae2c6f68`](https://bitbucket.org/atlassian/atlassian-frontend/commits/41fae2c6f68) - Upgrade
|
|
397
|
+
Typescript from `4.5.5` to `4.9.5`
|
|
374
398
|
|
|
375
399
|
## 0.18.0
|
|
376
400
|
|
|
377
401
|
### Minor Changes
|
|
378
402
|
|
|
379
|
-
-
|
|
380
|
-
|
|
381
|
-
|
|
403
|
+
- [#33344](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/33344)
|
|
404
|
+
[`9fd8556db17`](https://bitbucket.org/atlassian/atlassian-frontend/commits/9fd8556db17) - Internal
|
|
405
|
+
folder name structure change
|
|
382
406
|
|
|
383
407
|
## 0.17.0
|
|
384
408
|
|
|
385
409
|
### Minor Changes
|
|
386
410
|
|
|
387
|
-
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
411
|
+
- [#33262](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/33262)
|
|
412
|
+
[`34ed7b2ec63`](https://bitbucket.org/atlassian/atlassian-frontend/commits/34ed7b2ec63) - We have
|
|
413
|
+
changed the name of our drag and drop packages to align on the single name of "Pragmatic drag and
|
|
414
|
+
drop"
|
|
391
415
|
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
416
|
+
```diff
|
|
417
|
+
- @atlaskit/drag-and-drop
|
|
418
|
+
+ @atlaskit/pragmatic-drag-and-drop
|
|
395
419
|
|
|
396
|
-
|
|
397
|
-
|
|
420
|
+
- @atlaskit/drag-and-drop-autoscroll
|
|
421
|
+
+ @atlaskit/pragmatic-drag-and-drop-autoscroll
|
|
398
422
|
|
|
399
|
-
|
|
400
|
-
|
|
423
|
+
- @atlaskit/drag-and-drop-hitbox
|
|
424
|
+
+ @atlaskit/pragmatic-drag-and-drop-hitbox
|
|
401
425
|
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
426
|
+
- @atlaskit/drag-and-drop-indicator
|
|
427
|
+
+ @atlaskit/pragmatic-drag-and-drop-react-indicator
|
|
428
|
+
# Note: `react` was added to this package name as our indicator package is designed for usage with `react`.
|
|
405
429
|
|
|
406
|
-
|
|
407
|
-
|
|
430
|
+
- @atlaskit/drag-and-drop-live-region
|
|
431
|
+
+ @atlaskit/pragmatic-drag-and-drop-live-region
|
|
408
432
|
|
|
409
|
-
|
|
410
|
-
|
|
433
|
+
- @atlaskit/drag-and-drop-react-beautiful-dnd-migration
|
|
434
|
+
+ @atlaskit/pragmatic-drag-and-drop-react-beautiful-dnd-migration
|
|
411
435
|
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
436
|
+
- @atlaskit/drag-and-drop-docs
|
|
437
|
+
+ @atlaskit/pragmatic-drag-and-drop-docs
|
|
438
|
+
```
|
|
415
439
|
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
440
|
+
The new `@atlaskit/pragmatic-drag-and-drop*` packages will start their initial versions from where
|
|
441
|
+
the ``@atlaskit/drag-and-drop*` packages left off. Doing this will make it easier to look back on
|
|
442
|
+
changelogs and see how the packages have progressed.
|
|
419
443
|
|
|
420
444
|
## 0.16.0
|
|
421
445
|
|
|
422
446
|
### Minor Changes
|
|
423
447
|
|
|
424
|
-
-
|
|
425
|
-
|
|
426
|
-
|
|
448
|
+
- [#33258](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/33258)
|
|
449
|
+
[`56507598609`](https://bitbucket.org/atlassian/atlassian-frontend/commits/56507598609) - Skip
|
|
450
|
+
minor dependency bump
|
|
427
451
|
|
|
428
452
|
## 0.15.1
|
|
429
453
|
|
|
430
454
|
### Patch Changes
|
|
431
455
|
|
|
432
|
-
-
|
|
433
|
-
|
|
434
|
-
|
|
456
|
+
- [#32424](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/32424)
|
|
457
|
+
[`2e01c9c74b5`](https://bitbucket.org/atlassian/atlassian-frontend/commits/2e01c9c74b5) - DUMMY
|
|
458
|
+
remove before merging to master; dupe adf-schema via adf-utils
|
|
435
459
|
|
|
436
460
|
## 0.15.0
|
|
437
461
|
|
|
438
462
|
### Minor Changes
|
|
439
463
|
|
|
440
|
-
-
|
|
441
|
-
|
|
442
|
-
|
|
464
|
+
- [#31909](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/31909)
|
|
465
|
+
[`ed028658f13`](https://bitbucket.org/atlassian/atlassian-frontend/commits/ed028658f13) - Minor
|
|
466
|
+
internal refactor and adding additional tests
|
|
443
467
|
|
|
444
468
|
## 0.14.0
|
|
445
469
|
|
|
446
470
|
### Minor Changes
|
|
447
471
|
|
|
448
|
-
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
previous drop target was as well (no change)
|
|
472
|
+
- [#31794](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/31794)
|
|
473
|
+
[`eab6d26451d`](https://bitbucket.org/atlassian/atlassian-frontend/commits/eab6d26451d) -
|
|
474
|
+
Improving the resilience of our workaround for a
|
|
475
|
+
[Browser bug](https://bugs.chromium.org/p/chromium/issues/detail?id=410328) where after a drag
|
|
476
|
+
finishes, an unrelated element can be entered into.
|
|
477
|
+
- [`ba7ea570aee`](https://bitbucket.org/atlassian/atlassian-frontend/commits/ba7ea570aee) - > Both
|
|
478
|
+
of these changes should not impact most consumers as they are targeted at edge cases.
|
|
479
|
+
|
|
480
|
+
- **Fix**: We no longer extract user input (eg `clientX`) from native `"dragleave"` events due to
|
|
481
|
+
a
|
|
482
|
+
[Bug with Chrome we discovered](https://bugs.chromium.org/p/chromium/issues/detail?id=1429937).
|
|
483
|
+
Due to this bug, it was possible for `location.current.input` to be incorrectly set in
|
|
484
|
+
`onDropTargetChange` and `onDrop` when a user was cancelling a drag or dropping or no drop
|
|
485
|
+
targets.
|
|
486
|
+
|
|
487
|
+
- **Fix**: `location.previous.dropTargets` _should_ always point to the
|
|
488
|
+
`location.current.dropTargets` value from the previous event (exception: `onGenerateDragPreview`
|
|
489
|
+
and `onDragStart` have the same `location.previous` and `location.current` values). Previously,
|
|
490
|
+
the `location.previous.dropTargets` value did not match the last events
|
|
491
|
+
`location.current.dropTargets` value in `onDrop`. `onDrop()` would incorrectly use the
|
|
492
|
+
`location.current` and `location.previous` values from the last event rather than creating a new
|
|
493
|
+
`location.current` entry. Now, `onDrop()`, `location.previous.dropTargets` points to the
|
|
494
|
+
`location.current.dropTargets` from the last event (same as all other events) and
|
|
495
|
+
`location.current.dropTargets` points to what the previous drop target was as well (no change)
|
|
473
496
|
|
|
474
497
|
## 0.13.0
|
|
475
498
|
|
|
476
499
|
### Minor Changes
|
|
477
500
|
|
|
478
|
-
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
browser
|
|
501
|
+
- [#30879](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/30879)
|
|
502
|
+
[`2582df26509`](https://bitbucket.org/atlassian/atlassian-frontend/commits/2582df26509) - Fixing a
|
|
503
|
+
browser bug where after a drag finishes, a unrelated element can be entered into by the browser
|
|
482
504
|
|
|
483
|
-
|
|
484
|
-
|
|
505
|
+
- [Visual explanation of bug](https://twitter.com/alexandereardon/status/1633614212873465856)
|
|
506
|
+
- [Chrome bug](https://bugs.chromium.org/p/chromium/issues/detail?id=410328)
|
|
485
507
|
|
|
486
508
|
## 0.12.0
|
|
487
509
|
|
|
488
510
|
### Minor Changes
|
|
489
511
|
|
|
490
|
-
-
|
|
491
|
-
|
|
492
|
-
|
|
512
|
+
- [#30953](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/30953)
|
|
513
|
+
[`90901f5bbe0`](https://bitbucket.org/atlassian/atlassian-frontend/commits/90901f5bbe0) - Replace
|
|
514
|
+
default entry point of `undefined` with `{}`.
|
|
493
515
|
|
|
494
|
-
|
|
495
|
-
|
|
516
|
+
> **NOTE:** Importing from the default entry point isn't supported. _Please use individual entry
|
|
517
|
+
> points in order to always obtain minimum kbs._
|
|
496
518
|
|
|
497
519
|
## 0.11.0
|
|
498
520
|
|
|
499
521
|
### Minor Changes
|
|
500
522
|
|
|
501
|
-
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
523
|
+
- [#30668](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/30668)
|
|
524
|
+
[`1ecbb19d450`](https://bitbucket.org/atlassian/atlassian-frontend/commits/1ecbb19d450) - Adding a
|
|
525
|
+
new function to make creating _custom_ native drag previews safe and easy:
|
|
526
|
+
`setCustomNativeDragPreview`
|
|
527
|
+
|
|
528
|
+
```tsx
|
|
529
|
+
import { setCustomNativeDragPreview } from '@atlaskit/drag-and-drop/util/set-custom-native-drag-preview';
|
|
530
|
+
|
|
531
|
+
draggable({
|
|
532
|
+
element: myElement,
|
|
533
|
+
onGenerateDragPreview: ({ nativeSetDragImage }) => {
|
|
534
|
+
setCustomNativeDragPreview({
|
|
535
|
+
render: function render({ container }) {
|
|
536
|
+
ReactDOM.render(<Preview item={item} />, container);
|
|
537
|
+
return function cleanup() {
|
|
538
|
+
ReactDOM.unmountComponentAtNode(container);
|
|
539
|
+
};
|
|
540
|
+
},
|
|
541
|
+
nativeSetDragImage,
|
|
542
|
+
});
|
|
543
|
+
},
|
|
544
|
+
});
|
|
545
|
+
```
|
|
546
|
+
|
|
547
|
+
Please see our element adapter documentation for more detailed usage information
|
|
526
548
|
|
|
527
549
|
## 0.10.0
|
|
528
550
|
|
|
529
551
|
### Minor Changes
|
|
530
552
|
|
|
531
|
-
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
553
|
+
- [#29951](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/29951)
|
|
554
|
+
[`9c0975e2fab`](https://bitbucket.org/atlassian/atlassian-frontend/commits/9c0975e2fab) - Bug fix:
|
|
555
|
+
A _monitor_ should not be called after it is removed. Previously, if a _monitor_ (monitor 1)
|
|
556
|
+
removed another _monitor_ (monitor 2) for the same event, then the second monitor (monitor 2)
|
|
557
|
+
would still be called. This has been fixed
|
|
558
|
+
|
|
559
|
+
```ts
|
|
560
|
+
const cleanupMonitor1 = monitorForElements({
|
|
561
|
+
onDragStart: () => {
|
|
562
|
+
cleanupMonitor2();
|
|
563
|
+
},
|
|
564
|
+
});
|
|
565
|
+
const cleanupMonitor2 = monitorForElements({
|
|
566
|
+
// Previously this `onDragStart` would have been called during `onDragStart` even though it was unbound by the first monitor
|
|
567
|
+
onDragStart: () => {},
|
|
568
|
+
});
|
|
569
|
+
```
|
|
548
570
|
|
|
549
571
|
## 0.9.0
|
|
550
572
|
|
|
551
573
|
### Minor Changes
|
|
552
574
|
|
|
553
|
-
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
575
|
+
- [#29651](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/29651)
|
|
576
|
+
[`03e0aa5ae85`](https://bitbucket.org/atlassian/atlassian-frontend/commits/03e0aa5ae85) -
|
|
577
|
+
`@atlaskit/drag-and-drop` adds event listeners to the `window` during a drag operation. These drag
|
|
578
|
+
operation event listeners were [`bubble` phase event listeners](https://domevents.dev/), but they
|
|
579
|
+
are now `capture` phase event listeners to be more resliant against external code (incorrectly)
|
|
580
|
+
stopping events.
|
|
559
581
|
|
|
560
|
-
|
|
561
|
-
|
|
582
|
+
This does not impact the ability of a consumer to have their own `draggable`s on a page not
|
|
583
|
+
controlled by `@atlaskit/drag-and-drop`
|
|
562
584
|
|
|
563
585
|
## 0.8.1
|
|
564
586
|
|
|
565
587
|
### Patch Changes
|
|
566
588
|
|
|
567
|
-
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
589
|
+
- [#28324](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/28324)
|
|
590
|
+
[`6455cf006b3`](https://bitbucket.org/atlassian/atlassian-frontend/commits/6455cf006b3) - Builds
|
|
591
|
+
for this package now pass through a tokens babel plugin, removing runtime invocations of the
|
|
592
|
+
tokens() function and improving performance.
|
|
571
593
|
|
|
572
594
|
## 0.8.0
|
|
573
595
|
|
|
574
596
|
### Minor Changes
|
|
575
597
|
|
|
576
|
-
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
598
|
+
- [#26317](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/26317)
|
|
599
|
+
[`1e3f9743e57`](https://bitbucket.org/atlassian/atlassian-frontend/commits/1e3f9743e57) - A
|
|
600
|
+
_monitor_ that is added during an event (eg `onDragStart`) will no longer be called for the
|
|
601
|
+
current event. This is to prevent the accidental creation of infinite loops. This behaviour
|
|
602
|
+
matches native [`EventTargets`](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget)
|
|
603
|
+
where an event listener cannot add another event listener during an active event to the same event
|
|
604
|
+
target in the same event phase.
|
|
583
605
|
|
|
584
606
|
## 0.7.1
|
|
585
607
|
|
|
586
608
|
### Patch Changes
|
|
587
609
|
|
|
588
|
-
-
|
|
589
|
-
|
|
590
|
-
|
|
610
|
+
- [#24874](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/24874)
|
|
611
|
+
[`8cc2f888c83`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8cc2f888c83) - Upgrade
|
|
612
|
+
Typescript from `4.3.5` to `4.5.5`
|
|
591
613
|
|
|
592
614
|
## 0.7.0
|
|
593
615
|
|
|
594
616
|
### Minor Changes
|
|
595
617
|
|
|
596
|
-
-
|
|
597
|
-
|
|
598
|
-
|
|
618
|
+
- [#25428](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/25428)
|
|
619
|
+
[`f2a7931d609`](https://bitbucket.org/atlassian/atlassian-frontend/commits/f2a7931d609) - Adding
|
|
620
|
+
jsdoc to DragLocation type for better autocomplete
|
|
599
621
|
|
|
600
622
|
## 0.6.0
|
|
601
623
|
|
|
602
624
|
### Minor Changes
|
|
603
625
|
|
|
604
|
-
-
|
|
605
|
-
|
|
606
|
-
|
|
626
|
+
- [#25002](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/25002)
|
|
627
|
+
[`0f755214ee7`](https://bitbucket.org/atlassian/atlassian-frontend/commits/0f755214ee7) - Internal
|
|
628
|
+
folder renaming. No API impact
|
|
607
629
|
|
|
608
630
|
## 0.5.0
|
|
609
631
|
|
|
610
632
|
### Minor Changes
|
|
611
633
|
|
|
612
|
-
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
634
|
+
- [#25007](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/25007)
|
|
635
|
+
[`17950433a70`](https://bitbucket.org/atlassian/atlassian-frontend/commits/17950433a70) - Touching
|
|
636
|
+
package to release re-release previous version. The previous (now deprecated) version did not have
|
|
637
|
+
it's entry points built correctly
|
|
616
638
|
|
|
617
639
|
## 0.4.0
|
|
618
640
|
|
|
619
641
|
### Minor Changes
|
|
620
642
|
|
|
621
|
-
-
|
|
622
|
-
|
|
623
|
-
|
|
643
|
+
- [#24861](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/24861)
|
|
644
|
+
[`4d739042b04`](https://bitbucket.org/atlassian/atlassian-frontend/commits/4d739042b04) -
|
|
645
|
+
Improving jsdoc auto complete information for `GetFeedbackArgs`
|
|
624
646
|
|
|
625
647
|
## 0.3.0
|
|
626
648
|
|
|
627
649
|
### Minor Changes
|
|
628
650
|
|
|
629
|
-
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
651
|
+
- [#24810](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/24810)
|
|
652
|
+
[`52403a2c11f`](https://bitbucket.org/atlassian/atlassian-frontend/commits/52403a2c11f) - Adding a
|
|
653
|
+
`canMonitor()` function to _monitors_ to allow a _monitor_ to conditionally apply to a drag
|
|
654
|
+
operation.
|
|
633
655
|
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
656
|
+
```ts
|
|
657
|
+
monitorForElements({
|
|
658
|
+
canMonitor: ({ source }) => source.data.type === 'card',
|
|
659
|
+
onDragStart: () => console.log('I will only be activated when dragging a card!'),
|
|
660
|
+
});
|
|
661
|
+
```
|
|
640
662
|
|
|
641
663
|
## 0.2.0
|
|
642
664
|
|
|
643
665
|
### Minor Changes
|
|
644
666
|
|
|
645
|
-
-
|
|
646
|
-
|
|
647
|
-
|
|
667
|
+
- [#24613](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/24613)
|
|
668
|
+
[`1cf9e484b4b`](https://bitbucket.org/atlassian/atlassian-frontend/commits/1cf9e484b4b) - We have
|
|
669
|
+
improved our naming consistency across our drag and drop packages.
|
|
648
670
|
|
|
649
|
-
|
|
650
|
-
|
|
671
|
+
- `@atlaskit/drag-and-drop/util/cancel-unhandled` has been renamed to
|
|
672
|
+
`@atlaskit/drag-and-drop/addon/cancel-unhandled`
|
|
651
673
|
|
|
652
674
|
## 0.1.0
|
|
653
675
|
|
|
654
676
|
### Minor Changes
|
|
655
677
|
|
|
656
|
-
-
|
|
657
|
-
|
|
658
|
-
|
|
678
|
+
- [#24532](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/24532)
|
|
679
|
+
[`73427c38077`](https://bitbucket.org/atlassian/atlassian-frontend/commits/73427c38077) - Initial
|
|
680
|
+
release of `@atlaskit/drag-and-drop` packages 🎉
|
|
659
681
|
|
|
660
682
|
## 0.0.1
|
|
661
683
|
|
|
662
684
|
### Patch Changes
|
|
663
685
|
|
|
664
|
-
-
|
|
665
|
-
|
|
666
|
-
|
|
686
|
+
- [#24492](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/24492)
|
|
687
|
+
[`8d4228767b0`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8d4228767b0) - Upgrade
|
|
688
|
+
Typescript from `4.2.4` to `4.3.5`.
|