preview.ts 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. // Copyright (C) 2012-2022 Zammad Foundation, https://zammad-foundation.org/
  2. import '@shared/initializer/translatableMarker'
  3. import '@shared/styles/main.css'
  4. import { app } from '@storybook/vue3'
  5. import 'virtual:svg-icons-register' // eslint-disable-line import/no-unresolved
  6. import { createRouter, createWebHashHistory, type Router } from 'vue-router'
  7. import { createApp } from 'vue'
  8. import DynamicInitializer from '@shared/components/DynamicInitializer/DynamicInitializer.vue'
  9. import initializeApp from '@mobile/initialize'
  10. const dynamic = createApp({
  11. components: { DynamicInitializer },
  12. template: `
  13. <DynamicInitializer
  14. name="dialog"
  15. :transition="{
  16. enterActiveClass: 'duration-300 ease-out',
  17. enterFromClass: 'opacity-0 translate-y-3/4',
  18. enterToClass: 'opacity-100 translate-y-0',
  19. leaveActiveClass: 'duration-200 ease-in',
  20. leaveFromClass: 'opacity-100 translate-y-0',
  21. leaveToClass: 'opacity-0 translate-y-3/4',
  22. }"
  23. />
  24. `,
  25. })
  26. dynamic.mount('#dynamic')
  27. initializeApp(app)
  28. initializeApp(dynamic)
  29. const router: Router = createRouter({
  30. history: createWebHashHistory(),
  31. routes: [],
  32. })
  33. app.use(router)
  34. export default {
  35. actions: { argTypesRegex: '^on[A-Z].*' },
  36. controls: {
  37. matchers: {
  38. color: /(background|color)$/i,
  39. date: /Date$/,
  40. },
  41. },
  42. }