@object-ui/types 0.3.0 → 0.5.0

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 (169) hide show
  1. package/README.md +19 -11
  2. package/dist/api-types.d.ts +7 -0
  3. package/dist/api-types.d.ts.map +1 -1
  4. package/dist/api-types.js +4 -6
  5. package/dist/app.d.ts +17 -0
  6. package/dist/app.d.ts.map +1 -1
  7. package/dist/app.js +4 -3
  8. package/dist/base.d.ts +7 -0
  9. package/dist/base.d.ts.map +1 -1
  10. package/dist/base.js +4 -6
  11. package/dist/blocks.d.ts +332 -0
  12. package/dist/blocks.d.ts.map +1 -0
  13. package/dist/blocks.js +8 -0
  14. package/dist/complex.d.ts +68 -1
  15. package/dist/complex.d.ts.map +1 -1
  16. package/dist/complex.js +4 -5
  17. package/dist/crud.d.ts +181 -3
  18. package/dist/crud.d.ts.map +1 -1
  19. package/dist/crud.js +4 -6
  20. package/dist/data-display.d.ts +54 -2
  21. package/dist/data-display.d.ts.map +1 -1
  22. package/dist/data-display.js +4 -5
  23. package/dist/data-protocol.d.ts +1268 -0
  24. package/dist/data-protocol.d.ts.map +1 -0
  25. package/dist/data-protocol.js +8 -0
  26. package/dist/data.d.ts +22 -1
  27. package/dist/data.d.ts.map +1 -1
  28. package/dist/data.js +4 -6
  29. package/dist/disclosure.d.ts +70 -1
  30. package/dist/disclosure.d.ts.map +1 -1
  31. package/dist/disclosure.js +4 -5
  32. package/dist/feedback.d.ts +68 -1
  33. package/dist/feedback.d.ts.map +1 -1
  34. package/dist/feedback.js +4 -5
  35. package/dist/field-types.d.ts +728 -0
  36. package/dist/field-types.d.ts.map +1 -0
  37. package/dist/field-types.js +8 -0
  38. package/dist/form.d.ts +123 -1
  39. package/dist/form.d.ts.map +1 -1
  40. package/dist/form.js +4 -5
  41. package/dist/index.d.ts +48 -13
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +4 -37
  44. package/dist/layout.d.ts +66 -16
  45. package/dist/layout.d.ts.map +1 -1
  46. package/dist/layout.js +4 -6
  47. package/dist/navigation.d.ts +102 -2
  48. package/dist/navigation.d.ts.map +1 -1
  49. package/dist/navigation.js +4 -5
  50. package/dist/objectql.d.ts +491 -54
  51. package/dist/objectql.d.ts.map +1 -1
  52. package/dist/objectql.js +4 -6
  53. package/dist/overlay.d.ts +31 -1
  54. package/dist/overlay.d.ts.map +1 -1
  55. package/dist/overlay.js +4 -5
  56. package/dist/plugin-scope.d.ts +194 -0
  57. package/dist/plugin-scope.d.ts.map +1 -0
  58. package/dist/plugin-scope.js +8 -0
  59. package/dist/registry.d.ts +7 -0
  60. package/dist/registry.d.ts.map +1 -1
  61. package/dist/registry.js +7 -0
  62. package/dist/reports.d.ts +336 -0
  63. package/dist/reports.d.ts.map +1 -0
  64. package/dist/reports.js +8 -0
  65. package/dist/theme.d.ts +289 -0
  66. package/dist/theme.d.ts.map +1 -0
  67. package/dist/theme.js +8 -0
  68. package/dist/ui-action.d.ts +175 -0
  69. package/dist/ui-action.d.ts.map +1 -0
  70. package/dist/ui-action.js +8 -0
  71. package/dist/views.d.ts +417 -0
  72. package/dist/views.d.ts.map +1 -0
  73. package/dist/views.js +8 -0
  74. package/dist/zod/app.zod.d.ts +120 -0
  75. package/dist/zod/app.zod.d.ts.map +1 -0
  76. package/dist/zod/app.zod.js +60 -0
  77. package/dist/zod/base.zod.d.ts +202 -0
  78. package/dist/zod/base.zod.d.ts.map +1 -0
  79. package/dist/zod/base.zod.js +198 -0
  80. package/dist/zod/blocks.zod.d.ts +834 -0
  81. package/dist/zod/blocks.zod.d.ts.map +1 -0
  82. package/dist/zod/blocks.zod.js +145 -0
  83. package/dist/zod/complex.zod.d.ts +742 -0
  84. package/dist/zod/complex.zod.d.ts.map +1 -0
  85. package/dist/zod/complex.zod.js +233 -0
  86. package/dist/zod/crud.zod.d.ts +598 -0
  87. package/dist/zod/crud.zod.d.ts.map +1 -0
  88. package/dist/zod/crud.zod.js +230 -0
  89. package/dist/zod/data-display.zod.d.ts +996 -0
  90. package/dist/zod/data-display.zod.d.ts.map +1 -0
  91. package/dist/zod/data-display.zod.js +266 -0
  92. package/dist/zod/disclosure.zod.d.ts +267 -0
  93. package/dist/zod/disclosure.zod.d.ts.map +1 -0
  94. package/dist/zod/disclosure.zod.js +84 -0
  95. package/dist/zod/feedback.zod.d.ts +538 -0
  96. package/dist/zod/feedback.zod.d.ts.map +1 -0
  97. package/dist/zod/feedback.zod.js +127 -0
  98. package/dist/zod/form.zod.d.ts +1308 -0
  99. package/dist/zod/form.zod.d.ts.map +1 -0
  100. package/dist/zod/form.zod.js +406 -0
  101. package/dist/zod/index.zod.d.ts +4985 -0
  102. package/dist/zod/index.zod.d.ts.map +1 -0
  103. package/dist/zod/index.zod.js +183 -0
  104. package/dist/zod/layout.zod.d.ts +1048 -0
  105. package/dist/zod/layout.zod.d.ts.map +1 -0
  106. package/dist/zod/layout.zod.js +241 -0
  107. package/dist/zod/navigation.zod.d.ts +486 -0
  108. package/dist/zod/navigation.zod.d.ts.map +1 -0
  109. package/dist/zod/navigation.zod.js +142 -0
  110. package/dist/zod/objectql.zod.d.ts +1261 -0
  111. package/dist/zod/objectql.zod.d.ts.map +1 -0
  112. package/dist/zod/objectql.zod.js +248 -0
  113. package/dist/zod/overlay.zod.d.ts +691 -0
  114. package/dist/zod/overlay.zod.d.ts.map +1 -0
  115. package/dist/zod/overlay.zod.js +179 -0
  116. package/dist/zod/reports.zod.d.ts +1628 -0
  117. package/dist/zod/reports.zod.d.ts.map +1 -0
  118. package/dist/zod/reports.zod.js +152 -0
  119. package/dist/zod/theme.zod.d.ts +611 -0
  120. package/dist/zod/theme.zod.d.ts.map +1 -0
  121. package/dist/zod/theme.zod.js +130 -0
  122. package/dist/zod/views.zod.d.ts +675 -0
  123. package/dist/zod/views.zod.d.ts.map +1 -0
  124. package/dist/zod/views.zod.js +159 -0
  125. package/package.json +9 -1
  126. package/src/__tests__/namespace-exports.test.ts +80 -0
  127. package/src/__tests__/phase2-schemas.test.ts +639 -0
  128. package/src/api-types.ts +8 -0
  129. package/src/app.ts +20 -0
  130. package/src/base.ts +8 -0
  131. package/src/blocks.ts +405 -0
  132. package/src/complex.ts +69 -1
  133. package/src/crud.ts +185 -3
  134. package/src/data-display.ts +60 -2
  135. package/src/data-protocol.ts +1679 -0
  136. package/src/data.ts +21 -1
  137. package/src/disclosure.ts +74 -1
  138. package/src/feedback.ts +76 -2
  139. package/src/field-types.ts +846 -0
  140. package/src/form.ts +131 -1
  141. package/src/index.ts +305 -8
  142. package/src/layout.ts +70 -15
  143. package/src/navigation.ts +109 -2
  144. package/src/objectql.ts +563 -59
  145. package/src/overlay.ts +35 -1
  146. package/src/plugin-scope.ts +210 -0
  147. package/src/registry.ts +8 -0
  148. package/src/reports.ts +408 -0
  149. package/src/theme.ts +351 -0
  150. package/src/ui-action.ts +276 -0
  151. package/src/views.ts +429 -0
  152. package/src/zod/README.md +329 -0
  153. package/src/zod/app.zod.ts +72 -0
  154. package/src/zod/base.zod.ts +229 -0
  155. package/src/zod/blocks.zod.ts +170 -0
  156. package/src/zod/complex.zod.ts +258 -0
  157. package/src/zod/crud.zod.ts +259 -0
  158. package/src/zod/data-display.zod.ts +290 -0
  159. package/src/zod/disclosure.zod.ts +92 -0
  160. package/src/zod/feedback.zod.ts +138 -0
  161. package/src/zod/form.zod.ts +434 -0
  162. package/src/zod/index.zod.ts +425 -0
  163. package/src/zod/layout.zod.ts +262 -0
  164. package/src/zod/navigation.zod.ts +159 -0
  165. package/src/zod/objectql.zod.ts +268 -0
  166. package/src/zod/overlay.zod.ts +196 -0
  167. package/src/zod/reports.zod.ts +183 -0
  168. package/src/zod/theme.zod.ts +155 -0
  169. package/src/zod/views.zod.ts +182 -0
