@splunk/react-ui 4.12.1 → 4.14.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 (122) hide show
  1. package/.storybook-visual/config/snapshotResolver.js +29 -0
  2. package/.storybook-visual/main.js +22 -0
  3. package/.storybook-visual/preview.jsx +31 -0
  4. package/.storybook-visual/scripts/test.sh +108 -0
  5. package/.storybook-visual/test-runner.js +108 -0
  6. package/Accordion.js +4 -4
  7. package/Anchor.js +2 -2
  8. package/Animation.js +6 -6
  9. package/AnimationToggle.js +2 -2
  10. package/Box.js +2 -2
  11. package/Button.js +23 -23
  12. package/ButtonGroup.js +2 -2
  13. package/ButtonSimple.js +7 -7
  14. package/CHANGELOG.md +33 -0
  15. package/Calendar.js +390 -95
  16. package/Card.js +25 -23
  17. package/CardLayout.js +2 -2
  18. package/Chip.js +17 -17
  19. package/Clickable.js +4 -4
  20. package/CloseButton.js +15 -15
  21. package/Code.js +4 -4
  22. package/CollapsiblePanel.js +15 -11
  23. package/Color.js +26 -26
  24. package/ColumnLayout.js +6 -6
  25. package/ComboBox.js +19 -19
  26. package/Concertina.js +6 -6
  27. package/ControlGroup.js +14 -13
  28. package/Date.js +118 -55
  29. package/DefinitionList.js +2 -2
  30. package/Divider.js +194 -0
  31. package/Dropdown.js +17 -13
  32. package/EventListener.js +4 -4
  33. package/File.js +23 -23
  34. package/FormRows.js +14 -14
  35. package/Heading.js +2 -2
  36. package/Image.js +19 -19
  37. package/JSONTree.js +2 -2
  38. package/Layer.js +85 -8
  39. package/Link.js +4 -4
  40. package/List.js +2 -2
  41. package/Markdown.js +18 -18
  42. package/Menu.js +51 -52
  43. package/Message.js +39 -39
  44. package/MessageBar.js +29 -29
  45. package/Modal.js +63 -37
  46. package/ModalLayer.js +11 -11
  47. package/Monogram.js +2 -2
  48. package/Multiselect.js +134 -125
  49. package/Number.js +8 -6
  50. package/Paginator.js +48 -48
  51. package/Paragraph.js +2 -2
  52. package/Popover.js +186 -19
  53. package/Progress.js +8 -8
  54. package/RadioBar.js +2 -2
  55. package/RadioList.js +4 -4
  56. package/Resize.js +4 -4
  57. package/ResultsMenu.js +20 -20
  58. package/ScreenReaderContent.js +2 -2
  59. package/Scroll.js +13 -13
  60. package/ScrollContainerContext.js +154 -3
  61. package/Search.js +25 -25
  62. package/Select.js +114 -105
  63. package/SidePanel.js +6 -6
  64. package/Slider.js +14 -14
  65. package/SlidingPanels.js +11 -11
  66. package/SplitButton.js +511 -0
  67. package/StaticContent.js +2 -2
  68. package/StepBar.js +10 -10
  69. package/Switch.js +8 -8
  70. package/TabBar.js +15 -15
  71. package/TabLayout.js +6 -6
  72. package/Table.js +275 -76
  73. package/Text.js +51 -42
  74. package/TextArea.js +41 -33
  75. package/Tooltip.js +17 -11
  76. package/TransitionOpen.js +39 -15
  77. package/Typography.js +4 -4
  78. package/WaitSpinner.js +4 -4
  79. package/package.json +12 -14
  80. package/test-runner-jest.config.js +18 -5
  81. package/types/src/Button/Button.d.ts +1 -1
  82. package/types/src/Calendar/Calendar.d.ts +15 -2
  83. package/types/src/Calendar/DateTable.d.ts +7 -3
  84. package/types/src/Calendar/Day.d.ts +14 -5
  85. package/types/src/CollapsiblePanel/CollapsiblePanel.d.ts +7 -3
  86. package/types/src/Date/Date.d.ts +17 -8
  87. package/types/src/Date/docs/examples/CustomDate.d.ts +2 -2
  88. package/types/src/Date/docs/examples/Disabled.d.ts +2 -2
  89. package/types/src/Date/docs/examples/prisma/WithoutCalendar.d.ts +2 -0
  90. package/types/src/Divider/Divider.d.ts +20 -0
  91. package/types/src/Divider/docs/examples/AriaHidden.d.ts +2 -0
  92. package/types/src/Divider/docs/examples/Basic.d.ts +2 -0
  93. package/types/src/Divider/docs/examples/CustomStyle.d.ts +2 -0
  94. package/types/src/Divider/docs/examples/Vertical.d.ts +2 -0
  95. package/types/src/Divider/index.d.ts +1 -0
  96. package/types/src/Dropdown/Dropdown.d.ts +11 -3
  97. package/types/src/Modal/Modal.d.ts +7 -3
  98. package/types/src/Modal/ModalContext.d.ts +1 -0
  99. package/types/src/Number/Number.d.ts +5 -1
  100. package/types/src/Popover/Popover.d.ts +5 -1
  101. package/types/src/Popover/getPlacement.d.ts +1 -1
  102. package/types/src/SplitButton/Item.d.ts +45 -0
  103. package/types/src/SplitButton/SplitButton.d.ts +41 -0
  104. package/types/src/SplitButton/docs/examples/Basic.d.ts +1 -0
  105. package/types/src/SplitButton/docs/examples/ChangeLabel.d.ts +1 -0
  106. package/types/src/SplitButton/docs/examples/Disabled.d.ts +1 -0
  107. package/types/src/SplitButton/docs/examples/prisma/Basic.d.ts +1 -0
  108. package/types/src/SplitButton/docs/examples/prisma/Disabled.d.ts +1 -0
  109. package/types/src/SplitButton/index.d.ts +2 -0
  110. package/types/src/Table/HeadCell.d.ts +4 -1
  111. package/types/src/Table/HeadDropdownCell.d.ts +10 -3
  112. package/types/src/Table/docs/examples/FilterColumnValues.d.ts +14 -0
  113. package/types/src/Text/Text.d.ts +5 -1
  114. package/types/src/TextArea/TextArea.d.ts +5 -1
  115. package/types/src/Tooltip/Tooltip.d.ts +10 -5
  116. package/types/src/TransitionOpen/TransitionOpen.d.ts +7 -3
  117. package/types/src/useForceUpdate/index.d.ts +2 -0
  118. package/types/src/useForceUpdate/useForceUpdate.d.ts +9 -0
  119. package/types/src/useKeyPress/index.d.ts +37 -0
  120. package/useForceUpdate.js +151 -0
  121. package/useKeyPress.js +160 -0
  122. package/usePrevious.js +2 -2
