@splunk/react-ui 4.16.2 → 4.17.0

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 (176) hide show
  1. package/Accordion.js +13 -13
  2. package/Anchor.js +2 -2
  3. package/Animation.js +4 -4
  4. package/AnimationToggle.js +2 -2
  5. package/Box.js +2 -2
  6. package/Button.js +98 -244
  7. package/ButtonGroup.js +4 -4
  8. package/ButtonSimple.js +6 -6
  9. package/CHANGELOG.md +50 -2
  10. package/Calendar.js +73 -274
  11. package/Card.js +75 -227
  12. package/CardLayout.js +2 -2
  13. package/Chip.js +40 -211
  14. package/Clickable.js +10 -10
  15. package/CloseButton.js +34 -202
  16. package/Code.js +27 -20
  17. package/CollapsiblePanel.js +74 -228
  18. package/Color.js +62 -319
  19. package/ColumnLayout.js +6 -6
  20. package/ComboBox.js +32 -32
  21. package/Concertina.js +38 -38
  22. package/ControlGroup.js +20 -20
  23. package/Date.js +22 -22
  24. package/DefinitionList.js +2 -2
  25. package/Divider.js +2 -2
  26. package/Dropdown.js +29 -29
  27. package/DualListbox.d.ts +2 -0
  28. package/DualListbox.js +1780 -0
  29. package/EventListener.js +4 -4
  30. package/File.js +85 -250
  31. package/FormRows.js +60 -215
  32. package/Heading.js +39 -27
  33. package/Image.js +73 -227
  34. package/JSONTree.js +18 -18
  35. package/Layer.js +30 -30
  36. package/Link.js +60 -28
  37. package/List.js +9 -9
  38. package/MIGRATION.md +28 -0
  39. package/Markdown.js +21 -21
  40. package/Menu.js +180 -371
  41. package/Message.js +137 -407
  42. package/MessageBar.js +168 -398
  43. package/Modal.js +31 -31
  44. package/ModalLayer.js +6 -6
  45. package/Monogram.js +4 -4
  46. package/Multiselect.js +2297 -2525
  47. package/Number.js +32 -32
  48. package/Paginator.js +92 -321
  49. package/Paragraph.js +2 -2
  50. package/Popover.js +287 -136
  51. package/Progress.js +15 -15
  52. package/RadioBar.js +23 -19
  53. package/RadioList.js +13 -12
  54. package/Resize.js +18 -18
  55. package/ResultsMenu.js +21 -21
  56. package/ScreenReaderContent.js +2 -2
  57. package/Scroll.js +33 -33
  58. package/ScrollContainerContext.js +13 -13
  59. package/Search.js +34 -32
  60. package/Select.js +220 -367
  61. package/SidePanel.js +12 -12
  62. package/Slider.js +28 -28
  63. package/SlidingPanels.js +29 -29
  64. package/SplitButton.js +59 -62
  65. package/StaticContent.js +4 -4
  66. package/StepBar.js +35 -238
  67. package/Switch.js +23 -23
  68. package/TabBar.js +30 -44
  69. package/TabLayout.js +30 -28
  70. package/Table.js +292 -586
  71. package/Text.js +109 -322
  72. package/TextArea.js +160 -366
  73. package/Tooltip.js +28 -132
  74. package/TransitionOpen.js +21 -21
  75. package/Typography.js +32 -28
  76. package/WaitSpinner.js +2 -2
  77. package/docker-compose.yml +19 -7
  78. package/package.json +10 -11
  79. package/stubs-splunkui.d.ts +4 -1
  80. package/types/src/Button/icons/CaretSmallDown.d.ts +2 -0
  81. package/types/src/Button/icons/External.d.ts +2 -0
  82. package/types/src/Code/Code.d.ts +6 -1
  83. package/types/src/CollapsiblePanel/CollapsiblePanel.d.ts +0 -1
  84. package/types/src/CollapsiblePanel/icons/ExpandPanel.d.ts +11 -0
  85. package/types/src/Date/Icon.d.ts +1 -1
  86. package/types/src/Dropdown/docs/examples/Submenu.d.ts +2 -0
  87. package/types/src/DualListbox/DualListbox.d.ts +87 -0
  88. package/types/src/DualListbox/DualListboxContext.d.ts +27 -0
  89. package/types/src/DualListbox/Label.d.ts +37 -0
  90. package/types/src/DualListbox/Listbox.d.ts +54 -0
  91. package/types/src/DualListbox/ListboxContext.d.ts +32 -0
  92. package/types/src/DualListbox/Option.d.ts +35 -0
  93. package/types/src/DualListbox/ScreenReaderWrapper.d.ts +4 -0
  94. package/types/src/DualListbox/ToolbarButton.d.ts +38 -0
  95. package/types/src/DualListbox/ToolbarContext.d.ts +21 -0
  96. package/types/src/DualListbox/docs/examples/Basic.d.ts +2 -0
  97. package/types/src/DualListbox/docs/examples/Controlled.d.ts +2 -0
  98. package/types/src/DualListbox/docs/examples/Fill.d.ts +2 -0
  99. package/types/src/DualListbox/index.d.ts +2 -0
  100. package/types/src/DualListbox/listboxUtils.d.ts +4 -0
  101. package/types/src/File/Icon.d.ts +1 -1
  102. package/types/src/File/IconCloud.d.ts +1 -1
  103. package/types/src/File/PaperClip.d.ts +1 -1
  104. package/types/src/File/Retry.d.ts +1 -1
  105. package/types/src/File/Trash.d.ts +1 -1
  106. package/types/src/File/docs/examples/Progress.d.ts +1 -15
  107. package/types/src/FormRows/icons/FormRowsPlusIcon.d.ts +2 -0
  108. package/types/src/Heading/Heading.d.ts +12 -4
  109. package/types/src/Heading/docs/examples/Variant.d.ts +2 -0
  110. package/types/src/Image/Image.d.ts +1 -1
  111. package/types/src/Image/icons/Cross.d.ts +2 -0
  112. package/types/src/Link/icons/External.d.ts +2 -0
  113. package/types/src/Menu/Divider.d.ts +1 -0
  114. package/types/src/Menu/Heading.d.ts +1 -0
  115. package/types/src/Menu/Item.d.ts +5 -2
  116. package/types/src/Menu/Menu.d.ts +3 -1
  117. package/types/src/Menu/icons/External.d.ts +2 -0
  118. package/types/src/Number/IncrementIcon.d.ts +1 -1
  119. package/types/src/Popover/Popover.d.ts +7 -9
  120. package/types/src/Popover/PopoverHitArea.d.ts +9 -0
  121. package/types/src/RadioBar/RadioBar.d.ts +1 -1
  122. package/types/src/Search/Option.d.ts +9 -0
  123. package/types/src/Select/OptionBase.d.ts +9 -0
  124. package/types/src/Select/icons/CaretSmallDown.d.ts +2 -0
  125. package/types/src/Select/icons/Search.d.ts +2 -0
  126. package/types/src/SplitButton/SplitButton.d.ts +8 -3
  127. package/types/src/SplitButton/docs/examples/Block.d.ts +1 -0
  128. package/types/src/TabLayout/TabLayout.d.ts +0 -1
  129. package/types/src/Table/HeadInner.d.ts +2 -2
  130. package/types/src/Table/icons/ExpansionRow.d.ts +6 -0
  131. package/types/src/Table/icons/HeadExpandRows.d.ts +1 -0
  132. package/types/src/Text/IconOutlinedHide.d.ts +1 -1
  133. package/types/src/Text/IconOutlinedView.d.ts +1 -1
  134. package/types/src/Tooltip/InfoIcon.d.ts +1 -1
  135. package/types/src/Tooltip/Tooltip.d.ts +0 -4
  136. package/types/src/Typography/Typography.d.ts +4 -7
  137. package/types/src/useRovingFocus/index.d.ts +2 -0
  138. package/types/src/useRovingFocus/useRovingFocus.d.ts +27 -0
  139. package/useForceUpdate.js +2 -2
  140. package/useKeyPress.js +2 -2
  141. package/usePrevious.js +2 -2
  142. package/useRovingFocus.d.ts +2 -0
  143. package/useRovingFocus.js +237 -0
  144. package/Dockerfile.enterprise.storybook +0 -7
  145. package/Dockerfile.prisma.storybook +0 -7
  146. package/Dockerfile.visual +0 -10
  147. package/types/src/File/docs/examples/CustomChildren.d.ts +0 -12
  148. package/types/src/File/docs/examples/prisma/Progress.d.ts +0 -1
  149. package/types/src/Select/matchUtils.d.ts +0 -12
  150. package/types/src/SplitButton/docs/examples/prisma/Basic.d.ts +0 -1
  151. package/types/src/SplitButton/docs/examples/prisma/Disabled.d.ts +0 -1
  152. package/types/src/Table/HeadExpandRowsIcon.d.ts +0 -1
  153. package/types/src/icons/Alert.d.ts +0 -2
  154. package/types/src/icons/AlertFilled.d.ts +0 -2
  155. package/types/src/icons/CaretDown.d.ts +0 -2
  156. package/types/src/icons/CaretRight.d.ts +0 -2
  157. package/types/src/icons/Check.d.ts +0 -2
  158. package/types/src/icons/ChevronDown.d.ts +0 -2
  159. package/types/src/icons/ChevronLeft.d.ts +0 -2
  160. package/types/src/icons/ChevronRight.d.ts +0 -2
  161. package/types/src/icons/CrossMark.d.ts +0 -2
  162. package/types/src/icons/External.d.ts +0 -2
  163. package/types/src/icons/InfoFilled.d.ts +0 -2
  164. package/types/src/icons/More.d.ts +0 -2
  165. package/types/src/icons/MoreVertical.d.ts +0 -2
  166. package/types/src/icons/Plus.d.ts +0 -2
  167. package/types/src/icons/SVG.d.ts +0 -4
  168. package/types/src/icons/Search.d.ts +0 -2
  169. package/types/src/icons/Sort.d.ts +0 -2
  170. package/types/src/icons/SortedDown.d.ts +0 -2
  171. package/types/src/icons/SortedUp.d.ts +0 -2
  172. package/types/src/icons/Success.d.ts +0 -2
  173. package/types/src/icons/SuccessFilled.d.ts +0 -2
  174. package/types/src/icons/ThemedIcon.d.ts +0 -29
  175. package/types/src/icons/WarningFilled.d.ts +0 -2
  176. package/types/src/icons/types.d.ts +0 -11
