7.0.24 • Published 10 months ago

@storybook/addon-controls v7.0.24

Weekly downloads
923,452
License
MIT
Repository
github
Last release
10 months ago

Storybook Controls gives you UI to interact with a component's inputs dynamically, without needing to code. It creates an addon panel next to your component examples ("stories"), so you can edit them live.

It does not require any modification to your components, and stories for controls are:

  • Convenient. Auto-generate controls based on React/Vue/Angular/etc. components.
  • Portable. Reuse your interactive stories in documentation, tests, and even in designs.
  • Rich. Customize the controls and interactive data to suit your exact needs.

Controls are built on top of Storybook Args, which is an open, standards-based format that enable stories to be reused in a variety of contexts.

  • Documentation. 100% compatible with Storybook Docs.
  • Testing. Import stories directly into your Jest tests.
  • Ecosystem. Reuse stories in design/development tools that support it.

Controls replaces Storybook Knobs. It incorporates lessons from years of supporting Knobs on tens of thousands of projects and dozens of different frameworks. We couldn't incrementally fix knobs, so we built a better version.

Installation

Controls requires Storybook Docs. If you're not using it already, please install that first.

Next, install the package:

npm install @storybook/addon-controls -D # or yarn

And add it to your .storybook/main.js config:

module.exports = {
  addons: [
    '@storybook/addon-docs'
    '@storybook/addon-controls'
  ],
};

Writing stories

Let's see how to write stories that automatically generate controls based on your component properties.

Controls is built on Storybook Args, which is a small, backwards-compatible change to Storybook's Component Story Format.

This section is a step-by-step walkthrough for how to upgrade your stories. It takes you from a starting point of the traditional "no args" stories, to auto-generated args, to auto-generated args with custom controls, to fully custom args if you need them.

Getting started

Let's start with the following component/story combination, which should look familiar if you're coming from an older version of Storybook.

import React from 'react';
interface ButtonProps {
  /** The main label of the button */
  label?: string;
}
export const Button = ({ label = 'FIXME' }: ButtonProps) => <button>{label}</button>;

And here's a story that shows that Button component:

import React from 'react';
import { Button } from './Button';
export default { title: 'Button', component: Button };

export const Basic = () => <Button label="hello" />;

After installing the controls addon, you'll see a new tab that shows the component's props, but it doesn't show controls because the story doesn't use args. That's not very useful, but we'll fix that momentarily.

Auto-generated args

To upgrade your story to an Args story, modify it to accept an args object. NOTE: you may need to refresh the browser at this point.

export const Basic = (args) => {
  console.log({ args });
  return <Button label="hello" />;
};

Now you'll see auto-generated controls in the Controls tab, and you can see the args data updating as you edit the values in the UI:

Since the args directly matches the Button's props, we can pass it into the args directly:

export const Basic = (args) => <Button {...args} />;

This generates an interactive UI:

Unfortunately this uses the default values specified in the component, and not the label hello, which is what we wanted. To address this, we add an args annotation to the story, which specifies the initial values:

export const Basic = (args) => <Button {...args} />;
Basic.args = { label: 'hello' };

Now we're back where we started, but we have a fully interactive story!

And this fully interactive story is also available in the Docs tab of Storybook:

Custom controls args

There are cases where you'd like to customize the controls that get auto-generated from your component.

Consider the following modification to the Button we introduced above:

import React from 'react';
interface ButtonProps {
  label?: string;
  background?: string;
}
export const Button = ({ background, label = 'FIXME' }: ButtonProps) => (
  <button style={{ backgroundColor: background }}>{label}</button>
);

And the slightly expanded story:

export const Basic = (args) => <Button {...args} />;
Basic.args = { label: 'hello', background: '#ff0' };

This generates the following Controls UI:

This works as long as you type a valid string into the auto-generated text control, but it's certainly is not the best UI for picking a color.

We can specify which controls get used by declaring a custom ArgType for the background property. ArgTypes encode basic metadata for args, such as name, description, defaultValue for an arg. These get automatically filled in by Storybook Docs.

ArgTypes can also contain arbitrary annotations which can be overridden by the user. Since background is a property of the component, let's put that annotation on the default export.

import { Button } from './Button';
export default {
  title: 'Button',
  component: Button,
  argTypes: {
    background: { control: { type: 'color' } },
  },
};

export const Basic = (args) => <Button {...args} />;
Basic.args = { label: 'hello', background: '#ff0' };

This generates the following UI, which is what we wanted in the first place:

Fully custom args

Up until now, we've only been using auto-generated controls based on the component we're writing stories for. What happens when we want a control for something that's not part of the story?

Consider the following story for our Button from above:

import range from 'lodash/range';
// export default etc.

export const Reflow = ({ count, label, ...args }) => (
  <>
    {range(count).map((i) => (
      <Button label={`${label} ${i}`} {...args} />
    ))}
  </>
);
Reflow.args = { count: 3, label: 'reflow' };

This generates the following UI:

Storybook has inferred the control to be a numeric input based on the initial value of the count arg. As we did above, we can also specify a custom control as we did above. Only this time since it's story specific we can do it at the story level:

// export const Reflow = ... (as above)
// Reflow.args = ...
Reflow.argTypes = {
  count: { control: { type: 'range', min: 0, max: 20 } },
};

This generates the following UI with a custom range slider:

Template stories