@@ -0,0 +1,29 @@
1
+ /* eslint-disable */
2
+ const path = require('path');
3
+
4
+ const family = process.env.STORYBOOK_THEME_FAMILY.toString();
5
+ const browser = process.env.STORYBOOK_TEST_BROWSER.toString();
6
+
7
+ module.exports = {
8
+ testPathForConsistencyCheck: `src/__test__/example.test.tsx`,
9
+
10
+ /** resolves from test to snapshot path */
11
+ resolveSnapshotPath: (testPath, snapshotExtension) => {
12
+ const testSourcePath = testPath.replace('.tsx', `.${browser}.${family}`);
13
+ // Get directory of test source file
14
+ const testDirectory = path.dirname(testSourcePath);
15
+ // Get file name of test source file
16
+ const testFilename = path.basename(testSourcePath);
17
+ return `${testDirectory}/__snapshots__/${testFilename}${snapshotExtension}`;
18
+ },
19
+
20
+ /** resolves from snapshot to test path */
21
+ resolveTestPath: (snapshotFilePath, snapshotExtension) => {
22
+ const testSourceFile = snapshotFilePath
23
+ .replace('__test__/__snapshots__', '__test__')
24
+ .replace(`.${browser}.${family}`, '.tsx')
25
+ .slice(0, -snapshotExtension.length);
26
+
27
+ return `${testSourceFile}`;
28
+ },
29
+ };
@@ -0,0 +1,22 @@
1
+ /* eslint-env node */
2
+ /* eslint-disable @typescript-eslint/no-var-requires */
3
+
4
+ const webpackMerge = require('webpack-merge');
5
+ const webpackTestConfig = require('../webpack.test.config.js');
6
+
7
+ module.exports = {
8
+ // visualRegression tests will only test *.stories and *.example files
9
+ stories: [
10
+ '../src/**/stories/*.stories.@(js|jsx|ts|tsx)',
11
+ '../src/**/stories/*.examples.@(js|jsx|ts|tsx)',
12
+ ],
13
+ addons: ['@splunk/themes/storybook-addon-splunk-themes'],
14
+ typescript: {
15
+ check: false,
16
+ checkOptions: {},
17
+ reactDocgen: false,
18
+ },
19
+ webpackFinal: (config) => {
20
+ return webpackMerge(webpackTestConfig, config);
21
+ },
22
+ };
@@ -0,0 +1,31 @@
1
+ /* eslint-disable */
2
+ import React from 'react';
3
+
4
+ import {
5
+ parameters as infraParameters,
6
+ decorators as infraDecorators,
7
+ } from '../../../infra/storybook/preview';
8
+
9
+ const splunkThemes = process.env.STORYBOOK_THEME_FAMILY
10
+ ? {
11
+ family: process.env.STORYBOOK_THEME_FAMILY,
12
+ colorScheme: process.env.STORYBOOK_THEME_COLOR_SCHEME,
13
+ density: process.env.STORYBOOK_THEME_DENSITY,
14
+ }
15
+ : undefined;
16
+
17
+ const parameters = {
18
+ ...infraParameters,
19
+ splunkThemes,
20
+ };
21
+
22
+ const decorators = [
23
+ ...infraDecorators,
24
+ (Story) => (
25
+ <div id="storybook-test-wrapper">
26
+ <Story />
27
+ </div>
28
+ ),
29
+ ];
30
+
31
+ export { parameters, decorators };
@@ -0,0 +1,108 @@
1
+ #!/bin/bash
2
+
3
+ family="prisma"
4
+ colorScheme="dark"
5
+ density="comfortable"
6
+ browser="chromium"
7
+ component=""
8
+ maxWorkers="100%"
9
+ a11y="false"
10
+ skipBuild="false"
11
+
12
+ if ! options=$(getopt -o tfcd -l theme,family,color,component,density,browser,all,updateSnapshot,maxWorkers,a11y,skipBuild $*)
13
+ then
14
+ exit 1
15
+ fi
16
+
17
+ set -- $options
18
+
19
+ while [ $# -gt 0 ]
20
+ do
21
+ case $1 in
22
+ -t|--theme) themeArg=$2 ;;
23
+ -f|--family) familyArg=$2 ;;
24
+ -c|--color) colorSchemeArg=$2 ;;
25
+ -ct|--component) componentArg=$2 ;;
26
+ -d|--density) densityArg=$2 ;;
27
+ -a|--all) all='true' ;;
28
+ -u|--updateSnapshot) updateSnapshot='--updateSnapshot' ;;
29
+ -a|--a11y) a11y='true' ;;
30
+ -u|--maxWorkers) maxWorkers=$2 ;;
31
+ -ssb|--skipBuild) skipBuild='true' ;;
32
+ esac
33
+ shift
34
+ done
35
+
36
+
37
+
38
+ if [[ "$themeArg" == "enterprise" ]]; then
39
+ family="enterprise"
40
+ colorScheme="light"
41
+ density="comfortable"
42
+ fi
43
+
44
+ if [[ "$themeArg" == "prisma" ]]; then
45
+ family="prisma"
46
+ colorScheme="dark"
47
+ density="comfortable"
48
+ fi
49
+
50
+ if [[ -n "$familyArg" ]]; then
51
+ family="$familyArg"
52
+ fi
53
+
54
+ if [[ -n "$colorSchemeArg" ]]; then
55
+ colorScheme="$colorSchemeArg"
56
+ fi
57
+
58
+ if [[ -n "$densityArg" ]]; then
59
+ density="$densityArg"
60
+ fi
61
+
62
+ if [[ -n "$browserArg" ]]; then
63
+ browser="$browserArg"
64
+ fi
65
+
66
+ export STORYBOOK_THEME_FAMILY=$family
67
+ export STORYBOOK_THEME_COLOR_SCHEME=$colorScheme
68
+ export STORYBOOK_THEME_DENSITY=$density
69
+ export STORYBOOK_TEST_BROWSER=$browser
70
+ export STORYBOOK_TEST_A11Y=$a11y
71
+
72
+ if [[ -n "$componentArg" ]]; then
73
+ export STORYBOOK_TEST_COMPONENT=$componentArg
74
+ fi
75
+
76
+ if [[ $all == "true" ]]; then
77
+ if [[ $skipBuild == 'false' ]]; then
78
+ yarn build-storybook -c .storybook-visual --output-dir storybook-static-visual
79
+ else
80
+ echo "--skipBuild should not be used with --all. This will create invalid snapshots!"
81
+ exit 1;
82
+ fi
83
+ yarn build-storybook -c .storybook-visual --output-dir storybook-static-visual
84
+ http-server storybook-static-visual --port 6007 & wait-on tcp:6007
85
+ yarn cache clean && yarn test-storybook -c .storybook-visual ${updateSnapshot} --maxWorkers=${maxWorkers} --browsers chromium --url http://localhost:6007
86
+
87
+ export STORYBOOK_TEST_BROWSER=firefox
88
+ yarn cache clean && yarn test-storybook -c .storybook-visual ${updateSnapshot} --maxWorkers=${maxWorkers} --browsers firefox --url http://localhost:6007
89
+ lsof -ti tcp:6007 | xargs kill
90
+
91
+ export STORYBOOK_THEME_FAMILY=enterprise STORYBOOK_THEME_COLOR_SCHEME=light STORYBOOK_TEST_BROWSER=chromium
92
+ yarn build-storybook -c .storybook-visual --output-dir storybook-static-visual
93
+ http-server storybook-static-visual --port 6007 & wait-on tcp:6007
94
+ yarn cache clean && yarn test-storybook -c .storybook-visual ${updateSnapshot} --maxWorkers=${maxWorkers} --browsers chromium --url http://localhost:6007
95
+
96
+ export STORYBOOK_TEST_BROWSER=firefox
97
+ yarn cache clean && yarn test-storybook -c .storybook-visual ${updateSnapshot} --maxWorkers=${maxWorkers} --browsers firefox --url http://localhost:6007
98
+ lsof -ti tcp:6007 | xargs kill
99
+ else
100
+ if [[ $skipBuild == 'false' ]]; then
101
+ echo "BUILDING"
102
+ yarn build-storybook -c .storybook-visual --output-dir storybook-static-visual
103
+ else
104
+ echo "Skipping storybook-static-visual build (${STORYBOOK_THEME_FAMILY}, ${STORYBOOK_THEME_COLOR_SCHEME})..."
105
+ fi
106
+
107
+ http-server storybook-static-visual --port 6007 & wait-on tcp:6007 && yarn cache clean && yarn test-storybook "${updateSnapshot}" --maxWorkers=${maxWorkers} --browsers $browser --url http://localhost:6007 ; lsof -ti tcp:6007 | xargs kill
108
+ fi
@@ -0,0 +1,108 @@
1
+ /* eslint-disable */
2
+ const { toMatchImageSnapshot } = require('jest-image-snapshot');
3
+ const { injectAxe, checkA11y, getViolations } = require('axe-playwright');
4
+ const { getStoryContext } = require('@storybook/test-runner');
5
+ const { createHtmlReport } = require('axe-html-reporter');
6
+
7
+ const customA11yViolationsDir = `${process.cwd()}/test-reports/a11y/${
8
+ process.env.STORYBOOK_TEST_BROWSER
9
+ }-${process.env.STORYBOOK_THEME_FAMILY}/a11y-violations/`;
10
+
11
+ const customDiffDir = `${process.cwd()}/test-reports/visual/${process.env.STORYBOOK_TEST_BROWSER}-${
12
+ process.env.STORYBOOK_THEME_FAMILY
13
+ }/image_snapshot_diff/`;
14
+
15
+ const customReceivedDir = `${process.cwd()}/test-reports/visual/${
16
+ process.env.STORYBOOK_TEST_BROWSER
17
+ }-${process.env.STORYBOOK_THEME_FAMILY}/image_snapshot_received/`;
18
+
19
+ module.exports = {
20
+ setup() {
21
+ expect.extend({ toMatchImageSnapshot });
22
+ },
23
+ async preRender(page) {
24
+ jest.retryTimes(2);
25
+ if (process.env.STORYBOOK_TEST_A11Y == 'true') {
26
+ await injectAxe(page);
27
+ }
28
+ },
29
+ async postRender(page, context) {
30
+ // check for theme compatibility first, if it isn't compatible, exit test
31
+ const storyContext = await getStoryContext(page, context);
32
+ if (
33
+ storyContext.parameters?.themeSupport?.family !== undefined &&
34
+ storyContext.parameters?.themeSupport?.family !== process.env.STORYBOOK_THEME_FAMILY
35
+ ) {
36
+ return;
37
+ }
38
+
39
+ // check if should skip taking a snapshot for this story
40
+ if (storyContext.parameters?.skipSnapshot) {
41
+ return;
42
+ }
43
+
44
+ let componentName = context.title.split('/')[1];
45
+ componentName = componentName === 'ThemedIcon' ? 'icons' : componentName;
46
+
47
+ if (process.env.STORYBOOK_TEST_A11Y == 'false') {
48
+ const customSnapshotsDir = `${process.cwd()}/src/${componentName}/stories/__images__/${
49
+ process.env.STORYBOOK_TEST_BROWSER
50
+ }/${process.env.STORYBOOK_THEME_FAMILY}`;
51
+
52
+ if (
53
+ componentName === 'Modal' ||
54
+ componentName === 'Popover' ||
55
+ componentName === 'Tooltip' ||
56
+ componentName === 'Color' ||
57
+ componentName === 'Progress'
58
+ ) {
59
+ await new Promise((r) => setTimeout(r, 3000));
60
+ } else {
61
+ await new Promise((r) => setTimeout(r, 0));
62
+ }
63
+
64
+ const image = await page.screenshot({ animations: 'disabled' });
65
+
66
+ expect(image).toMatchImageSnapshot({
67
+ customSnapshotsDir,
68
+ customDiffDir,
69
+ customSnapshotIdentifier: context.id,
70
+ storeReceivedOnFailure: true,
71
+ customReceivedDir,
72
+ });
73
+
74
+ // const accessibilityTree = await page.accessibility.snapshot();
75
+ // expect(accessibilityTree).toMatchSnapshot();
76
+ } else {
77
+ // Run only if specified
78
+ const violations = await getViolations(page, '#storybook-test-wrapper', {
79
+ runOnly: {
80
+ type: 'tag',
81
+ values: ['wcag2a'],
82
+ },
83
+ });
84
+
85
+ await new Promise((resolve, reject) => {
86
+ if (violations.length > 0) {
87
+ createHtmlReport(
88
+ {
89
+ results: {
90
+ violations: violations,
91
+ },
92
+ options: {
93
+ outputDirPath: customA11yViolationsDir + '/' + componentName,
94
+ reportFileName: `${context.id}-violations.html`,
95
+ },
96
+ },
97
+ (err) => {
98
+ if (err) reject(err);
99
+ }
100
+ );
101
+ }
102
+ resolve();
103
+ });
104
+
105
+ await checkA11y(page, '#storybook-test-wrapper');
106
+ }
107
+ },
108
+ };
package/Accordion.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 = 128);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 133);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ({
@@ -101,7 +101,7 @@ module.exports = require("prop-types");
101
101
 
102
102
  /***/ }),
