@atlaskit/pragmatic-drag-and-drop 1.8.1 → 2.0.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.
Files changed (131) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/combine/package.json +1 -8
  3. package/dist/cjs/adapter/element-adapter.js +3 -0
  4. package/dist/cjs/adapter/external-adapter.js +7 -0
  5. package/dist/cjs/adapter/text-selection-adapter.js +2 -0
  6. package/dist/cjs/public-utils/external/file.js +1 -0
  7. package/dist/cjs/public-utils/external/html.js +2 -0
  8. package/dist/cjs/public-utils/external/text.js +1 -0
  9. package/dist/cjs/public-utils/external/url.js +2 -0
  10. package/dist/cjs/util/android.js +2 -0
  11. package/dist/cjs/util/changing-window/count-events-for-safari.js +2 -0
  12. package/dist/cjs/util/popover-reset-styles.js +20 -3
  13. package/dist/es2019/adapter/element-adapter.js +3 -0
  14. package/dist/es2019/adapter/external-adapter.js +7 -0
  15. package/dist/es2019/adapter/text-selection-adapter.js +2 -0
  16. package/dist/es2019/public-utils/external/file.js +1 -0
  17. package/dist/es2019/public-utils/external/html.js +2 -0
  18. package/dist/es2019/public-utils/external/text.js +1 -0
  19. package/dist/es2019/public-utils/external/url.js +2 -0
  20. package/dist/es2019/util/android.js +2 -0
  21. package/dist/es2019/util/changing-window/count-events-for-safari.js +2 -0
  22. package/dist/es2019/util/popover-reset-styles.js +20 -3
  23. package/dist/esm/adapter/element-adapter.js +3 -0
  24. package/dist/esm/adapter/external-adapter.js +7 -0
  25. package/dist/esm/adapter/text-selection-adapter.js +2 -0
  26. package/dist/esm/public-utils/external/file.js +1 -0
  27. package/dist/esm/public-utils/external/html.js +2 -0
  28. package/dist/esm/public-utils/external/text.js +1 -0
  29. package/dist/esm/public-utils/external/url.js +2 -0
  30. package/dist/esm/util/android.js +2 -0
  31. package/dist/esm/util/changing-window/count-events-for-safari.js +2 -0
  32. package/dist/esm/util/popover-reset-styles.js +20 -3
  33. package/dist/types/util/popover-reset-styles.d.ts +17 -2
  34. package/element/adapter/package.json +1 -8
  35. package/element/block-dragging-to-iframes/package.json +1 -8
  36. package/element/center-under-pointer/package.json +1 -8
  37. package/element/disable-native-drag-preview/package.json +1 -8
  38. package/element/format-urls-for-external/package.json +1 -8
  39. package/element/pointer-outside-of-preview/package.json +1 -8
  40. package/element/preserve-offset-on-source/package.json +1 -8
  41. package/element/scroll-just-enough-into-view/package.json +1 -8
  42. package/element/set-custom-native-drag-preview/package.json +1 -8
  43. package/external/adapter/package.json +1 -8
  44. package/external/file/package.json +1 -8
  45. package/external/html/package.json +1 -8
  46. package/external/some/package.json +1 -8
  47. package/external/text/package.json +1 -8
  48. package/external/url/package.json +1 -8
  49. package/once/package.json +1 -8
  50. package/package.json +4 -12
  51. package/prevent-unhandled/package.json +1 -8
  52. package/private/get-element-from-point-without-honey-pot/package.json +1 -8
  53. package/reorder/package.json +1 -8
  54. package/text-selection/adapter/package.json +1 -8
  55. package/types/package.json +1 -8
  56. package/dist/types-ts4.5/adapter/element-adapter-native-data-key.d.ts +0 -6
  57. package/dist/types-ts4.5/adapter/element-adapter.d.ts +0 -57
  58. package/dist/types-ts4.5/adapter/external-adapter.d.ts +0 -40
  59. package/dist/types-ts4.5/adapter/text-selection-adapter.d.ts +0 -22
  60. package/dist/types-ts4.5/entry-point/cancel-unhandled.d.ts +0 -1
  61. package/dist/types-ts4.5/entry-point/combine.d.ts +0 -1
  62. package/dist/types-ts4.5/entry-point/element/adapter.d.ts +0 -3
  63. package/dist/types-ts4.5/entry-point/element/block-dragging-to-iframes.d.ts +0 -1
  64. package/dist/types-ts4.5/entry-point/element/center-under-pointer.d.ts +0 -1
  65. package/dist/types-ts4.5/entry-point/element/disable-native-drag-preview.d.ts +0 -1
  66. package/dist/types-ts4.5/entry-point/element/format-urls-for-external.d.ts +0 -1
  67. package/dist/types-ts4.5/entry-point/element/pointer-outside-of-preview.d.ts +0 -1
  68. package/dist/types-ts4.5/entry-point/element/preserve-offset-on-source.d.ts +0 -1
  69. package/dist/types-ts4.5/entry-point/element/scroll-just-enough-into-view.d.ts +0 -1
  70. package/dist/types-ts4.5/entry-point/element/set-custom-native-drag-preview.d.ts +0 -1
  71. package/dist/types-ts4.5/entry-point/external/adapter.d.ts +0 -3
  72. package/dist/types-ts4.5/entry-point/external/file.d.ts +0 -1
  73. package/dist/types-ts4.5/entry-point/external/html.d.ts +0 -1
  74. package/dist/types-ts4.5/entry-point/external/some.d.ts +0 -1
  75. package/dist/types-ts4.5/entry-point/external/text.d.ts +0 -1
  76. package/dist/types-ts4.5/entry-point/external/url.d.ts +0 -1
  77. package/dist/types-ts4.5/entry-point/once.d.ts +0 -1
  78. package/dist/types-ts4.5/entry-point/prevent-unhandled.d.ts +0 -1
  79. package/dist/types-ts4.5/entry-point/private/get-element-from-point-without-honey-pot.d.ts +0 -1
  80. package/dist/types-ts4.5/entry-point/reorder.d.ts +0 -1
  81. package/dist/types-ts4.5/entry-point/text-selection/adapter.d.ts +0 -3
  82. package/dist/types-ts4.5/entry-point/types.d.ts +0 -1
  83. package/dist/types-ts4.5/honey-pot-fix/get-element-from-point-without-honey-pot.d.ts +0 -2
  84. package/dist/types-ts4.5/honey-pot-fix/honey-pot-data-attribute.d.ts +0 -1
  85. package/dist/types-ts4.5/honey-pot-fix/is-honey-pot-element.d.ts +0 -1
  86. package/dist/types-ts4.5/honey-pot-fix/make-honey-pot-fix.d.ts +0 -8
  87. package/dist/types-ts4.5/index.d.ts +0 -2
  88. package/dist/types-ts4.5/internal-types.d.ts +0 -350
  89. package/dist/types-ts4.5/ledger/dispatch-consumer-event.d.ts +0 -26
  90. package/dist/types-ts4.5/ledger/lifecycle-manager.d.ts +0 -16
  91. package/dist/types-ts4.5/ledger/usage-ledger.d.ts +0 -5
  92. package/dist/types-ts4.5/make-adapter/make-adapter.d.ts +0 -18
  93. package/dist/types-ts4.5/make-adapter/make-drop-target.d.ts +0 -5
  94. package/dist/types-ts4.5/make-adapter/make-monitor.d.ts +0 -8
  95. package/dist/types-ts4.5/public-utils/combine.d.ts +0 -3
  96. package/dist/types-ts4.5/public-utils/custom-external-data-type-media-type-prefix.d.ts +0 -1
  97. package/dist/types-ts4.5/public-utils/element/block-dragging-to-iframes.d.ts +0 -13
  98. package/dist/types-ts4.5/public-utils/element/custom-native-drag-preview/center-under-pointer.d.ts +0 -2
  99. package/dist/types-ts4.5/public-utils/element/custom-native-drag-preview/pointer-outside-of-preview.d.ts +0 -32
  100. package/dist/types-ts4.5/public-utils/element/custom-native-drag-preview/preserve-offset-on-source.d.ts +0 -6
  101. package/dist/types-ts4.5/public-utils/element/custom-native-drag-preview/set-custom-native-drag-preview.d.ts +0 -35
  102. package/dist/types-ts4.5/public-utils/element/custom-native-drag-preview/types.d.ts +0 -16
  103. package/dist/types-ts4.5/public-utils/element/disable-native-drag-preview.d.ts +0 -3
  104. package/dist/types-ts4.5/public-utils/element/format-urls-for-external.d.ts +0 -31
  105. package/dist/types-ts4.5/public-utils/element/scroll-just-enough-into-view.d.ts +0 -7
  106. package/dist/types-ts4.5/public-utils/external/file.d.ts +0 -4
  107. package/dist/types-ts4.5/public-utils/external/html.d.ts +0 -3
  108. package/dist/types-ts4.5/public-utils/external/native-types.d.ts +0 -12
  109. package/dist/types-ts4.5/public-utils/external/some.d.ts +0 -20
  110. package/dist/types-ts4.5/public-utils/external/text.d.ts +0 -3
  111. package/dist/types-ts4.5/public-utils/external/url.d.ts +0 -3
  112. package/dist/types-ts4.5/public-utils/once.d.ts +0 -2
  113. package/dist/types-ts4.5/public-utils/prevent-unhandled.d.ts +0 -19
  114. package/dist/types-ts4.5/public-utils/reorder.d.ts +0 -10
  115. package/dist/types-ts4.5/util/add-attribute.d.ts +0 -5
  116. package/dist/types-ts4.5/util/android.d.ts +0 -2
  117. package/dist/types-ts4.5/util/changing-window/count-events-for-safari.d.ts +0 -6
  118. package/dist/types-ts4.5/util/changing-window/is-entering-window.d.ts +0 -3
  119. package/dist/types-ts4.5/util/changing-window/is-from-another-window.d.ts +0 -4
  120. package/dist/types-ts4.5/util/changing-window/is-leaving-window.d.ts +0 -3
  121. package/dist/types-ts4.5/util/detect-broken-drag.d.ts +0 -12
  122. package/dist/types-ts4.5/util/get-input.d.ts +0 -2
  123. package/dist/types-ts4.5/util/is-firefox.d.ts +0 -4
  124. package/dist/types-ts4.5/util/is-safari-on-ios.d.ts +0 -16
  125. package/dist/types-ts4.5/util/is-safari.d.ts +0 -7
  126. package/dist/types-ts4.5/util/max-z-index.d.ts +0 -1
  127. package/dist/types-ts4.5/util/media-types/html-media-type.d.ts +0 -1
  128. package/dist/types-ts4.5/util/media-types/text-media-type.d.ts +0 -1
  129. package/dist/types-ts4.5/util/media-types/url-media-type.d.ts +0 -1
  130. package/dist/types-ts4.5/util/popover-reset-styles.d.ts +0 -16
  131. package/dist/types-ts4.5/util/supports-popover.d.ts +0 -10
