storybook-addon-playroom 6.0.1 → 7.0.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/dist/index.cjs CHANGED
@@ -1,7 +1,2 @@
1
- 'use strict';
2
-
3
- var e={};
4
-
5
- module.exports = e;
6
- //# sourceMappingURL=index.cjs.map
1
+ 'use strict';var e={};module.exports=e;//# sourceMappingURL=index.cjs.map
7
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":["src_default"],"mappings":";;AACA,IAAOA,EAAQ","file":"index.cjs","sourcesContent":["// make it work with --isolatedModules\nexport default {}\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":["index_default"],"mappings":"aACA,IAAOA,EAAQ","file":"index.cjs","sourcesContent":["// make it work with --isolatedModules\nexport default {}\n"]}
package/dist/index.js CHANGED
@@ -1,5 +1,2 @@
1
- var e={};
2
-
3
- export { e as default };
4
- //# sourceMappingURL=index.js.map
1
+ var e={};export{e as default};//# sourceMappingURL=index.js.map
5
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":["src_default"],"mappings":"AACA,IAAOA,EAAQ","file":"index.js","sourcesContent":["// make it work with --isolatedModules\nexport default {}\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":["index_default"],"mappings":"AACA,IAAOA,EAAQ","file":"index.js","sourcesContent":["// make it work with --isolatedModules\nexport default {}\n"]}
package/dist/manager.js CHANGED
@@ -1,7 +1,2 @@
1
- import { useGlobals, addons, types } from '@storybook/manager-api';
2
- import a, { memo } from 'react';
3
- import { styled } from '@storybook/theming';
4
-
5
- var o="storybook/playroom",e=`${o}/tab`,s="playroom";var f=styled.p({textAlign:"center"}),A=styled.iframe({border:"0 none",height:"100%",width:"100%"}),n=memo(({active:r})=>{let[l]=useGlobals(),{codeUrl:t}=l[s]??{};return r?t?a.createElement(A,{key:t,allowFullScreen:!0,src:t,title:"Playroom"}):a.createElement(f,null,"Playroom has been disabled for this story."):null});addons.register(o,()=>{addons.add(e,{type:types.TAB,title:"Playroom",render:({active:r})=>a.createElement(n,{active:r})});});
6
- //# sourceMappingURL=manager.js.map
1
+ import a,{memo}from'react';import {useGlobals,addons,types}from'storybook/manager-api';import {styled}from'storybook/theming';var o="storybook/playroom",e=`${o}/tab`,s="playroom";var f=styled.p({textAlign:"center"}),A=styled.iframe({border:"0 none",height:"100%",width:"100%"}),n=memo(({active:r})=>{let[l]=useGlobals(),{codeUrl:t}=l[s]??{};return r?t?a.createElement(A,{key:t,allowFullScreen:true,src:t,title:"Playroom"}):a.createElement(f,null,"Playroom has been disabled for this story."):null});addons.register(o,()=>{addons.add(e,{type:types.TAB,title:"Playroom",render:({active:r})=>a.createElement(n,{active:!!r})});});//# sourceMappingURL=manager.js.map
7
2
  //# sourceMappingURL=manager.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/constants.ts","../src/Tab.tsx","../src/manager.tsx"],"names":["ADDON_ID","TAB_ID","PARAM_KEY","Message","styled","Iframe","Tab","memo","active","globals","useGlobals","codeUrl","React","addons","types"],"mappings":";;;;AAAaA,IAAAA,CAAAA,CAAW,oBACXC,CAAAA,CAAAA,CAAS,GAAGD,CAAQ,CAAA,IAAA,CAAA,CACpBE,CAAY,CAAA,UAAA,CCQzB,IAAMC,CAAUC,CAAAA,MAAAA,CAAO,CAAE,CAAA,CACvB,SAAW,CAAA,QACb,CAAC,CAAA,CAEKC,EAASD,MAAO,CAAA,MAAA,CAAO,CAC3B,MAAA,CAAQ,QACR,CAAA,MAAA,CAAQ,MACR,CAAA,KAAA,CAAO,MACT,CAAC,CAAA,CAEYE,CAAMC,CAAAA,IAAAA,CAAe,CAAC,CAAE,MAAAC,CAAAA,CAAO,IAAM,CAChD,GAAM,CAACC,CAAO,CAAIC,CAAAA,UAAAA,EACZ,CAAA,CAAE,OAAAC,CAAAA,CAAQ,CAAIF,CAAAA,CAAAA,CAAQP,CAAS,CAAA,EAAK,EAAC,CAE3C,OAAKM,CAIAG,CAAAA,CAAAA,CAIEC,CAAA,CAAA,aAAA,CAACP,CAAA,CAAA,CAAO,GAAKM,CAAAA,CAAAA,CAAS,gBAAe,CAAC,CAAA,CAAA,GAAA,CAAKA,CAAS,CAAA,KAAA,CAAM,UAAW,CAAA,CAAA,CAHnEC,CAAA,CAAA,aAAA,CAACT,EAAA,IAAQ,CAAA,4CAA0C,CAJnD,CAAA,IAQX,CAAC,CAAA,CC3BDU,MAAO,CAAA,QAAA,CAASb,CAAU,CAAA,IAAM,CAC9Ba,MAAAA,CAAO,GAAIZ,CAAAA,CAAAA,CAAQ,CACjB,IAAA,CAAMa,MAAM,GACZ,CAAA,KAAA,CAAO,UACP,CAAA,MAAA,CAAQ,CAAC,CAAE,MAAAN,CAAAA,CAAO,IAAMI,CAAA,CAAA,aAAA,CAACN,CAAA,CAAA,CAAI,MAAQE,CAAAA,CAAAA,CAAQ,CAC/C,CAAC,EACH,CAAC,CAAA","file":"manager.js","sourcesContent":["export const ADDON_ID = 'storybook/playroom'\nexport const TAB_ID = `${ADDON_ID}/tab`\nexport const PARAM_KEY = `playroom`\n\nexport const EVENTS = {\n UPDATE: `${ADDON_ID}/update`,\n}\n","import { useGlobals } from '@storybook/manager-api'\nimport { styled } from '@storybook/theming'\nimport React, { memo } from 'react'\n\nimport { PARAM_KEY } from './constants'\n\ninterface TabProps {\n active: boolean\n}\n\nconst Message = styled.p({\n textAlign: 'center',\n})\n\nconst Iframe = styled.iframe({\n border: '0 none',\n height: '100%',\n width: '100%',\n})\n\nexport const Tab = memo<TabProps>(({ active }) => {\n const [globals] = useGlobals()\n const { codeUrl } = globals[PARAM_KEY] ?? {}\n\n if (!active) {\n return null\n }\n\n if (!codeUrl) {\n return <Message>Playroom has been disabled for this story.</Message>\n }\n\n return <Iframe key={codeUrl} allowFullScreen src={codeUrl} title=\"Playroom\" />\n})\n","import { addons, types } from '@storybook/manager-api'\nimport React from 'react'\n\nimport { ADDON_ID, PARAM_KEY, TAB_ID } from './constants'\nimport { Tab } from './Tab'\n\naddons.register(ADDON_ID, () => {\n addons.add(TAB_ID, {\n type: types.TAB,\n title: 'Playroom',\n render: ({ active }) => <Tab active={active} />,\n })\n})\n"]}
