1.0.5 • Published 5 months ago

@ironsource/storybook-addon-stackblitz v1.0.5

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

Storybook Addon storybook-addon-stackblitz

Open story example (angular only) on StackBlitz

  • Install addon
npm i -D @ironsource/storybook-addon-stackblitz
  • Add addon to your .storybook/main.js file
module.exports = {
  ...
  addons: [
    ...
    '@ironsource/storybook-addon-stackblitz'
  ],
  ...
};
  • In your project .storybook/preview.js file add dependency for your components in property stackblitzAdditionalDependency lib:
export const parameters = {
    globals: {
        stackblitzGlobals: {
            stackblitzAdditionalDependency: {
                '@ironsource/fusion-ui': '7.0.0'
            }
        }
    },
    actions: {argTypesRegex: '^on[A-Z].*'},
    controls: {
        matchers: {
            color: /(background|color)$/i,
            date: /Date$/
        }
    },
    docs: {inlineStories: true},
    ...
};
  • In your component story you need put standalone component wrapper code in Story.parameters.docs.source.
  • Example:
parameters: {
        docs: {
            source: {
                language: 'typescript',
                code: dedent`
    import { Component } from '@angular/core';
    import {
      CalendarModule,
      CalendarType,
      CalendarComponentConfigurations,
      Day,
    } from '@ironsource/fusion-ui/components/calendar';
    import { DaterangeSelection } from '@ironsource/fusion-ui/components/daterange';

    @Component({
      selector: 'fusion-story-wrapper',
      template: \`<div style="width: 250px; margin: auto">
            <fusion-calendar
                (daySelected)="daySelected($event)"
                [configuration]="configuration"
            >
            </fusion-calendar>
    </div>\`,
      standalone: true,
      imports: [CalendarModule],
    })
    export class FusionStoryWrapperComponent {
      configuration: CalendarComponentConfigurations = {
        parentDaterangeId: 'calendar_id_123',
        allowFutureSelection: true,
        calendarType: CalendarType.DATE_PICKER,
        month: new Date(),
        selection: { date: null } as DaterangeSelection,
      };

      daySelected(selectedDate: Day) {
        console.log('Date selected: ', selectedDate);
      }
    }
    `,
                format: true,
                type: 'code'
            }
        }
    }
1.0.5

5 months ago

1.0.4

5 months ago

1.0.3

5 months ago

1.0.2

5 months ago

0.1.5

10 months ago

0.1.4

10 months ago

0.1.4-next.1

10 months ago

0.1.3-next.2

10 months ago

0.1.3

10 months ago

0.1.3-next.1

10 months ago

0.1.3-next.0

10 months ago

0.1.2

10 months ago

0.1.1

10 months ago

0.1.0

10 months ago

0.1.0-rc.2

10 months ago

0.1.0-rc.1

10 months ago

0.0.8

10 months ago