diff options
Diffstat (limited to 'packages/frontend/src/components/MkCodeEditor.stories.impl.ts')
| -rw-r--r-- | packages/frontend/src/components/MkCodeEditor.stories.impl.ts | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/packages/frontend/src/components/MkCodeEditor.stories.impl.ts b/packages/frontend/src/components/MkCodeEditor.stories.impl.ts new file mode 100644 index 0000000000..5c410c4886 --- /dev/null +++ b/packages/frontend/src/components/MkCodeEditor.stories.impl.ts @@ -0,0 +1,62 @@ +/* + * SPDX-FileCopyrightText: syuilo and misskey-project + * SPDX-License-Identifier: AGPL-3.0-only + */ + +/* eslint-disable @typescript-eslint/explicit-function-return-type */ +/* eslint-disable import/no-default-export */ +import { StoryObj } from '@storybook/vue3'; +import { action } from '@storybook/addon-actions'; +import MkCodeEditor from './MkCodeEditor.vue'; +const code = `for (let i, 100) { + <: if (i % 15 == 0) "FizzBuzz" + elif (i % 3 == 0) "Fizz" + elif (i % 5 == 0) "Buzz" + else i +}`; +export const Default = { + render(args) { + return { + components: { + MkCodeEditor, + }, + data() { + return { + code, + }; + }, + setup() { + return { + args, + }; + }, + computed: { + props() { + return { + ...this.args, + }; + }, + events() { + return { + 'change': action('change'), + 'keydown': action('keydown'), + 'enter': action('enter'), + 'update:modelValue': action('update:modelValue'), + }; + }, + }, + template: '<MkCodeEditor v-model="code" v-bind="props" v-on="events" />', + }; + }, + args: { + lang: 'aiscript', + }, + parameters: { + layout: 'fullscreen', + }, + decorators: [ + () => ({ + template: '<div style="display: flex; align-items: center; justify-content: center; height: 100vh"><div style="max-width: 800px; width: 100%; margin: 3rem"><Suspense><story/></Suspense></div></div>', + }), + ], +} satisfies StoryObj<typeof MkCodeEditor>; |