package/Popover.js CHANGED
@@ -82,7 +82,7 @@ module.exports =
82
82
  /******/
83
83
  /******/
84
84
  /******/ // Load entry module and return exports
85
- /******/ return __webpack_require__(__webpack_require__.s = 187);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 183);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ({
@@ -104,18 +104,11 @@ module.exports = require("prop-types");
104
104
  /***/ 10:
105
105
  /***/ (function(module, exports) {
106
106
 
107
- module.exports = require("lodash/keys");
108
-
109
- /***/ }),
110
-
111
- /***/ 11:
112
- /***/ (function(module, exports) {
113
-
114
107
  module.exports = require("lodash/has");
115
108
 
116
109
  /***/ }),
117
110
 
118
- /***/ 12:
111
+ /***/ 11:
119
112
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
120
113
 
121
114
  "use strict";
@@ -142,42 +135,118 @@ function updateReactRef(ref, current) {
142
135
 
143
136
  /***/ }),
144
137
 
145
- /***/ 144:
138
+ /***/ 147:
146
139
  /***/ (function(module, exports) {
147
140
 
148
141
  module.exports = require("lodash/clamp");
149
142
 
150
143
  /***/ }),
151
144
 
152
- /***/ 145:
145
+ /***/ 148:
153
146
  /***/ (function(module, exports) {
154
147
 
155
148
  module.exports = require("lodash/every");
156
149
 
157
150
  /***/ }),
158
151
 
159
- /***/ 146:
152
+ /***/ 149:
160
153
  /***/ (function(module, exports) {
161
154
 
162
155
  module.exports = require("lodash/intersection");
163
156
 
164
157
  /***/ }),
165
158
 
166
- /***/ 17:
159
+ /***/ 15:
167
160
  /***/ (function(module, exports) {
168
161
 
169
162
  module.exports = require("@splunk/react-ui/EventListener");
170
163
 
171
164
  /***/ }),
172
165
 
173
- /***/ 18:
166
+ /***/ 16:
174
167
  /***/ (function(module, exports) {
175
168
 
176
169
  module.exports = require("lodash/includes");
177
170
 
178
171
  /***/ }),
179
172
 
180
- /***/ 187:
173
+ /***/ 18:
174
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
175
+
176
+ "use strict";
177
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getWindow; });
178
+ /* unused harmony export ssrWindow */
179
+ /* harmony import */ var _ssrDocument__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27);
180
+ /* eslint-disable @typescript-eslint/no-empty-function */
181
+
182
+ var ssrWindow = {
183
+ document: _ssrDocument__WEBPACK_IMPORTED_MODULE_0__[/* ssrDocument */ "b"],
184
+ navigator: {
185
+ userAgent: ''
186
+ },
187
+ location: {
188
+ hash: '',
189
+ host: '',
190
+ hostname: '',
191
+ href: '',
192
+ origin: '',
193
+ pathname: '',
194
+ protocol: '',
195
+ search: ''
196
+ },
197
+ history: {
198
+ replaceState: function replaceState() {},
199
+ pushState: function pushState() {},
200
+ go: function go() {},
201
+ back: function back() {}
202
+ },
203
+ CustomEvent: function CustomEvent() {
204
+ return this;
205
+ },
206
+ addEventListener: function addEventListener() {},
207
+ removeEventListener: function removeEventListener() {},
208
+ getComputedStyle: function getComputedStyle() {
209
+ return {
210
+ getPropertyValue: function getPropertyValue() {
211
+ return '';
212
+ }
213
+ };
214
+ },
215
+ Image: function Image() {},
216
+ Date: function Date() {},
217
+ screen: {},
218
+ setTimeout: function setTimeout() {},
219
+ clearTimeout: function clearTimeout() {},
220
+ matchMedia: function matchMedia() {
221
+ return {};
222
+ },
223
+ requestAnimationFrame: function requestAnimationFrame(callback) {
224
+ if (typeof setTimeout === 'undefined') {
225
+ callback();
226
+ return null;
227
+ }
228
+
229
+ return setTimeout(callback, 0);
230
+ },
231
+ cancelAnimationFrame: function cancelAnimationFrame(id) {
232
+ if (typeof setTimeout === 'undefined') {
233
+ return;
234
+ }
235
+
236
+ clearTimeout(id);
237
+ }
238
+ };
239
+
240
+ function getWindow() {
241
+ var win = typeof window !== 'undefined' ? window : ssrWindow;
242
+ return win;
243
+ }
244
+
245
+
246
+
247
+ /***/ }),
248
+
249
+ /***/ 183:
181
250
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
182
251
 