package/CHANGELOG.md CHANGED
@@ -1,5 +1,36 @@
1
1
  # @atlaskit/pragmatic-drag-and-drop
2
2
 
3
+ ## 2.0.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [`96e06cd0dc9cd`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/96e06cd0dc9cd) -
8
+ Some native drag previews in Safari were not rendering correctly when leveraging `[popover]` due
9
+ to an inconsistency with how Safari handles some of its top layer rendering. This has been fixed
10
+ by resetting some of the user agent properties to the same values as the non-popover path.
11
+
12
+ ## 2.0.0
13
+
14
+ ### Major Changes
15
+
16
+ - [`f2dc9097319f0`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/f2dc9097319f0) - ###
17
+ Dropped support for _legacy_ Typescript 4 types. **Typescript 5 is now the new minimum**.
18
+
19
+ Removes the `typesVersions` property and `dist/types-ts4.5` directory from the dist.
20
+
21
+ Types are now exclusively via the `"types": "dist/types/index.d.ts"` property.
22
+
23
+ ```diff
24
+ - "typesVersions": {
25
+ - ">=4.5 <4.9": {
26
+ - "*": [
27
+ - "dist/types-ts4.5/*",
28
+ - "dist/types-ts4.5/index.d.ts"
29
+ - ]
30
+ - }
31
+ - },
32
+ ```
33
+
3
34
  ## 1.8.1
