@fieldia/core 0.28.0 → 0.30.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 (251) hide show
  1. package/README.md +125 -1
  2. package/package.json +1 -1
  3. package/schema/page.schema.json +279 -6
  4. package/src/index.d.mts +8 -2
  5. package/src/index.d.ts +8 -2
  6. package/src/index.js +29 -2
  7. package/src/index.js.map +1 -1
  8. package/src/index.mjs +11 -2
  9. package/src/index.mjs.map +1 -1
  10. package/src/lib/format/approval-checks.d.mts +8 -0
  11. package/src/lib/format/approval-checks.d.ts +8 -0
  12. package/src/lib/format/approval-checks.js +29 -0
  13. package/src/lib/format/approval-checks.js.map +1 -0
  14. package/src/lib/format/approval-checks.mjs +26 -0
  15. package/src/lib/format/approval-checks.mjs.map +1 -0
  16. package/src/lib/format/approval.d.mts +20 -0
  17. package/src/lib/format/approval.d.ts +20 -0
  18. package/src/lib/format/approval.js +25 -0
  19. package/src/lib/format/approval.js.map +1 -0
  20. package/src/lib/format/approval.mjs +22 -0
  21. package/src/lib/format/approval.mjs.map +1 -0
  22. package/src/lib/format/assist-checks.d.mts +14 -0
  23. package/src/lib/format/assist-checks.d.ts +14 -0
  24. package/src/lib/format/assist-checks.js +68 -0
  25. package/src/lib/format/assist-checks.js.map +1 -0
  26. package/src/lib/format/assist-checks.mjs +64 -0
  27. package/src/lib/format/assist-checks.mjs.map +1 -0
  28. package/src/lib/format/assist.d.mts +41 -0
  29. package/src/lib/format/assist.d.ts +41 -0
  30. package/src/lib/format/assist.js +29 -0
  31. package/src/lib/format/assist.js.map +1 -0
  32. package/src/lib/format/assist.mjs +26 -0
  33. package/src/lib/format/assist.mjs.map +1 -0
  34. package/src/lib/format/editable-checks.d.mts +8 -0
  35. package/src/lib/format/editable-checks.d.ts +8 -0
  36. package/src/lib/format/editable-checks.js +38 -0
  37. package/src/lib/format/editable-checks.js.map +1 -0
  38. package/src/lib/format/editable-checks.mjs +35 -0
  39. package/src/lib/format/editable-checks.mjs.map +1 -0
  40. package/src/lib/format/field.d.mts +86 -0
  41. package/src/lib/format/field.d.ts +86 -0
  42. package/src/lib/format/field.js +56 -10
  43. package/src/lib/format/field.js.map +1 -1
  44. package/src/lib/format/field.mjs +55 -9
  45. package/src/lib/format/field.mjs.map +1 -1
  46. package/src/lib/format/head-checks.d.mts +10 -2
  47. package/src/lib/format/head-checks.d.ts +10 -2
  48. package/src/lib/format/head-checks.js +9 -2
  49. package/src/lib/format/head-checks.js.map +1 -1
  50. package/src/lib/format/head-checks.mjs +10 -4
  51. package/src/lib/format/head-checks.mjs.map +1 -1
  52. package/src/lib/format/languages-checks.d.mts +8 -0
  53. package/src/lib/format/languages-checks.d.ts +8 -0
  54. package/src/lib/format/languages-checks.js +40 -0
  55. package/src/lib/format/languages-checks.js.map +1 -0
  56. package/src/lib/format/languages-checks.mjs +37 -0
  57. package/src/lib/format/languages-checks.mjs.map +1 -0
  58. package/src/lib/format/later-checks.d.mts +4 -3
  59. package/src/lib/format/later-checks.d.ts +4 -3
  60. package/src/lib/format/later-checks.js +4 -3
  61. package/src/lib/format/later-checks.js.map +1 -1
  62. package/src/lib/format/later-checks.mjs +4 -3
  63. package/src/lib/format/later-checks.mjs.map +1 -1
  64. package/src/lib/format/layout.d.mts +129 -26
  65. package/src/lib/format/layout.d.ts +129 -26
  66. package/src/lib/format/layout.js +24 -3
  67. package/src/lib/format/layout.js.map +1 -1
  68. package/src/lib/format/layout.mjs +22 -1
  69. package/src/lib/format/layout.mjs.map +1 -1
  70. package/src/lib/format/layout.types.d.mts +2 -1
  71. package/src/lib/format/layout.types.d.ts +2 -1
  72. package/src/lib/format/list-editable.d.mts +20 -0
  73. package/src/lib/format/list-editable.d.ts +20 -0
  74. package/src/lib/format/list-editable.js +33 -0
  75. package/src/lib/format/list-editable.js.map +1 -0
  76. package/src/lib/format/list-editable.mjs +28 -0
  77. package/src/lib/format/list-editable.mjs.map +1 -0
  78. package/src/lib/format/page.d.mts +88 -9
  79. package/src/lib/format/page.d.ts +88 -9
  80. package/src/lib/format/page.js +4 -0
  81. package/src/lib/format/page.js.map +1 -1
  82. package/src/lib/format/page.mjs +4 -0
  83. package/src/lib/format/page.mjs.map +1 -1
  84. package/src/lib/format/photos-options.d.mts +29 -0
  85. package/src/lib/format/photos-options.d.ts +29 -0
  86. package/src/lib/format/photos-options.js +49 -0
  87. package/src/lib/format/photos-options.js.map +1 -0
  88. package/src/lib/format/photos-options.mjs +45 -0
  89. package/src/lib/format/photos-options.mjs.map +1 -0
  90. package/src/lib/format/references.d.mts +3 -1
  91. package/src/lib/format/references.d.ts +3 -1
  92. package/src/lib/format/references.js +41 -14
  93. package/src/lib/format/references.js.map +1 -1
  94. package/src/lib/format/references.mjs +42 -15
  95. package/src/lib/format/references.mjs.map +1 -1
  96. package/src/lib/format/scan-checks.d.mts +12 -0
  97. package/src/lib/format/scan-checks.d.ts +12 -0
  98. package/src/lib/format/scan-checks.js +89 -0
  99. package/src/lib/format/scan-checks.js.map +1 -0
  100. package/src/lib/format/scan-checks.mjs +86 -0
  101. package/src/lib/format/scan-checks.mjs.map +1 -0
  102. package/src/lib/format/scan-options.d.mts +84 -0
  103. package/src/lib/format/scan-options.d.ts +84 -0
  104. package/src/lib/format/scan-options.js +58 -0
  105. package/src/lib/format/scan-options.js.map +1 -0
  106. package/src/lib/format/scan-options.mjs +54 -0
  107. package/src/lib/format/scan-options.mjs.map +1 -0
  108. package/src/lib/format/sheet-head-checks.d.mts +10 -2
  109. package/src/lib/format/sheet-head-checks.d.ts +10 -2
  110. package/src/lib/format/sheet-head-checks.js +24 -0
  111. package/src/lib/format/sheet-head-checks.js.map +1 -1
  112. package/src/lib/format/sheet-head-checks.mjs +23 -0
  113. package/src/lib/format/sheet-head-checks.mjs.map +1 -1
  114. package/src/lib/format/upgrade.d.mts +6 -2
  115. package/src/lib/format/upgrade.d.ts +6 -2
  116. package/src/lib/format/upgrade.js +6 -2
  117. package/src/lib/format/upgrade.js.map +1 -1
  118. package/src/lib/format/upgrade.mjs +6 -2
  119. package/src/lib/format/upgrade.mjs.map +1 -1
  120. package/src/lib/format/version.d.mts +2 -2
  121. package/src/lib/format/version.d.ts +2 -2
  122. package/src/lib/format/version.js +2 -2
  123. package/src/lib/format/version.js.map +1 -1
  124. package/src/lib/format/version.mjs +2 -2
  125. package/src/lib/format/version.mjs.map +1 -1
  126. package/src/lib/record/approvals-part.d.mts +6 -0
  127. package/src/lib/record/approvals-part.d.ts +6 -0
  128. package/src/lib/record/approvals-part.js +14 -0
  129. package/src/lib/record/approvals-part.js.map +1 -0
  130. package/src/lib/record/approvals-part.mjs +7 -0
  131. package/src/lib/record/approvals-part.mjs.map +1 -0
  132. package/src/lib/record/approving.d.mts +45 -0
  133. package/src/lib/record/approving.d.ts +45 -0
  134. package/src/lib/record/approving.js +10 -0
  135. package/src/lib/record/approving.js.map +1 -0
  136. package/src/lib/record/approving.mjs +7 -0
  137. package/src/lib/record/approving.mjs.map +1 -0
  138. package/src/lib/record/check.js +4 -0
  139. package/src/lib/record/check.js.map +1 -1
  140. package/src/lib/record/check.mjs +4 -0
  141. package/src/lib/record/check.mjs.map +1 -1
  142. package/src/lib/record/data-source.d.mts +270 -0
  143. package/src/lib/record/data-source.d.ts +270 -0
  144. package/src/lib/record/data-source.js.map +1 -1
  145. package/src/lib/record/data-source.mjs.map +1 -1
  146. package/src/lib/record/files-part.d.mts +7 -0
  147. package/src/lib/record/files-part.d.ts +7 -0
  148. package/src/lib/record/files-part.js +167 -0
  149. package/src/lib/record/files-part.js.map +1 -0
  150. package/src/lib/record/files-part.mjs +163 -0
  151. package/src/lib/record/files-part.mjs.map +1 -0
  152. package/src/lib/record/filter.d.mts +5 -0
  153. package/src/lib/record/filter.d.ts +5 -0
  154. package/src/lib/record/filter.js +1 -0
  155. package/src/lib/record/filter.js.map +1 -1
  156. package/src/lib/record/filter.mjs +1 -1
  157. package/src/lib/record/filter.mjs.map +1 -1
  158. package/src/lib/record/form-approvals.d.mts +47 -0
  159. package/src/lib/record/form-approvals.d.ts +47 -0
  160. package/src/lib/record/form-approvals.js +186 -0
  161. package/src/lib/record/form-approvals.js.map +1 -0
  162. package/src/lib/record/form-approvals.mjs +180 -0
  163. package/src/lib/record/form-approvals.mjs.map +1 -0
  164. package/src/lib/record/form.d.mts +32 -1
  165. package/src/lib/record/form.d.ts +32 -1
  166. package/src/lib/record/form.js +60 -15
  167. package/src/lib/record/form.js.map +1 -1
  168. package/src/lib/record/form.mjs +60 -15
  169. package/src/lib/record/form.mjs.map +1 -1
  170. package/src/lib/record/languages-part.d.mts +32 -0
  171. package/src/lib/record/languages-part.d.ts +32 -0
  172. package/src/lib/record/languages-part.js +104 -0
  173. package/src/lib/record/languages-part.js.map +1 -0
  174. package/src/lib/record/languages-part.mjs +96 -0
  175. package/src/lib/record/languages-part.mjs.map +1 -0
  176. package/src/lib/record/languages.d.mts +26 -0
  177. package/src/lib/record/languages.d.ts +26 -0
  178. package/src/lib/record/languages.js +20 -0
  179. package/src/lib/record/languages.js.map +1 -0
  180. package/src/lib/record/languages.mjs +15 -0
  181. package/src/lib/record/languages.mjs.map +1 -0
  182. package/src/lib/record/locales/ar.js +5 -0
  183. package/src/lib/record/locales/ar.js.map +1 -1
  184. package/src/lib/record/locales/ar.mjs +5 -0
  185. package/src/lib/record/locales/ar.mjs.map +1 -1
  186. package/src/lib/record/locales/de.js +5 -0
  187. package/src/lib/record/locales/de.js.map +1 -1
  188. package/src/lib/record/locales/de.mjs +5 -0
  189. package/src/lib/record/locales/de.mjs.map +1 -1
  190. package/src/lib/record/locales/fr.js +5 -0
  191. package/src/lib/record/locales/fr.js.map +1 -1
  192. package/src/lib/record/locales/fr.mjs +5 -0
  193. package/src/lib/record/locales/fr.mjs.map +1 -1
  194. package/src/lib/record/memory-approvals.d.mts +47 -0
  195. package/src/lib/record/memory-approvals.d.ts +47 -0
  196. package/src/lib/record/memory-approvals.js +78 -0
  197. package/src/lib/record/memory-approvals.js.map +1 -0
  198. package/src/lib/record/memory-approvals.mjs +75 -0
  199. package/src/lib/record/memory-approvals.mjs.map +1 -0
  200. package/src/lib/record/memory-assist.d.mts +53 -0
  201. package/src/lib/record/memory-assist.d.ts +53 -0
  202. package/src/lib/record/memory-assist.js +519 -0
  203. package/src/lib/record/memory-assist.js.map +1 -0
  204. package/src/lib/record/memory-assist.mjs +513 -0
  205. package/src/lib/record/memory-assist.mjs.map +1 -0
  206. package/src/lib/record/memory-clusters.d.mts +18 -0
  207. package/src/lib/record/memory-clusters.d.ts +18 -0
  208. package/src/lib/record/memory-clusters.js +83 -0
  209. package/src/lib/record/memory-clusters.js.map +1 -0
  210. package/src/lib/record/memory-clusters.mjs +80 -0
  211. package/src/lib/record/memory-clusters.mjs.map +1 -0
  212. package/src/lib/record/memory-data-source.d.mts +43 -3
  213. package/src/lib/record/memory-data-source.d.ts +43 -3
  214. package/src/lib/record/memory-data-source.js +105 -19
  215. package/src/lib/record/memory-data-source.js.map +1 -1
  216. package/src/lib/record/memory-data-source.mjs +105 -19
  217. package/src/lib/record/memory-data-source.mjs.map +1 -1
  218. package/src/lib/record/memory-later.d.mts +1 -1
  219. package/src/lib/record/memory-later.d.ts +1 -1
  220. package/src/lib/record/memory-later.js +4 -1
  221. package/src/lib/record/memory-later.js.map +1 -1
  222. package/src/lib/record/memory-later.mjs +4 -1
  223. package/src/lib/record/memory-later.mjs.map +1 -1
  224. package/src/lib/record/messages.d.mts +14 -0
  225. package/src/lib/record/messages.d.ts +14 -0
  226. package/src/lib/record/messages.js +5 -0
  227. package/src/lib/record/messages.js.map +1 -1
  228. package/src/lib/record/messages.mjs +5 -0
  229. package/src/lib/record/messages.mjs.map +1 -1
  230. package/src/lib/record/run.d.mts +6 -1
  231. package/src/lib/record/run.d.ts +6 -1
  232. package/src/lib/record/run.js.map +1 -1
  233. package/src/lib/record/run.mjs.map +1 -1
  234. package/src/lib/record/uploads.d.mts +35 -9
  235. package/src/lib/record/uploads.d.ts +35 -9
  236. package/src/lib/record/uploads.js +49 -169
  237. package/src/lib/record/uploads.js.map +1 -1
  238. package/src/lib/record/uploads.mjs +42 -164
  239. package/src/lib/record/uploads.mjs.map +1 -1
  240. package/src/lib/record/values.d.mts +23 -0
  241. package/src/lib/record/values.d.ts +23 -0
  242. package/src/lib/record/values.js +4 -0
  243. package/src/lib/record/values.js.map +1 -1
  244. package/src/lib/record/values.mjs +4 -0
  245. package/src/lib/record/values.mjs.map +1 -1
  246. package/src/runtime.d.mts +12 -5
  247. package/src/runtime.d.ts +12 -5
  248. package/src/runtime.js +18 -3
  249. package/src/runtime.js.map +1 -1
  250. package/src/runtime.mjs +7 -1
  251. package/src/runtime.mjs.map +1 -1