1
+ {"version":3,"sources":["../src/constants.ts","../src/Tab.tsx","../src/manager.tsx"],"names":["ADDON_ID","TAB_ID","PARAM_KEY","Message","styled","Iframe","Tab","memo","active","globals","useGlobals","codeUrl","React","addons","types"],"mappings":"8HAAO,IAAMA,CAAAA,CAAW,oBAAA,CACXC,CAAAA,CAAS,GAAGD,CAAQ,CAAA,IAAA,CAAA,CACpBE,CAAAA,CAAY,UAAA,CCQzB,IAAMC,CAAAA,CAAUC,MAAAA,CAAO,CAAA,CAAE,CACvB,SAAA,CAAW,QACb,CAAC,CAAA,CAEKC,CAAAA,CAASD,OAAO,MAAA,CAAO,CAC3B,MAAA,CAAQ,QAAA,CACR,MAAA,CAAQ,MAAA,CACR,KAAA,CAAO,MACT,CAAC,CAAA,CAEYE,CAAAA,CAAMC,IAAAA,CAAe,CAAC,CAAE,MAAA,CAAAC,CAAO,CAAA,GAAM,CAChD,GAAM,CAACC,CAAO,CAAA,CAAIC,UAAAA,EAAW,CACvB,CAAE,OAAA,CAAAC,CAAQ,CAAA,CAAIF,CAAAA,CAAQP,CAAS,CAAA,EAAK,EAAC,CAE3C,OAAKM,EAIAG,CAAAA,CAIEC,CAAAA,CAAA,aAAA,CAACP,CAAAA,CAAA,CAAO,GAAA,CAAKM,CAAAA,CAAS,eAAA,CAAe,KAAC,GAAA,CAAKA,CAAAA,CAAS,KAAA,CAAM,UAAA,CAAW,CAAA,CAHnEC,CAAAA,CAAA,aAAA,CAACT,CAAAA,CAAA,KAAQ,4CAA0C,CAAA,CAJnD,IAQX,CAAC,CAAA,CC3BDU,MAAAA,CAAO,QAAA,CAASb,CAAAA,CAAU,IAAM,CAC9Ba,MAAAA,CAAO,GAAA,CAAIZ,CAAAA,CAAQ,CACjB,IAAA,CAAMa,KAAAA,CAAM,GAAA,CACZ,MAAO,UAAA,CACP,MAAA,CAAQ,CAAC,CAAE,MAAA,CAAAN,CAAO,CAAA,GAAMI,CAAAA,CAAA,cAACN,CAAAA,CAAA,CAAI,MAAA,CAAQ,CAAC,CAACE,CAAAA,CAAQ,CACjD,CAAC,EACH,CAAC,CAAA","file":"manager.js","sourcesContent":["export const ADDON_ID = 'storybook/playroom'\nexport const TAB_ID = `${ADDON_ID}/tab`\nexport const PARAM_KEY = `playroom`\n\nexport const EVENTS = {\n UPDATE: `${ADDON_ID}/update`,\n}\n","import React, { memo } from 'react'\nimport { useGlobals } from 'storybook/manager-api'\nimport { styled } from 'storybook/theming'\n\nimport { PARAM_KEY } from './constants'\n\ninterface TabProps {\n active: boolean\n}\n\nconst Message = styled.p({\n textAlign: 'center',\n})\n\nconst Iframe = styled.iframe({\n border: '0 none',\n height: '100%',\n width: '100%',\n})\n\nexport const Tab = memo<TabProps>(({ active }) => {\n const [globals] = useGlobals()\n const { codeUrl } = globals[PARAM_KEY] ?? {}\n\n if (!active) {\n return null\n }\n\n if (!codeUrl) {\n return <Message>Playroom has been disabled for this story.</Message>\n }\n\n return <Iframe key={codeUrl} allowFullScreen src={codeUrl} title=\"Playroom\" />\n})\n","import React from 'react'\nimport { addons, types } from 'storybook/manager-api'\n\nimport { ADDON_ID, PARAM_KEY, TAB_ID } from './constants'\nimport { Tab } from './Tab'\n\naddons.register(ADDON_ID, () => {\n addons.add(TAB_ID, {\n type: types.TAB,\n title: 'Playroom',\n render: ({ active }) => <Tab active={!!active} />,\n })\n})\n"]}
package/dist/preview.cjs CHANGED
@@ -1,15 +1,3 @@
1
- 'use strict';
2
-
3
- var previewApi = require('@storybook/preview-api');
4
- var utils = require('playroom/utils');
5
- var x = require('react-element-to-jsx-string');
6
-
7
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
-
9
- var x__default = /*#__PURE__*/_interopDefault(x);
10
-
11
- var r="playroom";var i=({url:o="http://localhost:9000",code:t="",disable:e=!1,includeDecorators:s=!1,reactElementToJSXStringOptions:n={sortProps:!1}}={})=>({url:o,code:t,disable:e,includeDecorators:s,reactElementToJSXStringOptions:n}),c=o=>o[r],m=(o,t)=>o({[r]:t});var b=([o,t],e)=>c(o).codeUrl!==e&&m(t,{codeUrl:e}),d=(o,t)=>{let e=previewApi.useGlobals(),{parameters:s,undecoratedStoryFn:n}=t,{url:a,code:y,disable:f,includeDecorators:u,reactElementToJSXStringOptions:S}=i(s[r]),l=o();if(f)return b(e,void 0),l;let E=u?l:n(t),R=y||x__default.default(E,S),g=a&&utils.createUrl({baseUrl:a,code:R});return b(e,g),l};var O={decorators:[d],globals:{[r]:!1}},k=O;
12
-
13
- module.exports = k;
14
- //# sourceMappingURL=preview.cjs.map
1
+ 'use strict';var playroom=require('playroom'),A=require('react-element-to-jsx-string'),previewApi=require('storybook/preview-api');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var A__default=/*#__PURE__*/_interopDefault(A);var r="playroom";var p=({url:o="http://localhost:9000",code:t="",disable:e=false,includeDecorators:s=false,reactElementToJSXStringOptions:n={sortProps:false}}={})=>({url:o,code:t,disable:e,includeDecorators:s,reactElementToJSXStringOptions:n}),c=o=>o[r],m=(o,t)=>o({[r]:t});var b=([o,t],e)=>c(o).codeUrl!==e&&m(t,{codeUrl:e}),d=(o,t)=>{let e=previewApi.useGlobals(),{parameters:s,undecoratedStoryFn:n}=t,{url:a,code:y,disable:f,includeDecorators:u,reactElementToJSXStringOptions:S}=p(s[r]),l=o();if(f)return b(e,void 0),l;let G=u?l:n(t),R=y||A__default.default(G,S),g=a&&playroom.createUrl({baseUrl:a,code:R});return b(e,g),l};var O={decorators:[d],initialGlobals:{[r]:false}},w=O;
2
+ module.exports=w;//# sourceMappingURL=preview.cjs.map
15
3
  //# sourceMappingURL=preview.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/constants.ts","../src/utils.tsx","../src/withGlobals.ts","../src/preview.ts"],"names":["ADDON_ID","PARAM_KEY","getOptions","url","code","disable","includeDecorators","reactElementToJSXStringOptions","getGlobals","globals","setGlobals","updateGlobals","updateCodeUrl","codeUrl","withGlobals","StoryFn","context","useGlobals","parameters","undecoratedStoryFn","story","storyCode","jsxString","reactElementToJSXString","createUrl","preview","preview_default"],"mappings":";;;;;;;;;;AAAaA,IAEAC,CAAAA,CAAY,WCiBlB,IAAMC,CAAAA,CAAa,CAAC,CACzB,GAAA,CAAAC,EAAM,uBACN,CAAA,IAAA,CAAAC,EAAO,EACP,CAAA,OAAA,CAAAC,EAAU,CACV,CAAA,CAAA,iBAAA,CAAAC,EAAoB,CACpB,CAAA,CAAA,8BAAA,CAAAC,EAAiC,CAAE,SAAA,CAAW,EAAM,CACtD,CAAA,CAAa,EAA2B,IAAA,CACtC,IAAAJ,CACA,CAAA,IAAA,CAAAC,EACA,OAAAC,CAAAA,CAAAA,CACA,kBAAAC,CACA,CAAA,8BAAA,CAAAC,CACF,CAEaC,CAAAA,CAAAA,CAAAA,CAAcC,GACzBA,CAAQR,CAAAA,CAAS,EAENS,CAAa,CAAA,CAACC,EAA8BF,CACvDE,GAAAA,CAAAA,CAAc,CAAE,CAACV,CAAS,EAAGQ,CAAQ,CAAC,ECxBxC,IAAMG,CAAAA,CAAgB,CACpB,CAACH,CAAAA,CAASE,CAAa,CACvBE,CAAAA,CAAAA,GAEAL,EAAWC,CAAO,CAAA,CAAE,UAAYI,CAChCH,EAAAA,CAAAA,CAAWC,EAAe,CAAE,OAAA,CAAAE,CAAQ,CAAC,CAAA,CAE1BC,EAAc,CACzBC,CAAAA,CACAC,IACG,CACH,IAAMP,EAAUQ,qBAAW,EAAA,CACrB,CAAE,UAAAC,CAAAA,CAAAA,CAAY,mBAAAC,CAAmB,CAAA,CAAIH,EACrC,CACJ,GAAA,CAAAb,EACA,IAAAC,CAAAA,CAAAA,CACA,QAAAC,CACA,CAAA,iBAAA,CAAAC,EACA,8BAAAC,CAAAA,CACF,EAAIL,CAAWgB,CAAAA,CAAAA,CAAWjB,CAAS,CAAC,CAAA,CAE9BmB,EAAQL,CAAQ,EAAA,CAEtB,GAAIV,CACF,CAAA,OAAAO,EAAcH,CAAS,CAAA,KAAA,CAAS,EACzBW,CAGT,CAAA,IAAMC,EAAYf,CACdc,CAAAA,CAAAA,CACCD,EAAmBH,CAAO,CAAA,CACzBM,EACJlB,CAAQmB,EAAAA,kBAAAA,CAAwBF,EAAWd,CAA8B,CAAA,CACrEM,EAAUV,CAAOqB,EAAAA,eAAAA,CAAU,CAAE,OAASrB,CAAAA,CAAAA,CAAK,KAAMmB,CAAU,CAAC,EAElE,OAAAV,CAAAA,CAAcH,EAASI,CAAO,CAAA,CACvBO,CACT,CC7CA,CAAA,IAAMK,EAAwC,CAC5C,UAAA,CAAY,CAACX,CAAW,CAAA,CACxB,QAAS,CACP,CAACb,CAAS,EAAG,CAAA,CACf,CACF,CAAA,CAEOyB,CAAQD,CAAAA","file":"preview.cjs","sourcesContent":["export const ADDON_ID = 'storybook/playroom'\nexport const TAB_ID = `${ADDON_ID}/tab`\nexport const PARAM_KEY = `playroom`\n\nexport const EVENTS = {\n UPDATE: `${ADDON_ID}/update`,\n}\n","import { type useGlobals } from '@storybook/preview-api'\nimport { Options as ReactElementToJSXStringOptions } from 'react-element-to-jsx-string'\n\nimport { PARAM_KEY } from './constants'\n\ntype Options = {\n url?: string\n code?: string\n disable?: boolean\n includeDecorators?: boolean\n reactElementToJSXStringOptions?: ReactElementToJSXStringOptions\n}\n\ntype Globals = {\n codeUrl?: string\n}\n\ntype UseGlobals = ReturnType<typeof useGlobals>\n\nexport const getOptions = ({\n url = 'http://localhost:9000',\n code = '',\n disable = false,\n includeDecorators = false,\n reactElementToJSXStringOptions = { sortProps: false },\n}: Options = {}): Required<Options> => ({\n url,\n code,\n disable,\n includeDecorators,\n reactElementToJSXStringOptions,\n})\n\nexport const getGlobals = (globals: UseGlobals[0]): Globals =>\n globals[PARAM_KEY]\n\nexport const setGlobals = (updateGlobals: UseGlobals[1], globals: Globals) =>\n updateGlobals({ [PARAM_KEY]: globals })\n","import { useGlobals } from '@storybook/preview-api'\nimport type {\n Renderer,\n PartialStoryFn as StoryFunction,\n StoryContext,\n} from '@storybook/types'\nimport { createUrl } from 'playroom/utils'\nimport type { ReactElement } from 'react'\nimport reactElementToJSXString from 'react-element-to-jsx-string'\n\nimport { EVENTS, PARAM_KEY } from './constants'\nimport { getGlobals, getOptions, setGlobals } from './utils'\n\nconst updateCodeUrl = (\n [globals, updateGlobals]: ReturnType<typeof useGlobals>,\n codeUrl: string | undefined,\n) =>\n getGlobals(globals).codeUrl !== codeUrl &&\n setGlobals(updateGlobals, { codeUrl })\n\nexport const withGlobals = (\n StoryFn: StoryFunction<Renderer>,\n context: StoryContext<Renderer>,\n) => {\n const globals = useGlobals()\n const { parameters, undecoratedStoryFn } = context\n const {\n url,\n code,\n disable,\n includeDecorators,\n reactElementToJSXStringOptions,\n } = getOptions(parameters[PARAM_KEY])\n\n const story = StoryFn() as ReactElement\n\n if (disable) {\n updateCodeUrl(globals, undefined)\n return story\n }\n\n const storyCode = includeDecorators\n ? story\n : (undecoratedStoryFn(context) as ReactElement)\n const jsxString =\n code || reactElementToJSXString(storyCode, reactElementToJSXStringOptions)\n const codeUrl = url && createUrl({ baseUrl: url, code: jsxString })\n\n updateCodeUrl(globals, codeUrl)\n return story\n}\n","import type { Renderer, ProjectAnnotations } from '@storybook/types'\n\nimport { PARAM_KEY } from './constants'\nimport { withGlobals } from './withGlobals'\n\nconst preview: ProjectAnnotations<Renderer> = {\n decorators: [withGlobals],\n globals: {\n [PARAM_KEY]: false,\n },\n}\n\nexport default preview\n"]}
