@storybook/addon-links 9.0.0-alpha.3 → 9.0.0-alpha.4

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
@@ -80,7 +80,7 @@ export const third = () => <LinkTo story="index">Go back</LinkTo>;
80
80
  If you want to get an URL for a particular story, you may use `hrefTo` function. It returns a promise, which resolves to string containing a relative URL:
81
81
 
82
82
  ```js
83
- import { action } from '@storybook/addon-actions';
83
+ import { action } from 'storybook/actions';
84
84
  import { hrefTo } from '@storybook/addon-links';
85
85
 
86
86
  export default {
@@ -1,7 +1,7 @@
1
1
  import { STORY_CHANGED, SELECT_STORY } from 'storybook/internal/core-events';
2
2
  import { toId } from 'storybook/internal/csf';
3
- import { makeDecorator, addons } from 'storybook/internal/preview-api';
4
3
  import { global } from '@storybook/global';
4
+ import { makeDecorator, addons } from 'storybook/preview-api';
5
5
 
6
6
  var __defProp=Object.defineProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0});};var PARAM_KEY="links";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,existingId=parseQuery(location.search).id,titleToLink=title||existingId.split("--",2)[0],path=`/story/${toId(titleToLink,name)}`,sbPath=location.pathname.replace(/iframe\.html$/,""),url=`${location.origin+sbPath}?${Object.entries({path}).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))});
7
7
 
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var previewApi = require('storybook/internal/preview-api');
5
+ var previewApi = require('storybook/preview-api');
6
6
  var coreEvents = require('storybook/internal/core-events');
7
7
  var csf = require('storybook/internal/csf');
8
8
  var global = require('@storybook/global');
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
- import { __export, withLinks } from './chunk-DQW2J2JG.mjs';
2
- export { hrefTo, linkTo, navigate, withLinks } from './chunk-DQW2J2JG.mjs';
3
- import { definePreview } from 'storybook/internal/preview-api';
1
+ import { __export, withLinks } from './chunk-DAF6YNFB.mjs';
2
+ export { hrefTo, linkTo, navigate, withLinks } from './chunk-DAF6YNFB.mjs';
3
+ import { definePreview } from 'storybook/preview-api';
4
4
 
5
5
  var preview_exports={};__export(preview_exports,{decorators:()=>decorators});var decorators=[withLinks];var index_default=()=>definePreview(preview_exports);
6
6
 
package/dist/manager.js CHANGED
@@ -1,3 +1,3 @@
1
- import { addons } from 'storybook/internal/manager-api';
1
+ import { addons } from 'storybook/manager-api';
2
2
 
3
3
  var ADDON_ID="storybook/links";var constants_default={NAVIGATE:`${ADDON_ID}/navigate`,REQUEST:`${ADDON_ID}/request`,RECEIVE:`${ADDON_ID}/receive`};addons.register(ADDON_ID,api=>{api.on(constants_default.REQUEST,({kind,name})=>{let id=api.storyId(kind,name);api.emit(constants_default.RECEIVE,id);});});
package/dist/preview.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var previewApi = require('storybook/internal/preview-api');
3
+ var previewApi = require('storybook/preview-api');
4
4
  var coreEvents = require('storybook/internal/core-events');
5
5
  require('storybook/internal/csf');
6
6
  var global = require('@storybook/global');
package/dist/preview.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { makeDecorator, addons } from 'storybook/internal/preview-api';
1
+ import { makeDecorator, addons } from 'storybook/preview-api';
2
2
  import { STORY_CHANGED, SELECT_STORY } from 'storybook/internal/core-events';
3
3
  import 'storybook/internal/csf';
4
4
  import { global } from '@storybook/global';
@@ -3,8 +3,8 @@
3
3
  var React = require('react');
4
4
  var coreEvents = require('storybook/internal/core-events');
5
5
  var csf = require('storybook/internal/csf');
6
- var previewApi = require('storybook/internal/preview-api');
7
6
  var global = require('@storybook/global');
7
+ var previewApi = require('storybook/preview-api');
8
8
 
9
9
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
10
 
@@ -1,4 +1,4 @@
1
- import { hrefTo, navigate } from '../chunk-DQW2J2JG.mjs';
1
+ import { hrefTo, navigate } from '../chunk-DAF6YNFB.mjs';
2
2
  import React, { PureComponent } from 'react';
3
3
 
4
4
  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,title=kind,story,name=story}=this.props;if(title&&name){let href=await hrefTo(title,name);this.setState({href});}};this.handleClick=()=>{let{kind,title=kind,story,name=story}=this.props;title&&name&&navigate({title,name});};}componentDidMount(){this.updateHref();}componentDidUpdate(prevProps){let{kind,title,story,name}=this.props;(prevProps.kind!==kind||prevProps.story!==story||prevProps.title!==title||prevProps.name!==name)&&this.updateHref();}render(){let{kind,title=kind,story,name=story,children,...rest}=this.props,{href}=this.state;return React.createElement("a",{href,onClick:e=>cancelled(e,this.handleClick),...rest},children)}};LinkTo.defaultProps={children:void 0};var react_default=LinkTo;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/addon-links",
3
- "version": "9.0.0-alpha.3",
3
+ "version": "9.0.0-alpha.4",
4
4
  "description": "Link stories together to build demos and prototypes with your UI components",
5
5
  "keywords": [
6
6
  "storybook-addons",
@@ -76,7 +76,7 @@
76
76
  },
77
77
  "peerDependencies": {
78
78
  "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
79
- "storybook": "^9.0.0-alpha.3"
79
+ "storybook": "^9.0.0-alpha.4"
80
80
  },
81
81
  "peerDependenciesMeta": {
82
82
  "react": {