storybook-addon-playroom 7.0.0 → 7.0.1

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/preview.cjs CHANGED
@@ -1,3 +1,3 @@
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
1
+ 'use strict';var playroom=require('playroom'),x=require('react-element-to-jsx-string'),previewApi=require('storybook/preview-api');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var x__default=/*#__PURE__*/_interopDefault(x);var r="playroom";var i=({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}),p=o=>o[r],c=(o,t)=>o({[r]:t});var m=([o,t],e)=>p(o).codeUrl!==e&&c(t,{codeUrl:e}),d=(o,t)=>{let e=previewApi.useGlobals(),s=o(),{parameters:n,undecoratedStoryFn:y,viewMode:b}=t;if(b!=="story")return s;let{url:l,code:f,disable:u,includeDecorators:S,reactElementToJSXStringOptions:G}=i(n[r]);if(u)return m(e,void 0),s;let R=S?s:y(t),g=f||x__default.default(R,G),E=l&&playroom.createUrl({baseUrl:l,code:g});return m(e,E),s};var T={decorators:[d],initialGlobals:{[r]:false}},v=T;
2
+ module.exports=v;//# sourceMappingURL=preview.cjs.map
3
3
  //# sourceMappingURL=preview.cjs.map
@@ -1 +1 @@
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
+ {"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","story","parameters","undecoratedStoryFn","viewMode","storyCode","jsxString","reactElementToJSXString","createUrl","preview","preview_default"],"mappings":"mPAAO,IAEMA,CAAAA,CAAY,WCiBlB,IAAMC,CAAAA,CAAa,CAAC,CACzB,GAAA,CAAAC,CAAAA,CAAM,wBACN,IAAA,CAAAC,CAAAA,CAAO,GACP,OAAA,CAAAC,CAAAA,CAAU,MACV,iBAAA,CAAAC,CAAAA,CAAoB,KAAA,CACpB,8BAAA,CAAAC,CAAAA,CAAiC,CAAE,UAAW,KAAM,CACtD,EAAa,EAAC,IAA0B,CACtC,GAAA,CAAAJ,CAAAA,CACA,KAAAC,CAAAA,CACA,OAAA,CAAAC,EACA,iBAAA,CAAAC,CAAAA,CACA,+BAAAC,CACF,CAAA,CAAA,CAEaC,EAAcC,CAAAA,EACzBA,CAAAA,CAAQR,CAAS,CAAA,CAENS,CAAAA,CAAa,CAACC,EAA8BF,CAAAA,GACvDE,CAAAA,CAAc,CAAE,CAACV,CAAS,EAAGQ,CAAQ,CAAC,CAAA,CCxBxC,IAAMG,CAAAA,CAAgB,CACpB,CAACH,CAAAA,CAASE,CAAa,EACvBE,CAAAA,GAEAL,CAAAA,CAAWC,CAAO,CAAA,CAAE,OAAA,GAAYI,CAAAA,EAChCH,CAAAA,CAAWC,CAAAA,CAAe,CAAE,QAAAE,CAAQ,CAAC,EAE1BC,CAAAA,CAAc,CACzBC,EACAC,CAAAA,GACG,CACH,IAAMP,CAAAA,CAAUQ,qBAAAA,GACVC,CAAAA,CAAQH,CAAAA,GACR,CAAE,UAAA,CAAAI,EAAY,kBAAA,CAAAC,CAAAA,CAAoB,QAAA,CAAAC,CAAS,CAAA,CAAIL,CAAAA,CAErD,GAAIK,CAAAA,GAAa,OAAA,CAAS,OAAOH,CAAAA,CAEjC,GAAM,CACJ,GAAA,CAAAf,CAAAA,CACA,IAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,kBAAAC,CAAAA,CACA,8BAAA,CAAAC,CACF,CAAA,CAAIL,CAAAA,CAAWiB,EAAWlB,CAAS,CAAC,CAAA,CAEpC,GAAII,CAAAA,CACF,OAAAO,EAAcH,CAAAA,CAAS,MAAS,EACzBS,CAAAA,CAGT,IAAMI,EAAYhB,CAAAA,CACdY,CAAAA,CACCE,CAAAA,CAAmBJ,CAAO,CAAA,CACzBO,CAAAA,CACJnB,GAAQoB,kBAAAA,CAAwBF,CAAAA,CAAWf,CAA8B,CAAA,CACrEM,CAAAA,CAAUV,GAAOsB,kBAAAA,CAAU,CAAE,OAAA,CAAStB,CAAAA,CAAK,IAAA,CAAMoB,CAAU,CAAC,CAAA,CAElE,OAAAX,EAAcH,CAAAA,CAASI,CAAO,EACvBK,CACT,CAAA,CC/CA,IAAMQ,CAAAA,CAAwC,CAC5C,UAAA,CAAY,CAACZ,CAAW,CAAA,CACxB,eAAgB,CACd,CAACb,CAAS,EAAG,KACf,CACF,CAAA,CAEO0B,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 story = StoryFn() as ReactElement\n const { parameters, undecoratedStoryFn, viewMode } = context\n\n if (viewMode !== 'story') return story\n\n const {\n url,\n code,\n disable,\n includeDecorators,\n reactElementToJSXStringOptions,\n } = getOptions(parameters[PARAM_KEY])\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/dist/preview.js CHANGED
@@ -1,3 +1,3 @@
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
1
+ import {createUrl}from'playroom';import x from'react-element-to-jsx-string';import {useGlobals}from'storybook/preview-api';var r="playroom";var i=({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}),p=o=>o[r],c=(o,t)=>o({[r]:t});var m=([o,t],e)=>p(o).codeUrl!==e&&c(t,{codeUrl:e}),d=(o,t)=>{let e=useGlobals(),s=o(),{parameters:n,undecoratedStoryFn:y,viewMode:b}=t;if(b!=="story")return s;let{url:l,code:f,disable:u,includeDecorators:S,reactElementToJSXStringOptions:G}=i(n[r]);if(u)return m(e,void 0),s;let R=S?s:y(t),g=f||x(R,G),E=l&&createUrl({baseUrl:l,code:g});return m(e,E),s};var T={decorators:[d],initialGlobals:{[r]:false}},v=T;
2
+ export{v as default};//# sourceMappingURL=preview.js.map
3
3
  //# sourceMappingURL=preview.js.map
