fulldev-ui 0.7.0-beta.4 → 0.7.0-beta.6

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 (202) hide show
  1. package/astro.config.ts +0 -2
  2. package/cli.js +51 -0
  3. package/components.json +2 -2
  4. package/package.json +16 -32
  5. package/pnpm-lock.yaml +221 -751
  6. package/src/blocks/CategoryGroup1.astro +8 -8
  7. package/src/blocks/CategoryList1.astro +9 -9
  8. package/src/blocks/Contact1.astro +9 -9
  9. package/src/blocks/Contact2.astro +10 -10
  10. package/src/blocks/Content1.astro +7 -7
  11. package/src/blocks/Cta1.astro +6 -6
  12. package/src/blocks/Faqs1.astro +6 -6
  13. package/src/blocks/Faqs2.astro +8 -8
  14. package/src/blocks/Features1.astro +8 -8
  15. package/src/blocks/Footer.astro +10 -10
  16. package/src/blocks/Header.astro +12 -12
  17. package/src/blocks/Hero1.astro +7 -7
  18. package/src/blocks/Intro1.astro +5 -5
  19. package/src/blocks/PostSingle1.astro +6 -6
  20. package/src/blocks/ProductGroup1.astro +10 -10
  21. package/src/blocks/ProductList1.astro +10 -10
  22. package/src/blocks/ProductSingle1.astro +12 -12
  23. package/src/blocks/Reviews1.astro +9 -9
  24. package/src/components/Accordion.vue +1 -1
  25. package/src/components/Avatar.astro +1 -1
  26. package/src/components/Badge.astro +2 -2
  27. package/src/components/Block.astro +9 -15
  28. package/src/components/Box.astro +1 -1
  29. package/src/components/Button.astro +3 -3
  30. package/src/components/Buttons.astro +1 -1
  31. package/src/components/Card.astro +1 -1
  32. package/src/components/Carousel.vue +1 -7
  33. package/src/components/Chip.astro +2 -2
  34. package/src/components/Code.astro +1 -1
  35. package/src/components/Container.astro +1 -1
  36. package/src/components/Drawer.vue +2 -2
  37. package/src/components/Form.vue +4 -7
  38. package/src/components/Gallery.vue +2 -2
  39. package/src/components/Grid.astro +1 -1
  40. package/src/components/Icon.astro +18 -11
  41. package/src/components/List.astro +2 -2
  42. package/src/components/Logo.astro +1 -1
  43. package/src/components/Masonry.astro +1 -1
  44. package/src/components/Menu.astro +1 -1
  45. package/src/components/Menus.astro +1 -1
  46. package/src/components/Navigation.vue +1 -1
  47. package/src/components/Panel.astro +1 -1
  48. package/src/components/Person.astro +3 -3
  49. package/src/components/Price.astro +1 -1
  50. package/src/components/Proof.astro +4 -4
  51. package/src/components/Prose.astro +1 -1
  52. package/src/components/Rating.astro +2 -2
  53. package/src/components/Search.vue +2 -2
  54. package/src/components/Section.astro +1 -1
  55. package/src/components/Select.vue +1 -1
  56. package/src/components/Sidebar.astro +1 -1
  57. package/src/components/Social.astro +1 -1
  58. package/src/components/Sort.vue +1 -1
  59. package/src/components/Split.astro +1 -1
  60. package/src/components/Table.astro +1 -1
  61. package/src/components/Themer.astro +2 -2
  62. package/src/components/Toc.astro +2 -2
  63. package/src/components/Writeup.astro +1 -1
  64. package/src/components/ui/accordion/AccordionContent.vue +1 -1
  65. package/src/components/ui/accordion/AccordionItem.vue +1 -1
  66. package/src/components/ui/accordion/AccordionTrigger.vue +1 -1
  67. package/src/components/ui/auto-form/AutoForm.vue +1 -1
  68. package/src/components/ui/auto-form/AutoFormFieldArray.vue +4 -4
  69. package/src/components/ui/auto-form/AutoFormFieldBoolean.vue +3 -3
  70. package/src/components/ui/auto-form/AutoFormFieldDate.vue +5 -5
  71. package/src/components/ui/auto-form/AutoFormFieldEnum.vue +4 -4
  72. package/src/components/ui/auto-form/AutoFormFieldFile.vue +3 -3
  73. package/src/components/ui/auto-form/AutoFormFieldInput.vue +3 -3
  74. package/src/components/ui/auto-form/AutoFormFieldNumber.vue +2 -2
  75. package/src/components/ui/auto-form/AutoFormFieldObject.vue +2 -2
  76. package/src/components/ui/auto-form/AutoFormLabel.vue +1 -1
  77. package/src/components/ui/avatar/Avatar.vue +1 -1
  78. package/src/components/ui/badge/Badge.vue +1 -1
  79. package/src/components/ui/button/Button.vue +2 -2
  80. package/src/components/ui/calendar/Calendar.vue +1 -1
  81. package/src/components/ui/calendar/CalendarCell.vue +1 -1
  82. package/src/components/ui/calendar/CalendarCellTrigger.vue +2 -2
  83. package/src/components/ui/calendar/CalendarGrid.vue +1 -1
  84. package/src/components/ui/calendar/CalendarGridRow.vue +1 -1
  85. package/src/components/ui/calendar/CalendarHeadCell.vue +1 -1
  86. package/src/components/ui/calendar/CalendarHeader.vue +1 -1
  87. package/src/components/ui/calendar/CalendarHeading.vue +1 -1
  88. package/src/components/ui/calendar/CalendarNextButton.vue +2 -2
  89. package/src/components/ui/calendar/CalendarPrevButton.vue +2 -2
  90. package/src/components/ui/card/Card.vue +1 -1
  91. package/src/components/ui/card/CardContent.vue +1 -1
  92. package/src/components/ui/card/CardDescription.vue +1 -1
  93. package/src/components/ui/card/CardFooter.vue +1 -1
  94. package/src/components/ui/card/CardHeader.vue +1 -1
  95. package/src/components/ui/card/CardTitle.vue +1 -1
  96. package/src/components/ui/carousel/Carousel.vue +1 -1
  97. package/src/components/ui/carousel/CarouselContent.vue +1 -1
  98. package/src/components/ui/carousel/CarouselItem.vue +1 -1
  99. package/src/components/ui/carousel/CarouselNext.vue +2 -2
  100. package/src/components/ui/carousel/CarouselPrevious.vue +2 -2
  101. package/src/components/ui/checkbox/Checkbox.vue +1 -1
  102. package/src/components/ui/command/Command.vue +1 -1
  103. package/src/components/ui/command/CommandDialog.vue +1 -1
  104. package/src/components/ui/command/CommandEmpty.vue +1 -1
  105. package/src/components/ui/command/CommandGroup.vue +1 -1
  106. package/src/components/ui/command/CommandInput.vue +1 -1
  107. package/src/components/ui/command/CommandItem.vue +1 -1
  108. package/src/components/ui/command/CommandList.vue +1 -1
  109. package/src/components/ui/command/CommandSeparator.vue +1 -1
  110. package/src/components/ui/command/CommandShortcut.vue +1 -1
  111. package/src/components/ui/dialog/DialogContent.vue +1 -1
  112. package/src/components/ui/dialog/DialogDescription.vue +1 -1
  113. package/src/components/ui/dialog/DialogFooter.vue +1 -1
  114. package/src/components/ui/dialog/DialogHeader.vue +1 -1
  115. package/src/components/ui/dialog/DialogScrollContent.vue +1 -1
  116. package/src/components/ui/dialog/DialogTitle.vue +1 -1
  117. package/src/components/ui/drawer/DrawerContent.vue +1 -1
  118. package/src/components/ui/drawer/DrawerDescription.vue +1 -1
  119. package/src/components/ui/drawer/DrawerFooter.vue +1 -1
  120. package/src/components/ui/drawer/DrawerHeader.vue +1 -1
  121. package/src/components/ui/drawer/DrawerOverlay.vue +1 -1
  122. package/src/components/ui/drawer/DrawerTitle.vue +1 -1
  123. package/src/components/ui/form/FormDescription.vue +1 -1
  124. package/src/components/ui/form/FormItem.vue +1 -1
  125. package/src/components/ui/form/FormLabel.vue +2 -2
  126. package/src/components/ui/input/Input.vue +1 -1
  127. package/src/components/ui/label/Label.vue +1 -1
  128. package/src/components/ui/navigation-menu/NavigationMenu.vue +1 -1
  129. package/src/components/ui/navigation-menu/NavigationMenuContent.vue +1 -1
  130. package/src/components/ui/navigation-menu/NavigationMenuIndicator.vue +1 -1
  131. package/src/components/ui/navigation-menu/NavigationMenuList.vue +1 -1
  132. package/src/components/ui/navigation-menu/NavigationMenuTrigger.vue +1 -1
  133. package/src/components/ui/navigation-menu/NavigationMenuViewport.vue +1 -1
  134. package/src/components/ui/popover/PopoverContent.vue +1 -1
  135. package/src/components/ui/radio-group/RadioGroup.vue +1 -1
  136. package/src/components/ui/radio-group/RadioGroupItem.vue +1 -1
  137. package/src/components/ui/select/SelectContent.vue +1 -1
  138. package/src/components/ui/select/SelectGroup.vue +1 -1
  139. package/src/components/ui/select/SelectItem.vue +1 -1
  140. package/src/components/ui/select/SelectLabel.vue +1 -1
  141. package/src/components/ui/select/SelectScrollDownButton.vue +1 -1
  142. package/src/components/ui/select/SelectScrollUpButton.vue +1 -1
  143. package/src/components/ui/select/SelectSeparator.vue +1 -1
  144. package/src/components/ui/select/SelectTrigger.vue +1 -1
  145. package/src/components/ui/separator/Separator.vue +1 -1
  146. package/src/components/ui/switch/Switch.vue +1 -1
  147. package/src/components/ui/textarea/Textarea.vue +1 -1
  148. package/src/content/blocks/category-group1.md +18 -0
  149. package/src/content/blocks/category-list1.md +22 -0
  150. package/src/content/blocks/contact1.md +30 -0
  151. package/src/content/blocks/contact2.md +31 -0
  152. package/src/content/blocks/content1.md +14 -0
  153. package/src/content/blocks/cta1.md +11 -0
  154. package/src/content/blocks/faqs1.md +18 -0
  155. package/src/content/blocks/faqs2.md +18 -0
  156. package/src/content/blocks/features1.md +16 -0
  157. package/src/content/blocks/hero1.md +14 -0
  158. package/src/content/blocks/intro1.md +6 -0
  159. package/src/content/blocks/post-single1.md +18 -0
  160. package/src/content/blocks/product-group1.md +21 -0
  161. package/src/content/blocks/product-list1.md +25 -0
  162. package/src/content/blocks/product-single1.md +23 -0
  163. package/src/content/blocks/reviews1.md +16 -0
  164. package/src/content.config.ts +20 -0
  165. package/src/data/settings.json +26 -0
  166. package/src/layouts/NavigationLayout.astro +14 -0
  167. package/src/lib/integration.ts +27 -0
  168. package/src/pages/blocks/[...block].astro +24 -0
  169. package/src/pages/blocks/index.astro +21 -0
  170. package/src/pages/index.astro +8 -0
  171. package/src/schemas/blocks/categoryGroup.ts +1 -1
  172. package/src/schemas/blocks/categoryList.ts +1 -1
  173. package/src/schemas/blocks/categorySingle.ts +1 -1
  174. package/src/schemas/blocks/content.ts +1 -1
  175. package/src/schemas/blocks/cta.ts +1 -1
  176. package/src/schemas/blocks/faqs.ts +4 -3
  177. package/src/schemas/blocks/features.ts +5 -4
  178. package/src/schemas/blocks/footer.ts +3 -3
  179. package/src/schemas/blocks/header.ts +3 -3
  180. package/src/schemas/blocks/hero.ts +1 -1
  181. package/src/schemas/blocks/productList.ts +1 -1
  182. package/src/schemas/blocks/productSingle.ts +1 -1
  183. package/src/schemas/collections/block.ts +83 -0
  184. package/src/schemas/collections/category.ts +11 -0
  185. package/src/schemas/collections/page.ts +13 -0
  186. package/src/schemas/collections/post.ts +11 -0
  187. package/src/schemas/collections/product.ts +11 -0
  188. package/src/schemas/fields/card.ts +3 -3
  189. package/src/schemas/fields/menu.ts +1 -1
  190. package/src/schemas/fields/proof.ts +1 -1
  191. package/src/schemas/fields/section.ts +2 -2
  192. package/src/styles/global.css +123 -0
  193. package/tsconfig.json +1 -1
  194. package/src/components/ui/breadcrumb/Breadcrumb.vue +0 -13
  195. package/src/components/ui/breadcrumb/BreadcrumbEllipsis.vue +0 -22
  196. package/src/components/ui/breadcrumb/BreadcrumbItem.vue +0 -14
  197. package/src/components/ui/breadcrumb/BreadcrumbLink.vue +0 -19
  198. package/src/components/ui/breadcrumb/BreadcrumbList.vue +0 -16
  199. package/src/components/ui/breadcrumb/BreadcrumbPage.vue +0 -19
  200. package/src/components/ui/breadcrumb/BreadcrumbSeparator.vue +0 -21
  201. package/src/components/ui/breadcrumb/index.ts +0 -7
  202. package/src/schemas/fields/block.ts +0 -60