1
+ {"version":3,"sources":["../src/constants.ts","../src/utils.tsx","../src/withGlobals.ts","../src/preview.ts"],"names":["PARAM_KEY","getOptions","url","code","disable","includeDecorators","reactElementToJSXStringOptions","getGlobals","globals","setGlobals","updateGlobals","updateCodeUrl","codeUrl","withGlobals","StoryFn","context","useGlobals","parameters","undecoratedStoryFn","story","storyCode","jsxString","reactElementToJSXString","createUrl","preview","preview_default"],"mappings":"mPAAO,IAEMA,CAAAA,CAAY,WCiBlB,IAAMC,EAAa,CAAC,CACzB,IAAAC,CAAAA,CAAM,uBAAA,CACN,KAAAC,CAAAA,CAAO,EAAA,CACP,QAAAC,CAAAA,CAAU,KAAA,CACV,iBAAA,CAAAC,CAAAA,CAAoB,KAAA,CACpB,8BAAA,CAAAC,EAAiC,CAAE,SAAA,CAAW,KAAM,CACtD,CAAA,CAAa,EAAC,IAA0B,CACtC,IAAAJ,CAAAA,CACA,IAAA,CAAAC,EACA,OAAA,CAAAC,CAAAA,CACA,kBAAAC,CAAAA,CACA,8BAAA,CAAAC,CACF,CAAA,CAAA,CAEaC,CAAAA,CAAcC,GACzBA,CAAAA,CAAQR,CAAS,EAENS,CAAAA,CAAa,CAACC,EAA8BF,CAAAA,GACvDE,CAAAA,CAAc,CAAE,CAACV,CAAS,EAAGQ,CAAQ,CAAC,ECxBxC,IAAMG,CAAAA,CAAgB,CACpB,CAACH,CAAAA,CAASE,CAAa,CAAA,CACvBE,CAAAA,GAEAL,CAAAA,CAAWC,CAAO,CAAA,CAAE,OAAA,GAAYI,GAChCH,CAAAA,CAAWC,CAAAA,CAAe,CAAE,OAAA,CAAAE,CAAQ,CAAC,CAAA,CAE1BC,CAAAA,CAAc,CACzBC,CAAAA,CACAC,CAAAA,GACG,CACH,IAAMP,CAAAA,CAAUQ,uBAAW,CACrB,CAAE,WAAAC,CAAAA,CAAY,kBAAA,CAAAC,CAAmB,CAAA,CAAIH,CAAAA,CACrC,CACJ,GAAA,CAAAb,CAAAA,CACA,KAAAC,CAAAA,CACA,OAAA,CAAAC,EACA,iBAAA,CAAAC,CAAAA,CACA,+BAAAC,CACF,CAAA,CAAIL,EAAWgB,CAAAA,CAAWjB,CAAS,CAAC,CAAA,CAE9BmB,CAAAA,CAAQL,GAAQ,CAEtB,GAAIV,CAAAA,CACF,OAAAO,CAAAA,CAAcH,CAAAA,CAAS,MAAS,CAAA,CACzBW,CAAAA,CAGT,IAAMC,CAAAA,CAAYf,CAAAA,CACdc,EACCD,CAAAA,CAAmBH,CAAO,EACzBM,CAAAA,CACJlB,CAAAA,EAAQmB,mBAAwBF,CAAAA,CAAWd,CAA8B,EACrEM,CAAAA,CAAUV,CAAAA,EAAOqB,mBAAU,CAAE,OAAA,CAASrB,CAAAA,CAAK,IAAA,CAAMmB,CAAU,CAAC,EAElE,OAAAV,CAAAA,CAAcH,EAASI,CAAO,CAAA,CACvBO,CACT,CAAA,CC7CA,IAAMK,EAAwC,CAC5C,UAAA,CAAY,CAACX,CAAW,CAAA,CACxB,eAAgB,CACd,CAACb,CAAS,EAAG,KACf,CACF,CAAA,CAEOyB,CAAAA,CAAQD","file":"preview.cjs","sourcesContent":["export const ADDON_ID = 'storybook/playroom'\nexport const TAB_ID = `${ADDON_ID}/tab`\nexport const PARAM_KEY = `playroom`\n\nexport const EVENTS = {\n UPDATE: `${ADDON_ID}/update`,\n}\n","import { type useGlobals } from 'storybook/preview-api'\nimport { type Options as ReactElementToJSXStringOptions } from 'react-element-to-jsx-string'\n\nimport { PARAM_KEY } from './constants'\n\ntype Options = {\n url?: string\n code?: string\n disable?: boolean\n includeDecorators?: boolean\n reactElementToJSXStringOptions?: ReactElementToJSXStringOptions\n}\n\ntype Globals = {\n codeUrl?: string\n}\n\ntype UseGlobals = ReturnType<typeof useGlobals>\n\nexport const getOptions = ({\n url = 'http://localhost:9000',\n code = '',\n disable = false,\n includeDecorators = false,\n reactElementToJSXStringOptions = { sortProps: false },\n}: Options = {}): Required<Options> => ({\n url,\n code,\n disable,\n includeDecorators,\n reactElementToJSXStringOptions,\n})\n\nexport const getGlobals = (globals: UseGlobals[0]): Globals =>\n globals[PARAM_KEY]\n\nexport const setGlobals = (updateGlobals: UseGlobals[1], globals: Globals) =>\n updateGlobals({ [PARAM_KEY]: globals })\n","import { createUrl } from 'playroom'\nimport type { ReactElement } from 'react'\nimport reactElementToJSXString from 'react-element-to-jsx-string'\nimport type {\n Renderer,\n PartialStoryFn as StoryFunction,\n StoryContext,\n} from 'storybook/internal/types'\nimport { useGlobals } from 'storybook/preview-api'\n\nimport { PARAM_KEY } from './constants'\nimport { getGlobals, getOptions, setGlobals } from './utils'\n\nconst updateCodeUrl = (\n [globals, updateGlobals]: ReturnType<typeof useGlobals>,\n codeUrl: string | undefined,\n) =>\n getGlobals(globals).codeUrl !== codeUrl &&\n setGlobals(updateGlobals, { codeUrl })\n\nexport const withGlobals = (\n StoryFn: StoryFunction<Renderer>,\n context: StoryContext<Renderer>,\n) => {\n const globals = useGlobals()\n const { parameters, undecoratedStoryFn } = context\n const {\n url,\n code,\n disable,\n includeDecorators,\n reactElementToJSXStringOptions,\n } = getOptions(parameters[PARAM_KEY])\n\n const story = StoryFn() as ReactElement\n\n if (disable) {\n updateCodeUrl(globals, undefined)\n return story\n }\n\n const storyCode = includeDecorators\n ? story\n : (undecoratedStoryFn(context) as ReactElement)\n const jsxString =\n code || reactElementToJSXString(storyCode, reactElementToJSXStringOptions)\n const codeUrl = url && createUrl({ baseUrl: url, code: jsxString })\n\n updateCodeUrl(globals, codeUrl)\n return story\n}\n","import type { Renderer, ProjectAnnotations } from 'storybook/internal/types'\n\nimport { PARAM_KEY } from './constants'\nimport { withGlobals } from './withGlobals'\n\nconst preview: ProjectAnnotations<Renderer> = {\n decorators: [withGlobals],\n initialGlobals: {\n [PARAM_KEY]: false,\n },\n}\n\nexport default preview\n"]}
@@ -1,4 +1,4 @@
1
- import { ProjectAnnotations, Renderer } from '@storybook/types';
1
+ import { ProjectAnnotations, Renderer } from 'storybook/internal/types';
2
2
 