103
103
 
104
- /***/ 128:
104
+ /***/ 133:
105
105
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
106
106
 
107
107
  "use strict";
@@ -124,7 +124,7 @@ var external_prop_types_default = /*#__PURE__*/__webpack_require__.n(external_pr
124
124
  var external_lodash_ = __webpack_require__(4);
125
125
 
126
126
  // EXTERNAL MODULE: external "@splunk/react-ui/CollapsiblePanel"
127
- var CollapsiblePanel_ = __webpack_require__(83);
127
+ var CollapsiblePanel_ = __webpack_require__(86);
128
128
  var CollapsiblePanel_default = /*#__PURE__*/__webpack_require__.n(CollapsiblePanel_);
129
129
 
130
130
  // EXTERNAL MODULE: external "@splunk/themes"
@@ -415,7 +415,7 @@ module.exports = require("@splunk/react-ui/Box");
415
415
 
416
416
  /***/ }),
417
417
 
418
- /***/ 83:
418
+ /***/ 86:
419
419
  /***/ (function(module, exports) {
420
420
 
421
421
  module.exports = require("@splunk/react-ui/CollapsiblePanel");
package/Anchor.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 = 147);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 153);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ({
@@ -101,7 +101,7 @@ module.exports = require("prop-types");
101
101
 
102
102
  /***/ }),
