@atlaskit/popup 1.28.3 → 1.28.5

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 CHANGED
@@ -1,5 +1,20 @@
1
1
  # @atlaskit/popup
2
2
 
3
+ ## 1.28.5
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+
9
+ ## 1.28.4
10
+
11
+ ### Patch Changes
12
+
13
+ - [#153563](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/153563)
14
+ [`f737df437eb7a`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/f737df437eb7a) -
15
+ Support close type in popup to not close all layers
16
+ - Updated dependencies
17
+
3
18
  ## 1.28.3
4
19
 
5
20
  ### Patch Changes
@@ -72,13 +72,22 @@ var useCloseManager = exports.useCloseManager = function useCloseManager(_ref) {
72
72
  return;
73
73
  }
74
74
  if (isLayerDisabled()) {
75
- //if it is a disabled layer, and we clicked inside a higher layer
76
- //we will disable the click event
77
75
  if ((0, _platformFeatureFlags.fg)('design-system-closed-all-when-click-outside')) {
78
76
  if (target instanceof HTMLElement) {
79
77
  var _target$closest;
80
- var levelOfClickedLayer = (_target$closest = target.closest) === null || _target$closest === void 0 || (_target$closest = _target$closest.call(target, "[data-ds--level]")) === null || _target$closest === void 0 ? void 0 : _target$closest.getAttribute('data-ds--level');
78
+ var layeredElement = (_target$closest = target.closest) === null || _target$closest === void 0 ? void 0 : _target$closest.call(target, "[data-ds--level]");
79
+ if (!layeredElement) {
80
+ // if no layered element, we disable the click event of disabled layers.
81
+ return;
82
+ }
83
+ var closeType = layeredElement.getAttribute('[data-ds--close--type]');
84
+ if (closeType === 'single') {
85
+ // if the close type is single, we won't close other disabled layers when clicking outside
86
+ return;
87
+ }
88
+ var levelOfClickedLayer = layeredElement.getAttribute('data-ds--level');
81
89
  if (levelOfClickedLayer && Number(levelOfClickedLayer) > currentLevel) {
90
+ // won't trigger onClick event when we click in a higher layer.
82
91
  return;
83
92
  }
84
93
  }
@@ -69,13 +69,22 @@ export const useCloseManager = ({
69
69
  return;
70
70
  }
71
71
  if (isLayerDisabled()) {
72
- //if it is a disabled layer, and we clicked inside a higher layer
73
- //we will disable the click event
74
72
  if (fg('design-system-closed-all-when-click-outside')) {
75
73
  if (target instanceof HTMLElement) {
76
- var _target$closest, _target$closest$call;
77
- const levelOfClickedLayer = (_target$closest = target.closest) === null || _target$closest === void 0 ? void 0 : (_target$closest$call = _target$closest.call(target, `[data-ds--level]`)) === null || _target$closest$call === void 0 ? void 0 : _target$closest$call.getAttribute('data-ds--level');
74
+ var _target$closest;
75
+ const layeredElement = (_target$closest = target.closest) === null || _target$closest === void 0 ? void 0 : _target$closest.call(target, `[data-ds--level]`);
76
+ if (!layeredElement) {
77
+ // if no layered element, we disable the click event of disabled layers.
78
+ return;
79
+ }
80
+ const closeType = layeredElement.getAttribute('[data-ds--close--type]');
81
+ if (closeType === 'single') {
82
+ // if the close type is single, we won't close other disabled layers when clicking outside
83
+ return;
84
+ }
85
+ const levelOfClickedLayer = layeredElement.getAttribute('data-ds--level');
78
86
  if (levelOfClickedLayer && Number(levelOfClickedLayer) > currentLevel) {
87
+ // won't trigger onClick event when we click in a higher layer.
79
88
  return;
80
89
  }
81
90
  }
@@ -64,13 +64,22 @@ export var useCloseManager = function useCloseManager(_ref) {
64
64
  return;
65
65
  }
66
66
  if (isLayerDisabled()) {
67
- //if it is a disabled layer, and we clicked inside a higher layer
68
- //we will disable the click event
69
67
  if (fg('design-system-closed-all-when-click-outside')) {
70
68
  if (target instanceof HTMLElement) {
71
69
  var _target$closest;
72
- var levelOfClickedLayer = (_target$closest = target.closest) === null || _target$closest === void 0 || (_target$closest = _target$closest.call(target, "[data-ds--level]")) === null || _target$closest === void 0 ? void 0 : _target$closest.getAttribute('data-ds--level');
70
+ var layeredElement = (_target$closest = target.closest) === null || _target$closest === void 0 ? void 0 : _target$closest.call(target, "[data-ds--level]");
71
+ if (!layeredElement) {
72
+ // if no layered element, we disable the click event of disabled layers.
73
+ return;
74
+ }
75
+ var closeType = layeredElement.getAttribute('[data-ds--close--type]');
76
+ if (closeType === 'single') {
77
+ // if the close type is single, we won't close other disabled layers when clicking outside
78
+ return;
79
+ }
80
+ var levelOfClickedLayer = layeredElement.getAttribute('data-ds--level');
73
81
  if (levelOfClickedLayer && Number(levelOfClickedLayer) > currentLevel) {
82
+ // won't trigger onClick event when we click in a higher layer.
74
83
  return;
75
84
  }
76
85
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/popup",
3
- "version": "1.28.3",
3
+ "version": "1.28.5",
4
4
  "description": "A popup displays brief content in an overlay.",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -39,12 +39,12 @@
39
39
  "@atlaskit/css": "^0.5.0",
40
40
  "@atlaskit/ds-lib": "^3.1.0",
41
41
  "@atlaskit/focus-ring": "^1.6.0",
42
- "@atlaskit/layering": "^0.6.0",
42
+ "@atlaskit/layering": "^0.7.0",
43
43
  "@atlaskit/platform-feature-flags": "^0.3.0",
44
44
  "@atlaskit/popper": "^6.3.0",
45
45
  "@atlaskit/portal": "^4.9.0",
46
46
  "@atlaskit/primitives": "^12.2.0",
47
- "@atlaskit/theme": "^13.0.0",
47
+ "@atlaskit/theme": "^14.0.0",
48
48
  "@atlaskit/tokens": "^2.0.0",
49
49
  "@babel/runtime": "^7.0.0",
50
50
  "@emotion/react": "^11.7.1",