@splunk/themes 1.0.1 → 1.1.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 CHANGED
@@ -1,23 +1,38 @@
1
1
  Change Log
2
2
  ============
3
3
 
4
+ 1.1.0 - July 2, 2025
5
+ ----------
6
+ New Features:
7
+ * `@splunk/themes/storybook-addon-splunk-themes` now supports disabling 'both' option via `disableDualTheme` story param (SUI-7702).
8
+ * Added `pageBase` mixin for `html` and `body` base styling (SUI-7665).
9
+ * New `skipLink` mixin (SUI-7854)
10
+
11
+ Bug Fixes:
12
+ * Updated Prisma and Magnetic light syntax token values to maintain 4.5:1 contrast with line highlight (SUI-6644).
13
+ * Tokens updated: `syntaxBlue`, `syntaxBrown`, `syntaxGray`, `syntaxGreen`, `syntaxHighlight`, `syntaxOrange`, `syntaxPink`, `syntaxPurple`, `syntaxRed`, and `syntaxTeal`.
14
+ * Updated `actionColorBackgroundSecondaryActive` token values in Enterprise and Prisma themes to fix visual regression in `Radio Bar` (SUI-7864).
15
+ * Updated `interactiveColorOverlayActive` token values in Prisma and Enterprise themes to match `actionColorBackgroundSecondaryActive` values for consistent active overlay states (SUI-7864).
16
+ * Updated enterprise theme light mode neutral color tokens `neutral300`, `neutral400`, and `neutral500` to fix lightness steps from previous changes. (SUI-7879)
17
+ * Added neutral tokens (`neutral50`, `neutral100`, `neutral200`, `neutral300`, `neutral400`, `neutral500`) to Magnetic theme customizer with light and dark color scheme support, matching Enterprise and Prisma theme. (SUI-7879)
18
+
4
19
  1.0.1 - June 5, 2025
5
20
  ----------
6
- Bug fixes:
7
- * Corrected `@types/react` peer dependency to allow `@types/react` `16` or `17` (SUI-7838).
21
+ Bug Fixes:
22
+ * Corrected `@types/react` peer dependency to allow `@types/react` `16` or `17` (SUI-7838).
8
23
 
9
24
  1.0.0 - June 3, 2025
10
25
  ----------
11
26
  * Includes all changes from `1.0.0-beta` and `1.0.0-rc` releases.
12
27
 
13
- Bug fixes:
28
+ Bug Fixes:
14
29
  * Color variables `backgroundColorPage`, `backgroundColorNavigation`,`backgroundColorSideBar`,`neutral50`,`neutral100` and `neutral200` in Enterprise light have been updated to align better with Prisma themes (SUI-7584).
15
30
  * `@types/react` peer dependency now includes `^16 | ^17` and no longer blocks installation using `npm` in React 16 or 17 environments (SUI-7838).
16
31
  * Color variables for `actionColorBorderSecondary*`, `actionColorBackgroundSecondary*`, and `interactiveColorBorderDisabled` have been updated to align with both Prisma and Enterprise themes (SUI-7839).
17
32
 
18
33
  1.0.0-rc.2 - May 28, 2025
19
34
  ----------
20
- * Release candidate 2
35
+ * Release candidate 2.
21
36
 
22
37
  1.0.0-rc.1 - May 14, 2025
23
38
  ----------
@@ -35,20 +50,20 @@ New Features:
35
50
  New Features:
36
51
  * New `inputBorderWidth` variable (SUI-7384).
37
52
 
38
- Bug Fixes:
39
- * Fixes broken CSS for Splunk Magnetic's `backgroundColorNavigation` override (SUI-7653).
40
-
41
- Deprecations:
42
- * `statusColor*`s have been deprecated. Instead use the appropriate `notificationColor*` or `severityColor*`(SUI-7303)
43
-
44
53
  API Changes:
45
54
  * `typescript` version is now `^5.8.3` (SUI-7601).
46
55
  * `borderActiveColor` has been deprecated. (SUI-7633).
47
- * Use `interactiveColorBorderActive` for Data Entry components or `actionColorBorderSecondaryActive` for Buttons.
56
+ * Use `interactiveColorBorderActive` for Data Entry components or `actionColorBorderSecondaryActive` for Buttons.
48
57
  * `backgroundColorHover` have been deprecated. (SUI-7633).
49
- * Use `interactiveColorOverlayHover` for Data Entry components or `actionColorBackgroundSecondaryHover` for Buttons.
58
+ * Use `interactiveColorOverlayHover` for Data Entry components or `actionColorBackgroundSecondaryHover` for Buttons.
50
59
  * `hoverShadow` has been deprecated. See notes on `backgroundColorHover` for hover affordances. (SUI-7621)
51
60
 
61
+ Bug Fixes:
62
+ * Fixes broken CSS for Splunk Magnetic's `backgroundColorNavigation` override (SUI-7653).
63
+
64
+ Deprecations:
65
+ * `statusColor*`s have been deprecated. Instead use the appropriate `notificationColor*` or `severityColor*`(SUI-7303).
66
+
52
67
  1.0.0-beta.3 - April 2, 2025
