initializeGlobalComponentStyles.ts 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. // Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
  2. import { initializeAlertClasses } from '#shared/initializer/initializeAlertClasses.ts'
  3. import { initializeAvatarClasses } from '#shared/initializer/initializeAvatarClasses.ts'
  4. import { initializeUserAvatarClasses } from '#shared/initializer/initializeUserAvatarClasses.ts'
  5. import { initializeOrganizationAvatarClasses } from '#shared/initializer/initializeOrganizationAvatarClasses.ts'
  6. import { initializeBadgeClasses } from '#shared/initializer/initializeBadgeClasses.ts'
  7. import { initializeLinkClasses } from '#shared/initializer/initializeLinkClasses.ts'
  8. import { initializeNotificationClasses } from '#shared/initializer/initializeNotificationClasses.ts'
  9. export const initializeGlobalComponentStyles = () => {
  10. initializeBadgeClasses({
  11. base: 'inline-flex justify-center items-center border-0',
  12. success:
  13. 'bg-green-300 text-green-500 dark:bg-green-900 dark:text-green-500',
  14. info: 'bg-blue-500 text-blue-800 dark:bg-blue-950 dark:text-blue-800',
  15. warning:
  16. 'bg-yellow-50 text-yellow-600 dark:bg-yellow-900 dark:text-yellow-600',
  17. danger: 'bg-pink-100 text-red-500 dark:bg-red-900 dark:text-red-500',
  18. neutral:
  19. 'bg-blue-200 text-stone-200 dark:bg-gray-700 dark:text-neutral-500',
  20. custom: 'badge-custom',
  21. })
  22. initializeAlertClasses({
  23. base: 'grid gap-4 text-center md:text-start text-sm items-center justify-center md:justify-start grid-flow-row md:grid-flow-col md:grid-cols-[auto_minmax(auto,_1fr)] w-full md:w-auto',
  24. success: 'bg-green-300 dark:bg-green-900 text-green-500',
  25. info: 'bg-blue-500 dark:bg-blue-950 text-blue-800',
  26. warning: 'bg-yellow-50 dark:bg-yellow-900 text-yellow-600',
  27. danger: 'bg-pink-100 dark:bg-red-900 text-red-500',
  28. link: 'hover:underline',
  29. })
  30. // TODO: check correct classes
  31. initializeAvatarClasses({
  32. base: 'border -:border-neutral-100 dark:-:border-gray-900 text-black',
  33. vipOrganization: 'text-neutral-400',
  34. vipUser: 'text-yellow-300',
  35. })
  36. initializeUserAvatarClasses({
  37. backgroundColors: [
  38. 'bg-neutral-500',
  39. 'bg-red-500',
  40. 'bg-yellow-300',
  41. 'bg-blue-700',
  42. 'bg-green-500',
  43. 'bg-pink-300',
  44. 'bg-yellow-600',
  45. ],
  46. })
  47. initializeOrganizationAvatarClasses({
  48. backgroundColor: 'bg-green-100 dark:bg-gray-200',
  49. })
  50. initializeLinkClasses({
  51. base: 'link link-hover text-blue-800 focus-visible:rounded-sm focus-visible:outline-1 focus-visible:outline-offset-1 focus-visible:outline-blue-800',
  52. })
  53. initializeNotificationClasses({
  54. base: 'grid gap-4 text-center md:text-start text-sm items-center justify-center md:justify-start grid-flow-row md:grid-flow-col md:grid-cols-[auto_minmax(auto,_1fr)] w-full rounded-lg gap-1.5 p-2 border-transparent',
  55. baseContainer: 'mx-auto',
  56. error: 'bg-pink-100 dark:bg-red-900 text-red-500',
  57. info: 'bg-blue-500 dark:bg-blue-950 text-blue-800',
  58. message: '',
  59. success: 'bg-green-300 dark:bg-green-900 text-green-500',
  60. warn: 'bg-yellow-50 dark:bg-yellow-900 text-yellow-600',
  61. })
  62. }