@splunk/react-ui 4.16.3 → 4.17.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 (177) 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 +101 -247
  7. package/ButtonGroup.js +4 -4
  8. package/ButtonSimple.js +6 -6
  9. package/CHANGELOG.md +60 -2
  10. package/Calendar.js +76 -275
  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 +38 -206
  16. package/Code.js +28 -20
  17. package/CollapsiblePanel.js +74 -228
  18. package/Color.js +62 -319
  19. package/ColumnLayout.js +6 -6
  20. package/ComboBox.js +34 -32
  21. package/Concertina.js +40 -40
  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 +32 -32
  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 +141 -411
  42. package/MessageBar.js +170 -400
  43. package/Modal.js +31 -31
  44. package/ModalLayer.js +6 -6
  45. package/Monogram.js +4 -4
  46. package/Multiselect.js +2299 -2517
  47. package/Number.js +32 -32
  48. package/Paginator.js +94 -323
  49. package/Paragraph.js +2 -2
  50. package/Popover.js +125 -125
  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 +226 -372
  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 +36 -239
  67. package/Switch.js +23 -23
  68. package/TabBar.js +47 -47
  69. package/TabLayout.js +30 -28
  70. package/Table.js +295 -589
  71. package/Text.js +111 -324
  72. package/TextArea.js +164 -368
  73. package/Tooltip.js +23 -23
  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 +12 -13
  79. package/stubs-splunkui.d.ts +4 -25
  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/Multiselect/Normal.d.ts +1 -1
  119. package/types/src/Number/IncrementIcon.d.ts +1 -1
  120. package/types/src/RadioBar/RadioBar.d.ts +1 -1
  121. package/types/src/Search/Option.d.ts +9 -0
  122. package/types/src/Select/OptionBase.d.ts +9 -0
  123. package/types/src/Select/icons/CaretSmallDown.d.ts +2 -0
  124. package/types/src/Select/icons/Search.d.ts +2 -0
  125. package/types/src/SplitButton/SplitButton.d.ts +8 -3
  126. package/types/src/SplitButton/docs/examples/Block.d.ts +1 -0
  127. package/types/src/TabBar/Tab.d.ts +3 -1
  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/TextArea/TextArea.d.ts +11 -4
  135. package/types/src/TextArea/docs/examples/ClearContent.d.ts +2 -0
  136. package/types/src/Tooltip/InfoIcon.d.ts +1 -1
  137. package/types/src/Typography/Typography.d.ts +4 -7
  138. package/types/src/useRovingFocus/index.d.ts +2 -0
  139. package/types/src/useRovingFocus/useRovingFocus.d.ts +27 -0
  140. package/useForceUpdate.js +2 -2
  141. package/useKeyPress.js +2 -2
  142. package/usePrevious.js +2 -2
  143. package/useRovingFocus.d.ts +2 -0
  144. package/useRovingFocus.js +237 -0
  145. package/Dockerfile.enterprise.storybook +0 -7
  146. package/Dockerfile.prisma.storybook +0 -7
  147. package/Dockerfile.visual +0 -10
  148. package/types/src/File/docs/examples/CustomChildren.d.ts +0 -12
  149. package/types/src/File/docs/examples/prisma/Progress.d.ts +0 -1
  150. package/types/src/Select/matchUtils.d.ts +0 -12
  151. package/types/src/SplitButton/docs/examples/prisma/Basic.d.ts +0 -1
  152. package/types/src/SplitButton/docs/examples/prisma/Disabled.d.ts +0 -1
  153. package/types/src/Table/HeadExpandRowsIcon.d.ts +0 -1
  154. package/types/src/icons/Alert.d.ts +0 -2
  155. package/types/src/icons/AlertFilled.d.ts +0 -2
  156. package/types/src/icons/CaretDown.d.ts +0 -2
  157. package/types/src/icons/CaretRight.d.ts +0 -2
  158. package/types/src/icons/Check.d.ts +0 -2
  159. package/types/src/icons/ChevronDown.d.ts +0 -2
  160. package/types/src/icons/ChevronLeft.d.ts +0 -2
  161. package/types/src/icons/ChevronRight.d.ts +0 -2
  162. package/types/src/icons/CrossMark.d.ts +0 -2
  163. package/types/src/icons/External.d.ts +0 -2
  164. package/types/src/icons/InfoFilled.d.ts +0 -2
  165. package/types/src/icons/More.d.ts +0 -2
  166. package/types/src/icons/MoreVertical.d.ts +0 -2
  167. package/types/src/icons/Plus.d.ts +0 -2
  168. package/types/src/icons/SVG.d.ts +0 -4
  169. package/types/src/icons/Search.d.ts +0 -2
  170. package/types/src/icons/Sort.d.ts +0 -2
  171. package/types/src/icons/SortedDown.d.ts +0 -2
  172. package/types/src/icons/SortedUp.d.ts +0 -2
  173. package/types/src/icons/Success.d.ts +0 -2
  174. package/types/src/icons/SuccessFilled.d.ts +0 -2
  175. package/types/src/icons/ThemedIcon.d.ts +0 -29
  176. package/types/src/icons/WarningFilled.d.ts +0 -2
  177. package/types/src/icons/types.d.ts +0 -11
