packages/react/alfa-react/stories/widget.stories.tsx (42 lines of code) (raw):

/** * title: "AlfaWidget Demo" * description: "" */ import React, { useState } from 'react'; import type { Meta, StoryObj } from '@storybook/react'; import { useAlfaWidget, addGlobalRequestInterceptor } from '../src'; type Story = StoryObj<typeof Demo>; addGlobalRequestInterceptor((config) => { console.info(config); return config; }); const Wrapper = (props) => { const AlfaWidget = useAlfaWidget({ name: '@ali/alfa-cloud-home-widget-cost-overview-new', locale: 'en_US', env: 'pre', version: 'x-v2', delay: () => new Promise((resolve) => setTimeout(() => { resolve(undefined); }, 5000)), priority: 'high', sandbox: { sandBoxUrl: 'about:blank', }, // dynamicConfig: true, }); if (!AlfaWidget) return null; return <AlfaWidget {...props} />; }; function Demo() { const [visible, setVisible] = useState(false); return ( <div> <button onClick={() => setVisible(!visible)}>btn</button> { visible ? <Wrapper a={Date.now()} test={() => {}} /> : null } </div> ); } const meta: Meta<typeof Demo> = { component: Demo, }; export const Widget: Story = { args: {}, render: () => <Demo />, }; export default meta;