1 | "use strict";
|
2 |
|
3 | require("core-js/modules/es.array.concat");
|
4 |
|
5 | require("core-js/modules/es.array.join");
|
6 |
|
7 | require("core-js/modules/es.array.slice");
|
8 |
|
9 | require("core-js/modules/es.object.define-properties");
|
10 |
|
11 | require("core-js/modules/es.object.freeze");
|
12 |
|
13 | Object.defineProperty(exports, "__esModule", {
|
14 | value: true
|
15 | });
|
16 | exports.withGrid = void 0;
|
17 |
|
18 | var _tsDedent = _interopRequireDefault(require("ts-dedent"));
|
19 |
|
20 | var _utilDeprecate = _interopRequireDefault(require("util-deprecate"));
|
21 |
|
22 | var _addons = require("@storybook/addons");
|
23 |
|
24 | var _helpers = require("../helpers");
|
25 |
|
26 | var _constants = require("../constants");
|
27 |
|
28 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
29 |
|
30 | function _templateObject() {
|
31 | var data = _taggedTemplateLiteral(["\n Backgrounds Addon: The cell size parameter has been changed.\n\n - parameters.grid.cellSize should now be parameters.backgrounds.grid.cellSize\n See https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#deprecated-grid-parameter\n "]);
|
32 |
|
33 | _templateObject = function _templateObject() {
|
34 | return data;
|
35 | };
|
36 |
|
37 | return data;
|
38 | }
|
39 |
|
40 | function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
41 |
|
42 | var deprecatedCellSizeWarning = (0, _utilDeprecate["default"])(function () {}, (0, _tsDedent["default"])(_templateObject()));
|
43 |
|
44 | var withGrid = function withGrid(StoryFn, context) {
|
45 | var _globals$BACKGROUNDS_, _parameters$grid;
|
46 |
|
47 | var globals = context.globals,
|
48 | parameters = context.parameters;
|
49 | var gridParameters = parameters[_constants.PARAM_KEY].grid;
|
50 | var isActive = ((_globals$BACKGROUNDS_ = globals[_constants.PARAM_KEY]) === null || _globals$BACKGROUNDS_ === void 0 ? void 0 : _globals$BACKGROUNDS_.grid) === true && gridParameters.disable !== true;
|
51 | var cellAmount = gridParameters.cellAmount,
|
52 | cellSize = gridParameters.cellSize,
|
53 | opacity = gridParameters.opacity;
|
54 | var isInDocs = context.viewMode === 'docs';
|
55 | var gridSize;
|
56 |
|
57 | if ((_parameters$grid = parameters.grid) === null || _parameters$grid === void 0 ? void 0 : _parameters$grid.cellSize) {
|
58 | gridSize = parameters.grid.cellSize;
|
59 | deprecatedCellSizeWarning();
|
60 | } else {
|
61 | gridSize = cellSize;
|
62 | }
|
63 |
|
64 | var isLayoutPadded = parameters.layout === undefined || parameters.layout === 'padded';
|
65 |
|
66 | var defaultOffset = isLayoutPadded ? 16 : 0;
|
67 | var offsetX = gridParameters.offsetX || isInDocs ? 20 : defaultOffset;
|
68 | var offsetY = gridParameters.offsetY || isInDocs ? 20 : defaultOffset;
|
69 | var gridStyles = (0, _addons.useMemo)(function () {
|
70 | var selector = context.viewMode === 'docs' ? "#anchor--".concat(context.id, " .docs-story") : '.sb-show-main';
|
71 | var backgroundSize = ["".concat(gridSize * cellAmount, "px ").concat(gridSize * cellAmount, "px"), "".concat(gridSize * cellAmount, "px ").concat(gridSize * cellAmount, "px"), "".concat(gridSize, "px ").concat(gridSize, "px"), "".concat(gridSize, "px ").concat(gridSize, "px")].join(', ');
|
72 | return "\n ".concat(selector, " {\n background-size: ").concat(backgroundSize, " !important;\n background-position: ").concat(offsetX, "px ").concat(offsetY, "px, ").concat(offsetX, "px ").concat(offsetY, "px, ").concat(offsetX, "px ").concat(offsetY, "px, ").concat(offsetX, "px ").concat(offsetY, "px !important;\n background-blend-mode: difference !important;\n background-image: linear-gradient(rgba(130, 130, 130, ").concat(opacity, ") 1px, transparent 1px),\n linear-gradient(90deg, rgba(130, 130, 130, ").concat(opacity, ") 1px, transparent 1px),\n linear-gradient(rgba(130, 130, 130, ").concat(opacity / 2, ") 1px, transparent 1px),\n linear-gradient(90deg, rgba(130, 130, 130, ").concat(opacity / 2, ") 1px, transparent 1px) !important;\n }\n ");
|
73 | }, [gridSize]);
|
74 | (0, _addons.useEffect)(function () {
|
75 | var selectorId = context.viewMode === 'docs' ? "addon-backgrounds-grid-docs-".concat(context.id) : "addon-backgrounds-grid";
|
76 |
|
77 | if (!isActive) {
|
78 | (0, _helpers.clearStyles)(selectorId);
|
79 | return;
|
80 | }
|
81 |
|
82 | (0, _helpers.addGridStyle)(selectorId, gridStyles);
|
83 | }, [isActive, gridStyles, context]);
|
84 | return StoryFn();
|
85 | };
|
86 |
|
87 | exports.withGrid = withGrid; |
\ | No newline at end of file |