package/CloseButton.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 = 207);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 215);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ({
@@ -108,7 +108,7 @@ module.exports = require("react");
108
108
 
109
109
  /***/ }),
110
110
 
111
- /***/ 207:
111
+ /***/ 215:
112
112
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
113
113
 
114
114
  "use strict";
@@ -126,23 +126,28 @@ var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_)
126
126
  var external_prop_types_ = __webpack_require__(1);
127
127
  var external_prop_types_default = /*#__PURE__*/__webpack_require__.n(external_prop_types_);
128
128
 
129
+ // EXTERNAL MODULE: external "@splunk/react-icons/Cross"
130
+ var Cross_ = __webpack_require__(25);
131
+ var Cross_default = /*#__PURE__*/__webpack_require__.n(Cross_);
132
+
133
+ // EXTERNAL MODULE: external "@splunk/react-icons/enterprise/Close"
134
+ var Close_ = __webpack_require__(26);
135
+ var Close_default = /*#__PURE__*/__webpack_require__.n(Close_);
136
+
137
+ // EXTERNAL MODULE: external "@splunk/themes"
138
+ var themes_ = __webpack_require__(0);
139
+
129
140
  // EXTERNAL MODULE: external "@splunk/ui-utils/i18n"
130
141
  var i18n_ = __webpack_require__(4);
131
142
 
132
- // EXTERNAL MODULE: ./src/icons/CrossMark.tsx
133
- var CrossMark = __webpack_require__(27);
134
-
135
143
  // EXTERNAL MODULE: external "styled-components"
136
144
  var external_styled_components_ = __webpack_require__(3);
137
145
  var external_styled_components_default = /*#__PURE__*/__webpack_require__.n(external_styled_components_);
138
146
 
139
147
  // EXTERNAL MODULE: external "@splunk/react-ui/ButtonSimple"
140
- var ButtonSimple_ = __webpack_require__(61);
148
+ var ButtonSimple_ = __webpack_require__(62);
141
149
  var ButtonSimple_default = /*#__PURE__*/__webpack_require__.n(ButtonSimple_);
142
150
 
143
- // EXTERNAL MODULE: external "@splunk/themes"
144
- var themes_ = __webpack_require__(0);
145
-
146
151
  // CONCATENATED MODULE: ./src/CloseButton/CloseButtonStyles.ts
147
152
 
148
153
 
@@ -164,6 +169,8 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
164
169
 
165
170
 
166
171
 
172
+
173
+
167
174
  var propTypes = {
168
175
  disabled: external_prop_types_default.a.bool,
169
176
  elementRef: external_prop_types_default.a.oneOfType([external_prop_types_default.a.func, external_prop_types_default.a.object]),
@@ -177,13 +184,24 @@ function CloseButton(_ref) {
177
184
  screenReaderText = _ref$screenReaderText === void 0 ? Object(i18n_["_"])('Close') : _ref$screenReaderText,
178
185
  otherProps = _objectWithoutProperties(_ref, ["disabled", "screenReaderText"]);
179
186
 
187
+ var _useSplunkTheme = Object(themes_["useSplunkTheme"])(),
188
+ isEnterprise = _useSplunkTheme.isEnterprise,
189
+ isCompact = _useSplunkTheme.isCompact;
190
+
191
+ var prismaSize = isCompact ? '20px' : '24px';
180
192
  return /*#__PURE__*/external_react_default.a.createElement(StyledButtonSimple, _extends({
181
193
  appearance: "pill",
182
- disabled: disabled
183
- }, otherProps), /*#__PURE__*/external_react_default.a.createElement(CrossMark["a" /* default */], {
184
- enterpriseSize: "13px",
185
- screenReaderText: screenReaderText,
186
- inline: false
194
+ disabled: disabled,
195
+ "aria-label": screenReaderText
196
+ }, otherProps), isEnterprise ? /*#__PURE__*/external_react_default.a.createElement(Close_default.a, {
197
+ "data-test": "cross",
198
+ inline: false,
199
+ screenReaderText: null,
200
+ size: "13px"
201
+ }) : /*#__PURE__*/external_react_default.a.createElement(Cross_default.a, {
202
+ "data-test": "cross",
203
+ height: prismaSize,
204
+ width: prismaSize
187
205
  }));
188
206
  }
189
207
 
@@ -194,60 +212,17 @@ CloseButton.propTypes = propTypes;
194
212
 
195
213
  /***/ }),
