@storybook/addon-links 8.6.0-alpha.5 → 8.6.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-DQW2J2JG.mjs +8 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.js +5 -2
- package/dist/index.mjs +7 -1
- package/dist/preview.d.ts +1 -3
- package/dist/preview.js +1 -1
- package/dist/preview.mjs +1 -1
- package/dist/react/index.mjs +1 -1
- package/package.json +5 -2
- package/dist/chunk-L2IHOJD5.mjs +0 -8
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { STORY_CHANGED, SELECT_STORY } from 'storybook/internal/core-events';
|
|
2
|
+
import { toId } from 'storybook/internal/csf';
|
|
3
|
+
import { makeDecorator, addons } from 'storybook/internal/preview-api';
|
|
4
|
+
import { global } from '@storybook/global';
|
|
5
|
+
|
|
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
|
+
|
|
8
|
+
export { __export, hrefTo, linkTo, navigate, withLinks };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import * as core_dist_types from 'storybook/internal/types';
|
|
2
|
+
import * as core_dist_csf from 'storybook/internal/csf';
|
|
1
3
|
import { ComponentTitle, StoryName, StoryId, StoryKind } from 'storybook/internal/types';
|
|
2
4
|
|
|
3
5
|
interface ParamsId {
|
|
@@ -14,4 +16,6 @@ declare const hrefTo: (title: ComponentTitle, name: StoryName) => Promise<string
|
|
|
14
16
|
declare const linkTo: (idOrTitle: string | ((...args: any[]) => string), nameInput?: string | ((...args: any[]) => string)) => (...args: any[]) => void;
|
|
15
17
|
declare const withLinks: (...args: any) => any;
|
|
16
18
|
|
|
17
|
-
|
|
19
|
+
declare const _default: () => core_dist_types.ProjectAnnotations<core_dist_csf.Renderer>;
|
|
20
|
+
|
|
21
|
+
export { _default as default, hrefTo, linkTo, navigate, withLinks };
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var previewApi = require('storybook/internal/preview-api');
|
|
3
6
|
var coreEvents = require('storybook/internal/core-events');
|
|
4
7
|
var csf = require('storybook/internal/csf');
|
|
5
|
-
var previewApi = require('storybook/internal/preview-api');
|
|
6
8
|
var global = require('@storybook/global');
|
|
7
9
|
|
|
8
|
-
var PARAM_KEY="links";var{document,HTMLElement}=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=>previewApi.addons.getChannel().emit(coreEvents.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/${csf.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=previewApi.makeDecorator({name:"withLinks",parameterName:PARAM_KEY,wrapper:(getStory,context)=>(on(),previewApi.addons.getChannel().once(coreEvents.STORY_CHANGED,off),getStory(context))});
|
|
10
|
+
var __defProp=Object.defineProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0});};var preview_exports={};__export(preview_exports,{decorators:()=>decorators});var decorators=[withLinks];var PARAM_KEY="links";var{document,HTMLElement}=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=>previewApi.addons.getChannel().emit(coreEvents.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/${csf.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=previewApi.makeDecorator({name:"withLinks",parameterName:PARAM_KEY,wrapper:(getStory,context)=>(on(),previewApi.addons.getChannel().once(coreEvents.STORY_CHANGED,off),getStory(context))});var src_default=()=>previewApi.definePreview(preview_exports);
|
|
9
11
|
|
|
12
|
+
exports.default = src_default;
|
|
10
13
|
exports.hrefTo = hrefTo;
|
|
11
14
|
exports.linkTo = linkTo;
|
|
12
15
|
exports.navigate = navigate;
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1,7 @@
|
|
|
1
|
-
|
|
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';
|
|
4
|
+
|
|
5
|
+
var preview_exports={};__export(preview_exports,{decorators:()=>decorators});var decorators=[withLinks];var src_default=()=>definePreview(preview_exports);
|
|
6
|
+
|
|
7
|
+
export { src_default as default };
|
package/dist/preview.d.ts
CHANGED
package/dist/preview.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var previewApi = require('storybook/internal/preview-api');
|
|
3
4
|
var coreEvents = require('storybook/internal/core-events');
|
|
4
5
|
require('storybook/internal/csf');
|
|
5
|
-
var previewApi = require('storybook/internal/preview-api');
|
|
6
6
|
var global = require('@storybook/global');
|
|
7
7
|
|
|
8
8
|
var PARAM_KEY="links";var{document,HTMLElement}=global.global;var navigate=params=>previewApi.addons.getChannel().emit(coreEvents.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=previewApi.makeDecorator({name:"withLinks",parameterName:PARAM_KEY,wrapper:(getStory,context)=>(on(),previewApi.addons.getChannel().once(coreEvents.STORY_CHANGED,off),getStory(context))});var decorators=[withLinks];
|
package/dist/preview.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { makeDecorator, addons } from 'storybook/internal/preview-api';
|
|
1
2
|
import { STORY_CHANGED, SELECT_STORY } from 'storybook/internal/core-events';
|
|
2
3
|
import 'storybook/internal/csf';
|
|
3
|
-
import { makeDecorator, addons } from 'storybook/internal/preview-api';
|
|
4
4
|
import { global } from '@storybook/global';
|
|
5
5
|
|
|
6
6
|
var PARAM_KEY="links";var{document,HTMLElement}=global;var navigate=params=>addons.getChannel().emit(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=makeDecorator({name:"withLinks",parameterName:PARAM_KEY,wrapper:(getStory,context)=>(on(),addons.getChannel().once(STORY_CHANGED,off),getStory(context))});var decorators=[withLinks];
|
package/dist/react/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { hrefTo, navigate } from '../chunk-
|
|
1
|
+
import { hrefTo, navigate } from '../chunk-DQW2J2JG.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": "8.6.0-
|
|
3
|
+
"version": "8.6.0-beta.0",
|
|
4
4
|
"description": "Link stories together to build demos and prototypes with your UI components",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"storybook-addons",
|
|
@@ -48,6 +48,9 @@
|
|
|
48
48
|
"*": [
|
|
49
49
|
"dist/index.d.ts"
|
|
50
50
|
],
|
|
51
|
+
"preview": [
|
|
52
|
+
"dist/preview.d.ts"
|
|
53
|
+
],
|
|
51
54
|
"react": [
|
|
52
55
|
"dist/react/index.d.ts"
|
|
53
56
|
]
|
|
@@ -73,7 +76,7 @@
|
|
|
73
76
|
},
|
|
74
77
|
"peerDependencies": {
|
|
75
78
|
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
|
|
76
|
-
"storybook": "^8.6.0-
|
|
79
|
+
"storybook": "^8.6.0-beta.0"
|
|
77
80
|
},
|
|
78
81
|
"peerDependenciesMeta": {
|
|
79
82
|
"react": {
|
package/dist/chunk-L2IHOJD5.mjs
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { STORY_CHANGED, SELECT_STORY } from 'storybook/internal/core-events';
|
|
2
|
-
import { toId } from 'storybook/internal/csf';
|
|
3
|
-
import { makeDecorator, addons } from 'storybook/internal/preview-api';
|
|
4
|
-
import { global } from '@storybook/global';
|
|
5
|
-
|
|
6
|
-
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
|
-
|
|
8
|
-
export { hrefTo, linkTo, navigate, withLinks };
|