183
252
  "use strict";
@@ -197,10 +266,10 @@ var external_prop_types_ = __webpack_require__(1);
197
266
  var external_prop_types_default = /*#__PURE__*/__webpack_require__.n(external_prop_types_);
198
267
 
199
268
  // EXTERNAL MODULE: external "react-dom"
200
- var external_react_dom_ = __webpack_require__(93);
269
+ var external_react_dom_ = __webpack_require__(91);
201
270
 
202
271
  // EXTERNAL MODULE: external "lodash/clamp"
203
- var clamp_ = __webpack_require__(144);
272
+ var clamp_ = __webpack_require__(147);
204
273
  var clamp_default = /*#__PURE__*/__webpack_require__.n(clamp_);
205
274
 
206
275
  // EXTERNAL MODULE: external "lodash/defer"
@@ -208,23 +277,23 @@ var defer_ = __webpack_require__(55);
208
277
  var defer_default = /*#__PURE__*/__webpack_require__.n(defer_);
209
278
 
210
279
  // EXTERNAL MODULE: external "lodash/every"
211
- var every_ = __webpack_require__(145);
280
+ var every_ = __webpack_require__(148);
212
281
  var every_default = /*#__PURE__*/__webpack_require__.n(every_);
213
282
 
214
283
  // EXTERNAL MODULE: external "lodash/has"