4
35
 
5
36
  ### Patch Changes
@@ -4,12 +4,5 @@
4
4
  "module": "../dist/esm/entry-point/combine.js",
5
5
  "module:es2019": "../dist/es2019/entry-point/combine.js",
6
6
  "sideEffects": true,
7
- "types": "../dist/types/entry-point/combine.d.ts",
8
- "typesVersions": {
9
- ">=4.5 <5.9": {
10
- "*": [
11
- "../dist/types-ts4.5/entry-point/combine.d.ts"
12
- ]
13
- }
14
- }
7
+ "types": "../dist/types/entry-point/combine.d.ts"
15
8
  }
@@ -249,7 +249,10 @@ var adapter = (0, _makeAdapter.makeAdapter)({
249
249
  onPostDispatch: honeyPotFix.getOnPostDispatch()
250
250
  });
251
251
  var dropTargetForElements = exports.dropTargetForElements = adapter.dropTarget;
252
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
252
253
  var monitorForElements = exports.monitorForElements = adapter.monitor;
254
+
255
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
253
256
  function draggable(args) {
254
257
  // Guardrail: warn if the drag handle is not contained in draggable element
255
258
  if (process.env.NODE_ENV !== 'production') {
@@ -32,6 +32,8 @@ function isAnAvailableType(_ref) {
32
32
  }
33
33
  return true;
34
34
  }
35
+
36
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
35
37
  function getAvailableTypes(transfer) {
36
38
  return Array.from(transfer.types).filter(function (type) {
37
39
  return isAnAvailableType({
@@ -40,6 +42,8 @@ function getAvailableTypes(transfer) {
40
42
  });
41
43
  });
42
44
  }
45
+
46
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
43
47
  function getAvailableItems(dataTransfer) {
44
48
  // item.kind is 'string' | 'file'
45
49
  // For 'string' item.type is the mimeType (eg 'text/plain')
@@ -168,10 +172,13 @@ var adapter = (0, _makeAdapter.makeAdapter)({
168
172
  * don't need `onDragStart`
169
173
  */
170
174
 
175
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
171
176
  function dropTargetForExternal(args) {
172
177
  // not removing unused events, just leaning on the type system
173
178
  return adapter.dropTarget(args);
174
179
  }
180
+
181
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
175
182
  function monitorForExternal(args) {
176
183
  // not removing unused events, just leaning on the type system
177
184
  return adapter.monitor(args);
@@ -149,6 +149,8 @@ function dropTargetForTextSelection(args) {
149
149
  }
150
150
  adapter.registerUsage();
151
151
  })();
152
+
153
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
152
154
  function monitorForTextSelection(args) {
153
155
  // note: not removing `onGenerateDragPreview`; just leaning on the type system
154
156
  return adapter.monitor(args);
@@ -11,6 +11,7 @@ function containsFiles(_ref) {
11
11
  }
12
12
 
13
13
  /** Obtain an array of the dragged `File`s */
14
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
14
15
  function getFiles(_ref2) {
15
16
  var source = _ref2.source;
16
17
  return source.items
@@ -10,6 +10,8 @@ function containsHTML(_ref) {
10
10
  var source = _ref.source;
11
11
  return source.types.includes(_htmlMediaType.HTMLMediaType);
12
12
  }
13
+
14
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
13
15
  function getHTML(_ref2) {
14
16
  var source = _ref2.source;
15
17
  return source.getStringData(_htmlMediaType.HTMLMediaType);
@@ -12,6 +12,7 @@ function containsText(_ref) {
12
12
  }
13
13
 
14
14
  /* Get the plain text that a user is dragging */
15
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
15
16
  function getText(_ref2) {
16
17
  var source = _ref2.source;
17
18
  return source.getStringData(_textMediaType.textMediaType);
@@ -20,6 +20,8 @@ function containsURLs(_ref) {
20
20
  var source = _ref.source;
21
21
  return source.types.includes(_urlMediaType.URLMediaType) || source.types.includes(firefoxURLType);
22
22
  }
23
+
24
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
23
25
  function getURLs(_ref2) {
24
26
  var source = _ref2.source;
25
27
  var standard = source.getStringData(_urlMediaType.URLMediaType);
@@ -10,4 +10,6 @@ var _once = require("../public-utils/once");
10
10
  var isAndroid = exports.isAndroid = (0, _once.once)(function isAndroid() {
11
11
  return navigator.userAgent.toLocaleLowerCase().includes('android');
12
12
  });
13
+
14
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
13
15
  var androidFallbackText = exports.androidFallbackText = 'pdnd:android-fallback';
@@ -27,6 +27,8 @@ function isEnteringWindowInSafari(_ref) {
27
27
  }
28
28
  return dragEnter.hasOwnProperty(symbols.isEnteringWindow);
29
29
  }
30
+
31
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
30
32
  function isLeavingWindowInSafari(_ref2) {
31
33
  var dragLeave = _ref2.dragLeave;
32
34
  if (!(0, _isSafari.isSafari)()) {
@@ -15,8 +15,23 @@ exports.popoverResetUserAgentStyles = void 0;
15
15
  * - `color: CanvasText` + `background-color: Canvas` → system theme colors
16
16
  *
17
17
  * This object neutralizes those defaults so the popover behaves like a plain
18
- * positioned element. `width` and `height` (UA default: `fit-content`) are not
19
- * reset here because consumers set their own dimensions.
18
+ * positioned `<div>`, matching the sizing of the legacy (non-popover)
19
+ * fallback container exactly.
20
+ *
21
+ * **Width and height (`auto`)**
22
+ *
23
+ * `width` and `height` override the spec user agent value of `fit-content`
24
+ * with `auto`.
25
+ *
26
+ * _Why?_
27
+ *
28
+ * - When a `[popover]` is sized with `fit-content` and contains a flex
29
+ * container, Safari collapses any flex item that uses `overflow: auto`
30
+ * to `0px`.
31
+ * - Setting the popover's `width` and `height` to `auto` skips the `fit-content`
32
+ * pass and avoids the bug in Safari
33
+ * - Chromium and Firefox tolerate `fit-content` here, but `auto` is safe
34
+ * everywhere and matches our non-popover path
20
35
  */
21
36
  var popoverResetUserAgentStyles = exports.popoverResetUserAgentStyles = {
22
37
  inset: 'unset',
@@ -25,5 +40,7 @@ var popoverResetUserAgentStyles = exports.popoverResetUserAgentStyles = {
25
40
  margin: 0,
26
41
  overflow: 'visible',
27
42
  color: 'inherit',
28
- background: 'transparent'
43
+ background: 'transparent',
44
+ width: 'auto',
45
+ height: 'auto'
29
46
  };
@@ -246,7 +246,10 @@ const adapter = makeAdapter({
246
246
  onPostDispatch: honeyPotFix.getOnPostDispatch()
247
247
  });
248
248
  export const dropTargetForElements = adapter.dropTarget;
249
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
249
250
  export const monitorForElements = adapter.monitor;
251
+
252
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
250
253
  export function draggable(args) {
251
254
  // Guardrail: warn if the drag handle is not contained in draggable element
252
255
  if (process.env.NODE_ENV !== 'production') {
@@ -21,12 +21,16 @@ export function isAnAvailableType({
21
21
  }
22
22
  return true;
23
23
  }
24
+
25
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
24
26
  export function getAvailableTypes(transfer) {
25
27
  return Array.from(transfer.types).filter(type => isAnAvailableType({
26
28
  type,
27
29
  value: transfer.getData(type)
28
30
  }));
29
31
  }
32
+
33
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
30
34
  export function getAvailableItems(dataTransfer) {
31
35
  // item.kind is 'string' | 'file'
32
36
  // For 'string' item.type is the mimeType (eg 'text/plain')
@@ -159,10 +163,13 @@ const adapter = makeAdapter({
159
163
  * don't need `onDragStart`
160
164
  */
161
165
 
166
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
162
167
  export function dropTargetForExternal(args) {
163
168
  // not removing unused events, just leaning on the type system
164
169
  return adapter.dropTarget(args);
165
170
  }
171
+
172
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
166
173
  export function monitorForExternal(args) {
167
174
  // not removing unused events, just leaning on the type system
168
175
  return adapter.monitor(args);
@@ -148,6 +148,8 @@ export function dropTargetForTextSelection(args) {
148
148
  }
149
149
  adapter.registerUsage();
150
150
  })();
151
+
152
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
151
153
  export function monitorForTextSelection(args) {
152
154
  // note: not removing `onGenerateDragPreview`; just leaning on the type system
153
155
  return adapter.monitor(args);
@@ -5,6 +5,7 @@ export function containsFiles({
5
5
  }
6
6
 
7
7
  /** Obtain an array of the dragged `File`s */
8
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
8
9
  export function getFiles({
9
10
  source
10
11
  }) {
@@ -4,6 +4,8 @@ export function containsHTML({
4
4
  }) {
5
5
  return source.types.includes(HTMLMediaType);
6
6
  }
7
+
8
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
7
9
  export function getHTML({
8
10
  source
9
11
  }) {
@@ -6,6 +6,7 @@ export function containsText({
6
6
  }
7
7
 
8
8
  /* Get the plain text that a user is dragging */
9
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
9
10
  export function getText({
10
11
  source
11
12
  }) {
@@ -14,6 +14,8 @@ export function containsURLs({
14
14
  }) {
15
15
  return source.types.includes(URLMediaType) || source.types.includes(firefoxURLType);
16
16
  }
17
+
18
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
17
19
  export function getURLs({
18
20
  source
19
21
  }) {
@@ -5,4 +5,6 @@ import { once } from '../public-utils/once';
5
5
  export const isAndroid = once(function isAndroid() {
6
6
  return navigator.userAgent.toLocaleLowerCase().includes('android');
7
7
  });
8
+
9
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
8
10
  export const androidFallbackText = 'pdnd:android-fallback';
@@ -22,6 +22,8 @@ export function isEnteringWindowInSafari({
22
22
  }
23
23
  return dragEnter.hasOwnProperty(symbols.isEnteringWindow);
24
24
  }
25
+
26
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
25
27
  export function isLeavingWindowInSafari({
26
28
  dragLeave
27
29
  }) {
@@ -9,8 +9,23 @@
9
9
  * - `color: CanvasText` + `background-color: Canvas` → system theme colors
10
10
  *
11
11
  * This object neutralizes those defaults so the popover behaves like a plain
12
- * positioned element. `width` and `height` (UA default: `fit-content`) are not
13
- * reset here because consumers set their own dimensions.
12
+ * positioned `<div>`, matching the sizing of the legacy (non-popover)
13
+ * fallback container exactly.
14
+ *
15
+ * **Width and height (`auto`)**
16
+ *
17
+ * `width` and `height` override the spec user agent value of `fit-content`
18
+ * with `auto`.
19
+ *
20
+ * _Why?_
21
+ *
22
+ * - When a `[popover]` is sized with `fit-content` and contains a flex
23
+ * container, Safari collapses any flex item that uses `overflow: auto`
24
+ * to `0px`.
25
+ * - Setting the popover's `width` and `height` to `auto` skips the `fit-content`
26
+ * pass and avoids the bug in Safari
27
+ * - Chromium and Firefox tolerate `fit-content` here, but `auto` is safe
28
+ * everywhere and matches our non-popover path
14
29
  */
15
30
  export const popoverResetUserAgentStyles = {
16
31
  inset: 'unset',
@@ -19,5 +34,7 @@ export const popoverResetUserAgentStyles = {
19
34
  margin: 0,
20
35
  overflow: 'visible',
21
36
  color: 'inherit',
22
- background: 'transparent'
37
+ background: 'transparent',
38
+ width: 'auto',
39
+ height: 'auto'
23
40
  };
@@ -241,7 +241,10 @@ var adapter = makeAdapter({
241
241
  onPostDispatch: honeyPotFix.getOnPostDispatch()
242
242
  });
243
243
  export var dropTargetForElements = adapter.dropTarget;
244
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
244
245
  export var monitorForElements = adapter.monitor;
246
+
247
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
245
248
  export function draggable(args) {
246
249
  // Guardrail: warn if the drag handle is not contained in draggable element
247
250
  if (process.env.NODE_ENV !== 'production') {
@@ -21,6 +21,8 @@ export function isAnAvailableType(_ref) {
21
21
  }
22
22
  return true;
23
23
  }
24
+
25
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
24
26
  export function getAvailableTypes(transfer) {
25
27
  return Array.from(transfer.types).filter(function (type) {
26
28
  return isAnAvailableType({
@@ -29,6 +31,8 @@ export function getAvailableTypes(transfer) {
29
31
  });
30
32
  });
31
33
  }
34
+
35
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
32
36
  export function getAvailableItems(dataTransfer) {
33
37
  // item.kind is 'string' | 'file'
34
38
  // For 'string' item.type is the mimeType (eg 'text/plain')
@@ -157,10 +161,13 @@ var adapter = makeAdapter({
157
161
  * don't need `onDragStart`
158
162
  */
159
163
 
164
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
160
165
  export function dropTargetForExternal(args) {
161
166
  // not removing unused events, just leaning on the type system
162
167
  return adapter.dropTarget(args);
163
168
  }
169
+
170
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
164
171
  export function monitorForExternal(args) {
165
172
  // not removing unused events, just leaning on the type system
166
173
  return adapter.monitor(args);
@@ -142,6 +142,8 @@ export function dropTargetForTextSelection(args) {
142
142
  }
143
143
  adapter.registerUsage();
144
144
  })();
145
+
146
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
145
147
  export function monitorForTextSelection(args) {
146
148
  // note: not removing `onGenerateDragPreview`; just leaning on the type system
147
149
  return adapter.monitor(args);
@@ -4,6 +4,7 @@ export function containsFiles(_ref) {
4
4
  }
5
5
 
6
6
  /** Obtain an array of the dragged `File`s */
7
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
7
8
  export function getFiles(_ref2) {
8
9
  var source = _ref2.source;
9
10
  return source.items
@@ -3,6 +3,8 @@ export function containsHTML(_ref) {
3
3
  var source = _ref.source;
4
4
  return source.types.includes(HTMLMediaType);
5
5
  }
6
+
7
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
6
8
  export function getHTML(_ref2) {
7
9
  var source = _ref2.source;
8
10
  return source.getStringData(HTMLMediaType);
@@ -5,6 +5,7 @@ export function containsText(_ref) {
5
5
  }
6
6
 
7
7
  /* Get the plain text that a user is dragging */
8
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
8
9
  export function getText(_ref2) {
9
10
  var source = _ref2.source;
10
11
  return source.getStringData(textMediaType);
@@ -13,6 +13,8 @@ export function containsURLs(_ref) {
13
13
  var source = _ref.source;
14
14
  return source.types.includes(URLMediaType) || source.types.includes(firefoxURLType);
15
15
  }
16
+
17
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
16
18
  export function getURLs(_ref2) {
17
19
  var source = _ref2.source;
18
20
  var standard = source.getStringData(URLMediaType);
@@ -5,4 +5,6 @@ import { once } from '../public-utils/once';
5
5
  export var isAndroid = once(function isAndroid() {
6
6
  return navigator.userAgent.toLocaleLowerCase().includes('android');
7
7
  });
8
+
9
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
8
10
  export var androidFallbackText = 'pdnd:android-fallback';
@@ -21,6 +21,8 @@ export function isEnteringWindowInSafari(_ref) {
21
21
  }
22
22
  return dragEnter.hasOwnProperty(symbols.isEnteringWindow);
23
23
  }
24
+
25
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
24
26
  export function isLeavingWindowInSafari(_ref2) {
25
27
  var dragLeave = _ref2.dragLeave;
26
28
  if (!isSafari()) {
@@ -9,8 +9,23 @@
9
9
  * - `color: CanvasText` + `background-color: Canvas` → system theme colors
10
10
  *
11
11
  * This object neutralizes those defaults so the popover behaves like a plain
12
- * positioned element. `width` and `height` (UA default: `fit-content`) are not
13
- * reset here because consumers set their own dimensions.
12
+ * positioned `<div>`, matching the sizing of the legacy (non-popover)
13
+ * fallback container exactly.
14
+ *
15
+ * **Width and height (`auto`)**
16
+ *
17
+ * `width` and `height` override the spec user agent value of `fit-content`
18
+ * with `auto`.
19
+ *
20
+ * _Why?_
21
+ *
22
+ * - When a `[popover]` is sized with `fit-content` and contains a flex
23
+ * container, Safari collapses any flex item that uses `overflow: auto`
24
+ * to `0px`.
25
+ * - Setting the popover's `width` and `height` to `auto` skips the `fit-content`
26
+ * pass and avoids the bug in Safari
27
+ * - Chromium and Firefox tolerate `fit-content` here, but `auto` is safe
28
+ * everywhere and matches our non-popover path
14
29
  */
15
30
  export var popoverResetUserAgentStyles = {
16
31
  inset: 'unset',
@@ -19,5 +34,7 @@ export var popoverResetUserAgentStyles = {
19
34
  margin: 0,
20
35
  overflow: 'visible',
21
36
  color: 'inherit',
22
- background: 'transparent'
37
+ background: 'transparent',
38
+ width: 'auto',
39
+ height: 'auto'
23
40
  };
@@ -10,7 +10,22 @@ import type { CSSProperties } from 'react';
10
10
  * - `color: CanvasText` + `background-color: Canvas` → system theme colors
11
11
  *
12
12
  * This object neutralizes those defaults so the popover behaves like a plain
13
- * positioned element. `width` and `height` (UA default: `fit-content`) are not
14
- * reset here because consumers set their own dimensions.
13
+ * positioned `<div>`, matching the sizing of the legacy (non-popover)
14
+ * fallback container exactly.
15
+ *
16
+ * **Width and height (`auto`)**
17
+ *
18
+ * `width` and `height` override the spec user agent value of `fit-content`
19
+ * with `auto`.
20
+ *
21
+ * _Why?_
22
+ *
23
+ * - When a `[popover]` is sized with `fit-content` and contains a flex
24
+ * container, Safari collapses any flex item that uses `overflow: auto`
25
+ * to `0px`.
26
+ * - Setting the popover's `width` and `height` to `auto` skips the `fit-content`
27
+ * pass and avoids the bug in Safari
28
+ * - Chromium and Firefox tolerate `fit-content` here, but `auto` is safe
29
+ * everywhere and matches our non-popover path
15
30
  */
16
31
  export declare const popoverResetUserAgentStyles: CSSProperties;
@@ -4,12 +4,5 @@
4
4
  "module": "../../dist/esm/entry-point/element/adapter.js",
5
5
  "module:es2019": "../../dist/es2019/entry-point/element/adapter.js",
6
6
  "sideEffects": true,
7
- "types": "../../dist/types/entry-point/element/adapter.d.ts",
8
- "typesVersions": {
9
- ">=4.5 <5.9": {
10
- "*": [
11
- "../../dist/types-ts4.5/entry-point/element/adapter.d.ts"
12
- ]
13
- }
14
- }
7
+ "types": "../../dist/types/entry-point/element/adapter.d.ts"
15
8
  }
@@ -4,12 +4,5 @@
4
4
  "module": "../../dist/esm/entry-point/element/block-dragging-to-iframes.js",
5
5
  "module:es2019": "../../dist/es2019/entry-point/element/block-dragging-to-iframes.js",
6
6
  "sideEffects": true,
7
- "types": "../../dist/types/entry-point/element/block-dragging-to-iframes.d.ts",
8
- "typesVersions": {
9
- ">=4.5 <5.9": {
10
- "*": [
11
- "../../dist/types-ts4.5/entry-point/element/block-dragging-to-iframes.d.ts"
12
- ]
13
- }
14
- }
7
+ "types": "../../dist/types/entry-point/element/block-dragging-to-iframes.d.ts"
15
8
  }
@@ -4,12 +4,5 @@
4
4
  "module": "../../dist/esm/entry-point/element/center-under-pointer.js",
5
5
  "module:es2019": "../../dist/es2019/entry-point/element/center-under-pointer.js",
6
6
  "sideEffects": true,
7
- "types": "../../dist/types/entry-point/element/center-under-pointer.d.ts",
8
- "typesVersions": {
9
- ">=4.5 <5.9": {
10
- "*": [
11
- "../../dist/types-ts4.5/entry-point/element/center-under-pointer.d.ts"
12
- ]
13
- }
14
- }
7
+ "types": "../../dist/types/entry-point/element/center-under-pointer.d.ts"
15
8
  }
@@ -4,12 +4,5 @@
4
4
  "module": "../../dist/esm/entry-point/element/disable-native-drag-preview.js",
5
5
  "module:es2019": "../../dist/es2019/entry-point/element/disable-native-drag-preview.js",
6
6
  "sideEffects": true,
7
- "types": "../../dist/types/entry-point/element/disable-native-drag-preview.d.ts",
8
- "typesVersions": {
9
- ">=4.5 <5.9": {
10
- "*": [
11
- "../../dist/types-ts4.5/entry-point/element/disable-native-drag-preview.d.ts"
12
- ]
13
- }
14
- }
7
+ "types": "../../dist/types/entry-point/element/disable-native-drag-preview.d.ts"
15
8
  }
@@ -4,12 +4,5 @@
4
4
  "module": "../../dist/esm/entry-point/element/format-urls-for-external.js",
5
5
  "module:es2019": "../../dist/es2019/entry-point/element/format-urls-for-external.js",
6
6
  "sideEffects": true,
7
- "types": "../../dist/types/entry-point/element/format-urls-for-external.d.ts",
8
- "typesVersions": {
9
- ">=4.5 <5.9": {
10
- "*": [
11
- "../../dist/types-ts4.5/entry-point/element/format-urls-for-external.d.ts"
12
- ]
13
- }
14
- }
7
+ "types": "../../dist/types/entry-point/element/format-urls-for-external.d.ts"
15
8
  }
@@ -4,12 +4,5 @@
4
4
  "module": "../../dist/esm/entry-point/element/pointer-outside-of-preview.js",
5
5
  "module:es2019": "../../dist/es2019/entry-point/element/pointer-outside-of-preview.js",
6
6
  "sideEffects": true,
7
- "types": "../../dist/types/entry-point/element/pointer-outside-of-preview.d.ts",
8
- "typesVersions": {
9
- ">=4.5 <5.9": {
10
- "*": [
11
- "../../dist/types-ts4.5/entry-point/element/pointer-outside-of-preview.d.ts"
12
- ]
13
- }
14
- }
7
+ "types": "../../dist/types/entry-point/element/pointer-outside-of-preview.d.ts"
15
8
  }
@@ -4,12 +4,5 @@
4
4
  "module": "../../dist/esm/entry-point/element/preserve-offset-on-source.js",
5
5
  "module:es2019": "../../dist/es2019/entry-point/element/preserve-offset-on-source.js",
6
6
  "sideEffects": true,
7
- "types": "../../dist/types/entry-point/element/preserve-offset-on-source.d.ts",
8
- "typesVersions": {
9
- ">=4.5 <5.9": {
10
- "*": [
11
- "../../dist/types-ts4.5/entry-point/element/preserve-offset-on-source.d.ts"
12
- ]
13
- }
14
- }
7
+ "types": "../../dist/types/entry-point/element/preserve-offset-on-source.d.ts"
15
8
  }
@@ -4,12 +4,5 @@
4
4
  "module": "../../dist/esm/entry-point/element/scroll-just-enough-into-view.js",
5
5
  "module:es2019": "../../dist/es2019/entry-point/element/scroll-just-enough-into-view.js",
6
6
  "sideEffects": true,
7
- "types": "../../dist/types/entry-point/element/scroll-just-enough-into-view.d.ts",
8
- "typesVersions": {
9
- ">=4.5 <5.9": {
10
- "*": [
11
- "../../dist/types-ts4.5/entry-point/element/scroll-just-enough-into-view.d.ts"
12
- ]
13
- }
14
- }
7
+ "types": "../../dist/types/entry-point/element/scroll-just-enough-into-view.d.ts"
15
8
  }