@@ -0,0 +1,123 @@
1
+ @tailwind base;
2
+ @tailwind components;
3
+ @tailwind utilities;
4
+
5
+ @layer base {
6
+ :root {
7
+ --font-sans: 'Geist Sans', sans-serif;
8
+
9
+ --background: 0 0% 100%;
10
+ --foreground: 222.2 84% 4.9%;
11
+
12
+ --muted: 210 40% 96.1%;
13
+ --muted-foreground: 215.4 16.3% 46.9%;
14
+
15
+ --popover: 0 0% 100%;
16
+ --popover-foreground: 222.2 84% 4.9%;
17
+
18
+ --card: 0 0% 100%;
19
+ --card-foreground: 222.2 84% 4.9%;
20
+
21
+ --border: 214.3 31.8% 91.4%;
22
+ --input: 214.3 31.8% 91.4%;
23
+
24
+ --primary: 222.2 47.4% 11.2%;
25
+ --primary-foreground: 210 40% 98%;
26
+
27
+ --secondary: 210 40% 96.1%;
28
+ --secondary-foreground: 222.2 47.4% 11.2%;
29
+
30
+ --accent: 210 40% 96.1%;
31
+ --accent-foreground: 222.2 47.4% 11.2%;
32
+
33
+ --destructive: 0 84.2% 60.2%;
34
+ --destructive-foreground: 210 40% 98%;
35
+
36
+ --ring: 222.2 84% 4.9%;
37
+
38
+ --radius: 0.5rem;
39
+ }
40
+
41
+ .dark {
42
+ --background: 222.2 84% 4.9%;
43
+ --foreground: 210 40% 98%;
44
+
45
+ --muted: 217.2 32.6% 17.5%;
46
+ --muted-foreground: 215 20.2% 65.1%;
47
+
48
+ --popover: 222.2 84% 4.9%;
49
+ --popover-foreground: 210 40% 98%;
50
+
51
+ --card: 222.2 84% 4.9%;
52
+ --card-foreground: 210 40% 98%;
53
+
54
+ --border: 217.2 32.6% 17.5%;
55
+ --input: 217.2 32.6% 17.5%;
56
+
57
+ --primary: 210 40% 98%;
58
+ --primary-foreground: 222.2 47.4% 11.2%;
59
+
60
+ --secondary: 217.2 32.6% 17.5%;
61
+ --secondary-foreground: 210 40% 98%;
62
+
63
+ --accent: 217.2 32.6% 17.5%;
64
+ --accent-foreground: 210 40% 98%;
65
+
66
+ --destructive: 0 62.8% 30.6%;
67
+ --destructive-foreground: 210 40% 98%;
68
+
69
+ --ring: 212.7 26.8% 83.9%;
70
+ }
71
+ }
72
+
73
+ /* Miele */
74
+ /* @layer base {
75
+ :root {
76
+ --font-sans: 'Geist Sans', sans-serif;
77
+
78
+ --background: 0 0% 9%;
79
+ --foreground: 0 0% 98%;
80
+
81
+ --muted: 0 0% 14%;
82
+ --muted-foreground: 0 0% 80%;
83
+
84
+ --popover: 0 0% 14%;
85
+ --popover-foreground: 0 0% 90%;
86
+
87
+ --card: 0 0% 14%;
88
+ --card-foreground: 0 0% 90%;
89
+
90
+ --border: 0 0% 25%;
91
+ --input: 0 0% 34%;
92
+
93
+ --primary: 351 100% 27%;
94
+ --primary-foreground: 0 0% 100%;
95
+
96
+ --secondary: 0 0% 20%;
97
+ --secondary-foreground: 0 0% 90%;
98
+
99
+ --accent: 0 0% 14%;
100
+ --accent-foreground: 0 0% 90%;
101
+
102
+ --destructive: 0 84.2% 60.2%;
103
+ --destructive-foreground: 210 40% 98%;
104
+
105
+ --ring: 0 0% 70%;
106
+
107
+ --radius: 0.3rem;
108
+ }
109
+ } */
110
+
111
+ @layer base {
112
+ * {
113
+ @apply border-border;
114
+ }
115
+ body {
116
+ @apply bg-background text-foreground;
117
+ }
118
+
119
+ .font-sans {
120
+ font-synthesis: initial;
121
+ font-synthesis-weight: auto;
122
+ }
123
+ }
package/tsconfig.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "compilerOptions": {
4
4
  "baseUrl": ".",
5
5
  "paths": {
6
- "fulldev-ui/*": ["./src/*"]
6
+ "@/*": ["./src/*"]
7
7
  },
8
8
  "jsx": "preserve"
9
9
  }