215
- var has_ = __webpack_require__(11);
284
+ var has_ = __webpack_require__(10);
216
285
  var has_default = /*#__PURE__*/__webpack_require__.n(has_);
217
286
 
218
287
  // EXTERNAL MODULE: external "lodash/includes"
219
- var includes_ = __webpack_require__(18);
288
+ var includes_ = __webpack_require__(16);
220
289
  var includes_default = /*#__PURE__*/__webpack_require__.n(includes_);
221
290
 
222
291
  // EXTERNAL MODULE: external "lodash/intersection"
223
- var intersection_ = __webpack_require__(146);
292
+ var intersection_ = __webpack_require__(149);
224
293
  var intersection_default = /*#__PURE__*/__webpack_require__.n(intersection_);
225
294
 
226
295
  // EXTERNAL MODULE: external "lodash/isFinite"
227
- var isFinite_ = __webpack_require__(21);
296
+ var isFinite_ = __webpack_require__(19);
228
297
  var isFinite_default = /*#__PURE__*/__webpack_require__.n(isFinite_);
229
298
 
230
299
  // EXTERNAL MODULE: external "lodash/isFunction"
@@ -232,7 +301,7 @@ var isFunction_ = __webpack_require__(68);
232
301
  var isFunction_default = /*#__PURE__*/__webpack_require__.n(isFunction_);
233
302
 
234
303
  // EXTERNAL MODULE: external "lodash/keys"
235
- var keys_ = __webpack_require__(10);
304
+ var keys_ = __webpack_require__(9);
236
305
  var keys_default = /*#__PURE__*/__webpack_require__.n(keys_);
237
306
 
238
307
  // EXTERNAL MODULE: external "lodash/omit"
@@ -247,10 +316,10 @@ var throttle_default = /*#__PURE__*/__webpack_require__.n(throttle_);
247
316
  var themes_ = __webpack_require__(0);
248
317
 
249
318
  // EXTERNAL MODULE: external "@splunk/react-ui/Animation"
250
- var Animation_ = __webpack_require__(43);
319
+ var Animation_ = __webpack_require__(40);
251
320
 
252
321
  // EXTERNAL MODULE: external "@splunk/react-ui/EventListener"
253
- var EventListener_ = __webpack_require__(17);
322
+ var EventListener_ = __webpack_require__(15);
254
323
  var EventListener_default = /*#__PURE__*/__webpack_require__.n(EventListener_);
255
324
 
256
325
  // EXTERNAL MODULE: external "@splunk/react-ui/Layer"
@@ -262,7 +331,7 @@ var ScrollContainerContext_ = __webpack_require__(50);
262
331
  var ScrollContainerContext_default = /*#__PURE__*/__webpack_require__.n(ScrollContainerContext_);
263
332
 
264
333
  // EXTERNAL MODULE: external "@splunk/ui-utils/focus"
265
- var focus_ = __webpack_require__(35);
334
+ var focus_ = __webpack_require__(29);
266
335
 
267
336
  // CONCATENATED MODULE: ./src/Popover/getPlacement.ts