3
3
  declare const preview: ProjectAnnotations<Renderer>;
4
4
 
package/dist/preview.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { ProjectAnnotations, Renderer } from '@storybook/types';
1
+ import { ProjectAnnotations, Renderer } from 'storybook/internal/types';
2
2
 
3
3
  declare const preview: ProjectAnnotations<Renderer>;
4
4
 
package/dist/preview.js CHANGED
@@ -1,9 +1,3 @@
1
- import { useGlobals } from '@storybook/preview-api';
2
- import { createUrl } from 'playroom/utils';
3
- import x from 'react-element-to-jsx-string';
4
-
5
- var r="playroom";var i=({url:o="http://localhost:9000",code:t="",disable:e=!1,includeDecorators:s=!1,reactElementToJSXStringOptions:n={sortProps:!1}}={})=>({url:o,code:t,disable:e,includeDecorators:s,reactElementToJSXStringOptions:n}),c=o=>o[r],m=(o,t)=>o({[r]:t});var b=([o,t],e)=>c(o).codeUrl!==e&&m(t,{codeUrl:e}),d=(o,t)=>{let e=useGlobals(),{parameters:s,undecoratedStoryFn:n}=t,{url:a,code:y,disable:f,includeDecorators:u,reactElementToJSXStringOptions:S}=i(s[r]),l=o();if(f)return b(e,void 0),l;let E=u?l:n(t),R=y||x(E,S),g=a&&createUrl({baseUrl:a,code:R});return b(e,g),l};var O={decorators:[d],globals:{[r]:!1}},k=O;
6
-
7
- export { k as default };
8
- //# sourceMappingURL=preview.js.map
1
+ import {createUrl}from'playroom';import A from'react-element-to-jsx-string';import {useGlobals}from'storybook/preview-api';var r="playroom";var p=({url:o="http://localhost:9000",code:t="",disable:e=false,includeDecorators:s=false,reactElementToJSXStringOptions:n={sortProps:false}}={})=>({url:o,code:t,disable:e,includeDecorators:s,reactElementToJSXStringOptions:n}),c=o=>o[r],m=(o,t)=>o({[r]:t});var b=([o,t],e)=>c(o).codeUrl!==e&&m(t,{codeUrl:e}),d=(o,t)=>{let e=useGlobals(),{parameters:s,undecoratedStoryFn:n}=t,{url:a,code:y,disable:f,includeDecorators:u,reactElementToJSXStringOptions:S}=p(s[r]),l=o();if(f)return b(e,void 0),l;let G=u?l:n(t),R=y||A(G,S),g=a&&createUrl({baseUrl:a,code:R});return b(e,g),l};var O={decorators:[d],initialGlobals:{[r]:false}},w=O;
2
+ export{w as default};//# sourceMappingURL=preview.js.map
9
3
  //# sourceMappingURL=preview.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/constants.ts","../src/utils.tsx","../src/withGlobals.ts","../src/preview.ts"],"names":["ADDON_ID","PARAM_KEY","getOptions","url","code","disable","includeDecorators","reactElementToJSXStringOptions","getGlobals","globals","setGlobals","updateGlobals","updateCodeUrl","codeUrl","withGlobals","StoryFn","context","useGlobals","parameters","undecoratedStoryFn","story","storyCode","jsxString","reactElementToJSXString","createUrl","preview","preview_default"],"mappings":";;;;AAAaA,IAEAC,CAAAA,CAAY,WCiBlB,IAAMC,CAAAA,CAAa,CAAC,CACzB,GAAA,CAAAC,EAAM,uBACN,CAAA,IAAA,CAAAC,EAAO,EACP,CAAA,OAAA,CAAAC,EAAU,CACV,CAAA,CAAA,iBAAA,CAAAC,EAAoB,CACpB,CAAA,CAAA,8BAAA,CAAAC,EAAiC,CAAE,SAAA,CAAW,EAAM,CACtD,CAAA,CAAa,EAA2B,IAAA,CACtC,IAAAJ,CACA,CAAA,IAAA,CAAAC,EACA,OAAAC,CAAAA,CAAAA,CACA,kBAAAC,CACA,CAAA,8BAAA,CAAAC,CACF,CAEaC,CAAAA,CAAAA,CAAAA,CAAcC,GACzBA,CAAQR,CAAAA,CAAS,EAENS,CAAa,CAAA,CAACC,EAA8BF,CACvDE,GAAAA,CAAAA,CAAc,CAAE,CAACV,CAAS,EAAGQ,CAAQ,CAAC,ECxBxC,IAAMG,CAAAA,CAAgB,CACpB,CAACH,CAAAA,CAASE,CAAa,CACvBE,CAAAA,CAAAA,GAEAL,EAAWC,CAAO,CAAA,CAAE,UAAYI,CAChCH,EAAAA,CAAAA,CAAWC,EAAe,CAAE,OAAA,CAAAE,CAAQ,CAAC,CAAA,CAE1BC,EAAc,CACzBC,CAAAA,CACAC,IACG,CACH,IAAMP,EAAUQ,UAAW,EAAA,CACrB,CAAE,UAAAC,CAAAA,CAAAA,CAAY,mBAAAC,CAAmB,CAAA,CAAIH,EACrC,CACJ,GAAA,CAAAb,EACA,IAAAC,CAAAA,CAAAA,CACA,QAAAC,CACA,CAAA,iBAAA,CAAAC,EACA,8BAAAC,CAAAA,CACF,EAAIL,CAAWgB,CAAAA,CAAAA,CAAWjB,CAAS,CAAC,CAAA,CAE9BmB,EAAQL,CAAQ,EAAA,CAEtB,GAAIV,CACF,CAAA,OAAAO,EAAcH,CAAS,CAAA,KAAA,CAAS,EACzBW,CAGT,CAAA,IAAMC,EAAYf,CACdc,CAAAA,CAAAA,CACCD,EAAmBH,CAAO,CAAA,CACzBM,EACJlB,CAAQmB,EAAAA,CAAAA,CAAwBF,EAAWd,CAA8B,CAAA,CACrEM,EAAUV,CAAOqB,EAAAA,SAAAA,CAAU,CAAE,OAASrB,CAAAA,CAAAA,CAAK,KAAMmB,CAAU,CAAC,EAElE,OAAAV,CAAAA,CAAcH,EAASI,CAAO,CAAA,CACvBO,CACT,CC7CA,CAAA,IAAMK,EAAwC,CAC5C,UAAA,CAAY,CAACX,CAAW,CAAA,CACxB,QAAS,CACP,CAACb,CAAS,EAAG,CAAA,CACf,CACF,CAAA,CAEOyB,CAAQD,CAAAA","file":"preview.js","sourcesContent":["export const ADDON_ID = 'storybook/playroom'\nexport const TAB_ID = `${ADDON_ID}/tab`\nexport const PARAM_KEY = `playroom`\n\nexport const EVENTS = {\n UPDATE: `${ADDON_ID}/update`,\n}\n","import { type useGlobals } from '@storybook/preview-api'\nimport { Options as ReactElementToJSXStringOptions } from 'react-element-to-jsx-string'\n\nimport { PARAM_KEY } from './constants'\n\ntype Options = {\n url?: string\n code?: string\n disable?: boolean\n includeDecorators?: boolean\n reactElementToJSXStringOptions?: ReactElementToJSXStringOptions\n}\n\ntype Globals = {\n codeUrl?: string\n}\n\ntype UseGlobals = ReturnType<typeof useGlobals>\n\nexport const getOptions = ({\n url = 'http://localhost:9000',\n code = '',\n disable = false,\n includeDecorators = false,\n reactElementToJSXStringOptions = { sortProps: false },\n}: Options = {}): Required<Options> => ({\n url,\n code,\n disable,\n includeDecorators,\n reactElementToJSXStringOptions,\n})\n\nexport const getGlobals = (globals: UseGlobals[0]): Globals =>\n globals[PARAM_KEY]\n\nexport const setGlobals = (updateGlobals: UseGlobals[1], globals: Globals) =>\n updateGlobals({ [PARAM_KEY]: globals })\n","import { useGlobals } from '@storybook/preview-api'\nimport type {\n Renderer,\n PartialStoryFn as StoryFunction,\n StoryContext,\n} from '@storybook/types'\nimport { createUrl } from 'playroom/utils'\nimport type { ReactElement } from 'react'\nimport reactElementToJSXString from 'react-element-to-jsx-string'\n\nimport { EVENTS, PARAM_KEY } from './constants'\nimport { getGlobals, getOptions, setGlobals } from './utils'\n\nconst updateCodeUrl = (\n [globals, updateGlobals]: ReturnType<typeof useGlobals>,\n codeUrl: string | undefined,\n) =>\n getGlobals(globals).codeUrl !== codeUrl &&\n setGlobals(updateGlobals, { codeUrl })\n\nexport const withGlobals = (\n StoryFn: StoryFunction<Renderer>,\n context: StoryContext<Renderer>,\n) => {\n const globals = useGlobals()\n const { parameters, undecoratedStoryFn } = context\n const {\n url,\n code,\n disable,\n includeDecorators,\n reactElementToJSXStringOptions,\n } = getOptions(parameters[PARAM_KEY])\n\n const story = StoryFn() as ReactElement\n\n if (disable) {\n updateCodeUrl(globals, undefined)\n return story\n }\n\n const storyCode = includeDecorators\n ? story\n : (undecoratedStoryFn(context) as ReactElement)\n const jsxString =\n code || reactElementToJSXString(storyCode, reactElementToJSXStringOptions)\n const codeUrl = url && createUrl({ baseUrl: url, code: jsxString })\n\n updateCodeUrl(globals, codeUrl)\n return story\n}\n","import type { Renderer, ProjectAnnotations } from '@storybook/types'\n\nimport { PARAM_KEY } from './constants'\nimport { withGlobals } from './withGlobals'\n\nconst preview: ProjectAnnotations<Renderer> = {\n decorators: [withGlobals],\n globals: {\n [PARAM_KEY]: false,\n },\n}\n\nexport default preview\n"]}