Suppose you've created the Basic story from above, but now we want to create a second story with a different state, such as how the button renders with the label is really long.

The simplest thing would be to create a second story:

export const VeryLongLabel = (args) => <Button {...args} />;
VeryLongLabel.args = { label: 'this is a very long string', background: '#ff0' };

This works, but it repeats code. What we want is to reuse the Basic story, but with a different initial state. In Storybook we do this idiomatically for Args stories:

export const VeryLongLabel = Basic.bind();
VeryLongLabel.args = { label: 'this is a very long string', background: '#ff0' };

We can even reuse initial args from other stories:

export const VeryLongLabel = Basic.bind();
VeryLongLabel.args = { ...Basic.args, label: 'this is a very long string' };

Configuration

The controls addon can be configured in two ways:

Control annotations

As shown above in the custom control args and fully custom args sections, you can configure controls via a "control" annotation in the argTypes field of either a component or story.

Here is the full list of available controls:

data typecontrol typedescriptionoptions
arrayarrayserialize array into a comma-separated string inside a textboxseparator
booleanbooleancheckbox input-
numbernumbera numberic text box inputmin, max, step
rangea range slider inputmin, max, step
objectobjectjson editor text input
optionsradioradio buttons input
inline-radioinline radio buttons input
checkmulti-select checkbox input
inline-checkmulti-select inline checkbox input
selectselect dropdown input
multi-selectmulti-select dropdown input
stringtextsimple text input-
colorcolor picker input that assumes strings are color values-
datedate picker input-

Parameters

Controls supports the following configuration parameters, either globally or on a per-story basis:

Expanded: show property documentation

Since Controls is built on the same engine as Storybook Docs, it can also show property documentation alongside your controls using the expanded parameter (defaults to false).

To enable expanded mode globally, add the following to .storybook/preview.js:

export const parameters = {
  controls: { expanded: true },
};

And here's what the resulting UI looks like:

Framework support

ManualAuto-generated
React++
Vue++
Angular+#
Ember+#
Web components+#
HTML+
Svelte+
Preact+
Riot+
Mithril+
Marko+

Note: # = WIP support

FAQs

How will this replace addon-knobs?

Addon-knobs is one of Storybook's most popular addons with over 1M weekly downloads, so we know lots of users will be affected by this change. Knobs is also a mature addon, with various options that are not available in addon-controls.

Therefore, rather than deprecating addon-knobs immediately, we will continue to release knobs with the Storybook core distribution until 7.0. This will give us time to improve Controls based on user feedback, and also give knobs users ample time to migrate.

If you are somehow tied to knobs or prefer the knobs interface, we are happy to take on maintainers for the knobs project. If this interests you, hop on our Discord.

How do I migrate from addon-knobs?

If you're already using Storybook Knobs you should consider migrating to Controls.

You're probably using it for something that can be satisfied by one of the cases described above.

Let's walk through two examples: migrating knobs to auto-generated args and knobs to custom args.

First, let's consider a knobs version of a basic story that fills in the props for a component:

import { text } from '@storybook/addon-knobs';
import { Button } from './Button';

export const Basic = () => <Button label={text('Label', 'hello')} />;

This fills in the Button's label based on a knob, which is exactly the auto-generated use case above. So we can rewrite it using auto-generated args:

export const Basic = (args) => <Button {...args} />;
Basic.args = { label: 'hello' };

Similarly, we can also consider a story that uses knob inputs to change its behavior:

import range from 'lodash/range';
import { number, text } from '@storybook/addon-knobs';

export const Reflow = () => {
  const count = number('Count', 10, { min: 0, max: 100, range: true });
  const label = number('Label', 'reflow');
  return (
    <>
      {range(count).map((i) => (
        <Button label={`button ${i}`} />
      ))}
    </>
  );
};

And again, as above, this can be rewritten using fully custom args:

export const Reflow = ({ count, label, ...args }) => (
  <>{range(count).map((i) => <Button label={`${label} ${i}` {...args}} />)}</>
);
Reflow.args = { count: 3, label: 'reflow' };
Reflow.argTypes = { count: { control: { type: 'range', min: 0, max: 20 } } };
@codecademy/styleguidegonation-site-generatorquantic-uids-orangetrid-comp-lib@vimbu/storybookvimbu-web-storybookeqwin-uikitkiralarsin-alfredexemplo-design-system@everything-registry/sub-chunk-875gogoout-ui-librarygroovy-box@odecloud/componentsframstencil@lwce/lwc-storybook-cli@nativescript/storybook@miuswap/uikits@ishizakikana/react-component@richeroneren/react-slider-private@ppphiiil/mvp-system@paygreen/paygreen-ui@sentrei/storybookjarda-components@firestqr/storyblocks@skhemata/skhemata-gdpr@skhemata/skhemata-menu@skhemata/skhemata-footer@space-designsystem/storybook@toptal/davinci-storybook-addonskiji-tech-ui-component@storybook/native@storybook/addon-ondevice-controls@storybook/addon-essentials@thirstcreative/nuxt-modulekrl-alfredbangits-platform-design-systemapollo-spreadsheetmonica-alexandria@zalastax/nolb-_stor@vitus-labs/tools-storybookcalendar-in-react@compositive/storybook@compositive/storybook-essentialscardo-componentsnorweigian-forestnorwegian-forestchatbot-ui-lib@curve-technology/web-dscchinopiomovatron-componentsalbertouibuild-plugin-component-multipleneutrino-preset-storybook-react@we-make-websites/library-tools@we-make-websites/canvas-storybook@we-make-websites/canvas-storybook-toolsmalachi-component-library@weareberyl/design-system@wingsuit-designsystem/storybook@vatsdev/redux-store@supl.biz_tech/components@algolia/ui-library@algolia/ui-library-futuremhymhydcustom-views-5@dexma/ui-componentsoxe-designdecoded-next-componentsrbclreact-native-gacreact-native-t8-componentssdss-carbon-web-componentsclinic-designcitydna-app-townhall-experiencecitydna-app-townhall-mapqb-ui-libseller-center-uisahmwanga-design-systemng-web-componentsclientbase-library@dectech/react-librarystorybook-liana-teststorybook-preact-chromaticswteststorybooktestertheoderic_componentui-kit-dashboards-testtwmuicvactory-uiwhale-ui-newemre-storybook-krl-alfred@enact/storybook-utilsepi-storybookepi-storybook-app-5@enzodmrib-ignite-ui/docs
7.1.0-alpha.41

