├── .babelrc
├── .gitignore
├── .npmignore
├── .scripts
└── npm-prepublish.js
├── .storybook
├── addons.js
├── config.js
└── stories.js
├── CHANGELOG.md
├── README.md
├── dist
├── index.js
├── manager.js
└── preview.js
├── package.json
├── register.js
└── src
├── index.js
├── manager.js
└── preview.js
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": ["es2015", "stage-0", "react"]
3 | }
4 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | .babelrc
3 |
--------------------------------------------------------------------------------
/.scripts/npm-prepublish.js:
--------------------------------------------------------------------------------
1 | var path = require('path');
2 | var shell = require('shelljs');
3 | var babel = ['node_modules', '.bin', 'babel'].join(path.sep);
4 |
5 | shell.rm('-rf', 'dist')
6 | shell.exec(babel + ' --ignore __tests__ src --out-dir dist')
7 |
--------------------------------------------------------------------------------
/.storybook/addons.js:
--------------------------------------------------------------------------------
1 | // Uncomment to register defaults
2 | // import '@kadira/storybook/addons';
3 |
4 | // Use the line below to register this addon
5 | // import '@kadira/storybook-addon-links/register';
6 | import '../register';
7 |
--------------------------------------------------------------------------------
/.storybook/config.js:
--------------------------------------------------------------------------------
1 | import * as storybook from '@kadira/storybook';
2 | storybook.configure(() => require('./stories'), module);
3 |
--------------------------------------------------------------------------------
/.storybook/stories.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { storiesOf } from '@kadira/storybook';
3 | import { linkTo } from '../src';
4 |
5 | storiesOf('Button', module)
6 | .add('First Story', () => (
7 |
8 | ))
9 | .add('Second Story', () => (
10 |
11 | ))
12 | .add('Multiple Selection', () => (
13 | {
14 | return filter === 'First' ? 'First Story' : 'Second Story';
15 | })}/>
16 | ));
17 |
18 | const MultipleStories = ({onClick}) => {
19 | return (
20 |
21 |
22 |
23 |
);
24 | }
25 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | ## Changelog
2 |
3 | ### v1.0.1
4 |
5 | * Refactor source code
6 | * Update the README file
7 |
8 | ### v1.0.0
9 |
10 | * First stable release with all features from the storybook linkTo function
11 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Story Links Addon
2 |
3 | This contents of this repo was moved to the [Storybook monorepo](https://github.com/storybooks/storybook/) and the NPM package name has been changed.
4 |
5 | - The old name of the package was: **@kadira/storybook-addon-links**
6 | - The new name of the package is: **@storybook/addon-links**
7 | - The location of the code is: https://github.com/storybooks/storybook/tree/master/addons/links
8 |
9 | The repo you're looking at now is out of date and no longer maintained.
10 |
--------------------------------------------------------------------------------
/dist/index.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | Object.defineProperty(exports, "__esModule", {
4 | value: true
5 | });
6 |
7 | var _manager = require('./manager');
8 |
9 | Object.defineProperty(exports, 'register', {
10 | enumerable: true,
11 | get: function get() {
12 | return _manager.register;
13 | }
14 | });
15 |
16 | var _preview = require('./preview');
17 |
18 | Object.defineProperty(exports, 'linkTo', {
19 | enumerable: true,
20 | get: function get() {
21 | return _preview.linkTo;
22 | }
23 | });
24 | var ADDON_ID = exports.ADDON_ID = 'kadirahq/storybook-addon-links';
25 | var EVENT_ID = exports.EVENT_ID = ADDON_ID + '/link-event';
--------------------------------------------------------------------------------
/dist/manager.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | Object.defineProperty(exports, "__esModule", {
4 | value: true
5 | });
6 | exports.register = register;
7 |
8 | var _storybookAddons = require('@kadira/storybook-addons');
9 |
10 | var _storybookAddons2 = _interopRequireDefault(_storybookAddons);
11 |
12 | var _ = require('./');
13 |
14 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15 |
16 | function register() {
17 | _storybookAddons2.default.register(_.ADDON_ID, function (api) {
18 | var channel = _storybookAddons2.default.getChannel();
19 | channel.on(_.EVENT_ID, function (selection) {
20 | api.selectStory(selection.kind, selection.story);
21 | });
22 | });
23 | }
--------------------------------------------------------------------------------
/dist/preview.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | Object.defineProperty(exports, "__esModule", {
4 | value: true
5 | });
6 | exports.linkTo = linkTo;
7 |
8 | var _storybookAddons = require('@kadira/storybook-addons');
9 |
10 | var _storybookAddons2 = _interopRequireDefault(_storybookAddons);
11 |
12 | var _ = require('./');
13 |
14 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15 |
16 | function linkTo(kind, story) {
17 | return function () {
18 | var resolvedKind = typeof kind === 'function' ? kind.apply(undefined, arguments) : kind;
19 | var resolvedStory = typeof story === 'function' ? story.apply(undefined, arguments) : story;
20 |
21 | var channel = _storybookAddons2.default.getChannel();
22 | console.log(resolvedKind);
23 | channel.emit(_.EVENT_ID, { kind: resolvedKind, story: resolvedStory });
24 | };
25 | }
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@kadira/storybook-addon-links",
3 | "version": "1.0.1",
4 | "description": "Story Links addon for storybook",
5 | "main": "dist/index.js",
6 | "scripts": {
7 | "deploy-storybook": "storybook-to-ghpages",
8 | "prepublish": "node .scripts/npm-prepublish.js",
9 | "storybook": "start-storybook -p 9001",
10 | "test": "echo \"Error: no test specified\" && exit 1"
11 | },
12 | "repository": {
13 | "type": "git",
14 | "url": "git+https://github.com/kadirahq/storybook-addon-links.git"
15 | },
16 | "keywords": [
17 | "storybook"
18 | ],
19 | "license": "MIT",
20 | "bugs": {
21 | "url": "https://github.com/kadirahq/storybook-addon-links/issues"
22 | },
23 | "homepage": "https://github.com/kadirahq/storybook-addon-links#readme",
24 | "devDependencies": {
25 | "@kadira/storybook": "^2.20.1",
26 | "@kadira/storybook-addons": "^1.3.0",
27 | "@kadira/storybook-ui": "^3.0.0",
28 | "babel-cli": "^6.11.4",
29 | "babel-preset-es2015": "^6.9.0",
30 | "babel-preset-react": "^6.11.1",
31 | "babel-preset-stage-0": "^6.5.0",
32 | "react": "^15.3.2",
33 | "react-dom": "^15.3.2",
34 | "shelljs": "^0.7.3"
35 | },
36 | "peerDependencies": {
37 | "@kadira/storybook-addons": "^1.3.0",
38 | "react": "^0.14.7 || ^15.0.0",
39 | "react-dom": "^0.14.7 || ^15.0.0"
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/register.js:
--------------------------------------------------------------------------------
1 | require('./dist').register();
2 |
--------------------------------------------------------------------------------
/src/index.js:
--------------------------------------------------------------------------------
1 | export const ADDON_ID = 'kadirahq/storybook-addon-links';
2 | export const EVENT_ID = `${ADDON_ID}/link-event`;
3 |
4 | export { register } from './manager';
5 | export { linkTo } from './preview';
6 |
--------------------------------------------------------------------------------
/src/manager.js:
--------------------------------------------------------------------------------
1 | import addons from '@kadira/storybook-addons';
2 | import { ADDON_ID, EVENT_ID } from './';
3 |
4 | export function register() {
5 | addons.register(ADDON_ID, api => {
6 | const channel = addons.getChannel();
7 | channel.on(EVENT_ID, selection => {
8 | api.selectStory(selection.kind, selection.story);
9 | });
10 | });
11 | }
12 |
--------------------------------------------------------------------------------
/src/preview.js:
--------------------------------------------------------------------------------
1 | import addons from '@kadira/storybook-addons';
2 | import { EVENT_ID } from './';
3 |
4 | export function linkTo(kind, story) {
5 | return function (...args) {
6 | const resolvedKind = typeof kind === 'function' ? kind(...args) : kind;
7 | const resolvedStory = typeof story === 'function' ? story(...args) : story;
8 |
9 | const channel = addons.getChannel();
10 | channel.emit(EVENT_ID, {kind: resolvedKind, story: resolvedStory});
11 | };
12 | }
13 |
--------------------------------------------------------------------------------