storybook-addon-playroom 5.0.0 → 6.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/README.md CHANGED
@@ -20,6 +20,7 @@ npm install --save-dev storybook-addon-playroom
20
20
 
21
21
  ```js
22
22
  // .storybook/main.js
23
+
23
24
  export default {
24
25
  addons: ['storybook-addon-playroom'],
25
26
  }
@@ -37,9 +38,11 @@ The addon can be configured via the `playroom` [parameter](https://storybook.js.
37
38
  | `includeDecorators` | `boolean` | whether to include global decorators in stories code | `false` |
38
39
  | `reactElementToJSXStringOptions` | `object` | [react-element-to-jsx-string options][1] | `{ sortProps: false }` |
39
40
 
40
- To configure for all stories, set the `playroom` parameter in [`.storybook/preview.js`](https://storybook.js.org/docs/react/configure/overview#configure-story-rendering):
41
+ To configure for all stories, set the `playroom` [parameter](https://storybook.js.org/docs/react/configure/overview#configure-story-rendering):
41
42
 
42
43
  ```js
44
+ // .storybook/preview.js
45
+
43
46
  export const parameters = {
44
47
  playroom: {
45
48
  url: 'http://localhost:9000',
@@ -52,61 +55,70 @@ You can also configure on per-story or per-component basis using [parameter inhe
52
55
  ```jsx
53
56
  // Button.stories.js
54
57
 
55
- // Use predefined code instead of story source in all Button stories
56
58
  export default {
57
59
  title: 'Button',
60
+ component: Button,
58
61
  parameters: {
59
62
  playroom: {
63
+ // Use predefined code instead of story source on all Button stories
60
64
  code: '<Button>Hello Button</Button>',
61
65
  },
62
66
  },
63
67
  }
64
68
 
65
- // Disable addon in Button/Large story only
66
- export const Large = Template.bind({})
67
- Large.parameters = {
68
- playroom: {
69
- disable: true,
69
+ export const Large = {
70
+ args: {
71
+ size: 'large',
72
+ },
73
+ parameters: {
74
+ playroom: {
75
+ // Disable addon in Button/Large story only
76
+ disable: true,
77
+ },
70
78
  },
71
79
  }
72
80
  ```
73
81
 
74
- > **Note:** Disabling the addon does not hide the _Playroom_ tab from preview. For that, you must use Storybook's own [`previewTabs`](https://github.com/storybookjs/storybook/pull/9095) parameter:
82
+ > **Note:** Disabling the addon does not hide the _Playroom_ tab. For that, you must use Storybook's own [`previewTabs`](https://github.com/storybookjs/storybook/pull/9095) parameter:
75
83
 
76
84
  ```js
77
- Story.parameters = {
78
- previewTabs: {
79
- 'storybook/playroom/panel': {
80
- hidden: true,
85
+ // Button.stories.js
86
+
87
+ export const Large = {
88
+ parameters: {
89
+ playroom: {
90
+ disable: true,
91
+ },
92
+ previewTabs: {
93
+ // Hide Playroom tab
94
+ 'storybook/playroom/tab': {
95
+ hidden: true,
96
+ },
81
97
  },
82
98
  },
83
99
  }
84
100
  ```
85
101
 
86
- ## Generating Playroom snippets from stories
102
+ ## FAQ
87
103
 
88
- > **Note:** This is an experimental feature.
104
+ ### Why does my generated Playroom code contain nonsensical component names?
89
105
 
90
- Playroom addon comes with a `sb-playroom` CLI tool that can auto-generate [Playroom snippets](https://github.com/seek-oss/playroom#snippets) from Storybook stories via the `gen-snippets` command:
106
+ If you see mangled component names like `<O />` instead of `<Card />`, you may need to [customize Storybook's Vite setup](https://storybook.js.org/docs/api/main-config/main-config-vite-final) and [disable minification](https://vitejs.dev/config/build-options#build-minify):
91
107
 
92
- ```console
93
- $ sb-playroom gen-snippets --help
94
- Usage: sb-playroom gen-snippets [options] [config-dir]
95
-
96
- generate Playroom snippets from stories (experimental)
108
+ ```js
109
+ // .storybook/main.js
97
110
 
98
- Options:
99
- -o, --out-file <path> output file (default: "snippets.json")
100
- -c, --config-file <path> Babel config file
101
- -h, --help display help for command
111
+ export default {
112
+ addons: ['storybook-addon-playroom'],
113
+ async viteFinal(config) {
114
+ return mergeConfig(config, {
115
+ build: {
116
+ // Disable minification
117
+ minify: false,
118
+ },
119
+ })
120
+ },
121
+ }
102
122
  ```
103
123
 
104
- By default, `gen-snippets` will fetch the Storybook configuration from the `.storybook` directory and output the snippets to a `snippets.json` file. Different input and output paths can be passed as arguments.
105
-
106
- You can then reference the output file in [`playroom.config.js`](https://github.com/seek-oss/playroom#getting-started).
107
-
108
- ### Babel configuration
109
-
110
- Because Playroom addon programmatically runs Storybook to collect story sources, Babel is used to compile stories on the fly. If the loaded Babel configuration does not work with your Storybook, a [Babel config file](https://babeljs.io/docs/en/config-files) can be defined with the `-c, --config-file` option.
111
-
112
124
  [1]: https://github.com/algolia/react-element-to-jsx-string#reactelementtojsxstringreactelement-options
package/dist/index.cjs ADDED
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ var e={};
4
+
5
+ module.exports = e;
6
+ //# sourceMappingURL=index.cjs.map
7
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +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"]}
@@ -0,0 +1,3 @@
1
+ declare const _default: {};
2
+
3
+ export { _default as default };
package/dist/index.js CHANGED
@@ -1,7 +1,5 @@
1
- 'use strict';
2
-
3
1
  var e={};
4
2
 
5
- module.exports = e;
6
- //# sourceMappingURL=out.js.map
3
+ export { e as default };
4
+ //# sourceMappingURL=index.js.map
7
5
  //# 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,CAAC","sourcesContent":["// make it work with --isolatedModules\nexport default {}\n"]}
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"]}
package/dist/manager.js CHANGED
@@ -1,13 +1,7 @@
1
- 'use strict';
1
+ import { useGlobals, addons, types } from '@storybook/manager-api';
2
+ import a, { memo } from 'react';
3
+ import { styled } from '@storybook/theming';
2
4
 
3
- var managerApi = require('@storybook/manager-api');
4
- var theming = require('@storybook/theming');
5
- var m = require('react');
6
-
7
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
-
9
- var m__default = /*#__PURE__*/_interopDefault(m);
10
-
11
- var r="storybook/playroom",e=`${r}/tab`,a="playroom",s={UPDATE:`${r}/update`};var f=theming.styled.p({textAlign:"center"}),A=theming.styled.iframe({border:"0 none",height:"100%",width:"100%"}),p=({active:o})=>{let[t,i]=m.useState("");return managerApi.useChannel({[s.UPDATE]:i}),o?t?m__default.default.createElement(A,{key:t,allowFullScreen:!0,src:t,title:"Playroom"}):m__default.default.createElement(f,null,"Playroom has been disabled for this story."):null};managerApi.addons.register(r,()=>{managerApi.addons.add(e,{type:managerApi.types.TAB,title:"Playroom",route:({storyId:o})=>`/playroom/${o}`,match:({viewMode:o})=>o==="playroom",render:p,paramKey:a});});
12
- //# sourceMappingURL=out.js.map
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
13
7
  //# sourceMappingURL=manager.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/manager.ts","../src/constants.ts","../src/Tab.tsx"],"names":["addons","types","ADDON_ID","TAB_ID","PARAM_KEY","EVENTS","useChannel","styled","React","useState","Message","Iframe","Tab","active","url","setUrl","storyId","viewMode"],"mappings":"AAAA,OAAS,UAAAA,EAAQ,SAAAC,MAAa,yBCAvB,IAAMC,EAAW,qBACXC,EAAS,GAAGD,QACZE,EAAY,WAEZC,EAAS,CACpB,OAAQ,GAAGH,UACb,ECNA,OAAS,cAAAI,MAAkB,yBAC3B,OAAS,UAAAC,MAAc,qBACvB,OAAOC,GAAa,YAAAC,MAAgB,QAQpC,IAAMC,EAAUH,EAAO,EAAE,CACvB,UAAW,QACb,CAAC,EAEKI,EAASJ,EAAO,OAAO,CAC3B,OAAQ,SACR,OAAQ,OACR,MAAO,MACT,CAAC,EAEYK,EAAoB,CAAC,CAAE,OAAAC,CAAO,IAAM,CAC/C,GAAM,CAACC,EAAKC,CAAM,EAAIN,EAAS,EAAE,EAGjC,OAFAH,EAAW,CAAE,CAACD,EAAO,MAAM,EAAGU,CAAO,CAAC,EAEjCF,EAIAC,EAIEN,EAAA,cAACG,EAAA,CAAO,IAAKG,EAAK,gBAAe,GAAC,IAAKA,EAAK,MAAM,WAAW,EAH3DN,EAAA,cAACE,EAAA,KAAQ,4CAA0C,EAJnD,IAQX,EF5BAV,EAAO,SAASE,EAAU,IAAM,CAC9BF,EAAO,IAAIG,EAAQ,CACjB,KAAMF,EAAM,IACZ,MAAO,WACP,MAAO,CAAC,CAAE,QAAAe,CAAQ,IAAM,aAAaA,IACrC,MAAO,CAAC,CAAE,SAAAC,CAAS,IAAMA,IAAa,WACtC,OAAQL,EACR,SAAUR,CACZ,CAAC,CACH,CAAC","sourcesContent":["import { 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 route: ({ storyId }) => `/playroom/${storyId}`,\n match: ({ viewMode }) => viewMode === 'playroom',\n render: Tab,\n paramKey: PARAM_KEY,\n })\n})\n","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 { useChannel } from '@storybook/manager-api'\nimport { styled } from '@storybook/theming'\nimport React, { FC, useState } from 'react'\n\nimport { EVENTS } 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: FC<TabProps> = ({ active }) => {\n const [url, setUrl] = useState('')\n useChannel({ [EVENTS.UPDATE]: setUrl })\n\n if (!active) {\n return null\n }\n\n if (!url) {\n return <Message>Playroom has been disabled for this story.</Message>\n }\n\n return <Iframe key={url} allowFullScreen src={url} title=\"Playroom\" />\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":";;;;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,CAEYE,CAAAA,CAAAA,CAAMC,IAAe,CAAA,CAAC,CAAE,MAAA,CAAAC,CAAO,CAAM,GAAA,CAChD,GAAM,CAACC,CAAO,CAAA,CAAIC,UAAW,EAAA,CACvB,CAAE,OAAA,CAAAC,CAAQ,CAAA,CAAIF,CAAQP,CAAAA,CAAS,CAErC,CAAA,OAAKM,EAIAG,CAIEC,CAAAA,CAAAA,CAAA,aAACP,CAAAA,CAAAA,CAAA,CAAO,GAAA,CAAKM,CAAS,CAAA,eAAA,CAAe,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, useState } from 'react'\n\nimport { EVENTS, 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"]}
@@ -0,0 +1,15 @@
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
15
+ //# sourceMappingURL=preview.cjs.map
@@ -0,0 +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"]}
@@ -0,0 +1,5 @@
1
+ import { ProjectAnnotations, Renderer } from '@storybook/types';
2
+
3
+ declare const preview: ProjectAnnotations<Renderer>;
4
+
5
+ export { preview as default };
package/dist/preview.js CHANGED
@@ -1,15 +1,9 @@
1
- 'use strict';
1
+ import { useGlobals } from '@storybook/preview-api';
2
+ import { createUrl } from 'playroom/utils';
3
+ import x from 'react-element-to-jsx-string';
2
4
 
3
- var previewApi = require('@storybook/preview-api');
4
- var utils = require('playroom/utils');
5
- var A = require('react-element-to-jsx-string');
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
6
 
7
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
-
9
- var A__default = /*#__PURE__*/_interopDefault(A);
10
-
11
- var p="storybook/playroom",o="playroom",c={UPDATE:`${p}/update`};var l=({url:e="http://localhost:9000",code:t="",disable:r=!1,includeDecorators:n=!1,reactElementToJSXStringOptions:s={sortProps:!1}}={})=>({url:e,code:t,disable:r,includeDecorators:n,reactElementToJSXStringOptions:s});var m=(e,t)=>{let{parameters:r,undecoratedStoryFn:n}=t,s=r[o],{url:i,code:y,includeDecorators:d,reactElementToJSXStringOptions:S}=l(s),a=e(),f=d?a:n(t),E=y||A__default.default(f,S),R=i&&utils.createUrl({baseUrl:i,code:E});return previewApi.useChannel({})(c.UPDATE,R),a};var b={decorators:[m],globals:{[o]:!1}},j=b;
12
-
13
- module.exports = j;
14
- //# sourceMappingURL=out.js.map
7
+ export { k as default };
8
+ //# sourceMappingURL=preview.js.map
15
9
  //# sourceMappingURL=preview.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/constants.ts","../src/withGlobals.ts","../src/utils.tsx","../src/preview.ts"],"names":["ADDON_ID","TAB_ID","PARAM_KEY","EVENTS","useChannel","createUrl","reactElementToJSXString","getOptions","url","code","disable","includeDecorators","reactElementToJSXStringOptions","withGlobals","StoryFn","context","parameters","undecoratedStoryFn","playroomConfig","story","storyCode","jsxString","codeUrl","preview","preview_default"],"mappings":"AAAO,IAAMA,EAAW,qBACXC,EAAS,GAAGD,QACZE,EAAY,WAEZC,EAAS,CACpB,OAAQ,GAAGH,UACb,ECNA,OAAS,cAAAI,MAAkB,yBAM3B,OAAS,aAAAC,MAAiB,iBAE1B,OAAOC,MAA6B,8BCE7B,IAAMC,EAAa,CAAC,CACzB,IAAAC,EAAM,wBACN,KAAAC,EAAO,GACP,QAAAC,EAAU,GACV,kBAAAC,EAAoB,GACpB,+BAAAC,EAAiC,CAAE,UAAW,EAAM,CACtD,EAAa,CAAC,KAA0B,CACtC,IAAAJ,EACA,KAAAC,EACA,QAAAC,EACA,kBAAAC,EACA,+BAAAC,CACF,GDTO,IAAMC,EAAc,CACzBC,EACAC,IACG,CACH,GAAM,CAAE,WAAAC,EAAY,mBAAAC,CAAmB,EAAIF,EACrCG,EAAiBF,EAAWd,CAAS,EACrC,CAAE,IAAAM,EAAK,KAAAC,EAAM,kBAAAE,EAAmB,+BAAAC,CAA+B,EACnEL,EAAWW,CAAc,EACrBC,EAAQL,EAAQ,EAChBM,EAAYT,EACdQ,EACCF,EAAmBF,CAAO,EAEzBM,EACJZ,GAAQH,EAAwBc,EAAWR,CAA8B,EACrEU,EAAUd,GAAOH,EAAU,CAAE,QAASG,EAAK,KAAMa,CAAU,CAAC,EAGlE,OADajB,EAAW,CAAC,CAAC,EACrBD,EAAO,OAAQmB,CAAO,EAEpBH,CACT,EE7BA,IAAMI,EAAwC,CAC5C,WAAY,CAACV,CAAW,EACxB,QAAS,CACP,CAACX,CAAS,EAAG,EACf,CACF,EAEOsB,EAAQD","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 { useChannel } 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 { getOptions } from './utils'\n\nexport const withGlobals = (\n StoryFn: StoryFunction<Renderer>,\n context: StoryContext<Renderer>,\n) => {\n const { parameters, undecoratedStoryFn } = context\n const playroomConfig = parameters[PARAM_KEY]\n const { url, code, includeDecorators, reactElementToJSXStringOptions } =\n getOptions(playroomConfig)\n const story = StoryFn() as ReactElement\n const storyCode = includeDecorators\n ? story\n : (undecoratedStoryFn(context) as ReactElement)\n\n const jsxString =\n code || reactElementToJSXString(storyCode, reactElementToJSXStringOptions)\n const codeUrl = url && createUrl({ baseUrl: url, code: jsxString })\n\n const emit = useChannel({})\n emit(EVENTS.UPDATE, codeUrl)\n\n return story\n}\n","import { Options as ReactElementToJSXStringOptions } from 'react-element-to-jsx-string'\n\ntype Options = {\n url?: string\n code?: string\n disable?: boolean\n includeDecorators?: boolean\n reactElementToJSXStringOptions?: ReactElementToJSXStringOptions\n}\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","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":["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"]}
package/manager.js CHANGED
@@ -1 +1 @@
1
- export * from './dist/manager'
1
+ import './dist/manager'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "storybook-addon-playroom",
3
- "version": "5.0.0",
3
+ "version": "6.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",
@@ -23,26 +23,21 @@
23
23
  "email": "rafael@rbardini.com",
24
24
  "url": "https://rbardini.com/"
25
25
  },
26
+ "type": "module",
26
27
  "exports": {
27
28
  ".": {
28
- "require": "./dist/index.js",
29
- "import": "./dist/index.mjs",
30
- "types": "./dist/index.d.ts"
31
- },
32
- "./manager": {
33
- "require": "./dist/manager.js",
34
- "import": "./dist/manager.mjs",
35
- "types": "./dist/manager.d.ts"
29
+ "types": "./dist/index.d.ts",
30
+ "import": "./dist/index.js",
31
+ "require": "./dist/index.cjs"
36
32
  },
37
33
  "./preview": {
38
- "require": "./dist/preview.js",
39
- "import": "./dist/preview.mjs",
40
- "types": "./dist/preview.d.ts"
34
+ "types": "./dist/index.d.ts",
35
+ "import": "./dist/preview.js",
36
+ "require": "./dist/preview.cjs"
41
37
  },
38
+ "./manager": "./dist/manager.js",
42
39
  "./package.json": "./package.json"
43
40
  },
44
- "main": "dist/index.js",
45
- "module": "dist/index.mjs",
46
41
  "types": "dist/index.d.ts",
47
42
  "files": [
48
43
  "dist/**/*",
@@ -54,7 +49,6 @@
54
49
  "prebuild": "npm run clean",
55
50
  "build": "tsup",
56
51
  "postbuild": "tsup --platform node",
57
- "prebuild-playroom": "GEN_SNIPPETS=1 ./bin/sb-playroom.js gen-snippets",
58
52
  "build-playroom": "playroom build",
59
53
  "build-storybook": "storybook build",
60
54
  "build:watch": "npm run build -- --watch",
@@ -63,57 +57,52 @@
63
57
  "format-check": "prettier --ignore-path .gitignore --check .",
64
58
  "package-check": "package-check",
65
59
  "playroom": "playroom",
66
- "prepare": "husky install",
60
+ "prepare": "husky",
67
61
  "start": "concurrently \"npm run build:watch\" \"npm run storybook -- --quiet\" \"npm run playroom\"",
68
62
  "storybook": "storybook dev -p 6006",
69
63
  "type-check": "tsc --noEmit"
70
64
  },
71
65
  "dependencies": {
72
- "ansi-colors": "^4.1.0",
73
- "global-jsdom": "^8.8.0",
74
- "playroom": "^0.31.0",
66
+ "playroom": "^0.38.0",
75
67
  "react-element-to-jsx-string": "^15.0.0"
76
68
  },
77
69
  "devDependencies": {
78
70
  "@skypack/package-check": "^0.2.0",
79
- "@storybook/react": "^7.0.0",
80
- "@storybook/react-vite": "^7.0.0",
81
- "@types/node": "^18.15.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",
82
80
  "@types/react": "^18.0.0",
83
- "@vitejs/plugin-react": "^3.1.0",
84
- "babel-plugin-transform-import-ignore": "^1.1.0",
81
+ "@vitejs/plugin-react": "^4.2.0",
85
82
  "concurrently": "^8.0.0",
86
- "husky": "^8.0.0",
87
- "lint-staged": "^13.2.0",
88
- "prettier": "^2.3.0",
83
+ "husky": "^9.0.0",
84
+ "lint-staged": "^15.2.0",
85
+ "prettier": "^3.1.0",
89
86
  "prettier-plugin-packagejson": "^2.4.0",
90
87
  "react": "^18.0.0",
91
88
  "react-dom": "^18.0.0",
92
- "rimraf": "^5.0.0",
93
- "storybook": "^7.0.0",
94
- "style-loader": "^3.3.0",
95
- "tsup": "^6.6.0",
96
- "typescript": "^4.9.0",
97
- "vite": "^4.1.0"
98
- },
99
- "peerDependencies": {
100
- "@storybook/babel-plugin-require-context-hook": "^1.0.0",
101
- "@storybook/core-common": "^7.0.0",
102
- "@storybook/core-webpack": "^7.0.0",
103
- "@storybook/manager-api": "^7.0.0",
104
- "@storybook/preview-api": "^7.0.0",
105
- "@storybook/theming": "^7.0.0",
106
- "@storybook/types": "^7.0.0",
107
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
108
- "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
89
+ "rimraf": "^6.0.0",
90
+ "storybook": "^8.0.0",
91
+ "style-loader": "^4.0.0",
92
+ "tsup": "^8.0.0",
93
+ "typescript": "^5.3.0",
94
+ "vite": "^5.0.0"
109
95
  },
110
- "peerDependenciesMeta": {
111
- "react": {
112
- "optional": true
113
- },
114
- "react-dom": {
115
- "optional": true
116
- }
96
+ "bundler": {
97
+ "exportEntries": [
98
+ "src/index.ts"
99
+ ],
100
+ "managerEntries": [
101
+ "src/manager.tsx"
102
+ ],
103
+ "previewEntries": [
104
+ "src/preview.ts"
105
+ ]
117
106
  },
118
107
  "storybook": {
119
108
  "displayName": "Playroom",
@@ -1,6 +0,0 @@
1
- type Options = {
2
- outFile: string;
3
- };
4
- declare const _default: (configDir: string, { outFile }: Options) => void;
5
-
6
- export { _default as default };
@@ -1,25 +0,0 @@
1
- 'use strict';
2
-
3
- var A = require('fs');
4
- var D = require('path');
5
- var Ye = require('@storybook/babel-plugin-require-context-hook/register');
6
- var coreCommon = require('@storybook/core-common');
7
- var coreWebpack = require('@storybook/core-webpack');
8
- var ansiColors = require('ansi-colors');
9
- var rr = require('global-jsdom');
10
- var tr = require('react-element-to-jsx-string');
11
-
12
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
13
-
14
- var A__default = /*#__PURE__*/_interopDefault(A);
15
- var D__default = /*#__PURE__*/_interopDefault(D);
16
- var Ye__default = /*#__PURE__*/_interopDefault(Ye);
17
- var rr__default = /*#__PURE__*/_interopDefault(rr);
18
- var tr__default = /*#__PURE__*/_interopDefault(tr);
19
-
20
- var f=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(r,t)=>(typeof require<"u"?require:r)[t]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var O=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var w=O((fr,q)=>{var S=Object.defineProperty,oe=Object.getOwnPropertyDescriptor,ne=Object.getOwnPropertyNames,ie=Object.prototype.hasOwnProperty,se=(e,r)=>{for(var t in r)S(e,t,{get:r[t],enumerable:!0});},ae=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of ne(r))!ie.call(e,o)&&o!==t&&S(e,o,{get:()=>r[o],enumerable:!(n=oe(r,o))||n.enumerable});return e},le=e=>ae(S({},"__esModule",{value:!0}),e),N={};se(N,{global:()=>pe});q.exports=le(N);var pe=(()=>{let e;return typeof window<"u"?e=window:typeof globalThis<"u"?e=globalThis:typeof global<"u"?e=global:typeof self<"u"?e=self:e={},e})();});var G=O((gr,k)=>{var ce=Object.create,v=Object.defineProperty,ue=Object.getOwnPropertyDescriptor,fe=Object.getOwnPropertyNames,ge=Object.getPrototypeOf,de=Object.prototype.hasOwnProperty,_e=(e,r)=>{for(var t in r)v(e,t,{get:r[t],enumerable:!0});},F=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of fe(r))!de.call(e,o)&&o!==t&&v(e,o,{get:()=>r[o],enumerable:!(n=ue(r,o))||n.enumerable});return e},me=(e,r,t)=>(t=e!=null?ce(ge(e)):{},F(r||!e||!e.__esModule?v(t,"default",{value:e,enumerable:!0}):t,e)),be=e=>F(v({},"__esModule",{value:!0}),e),J={};_e(J,{renderElement:()=>ye,unmountElement:()=>Oe});k.exports=be(J);var L=me(f("react-dom")),ye=async(e,r)=>new Promise(t=>{L.default.render(e,r,()=>t(null));}),Oe=e=>{L.default.unmountComponentAtNode(e);};});var W=O((dr,X)=>{var x=Object.defineProperty,we=Object.getOwnPropertyDescriptor,ve=Object.getOwnPropertyNames,he=Object.prototype.hasOwnProperty,Pe=(e,r)=>{for(var t in r)x(e,t,{get:r[t],enumerable:!0});},Ee=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of ve(r))!he.call(e,o)&&o!==t&&x(e,o,{get:()=>r[o],enumerable:!(n=we(r,o))||n.enumerable});return e},Se=e=>Ee(x({},"__esModule",{value:!0}),e),$={};Pe($,{deprecate:()=>Ce,logger:()=>h,once:()=>i,pretty:()=>l});X.exports=Se($);var je=w(),{LOGLEVEL:xe}=je.global,u={trace:1,debug:2,info:3,warn:4,error:5,silent:10},Re=xe,m=u[Re]||u.info,h={trace:(e,...r)=>{m<=u.trace&&console.trace(e,...r);},debug:(e,...r)=>{m<=u.debug&&console.debug(e,...r);},info:(e,...r)=>{m<=u.info&&console.info(e,...r);},warn:(e,...r)=>{m<=u.warn&&console.warn(e,...r);},error:(e,...r)=>{m<=u.error&&console.error(e,...r);},log:(e,...r)=>{m<u.silent&&console.log(e,...r);}},j=new Set,i=e=>(r,...t)=>{if(!j.has(r))return j.add(r),h[e](r,...t)};i.clear=()=>j.clear();i.trace=i("trace");i.debug=i("debug");i.info=i("info");i.warn=i("warn");i.error=i("error");i.log=i("log");var Ce=i("warn"),l=e=>(...r)=>{let t=[];if(r.length){let n=/<span\s+style=(['"])([^'"]*)\1\s*>/gi,o=/<\/span>/gi,s;for(t.push(r[0].replace(n,"%c").replace(o,"%c"));s=n.exec(r[0]);)t.push(s[2]),t.push("");for(let a=1;a<r.length;a++)t.push(r[a]);}h[e].apply(h,t);};l.trace=l("trace");l.debug=l("debug");l.info=l("info");l.warn=l("warn");l.error=l("error");});var ee=O((_r,y)=>{var Ae=Object.create,P=Object.defineProperty,De=Object.getOwnPropertyDescriptor,Te=Object.getOwnPropertyNames,Me=Object.getPrototypeOf,Ne=Object.prototype.hasOwnProperty,qe=(e,r)=>{for(var t in r)P(e,t,{get:r[t],enumerable:!0});},z=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of Te(r))!Ne.call(e,o)&&o!==t&&P(e,o,{get:()=>r[o],enumerable:!(n=De(r,o))||n.enumerable});return e},Fe=(e,r,t)=>(t=e!=null?Ae(Me(e)):{},z(r||!e||!e.__esModule?P(t,"default",{value:e,enumerable:!0}):t,e)),Je=e=>z(P({},"__esModule",{value:!0}),e),H={};qe(H,{composeStories:()=>Ie,composeStory:()=>Z,configure:()=>Be,forceReRender:()=>Ke,raw:()=>Ue,setGlobalConfig:()=>ze,setProjectAnnotations:()=>Q,storiesOf:()=>We});y.exports=Je(H);var Le=w(),{window:B}=Le.global;B&&(B.STORYBOOK_ENV="react");var ke=f("@storybook/preview-api"),Ge=w(),g=Fe(f("react")),R=G(),{FRAMEWORK_OPTIONS:K}=Ge.global,I=(e,r)=>{let{id:t,component:n}=r;if(!n)throw new Error(`Unable to render story ${t} as the component annotation is missing from the default export`);return g.default.createElement(n,{...e})},$e=class extends g.Component{constructor(){super(...arguments),this.state={hasError:!1};}static getDerivedStateFromError(){return {hasError:!0}}componentDidMount(){let{hasError:e}=this.state,{showMain:r}=this.props;e||r();}componentDidCatch(e){let{showException:r}=this.props;r(e);}render(){let{hasError:e}=this.state,{children:r}=this.props;return e?null:r}},U=K!=null&&K.strictMode?g.StrictMode:g.Fragment;async function Xe({storyContext:e,unboundStoryFn:r,showMain:t,showException:n,forceRemount:o},s){let a=g.default.createElement($e,{showMain:t,showException:n},g.default.createElement(r,{...e})),c=U?g.default.createElement(U,null,a):a;return o&&(0, R.unmountElement)(s),await(0, R.renderElement)(c,s),()=>(0, R.unmountElement)(s)}var Y="react",E=(0, ke.start)(Xe,{render:I}),We=(e,r)=>E.clientApi.storiesOf(e,r).addParameters({renderer:Y}),Be=(...e)=>E.configure(Y,...e),Ke=E.forceReRender,Ue=E.clientApi.raw,C=f("@storybook/preview-api"),Ve=W();function Q(e){(0, C.setProjectAnnotations)(e);}function ze(e){(0, Ve.deprecate)("setGlobalConfig is deprecated. Use setProjectAnnotations instead."),Q(e);}var He={render:I};function Z(e,r,t,n){return (0, C.composeStory)(e,r,t,He,n)}function Ie(e,r){return (0, C.composeStories)(e,r,Z)}var V;typeof y<"u"&&((V=y?.hot)==null||V.decline());});var T=(()=>{let e;return typeof window<"u"?e=window:typeof globalThis<"u"?e=globalThis:typeof global<"u"?e=global:typeof self<"u"?e=self:e={},e})();var M=({url:e="http://localhost:9000",code:r="",disable:t=!1,includeDecorators:n=!1,reactElementToJSXStringOptions:o={sortProps:!1}}={})=>({url:e,code:r,disable:t,includeDecorators:n,reactElementToJSXStringOptions:o});Ye__default.default();rr__default.default();var b=ee(),or=e=>{try{return A__default.default.lstatSync(e).isFile()}catch{return !1}},nr=["ts","tsx","js","jsx"],re=(e,r)=>r.flatMap(t=>nr.map(n=>D__default.default.join(e,`${t}.${n}`))).find(or)||!1,ir=e=>re(e,["preview","config"]),sr=e=>re(e,["main"]),ar=e=>{let r=D__default.default.resolve(e);if(A__default.default.lstatSync(r).isDirectory()){let t={},n=ir(r),o=sr(r);if(n&&(t.preview=n),o){let{stories:s=[]}=f(o).default,a=process.cwd();t.stories=s.map(c=>{let d=coreCommon.normalizeStoriesEntry(c,{configDir:r,workingDir:a}),{path:_,recursive:p,match:te}=coreWebpack.toRequireContext(d);return T.__requireContext(a,_,p,te)});}return t}return {preview:r}},lr=e=>{let{configDir:r}=e,{preview:t,stories:n}=ar(r);if(t){let{parameters:o,decorators:s,globals:a,globalTypes:c,argsEnhancers:d,argTypesEnhancers:_}=f(t);s&&s.forEach(p=>b.addDecorator(p)),(o||a||c)&&b.addParameters({...o,globals:a,globalTypes:c}),d&&d.forEach(p=>b.addArgsEnhancer(p)),_&&_.forEach(p=>b.addArgTypesEnhancer(p));}n?.length>0&&b.configure(n,!1,!1);},xr=(e,{outFile:r})=>{lr({configDir:e});let t=b.raw().map(({kind:o,name:s,storyFn:a,parameters:{playroom:c}={}})=>{let{disable:d,reactElementToJSXStringOptions:_}=M(c);if(d)return;console.log(`Generating ${ansiColors.yellow([o,s].join("/"))} snippet...`);let p=tr__default.default(a(),_);return {group:o,name:s,code:p}}).filter(Boolean),n=t.length;A__default.default.writeFileSync(D__default.default.resolve(process.cwd(),r),JSON.stringify(t,null,2)),console.log(`
21
- ${n} ${n===1?"snippet":"snippets"} generated.`);};
22
-
23
- module.exports = xr;
24
- //# sourceMappingURL=out.js.map
25
- //# sourceMappingURL=generateSnippets.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../node_modules/@storybook/global/dist/index.js","../node_modules/@storybook/react-dom-shim/dist/react-16.js","../node_modules/@storybook/client-logger/dist/index.js","../node_modules/@storybook/react/dist/index.js","../src/generateSnippets.ts","../node_modules/@storybook/global/dist/index.mjs","../src/utils.tsx"],"names":["require_dist","__commonJSMin","exports","module","__defProp","__getOwnPropDesc","__getOwnPropNames","__hasOwnProp","__export","target","all","name","__copyProps","to","from","except","desc","key","__toCommonJS","mod","src_exports","scope","win","require_react_16","__create","__getProtoOf","__toESM","isNodeMode","react_16_exports","renderElement","unmountElement","import_react_dom","node","el","resolve","deprecate","logger","once","pretty","import_global","LOGLEVEL","levels","currentLogLevelString","currentLogLevelNumber","message","rest","logged","type","args","argArray","startTagRe","endTagRe","reResultArray","j","composeStories","composeStory","configure","forceReRender","raw","setGlobalConfig","setProjectAnnotations","storiesOf","globalWindow","import_preview_api","import_global2","import_react","import_react_dom_shim","FRAMEWORK_OPTIONS","render","context","id","Component","ErrorBoundary","hasError","showMain","err","showException","children","Wrapper","renderToCanvas","storyContext","unboundStoryFn","forceRemount","canvasElement","content","element","RENDERER","api","kind","m","import_preview_api2","import_client_logger","projectAnnotations","defaultProjectAnnotations","story","componentAnnotations","exportsName","csfExports","_a","fs","path","registerRequireContextHook","normalizeStoriesEntry","toRequireContext","yellow","registerGlobalJSDOM","reactElementToJSXString","getOptions","url","code","disable","includeDecorators","reactElementToJSXStringOptions","storybook","isFile","file","extensions","resolveFile","configDir","filenames","filename","ext","getPreviewFile","getMainFile","getConfigPathParts","input","output","preview","main","stories","__require","workingDir","entry","specifier","basePath","recursive","match","options","parameters","decorators","globals","globalTypes","argsEnhancers","argTypesEnhancers","decorator","enhancer","generateSnippets_default","outFile","snippets","group","storyFn","playroom","count"],"mappings":"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","sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar src_exports = {};\n__export(src_exports, {\n global: () => scope\n});\nmodule.exports = __toCommonJS(src_exports);\nvar scope = (() => {\n let win;\n if (typeof window !== \"undefined\") {\n win = window;\n } else if (typeof globalThis !== \"undefined\") {\n win = globalThis;\n } else if (typeof global !== \"undefined\") {\n win = global;\n } else if (typeof self !== \"undefined\") {\n win = self;\n } else {\n win = {};\n }\n return win;\n})();\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n global\n});\n","\"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 __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 __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,\"default\",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},\"__esModule\",{value:!0}),mod);var react_16_exports={};__export(react_16_exports,{renderElement:()=>renderElement,unmountElement:()=>unmountElement});module.exports=__toCommonJS(react_16_exports);var import_react_dom=__toESM(require(\"react-dom\")),renderElement=async(node,el)=>new Promise(resolve=>{import_react_dom.default.render(node,el,()=>resolve(null))}),unmountElement=el=>{import_react_dom.default.unmountComponentAtNode(el)};0&&(module.exports={renderElement,unmountElement});\n","\"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 src_exports={};__export(src_exports,{deprecate:()=>deprecate,logger:()=>logger,once:()=>once,pretty:()=>pretty});module.exports=__toCommonJS(src_exports);var import_global=require(\"@storybook/global\"),{LOGLEVEL}=import_global.global,levels={trace:1,debug:2,info:3,warn:4,error:5,silent:10},currentLogLevelString=LOGLEVEL,currentLogLevelNumber=levels[currentLogLevelString]||levels.info,logger={trace:(message,...rest)=>{currentLogLevelNumber<=levels.trace&&console.trace(message,...rest)},debug:(message,...rest)=>{currentLogLevelNumber<=levels.debug&&console.debug(message,...rest)},info:(message,...rest)=>{currentLogLevelNumber<=levels.info&&console.info(message,...rest)},warn:(message,...rest)=>{currentLogLevelNumber<=levels.warn&&console.warn(message,...rest)},error:(message,...rest)=>{currentLogLevelNumber<=levels.error&&console.error(message,...rest)},log:(message,...rest)=>{currentLogLevelNumber<levels.silent&&console.log(message,...rest)}},logged=new Set,once=type=>(message,...rest)=>{if(!logged.has(message))return logged.add(message),logger[type](message,...rest)};once.clear=()=>logged.clear();once.trace=once(\"trace\");once.debug=once(\"debug\");once.info=once(\"info\");once.warn=once(\"warn\");once.error=once(\"error\");once.log=once(\"log\");var deprecate=once(\"warn\"),pretty=type=>(...args)=>{let argArray=[];if(args.length){let startTagRe=/<span\\s+style=(['\"])([^'\"]*)\\1\\s*>/gi,endTagRe=/<\\/span>/gi,reResultArray;for(argArray.push(args[0].replace(startTagRe,\"%c\").replace(endTagRe,\"%c\"));reResultArray=startTagRe.exec(args[0]);)argArray.push(reResultArray[2]),argArray.push(\"\");for(let j=1;j<args.length;j++)argArray.push(args[j])}logger[type].apply(logger,argArray)};pretty.trace=pretty(\"trace\");pretty.debug=pretty(\"debug\");pretty.info=pretty(\"info\");pretty.warn=pretty(\"warn\");pretty.error=pretty(\"error\");0&&(module.exports={deprecate,logger,once,pretty});\n","\"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 __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 __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,\"default\",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},\"__esModule\",{value:!0}),mod);var src_exports={};__export(src_exports,{composeStories:()=>composeStories,composeStory:()=>composeStory,configure:()=>configure,forceReRender:()=>forceReRender,raw:()=>raw,setGlobalConfig:()=>setGlobalConfig,setProjectAnnotations:()=>setProjectAnnotations,storiesOf:()=>storiesOf});module.exports=__toCommonJS(src_exports);var import_global=require(\"@storybook/global\"),{window:globalWindow}=import_global.global;globalWindow&&(globalWindow.STORYBOOK_ENV=\"react\");var import_preview_api=require(\"@storybook/preview-api\");var import_global2=require(\"@storybook/global\"),import_react=__toESM(require(\"react\")),import_react_dom_shim=require(\"@storybook/react-dom-shim\"),{FRAMEWORK_OPTIONS}=import_global2.global,render=(args,context)=>{let{id,component:Component}=context;if(!Component)throw new Error(`Unable to render story ${id} as the component annotation is missing from the default export`);return import_react.default.createElement(Component,{...args})},ErrorBoundary=class extends import_react.Component{constructor(){super(...arguments);this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidMount(){let{hasError}=this.state,{showMain}=this.props;hasError||showMain()}componentDidCatch(err){let{showException}=this.props;showException(err)}render(){let{hasError}=this.state,{children}=this.props;return hasError?null:children}},Wrapper=FRAMEWORK_OPTIONS!=null&&FRAMEWORK_OPTIONS.strictMode?import_react.StrictMode:import_react.Fragment;async function renderToCanvas({storyContext,unboundStoryFn,showMain,showException,forceRemount},canvasElement){let content=import_react.default.createElement(ErrorBoundary,{showMain,showException},import_react.default.createElement(unboundStoryFn,{...storyContext})),element=Wrapper?import_react.default.createElement(Wrapper,null,content):content;return forceRemount&&(0,import_react_dom_shim.unmountElement)(canvasElement),await(0,import_react_dom_shim.renderElement)(element,canvasElement),()=>(0,import_react_dom_shim.unmountElement)(canvasElement)}var RENDERER=\"react\",api=(0,import_preview_api.start)(renderToCanvas,{render}),storiesOf=(kind,m)=>api.clientApi.storiesOf(kind,m).addParameters({renderer:RENDERER}),configure=(...args)=>api.configure(RENDERER,...args),forceReRender=api.forceReRender,raw=api.clientApi.raw;var import_preview_api2=require(\"@storybook/preview-api\"),import_client_logger=require(\"@storybook/client-logger\");function setProjectAnnotations(projectAnnotations){(0,import_preview_api2.setProjectAnnotations)(projectAnnotations)}function setGlobalConfig(projectAnnotations){(0,import_client_logger.deprecate)(\"setGlobalConfig is deprecated. Use setProjectAnnotations instead.\"),setProjectAnnotations(projectAnnotations)}var defaultProjectAnnotations={render};function composeStory(story,componentAnnotations,projectAnnotations,exportsName){return(0,import_preview_api2.composeStory)(story,componentAnnotations,projectAnnotations,defaultProjectAnnotations,exportsName)}function composeStories(csfExports,projectAnnotations){return(0,import_preview_api2.composeStories)(csfExports,projectAnnotations,composeStory)}var _a;typeof module<\"u\"&&((_a=module==null?void 0:module.hot)==null||_a.decline());0&&(module.exports={composeStories,composeStory,configure,forceReRender,raw,setGlobalConfig,setProjectAnnotations,storiesOf});\n","// Based on https://github.com/storybookjs/storybook/blob/next/addons/storyshots/storyshots-core/src/frameworks/configure.ts\nimport fs from 'node:fs'\nimport path from 'node:path'\n// @ts-expect-error\nimport registerRequireContextHook from '@storybook/babel-plugin-require-context-hook/register'\nimport { normalizeStoriesEntry } from '@storybook/core-common'\nimport { toRequireContext } from '@storybook/core-webpack'\nimport { global } from '@storybook/global'\nimport { ClientApi } from '@storybook/preview-api'\nimport {\n Addon_Loadable,\n ArgTypesEnhancer,\n ArgsEnhancer,\n DecoratorFunction,\n Renderer,\n StoriesEntry,\n} from '@storybook/types'\nimport { yellow } from 'ansi-colors'\nimport registerGlobalJSDOM from 'global-jsdom'\nimport { ReactNode } from 'react'\nimport reactElementToJSXString from 'react-element-to-jsx-string'\n\nimport { getOptions } from './utils'\n\ninterface ConfigurableClientApi extends ClientApi<Renderer> {\n configure(\n loader: Addon_Loadable,\n module: NodeModule | false,\n showDeprecationWarning?: boolean,\n ): void\n}\n\ntype Output = {\n preview?: string\n stories?: string[]\n}\n\ntype Configuration = {\n configDir?: string\n}\n\ntype Options = {\n outFile: string\n}\n\nregisterRequireContextHook()\nregisterGlobalJSDOM()\n\nconst storybook = require('@storybook/react') as ConfigurableClientApi\n\nconst isFile = (file: string) => {\n try {\n return fs.lstatSync(file).isFile()\n } catch (err) {\n return false\n }\n}\n\nconst extensions = ['ts', 'tsx', 'js', 'jsx']\n\nconst resolveFile = (configDir: string, filenames: string[]) =>\n filenames\n .flatMap(filename =>\n extensions.map(ext => path.join(configDir, `${filename}.${ext}`)),\n )\n .find(isFile) || false\n\nconst getPreviewFile = (configDir: string) =>\n resolveFile(configDir, ['preview', 'config'])\n\nconst getMainFile = (configDir: string) => resolveFile(configDir, ['main'])\n\nconst getConfigPathParts = (input: string): Output => {\n const configDir = path.resolve(input)\n\n if (fs.lstatSync(configDir).isDirectory()) {\n const output: Output = {}\n const preview = getPreviewFile(configDir)\n const main = getMainFile(configDir)\n\n if (preview) {\n output.preview = preview\n }\n\n if (main) {\n const { stories = [] } = require(main).default\n const workingDir = process.cwd()\n\n output.stories = stories.map((entry: StoriesEntry) => {\n const specifier = normalizeStoriesEntry(entry, {\n configDir,\n workingDir,\n })\n const { path: basePath, recursive, match } = toRequireContext(specifier)\n\n // @ts-expect-error\n return global.__requireContext(workingDir, basePath, recursive, match)\n })\n }\n\n return output\n }\n\n return { preview: configDir }\n}\n\nconst configure = (options: Configuration) => {\n const { configDir } = options\n const { preview, stories } = getConfigPathParts(configDir)\n\n if (preview) {\n const {\n parameters,\n decorators,\n globals,\n globalTypes,\n argsEnhancers,\n argTypesEnhancers,\n } = require(preview)\n\n if (decorators) {\n decorators.forEach((decorator: DecoratorFunction) =>\n storybook.addDecorator(decorator),\n )\n }\n\n if (parameters || globals || globalTypes) {\n storybook.addParameters({ ...parameters, globals, globalTypes })\n }\n\n if (argsEnhancers) {\n argsEnhancers.forEach((enhancer: ArgsEnhancer) =>\n storybook.addArgsEnhancer(enhancer),\n )\n }\n\n if (argTypesEnhancers) {\n argTypesEnhancers.forEach((enhancer: ArgTypesEnhancer) =>\n storybook.addArgTypesEnhancer(enhancer),\n )\n }\n }\n\n if (stories?.length > 0) {\n storybook.configure(stories, false, false)\n }\n}\n\nexport default (configDir: string, { outFile }: Options) => {\n configure({\n configDir,\n })\n\n const snippets = storybook\n .raw()\n .map(({ kind: group, name, storyFn, parameters: { playroom } = {} }) => {\n const { disable, reactElementToJSXStringOptions } = getOptions(playroom)\n\n if (disable) {\n return undefined\n }\n\n console.log(`Generating ${yellow([group, name].join('/'))} snippet...`)\n\n const code = reactElementToJSXString(\n storyFn() as ReactNode,\n reactElementToJSXStringOptions,\n )\n\n return { group, name, code }\n })\n .filter(Boolean)\n const count = snippets.length\n\n fs.writeFileSync(\n path.resolve(process.cwd(), outFile),\n JSON.stringify(snippets, null, 2),\n )\n\n console.log(`\\n${count} ${count === 1 ? 'snippet' : 'snippets'} generated.`)\n}\n","// src/index.ts\nvar scope = (() => {\n let win;\n if (typeof window !== \"undefined\") {\n win = window;\n } else if (typeof globalThis !== \"undefined\") {\n win = globalThis;\n } else if (typeof global !== \"undefined\") {\n win = global;\n } else if (typeof self !== \"undefined\") {\n win = self;\n } else {\n win = {};\n }\n return win;\n})();\nexport {\n scope as global\n};\n","import { Options as ReactElementToJSXStringOptions } from 'react-element-to-jsx-string'\n\ntype Options = {\n url?: string\n code?: string\n disable?: boolean\n includeDecorators?: boolean\n reactElementToJSXStringOptions?: ReactElementToJSXStringOptions\n}\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"]}
@@ -1,15 +0,0 @@
1
- import A from 'fs';
2
- import D from 'path';
3
- import Ye from '@storybook/babel-plugin-require-context-hook/register';
4
- import { normalizeStoriesEntry } from '@storybook/core-common';
5
- import { toRequireContext } from '@storybook/core-webpack';
6
- import { yellow } from 'ansi-colors';
7
- import rr from 'global-jsdom';
8
- import tr from 'react-element-to-jsx-string';
9
-
10
- var f=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(r,t)=>(typeof require<"u"?require:r)[t]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var O=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var w=O((fr,q)=>{var S=Object.defineProperty,oe=Object.getOwnPropertyDescriptor,ne=Object.getOwnPropertyNames,ie=Object.prototype.hasOwnProperty,se=(e,r)=>{for(var t in r)S(e,t,{get:r[t],enumerable:!0});},ae=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of ne(r))!ie.call(e,o)&&o!==t&&S(e,o,{get:()=>r[o],enumerable:!(n=oe(r,o))||n.enumerable});return e},le=e=>ae(S({},"__esModule",{value:!0}),e),N={};se(N,{global:()=>pe});q.exports=le(N);var pe=(()=>{let e;return typeof window<"u"?e=window:typeof globalThis<"u"?e=globalThis:typeof global<"u"?e=global:typeof self<"u"?e=self:e={},e})();});var G=O((gr,k)=>{var ce=Object.create,v=Object.defineProperty,ue=Object.getOwnPropertyDescriptor,fe=Object.getOwnPropertyNames,ge=Object.getPrototypeOf,de=Object.prototype.hasOwnProperty,_e=(e,r)=>{for(var t in r)v(e,t,{get:r[t],enumerable:!0});},F=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of fe(r))!de.call(e,o)&&o!==t&&v(e,o,{get:()=>r[o],enumerable:!(n=ue(r,o))||n.enumerable});return e},me=(e,r,t)=>(t=e!=null?ce(ge(e)):{},F(r||!e||!e.__esModule?v(t,"default",{value:e,enumerable:!0}):t,e)),be=e=>F(v({},"__esModule",{value:!0}),e),J={};_e(J,{renderElement:()=>ye,unmountElement:()=>Oe});k.exports=be(J);var L=me(f("react-dom")),ye=async(e,r)=>new Promise(t=>{L.default.render(e,r,()=>t(null));}),Oe=e=>{L.default.unmountComponentAtNode(e);};});var W=O((dr,X)=>{var x=Object.defineProperty,we=Object.getOwnPropertyDescriptor,ve=Object.getOwnPropertyNames,he=Object.prototype.hasOwnProperty,Pe=(e,r)=>{for(var t in r)x(e,t,{get:r[t],enumerable:!0});},Ee=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of ve(r))!he.call(e,o)&&o!==t&&x(e,o,{get:()=>r[o],enumerable:!(n=we(r,o))||n.enumerable});return e},Se=e=>Ee(x({},"__esModule",{value:!0}),e),$={};Pe($,{deprecate:()=>Ce,logger:()=>h,once:()=>i,pretty:()=>l});X.exports=Se($);var je=w(),{LOGLEVEL:xe}=je.global,u={trace:1,debug:2,info:3,warn:4,error:5,silent:10},Re=xe,m=u[Re]||u.info,h={trace:(e,...r)=>{m<=u.trace&&console.trace(e,...r);},debug:(e,...r)=>{m<=u.debug&&console.debug(e,...r);},info:(e,...r)=>{m<=u.info&&console.info(e,...r);},warn:(e,...r)=>{m<=u.warn&&console.warn(e,...r);},error:(e,...r)=>{m<=u.error&&console.error(e,...r);},log:(e,...r)=>{m<u.silent&&console.log(e,...r);}},j=new Set,i=e=>(r,...t)=>{if(!j.has(r))return j.add(r),h[e](r,...t)};i.clear=()=>j.clear();i.trace=i("trace");i.debug=i("debug");i.info=i("info");i.warn=i("warn");i.error=i("error");i.log=i("log");var Ce=i("warn"),l=e=>(...r)=>{let t=[];if(r.length){let n=/<span\s+style=(['"])([^'"]*)\1\s*>/gi,o=/<\/span>/gi,s;for(t.push(r[0].replace(n,"%c").replace(o,"%c"));s=n.exec(r[0]);)t.push(s[2]),t.push("");for(let a=1;a<r.length;a++)t.push(r[a]);}h[e].apply(h,t);};l.trace=l("trace");l.debug=l("debug");l.info=l("info");l.warn=l("warn");l.error=l("error");});var ee=O((_r,y)=>{var Ae=Object.create,P=Object.defineProperty,De=Object.getOwnPropertyDescriptor,Te=Object.getOwnPropertyNames,Me=Object.getPrototypeOf,Ne=Object.prototype.hasOwnProperty,qe=(e,r)=>{for(var t in r)P(e,t,{get:r[t],enumerable:!0});},z=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of Te(r))!Ne.call(e,o)&&o!==t&&P(e,o,{get:()=>r[o],enumerable:!(n=De(r,o))||n.enumerable});return e},Fe=(e,r,t)=>(t=e!=null?Ae(Me(e)):{},z(r||!e||!e.__esModule?P(t,"default",{value:e,enumerable:!0}):t,e)),Je=e=>z(P({},"__esModule",{value:!0}),e),H={};qe(H,{composeStories:()=>Ie,composeStory:()=>Z,configure:()=>Be,forceReRender:()=>Ke,raw:()=>Ue,setGlobalConfig:()=>ze,setProjectAnnotations:()=>Q,storiesOf:()=>We});y.exports=Je(H);var Le=w(),{window:B}=Le.global;B&&(B.STORYBOOK_ENV="react");var ke=f("@storybook/preview-api"),Ge=w(),g=Fe(f("react")),R=G(),{FRAMEWORK_OPTIONS:K}=Ge.global,I=(e,r)=>{let{id:t,component:n}=r;if(!n)throw new Error(`Unable to render story ${t} as the component annotation is missing from the default export`);return g.default.createElement(n,{...e})},$e=class extends g.Component{constructor(){super(...arguments),this.state={hasError:!1};}static getDerivedStateFromError(){return {hasError:!0}}componentDidMount(){let{hasError:e}=this.state,{showMain:r}=this.props;e||r();}componentDidCatch(e){let{showException:r}=this.props;r(e);}render(){let{hasError:e}=this.state,{children:r}=this.props;return e?null:r}},U=K!=null&&K.strictMode?g.StrictMode:g.Fragment;async function Xe({storyContext:e,unboundStoryFn:r,showMain:t,showException:n,forceRemount:o},s){let a=g.default.createElement($e,{showMain:t,showException:n},g.default.createElement(r,{...e})),c=U?g.default.createElement(U,null,a):a;return o&&(0, R.unmountElement)(s),await(0, R.renderElement)(c,s),()=>(0, R.unmountElement)(s)}var Y="react",E=(0, ke.start)(Xe,{render:I}),We=(e,r)=>E.clientApi.storiesOf(e,r).addParameters({renderer:Y}),Be=(...e)=>E.configure(Y,...e),Ke=E.forceReRender,Ue=E.clientApi.raw,C=f("@storybook/preview-api"),Ve=W();function Q(e){(0, C.setProjectAnnotations)(e);}function ze(e){(0, Ve.deprecate)("setGlobalConfig is deprecated. Use setProjectAnnotations instead."),Q(e);}var He={render:I};function Z(e,r,t,n){return (0, C.composeStory)(e,r,t,He,n)}function Ie(e,r){return (0, C.composeStories)(e,r,Z)}var V;typeof y<"u"&&((V=y?.hot)==null||V.decline());});var T=(()=>{let e;return typeof window<"u"?e=window:typeof globalThis<"u"?e=globalThis:typeof global<"u"?e=global:typeof self<"u"?e=self:e={},e})();var M=({url:e="http://localhost:9000",code:r="",disable:t=!1,includeDecorators:n=!1,reactElementToJSXStringOptions:o={sortProps:!1}}={})=>({url:e,code:r,disable:t,includeDecorators:n,reactElementToJSXStringOptions:o});Ye();rr();var b=ee(),or=e=>{try{return A.lstatSync(e).isFile()}catch{return !1}},nr=["ts","tsx","js","jsx"],re=(e,r)=>r.flatMap(t=>nr.map(n=>D.join(e,`${t}.${n}`))).find(or)||!1,ir=e=>re(e,["preview","config"]),sr=e=>re(e,["main"]),ar=e=>{let r=D.resolve(e);if(A.lstatSync(r).isDirectory()){let t={},n=ir(r),o=sr(r);if(n&&(t.preview=n),o){let{stories:s=[]}=f(o).default,a=process.cwd();t.stories=s.map(c=>{let d=normalizeStoriesEntry(c,{configDir:r,workingDir:a}),{path:_,recursive:p,match:te}=toRequireContext(d);return T.__requireContext(a,_,p,te)});}return t}return {preview:r}},lr=e=>{let{configDir:r}=e,{preview:t,stories:n}=ar(r);if(t){let{parameters:o,decorators:s,globals:a,globalTypes:c,argsEnhancers:d,argTypesEnhancers:_}=f(t);s&&s.forEach(p=>b.addDecorator(p)),(o||a||c)&&b.addParameters({...o,globals:a,globalTypes:c}),d&&d.forEach(p=>b.addArgsEnhancer(p)),_&&_.forEach(p=>b.addArgTypesEnhancer(p));}n?.length>0&&b.configure(n,!1,!1);},xr=(e,{outFile:r})=>{lr({configDir:e});let t=b.raw().map(({kind:o,name:s,storyFn:a,parameters:{playroom:c}={}})=>{let{disable:d,reactElementToJSXStringOptions:_}=M(c);if(d)return;console.log(`Generating ${yellow([o,s].join("/"))} snippet...`);let p=tr(a(),_);return {group:o,name:s,code:p}}).filter(Boolean),n=t.length;A.writeFileSync(D.resolve(process.cwd(),r),JSON.stringify(t,null,2)),console.log(`
11
- ${n} ${n===1?"snippet":"snippets"} generated.`);};
12
-
13
- export { xr as default };
14
- //# sourceMappingURL=out.js.map
15
- //# sourceMappingURL=generateSnippets.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../node_modules/@storybook/global/dist/index.js","../node_modules/@storybook/react-dom-shim/dist/react-16.js","../node_modules/@storybook/client-logger/dist/index.js","../node_modules/@storybook/react/dist/index.js","../src/generateSnippets.ts","../node_modules/@storybook/global/dist/index.mjs","../src/utils.tsx"],"names":["require_dist","__commonJSMin","exports","module","__defProp","__getOwnPropDesc","__getOwnPropNames","__hasOwnProp","__export","target","all","name","__copyProps","to","from","except","desc","key","__toCommonJS","mod","src_exports","scope","win","require_react_16","__create","__getProtoOf","__toESM","isNodeMode","react_16_exports","renderElement","unmountElement","import_react_dom","node","el","resolve","deprecate","logger","once","pretty","import_global","LOGLEVEL","levels","currentLogLevelString","currentLogLevelNumber","message","rest","logged","type","args","argArray","startTagRe","endTagRe","reResultArray","j","composeStories","composeStory","configure","forceReRender","raw","setGlobalConfig","setProjectAnnotations","storiesOf","globalWindow","import_preview_api","import_global2","import_react","import_react_dom_shim","FRAMEWORK_OPTIONS","render","context","id","Component","ErrorBoundary","hasError","showMain","err","showException","children","Wrapper","renderToCanvas","storyContext","unboundStoryFn","forceRemount","canvasElement","content","element","RENDERER","api","kind","m","import_preview_api2","import_client_logger","projectAnnotations","defaultProjectAnnotations","story","componentAnnotations","exportsName","csfExports","_a","fs","path","registerRequireContextHook","normalizeStoriesEntry","toRequireContext","yellow","registerGlobalJSDOM","reactElementToJSXString","getOptions","url","code","disable","includeDecorators","reactElementToJSXStringOptions","storybook","isFile","file","extensions","resolveFile","configDir","filenames","filename","ext","getPreviewFile","getMainFile","getConfigPathParts","input","output","preview","main","stories","__require","workingDir","entry","specifier","basePath","recursive","match","options","parameters","decorators","globals","globalTypes","argsEnhancers","argTypesEnhancers","decorator","enhancer","generateSnippets_default","outFile","snippets","group","storyFn","playroom","count"],"mappings":"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","sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar src_exports = {};\n__export(src_exports, {\n global: () => scope\n});\nmodule.exports = __toCommonJS(src_exports);\nvar scope = (() => {\n let win;\n if (typeof window !== \"undefined\") {\n win = window;\n } else if (typeof globalThis !== \"undefined\") {\n win = globalThis;\n } else if (typeof global !== \"undefined\") {\n win = global;\n } else if (typeof self !== \"undefined\") {\n win = self;\n } else {\n win = {};\n }\n return win;\n})();\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n global\n});\n","\"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 __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 __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,\"default\",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},\"__esModule\",{value:!0}),mod);var react_16_exports={};__export(react_16_exports,{renderElement:()=>renderElement,unmountElement:()=>unmountElement});module.exports=__toCommonJS(react_16_exports);var import_react_dom=__toESM(require(\"react-dom\")),renderElement=async(node,el)=>new Promise(resolve=>{import_react_dom.default.render(node,el,()=>resolve(null))}),unmountElement=el=>{import_react_dom.default.unmountComponentAtNode(el)};0&&(module.exports={renderElement,unmountElement});\n","\"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 src_exports={};__export(src_exports,{deprecate:()=>deprecate,logger:()=>logger,once:()=>once,pretty:()=>pretty});module.exports=__toCommonJS(src_exports);var import_global=require(\"@storybook/global\"),{LOGLEVEL}=import_global.global,levels={trace:1,debug:2,info:3,warn:4,error:5,silent:10},currentLogLevelString=LOGLEVEL,currentLogLevelNumber=levels[currentLogLevelString]||levels.info,logger={trace:(message,...rest)=>{currentLogLevelNumber<=levels.trace&&console.trace(message,...rest)},debug:(message,...rest)=>{currentLogLevelNumber<=levels.debug&&console.debug(message,...rest)},info:(message,...rest)=>{currentLogLevelNumber<=levels.info&&console.info(message,...rest)},warn:(message,...rest)=>{currentLogLevelNumber<=levels.warn&&console.warn(message,...rest)},error:(message,...rest)=>{currentLogLevelNumber<=levels.error&&console.error(message,...rest)},log:(message,...rest)=>{currentLogLevelNumber<levels.silent&&console.log(message,...rest)}},logged=new Set,once=type=>(message,...rest)=>{if(!logged.has(message))return logged.add(message),logger[type](message,...rest)};once.clear=()=>logged.clear();once.trace=once(\"trace\");once.debug=once(\"debug\");once.info=once(\"info\");once.warn=once(\"warn\");once.error=once(\"error\");once.log=once(\"log\");var deprecate=once(\"warn\"),pretty=type=>(...args)=>{let argArray=[];if(args.length){let startTagRe=/<span\\s+style=(['\"])([^'\"]*)\\1\\s*>/gi,endTagRe=/<\\/span>/gi,reResultArray;for(argArray.push(args[0].replace(startTagRe,\"%c\").replace(endTagRe,\"%c\"));reResultArray=startTagRe.exec(args[0]);)argArray.push(reResultArray[2]),argArray.push(\"\");for(let j=1;j<args.length;j++)argArray.push(args[j])}logger[type].apply(logger,argArray)};pretty.trace=pretty(\"trace\");pretty.debug=pretty(\"debug\");pretty.info=pretty(\"info\");pretty.warn=pretty(\"warn\");pretty.error=pretty(\"error\");0&&(module.exports={deprecate,logger,once,pretty});\n","\"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 __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 __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,\"default\",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},\"__esModule\",{value:!0}),mod);var src_exports={};__export(src_exports,{composeStories:()=>composeStories,composeStory:()=>composeStory,configure:()=>configure,forceReRender:()=>forceReRender,raw:()=>raw,setGlobalConfig:()=>setGlobalConfig,setProjectAnnotations:()=>setProjectAnnotations,storiesOf:()=>storiesOf});module.exports=__toCommonJS(src_exports);var import_global=require(\"@storybook/global\"),{window:globalWindow}=import_global.global;globalWindow&&(globalWindow.STORYBOOK_ENV=\"react\");var import_preview_api=require(\"@storybook/preview-api\");var import_global2=require(\"@storybook/global\"),import_react=__toESM(require(\"react\")),import_react_dom_shim=require(\"@storybook/react-dom-shim\"),{FRAMEWORK_OPTIONS}=import_global2.global,render=(args,context)=>{let{id,component:Component}=context;if(!Component)throw new Error(`Unable to render story ${id} as the component annotation is missing from the default export`);return import_react.default.createElement(Component,{...args})},ErrorBoundary=class extends import_react.Component{constructor(){super(...arguments);this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidMount(){let{hasError}=this.state,{showMain}=this.props;hasError||showMain()}componentDidCatch(err){let{showException}=this.props;showException(err)}render(){let{hasError}=this.state,{children}=this.props;return hasError?null:children}},Wrapper=FRAMEWORK_OPTIONS!=null&&FRAMEWORK_OPTIONS.strictMode?import_react.StrictMode:import_react.Fragment;async function renderToCanvas({storyContext,unboundStoryFn,showMain,showException,forceRemount},canvasElement){let content=import_react.default.createElement(ErrorBoundary,{showMain,showException},import_react.default.createElement(unboundStoryFn,{...storyContext})),element=Wrapper?import_react.default.createElement(Wrapper,null,content):content;return forceRemount&&(0,import_react_dom_shim.unmountElement)(canvasElement),await(0,import_react_dom_shim.renderElement)(element,canvasElement),()=>(0,import_react_dom_shim.unmountElement)(canvasElement)}var RENDERER=\"react\",api=(0,import_preview_api.start)(renderToCanvas,{render}),storiesOf=(kind,m)=>api.clientApi.storiesOf(kind,m).addParameters({renderer:RENDERER}),configure=(...args)=>api.configure(RENDERER,...args),forceReRender=api.forceReRender,raw=api.clientApi.raw;var import_preview_api2=require(\"@storybook/preview-api\"),import_client_logger=require(\"@storybook/client-logger\");function setProjectAnnotations(projectAnnotations){(0,import_preview_api2.setProjectAnnotations)(projectAnnotations)}function setGlobalConfig(projectAnnotations){(0,import_client_logger.deprecate)(\"setGlobalConfig is deprecated. Use setProjectAnnotations instead.\"),setProjectAnnotations(projectAnnotations)}var defaultProjectAnnotations={render};function composeStory(story,componentAnnotations,projectAnnotations,exportsName){return(0,import_preview_api2.composeStory)(story,componentAnnotations,projectAnnotations,defaultProjectAnnotations,exportsName)}function composeStories(csfExports,projectAnnotations){return(0,import_preview_api2.composeStories)(csfExports,projectAnnotations,composeStory)}var _a;typeof module<\"u\"&&((_a=module==null?void 0:module.hot)==null||_a.decline());0&&(module.exports={composeStories,composeStory,configure,forceReRender,raw,setGlobalConfig,setProjectAnnotations,storiesOf});\n","// Based on https://github.com/storybookjs/storybook/blob/next/addons/storyshots/storyshots-core/src/frameworks/configure.ts\nimport fs from 'node:fs'\nimport path from 'node:path'\n// @ts-expect-error\nimport registerRequireContextHook from '@storybook/babel-plugin-require-context-hook/register'\nimport { normalizeStoriesEntry } from '@storybook/core-common'\nimport { toRequireContext } from '@storybook/core-webpack'\nimport { global } from '@storybook/global'\nimport { ClientApi } from '@storybook/preview-api'\nimport {\n Addon_Loadable,\n ArgTypesEnhancer,\n ArgsEnhancer,\n DecoratorFunction,\n Renderer,\n StoriesEntry,\n} from '@storybook/types'\nimport { yellow } from 'ansi-colors'\nimport registerGlobalJSDOM from 'global-jsdom'\nimport { ReactNode } from 'react'\nimport reactElementToJSXString from 'react-element-to-jsx-string'\n\nimport { getOptions } from './utils'\n\ninterface ConfigurableClientApi extends ClientApi<Renderer> {\n configure(\n loader: Addon_Loadable,\n module: NodeModule | false,\n showDeprecationWarning?: boolean,\n ): void\n}\n\ntype Output = {\n preview?: string\n stories?: string[]\n}\n\ntype Configuration = {\n configDir?: string\n}\n\ntype Options = {\n outFile: string\n}\n\nregisterRequireContextHook()\nregisterGlobalJSDOM()\n\nconst storybook = require('@storybook/react') as ConfigurableClientApi\n\nconst isFile = (file: string) => {\n try {\n return fs.lstatSync(file).isFile()\n } catch (err) {\n return false\n }\n}\n\nconst extensions = ['ts', 'tsx', 'js', 'jsx']\n\nconst resolveFile = (configDir: string, filenames: string[]) =>\n filenames\n .flatMap(filename =>\n extensions.map(ext => path.join(configDir, `${filename}.${ext}`)),\n )\n .find(isFile) || false\n\nconst getPreviewFile = (configDir: string) =>\n resolveFile(configDir, ['preview', 'config'])\n\nconst getMainFile = (configDir: string) => resolveFile(configDir, ['main'])\n\nconst getConfigPathParts = (input: string): Output => {\n const configDir = path.resolve(input)\n\n if (fs.lstatSync(configDir).isDirectory()) {\n const output: Output = {}\n const preview = getPreviewFile(configDir)\n const main = getMainFile(configDir)\n\n if (preview) {\n output.preview = preview\n }\n\n if (main) {\n const { stories = [] } = require(main).default\n const workingDir = process.cwd()\n\n output.stories = stories.map((entry: StoriesEntry) => {\n const specifier = normalizeStoriesEntry(entry, {\n configDir,\n workingDir,\n })\n const { path: basePath, recursive, match } = toRequireContext(specifier)\n\n // @ts-expect-error\n return global.__requireContext(workingDir, basePath, recursive, match)\n })\n }\n\n return output\n }\n\n return { preview: configDir }\n}\n\nconst configure = (options: Configuration) => {\n const { configDir } = options\n const { preview, stories } = getConfigPathParts(configDir)\n\n if (preview) {\n const {\n parameters,\n decorators,\n globals,\n globalTypes,\n argsEnhancers,\n argTypesEnhancers,\n } = require(preview)\n\n if (decorators) {\n decorators.forEach((decorator: DecoratorFunction) =>\n storybook.addDecorator(decorator),\n )\n }\n\n if (parameters || globals || globalTypes) {\n storybook.addParameters({ ...parameters, globals, globalTypes })\n }\n\n if (argsEnhancers) {\n argsEnhancers.forEach((enhancer: ArgsEnhancer) =>\n storybook.addArgsEnhancer(enhancer),\n )\n }\n\n if (argTypesEnhancers) {\n argTypesEnhancers.forEach((enhancer: ArgTypesEnhancer) =>\n storybook.addArgTypesEnhancer(enhancer),\n )\n }\n }\n\n if (stories?.length > 0) {\n storybook.configure(stories, false, false)\n }\n}\n\nexport default (configDir: string, { outFile }: Options) => {\n configure({\n configDir,\n })\n\n const snippets = storybook\n .raw()\n .map(({ kind: group, name, storyFn, parameters: { playroom } = {} }) => {\n const { disable, reactElementToJSXStringOptions } = getOptions(playroom)\n\n if (disable) {\n return undefined\n }\n\n console.log(`Generating ${yellow([group, name].join('/'))} snippet...`)\n\n const code = reactElementToJSXString(\n storyFn() as ReactNode,\n reactElementToJSXStringOptions,\n )\n\n return { group, name, code }\n })\n .filter(Boolean)\n const count = snippets.length\n\n fs.writeFileSync(\n path.resolve(process.cwd(), outFile),\n JSON.stringify(snippets, null, 2),\n )\n\n console.log(`\\n${count} ${count === 1 ? 'snippet' : 'snippets'} generated.`)\n}\n","// src/index.ts\nvar scope = (() => {\n let win;\n if (typeof window !== \"undefined\") {\n win = window;\n } else if (typeof globalThis !== \"undefined\") {\n win = globalThis;\n } else if (typeof global !== \"undefined\") {\n win = global;\n } else if (typeof self !== \"undefined\") {\n win = self;\n } else {\n win = {};\n }\n return win;\n})();\nexport {\n scope as global\n};\n","import { Options as ReactElementToJSXStringOptions } from 'react-element-to-jsx-string'\n\ntype Options = {\n url?: string\n code?: string\n disable?: boolean\n includeDecorators?: boolean\n reactElementToJSXStringOptions?: ReactElementToJSXStringOptions\n}\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"]}
package/dist/index.mjs DELETED
@@ -1,5 +0,0 @@
1
- var e={};
2
-
3
- export { e as default };
4
- //# sourceMappingURL=out.js.map
5
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":["src_default"],"mappings":"AACA,IAAOA,EAAQ,CAAC","sourcesContent":["// make it work with --isolatedModules\nexport default {}\n"]}
package/dist/manager.d.ts DELETED
@@ -1,2 +0,0 @@
1
-
2
- export { }
package/dist/manager.mjs DELETED
@@ -1,7 +0,0 @@
1
- import { addons, types, useChannel } from '@storybook/manager-api';
2
- import { styled } from '@storybook/theming';
3
- import m, { useState } from 'react';
4
-
5
- var r="storybook/playroom",e=`${r}/tab`,a="playroom",s={UPDATE:`${r}/update`};var f=styled.p({textAlign:"center"}),A=styled.iframe({border:"0 none",height:"100%",width:"100%"}),p=({active:o})=>{let[t,i]=useState("");return useChannel({[s.UPDATE]:i}),o?t?m.createElement(A,{key:t,allowFullScreen:!0,src:t,title:"Playroom"}):m.createElement(f,null,"Playroom has been disabled for this story."):null};addons.register(r,()=>{addons.add(e,{type:types.TAB,title:"Playroom",route:({storyId:o})=>`/playroom/${o}`,match:({viewMode:o})=>o==="playroom",render:p,paramKey:a});});
6
- //# sourceMappingURL=out.js.map
7
- //# sourceMappingURL=manager.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/manager.ts","../src/constants.ts","../src/Tab.tsx"],"names":["addons","types","ADDON_ID","TAB_ID","PARAM_KEY","EVENTS","useChannel","styled","React","useState","Message","Iframe","Tab","active","url","setUrl","storyId","viewMode"],"mappings":"AAAA,OAAS,UAAAA,EAAQ,SAAAC,MAAa,yBCAvB,IAAMC,EAAW,qBACXC,EAAS,GAAGD,QACZE,EAAY,WAEZC,EAAS,CACpB,OAAQ,GAAGH,UACb,ECNA,OAAS,cAAAI,MAAkB,yBAC3B,OAAS,UAAAC,MAAc,qBACvB,OAAOC,GAAa,YAAAC,MAAgB,QAQpC,IAAMC,EAAUH,EAAO,EAAE,CACvB,UAAW,QACb,CAAC,EAEKI,EAASJ,EAAO,OAAO,CAC3B,OAAQ,SACR,OAAQ,OACR,MAAO,MACT,CAAC,EAEYK,EAAoB,CAAC,CAAE,OAAAC,CAAO,IAAM,CAC/C,GAAM,CAACC,EAAKC,CAAM,EAAIN,EAAS,EAAE,EAGjC,OAFAH,EAAW,CAAE,CAACD,EAAO,MAAM,EAAGU,CAAO,CAAC,EAEjCF,EAIAC,EAIEN,EAAA,cAACG,EAAA,CAAO,IAAKG,EAAK,gBAAe,GAAC,IAAKA,EAAK,MAAM,WAAW,EAH3DN,EAAA,cAACE,EAAA,KAAQ,4CAA0C,EAJnD,IAQX,EF5BAV,EAAO,SAASE,EAAU,IAAM,CAC9BF,EAAO,IAAIG,EAAQ,CACjB,KAAMF,EAAM,IACZ,MAAO,WACP,MAAO,CAAC,CAAE,QAAAe,CAAQ,IAAM,aAAaA,IACrC,MAAO,CAAC,CAAE,SAAAC,CAAS,IAAMA,IAAa,WACtC,OAAQL,EACR,SAAUR,CACZ,CAAC,CACH,CAAC","sourcesContent":["import { 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 route: ({ storyId }) => `/playroom/${storyId}`,\n match: ({ viewMode }) => viewMode === 'playroom',\n render: Tab,\n paramKey: PARAM_KEY,\n })\n})\n","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 { useChannel } from '@storybook/manager-api'\nimport { styled } from '@storybook/theming'\nimport React, { FC, useState } from 'react'\n\nimport { EVENTS } 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: FC<TabProps> = ({ active }) => {\n const [url, setUrl] = useState('')\n useChannel({ [EVENTS.UPDATE]: setUrl })\n\n if (!active) {\n return null\n }\n\n if (!url) {\n return <Message>Playroom has been disabled for this story.</Message>\n }\n\n return <Iframe key={url} allowFullScreen src={url} title=\"Playroom\" />\n}\n"]}
package/dist/preview.mjs DELETED
@@ -1,9 +0,0 @@
1
- import { useChannel } from '@storybook/preview-api';
2
- import { createUrl } from 'playroom/utils';
3
- import A from 'react-element-to-jsx-string';
4
-
5
- var p="storybook/playroom",o="playroom",c={UPDATE:`${p}/update`};var l=({url:e="http://localhost:9000",code:t="",disable:r=!1,includeDecorators:n=!1,reactElementToJSXStringOptions:s={sortProps:!1}}={})=>({url:e,code:t,disable:r,includeDecorators:n,reactElementToJSXStringOptions:s});var m=(e,t)=>{let{parameters:r,undecoratedStoryFn:n}=t,s=r[o],{url:i,code:y,includeDecorators:d,reactElementToJSXStringOptions:S}=l(s),a=e(),f=d?a:n(t),E=y||A(f,S),R=i&&createUrl({baseUrl:i,code:E});return useChannel({})(c.UPDATE,R),a};var b={decorators:[m],globals:{[o]:!1}},j=b;
6
-
7
- export { j as default };
8
- //# sourceMappingURL=out.js.map
9
- //# sourceMappingURL=preview.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/constants.ts","../src/withGlobals.ts","../src/utils.tsx","../src/preview.ts"],"names":["ADDON_ID","TAB_ID","PARAM_KEY","EVENTS","useChannel","createUrl","reactElementToJSXString","getOptions","url","code","disable","includeDecorators","reactElementToJSXStringOptions","withGlobals","StoryFn","context","parameters","undecoratedStoryFn","playroomConfig","story","storyCode","jsxString","codeUrl","preview","preview_default"],"mappings":"AAAO,IAAMA,EAAW,qBACXC,EAAS,GAAGD,QACZE,EAAY,WAEZC,EAAS,CACpB,OAAQ,GAAGH,UACb,ECNA,OAAS,cAAAI,MAAkB,yBAM3B,OAAS,aAAAC,MAAiB,iBAE1B,OAAOC,MAA6B,8BCE7B,IAAMC,EAAa,CAAC,CACzB,IAAAC,EAAM,wBACN,KAAAC,EAAO,GACP,QAAAC,EAAU,GACV,kBAAAC,EAAoB,GACpB,+BAAAC,EAAiC,CAAE,UAAW,EAAM,CACtD,EAAa,CAAC,KAA0B,CACtC,IAAAJ,EACA,KAAAC,EACA,QAAAC,EACA,kBAAAC,EACA,+BAAAC,CACF,GDTO,IAAMC,EAAc,CACzBC,EACAC,IACG,CACH,GAAM,CAAE,WAAAC,EAAY,mBAAAC,CAAmB,EAAIF,EACrCG,EAAiBF,EAAWd,CAAS,EACrC,CAAE,IAAAM,EAAK,KAAAC,EAAM,kBAAAE,EAAmB,+BAAAC,CAA+B,EACnEL,EAAWW,CAAc,EACrBC,EAAQL,EAAQ,EAChBM,EAAYT,EACdQ,EACCF,EAAmBF,CAAO,EAEzBM,EACJZ,GAAQH,EAAwBc,EAAWR,CAA8B,EACrEU,EAAUd,GAAOH,EAAU,CAAE,QAASG,EAAK,KAAMa,CAAU,CAAC,EAGlE,OADajB,EAAW,CAAC,CAAC,EACrBD,EAAO,OAAQmB,CAAO,EAEpBH,CACT,EE7BA,IAAMI,EAAwC,CAC5C,WAAY,CAACV,CAAW,EACxB,QAAS,CACP,CAACX,CAAS,EAAG,EACf,CACF,EAEOsB,EAAQD","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 { useChannel } 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 { getOptions } from './utils'\n\nexport const withGlobals = (\n StoryFn: StoryFunction<Renderer>,\n context: StoryContext<Renderer>,\n) => {\n const { parameters, undecoratedStoryFn } = context\n const playroomConfig = parameters[PARAM_KEY]\n const { url, code, includeDecorators, reactElementToJSXStringOptions } =\n getOptions(playroomConfig)\n const story = StoryFn() as ReactElement\n const storyCode = includeDecorators\n ? story\n : (undecoratedStoryFn(context) as ReactElement)\n\n const jsxString =\n code || reactElementToJSXString(storyCode, reactElementToJSXStringOptions)\n const codeUrl = url && createUrl({ baseUrl: url, code: jsxString })\n\n const emit = useChannel({})\n emit(EVENTS.UPDATE, codeUrl)\n\n return story\n}\n","import { Options as ReactElementToJSXStringOptions } from 'react-element-to-jsx-string'\n\ntype Options = {\n url?: string\n code?: string\n disable?: boolean\n includeDecorators?: boolean\n reactElementToJSXStringOptions?: ReactElementToJSXStringOptions\n}\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","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"]}