103
103
 
104
- /***/ 147:
104
+ /***/ 153:
105
105
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
106
106
 
107
107
  "use strict";
package/Animation.js CHANGED
@@ -82,12 +82,12 @@ module.exports =
82
82
  /******/
83
83
  /******/
84
84
  /******/ // Load entry module and return exports
85
- /******/ return __webpack_require__(__webpack_require__.s = 175);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 182);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ({
89
89
 
90
- /***/ 175:
90
+ /***/ 182:
91
91
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
92
92
 
93
93
  "use strict";
@@ -99,10 +99,10 @@ __webpack_require__.d(__webpack_exports__, "Spring", function() { return /* reex
99
99
  __webpack_require__.d(__webpack_exports__, "Transition", function() { return /* reexport */ Transition; });
100
100
 
101
101
  // EXTERNAL MODULE: external "react-spring"
102
- var external_react_spring_ = __webpack_require__(18);
102
+ var external_react_spring_ = __webpack_require__(21);
103
103
 
104
104
  // EXTERNAL MODULE: external "@splunk/react-ui/AnimationToggle"
105
- var AnimationToggle_ = __webpack_require__(36);
105
+ var AnimationToggle_ = __webpack_require__(38);
106
106
 
107
107
  // CONCATENATED MODULE: ./src/Animation/Animation.tsx
108
108
  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; }
@@ -151,14 +151,14 @@ function Transition(_ref2) {
151
151
 
152
152
  /***/ }),