196
214
 
197
- /***/ 27:
198
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
199
-
200
- "use strict";
201
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return CrossMark; });
202
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
203
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
204
- /* harmony import */ var _splunk_react_icons_Close__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29);
205
- /* harmony import */ var _splunk_react_icons_Close__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_splunk_react_icons_Close__WEBPACK_IMPORTED_MODULE_1__);
206
- /* harmony import */ var _ThemedIcon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7);
207
- /* harmony import */ var _SVG__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6);
208
- 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); }
209
-
210
-
211
-
212
-
213
-
214
-
215
- function Prisma24(_ref) {
216
- var otherProps = _extends({}, _ref);
217
-
218
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SVG__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"], _extends({
219
- viewBox: "0 0 24 24"
220
- }, otherProps), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("path", {
221
- d: "M6.70711 5.29289C6.31658 4.90237 5.68342 4.90237 5.29289 5.29289C4.90237 5.68342 4.90237 6.31658 5.29289 6.70711L10.5858 12L5.2929 17.2929C4.90238 17.6834 4.90238 18.3166 5.2929 18.7071C5.68342 19.0976 6.31659 19.0976 6.70711 18.7071L12 13.4142L17.2929 18.7071C17.6834 19.0976 18.3166 19.0976 18.7071 18.7071C19.0976 18.3166 19.0976 17.6834 18.7071 17.2929L13.4142 12L18.7071 6.70711C19.0976 6.31658 19.0976 5.68342 18.7071 5.29289C18.3166 4.90237 17.6834 4.90237 17.2929 5.29289L12 10.5858L6.70711 5.29289Z",
222
- fill: "currentColor"
223
- }));
224
- }
225
-
226
- function Prisma16(_ref2) {
227
- var otherProps = _extends({}, _ref2);
228
-
229
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SVG__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"], _extends({
230
- viewBox: "0 0 16 16"
231
- }, otherProps), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("path", {
232
- d: "M12.2024 2.69009C12.5092 2.38325 13.0067 2.38325 13.3136 2.69009C13.6204 2.99693 13.6204 3.49442 13.3136 3.80126L9.11721 7.99762L13.3114 12.1918C13.6206 12.501 13.6206 13.0023 13.3114 13.3114C13.0023 13.6206 12.501 13.6206 12.1918 13.3114L7.99762 9.11721L3.885 13.2298C3.57816 13.5367 3.08067 13.5367 2.77383 13.2298C2.46699 12.923 2.46699 12.4255 2.77383 12.1187L6.88645 8.00604L2.69183 3.81142C2.38267 3.50226 2.38267 3.001 2.69183 2.69183C3.001 2.38267 3.50226 2.38267 3.81142 2.69183L8.00604 6.88646L12.2024 2.69009Z",
233
- fill: "currentColor"
234
- }));
235
- }
215
+ /***/ 25:
216
+ /***/ (function(module, exports) {
236
217
 
237
- function CrossMark(props) {
238
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ThemedIcon__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"], _extends({
239
- Enterprise: _splunk_react_icons_Close__WEBPACK_IMPORTED_MODULE_1___default.a,
240
- Prisma16: Prisma16,
241
- Prisma24: Prisma24
242
- }, props));
243
- }
218
+ module.exports = require("@splunk/react-icons/Cross");
244
219
 
245
220
  /***/ }),
246
221
 
247
- /***/ 29:
222
+ /***/ 26:
248
223
  /***/ (function(module, exports) {
249
224
 
250
- module.exports = require("@splunk/react-icons/Close");
225
+ module.exports = require("@splunk/react-icons/enterprise/Close");
251
226
 
252
227
  /***/ }),
