@mframework/ui 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/package.json +43 -0
  2. package/src/types/ui/api/global-search.js +1 -0
  3. package/src/types/ui/api/global-search.ts +8 -0
  4. package/src/types/ui/blocks/block-button-group.js +1 -0
  5. package/src/types/ui/blocks/block-button-group.ts +7 -0
  6. package/src/types/ui/blocks/block-button.js +1 -0
  7. package/src/types/ui/blocks/block-button.ts +14 -0
  8. package/src/types/ui/blocks/block-column.js +1 -0
  9. package/src/types/ui/blocks/block-column.ts +20 -0
  10. package/src/types/ui/blocks/block-cta.js +1 -0
  11. package/src/types/ui/blocks/block-cta.ts +10 -0
  12. package/src/types/ui/blocks/block-divider.js +1 -0
  13. package/src/types/ui/blocks/block-divider.ts +4 -0
  14. package/src/types/ui/blocks/block-faq.js +1 -0
  15. package/src/types/ui/blocks/block-faq.ts +12 -0
  16. package/src/types/ui/blocks/block-form.js +1 -0
  17. package/src/types/ui/blocks/block-form.ts +8 -0
  18. package/src/types/ui/blocks/block-gallery.js +1 -0
  19. package/src/types/ui/blocks/block-gallery.ts +14 -0
  20. package/src/types/ui/blocks/block-hero.js +1 -0
  21. package/src/types/ui/blocks/block-hero.ts +12 -0
  22. package/src/types/ui/blocks/block-html.js +1 -0
  23. package/src/types/ui/blocks/block-html.ts +4 -0
  24. package/src/types/ui/blocks/block-logocloud.js +1 -0
  25. package/src/types/ui/blocks/block-logocloud.ts +14 -0
  26. package/src/types/ui/blocks/block-quote.js +1 -0
  27. package/src/types/ui/blocks/block-quote.ts +11 -0
  28. package/src/types/ui/blocks/block-richtext.js +1 -0
  29. package/src/types/ui/blocks/block-richtext.ts +7 -0
  30. package/src/types/ui/blocks/block-steps.js +1 -0
  31. package/src/types/ui/blocks/block-steps.ts +22 -0
  32. package/src/types/ui/blocks/block-team.js +1 -0
  33. package/src/types/ui/blocks/block-team.ts +6 -0
  34. package/src/types/ui/blocks/block-testimonial.js +1 -0
  35. package/src/types/ui/blocks/block-testimonial.ts +14 -0
  36. package/src/types/ui/blocks/block-video.js +1 -0
  37. package/src/types/ui/blocks/block-video.ts +10 -0
  38. package/src/types/ui/blocks/block.js +1 -0
  39. package/src/types/ui/blocks/block.ts +49 -0
  40. package/src/types/ui/blocks/index.js +1 -0
  41. package/src/types/ui/blocks/index.ts +18 -0
  42. package/src/types/ui/component.js +1 -0
  43. package/src/types/ui/component.ts +7 -0
  44. package/src/types/ui/content/category.js +1 -0
  45. package/src/types/ui/content/category.ts +11 -0
  46. package/src/types/ui/content/form.js +1 -0
  47. package/src/types/ui/content/form.ts +20 -0
  48. package/src/types/ui/content/index.js +1 -0
  49. package/src/types/ui/content/index.ts +6 -0
  50. package/src/types/ui/content/page.js +1 -0
  51. package/src/types/ui/content/page.ts +76 -0
  52. package/src/types/ui/content/post.js +1 -0
  53. package/src/types/ui/content/post.ts +39 -0
  54. package/src/types/ui/content/team.js +1 -0
  55. package/src/types/ui/content/team.ts +16 -0
  56. package/src/types/ui/content/testimonial.js +1 -0
  57. package/src/types/ui/content/testimonial.ts +19 -0
  58. package/src/types/ui/env.d.ts +8 -0
  59. package/src/types/ui/form.js +1 -0
  60. package/src/types/ui/form.ts +17 -0
  61. package/src/types/ui/help/index.js +1 -0
  62. package/src/types/ui/help/index.ts +53 -0
  63. package/src/types/ui/meta/analytics.js +1 -0
  64. package/src/types/ui/meta/analytics.ts +18 -0
  65. package/src/types/ui/meta/config.js +1 -0
  66. package/src/types/ui/meta/config.ts +21 -0
  67. package/src/types/ui/meta/globals.js +1 -0
  68. package/src/types/ui/meta/globals.ts +30 -0
  69. package/src/types/ui/meta/index.js +1 -0
  70. package/src/types/ui/meta/index.ts +6 -0
  71. package/src/types/ui/meta/navigation.js +1 -0
  72. package/src/types/ui/meta/navigation.ts +32 -0
  73. package/src/types/ui/meta/redirect.js +1 -0
  74. package/src/types/ui/meta/redirect.ts +13 -0
  75. package/src/types/ui/meta/seo.js +1 -0
  76. package/src/types/ui/meta/seo.ts +19 -0
  77. package/src/types/ui/os/contact.js +1 -0
  78. package/src/types/ui/os/contact.ts +23 -0
  79. package/src/types/ui/os/conversation.js +1 -0
  80. package/src/types/ui/os/conversation.ts +25 -0
  81. package/src/types/ui/os/index.js +1 -0
  82. package/src/types/ui/os/index.ts +16 -0
  83. package/src/types/ui/os/organization.js +1 -0
  84. package/src/types/ui/os/organization.ts +54 -0
  85. package/src/types/ui/os/os-activity.js +1 -0
  86. package/src/types/ui/os/os-activity.ts +28 -0
  87. package/src/types/ui/os/os-deal.js +1 -0
  88. package/src/types/ui/os/os-deal.ts +45 -0
  89. package/src/types/ui/os/os-expense.js +1 -0
  90. package/src/types/ui/os/os-expense.ts +22 -0
  91. package/src/types/ui/os/os-invoice.js +1 -0
  92. package/src/types/ui/os/os-invoice.ts +48 -0
  93. package/src/types/ui/os/os-item.js +1 -0
  94. package/src/types/ui/os/os-item.ts +18 -0
  95. package/src/types/ui/os/os-payment.js +1 -0
  96. package/src/types/ui/os/os-payment.ts +29 -0
  97. package/src/types/ui/os/os-project.js +1 -0
  98. package/src/types/ui/os/os-project.ts +47 -0
  99. package/src/types/ui/os/os-proposal.js +1 -0
  100. package/src/types/ui/os/os-proposal.ts +84 -0
  101. package/src/types/ui/os/os-settings.js +1 -0
  102. package/src/types/ui/os/os-settings.ts +19 -0
  103. package/src/types/ui/os/os-subscription.js +1 -0
  104. package/src/types/ui/os/os-subscription.ts +12 -0
  105. package/src/types/ui/os/os-task.js +1 -0
  106. package/src/types/ui/os/os-task.ts +34 -0
  107. package/src/types/ui/os/os-tax-rate.js +1 -0
  108. package/src/types/ui/os/os-tax-rate.ts +13 -0
  109. package/src/types/ui/pageComponentMap.js +7 -0
  110. package/src/types/ui/pageComponentMap.ts +8 -0
  111. package/src/types/ui/pagination.js +1 -0
  112. package/src/types/ui/pagination.ts +6 -0
  113. package/src/types/ui/schema.d.ts +39 -0
  114. package/src/types/ui/schema.js +1 -0
  115. package/src/types/ui/schema.ts +151 -0
  116. package/src/types/ui/state.js +1 -0
  117. package/src/types/ui/state.ts +5 -0
  118. package/src/types/ui/system/file.js +1 -0
  119. package/src/types/ui/system/file.ts +46 -0
  120. package/src/types/ui/system/folder.js +1 -0
  121. package/src/types/ui/system/folder.ts +8 -0
  122. package/src/types/ui/system/index.js +1 -0
  123. package/src/types/ui/system/index.ts +4 -0
  124. package/src/types/ui/system/role.js +1 -0
  125. package/src/types/ui/system/role.ts +21 -0
  126. package/src/types/ui/system/user.js +1 -0
  127. package/src/types/ui/system/user.ts +56 -0
  128. package/src/types/ui.js +1 -0
  129. package/src/types/ui.ts +23 -0
  130. package/src/utils/color.js +11 -0
  131. package/src/utils/color.ts +14 -0
  132. package/src/utils/fonts.js +18 -0
  133. package/src/utils/fonts.ts +24 -0
  134. package/src/utils/formkit.js +59 -0
  135. package/src/utils/formkit.ts +75 -0
  136. package/src/utils/icons.js +36 -0
  137. package/src/utils/icons.ts +62 -0
  138. package/tailwind.conifg.js +1 -0
  139. package/tsconfig.json +13 -0