53
68
  ----------
54
69
  New Features:
@@ -69,15 +84,15 @@ New Features:
69
84
  * New `contentColorLink` variable (SUI-3568).
70
85
  * The data-viz variables are supported in all themes (SUI-3568).
71
86
 
72
- Deprecations:
73
- * `linkColor` and `linkColorHover` have been deprecated. Instead use `contentColorLink` (SUI-3568).
74
-
75
87
  API Changes:
76
88
  * `accentColor` variable has been removed from Prisma themes (SUI-3568).
77
89
  * `borderColor`, `borderColorStrong`, and `borderColorWeak` have had alpha removed from their values (SUI-7340).
78
90
  * `embossShadow`, `overlayShadow`, `dragShadow`, and `modalShadow` variables have been updated in Enterprise themes to match Prisma (SUI-7334).
79
91
  * Enterprise only tokens have been deprecated: `brandColor*`, `gray*`, `accentColor*`, `errorColor*`, `alertColor*`, `warningColor*`, `successColor*`, `infoColor*`, `diverging*Color*`, and `cat*Color*`.
80
92
 
93
+ Deprecations:
94
+ * `linkColor` and `linkColorHover` have been deprecated. Instead use `contentColorLink` (SUI-3568).
95
+
81
96
  1.0.0-beta.1 - February 20, 2025
82
97
  ----------
83
98
  New Features:
@@ -98,19 +113,14 @@ New Features:
98
113
  * New `layout` mixin (SUI-6678).
99
114
  * Enterprise themes now support color variable `backgroundColorSidebar` (SUI-7102).
100
115
 
101
- Deprecations:
102
- * Enterprise theme tokens `textColor`, `textGray`, and `textDisabledColor` have been deprecated (SUI-6160).
103
- * Enterprise theme token `backgroundColor` has been deprecated (SUI-6656).
104
- * `accentColorPositive`, `accentColorWarning`, `accentColorAlert`, and `accentColorNegative` have been deprecated (SUI-3658).
105
-
106
116
  API Changes:
107
117
  * `react` and `react-dom` peer dependencies are now `"^16.8.0 || ^17.0.0 || ^18.0.0"`.
108
118
  * `px` sizing for `variables.fontSize*` and `mixins.typography` have been replaced with `rem` sizing (SUI-5509).
109
- * This results in minor differences in text sizing; but is required to meet WCAG 1.4.4 and WCAG 1.4.10.
119
+ * This results in minor differences in text sizing; but is required to meet WCAG 1.4.4 and WCAG 1.4.10.
110
120
  * `typography` `size` param no longer supports `56` `36` `32` and `10`.
111
121
  * `variables.lineHeight` is no longer defined in `px` to improve readability of font at all scales (SUI-5509).
112
122
  * `typography`'s mixin for `Title5`'s has been updated to text color `variables.contentColorActive` in Prisma theme (SUI-5685).
113
- * This change affects `Heading` and `Typography` components.
123
+ * This change affects `Heading` and `Typography` components.
114
124
  * The font size and line height no longer change with density. The default font-size in Enterprise Compact now is 14px (SUI-5508).
115
125
  * `typography`'s `line-height`, `size`, and `font-weight` values have been consolidated between Enterprise and Prisma themes (SUI-5684).
116
126
  * `typography`'s `withReset` prop has been removed (SUI-5686).
@@ -128,6 +138,11 @@ API Changes:
128
138
  * `fontSizeXLarge` size has been changed (SUI-6593).
129
139
  * Enterprise themes support the `contentColorActive`, `contentColorDefault`, `contentColorDisabled`, `contentColorInverted`, and `contentColorMuted` tokens (SUI-6160).
130
140
 
141
+ Deprecations:
142
+ * Enterprise theme tokens `textColor`, `textGray`, and `textDisabledColor` have been deprecated (SUI-6160).
143
+ * Enterprise theme token `backgroundColor` has been deprecated (SUI-6656).
144
+ * `accentColorPositive`, `accentColorWarning`, `accentColorAlert`, and `accentColorNegative` have been deprecated (SUI-3658).
145
+
131
146
  0.24.0 - May 6, 2025
132
147
  ----------
133
148
  Bug Fixes:
@@ -167,9 +182,9 @@ API Changes:
167
182
  New Features:
168
183
 
169
184
  * All themes now support color variables for decorative borders:
170
- * `borderColorStrong` and `borderColorWeak` added to all themes
171
- * `borderColor` now also available in Prisma themes
172
- * Note: Use `interactiveColorBorder` when creating a border for an interactive control
185
+ * `borderColorStrong` and `borderColorWeak` added to all themes
186
+ * `borderColor` now also available in Prisma themes
187
+ * Note: Use `interactiveColorBorder` when creating a border for an interactive control
173
188
 
174
189
  Bug Fixes:
175
190
  * Enterprise light theme `interactiveColorBorder` value has been updated to meet contrast requirements.