10 months ago

7.1.0-alpha.40

10 months ago

7.0.24

10 months ago

7.0.19

11 months ago

7.1.0-alpha.32

11 months ago

7.1.0-alpha.33

11 months ago

7.1.0-alpha.34

11 months ago

7.1.0-alpha.35

11 months ago

7.1.0-alpha.36

11 months ago

7.1.0-alpha.37

10 months ago

7.1.0-alpha.38

10 months ago

7.1.0-alpha.39

10 months ago

7.1.0-alpha.30

11 months ago

7.1.0-alpha.31

11 months ago

7.1.0-alpha.28

11 months ago

7.1.0-alpha.29

11 months ago

7.0.23

10 months ago

7.0.21

11 months ago

7.0.22

10 months ago

7.0.20

11 months ago

7.0.12

12 months ago

7.0.13

11 months ago

7.0.10

12 months ago

7.0.11

12 months ago

7.0.18

11 months ago

7.0.16

11 months ago

7.0.17

11 months ago

7.0.14

11 months ago

7.0.15

11 months ago

7.1.0-alpha.20

11 months ago

7.1.0-alpha.12

12 months ago

7.1.0-alpha.13

12 months ago

7.1.0-alpha.14

12 months ago

7.1.0-alpha.15

12 months ago

7.1.0-alpha.16

12 months ago

7.1.0-alpha.17

12 months ago

7.1.0-alpha.18

12 months ago

7.1.0-alpha.19

12 months ago

7.0.8

12 months ago

7.0.9

12 months ago

7.1.0-alpha.21

11 months ago

7.1.0-alpha.22

11 months ago

7.1.0-alpha.23

11 months ago

7.1.0-alpha.24

11 months ago

7.1.0-alpha.25

11 months ago

7.1.0-alpha.26

11 months ago

7.1.0-alpha.27

11 months ago

7.1.0-alpha.10

1 year ago

7.1.0-alpha.11

12 months ago

6.5.17-alpha.0

1 year ago

7.0.0-rc.8

1 year ago

7.0.0-rc.7

1 year ago

7.0.0-rc.9

1 year ago

7.0.0-rc.4

1 year ago

7.0.0-rc.3

1 year ago

7.0.0-rc.6

1 year ago

7.0.0-rc.5

1 year ago

7.0.0-rc.0

1 year ago

7.0.0-rc.2

1 year ago

7.0.0-rc.1

1 year ago

7.0.0-rc.11

1 year ago

7.0.0-rc.10

1 year ago

7.0.0-beta.62

1 year ago

7.0.0-beta.63

1 year ago

7.0.0-beta.64

1 year ago

7.0.7

1 year ago

7.0.6

1 year ago

7.0.5

1 year ago

7.0.0

1 year ago

7.0.4

1 year ago

7.0.3

1 year ago

7.0.2

1 year ago

7.0.1

1 year ago

7.1.0-alpha.0

1 year ago

7.1.0-alpha.9

1 year ago

7.1.0-alpha.1

1 year ago

7.1.0-alpha.2

1 year ago

7.1.0-alpha.3

1 year ago

7.1.0-alpha.4

1 year ago

7.1.0-alpha.5

1 year ago

7.1.0-alpha.6

1 year ago

7.1.0-alpha.7

1 year ago

7.1.0-alpha.8

1 year ago

7.0.0-beta.60

1 year ago

7.0.0-beta.61

1 year ago

7.0.0-beta.55

1 year ago

7.0.0-beta.56

1 year ago

7.0.0-beta.57

1 year ago

7.0.0-beta.58

1 year ago

7.0.0-beta.59

1 year ago

7.0.0-beta.50

1 year ago

7.0.0-beta.51

1 year ago

7.0.0-beta.52

1 year ago

7.0.0-beta.53

1 year ago

7.0.0-beta.54

1 year ago

7.0.0-beta.47

1 year ago

7.0.0-beta.48

1 year ago

7.0.0-beta.49

1 year ago

7.0.0-beta.44

1 year ago

7.0.0-beta.45

1 year ago

7.0.0-beta.46

1 year ago

7.0.0-beta.40

1 year ago

7.0.0-beta.41

1 year ago

7.0.0-beta.42

