@storybook/addon-backgrounds 7.1.0-alpha.9 → 7.1.0-beta.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/chunk-GRJZJKJ4.mjs +8 -2
- package/dist/index.js +1 -1
- package/dist/index.mjs +3 -1
- package/dist/manager.mjs +9 -1
- package/dist/preview.d.ts +2 -2
- package/dist/preview.mjs +8 -3
- package/package.json +19 -19
- package/src/typings.d.ts +1 -0
package/dist/chunk-GRJZJKJ4.mjs
CHANGED
@@ -1,5 +1,11 @@
|
|
1
|
-
|
1
|
+
import { global } from '@storybook/global';
|
2
|
+
import { dedent } from 'ts-dedent';
|
3
|
+
import { logger } from '@storybook/client-logger';
|
4
|
+
|
5
|
+
var ADDON_ID="storybook/background",PARAM_KEY="backgrounds";var {document,window}=global,isReduceMotionEnabled=()=>window.matchMedia("(prefers-reduced-motion: reduce)").matches,getBackgroundColorByName=(currentSelectedValue,backgrounds=[],defaultName)=>{if(currentSelectedValue==="transparent")return "transparent";if(backgrounds.find(background=>background.value===currentSelectedValue))return currentSelectedValue;let defaultBackground=backgrounds.find(background=>background.name===defaultName);if(defaultBackground)return defaultBackground.value;if(defaultName){let availableColors=backgrounds.map(background=>background.name).join(", ");logger.warn(dedent`
|
2
6
|
Backgrounds Addon: could not find the default color "${defaultName}".
|
3
7
|
These are the available colors for your story based on your configuration:
|
4
8
|
${availableColors}.
|
5
|
-
`)}return"transparent"},clearStyles=selector=>{(Array.isArray(selector)?selector:[selector]).forEach(clearStyle)},clearStyle=selector=>{let element=document.getElementById(selector);element&&element.parentElement.removeChild(element)},addGridStyle=(selector,css)=>{let existingStyle=document.getElementById(selector);if(existingStyle)existingStyle.innerHTML!==css&&(existingStyle.innerHTML=css);else{let style=document.createElement("style");style.setAttribute("id",selector),style.innerHTML=css,document.head.appendChild(style)}},addBackgroundStyle=(selector,css,storyId)=>{let existingStyle=document.getElementById(selector);if(existingStyle)existingStyle.innerHTML!==css&&(existingStyle.innerHTML=css);else{let style=document.createElement("style");style.setAttribute("id",selector),style.innerHTML=css;let gridStyleSelector=`addon-backgrounds-grid${storyId?`-docs-${storyId}`:""}`,existingGridStyle=document.getElementById(gridStyleSelector);existingGridStyle?existingGridStyle.parentElement.insertBefore(style,existingGridStyle):document.head.appendChild(style)}};
|
9
|
+
`);}return "transparent"},clearStyles=selector=>{(Array.isArray(selector)?selector:[selector]).forEach(clearStyle);},clearStyle=selector=>{let element=document.getElementById(selector);element&&element.parentElement.removeChild(element);},addGridStyle=(selector,css)=>{let existingStyle=document.getElementById(selector);if(existingStyle)existingStyle.innerHTML!==css&&(existingStyle.innerHTML=css);else {let style=document.createElement("style");style.setAttribute("id",selector),style.innerHTML=css,document.head.appendChild(style);}},addBackgroundStyle=(selector,css,storyId)=>{let existingStyle=document.getElementById(selector);if(existingStyle)existingStyle.innerHTML!==css&&(existingStyle.innerHTML=css);else {let style=document.createElement("style");style.setAttribute("id",selector),style.innerHTML=css;let gridStyleSelector=`addon-backgrounds-grid${storyId?`-docs-${storyId}`:""}`,existingGridStyle=document.getElementById(gridStyleSelector);existingGridStyle?existingGridStyle.parentElement.insertBefore(style,existingGridStyle):document.head.appendChild(style);}};
|
10
|
+
|
11
|
+
export { ADDON_ID, PARAM_KEY, addBackgroundStyle, addGridStyle, clearStyles, getBackgroundColorByName, isReduceMotionEnabled };
|
package/dist/index.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var src_exports={};__export(src_exports,{default:()=>src_default});module.exports=__toCommonJS(src_exports);var src_default={};
|
1
|
+
var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var src_exports={};__export(src_exports,{default:()=>src_default});module.exports=__toCommonJS(src_exports);var src_default={};
|
package/dist/index.mjs
CHANGED
package/dist/manager.mjs
CHANGED
@@ -1 +1,9 @@
|
|
1
|
-
import
|
1
|
+
import { PARAM_KEY, getBackgroundColorByName, ADDON_ID } from './chunk-GRJZJKJ4.mjs';
|
2
|
+
import React, { memo, useState, useMemo, useCallback, Fragment } from 'react';
|
3
|
+
import { useParameter, useGlobals, addons, types } from '@storybook/manager-api';
|
4
|
+
import memoize from 'memoizerific';
|
5
|
+
import { logger } from '@storybook/client-logger';
|
6
|
+
import { WithTooltip, TooltipLinkList, IconButton, Icons } from '@storybook/components';
|
7
|
+
import { styled } from '@storybook/theming';
|
8
|
+
|
9
|
+
var ColorIcon=styled.span(({background})=>({borderRadius:"1rem",display:"block",height:"1rem",width:"1rem",background}),({theme})=>({boxShadow:`${theme.appBorderColor} 0 0 0 1px inset`}));var createBackgroundSelectorItem=memoize(1e3)((id,name,value,hasSwatch,change,active)=>({id:id||name,title:name,onClick:()=>{change({selected:value,name});},value,right:hasSwatch?React.createElement(ColorIcon,{background:value}):void 0,active})),getDisplayedItems=memoize(10)((backgrounds,selectedBackgroundColor,change)=>{let backgroundSelectorItems=backgrounds.map(({name,value})=>createBackgroundSelectorItem(null,name,value,!0,change,value===selectedBackgroundColor));return selectedBackgroundColor!=="transparent"?[createBackgroundSelectorItem("reset","Clear background","transparent",null,change,!1),...backgroundSelectorItems]:backgroundSelectorItems}),DEFAULT_BACKGROUNDS_CONFIG={default:null,disable:!0,values:[]},BackgroundSelector=memo(function(){let backgroundsConfig=useParameter(PARAM_KEY,DEFAULT_BACKGROUNDS_CONFIG),[isTooltipVisible,setIsTooltipVisible]=useState(!1),[globals,updateGlobals]=useGlobals(),globalsBackgroundColor=globals[PARAM_KEY]?.value,selectedBackgroundColor=useMemo(()=>getBackgroundColorByName(globalsBackgroundColor,backgroundsConfig.values,backgroundsConfig.default),[backgroundsConfig,globalsBackgroundColor]);Array.isArray(backgroundsConfig)&&logger.warn("Addon Backgrounds api has changed in Storybook 6.0. Please refer to the migration guide: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md");let onBackgroundChange=useCallback(value=>{updateGlobals({[PARAM_KEY]:{...globals[PARAM_KEY],value}});},[backgroundsConfig,globals,updateGlobals]);return backgroundsConfig.disable?null:React.createElement(Fragment,null,React.createElement(WithTooltip,{placement:"top",closeOnOutsideClick:!0,tooltip:({onHide})=>React.createElement(TooltipLinkList,{links:getDisplayedItems(backgroundsConfig.values,selectedBackgroundColor,({selected})=>{selectedBackgroundColor!==selected&&onBackgroundChange(selected),onHide();})}),onVisibleChange:setIsTooltipVisible},React.createElement(IconButton,{key:"background",title:"Change the background of the preview",active:selectedBackgroundColor!=="transparent"||isTooltipVisible},React.createElement(Icons,{icon:"photo"}))))});var GridSelector=memo(function(){let[globals,updateGlobals]=useGlobals(),{grid}=useParameter(PARAM_KEY,{grid:{disable:!1}});if(grid?.disable)return null;let isActive=globals[PARAM_KEY]?.grid||!1;return React.createElement(IconButton,{key:"background",active:isActive,title:"Apply a grid to the preview",onClick:()=>updateGlobals({[PARAM_KEY]:{...globals[PARAM_KEY],grid:!isActive}})},React.createElement(Icons,{icon:"grid"}))});addons.register(ADDON_ID,()=>{addons.add(ADDON_ID,{title:"Backgrounds",id:"backgrounds",type:types.TOOL,match:({viewMode})=>!!(viewMode&&viewMode.match(/^(story|docs)$/)),render:()=>React.createElement(Fragment,null,React.createElement(BackgroundSelector,null),React.createElement(GridSelector,null))});});
|
package/dist/preview.d.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
import
|
1
|
+
import { Addon_DecoratorFunction } from '@storybook/types';
|
2
2
|
|
3
|
-
declare const decorators:
|
3
|
+
declare const decorators: Addon_DecoratorFunction[];
|
4
4
|
declare const parameters: {
|
5
5
|
backgrounds: {
|
6
6
|
grid: {
|
package/dist/preview.mjs
CHANGED
@@ -1,9 +1,12 @@
|
|
1
|
-
import{PARAM_KEY,
|
1
|
+
import { PARAM_KEY, getBackgroundColorByName, isReduceMotionEnabled, clearStyles, addBackgroundStyle, addGridStyle } from './chunk-GRJZJKJ4.mjs';
|
2
|
+
import { useMemo, useEffect } from '@storybook/preview-api';
|
3
|
+
|
4
|
+
var withBackground=(StoryFn,context)=>{let{globals:globals2,parameters:parameters2}=context,globalsBackgroundColor=globals2[PARAM_KEY]?.value,backgroundsConfig=parameters2[PARAM_KEY],selectedBackgroundColor=useMemo(()=>backgroundsConfig.disable?"transparent":getBackgroundColorByName(globalsBackgroundColor,backgroundsConfig.values,backgroundsConfig.default),[backgroundsConfig,globalsBackgroundColor]),isActive=useMemo(()=>selectedBackgroundColor&&selectedBackgroundColor!=="transparent",[selectedBackgroundColor]),selector=context.viewMode==="docs"?`#anchor--${context.id} .docs-story`:".sb-show-main",backgroundStyles=useMemo(()=>{let transitionStyle="transition: background-color 0.3s;";return `
|
2
5
|
${selector} {
|
3
6
|
background: ${selectedBackgroundColor} !important;
|
4
7
|
${isReduceMotionEnabled()?"":transitionStyle}
|
5
8
|
}
|
6
|
-
`},[selectedBackgroundColor,selector]);return useEffect(()=>{let selectorId=context.viewMode==="docs"?`addon-backgrounds-docs-${context.id}`:"addon-backgrounds-color";if(!isActive){clearStyles(selectorId);return}addBackgroundStyle(selectorId,backgroundStyles,context.viewMode==="docs"?context.id:null)},[isActive,backgroundStyles,context]),StoryFn()};
|
9
|
+
`},[selectedBackgroundColor,selector]);return useEffect(()=>{let selectorId=context.viewMode==="docs"?`addon-backgrounds-docs-${context.id}`:"addon-backgrounds-color";if(!isActive){clearStyles(selectorId);return}addBackgroundStyle(selectorId,backgroundStyles,context.viewMode==="docs"?context.id:null);},[isActive,backgroundStyles,context]),StoryFn()};var withGrid=(StoryFn,context)=>{let{globals:globals2,parameters:parameters2}=context,gridParameters=parameters2[PARAM_KEY].grid,isActive=globals2[PARAM_KEY]?.grid===!0&&gridParameters.disable!==!0,{cellAmount,cellSize,opacity}=gridParameters,isInDocs=context.viewMode==="docs",defaultOffset=parameters2.layout===void 0||parameters2.layout==="padded"?16:0,offsetX=gridParameters.offsetX??(isInDocs?20:defaultOffset),offsetY=gridParameters.offsetY??(isInDocs?20:defaultOffset),gridStyles=useMemo(()=>{let selector=context.viewMode==="docs"?`#anchor--${context.id} .docs-story`:".sb-show-main",backgroundSize=[`${cellSize*cellAmount}px ${cellSize*cellAmount}px`,`${cellSize*cellAmount}px ${cellSize*cellAmount}px`,`${cellSize}px ${cellSize}px`,`${cellSize}px ${cellSize}px`].join(", ");return `
|
7
10
|
${selector} {
|
8
11
|
background-size: ${backgroundSize} !important;
|
9
12
|
background-position: ${offsetX}px ${offsetY}px, ${offsetX}px ${offsetY}px, ${offsetX}px ${offsetY}px, ${offsetX}px ${offsetY}px !important;
|
@@ -13,4 +16,6 @@ import{PARAM_KEY,addBackgroundStyle,addGridStyle,clearStyles,getBackgroundColorB
|
|
13
16
|
linear-gradient(rgba(130, 130, 130, ${opacity/2}) 1px, transparent 1px),
|
14
17
|
linear-gradient(90deg, rgba(130, 130, 130, ${opacity/2}) 1px, transparent 1px) !important;
|
15
18
|
}
|
16
|
-
`},[cellSize]);return
|
19
|
+
`},[cellSize]);return useEffect(()=>{let selectorId=context.viewMode==="docs"?`addon-backgrounds-grid-docs-${context.id}`:"addon-backgrounds-grid";if(!isActive){clearStyles(selectorId);return}addGridStyle(selectorId,gridStyles);},[isActive,gridStyles,context]),StoryFn()};var decorators=[withGrid,withBackground],parameters={[PARAM_KEY]:{grid:{cellSize:20,opacity:.5,cellAmount:5},values:[{name:"light",value:"#F8F8F8"},{name:"dark",value:"#333333"}]}},globals={[PARAM_KEY]:null};
|
20
|
+
|
21
|
+
export { decorators, globals, parameters };
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@storybook/addon-backgrounds",
|
3
|
-
"version": "7.1.0-
|
3
|
+
"version": "7.1.0-beta.0",
|
4
4
|
"description": "Switch backgrounds to view components in different settings",
|
5
5
|
"keywords": [
|
6
6
|
"addon",
|
@@ -17,7 +17,7 @@
|
|
17
17
|
"repository": {
|
18
18
|
"type": "git",
|
19
19
|
"url": "https://github.com/storybookjs/storybook.git",
|
20
|
-
"directory": "addons/backgrounds"
|
20
|
+
"directory": "code/addons/backgrounds"
|
21
21
|
},
|
22
22
|
"funding": {
|
23
23
|
"type": "opencollective",
|
@@ -27,25 +27,25 @@
|
|
27
27
|
"author": "jbaxleyiii",
|
28
28
|
"exports": {
|
29
29
|
".": {
|
30
|
+
"types": "./dist/index.d.ts",
|
30
31
|
"node": "./dist/index.js",
|
31
32
|
"require": "./dist/index.js",
|
32
|
-
"import": "./dist/index.mjs"
|
33
|
-
"types": "./dist/index.d.ts"
|
33
|
+
"import": "./dist/index.mjs"
|
34
34
|
},
|
35
35
|
"./manager": {
|
36
|
+
"types": "./dist/manager.d.ts",
|
36
37
|
"require": "./dist/manager.js",
|
37
|
-
"import": "./dist/manager.mjs"
|
38
|
-
"types": "./dist/manager.d.ts"
|
38
|
+
"import": "./dist/manager.mjs"
|
39
39
|
},
|
40
40
|
"./preview": {
|
41
|
+
"types": "./dist/preview.d.ts",
|
41
42
|
"require": "./dist/preview.js",
|
42
|
-
"import": "./dist/preview.mjs"
|
43
|
-
"types": "./dist/preview.d.ts"
|
43
|
+
"import": "./dist/preview.mjs"
|
44
44
|
},
|
45
45
|
"./register": {
|
46
|
+
"types": "./dist/manager.d.ts",
|
46
47
|
"require": "./dist/manager.js",
|
47
|
-
"import": "./dist/manager.mjs"
|
48
|
-
"types": "./dist/manager.d.ts"
|
48
|
+
"import": "./dist/manager.mjs"
|
49
49
|
},
|
50
50
|
"./package.json": "./package.json"
|
51
51
|
},
|
@@ -76,14 +76,14 @@
|
|
76
76
|
"prep": "../../../scripts/prepare/bundle.ts"
|
77
77
|
},
|
78
78
|
"dependencies": {
|
79
|
-
"@storybook/client-logger": "7.1.0-
|
80
|
-
"@storybook/components": "7.1.0-
|
81
|
-
"@storybook/core-events": "7.1.0-
|
79
|
+
"@storybook/client-logger": "7.1.0-beta.0",
|
80
|
+
"@storybook/components": "7.1.0-beta.0",
|
81
|
+
"@storybook/core-events": "7.1.0-beta.0",
|
82
82
|
"@storybook/global": "^5.0.0",
|
83
|
-
"@storybook/manager-api": "7.1.0-
|
84
|
-
"@storybook/preview-api": "7.1.0-
|
85
|
-
"@storybook/theming": "7.1.0-
|
86
|
-
"@storybook/types": "7.1.0-
|
83
|
+
"@storybook/manager-api": "7.1.0-beta.0",
|
84
|
+
"@storybook/preview-api": "7.1.0-beta.0",
|
85
|
+
"@storybook/theming": "7.1.0-beta.0",
|
86
|
+
"@storybook/types": "7.1.0-beta.0",
|
87
87
|
"memoizerific": "^1.11.3",
|
88
88
|
"ts-dedent": "^2.0.0"
|
89
89
|
},
|
@@ -112,7 +112,7 @@
|
|
112
112
|
"./src/preview.tsx"
|
113
113
|
]
|
114
114
|
},
|
115
|
-
"gitHead": "
|
115
|
+
"gitHead": "e6a7fd8a655c69780bc20b9749c2699e44beae17",
|
116
116
|
"storybook": {
|
117
117
|
"displayName": "Backgrounds",
|
118
118
|
"icon": "https://user-images.githubusercontent.com/263385/101991667-479cc600-3c7c-11eb-96d3-410e936252e7.png",
|
@@ -120,4 +120,4 @@
|
|
120
120
|
"react-native"
|
121
121
|
]
|
122
122
|
}
|
123
|
-
}
|
123
|
+
}
|
package/src/typings.d.ts
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
declare var LOGLEVEL: 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'silent' | undefined;
|