packages/storybook8/stories/Components/CaptionsSettingsModal/CaptionsSettingsModal.story.tsx (112 lines of code) (raw):

// Copyright (c) Microsoft Corporation. // Licensed under the MIT License. import { CaptionLanguageStrings, CaptionsSettingsModal as CaptionsSettingsModalComponent, SpokenLanguageStrings } from '@azure/communication-react'; import { mergeStyles, PrimaryButton, Stack } from '@fluentui/react'; import React, { useState } from 'react'; const CaptionsSettingsModalStory = (): JSX.Element => { const supportedSpokenLanguages: Array<keyof SpokenLanguageStrings> = [ 'ar-ae', 'ar-sa', 'da-dk', 'de-de', 'en-au', 'en-ca', 'en-gb', 'en-in', 'en-nz', 'en-us', 'es-es', 'es-mx', 'fi-fi', 'fr-ca', 'fr-fr', 'hi-in', 'it-it', 'ja-jp', 'ko-kr', 'nb-no', 'nl-be', 'nl-nl', 'pl-pl', 'pt-br', 'ru-ru', 'sv-se', 'zh-cn', 'zh-hk', 'cs-cz', 'pt-pt', 'tr-tr', 'vi-vn', 'th-th', 'he-il', 'cy-gb', 'uk-ua', 'el-gr', 'hu-hu', 'ro-ro', 'sk-sk', 'zh-tw' ]; const supportedCaptionLanguages: Array<keyof CaptionLanguageStrings> = [ 'ar', 'da', 'de', 'en', 'es', 'fi', 'fr', 'fr-ca', 'hi', 'it', 'ja', 'ko', 'nb', 'nl' ]; const currentSpokenLanguage = 'en-us'; const currentCaptionLanguage = 'en'; const [showModal, setShowModal] = useState<boolean>(false); const onDismissCaptionsSettings = (): void => { setShowModal(false); }; const onSetSpokenLanguage = (language: any): Promise<void> => { alert(`Spoken language set to ${language}`); return Promise.resolve(); }; const onSetCaptionLanguage = (language: any): Promise<void> => { alert(`Caption language set to ${language}`); return Promise.resolve(); }; const onStartCaptions = (): Promise<void> => { return Promise.resolve(); }; return ( <Stack> <PrimaryButton className={mergeStyles({ maxWidth: '13.5rem' })} onClick={() => { setShowModal(true); }} > {'Captions Settings Modal'} </PrimaryButton> <CaptionsSettingsModalComponent showModal={showModal} isCaptionsFeatureActive supportedSpokenLanguages={supportedSpokenLanguages} supportedCaptionLanguages={supportedCaptionLanguages} currentSpokenLanguage={currentSpokenLanguage} currentCaptionLanguage={currentCaptionLanguage} onSetSpokenLanguage={onSetSpokenLanguage} onSetCaptionLanguage={onSetCaptionLanguage} onStartCaptions={onStartCaptions} onDismissCaptionsSettings={onDismissCaptionsSettings} changeCaptionLanguage />{' '} </Stack> ); }; // This must be the only named export from this module, and must be named to match the storybook path suffix. // This ensures that storybook hoists the story instead of creating a folder with a single entry. export const CaptionsSettingsModal = CaptionsSettingsModalStory.bind({});