1 year ago

7.0.0-beta.43

1 year ago

7.0.0-beta.38

1 year ago

7.0.0-beta.39

1 year ago

6.5.15

1 year ago

6.5.16

1 year ago

7.0.0-alpha.59

1 year ago

7.0.0-alpha.58

1 year ago

7.0.0-alpha.62

1 year ago

7.0.0-alpha.60

1 year ago

7.0.0-alpha.61

1 year ago

6.5.15-alpha.1

1 year ago

6.5.15-alpha.0

1 year ago

7.0.0-beta.33

1 year ago

7.0.0-beta.34

1 year ago

7.0.0-beta.35

1 year ago

7.0.0-beta.36

1 year ago

7.0.0-beta.30

1 year ago

7.0.0-beta.31

1 year ago

7.0.0-beta.32

1 year ago

7.0.0-beta.23

1 year ago

7.0.0-beta.24

1 year ago

7.0.0-beta.25

1 year ago

7.0.0-beta.20

1 year ago

7.0.0-beta.21

1 year ago

7.0.0-beta.26

1 year ago

7.0.0-beta.27

1 year ago

7.0.0-beta.28

1 year ago

7.0.0-beta.29

1 year ago

7.0.0-beta.11

1 year ago

7.0.0-beta.12

1 year ago

7.0.0-beta.13

1 year ago

7.0.0-beta.14

1 year ago

7.0.0-beta.10

1 year ago

7.0.0-beta.19

1 year ago

7.0.0-beta.15

1 year ago

7.0.0-beta.16

1 year ago

7.0.0-beta.17

1 year ago

6.5.16-alpha.0

1 year ago

7.0.0-beta.6

1 year ago

7.0.0-beta.7

1 year ago

7.0.0-beta.4

1 year ago

7.0.0-beta.5

1 year ago

7.0.0-beta.8

1 year ago

7.0.0-beta.9

1 year ago

7.0.0-beta.2

1 year ago

7.0.0-beta.3

1 year ago

7.0.0-beta.0

1 year ago

7.0.0-beta.1

1 year ago

6.5.13

2 years ago

6.5.14

1 year ago

7.0.0-alpha.55

1 year ago

7.0.0-alpha.56

1 year ago

7.0.0-alpha.53

1 year ago

7.0.0-alpha.54

1 year ago

7.0.0-alpha.57

1 year ago

7.0.0-alpha.44

2 years ago

7.0.0-alpha.45

1 year ago

7.0.0-alpha.42

2 years ago

7.0.0-alpha.43

2 years ago

7.0.0-alpha.48

1 year ago

7.0.0-alpha.49

1 year ago

7.0.0-alpha.46

1 year ago

7.0.0-alpha.47

1 year ago

7.0.0-alpha.51

1 year ago

7.0.0-alpha.52

1 year ago

7.0.0-alpha.50

1 year ago

7.0.0-alpha.37

2 years ago

7.0.0-alpha.38

2 years ago

7.0.0-alpha.35

2 years ago

7.0.0-alpha.39

2 years ago

7.0.0-alpha.40

2 years ago

7.0.0-alpha.41

2 years ago

6.5.14-alpha.0

1 year ago

6.5.14-alpha.1

1 year ago

6.5.14-alpha.2

1 year ago

6.5.13-alpha.1

2 years ago

6.5.11

2 years ago

6.5.12

2 years ago

6.5.11-alpha.2

2 years ago

7.0.0-alpha.26

2 years ago

7.0.0-alpha.27

2 years ago

7.0.0-alpha.25

2 years ago

7.0.0-alpha.28

2 years ago

7.0.0-alpha.29

2 years ago

7.0.0-alpha.30

2 years ago

7.0.0-alpha.33

2 years ago

7.0.0-alpha.34

2 years ago

7.0.0-alpha.31

2 years ago

6.5.13-alpha.0

2 years ago

6.5.11-alpha.1

2 years ago

7.0.0-alpha.24

2 years ago

7.0.0-alpha.23

2 years ago

6.5.10

2 years ago

6.5.11-alpha.0

2 years ago

7.0.0-alpha.7

2 years ago

7.0.0-alpha.6

2 years ago

7.0.0-alpha.8

2 years ago

7.0.0-alpha.3

2 years ago

7.0.0-alpha.2

2 years ago

7.0.0-alpha.5

2 years ago

7.0.0-alpha.4

2 years ago

7.0.0-alpha.20

2 years ago

7.0.0-alpha.21

2 years ago

7.0.0-alpha.11

2 years ago

7.0.0-alpha.12

2 years ago

7.0.0-alpha.10

2 years ago

7.0.0-alpha.16

2 years ago

7.0.0-alpha.13

2 years ago

7.0.0-alpha.19

2 years ago

7.0.0-alpha.17

2 years ago

7.0.0-alpha.18

2 years ago

6.5.10-alpha.0

2 years ago

6.5.10-alpha.1

2 years ago

6.5.9-alpha.2

2 years ago

6.5.9

2 years ago

6.5.8-alpha.0

2 years ago

7.0.0-alpha.1

2 years ago

7.0.0-alpha.0

2 years ago

6.5.4-alpha.0

2 years ago

6.5.0-rc.0

2 years ago

6.5.7-alpha.0

2 years ago

6.5.0-rc.1

2 years ago

6.5.0

2 years ago