@@ -1,13 +0,0 @@
1
- <script lang="ts" setup>
2
- import type { HTMLAttributes } from 'vue'
3
-
4
- const props = defineProps<{
5
- class?: HTMLAttributes['class']
6
- }>()
7
- </script>
8
-
9
- <template>
10
- <nav aria-label="breadcrumb" :class="props.class">
11
- <slot />
12
- </nav>
13
- </template>
@@ -1,22 +0,0 @@
1
- <script lang="ts" setup>
2
- import { cn } from 'fulldev-ui/lib/utils'
3
- import { MoreHorizontal } from 'lucide-vue-next'
4
- import type { HTMLAttributes } from 'vue'
5
-
6
- const props = defineProps<{
7
- class?: HTMLAttributes['class']
8
- }>()
9
- </script>
10
-
11
- <template>
12
- <span
13
- role="presentation"
14
- aria-hidden="true"
15
- :class="cn('flex h-9 w-9 items-center justify-center', props.class)"
16
- >
17
- <slot>
18
- <MoreHorizontal class="h-4 w-4" />
19
- </slot>
20
- <span class="sr-only">More</span>
21
- </span>
22
- </template>
@@ -1,14 +0,0 @@
1
- <script lang="ts" setup>
2
- import { cn } from 'fulldev-ui/lib/utils'
3
- import type { HTMLAttributes } from 'vue'
4
-
5
- const props = defineProps<{
6
- class?: HTMLAttributes['class']
7
- }>()
8
- </script>
9
-
10
- <template>
11
- <li :class="cn('inline-flex items-center gap-1.5', props.class)">
12
- <slot />
13
- </li>
14
- </template>
@@ -1,19 +0,0 @@
1
- <script lang="ts" setup>
2
- import { cn } from 'fulldev-ui/lib/utils'
3
- import { Primitive, type PrimitiveProps } from 'radix-vue'
4
- import type { HTMLAttributes } from 'vue'
5
-
6
- const props = withDefaults(defineProps<PrimitiveProps & { class?: HTMLAttributes['class'] }>(), {
7
- as: 'a',
8
- })
9
- </script>
10
-
11
- <template>
12
- <Primitive
13
- :as="as"
14
- :as-child="asChild"
15
- :class="cn('transition-colors hover:text-foreground', props.class)"
16
- >
17
- <slot />
18
- </Primitive>
19
- </template>
@@ -1,16 +0,0 @@
1
- <script lang="ts" setup>
2
- import { cn } from 'fulldev-ui/lib/utils'
3
- import type { HTMLAttributes } from 'vue'
4
-
5
- const props = defineProps<{
6
- class?: HTMLAttributes['class']
7
- }>()
8
- </script>
9
-
10
- <template>
11
- <ol
12
- :class="cn('flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5', props.class)"
13
- >
14
- <slot />
15
- </ol>
16
- </template>
@@ -1,19 +0,0 @@
1
- <script lang="ts" setup>
2
- import { cn } from 'fulldev-ui/lib/utils'
3
- import type { HTMLAttributes } from 'vue'
4
-
5
- const props = defineProps<{
6
- class?: HTMLAttributes['class']
7
- }>()
8
- </script>
9
-
10
- <template>
11
- <span
12
- role="link"
13
- aria-disabled="true"
14
- aria-current="page"
15
- :class="cn('font-normal text-foreground', props.class)"
16
- >
17
- <slot />
18
- </span>
19
- </template>
@@ -1,21 +0,0 @@
1
- <script lang="ts" setup>
2
- import { cn } from 'fulldev-ui/lib/utils'
3
- import { ChevronRight } from 'lucide-vue-next'
4
- import type { HTMLAttributes } from 'vue'
5
-
6
- const props = defineProps<{
7
- class?: HTMLAttributes['class']
8
- }>()
9
- </script>
10
-
11
- <template>
12
- <li
13
- role="presentation"
14
- aria-hidden="true"
15
- :class="cn('[&>svg]:w-3.5 [&>svg]:h-3.5', props.class)"
16
- >
17
- <slot>
18
- <ChevronRight />
19
- </slot>
20
- </li>
21
- </template>
@@ -1,7 +0,0 @@
1
- export { default as Breadcrumb } from './Breadcrumb.vue'
2
- export { default as BreadcrumbEllipsis } from './BreadcrumbEllipsis.vue'
3
- export { default as BreadcrumbItem } from './BreadcrumbItem.vue'
4
- export { default as BreadcrumbLink } from './BreadcrumbLink.vue'
5
- export { default as BreadcrumbList } from './BreadcrumbList.vue'
6
- export { default as BreadcrumbPage } from './BreadcrumbPage.vue'
7
- export { default as BreadcrumbSeparator } from './BreadcrumbSeparator.vue'
@@ -1,60 +0,0 @@
1
- import { reference, z } from 'astro:content'
2
- import { badgeSchema } from 'fulldev-ui/schemas/fields/badge.ts'
3
- import { buttonSchema } from 'fulldev-ui/schemas/fields/button.ts'
4
- import { cardSchema } from 'fulldev-ui/schemas/fields/card.ts'
5
- import { channelSchema } from 'fulldev-ui/schemas/fields/channel.ts'
6
- import { formSchema } from 'fulldev-ui/schemas/fields/form.ts'
7
- import { imageSchema } from 'fulldev-ui/schemas/fields/image.ts'
8
- import { linkSchema } from 'fulldev-ui/schemas/fields/link.ts'
9
- import { logoSchema } from 'fulldev-ui/schemas/fields/logo.ts'
10
- import { menuSchema } from 'fulldev-ui/schemas/fields/menu.ts'
11
- import { proofSchema } from 'fulldev-ui/schemas/fields/proof.ts'
12
-
13
- export const blockSchema = z
14
- .object({
15
- block: z.string().optional(),
16
- align: z.enum(['start', 'center', 'end']).optional(),
17
- size: z.enum(['sm', 'md', 'lg']).optional(),
18
- depth: z.union([z.literal(1), z.literal(2), z.literal(3)]).optional(),
19
- logo: logoSchema.optional(),
20
- socials: z.string().array().optional(),
21
- channels: channelSchema.array().optional(),
22
- menus: menuSchema.array().optional(),
23
- title: z.string().optional(),
24
- description: z.string().optional(),
25
- tagline: z.string().optional(),
26
- heading: z.string().optional(),
27
- paragraph: z.string().optional(),
28
- content: z.string().optional(),
29
- list: z.string().array().optional(),
30
- image: imageSchema.optional(),
31
- images: imageSchema.array().optional(),
32
- button: buttonSchema.optional(),
33
- buttons: buttonSchema.array().optional(),
34
- price: z.number().optional(),
35
- soldout: z.boolean().optional(),
36
- variants: z.record(z.string(), z.string().array()).optional(),
37
- categories: reference('categories').array().optional(),
38
- products: reference('products').array().optional(),
39
- posts: reference('posts').array().optional(),
40
- pages: reference('pages').array().optional(),
41
- jobs: reference('jobs').array().optional(),
42
- docs: reference('docs').array().optional(),
43
- form: formSchema.optional(),
44
- cards: cardSchema.array().optional(),
45
- pros: cardSchema.optional(),
46
- cons: cardSchema.optional(),
47
- badge: badgeSchema.optional(),
48
- badges: badgeSchema.array().optional(),
49
- link: linkSchema.optional(),
50
- links: linkSchema.array().optional(),
51
- proof: proofSchema.optional(),
52
- search: z.boolean().optional(),
53
- themer: z.boolean().optional(),
54
- reviews: z.any().array().optional(),
55
- features: z.any().array().optional(),
56
- faqs: z.any().array().optional(),
57
- })
58
- .strict()
59
-
60
- export type BlockSchema = z.infer<typeof blockSchema>