@fieldia/core 0.26.1 → 0.27.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 (415) hide show
  1. package/README.md +307 -3
  2. package/package.json +1 -1
  3. package/schema/page.schema.json +227 -23
  4. package/src/index.d.mts +8 -2
  5. package/src/index.d.ts +8 -2
  6. package/src/index.js +22 -1
  7. package/src/index.js.map +1 -1
  8. package/src/index.mjs +9 -2
  9. package/src/index.mjs.map +1 -1
  10. package/src/lib/expression/app-functions.d.mts +47 -0
  11. package/src/lib/expression/app-functions.d.ts +47 -0
  12. package/src/lib/expression/app-functions.js +64 -0
  13. package/src/lib/expression/app-functions.js.map +1 -0
  14. package/src/lib/expression/app-functions.mjs +58 -0
  15. package/src/lib/expression/app-functions.mjs.map +1 -0
  16. package/src/lib/expression/dates.d.mts +21 -0
  17. package/src/lib/expression/dates.d.ts +21 -0
  18. package/src/lib/expression/dates.js +73 -0
  19. package/src/lib/expression/dates.js.map +1 -0
  20. package/src/lib/expression/dates.mjs +67 -0
  21. package/src/lib/expression/dates.mjs.map +1 -0
  22. package/src/lib/expression/evaluator.js +12 -6
  23. package/src/lib/expression/evaluator.js.map +1 -1
  24. package/src/lib/expression/evaluator.mjs +12 -6
  25. package/src/lib/expression/evaluator.mjs.map +1 -1
  26. package/src/lib/expression/expression.d.mts +7 -3
  27. package/src/lib/expression/expression.d.ts +7 -3
  28. package/src/lib/expression/expression.js +8 -2
  29. package/src/lib/expression/expression.js.map +1 -1
  30. package/src/lib/expression/expression.mjs +7 -2
  31. package/src/lib/expression/expression.mjs.map +1 -1
  32. package/src/lib/expression/functions-part.d.mts +7 -0
  33. package/src/lib/expression/functions-part.d.ts +7 -0
  34. package/src/lib/expression/functions-part.js +13 -0
  35. package/src/lib/expression/functions-part.js.map +1 -0
  36. package/src/lib/expression/functions-part.mjs +8 -0
  37. package/src/lib/expression/functions-part.mjs.map +1 -0
  38. package/src/lib/expression/functions.d.mts +60 -3
  39. package/src/lib/expression/functions.d.ts +60 -3
  40. package/src/lib/expression/functions.js +109 -15
  41. package/src/lib/expression/functions.js.map +1 -1
  42. package/src/lib/expression/functions.mjs +103 -16
  43. package/src/lib/expression/functions.mjs.map +1 -1
  44. package/src/lib/expression/kinds.d.mts +31 -0
  45. package/src/lib/expression/kinds.d.ts +31 -0
  46. package/src/lib/expression/kinds.js +159 -0
  47. package/src/lib/expression/kinds.js.map +1 -0
  48. package/src/lib/expression/kinds.mjs +151 -0
  49. package/src/lib/expression/kinds.mjs.map +1 -0
  50. package/src/lib/expression/modifier.d.mts +4 -3
  51. package/src/lib/expression/modifier.d.ts +4 -3
  52. package/src/lib/expression/modifier.js +4 -3
  53. package/src/lib/expression/modifier.js.map +1 -1
  54. package/src/lib/expression/modifier.mjs +4 -3
  55. package/src/lib/expression/modifier.mjs.map +1 -1
  56. package/src/lib/expression/more-functions.d.mts +8 -0
  57. package/src/lib/expression/more-functions.d.ts +8 -0
  58. package/src/lib/expression/more-functions.js +235 -0
  59. package/src/lib/expression/more-functions.js.map +1 -0
  60. package/src/lib/expression/more-functions.mjs +230 -0
  61. package/src/lib/expression/more-functions.mjs.map +1 -0
  62. package/src/lib/expression/parser.d.mts +4 -1
  63. package/src/lib/expression/parser.d.ts +4 -1
  64. package/src/lib/expression/parser.js +6 -3
  65. package/src/lib/expression/parser.js.map +1 -1
  66. package/src/lib/expression/parser.mjs +6 -3
  67. package/src/lib/expression/parser.mjs.map +1 -1
  68. package/src/lib/expression/reads.d.mts +2 -2
  69. package/src/lib/expression/reads.d.ts +2 -2
  70. package/src/lib/expression/reads.js +6 -4
  71. package/src/lib/expression/reads.js.map +1 -1
  72. package/src/lib/expression/reads.mjs +6 -4
  73. package/src/lib/expression/reads.mjs.map +1 -1
  74. package/src/lib/format/actions.d.mts +16 -16
  75. package/src/lib/format/actions.d.ts +16 -16
  76. package/src/lib/format/check-page.d.mts +7 -2
  77. package/src/lib/format/check-page.d.ts +7 -2
  78. package/src/lib/format/check-page.js +10 -4
  79. package/src/lib/format/check-page.js.map +1 -1
  80. package/src/lib/format/check-page.mjs +10 -4
  81. package/src/lib/format/check-page.mjs.map +1 -1
  82. package/src/lib/format/choice-options.d.mts +34 -0
  83. package/src/lib/format/choice-options.d.ts +34 -0
  84. package/src/lib/format/choice-options.js +60 -0
  85. package/src/lib/format/choice-options.js.map +1 -0
  86. package/src/lib/format/choice-options.mjs +51 -0
  87. package/src/lib/format/choice-options.mjs.map +1 -0
  88. package/src/lib/format/endings-checks.d.mts +8 -0
  89. package/src/lib/format/endings-checks.d.ts +8 -0
  90. package/src/lib/format/endings-checks.js +23 -0
  91. package/src/lib/format/endings-checks.js.map +1 -0
  92. package/src/lib/format/endings-checks.mjs +20 -0
  93. package/src/lib/format/endings-checks.mjs.map +1 -0
  94. package/src/lib/format/endings.d.mts +40 -0
  95. package/src/lib/format/endings.d.ts +40 -0
  96. package/src/lib/format/endings.js +15 -0
  97. package/src/lib/format/endings.js.map +1 -0
  98. package/src/lib/format/endings.mjs +12 -0
  99. package/src/lib/format/endings.mjs.map +1 -0
  100. package/src/lib/format/field.d.mts +151 -16
  101. package/src/lib/format/field.d.ts +151 -16
  102. package/src/lib/format/field.js +64 -11
  103. package/src/lib/format/field.js.map +1 -1
  104. package/src/lib/format/field.mjs +63 -10
  105. package/src/lib/format/field.mjs.map +1 -1
  106. package/src/lib/format/head-checks.d.mts +2 -0
  107. package/src/lib/format/head-checks.d.ts +2 -0
  108. package/src/lib/format/head-checks.js +2 -59
  109. package/src/lib/format/head-checks.js.map +1 -1
  110. package/src/lib/format/head-checks.mjs +1 -58
  111. package/src/lib/format/head-checks.mjs.map +1 -1
  112. package/src/lib/format/later-checks.d.mts +17 -0
  113. package/src/lib/format/later-checks.d.ts +17 -0
  114. package/src/lib/format/later-checks.js +20 -0
  115. package/src/lib/format/later-checks.js.map +1 -0
  116. package/src/lib/format/later-checks.mjs +17 -0
  117. package/src/lib/format/later-checks.mjs.map +1 -0
  118. package/src/lib/format/layout.d.mts +241 -188
  119. package/src/lib/format/layout.d.ts +241 -188
  120. package/src/lib/format/layout.js +33 -28
  121. package/src/lib/format/layout.js.map +1 -1
  122. package/src/lib/format/layout.mjs +13 -3
  123. package/src/lib/format/layout.mjs.map +1 -1
  124. package/src/lib/format/layout.types.d.mts +2 -1
  125. package/src/lib/format/layout.types.d.ts +2 -1
  126. package/src/lib/format/limits-checks.d.mts +14 -0
  127. package/src/lib/format/limits-checks.d.ts +14 -0
  128. package/src/lib/format/limits-checks.js +36 -0
  129. package/src/lib/format/limits-checks.js.map +1 -0
  130. package/src/lib/format/limits-checks.mjs +33 -0
  131. package/src/lib/format/limits-checks.mjs.map +1 -0
  132. package/src/lib/format/limits.d.mts +24 -0
  133. package/src/lib/format/limits.d.ts +24 -0
  134. package/src/lib/format/limits.js +35 -0
  135. package/src/lib/format/limits.js.map +1 -0
  136. package/src/lib/format/limits.mjs +32 -0
  137. package/src/lib/format/limits.mjs.map +1 -0
  138. package/src/lib/format/list-checks.d.mts +44 -0
  139. package/src/lib/format/list-checks.d.ts +44 -0
  140. package/src/lib/format/list-checks.js +340 -0
  141. package/src/lib/format/list-checks.js.map +1 -0
  142. package/src/lib/format/list-checks.mjs +336 -0
  143. package/src/lib/format/list-checks.mjs.map +1 -0
  144. package/src/lib/format/map-checks.d.mts +33 -0
  145. package/src/lib/format/map-checks.d.ts +33 -0
  146. package/src/lib/format/map-checks.js +180 -0
  147. package/src/lib/format/map-checks.js.map +1 -0
  148. package/src/lib/format/map-checks.mjs +175 -0
  149. package/src/lib/format/map-checks.mjs.map +1 -0
  150. package/src/lib/format/mapchecks-part.d.mts +5 -0
  151. package/src/lib/format/mapchecks-part.d.ts +5 -0
  152. package/src/lib/format/mapchecks-part.js +11 -0
  153. package/src/lib/format/mapchecks-part.js.map +1 -0
  154. package/src/lib/format/mapchecks-part.mjs +6 -0
  155. package/src/lib/format/mapchecks-part.mjs.map +1 -0
  156. package/src/lib/format/option-checks.d.mts +16 -0
  157. package/src/lib/format/option-checks.d.ts +16 -0
  158. package/src/lib/format/option-checks.js +39 -0
  159. package/src/lib/format/option-checks.js.map +1 -0
  160. package/src/lib/format/option-checks.mjs +36 -0
  161. package/src/lib/format/option-checks.mjs.map +1 -0
  162. package/src/lib/format/options-part.d.mts +6 -0
  163. package/src/lib/format/options-part.d.ts +6 -0
  164. package/src/lib/format/options-part.js +11 -0
  165. package/src/lib/format/options-part.js.map +1 -0
  166. package/src/lib/format/options-part.mjs +7 -0
  167. package/src/lib/format/options-part.mjs.map +1 -0
  168. package/src/lib/format/page.d.mts +147 -71
  169. package/src/lib/format/page.d.ts +147 -71
  170. package/src/lib/format/page.js +5 -0
  171. package/src/lib/format/page.js.map +1 -1
  172. package/src/lib/format/page.mjs +5 -0
  173. package/src/lib/format/page.mjs.map +1 -1
  174. package/src/lib/format/part-checks.d.mts +20 -0
  175. package/src/lib/format/part-checks.d.ts +20 -0
  176. package/src/lib/format/part-checks.js +3 -0
  177. package/src/lib/format/part-checks.js.map +1 -0
  178. package/src/lib/format/part-checks.mjs +2 -0
  179. package/src/lib/format/part-checks.mjs.map +1 -0
  180. package/src/lib/format/references.d.mts +71 -65
  181. package/src/lib/format/references.d.ts +71 -65
  182. package/src/lib/format/references.js +194 -631
  183. package/src/lib/format/references.js.map +1 -1
  184. package/src/lib/format/references.mjs +194 -631
  185. package/src/lib/format/references.mjs.map +1 -1
  186. package/src/lib/format/seats-checks.d.mts +3 -0
  187. package/src/lib/format/seats-checks.d.ts +3 -0
  188. package/src/lib/format/seats-checks.js +13 -0
  189. package/src/lib/format/seats-checks.js.map +1 -0
  190. package/src/lib/format/seats-checks.mjs +10 -0
  191. package/src/lib/format/seats-checks.mjs.map +1 -0
  192. package/src/lib/format/sheet-head-checks.d.mts +4 -0
  193. package/src/lib/format/sheet-head-checks.d.ts +4 -0
  194. package/src/lib/format/sheet-head-checks.js +68 -0
  195. package/src/lib/format/sheet-head-checks.js.map +1 -0
  196. package/src/lib/format/sheet-head-checks.mjs +65 -0
  197. package/src/lib/format/sheet-head-checks.mjs.map +1 -0
  198. package/src/lib/format/signature-checks.d.mts +7 -0
  199. package/src/lib/format/signature-checks.d.ts +7 -0
  200. package/src/lib/format/signature-checks.js +32 -0
  201. package/src/lib/format/signature-checks.js.map +1 -0
  202. package/src/lib/format/signature-checks.mjs +29 -0
  203. package/src/lib/format/signature-checks.mjs.map +1 -0
  204. package/src/lib/format/signature-options.d.mts +24 -0
  205. package/src/lib/format/signature-options.d.ts +24 -0
  206. package/src/lib/format/signature-options.js +30 -0
  207. package/src/lib/format/signature-options.js.map +1 -0
  208. package/src/lib/format/signature-options.mjs +26 -0
  209. package/src/lib/format/signature-options.mjs.map +1 -0
  210. package/src/lib/format/slots-checks.d.mts +4 -0
  211. package/src/lib/format/slots-checks.d.ts +4 -0
  212. package/src/lib/format/slots-checks.js +21 -0
  213. package/src/lib/format/slots-checks.js.map +1 -0
  214. package/src/lib/format/slots-checks.mjs +18 -0
  215. package/src/lib/format/slots-checks.mjs.map +1 -0
  216. package/src/lib/format/statusbar-checks.d.mts +8 -0
  217. package/src/lib/format/statusbar-checks.d.ts +8 -0
  218. package/src/lib/format/statusbar-checks.js +35 -0
  219. package/src/lib/format/statusbar-checks.js.map +1 -0
  220. package/src/lib/format/statusbar-checks.mjs +32 -0
  221. package/src/lib/format/statusbar-checks.mjs.map +1 -0
  222. package/src/lib/format/table-checks.d.mts +21 -0
  223. package/src/lib/format/table-checks.d.ts +21 -0
  224. package/src/lib/format/table-checks.js +86 -0
  225. package/src/lib/format/table-checks.js.map +1 -0
  226. package/src/lib/format/table-checks.mjs +82 -0
  227. package/src/lib/format/table-checks.mjs.map +1 -0
  228. package/src/lib/format/translate.js +2 -2
  229. package/src/lib/format/translate.js.map +1 -1
  230. package/src/lib/format/translate.mjs +2 -2
  231. package/src/lib/format/translate.mjs.map +1 -1
  232. package/src/lib/format/upgrade.d.mts +6 -3
  233. package/src/lib/format/upgrade.d.ts +6 -3
  234. package/src/lib/format/upgrade.js +6 -3
  235. package/src/lib/format/upgrade.js.map +1 -1
  236. package/src/lib/format/upgrade.mjs +6 -3
  237. package/src/lib/format/upgrade.mjs.map +1 -1
  238. package/src/lib/format/validate.d.mts +18 -2
  239. package/src/lib/format/validate.d.ts +18 -2
  240. package/src/lib/format/validate.js +36 -3
  241. package/src/lib/format/validate.js.map +1 -1
  242. package/src/lib/format/validate.mjs +35 -3
  243. package/src/lib/format/validate.mjs.map +1 -1
  244. package/src/lib/format/version.d.mts +2 -2
  245. package/src/lib/format/version.d.ts +2 -2
  246. package/src/lib/format/version.js +2 -2
  247. package/src/lib/format/version.js.map +1 -1
  248. package/src/lib/format/version.mjs +2 -2
  249. package/src/lib/format/version.mjs.map +1 -1
  250. package/src/lib/format/words.d.mts +6 -2
  251. package/src/lib/format/words.d.ts +6 -2
  252. package/src/lib/format/words.js +13 -7
  253. package/src/lib/format/words.js.map +1 -1
  254. package/src/lib/format/words.mjs +13 -7
  255. package/src/lib/format/words.mjs.map +1 -1
  256. package/src/lib/parts.d.mts +45 -0
  257. package/src/lib/parts.d.ts +45 -0
  258. package/src/lib/parts.js +60 -0
  259. package/src/lib/parts.js.map +1 -0
  260. package/src/lib/parts.mjs +53 -0
  261. package/src/lib/parts.mjs.map +1 -0
  262. package/src/lib/record/cells.d.mts +3 -3
  263. package/src/lib/record/cells.d.ts +3 -3
  264. package/src/lib/record/cells.js +16 -15
  265. package/src/lib/record/cells.js.map +1 -1
  266. package/src/lib/record/cells.mjs +16 -15
  267. package/src/lib/record/cells.mjs.map +1 -1
  268. package/src/lib/record/compute.d.mts +16 -5
  269. package/src/lib/record/compute.d.ts +16 -5
  270. package/src/lib/record/compute.js +57 -16
  271. package/src/lib/record/compute.js.map +1 -1
  272. package/src/lib/record/compute.mjs +57 -16
  273. package/src/lib/record/compute.mjs.map +1 -1
  274. package/src/lib/record/data-source.d.mts +140 -3
  275. package/src/lib/record/data-source.d.ts +140 -3
  276. package/src/lib/record/data-source.js.map +1 -1
  277. package/src/lib/record/data-source.mjs.map +1 -1
  278. package/src/lib/record/drafts.d.mts +19 -0
  279. package/src/lib/record/drafts.d.ts +19 -0
  280. package/src/lib/record/drafts.js +35 -0
  281. package/src/lib/record/drafts.js.map +1 -0
  282. package/src/lib/record/drafts.mjs +31 -0
  283. package/src/lib/record/drafts.mjs.map +1 -0
  284. package/src/lib/record/env.d.mts +5 -1
  285. package/src/lib/record/env.d.ts +5 -1
  286. package/src/lib/record/env.js +9 -1
  287. package/src/lib/record/env.js.map +1 -1
  288. package/src/lib/record/env.mjs +8 -1
  289. package/src/lib/record/env.mjs.map +1 -1
  290. package/src/lib/record/form-limits.d.mts +81 -0
  291. package/src/lib/record/form-limits.d.ts +81 -0
  292. package/src/lib/record/form-limits.js +231 -0
  293. package/src/lib/record/form-limits.js.map +1 -0
  294. package/src/lib/record/form-limits.mjs +224 -0
  295. package/src/lib/record/form-limits.mjs.map +1 -0
  296. package/src/lib/record/form.d.mts +173 -4
  297. package/src/lib/record/form.d.ts +173 -4
  298. package/src/lib/record/form.js +792 -88
  299. package/src/lib/record/form.js.map +1 -1
  300. package/src/lib/record/form.mjs +792 -88
  301. package/src/lib/record/form.mjs.map +1 -1
  302. package/src/lib/record/limits-part.d.mts +6 -0
  303. package/src/lib/record/limits-part.d.ts +6 -0
  304. package/src/lib/record/limits-part.js +12 -0
  305. package/src/lib/record/limits-part.js.map +1 -0
  306. package/src/lib/record/limits-part.mjs +7 -0
  307. package/src/lib/record/limits-part.mjs.map +1 -0
  308. package/src/lib/record/line-choices.d.mts +30 -0
  309. package/src/lib/record/line-choices.d.ts +30 -0
  310. package/src/lib/record/line-choices.js +42 -0
  311. package/src/lib/record/line-choices.js.map +1 -0
  312. package/src/lib/record/line-choices.mjs +36 -0
  313. package/src/lib/record/line-choices.mjs.map +1 -0
  314. package/src/lib/record/locales/ar.js +10 -0
  315. package/src/lib/record/locales/ar.js.map +1 -1
  316. package/src/lib/record/locales/ar.mjs +10 -0
  317. package/src/lib/record/locales/ar.mjs.map +1 -1
  318. package/src/lib/record/locales/de.js +10 -0
  319. package/src/lib/record/locales/de.js.map +1 -1
  320. package/src/lib/record/locales/de.mjs +10 -0
  321. package/src/lib/record/locales/de.mjs.map +1 -1
  322. package/src/lib/record/locales/fr.js +10 -0
  323. package/src/lib/record/locales/fr.js.map +1 -1
  324. package/src/lib/record/locales/fr.mjs +10 -0
  325. package/src/lib/record/locales/fr.mjs.map +1 -1
  326. package/src/lib/record/memory-data-source.d.mts +44 -3
  327. package/src/lib/record/memory-data-source.d.ts +44 -3
  328. package/src/lib/record/memory-data-source.js +102 -40
  329. package/src/lib/record/memory-data-source.js.map +1 -1
  330. package/src/lib/record/memory-data-source.mjs +101 -40
  331. package/src/lib/record/memory-data-source.mjs.map +1 -1
  332. package/src/lib/record/memory-kept.d.mts +20 -0
  333. package/src/lib/record/memory-kept.d.ts +20 -0
  334. package/src/lib/record/memory-kept.js +46 -0
  335. package/src/lib/record/memory-kept.js.map +1 -0
  336. package/src/lib/record/memory-kept.mjs +43 -0
  337. package/src/lib/record/memory-kept.mjs.map +1 -0
  338. package/src/lib/record/memory-later.d.mts +19 -0
  339. package/src/lib/record/memory-later.d.ts +19 -0
  340. package/src/lib/record/memory-later.js +39 -0
  341. package/src/lib/record/memory-later.js.map +1 -0
  342. package/src/lib/record/memory-later.mjs +35 -0
  343. package/src/lib/record/memory-later.mjs.map +1 -0
  344. package/src/lib/record/memory-part.d.mts +7 -0
  345. package/src/lib/record/memory-part.d.ts +7 -0
  346. package/src/lib/record/memory-part.js +13 -0
  347. package/src/lib/record/memory-part.js.map +1 -0
  348. package/src/lib/record/memory-part.mjs +8 -0
  349. package/src/lib/record/memory-part.mjs.map +1 -0
  350. package/src/lib/record/messages.d.mts +17 -0
  351. package/src/lib/record/messages.d.ts +17 -0
  352. package/src/lib/record/messages.js +10 -0
  353. package/src/lib/record/messages.js.map +1 -1
  354. package/src/lib/record/messages.mjs +10 -0
  355. package/src/lib/record/messages.mjs.map +1 -1
  356. package/src/lib/record/option-rules.d.mts +50 -0
  357. package/src/lib/record/option-rules.d.ts +50 -0
  358. package/src/lib/record/option-rules.js +137 -0
  359. package/src/lib/record/option-rules.js.map +1 -0
  360. package/src/lib/record/option-rules.mjs +134 -0
  361. package/src/lib/record/option-rules.mjs.map +1 -0
  362. package/src/lib/record/rules.d.mts +2 -2
  363. package/src/lib/record/rules.d.ts +2 -2
  364. package/src/lib/record/rules.js +3 -3
  365. package/src/lib/record/rules.js.map +1 -1
  366. package/src/lib/record/rules.mjs +3 -3
  367. package/src/lib/record/rules.mjs.map +1 -1
  368. package/src/lib/record/run.js +9 -7
  369. package/src/lib/record/run.js.map +1 -1
  370. package/src/lib/record/run.mjs +9 -7
  371. package/src/lib/record/run.mjs.map +1 -1
  372. package/src/lib/record/search.d.mts +12 -2
  373. package/src/lib/record/search.d.ts +12 -2
  374. package/src/lib/record/search.js +29 -4
  375. package/src/lib/record/search.js.map +1 -1
  376. package/src/lib/record/search.mjs +29 -4
  377. package/src/lib/record/search.mjs.map +1 -1
  378. package/src/lib/record/set-when.d.mts +3 -3
  379. package/src/lib/record/set-when.d.ts +3 -3
  380. package/src/lib/record/set-when.js +9 -9
  381. package/src/lib/record/set-when.js.map +1 -1
  382. package/src/lib/record/set-when.mjs +9 -9
  383. package/src/lib/record/set-when.mjs.map +1 -1
  384. package/src/lib/record/signed.d.mts +21 -0
  385. package/src/lib/record/signed.d.ts +21 -0
  386. package/src/lib/record/signed.js +62 -0
  387. package/src/lib/record/signed.js.map +1 -0
  388. package/src/lib/record/signed.mjs +57 -0
  389. package/src/lib/record/signed.mjs.map +1 -0
  390. package/src/lib/record/taking.d.mts +60 -0
  391. package/src/lib/record/taking.d.ts +60 -0
  392. package/src/lib/record/taking.js +58 -0
  393. package/src/lib/record/taking.js.map +1 -0
  394. package/src/lib/record/taking.mjs +50 -0
  395. package/src/lib/record/taking.mjs.map +1 -0
  396. package/src/lib/record/value-map.js +11 -4
  397. package/src/lib/record/value-map.js.map +1 -1
  398. package/src/lib/record/value-map.mjs +11 -4
  399. package/src/lib/record/value-map.mjs.map +1 -1
  400. package/src/lib/record/values.d.mts +20 -0
  401. package/src/lib/record/values.d.ts +20 -0
  402. package/src/lib/record/values.js.map +1 -1
  403. package/src/lib/record/values.mjs.map +1 -1
  404. package/src/lib/record/waits.d.mts +6 -1
  405. package/src/lib/record/waits.d.ts +6 -1
  406. package/src/lib/record/waits.js +2 -2
  407. package/src/lib/record/waits.js.map +1 -1
  408. package/src/lib/record/waits.mjs +2 -2
  409. package/src/lib/record/waits.mjs.map +1 -1
  410. package/src/runtime.d.mts +16 -5
  411. package/src/runtime.d.ts +16 -5
  412. package/src/runtime.js +41 -3
  413. package/src/runtime.js.map +1 -1
  414. package/src/runtime.mjs +13 -0
  415. package/src/runtime.mjs.map +1 -1