6.5.6-alpha.0

2 years ago

6.5.0-beta.8

2 years ago

6.5.0-beta.5

2 years ago

6.5.0-beta.4

2 years ago

6.5.0-beta.7

2 years ago

6.5.0-beta.6

2 years ago

6.5.0-beta.3

2 years ago

6.5.0-beta.2

2 years ago

6.5.5-alpha.0

2 years ago

6.5.5-alpha.3

2 years ago

6.5.5-alpha.2

2 years ago

6.5.9-alpha.0

2 years ago

6.5.9-alpha.1

2 years ago

6.5.2

2 years ago

6.5.4

2 years ago

6.5.3

2 years ago

6.5.6

2 years ago

6.5.5

2 years ago

6.5.8

2 years ago

6.5.7

2 years ago

6.4.21

2 years ago

6.4.22

2 years ago

6.5.0-beta.1

2 years ago

6.5.0-beta.0

2 years ago

6.5.0-alpha.55

2 years ago

6.5.0-alpha.56

2 years ago

6.5.0-alpha.57

2 years ago

6.5.0-alpha.58

2 years ago

6.5.0-alpha.59

2 years ago

6.5.0-alpha.60

2 years ago

6.5.0-alpha.61

2 years ago

6.5.0-alpha.62

2 years ago

6.5.0-alpha.63

2 years ago

6.5.0-alpha.64

2 years ago

6.4.20

2 years ago

6.5.0-alpha.52

2 years ago

6.5.0-alpha.53

2 years ago

6.5.0-alpha.54

2 years ago

6.5.0-alpha.48

2 years ago

6.5.0-alpha.49

2 years ago

6.5.0-alpha.50

2 years ago

6.5.0-alpha.51

2 years ago

6.5.0-alpha.43

2 years ago

6.5.0-alpha.44

2 years ago

6.5.0-alpha.45

2 years ago

6.5.0-alpha.46

2 years ago

6.5.0-alpha.47

2 years ago

6.5.0-alpha.10

2 years ago

6.5.0-alpha.11

2 years ago

6.5.0-alpha.12

2 years ago

6.5.0-alpha.13

2 years ago

6.5.0-alpha.14

2 years ago

6.5.0-alpha.15

2 years ago

6.5.0-alpha.16

2 years ago

6.5.0-alpha.17

2 years ago

6.5.0-alpha.18

2 years ago

6.5.0-alpha.19

2 years ago

6.3.13

2 years ago

6.5.0-alpha.20

2 years ago

6.5.0-alpha.21

2 years ago

6.5.0-alpha.22

2 years ago

6.5.0-alpha.23

2 years ago

6.5.0-alpha.24

2 years ago

6.5.0-alpha.25

2 years ago

6.5.0-alpha.26

2 years ago

6.5.0-alpha.27

2 years ago

6.5.0-alpha.28

2 years ago

6.5.0-alpha.29

2 years ago

6.5.0-alpha.30

2 years ago

6.5.0-alpha.31

2 years ago

6.5.0-alpha.32

2 years ago

6.5.0-alpha.33

2 years ago

6.5.0-alpha.34

2 years ago

6.4.18

2 years ago

6.4.17

2 years ago

6.4.19

2 years ago

6.4.10

2 years ago

6.4.12

2 years ago

6.4.14

2 years ago

6.4.13

2 years ago

6.4.16

2 years ago

6.4.15

2 years ago

6.5.0-alpha.7

2 years ago

6.5.0-alpha.6

2 years ago

6.5.0-alpha.9

2 years ago

6.5.0-alpha.35

2 years ago

6.5.0-alpha.36

2 years ago

6.5.0-alpha.38

2 years ago

6.5.0-alpha.39

2 years ago

6.5.0-alpha.40

2 years ago

6.5.0-alpha.41

2 years ago

6.5.0-alpha.42

2 years ago

6.4.0-rc.0

2 years ago

6.4.0-rc.1

2 years ago

6.4.0-rc.11

2 years ago

6.4.0-rc.4

2 years ago

6.4.0-rc.5

2 years ago

6.4.0-rc.2

2 years ago

6.4.0-rc.10

2 years ago

6.4.0-rc.3

2 years ago

6.4.0-rc.8

2 years ago

6.4.0-rc.9

2 years ago

6.4.0-rc.6

2 years ago

6.4.0-rc.7

2 years ago

6.5.0-alpha.1

2 years ago

6.5.0-alpha.3

2 years ago

6.5.0-alpha.2

2 years ago

6.5.0-alpha.5

2 years ago

6.5.0-alpha.4

2 years ago

6.4.3

2 years ago

6.4.2

2 years ago

6.4.5

2 years ago

6.4.4

2 years ago

6.4.7

2 years ago

6.4.9

2 years ago

6.4.8

2 years ago

6.4.1

2 years ago

6.4.0

2 years ago

6.4.0-beta.30

2 years ago

6.4.0-beta.31

2 years ago

6.4.0-beta.32

2 years ago

6.4.0-beta.33

2 years ago

6.4.0-beta.27

2 years ago

6.4.0-beta.28

2 years ago

6.4.0-beta.29

2 years ago

6.4.0-beta.24

2 years ago

6.4.0-beta.25

2 years ago

6.4.0-beta.26

2 years ago

6.4.0-beta.23

2 years ago

6.4.0-beta.21

