preview.ts 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. // Copyright (C) 2012-2022 Zammad Foundation, https://zammad-foundation.org/
  2. import '@common/initializer/translatableMarker'
  3. import initializeGlobalComponents from '@common/initializer/globalComponents'
  4. import '@common/styles/main.css'
  5. import { i18n } from '@common/utils/i18n'
  6. import { app } from '@storybook/vue3'
  7. import 'virtual:svg-icons-register' // eslint-disable-line import/no-unresolved
  8. import initializeStore from '@common/stores'
  9. import initializeForm, { getFormPlugins } from '@common/form'
  10. import type { ImportGlobEagerOutput } from '@common/types/utils'
  11. import type { FormKitPlugin } from '@formkit/core'
  12. import { createRouter, createWebHashHistory, type Router } from 'vue-router'
  13. // Adds the translations to storybook.
  14. app.config.globalProperties.i18n = i18n
  15. // Initialize the needed core components and plugins.
  16. initializeGlobalComponents(app)
  17. initializeStore(app)
  18. // Initialize the FormKit plugin witht he needed fields ands internal FormKit plugins.
  19. const mobilePluginModules: ImportGlobEagerOutput<FormKitPlugin> =
  20. import.meta.globEager('../app/frontend/apps/mobile/form/plugins/*.ts')
  21. const mobileFieldModules: ImportGlobEagerOutput<FormFieldTypeImportModules> =
  22. import.meta.globEager(
  23. '../app/frontend/apps/mobile/components/form/field/**/*.ts',
  24. )
  25. const plugins = getFormPlugins(mobilePluginModules)
  26. initializeForm(app, mobileFieldModules, plugins)
  27. const router: Router = createRouter({
  28. history: createWebHashHistory(),
  29. routes: [],
  30. })
  31. app.use(router)
  32. export default {
  33. actions: { argTypesRegex: '^on[A-Z].*' },
  34. controls: {
  35. matchers: {
  36. color: /(background|color)$/i,
  37. date: /Date$/,
  38. },
  39. },
  40. }