253
228
 
@@ -265,154 +240,11 @@ module.exports = require("@splunk/ui-utils/i18n");
265
240
 
266
241
  /***/ }),
267
242
 
268
- /***/ 6:
269
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
270
-
271
- "use strict";
272
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return SVG; });
273
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
274
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
275
- /* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3);
276
- /* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(styled_components__WEBPACK_IMPORTED_MODULE_1__);
277
- 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); }
278
-
279
-
280
-
281
- var Styled = styled_components__WEBPACK_IMPORTED_MODULE_1___default.a.svg.withConfig({
282
- displayName: "SVG__Styled",
283
- componentId: "sc-1bz0ryh-0"
284
- })(["flex:0 0 auto;"]);
285
- function SVG(props) {
286
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Styled, _extends({
287
- xmlns: "http://www.w3.org/2000/svg"
288
- }, props));
289
- }
290
-
291
- /***/ }),
292
-
293
- /***/ 61:
243
+ /***/ 62:
294
244
  /***/ (function(module, exports) {
295
245
 
296
246
  module.exports = require("@splunk/react-ui/ButtonSimple");
297
247
 
298
- /***/ }),
299
-
300
- /***/ 7:
301
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
302
-
303
- "use strict";
304
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Icon; });
305
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
306
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
307
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1);
308
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
309
- /* harmony import */ var _splunk_themes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(0);
310
- /* harmony import */ var _splunk_themes__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_splunk_themes__WEBPACK_IMPORTED_MODULE_2__);
311
- 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; }
312
-
313
- 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) { _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; }
314
-
315
- 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; }
316
-
317
- 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); }
318
-
319
- 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; }
320
-
321
- 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; }
322
-
323
-
324
-
325
-
326
- var inlineStyles = {
327
- display: 'inline-block',
328
- flex: '0 0 auto',
329
- overflow: 'visible',
330
- verticalAlign: 'middle'
331
- };
332
- var blockStyles = {
333
- display: 'block',
334
- flex: '0 0 auto',
335
- margin: '0 auto',
336
- overflow: 'visible'
337
- };
338
- var propTypes = {
339
- Enterprise: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,
340
- enterpriseSize: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string]),
341
- enterpriseWidth: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string]),
342
- enterpriseHeight: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string]),
343
- Prisma24: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,
344
- Prisma20: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,
345
- Prisma16: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,
346
- prismaSize: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['medium', 'small']),
347
- inline: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,
348
- screenReaderText: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string
349
- };
350
- var defaultProps = {
351
- inline: true,
352
- prismaSize: 'medium'
353
- };
354
- function Icon(_ref) {
355
- var Enterprise = _ref.Enterprise,
356
- Prisma24 = _ref.Prisma24,
357
- Prisma20 = _ref.Prisma20,
358
- Prisma16 = _ref.Prisma16,
359
- prismaSize = _ref.prismaSize,
360
- inline = _ref.inline,
361
- enterpriseSize = _ref.enterpriseSize,
362
- enterpriseWidth = _ref.enterpriseWidth,
363
- enterpriseHeight = _ref.enterpriseHeight,
364
- screenReaderText = _ref.screenReaderText,
365
- otherProps = _objectWithoutProperties(_ref, ["Enterprise", "Prisma24", "Prisma20", "Prisma16", "prismaSize", "inline", "enterpriseSize", "enterpriseWidth", "enterpriseHeight", "screenReaderText"]);
366
-
367
- var _useSplunkTheme = Object(_splunk_themes__WEBPACK_IMPORTED_MODULE_2__["useSplunkTheme"])(),
368
- family = _useSplunkTheme.family,
369
- density = _useSplunkTheme.density; // Enterprise - all variants
370
-
371
-
372
- if (family === 'enterprise') {
373
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Enterprise, _extends({
374
- size: enterpriseSize,
375
- width: enterpriseWidth,
376
- height: enterpriseHeight,
377
- screenReaderText: screenReaderText || null,
378
- hideDefaultTooltip: true,
379
- inline: inline
380
- }, otherProps));
381
- }
382
-
383
- var prismaProps = _objectSpread({
384
- 'aria-label': screenReaderText,
385
- style: inline ? inlineStyles : blockStyles
386
- }, otherProps); // Prisma - small+compact, small+comfortable
387
-
388
-
389
- if (prismaSize === 'small') {
390
- var SVG = Prisma16 || Prisma24;
391
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(SVG, _extends({
392
- width: "16",
393
- height: "16"
394
- }, prismaProps));
395
- } // Prisma - medium+compact
396
-
397
-
398
- if (density === 'compact') {
399
- var _SVG = Prisma20 || Prisma24;
400
-
401
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SVG, _extends({
402
- width: "20",
403
- height: "20"
404
- }, prismaProps));
405
- } // Prisma - medium+comfortable
406
-
407
-
408
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Prisma24, _extends({
409
- width: "24",
410
- height: "24"
411
- }, prismaProps));
412
- }
413
- Icon.propTypes = propTypes;
414
- Icon.defaultProps = defaultProps;
415
-
416
248
  /***/ })