2 years ago

6.4.0-beta.22

2 years ago

6.3.11

3 years ago

6.3.12

3 years ago

6.4.0-beta.9

3 years ago

6.4.0-beta.8

3 years ago

6.4.0-beta.16

3 years ago

6.4.0-beta.17

3 years ago

6.4.0-beta.18

3 years ago

6.4.0-beta.19

3 years ago

6.4.0-beta.12

3 years ago

6.4.0-beta.13

3 years ago

6.4.0-beta.14

3 years ago

6.4.0-beta.15

3 years ago

6.4.0-beta.10

3 years ago

6.4.0-beta.11

3 years ago

6.4.0-beta.20

3 years ago

6.3.10

3 years ago

6.4.0-beta.5

3 years ago

6.4.0-beta.6

3 years ago

6.4.0-beta.4

3 years ago

6.4.0-beta.7

3 years ago

6.3.9

3 years ago

6.4.0-beta.3

3 years ago

6.4.0-beta.2

3 years ago

6.4.0-beta.1

3 years ago

6.4.0-alpha.41

3 years ago

6.4.0-beta.0

3 years ago

6.4.0-alpha.40

3 years ago

6.4.0-alpha.39

3 years ago

6.4.0-alpha.37

3 years ago

6.4.0-alpha.36

3 years ago

6.4.0-alpha.38

3 years ago

6.4.0-alpha.35

3 years ago

6.4.0-alpha.34

3 years ago

6.3.8

3 years ago

6.4.0-alpha.33

3 years ago

6.4.0-alpha.32

3 years ago

6.4.0-alpha.31

3 years ago

6.4.0-alpha.30

3 years ago

6.4.0-alpha.29

3 years ago

6.4.0-alpha.26

3 years ago

6.4.0-alpha.28

3 years ago

6.4.0-alpha.27

3 years ago

6.3.7

3 years ago

6.4.0-alpha.25

3 years ago

6.4.0-alpha.24

3 years ago

6.4.0-alpha.23

3 years ago

6.4.0-alpha.22

3 years ago

6.3.6

3 years ago

6.4.0-alpha.21

3 years ago

6.4.0-alpha.20

3 years ago

6.4.0-alpha.19

3 years ago

6.3.5

3 years ago

6.4.0-alpha.18

3 years ago

6.4.0-alpha.17

3 years ago

6.4.0-alpha.15

3 years ago

6.4.0-alpha.16

3 years ago

6.4.0-alpha.14

3 years ago

6.4.0-alpha.13

3 years ago

6.3.4

3 years ago

6.4.0-alpha.12

3 years ago

6.3.3

3 years ago

6.4.0-alpha.11

3 years ago

6.4.0-alpha.10

3 years ago

6.4.0-alpha.8

3 years ago

6.4.0-alpha.7

3 years ago

6.4.0-alpha.9

3 years ago

6.4.0-alpha.6

3 years ago

6.3.2

3 years ago

6.4.0-alpha.4

3 years ago

6.4.0-alpha.5

3 years ago

6.3.1

3 years ago

6.4.0-alpha.3

3 years ago

6.4.0-alpha.2

3 years ago

6.4.0-alpha.1

3 years ago

6.4.0-alpha.0

3 years ago

6.3.0

3 years ago

6.3.0-rc.12

3 years ago

6.3.0-rc.8

3 years ago

6.3.0-rc.9

3 years ago

6.3.0-rc.10

3 years ago

6.3.0-rc.11

3 years ago

6.3.0-rc.7

3 years ago

6.3.0-rc.6

3 years ago

6.3.0-rc.5

3 years ago

6.3.0-rc.4

3 years ago

6.3.0-rc.3

3 years ago

6.3.0-rc.2

3 years ago

6.3.0-rc.1

3 years ago

6.3.0-rc.0

3 years ago

6.3.0-beta.18

3 years ago

6.3.0-beta.17

3 years ago

6.3.0-beta.16

3 years ago

6.3.0-beta.15

3 years ago

6.3.0-beta.14

3 years ago

6.3.0-beta.13

3 years ago

6.3.0-beta.12

3 years ago

6.3.0-beta.11

3 years ago

6.3.0-beta.10

3 years ago

6.3.0-beta.9

3 years ago

6.3.0-beta.8

3 years ago

6.3.0-beta.7

3 years ago

6.3.0-beta.6

3 years ago

6.3.0-beta.5

3 years ago

6.3.0-beta.4

3 years ago

6.3.0-beta.2

3 years ago

6.3.0-alpha.45

3 years ago

6.3.0-alpha.44

3 years ago

6.3.0-alpha.43

3 years ago

6.3.0-beta.0

3 years ago

6.3.0-beta.1

3 years ago

6.3.0-alpha.42

3 years ago

6.3.0-alpha.41

3 years ago

6.3.0-alpha.39

3 years ago

6.3.0-alpha.38

3 years ago

6.3.0-alpha.37

3 years ago

6.3.0-alpha.36

3 years ago

6.3.0-alpha.35

3 years ago

6.3.0-alpha.34

3 years ago

6.3.0-alpha.33

3 years ago

6.3.0-alpha.31

3 years ago

6.3.0-alpha.30

3 years ago

6.3.0-alpha.29

3 years ago

6.3.0-alpha.28

3 years ago

6.3.0-alpha.27

3 years ago

