@splunk/themes 1.3.0 → 1.4.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.
- package/CHANGELOG.md +11 -3
- package/design-tokens/colors.js +12 -0
- package/enterprise/dark.js +4 -1
- package/enterprise/light.js +5 -2
- package/package.json +1 -1
- package/prisma/dark.js +4 -1
- package/prisma/light.js +4 -1
- package/storybook-addon-splunk-themes/SplunkThemesTool.js +14 -14
- package/storybook-addon-splunk-themes/constants.js +6 -1
- package/storybook-addon-splunk-themes/util.js +14 -8
- package/storybook-addon-splunk-themes/withSplunkTheme.js +174 -31
- package/types/design-tokens/colors.d.ts +24 -0
- package/types/design-tokens/index.d.ts +3 -0
- package/types/enterprise/dark.d.ts +4 -1
- package/types/enterprise/light.d.ts +4 -1
- package/types/prisma/dark.d.ts +3 -0
- package/types/prisma/light.d.ts +3 -0
- package/types/splunk-magnetic/index.d.ts +22 -4
- package/types/storybook-addon-splunk-themes/constants.d.ts +2 -0
- package/types/storybook-addon-splunk-themes/util.d.ts +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,15 +1,23 @@
|
|
|
1
1
|
Change Log
|
|
2
2
|
============
|
|
3
|
+
1.4.0 - November 4, 2025
|
|
4
|
+
----------
|
|
5
|
+
New Features:
|
|
6
|
+
* New `contentColorLinkDisabled`, `contentColorLinkVisited`, and `contentColorLinkVisitedDisabled` tokens (SUI-8244).
|
|
7
|
+
|
|
3
8
|
1.3.0 - October 7, 2025
|
|
4
9
|
----------
|
|
5
|
-
New Features:
|
|
10
|
+
New Features:
|
|
6
11
|
* New `actionColorContent*` tokens (SUI-8101).
|
|
12
|
+
* `@splunk/themes/storybook-addon-splunk-themes` now supports enabling the Splunk Magnetic theme family as an option by using the `enableSplunkMagneticOption` storybook param (SUI-8283).
|
|
7
13
|
|
|
8
|
-
Bug Fixes:
|
|
14
|
+
Bug Fixes:
|
|
9
15
|
* Fix incorrect action content colors in Magnetic theme customizer (SUI-8101).
|
|
10
16
|
|
|
11
|
-
Deprecations:
|
|
17
|
+
Deprecations:
|
|
12
18
|
* `contentColorInfo`, `contentColorNegativeStrong`, `contentColorPositive` and `contentColorWarning` have been deprecated (SUI-8251)
|
|
19
|
+
* `@splunk/themes/storybook-addon-splunk-themes`'s `disableDualTheme` storybook param is deprecated, use `disableMultiThemeOptions` instead (SUI-8283).
|
|
20
|
+
* `@splunk/themes/storybook-addon-splunk-themes`'s theme configuration options `both` value deprecated, use `all` instead (SUI-8283).
|
|
13
21
|
|
|
14
22
|
1.2.1 - September 2, 2025
|
|
15
23
|
----------
|
package/design-tokens/colors.js
CHANGED
|
@@ -385,6 +385,18 @@ var contentColors = {
|
|
|
385
385
|
* Text color for links.
|
|
386
386
|
*/
|
|
387
387
|
contentColorLink: '',
|
|
388
|
+
/**
|
|
389
|
+
* Text color for visited links.
|
|
390
|
+
*/
|
|
391
|
+
contentColorLinkVisited: '',
|
|
392
|
+
/**
|
|
393
|
+
* Text color for disabled links.
|
|
394
|
+
*/
|
|
395
|
+
contentColorLinkDisabled: '',
|
|
396
|
+
/**
|
|
397
|
+
* Text color for visited links in a disabled state.
|
|
398
|
+
*/
|
|
399
|
+
contentColorLinkVisitedDisabled: '',
|
|
388
400
|
/**
|
|
389
401
|
* Brand accent text color.
|
|
390
402
|
*/
|
package/enterprise/dark.js
CHANGED
|
@@ -65,7 +65,10 @@ var contentColors = {
|
|
|
65
65
|
contentColorAccentWeak: '#0b4613',
|
|
66
66
|
contentColorNegative: '#e37267',
|
|
67
67
|
contentColorNegativeWeak: '#562a25',
|
|
68
|
-
contentColorLink: _light["default"].accentColorL10
|
|
68
|
+
contentColorLink: _light["default"].accentColorL10,
|
|
69
|
+
contentColorLinkDisabled: _light["default"].accentColorD30,
|
|
70
|
+
contentColorLinkVisited: '#a974f7',
|
|
71
|
+
contentColorLinkVisitedDisabled: '#6732b8'
|
|
69
72
|
};
|
|
70
73
|
var actionColors = {
|
|
71
74
|
actionColorBackgroundPrimary: '#1a8929',
|
package/enterprise/light.js
CHANGED
|
@@ -32,6 +32,7 @@ var deprecatedEnterpriseColors = {
|
|
|
32
32
|
errorColor: '#dc4e41',
|
|
33
33
|
accentColorD10: '#006eaa',
|
|
34
34
|
accentColor: '#007abd',
|
|
35
|
+
accentColorL30: '#7ed2ff',
|
|
35
36
|
infoColor: '#006d9c',
|
|
36
37
|
infoColorL10: '#338ab0',
|
|
37
38
|
infoColorD10: '#00577c',
|
|
@@ -130,7 +131,10 @@ var contentColors = {
|
|
|
130
131
|
contentColorAccentWeak: '#b5e3b5',
|
|
131
132
|
contentColorNegative: '#c84535',
|
|
132
133
|
contentColorNegativeWeak: '#f5aca3',
|
|
133
|
-
contentColorLink: deprecatedEnterpriseColors.accentColorD10
|
|
134
|
+
contentColorLink: deprecatedEnterpriseColors.accentColorD10,
|
|
135
|
+
contentColorLinkDisabled: deprecatedEnterpriseColors.accentColorL30,
|
|
136
|
+
contentColorLinkVisited: '#864ae0',
|
|
137
|
+
contentColorLinkVisitedDisabled: '#e0ccff'
|
|
134
138
|
};
|
|
135
139
|
var actionColors = {
|
|
136
140
|
actionColorBackgroundPrimary: '#1a8929',
|
|
@@ -270,7 +274,6 @@ var deprecated = {
|
|
|
270
274
|
gray20: '#171d21',
|
|
271
275
|
accentColorL50: '#ecf8ff',
|
|
272
276
|
accentColorL40: '#bfe9ff',
|
|
273
|
-
accentColorL30: '#7ed2ff',
|
|
274
277
|
accentColorL20: '#3ebcff',
|
|
275
278
|
accentColorL10: '#00a4fd',
|
|
276
279
|
accentColorD20: '#006297',
|
package/package.json
CHANGED
package/prisma/dark.js
CHANGED
|
@@ -38,7 +38,10 @@ var contentColors = {
|
|
|
38
38
|
contentColorMuted: '#909090',
|
|
39
39
|
contentColorNegative: '#ff5252',
|
|
40
40
|
contentColorNegativeWeak: '#561a1a',
|
|
41
|
-
contentColorLink: '#3993ff'
|
|
41
|
+
contentColorLink: '#3993ff',
|
|
42
|
+
contentColorLinkDisabled: '#14437b',
|
|
43
|
+
contentColorLinkVisited: '#a974f7',
|
|
44
|
+
contentColorLinkVisitedDisabled: '#6732B8'
|
|
42
45
|
};
|
|
43
46
|
var actionColors = {
|
|
44
47
|
actionColorBackgroundPrimary: '#3993ff',
|
package/prisma/light.js
CHANGED
|
@@ -38,7 +38,10 @@ var contentColors = {
|
|
|
38
38
|
contentColorMuted: '#6b6b6b',
|
|
39
39
|
contentColorNegative: '#e00000',
|
|
40
40
|
contentColorNegativeWeak: '#ff9999',
|
|
41
|
-
contentColorLink: '#0264d7'
|
|
41
|
+
contentColorLink: '#0264d7',
|
|
42
|
+
contentColorLinkDisabled: '#b3d6fe',
|
|
43
|
+
contentColorLinkVisited: '#864ae0',
|
|
44
|
+
contentColorLinkVisitedDisabled: '#e0ccff'
|
|
42
45
|
};
|
|
43
46
|
var actionColors = {
|
|
44
47
|
actionColorBackgroundPrimary: '#0264d7',
|
|
@@ -17,6 +17,8 @@ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArra
|
|
|
17
17
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
18
18
|
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
19
19
|
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
20
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
21
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
20
22
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
21
23
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
22
24
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
@@ -36,19 +38,14 @@ var SplunkThemesTool = /*#__PURE__*/(0, _react.memo)(function () {
|
|
|
36
38
|
globals = _useGlobals2[0],
|
|
37
39
|
updateGlobals = _useGlobals2[1];
|
|
38
40
|
var params = (0, _managerApi.useParameter)(_constants.PARAM_KEY, {});
|
|
39
|
-
var
|
|
41
|
+
var hasEnabledSplunkMagneticOption = (0, _managerApi.useParameter)(_constants.ENABLE_SPLUNK_MAGNETIC_KEY, false);
|
|
42
|
+
var hasDisabledMultiThemeOptions = (0, _managerApi.useParameter)(_constants.DISABLE_MULTI_THEME_OPTIONS_KEY, false);
|
|
40
43
|
var globalsTheme = globals[_constants.PARAM_KEY] || undefined;
|
|
41
44
|
var currentTheme = (0, _util.normalizeThemeOptions)(params, globalsTheme);
|
|
42
45
|
var updateTheme = (0, _react.useCallback)(function (newTheme) {
|
|
43
46
|
var mergedTheme = (0, _util.getMergedTheme)(globalsTheme, newTheme);
|
|
44
47
|
updateGlobals(_defineProperty({}, _constants.PARAM_KEY, mergedTheme));
|
|
45
48
|
}, [globalsTheme, updateGlobals]);
|
|
46
|
-
(0, _react.useEffect)(function () {
|
|
47
|
-
if (disableDualTheme) {
|
|
48
|
-
// eslint-disable-next-line no-console
|
|
49
|
-
console.warn("This story has 'disableDualTheme' set to 'true', so 'both' option will not show in theme dropdown.");
|
|
50
|
-
}
|
|
51
|
-
}, [disableDualTheme]);
|
|
52
49
|
return /*#__PURE__*/_react["default"].createElement(_components.WithTooltip, {
|
|
53
50
|
placement: "top",
|
|
54
51
|
trigger: "click",
|
|
@@ -56,23 +53,26 @@ var SplunkThemesTool = /*#__PURE__*/(0, _react.memo)(function () {
|
|
|
56
53
|
return Object.keys(_themeOptions.themeOptions).map(function (themeOptionKey) {
|
|
57
54
|
var themeOptionValues = _themeOptions.themeOptions[themeOptionKey];
|
|
58
55
|
|
|
59
|
-
//
|
|
60
|
-
var
|
|
56
|
+
// Add splunk magnetic to family options if enabled
|
|
57
|
+
var effectiveValues = themeOptionKey === 'family' && hasEnabledSplunkMagneticOption ? _objectSpread(_objectSpread({}, themeOptionValues), {}, {
|
|
58
|
+
values: [].concat(_toConsumableArray(themeOptionValues.values), ['splunk-magnetic'])
|
|
59
|
+
}) : themeOptionValues;
|
|
60
|
+
var multiThemeOptions = hasDisabledMultiThemeOptions ? [] : ['all'];
|
|
61
61
|
return /*#__PURE__*/_react["default"].createElement(_react.Fragment, {
|
|
62
62
|
key: themeOptionKey
|
|
63
|
-
}, /*#__PURE__*/_react["default"].createElement(_themes.TooltipSectionTitle, null,
|
|
64
|
-
links: [].concat(_toConsumableArray(
|
|
63
|
+
}, /*#__PURE__*/_react["default"].createElement(_themes.TooltipSectionTitle, null, effectiveValues.name), /*#__PURE__*/_react["default"].createElement(_components.TooltipLinkList, {
|
|
64
|
+
links: [].concat(_toConsumableArray(effectiveValues.values), multiThemeOptions).map(function (themeValue) {
|
|
65
65
|
var active = currentTheme[themeOptionKey] === themeValue;
|
|
66
66
|
return {
|
|
67
67
|
active: active,
|
|
68
68
|
id: themeValue,
|
|
69
|
-
onClick: function onClick(
|
|
70
|
-
updateTheme(_defineProperty({}, themeOptionKey,
|
|
69
|
+
onClick: function onClick() {
|
|
70
|
+
updateTheme(_defineProperty({}, themeOptionKey, themeValue));
|
|
71
71
|
},
|
|
72
72
|
right: active && /*#__PURE__*/_react["default"].createElement(_components.Icons, {
|
|
73
73
|
icon: "check"
|
|
74
74
|
}),
|
|
75
|
-
title: themeValue
|
|
75
|
+
title: themeValue === 'splunk-magnetic' ? 'splunk magnetic' : themeValue
|
|
76
76
|
};
|
|
77
77
|
})
|
|
78
78
|
}));
|
|
@@ -3,13 +3,18 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.CHANGED = exports.SET = exports.CONFIGURE = exports.UPDATE = exports.DISABLE_DUAL_THEME_KEY = exports.PARAM_KEY = exports.ADDON_ID = void 0;
|
|
6
|
+
exports.CHANGED = exports.SET = exports.CONFIGURE = exports.UPDATE = exports.ENABLE_SPLUNK_MAGNETIC_KEY = exports.DISABLE_MULTI_THEME_OPTIONS_KEY = exports.DISABLE_DUAL_THEME_KEY = exports.PARAM_KEY = exports.ADDON_ID = void 0;
|
|
7
7
|
var ADDON_ID = '@splunk/themes';
|
|
8
8
|
exports.ADDON_ID = ADDON_ID;
|
|
9
9
|
var PARAM_KEY = 'splunkThemes';
|
|
10
|
+
// TODO(SUI-8284): Remove deprecated `disableDualTheme` in next major version
|
|
10
11
|
exports.PARAM_KEY = PARAM_KEY;
|
|
11
12
|
var DISABLE_DUAL_THEME_KEY = 'disableDualTheme';
|
|
12
13
|
exports.DISABLE_DUAL_THEME_KEY = DISABLE_DUAL_THEME_KEY;
|
|
14
|
+
var DISABLE_MULTI_THEME_OPTIONS_KEY = 'disableMultiThemeOptions';
|
|
15
|
+
exports.DISABLE_MULTI_THEME_OPTIONS_KEY = DISABLE_MULTI_THEME_OPTIONS_KEY;
|
|
16
|
+
var ENABLE_SPLUNK_MAGNETIC_KEY = 'enableSplunkMagneticOption';
|
|
17
|
+
exports.ENABLE_SPLUNK_MAGNETIC_KEY = ENABLE_SPLUNK_MAGNETIC_KEY;
|
|
13
18
|
var UPDATE = "".concat(ADDON_ID, "/update");
|
|
14
19
|
exports.UPDATE = UPDATE;
|
|
15
20
|
var CONFIGURE = "".concat(ADDON_ID, "/configure");
|
|
@@ -18,6 +18,8 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
18
18
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
19
19
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
20
20
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
21
|
+
// TODO(SUI-8284): Remove deprecated `both` in types in next major version
|
|
22
|
+
|
|
21
23
|
var normalizeThemeOptions = function normalizeThemeOptions() {
|
|
22
24
|
var paramOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
23
25
|
var globalOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
@@ -25,26 +27,30 @@ var normalizeThemeOptions = function normalizeThemeOptions() {
|
|
|
25
27
|
};
|
|
26
28
|
|
|
27
29
|
// merge the existing theme with the newly selected theme
|
|
28
|
-
// this functon only allows the most recently-
|
|
29
|
-
// because allowing more than one
|
|
30
|
+
// this functon only allows the most recently-selected multi-option (both/all) to persist
|
|
31
|
+
// because allowing more than one leads to an unwieldy visualization
|
|
30
32
|
exports.normalizeThemeOptions = normalizeThemeOptions;
|
|
31
33
|
var getMergedTheme = function getMergedTheme(globalsTheme, newTheme) {
|
|
32
|
-
var
|
|
34
|
+
var firstMultiOptionEntry = Object.entries(newTheme).find(
|
|
35
|
+
// TODO(SUI-8284): Remove deprecated `both` value support in next major version
|
|
36
|
+
function (_ref) {
|
|
33
37
|
var _ref2 = _slicedToArray(_ref, 2),
|
|
34
38
|
value = _ref2[1];
|
|
35
|
-
return value === 'both';
|
|
39
|
+
return value === 'all' || value === 'both';
|
|
36
40
|
});
|
|
37
|
-
var _ref3 =
|
|
41
|
+
var _ref3 = firstMultiOptionEntry || [],
|
|
38
42
|
_ref4 = _slicedToArray(_ref3, 1),
|
|
39
|
-
|
|
43
|
+
firstMultiOption = _ref4[0];
|
|
40
44
|
var finalValue;
|
|
41
45
|
|
|
42
|
-
// only allow "
|
|
46
|
+
// only allow "multi" for a single theme setting; if a new one is passed, remove the old one
|
|
43
47
|
var mergedTheme = Object.entries(_themeOptions.themeOptions).reduce(function (themeAccum, _ref5) {
|
|
44
48
|
var _ref6 = _slicedToArray(_ref5, 1),
|
|
45
49
|
key = _ref6[0];
|
|
46
50
|
if ((0, _themeOptions.isThemeOptionKey)(key)) {
|
|
47
|
-
if (
|
|
51
|
+
if (
|
|
52
|
+
// TODO(SUI-8284): Remove deprecated `both` value support in next major version
|
|
53
|
+
((globalsTheme === null || globalsTheme === void 0 ? void 0 : globalsTheme[key]) === 'all' || (globalsTheme === null || globalsTheme === void 0 ? void 0 : globalsTheme[key]) === 'both') && firstMultiOption != null && key !== firstMultiOption) {
|
|
48
54
|
var defaultThemeOptionValue = _themeOptions.themeOptions[key].values[0];
|
|
49
55
|
finalValue = defaultThemeOptionValue;
|
|
50
56
|
} else {
|
|
@@ -17,18 +17,57 @@ var _themes = require("./themes");
|
|
|
17
17
|
var _util = require("./util");
|
|
18
18
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
19
19
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) { "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); } return f; })(e, t); }
|
|
20
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
21
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
22
20
|
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
23
21
|
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."); }
|
|
24
|
-
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
25
|
-
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) { n[e] = r[e]; } return n; }
|
|
26
22
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0) { ; } } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
27
23
|
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
28
24
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) { ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } } return n; }, _extends.apply(null, arguments); }
|
|
25
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
26
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
27
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
28
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
29
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
30
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) { n[e] = r[e]; } return n; }
|
|
31
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
32
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
29
33
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
30
34
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
31
35
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
36
|
+
function _templateObject7() {
|
|
37
|
+
var data = _taggedTemplateLiteral(["\n grid-row: 1;\n grid-column: labelText / colEnd;\n"]);
|
|
38
|
+
_templateObject7 = function _templateObject7() {
|
|
39
|
+
return data;
|
|
40
|
+
};
|
|
41
|
+
return data;
|
|
42
|
+
}
|
|
43
|
+
function _templateObject6() {
|
|
44
|
+
var data = _taggedTemplateLiteral(["\n font-size: 68px;\n"]);
|
|
45
|
+
_templateObject6 = function _templateObject6() {
|
|
46
|
+
return data;
|
|
47
|
+
};
|
|
48
|
+
return data;
|
|
49
|
+
}
|
|
50
|
+
function _templateObject5() {
|
|
51
|
+
var data = _taggedTemplateLiteral(["\n stroke: ", ";\n fill: ", ";\n"]);
|
|
52
|
+
_templateObject5 = function _templateObject5() {
|
|
53
|
+
return data;
|
|
54
|
+
};
|
|
55
|
+
return data;
|
|
56
|
+
}
|
|
57
|
+
function _templateObject4() {
|
|
58
|
+
var data = _taggedTemplateLiteral(["\n grid-row: 1;\n grid-column: colStart / labelText;\n height: 20px;\n width: 20px;\n"]);
|
|
59
|
+
_templateObject4 = function _templateObject4() {
|
|
60
|
+
return data;
|
|
61
|
+
};
|
|
62
|
+
return data;
|
|
63
|
+
}
|
|
64
|
+
function _templateObject3() {
|
|
65
|
+
var data = _taggedTemplateLiteral(["\n display: grid;\n grid-template-rows: 100%;\n grid-template-columns: [colStart] min-content [labelText] auto [colEnd];\n gap: ", ";\n padding: ", ";\n background-color: ", ";\n border-radius: ", ";\n"]);
|
|
66
|
+
_templateObject3 = function _templateObject3() {
|
|
67
|
+
return data;
|
|
68
|
+
};
|
|
69
|
+
return data;
|
|
70
|
+
}
|
|
32
71
|
function _templateObject2() {
|
|
33
72
|
var data = _taggedTemplateLiteral(["\n display: flex;\n gap: ", ";\n flex-direction: column;\n"]);
|
|
34
73
|
_templateObject2 = function _templateObject2() {
|
|
@@ -45,61 +84,165 @@ function _templateObject() {
|
|
|
45
84
|
}
|
|
46
85
|
function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
|
|
47
86
|
var StoryWrapper = _styledComponents["default"].div(_templateObject(), _variables["default"].backgroundColorPage, _variables["default"].spacingLarge);
|
|
48
|
-
var
|
|
49
|
-
|
|
50
|
-
var
|
|
87
|
+
var MultiStoryContainer = _styledComponents["default"].div(_templateObject2(), _variables["default"].spacingLarge);
|
|
88
|
+
var StyledWarning = _styledComponents["default"].div(_templateObject3(), _variables["default"].spacingSmall, _variables["default"].spacingSmall, _variables["default"].neutral200, _variables["default"].borderRadius);
|
|
89
|
+
var WarningIcon = _styledComponents["default"].svg(_templateObject4());
|
|
90
|
+
var StyledTriangle = _styledComponents["default"].polygon(_templateObject5(), _variables["default"].accentColorWarning, _variables["default"].accentColorWarning);
|
|
91
|
+
var StyledText = _styledComponents["default"].text(_templateObject6());
|
|
92
|
+
var StyledContent = _styledComponents["default"].span(_templateObject7());
|
|
93
|
+
var warningIcon = /*#__PURE__*/_react["default"].createElement(WarningIcon, {
|
|
94
|
+
viewBox: "0 0 100 100",
|
|
95
|
+
"aria-label": "warning icon"
|
|
96
|
+
}, /*#__PURE__*/_react["default"].createElement(StyledTriangle, {
|
|
97
|
+
points: "50 15, 100 100, 0 100"
|
|
98
|
+
}), /*#__PURE__*/_react["default"].createElement(StyledText, {
|
|
99
|
+
x: "41",
|
|
100
|
+
y: "88"
|
|
101
|
+
}, "!"));
|
|
102
|
+
var handleSplunkMagneticFamily = function handleSplunkMagneticFamily(themeProps) {
|
|
103
|
+
if (themeProps.family === 'splunk-magnetic') {
|
|
104
|
+
return _objectSpread(_objectSpread({}, themeProps), {}, {
|
|
105
|
+
family: 'prisma',
|
|
106
|
+
customizeTheme: _splunkMagnetic["default"]
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
return themeProps;
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
// The Splunk Magnetic option reuses Prisma tokens under the hood. We translate the
|
|
113
|
+
// toolbar selection here so the underlying theme provider always receives a Prisma family.
|
|
114
|
+
// Multi-render selections ("all" / "both") are treated as undefined because each variant
|
|
115
|
+
// gets its own explicit family inside the MultiStory renderer below.
|
|
116
|
+
var normalizeFamilyForProvider = function normalizeFamilyForProvider(family) {
|
|
117
|
+
if (!family) {
|
|
118
|
+
return undefined;
|
|
119
|
+
}
|
|
120
|
+
if (family === 'splunk-magnetic') {
|
|
121
|
+
return 'prisma';
|
|
122
|
+
}
|
|
123
|
+
if (family === 'all' || family === 'both') {
|
|
124
|
+
return undefined;
|
|
125
|
+
}
|
|
126
|
+
return family;
|
|
127
|
+
};
|
|
128
|
+
var shouldRenderMultiThemes = function shouldRenderMultiThemes(_ref) {
|
|
129
|
+
var activeMultiThemeKey = _ref.activeMultiThemeKey,
|
|
130
|
+
currentTheme = _ref.currentTheme,
|
|
131
|
+
hasDisabledMultiThemeOptions = _ref.hasDisabledMultiThemeOptions;
|
|
132
|
+
if (hasDisabledMultiThemeOptions || !activeMultiThemeKey) {
|
|
133
|
+
return false;
|
|
134
|
+
}
|
|
135
|
+
var themeValue = currentTheme[activeMultiThemeKey];
|
|
136
|
+
|
|
137
|
+
// TODO(SUI-8284): Remove deprecated `both` value support in next major version
|
|
138
|
+
return themeValue === 'all' || themeValue === 'both';
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
// Renders a story multiple times side-by-side with different theme variants
|
|
142
|
+
var MultiStory = function MultiStory(_ref2) {
|
|
51
143
|
var _children$props;
|
|
52
|
-
var children =
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
144
|
+
var children = _ref2.children,
|
|
145
|
+
themeOption = _ref2.themeOption,
|
|
146
|
+
themeProviderProps = _ref2.themeProviderProps,
|
|
147
|
+
hasEnabledSplunkMagneticOption = _ref2.hasEnabledSplunkMagneticOption;
|
|
56
148
|
if (/*#__PURE__*/(0, _react.isValidElement)(children) && (children === null || children === void 0 ? void 0 : (_children$props = children.props) === null || _children$props === void 0 ? void 0 : _children$props.componentId)) {
|
|
57
149
|
var _themeOptions$themeOp;
|
|
58
150
|
var themeOptionValues = ((_themeOptions$themeOp = _themeOptions.themeOptions[themeOption]) === null || _themeOptions$themeOp === void 0 ? void 0 : _themeOptions$themeOp.values) || [];
|
|
59
|
-
|
|
151
|
+
|
|
152
|
+
// Add splunk magnetic option to family values if enabled
|
|
153
|
+
if (themeOption === 'family' && hasEnabledSplunkMagneticOption) {
|
|
154
|
+
themeOptionValues = [].concat(_toConsumableArray(themeOptionValues), ['splunk-magnetic']);
|
|
155
|
+
}
|
|
156
|
+
return /*#__PURE__*/_react["default"].createElement(MultiStoryContainer, null, themeOptionValues.map(function (themeOptionValue) {
|
|
157
|
+
var variantThemeProviderProps = handleSplunkMagneticFamily(_objectSpread(_objectSpread({}, themeProviderProps), {}, _defineProperty({}, themeOption, themeOptionValue)));
|
|
60
158
|
return /*#__PURE__*/_react["default"].createElement(_SplunkThemeProvider["default"], _extends({
|
|
61
159
|
key: themeOptionValue
|
|
62
|
-
},
|
|
160
|
+
}, variantThemeProviderProps), /*#__PURE__*/_react["default"].createElement(_themes.GlobalStyles, null), /*#__PURE__*/_react["default"].createElement(StoryWrapper, null, children));
|
|
63
161
|
}));
|
|
64
162
|
}
|
|
65
163
|
|
|
66
|
-
// Required to render correctly, otherwise
|
|
164
|
+
// Required to render correctly, otherwise MultiStory isn't considered a valid component
|
|
67
165
|
// eslint-disable-next-line react/jsx-no-useless-fragment
|
|
68
166
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, children);
|
|
69
167
|
};
|
|
70
168
|
var WithSplunkTheme = function WithSplunkTheme(Story, context) {
|
|
169
|
+
var _parameters$themeSupp;
|
|
71
170
|
var globals = context.globals,
|
|
72
|
-
parameters = context.parameters
|
|
73
|
-
args = context.args;
|
|
171
|
+
parameters = context.parameters;
|
|
74
172
|
var globalsTheme = globals[_constants.PARAM_KEY];
|
|
75
173
|
var themesConfig = parameters[_constants.PARAM_KEY];
|
|
174
|
+
var disableDualThemeDeprecated = parameters.disableDualTheme || false;
|
|
175
|
+
var disableMultiThemeOptions = parameters.disableMultiThemeOptions || false;
|
|
176
|
+
var hasEnabledSplunkMagneticOption = parameters.enableSplunkMagneticOption || false;
|
|
177
|
+
|
|
178
|
+
// Determine the effective disable state (new param takes precedence)
|
|
179
|
+
var hasDisabledMultiThemeOptions = disableMultiThemeOptions || disableDualThemeDeprecated;
|
|
180
|
+
|
|
181
|
+
// Show deprecation warning if deprecated parameter is used
|
|
182
|
+
if ('disableDualTheme' in parameters) {
|
|
183
|
+
// eslint-disable-next-line no-console
|
|
184
|
+
console.warn('The `disableDualTheme` parameter is deprecated and will be removed in the next major version. Use `disableMultiThemeOptions` instead.');
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
// Check for contradictory settings between deprecated and new parameters
|
|
188
|
+
if ('disableDualTheme' in parameters && 'disableMultiThemeOptions' in parameters && Boolean(disableDualThemeDeprecated) !== Boolean(disableMultiThemeOptions)) {
|
|
189
|
+
// eslint-disable-next-line no-console
|
|
190
|
+
console.warn('Contradictory theme parameters detected. The new `disableMultiThemeOptions` parameter will take precedence over the deprecated `disableDualTheme` parameter. Please remove the deprecated parameter as it will be removed in the next major version.');
|
|
191
|
+
}
|
|
192
|
+
if (hasDisabledMultiThemeOptions) {
|
|
193
|
+
// eslint-disable-next-line no-console
|
|
194
|
+
console.warn('This story has multi-theme options disabled, so the `all` option will not show in the themes dropdown.');
|
|
195
|
+
}
|
|
76
196
|
var currentTheme = (0, _util.normalizeThemeOptions)(themesConfig, globalsTheme);
|
|
77
|
-
var
|
|
197
|
+
var supportedFamily = parameters === null || parameters === void 0 ? void 0 : (_parameters$themeSupp = parameters.themeSupport) === null || _parameters$themeSupp === void 0 ? void 0 : _parameters$themeSupp.family;
|
|
198
|
+
var activeMultiThemeKey = null;
|
|
78
199
|
|
|
79
200
|
// ideally fromPairs would be fromEntries but our ES2015 target doesn't allow this
|
|
80
201
|
var cleanedThemeProviderProps = (0, _lodash.fromPairs)(Object.entries(currentTheme).filter(function (_ref3) {
|
|
81
202
|
var _ref4 = _slicedToArray(_ref3, 2),
|
|
82
203
|
key = _ref4[0],
|
|
83
204
|
value = _ref4[1];
|
|
84
|
-
|
|
85
|
-
|
|
205
|
+
// TODO(SUI-8284): Remove deprecated `both` value support in next major version
|
|
206
|
+
var isMultiOptionValue = value === 'all' || value === 'both';
|
|
207
|
+
if ((0, _themeOptions.isThemeOptionKey)(key) && isMultiOptionValue) {
|
|
208
|
+
activeMultiThemeKey = key;
|
|
209
|
+
|
|
210
|
+
// TODO(SUI-8284): Remove deprecated `both` value support in next major version
|
|
211
|
+
if (currentTheme[activeMultiThemeKey] === 'both') {
|
|
212
|
+
// eslint-disable-next-line no-console
|
|
213
|
+
console.warn('Theme configuration option `both` is deprecated and will be removed in the next major version. Use `all` instead.');
|
|
214
|
+
}
|
|
86
215
|
return false;
|
|
87
216
|
}
|
|
88
217
|
return true;
|
|
89
218
|
}));
|
|
90
|
-
var
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
219
|
+
var rawFamily = currentTheme.family;
|
|
220
|
+
var normalizedFamily = normalizeFamilyForProvider(rawFamily);
|
|
221
|
+
var isSplunkMagneticSelection = rawFamily === 'splunk-magnetic';
|
|
222
|
+
var isMultiFamilySelection = rawFamily === 'all' || rawFamily === 'both';
|
|
223
|
+
var displayedFamily = isSplunkMagneticSelection ? 'splunk-magnetic' : normalizedFamily;
|
|
224
|
+
|
|
225
|
+
// Warn whenever the selected family isn't supported (including when Magnetic proxies Prisma).
|
|
226
|
+
var shouldShowFamilyWarning = Boolean(supportedFamily && !isMultiFamilySelection && (isSplunkMagneticSelection ? supportedFamily !== 'splunk-magnetic' : normalizedFamily && supportedFamily !== normalizedFamily));
|
|
227
|
+
var resolvedThemeProviderProps = handleSplunkMagneticFamily(cleanedThemeProviderProps);
|
|
228
|
+
var warningContent = shouldShowFamilyWarning ? /*#__PURE__*/_react["default"].createElement(_SplunkThemeProvider["default"], _extends({}, resolvedThemeProviderProps, {
|
|
229
|
+
// Adjust colorScheme so that it matches with the overall storybook background which is light in 'all'/'light' but dark in 'dark'.
|
|
230
|
+
colorScheme: resolvedThemeProviderProps.colorScheme === 'dark' ? 'dark' : 'light'
|
|
231
|
+
}), /*#__PURE__*/_react["default"].createElement(StyledWarning, null, warningIcon, /*#__PURE__*/_react["default"].createElement(StyledContent, null, "This story does not support the theme family ", /*#__PURE__*/_react["default"].createElement("em", null, displayedFamily), ". The supported theme family is ", /*#__PURE__*/_react["default"].createElement("em", null, supportedFamily), ". Select the supported theme family in the toolbar.")), /*#__PURE__*/_react["default"].createElement("hr", null)) : null;
|
|
232
|
+
if (shouldRenderMultiThemes({
|
|
233
|
+
activeMultiThemeKey: activeMultiThemeKey,
|
|
234
|
+
currentTheme: currentTheme,
|
|
235
|
+
hasDisabledMultiThemeOptions: hasDisabledMultiThemeOptions
|
|
236
|
+
})) {
|
|
237
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, warningContent, /*#__PURE__*/_react["default"].createElement(MultiStory, {
|
|
238
|
+
themeOption: activeMultiThemeKey,
|
|
239
|
+
themeProviderProps: cleanedThemeProviderProps,
|
|
240
|
+
hasEnabledSplunkMagneticOption: hasEnabledSplunkMagneticOption
|
|
241
|
+
}, /*#__PURE__*/_react["default"].createElement(Story, context)));
|
|
99
242
|
}
|
|
100
|
-
return /*#__PURE__*/_react["default"].createElement(_SplunkThemeProvider["default"], _extends({},
|
|
101
|
-
colorScheme:
|
|
102
|
-
}), /*#__PURE__*/_react["default"].createElement(_themes.GlobalStyles, null), /*#__PURE__*/_react["default"].createElement(Story, context));
|
|
243
|
+
return /*#__PURE__*/_react["default"].createElement(_SplunkThemeProvider["default"], _extends({}, resolvedThemeProviderProps, {
|
|
244
|
+
colorScheme: resolvedThemeProviderProps.colorScheme
|
|
245
|
+
}), /*#__PURE__*/_react["default"].createElement(_themes.GlobalStyles, null), warningContent, /*#__PURE__*/_react["default"].createElement(Story, context));
|
|
103
246
|
};
|
|
104
247
|
var withSplunkTheme = WithSplunkTheme;
|
|
105
248
|
exports.withSplunkTheme = withSplunkTheme;
|
|
@@ -369,6 +369,18 @@ declare const contentColors: {
|
|
|
369
369
|
* Text color for links.
|
|
370
370
|
*/
|
|
371
371
|
contentColorLink: string;
|
|
372
|
+
/**
|
|
373
|
+
* Text color for visited links.
|
|
374
|
+
*/
|
|
375
|
+
contentColorLinkVisited: string;
|
|
376
|
+
/**
|
|
377
|
+
* Text color for disabled links.
|
|
378
|
+
*/
|
|
379
|
+
contentColorLinkDisabled: string;
|
|
380
|
+
/**
|
|
381
|
+
* Text color for visited links in a disabled state.
|
|
382
|
+
*/
|
|
383
|
+
contentColorLinkVisitedDisabled: string;
|
|
372
384
|
/**
|
|
373
385
|
* Brand accent text color.
|
|
374
386
|
*/
|
|
@@ -557,6 +569,18 @@ declare const colors: {
|
|
|
557
569
|
* Text color for links.
|
|
558
570
|
*/
|
|
559
571
|
contentColorLink: string;
|
|
572
|
+
/**
|
|
573
|
+
* Text color for visited links.
|
|
574
|
+
*/
|
|
575
|
+
contentColorLinkVisited: string;
|
|
576
|
+
/**
|
|
577
|
+
* Text color for disabled links.
|
|
578
|
+
*/
|
|
579
|
+
contentColorLinkDisabled: string;
|
|
580
|
+
/**
|
|
581
|
+
* Text color for visited links in a disabled state.
|
|
582
|
+
*/
|
|
583
|
+
contentColorLinkVisitedDisabled: string;
|
|
560
584
|
/**
|
|
561
585
|
* Brand accent text color.
|
|
562
586
|
*/
|
|
@@ -496,6 +496,9 @@ declare const designTokens: {
|
|
|
496
496
|
notificationColorNegativeStrong: string;
|
|
497
497
|
focusColor: string;
|
|
498
498
|
contentColorLink: string;
|
|
499
|
+
contentColorLinkVisited: string;
|
|
500
|
+
contentColorLinkDisabled: string;
|
|
501
|
+
contentColorLinkVisitedDisabled: string;
|
|
499
502
|
contentColorAccent: string;
|
|
500
503
|
contentColorAccentStrong: string;
|
|
501
504
|
contentColorAccentWeak: string;
|
|
@@ -60,6 +60,9 @@ declare const theme: {
|
|
|
60
60
|
focusShadow: string;
|
|
61
61
|
focusShadowInset: string;
|
|
62
62
|
contentColorLink: string;
|
|
63
|
+
contentColorLinkVisited: string;
|
|
64
|
+
contentColorLinkDisabled: string;
|
|
65
|
+
contentColorLinkVisitedDisabled: string;
|
|
63
66
|
contentColorAccent: string;
|
|
64
67
|
contentColorAccentStrong: string;
|
|
65
68
|
contentColorAccentWeak: string;
|
|
@@ -177,7 +180,6 @@ declare const theme: {
|
|
|
177
180
|
gray20: string;
|
|
178
181
|
accentColorL50: string;
|
|
179
182
|
accentColorL40: string;
|
|
180
|
-
accentColorL30: string;
|
|
181
183
|
accentColorL20: string;
|
|
182
184
|
accentColorL10: string;
|
|
183
185
|
accentColorD20: string;
|
|
@@ -541,6 +543,7 @@ declare const theme: {
|
|
|
541
543
|
gray60: string;
|
|
542
544
|
gray45: string;
|
|
543
545
|
gray30: string;
|
|
546
|
+
accentColorL30: string;
|
|
544
547
|
accentColor: string;
|
|
545
548
|
accentColorD10: string;
|
|
546
549
|
errorColorL10: string;
|
|
@@ -51,7 +51,6 @@ declare const theme: {
|
|
|
51
51
|
gray20: string;
|
|
52
52
|
accentColorL50: string;
|
|
53
53
|
accentColorL40: string;
|
|
54
|
-
accentColorL30: string;
|
|
55
54
|
accentColorL20: string;
|
|
56
55
|
accentColorL10: string;
|
|
57
56
|
accentColorD20: string;
|
|
@@ -396,6 +395,9 @@ declare const theme: {
|
|
|
396
395
|
interactiveColorAccentErrorStrong: string;
|
|
397
396
|
interactiveColorAccentErrorWeak: string;
|
|
398
397
|
contentColorLink: string;
|
|
398
|
+
contentColorLinkVisited: string;
|
|
399
|
+
contentColorLinkDisabled: string;
|
|
400
|
+
contentColorLinkVisitedDisabled: string;
|
|
399
401
|
contentColorAccent: string;
|
|
400
402
|
contentColorAccentStrong: string;
|
|
401
403
|
contentColorAccentWeak: string;
|
|
@@ -539,6 +541,7 @@ declare const theme: {
|
|
|
539
541
|
gray60: string;
|
|
540
542
|
gray45: string;
|
|
541
543
|
gray30: string;
|
|
544
|
+
accentColorL30: string;
|
|
542
545
|
accentColor: string;
|
|
543
546
|
accentColorD10: string;
|
|
544
547
|
errorColorL10: string;
|
package/types/prisma/dark.d.ts
CHANGED
|
@@ -59,6 +59,9 @@ declare const theme: {
|
|
|
59
59
|
white: string;
|
|
60
60
|
transparent: string;
|
|
61
61
|
contentColorLink: string;
|
|
62
|
+
contentColorLinkVisited: string;
|
|
63
|
+
contentColorLinkDisabled: string;
|
|
64
|
+
contentColorLinkVisitedDisabled: string;
|
|
62
65
|
contentColorAccent: string;
|
|
63
66
|
contentColorAccentStrong: string;
|
|
64
67
|
contentColorAccentWeak: string;
|
package/types/prisma/light.d.ts
CHANGED
|
@@ -59,6 +59,9 @@ declare const theme: {
|
|
|
59
59
|
white: string;
|
|
60
60
|
transparent: string;
|
|
61
61
|
contentColorLink: string;
|
|
62
|
+
contentColorLinkVisited: string;
|
|
63
|
+
contentColorLinkDisabled: string;
|
|
64
|
+
contentColorLinkVisitedDisabled: string;
|
|
62
65
|
contentColorAccent: string;
|
|
63
66
|
contentColorAccentStrong: string;
|
|
64
67
|
contentColorAccentWeak: string;
|
|
@@ -185,7 +185,6 @@ declare const splunkMagneticThemeCustomizer: (currentTheme: AnyTheme) => {
|
|
|
185
185
|
gray20: string;
|
|
186
186
|
accentColorL50: string;
|
|
187
187
|
accentColorL40: string;
|
|
188
|
-
accentColorL30: string;
|
|
189
188
|
accentColorL20: string;
|
|
190
189
|
accentColorL10: string;
|
|
191
190
|
accentColorD20: string;
|
|
@@ -493,6 +492,9 @@ declare const splunkMagneticThemeCustomizer: (currentTheme: AnyTheme) => {
|
|
|
493
492
|
interactiveColorOverlayActive: string;
|
|
494
493
|
interactiveColorOverlayDrag: string;
|
|
495
494
|
contentColorLink: string;
|
|
495
|
+
contentColorLinkVisited: string;
|
|
496
|
+
contentColorLinkDisabled: string;
|
|
497
|
+
contentColorLinkVisitedDisabled: string;
|
|
496
498
|
contentColorAccent: string;
|
|
497
499
|
contentColorAccentStrong: string;
|
|
498
500
|
contentColorAccentWeak: string;
|
|
@@ -551,6 +553,7 @@ declare const splunkMagneticThemeCustomizer: (currentTheme: AnyTheme) => {
|
|
|
551
553
|
gray60: string;
|
|
552
554
|
gray45: string;
|
|
553
555
|
gray30: string;
|
|
556
|
+
accentColorL30: string;
|
|
554
557
|
accentColorD10: string;
|
|
555
558
|
errorColorL10: string;
|
|
556
559
|
errorColor: string;
|
|
@@ -774,7 +777,6 @@ declare const splunkMagneticThemeCustomizer: (currentTheme: AnyTheme) => {
|
|
|
774
777
|
gray20: string;
|
|
775
778
|
accentColorL50: string;
|
|
776
779
|
accentColorL40: string;
|
|
777
|
-
accentColorL30: string;
|
|
778
780
|
accentColorL20: string;
|
|
779
781
|
accentColorL10: string;
|
|
780
782
|
accentColorD20: string;
|
|
@@ -1082,6 +1084,9 @@ declare const splunkMagneticThemeCustomizer: (currentTheme: AnyTheme) => {
|
|
|
1082
1084
|
interactiveColorOverlayActive: string;
|
|
1083
1085
|
interactiveColorOverlayDrag: string;
|
|
1084
1086
|
contentColorLink: string;
|
|
1087
|
+
contentColorLinkVisited: string;
|
|
1088
|
+
contentColorLinkDisabled: string;
|
|
1089
|
+
contentColorLinkVisitedDisabled: string;
|
|
1085
1090
|
contentColorAccent: string;
|
|
1086
1091
|
contentColorAccentStrong: string;
|
|
1087
1092
|
contentColorAccentWeak: string;
|
|
@@ -1140,6 +1145,7 @@ declare const splunkMagneticThemeCustomizer: (currentTheme: AnyTheme) => {
|
|
|
1140
1145
|
gray60: string;
|
|
1141
1146
|
gray45: string;
|
|
1142
1147
|
gray30: string;
|
|
1148
|
+
accentColorL30: string;
|
|
1143
1149
|
accentColorD10: string;
|
|
1144
1150
|
errorColorL10: string;
|
|
1145
1151
|
errorColor: string;
|
|
@@ -1359,6 +1365,9 @@ declare const splunkMagneticThemeCustomizer: (currentTheme: AnyTheme) => {
|
|
|
1359
1365
|
dragShadow: string;
|
|
1360
1366
|
focusShadowInset: string;
|
|
1361
1367
|
contentColorLink: string;
|
|
1368
|
+
contentColorLinkVisited: string;
|
|
1369
|
+
contentColorLinkDisabled: string;
|
|
1370
|
+
contentColorLinkVisitedDisabled: string;
|
|
1362
1371
|
contentColorAccent: string;
|
|
1363
1372
|
contentColorAccentStrong: string;
|
|
1364
1373
|
contentColorAccentWeak: string;
|
|
@@ -1400,7 +1409,6 @@ declare const splunkMagneticThemeCustomizer: (currentTheme: AnyTheme) => {
|
|
|
1400
1409
|
gray20: string;
|
|
1401
1410
|
accentColorL50: string;
|
|
1402
1411
|
accentColorL40: string;
|
|
1403
|
-
accentColorL30: string;
|
|
1404
1412
|
accentColorL20: string;
|
|
1405
1413
|
accentColorL10: string;
|
|
1406
1414
|
accentColorD20: string;
|
|
@@ -1731,6 +1739,7 @@ declare const splunkMagneticThemeCustomizer: (currentTheme: AnyTheme) => {
|
|
|
1731
1739
|
gray60: string;
|
|
1732
1740
|
gray45: string;
|
|
1733
1741
|
gray30: string;
|
|
1742
|
+
accentColorL30: string;
|
|
1734
1743
|
accentColorD10: string;
|
|
1735
1744
|
errorColorL10: string;
|
|
1736
1745
|
errorColor: string;
|
|
@@ -1950,6 +1959,9 @@ declare const splunkMagneticThemeCustomizer: (currentTheme: AnyTheme) => {
|
|
|
1950
1959
|
dragShadow: string;
|
|
1951
1960
|
focusShadowInset: string;
|
|
1952
1961
|
contentColorLink: string;
|
|
1962
|
+
contentColorLinkVisited: string;
|
|
1963
|
+
contentColorLinkDisabled: string;
|
|
1964
|
+
contentColorLinkVisitedDisabled: string;
|
|
1953
1965
|
contentColorAccent: string;
|
|
1954
1966
|
contentColorAccentStrong: string;
|
|
1955
1967
|
contentColorAccentWeak: string;
|
|
@@ -1991,7 +2003,6 @@ declare const splunkMagneticThemeCustomizer: (currentTheme: AnyTheme) => {
|
|
|
1991
2003
|
gray20: string;
|
|
1992
2004
|
accentColorL50: string;
|
|
1993
2005
|
accentColorL40: string;
|
|
1994
|
-
accentColorL30: string;
|
|
1995
2006
|
accentColorL20: string;
|
|
1996
2007
|
accentColorL10: string;
|
|
1997
2008
|
accentColorD20: string;
|
|
@@ -2322,6 +2333,7 @@ declare const splunkMagneticThemeCustomizer: (currentTheme: AnyTheme) => {
|
|
|
2322
2333
|
gray60: string;
|
|
2323
2334
|
gray45: string;
|
|
2324
2335
|
gray30: string;
|
|
2336
|
+
accentColorL30: string;
|
|
2325
2337
|
accentColorD10: string;
|
|
2326
2338
|
errorColorL10: string;
|
|
2327
2339
|
errorColor: string;
|
|
@@ -2736,6 +2748,9 @@ declare const splunkMagneticThemeCustomizer: (currentTheme: AnyTheme) => {
|
|
|
2736
2748
|
white: string;
|
|
2737
2749
|
transparent: string;
|
|
2738
2750
|
contentColorLink: string;
|
|
2751
|
+
contentColorLinkVisited: string;
|
|
2752
|
+
contentColorLinkDisabled: string;
|
|
2753
|
+
contentColorLinkVisitedDisabled: string;
|
|
2739
2754
|
contentColorAccent: string;
|
|
2740
2755
|
contentColorAccentStrong: string;
|
|
2741
2756
|
contentColorAccentWeak: string;
|
|
@@ -3154,6 +3169,9 @@ declare const splunkMagneticThemeCustomizer: (currentTheme: AnyTheme) => {
|
|
|
3154
3169
|
white: string;
|
|
3155
3170
|
transparent: string;
|
|
3156
3171
|
contentColorLink: string;
|
|
3172
|
+
contentColorLinkVisited: string;
|
|
3173
|
+
contentColorLinkDisabled: string;
|
|
3174
|
+
contentColorLinkVisitedDisabled: string;
|
|
3157
3175
|
contentColorAccent: string;
|
|
3158
3176
|
contentColorAccentStrong: string;
|
|
3159
3177
|
contentColorAccentWeak: string;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export declare const ADDON_ID = "@splunk/themes";
|
|
2
2
|
export declare const PARAM_KEY = "splunkThemes";
|
|
3
3
|
export declare const DISABLE_DUAL_THEME_KEY = "disableDualTheme";
|
|
4
|
+
export declare const DISABLE_MULTI_THEME_OPTIONS_KEY = "disableMultiThemeOptions";
|
|
5
|
+
export declare const ENABLE_SPLUNK_MAGNETIC_KEY = "enableSplunkMagneticOption";
|
|
4
6
|
export declare const UPDATE = "@splunk/themes/update";
|
|
5
7
|
export declare const CONFIGURE = "@splunk/themes/configure";
|
|
6
8
|
export declare const SET = "@splunk/themes/default";
|
|
@@ -2,9 +2,9 @@ import { StoryContext } from '@storybook/types';
|
|
|
2
2
|
import { ThemeSettings } from '../types';
|
|
3
3
|
import { ThemeOptionKeys } from './themeOptions';
|
|
4
4
|
export interface ExtendedThemeSettings extends Omit<Pick<ThemeSettings, ThemeOptionKeys>, ThemeOptionKeys> {
|
|
5
|
-
colorScheme: ThemeSettings['colorScheme'] | 'both';
|
|
6
|
-
density: ThemeSettings['density'] | 'both';
|
|
7
|
-
family: ThemeSettings['family'] | 'both';
|
|
5
|
+
colorScheme: ThemeSettings['colorScheme'] | 'all' | 'both';
|
|
6
|
+
density: ThemeSettings['density'] | 'all' | 'both';
|
|
7
|
+
family: ThemeSettings['family'] | 'all' | 'both' | 'splunk-magnetic';
|
|
8
8
|
}
|
|
9
9
|
export declare const normalizeThemeOptions: (paramOptions?: {}, globalOptions?: {}) => Partial<ExtendedThemeSettings>;
|
|
10
10
|
export declare const getMergedTheme: (globalsTheme: Partial<ExtendedThemeSettings> | undefined | null, newTheme: Partial<ExtendedThemeSettings>) => {};
|