153
153
 
154
- /***/ 18:
154
+ /***/ 21:
155
155
  /***/ (function(module, exports) {
156
156
 
157
157
  module.exports = require("react-spring");
158
158
 
159
159
  /***/ }),
160
160
 
161
- /***/ 36:
161
+ /***/ 38:
162
162
  /***/ (function(module, exports) {
163
163
 
164
164
  module.exports = require("@splunk/react-ui/AnimationToggle");
@@ -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 = 129);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 134);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ({
@@ -94,7 +94,7 @@ module.exports = require("prop-types");
94
94
 
95
95
  /***/ }),
96
96
 
97
- /***/ 129:
97
+ /***/ 134:
98
98
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
99
99
 
100
100
  "use strict";
package/Box.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 = 148);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 154);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ({
@@ -101,7 +101,7 @@ module.exports = require("prop-types");
101
101
 
102
102
  /***/ }),
103
103
 
104
- /***/ 148:
104
+ /***/ 154:
105
105
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
106
106
 
107
107
  "use strict";
package/Button.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 = 135);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 140);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ({
@@ -101,7 +101,7 @@ module.exports = require("prop-types");
101
101
 
102
102
  /***/ }),
103
103
 
104
- /***/ 135:
104
+ /***/ 140:
105
105
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
106
106
 