417
249
 
418
250
  /******/ });
package/Code.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 = 208);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 216);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ({
@@ -2290,7 +2290,7 @@ Prism.languages.js = Prism.languages.javascript;
2290
2290
 
2291
2291
  /***/ }),
2292
2292
 
2293
- /***/ 122:
2293
+ /***/ 124:
2294
2294
  /***/ (function(module, exports) {
2295
2295
 
2296
2296
  module.exports = require("lodash/flatten");
@@ -2304,7 +2304,7 @@ module.exports = require("react");
2304
2304
 
2305
2305
  /***/ }),
2306
2306
 
2307
- /***/ 208:
2307
+ /***/ 216:
2308
2308
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2309
2309
 
2310
2310
  "use strict";
@@ -2323,22 +2323,23 @@ var external_prop_types_ = __webpack_require__(1);
2323
2323
  var external_prop_types_default = /*#__PURE__*/__webpack_require__.n(external_prop_types_);
2324
2324
 
2325
2325
  // EXTERNAL MODULE: external "lodash/castArray"
2326
- var castArray_ = __webpack_require__(62);
2326
+ var castArray_ = __webpack_require__(65);
2327
2327
  var castArray_default = /*#__PURE__*/__webpack_require__.n(castArray_);
2328
2328
 
2329
2329
  // EXTERNAL MODULE: external "lodash/flatten"
2330
- var flatten_ = __webpack_require__(122);
2330
+ var flatten_ = __webpack_require__(124);
2331
2331
  var flatten_default = /*#__PURE__*/__webpack_require__.n(flatten_);
2332
2332
 
2333
2333
  // EXTERNAL MODULE: external "lodash/indexOf"
2334
- var indexOf_ = __webpack_require__(88);
2334
+ var indexOf_ = __webpack_require__(81);
2335
+ var indexOf_default = /*#__PURE__*/__webpack_require__.n(indexOf_);
2335
2336
 
2336
2337
  // EXTERNAL MODULE: external "lodash/repeat"
2337
- var repeat_ = __webpack_require__(79);
2338
+ var repeat_ = __webpack_require__(78);
2338
2339
  var repeat_default = /*#__PURE__*/__webpack_require__.n(repeat_);
2339
2340
 
2340
2341
  // EXTERNAL MODULE: external "lodash/times"
2341
- var times_ = __webpack_require__(78);
2342
+ var times_ = __webpack_require__(77);
2342
2343
  var times_default = /*#__PURE__*/__webpack_require__.n(times_);
2343
2344
 
2344
2345
  // EXTERNAL MODULE: ./src/Code/prism/prism.empty
@@ -2483,8 +2484,6 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
2483
2484
  var supportedLanguages = ['bash', 'clike', 'css', 'html', 'json', 'javascript', 'js', 'jsx', 'typescript', 'ts', 'tsx', 'markup', 'mathml', 'svg', 'xml', 'yaml', 'yml'];
2484
2485
 
2485
2486
  function tokenize(text, language) {
2486
- if (false) {}
2487
-
2488
2487
  return prism_empty_default.a.tokenize(text, prism_empty_default.a.languages[language]);
2489
2488
  }
2490
2489
 
@@ -2492,6 +2491,7 @@ var propTypes = {
2492
2491
  elementRef: external_prop_types_default.a.oneOfType([external_prop_types_default.a.func, external_prop_types_default.a.object]),
2493
2492
  indentChars: external_prop_types_default.a.number,
2494
2493
  language: external_prop_types_default.a.oneOf(supportedLanguages),
2494
+ languageFallback: external_prop_types_default.a.oneOf(supportedLanguages),
2495
2495
  showIndentGuide: external_prop_types_default.a.bool,
2496
2496
  value: external_prop_types_default.a.string
2497
2497
  };