@@ -950,9 +950,16 @@ export interface Statusbar {
950
950
  * that opens a departure wizard. The app's own report under Print is an
951
951
  * `action` whose answer hands the viewer its file (`ActionResult.file`): its
952
952
  * PDF shown over the record, or saved.
953
+ *
954
+ * An item with a `menu` of its own, or one the app gives (`menuFrom`), opens
955
+ * it beside it — "Templates ›" — rather than doing anything itself; a
956
+ * `divider` is a line between items, left out where nothing shows on one side
957
+ * of it.
953
958
  */
954
959
  export interface MenuItem {
955
960
  id: string;
961
+ /** A line between the items round it, with nothing else of its own: `{ "type": "divider", "id": "m-rule" }`. */
962
+ type?: 'divider';
956
963
  /** Its words; a built-in's own, in the page's language, when left out. */
957
964
  label?: string;
958
965
  /**
@@ -975,6 +982,19 @@ export interface MenuItem {
975
982
  icon?: string;
976
983
  invisible?: Modifier;
977
984
  roles?: Roles;
985
+ /**
986
+ * A menu of its own, opened beside it — by pointing at it, a press, Enter or
987
+ * the arrow toward it — its items pressed as this menu's are. With
988
+ * `menuFrom`, these come first.
989
+ */
990
+ menu?: MenuItem[];
991
+ /**
992
+ * Items the app gives as the menu opens — templates that depend on the
993
+ * record — by the app's action of this name: `onAction` is asked with it and
994
+ * this item's `params`, and answers `{ menu: [...] }`. Each is pressed as a
995
+ * page's item is: its steps, then its action, its `confirm` asked first.
996
+ */
997
+ menuFrom?: string;
978
998
  }
979
999
  /**
980
1000
  * What sits over a record, around its sheet: the gear menu the page fills,
@@ -1223,6 +1243,13 @@ export interface ListNode {
1223
1243
  * counted as they change. Off unless true.
1224
1244
  */
1225
1245
  filterSheet?: boolean;
1246
+ /**
1247
+ * A search typed in plain words turned into filters — "villas in New Cairo under 15M" into Type: Villa, District:
1248
+ * New Cairo, Price: up to 15,000,000 — by the data source's `searchToFilter` (the app's own model: Fieldia ships
1249
+ * none): a ✦ button beside the search box while it holds words. Each filter made is shown, to take away as any, with
1250
+ * the app's why and Undo, which puts the words back. Hidden where the source has no `searchToFilter`. Off unless true.
1251
+ */
1252
+ searchToFilter?: boolean;
1226
1253
  /** Rows nested under their parent by this many2one (to the list's own model), with Expand all and Collapse all in the header. */
1227
1254
  parentField?: string;
1228
1255
  /**
@@ -1304,6 +1331,32 @@ export interface ListNode {
1304
1331
  * that record alone, as a button for the rows chosen runs with them.
1305
1332
  */
1306
1333
  rowButtons?: ButtonNode[];
1334
+ /**
1335
+ * Its cells changed in place, as a price list or a week's hours are kept:
1336
+ * a press on a cell, or Enter, opens it in its field's own box with its
1337
+ * rules; Tab and Shift+Tab go from cell to cell, Escape puts back what it
1338
+ * held; each row is saved through the data source as it is left, and one
1339
+ * refused says why under it, the person's typing kept; a row is added at
1340
+ * the end. `true`: every column a cell can change — of a kind a box in a
1341
+ * cell takes, not read-only, not worked out; `fields`, those columns alone;
1342
+ * `add: false`, no row added; `open: true`, an Open button on each row. A
1343
+ * row whose source says this person may not change it (`can`) stays as it
1344
+ * is. Off unless given.
1345
+ */
1346
+ editable?: boolean | ListEditable;
1347
+ }
1348
+ /** What a list changes in place (`ListNode.editable`). */
1349
+ export interface ListEditable {
1350
+ /** The columns changed in place: every column a cell can change unless said. */
1351
+ fields?: string[];
1352
+ /** A row added at the end of the list, saved once it is left; unless false. */
1353
+ add?: boolean;
1354
+ /**
1355
+ * An Open button at each row's end, where the app opens records (`onOpenRecord`), as Flectra's `open_form_view`:
1356
+ * a press on a cell it changes edits that cell, so a row whose every cell changes is opened by it. Off unless true;
1357
+ * a press on a cell it does not change opens the record as before.
1358
+ */
1359
+ open?: boolean;
1307
1360
  }