107
107
  "use strict";
@@ -132,10 +132,10 @@ var Dropdown_ = __webpack_require__(20);
132
132
  var style_ = __webpack_require__(32);
133
133
 
134
134
  // EXTERNAL MODULE: ./src/icons/CaretDown.tsx
135
- var CaretDown = __webpack_require__(38);
135
+ var CaretDown = __webpack_require__(40);
136
136
 
137
137
  // EXTERNAL MODULE: external "@splunk/react-icons/External"
138
- var External_ = __webpack_require__(58);
138
+ var External_ = __webpack_require__(61);
139
139
  var External_default = /*#__PURE__*/__webpack_require__.n(External_);
140
140
 
141
141
  // EXTERNAL MODULE: ./src/icons/ThemedIcon.tsx
@@ -174,7 +174,7 @@ var external_styled_components_ = __webpack_require__(3);
174
174
  var external_styled_components_default = /*#__PURE__*/__webpack_require__.n(external_styled_components_);
175
175
 
176
176
  // EXTERNAL MODULE: external "@splunk/react-ui/ButtonSimple"
177
- var ButtonSimple_ = __webpack_require__(46);
177
+ var ButtonSimple_ = __webpack_require__(48);
178
178
  var ButtonSimple_default = /*#__PURE__*/__webpack_require__.n(ButtonSimple_);
179
179
 
180
180
  // EXTERNAL MODULE: external "@splunk/themes"
@@ -543,14 +543,21 @@ module.exports = require("@splunk/ui-utils/style");
543
543
 
544
544
  /***/ }),
545
545
 
546
- /***/ 38:
546
+ /***/ 4:
547
+ /***/ (function(module, exports) {
548
+
549
+ module.exports = require("lodash");
550
+
551
+ /***/ }),
552
+
553
+ /***/ 40:
547
554
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
548
555
 
549
556
  "use strict";
550
557
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return CaretDown; });
551
558
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
552
559
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
553
- /* harmony import */ var _splunk_react_icons_Caret__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(39);
560
+ /* harmony import */ var _splunk_react_icons_Caret__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(41);
554
561
  /* harmony import */ var _splunk_react_icons_Caret__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_splunk_react_icons_Caret__WEBPACK_IMPORTED_MODULE_1__);
555
562
  /* harmony import */ var _ThemedIcon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7);
556
563
  /* harmony import */ var _SVG__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6);
@@ -581,21 +588,14 @@ function CaretDown(props) {
581
588
 
582
589
  /***/ }),
583
590
 
584
- /***/ 39:
591
+ /***/ 41:
585
592
  /***/ (function(module, exports) {
586
593
 
587
594
  module.exports = require("@splunk/react-icons/Caret");
588
595
 
589
596
  /***/ }),
590
597
 
591
- /***/ 4:
592
- /***/ (function(module, exports) {
593
-
594
- module.exports = require("lodash");
595
-
596
- /***/ }),
597
-
598
- /***/ 46:
598
+ /***/ 48:
599
599
  /***/ (function(module, exports) {
600
600
 
601
601
  module.exports = require("@splunk/react-ui/ButtonSimple");
@@ -609,13 +609,6 @@ module.exports = require("@splunk/ui-utils/i18n");
609
609
 
610
610
  /***/ }),
611
611
 
612
- /***/ 58:
613
- /***/ (function(module, exports) {
614
-
615
- module.exports = require("@splunk/react-icons/External");
616
-
617
- /***/ }),
618
-
619
612
  /***/ 6:
620
613
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
621
614
 
@@ -641,6 +634,13 @@ function SVG(props) {
641
634
 
642
635
  /***/ }),
643
636
 
637
+ /***/ 61:
638
+ /***/ (function(module, exports) {
639
+
640
+ module.exports = require("@splunk/react-icons/External");
641
+
642
+ /***/ }),
643
+
644
644
  /***/ 7:
645
645
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
646
646
 
package/ButtonGroup.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 = 149);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 155);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ({
@@ -101,7 +101,7 @@ module.exports = require("prop-types");
101
101
 
102
102
  /***/ }),
103
103
 
104
- /***/ 149:
104
+ /***/ 155:
105
105
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
106
106
 
107
107
  "use strict";
package/ButtonSimple.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 = 130);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 135);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ({
@@ -108,7 +108,7 @@ module.exports = require("@splunk/react-ui/Clickable");
108
108
 
109
109
  /***/ }),
110
110
 
111
- /***/ 130:
111
+ /***/ 135:
112
112
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
113
113
 
114
114
  "use strict";
@@ -147,7 +147,7 @@ var Clickable_default = /*#__PURE__*/__webpack_require__.n(Clickable_);
147
147
  // CONCATENATED MODULE: ./src/ButtonSimple/prismaStyles.ts
148
148
 
149
149
 
150
- var common = Object(external_styled_components_["css"])(["", " cursor:pointer;position:relative;&:focus,&:hover{z-index:3;}"], themes_["mixins"].reset('block'));
150
+ var common = Object(external_styled_components_["css"])(["", " cursor:pointer;position:relative;border-radius:", ";&:focus,&:hover{z-index:3;}"], themes_["mixins"].reset('block'), themes_["variables"].borderRadius);
151
151
  /* Setting border-radius to 0.1px creates a rounded shadow, */
152
152
 