@@ -1 +1 @@
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"]}
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","story","parameters","undecoratedStoryFn","viewMode","storyCode","jsxString","reactElementToJSXString","createUrl","preview","preview_default"],"mappings":"2HAAO,IAEMA,CAAAA,CAAY,WCiBlB,IAAMC,CAAAA,CAAa,CAAC,CACzB,GAAA,CAAAC,CAAAA,CAAM,wBACN,IAAA,CAAAC,CAAAA,CAAO,GACP,OAAA,CAAAC,CAAAA,CAAU,MACV,iBAAA,CAAAC,CAAAA,CAAoB,KAAA,CACpB,8BAAA,CAAAC,CAAAA,CAAiC,CAAE,UAAW,KAAM,CACtD,EAAa,EAAC,IAA0B,CACtC,GAAA,CAAAJ,CAAAA,CACA,KAAAC,CAAAA,CACA,OAAA,CAAAC,EACA,iBAAA,CAAAC,CAAAA,CACA,+BAAAC,CACF,CAAA,CAAA,CAEaC,EAAcC,CAAAA,EACzBA,CAAAA,CAAQR,CAAS,CAAA,CAENS,CAAAA,CAAa,CAACC,EAA8BF,CAAAA,GACvDE,CAAAA,CAAc,CAAE,CAACV,CAAS,EAAGQ,CAAQ,CAAC,CAAA,CCxBxC,IAAMG,CAAAA,CAAgB,CACpB,CAACH,CAAAA,CAASE,CAAa,EACvBE,CAAAA,GAEAL,CAAAA,CAAWC,CAAO,CAAA,CAAE,OAAA,GAAYI,CAAAA,EAChCH,CAAAA,CAAWC,CAAAA,CAAe,CAAE,QAAAE,CAAQ,CAAC,EAE1BC,CAAAA,CAAc,CACzBC,EACAC,CAAAA,GACG,CACH,IAAMP,CAAAA,CAAUQ,UAAAA,GACVC,CAAAA,CAAQH,CAAAA,GACR,CAAE,UAAA,CAAAI,EAAY,kBAAA,CAAAC,CAAAA,CAAoB,QAAA,CAAAC,CAAS,CAAA,CAAIL,CAAAA,CAErD,GAAIK,CAAAA,GAAa,OAAA,CAAS,OAAOH,CAAAA,CAEjC,GAAM,CACJ,GAAA,CAAAf,CAAAA,CACA,IAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,kBAAAC,CAAAA,CACA,8BAAA,CAAAC,CACF,CAAA,CAAIL,CAAAA,CAAWiB,EAAWlB,CAAS,CAAC,CAAA,CAEpC,GAAII,CAAAA,CACF,OAAAO,EAAcH,CAAAA,CAAS,MAAS,EACzBS,CAAAA,CAGT,IAAMI,EAAYhB,CAAAA,CACdY,CAAAA,CACCE,CAAAA,CAAmBJ,CAAO,CAAA,CACzBO,CAAAA,CACJnB,GAAQoB,CAAAA,CAAwBF,CAAAA,CAAWf,CAA8B,CAAA,CACrEM,CAAAA,CAAUV,GAAOsB,SAAAA,CAAU,CAAE,OAAA,CAAStB,CAAAA,CAAK,IAAA,CAAMoB,CAAU,CAAC,CAAA,CAElE,OAAAX,EAAcH,CAAAA,CAASI,CAAO,EACvBK,CACT,CAAA,CC/CA,IAAMQ,CAAAA,CAAwC,CAC5C,UAAA,CAAY,CAACZ,CAAW,CAAA,CACxB,eAAgB,CACd,CAACb,CAAS,EAAG,KACf,CACF,CAAA,CAEO0B,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 story = StoryFn() as ReactElement\n const { parameters, undecoratedStoryFn, viewMode } = context\n\n if (viewMode !== 'story') return story\n\n const {\n url,\n code,\n disable,\n includeDecorators,\n reactElementToJSXStringOptions,\n } = getOptions(parameters[PARAM_KEY])\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": "7.0.0",
3
+ "version": "7.0.1",
4
4
  "description": "Design with Playroom inside Storybook, using each story source as a starting point",
5
5
  "keywords": [
6
6
  "storybook-addons",