package/package.json ADDED
@@ -0,0 +1,43 @@
1
+ {
2
+ "name": "@mframework/ui",
3
+ "version": "0.0.1",
4
+ "description": "Official opinionated UI module for the M Framework.",
5
+ "keywords": [
6
+ "ui",
7
+ "vuetify",
8
+ "fontawesome",
9
+ "m-framework",
10
+ "meeovi"
11
+ ],
12
+ "license": "MIT",
13
+ "author": "M Framework",
14
+ "type": "module",
15
+ "main": "index.ts",
16
+ "scripts": {
17
+ "test": "echo \"Error: no test specified\" && exit 1",
18
+ "build": "tsc -p tsconfig.json"
19
+ },
20
+ "dependencies": {
21
+ "@formkit/nuxt": "^1.7.2",
22
+ "@fortawesome/fontawesome-free": "^7.1.0",
23
+ "@fortawesome/fontawesome-svg-core": "^7.1.0",
24
+ "@fortawesome/free-solid-svg-icons": "^7.1.0",
25
+ "@fortawesome/vue-fontawesome": "^3.1.2",
26
+ "@grapesjs/studio-sdk": "^1.0.57",
27
+ "@mdi/font": "^7.4.47",
28
+ "@nuxt/image": "^2.0.0",
29
+ "@vueuse/motion": "^3.0.3",
30
+ "izitoast": "^1.4.0",
31
+ "lg-thumbnail": "^1.2.1",
32
+ "lg-video": "^1.4.0",
33
+ "lg-zoom": "^1.3.0",
34
+ "lightgallery": "^2.9.0",
35
+ "tailwindcss": "^4.1.18",
36
+ "vue-component-type-helpers": "^3.2.4",
37
+ "vuetify-nuxt-module": "^0.18.8"
38
+ },
39
+ "devDependencies": {
40
+ "sass": "^1.94.2",
41
+ "sass-embedded": "^1.93.3"
42
+ }
43
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ export interface GlobalSearchResult {
2
+ id?: string;
3
+ title?: string;
4
+ type?: string;
5
+ description?: string;
6
+ image?: string;
7
+ url?: string;
8
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ import type { BlockButton } from './block-button';
2
+
3
+ export interface BlockButtonGroup {
4
+ id: string;
5
+ buttons: (string | BlockButton)[] | null;
6
+ alignment: 'left' | 'center' | null;
7
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,14 @@
1
+ import type { Post, Page } from '../content';
2
+
3
+ export interface BlockButton {
4
+ id: string;
5
+ sort: number | null;
6
+ type: ('pages' | 'posts' | 'external') | null;
7
+ label: string | null;
8
+ color: 'primary' | 'white' | 'gray' | 'white' | 'black';
9
+ variant: 'solid' | 'outline' | 'ghost' | 'link' | 'soft';
10
+ page: string | Page | null;
11
+ post: string | Post | null;
12
+ external_url: string | null;
13
+ icon: string | null;
14
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,20 @@
1
+ import type { File } from '../system';
2
+ import type { BlockButtonGroup } from '.';
3
+
4
+ export interface BlockColumn {
5
+ headline?: string | null;
6
+ id?: string;
7
+ title?: string | null;
8
+ rows?: (number | BlockColumnRow)[];
9
+ }
10
+
11
+ export interface BlockColumnRow {
12
+ block_columns?: (string | BlockColumn) | null;
13
+ content?: string | null;
14
+ headline?: string | null;
15
+ id?: string;
16
+ image?: (string | File) | null;
17
+ image_position?: string | null;
18
+ title?: string | null;
19
+ button_group?: (string | BlockButtonGroup) | null;
20
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ import type { BlockButtonGroup } from '.';
2
+
3
+ export interface BlockCta {
4
+ buttons?: { [key: string]: any } | null;
5
+ content?: string | null;
6
+ headline?: string | null;
7
+ id?: string;
8
+ title?: string | null;
9
+ button_group?: (string | BlockButtonGroup) | null;
10
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ export interface BlockDivider {
2
+ id?: string;
3
+ title?: string | null;
4
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,12 @@
1
+ export interface BlockFaq {
2
+ faqs?: BlockFaqQuestion[] | null;
3
+ headline?: string | null;
4
+ id?: string;
5
+ title?: string | null;
6
+ alignment?: 'left' | 'center' | null;
7
+ }
8
+
9
+ export interface BlockFaqQuestion {
10
+ title: string | null;
11
+ answer: string | null;
12
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ import type { Form } from '../content';
2
+
3
+ export interface BlockForm {
4
+ form?: (string | Form) | null;
5
+ headline?: string | null;
6
+ id?: string;
7
+ title?: string | null;
8
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,14 @@
1
+ import type { File } from '../system';
2
+
3
+ export interface BlockGallery {
4
+ headline?: string | null;
5
+ id?: string;
6
+ title?: string | null;
7
+ gallery_items?: BlockGalleryFile[] | null;
8
+ }
9
+ export interface BlockGalleryFile {
10
+ block_gallery?: (string | BlockGallery) | null;
11
+ directus_files_id?: (string | File) | null;
12
+ id?: number;
13
+ sort?: number | null;
14
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,12 @@
1
+ import type { File } from '../system';
2
+ import type { BlockButtonGroup } from '.';
3
+
4
+ export interface BlockHero {
5
+ id?: string;
6
+ title?: string | null;
7
+ headline?: string | null;
8
+ content?: string | null;
9
+ image?: (string | File) | null;
10
+ image_position?: 'left' | 'right' | null;
11
+ button_group?: (string | BlockButtonGroup) | null;
12
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ export interface BlockHtml {
2
+ id?: string;
3
+ raw_html?: string | null;
4
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,14 @@
1
+ import type { File } from '../system';
2
+
3
+ export interface BlockLogocloud {
4
+ headline?: string | null;
5
+ id?: string;
6
+ title?: string | null;
7
+ logos?: (string | BlockLogocloudFile)[];
8
+ }
9
+ export interface BlockLogocloudFile {
10
+ id?: string;
11
+ sort?: number | null;
12
+ block_logocloud_id?: (string | BlockLogocloud) | null;
13
+ directus_files_id?: (string | File) | null;
14
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,11 @@
1
+ import type { File } from '../system';
2
+
3
+ export interface BlockQuote {
4
+ background_color?: string | null;
5
+ content?: string | null;
6
+ headline?: string | null;
7
+ id?: string;
8
+ image?: (string | File) | null;
9
+ subtitle?: string | null;
10
+ title?: string | null;
11
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ export interface BlockRichtext {
2
+ content?: string | null;
3
+ headline?: string | null;
4
+ id?: string;
5
+ title?: string | null;
6
+ alignment?: 'left' | 'center' | null;
7
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,22 @@
1
+ import type { File } from '../system';
2
+ import type { BlockButtonGroup } from '.';
3
+
4
+ export interface BlockStep {
5
+ id?: string;
6
+ title?: string | null;
7
+ headline?: string | null;
8
+ /** If enabled, image position is mframeworkd between left and right. */
9
+ mframework_image_position?: boolean;
10
+ /** Show the step numbers on the website. For example: (Step 1, Step 2, etc) */
11
+ show_step_numbers?: boolean | null;
12
+ steps?: (number | BlockStepItem)[];
13
+ }
14
+ export interface BlockStepItem {
15
+ id?: string;
16
+ title?: string | null;
17
+ content?: string | null;
18
+ image?: (string | File) | null;
19
+ sort?: number | null;
20
+ block_steps?: (string | BlockStep) | null;
21
+ button_group?: (string | BlockButtonGroup) | null;
22
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ export interface BlockTeam {
2
+ content?: string | null;
3
+ headline?: string | null;
4
+ id?: string;
5
+ title?: string | null;
6
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,14 @@
1
+ import type { Testimonial } from '../content';
2
+
3
+ export interface BlockTestimonial {
4
+ headline?: string | null;
5
+ id?: string;
6
+ title?: string | null;
7
+ testimonials?: (string | BlockTestimonialItem)[];
8
+ }
9
+ export interface BlockTestimonialItem {
10
+ block_testimonials_slider_id?: (string | BlockTestimonial) | null;
11
+ id?: string;
12
+ sort?: number | null;
13
+ testimonials_id?: (string | Testimonial) | null;
14
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ import type { File } from '../system';
2
+
3
+ export interface BlockVideo {
4
+ headline?: string | null;
5
+ id?: string;
6
+ title?: string | null;
7
+ type?: string | null;
8
+ video_file?: (string | File) | null;
9
+ video_url?: string | null;
10
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,49 @@
1
+ import type { BlockColumn } from './block-column';
2
+ import type { BlockCta } from './block-cta';
3
+ import type { BlockFaq } from './block-faq';
4
+ import type { BlockForm } from './block-form';
5
+ import type { BlockGallery } from './block-gallery';
6
+ import type { BlockHero } from './block-hero';
7
+ import type { BlockHtml } from './block-html';
8
+ import type { BlockLogocloud } from './block-logocloud';
9
+ import type { BlockQuote } from './block-quote';
10
+ import type { BlockRichtext } from './block-richtext';
11
+ import type { BlockStep } from './block-steps';
12
+ import type { BlockTeam } from './block-team';
13
+ import type { BlockTestimonial } from './block-testimonial';
14
+ import type { BlockVideo } from './block-video';
15
+ import type { BlockDivider } from './block-divider';
16
+
17
+ export type BlockType =
18
+ | 'block_columns'
19
+ | 'block_cta'
20
+ | 'block_faqs'
21
+ | 'block_form'
22
+ | 'block_gallery'
23
+ | 'block_hero'
24
+ | 'block_html'
25
+ | 'block_logocloud'
26
+ | 'block_quote'
27
+ | 'block_richtext'
28
+ | 'block_steps'
29
+ | 'block_team'
30
+ | 'block_testimonials'
31
+ | 'block_video'
32
+ | 'block_divider';
33
+
34
+ export type Block =
35
+ | BlockColumn
36
+ | BlockCta
37
+ | BlockFaq
38
+ | BlockForm
39
+ | BlockGallery
40
+ | BlockHero
41
+ | BlockHtml
42
+ | BlockLogocloud
43
+ | BlockQuote
44
+ | BlockRichtext
45
+ | BlockStep
46
+ | BlockTeam
47
+ | BlockTestimonial
48
+ | BlockVideo
49
+ | BlockDivider;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,18 @@
1
+ export type * from './block-column';
2
+ export type * from './block-cta';
3
+ export type * from './block-faq';
4
+ export type * from './block-form';
5
+ export type * from './block-gallery';
6
+ export type * from './block-hero';
7
+ export type * from './block-html';
8
+ export type * from './block-logocloud';
9
+ export type * from './block-quote';
10
+ export type * from './block-richtext';
11
+ export type * from './block-steps';
12
+ export type * from './block-team';
13
+ export type * from './block-testimonial';
14
+ export type * from './block-video';
15
+ export type * from './block-button-group';
16
+ export type * from './block-button';
17
+ export type * from './block-divider';
18
+ export type * from './block';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ export interface ComponentSize {
2
+ size?: 'sm' | 'md' | 'lg'
3
+ }
4
+
5
+ export interface ComponentVariant {
6
+ variant?: 'primary' | 'secondary' | 'danger' | 'ghost'
7
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,11 @@
1
+ import type { SEO } from '../meta';
2
+
3
+ export interface Category {
4
+ color?: string | null;
5
+ content?: string | null;
6
+ id?: string;
7
+ seo?: (string | SEO) | null;
8
+ slug?: string | null;
9
+ sort?: number | null;
10
+ title?: string | null;
11
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,20 @@
1
+ import type { User } from '../system';
2
+
3
+ export interface Form {
4
+ date_created?: string | null;
5
+ date_updated?: string | null;
6
+ id?: string;
7
+ key?: string | null;
8
+ on_success?: string | null;
9
+ redirect_url?: string | null;
10
+ /** The fields for the form. */
11
+ schema?: { [key: string]: any }[] | null;
12
+ sort?: number | null;
13
+ status?: string;
14
+ /** The text for the submit button label. */
15
+ submit_label?: string | null;
16
+ success_message?: string | null;
17
+ title?: string | null;
18
+ user_created?: string | User | null;
19
+ user_updated?: string | User | null;
20
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ export type * from './page';
2
+ export type * from './team';
3
+ export type * from './testimonial';
4
+ export type * from './category';
5
+ export type * from './post';
6
+ export type * from './form';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,76 @@
1
+ import type { SEO } from '../meta';
2
+ import type { User } from '../system';
3
+ import type { Post } from '.';
4
+ import type {
5
+ BlockColumn,
6
+ BlockCta,
7
+ BlockFaq,
8
+ BlockForm,
9
+ BlockGallery,
10
+ BlockHero,
11
+ BlockHtml,
12
+ BlockLogocloud,
13
+ BlockQuote,
14
+ BlockRichtext,
15
+ BlockStep,
16
+ BlockTeam,
17
+ BlockTestimonial,
18
+ BlockVideo,
19
+ BlockType,
20
+ } from '../blocks';
21
+
22
+ export interface Page {
23
+ id?: string;
24
+ permalink: string;
25
+ date_created?: string | null;
26
+ date_updated?: string | null;
27
+ seo?: (string | SEO) | null;
28
+ sort?: number | null;
29
+ status?: string;
30
+ title?: string | null;
31
+ user_created?: (string | User) | null;
32
+ user_updated?: (string | User) | null;
33
+ blocks?: (string | PageBlock)[];
34
+ }
35
+
36
+ export interface PageBlock {
37
+ collection?: BlockType | null;
38
+ id?: string;
39
+ item?:
40
+ | (
41
+ | string
42
+ | BlockColumn
43
+ | BlockCta
44
+ | BlockFaq
45
+ | BlockForm
46
+ | BlockGallery
47
+ | BlockHero
48
+ | BlockHtml
49
+ | BlockLogocloud
50
+ | BlockQuote
51
+ | BlockRichtext
52
+ | BlockStep
53
+ | BlockTeam
54
+ | BlockTestimonial
55
+ | BlockVideo
56
+ )[]
57
+ | null;
58
+ pages_id?: (string | Page) | null;
59
+ sort?: number | null;
60
+ hide_block?: boolean | null;
61
+ }
62
+
63
+ export interface PagesProjects {
64
+ id?: string;
65
+ title?: string | null;
66
+ headline?: string | null | undefined;
67
+ seo: (string | SEO) | null;
68
+ }
69
+
70
+ export interface PagesBlog {
71
+ id?: string;
72
+ title?: string | null;
73
+ headline?: string | null;
74
+ featured_post?: (string | Post) | null;
75
+ seo: (string | SEO) | null;
76
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,39 @@
1
+ import type { User, File } from '../system';
2
+ import type { SEO } from '../meta';
3
+ import type { Category, Team } from '.';
4
+
5
+ export interface Post {
6
+ author?: (string | Team) | null;
7
+ category?: (string | Category) | null;
8
+ content?: string | null;
9
+ date_created?: string | null;
10
+ date_published?: string | null;
11
+ date_updated?: string | null;
12
+ id?: string;
13
+ image?: (string | File) | null;
14
+ seo?: (string | SEO) | null;
15
+ slug?: string | null;
16
+ sort?: number | null;
17
+ status?: 'draft' | 'published' | 'scheduled' | 'in_review' | 'archived';
18
+ summary?: string | null;
19
+ title?: string | null;
20
+ user_created?: string | null;
21
+ user_updated?: string | null;
22
+ links?: string;
23
+ type?: PostType;
24
+ details?: string;
25
+ gallery?: (number | ProjectFile)[];
26
+ built_with?: { [key: string]: any } | null;
27
+ client?: string | null;
28
+ cost?: string | null;
29
+ video_url?: string | null;
30
+ }
31
+
32
+ export type PostType = 'blog' | 'video' | 'project';
33
+
34
+ export interface ProjectFile {
35
+ directus_files_id?: (string | File) | null;
36
+ id?: number;
37
+ project?: (string | File) | null;
38
+ sort?: number | null;
39
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,16 @@
1
+ import type { User, File } from '../system';
2
+
3
+ export interface Team {
4
+ bio?: string | null;
5
+ date_created?: string | null;
6
+ date_updated?: string | null;
7
+ id?: string;
8
+ image?: (string | File) | null;
9
+ job_title?: string | null;
10
+ name?: string | null;
11
+ social_media?: { [key: string]: any } | null;
12
+ sort?: number | null;
13
+ status?: string;
14
+ user_created?: string | User | null;
15
+ user_updated?: string | User | null;
16
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,19 @@
1
+ import type { User } from '../system';
2
+
3
+ export interface Testimonial {
4
+ company?: string | null;
5
+ company_logo?: (string | File) | null;
6
+ content?: string | null;
7
+ date_created?: string | null;
8
+ date_updated?: string | null;
9
+ id?: string;
10
+ image?: (string | File) | null;
11
+ link?: string | null;
12
+ sort?: number | null;
13
+ status?: string;
14
+ subtitle?: string | null;
15
+ title?: string | null;
16
+ user_created?: string | User | null;
17
+ user_updated?: string | User | null;
18
+ company_info?: string;
19
+ }
@@ -0,0 +1,8 @@
1
+ /// <reference types="vite/client" />
2
+ interface ImportMetaEnv {
3
+ readonly API_URL: string;
4
+ }
5
+
6
+ interface ImportMeta {
7
+ readonly env: ImportMetaEnv;
8
+ }
@@ -0,0 +1 @@
1
+ export {};