6.3.0-alpha.26

3 years ago

6.3.0-alpha.25

3 years ago

6.3.0-alpha.24

3 years ago

6.3.0-alpha.23

3 years ago

6.3.0-alpha.22

3 years ago

6.3.0-alpha.21

3 years ago

6.3.0-alpha.20

3 years ago

6.3.0-alpha.19

3 years ago

6.3.0-alpha.18

3 years ago

6.3.0-alpha.17

3 years ago

6.3.0-alpha.16

3 years ago

6.3.0-alpha.15

3 years ago

6.3.0-alpha.14

3 years ago

6.2.9

3 years ago

6.3.0-alpha.13

3 years ago

6.3.0-alpha.12

3 years ago

6.3.0-alpha.11

3 years ago

6.3.0-alpha.10

3 years ago

6.3.0-alpha.9

3 years ago

6.3.0-alpha.8

3 years ago

6.2.8

3 years ago

6.3.0-alpha.7

3 years ago

6.3.0-alpha.6

3 years ago

6.3.0-alpha.5

3 years ago

6.3.0-alpha.4

3 years ago

6.3.0-alpha.2

3 years ago

6.3.0-alpha.3

3 years ago

6.2.7

3 years ago

6.2.6

3 years ago

6.3.0-alpha.0

3 years ago

6.3.0-alpha.1

3 years ago

6.2.5

3 years ago

6.2.4

3 years ago

6.2.3

3 years ago

6.2.2

3 years ago

6.2.1

3 years ago

6.2.0

3 years ago

6.2.0-rc.13

3 years ago

6.2.0-rc.12

3 years ago

6.2.0-rc.11

3 years ago

6.2.0-rc.10

3 years ago

6.2.0-rc.9

3 years ago

6.2.0-rc.8

3 years ago

6.2.0-rc.7

3 years ago

6.2.0-rc.6

3 years ago

6.2.0-rc.4

3 years ago

6.2.0-rc.5

3 years ago

6.2.0-rc.3

3 years ago

6.2.0-rc.2

3 years ago

6.2.0-rc.1

3 years ago

6.2.0-rc.0

3 years ago

6.2.0-beta.15

3 years ago

6.2.0-beta.14

3 years ago

6.2.0-beta.13

3 years ago

6.2.0-beta.12

3 years ago

6.2.0-beta.11

3 years ago

6.2.0-beta.10

3 years ago

6.2.0-beta.9

3 years ago

6.1.21

3 years ago

6.2.0-beta.6

3 years ago

6.2.0-beta.8

3 years ago

6.2.0-beta.5

3 years ago

6.2.0-beta.4

3 years ago

6.2.0-beta.3

3 years ago

6.2.0-beta.2

3 years ago

6.1.20

3 years ago

6.2.0-alpha.35

3 years ago

6.2.0-alpha.34

3 years ago

6.1.19

3 years ago

6.2.0-beta.0

3 years ago

6.2.0-beta.1

3 years ago

6.2.0-alpha.33

3 years ago

6.2.0-alpha.31

3 years ago

6.2.0-alpha.30

3 years ago

6.2.0-alpha.32

3 years ago

6.2.0-alpha.29

3 years ago

6.2.0-alpha.28

3 years ago

6.2.0-alpha.27

3 years ago

6.1.18

3 years ago

6.2.0-alpha.26

3 years ago

6.2.0-alpha.25

3 years ago

6.2.0-alpha.24

3 years ago

6.2.0-alpha.22

3 years ago

6.2.0-alpha.21

3 years ago

6.2.0-alpha.23

3 years ago

6.1.17

3 years ago

6.2.0-alpha.20

3 years ago

6.1.16

3 years ago

6.2.0-alpha.19

3 years ago

6.1.15

3 years ago

6.2.0-alpha.18

3 years ago

6.2.0-alpha.17

3 years ago

6.2.0-alpha.16

3 years ago

6.2.0-alpha.15

3 years ago

6.2.0-alpha.14

3 years ago

6.2.0-alpha.13

3 years ago

6.1.14

3 years ago

6.2.0-alpha.11

3 years ago

6.2.0-alpha.12

3 years ago

6.1.12

3 years ago

6.2.0-alpha.10

3 years ago

6.2.0-alpha.9

3 years ago

6.2.0-alpha.8

3 years ago

6.2.0-alpha.7

3 years ago

6.1.11

3 years ago

6.2.0-alpha.6

3 years ago

6.2.0-alpha.5

3 years ago

6.2.0-alpha.4

3 years ago

6.2.0-alpha.3

3 years ago

6.1.10

3 years ago

6.2.0-alpha.2

3 years ago

6.2.0-alpha.1

3 years ago

6.2.0-alpha.0

3 years ago

6.1.9

3 years ago

6.1.8

3 years ago

6.1.7

3 years ago

6.1.6

3 years ago

6.1.5

3 years ago

6.1.4

3 years ago

6.1.3

3 years ago

6.1.2

3 years ago

6.1.1

3 years ago

6.1.0

3 years ago

6.1.0-rc.6

3 years ago

6.1.0-rc.5

3 years ago

6.1.0-rc.4

3 years ago

6.1.0-rc.3

3 years ago

6.1.0-rc.2

3 years ago

6.1.0-rc.1

3 years ago

6.1.0-rc.0

3 years ago

6.1.0-beta.7

