@storybook/addon-links 7.0.0-beta.2 → 7.0.0-beta.20

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.
@@ -0,0 +1 @@
1
+ import{PARAM_KEY}from"./chunk-JT3VIYBO.mjs";import{global}from"@storybook/global";import{addons,makeDecorator}from"@storybook/preview-api";import{STORY_CHANGED,SELECT_STORY}from"@storybook/core-events";import{toId}from"@storybook/csf";var{document,HTMLElement}=global;function parseQuery(queryString){let query={},pairs=(queryString[0]==="?"?queryString.substring(1):queryString).split("&").filter(Boolean);for(let i=0;i<pairs.length;i++){let pair=pairs[i].split("=");query[decodeURIComponent(pair[0])]=decodeURIComponent(pair[1]||"")}return query}var navigate=params=>addons.getChannel().emit(SELECT_STORY,params),hrefTo=(title,name)=>new Promise(resolve=>{let{location}=document,query=parseQuery(location.search),existingId=[].concat(query.id)[0],titleToLink=title||existingId.split("--",2)[0],id=toId(titleToLink,name),url=`${location.origin+location.pathname}?${Object.entries({...query,id}).map(item=>`${item[0]}=${item[1]}`).join("&")}`;resolve(url)}),valueOrCall=args=>value=>typeof value=="function"?value(...args):value,linkTo=(idOrTitle,nameInput)=>(...args)=>{let resolver=valueOrCall(args),title=resolver(idOrTitle),name=nameInput?resolver(nameInput):!1;title?.match(/--/)&&!name?navigate({storyId:title}):name&&title?navigate({kind:title,story:name}):title?navigate({kind:title}):name&&navigate({story:name})},linksListener=e=>{let{target}=e;if(!(target instanceof HTMLElement))return;let element=target,{sbKind:kind,sbStory:story}=element.dataset;(kind||story)&&(e.preventDefault(),navigate({kind,story}))},hasListener=!1,on=()=>{hasListener||(hasListener=!0,document.addEventListener("click",linksListener))},off=()=>{hasListener&&(hasListener=!1,document.removeEventListener("click",linksListener))},withLinks=makeDecorator({name:"withLinks",parameterName:PARAM_KEY,wrapper:(getStory,context)=>(on(),addons.getChannel().once(STORY_CHANGED,off),getStory(context))});export{navigate,hrefTo,linkTo,withLinks};
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var R=Object.create;var c=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var S=Object.getPrototypeOf,N=Object.prototype.hasOwnProperty;var $=(t,o)=>{for(var n in o)c(t,n,{get:o[n],enumerable:!0})},g=(t,o,n,r)=>{if(o&&typeof o=="object"||typeof o=="function")for(let e of P(o))!N.call(t,e)&&e!==n&&c(t,e,{get:()=>o[e],enumerable:!(r=A(o,e))||r.enumerable});return t};var D=(t,o,n)=>(n=t!=null?R(S(t)):{},g(o||!t||!t.__esModule?c(n,"default",{value:t,enumerable:!0}):n,t)),w=t=>g(c({},"__esModule",{value:!0}),t);var U={};$(U,{LinkTo:()=>K,hrefTo:()=>T,linkTo:()=>h,navigate:()=>i,withLinks:()=>L});module.exports=w(U);var I=require("ts-dedent");var y=D(require("global")),a=require("@storybook/preview-api"),m=require("@storybook/core-events"),u=require("@storybook/csf");var d="storybook/links",k="links",G={NAVIGATE:`${d}/navigate`,REQUEST:`${d}/request`,RECEIVE:`${d}/receive`};var{document:f,HTMLElement:O}=y.default;function _(t){let o={},n=(t[0]==="?"?t.substring(1):t).split("&").filter(Boolean);for(let r=0;r<n.length;r++){let e=n[r].split("=");o[decodeURIComponent(e[0])]=decodeURIComponent(e[1]||"")}return o}var i=t=>a.addons.getChannel().emit(m.SELECT_STORY,t),T=(t,o)=>new Promise(n=>{let{location:r}=f,e=_(r.search),s=[].concat(e.id)[0],b=t||s.split("--",2)[0],v=(0,u.toId)(b,o),x=`${r.origin+r.pathname}?${Object.entries({...e,id:v}).map(p=>`${p[0]}=${p[1]}`).join("&")}`;n(x)}),M=t=>o=>typeof o=="function"?o(...t):o,h=(t,o)=>(...n)=>{let r=M(n),e=r(t),s=o?r(o):!1;(e==null?void 0:e.match(/--/))&&!s?i({storyId:e}):s&&e?i({kind:e,story:s}):e?i({kind:e}):s&&i({story:s})},E=t=>{let{target:o}=t;if(!(o instanceof O))return;let n=o,{sbKind:r,sbStory:e}=n.dataset;(r||e)&&(t.preventDefault(),i({kind:r,story:e}))},l=!1,Y=()=>{l||(l=!0,f.addEventListener("click",E))},H=()=>{l&&(l=!1,f.removeEventListener("click",E))},L=(0,a.makeDecorator)({name:"withLinks",parameterName:k,wrapper:(t,o)=>(Y(),a.addons.getChannel().once(m.STORY_CHANGED,H),t(o))});var C=!1;function K(){return C||(console.error(I.dedent`
1
+ "use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var src_exports={};__export(src_exports,{LinkTo:()=>LinkTo,hrefTo:()=>hrefTo,linkTo:()=>linkTo,navigate:()=>navigate,withLinks:()=>withLinks});module.exports=__toCommonJS(src_exports);var import_ts_dedent=require("ts-dedent");var import_global=require("@storybook/global"),import_preview_api=require("@storybook/preview-api"),import_core_events=require("@storybook/core-events"),import_csf=require("@storybook/csf");var ADDON_ID="storybook/links",PARAM_KEY="links",constants_default={NAVIGATE:`${ADDON_ID}/navigate`,REQUEST:`${ADDON_ID}/request`,RECEIVE:`${ADDON_ID}/receive`};var{document,HTMLElement}=import_global.global;function parseQuery(queryString){let query={},pairs=(queryString[0]==="?"?queryString.substring(1):queryString).split("&").filter(Boolean);for(let i=0;i<pairs.length;i++){let pair=pairs[i].split("=");query[decodeURIComponent(pair[0])]=decodeURIComponent(pair[1]||"")}return query}var navigate=params=>import_preview_api.addons.getChannel().emit(import_core_events.SELECT_STORY,params),hrefTo=(title,name)=>new Promise(resolve=>{let{location}=document,query=parseQuery(location.search),existingId=[].concat(query.id)[0],titleToLink=title||existingId.split("--",2)[0],id=(0,import_csf.toId)(titleToLink,name),url=`${location.origin+location.pathname}?${Object.entries({...query,id}).map(item=>`${item[0]}=${item[1]}`).join("&")}`;resolve(url)}),valueOrCall=args=>value=>typeof value=="function"?value(...args):value,linkTo=(idOrTitle,nameInput)=>(...args)=>{let resolver=valueOrCall(args),title=resolver(idOrTitle),name=nameInput?resolver(nameInput):!1;title!=null&&title.match(/--/)&&!name?navigate({storyId:title}):name&&title?navigate({kind:title,story:name}):title?navigate({kind:title}):name&&navigate({story:name})},linksListener=e=>{let{target}=e;if(!(target instanceof HTMLElement))return;let element=target,{sbKind:kind,sbStory:story}=element.dataset;(kind||story)&&(e.preventDefault(),navigate({kind,story}))},hasListener=!1,on=()=>{hasListener||(hasListener=!0,document.addEventListener("click",linksListener))},off=()=>{hasListener&&(hasListener=!1,document.removeEventListener("click",linksListener))},withLinks=(0,import_preview_api.makeDecorator)({name:"withLinks",parameterName:PARAM_KEY,wrapper:(getStory,context)=>(on(),import_preview_api.addons.getChannel().once(import_core_events.STORY_CHANGED,off),getStory(context))});var hasWarned=!1;function LinkTo(){return hasWarned||(console.error(import_ts_dedent.dedent`
2
2
  LinkTo has moved to addon-links/react:
3
3
  import LinkTo from '@storybook/addon-links/react';
4
- `),C=!0),null}module&&module.hot&&module.hot.decline&&module.hot.decline();0&&(module.exports={LinkTo,hrefTo,linkTo,navigate,withLinks});
4
+ `),hasWarned=!0),null}module&&module.hot&&module.hot.decline&&module.hot.decline();0&&(module.exports={LinkTo,hrefTo,linkTo,navigate,withLinks});
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{LinkTo}from"./chunk-HG45ZTEM.mjs";import{hrefTo,linkTo,navigate,withLinks}from"./chunk-UXWXBGPY.mjs";import"./chunk-JT3VIYBO.mjs";export{LinkTo,hrefTo,linkTo,navigate,withLinks};
1
+ import{LinkTo}from"./chunk-HG45ZTEM.mjs";import{hrefTo,linkTo,navigate,withLinks}from"./chunk-YFKH3BW3.mjs";import"./chunk-JT3VIYBO.mjs";export{LinkTo,hrefTo,linkTo,navigate,withLinks};
package/dist/manager.js CHANGED
@@ -1 +1 @@
1
- "use strict";var t=require("@storybook/manager-api");var e="storybook/links";var o={NAVIGATE:`${e}/navigate`,REQUEST:`${e}/request`,RECEIVE:`${e}/receive`};t.addons.register(e,n=>{t.addons.getChannel().on(o.REQUEST,({kind:E,name:r})=>{let s=n.storyId(E,r);n.emit(o.RECEIVE,s)})});
1
+ "use strict";var import_manager_api=require("@storybook/manager-api");var ADDON_ID="storybook/links";var constants_default={NAVIGATE:`${ADDON_ID}/navigate`,REQUEST:`${ADDON_ID}/request`,RECEIVE:`${ADDON_ID}/receive`};import_manager_api.addons.register(ADDON_ID,api=>{import_manager_api.addons.getChannel().on(constants_default.REQUEST,({kind,name})=>{let id=api.storyId(kind,name);api.emit(constants_default.RECEIVE,id)})});
package/dist/preview.js CHANGED
@@ -1 +1 @@
1
- "use strict";var u=Object.create;var i=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var E=Object.getPrototypeOf,L=Object.prototype.hasOwnProperty;var C=(t,o)=>{for(var e in o)i(t,e,{get:o[e],enumerable:!0})},d=(t,o,e,r)=>{if(o&&typeof o=="object"||typeof o=="function")for(let n of T(o))!L.call(t,n)&&n!==e&&i(t,n,{get:()=>o[n],enumerable:!(r=h(o,n))||r.enumerable});return t};var I=(t,o,e)=>(e=t!=null?u(E(t)):{},d(o||!t||!t.__esModule?i(e,"default",{value:t,enumerable:!0}):e,t)),x=t=>d(i({},"__esModule",{value:!0}),t);var N={};C(N,{decorators:()=>S});module.exports=x(N);var P=require("ts-dedent");var p=I(require("global")),s=require("@storybook/preview-api"),c=require("@storybook/core-events"),b=require("@storybook/csf");var l="storybook/links",f="links",w={NAVIGATE:`${l}/navigate`,REQUEST:`${l}/request`,RECEIVE:`${l}/receive`};var{document:k,HTMLElement:v}=p.default;var g=t=>s.addons.getChannel().emit(c.SELECT_STORY,t);var y=t=>{let{target:o}=t;if(!(o instanceof v))return;let e=o,{sbKind:r,sbStory:n}=e.dataset;(r||n)&&(t.preventDefault(),g({kind:r,story:n}))},a=!1,R=()=>{a||(a=!0,k.addEventListener("click",y))},A=()=>{a&&(a=!1,k.removeEventListener("click",y))},m=(0,s.makeDecorator)({name:"withLinks",parameterName:f,wrapper:(t,o)=>(R(),s.addons.getChannel().once(c.STORY_CHANGED,A),t(o))});module&&module.hot&&module.hot.decline&&module.hot.decline();var S=[m];0&&(module.exports={decorators});
1
+ "use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var preview_exports={};__export(preview_exports,{decorators:()=>decorators});module.exports=__toCommonJS(preview_exports);var import_ts_dedent=require("ts-dedent");var import_global=require("@storybook/global"),import_preview_api=require("@storybook/preview-api"),import_core_events=require("@storybook/core-events"),import_csf=require("@storybook/csf");var ADDON_ID="storybook/links",PARAM_KEY="links",constants_default={NAVIGATE:`${ADDON_ID}/navigate`,REQUEST:`${ADDON_ID}/request`,RECEIVE:`${ADDON_ID}/receive`};var{document,HTMLElement}=import_global.global;var navigate=params=>import_preview_api.addons.getChannel().emit(import_core_events.SELECT_STORY,params);var linksListener=e=>{let{target}=e;if(!(target instanceof HTMLElement))return;let element=target,{sbKind:kind,sbStory:story}=element.dataset;(kind||story)&&(e.preventDefault(),navigate({kind,story}))},hasListener=!1,on=()=>{hasListener||(hasListener=!0,document.addEventListener("click",linksListener))},off=()=>{hasListener&&(hasListener=!1,document.removeEventListener("click",linksListener))},withLinks=(0,import_preview_api.makeDecorator)({name:"withLinks",parameterName:PARAM_KEY,wrapper:(getStory,context)=>(on(),import_preview_api.addons.getChannel().once(import_core_events.STORY_CHANGED,off),getStory(context))});module&&module.hot&&module.hot.decline&&module.hot.decline();var decorators=[withLinks];0&&(module.exports={decorators});
package/dist/preview.mjs CHANGED
@@ -1 +1 @@
1
- import"./chunk-HG45ZTEM.mjs";import{withLinks}from"./chunk-UXWXBGPY.mjs";import"./chunk-JT3VIYBO.mjs";var decorators=[withLinks];export{decorators};
1
+ import"./chunk-HG45ZTEM.mjs";import{withLinks}from"./chunk-YFKH3BW3.mjs";import"./chunk-JT3VIYBO.mjs";var decorators=[withLinks];export{decorators};
@@ -1 +1 @@
1
- "use strict";var S=Object.create;var a=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var R=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,A=Object.prototype.hasOwnProperty;var M=(t,n)=>{for(var e in n)a(t,e,{get:n[e],enumerable:!0})},k=(t,n,e,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of R(n))!A.call(t,r)&&r!==e&&a(t,r,{get:()=>n[r],enumerable:!(o=x(n,r))||o.enumerable});return t};var E=(t,n,e)=>(e=t!=null?S(b(t)):{},k(n||!t||!t.__esModule?a(e,"default",{value:t,enumerable:!0}):e,t)),N=t=>k(a({},"__esModule",{value:!0}),t);var Y={};M(Y,{default:()=>U});module.exports=N(Y);var p=E(require("react"));var T=E(require("global")),i=require("@storybook/preview-api"),l=require("@storybook/core-events"),P=require("@storybook/csf");var y="storybook/links",C="links",B={NAVIGATE:`${y}/navigate`,REQUEST:`${y}/request`,RECEIVE:`${y}/receive`};var{document:h,HTMLElement:D}=T.default;function H(t){let n={},e=(t[0]==="?"?t.substring(1):t).split("&").filter(Boolean);for(let o=0;o<e.length;o++){let r=e[o].split("=");n[decodeURIComponent(r[0])]=decodeURIComponent(r[1]||"")}return n}var u=t=>i.addons.getChannel().emit(l.SELECT_STORY,t),L=(t,n)=>new Promise(e=>{let{location:o}=h,r=H(o.search),f=[].concat(r.id)[0],d=t||f.split("--",2)[0],m=(0,P.toId)(d,n),I=`${o.origin+o.pathname}?${Object.entries({...r,id:m}).map(g=>`${g[0]}=${g[1]}`).join("&")}`;e(I)});var v=t=>{let{target:n}=t;if(!(n instanceof D))return;let e=n,{sbKind:o,sbStory:r}=e.dataset;(o||r)&&(t.preventDefault(),u({kind:o,story:r}))},c=!1,K=()=>{c||(c=!0,h.addEventListener("click",v))},_=()=>{c&&(c=!1,h.removeEventListener("click",v))},V=(0,i.makeDecorator)({name:"withLinks",parameterName:C,wrapper:(t,n)=>(K(),i.addons.getChannel().once(l.STORY_CHANGED,_),t(n))});var $=0,O=t=>t.button===$&&!t.altKey&&!t.ctrlKey&&!t.metaKey&&!t.shiftKey,w=(t,n=e=>{})=>{O(t)&&(t.preventDefault(),n(t))},s=class extends p.PureComponent{constructor(){super(...arguments);this.state={href:"/"};this.updateHref=async()=>{let{kind:e,story:o}=this.props;if(e&&o){let r=await L(e,o);this.setState({href:r})}};this.handleClick=()=>{let{kind:e,story:o}=this.props;e&&o&&u({kind:e,story:o})}}componentDidMount(){this.updateHref()}componentDidUpdate(e){let{kind:o,story:r}=this.props;(e.kind!==o||e.story!==r)&&this.updateHref()}render(){let{kind:e,story:o,children:r,...f}=this.props,{href:d}=this.state;return p.default.createElement("a",{href:d,onClick:m=>w(m,this.handleClick),...f},r)}};s.defaultProps={kind:null,story:null,children:void 0};var U=s;0&&(module.exports={});
1
+ "use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __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_exports={};__export(react_exports,{default:()=>react_default});module.exports=__toCommonJS(react_exports);var import_react=__toESM(require("react"));var import_global=require("@storybook/global"),import_preview_api=require("@storybook/preview-api"),import_core_events=require("@storybook/core-events"),import_csf=require("@storybook/csf");var ADDON_ID="storybook/links",PARAM_KEY="links",constants_default={NAVIGATE:`${ADDON_ID}/navigate`,REQUEST:`${ADDON_ID}/request`,RECEIVE:`${ADDON_ID}/receive`};var{document,HTMLElement}=import_global.global;function parseQuery(queryString){let query={},pairs=(queryString[0]==="?"?queryString.substring(1):queryString).split("&").filter(Boolean);for(let i=0;i<pairs.length;i++){let pair=pairs[i].split("=");query[decodeURIComponent(pair[0])]=decodeURIComponent(pair[1]||"")}return query}var navigate=params=>import_preview_api.addons.getChannel().emit(import_core_events.SELECT_STORY,params),hrefTo=(title,name)=>new Promise(resolve=>{let{location}=document,query=parseQuery(location.search),existingId=[].concat(query.id)[0],titleToLink=title||existingId.split("--",2)[0],id=(0,import_csf.toId)(titleToLink,name),url=`${location.origin+location.pathname}?${Object.entries({...query,id}).map(item=>`${item[0]}=${item[1]}`).join("&")}`;resolve(url)});var linksListener=e=>{let{target}=e;if(!(target instanceof HTMLElement))return;let element=target,{sbKind:kind,sbStory:story}=element.dataset;(kind||story)&&(e.preventDefault(),navigate({kind,story}))},hasListener=!1,on=()=>{hasListener||(hasListener=!0,document.addEventListener("click",linksListener))},off=()=>{hasListener&&(hasListener=!1,document.removeEventListener("click",linksListener))},withLinks=(0,import_preview_api.makeDecorator)({name:"withLinks",parameterName:PARAM_KEY,wrapper:(getStory,context)=>(on(),import_preview_api.addons.getChannel().once(import_core_events.STORY_CHANGED,off),getStory(context))});var LEFT_BUTTON=0,isPlainLeftClick=e=>e.button===LEFT_BUTTON&&!e.altKey&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey,cancelled=(e,cb=_e=>{})=>{isPlainLeftClick(e)&&(e.preventDefault(),cb(e))},LinkTo=class extends import_react.PureComponent{constructor(){super(...arguments);this.state={href:"/"};this.updateHref=async()=>{let{kind,story}=this.props;if(kind&&story){let href=await hrefTo(kind,story);this.setState({href})}};this.handleClick=()=>{let{kind,story}=this.props;kind&&story&&navigate({kind,story})}}componentDidMount(){this.updateHref()}componentDidUpdate(prevProps){let{kind,story}=this.props;(prevProps.kind!==kind||prevProps.story!==story)&&this.updateHref()}render(){let{kind,story,children,...rest}=this.props,{href}=this.state;return import_react.default.createElement("a",{href,onClick:e=>cancelled(e,this.handleClick),...rest},children)}};LinkTo.defaultProps={kind:null,story:null,children:void 0};var react_default=LinkTo;0&&(module.exports={});
@@ -1 +1 @@
1
- import{hrefTo,navigate}from"../chunk-UXWXBGPY.mjs";import"../chunk-JT3VIYBO.mjs";import React,{PureComponent}from"react";var LEFT_BUTTON=0,isPlainLeftClick=e=>e.button===LEFT_BUTTON&&!e.altKey&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey,cancelled=(e,cb=_e=>{})=>{isPlainLeftClick(e)&&(e.preventDefault(),cb(e))},LinkTo=class extends PureComponent{constructor(){super(...arguments);this.state={href:"/"};this.updateHref=async()=>{let{kind,story}=this.props;if(kind&&story){let href=await hrefTo(kind,story);this.setState({href})}};this.handleClick=()=>{let{kind,story}=this.props;kind&&story&&navigate({kind,story})}}componentDidMount(){this.updateHref()}componentDidUpdate(prevProps){let{kind,story}=this.props;(prevProps.kind!==kind||prevProps.story!==story)&&this.updateHref()}render(){let{kind,story,children,...rest}=this.props,{href}=this.state;return React.createElement("a",{href,onClick:e=>cancelled(e,this.handleClick),...rest},children)}};LinkTo.defaultProps={kind:null,story:null,children:void 0};var react_default=LinkTo;export{react_default as default};
1
+ import{hrefTo,navigate}from"../chunk-YFKH3BW3.mjs";import"../chunk-JT3VIYBO.mjs";import React,{PureComponent}from"react";var LEFT_BUTTON=0,isPlainLeftClick=e=>e.button===LEFT_BUTTON&&!e.altKey&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey,cancelled=(e,cb=_e=>{})=>{isPlainLeftClick(e)&&(e.preventDefault(),cb(e))},LinkTo=class extends PureComponent{constructor(){super(...arguments);this.state={href:"/"};this.updateHref=async()=>{let{kind,story}=this.props;if(kind&&story){let href=await hrefTo(kind,story);this.setState({href})}};this.handleClick=()=>{let{kind,story}=this.props;kind&&story&&navigate({kind,story})}}componentDidMount(){this.updateHref()}componentDidUpdate(prevProps){let{kind,story}=this.props;(prevProps.kind!==kind||prevProps.story!==story)&&this.updateHref()}render(){let{kind,story,children,...rest}=this.props,{href}=this.state;return React.createElement("a",{href,onClick:e=>cancelled(e,this.handleClick),...rest},children)}};LinkTo.defaultProps={kind:null,story:null,children:void 0};var react_default=LinkTo;export{react_default as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/addon-links",
3
- "version": "7.0.0-beta.2",
3
+ "version": "7.0.0-beta.20",
4
4
  "description": "Link stories together to build demos and prototypes with your UI components",
5
5
  "keywords": [
6
6
  "addon",
@@ -23,6 +23,7 @@
23
23
  "license": "MIT",
24
24
  "exports": {
25
25
  ".": {
26
+ "node": "./dist/index.js",
26
27
  "require": "./dist/index.js",
27
28
  "import": "./dist/index.mjs",
28
29
  "types": "./dist/index.d.ts"
@@ -76,14 +77,14 @@
76
77
  "prep": "../../../scripts/prepare/bundle.ts"
77
78
  },
78
79
  "dependencies": {
79
- "@storybook/client-logger": "7.0.0-beta.2",
80
- "@storybook/core-events": "7.0.0-beta.2",
80
+ "@storybook/client-logger": "7.0.0-beta.20",
81
+ "@storybook/core-events": "7.0.0-beta.20",
81
82
  "@storybook/csf": "next",
82
- "@storybook/manager-api": "7.0.0-beta.2",
83
- "@storybook/preview-api": "7.0.0-beta.2",
84
- "@storybook/router": "7.0.0-beta.2",
85
- "@storybook/types": "7.0.0-beta.2",
86
- "global": "^4.4.0",
83
+ "@storybook/global": "^5.0.0",
84
+ "@storybook/manager-api": "7.0.0-beta.20",
85
+ "@storybook/preview-api": "7.0.0-beta.20",
86
+ "@storybook/router": "7.0.0-beta.20",
87
+ "@storybook/types": "7.0.0-beta.20",
87
88
  "prop-types": "^15.7.2",
88
89
  "ts-dedent": "^2.0.0"
89
90
  },
@@ -113,7 +114,7 @@
113
114
  "./src/react/index.ts"
114
115
  ]
115
116
  },
116
- "gitHead": "66a0d588184add900c48d49f3a62743fa9cc5185",
117
+ "gitHead": "22701aedf564e467511887eb041f32ae0c96bcde",
117
118
  "storybook": {
118
119
  "displayName": "Links",
119
120
  "icon": "https://user-images.githubusercontent.com/263385/101991673-48355c80-3c7c-11eb-9b6e-b627c96a75f6.png",
@@ -1 +0,0 @@
1
- import{PARAM_KEY}from"./chunk-JT3VIYBO.mjs";import global from"global";import{addons,makeDecorator}from"@storybook/preview-api";import{STORY_CHANGED,SELECT_STORY}from"@storybook/core-events";import{toId}from"@storybook/csf";var{document,HTMLElement}=global;function parseQuery(queryString){let query={},pairs=(queryString[0]==="?"?queryString.substring(1):queryString).split("&").filter(Boolean);for(let i=0;i<pairs.length;i++){let pair=pairs[i].split("=");query[decodeURIComponent(pair[0])]=decodeURIComponent(pair[1]||"")}return query}var navigate=params=>addons.getChannel().emit(SELECT_STORY,params),hrefTo=(title,name)=>new Promise(resolve=>{let{location}=document,query=parseQuery(location.search),existingId=[].concat(query.id)[0],titleToLink=title||existingId.split("--",2)[0],id=toId(titleToLink,name),url=`${location.origin+location.pathname}?${Object.entries({...query,id}).map(item=>`${item[0]}=${item[1]}`).join("&")}`;resolve(url)}),valueOrCall=args=>value=>typeof value=="function"?value(...args):value,linkTo=(idOrTitle,nameInput)=>(...args)=>{let resolver=valueOrCall(args),title=resolver(idOrTitle),name=nameInput?resolver(nameInput):!1;title?.match(/--/)&&!name?navigate({storyId:title}):name&&title?navigate({kind:title,story:name}):title?navigate({kind:title}):name&&navigate({story:name})},linksListener=e=>{let{target}=e;if(!(target instanceof HTMLElement))return;let element=target,{sbKind:kind,sbStory:story}=element.dataset;(kind||story)&&(e.preventDefault(),navigate({kind,story}))},hasListener=!1,on=()=>{hasListener||(hasListener=!0,document.addEventListener("click",linksListener))},off=()=>{hasListener&&(hasListener=!1,document.removeEventListener("click",linksListener))},withLinks=makeDecorator({name:"withLinks",parameterName:PARAM_KEY,wrapper:(getStory,context)=>(on(),addons.getChannel().once(STORY_CHANGED,off),getStory(context))});export{navigate,hrefTo,linkTo,withLinks};