@@ -184,7 +199,7 @@ API Changes:
184
199
  New Features:
185
200
  * Added new variable `activeBorder`.
186
201
 
187
- 0.16.4 - Dec 5, 2023
202
+ 0.16.4 - December 5, 2023
188
203
  ----------
189
204
  Bug Fixes:
190
205
  * `syntaxColors` have been updated to meet A11y_WCAG 1.4.3 contrast requirements for prisma and enterprise themes (SUI-5750).
@@ -212,12 +227,12 @@ API Changes:
212
227
 
213
228
  0.16.0 - April 6, 2023
214
229
  ----------
215
- New Features:
216
- * Added variables for supported font weights; the `typography` mixin's `weight` param supports these as keyword values (SUI-5344).
217
-
218
230
  Breaking Changes:
219
231
  * `typography` mixin's `weight` param now only accepts keyword values. Number values have been removed (SUI-5344).
220
232
 
233
+ New Features:
234
+ * Added variables for supported font weights; the `typography` mixin's `weight` param supports these as keyword values (SUI-5344).
235
+
221
236
  Bug Fixes:
222
237
  * `typography` mixin properly applies correct CSS for `weight` params (SUI-5344).
223
238
 
@@ -406,4 +421,4 @@ Notes:
406
421
 
407
422
  0.2.0 - June 30, 2018
408
423
  ----------
409
- * Initial Release
424
+ * Initial Release.
@@ -77,7 +77,7 @@ var actionColors = {
77
77
  actionColorBackgroundPrimaryDisabled: '#163b1b',
78
78
  actionColorBackgroundPrimaryHover: '#6eba78',
79
79
  actionColorBackgroundSecondary: 'transparent',
80
- actionColorBackgroundSecondaryActive: 'rgba(0, 0, 0, 0.2)',
80
+ actionColorBackgroundSecondaryActive: 'rgba(225, 225, 225, 0.16)',
81
81
  actionColorBackgroundSecondaryDisabled: 'transparent',
82
82
  actionColorBackgroundSecondaryHover: 'rgba(255, 255, 255, 0.05)',
83
83
  actionColorBackgroundSubtle: 'transparent',
@@ -108,7 +108,7 @@ var interactiveColors = {
108
108
  interactiveColorBorderDisabled: 'rgba(255, 255, 255, 0.3)',
109
109
  interactiveColorOverlaySelected: 'rgba(255, 255, 255, 0.1)',
110
110
  interactiveColorOverlayHover: 'rgba(255, 255, 255, 0.05)',
111
- interactiveColorOverlayActive: 'rgba(0, 0, 0, 0.2)',
111
+ interactiveColorOverlayActive: 'rgba(225, 225, 225, 0.16)',
112
112
  interactiveColorOverlayDrag: 'rgba(57, 147, 255, 0.16)',
113
113
  interactiveColorBackground: 'transparent',
114
114
  interactiveColorBackgroundDisabled: 'transparent',
@@ -1,13 +1,12 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports["default"] = void 0;
7
- var _tinycolor = _interopRequireDefault(require("tinycolor2"));
8
8
  var _dataViz = _interopRequireDefault(require("./dataViz"));
9
9
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
10
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
11
10
  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; }
12
11
  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; }
13
12
  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; }
@@ -52,9 +51,9 @@ var neutralColors = {
52
51
  neutral50: '#e8ebee',
53
52
  neutral100: '#e1e5ea',
54
53
  neutral200: '#dae0e7',
55
- neutral300: deprecatedEnterpriseColors.gray92,
56
- neutral400: _tinycolor["default"].mix(deprecatedEnterpriseColors.gray92, deprecatedEnterpriseColors.gray80).toRgbString(),
57
- neutral500: deprecatedEnterpriseColors.gray80,
54
+ neutral300: '#d5dbe2',
55
+ neutral400: '#c9d1da',
56
+ neutral500: '#bbc4ce',
58
57
  black: '#000000',
59
58
  transparent: 'transparent'
60
59
  };
@@ -143,7 +142,7 @@ var actionColors = {
143
142
  actionColorBackgroundPrimaryDisabled: '#98d798',
144
143
  actionColorBackgroundPrimaryHover: '#125e1c',
145
144
  actionColorBackgroundSecondary: 'transparent',
146
- actionColorBackgroundSecondaryActive: 'rgba(0, 0, 0, 0.07)',
145
+ actionColorBackgroundSecondaryActive: 'rgba(0, 0, 0, 0.12)',
147
146
  actionColorBackgroundSecondaryDisabled: 'transparent',
148
147
  actionColorBackgroundSecondaryHover: 'rgba(0, 0, 0, 0.03)',
149
148
  actionColorBackgroundSubtle: 'transparent',
@@ -174,7 +173,7 @@ var interactiveColors = {
174
173
  interactiveColorBorderDisabled: 'rgba(0, 0, 0, 0.3)',
175
174
  interactiveColorOverlaySelected: 'rgba(0, 0, 0, 0.04)',
176
175
  interactiveColorOverlayHover: 'rgba(0, 0, 0, 0.03)',
177
- interactiveColorOverlayActive: 'rgba(0, 0, 0, 0.07)',
176
+ interactiveColorOverlayActive: 'rgba(0, 0, 0, 0.12)',
178
177
  interactiveColorOverlayDrag: 'rgba(2, 100, 215, 0.16)',
179
178
  interactiveColorBackground: 'transparent',
180
179
  interactiveColorBackgroundDisabled: 'transparent',
package/mixins/index.js CHANGED
@@ -49,6 +49,17 @@ Object.keys(_prose).forEach(function (key) {
49
49
  }
50
50
  });
51
51
  });
