@splunk/react-ui 4.4.1 → 4.5.2
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/Accordion.js +37 -21
- package/Anchor.js +2 -2
- package/Animation.js +2 -2
- package/AnimationToggle.js +2 -2
- package/Box.js +2 -2
- package/Button.js +36 -12
- package/ButtonGroup.js +27 -6
- package/ButtonSimple.js +6 -6
- package/CHANGELOG.md +61 -1
- package/Calendar.js +14 -14
- package/Card.js +49 -23
- package/CardLayout.js +31 -10
- package/Chip.js +77 -53
- package/Clickable.js +4 -4
- package/CloseButton.js +6 -6
- package/Code.js +4 -4
- package/CollapsiblePanel.js +6 -6
- package/Color.js +103 -56
- package/ColumnLayout.js +4 -4
- package/ComboBox.js +20 -15
- package/Concertina.js +73 -68
- package/ControlGroup.js +72 -24
- package/Date.js +11 -11
- package/DefinitionList.js +6 -6
- package/Dropdown.js +12 -12
- package/EventListener.js +168 -0
- package/FetchOptions.js +8 -8
- package/File.js +48 -37
- package/FormRows.js +340 -220
- package/Image.js +14 -14
- package/JSONTree.js +5 -5
- package/Layer.js +32 -20
- package/Link.js +6 -6
- package/List.js +2 -2
- package/Markdown.js +250 -88
- package/Menu.js +70 -64
- package/Message.js +18 -18
- package/Modal.js +68 -14
- package/ModalLayer.js +4 -4
- package/Monogram.js +12 -11
- package/Multiselect.js +122 -78
- package/Number.js +19 -16
- package/Paginator.js +10 -10
- package/Paragraph.js +2 -2
- package/Popover.js +52 -38
- package/Progress.js +8 -8
- package/RadioBar.js +56 -69
- package/RadioList.js +2 -2
- package/Resize.js +19 -15
- package/ResultsMenu.js +8 -8
- package/ScreenReaderContent.js +2 -2
- package/Scroll.js +16 -14
- package/ScrollContainerContext.js +5 -5
- package/Search.d.ts +2 -0
- package/Search.js +797 -0
- package/Select.js +63 -35
- package/SidePanel.js +6 -6
- package/Slider.js +29 -25
- package/SlidingPanels.js +4 -4
- package/StaticContent.js +2 -2
- package/StepBar.js +56 -52
- package/Switch.js +8 -8
- package/TabBar.js +126 -85
- package/TabLayout.js +4 -5
- package/Table.js +188 -138
- package/Text.js +69 -63
- package/Tooltip.js +11 -11
- package/TransitionOpen.js +9 -9
- package/WaitSpinner.js +3 -4
- package/package.json +6 -7
- package/types/src/Accordion/AccordionContext.d.ts +10 -0
- package/types/src/Accordion/Panel.d.ts +0 -9
- package/types/src/Button/Button.d.ts +4 -2
- package/types/src/ButtonGroup/ButtonGroupContext.d.ts +7 -0
- package/types/src/ButtonSimple/ButtonSimple.d.ts +5 -5
- package/types/src/Card/Card.d.ts +2 -0
- package/types/src/CardLayout/CardLayoutContext.d.ts +8 -0
- package/types/src/Color/Color.d.ts +2 -2
- package/types/src/ComboBox/ComboBox.d.ts +4 -3
- package/types/src/Concertina/ConcertinaContext.d.ts +8 -0
- package/types/src/Concertina/Panel.d.ts +2 -4
- package/types/src/ControlGroup/ControlGroup.d.ts +6 -1
- package/types/src/Date/Date.d.ts +3 -3
- package/types/src/EventListener/EventListener.d.ts +18 -0
- package/types/src/EventListener/index.d.ts +2 -0
- package/types/src/File/File.d.ts +6 -4
- package/types/src/FormRows/FormRows.d.ts +70 -12
- package/types/src/FormRows/FormRowsContext.d.ts +1 -0
- package/types/src/FormRows/Row.d.ts +9 -7
- package/types/src/Markdown/Markdown.d.ts +2 -0
- package/types/src/Markdown/renderers/MarkdownBlockquote.d.ts +14 -0
- package/types/src/Markdown/renderers/MarkdownCode.d.ts +15 -0
- package/types/src/Markdown/renderers/MarkdownCodeBlock.d.ts +16 -0
- package/types/src/Markdown/renderers/MarkdownHeading.d.ts +15 -0
- package/types/src/Markdown/renderers/MarkdownImage.d.ts +18 -0
- package/types/src/Markdown/renderers/MarkdownItem.d.ts +14 -0
- package/types/src/Markdown/renderers/MarkdownLink.d.ts +18 -0
- package/types/src/Markdown/renderers/MarkdownList.d.ts +26 -0
- package/types/src/Markdown/renderers/MarkdownParagraph.d.ts +14 -0
- package/types/src/Markdown/renderers/index.d.ts +10 -0
- package/types/src/Modal/Modal.d.ts +15 -3
- package/types/src/Monogram/Monogram.d.ts +5 -1
- package/types/src/Multiselect/Compact.d.ts +12 -4
- package/types/src/Multiselect/Multiselect.d.ts +14 -4
- package/types/src/Multiselect/Normal.d.ts +7 -2
- package/types/src/Number/Number.d.ts +11 -7
- package/types/src/Popover/Popover.d.ts +2 -2
- package/types/src/RadioBar/Option.d.ts +4 -14
- package/types/src/RadioBar/RadioBar.d.ts +2 -2
- package/types/src/RadioBar/RadioBarContext.d.ts +9 -0
- package/types/src/Scroll/Inner.d.ts +1 -1
- package/types/src/ScrollContainerContext/ScrollContainerContext.d.ts +4 -4
- package/types/src/Search/Option.d.ts +60 -0
- package/types/src/Search/Search.d.ts +97 -0
- package/types/src/Search/index.d.ts +2 -0
- package/types/src/Select/Select.d.ts +6 -2
- package/types/src/Select/SelectBase.d.ts +12 -5
- package/types/src/Slider/Slider.d.ts +2 -2
- package/types/src/StepBar/Step.d.ts +1 -13
- package/types/src/StepBar/StepBarContext.d.ts +8 -0
- package/types/src/TabBar/Tab.d.ts +5 -13
- package/types/src/TabBar/TabBarContext.d.ts +14 -0
- package/types/src/Table/Body.d.ts +1 -1
- package/types/src/Table/Head.d.ts +1 -1
- package/types/src/Table/Row.d.ts +10 -3
- package/types/src/Table/Table.d.ts +3 -2
- package/types/src/Text/Text.d.ts +11 -7
- package/types/src/icons/Sort.d.ts +3 -0
- package/types/src/usePrevious/index.d.ts +2 -0
- package/types/src/usePrevious/usePrevious.d.ts +12 -0
- package/usePrevious.js +137 -0
package/Search.js
ADDED
|
@@ -0,0 +1,797 @@
|
|
|
1
|
+
module.exports =
|
|
2
|
+
/******/ (function(modules) { // webpackBootstrap
|
|
3
|
+
/******/ // The module cache
|
|
4
|
+
/******/ var installedModules = {};
|
|
5
|
+
/******/
|
|
6
|
+
/******/ // The require function
|
|
7
|
+
/******/ function __webpack_require__(moduleId) {
|
|
8
|
+
/******/
|
|
9
|
+
/******/ // Check if module is in cache
|
|
10
|
+
/******/ if(installedModules[moduleId]) {
|
|
11
|
+
/******/ return installedModules[moduleId].exports;
|
|
12
|
+
/******/ }
|
|
13
|
+
/******/ // Create a new module (and put it into the cache)
|
|
14
|
+
/******/ var module = installedModules[moduleId] = {
|
|
15
|
+
/******/ i: moduleId,
|
|
16
|
+
/******/ l: false,
|
|
17
|
+
/******/ exports: {}
|
|
18
|
+
/******/ };
|
|
19
|
+
/******/
|
|
20
|
+
/******/ // Execute the module function
|
|
21
|
+
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
|
22
|
+
/******/
|
|
23
|
+
/******/ // Flag the module as loaded
|
|
24
|
+
/******/ module.l = true;
|
|
25
|
+
/******/
|
|
26
|
+
/******/ // Return the exports of the module
|
|
27
|
+
/******/ return module.exports;
|
|
28
|
+
/******/ }
|
|
29
|
+
/******/
|
|
30
|
+
/******/
|
|
31
|
+
/******/ // expose the modules object (__webpack_modules__)
|
|
32
|
+
/******/ __webpack_require__.m = modules;
|
|
33
|
+
/******/
|
|
34
|
+
/******/ // expose the module cache
|
|
35
|
+
/******/ __webpack_require__.c = installedModules;
|
|
36
|
+
/******/
|
|
37
|
+
/******/ // define getter function for harmony exports
|
|
38
|
+
/******/ __webpack_require__.d = function(exports, name, getter) {
|
|
39
|
+
/******/ if(!__webpack_require__.o(exports, name)) {
|
|
40
|
+
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
|
41
|
+
/******/ }
|
|
42
|
+
/******/ };
|
|
43
|
+
/******/
|
|
44
|
+
/******/ // define __esModule on exports
|
|
45
|
+
/******/ __webpack_require__.r = function(exports) {
|
|
46
|
+
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
47
|
+
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
48
|
+
/******/ }
|
|
49
|
+
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
|
50
|
+
/******/ };
|
|
51
|
+
/******/
|
|
52
|
+
/******/ // create a fake namespace object
|
|
53
|
+
/******/ // mode & 1: value is a module id, require it
|
|
54
|
+
/******/ // mode & 2: merge all properties of value into the ns
|
|
55
|
+
/******/ // mode & 4: return value when already ns object
|
|
56
|
+
/******/ // mode & 8|1: behave like require
|
|
57
|
+
/******/ __webpack_require__.t = function(value, mode) {
|
|
58
|
+
/******/ if(mode & 1) value = __webpack_require__(value);
|
|
59
|
+
/******/ if(mode & 8) return value;
|
|
60
|
+
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
|
61
|
+
/******/ var ns = Object.create(null);
|
|
62
|
+
/******/ __webpack_require__.r(ns);
|
|
63
|
+
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
|
64
|
+
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
|
65
|
+
/******/ return ns;
|
|
66
|
+
/******/ };
|
|
67
|
+
/******/
|
|
68
|
+
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
69
|
+
/******/ __webpack_require__.n = function(module) {
|
|
70
|
+
/******/ var getter = module && module.__esModule ?
|
|
71
|
+
/******/ function getDefault() { return module['default']; } :
|
|
72
|
+
/******/ function getModuleExports() { return module; };
|
|
73
|
+
/******/ __webpack_require__.d(getter, 'a', getter);
|
|
74
|
+
/******/ return getter;
|
|
75
|
+
/******/ };
|
|
76
|
+
/******/
|
|
77
|
+
/******/ // Object.prototype.hasOwnProperty.call
|
|
78
|
+
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
|
79
|
+
/******/
|
|
80
|
+
/******/ // __webpack_public_path__
|
|
81
|
+
/******/ __webpack_require__.p = "";
|
|
82
|
+
/******/
|
|
83
|
+
/******/
|
|
84
|
+
/******/ // Load entry module and return exports
|
|
85
|
+
/******/ return __webpack_require__(__webpack_require__.s = 162);
|
|
86
|
+
/******/ })
|
|
87
|
+
/************************************************************************/
|
|
88
|
+
/******/ ({
|
|
89
|
+
|
|
90
|
+
/***/ 1:
|
|
91
|
+
/***/ (function(module, exports) {
|
|
92
|
+
|
|
93
|
+
module.exports = require("prop-types");
|
|
94
|
+
|
|
95
|
+
/***/ }),
|
|
96
|
+
|
|
97
|
+
/***/ 10:
|
|
98
|
+
/***/ (function(module, exports) {
|
|
99
|
+
|
|
100
|
+
module.exports = require("@splunk/ui-utils/id");
|
|
101
|
+
|
|
102
|
+
/***/ }),
|
|
103
|
+
|
|
104
|
+
/***/ 11:
|
|
105
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
106
|
+
|
|
107
|
+
"use strict";
|
|
108
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return updateReactRef; });
|
|
109
|
+
/**
|
|
110
|
+
* Updates a React ref. Callback refs and object refs (from `createRef` and `useRef`) are supported.
|
|
111
|
+
*
|
|
112
|
+
* @param ref - The React callback or object ref. Can be `null` or `undefined`.
|
|
113
|
+
* @param current - The new value of the ref.
|
|
114
|
+
*/
|
|
115
|
+
function updateReactRef(ref, current) {
|
|
116
|
+
if (ref) {
|
|
117
|
+
if (typeof ref === 'function') {
|
|
118
|
+
ref(current);
|
|
119
|
+
} else {
|
|
120
|
+
// the public signature of this util uses React.Ref<T> to mirror the way React types refs.
|
|
121
|
+
// the intention here is to signal "we will take care of setting 'current', not you".
|
|
122
|
+
ref.current = current; // eslint-disable-line no-param-reassign
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
/***/ }),
|
|
130
|
+
|
|
131
|
+
/***/ 13:
|
|
132
|
+
/***/ (function(module, exports) {
|
|
133
|
+
|
|
134
|
+
module.exports = require("@splunk/react-ui/Menu");
|
|
135
|
+
|
|
136
|
+
/***/ }),
|
|
137
|
+
|
|
138
|
+
/***/ 16:
|
|
139
|
+
/***/ (function(module, exports) {
|
|
140
|
+
|
|
141
|
+
module.exports = require("@splunk/react-ui/Popover");
|
|
142
|
+
|
|
143
|
+
/***/ }),
|
|
144
|
+
|
|
145
|
+
/***/ 162:
|
|
146
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
147
|
+
|
|
148
|
+
"use strict";
|
|
149
|
+
// ESM COMPAT FLAG
|
|
150
|
+
__webpack_require__.r(__webpack_exports__);
|
|
151
|
+
|
|
152
|
+
// EXPORTS
|
|
153
|
+
__webpack_require__.d(__webpack_exports__, "default", function() { return /* reexport */ Search_Search; });
|
|
154
|
+
__webpack_require__.d(__webpack_exports__, "Option", function() { return /* reexport */ Search_Option; });
|
|
155
|
+
__webpack_require__.d(__webpack_exports__, "Divider", function() { return /* reexport */ Menu_["Divider"]; });
|
|
156
|
+
__webpack_require__.d(__webpack_exports__, "Heading", function() { return /* reexport */ Menu_["Heading"]; });
|
|
157
|
+
|
|
158
|
+
// EXTERNAL MODULE: external "react"
|
|
159
|
+
var external_react_ = __webpack_require__(2);
|
|
160
|
+
var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
|
|
161
|
+
|
|
162
|
+
// EXTERNAL MODULE: external "prop-types"
|
|
163
|
+
var external_prop_types_ = __webpack_require__(1);
|
|
164
|
+
var external_prop_types_default = /*#__PURE__*/__webpack_require__.n(external_prop_types_);
|
|
165
|
+
|
|
166
|
+
// EXTERNAL MODULE: external "lodash"
|
|
167
|
+
var external_lodash_ = __webpack_require__(4);
|
|
168
|
+
|
|
169
|
+
// EXTERNAL MODULE: external "@splunk/ui-utils/id"
|
|
170
|
+
var id_ = __webpack_require__(10);
|
|
171
|
+
|
|
172
|
+
// EXTERNAL MODULE: external "@splunk/ui-utils/i18n"
|
|
173
|
+
var i18n_ = __webpack_require__(5);
|
|
174
|
+
|
|
175
|
+
// EXTERNAL MODULE: external "@splunk/ui-utils/keyboard"
|
|
176
|
+
var keyboard_ = __webpack_require__(9);
|
|
177
|
+
|
|
178
|
+
// EXTERNAL MODULE: external "@splunk/react-ui/Menu"
|
|
179
|
+
var Menu_ = __webpack_require__(13);
|
|
180
|
+
|
|
181
|
+
// EXTERNAL MODULE: external "@splunk/react-ui/usePrevious"
|
|
182
|
+
var usePrevious_ = __webpack_require__(96);
|
|
183
|
+
var usePrevious_default = /*#__PURE__*/__webpack_require__.n(usePrevious_);
|
|
184
|
+
|
|
185
|
+
// EXTERNAL MODULE: external "@splunk/react-ui/Popover"
|
|
186
|
+
var Popover_ = __webpack_require__(16);
|
|
187
|
+
var Popover_default = /*#__PURE__*/__webpack_require__.n(Popover_);
|
|
188
|
+
|
|
189
|
+
// EXTERNAL MODULE: external "@splunk/react-ui/ResultsMenu"
|
|
190
|
+
var ResultsMenu_ = __webpack_require__(32);
|
|
191
|
+
var ResultsMenu_default = /*#__PURE__*/__webpack_require__.n(ResultsMenu_);
|
|
192
|
+
|
|
193
|
+
// EXTERNAL MODULE: external "@splunk/react-ui/Text"
|
|
194
|
+
var Text_ = __webpack_require__(21);
|
|
195
|
+
var Text_default = /*#__PURE__*/__webpack_require__.n(Text_);
|
|
196
|
+
|
|
197
|
+
// CONCATENATED MODULE: ./src/Search/Option.tsx
|
|
198
|
+
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); }
|
|
199
|
+
|
|
200
|
+
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); }
|
|
201
|
+
|
|
202
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
203
|
+
|
|
204
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
205
|
+
|
|
206
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
207
|
+
|
|
208
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
209
|
+
|
|
210
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
211
|
+
|
|
212
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
213
|
+
|
|
214
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
215
|
+
|
|
216
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
217
|
+
|
|
218
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
|
|
219
|
+
|
|
220
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
221
|
+
|
|
222
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
|
|
223
|
+
|
|
224
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
225
|
+
|
|
226
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
var propTypes = {
|
|
232
|
+
/** @private */
|
|
233
|
+
active: external_prop_types_default.a.bool,
|
|
234
|
+
description: external_prop_types_default.a.string,
|
|
235
|
+
descriptionPosition: external_prop_types_default.a.oneOf(['right', 'bottom']),
|
|
236
|
+
disabled: external_prop_types_default.a.bool,
|
|
237
|
+
icon: external_prop_types_default.a.node,
|
|
238
|
+
label: external_prop_types_default.a.string,
|
|
239
|
+
|
|
240
|
+
/** @private */
|
|
241
|
+
onClick: external_prop_types_default.a.func,
|
|
242
|
+
truncate: external_prop_types_default.a.bool,
|
|
243
|
+
value: external_prop_types_default.a.string.isRequired
|
|
244
|
+
};
|
|
245
|
+
var defaultProps = {
|
|
246
|
+
active: false,
|
|
247
|
+
descriptionPosition: 'bottom',
|
|
248
|
+
disabled: false,
|
|
249
|
+
truncate: false
|
|
250
|
+
};
|
|
251
|
+
|
|
252
|
+
/**
|
|
253
|
+
* An option within a `Search`. This inherits from
|
|
254
|
+
* [PureComponent](https://reactjs.org/docs/react-api.html#reactpurecomponent)
|
|
255
|
+
* so any elements passed to it must also be pure.
|
|
256
|
+
*/
|
|
257
|
+
var Option_Option = /*#__PURE__*/function (_PureComponent) {
|
|
258
|
+
_inherits(Option, _PureComponent);
|
|
259
|
+
|
|
260
|
+
var _super = _createSuper(Option);
|
|
261
|
+
|
|
262
|
+
function Option() {
|
|
263
|
+
var _this;
|
|
264
|
+
|
|
265
|
+
_classCallCheck(this, Option);
|
|
266
|
+
|
|
267
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
268
|
+
args[_key] = arguments[_key];
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
272
|
+
|
|
273
|
+
_defineProperty(_assertThisInitialized(_this), "item", null);
|
|
274
|
+
|
|
275
|
+
_defineProperty(_assertThisInitialized(_this), "handleClick", function (e) {
|
|
276
|
+
var _this$props = _this.props,
|
|
277
|
+
disabled = _this$props.disabled,
|
|
278
|
+
onClick = _this$props.onClick,
|
|
279
|
+
value = _this$props.value;
|
|
280
|
+
|
|
281
|
+
if (!disabled) {
|
|
282
|
+
onClick === null || onClick === void 0 ? void 0 : onClick(e, {
|
|
283
|
+
value: value
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
});
|
|
287
|
+
|
|
288
|
+
return _this;
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
_createClass(Option, [{
|
|
292
|
+
key: "scrollIntoViewIfNeeded",
|
|
293
|
+
value: function scrollIntoViewIfNeeded() {
|
|
294
|
+
var _this$item;
|
|
295
|
+
|
|
296
|
+
(_this$item = this.item) === null || _this$item === void 0 ? void 0 : _this$item.scrollIntoViewIfNeeded();
|
|
297
|
+
}
|
|
298
|
+
}, {
|
|
299
|
+
key: "render",
|
|
300
|
+
value: function render() {
|
|
301
|
+
var _this2 = this;
|
|
302
|
+
|
|
303
|
+
// eslint-disable-next-line no-unused-vars
|
|
304
|
+
var _this$props2 = this.props,
|
|
305
|
+
value = _this$props2.value,
|
|
306
|
+
label = _this$props2.label,
|
|
307
|
+
otherProps = _objectWithoutProperties(_this$props2, ["value", "label"]);
|
|
308
|
+
|
|
309
|
+
var displayLabel = label === undefined ? value : label;
|
|
310
|
+
return /*#__PURE__*/external_react_default.a.createElement(Menu_["Item"], _extends({
|
|
311
|
+
ref: function ref(c) {
|
|
312
|
+
_this2.item = c;
|
|
313
|
+
},
|
|
314
|
+
"data-test": "search-option",
|
|
315
|
+
"data-test-value": value
|
|
316
|
+
}, otherProps, {
|
|
317
|
+
onClick: this.handleClick,
|
|
318
|
+
role: "option",
|
|
319
|
+
"aria-selected": false
|
|
320
|
+
}), displayLabel);
|
|
321
|
+
}
|
|
322
|
+
}]);
|
|
323
|
+
|
|
324
|
+
return Option;
|
|
325
|
+
}(external_react_["PureComponent"]);
|
|
326
|
+
|
|
327
|
+
_defineProperty(Option_Option, "propTypes", propTypes);
|
|
328
|
+
|
|
329
|
+
_defineProperty(Option_Option, "defaultProps", defaultProps);
|
|
330
|
+
|
|
331
|
+
/* harmony default export */ var Search_Option = (Option_Option);
|
|
332
|
+
// EXTERNAL MODULE: ./src/utils/updateReactRef.ts
|
|
333
|
+
var updateReactRef = __webpack_require__(11);
|
|
334
|
+
|
|
335
|
+
// CONCATENATED MODULE: ./src/Search/Search.tsx
|
|
336
|
+
function Search_extends() { Search_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 Search_extends.apply(this, arguments); }
|
|
337
|
+
|
|
338
|
+
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; }
|
|
339
|
+
|
|
340
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Search_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
341
|
+
|
|
342
|
+
function Search_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
343
|
+
|
|
344
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
345
|
+
|
|
346
|
+
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."); }
|
|
347
|
+
|
|
348
|
+
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); }
|
|
349
|
+
|
|
350
|
+
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; }
|
|
351
|
+
|
|
352
|
+
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; }
|
|
353
|
+
|
|
354
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
355
|
+
|
|
356
|
+
function Search_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = Search_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
357
|
+
|
|
358
|
+
function Search_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
359
|
+
|
|
360
|
+
|
|
361
|
+
|
|
362
|
+
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
|
|
367
|
+
|
|
368
|
+
|
|
369
|
+
|
|
370
|
+
|
|
371
|
+
|
|
372
|
+
|
|
373
|
+
var Search_propTypes = {
|
|
374
|
+
animateLoading: external_prop_types_default.a.bool,
|
|
375
|
+
children: external_prop_types_default.a.node,
|
|
376
|
+
defaultPlacement: external_prop_types_default.a.oneOf(['above', 'below', 'vertical']),
|
|
377
|
+
defaultValue: external_prop_types_default.a.string,
|
|
378
|
+
describedBy: external_prop_types_default.a.string,
|
|
379
|
+
disabled: external_prop_types_default.a.bool,
|
|
380
|
+
elementRef: external_prop_types_default.a.oneOfType([external_prop_types_default.a.func, external_prop_types_default.a.object]),
|
|
381
|
+
error: external_prop_types_default.a.bool,
|
|
382
|
+
footerMessage: external_prop_types_default.a.node,
|
|
383
|
+
inline: external_prop_types_default.a.bool,
|
|
384
|
+
inputRef: external_prop_types_default.a.oneOfType([external_prop_types_default.a.func, external_prop_types_default.a.object]),
|
|
385
|
+
isLoadingOptions: external_prop_types_default.a.bool,
|
|
386
|
+
labelledBy: external_prop_types_default.a.string,
|
|
387
|
+
loadingMessage: external_prop_types_default.a.node,
|
|
388
|
+
menuStyle: external_prop_types_default.a.object,
|
|
389
|
+
name: external_prop_types_default.a.string,
|
|
390
|
+
noOptionsMessage: external_prop_types_default.a.node,
|
|
391
|
+
onChange: external_prop_types_default.a.func,
|
|
392
|
+
onClose: external_prop_types_default.a.func,
|
|
393
|
+
onFocus: external_prop_types_default.a.func,
|
|
394
|
+
onKeyDown: external_prop_types_default.a.func,
|
|
395
|
+
onOpen: external_prop_types_default.a.func,
|
|
396
|
+
placeholder: external_prop_types_default.a.string,
|
|
397
|
+
value: external_prop_types_default.a.string
|
|
398
|
+
};
|
|
399
|
+
|
|
400
|
+
function containsEvent(el, _ref) {
|
|
401
|
+
var clientX = _ref.clientX,
|
|
402
|
+
clientY = _ref.clientY;
|
|
403
|
+
|
|
404
|
+
var _el$getBoundingClient = el.getBoundingClientRect(),
|
|
405
|
+
top = _el$getBoundingClient.top,
|
|
406
|
+
left = _el$getBoundingClient.left,
|
|
407
|
+
bottom = _el$getBoundingClient.bottom,
|
|
408
|
+
right = _el$getBoundingClient.right;
|
|
409
|
+
|
|
410
|
+
return clientX > left && clientX < right && clientY > top && clientY < bottom;
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
function Search(_ref2) {
|
|
414
|
+
var _ref2$animateLoading = _ref2.animateLoading,
|
|
415
|
+
animateLoading = _ref2$animateLoading === void 0 ? false : _ref2$animateLoading,
|
|
416
|
+
children = _ref2.children,
|
|
417
|
+
defaultPlacement = _ref2.defaultPlacement,
|
|
418
|
+
defaultValue = _ref2.defaultValue,
|
|
419
|
+
describedBy = _ref2.describedBy,
|
|
420
|
+
_ref2$disabled = _ref2.disabled,
|
|
421
|
+
disabled = _ref2$disabled === void 0 ? false : _ref2$disabled,
|
|
422
|
+
elementRef = _ref2.elementRef,
|
|
423
|
+
_ref2$error = _ref2.error,
|
|
424
|
+
error = _ref2$error === void 0 ? false : _ref2$error,
|
|
425
|
+
footerMessage = _ref2.footerMessage,
|
|
426
|
+
_ref2$inline = _ref2.inline,
|
|
427
|
+
inline = _ref2$inline === void 0 ? false : _ref2$inline,
|
|
428
|
+
inputRef = _ref2.inputRef,
|
|
429
|
+
_ref2$isLoadingOption = _ref2.isLoadingOptions,
|
|
430
|
+
isLoadingOptions = _ref2$isLoadingOption === void 0 ? false : _ref2$isLoadingOption,
|
|
431
|
+
labelledBy = _ref2.labelledBy,
|
|
432
|
+
loadingMessage = _ref2.loadingMessage,
|
|
433
|
+
_ref2$menuStyle = _ref2.menuStyle,
|
|
434
|
+
menuStyle = _ref2$menuStyle === void 0 ? {} : _ref2$menuStyle,
|
|
435
|
+
name = _ref2.name,
|
|
436
|
+
noOptionsMessage = _ref2.noOptionsMessage,
|
|
437
|
+
onChange = _ref2.onChange,
|
|
438
|
+
onClose = _ref2.onClose,
|
|
439
|
+
onFocus = _ref2.onFocus,
|
|
440
|
+
onKeyDown = _ref2.onKeyDown,
|
|
441
|
+
onOpen = _ref2.onOpen,
|
|
442
|
+
_ref2$placeholder = _ref2.placeholder,
|
|
443
|
+
placeholder = _ref2$placeholder === void 0 ? Object(i18n_["_"])('Search...') : _ref2$placeholder,
|
|
444
|
+
propValue = _ref2.value,
|
|
445
|
+
otherProps = Search_objectWithoutProperties(_ref2, ["animateLoading", "children", "defaultPlacement", "defaultValue", "describedBy", "disabled", "elementRef", "error", "footerMessage", "inline", "inputRef", "isLoadingOptions", "labelledBy", "loadingMessage", "menuStyle", "name", "noOptionsMessage", "onChange", "onClose", "onFocus", "onKeyDown", "onOpen", "placeholder", "value"]);
|
|
446
|
+
|
|
447
|
+
// @docs-props-type SearchPropsBase
|
|
448
|
+
// state
|
|
449
|
+
var _useState = Object(external_react_["useState"])(0),
|
|
450
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
451
|
+
activeIndex = _useState2[0],
|
|
452
|
+
setActiveIndex = _useState2[1];
|
|
453
|
+
|
|
454
|
+
var _useState3 = Object(external_react_["useState"])(false),
|
|
455
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
456
|
+
isOpen = _useState4[0],
|
|
457
|
+
setIsOpen = _useState4[1];
|
|
458
|
+
|
|
459
|
+
var _useState5 = Object(external_react_["useState"])(undefined),
|
|
460
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
461
|
+
typedValue = _useState6[0],
|
|
462
|
+
setTypedValue = _useState6[1];
|
|
463
|
+
|
|
464
|
+
var _useState7 = Object(external_react_["useState"])(defaultValue || ''),
|
|
465
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
466
|
+
value = _useState8[0],
|
|
467
|
+
setValue = _useState8[1]; // previous state
|
|
468
|
+
|
|
469
|
+
|
|
470
|
+
var previousActiveIndexState = usePrevious_default()(activeIndex); // refs
|
|
471
|
+
|
|
472
|
+
var anchorRef = Object(external_react_["useRef"])(null);
|
|
473
|
+
var textRef = Object(external_react_["useRef"])(null);
|
|
474
|
+
var controlledExternally = Object(external_react_["useRef"])(propValue !== undefined && propValue !== null);
|
|
475
|
+
var focusCalledInternally = Object(external_react_["useRef"])(false);
|
|
476
|
+
var options = Object(external_react_["useRef"])([]);
|
|
477
|
+
var popoverId = Object(external_react_["useRef"])(Object(id_["createDOMID"])('popover'));
|
|
478
|
+
var previousActiveIndex = Object(external_react_["useRef"])(previousActiveIndexState);
|
|
479
|
+
var activeItemId = Object(external_react_["useRef"])(Object(id_["createDOMID"])('active-item'));
|
|
480
|
+
var activeValue = Object(external_react_["useRef"])(undefined);
|
|
481
|
+
|
|
482
|
+
var handleAnchorRef = function handleAnchorRef(el) {
|
|
483
|
+
Object(updateReactRef["a" /* updateReactRef */])(anchorRef, el);
|
|
484
|
+
Object(updateReactRef["a" /* updateReactRef */])(elementRef, el);
|
|
485
|
+
};
|
|
486
|
+
|
|
487
|
+
var handleInputRef = function handleInputRef(el) {
|
|
488
|
+
Object(updateReactRef["a" /* updateReactRef */])(textRef, el);
|
|
489
|
+
Object(updateReactRef["a" /* updateReactRef */])(inputRef, el);
|
|
490
|
+
};
|
|
491
|
+
|
|
492
|
+
var getValue = function getValue() {
|
|
493
|
+
return controlledExternally.current ? propValue : value;
|
|
494
|
+
};
|
|
495
|
+
|
|
496
|
+
var getDisplayValue = function getDisplayValue() {
|
|
497
|
+
var currentValue = getValue();
|
|
498
|
+
var initialOptions = external_react_["Children"].toArray(children).filter(external_react_["isValidElement"]);
|
|
499
|
+
var optionForValue = !typedValue && initialOptions.find(function (option) {
|
|
500
|
+
return option.props.label !== undefined && option.props.value === currentValue;
|
|
501
|
+
});
|
|
502
|
+
|
|
503
|
+
if (optionForValue) {
|
|
504
|
+
return optionForValue === null || optionForValue === void 0 ? void 0 : optionForValue.props.label;
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
return currentValue;
|
|
508
|
+
};
|
|
509
|
+
|
|
510
|
+
var isMenuValid = function isMenuValid() {
|
|
511
|
+
return !!children || isLoadingOptions;
|
|
512
|
+
};
|
|
513
|
+
|
|
514
|
+
var requestOpen = function requestOpen() {
|
|
515
|
+
setIsOpen(true);
|
|
516
|
+
setActiveIndex(-1);
|
|
517
|
+
onOpen === null || onOpen === void 0 ? void 0 : onOpen();
|
|
518
|
+
};
|
|
519
|
+
|
|
520
|
+
var requestClose = function requestClose() {
|
|
521
|
+
setIsOpen(false);
|
|
522
|
+
previousActiveIndex.current = null;
|
|
523
|
+
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
524
|
+
};
|
|
525
|
+
|
|
526
|
+
var requestFocus = function requestFocus() {
|
|
527
|
+
var _textRef$current;
|
|
528
|
+
|
|
529
|
+
(_textRef$current = textRef.current) === null || _textRef$current === void 0 ? void 0 : _textRef$current.focus();
|
|
530
|
+
};
|
|
531
|
+
|
|
532
|
+
var handleInputFocus = function handleInputFocus(e) {
|
|
533
|
+
/* SUI-930 On IE 11 this handler is essentially deferred after calling
|
|
534
|
+
* this.textInput.focus(). this.focusCalledInternally enables the focus event to be ignored
|
|
535
|
+
* when the menu closes. */
|
|
536
|
+
if (focusCalledInternally.current) {
|
|
537
|
+
focusCalledInternally.current = false;
|
|
538
|
+
} else {
|
|
539
|
+
requestOpen();
|
|
540
|
+
}
|
|
541
|
+
|
|
542
|
+
onFocus === null || onFocus === void 0 ? void 0 : onFocus(e);
|
|
543
|
+
};
|
|
544
|
+
|
|
545
|
+
var handleChange = function handleChange(e, _ref3) {
|
|
546
|
+
var controlValue = _ref3.value;
|
|
547
|
+
|
|
548
|
+
if (!controlledExternally.current) {
|
|
549
|
+
setValue(controlValue);
|
|
550
|
+
}
|
|
551
|
+
|
|
552
|
+
setActiveIndex(-1);
|
|
553
|
+
setTypedValue(controlValue);
|
|
554
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(e, {
|
|
555
|
+
value: controlValue,
|
|
556
|
+
name: name
|
|
557
|
+
});
|
|
558
|
+
};
|
|
559
|
+
|
|
560
|
+
var handleSelectOption = function handleSelectOption(e, data) {
|
|
561
|
+
handleChange(e, _objectSpread({}, data));
|
|
562
|
+
focusCalledInternally.current = true;
|
|
563
|
+
requestFocus();
|
|
564
|
+
requestClose();
|
|
565
|
+
};
|
|
566
|
+
|
|
567
|
+
var handleInputKeyDown = function handleInputKeyDown(e) {
|
|
568
|
+
var numOptions = options.current.length;
|
|
569
|
+
var activeOption = activeValue.current;
|
|
570
|
+
var eventKeyCode = Object(keyboard_["keycode"])(e.nativeEvent);
|
|
571
|
+
|
|
572
|
+
if (isOpen) {
|
|
573
|
+
switch (eventKeyCode) {
|
|
574
|
+
case 'enter':
|
|
575
|
+
{
|
|
576
|
+
if (activeOption) {
|
|
577
|
+
handleSelectOption(e, {
|
|
578
|
+
value: activeOption
|
|
579
|
+
});
|
|
580
|
+
}
|
|
581
|
+
|
|
582
|
+
break;
|
|
583
|
+
}
|
|
584
|
+
|
|
585
|
+
case 'tab':
|
|
586
|
+
requestClose();
|
|
587
|
+
break;
|
|
588
|
+
|
|
589
|
+
case 'down':
|
|
590
|
+
setActiveIndex(Math.min(activeIndex + 1, numOptions - 1));
|
|
591
|
+
break;
|
|
592
|
+
|
|
593
|
+
case 'up':
|
|
594
|
+
setActiveIndex(Math.max(activeIndex - 1, 0));
|
|
595
|
+
break;
|
|
596
|
+
|
|
597
|
+
default: // do nothing
|
|
598
|
+
|
|
599
|
+
}
|
|
600
|
+
} else if (Object(keyboard_["addsCharacter"])(e.nativeEvent) !== false || // Safari 9.0 returns undefined
|
|
601
|
+
eventKeyCode === 'enter' || eventKeyCode === 'backspace' || eventKeyCode === 'down' || eventKeyCode === 'up') {
|
|
602
|
+
requestOpen();
|
|
603
|
+
}
|
|
604
|
+
|
|
605
|
+
onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(e);
|
|
606
|
+
};
|
|
607
|
+
|
|
608
|
+
var handleInputClick = function handleInputClick() {
|
|
609
|
+
if (document.activeElement !== textRef.current) {
|
|
610
|
+
focusCalledInternally.current = true;
|
|
611
|
+
requestFocus();
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
if (!isOpen && !disabled) {
|
|
615
|
+
requestOpen();
|
|
616
|
+
}
|
|
617
|
+
};
|
|
618
|
+
|
|
619
|
+
var handleRequestClose = function handleRequestClose(_ref4) {
|
|
620
|
+
var event = _ref4.event,
|
|
621
|
+
reason = _ref4.reason;
|
|
622
|
+
var shouldClose = reason === 'offScreen' || reason === 'escapeKey' || reason === 'clickAway' && textRef.current && !containsEvent(textRef.current, event);
|
|
623
|
+
|
|
624
|
+
if (shouldClose) {
|
|
625
|
+
requestClose();
|
|
626
|
+
}
|
|
627
|
+
};
|
|
628
|
+
|
|
629
|
+
var handleActiveOptionMount = function handleActiveOptionMount(c) {
|
|
630
|
+
if (previousActiveIndex.current !== activeIndex) {
|
|
631
|
+
c === null || c === void 0 ? void 0 : c.scrollIntoViewIfNeeded();
|
|
632
|
+
}
|
|
633
|
+
};
|
|
634
|
+
|
|
635
|
+
var renderMenu = function renderMenu(_ref5) {
|
|
636
|
+
var anchorWidth = _ref5.anchorWidth,
|
|
637
|
+
maxHeight = _ref5.maxHeight;
|
|
638
|
+
var initialOptions = external_react_["Children"].toArray(children).filter(external_react_["isValidElement"]); // Highlight Active
|
|
639
|
+
|
|
640
|
+
activeValue.current = undefined; // Only update the menu options if they are valid and the drodown is open.
|
|
641
|
+
// This is necessary to handle the outro animation of the dropdown.
|
|
642
|
+
|
|
643
|
+
if (isMenuValid() && isOpen) {
|
|
644
|
+
options.current = initialOptions.map(function (option, index) {
|
|
645
|
+
if (!Object(external_lodash_["has"])(option.props, 'active')) {
|
|
646
|
+
// ignore Headings and Dividers
|
|
647
|
+
return option;
|
|
648
|
+
}
|
|
649
|
+
|
|
650
|
+
if (index === activeIndex) {
|
|
651
|
+
activeValue.current = option.props.value;
|
|
652
|
+
return /*#__PURE__*/Object(external_react_["cloneElement"])(option, {
|
|
653
|
+
ref: handleActiveOptionMount,
|
|
654
|
+
id: activeItemId.current,
|
|
655
|
+
onClick: handleSelectOption,
|
|
656
|
+
active: true
|
|
657
|
+
});
|
|
658
|
+
}
|
|
659
|
+
|
|
660
|
+
return /*#__PURE__*/Object(external_react_["cloneElement"])(option, {
|
|
661
|
+
onClick: handleSelectOption
|
|
662
|
+
});
|
|
663
|
+
});
|
|
664
|
+
}
|
|
665
|
+
|
|
666
|
+
return /*#__PURE__*/external_react_default.a.createElement(ResultsMenu_default.a, Search_extends({
|
|
667
|
+
style: Object(external_lodash_["extend"])({
|
|
668
|
+
overflow: 'auto',
|
|
669
|
+
width: Math.max(anchorWidth !== null && anchorWidth !== void 0 ? anchorWidth : 0, 200)
|
|
670
|
+
}, menuStyle),
|
|
671
|
+
controlledExternally: true,
|
|
672
|
+
maxHeight: maxHeight !== null && maxHeight !== void 0 ? maxHeight : undefined,
|
|
673
|
+
isLoading: isLoadingOptions
|
|
674
|
+
}, Object(external_lodash_["pick"])(otherProps, 'className'), {
|
|
675
|
+
noOptionsMessage: noOptionsMessage,
|
|
676
|
+
footerMessage: footerMessage,
|
|
677
|
+
animateLoading: animateLoading,
|
|
678
|
+
loadingMessage: loadingMessage
|
|
679
|
+
}), options.current);
|
|
680
|
+
};
|
|
681
|
+
|
|
682
|
+
var currentValue = getValue();
|
|
683
|
+
var currentDisplayValue = getDisplayValue();
|
|
684
|
+
var popupIsOpen = isOpen && !!anchorRef.current && isMenuValid();
|
|
685
|
+
var ariaProps = {
|
|
686
|
+
'aria-activedescendant': activeItemId.current,
|
|
687
|
+
'aria-expanded': popupIsOpen,
|
|
688
|
+
'aria-haspopup': isMenuValid(),
|
|
689
|
+
'aria-controls': popupIsOpen ? popoverId.current : undefined
|
|
690
|
+
};
|
|
691
|
+
|
|
692
|
+
if (!(labelledBy === null || labelledBy === void 0 ? void 0 : labelledBy.length)) {
|
|
693
|
+
ariaProps['aria-label'] = Object(i18n_["_"])('Value input');
|
|
694
|
+
}
|
|
695
|
+
|
|
696
|
+
return /*#__PURE__*/external_react_default.a.createElement(Text_default.a, Search_extends({
|
|
697
|
+
"data-test": "search"
|
|
698
|
+
}, Object(external_lodash_["omit"])(otherProps, 'className'), {
|
|
699
|
+
appearance: "search",
|
|
700
|
+
autoCapitalize: "off",
|
|
701
|
+
autoComplete: "off",
|
|
702
|
+
autoCorrect: "off",
|
|
703
|
+
"data-test-popover-id": popoverId.current,
|
|
704
|
+
"data-test-label": currentDisplayValue,
|
|
705
|
+
"data-test-value": currentValue,
|
|
706
|
+
"data-test-open": popupIsOpen,
|
|
707
|
+
describedBy: describedBy,
|
|
708
|
+
disabled: disabled,
|
|
709
|
+
elementRef: handleAnchorRef,
|
|
710
|
+
error: error,
|
|
711
|
+
inline: inline,
|
|
712
|
+
inputRef: handleInputRef,
|
|
713
|
+
labelledBy: labelledBy,
|
|
714
|
+
name: name,
|
|
715
|
+
onFocus: handleInputFocus,
|
|
716
|
+
onClick: handleInputClick,
|
|
717
|
+
onChange: handleChange,
|
|
718
|
+
onKeyDown: handleInputKeyDown,
|
|
719
|
+
placeholder: placeholder,
|
|
720
|
+
spellCheck: false,
|
|
721
|
+
value: currentDisplayValue
|
|
722
|
+
}, ariaProps), /*#__PURE__*/external_react_default.a.createElement(Popover_default.a, {
|
|
723
|
+
anchor: function () {
|
|
724
|
+
return anchorRef.current;
|
|
725
|
+
}(),
|
|
726
|
+
autoCloseWhenOffScreen: true,
|
|
727
|
+
canCoverAnchor: false,
|
|
728
|
+
defaultPlacement: defaultPlacement,
|
|
729
|
+
id: popoverId.current,
|
|
730
|
+
onRequestClose: handleRequestClose,
|
|
731
|
+
open: popupIsOpen,
|
|
732
|
+
repositionMode: "flip"
|
|
733
|
+
}, renderMenu));
|
|
734
|
+
}
|
|
735
|
+
|
|
736
|
+
Search.propTypes = Search_propTypes;
|
|
737
|
+
Search.Option = Search_Option;
|
|
738
|
+
Search.Divider = Menu_["Divider"];
|
|
739
|
+
Search.Heading = Menu_["Heading"];
|
|
740
|
+
/* harmony default export */ var Search_Search = (Search);
|
|
741
|
+
|
|
742
|
+
// CONCATENATED MODULE: ./src/Search/index.ts
|
|
743
|
+
|
|
744
|
+
|
|
745
|
+
|
|
746
|
+
/***/ }),
|
|
747
|
+
|
|
748
|
+
/***/ 2:
|
|
749
|
+
/***/ (function(module, exports) {
|
|
750
|
+
|
|
751
|
+
module.exports = require("react");
|
|
752
|
+
|
|
753
|
+
/***/ }),
|
|
754
|
+
|
|
755
|
+
/***/ 21:
|
|
756
|
+
/***/ (function(module, exports) {
|
|
757
|
+
|
|
758
|
+
module.exports = require("@splunk/react-ui/Text");
|
|
759
|
+
|
|
760
|
+
/***/ }),
|
|
761
|
+
|
|
762
|
+
/***/ 32:
|
|
763
|
+
/***/ (function(module, exports) {
|
|
764
|
+
|
|
765
|
+
module.exports = require("@splunk/react-ui/ResultsMenu");
|
|
766
|
+
|
|
767
|
+
/***/ }),
|
|
768
|
+
|
|
769
|
+
/***/ 4:
|
|
770
|
+
/***/ (function(module, exports) {
|
|
771
|
+
|
|
772
|
+
module.exports = require("lodash");
|
|
773
|
+
|
|
774
|
+
/***/ }),
|
|
775
|
+
|
|
776
|
+
/***/ 5:
|
|
777
|
+
/***/ (function(module, exports) {
|
|
778
|
+
|
|
779
|
+
module.exports = require("@splunk/ui-utils/i18n");
|
|
780
|
+
|
|
781
|
+
/***/ }),
|
|
782
|
+
|
|
783
|
+
/***/ 9:
|
|
784
|
+
/***/ (function(module, exports) {
|
|
785
|
+
|
|
786
|
+
module.exports = require("@splunk/ui-utils/keyboard");
|
|
787
|
+
|
|
788
|
+
/***/ }),
|
|
789
|
+
|
|
790
|
+
/***/ 96:
|
|
791
|
+
/***/ (function(module, exports) {
|
|
792
|
+
|
|
793
|
+
module.exports = require("@splunk/react-ui/usePrevious");
|
|
794
|
+
|
|
795
|
+
/***/ })
|
|
796
|
+
|
|
797
|
+
/******/ });
|