1308
1361
  /**
1309
1362
  * A filter of a field's range in a list's filter bar (`ListNode.filterRanges`): From and To, and where it names them,
@@ -1681,8 +1734,8 @@ export declare const FieldNodeSchema: z.ZodObject<{
1681
1734
  content: "content";
1682
1735
  }>>;
1683
1736
  editMode: z.ZodOptional<z.ZodEnum<{
1684
- cell: "cell";
1685
1737
  row: "row";
1738
+ cell: "cell";
1686
1739
  }>>;
1687
1740
  labels: z.ZodOptional<z.ZodEnum<{
1688
1741
  above: "above";
@@ -2726,8 +2779,8 @@ export declare const ListCellSchema: z.ZodObject<{
2726
2779
  total: z.ZodOptional<z.ZodEnum<{
2727
2780
  min: "min";
2728
2781
  max: "max";
2729
- sum: "sum";
2730
2782
  count: "count";
2783
+ sum: "sum";
2731
2784
  avg: "avg";
2732
2785
  }>>;
2733
2786
  rule: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodType<`${number}px`, unknown, z.z.core.$ZodTypeInternals<`${number}px`, unknown>>]>>;
@@ -2778,6 +2831,11 @@ export declare const ListGallerySchema: z.ZodObject<{
2778
2831
  large: "large";
2779
2832
  }>>;
2780
2833
  }, z.z.core.$strict>;
2834
+ export declare const ListEditableSchema: z.ZodObject<{
2835
+ fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
2836
+ add: z.ZodOptional<z.ZodBoolean>;
2837
+ open: z.ZodOptional<z.ZodBoolean>;
2838
+ }, z.z.core.$strict>;
2781
2839
  /**
2782
2840
  * A related list: another model's records whose link (`field`) is this record, a page at a time, in a record's page.
2783
2841
  * Its columns are fields of its own `fields`.
@@ -2790,6 +2848,8 @@ export declare const RelatedNodeSchema: z.ZodObject<{
2790
2848
  model: z.ZodString;
2791
2849
  field: z.ZodString;
2792
2850
  fields: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
2851
+ translate: z.ZodOptional<z.ZodArray<z.ZodString>>;
2852
+ requiredIn: z.ZodOptional<z.ZodArray<z.ZodString>>;
2793
2853
  size: z.ZodOptional<z.ZodInt>;
2794
2854
  pattern: z.ZodOptional<z.ZodString>;
2795
2855
  patternHint: z.ZodOptional<z.ZodString>;
@@ -2807,6 +2867,8 @@ export declare const RelatedNodeSchema: z.ZodObject<{
2807
2867
  }, z.z.core.$strict>>>;
2808
2868
  type: z.ZodLiteral<"char">;
2809
2869
  }, z.z.core.$strict>, z.ZodObject<{
2870
+ translate: z.ZodOptional<z.ZodArray<z.ZodString>>;
2871
+ requiredIn: z.ZodOptional<z.ZodArray<z.ZodString>>;
2810
2872
  size: z.ZodOptional<z.ZodInt>;
2811
2873
  label: z.ZodString;
2812
2874
  help: z.ZodOptional<z.ZodString>;
@@ -3040,8 +3102,8 @@ export declare const RelatedNodeSchema: z.ZodObject<{
3040
3102
  total: z.ZodOptional<z.ZodEnum<{
3041
3103
  min: "min";
3042
3104
  max: "max";
3043
- sum: "sum";
3044
3105
  count: "count";
3106
+ sum: "sum";
3045
3107
  avg: "avg";
3046
3108
  }>>;
3047
3109
  rule: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodType<`${number}px`, unknown, z.z.core.$ZodTypeInternals<`${number}px`, unknown>>]>>;
@@ -3515,8 +3577,8 @@ export declare const LayoutNodeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
3515
3577
  content: "content";
3516
3578
  }>>;
3517
3579
  editMode: z.ZodOptional<z.ZodEnum<{
3518
- cell: "cell";
3519
3580
  row: "row";
3581
+ cell: "cell";
3520
3582
  }>>;
3521
3583
  labels: z.ZodOptional<z.ZodEnum<{
3522
3584
  above: "above";
@@ -4216,6 +4278,8 @@ export declare const LayoutNodeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
4216
4278
  model: z.ZodString;
4217
4279
  field: z.ZodString;
4218
4280
  fields: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
4281
+ translate: z.ZodOptional<z.ZodArray<z.ZodString>>;
4282
+ requiredIn: z.ZodOptional<z.ZodArray<z.ZodString>>;
4219
4283
  size: z.ZodOptional<z.ZodInt>;
4220
4284
  pattern: z.ZodOptional<z.ZodString>;
4221
4285
  patternHint: z.ZodOptional<z.ZodString>;
@@ -4233,6 +4297,8 @@ export declare const LayoutNodeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
4233
4297
  }, z.z.core.$strict>>>;
4234
4298
  type: z.ZodLiteral<"char">;
4235
4299
  }, z.z.core.$strict>, z.ZodObject<{
4300
+ translate: z.ZodOptional<z.ZodArray<z.ZodString>>;
4301
+ requiredIn: z.ZodOptional<z.ZodArray<z.ZodString>>;
4236
4302
  size: z.ZodOptional<z.ZodInt>;
4237
4303
  label: z.ZodString;
4238
4304
  help: z.ZodOptional<z.ZodString>;
@@ -4466,8 +4532,8 @@ export declare const LayoutNodeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
4466
4532
  total: z.ZodOptional<z.ZodEnum<{
4467
4533
  min: "min";
4468
4534
  max: "max";
4469
- sum: "sum";
4470
4535
  count: "count";
4536
+ sum: "sum";
4471
4537
  avg: "avg";
4472
4538
  }>>;
4473
4539
  rule: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodType<`${number}px`, unknown, z.z.core.$ZodTypeInternals<`${number}px`, unknown>>]>>;
@@ -5292,6 +5358,7 @@ export declare const AlertSchema: z.ZodObject<{
5292
5358
  }, z.z.core.$strict>;
5293
5359
  export declare const MenuItemSchema: z.ZodObject<{
5294
5360
  id: z.ZodString;
5361
+ type: z.ZodOptional<z.ZodLiteral<"divider">>;
5295
5362
  label: z.ZodOptional<z.ZodString>;
5296
5363
  builtin: z.ZodOptional<z.ZodEnum<{
5297
5364
  archive: "archive";
@@ -5446,6 +5513,8 @@ export declare const MenuItemSchema: z.ZodObject<{
5446
5513
  icon: z.ZodOptional<z.ZodString>;
5447
5514
  invisible: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
5448
5515
  roles: z.ZodOptional<z.ZodArray<z.ZodString>>;
5516
+ menu: z.ZodOptional<z.ZodArray<typeof MenuItemSchema>>;
5517
+ menuFrom: z.ZodOptional<z.ZodString>;
5449
5518
  }, z.z.core.$strict>;
5450
5519
  export declare const BadgeSchema: z.ZodObject<{
5451
5520
  id: z.ZodString;
@@ -5723,8 +5792,8 @@ export declare const HeadBandSchema: z.ZodObject<{
5723
5792
  content: "content";
5724
5793
  }>>;
5725
5794
  editMode: z.ZodOptional<z.ZodEnum<{
5726
- cell: "cell";
5727
5795
  row: "row";
5796
+ cell: "cell";
5728
5797
  }>>;
5729
5798
  labels: z.ZodOptional<z.ZodEnum<{
5730
5799
  above: "above";
@@ -6424,6 +6493,8 @@ export declare const HeadBandSchema: z.ZodObject<{
6424
6493
  model: z.ZodString;
6425
6494
  field: z.ZodString;
6426
6495
  fields: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
6496
+ translate: z.ZodOptional<z.ZodArray<z.ZodString>>;
6497
+ requiredIn: z.ZodOptional<z.ZodArray<z.ZodString>>;
6427
6498
  size: z.ZodOptional<z.ZodInt>;
6428
6499
  pattern: z.ZodOptional<z.ZodString>;
6429
6500
  patternHint: z.ZodOptional<z.ZodString>;
@@ -6441,6 +6512,8 @@ export declare const HeadBandSchema: z.ZodObject<{
6441
6512
  }, z.z.core.$strict>>>;
6442
6513
  type: z.ZodLiteral<"char">;
6443
6514
  }, z.z.core.$strict>, z.ZodObject<{
6515
+ translate: z.ZodOptional<z.ZodArray<z.ZodString>>;
6516
+ requiredIn: z.ZodOptional<z.ZodArray<z.ZodString>>;
6444
6517
  size: z.ZodOptional<z.ZodInt>;
6445
6518
  label: z.ZodString;
6446
6519
  help: z.ZodOptional<z.ZodString>;
@@ -6674,8 +6747,8 @@ export declare const HeadBandSchema: z.ZodObject<{
6674
6747
  total: z.ZodOptional<z.ZodEnum<{
6675
6748
  min: "min";
6676
6749
  max: "max";
6677
- sum: "sum";
6678
6750
  count: "count";
6751
+ sum: "sum";
6679
6752
  avg: "avg";
6680
6753
  }>>;
6681
6754
  rule: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodType<`${number}px`, unknown, z.z.core.$ZodTypeInternals<`${number}px`, unknown>>]>>;
@@ -7054,8 +7127,8 @@ export declare const SheetHeadSchema: z.ZodObject<{
7054
7127
  content: "content";
7055
7128
  }>>;
7056
7129
  editMode: z.ZodOptional<z.ZodEnum<{
7057
- cell: "cell";
7058
7130
  row: "row";
7131
+ cell: "cell";
7059
7132
  }>>;
7060
7133
  labels: z.ZodOptional<z.ZodEnum<{
7061
7134
  above: "above";
@@ -7530,8 +7603,8 @@ export declare const SheetHeadSchema: z.ZodObject<{
7530
7603
  content: "content";
7531
7604
  }>>;
7532
7605
  editMode: z.ZodOptional<z.ZodEnum<{
7533
- cell: "cell";
7534
7606
  row: "row";
7607
+ cell: "cell";
7535
7608
  }>>;
7536
7609
  labels: z.ZodOptional<z.ZodEnum<{
7537
7610
  above: "above";
@@ -8231,6 +8304,8 @@ export declare const SheetHeadSchema: z.ZodObject<{
8231
8304
  model: z.ZodString;
8232
8305
  field: z.ZodString;
8233
8306
  fields: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
8307
+ translate: z.ZodOptional<z.ZodArray<z.ZodString>>;
8308
+ requiredIn: z.ZodOptional<z.ZodArray<z.ZodString>>;
8234
8309
  size: z.ZodOptional<z.ZodInt>;
8235
8310
  pattern: z.ZodOptional<z.ZodString>;
8236
8311
  patternHint: z.ZodOptional<z.ZodString>;
@@ -8248,6 +8323,8 @@ export declare const SheetHeadSchema: z.ZodObject<{
8248
8323
  }, z.z.core.$strict>>>;
8249
8324
  type: z.ZodLiteral<"char">;
8250
8325
  }, z.z.core.$strict>, z.ZodObject<{
8326
+ translate: z.ZodOptional<z.ZodArray<z.ZodString>>;
8327
+ requiredIn: z.ZodOptional<z.ZodArray<z.ZodString>>;
8251
8328
  size: z.ZodOptional<z.ZodInt>;
8252
8329
  label: z.ZodString;
8253
8330
  help: z.ZodOptional<z.ZodString>;
@@ -8481,8 +8558,8 @@ export declare const SheetHeadSchema: z.ZodObject<{
8481
8558
  total: z.ZodOptional<z.ZodEnum<{
8482
8559
  min: "min";
8483
8560
  max: "max";
8484
- sum: "sum";
8485
8561
  count: "count";
8562
+ sum: "sum";
8486
8563
  avg: "avg";
8487
8564
  }>>;
8488
8565
  rule: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodType<`${number}px`, unknown, z.z.core.$ZodTypeInternals<`${number}px`, unknown>>]>>;
@@ -8870,8 +8947,8 @@ export declare const SheetNodeSchema: z.ZodObject<{
8870
8947
  content: "content";
8871
8948
  }>>;
8872
8949
  editMode: z.ZodOptional<z.ZodEnum<{
8873
- cell: "cell";
8874
8950
  row: "row";
8951
+ cell: "cell";
8875
8952
  }>>;
8876
8953
  labels: z.ZodOptional<z.ZodEnum<{
8877
8954
  above: "above";
@@ -9346,8 +9423,8 @@ export declare const SheetNodeSchema: z.ZodObject<{
9346
9423
  content: "content";
9347
9424
  }>>;
9348
9425
  editMode: z.ZodOptional<z.ZodEnum<{
9349
- cell: "cell";
9350
9426
  row: "row";
9427
+ cell: "cell";
9351
9428
  }>>;
9352
9429
  labels: z.ZodOptional<z.ZodEnum<{
9353
9430
  above: "above";
@@ -10047,6 +10124,8 @@ export declare const SheetNodeSchema: z.ZodObject<{
10047
10124
  model: z.ZodString;
10048
10125
  field: z.ZodString;
10049
10126
  fields: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
10127
+ translate: z.ZodOptional<z.ZodArray<z.ZodString>>;
10128
+ requiredIn: z.ZodOptional<z.ZodArray<z.ZodString>>;
10050
10129
  size: z.ZodOptional<z.ZodInt>;
10051
10130
  pattern: z.ZodOptional<z.ZodString>;
10052
10131
  patternHint: z.ZodOptional<z.ZodString>;
@@ -10064,6 +10143,8 @@ export declare const SheetNodeSchema: z.ZodObject<{
10064
10143
  }, z.z.core.$strict>>>;
10065
10144
  type: z.ZodLiteral<"char">;
10066
10145
  }, z.z.core.$strict>, z.ZodObject<{
10146
+ translate: z.ZodOptional<z.ZodArray<z.ZodString>>;
10147
+ requiredIn: z.ZodOptional<z.ZodArray<z.ZodString>>;
10067
10148
  size: z.ZodOptional<z.ZodInt>;
10068
10149
  label: z.ZodString;
10069
10150
  help: z.ZodOptional<z.ZodString>;
@@ -10297,8 +10378,8 @@ export declare const SheetNodeSchema: z.ZodObject<{
10297
10378
  total: z.ZodOptional<z.ZodEnum<{
10298
10379
  min: "min";
10299
10380
  max: "max";
10300
- sum: "sum";
10301
10381
  count: "count";
10382
+ sum: "sum";
10302
10383
  avg: "avg";
10303
10384
  }>>;
10304
10385
  rule: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodType<`${number}px`, unknown, z.z.core.$ZodTypeInternals<`${number}px`, unknown>>]>>;
@@ -10682,8 +10763,8 @@ export declare const SheetNodeSchema: z.ZodObject<{
10682
10763
  content: "content";
10683
10764
  }>>;
10684
10765
  editMode: z.ZodOptional<z.ZodEnum<{
10685
- cell: "cell";
10686
10766
  row: "row";
10767
+ cell: "cell";
10687
10768
  }>>;
10688
10769
  labels: z.ZodOptional<z.ZodEnum<{
10689
10770
  above: "above";
@@ -10836,8 +10917,8 @@ export declare const SheetNodeSchema: z.ZodObject<{
10836
10917
  content: "content";
10837
10918
  }>>;
10838
10919
  editMode: z.ZodOptional<z.ZodEnum<{
10839
- cell: "cell";
10840
10920
  row: "row";
10921
+ cell: "cell";
10841
10922
  }>>;
10842
10923
  labels: z.ZodOptional<z.ZodEnum<{
10843
10924
  above: "above";
@@ -10990,8 +11071,8 @@ export declare const SheetNodeSchema: z.ZodObject<{
10990
11071
  content: "content";
10991
11072
  }>>;
10992
11073
  editMode: z.ZodOptional<z.ZodEnum<{
10993
- cell: "cell";
10994
11074
  row: "row";
11075
+ cell: "cell";
10995
11076
  }>>;
10996
11077
  labels: z.ZodOptional<z.ZodEnum<{
10997
11078
  above: "above";
@@ -11144,8 +11225,8 @@ export declare const SheetNodeSchema: z.ZodObject<{
11144
11225
  content: "content";
11145
11226
  }>>;
11146
11227
  editMode: z.ZodOptional<z.ZodEnum<{
11147
- cell: "cell";
11148
11228
  row: "row";
11229
+ cell: "cell";
11149
11230
  }>>;
11150
11231
  labels: z.ZodOptional<z.ZodEnum<{
11151
11232
  above: "above";
@@ -11785,6 +11866,7 @@ export declare const SheetNodeSchema: z.ZodObject<{
11785
11866
  toolbar: z.ZodOptional<z.ZodObject<{
11786
11867
  menu: z.ZodOptional<z.ZodArray<z.ZodObject<{
11787
11868
  id: z.ZodString;
11869
+ type: z.ZodOptional<z.ZodLiteral<"divider">>;
11788
11870
  label: z.ZodOptional<z.ZodString>;
11789
11871
  builtin: z.ZodOptional<z.ZodEnum<{
11790
11872
  archive: "archive";
@@ -11939,6 +12021,8 @@ export declare const SheetNodeSchema: z.ZodObject<{
11939
12021
  icon: z.ZodOptional<z.ZodString>;
11940
12022
  invisible: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
11941
12023
  roles: z.ZodOptional<z.ZodArray<z.ZodString>>;
12024
+ menu: z.ZodOptional<z.ZodArray<typeof MenuItemSchema>>;
12025
+ menuFrom: z.ZodOptional<z.ZodString>;
11942
12026
  }, z.z.core.$strict>>>;
11943
12027
  pager: z.ZodOptional<z.ZodBoolean>;
11944
12028
  breadcrumbs: z.ZodOptional<z.ZodBoolean>;
@@ -12668,8 +12752,8 @@ export declare const ListNodeSchema: z.ZodObject<{
12668
12752
  total: z.ZodOptional<z.ZodEnum<{
12669
12753
  min: "min";
12670
12754
  max: "max";
12671
- sum: "sum";
12672
12755
  count: "count";
12756
+ sum: "sum";
12673
12757
  avg: "avg";
12674
12758
  }>>;
12675
12759
  rule: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodType<`${number}px`, unknown, z.z.core.$ZodTypeInternals<`${number}px`, unknown>>]>>;
@@ -12687,6 +12771,7 @@ export declare const ListNodeSchema: z.ZodObject<{
12687
12771
  }, z.z.core.$strict>>>;
12688
12772
  filterCounts: z.ZodOptional<z.ZodBoolean>;
12689
12773
  filterSheet: z.ZodOptional<z.ZodBoolean>;
12774
+ searchToFilter: z.ZodOptional<z.ZodBoolean>;
12690
12775
  parentField: z.ZodOptional<z.ZodString>;
12691
12776
  export: z.ZodOptional<z.ZodBoolean>;
12692
12777
  bulkEdit: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
@@ -12916,6 +13001,11 @@ export declare const ListNodeSchema: z.ZodObject<{
12916
13001
  menuLabel: z.ZodOptional<z.ZodString>;
12917
13002
  primaryWhenChanged: z.ZodOptional<z.ZodBoolean>;
12918
13003
  }, z.z.core.$strict>>>;
13004
+ editable: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
13005
+ fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
13006
+ add: z.ZodOptional<z.ZodBoolean>;
13007
+ open: z.ZodOptional<z.ZodBoolean>;
13008
+ }, z.z.core.$strict>]>>;
12919
13009
  }, z.z.core.$strict>;
12920
13010
  export declare const RootLayoutSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
12921
13011
  type: z.ZodLiteral<"sheet">;
@@ -13024,8 +13114,8 @@ export declare const RootLayoutSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
13024
13114
  content: "content";
13025
13115
  }>>;
13026
13116
  editMode: z.ZodOptional<z.ZodEnum<{
13027
- cell: "cell";
13028
13117
  row: "row";
13118
+ cell: "cell";
13029
13119
  }>>;
13030
13120
  labels: z.ZodOptional<z.ZodEnum<{
13031
13121
  above: "above";
@@ -13500,8 +13590,8 @@ export declare const RootLayoutSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
13500
13590
  content: "content";
13501
13591
  }>>;
13502
13592
  editMode: z.ZodOptional<z.ZodEnum<{
13503
- cell: "cell";
13504
13593
  row: "row";
13594
+ cell: "cell";
13505
13595
  }>>;
13506
13596
  labels: z.ZodOptional<z.ZodEnum<{
13507
13597
  above: "above";
@@ -14201,6 +14291,8 @@ export declare const RootLayoutSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
14201
14291
  model: z.ZodString;
14202
14292
  field: z.ZodString;
14203
14293
  fields: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
14294
+ translate: z.ZodOptional<z.ZodArray<z.ZodString>>;
14295
+ requiredIn: z.ZodOptional<z.ZodArray<z.ZodString>>;
14204
14296
  size: z.ZodOptional<z.ZodInt>;
14205
14297
  pattern: z.ZodOptional<z.ZodString>;
14206
14298
  patternHint: z.ZodOptional<z.ZodString>;
@@ -14218,6 +14310,8 @@ export declare const RootLayoutSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
14218
14310
  }, z.z.core.$strict>>>;
14219
14311
  type: z.ZodLiteral<"char">;
14220
14312
  }, z.z.core.$strict>, z.ZodObject<{
14313
+ translate: z.ZodOptional<z.ZodArray<z.ZodString>>;
14314
+ requiredIn: z.ZodOptional<z.ZodArray<z.ZodString>>;
14221
14315
  size: z.ZodOptional<z.ZodInt>;
14222
14316
  label: z.ZodString;
14223
14317
  help: z.ZodOptional<z.ZodString>;
@@ -14451,8 +14545,8 @@ export declare const RootLayoutSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
14451
14545
  total: z.ZodOptional<z.ZodEnum<{
14452
14546
  min: "min";
14453
14547
  max: "max";
14454
- sum: "sum";
14455
14548
  count: "count";
14549
+ sum: "sum";
14456
14550
  avg: "avg";
14457
14551
  }>>;
14458
14552
  rule: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodType<`${number}px`, unknown, z.z.core.$ZodTypeInternals<`${number}px`, unknown>>]>>;
@@ -14836,8 +14930,8 @@ export declare const RootLayoutSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
14836
14930
  content: "content";
14837
14931
  }>>;
14838
14932
  editMode: z.ZodOptional<z.ZodEnum<{
14839
- cell: "cell";
14840
14933
  row: "row";
14934
+ cell: "cell";
14841
14935
  }>>;
14842
14936
  labels: z.ZodOptional<z.ZodEnum<{
14843
14937
  above: "above";
@@ -14990,8 +15084,8 @@ export declare const RootLayoutSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
14990
15084
  content: "content";
14991
15085
  }>>;
14992
15086
  editMode: z.ZodOptional<z.ZodEnum<{
14993
- cell: "cell";
14994
15087
  row: "row";
15088
+ cell: "cell";
14995
15089
  }>>;
14996
15090
  labels: z.ZodOptional<z.ZodEnum<{
14997
15091
  above: "above";
@@ -15144,8 +15238,8 @@ export declare const RootLayoutSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
15144
15238
  content: "content";
15145
15239
  }>>;
15146
15240
  editMode: z.ZodOptional<z.ZodEnum<{
15147
- cell: "cell";
15148
15241
  row: "row";
15242
+ cell: "cell";
15149
15243
  }>>;
15150
15244
  labels: z.ZodOptional<z.ZodEnum<{
15151
15245
  above: "above";
@@ -15298,8 +15392,8 @@ export declare const RootLayoutSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
15298
15392
  content: "content";
15299
15393
  }>>;
15300
15394
  editMode: z.ZodOptional<z.ZodEnum<{
15301
- cell: "cell";
15302
15395
  row: "row";
15396
+ cell: "cell";
15303
15397
  }>>;
15304
15398
  labels: z.ZodOptional<z.ZodEnum<{
15305
15399
  above: "above";
@@ -15939,6 +16033,7 @@ export declare const RootLayoutSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
15939
16033
  toolbar: z.ZodOptional<z.ZodObject<{
15940
16034
  menu: z.ZodOptional<z.ZodArray<z.ZodObject<{
15941
16035
  id: z.ZodString;
16036
+ type: z.ZodOptional<z.ZodLiteral<"divider">>;
15942
16037
  label: z.ZodOptional<z.ZodString>;
15943
16038
  builtin: z.ZodOptional<z.ZodEnum<{
15944
16039
  archive: "archive";
@@ -16093,6 +16188,8 @@ export declare const RootLayoutSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
16093
16188
  icon: z.ZodOptional<z.ZodString>;
16094
16189
  invisible: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
16095
16190
  roles: z.ZodOptional<z.ZodArray<z.ZodString>>;
16191
+ menu: z.ZodOptional<z.ZodArray<typeof MenuItemSchema>>;
16192
+ menuFrom: z.ZodOptional<z.ZodString>;
16096
16193
  }, z.z.core.$strict>>>;
16097
16194
  pager: z.ZodOptional<z.ZodBoolean>;
16098
16195
  breadcrumbs: z.ZodOptional<z.ZodBoolean>;
@@ -16875,8 +16972,8 @@ export declare const RootLayoutSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
16875
16972
  total: z.ZodOptional<z.ZodEnum<{
16876
16973
  min: "min";
16877
16974
  max: "max";
16878
- sum: "sum";
16879
16975
  count: "count";
16976
+ sum: "sum";
16880
16977
  avg: "avg";
16881
16978
  }>>;
16882
16979
  rule: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodType<`${number}px`, unknown, z.z.core.$ZodTypeInternals<`${number}px`, unknown>>]>>;
@@ -16894,6 +16991,7 @@ export declare const RootLayoutSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
16894
16991
  }, z.z.core.$strict>>>;
16895
16992
  filterCounts: z.ZodOptional<z.ZodBoolean>;
16896
16993
  filterSheet: z.ZodOptional<z.ZodBoolean>;
16994
+ searchToFilter: z.ZodOptional<z.ZodBoolean>;
16897
16995
  parentField: z.ZodOptional<z.ZodString>;
16898
16996
  export: z.ZodOptional<z.ZodBoolean>;
16899
16997
  bulkEdit: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodArray<z.ZodString>]>>;
@@ -17123,4 +17221,9 @@ export declare const RootLayoutSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
17123
17221
  menuLabel: z.ZodOptional<z.ZodString>;
17124
17222
  primaryWhenChanged: z.ZodOptional<z.ZodBoolean>;
17125
17223
  }, z.z.core.$strict>>>;
17224
+ editable: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
17225
+ fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
17226
+ add: z.ZodOptional<z.ZodBoolean>;
17227
+ open: z.ZodOptional<z.ZodBoolean>;
17228
+ }, z.z.core.$strict>]>>;
17126
17229
  }, z.z.core.$strict>], "type">;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SheetNodeSchema = exports.SheetHeadSchema = exports.HeadBandSchema = exports.HeadLinkSchema = exports.SheetKindSchema = exports.BadgeSchema = exports.MenuItemSchema = exports.AlertSchema = exports.RibbonSchema = exports.StatButtonSchema = exports.SectionsNodeSchema = exports.WizardNodeSchema = exports.StepNodeSchema = exports.LayoutNodeSchema = exports.TabsNodeSchema = exports.TabNodeSchema = exports.SectionNodeSchema = exports.FormNodeSchema = exports.RelatedNodeSchema = exports.ListGallerySchema = exports.FilterRangeSchema = exports.ListCardSchema = exports.ListCellSchema = exports.SlotNodeSchema = exports.MapNodeSchema = exports.MapLayerSchema = exports.MapFenceSchema = exports.MapReachSchema = exports.MapRegionsSchema = exports.MapRouteSchema = exports.MapCardSchema = exports.CardPartSchema = exports.PluralWordsSchema = exports.PinSchema = exports.ImageNodeSchema = exports.SpacerNodeSchema = exports.DividerNodeSchema = exports.TextNodeSchema = exports.ButtonNodeSchema = exports.LineFormSchema = exports.FieldNodeSchema = exports.AnswerRuleSchema = exports.CellRulesSchema = exports.PlaceholderWhenSchema = exports.ToneWhenSchema = exports.RolesSchema = exports.ModifierSchema = exports.wideColumns = exports.ScreenWidthSchema = exports.HelpShownSchema = void 0;
4
- exports.RootLayoutSchema = exports.ListNodeSchema = exports.FilterPeriodSchema = exports.ListCalendarSchema = exports.ListMapSchema = void 0;
3
+ exports.SheetHeadSchema = exports.HeadBandSchema = exports.HeadLinkSchema = exports.SheetKindSchema = exports.BadgeSchema = exports.MenuItemSchema = exports.AlertSchema = exports.RibbonSchema = exports.StatButtonSchema = exports.SectionsNodeSchema = exports.WizardNodeSchema = exports.StepNodeSchema = exports.LayoutNodeSchema = exports.TabsNodeSchema = exports.TabNodeSchema = exports.SectionNodeSchema = exports.FormNodeSchema = exports.RelatedNodeSchema = exports.ListEditableSchema = exports.ListGallerySchema = exports.FilterRangeSchema = exports.ListCardSchema = exports.ListCellSchema = exports.SlotNodeSchema = exports.MapNodeSchema = exports.MapLayerSchema = exports.MapFenceSchema = exports.MapReachSchema = exports.MapRegionsSchema = exports.MapRouteSchema = exports.MapCardSchema = exports.CardPartSchema = exports.PluralWordsSchema = exports.PinSchema = exports.ImageNodeSchema = exports.SpacerNodeSchema = exports.DividerNodeSchema = exports.TextNodeSchema = exports.ButtonNodeSchema = exports.LineFormSchema = exports.FieldNodeSchema = exports.AnswerRuleSchema = exports.CellRulesSchema = exports.PlaceholderWhenSchema = exports.ToneWhenSchema = exports.RolesSchema = exports.ModifierSchema = exports.wideColumns = exports.ScreenWidthSchema = exports.HelpShownSchema = void 0;
4
+ exports.RootLayoutSchema = exports.ListNodeSchema = exports.FilterPeriodSchema = exports.ListCalendarSchema = exports.ListMapSchema = exports.SheetNodeSchema = void 0;
5
5
  const z = require("zod");
6
6
  const field_1 = require("./field");
7
7
  Object.defineProperty(exports, "ModifierSchema", { enumerable: true, get: function () { return field_1.ModifierSchema; } });
@@ -15,6 +15,8 @@ const picker_options_1 = require("./picker-options");
15
15
  const phone_1 = require("./phone");
16
16
  const slots_options_1 = require("./slots-options");
17
17
  const signature_options_1 = require("./signature-options");
18
+ const photos_options_1 = require("./photos-options");
19
+ const scan_options_1 = require("./scan-options");
18
20
  const section_checks_1 = require("./section-checks");
19
21
  const periods_1 = require("../record/periods");
20
22
  exports.HelpShownSchema = z.enum(['below', 'tooltip', 'both']).meta({ id: 'HelpShown' });
@@ -49,6 +51,11 @@ exports.CellRulesSchema = z
49
51
  options: z.object({ clear: z.boolean().optional() }).catchall(json_1.JsonValueSchema).optional(),
50
52
  width: z.int().min(1).max(200).optional(),
51
53
  roles,
54
+ })
55
+ // A column scanned into (`options.scan`): its settings' shape, as a field's.
56
+ .superRefine((rules, context) => {
57
+ for (const issue of (0, scan_options_1.scanOptionIssues)(rules))
58
+ context.addIssue({ code: 'custom', ...issue });
52
59
  })
53
60
  .meta({ id: 'CellRules' });
54
61
  exports.AnswerRuleSchema = z
@@ -122,7 +129,7 @@ exports.FieldNodeSchema = z.strictObject({
122
129
  hotkey: z.string().regex(/^[a-z0-9]$/, 'an access key is one letter or digit of the label, in small letters: "e"').optional(),
123
130
  }).superRefine((node, context) => {
124
131
  // A widget's own options, where the format knows them: an address with suggestions.
125
- for (const issue of [...(0, picker_options_1.pickerOptionIssues)(node), ...(0, phone_1.phoneOptionIssues)(node), ...(0, slots_options_1.slotsOptionIssues)(node), ...(0, signature_options_1.signatureOptionIssues)(node)])
132
+ for (const issue of [...(0, picker_options_1.pickerOptionIssues)(node), ...(0, phone_1.phoneOptionIssues)(node), ...(0, slots_options_1.slotsOptionIssues)(node), ...(0, signature_options_1.signatureOptionIssues)(node), ...(0, photos_options_1.photosOptionIssues)(node), ...(0, scan_options_1.scanOptionIssues)(node)])
126
133
  context.addIssue({ code: 'custom', ...issue });
127
134
  if (node.widget !== 'address-search')
128
135
  return;
@@ -344,6 +351,13 @@ exports.ListGallerySchema = z
344
351
  size: z.enum(['small', 'medium', 'large']).optional(),
345
352
  })
346
353
  .meta({ id: 'ListGallery' });
354
+ exports.ListEditableSchema = z
355
+ .strictObject({
356
+ fields: z.array(fieldName).min(1).optional(),
357
+ add: z.boolean().optional(),
358
+ open: z.boolean().optional(),
359
+ })
360
+ .meta({ id: 'ListEditable' });
347
361
  /**
348
362
  * A related list: another model's records whose link (`field`) is this record, a page at a time, in a record's page.
349
363
  * Its columns are fields of its own `fields`.
@@ -508,6 +522,7 @@ exports.AlertSchema = z.strictObject({
508
522
  exports.MenuItemSchema = z
509
523
  .strictObject({
510
524
  id,
525
+ type: z.literal('divider').optional(),
511
526
  label: z.string().optional(),
512
527
  builtin: z.enum(['archive', 'unarchive', 'duplicate', 'delete', 'print']).optional(),
513
528
  group: z.enum(['actions', 'print']).optional(),
@@ -518,6 +533,10 @@ exports.MenuItemSchema = z
518
533
  icon: z.string().optional(),
519
534
  invisible,
520
535
  roles,
536
+ get menu() {
537
+ return z.array(exports.MenuItemSchema).min(1).optional();
538
+ },
539
+ menuFrom: z.string().min(1).optional(),
521
540
  })
522
541
  .meta({ id: 'MenuItem' });
523
542
  exports.BadgeSchema = z.strictObject({ id, label: z.string(), tone: tone.optional(), icon: z.string().min(1).optional(), invisible, roles });
@@ -687,6 +706,7 @@ exports.ListNodeSchema = z.strictObject({
687
706
  filterRanges: z.record(fieldName, exports.FilterRangeSchema).optional(),
688
707
  filterCounts: z.boolean().optional(),
689
708
  filterSheet: z.boolean().optional(),
709
+ searchToFilter: z.boolean().optional(),
690
710
  parentField: fieldName.optional(),
691
711
  export: z.boolean().optional(),
692
712
  bulkEdit: z.union([z.boolean(), z.array(fieldName).min(1)]).optional(),
@@ -699,6 +719,7 @@ exports.ListNodeSchema = z.strictObject({
699
719
  rowBold: field_1.ModifierSchema.optional(),
700
720
  rowBoldLabel: z.string().min(1).optional(),
701
721
  rowButtons: z.array(exports.ButtonNodeSchema).min(1).optional(),
722
+ editable: z.union([z.boolean(), exports.ListEditableSchema]).optional(),
702
723
  }).meta({ id: 'ListNode' });
703
724
  exports.RootLayoutSchema = z
704
725
  .discriminatedUnion('type', [exports.SheetNodeSchema, exports.SectionsNodeSchema, exports.TabsNodeSchema, exports.WizardNodeSchema, exports.ListNodeSchema])