52
+ var _resets = _interopRequireWildcard(require("./resets"));
53
+ Object.keys(_resets).forEach(function (key) {
54
+ if (key === "default" || key === "__esModule") return;
55
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
56
+ Object.defineProperty(exports, key, {
57
+ enumerable: true,
58
+ get: function get() {
59
+ return _resets[key];
60
+ }
61
+ });
62
+ });
52
63
  var _typography = _interopRequireWildcard(require("./typography"));
53
64
  Object.keys(_typography).forEach(function (key) {
54
65
  if (key === "default" || key === "__esModule") return;
@@ -79,7 +90,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
79
90
  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; }
80
91
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
81
92
  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); }
82
- var _default = _objectSpread(_objectSpread({}, _utilityMixins["default"]), {}, {
93
+ var _default = _objectSpread(_objectSpread(_objectSpread({}, _resets["default"]), _utilityMixins["default"]), {}, {
83
94
  layout: _layout["default"],
84
95
  prose: _prose["default"],
85
96
  typography: _typography["default"]
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.reset = exports.pageBase = void 0;
7
+ var _styledComponents = require("styled-components");
8
+ var _pick = _interopRequireDefault(require("../pick"));
9
+ var _variables = _interopRequireDefault(require("../variables"));
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
11
+ function _templateObject2() {
12
+ var data = _taggedTemplateLiteral(["\n /* Generic resets */\n animation: none 0s ease 0s 1 normal none running;\n backface-visibility: visible;\n background: transparent none repeat 0 0 / auto auto padding-box border-box scroll;\n border: medium none currentColor;\n border-collapse: separate;\n border-image: none;\n border-radius: 0;\n border-spacing: 0;\n bottom: auto;\n box-shadow: none;\n caption-side: top;\n clear: none;\n clip: auto;\n color-scheme: ", ";\n columns: auto;\n column-count: auto;\n column-fill: balance;\n column-gap: normal;\n column-rule: medium none currentColor;\n column-span: 1;\n column-width: auto;\n content: normal;\n counter-increment: none;\n counter-reset: none;\n empty-cells: show;\n float: none;\n font-style: normal;\n font-variant: normal;\n font-weight: normal;\n font-stretch: normal;\n height: auto;\n hyphens: none;\n left: auto;\n letter-spacing: normal;\n margin: 0;\n max-height: none;\n max-width: none;\n min-height: 0;\n min-width: 0;\n opacity: 1;\n orphans: 2;\n overflow: visible;\n overflow-x: visible;\n overflow-y: visible;\n padding: 0;\n page-break-after: auto;\n page-break-before: auto;\n page-break-inside: auto;\n perspective: none;\n perspective-origin: 50% 50%;\n pointer-events: auto;\n position: static;\n right: auto;\n tab-size: 8;\n table-layout: auto;\n text-align: left;\n text-align-last: auto;\n text-decoration: none;\n text-indent: 0;\n text-shadow: none;\n text-transform: none;\n top: auto;\n transform: none;\n transform-origin: 50% 50% 0;\n transform-style: flat;\n transition: none 0s ease 0s;\n user-select: auto;\n vertical-align: baseline;\n white-space: normal;\n widows: 2;\n width: auto;\n word-spacing: normal;\n z-index: auto;\n /* Splunk-specific resets */\n border-width: 1px;\n box-sizing: border-box;\n color: ", ";\n cursor: inherit;\n ", "\n font-family: ", ";\n font-size: ", ";\n line-height: ", ";\n outline: medium none ", ";\n visibility: inherit;\n "]);
13
+ _templateObject2 = function _templateObject2() {
14
+ return data;
15
+ };
16
+ return data;
17
+ }
18
+ function _templateObject() {
19
+ var data = _taggedTemplateLiteral(["\n background-color: ", ";\n box-sizing: border-box;\n color: ", ";\n color-scheme: ", ";\n font-family: ", ";\n margin: 0;\n "]);
20
+ _templateObject = function _templateObject() {
21
+ return data;
22
+ };
23
+ return data;
24
+ }
25
+ function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
26
+ /**
27
+ * The `pageBase` mixin provides essential base styling, intended for `html` and `body` elements.
28
+ * This should be used in global styles to establish consistent foundational styles
29
+ * including theme colors, typography, and layout basics.
30
+ *
31
+ * ##### Example
32
+ * ```js
33
+ * import styled from 'styled-components';
34
+ * import { pageBase } from '@splunk/themes/mixins';
35
+ *
36
+ * const GlobalStyle = createGlobalStyle`
37
+ * html,
38
+ * body {
39
+ * ${pageBase()}
40
+ * }
41
+ * `
42
+ * ```
43
+ * @name pageBase
44
+ * @kind function
45
+ * @public
46
+ */
47
+
48
+ var pageBase = function pageBase() {
49
+ return function () {
50
+ return (0, _styledComponents.css)(_templateObject(), _variables["default"].backgroundColorPage, _variables["default"].contentColorDefault, (0, _pick["default"])({
51
+ dark: 'dark',
52
+ light: 'light'
53
+ }), _variables["default"].fontFamily);
54
+ };
55
+ };
56
+
57
+ /**
58
+ * The `reset` mixin resets css properties to their browser defaults, plus many to
59
+ * theme-specific values. This ensures an element is not inheriting inappropriate styles.
60
+ *
61
+ * ##### Example
62
+ * ```js
63
+ * import styled from 'styled-components';
64
+ * import { reset } from '@splunk/themes/mixins';
65
+ *
66
+ * const myBlock = styled.div`
67
+ * ${reset('block')};
68
+ * `
69
+ * ```
70
+ * @name reset
71
+ * @kind function
72
+ * @param {string} [display=inline] Set the `display` property (block, inline-block, …)
73
+ * @public
74
+ */
75
+ exports.pageBase = pageBase;
76
+ var reset = function reset() {
77
+ var display = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'inline';
78
+ var displayRule = display !== null ? "display: ".concat(display, ";") : '';
79
+ return function () {
80
+ return (0, _styledComponents.css)(_templateObject2(), (0, _pick["default"])({
81
+ /*
82
+ use pick() rather than relying on variables.colorScheme
83
+ because there's no guarantee that variables.colorScheme
84
+ has to match the css color-scheme prop
85
+ */
86
+ dark: 'dark',
87
+ light: 'light'
88
+ }), _variables["default"].contentColorDefault, displayRule, _variables["default"].fontFamily, _variables["default"].fontSize, _variables["default"].lineHeight, _variables["default"].focusColor);
89
+ };
90
+ };
91
+ exports.reset = reset;
92
+ var _default = {
93
+ pageBase: pageBase,
94
+ reset: reset
95
+ };
96
+ exports["default"] = _default;
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.typographyVariants = exports["default"] = void 0;
7
7
  var _merge = _interopRequireDefault(require("lodash/merge"));
8
8
  var _styledComponents = require("styled-components");
9
- var _utilityMixins = _interopRequireDefault(require("./utilityMixins"));
9
+ var _resets = require("./resets");
10
10
  var _variables = _interopRequireDefault(require("../variables"));
11
11
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
12
12
  function _templateObject8() {
@@ -292,7 +292,7 @@ function typography(variantOrParams, additionalParams) {
292
292
  withReset: mergedParams.withReset
293
293
  };
294
294
  return function () {
295
- return (0, _styledComponents.css)(_templateObject8(), finalParams.withReset && _utilityMixins["default"].reset(null), finalParams.color, finalParams.family, finalParams.size, finalParams.weight, finalParams.lineHeight, finalParams.additionalStyles);
295
+ return (0, _styledComponents.css)(_templateObject8(), finalParams.withReset && (0, _resets.reset)(null), finalParams.color, finalParams.family, finalParams.size, finalParams.weight, finalParams.lineHeight, finalParams.additionalStyles);
296
296
  };
297
297
  }
298
298
  var _default = typography;
@@ -10,64 +10,19 @@ exports.printHide = printHide;
10
10
  exports.printNoBackground = printNoBackground;
11
11
  exports.printWrapAll = printWrapAll;
12
12
  exports.screenReaderContent = screenReaderContent;
13
+ exports.skipLink = skipLink;
13
14
  exports.overlayColors = overlayColors;
14
15
  exports.colorWithAlpha = colorWithAlpha;
15
- exports["default"] = exports.reset = void 0;
16
+ exports["default"] = void 0;
16
17
  var _colorBlend = require("color-blend");
17
- var _styledComponents = require("styled-components");
18
18
  var _tinycolor = _interopRequireDefault(require("tinycolor2"));
19
- var _pick = _interopRequireDefault(require("../pick"));
20
- var _variables = _interopRequireDefault(require("../variables"));
21
19
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
22
- function _templateObject() {
23
- var data = _taggedTemplateLiteral(["\n /* Generic resets */\n animation: none 0s ease 0s 1 normal none running;\n backface-visibility: visible;\n background: transparent none repeat 0 0 / auto auto padding-box border-box scroll;\n border: medium none currentColor;\n border-collapse: separate;\n border-image: none;\n border-radius: 0;\n border-spacing: 0;\n bottom: auto;\n box-shadow: none;\n caption-side: top;\n clear: none;\n clip: auto;\n color-scheme: ", ";\n columns: auto;\n column-count: auto;\n column-fill: balance;\n column-gap: normal;\n column-rule: medium none currentColor;\n column-span: 1;\n column-width: auto;\n content: normal;\n counter-increment: none;\n counter-reset: none;\n empty-cells: show;\n float: none;\n font-style: normal;\n font-variant: normal;\n font-weight: normal;\n font-stretch: normal;\n height: auto;\n hyphens: none;\n left: auto;\n letter-spacing: normal;\n margin: 0;\n max-height: none;\n max-width: none;\n min-height: 0;\n min-width: 0;\n opacity: 1;\n orphans: 2;\n overflow: visible;\n overflow-x: visible;\n overflow-y: visible;\n padding: 0;\n page-break-after: auto;\n page-break-before: auto;\n page-break-inside: auto;\n perspective: none;\n perspective-origin: 50% 50%;\n pointer-events: auto;\n position: static;\n right: auto;\n tab-size: 8;\n table-layout: auto;\n text-align: left;\n text-align-last: auto;\n text-decoration: none;\n text-indent: 0;\n text-shadow: none;\n text-transform: none;\n top: auto;\n transform: none;\n transform-origin: 50% 50% 0;\n transform-style: flat;\n transition: none 0s ease 0s;\n user-select: auto;\n vertical-align: baseline;\n white-space: normal;\n widows: 2;\n width: auto;\n word-spacing: normal;\n z-index: auto;\n /* Splunk-specific resets */\n border-width: 1px;\n box-sizing: border-box;\n color: ", ";\n cursor: inherit;\n ", "\n font-family: ", ";\n font-size: ", ";\n line-height: ", ";\n outline: medium none ", ";\n visibility: inherit;\n "]);
24
- _templateObject = function _templateObject() {
25
- return data;
26
- };
27
- return data;
28
- }
29
- function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
30
20
  /**
31
21
  * @file
32
22
  * A collection of style-related helper functions. All of them return a single object containing
33
23
  * DOM CSS properties, for example: `{ display: …, fontFamily: … }`.
34
24
  */
35
25
 
36
- /**
37
- * The `reset` mixin resets css properties to their browser defaults, plus many to
38
- * theme-specific values. This ensures an element is not inheriting inappropriate styles.
39
- *
40
- * ##### Example
41
- * ```js
42
- * import styled from 'styled-components';
43
- * import { reset } from '@splunk/themes/mixins';
44
- *
45
- * const myBlock = styled.div`
46
- * ${reset('block')};
47
- * `
48
- * ```
49
- * @name reset
50
- * @kind function
51
- * @param {string} [display=inline] Set the `display` property (block, inline-block, …)
52
- * @public
53
- */
54
-
55
- var reset = function reset() {
56
- var display = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'inline';
57
- var displayRule = display !== null ? "display: ".concat(display, ";") : '';
58
- return function () {
59
- return (0, _styledComponents.css)(_templateObject(), (0, _pick["default"])({
60
- /*
61
- use pick() rather than relying on variables.colorScheme
62
- because there's no guarantee that variables.colorScheme
63
- has to match the css color-scheme prop
64
- */
65
- dark: 'dark',
66
- light: 'light'
67
- }), _variables["default"].contentColorDefault, displayRule, _variables["default"].fontFamily, _variables["default"].fontSize, _variables["default"].lineHeight, _variables["default"].focusColor);
68
- };
69
- };
70
-
71
26
  /**
72
27
  * `clearfix` is used on a container to ensure its height is at least as tall as any floating
73
28
  * children.
@@ -83,7 +38,6 @@ var reset = function reset() {
83
38
  * ```
84
39
  * @public
85
40
  */
86
- exports.reset = reset;
87
41
  function clearfix() {
88
42
  return {
89
43
  '&::after': {
@@ -225,10 +179,10 @@ function printWrapAll() {
225
179
  *
226
180
  * ##### Example
227
181
  * ``` js
228
- * import screenReaderContent from '@splunk/themes/mixins';
182
+ * import { screenReaderContent } from '@splunk/themes/mixins';
229
183
  *
230
184
  * .myElement {
231
- * ${props => props.theme.mixins.screenReaderContent()};
185
+ * ${screenReaderContent()};
232
186
  * }
233
187
  * ```
234
188
  * @public
@@ -245,6 +199,41 @@ function screenReaderContent() {
245
199
  border: 0
246
200
  };
247
201
  }
202
+
203
+ /**
204
+ * Visually hide interactive elements and reveal them on focus. Use this mixin to allow
205
+ * keyboard users to skip over repeated content, such as navigation menus
206
+ *
207
+ * ##### Example
208
+ * ```js
209
+ * import styled from 'styled-components';
210
+ * import Link from '@splunk/react-ui/Link';
211
+ * import mixins from '@splunk/themes';
212
+ *
213
+ * const skipLink = styled(Link)`
214
+ * ${mixins.skipLink()};
215
+ * `;
216
+ * // or if you have a container with several links inside it:
217
+ * const skipLinkContainer = styled.div`
218
+ * ${mixins.skipLink()};
219
+ * `;
220
+ * ```
221
+ * @public
222
+ */
223
+ function skipLink() {
224
+ return {
225
+ position: 'absolute',
226
+ '&:not(:focus-within)': {
227
+ overflow: 'hidden',
228
+ clipPath: 'inset(50%)',
229
+ height: '1px',
230
+ width: '1px',
231
+ padding: '0',
232
+ border: '0',
233
+ whiteSpace: 'nowrap'
234
+ }
235
+ };
236
+ }
248
237
  /**
249
238
  * Calculates how one color would appear over another using a normal blend mode.
250
239
  * Colors can either be strings or functions, such as variable functions.
@@ -304,7 +293,6 @@ function colorWithAlpha(color, alpha) {
304
293
  };
305
294
  }
306
295
  var _default = {
307
- reset: reset,
308
296
  clearfix: clearfix,
309
297
  ellipsis: ellipsis,
310
298
  printWidth100Percent: printWidth100Percent,
@@ -312,6 +300,7 @@ var _default = {
312
300
  printNoBackground: printNoBackground,
313
301
  printWrapAll: printWrapAll,
314
302
  screenReaderContent: screenReaderContent,
303
+ skipLink: skipLink,
315
304
  colorWithAlpha: colorWithAlpha,
316
305
  overlayColors: overlayColors
317
306
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@splunk/themes",
3
- "version": "1.0.1",
3
+ "version": "1.1.0",
4
4
  "description": "Theme variables and mixins for the Splunk design language",
5
5
  "main": "./index.js",
6
6
  "types": "./types/index.d.ts",
package/prisma/dark.js CHANGED
@@ -50,7 +50,7 @@ var actionColors = {
50
50
  actionColorBackgroundPrimaryDisabled: '#103460',
51
51
  actionColorBackgroundPrimaryHover: '#6baeff',
52
52
  actionColorBackgroundSecondary: 'transparent',
53
- actionColorBackgroundSecondaryActive: 'rgba(0, 0, 0, 0.2)',
53
+ actionColorBackgroundSecondaryActive: 'rgba(225, 225, 225, 0.16)',
54
54
  actionColorBackgroundSecondaryDisabled: 'transparent',
55
55
  actionColorBackgroundSecondaryHover: 'rgba(255, 255, 255, 0.05)',
56
56
  actionColorBackgroundSubtle: 'transparent',
@@ -81,7 +81,7 @@ var interactiveColors = {
81
81
  interactiveColorBorderDisabled: 'rgba(255, 255, 255, 0.30)',
82
82
  interactiveColorOverlaySelected: 'rgba(255, 255, 255, 0.1)',
83
83
  interactiveColorOverlayHover: 'rgba(255, 255, 255, 0.05)',
84
- interactiveColorOverlayActive: 'rgba(0, 0, 0, 0.2)',
84
+ interactiveColorOverlayActive: 'rgba(225, 225, 225, 0.16)',
85
85
  interactiveColorOverlayDrag: 'rgba(57, 147, 255, 0.16)',
86
86
  interactiveColorBackground: 'transparent',
87
87
  interactiveColorBackgroundDisabled: 'transparent',
package/prisma/light.js CHANGED
@@ -50,7 +50,7 @@ var actionColors = {
50
50
  actionColorBackgroundPrimaryDisabled: '#72b2fe',
51
51
  actionColorBackgroundPrimaryHover: '#024ba2',
52
52
  actionColorBackgroundSubtle: 'transparent',
53
- actionColorBackgroundSecondaryActive: 'rgba(0, 0, 0, 0.07)',
53
+ actionColorBackgroundSecondaryActive: 'rgba(0, 0, 0, 0.12)',
54
54
  actionColorBackgroundSubtleDisabled: 'transparent',
55
55
  actionColorBackgroundSecondaryHover: 'rgba(0, 0, 0, 0.03)',
56
56
  actionColorBackgroundSecondary: 'transparent',
@@ -81,7 +81,7 @@ var interactiveColors = {
81
81
  interactiveColorBorderDisabled: 'rgba(0, 0, 0, 0.3)',
82
82
  interactiveColorOverlaySelected: 'rgba(0, 0, 0, 0.04)',
83
83
  interactiveColorOverlayHover: 'rgba(0, 0, 0, 0.03)',
84
- interactiveColorOverlayActive: 'rgba(0, 0, 0, 0.07)',
84
+ interactiveColorOverlayActive: 'rgba(0, 0, 0, 0.12)',
85
85
  interactiveColorOverlayDrag: 'rgba(2, 100, 215, 0.16)',
86
86
  interactiveColorBackground: 'transparent',
87
87
  interactiveColorBackgroundDisabled: 'transparent',
@@ -133,15 +133,15 @@ var elevationShadows = {
133
133
  modalShadow: '0px 50px 200px rgba(0, 0, 0, 0.3), 0px 29px 66px rgba(0, 0, 0, 0.08), 0px 29px 47px rgba(0, 0, 0, 0.08), 0px 5px 10px rgba(0, 0, 0, 0.03)'
134
134
  };
135
135
  var syntaxColors = {
136
- syntaxBlue: '#0f7594',
137
- syntaxBrown: '#9f6404',
138
- syntaxGray: '#6b6b6b',
139
- syntaxGreen: '#5c780c',
140
- syntaxOrange: '#ba4f08',
141
- syntaxPink: '#cc15ae',
142
- syntaxPurple: '#7b4df5',
143
- syntaxRed: '#db1e47',
144
- syntaxTeal: '#1d7c6b'
136
+ syntaxBlue: '#0e6e8b',
137
+ syntaxBrown: '#8b5804',
138
+ syntaxGray: '#666',
139
+ syntaxGreen: '#556f0b',
140
+ syntaxOrange: '#a64708',
141
+ syntaxPink: '#b9139e',
142
+ syntaxPurple: '#703ef4',
143
+ syntaxRed: '#ca1c41',
144
+ syntaxTeal: '#1b7464'
145
145
  };
146
146
  var deprecated = {
147
147
  accentColorPositive: '#407a06',
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports["default"] = void 0;
7
7
  var _tinycolor = _interopRequireDefault(require("tinycolor2"));
8
+ var _magneticTokensCore = _interopRequireDefault(require("./magneticTokensCore"));
8
9
  var _magneticTokensDark = _interopRequireDefault(require("./magneticTokensDark"));
9
10
  var _magneticTokensLight = _interopRequireDefault(require("./magneticTokensLight"));
10
11
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
@@ -160,6 +161,12 @@ var splunkMagneticThemeCustomizer = function splunkMagneticThemeCustomizer(curre
160
161
  interactiveColorBorderHover: pickMagnetic('control-border-hover'),
161
162
  linkColor: pickMagnetic('interact-text-default'),
162
163
  modalShadow: '0px 4px 12px 0px rgba(0, 0, 0, 0.12)',
164
+ neutral50: currentTheme.colorScheme === 'light' ? '#EFF0F1' : '#171B1F',
165
+ neutral100: currentTheme.colorScheme === 'light' ? _magneticTokensCore["default"]['neutral-95'] : _magneticTokensCore["default"]['neutral-25'],
166
+ neutral200: currentTheme.colorScheme === 'light' ? _magneticTokensCore["default"]['neutral-90'] : _magneticTokensCore["default"]['neutral-35'],
167
+ neutral300: currentTheme.colorScheme === 'light' ? _magneticTokensCore["default"]['neutral-85'] : _magneticTokensCore["default"]['neutral-40'],
168
+ neutral400: currentTheme.colorScheme === 'light' ? _magneticTokensCore["default"]['neutral-80'] : _magneticTokensCore["default"]['neutral-50'],
169
+ neutral500: currentTheme.colorScheme === 'light' ? _magneticTokensCore["default"]['neutral-70'] : _magneticTokensCore["default"]['neutral-60'],
163
170
  overlayShadow: '0px 4px 12px 0px rgba(0,0,0,0.18)',
164
171
  statusColorHigh: pickMagnetic('negative-icon-default'),
165
172
  statusColorHighStrong: pickMagnetic('negative-border-strong-default'),
@@ -172,7 +179,16 @@ var splunkMagneticThemeCustomizer = function splunkMagneticThemeCustomizer(curre
172
179
  statusColorMediumWeak: pickMagnetic('warning-bg-medium-default'),
173
180
  statusColorNormal: pickMagnetic('positive-icon-strong-default'),
174
181
  statusColorNormalStrong: pickMagnetic('positive-border-strong-default'),
175
- statusColorNormalWeak: pickMagnetic('positive-bg-medium-default')
182
+ statusColorNormalWeak: pickMagnetic('positive-bg-medium-default'),
183
+ syntaxBlue: currentTheme.colorScheme === 'light' ? '#0f7190' : '#6cd0f0',
184
+ syntaxBrown: currentTheme.colorScheme === 'light' ? '#8b5804' : '#fccf87',
185
+ syntaxGray: currentTheme.colorScheme === 'light' ? '#666' : '#909090',
186
+ syntaxGreen: currentTheme.colorScheme === 'light' ? '#556f0b' : '#cef06c',
187
+ syntaxOrange: currentTheme.colorScheme === 'light' ? '#a64708' : '#f7933f',
188
+ syntaxPink: currentTheme.colorScheme === 'light' ? '#b9139e' : '#f494e5',
189
+ syntaxPurple: currentTheme.colorScheme === 'light' ? '#703ef4' : '#ab74f1',
190
+ syntaxRed: currentTheme.colorScheme === 'light' ? '#ca1c41' : '#e9627f',
191
+ syntaxTeal: currentTheme.colorScheme === 'light' ? '#1b7464' : '#45d4ba'
176
192
  });
177
193
  };
178
194
  var _default = splunkMagneticThemeCustomizer;