@@ -1,5 +1,7 @@
1
1
  import * as z from 'zod';
2
2
  export { FIELD_NAME, FIELD_TYPES, type FieldType } from './names';
3
+ /** `true`, `false`, or a condition on the record's values, as everything that shows or hides by state takes it (layout.ts `Modifier`). */
4
+ export declare const ModifierSchema: z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>;
3
5
  /** One choice in a selection or reference. */
4
6
  export declare const OptionSchema: z.ZodObject<{
5
7
  value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
@@ -9,8 +11,27 @@ export declare const OptionSchema: z.ZodObject<{
9
11
  alt: z.ZodOptional<z.ZodString>;
10
12
  exclusive: z.ZodOptional<z.ZodBoolean>;
11
13
  fixed: z.ZodOptional<z.ZodBoolean>;
14
+ seats: z.ZodOptional<z.ZodInt>;
12
15
  }, z.z.core.$strict>;
13
16
  export type Option = z.infer<typeof OptionSchema>;
17
+ /**
18
+ * One choice of a page's own selection or a table line's, which may show or hide by a condition on the record's other
19
+ * answers — a line's, on the line's values and `parent.` the record's — (`invisible`, as a part's): "Garden" hidden
20
+ * unless the unit is a villa. A choice that a change hides while it is chosen is taken out of the answer, and the form
21
+ * says so; one the record held as it was opened stays, and is said.
22
+ */
23
+ export declare const SelectionOptionSchema: z.ZodObject<{
24
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
25
+ label: z.ZodString;
26
+ image: z.ZodOptional<z.ZodString>;
27
+ score: z.ZodOptional<z.ZodNumber>;
28
+ alt: z.ZodOptional<z.ZodString>;
29
+ exclusive: z.ZodOptional<z.ZodBoolean>;
30
+ fixed: z.ZodOptional<z.ZodBoolean>;
31
+ seats: z.ZodOptional<z.ZodInt>;
32
+ invisible: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
33
+ }, z.z.core.$strict>;
34
+ export type SelectionOption = z.infer<typeof SelectionOptionSchema>;
14
35
  export declare const FilterConditionSchema: z.ZodObject<{
15
36
  field: z.ZodString;
16
37
  op: z.ZodEnum<{
@@ -140,13 +161,39 @@ export declare const TimeZoneSchema: z.ZodString & z.ZodType<string, string, z.z
140
161
  /**
141
162
  * Choices the app gives rather than the page: its list by name, loaded through
142
163
  * the data source's `options` when the form shows the field, and again when a
143
- * field named in `dependsOn` changes — a city list that follows the country.
164
+ * field named in `dependsOn` changes — a city list that follows the country. A
165
+ * table line's are asked for each line by that line's values — a connection's
166
+ * tools on its own line — and again when a column they change with changes on
167
+ * that line, or, as `parent.` and a field, the record the line is on; lines
168
+ * whose columns hold the same values share one answer.
144
169
  */
145
- export declare const OptionsFromSchema: z.ZodObject<{
170
+ export declare const OptionsFromListSchema: z.ZodObject<{
146
171
  list: z.ZodString;
147
172
  dependsOn: z.ZodOptional<z.ZodArray<z.ZodString>>;
148
173
  }, z.z.core.$strict>;
174
+ /**
175
+ * Choices carried from an earlier question of the page: the options picked in it — or, with `picked: false`, those
176
+ * left unpicked — by their labels, then the choice's own options after them ("None of them"). A choice picked here
177
+ * that is no longer picked there is taken out, and the form says so.
178
+ */
179
+ export declare const OptionsFromFieldSchema: z.ZodObject<{
180
+ field: z.ZodString;
181
+ picked: z.ZodOptional<z.ZodBoolean>;
182
+ }, z.z.core.$strict>;
183
+ /**
184
+ * Where a choice's options come from besides the page: one of the app's lists (`list`), or an earlier question
185
+ * (`field`). The same for a page's own choice and a table line's; a line's carries none from a question.
186
+ */
187
+ export declare const OptionsFromSchema: z.ZodUnion<readonly [z.ZodObject<{
188
+ list: z.ZodString;
189
+ dependsOn: z.ZodOptional<z.ZodArray<z.ZodString>>;
190
+ }, z.z.core.$strict>, z.ZodObject<{
191
+ field: z.ZodString;
192
+ picked: z.ZodOptional<z.ZodBoolean>;
193
+ }, z.z.core.$strict>]>;
149
194
  export type OptionsFrom = z.infer<typeof OptionsFromSchema>;
195
+ export type OptionsFromList = z.infer<typeof OptionsFromListSchema>;
196
+ export type OptionsFromField = z.infer<typeof OptionsFromFieldSchema>;
150
197
  /**
151
198
  * What a file or an image field takes: the largest file, and whether it holds
152
199
  * several — its value then a list of files, as few as `minFiles` and as many
@@ -338,6 +385,7 @@ export declare const LinkedFieldSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
338
385
  alt: z.ZodOptional<z.ZodString>;
339
386
  exclusive: z.ZodOptional<z.ZodBoolean>;
340
387
  fixed: z.ZodOptional<z.ZodBoolean>;
388
+ seats: z.ZodOptional<z.ZodInt>;
341
389
  }, z.z.core.$strict>>;
342
390
  optionsFrom: z.ZodOptional<z.ZodNever>;
343
391
  multiple: z.ZodOptional<z.ZodBoolean>;
@@ -425,6 +473,7 @@ export declare const PropertyDefinitionSchema: z.ZodObject<{
425
473
  alt: z.ZodOptional<z.ZodString>;
426
474
  exclusive: z.ZodOptional<z.ZodBoolean>;
427
475
  fixed: z.ZodOptional<z.ZodBoolean>;
476
+ seats: z.ZodOptional<z.ZodInt>;
428
477
  }, z.z.core.$strict>>>;
429
478
  }, z.z.core.$strict>;
430
479
  export type PropertyDefinition = z.infer<typeof PropertyDefinitionSchema>;
@@ -619,8 +668,16 @@ export declare const LineFieldSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
619
668
  alt: z.ZodOptional<z.ZodString>;
620
669
  exclusive: z.ZodOptional<z.ZodBoolean>;
621
670
  fixed: z.ZodOptional<z.ZodBoolean>;
671
+ seats: z.ZodOptional<z.ZodInt>;
672
+ invisible: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
622
673
  }, z.z.core.$strict>>;
623
- optionsFrom: z.ZodOptional<z.ZodNever>;
674
+ optionsFrom: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
675
+ list: z.ZodString;
676
+ dependsOn: z.ZodOptional<z.ZodArray<z.ZodString>>;
677
+ }, z.z.core.$strict>, z.ZodObject<{
678
+ field: z.ZodString;
679
+ picked: z.ZodOptional<z.ZodBoolean>;
680
+ }, z.z.core.$strict>]>>;
624
681
  multiple: z.ZodOptional<z.ZodBoolean>;
625
682
  other: z.ZodOptional<z.ZodBoolean>;
626
683
  ownAnswers: z.ZodOptional<z.ZodBoolean>;
@@ -925,6 +982,7 @@ export declare const LineFieldSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
925
982
  alt: z.ZodOptional<z.ZodString>;
926
983
  exclusive: z.ZodOptional<z.ZodBoolean>;
927
984
  fixed: z.ZodOptional<z.ZodBoolean>;
985
+ seats: z.ZodOptional<z.ZodInt>;
928
986
  }, z.z.core.$strict>>;
929
987
  optionsFrom: z.ZodOptional<z.ZodNever>;
930
988
  multiple: z.ZodOptional<z.ZodBoolean>;
@@ -1012,6 +1070,7 @@ export declare const LineFieldSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1012
1070
  alt: z.ZodOptional<z.ZodString>;
1013
1071
  exclusive: z.ZodOptional<z.ZodBoolean>;
1014
1072
  fixed: z.ZodOptional<z.ZodBoolean>;
1073
+ seats: z.ZodOptional<z.ZodInt>;
1015
1074
  }, z.z.core.$strict>>;
1016
1075
  label: z.ZodString;
1017
1076
  help: z.ZodOptional<z.ZodString>;
@@ -1047,6 +1106,7 @@ export declare const LineFieldSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1047
1106
  alt: z.ZodOptional<z.ZodString>;
1048
1107
  exclusive: z.ZodOptional<z.ZodBoolean>;
1049
1108
  fixed: z.ZodOptional<z.ZodBoolean>;
1109
+ seats: z.ZodOptional<z.ZodInt>;
1050
1110
  }, z.z.core.$strict>>>;
1051
1111
  }, z.z.core.$strict>>>;
1052
1112
  definitionsFrom: z.ZodOptional<z.ZodObject<{
@@ -1260,8 +1320,16 @@ export declare const LineFieldSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1260
1320
  alt: z.ZodOptional<z.ZodString>;
1261
1321
  exclusive: z.ZodOptional<z.ZodBoolean>;
1262
1322
  fixed: z.ZodOptional<z.ZodBoolean>;
1323
+ seats: z.ZodOptional<z.ZodInt>;
1324
+ invisible: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
1263
1325
  }, z.z.core.$strict>>;
1264
- optionsFrom: z.ZodOptional<z.ZodNever>;
1326
+ optionsFrom: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
1327
+ list: z.ZodString;
1328
+ dependsOn: z.ZodOptional<z.ZodArray<z.ZodString>>;
1329
+ }, z.z.core.$strict>, z.ZodObject<{
1330
+ field: z.ZodString;
1331
+ picked: z.ZodOptional<z.ZodBoolean>;
1332
+ }, z.z.core.$strict>]>>;
1265
1333
  multiple: z.ZodOptional<z.ZodBoolean>;
1266
1334
  other: z.ZodOptional<z.ZodBoolean>;
1267
1335
  ownAnswers: z.ZodOptional<z.ZodBoolean>;
@@ -1566,6 +1634,7 @@ export declare const LineFieldSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1566
1634
  alt: z.ZodOptional<z.ZodString>;
1567
1635
  exclusive: z.ZodOptional<z.ZodBoolean>;
1568
1636
  fixed: z.ZodOptional<z.ZodBoolean>;
1637
+ seats: z.ZodOptional<z.ZodInt>;
1569
1638
  }, z.z.core.$strict>>;
1570
1639
  optionsFrom: z.ZodOptional<z.ZodNever>;
1571
1640
  multiple: z.ZodOptional<z.ZodBoolean>;
@@ -1653,6 +1722,7 @@ export declare const LineFieldSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1653
1722
  alt: z.ZodOptional<z.ZodString>;
1654
1723
  exclusive: z.ZodOptional<z.ZodBoolean>;
1655
1724
  fixed: z.ZodOptional<z.ZodBoolean>;
1725
+ seats: z.ZodOptional<z.ZodInt>;
1656
1726
  }, z.z.core.$strict>>;
1657
1727
  label: z.ZodString;
1658
1728
  help: z.ZodOptional<z.ZodString>;
@@ -1688,6 +1758,7 @@ export declare const LineFieldSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1688
1758
  alt: z.ZodOptional<z.ZodString>;
1689
1759
  exclusive: z.ZodOptional<z.ZodBoolean>;
1690
1760
  fixed: z.ZodOptional<z.ZodBoolean>;
1761
+ seats: z.ZodOptional<z.ZodInt>;
1691
1762
  }, z.z.core.$strict>>>;
1692
1763
  }, z.z.core.$strict>>>;
1693
1764
  definitionsFrom: z.ZodOptional<z.ZodObject<{
@@ -1921,10 +1992,6 @@ export declare const FieldSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1921
1992
  }, z.z.core.$strict>>>;
1922
1993
  type: z.ZodLiteral<"datetime">;
1923
1994
  }, z.z.core.$strict>, z.ZodObject<{
1924
- optionsFrom: z.ZodOptional<z.ZodObject<{
1925
- list: z.ZodString;
1926
- dependsOn: z.ZodOptional<z.ZodArray<z.ZodString>>;
1927
- }, z.z.core.$strict>>;
1928
1995
  options: z.ZodArray<z.ZodObject<{
1929
1996
  value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
1930
1997
  label: z.ZodString;
@@ -1933,7 +2000,16 @@ export declare const FieldSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1933
2000
  alt: z.ZodOptional<z.ZodString>;
1934
2001
  exclusive: z.ZodOptional<z.ZodBoolean>;
1935
2002
  fixed: z.ZodOptional<z.ZodBoolean>;
2003
+ seats: z.ZodOptional<z.ZodInt>;
2004
+ invisible: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
1936
2005
  }, z.z.core.$strict>>;
2006
+ optionsFrom: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
2007
+ list: z.ZodString;
2008
+ dependsOn: z.ZodOptional<z.ZodArray<z.ZodString>>;
2009
+ }, z.z.core.$strict>, z.ZodObject<{
2010
+ field: z.ZodString;
2011
+ picked: z.ZodOptional<z.ZodBoolean>;
2012
+ }, z.z.core.$strict>]>>;
1937
2013
  multiple: z.ZodOptional<z.ZodBoolean>;
1938
2014
  other: z.ZodOptional<z.ZodBoolean>;
1939
2015
  ownAnswers: z.ZodOptional<z.ZodBoolean>;
@@ -2238,6 +2314,7 @@ export declare const FieldSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
2238
2314
  alt: z.ZodOptional<z.ZodString>;
2239
2315
  exclusive: z.ZodOptional<z.ZodBoolean>;
2240
2316
  fixed: z.ZodOptional<z.ZodBoolean>;
2317
+ seats: z.ZodOptional<z.ZodInt>;
2241
2318
  }, z.z.core.$strict>>;
2242
2319
  optionsFrom: z.ZodOptional<z.ZodNever>;
2243
2320
  multiple: z.ZodOptional<z.ZodBoolean>;
@@ -2496,8 +2573,16 @@ export declare const FieldSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
2496
2573
  alt: z.ZodOptional<z.ZodString>;
2497
2574
  exclusive: z.ZodOptional<z.ZodBoolean>;
2498
2575
  fixed: z.ZodOptional<z.ZodBoolean>;
2576
+ seats: z.ZodOptional<z.ZodInt>;
2577
+ invisible: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
2499
2578
  }, z.z.core.$strict>>;
2500
- optionsFrom: z.ZodOptional<z.ZodNever>;
2579
+ optionsFrom: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
2580
+ list: z.ZodString;
2581
+ dependsOn: z.ZodOptional<z.ZodArray<z.ZodString>>;
2582
+ }, z.z.core.$strict>, z.ZodObject<{
2583
+ field: z.ZodString;
2584
+ picked: z.ZodOptional<z.ZodBoolean>;
2585
+ }, z.z.core.$strict>]>>;
2501
2586
  multiple: z.ZodOptional<z.ZodBoolean>;
2502
2587
  other: z.ZodOptional<z.ZodBoolean>;
2503
2588
  ownAnswers: z.ZodOptional<z.ZodBoolean>;
@@ -2802,6 +2887,7 @@ export declare const FieldSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
2802
2887
  alt: z.ZodOptional<z.ZodString>;
2803
2888
  exclusive: z.ZodOptional<z.ZodBoolean>;
2804
2889
  fixed: z.ZodOptional<z.ZodBoolean>;
2890
+ seats: z.ZodOptional<z.ZodInt>;
2805
2891
  }, z.z.core.$strict>>;
2806
2892
  optionsFrom: z.ZodOptional<z.ZodNever>;
2807
2893
  multiple: z.ZodOptional<z.ZodBoolean>;
@@ -2889,6 +2975,7 @@ export declare const FieldSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
2889
2975
  alt: z.ZodOptional<z.ZodString>;
2890
2976
  exclusive: z.ZodOptional<z.ZodBoolean>;
2891
2977
  fixed: z.ZodOptional<z.ZodBoolean>;
2978
+ seats: z.ZodOptional<z.ZodInt>;
2892
2979
  }, z.z.core.$strict>>;
2893
2980
  label: z.ZodString;
2894
2981
  help: z.ZodOptional<z.ZodString>;
@@ -2924,6 +3011,7 @@ export declare const FieldSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
2924
3011
  alt: z.ZodOptional<z.ZodString>;
2925
3012
  exclusive: z.ZodOptional<z.ZodBoolean>;
2926
3013
  fixed: z.ZodOptional<z.ZodBoolean>;
3014
+ seats: z.ZodOptional<z.ZodInt>;
2927
3015
  }, z.z.core.$strict>>>;
2928
3016
  }, z.z.core.$strict>>>;
2929
3017
  definitionsFrom: z.ZodOptional<z.ZodObject<{
@@ -3137,8 +3225,16 @@ export declare const FieldSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
3137
3225
  alt: z.ZodOptional<z.ZodString>;
3138
3226
  exclusive: z.ZodOptional<z.ZodBoolean>;
3139
3227
  fixed: z.ZodOptional<z.ZodBoolean>;
3228
+ seats: z.ZodOptional<z.ZodInt>;
3229
+ invisible: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
3140
3230
  }, z.z.core.$strict>>;
3141
- optionsFrom: z.ZodOptional<z.ZodNever>;
3231
+ optionsFrom: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
3232
+ list: z.ZodString;
3233
+ dependsOn: z.ZodOptional<z.ZodArray<z.ZodString>>;
3234
+ }, z.z.core.$strict>, z.ZodObject<{
3235
+ field: z.ZodString;
3236
+ picked: z.ZodOptional<z.ZodBoolean>;
3237
+ }, z.z.core.$strict>]>>;
3142
3238
  multiple: z.ZodOptional<z.ZodBoolean>;
3143
3239
  other: z.ZodOptional<z.ZodBoolean>;
3144
3240
  ownAnswers: z.ZodOptional<z.ZodBoolean>;
@@ -3443,6 +3539,7 @@ export declare const FieldSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
3443
3539
  alt: z.ZodOptional<z.ZodString>;
3444
3540
  exclusive: z.ZodOptional<z.ZodBoolean>;
3445
3541
  fixed: z.ZodOptional<z.ZodBoolean>;
3542
+ seats: z.ZodOptional<z.ZodInt>;
3446
3543
  }, z.z.core.$strict>>;
3447
3544
  optionsFrom: z.ZodOptional<z.ZodNever>;
3448
3545
  multiple: z.ZodOptional<z.ZodBoolean>;
@@ -3530,6 +3627,7 @@ export declare const FieldSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
3530
3627
  alt: z.ZodOptional<z.ZodString>;
3531
3628
  exclusive: z.ZodOptional<z.ZodBoolean>;
3532
3629
  fixed: z.ZodOptional<z.ZodBoolean>;
3630
+ seats: z.ZodOptional<z.ZodInt>;
3533
3631
  }, z.z.core.$strict>>;
3534
3632
  label: z.ZodString;
3535
3633
  help: z.ZodOptional<z.ZodString>;
@@ -3565,6 +3663,7 @@ export declare const FieldSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
3565
3663
  alt: z.ZodOptional<z.ZodString>;
3566
3664
  exclusive: z.ZodOptional<z.ZodBoolean>;
3567
3665
  fixed: z.ZodOptional<z.ZodBoolean>;
3666
+ seats: z.ZodOptional<z.ZodInt>;
3568
3667
  }, z.z.core.$strict>>>;
3569
3668
  }, z.z.core.$strict>>>;
3570
3669
  definitionsFrom: z.ZodOptional<z.ZodObject<{
@@ -3645,6 +3744,7 @@ export declare const FieldSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
3645
3744
  alt: z.ZodOptional<z.ZodString>;
3646
3745
  exclusive: z.ZodOptional<z.ZodBoolean>;
3647
3746
  fixed: z.ZodOptional<z.ZodBoolean>;
3747
+ seats: z.ZodOptional<z.ZodInt>;
3648
3748
  }, z.z.core.$strict>>;
3649
3749
  label: z.ZodString;
3650
3750
  help: z.ZodOptional<z.ZodString>;
@@ -3680,6 +3780,7 @@ export declare const FieldSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
3680
3780
  alt: z.ZodOptional<z.ZodString>;
3681
3781
  exclusive: z.ZodOptional<z.ZodBoolean>;
3682
3782
  fixed: z.ZodOptional<z.ZodBoolean>;
3783
+ seats: z.ZodOptional<z.ZodInt>;
3683
3784
  }, z.z.core.$strict>>>;
3684
3785
  }, z.z.core.$strict>>>;
3685
3786
  definitionsFrom: z.ZodOptional<z.ZodObject<{
@@ -3722,6 +3823,7 @@ export declare const FieldSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
3722
3823
  alt: z.ZodOptional<z.ZodString>;
3723
3824
  exclusive: z.ZodOptional<z.ZodBoolean>;
3724
3825
  fixed: z.ZodOptional<z.ZodBoolean>;
3826
+ seats: z.ZodOptional<z.ZodInt>;
3725
3827
  }, z.z.core.$strict>>;
3726
3828
  columns: z.ZodArray<z.ZodObject<{
3727
3829
  value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
@@ -3731,6 +3833,7 @@ export declare const FieldSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
3731
3833
  alt: z.ZodOptional<z.ZodString>;
3732
3834
  exclusive: z.ZodOptional<z.ZodBoolean>;
3733
3835
  fixed: z.ZodOptional<z.ZodBoolean>;
3836
+ seats: z.ZodOptional<z.ZodInt>;
3734
3837
  }, z.z.core.$strict>>;
3735
3838
  multiple: z.ZodOptional<z.ZodBoolean>;
3736
3839
  onePerColumn: z.ZodOptional<z.ZodBoolean>;
@@ -3919,10 +4022,6 @@ export declare const FieldsSchema: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUn
3919
4022
  }, z.z.core.$strict>>>;
3920
4023
  type: z.ZodLiteral<"datetime">;
3921
4024
  }, z.z.core.$strict>, z.ZodObject<{
3922
- optionsFrom: z.ZodOptional<z.ZodObject<{
3923
- list: z.ZodString;
3924
- dependsOn: z.ZodOptional<z.ZodArray<z.ZodString>>;
3925
- }, z.z.core.$strict>>;
3926
4025
  options: z.ZodArray<z.ZodObject<{
3927
4026
  value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
3928
4027
  label: z.ZodString;
@@ -3931,7 +4030,16 @@ export declare const FieldsSchema: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUn
3931
4030
  alt: z.ZodOptional<z.ZodString>;
3932
4031
  exclusive: z.ZodOptional<z.ZodBoolean>;
3933
4032
  fixed: z.ZodOptional<z.ZodBoolean>;
4033
+ seats: z.ZodOptional<z.ZodInt>;
4034
+ invisible: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
3934
4035
  }, z.z.core.$strict>>;
4036
+ optionsFrom: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
4037
+ list: z.ZodString;
4038
+ dependsOn: z.ZodOptional<z.ZodArray<z.ZodString>>;
4039
+ }, z.z.core.$strict>, z.ZodObject<{
4040
+ field: z.ZodString;
4041
+ picked: z.ZodOptional<z.ZodBoolean>;
4042
+ }, z.z.core.$strict>]>>;
3935
4043
  multiple: z.ZodOptional<z.ZodBoolean>;
3936
4044
  other: z.ZodOptional<z.ZodBoolean>;
3937
4045
  ownAnswers: z.ZodOptional<z.ZodBoolean>;
@@ -4236,6 +4344,7 @@ export declare const FieldsSchema: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUn
4236
4344
  alt: z.ZodOptional<z.ZodString>;
4237
4345
  exclusive: z.ZodOptional<z.ZodBoolean>;
4238
4346
  fixed: z.ZodOptional<z.ZodBoolean>;
4347
+ seats: z.ZodOptional<z.ZodInt>;
4239
4348
  }, z.z.core.$strict>>;
4240
4349
  optionsFrom: z.ZodOptional<z.ZodNever>;
4241
4350
  multiple: z.ZodOptional<z.ZodBoolean>;
@@ -4494,8 +4603,16 @@ export declare const FieldsSchema: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUn
4494
4603
  alt: z.ZodOptional<z.ZodString>;
4495
4604
  exclusive: z.ZodOptional<z.ZodBoolean>;
4496
4605
  fixed: z.ZodOptional<z.ZodBoolean>;
4606
+ seats: z.ZodOptional<z.ZodInt>;
4607
+ invisible: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
4497
4608
  }, z.z.core.$strict>>;
4498
- optionsFrom: z.ZodOptional<z.ZodNever>;
4609
+ optionsFrom: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
4610
+ list: z.ZodString;
4611
+ dependsOn: z.ZodOptional<z.ZodArray<z.ZodString>>;
4612
+ }, z.z.core.$strict>, z.ZodObject<{
4613
+ field: z.ZodString;
4614
+ picked: z.ZodOptional<z.ZodBoolean>;
4615
+ }, z.z.core.$strict>]>>;
4499
4616
  multiple: z.ZodOptional<z.ZodBoolean>;
4500
4617
  other: z.ZodOptional<z.ZodBoolean>;
4501
4618
  ownAnswers: z.ZodOptional<z.ZodBoolean>;
@@ -4800,6 +4917,7 @@ export declare const FieldsSchema: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUn
4800
4917
  alt: z.ZodOptional<z.ZodString>;
4801
4918
  exclusive: z.ZodOptional<z.ZodBoolean>;
4802
4919
  fixed: z.ZodOptional<z.ZodBoolean>;
4920
+ seats: z.ZodOptional<z.ZodInt>;
4803
4921
  }, z.z.core.$strict>>;
4804
4922
  optionsFrom: z.ZodOptional<z.ZodNever>;
4805
4923
  multiple: z.ZodOptional<z.ZodBoolean>;
@@ -4887,6 +5005,7 @@ export declare const FieldsSchema: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUn
4887
5005
  alt: z.ZodOptional<z.ZodString>;
4888
5006
  exclusive: z.ZodOptional<z.ZodBoolean>;
4889
5007
  fixed: z.ZodOptional<z.ZodBoolean>;
5008
+ seats: z.ZodOptional<z.ZodInt>;
4890
5009
  }, z.z.core.$strict>>;
4891
5010
  label: z.ZodString;
4892
5011
  help: z.ZodOptional<z.ZodString>;
@@ -4922,6 +5041,7 @@ export declare const FieldsSchema: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUn
4922
5041
  alt: z.ZodOptional<z.ZodString>;
4923
5042
  exclusive: z.ZodOptional<z.ZodBoolean>;
4924
5043
  fixed: z.ZodOptional<z.ZodBoolean>;
5044
+ seats: z.ZodOptional<z.ZodInt>;
4925
5045
  }, z.z.core.$strict>>>;
4926
5046
  }, z.z.core.$strict>>>;
4927
5047
  definitionsFrom: z.ZodOptional<z.ZodObject<{
@@ -5135,8 +5255,16 @@ export declare const FieldsSchema: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUn
5135
5255
  alt: z.ZodOptional<z.ZodString>;
5136
5256
  exclusive: z.ZodOptional<z.ZodBoolean>;
5137
5257
  fixed: z.ZodOptional<z.ZodBoolean>;
5258
+ seats: z.ZodOptional<z.ZodInt>;
5259
+ invisible: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
5138
5260
  }, z.z.core.$strict>>;
5139
- optionsFrom: z.ZodOptional<z.ZodNever>;
5261
+ optionsFrom: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
5262
+ list: z.ZodString;
5263
+ dependsOn: z.ZodOptional<z.ZodArray<z.ZodString>>;
5264
+ }, z.z.core.$strict>, z.ZodObject<{
5265
+ field: z.ZodString;
5266
+ picked: z.ZodOptional<z.ZodBoolean>;
5267
+ }, z.z.core.$strict>]>>;
5140
5268
  multiple: z.ZodOptional<z.ZodBoolean>;
5141
5269
  other: z.ZodOptional<z.ZodBoolean>;
5142
5270
  ownAnswers: z.ZodOptional<z.ZodBoolean>;
@@ -5441,6 +5569,7 @@ export declare const FieldsSchema: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUn
5441
5569
  alt: z.ZodOptional<z.ZodString>;
5442
5570
  exclusive: z.ZodOptional<z.ZodBoolean>;
5443
5571
  fixed: z.ZodOptional<z.ZodBoolean>;
5572
+ seats: z.ZodOptional<z.ZodInt>;
5444
5573
  }, z.z.core.$strict>>;
5445
5574
  optionsFrom: z.ZodOptional<z.ZodNever>;
5446
5575
  multiple: z.ZodOptional<z.ZodBoolean>;
@@ -5528,6 +5657,7 @@ export declare const FieldsSchema: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUn
5528
5657
  alt: z.ZodOptional<z.ZodString>;
5529
5658
  exclusive: z.ZodOptional<z.ZodBoolean>;
5530
5659
  fixed: z.ZodOptional<z.ZodBoolean>;
5660
+ seats: z.ZodOptional<z.ZodInt>;
5531
5661
  }, z.z.core.$strict>>;
5532
5662
  label: z.ZodString;
5533
5663
  help: z.ZodOptional<z.ZodString>;
@@ -5563,6 +5693,7 @@ export declare const FieldsSchema: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUn
5563
5693
  alt: z.ZodOptional<z.ZodString>;
5564
5694
  exclusive: z.ZodOptional<z.ZodBoolean>;
5565
5695
  fixed: z.ZodOptional<z.ZodBoolean>;
5696
+ seats: z.ZodOptional<z.ZodInt>;
5566
5697
  }, z.z.core.$strict>>>;
5567
5698
  }, z.z.core.$strict>>>;
5568
5699
  definitionsFrom: z.ZodOptional<z.ZodObject<{
@@ -5643,6 +5774,7 @@ export declare const FieldsSchema: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUn
5643
5774
  alt: z.ZodOptional<z.ZodString>;
5644
5775
  exclusive: z.ZodOptional<z.ZodBoolean>;
5645
5776
  fixed: z.ZodOptional<z.ZodBoolean>;
5777
+ seats: z.ZodOptional<z.ZodInt>;
5646
5778
  }, z.z.core.$strict>>;
5647
5779
  label: z.ZodString;
5648
5780
  help: z.ZodOptional<z.ZodString>;
@@ -5678,6 +5810,7 @@ export declare const FieldsSchema: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUn
5678
5810
  alt: z.ZodOptional<z.ZodString>;
5679
5811
  exclusive: z.ZodOptional<z.ZodBoolean>;
5680
5812
  fixed: z.ZodOptional<z.ZodBoolean>;
5813
+ seats: z.ZodOptional<z.ZodInt>;
5681
5814
  }, z.z.core.$strict>>>;
5682
5815
  }, z.z.core.$strict>>>;
5683
5816
  definitionsFrom: z.ZodOptional<z.ZodObject<{
@@ -5720,6 +5853,7 @@ export declare const FieldsSchema: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUn
5720
5853
  alt: z.ZodOptional<z.ZodString>;
5721
5854
  exclusive: z.ZodOptional<z.ZodBoolean>;
5722
5855
  fixed: z.ZodOptional<z.ZodBoolean>;
5856
+ seats: z.ZodOptional<z.ZodInt>;
5723
5857
  }, z.z.core.$strict>>;
5724
5858
  columns: z.ZodArray<z.ZodObject<{
5725
5859
  value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
@@ -5729,6 +5863,7 @@ export declare const FieldsSchema: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUn
5729
5863
  alt: z.ZodOptional<z.ZodString>;
5730
5864
  exclusive: z.ZodOptional<z.ZodBoolean>;
5731
5865
  fixed: z.ZodOptional<z.ZodBoolean>;
5866
+ seats: z.ZodOptional<z.ZodInt>;
5732
5867
  }, z.z.core.$strict>>;
5733
5868
  multiple: z.ZodOptional<z.ZodBoolean>;
5734
5869
  onePerColumn: z.ZodOptional<z.ZodBoolean>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FieldsSchema = exports.FieldSchema = exports.LineKindsSchema = exports.LineFieldSchema = exports.DefinitionsFromSchema = exports.PropertyDefinitionSchema = exports.LinkedFieldSchema = exports.ShrinkSchema = exports.OptionsFromSchema = exports.TimeZoneSchema = exports.MoneyLookSchema = exports.PERIODS = exports.SetWhenSchema = exports.FilterItemSchema = exports.FilterAllSchema = exports.FilterAnySchema = exports.FilterConditionSchema = exports.OptionSchema = exports.FIELD_TYPES = exports.FIELD_NAME = void 0;
3
+ exports.FieldsSchema = exports.FieldSchema = exports.LineKindsSchema = exports.LineFieldSchema = exports.DefinitionsFromSchema = exports.PropertyDefinitionSchema = exports.LinkedFieldSchema = exports.ShrinkSchema = exports.OptionsFromSchema = exports.OptionsFromFieldSchema = exports.OptionsFromListSchema = exports.TimeZoneSchema = exports.MoneyLookSchema = exports.PERIODS = exports.SetWhenSchema = exports.FilterItemSchema = exports.FilterAllSchema = exports.FilterAnySchema = exports.FilterConditionSchema = exports.SelectionOptionSchema = exports.OptionSchema = exports.ModifierSchema = exports.FIELD_TYPES = exports.FIELD_NAME = void 0;
4
4
  const z = require("zod");
5
5
  const json_1 = require("./json");
6
6
  const zones_1 = require("../record/zones");
@@ -16,6 +16,8 @@ const names_1 = require("./names");
16
16
  var names_2 = require("./names");
17
17
  Object.defineProperty(exports, "FIELD_NAME", { enumerable: true, get: function () { return names_2.FIELD_NAME; } });
18
18
  Object.defineProperty(exports, "FIELD_TYPES", { enumerable: true, get: function () { return names_2.FIELD_TYPES; } });
19
+ /** `true`, `false`, or a condition on the record's values, as everything that shows or hides by state takes it (layout.ts `Modifier`). */
20
+ exports.ModifierSchema = z.union([z.boolean(), z.string().min(1)]).meta({ id: 'Modifier' });
19
21
  /** One choice in a selection or reference. */
20
22
  exports.OptionSchema = z
21
23
  .object({
@@ -31,9 +33,22 @@ exports.OptionSchema = z
31
33
  exclusive: z.boolean().optional(),
32
34
  /** Keeps its place when the options are shuffled. */
33
35
  fixed: z.boolean().optional(),
36
+ /**
37
+ * How many may choose it — a session's places, a limited offer's stock. With the data source's `limits`, which
38
+ * tells how many took it, the places left show beside it ("3 left"), and a full one says "Full" and is refused when
39
+ * picked (never hidden). Without it, nothing shows: the server refuses as it would.
40
+ */
41
+ seats: z.int().min(0).max(100_000_000).optional(),
34
42
  })
35
43
  .strict()
36
44
  .meta({ id: 'Option' });
45
+ /**
46
+ * One choice of a page's own selection or a table line's, which may show or hide by a condition on the record's other
47
+ * answers — a line's, on the line's values and `parent.` the record's — (`invisible`, as a part's): "Garden" hidden
48
+ * unless the unit is a villa. A choice that a change hides while it is chosen is taken out of the answer, and the form
49
+ * says so; one the record held as it was opened stays, and is said.
50
+ */
51
+ exports.SelectionOptionSchema = exports.OptionSchema.extend({ invisible: exports.ModifierSchema.optional() }).strict().meta({ id: 'SelectionOption' });
37
52
  /**
38
53
  * One condition limiting which records a relation may point to. `valueFrom`
39
54
  * compares against another field of the record being edited, so a region list
@@ -226,16 +241,42 @@ const DateTime = z.object({ type: z.literal('datetime'), ...common, ...days, tim
226
241
  /**
227
242
  * Choices the app gives rather than the page: its list by name, loaded through
228
243
  * the data source's `options` when the form shows the field, and again when a
229
- * field named in `dependsOn` changes — a city list that follows the country.
244
+ * field named in `dependsOn` changes — a city list that follows the country. A
245
+ * table line's are asked for each line by that line's values — a connection's
246
+ * tools on its own line — and again when a column they change with changes on
247
+ * that line, or, as `parent.` and a field, the record the line is on; lines
248
+ * whose columns hold the same values share one answer.
230
249
  */
231
- exports.OptionsFromSchema = z
250
+ exports.OptionsFromListSchema = z
232
251
  .object({
233
252
  list: z.string().min(1),
234
- /** The fields the choices change with: the list is asked again when one does. */
235
- dependsOn: z.array(z.string().regex(names_1.FIELD_NAME)).min(1).optional(),
253
+ /**
254
+ * The fields the choices change with: the list is asked again when one does. On a table's line, the line's own
255
+ * columns, or `parent.` and a field of the record it is on.
256
+ */
257
+ dependsOn: z.array(z.string().regex(/^(parent\.)?[A-Za-z_][A-Za-z0-9_]*$/)).min(1).optional(),
258
+ })
259
+ .strict()
260
+ .meta({ id: 'OptionsFromList' });
261
+ /**
262
+ * Choices carried from an earlier question of the page: the options picked in it — or, with `picked: false`, those
263
+ * left unpicked — by their labels, then the choice's own options after them ("None of them"). A choice picked here
264
+ * that is no longer picked there is taken out, and the form says so.
265
+ */
266
+ exports.OptionsFromFieldSchema = z
267
+ .object({
268
+ /** The page's choice they are carried from. */
269
+ field: z.string().regex(names_1.FIELD_NAME),
270
+ /** False: the options left unpicked there. */
271
+ picked: z.boolean().optional(),
236
272
  })
237
273
  .strict()
238
- .meta({ id: 'OptionsFrom' });
274
+ .meta({ id: 'OptionsFromField' });
275
+ /**
276
+ * Where a choice's options come from besides the page: one of the app's lists (`list`), or an earlier question
277
+ * (`field`). The same for a page's own choice and a table line's; a line's carries none from a question.
278
+ */
279
+ exports.OptionsFromSchema = z.union([exports.OptionsFromListSchema, exports.OptionsFromFieldSchema]).meta({ id: 'OptionsFrom' });
239
280
  const selection = {
240
281
  type: z.literal('selection'),
241
282
  ...common,
@@ -253,16 +294,28 @@ const selection = {
253
294
  ownAnswers: z.boolean().optional(),
254
295
  };
255
296
  const Selection = z
256
- .object({ ...selection, optionsFrom: exports.OptionsFromSchema.optional() })
297
+ .object({ ...selection, options: z.array(exports.SelectionOptionSchema), optionsFrom: exports.OptionsFromSchema.optional() })
257
298
  .strict()
258
299
  .refine((field) => field.options.length > 0 || field.optionsFrom !== undefined, {
259
- message: 'a choice needs its options, or a list of the app’s to take them from',
300
+ message: 'a choice needs its options, a list of the app’s to take them from, or an earlier question to carry them from',
260
301
  path: ['options'],
261
302
  })
262
303
  // The same rule for tools that read only the JSON Schema.
263
304
  .meta({ anyOf: [{ properties: { options: { minItems: 1 } } }, { required: ['optionsFrom'] }] });
264
- /** A choice in a table's lines: its options written in the page, as a list loads only for the page's own fields. */
265
- const LineSelection = z.object({ ...selection, options: z.array(exports.OptionSchema).min(1), optionsFrom: z.never({ error: 'choices from the app’s lists are for the page’s own fields, not a table’s lines' }).optional() }).strict();
305
+ /**
306
+ * A choice in a table's lines: its options written in the page — each may show or hide by a condition on the line's
307
+ * values (`options[].invisible`, `parent.` the record's) — or from one of the app's lists for each line.
308
+ */
309
+ const LineSelection = z
310
+ .object({ ...selection, options: z.array(exports.SelectionOptionSchema), optionsFrom: exports.OptionsFromSchema.optional() })
311
+ .strict()
312
+ .refine((field) => field.options.length > 0 || field.optionsFrom !== undefined, {
313
+ message: 'a choice needs its options, or a list of the app’s to take them from',
314
+ path: ['options'],
315
+ })
316
+ .meta({ anyOf: [{ properties: { options: { minItems: 1 } } }, { required: ['optionsFrom'] }] });
317
+ /** A choice of a linked record's, shown in a table of them: its options written in the page. */
318
+ const LinkedSelection = z.object({ ...selection, options: z.array(exports.OptionSchema).min(1), optionsFrom: z.never({ error: 'choices from the app’s lists are for the page’s own fields and a table’s lines, not a linked record’s' }).optional() }).strict();
266
319
  /**
267
320
  * What a file or an image field takes: the largest file, and whether it holds
268
321
  * several — its value then a list of files, as few as `minFiles` and as many
@@ -324,7 +377,7 @@ const Many2one = z.object({ type: z.literal('many2one'), ...common, relation, fi
324
377
  * A related list's records' fields are the same (`RelatedNode.fields`).
325
378
  */
326
379
  exports.LinkedFieldSchema = z
327
- .discriminatedUnion('type', [Char, Text, Integer, Float, Monetary, BooleanField, DateField, DateTime, LineSelection, Many2one])
380
+ .discriminatedUnion('type', [Char, Text, Integer, Float, Monetary, BooleanField, DateField, DateTime, LinkedSelection, Many2one])
328
381
  .meta({ id: 'LinkedField' });
329
382
  const Many2many = z
330
383
  .object({ type: z.literal('many2many'), ...common, relation, filter, createValues, fields: z.record(z.string().regex(names_1.FIELD_NAME), exports.LinkedFieldSchema).optional() })