1 | "use strict";
|
2 |
|
3 | require("core-js/modules/es.array.concat");
|
4 |
|
5 | require("core-js/modules/es.array.iterator");
|
6 |
|
7 | require("core-js/modules/es.object.to-string");
|
8 |
|
9 | require("core-js/modules/web.dom-collections.iterator");
|
10 |
|
11 | Object.defineProperty(exports, "__esModule", {
|
12 | value: true
|
13 | });
|
14 | exports.withBackground = void 0;
|
15 |
|
16 | var _addons = require("@storybook/addons");
|
17 |
|
18 | var _constants = require("../constants");
|
19 |
|
20 | var _helpers = require("../helpers");
|
21 |
|
22 | var withBackground = function withBackground(StoryFn, context) {
|
23 | var _globals$BACKGROUNDS_;
|
24 |
|
25 | var globals = context.globals,
|
26 | parameters = context.parameters;
|
27 | var globalsBackgroundColor = (_globals$BACKGROUNDS_ = globals[_constants.PARAM_KEY]) === null || _globals$BACKGROUNDS_ === void 0 ? void 0 : _globals$BACKGROUNDS_.value;
|
28 | var backgroundsConfig = parameters[_constants.PARAM_KEY];
|
29 | var selectedBackgroundColor = (0, _addons.useMemo)(function () {
|
30 | if (backgroundsConfig.disable) {
|
31 | return 'transparent';
|
32 | }
|
33 |
|
34 | return (0, _helpers.getBackgroundColorByName)(globalsBackgroundColor, backgroundsConfig.values, backgroundsConfig["default"]);
|
35 | }, [backgroundsConfig, globalsBackgroundColor]);
|
36 | var isActive = (0, _addons.useMemo)(function () {
|
37 | return selectedBackgroundColor && selectedBackgroundColor !== 'transparent';
|
38 | }, [selectedBackgroundColor]);
|
39 | var selector = context.viewMode === 'docs' ? "#anchor--".concat(context.id, " .docs-story") : '.sb-show-main';
|
40 | var backgroundStyles = (0, _addons.useMemo)(function () {
|
41 | return "\n ".concat(selector, " {\n background: ").concat(selectedBackgroundColor, " !important;\n transition: background-color 0.3s;\n }\n ");
|
42 | }, [selectedBackgroundColor, selector]);
|
43 | (0, _addons.useEffect)(function () {
|
44 | var selectorId = context.viewMode === 'docs' ? "addon-backgrounds-docs-".concat(context.id) : "addon-backgrounds-color";
|
45 |
|
46 | if (!isActive) {
|
47 | (0, _helpers.clearStyles)(selectorId);
|
48 | return;
|
49 | }
|
50 |
|
51 | (0, _helpers.addBackgroundStyle)(selectorId, backgroundStyles, context.viewMode === 'docs' ? context.id : null);
|
52 | }, [isActive, backgroundStyles, context]);
|
53 | return StoryFn();
|
54 | };
|
55 |
|
56 | exports.withBackground = withBackground; |
\ | No newline at end of file |