@storybook/addon-themes 0.0.0-pr-24271-sha-4a56eddc → 0.0.0-pr-24844-sha-520c653e
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +2 -2
- package/dist/manager.js +1 -1
- package/dist/manager.mjs +2 -3
- package/dist/preview.d.ts +2 -2
- package/dist/preview.js +1 -1
- package/dist/preview.mjs +2 -2
- package/package.json +10 -11
- package/postinstall.js +7 -14
package/README.md
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
#
|
1
|
+
# `@storybook/addon-themes
|
2
2
|
|
3
3
|
Storybook Addon Themes can be used which between multiple themes for components inside the preview in [Storybook](https://storybook.js.org).
|
4
4
|
|
5
|
-
![React Storybook Screenshot](https://user-images.githubusercontent.com/
|
5
|
+
![React Storybook Screenshot](https://user-images.githubusercontent.com/42671/98158421-dada2300-1ea8-11eb-8619-af1e7018e1ec.png)
|
6
6
|
|
7
7
|
## Usage
|
8
8
|
|
package/dist/manager.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
"use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __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 __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod));var import_manager_api2=require("@storybook/manager-api");var PARAM_KEY="themes",ADDON_ID=`storybook/${PARAM_KEY}}`;var THEME_SWITCHER_ID=`${ADDON_ID}/theme-switcher`,DEFAULT_ADDON_STATE={themesList:[],themeDefault:void 0},DEFAULT_THEME_PARAMETERS={},THEMING_EVENTS={REGISTER_THEMES:`${ADDON_ID}/REGISTER_THEMES`};var import_react=__toESM(require("react")),import_manager_api=require("@storybook/manager-api"),import_theming=require("@storybook/theming"),import_components=require("@storybook/components")
|
1
|
+
"use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __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 __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod));var import_manager_api2=require("@storybook/manager-api");var PARAM_KEY="themes",ADDON_ID=`storybook/${PARAM_KEY}}`;var THEME_SWITCHER_ID=`${ADDON_ID}/theme-switcher`,DEFAULT_ADDON_STATE={themesList:[],themeDefault:void 0},DEFAULT_THEME_PARAMETERS={},THEMING_EVENTS={REGISTER_THEMES:`${ADDON_ID}/REGISTER_THEMES`};var import_react=__toESM(require("react")),import_manager_api=require("@storybook/manager-api"),import_theming=require("@storybook/theming"),import_components=require("@storybook/components");var IconButtonLabel=import_theming.styled.div(({theme})=>({fontSize:theme.typography.size.s2-1,marginLeft:10})),hasMultipleThemes=themesList=>themesList.length>1,ThemeSwitcher=()=>{let{themeOverride}=(0,import_manager_api.useParameter)(PARAM_KEY,DEFAULT_THEME_PARAMETERS),[{theme:selected},updateGlobals]=(0,import_manager_api.useGlobals)(),[{themesList,themeDefault},updateState]=(0,import_manager_api.useAddonState)(THEME_SWITCHER_ID,DEFAULT_ADDON_STATE);(0,import_manager_api.useChannel)({[THEMING_EVENTS.REGISTER_THEMES]:({themes,defaultTheme})=>{updateState(state=>({...state,themesList:themes,themeDefault:defaultTheme}))}});let label=(0,import_react.useMemo)(()=>{if(themeOverride)return import_react.default.createElement(import_react.default.Fragment,null,"Story override");let themeName=selected||themeDefault;return themeName&&import_react.default.createElement(import_react.default.Fragment,null,`${themeName} theme`)},[themeOverride,themeDefault,selected]);return hasMultipleThemes(themesList)?import_react.default.createElement(import_react.Fragment,null,import_react.default.createElement(import_components.WithTooltip,{placement:"top",trigger:"click",closeOnClick:!0,tooltip:({onHide})=>import_react.default.createElement(import_components.TooltipLinkList,{links:themesList.map(theme=>({id:theme,title:theme,active:selected===theme,onClick:()=>{updateGlobals({theme}),onHide()}}))})},import_react.default.createElement(import_components.IconButton,{key:THEME_SWITCHER_ID,active:!themeOverride,title:"Theme"},import_react.default.createElement(import_components.Icons,{icon:"paintbrush"}),label&&import_react.default.createElement(IconButtonLabel,null,label)))):null};import_manager_api2.addons.register(ADDON_ID,()=>{import_manager_api2.addons.add(THEME_SWITCHER_ID,{title:"Themes",type:import_manager_api2.types.TOOL,match:({viewMode})=>!!(viewMode&&viewMode.match(/^(story|docs)$/)),render:ThemeSwitcher,paramKey:PARAM_KEY})});
|
package/dist/manager.mjs
CHANGED
@@ -2,7 +2,6 @@ import { ADDON_ID, THEME_SWITCHER_ID, PARAM_KEY, DEFAULT_THEME_PARAMETERS, DEFAU
|
|
2
2
|
import { addons, types, useParameter, useGlobals, useAddonState, useChannel } from '@storybook/manager-api';
|
3
3
|
import React, { useMemo, Fragment } from 'react';
|
4
4
|
import { styled } from '@storybook/theming';
|
5
|
-
import { WithTooltip, TooltipLinkList, IconButton } from '@storybook/components';
|
6
|
-
import { PaintBrushIcon } from '@storybook/icons';
|
5
|
+
import { WithTooltip, TooltipLinkList, IconButton, Icons } from '@storybook/components';
|
7
6
|
|
8
|
-
var IconButtonLabel=styled.div(({theme})=>({fontSize:theme.typography.size.s2-1,marginLeft:10})),hasMultipleThemes=themesList=>themesList.length>1,ThemeSwitcher=()=>{let{themeOverride}=useParameter(PARAM_KEY,DEFAULT_THEME_PARAMETERS),[{theme:selected},updateGlobals]=useGlobals(),[{themesList,themeDefault},updateState]=useAddonState(THEME_SWITCHER_ID,DEFAULT_ADDON_STATE);useChannel({[THEMING_EVENTS.REGISTER_THEMES]:({themes,defaultTheme})=>{updateState(state=>({...state,themesList:themes,themeDefault:defaultTheme}));}});let label=useMemo(()=>{if(themeOverride)return React.createElement(React.Fragment,null,"Story override");let themeName=selected||themeDefault;return themeName&&React.createElement(React.Fragment,null,`${themeName} theme`)},[themeOverride,themeDefault,selected]);return hasMultipleThemes(themesList)?React.createElement(Fragment,null,React.createElement(WithTooltip,{placement:"top",trigger:"click",closeOnClick:!0,tooltip:({onHide})=>React.createElement(TooltipLinkList,{links:themesList.map(theme=>({id:theme,title:theme,active:selected===theme,onClick:()=>{updateGlobals({theme}),onHide();}}))})},React.createElement(IconButton,{key:THEME_SWITCHER_ID,active:!themeOverride,title:"Theme"},React.createElement(
|
7
|
+
var IconButtonLabel=styled.div(({theme})=>({fontSize:theme.typography.size.s2-1,marginLeft:10})),hasMultipleThemes=themesList=>themesList.length>1,ThemeSwitcher=()=>{let{themeOverride}=useParameter(PARAM_KEY,DEFAULT_THEME_PARAMETERS),[{theme:selected},updateGlobals]=useGlobals(),[{themesList,themeDefault},updateState]=useAddonState(THEME_SWITCHER_ID,DEFAULT_ADDON_STATE);useChannel({[THEMING_EVENTS.REGISTER_THEMES]:({themes,defaultTheme})=>{updateState(state=>({...state,themesList:themes,themeDefault:defaultTheme}));}});let label=useMemo(()=>{if(themeOverride)return React.createElement(React.Fragment,null,"Story override");let themeName=selected||themeDefault;return themeName&&React.createElement(React.Fragment,null,`${themeName} theme`)},[themeOverride,themeDefault,selected]);return hasMultipleThemes(themesList)?React.createElement(Fragment,null,React.createElement(WithTooltip,{placement:"top",trigger:"click",closeOnClick:!0,tooltip:({onHide})=>React.createElement(TooltipLinkList,{links:themesList.map(theme=>({id:theme,title:theme,active:selected===theme,onClick:()=>{updateGlobals({theme}),onHide();}}))})},React.createElement(IconButton,{key:THEME_SWITCHER_ID,active:!themeOverride,title:"Theme"},React.createElement(Icons,{icon:"paintbrush"}),label&&React.createElement(IconButtonLabel,null,label)))):null};addons.register(ADDON_ID,()=>{addons.add(THEME_SWITCHER_ID,{title:"Themes",type:types.TOOL,match:({viewMode})=>!!(viewMode&&viewMode.match(/^(story|docs)$/)),render:ThemeSwitcher,paramKey:PARAM_KEY});});
|
package/dist/preview.d.ts
CHANGED
package/dist/preview.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
"use strict";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 preview_exports={};__export(preview_exports,{
|
1
|
+
"use strict";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 preview_exports={};__export(preview_exports,{default:()=>preview_default});module.exports=__toCommonJS(preview_exports);var PARAM_KEY="themes",ADDON_ID=`storybook/${PARAM_KEY}}`,GLOBAL_KEY="theme",THEME_SWITCHER_ID=`${ADDON_ID}/theme-switcher`;var THEMING_EVENTS={REGISTER_THEMES:`${ADDON_ID}/REGISTER_THEMES`};var preview={globals:{[GLOBAL_KEY]:""}},preview_default=preview;
|
package/dist/preview.mjs
CHANGED
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@storybook/addon-themes",
|
3
|
-
"version": "0.0.0-pr-
|
3
|
+
"version": "0.0.0-pr-24844-sha-520c653e",
|
4
4
|
"description": "Switch between multiple themes for you components in Storybook",
|
5
5
|
"keywords": [
|
6
6
|
"css",
|
@@ -74,18 +74,17 @@
|
|
74
74
|
"prep": "../../../scripts/prepare/bundle.ts"
|
75
75
|
},
|
76
76
|
"dependencies": {
|
77
|
-
"@storybook/client-logger": "0.0.0-pr-
|
78
|
-
"@storybook/components": "0.0.0-pr-
|
79
|
-
"@storybook/core-events": "0.0.0-pr-
|
80
|
-
"@storybook/
|
81
|
-
"@storybook/
|
82
|
-
"@storybook/
|
83
|
-
"@storybook/
|
84
|
-
"@storybook/types": "0.0.0-pr-24271-sha-4a56eddc",
|
77
|
+
"@storybook/client-logger": "0.0.0-pr-24844-sha-520c653e",
|
78
|
+
"@storybook/components": "0.0.0-pr-24844-sha-520c653e",
|
79
|
+
"@storybook/core-events": "0.0.0-pr-24844-sha-520c653e",
|
80
|
+
"@storybook/manager-api": "0.0.0-pr-24844-sha-520c653e",
|
81
|
+
"@storybook/preview-api": "0.0.0-pr-24844-sha-520c653e",
|
82
|
+
"@storybook/theming": "0.0.0-pr-24844-sha-520c653e",
|
83
|
+
"@storybook/types": "0.0.0-pr-24844-sha-520c653e",
|
85
84
|
"ts-dedent": "^2.0.0"
|
86
85
|
},
|
87
86
|
"devDependencies": {
|
88
|
-
"typescript": "~
|
87
|
+
"typescript": "~4.9.3"
|
89
88
|
},
|
90
89
|
"peerDependencies": {
|
91
90
|
"react": "^16.8.0 || ^17.0.0 || ^18.0.0",
|
@@ -115,6 +114,6 @@
|
|
115
114
|
"unsupportedFrameworks": [
|
116
115
|
"react-native"
|
117
116
|
],
|
118
|
-
"icon": "
|
117
|
+
"icon": ""
|
119
118
|
}
|
120
119
|
}
|
package/postinstall.js
CHANGED
@@ -1,24 +1,17 @@
|
|
1
1
|
const { spawn } = require('child_process');
|
2
2
|
|
3
3
|
const PACKAGE_MANAGER_TO_COMMAND = {
|
4
|
-
npm:
|
5
|
-
|
6
|
-
|
7
|
-
|
4
|
+
npm: 'npx',
|
5
|
+
yarn1: 'npx',
|
6
|
+
yarn2: 'yarn dlx',
|
7
|
+
pnpm: 'pnpm dlx',
|
8
8
|
};
|
9
9
|
|
10
|
-
|
10
|
+
module.exports = function postinstall(options) {
|
11
|
+
const command = PACKAGE_MANAGER_TO_COMMAND[options.packageManager];
|
11
12
|
|
12
|
-
|
13
|
-
const [command, ...baseArgs] = selectPackageManagerCommand(packageManager);
|
14
|
-
|
15
|
-
await spawn(command, [...baseArgs, ...args], {
|
13
|
+
spawn(command, ['@storybook/auto-config', 'themes'], {
|
16
14
|
stdio: 'inherit',
|
17
15
|
cwd: process.cwd(),
|
18
|
-
shell: true,
|
19
16
|
});
|
20
17
|
};
|
21
|
-
|
22
|
-
module.exports = async function postinstall({ packageManager = 'npm' }) {
|
23
|
-
await spawnPackageManagerScript(packageManager, ['@storybook/auto-config', 'themes']);
|
24
|
-
};
|