From 2c98110ee68441ec08b276835c4974c83c2b732a Mon Sep 17 00:00:00 2001 From: Robert Anderson Date: Fri, 13 May 2022 14:30:49 +1000 Subject: [PATCH] Pass onChange up to storybook --- packages/components/src/date-time/stories/date.tsx | 13 ++++++++++++- packages/components/src/date-time/stories/index.tsx | 11 ++++++++++- packages/components/src/date-time/stories/time.tsx | 13 ++++++++++++- 3 files changed, 34 insertions(+), 3 deletions(-) diff --git a/packages/components/src/date-time/stories/date.tsx b/packages/components/src/date-time/stories/date.tsx index 2f077bcace75d3..b469635fe3e3d2 100644 --- a/packages/components/src/date-time/stories/date.tsx +++ b/packages/components/src/date-time/stories/date.tsx @@ -19,6 +19,7 @@ const meta: ComponentMeta< typeof DatePicker > = { component: DatePicker, argTypes: { currentDate: { control: 'date' }, + onChange: { action: 'onChange', control: { type: null } }, }, parameters: { controls: { expanded: true }, @@ -29,13 +30,23 @@ export default meta; const Template: ComponentStory< typeof DatePicker > = ( { currentDate, + onChange, ...args } ) => { const [ date, setDate ] = useState( currentDate ); useEffect( () => { setDate( currentDate ); }, [ currentDate ] ); - return ; + return ( + { + setDate( newDate ); + onChange?.( newDate ); + } } + /> + ); }; export const Default: ComponentStory< typeof DatePicker > = Template.bind( {} ); diff --git a/packages/components/src/date-time/stories/index.tsx b/packages/components/src/date-time/stories/index.tsx index e10414210ed6a4..fb126edb81f4e4 100644 --- a/packages/components/src/date-time/stories/index.tsx +++ b/packages/components/src/date-time/stories/index.tsx @@ -19,6 +19,7 @@ const meta: ComponentMeta< typeof DateTimePicker > = { component: DateTimePicker, argTypes: { currentDate: { control: 'date' }, + onChange: { action: 'onChange', control: { type: null } }, }, parameters: { controls: { expanded: true }, @@ -29,6 +30,7 @@ export default meta; const Template: ComponentStory< typeof DateTimePicker > = ( { currentDate, + onChange, ...args } ) => { const [ date, setDate ] = useState( currentDate ); @@ -36,7 +38,14 @@ const Template: ComponentStory< typeof DateTimePicker > = ( { setDate( currentDate ); }, [ currentDate ] ); return ( - + { + setDate( newDate ); + onChange?.( newDate ); + } } + /> ); }; diff --git a/packages/components/src/date-time/stories/time.tsx b/packages/components/src/date-time/stories/time.tsx index c27c50792ead17..9fc72086075f7c 100644 --- a/packages/components/src/date-time/stories/time.tsx +++ b/packages/components/src/date-time/stories/time.tsx @@ -18,6 +18,7 @@ const meta: ComponentMeta< typeof TimePicker > = { component: TimePicker, argTypes: { currentTime: { control: 'date' }, + onChange: { action: 'onChange', control: { type: null } }, }, parameters: { controls: { expanded: true }, @@ -28,13 +29,23 @@ export default meta; const Template: ComponentStory< typeof TimePicker > = ( { currentTime, + onChange, ...args } ) => { const [ time, setTime ] = useState( currentTime ); useEffect( () => { setTime( currentTime ); }, [ currentTime ] ); - return ; + return ( + { + setTime( newTime ); + onChange?.( newTime ); + } } + /> + ); }; export const Default: ComponentStory< typeof TimePicker > = Template.bind( {} );