@@ -2500,13 +2500,14 @@ function Code(_ref) {
2500
2500
  var elementRef = _ref.elementRef,
2501
2501
  _ref$indentChars = _ref.indentChars,
2502
2502
  indentChars = _ref$indentChars === void 0 ? 4 : _ref$indentChars,
2503
- _ref$language = _ref.language,
2504
- language = _ref$language === void 0 ? 'javascript' : _ref$language,
2503
+ language = _ref.language,
2504
+ _ref$languageFallback = _ref.languageFallback,
2505
+ languageFallback = _ref$languageFallback === void 0 ? 'javascript' : _ref$languageFallback,
2505
2506
  _ref$showIndentGuide = _ref.showIndentGuide,
2506
2507
  showIndentGuide = _ref$showIndentGuide === void 0 ? true : _ref$showIndentGuide,
2507
2508
  _ref$value = _ref.value,
2508
2509
  value = _ref$value === void 0 ? '' : _ref$value,
2509
- otherProps = _objectWithoutProperties(_ref, ["elementRef", "indentChars", "language", "showIndentGuide", "value"]);
2510
+ otherProps = _objectWithoutProperties(_ref, ["elementRef", "indentChars", "language", "languageFallback", "showIndentGuide", "value"]);
2510
2511
 
2511
2512
  // @docs-props-type CodePropsBase
2512
2513
  var indentBlock = repeat_default()(' ', indentChars);
@@ -2525,9 +2526,15 @@ function Code(_ref) {
2525
2526
  }
2526
2527
 
2527
2528
  return spans;
2528
- };
2529
+ }; // a fix for SUI-5425, where the Markdown component doesn't pass a valid language in some circumstances
2529
2530
 
2530
- var tokens = tokenize(value, language);
2531
+
2532
+ var isSupportedLanguage = indexOf_default()(supportedLanguages, language) > -1;
2533
+
2534
+ if (false) {}
2535
+
2536
+ var languageUsed = isSupportedLanguage && language ? language : languageFallback;
2537
+ var tokens = tokenize(value, languageUsed);
2531
2538
 
2532
2539
  var render = function render(tks) {
2533
2540
  return castArray_default()(tks).map(function (part, idx) {
@@ -2560,6 +2567,7 @@ function Code(_ref) {
2560
2567
 
2561
2568
  var content = typeof part.content === 'string' ? part.content : render(part.content);
2562
2569
  return /*#__PURE__*/external_react_default.a.createElement(StyledToken, {
2570
+ "data-part-type": part.type,
2563
2571
  partType: part.type,
2564
2572
  key: idx.toString()
2565
2573
  }, content);
@@ -2572,7 +2580,7 @@ function Code(_ref) {
2572
2580
  ref: elementRef,
2573
2581
  tabIndex: 0
2574
2582
  }, otherProps), /*#__PURE__*/external_react_default.a.createElement(StyledCode, {
2575
- className: "language-".concat(language)
2583
+ className: "language-".concat(languageUsed)
2576
2584
  }, codeContent));
2577
2585
  }
2578
2586
 
@@ -2590,28 +2598,28 @@ module.exports = require("styled-components");
2590
2598
 
2591
2599
  /***/ }),
2592
2600
 
2593
- /***/ 62:
2601
+ /***/ 65:
2594
2602
  /***/ (function(module, exports) {
2595
2603
 
2596
2604
  module.exports = require("lodash/castArray");
2597
2605
 
2598
2606
  /***/ }),
2599
2607
 
2600
- /***/ 78:
2608
+ /***/ 77:
2601
2609
  /***/ (function(module, exports) {
2602
2610
 
2603
2611
  module.exports = require("lodash/times");
2604
2612
 
2605
2613
  /***/ }),
2606
2614
 
2607
- /***/ 79:
2615
+ /***/ 78:
2608
2616
  /***/ (function(module, exports) {
2609
2617
 
2610
2618
  module.exports = require("lodash/repeat");
2611
2619
 
2612
2620
  /***/ }),
2613
2621
 
2614
- /***/ 88:
2622
+ /***/ 81:
2615
2623
  /***/ (function(module, exports) {
2616
2624
 
2617
2625
  module.exports = require("lodash/indexOf");