268
337
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
@@ -544,7 +613,7 @@ function getPlacement(args) {
544
613
  var PopoverContext = /*#__PURE__*/Object(external_react_["createContext"])({});
545
614
 
546
615
  // EXTERNAL MODULE: external "react-spring"
547
- var external_react_spring_ = __webpack_require__(26);
616
+ var external_react_spring_ = __webpack_require__(24);
548
617
 
549
618
  // EXTERNAL MODULE: external "styled-components"
550
619
  var external_styled_components_ = __webpack_require__(3);
@@ -616,41 +685,187 @@ var StyledLowerRightCorner = external_styled_components_default.a.div.withConfig
616
685
  displayName: "PopoverStyles__StyledLowerRightCorner",
617
686
  componentId: "sc-1nahsvw-4"
618
687
  })(["position:fixed;right:0;bottom:0;"]);
688
+ var StyledHitArea = external_styled_components_default.a.svg.withConfig({
689
+ displayName: "PopoverStyles__StyledHitArea",
690
+ componentId: "sc-1nahsvw-5"
691
+ })(["position:fixed;pointer-events:none;path{pointer-events:auto;stroke-width:0;stroke:transparent;fill:transparent;}"]);
692
+
693
+ // CONCATENATED MODULE: ./src/Popover/PopoverHitArea.tsx
694
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
695
+
696
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
697
+
698
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
699
+
700
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
701
+
702
+ function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
703
+
704
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
705
+
706
+
707
+
708
+
709
+ var propTypes = {
710
+ anchorRect: external_prop_types_default.a.object,
711
+ popoverEl: external_prop_types_default.a.object,
712
+ popoverPlacement: external_prop_types_default.a.oneOf(['above', 'below', 'left', 'right', 'misaligned'])
713
+ };
714
+
715
+ var getHitAreaSettings = function getHitAreaSettings(_ref) {
716
+ var anchorRect = _ref.anchorRect,
717
+ popoverEl = _ref.popoverEl,
718
+ popoverPlacement = _ref.popoverPlacement;
719
+
720
+ if (anchorRect != null && popoverEl != null && popoverPlacement != null) {
721
+ var menuRect = popoverEl.getBoundingClientRect();
722
+
723
+ if (popoverPlacement === 'above' || popoverPlacement === 'below') {
724
+ var anchorLeftEdge = anchorRect.left - menuRect.left;
725
+ var verticalStart = anchorRect.height;
726
+ var verticalEnd = 0;
727
+
728
+ if (popoverPlacement === 'above') {
729
+ verticalStart = 0;
730
+ verticalEnd = anchorRect.height;
731
+ }
732
+
733
+ var menuStart = "0 ".concat(verticalStart);
734
+ var menuEnd = "".concat(menuRect.width, " ").concat(verticalStart);
735
+ var anchorStartNear = "".concat(anchorLeftEdge, " ").concat(verticalStart);
736
+ var anchorStartFar = "".concat(anchorLeftEdge, " ").concat(verticalEnd);
737
+ var anchorEndNear = "".concat(anchorLeftEdge + anchorRect.width, " ").concat(verticalStart);
738
+ var anchorEndFar = "".concat(anchorLeftEdge + anchorRect.width, " ").concat(verticalEnd);
739
+ var hitAreaPath = "\n M ".concat(menuStart, "\n S ").concat(anchorStartNear, " , ").concat(anchorStartFar, "\n L ").concat(anchorStartNear, "\n L ").concat(anchorEndNear, "\n L ").concat(anchorEndFar, "\n S ").concat(anchorEndNear, " , ").concat(menuEnd, "\n ");
740
+ return {
741
+ hitAreaPath: hitAreaPath,
742
+ hitAreaStyle: {
743
+ left: menuRect.left,
744
+ top: anchorRect.top,
745
+ width: menuRect.width,
746
+ height: anchorRect.height
747
+ }
748
+ };
749
+ }
750
+
751
+ if (popoverPlacement === 'left' || popoverPlacement === 'right') {
752
+ var anchorTopEdge = anchorRect.top - menuRect.top;
753
+ var horizontalStart = 0;
754
+ var horizontalEnd = anchorRect.width;
755
+
756
+ if (popoverPlacement === 'right') {
757
+ horizontalStart = anchorRect.width;
758
+ horizontalEnd = 0;
759
+ }
760
+
761
+ var _menuStart = "".concat(horizontalStart, " 0");
762
+
763
+ var _menuEnd = "".concat(horizontalStart, " ").concat(menuRect.height);
764
+
765
+ var _anchorStartNear = "".concat(horizontalStart, " ").concat(anchorTopEdge);
766
+
767
+ var _anchorStartFar = "".concat(horizontalEnd, " ").concat(anchorTopEdge);
768
+
769
+ var _anchorEndNear = "".concat(horizontalStart, " ").concat(anchorTopEdge + anchorRect.height);
770
+
771
+ var _anchorEndFar = "".concat(horizontalEnd, " ").concat(anchorTopEdge + anchorRect.height);
619
772
 
773
+ var _hitAreaPath = "\n M ".concat(_menuStart, "\n S ").concat(_anchorStartNear, " , ").concat(_anchorStartFar, "\n L ").concat(_anchorStartNear, "\n L ").concat(_anchorEndNear, "\n L ").concat(_anchorEndFar, "\n S ").concat(_anchorEndNear, " , ").concat(_menuEnd, "\n ");
774
+
775
+ return {
776
+ hitAreaPath: _hitAreaPath,
777
+ hitAreaStyle: {
778
+ left: anchorRect.left,
779
+ top: menuRect.top,
780
+ width: anchorRect.width,
781
+ height: menuRect.height
782
+ }
783
+ };
784
+ }
785
+ }
786
+
787
+ return {
788
+ hitAreaPath: null,
789
+ hitAreaStyle: {}
790
+ };
791
+ };
792
+
793
+ var PopoverHitArea = /*#__PURE__*/external_react_default.a.forwardRef(function (_ref2, ref) {
794
+ var anchorRect = _ref2.anchorRect,
795
+ popoverEl = _ref2.popoverEl,
796
+ popoverPlacement = _ref2.popoverPlacement;
797
+
798
+ var _useState = Object(external_react_["useState"])(null),
799
+ _useState2 = _slicedToArray(_useState, 2),
800
+ hitAreaPathState = _useState2[0],
801
+ setHitAreaPathState = _useState2[1];
802
+
803
+ var _useState3 = Object(external_react_["useState"])({}),
804
+ _useState4 = _slicedToArray(_useState3, 2),
805
+ hitAreaStyleState = _useState4[0],
806
+ setHitAreaStyleState = _useState4[1];
807
+
808
+ Object(external_react_["useEffect"])(function () {
809
+ var _getHitAreaSettings = getHitAreaSettings({
810
+ anchorRect: anchorRect,
811
+ popoverEl: popoverEl,
812
+ popoverPlacement: popoverPlacement
813
+ }),
814
+ hitAreaPath = _getHitAreaSettings.hitAreaPath,
815
+ hitAreaStyle = _getHitAreaSettings.hitAreaStyle;
816
+
817
+ setHitAreaPathState(hitAreaPath);
818
+ setHitAreaStyleState(hitAreaStyle);
819
+ }, [anchorRect, popoverEl, popoverPlacement]);
820
+
821
+ if (hitAreaPathState != null) {
822
+ return /*#__PURE__*/external_react_default.a.createElement(StyledHitArea, {
823
+ "data-test": "popover-hit-area",
824
+ style: hitAreaStyleState
825
+ }, /*#__PURE__*/external_react_default.a.createElement("path", {
826
+ d: hitAreaPathState,
827
+ ref: ref
828
+ }));
829
+ }
830
+
831
+ return null;
832
+ });
833
+ PopoverHitArea.propTypes = propTypes;
834
+ /* harmony default export */ var Popover_PopoverHitArea = (PopoverHitArea);
620
835
  // EXTERNAL MODULE: ./src/utils/updateReactRef.ts