1
+ {"version":3,"sources":["../src/constants.ts","../src/utils.tsx","../src/withGlobals.ts","../src/preview.ts"],"names":["PARAM_KEY","getOptions","url","code","disable","includeDecorators","reactElementToJSXStringOptions","getGlobals","globals","setGlobals","updateGlobals","updateCodeUrl","codeUrl","withGlobals","StoryFn","context","useGlobals","parameters","undecoratedStoryFn","story","storyCode","jsxString","reactElementToJSXString","createUrl","preview","preview_default"],"mappings":"2HAAO,IAEMA,CAAAA,CAAY,WCiBlB,IAAMC,EAAa,CAAC,CACzB,IAAAC,CAAAA,CAAM,uBAAA,CACN,KAAAC,CAAAA,CAAO,EAAA,CACP,QAAAC,CAAAA,CAAU,KAAA,CACV,iBAAA,CAAAC,CAAAA,CAAoB,KAAA,CACpB,8BAAA,CAAAC,EAAiC,CAAE,SAAA,CAAW,KAAM,CACtD,CAAA,CAAa,EAAC,IAA0B,CACtC,IAAAJ,CAAAA,CACA,IAAA,CAAAC,EACA,OAAA,CAAAC,CAAAA,CACA,kBAAAC,CAAAA,CACA,8BAAA,CAAAC,CACF,CAAA,CAAA,CAEaC,CAAAA,CAAcC,GACzBA,CAAAA,CAAQR,CAAS,EAENS,CAAAA,CAAa,CAACC,EAA8BF,CAAAA,GACvDE,CAAAA,CAAc,CAAE,CAACV,CAAS,EAAGQ,CAAQ,CAAC,ECxBxC,IAAMG,CAAAA,CAAgB,CACpB,CAACH,CAAAA,CAASE,CAAa,CAAA,CACvBE,CAAAA,GAEAL,CAAAA,CAAWC,CAAO,CAAA,CAAE,OAAA,GAAYI,GAChCH,CAAAA,CAAWC,CAAAA,CAAe,CAAE,OAAA,CAAAE,CAAQ,CAAC,CAAA,CAE1BC,CAAAA,CAAc,CACzBC,CAAAA,CACAC,CAAAA,GACG,CACH,IAAMP,CAAAA,CAAUQ,YAAW,CACrB,CAAE,WAAAC,CAAAA,CAAY,kBAAA,CAAAC,CAAmB,CAAA,CAAIH,CAAAA,CACrC,CACJ,GAAA,CAAAb,CAAAA,CACA,KAAAC,CAAAA,CACA,OAAA,CAAAC,EACA,iBAAA,CAAAC,CAAAA,CACA,+BAAAC,CACF,CAAA,CAAIL,EAAWgB,CAAAA,CAAWjB,CAAS,CAAC,CAAA,CAE9BmB,CAAAA,CAAQL,GAAQ,CAEtB,GAAIV,CAAAA,CACF,OAAAO,CAAAA,CAAcH,CAAAA,CAAS,MAAS,CAAA,CACzBW,CAAAA,CAGT,IAAMC,CAAAA,CAAYf,CAAAA,CACdc,EACCD,CAAAA,CAAmBH,CAAO,EACzBM,CAAAA,CACJlB,CAAAA,EAAQmB,EAAwBF,CAAAA,CAAWd,CAA8B,EACrEM,CAAAA,CAAUV,CAAAA,EAAOqB,UAAU,CAAE,OAAA,CAASrB,CAAAA,CAAK,IAAA,CAAMmB,CAAU,CAAC,EAElE,OAAAV,CAAAA,CAAcH,EAASI,CAAO,CAAA,CACvBO,CACT,CAAA,CC7CA,IAAMK,EAAwC,CAC5C,UAAA,CAAY,CAACX,CAAW,CAAA,CACxB,eAAgB,CACd,CAACb,CAAS,EAAG,KACf,CACF,CAAA,CAEOyB,CAAAA,CAAQD","file":"preview.js","sourcesContent":["export const ADDON_ID = 'storybook/playroom'\nexport const TAB_ID = `${ADDON_ID}/tab`\nexport const PARAM_KEY = `playroom`\n\nexport const EVENTS = {\n UPDATE: `${ADDON_ID}/update`,\n}\n","import { type useGlobals } from 'storybook/preview-api'\nimport { type Options as ReactElementToJSXStringOptions } from 'react-element-to-jsx-string'\n\nimport { PARAM_KEY } from './constants'\n\ntype Options = {\n url?: string\n code?: string\n disable?: boolean\n includeDecorators?: boolean\n reactElementToJSXStringOptions?: ReactElementToJSXStringOptions\n}\n\ntype Globals = {\n codeUrl?: string\n}\n\ntype UseGlobals = ReturnType<typeof useGlobals>\n\nexport const getOptions = ({\n url = 'http://localhost:9000',\n code = '',\n disable = false,\n includeDecorators = false,\n reactElementToJSXStringOptions = { sortProps: false },\n}: Options = {}): Required<Options> => ({\n url,\n code,\n disable,\n includeDecorators,\n reactElementToJSXStringOptions,\n})\n\nexport const getGlobals = (globals: UseGlobals[0]): Globals =>\n globals[PARAM_KEY]\n\nexport const setGlobals = (updateGlobals: UseGlobals[1], globals: Globals) =>\n updateGlobals({ [PARAM_KEY]: globals })\n","import { createUrl } from 'playroom'\nimport type { ReactElement } from 'react'\nimport reactElementToJSXString from 'react-element-to-jsx-string'\nimport type {\n Renderer,\n PartialStoryFn as StoryFunction,\n StoryContext,\n} from 'storybook/internal/types'\nimport { useGlobals } from 'storybook/preview-api'\n\nimport { PARAM_KEY } from './constants'\nimport { getGlobals, getOptions, setGlobals } from './utils'\n\nconst updateCodeUrl = (\n [globals, updateGlobals]: ReturnType<typeof useGlobals>,\n codeUrl: string | undefined,\n) =>\n getGlobals(globals).codeUrl !== codeUrl &&\n setGlobals(updateGlobals, { codeUrl })\n\nexport const withGlobals = (\n StoryFn: StoryFunction<Renderer>,\n context: StoryContext<Renderer>,\n) => {\n const globals = useGlobals()\n const { parameters, undecoratedStoryFn } = context\n const {\n url,\n code,\n disable,\n includeDecorators,\n reactElementToJSXStringOptions,\n } = getOptions(parameters[PARAM_KEY])\n\n const story = StoryFn() as ReactElement\n\n if (disable) {\n updateCodeUrl(globals, undefined)\n return story\n }\n\n const storyCode = includeDecorators\n ? story\n : (undecoratedStoryFn(context) as ReactElement)\n const jsxString =\n code || reactElementToJSXString(storyCode, reactElementToJSXStringOptions)\n const codeUrl = url && createUrl({ baseUrl: url, code: jsxString })\n\n updateCodeUrl(globals, codeUrl)\n return story\n}\n","import type { Renderer, ProjectAnnotations } from 'storybook/internal/types'\n\nimport { PARAM_KEY } from './constants'\nimport { withGlobals } from './withGlobals'\n\nconst preview: ProjectAnnotations<Renderer> = {\n decorators: [withGlobals],\n initialGlobals: {\n [PARAM_KEY]: false,\n },\n}\n\nexport default preview\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "storybook-addon-playroom",
3
- "version": "6.0.1",
3
+ "version": "7.0.0",
4
4
  "description": "Design with Playroom inside Storybook, using each story source as a starting point",
5
5
  "keywords": [
6
6
  "storybook-addons",
@@ -63,35 +63,31 @@
63
63
  "type-check": "tsc --noEmit"
64
64
  },
65
65
  "dependencies": {
66
- "playroom": "^0.38.0",
66
+ "playroom": "^0.44.0",
67
67
  "react-element-to-jsx-string": "^15.0.0"
68
68
  },
69
69
  "devDependencies": {
70
70
  "@skypack/package-check": "^0.2.0",
71
- "@storybook/manager": "^8.0.0",
72
- "@storybook/manager-api": "^8.0.0",
73
- "@storybook/preview": "^8.0.0",
74
- "@storybook/preview-api": "^8.0.0",
75
- "@storybook/react": "^8.0.0",
76
- "@storybook/react-vite": "^8.0.0",
77
- "@storybook/theming": "^8.0.0",
78
- "@storybook/types": "^8.0.0",
79
- "@types/node": "^20.0.0",
71
+ "@storybook/react-vite": "^9.0.0",
72
+ "@types/node": "^24.0.0",
80
73
  "@types/react": "^18.0.0",
81
- "@vitejs/plugin-react": "^4.2.0",
82
- "concurrently": "^8.0.0",
74
+ "@vitejs/plugin-react": "^5.0.0",
75
+ "concurrently": "^9.0.0",
83
76
  "husky": "^9.0.0",
84
- "lint-staged": "^15.2.0",
77
+ "lint-staged": "^16.0.0",
85
78
  "prettier": "^3.1.0",
86
79
  "prettier-plugin-packagejson": "^2.4.0",
87
80
  "react": "^18.0.0",
88
81
  "react-dom": "^18.0.0",
89
82
  "rimraf": "^6.0.0",
90
- "storybook": "^8.0.0",
83
+ "storybook": "^9.0.0",
91
84
  "style-loader": "^4.0.0",
92
85
  "tsup": "^8.0.0",
93
86
  "typescript": "^5.3.0",
94
- "vite": "^5.0.0"
87
+ "vite": "^7.0.0"
88
+ },
89
+ "peerDependencies": {
90
+ "storybook": "^9.0.0"
95
91
  },
96
92
  "bundler": {
97
93
  "exportEntries": [