153
153
  var appendPrepend = Object(external_styled_components_["css"])(["", " ", ""], function (_ref) {
@@ -158,9 +158,9 @@ var appendPrepend = Object(external_styled_components_["css"])(["", " ", ""], fu
158
158
  return $prepend && Object(external_styled_components_["css"])(["border-top-left-radius:0.1px;border-bottom-left-radius:0.1px;"]);
159
159
  });
160
160
  var prismaTransparent = Object(external_styled_components_["css"])(["", " ", " ", " &:not([disabled]){color:", ";transition:background-color 0.2s,border 0.2s,box-shadow 0.2s,text-decoration 0.2s;&:hover{background-color:", ";border-color:", ";", "}", " ", " &:active{background-color:", ";transition:none;}&:focus{background-color:", ";", " &:active{background-color:", ";}}}&[disabled]{border-color:", ";color:", ";cursor:not-allowed;", "}"], common, Object(themes_["pickVariant"])('$variant', {
161
- prismaSecondary: Object(external_styled_components_["css"])(["border-radius:calc(", " / 2);font-weight:", ";"], themes_["variables"].inputHeight, themes_["variables"].fontWeightSemiBold),
162
- prismaDefault: Object(external_styled_components_["css"])(["border:1px solid ", ";border-radius:calc(", " / 2);font-weight:", ";"], themes_["variables"].interactiveColorBorder, themes_["variables"].inputHeight, themes_["variables"].fontWeightSemiBold),
163
- prismaToggle: Object(external_styled_components_["css"])(["border:1px solid ", ";border-radius:", ";font-weight:normal;"], themes_["variables"].interactiveColorBorder, themes_["variables"].borderRadius)
161
+ prismaSecondary: Object(external_styled_components_["css"])(["font-weight:", ";"], themes_["variables"].fontWeightSemiBold),
162
+ prismaDefault: Object(external_styled_components_["css"])(["border:1px solid ", ";font-weight:", ";"], themes_["variables"].interactiveColorBorder, themes_["variables"].fontWeightSemiBold),
163
+ prismaToggle: Object(external_styled_components_["css"])(["border:1px solid ", ";font-weight:normal;"], themes_["variables"].interactiveColorBorder)
164
164
  }), appendPrepend, themes_["variables"].contentColorActive, themes_["variables"].interactiveColorOverlayHover, themes_["variables"].interactiveColorBorderHover, Object(themes_["pickVariant"])('$variant', {
165
165
  prismaSecondary: Object(external_styled_components_["css"])(["box-shadow:", ";"], themes_["variables"].hoverShadow),
166
166
  prismaDefault: Object(external_styled_components_["css"])(["box-shadow:", ";"], themes_["variables"].hoverShadow)
@@ -181,7 +181,7 @@ var prismaTransparent = Object(external_styled_components_["css"])(["", " ", " "
181
181
  var disabledFillStyles = Object(external_styled_components_["css"])(["&[disabled]{border-color:", ";color:", ";background-color:", ";cursor:not-allowed;", "}"], themes_["variables"].interactiveColorBorderDisabled, themes_["variables"].contentColorDisabled, themes_["variables"].interactiveColorBackgroundDisabled, function ($selected) {
182
182
  return $selected && Object(external_styled_components_["css"])(["background-color:", ";"], themes_["mixins"].overlayColors(themes_["variables"].interactiveColorBackgroundDisabled, themes_["variables"].interactiveColorOverlaySelected));
183
183
  });
184
- var prismaFilled = Object(external_styled_components_["css"])(["", " font-weight:", ";border-radius:20px;", " &:not([disabled]){color:", ";transition:background-color 0.2s,box-shadow 0.2s,text-decoration 0.2s;background-color:", ";&:hover,&:focus{background-color:", ";}&:hover{box-shadow:", ";}&:focus{box-shadow:", ";}&:active{background-color:", ";transition:none;}}", ""], common, themes_["variables"].fontWeightSemiBold, appendPrepend, themes_["variables"].contentColorInverted, Object(themes_["pickVariant"])('$selected', {
184
+ var prismaFilled = Object(external_styled_components_["css"])(["", " font-weight:", ";border-radius:", ";", " &:not([disabled]){color:", ";transition:background-color 0.2s,box-shadow 0.2s,text-decoration 0.2s;background-color:", ";&:hover,&:focus{background-color:", ";}&:hover{box-shadow:", ";}&:focus{box-shadow:", ";}&:active{background-color:", ";transition:none;}}", ""], common, themes_["variables"].fontWeightSemiBold, themes_["variables"].borderRadius, appendPrepend, themes_["variables"].contentColorInverted, Object(themes_["pickVariant"])('$selected', {
185
185
  "false": Object(themes_["pickVariant"])('$variant', {
186
186
  prismaPrimary: themes_["variables"].interactiveColorPrimary,
187
187
  prismaDestructive: themes_["variables"].accentColorNegative
package/CHANGELOG.md CHANGED
@@ -1,5 +1,38 @@
1
1
  Change Log
2
2
  ============
3
+ 4.14.0 - November 1, 2022
4
+ ----------
5
+ New Features:
6
+ * New `Divider` component for separating components with horizontal or vertical rules (SUI-4080).
7
+ * Added `inputOnly` prop to `Date` (SUI-3809).
8
+ * Added a `renderChildrenWhenCollapsed` prop to `CollapsiblePanel` and `TransitionOpen` which defaults to `false` (SUI-4321).
9
+ * Added a `divider` prop to `Modal` to show dividers between header, body and footer. The value defaults to `both` (SUI-3443).
10
+
11
+ Bug Fixes:
12
+ * `Date`'s dropdown menu is now keyboard accessible (SUI-3809).
13
+ * `Text` now allows the `role` to be set externally.
14
+ * `ControlGroup` will no longer hide its `Tooltip` on toggle click (SUI-5116).
15
+ * Server side rendering support is now added for `ScrollContainerContext` and `Table` (SUI-5115).
16
+ * `Card`'s `title` and `subtitle` now wrap/truncate correctly when `actionPrimary` or `actionsSecondary` are present (SUI-5096).
17
+ * `Modal` shows dividers by default for the Prisma theme to match the Splunk Design System (SUI-3443).
18
+
19
+ 4.13.0 - October 5, 2022
20
+ ----------
21
+ New Features:
22
+ * New `SplitButton` component (SUI-2760).
23
+
24
+ Bug Fixes:
25
+ * `Button`s visual design now matches the Splunk Design System (SUI-3072).
26
+ * `Table` now displays the full drag handle when using `headType="fixed"` and `HeadDropdownCell` (chore).
27
+ * `Text`'s and `TextArea`'s adornment color now match the Splunk Design System (SUI-5076).
28
+ * Improved `Menu` keyboard navigation performance with large data sets.
29
+ * `Multiselect` with `compact` will no longer affect disabled items with "Select All" and "Clear All" (SUI-5060).
30
+
31
+ Deprecations:
32
+ * The `placeholder` prop in the `Text`, `TextArea`, and `Number` components has been deprecated and will be removed in the next major release (SUI-5055, SUI-5095).
33
+ * `placeholder` text presents a number of visual and cognitive issues and best to avoid using it.
34
+ * The HTML `placeholder` attribute is still supported.
35
+ * The `placeholder` attribute should not replace a label.
3
36
 
4
37
  4.12.1 - September 20, 2022
5
38
  ----------