621
- var updateReactRef = __webpack_require__(12);
836
+ var updateReactRef = __webpack_require__(11);
622
837
 
623
838
  // EXTERNAL MODULE: ./src/utils/ssrWindow.ts
624
- var ssrWindow = __webpack_require__(20);
839
+ var ssrWindow = __webpack_require__(18);
625
840
 
626
841
  // CONCATENATED MODULE: ./src/Popover/Popover.tsx
627
842
  function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
628
843
 
629
844
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
630
845
 
631
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
846
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || Popover_unsupportedIterableToArray(arr) || _nonIterableSpread(); }
632
847
 
633
848
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
634
849
 
635
850
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
636
851
 
637
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
852
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return Popover_arrayLikeToArray(arr); }
638
853
 
639
854
  function Popover_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
640
855
 
641
856
  function Popover_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { Popover_ownKeys(Object(source), true).forEach(function (key) { Popover_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { Popover_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
642
857
 
643
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
858
+ function Popover_slicedToArray(arr, i) { return Popover_arrayWithHoles(arr) || Popover_iterableToArrayLimit(arr, i) || Popover_unsupportedIterableToArray(arr, i) || Popover_nonIterableRest(); }
644
859
 
645
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
860
+ function Popover_nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
646
861
 
647
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
862
+ function Popover_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return Popover_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return Popover_arrayLikeToArray(o, minLen); }
648
863
 
649
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
864
+ function Popover_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
650
865
 
651
- function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
866
+ function Popover_iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
652
867
 
653
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
868
+ function Popover_arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
654
869
 
655
870
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
656
871
 
@@ -697,12 +912,13 @@ function Popover_defineProperty(obj, key, value) { if (key in obj) { Object.defi
697
912
 
698
913
 
699
914
 
915
+
700
916
 
701
917
 
702
918
  /** @public */
703
919
 
704
920
  var possibleCloseReasons = ['clickAway', 'escapeKey', 'offScreen', 'tabKey'];
705
- var propTypes = {
921
+ var Popover_propTypes = {
706
922
  align: external_prop_types_default.a.oneOf(['center', 'edge', 'theme', 'end']),
707
923
  anchor: external_prop_types_default.a.object,
708
924
  animation: external_prop_types_default.a.bool,
@@ -715,7 +931,7 @@ var propTypes = {
715
931
  defaultPlacement: external_prop_types_default.a.oneOf(['above', 'below', 'left', 'right', 'vertical', 'horizontal']),
716
932
  elementRef: external_prop_types_default.a.oneOfType([external_prop_types_default.a.func, external_prop_types_default.a.object]),
717
933
  id: external_prop_types_default.a.string,
718
- onReposition: external_prop_types_default.a.func,
934
+ hitAreaRef: external_prop_types_default.a.oneOfType([external_prop_types_default.a.func, external_prop_types_default.a.object]),
719
935
  onRequestClose: external_prop_types_default.a.func,
720
936
  open: external_prop_types_default.a.bool,
721
937
  outerRef: external_prop_types_default.a.oneOfType([external_prop_types_default.a.func, external_prop_types_default.a.object]),
@@ -884,7 +1100,6 @@ var Popover_Popover = /*#__PURE__*/function (_Component) {
884
1100
  autoCloseWhenOffScreen = _this$props.autoCloseWhenOffScreen,
885
1101
  canCoverAnchor = _this$props.canCoverAnchor,
886
1102
  defaultPlacement = _this$props.defaultPlacement,
887
- onReposition = _this$props.onReposition,
888
1103
  open = _this$props.open,
889
1104
  repositionMode = _this$props.repositionMode,
890
1105
  splunkTheme = _this$props.splunkTheme;
@@ -935,7 +1150,7 @@ var Popover_Popover = /*#__PURE__*/function (_Component) {
935
1150
  placement: placement,
936
1151
  outerContainerEl: _this.outerContainerEl
937
1152
  }) : [],
938
- _ref3 = _slicedToArray(_ref2, 2),
1153
+ _ref3 = Popover_slicedToArray(_ref2, 2),
939
1154
  arrowStyle = _ref3[0],
940
1155
  arrowStyleTransformMeta = _ref3[1];
941
1156
 
@@ -947,9 +1162,6 @@ var Popover_Popover = /*#__PURE__*/function (_Component) {
947
1162
  return null;
948
1163
  }
949
1164
 
950
- onReposition === null || onReposition === void 0 ? void 0 : onReposition({
951
- placement: placement
952
- });
953
1165
  return {
954
1166
  anchorPos: anchorPos,
955
1167
  arrowStyle: arrowStyle,
@@ -1209,6 +1421,9 @@ var Popover_Popover = /*#__PURE__*/function (_Component) {
1209
1421
  var open = this.props.open || this.state.animating;
1210
1422
  var scrollContainer = this.context || window;
1211
1423
  var hasCustomizedScrollContainer = scrollContainer !== window;
1424
+ var _this$state3 = this.state,
1425
+ anchorPos = _this$state3.anchorPos,
1426
+ placement = _this$state3.placement;
1212
1427
  return [hasCustomizedScrollContainer && /*#__PURE__*/external_react_default.a.createElement(EventListener_default.a, {
1213
1428
  target: scrollContainer,
1214
1429
  eventType: "scroll",
@@ -1239,7 +1454,12 @@ var Popover_Popover = /*#__PURE__*/function (_Component) {
1239
1454
  open: open,
1240
1455
  onRequestClose: this.handleRequestClose,
1241
1456
  key: "Layer"
1242
- }, open && this.renderLayer())];
1457
+ }, open && this.innerContainerEl && this.props.hitAreaRef && /*#__PURE__*/external_react_default.a.createElement(Popover_PopoverHitArea, {
1458
+ anchorRect: anchorPos,
1459
+ popoverEl: this.innerContainerEl,
1460
+ popoverPlacement: placement,
1461
+ ref: this.props.hitAreaRef
1462
+ }), open && this.renderLayer())];
1243
1463
  }
1244
1464
  }]);
1245
1465
 
@@ -1250,7 +1470,7 @@ Popover_defineProperty(Popover_Popover, "contextType", ScrollContainerContext_de
1250
1470
 
1251
1471
  Popover_defineProperty(Popover_Popover, "defaultProps", defaultProps);
1252
1472
 
1253
- Popover_defineProperty(Popover_Popover, "propTypes", propTypes);
1473
+ Popover_defineProperty(Popover_Popover, "propTypes", Popover_propTypes);
1254
1474
 
1255
1475
  Popover_defineProperty(Popover_Popover, "getDerivedStateFromProps", function (props, state) {
1256
1476
  if (props.open !== state.prevOpen) {
@@ -1273,104 +1493,28 @@ PopoverWithTheme.propTypes = Popover_Popover.propTypes;
1273
1493
 
1274
1494
  /***/ }),
1275
1495
 
1276
- /***/ 2:
1496
+ /***/ 19:
1277
1497
  /***/ (function(module, exports) {
1278
1498
 
1279
- module.exports = require("react");
1280
-
1281
- /***/ }),
1282
-
1283
- /***/ 20:
1284
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
1285
-
1286
- "use strict";
1287
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getWindow; });
1288
- /* unused harmony export ssrWindow */
1289
- /* harmony import */ var _ssrDocument__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(28);
1290
- /* eslint-disable @typescript-eslint/no-empty-function */
1291
-
1292
- var ssrWindow = {
1293
- document: _ssrDocument__WEBPACK_IMPORTED_MODULE_0__[/* ssrDocument */ "b"],
1294
- navigator: {
1295
- userAgent: ''
1296
- },
1297
- location: {
1298
- hash: '',
1299
- host: '',
1300
- hostname: '',
1301
- href: '',
1302
- origin: '',
1303
- pathname: '',
1304
- protocol: '',
1305
- search: ''
1306
- },
1307
- history: {
1308
- replaceState: function replaceState() {},
1309
- pushState: function pushState() {},
1310
- go: function go() {},
1311
- back: function back() {}
1312
- },
1313
- CustomEvent: function CustomEvent() {
1314
- return this;
1315
- },
1316
- addEventListener: function addEventListener() {},
1317
- removeEventListener: function removeEventListener() {},
1318
- getComputedStyle: function getComputedStyle() {
1319
- return {
1320
- getPropertyValue: function getPropertyValue() {
1321
- return '';
1322
- }
1323
- };
1324
- },
1325
- Image: function Image() {},
1326
- Date: function Date() {},
1327
- screen: {},
1328
- setTimeout: function setTimeout() {},
1329
- clearTimeout: function clearTimeout() {},
1330
- matchMedia: function matchMedia() {
1331
- return {};
1332
- },
1333
- requestAnimationFrame: function requestAnimationFrame(callback) {
1334
- if (typeof setTimeout === 'undefined') {
1335
- callback();
1336
- return null;
1337
- }
1338
-
1339
- return setTimeout(callback, 0);
1340
- },
1341
- cancelAnimationFrame: function cancelAnimationFrame(id) {
1342
- if (typeof setTimeout === 'undefined') {
1343
- return;
1344
- }
1345
-
1346
- clearTimeout(id);
1347
- }
1348
- };
1349
-
1350
- function getWindow() {
1351
- var win = typeof window !== 'undefined' ? window : ssrWindow;
1352
- return win;
1353
- }
1354
-
1355
-
1499
+ module.exports = require("lodash/isFinite");
1356
1500
 
1357
1501
  /***/ }),
1358
1502
 
1359
- /***/ 21:
1503
+ /***/ 2:
1360
1504
  /***/ (function(module, exports) {
1361
1505
 
1362
- module.exports = require("lodash/isFinite");
1506
+ module.exports = require("react");
1363
1507
 
1364
1508
  /***/ }),
1365
1509
 
1366
- /***/ 26:
1510
+ /***/ 24:
1367
1511
  /***/ (function(module, exports) {
1368
1512
 
1369
1513
  module.exports = require("react-spring");
1370
1514
 
1371
1515
  /***/ }),
1372
1516
 
1373
- /***/ 28:
1517
+ /***/ 27:
1374
1518
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1375
1519
 
1376
1520
  "use strict";
@@ -1441,28 +1585,28 @@ function getDocument() {
1441
1585
 
1442
1586
  /***/ }),
1443
1587
 
1444
- /***/ 3:
1588
+ /***/ 29:
1445
1589
  /***/ (function(module, exports) {
1446
1590
 
1447
- module.exports = require("styled-components");
1591
+ module.exports = require("@splunk/ui-utils/focus");
1448
1592
 
1449
1593
  /***/ }),
1450
1594
 
1451
- /***/ 31:
1595
+ /***/ 3:
1452
1596
  /***/ (function(module, exports) {
1453
1597
 
1454
- module.exports = require("lodash/throttle");
1598
+ module.exports = require("styled-components");
1455
1599
 
1456
1600
  /***/ }),
1457
1601
 
1458
- /***/ 35:
1602
+ /***/ 31:
1459
1603
  /***/ (function(module, exports) {
1460
1604
 
1461
- module.exports = require("@splunk/ui-utils/focus");
1605
+ module.exports = require("lodash/throttle");
1462
1606
 
1463
1607
  /***/ }),
1464
1608
 
1465
- /***/ 43:
1609
+ /***/ 40:
1466
1610
  /***/ (function(module, exports) {
1467
1611
 
1468
1612
  module.exports = require("@splunk/react-ui/Animation");
@@ -1504,7 +1648,14 @@ module.exports = require("@splunk/react-ui/Layer");
1504
1648
 
1505
1649
  /***/ }),
1506
1650
 
1507
- /***/ 93:
1651
+ /***/ 9:
1652
+ /***/ (function(module, exports) {
1653
+
1654
+ module.exports = require("lodash/keys");
1655
+
1656
+ /***/ }),
1657
+
1658
+ /***/ 91:
1508
1659
  /***/ (function(module, exports) {
1509
1660
 
1510
1661
  module.exports = require("react-dom");