@@ -0,0 +1,486 @@
1
+ /**
2
+ * ObjectUI
3
+ * Copyright (c) 2024-present ObjectStack Inc.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+ /**
9
+ * @object-ui/types/zod - Navigation Component Zod Validators
10
+ *
11
+ * Zod validation schemas for navigation components.
12
+ * Following @objectstack/spec UI specification format.
13
+ *
14
+ * @module zod/navigation
15
+ * @packageDocumentation
16
+ */
17
+ import { z } from 'zod';
18
+ /**
19
+ * Nav Link Schema
20
+ */
21
+ export declare const NavLinkSchema: z.ZodType<any>;
22
+ /**
23
+ * Header Bar Schema - Header/navigation bar component
24
+ */
25
+ export declare const HeaderBarSchema: z.ZodObject<{
26
+ id: z.ZodOptional<z.ZodString>;
27
+ name: z.ZodOptional<z.ZodString>;
28
+ label: z.ZodOptional<z.ZodString>;
29
+ description: z.ZodOptional<z.ZodString>;
30
+ placeholder: z.ZodOptional<z.ZodString>;
31
+ className: z.ZodOptional<z.ZodString>;
32
+ style: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
33
+ data: z.ZodOptional<z.ZodAny>;
34
+ body: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
35
+ children: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
36
+ visible: z.ZodOptional<z.ZodBoolean>;
37
+ visibleOn: z.ZodOptional<z.ZodString>;
38
+ hidden: z.ZodOptional<z.ZodBoolean>;
39
+ hiddenOn: z.ZodOptional<z.ZodString>;
40
+ disabled: z.ZodOptional<z.ZodBoolean>;
41
+ disabledOn: z.ZodOptional<z.ZodString>;
42
+ testId: z.ZodOptional<z.ZodString>;
43
+ ariaLabel: z.ZodOptional<z.ZodString>;
44
+ type: z.ZodLiteral<"header-bar">;
45
+ title: z.ZodOptional<z.ZodString>;
46
+ logo: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
47
+ nav: z.ZodOptional<z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
48
+ left: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
49
+ center: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
50
+ right: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
51
+ sticky: z.ZodOptional<z.ZodBoolean>;
52
+ height: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
53
+ variant: z.ZodOptional<z.ZodEnum<{
54
+ default: "default";
55
+ bordered: "bordered";
56
+ transparent: "transparent";
57
+ }>>;
58
+ }, z.core.$loose>;
59
+ /**
60
+ * Sidebar Schema - Sidebar component
61
+ */
62
+ export declare const SidebarSchema: z.ZodObject<{
63
+ id: z.ZodOptional<z.ZodString>;
64
+ name: z.ZodOptional<z.ZodString>;
65
+ label: z.ZodOptional<z.ZodString>;
66
+ description: z.ZodOptional<z.ZodString>;
67
+ placeholder: z.ZodOptional<z.ZodString>;
68
+ className: z.ZodOptional<z.ZodString>;
69
+ style: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
70
+ data: z.ZodOptional<z.ZodAny>;
71
+ body: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
72
+ children: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
73
+ visible: z.ZodOptional<z.ZodBoolean>;
74
+ visibleOn: z.ZodOptional<z.ZodString>;
75
+ hidden: z.ZodOptional<z.ZodBoolean>;
76
+ hiddenOn: z.ZodOptional<z.ZodString>;
77
+ disabled: z.ZodOptional<z.ZodBoolean>;
78
+ disabledOn: z.ZodOptional<z.ZodString>;
79
+ testId: z.ZodOptional<z.ZodString>;
80
+ ariaLabel: z.ZodOptional<z.ZodString>;
81
+ type: z.ZodLiteral<"sidebar">;
82
+ title: z.ZodOptional<z.ZodString>;
83
+ nav: z.ZodOptional<z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
84
+ content: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
85
+ footer: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
86
+ position: z.ZodOptional<z.ZodEnum<{
87
+ left: "left";
88
+ right: "right";
89
+ }>>;
90
+ collapsible: z.ZodOptional<z.ZodBoolean>;
91
+ defaultCollapsed: z.ZodOptional<z.ZodBoolean>;
92
+ collapsed: z.ZodOptional<z.ZodBoolean>;
93
+ width: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
94
+ collapsedWidth: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
95
+ onCollapsedChange: z.ZodOptional<z.ZodFunction<z.core.$ZodFunctionArgs, z.core.$ZodFunctionOut>>;
96
+ variant: z.ZodOptional<z.ZodEnum<{
97
+ default: "default";
98
+ bordered: "bordered";
99
+ floating: "floating";
100
+ }>>;
101
+ }, z.core.$loose>;
102
+ /**
103
+ * Breadcrumb Item Schema
104
+ */
105
+ export declare const BreadcrumbItemSchema: z.ZodObject<{
106
+ label: z.ZodString;
107
+ href: z.ZodOptional<z.ZodString>;
108
+ icon: z.ZodOptional<z.ZodString>;
109
+ onClick: z.ZodOptional<z.ZodFunction<z.core.$ZodFunctionArgs, z.core.$ZodFunctionOut>>;
110
+ }, z.core.$strip>;
111
+ /**
112
+ * Breadcrumb Schema - Breadcrumb navigation
113
+ */
114
+ export declare const BreadcrumbSchema: z.ZodObject<{
115
+ id: z.ZodOptional<z.ZodString>;
116
+ name: z.ZodOptional<z.ZodString>;
117
+ label: z.ZodOptional<z.ZodString>;
118
+ description: z.ZodOptional<z.ZodString>;
119
+ placeholder: z.ZodOptional<z.ZodString>;
120
+ className: z.ZodOptional<z.ZodString>;
121
+ style: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
122
+ data: z.ZodOptional<z.ZodAny>;
123
+ body: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
124
+ children: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
125
+ visible: z.ZodOptional<z.ZodBoolean>;
126
+ visibleOn: z.ZodOptional<z.ZodString>;
127
+ hidden: z.ZodOptional<z.ZodBoolean>;
128
+ hiddenOn: z.ZodOptional<z.ZodString>;
129
+ disabled: z.ZodOptional<z.ZodBoolean>;
130
+ disabledOn: z.ZodOptional<z.ZodString>;
131
+ testId: z.ZodOptional<z.ZodString>;
132
+ ariaLabel: z.ZodOptional<z.ZodString>;
133
+ type: z.ZodLiteral<"breadcrumb">;
134
+ items: z.ZodArray<z.ZodObject<{
135
+ label: z.ZodString;
136
+ href: z.ZodOptional<z.ZodString>;
137
+ icon: z.ZodOptional<z.ZodString>;
138
+ onClick: z.ZodOptional<z.ZodFunction<z.core.$ZodFunctionArgs, z.core.$ZodFunctionOut>>;
139
+ }, z.core.$strip>>;
140
+ separator: z.ZodOptional<z.ZodString>;
141
+ maxItems: z.ZodOptional<z.ZodNumber>;
142
+ }, z.core.$loose>;
143
+ /**
144
+ * Pagination Schema - Pagination component
145
+ */
146
+ export declare const PaginationSchema: z.ZodObject<{
147
+ id: z.ZodOptional<z.ZodString>;
148
+ name: z.ZodOptional<z.ZodString>;
149
+ label: z.ZodOptional<z.ZodString>;
150
+ description: z.ZodOptional<z.ZodString>;
151
+ placeholder: z.ZodOptional<z.ZodString>;
152
+ className: z.ZodOptional<z.ZodString>;
153
+ style: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
154
+ data: z.ZodOptional<z.ZodAny>;
155
+ body: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
156
+ children: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
157
+ visible: z.ZodOptional<z.ZodBoolean>;
158
+ visibleOn: z.ZodOptional<z.ZodString>;
159
+ hidden: z.ZodOptional<z.ZodBoolean>;
160
+ hiddenOn: z.ZodOptional<z.ZodString>;
161
+ disabled: z.ZodOptional<z.ZodBoolean>;
162
+ disabledOn: z.ZodOptional<z.ZodString>;
163
+ testId: z.ZodOptional<z.ZodString>;
164
+ ariaLabel: z.ZodOptional<z.ZodString>;
165
+ type: z.ZodLiteral<"pagination">;
166
+ page: z.ZodOptional<z.ZodNumber>;
167
+ totalPages: z.ZodNumber;
168
+ siblings: z.ZodOptional<z.ZodNumber>;
169
+ showFirstLast: z.ZodOptional<z.ZodBoolean>;
170
+ showPrevNext: z.ZodOptional<z.ZodBoolean>;
171
+ onPageChange: z.ZodOptional<z.ZodFunction<z.core.$ZodFunctionArgs, z.core.$ZodFunctionOut>>;
172
+ }, z.core.$loose>;
173
+ /**
174
+ * Navigation Menu Item Schema
175
+ */
176
+ export declare const NavigationMenuItemSchema: z.ZodType<any>;
177
+ /**
178
+ * Navigation Menu Schema - Navigation menu component
179
+ */
180
+ export declare const NavigationMenuSchema: z.ZodObject<{
181
+ id: z.ZodOptional<z.ZodString>;
182
+ name: z.ZodOptional<z.ZodString>;
183
+ label: z.ZodOptional<z.ZodString>;
184
+ description: z.ZodOptional<z.ZodString>;
185
+ placeholder: z.ZodOptional<z.ZodString>;
186
+ className: z.ZodOptional<z.ZodString>;
187
+ style: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
188
+ data: z.ZodOptional<z.ZodAny>;
189
+ body: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
190
+ children: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
191
+ visible: z.ZodOptional<z.ZodBoolean>;
192
+ visibleOn: z.ZodOptional<z.ZodString>;
193
+ hidden: z.ZodOptional<z.ZodBoolean>;
194
+ hiddenOn: z.ZodOptional<z.ZodString>;
195
+ disabled: z.ZodOptional<z.ZodBoolean>;
196
+ disabledOn: z.ZodOptional<z.ZodString>;
197
+ testId: z.ZodOptional<z.ZodString>;
198
+ ariaLabel: z.ZodOptional<z.ZodString>;
199
+ type: z.ZodLiteral<"navigation-menu">;
200
+ items: z.ZodOptional<z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
201
+ orientation: z.ZodOptional<z.ZodEnum<{
202
+ horizontal: "horizontal";
203
+ vertical: "vertical";
204
+ }>>;
205
+ }, z.core.$loose>;
206
+ /**
207
+ * Button Group Button Schema
208
+ */
209
+ export declare const ButtonGroupButtonSchema: z.ZodObject<{
210
+ label: z.ZodString;
211
+ variant: z.ZodOptional<z.ZodEnum<{
212
+ default: "default";
213
+ destructive: "destructive";
214
+ outline: "outline";
215
+ secondary: "secondary";
216
+ ghost: "ghost";
217
+ link: "link";
218
+ }>>;
219
+ size: z.ZodOptional<z.ZodEnum<{
220
+ default: "default";
221
+ sm: "sm";
222
+ lg: "lg";
223
+ icon: "icon";
224
+ }>>;
225
+ disabled: z.ZodOptional<z.ZodBoolean>;
226
+ onClick: z.ZodOptional<z.ZodFunction<z.core.$ZodFunctionArgs, z.core.$ZodFunctionOut>>;
227
+ className: z.ZodOptional<z.ZodString>;
228
+ }, z.core.$strip>;
229
+ /**
230
+ * Button Group Schema - Button group component
231
+ */
232
+ export declare const ButtonGroupSchema: z.ZodObject<{
233
+ id: z.ZodOptional<z.ZodString>;
234
+ name: z.ZodOptional<z.ZodString>;
235
+ label: z.ZodOptional<z.ZodString>;
236
+ description: z.ZodOptional<z.ZodString>;
237
+ placeholder: z.ZodOptional<z.ZodString>;
238
+ className: z.ZodOptional<z.ZodString>;
239
+ style: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
240
+ data: z.ZodOptional<z.ZodAny>;
241
+ body: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
242
+ children: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
243
+ visible: z.ZodOptional<z.ZodBoolean>;
244
+ visibleOn: z.ZodOptional<z.ZodString>;
245
+ hidden: z.ZodOptional<z.ZodBoolean>;
246
+ hiddenOn: z.ZodOptional<z.ZodString>;
247
+ disabled: z.ZodOptional<z.ZodBoolean>;
248
+ disabledOn: z.ZodOptional<z.ZodString>;
249
+ testId: z.ZodOptional<z.ZodString>;
250
+ ariaLabel: z.ZodOptional<z.ZodString>;
251
+ type: z.ZodLiteral<"button-group">;
252
+ buttons: z.ZodOptional<z.ZodArray<z.ZodObject<{
253
+ label: z.ZodString;
254
+ variant: z.ZodOptional<z.ZodEnum<{
255
+ default: "default";
256
+ destructive: "destructive";
257
+ outline: "outline";
258
+ secondary: "secondary";
259
+ ghost: "ghost";
260
+ link: "link";
261
+ }>>;
262
+ size: z.ZodOptional<z.ZodEnum<{
263
+ default: "default";
264
+ sm: "sm";
265
+ lg: "lg";
266
+ icon: "icon";
267
+ }>>;
268
+ disabled: z.ZodOptional<z.ZodBoolean>;
269
+ onClick: z.ZodOptional<z.ZodFunction<z.core.$ZodFunctionArgs, z.core.$ZodFunctionOut>>;
270
+ className: z.ZodOptional<z.ZodString>;
271
+ }, z.core.$strip>>>;
272
+ variant: z.ZodOptional<z.ZodEnum<{
273
+ default: "default";
274
+ outline: "outline";
275
+ }>>;
276
+ size: z.ZodOptional<z.ZodEnum<{
277
+ default: "default";
278
+ sm: "sm";
279
+ lg: "lg";
280
+ }>>;
281
+ }, z.core.$loose>;
282
+ /**
283
+ * Navigation Schema Union - All navigation component schemas
284
+ */
285
+ export declare const NavigationSchema: z.ZodUnion<readonly [z.ZodObject<{
286
+ id: z.ZodOptional<z.ZodString>;
287
+ name: z.ZodOptional<z.ZodString>;
288
+ label: z.ZodOptional<z.ZodString>;
289
+ description: z.ZodOptional<z.ZodString>;
290
+ placeholder: z.ZodOptional<z.ZodString>;
291
+ className: z.ZodOptional<z.ZodString>;
292
+ style: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
293
+ data: z.ZodOptional<z.ZodAny>;
294
+ body: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
295
+ children: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
296
+ visible: z.ZodOptional<z.ZodBoolean>;
297
+ visibleOn: z.ZodOptional<z.ZodString>;
298
+ hidden: z.ZodOptional<z.ZodBoolean>;
299
+ hiddenOn: z.ZodOptional<z.ZodString>;
300
+ disabled: z.ZodOptional<z.ZodBoolean>;
301
+ disabledOn: z.ZodOptional<z.ZodString>;
302
+ testId: z.ZodOptional<z.ZodString>;
303
+ ariaLabel: z.ZodOptional<z.ZodString>;
304
+ type: z.ZodLiteral<"header-bar">;
305
+ title: z.ZodOptional<z.ZodString>;
306
+ logo: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
307
+ nav: z.ZodOptional<z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
308
+ left: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
309
+ center: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
310
+ right: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
311
+ sticky: z.ZodOptional<z.ZodBoolean>;
312
+ height: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
313
+ variant: z.ZodOptional<z.ZodEnum<{
314
+ default: "default";
315
+ bordered: "bordered";
316
+ transparent: "transparent";
317
+ }>>;
318
+ }, z.core.$loose>, z.ZodObject<{
319
+ id: z.ZodOptional<z.ZodString>;
320
+ name: z.ZodOptional<z.ZodString>;
321
+ label: z.ZodOptional<z.ZodString>;
322
+ description: z.ZodOptional<z.ZodString>;
323
+ placeholder: z.ZodOptional<z.ZodString>;
324
+ className: z.ZodOptional<z.ZodString>;
325
+ style: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
326
+ data: z.ZodOptional<z.ZodAny>;
327
+ body: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
328
+ children: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
329
+ visible: z.ZodOptional<z.ZodBoolean>;
330
+ visibleOn: z.ZodOptional<z.ZodString>;
331
+ hidden: z.ZodOptional<z.ZodBoolean>;
332
+ hiddenOn: z.ZodOptional<z.ZodString>;
333
+ disabled: z.ZodOptional<z.ZodBoolean>;
334
+ disabledOn: z.ZodOptional<z.ZodString>;
335
+ testId: z.ZodOptional<z.ZodString>;
336
+ ariaLabel: z.ZodOptional<z.ZodString>;
337
+ type: z.ZodLiteral<"sidebar">;
338
+ title: z.ZodOptional<z.ZodString>;
339
+ nav: z.ZodOptional<z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
340
+ content: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
341
+ footer: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
342
+ position: z.ZodOptional<z.ZodEnum<{
343
+ left: "left";
344
+ right: "right";
345
+ }>>;
346
+ collapsible: z.ZodOptional<z.ZodBoolean>;
347
+ defaultCollapsed: z.ZodOptional<z.ZodBoolean>;
348
+ collapsed: z.ZodOptional<z.ZodBoolean>;
349
+ width: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
350
+ collapsedWidth: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
351
+ onCollapsedChange: z.ZodOptional<z.ZodFunction<z.core.$ZodFunctionArgs, z.core.$ZodFunctionOut>>;
352
+ variant: z.ZodOptional<z.ZodEnum<{
353
+ default: "default";
354
+ bordered: "bordered";
355
+ floating: "floating";
356
+ }>>;
357
+ }, z.core.$loose>, z.ZodObject<{
358
+ id: z.ZodOptional<z.ZodString>;
359
+ name: z.ZodOptional<z.ZodString>;
360
+ label: z.ZodOptional<z.ZodString>;
361
+ description: z.ZodOptional<z.ZodString>;
362
+ placeholder: z.ZodOptional<z.ZodString>;
363
+ className: z.ZodOptional<z.ZodString>;
364
+ style: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
365
+ data: z.ZodOptional<z.ZodAny>;
366
+ body: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
367
+ children: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
368
+ visible: z.ZodOptional<z.ZodBoolean>;
369
+ visibleOn: z.ZodOptional<z.ZodString>;
370
+ hidden: z.ZodOptional<z.ZodBoolean>;
371
+ hiddenOn: z.ZodOptional<z.ZodString>;
372
+ disabled: z.ZodOptional<z.ZodBoolean>;
373
+ disabledOn: z.ZodOptional<z.ZodString>;
374
+ testId: z.ZodOptional<z.ZodString>;
375
+ ariaLabel: z.ZodOptional<z.ZodString>;
376
+ type: z.ZodLiteral<"breadcrumb">;
377
+ items: z.ZodArray<z.ZodObject<{
378
+ label: z.ZodString;
379
+ href: z.ZodOptional<z.ZodString>;
380
+ icon: z.ZodOptional<z.ZodString>;
381
+ onClick: z.ZodOptional<z.ZodFunction<z.core.$ZodFunctionArgs, z.core.$ZodFunctionOut>>;
382
+ }, z.core.$strip>>;
383
+ separator: z.ZodOptional<z.ZodString>;
384
+ maxItems: z.ZodOptional<z.ZodNumber>;
385
+ }, z.core.$loose>, z.ZodObject<{
386
+ id: z.ZodOptional<z.ZodString>;
387
+ name: z.ZodOptional<z.ZodString>;
388
+ label: z.ZodOptional<z.ZodString>;
389
+ description: z.ZodOptional<z.ZodString>;
390
+ placeholder: z.ZodOptional<z.ZodString>;
391
+ className: z.ZodOptional<z.ZodString>;
392
+ style: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
393
+ data: z.ZodOptional<z.ZodAny>;
394
+ body: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
395
+ children: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
396
+ visible: z.ZodOptional<z.ZodBoolean>;
397
+ visibleOn: z.ZodOptional<z.ZodString>;
398
+ hidden: z.ZodOptional<z.ZodBoolean>;
399
+ hiddenOn: z.ZodOptional<z.ZodString>;
400
+ disabled: z.ZodOptional<z.ZodBoolean>;
401
+ disabledOn: z.ZodOptional<z.ZodString>;
402
+ testId: z.ZodOptional<z.ZodString>;
403
+ ariaLabel: z.ZodOptional<z.ZodString>;
404
+ type: z.ZodLiteral<"pagination">;
405
+ page: z.ZodOptional<z.ZodNumber>;
406
+ totalPages: z.ZodNumber;
407
+ siblings: z.ZodOptional<z.ZodNumber>;
408
+ showFirstLast: z.ZodOptional<z.ZodBoolean>;
409
+ showPrevNext: z.ZodOptional<z.ZodBoolean>;
410
+ onPageChange: z.ZodOptional<z.ZodFunction<z.core.$ZodFunctionArgs, z.core.$ZodFunctionOut>>;
411
+ }, z.core.$loose>, z.ZodObject<{
412
+ id: z.ZodOptional<z.ZodString>;
413
+ name: z.ZodOptional<z.ZodString>;
414
+ label: z.ZodOptional<z.ZodString>;
415
+ description: z.ZodOptional<z.ZodString>;
416
+ placeholder: z.ZodOptional<z.ZodString>;
417
+ className: z.ZodOptional<z.ZodString>;
418
+ style: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
419
+ data: z.ZodOptional<z.ZodAny>;
420
+ body: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
421
+ children: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
422
+ visible: z.ZodOptional<z.ZodBoolean>;
423
+ visibleOn: z.ZodOptional<z.ZodString>;
424
+ hidden: z.ZodOptional<z.ZodBoolean>;
425
+ hiddenOn: z.ZodOptional<z.ZodString>;
426
+ disabled: z.ZodOptional<z.ZodBoolean>;
427
+ disabledOn: z.ZodOptional<z.ZodString>;
428
+ testId: z.ZodOptional<z.ZodString>;
429
+ ariaLabel: z.ZodOptional<z.ZodString>;
430
+ type: z.ZodLiteral<"navigation-menu">;
431
+ items: z.ZodOptional<z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
432
+ orientation: z.ZodOptional<z.ZodEnum<{
433
+ horizontal: "horizontal";
434
+ vertical: "vertical";
435
+ }>>;
436
+ }, z.core.$loose>, z.ZodObject<{
437
+ id: z.ZodOptional<z.ZodString>;
438
+ name: z.ZodOptional<z.ZodString>;
439
+ label: z.ZodOptional<z.ZodString>;
440
+ description: z.ZodOptional<z.ZodString>;
441
+ placeholder: z.ZodOptional<z.ZodString>;
442
+ className: z.ZodOptional<z.ZodString>;
443
+ style: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
444
+ data: z.ZodOptional<z.ZodAny>;
445
+ body: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
446
+ children: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
447
+ visible: z.ZodOptional<z.ZodBoolean>;
448
+ visibleOn: z.ZodOptional<z.ZodString>;
449
+ hidden: z.ZodOptional<z.ZodBoolean>;
450
+ hiddenOn: z.ZodOptional<z.ZodString>;
451
+ disabled: z.ZodOptional<z.ZodBoolean>;
452
+ disabledOn: z.ZodOptional<z.ZodString>;
453
+ testId: z.ZodOptional<z.ZodString>;
454
+ ariaLabel: z.ZodOptional<z.ZodString>;
455
+ type: z.ZodLiteral<"button-group">;
456
+ buttons: z.ZodOptional<z.ZodArray<z.ZodObject<{
457
+ label: z.ZodString;
458
+ variant: z.ZodOptional<z.ZodEnum<{
459
+ default: "default";
460
+ destructive: "destructive";
461
+ outline: "outline";
462
+ secondary: "secondary";
463
+ ghost: "ghost";
464
+ link: "link";
465
+ }>>;
466
+ size: z.ZodOptional<z.ZodEnum<{
467
+ default: "default";
468
+ sm: "sm";
469
+ lg: "lg";
470
+ icon: "icon";
471
+ }>>;
472
+ disabled: z.ZodOptional<z.ZodBoolean>;
473
+ onClick: z.ZodOptional<z.ZodFunction<z.core.$ZodFunctionArgs, z.core.$ZodFunctionOut>>;
474
+ className: z.ZodOptional<z.ZodString>;
475
+ }, z.core.$strip>>>;
476
+ variant: z.ZodOptional<z.ZodEnum<{
477
+ default: "default";
478
+ outline: "outline";
479
+ }>>;
480
+ size: z.ZodOptional<z.ZodEnum<{
481
+ default: "default";
482
+ sm: "sm";
483
+ lg: "lg";
484
+ }>>;
485
+ }, z.core.$loose>]>;
486
+ //# sourceMappingURL=navigation.zod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.zod.d.ts","sourceRoot":"","sources":["../../src/zod/navigation.zod.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAUxC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAW1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAcxB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;iBAK/B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAK3B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQ3B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAQnD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;iBAI/B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;iBAOlC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAK5B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAO3B,CAAC"}
@@ -0,0 +1,142 @@
1
+ /**
2
+ * ObjectUI
3
+ * Copyright (c) 2024-present ObjectStack Inc.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+ /**
9
+ * @object-ui/types/zod - Navigation Component Zod Validators
10
+ *
11
+ * Zod validation schemas for navigation components.
12
+ * Following @objectstack/spec UI specification format.
13
+ *
14
+ * @module zod/navigation
15
+ * @packageDocumentation
16
+ */
17
+ import { z } from 'zod';
18
+ import { BaseSchema, SchemaNodeSchema } from './base.zod.js';
19
+ /**
20
+ * Nav Link Schema
21
+ */
22
+ export const NavLinkSchema = z.lazy(() => z.object({
23
+ label: z.string().describe('Link label'),
24
+ href: z.string().describe('Link URL'),
25
+ icon: z.string().optional().describe('Link icon'),
26
+ active: z.boolean().optional().describe('Whether link is active'),
27
+ disabled: z.boolean().optional().describe('Whether link is disabled'),
28
+ children: z.array(NavLinkSchema).optional().describe('Sub-navigation items'),
29
+ badge: z.union([z.string(), z.number()]).optional().describe('Badge content'),
30
+ }));
31
+ /**
32
+ * Header Bar Schema - Header/navigation bar component
33
+ */
34
+ export const HeaderBarSchema = BaseSchema.extend({
35
+ type: z.literal('header-bar'),
36
+ title: z.string().optional().describe('Header title'),
37
+ logo: z.union([SchemaNodeSchema, z.array(SchemaNodeSchema)]).optional().describe('Logo content'),
38
+ nav: z.array(NavLinkSchema).optional().describe('Navigation links'),
39
+ left: z.union([SchemaNodeSchema, z.array(SchemaNodeSchema)]).optional().describe('Left content'),
40
+ center: z.union([SchemaNodeSchema, z.array(SchemaNodeSchema)]).optional().describe('Center content'),
41
+ right: z.union([SchemaNodeSchema, z.array(SchemaNodeSchema)]).optional().describe('Right content'),
42
+ sticky: z.boolean().optional().describe('Whether header is sticky'),
43
+ height: z.union([z.string(), z.number()]).optional().describe('Header height'),
44
+ variant: z.enum(['default', 'bordered', 'transparent']).optional().describe('Header variant'),
45
+ });
46
+ /**
47
+ * Sidebar Schema - Sidebar component
48
+ */
49
+ export const SidebarSchema = BaseSchema.extend({
50
+ type: z.literal('sidebar'),
51
+ title: z.string().optional().describe('Sidebar title'),
52
+ nav: z.array(NavLinkSchema).optional().describe('Navigation links'),
53
+ content: z.union([SchemaNodeSchema, z.array(SchemaNodeSchema)]).optional().describe('Sidebar content'),
54
+ footer: z.union([SchemaNodeSchema, z.array(SchemaNodeSchema)]).optional().describe('Sidebar footer'),
55
+ position: z.enum(['left', 'right']).optional().describe('Sidebar position'),
56
+ collapsible: z.boolean().optional().describe('Whether sidebar is collapsible'),
57
+ defaultCollapsed: z.boolean().optional().describe('Default collapsed state'),
58
+ collapsed: z.boolean().optional().describe('Controlled collapsed state'),
59
+ width: z.union([z.string(), z.number()]).optional().describe('Sidebar width'),
60
+ collapsedWidth: z.union([z.string(), z.number()]).optional().describe('Collapsed width'),
61
+ onCollapsedChange: z.function().optional().describe('Collapsed change handler'),
62
+ variant: z.enum(['default', 'bordered', 'floating']).optional().describe('Sidebar variant'),
63
+ });
64
+ /**
65
+ * Breadcrumb Item Schema
66
+ */
67
+ export const BreadcrumbItemSchema = z.object({
68
+ label: z.string().describe('Breadcrumb label'),
69
+ href: z.string().optional().describe('Link URL'),
70
+ icon: z.string().optional().describe('Breadcrumb icon'),
71
+ onClick: z.function().optional().describe('Click handler'),
72
+ });
73
+ /**
74
+ * Breadcrumb Schema - Breadcrumb navigation
75
+ */
76
+ export const BreadcrumbSchema = BaseSchema.extend({
77
+ type: z.literal('breadcrumb'),
78
+ items: z.array(BreadcrumbItemSchema).describe('Breadcrumb items'),
79
+ separator: z.string().optional().describe('Custom separator'),
80
+ maxItems: z.number().optional().describe('Maximum items to display'),
81
+ });
82
+ /**
83
+ * Pagination Schema - Pagination component
84
+ */
85
+ export const PaginationSchema = BaseSchema.extend({
86
+ type: z.literal('pagination'),
87
+ page: z.number().optional().describe('Current page number'),
88
+ totalPages: z.number().describe('Total number of pages'),
89
+ siblings: z.number().optional().describe('Number of sibling pages to show'),
90
+ showFirstLast: z.boolean().optional().describe('Show first/last page buttons'),
91
+ showPrevNext: z.boolean().optional().describe('Show previous/next buttons'),
92
+ onPageChange: z.function().optional().describe('Page change handler'),
93
+ });
94
+ /**
95
+ * Navigation Menu Item Schema
96
+ */
97
+ export const NavigationMenuItemSchema = z.lazy(() => z.object({
98
+ label: z.string().describe('Menu item label'),
99
+ href: z.string().optional().describe('Link URL'),
100
+ description: z.string().optional().describe('Item description'),
101
+ icon: z.string().optional().describe('Item icon'),
102
+ children: z.array(NavigationMenuItemSchema).optional().describe('Submenu items'),
103
+ }));
104
+ /**
105
+ * Navigation Menu Schema - Navigation menu component
106
+ */
107
+ export const NavigationMenuSchema = BaseSchema.extend({
108
+ type: z.literal('navigation-menu'),
109
+ items: z.array(NavigationMenuItemSchema).optional().describe('Menu items'),
110
+ orientation: z.enum(['horizontal', 'vertical']).optional().describe('Menu orientation'),
111
+ });
112
+ /**
113
+ * Button Group Button Schema
114
+ */
115
+ export const ButtonGroupButtonSchema = z.object({
116
+ label: z.string().describe('Button label'),
117
+ variant: z.enum(['default', 'secondary', 'destructive', 'outline', 'ghost', 'link']).optional(),
118
+ size: z.enum(['default', 'sm', 'lg', 'icon']).optional(),
119
+ disabled: z.boolean().optional().describe('Whether button is disabled'),
120
+ onClick: z.function().optional().describe('Click handler'),
121
+ className: z.string().optional().describe('Button class name'),
122
+ });
123
+ /**
124
+ * Button Group Schema - Button group component
125
+ */
126
+ export const ButtonGroupSchema = BaseSchema.extend({
127
+ type: z.literal('button-group'),
128
+ buttons: z.array(ButtonGroupButtonSchema).optional().describe('Group buttons'),
129
+ variant: z.enum(['default', 'outline']).optional().describe('Button group variant'),
130
+ size: z.enum(['default', 'sm', 'lg']).optional().describe('Button group size'),
131
+ });
132
+ /**
133
+ * Navigation Schema Union - All navigation component schemas
134
+ */
135
+ export const NavigationSchema = z.union([
136
+ HeaderBarSchema,
137
+ SidebarSchema,
138
+ BreadcrumbSchema,
139
+ PaginationSchema,
140
+ NavigationMenuSchema,
141
+ ButtonGroupSchema,
142
+ ]);