3 years ago

6.1.0-beta.6

3 years ago

6.1.0-beta.5

3 years ago

6.1.0-beta.4

3 years ago

6.1.0-beta.3

3 years ago

6.1.0-beta.2

3 years ago

6.1.0-beta.1

3 years ago

6.1.0-beta.0

3 years ago

6.1.0-alpha.35

3 years ago

6.1.0-alpha.34

3 years ago

6.0.28

3 years ago

6.1.0-alpha.33

3 years ago

6.1.0-alpha.32

3 years ago

6.0.28-alpha.2

3 years ago

6.0.28-alpha.1

3 years ago

6.0.28-alpha.3

3 years ago

6.0.28-alpha.0

3 years ago

6.1.0-alpha.31

4 years ago

6.1.0-alpha.30

4 years ago

6.1.0-alpha.28

4 years ago

6.1.0-alpha.29

4 years ago

6.0.27

4 years ago

6.1.0-alpha.27

4 years ago

6.1.0-alpha.26

4 years ago

6.1.0-alpha.25

4 years ago

6.1.0-alpha.24

4 years ago

6.1.0-alpha.23

4 years ago

6.1.0-alpha.22

4 years ago

6.1.0-alpha.21

4 years ago

6.0.26

4 years ago

6.1.0-alpha.20

4 years ago

6.1.0-alpha.19

4 years ago

6.0.25

4 years ago

6.0.24

4 years ago

6.0.23

4 years ago

6.1.0-alpha.18

4 years ago

6.1.0-alpha.17

4 years ago

6.1.0-alpha.16

4 years ago

6.0.22

4 years ago

6.1.0-alpha.15

4 years ago

6.1.0-alpha.14

4 years ago

6.1.0-alpha.12

4 years ago

6.1.0-alpha.11

4 years ago

6.1.0-alpha.10

4 years ago

6.1.0-alpha.9

4 years ago

6.1.0-alpha.8

4 years ago

6.1.0-alpha.7

4 years ago

6.1.0-alpha.6

4 years ago

6.1.0-alpha.4

4 years ago

6.1.0-alpha.3

4 years ago

6.0.21

4 years ago

6.1.0-alpha.1

4 years ago

6.1.0-alpha.0

4 years ago

6.0.20

4 years ago

6.0.19

4 years ago

6.0.18

4 years ago

6.0.17

4 years ago

6.0.16

4 years ago

6.0.15

4 years ago

6.0.14

4 years ago

6.0.13

4 years ago

6.0.12

4 years ago

6.0.11

4 years ago

6.0.9

4 years ago

6.0.10

4 years ago

6.0.7

4 years ago

6.0.6

4 years ago

6.0.5

4 years ago

6.0.4

4 years ago

6.0.1

4 years ago

6.0.0

4 years ago

6.0.3

4 years ago

6.0.2

4 years ago

6.0.0-rc.30

4 years ago

6.0.0-rc.29

4 years ago

6.0.0-rc.28

4 years ago

6.0.0-rc.27

4 years ago

6.0.0-rc.26

4 years ago

6.0.0-rc.25

4 years ago

6.0.0-rc.24

4 years ago

6.0.0-rc.23

4 years ago

6.0.0-rc.22

4 years ago

6.0.0-rc.21

4 years ago

6.0.0-rc.20

4 years ago

6.0.0-rc.19

4 years ago

6.0.0-rc.18

4 years ago

6.0.0-rc.16

4 years ago

6.0.0-rc.15

4 years ago

6.0.0-rc.14

4 years ago

6.0.0-rc.13

4 years ago

6.0.0-rc.12

4 years ago

6.0.0-rc.11

4 years ago

6.0.0-rc.10

4 years ago

6.0.0-rc.9

4 years ago

6.0.0-rc.8

4 years ago

6.0.0-rc.5

4 years ago

6.0.0-rc.3

4 years ago

6.0.0-rc.2

4 years ago

6.0.0-rc.1

4 years ago

6.0.0-beta.46

4 years ago

6.0.0-rc.0

4 years ago

6.0.0-beta.45

4 years ago

6.0.0-beta.44

4 years ago

6.0.0-beta.43

4 years ago

6.0.0-beta.42

4 years ago

6.0.0-beta.41

4 years ago

6.0.0-beta.40

4 years ago

6.0.0-beta.39

4 years ago

6.0.0-beta.38

4 years ago

6.0.0-beta.37

4 years ago

6.0.0-beta.36

4 years ago

6.0.0-beta.35

4 years ago

6.0.0-beta.34

4 years ago

6.0.0-beta.33

4 years ago

6.0.0-beta.32

4 years ago

6.0.0-beta.31

4 years ago

6.0.0-beta.30

4 years ago

6.0.0-beta.29

4 years ago

6.0.0-beta.28

4 years ago

6.0.0-beta.27

4 years ago

6.0.0-beta.26

4 years ago

6.0.0-beta.25

4 years ago

6.0.0-beta.24

4 years ago

6.0.0-beta.23

4 years ago

6.0.0-beta.22

4 years ago

6.0.0-beta.21

4 years ago

6.0.0-beta.20

4 years ago

6.0.0-beta.19

4 years ago

6.0.0-beta.18

4 years ago

6.0.0-beta.17

4 years ago

6.0.0-beta.16

4 years ago

6.0.0-beta.15

4 years ago