@fieldia/designer 0.26.1 → 0.28.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 (390) hide show
  1. package/README.md +75 -0
  2. package/package.json +4 -4
  3. package/src/lib/answer-picker.d.mts +22 -0
  4. package/src/lib/answer-picker.d.ts +22 -0
  5. package/src/lib/answer-picker.js +104 -0
  6. package/src/lib/answer-picker.js.map +1 -0
  7. package/src/lib/answer-picker.mjs +99 -0
  8. package/src/lib/answer-picker.mjs.map +1 -0
  9. package/src/lib/canvas-form.js +2 -1
  10. package/src/lib/canvas-form.js.map +1 -1
  11. package/src/lib/canvas-form.mjs +2 -1
  12. package/src/lib/canvas-form.mjs.map +1 -1
  13. package/src/lib/chrome.js +15 -4
  14. package/src/lib/chrome.js.map +1 -1
  15. package/src/lib/chrome.mjs +15 -4
  16. package/src/lib/chrome.mjs.map +1 -1
  17. package/src/lib/clipboard-names.d.mts +1 -1
  18. package/src/lib/clipboard-names.d.ts +1 -1
  19. package/src/lib/clipboard-names.js +25 -4
  20. package/src/lib/clipboard-names.js.map +1 -1
  21. package/src/lib/clipboard-names.mjs +25 -4
  22. package/src/lib/clipboard-names.mjs.map +1 -1
  23. package/src/lib/columns-editor.d.mts +5 -2
  24. package/src/lib/columns-editor.d.ts +5 -2
  25. package/src/lib/columns-editor.js +144 -3
  26. package/src/lib/columns-editor.js.map +1 -1
  27. package/src/lib/columns-editor.mjs +144 -3
  28. package/src/lib/columns-editor.mjs.map +1 -1
  29. package/src/lib/condition-editor.d.mts +5 -1
  30. package/src/lib/condition-editor.d.ts +5 -1
  31. package/src/lib/condition-editor.js +5 -2
  32. package/src/lib/condition-editor.js.map +1 -1
  33. package/src/lib/condition-editor.mjs +5 -2
  34. package/src/lib/condition-editor.mjs.map +1 -1
  35. package/src/lib/conditions.d.mts +6 -2
  36. package/src/lib/conditions.d.ts +6 -2
  37. package/src/lib/conditions.js +9 -3
  38. package/src/lib/conditions.js.map +1 -1
  39. package/src/lib/conditions.mjs +9 -3
  40. package/src/lib/conditions.mjs.map +1 -1
  41. package/src/lib/designer.d.mts +43 -2
  42. package/src/lib/designer.d.ts +43 -2
  43. package/src/lib/designer.js +111 -14
  44. package/src/lib/designer.js.map +1 -1
  45. package/src/lib/designer.mjs +113 -16
  46. package/src/lib/designer.mjs.map +1 -1
  47. package/src/lib/endings-commands.d.mts +27 -0
  48. package/src/lib/endings-commands.d.ts +27 -0
  49. package/src/lib/endings-commands.js +58 -0
  50. package/src/lib/endings-commands.js.map +1 -0
  51. package/src/lib/endings-commands.mjs +55 -0
  52. package/src/lib/endings-commands.mjs.map +1 -0
  53. package/src/lib/endings-editor.d.mts +14 -0
  54. package/src/lib/endings-editor.d.ts +14 -0
  55. package/src/lib/endings-editor.js +131 -0
  56. package/src/lib/endings-editor.js.map +1 -0
  57. package/src/lib/endings-editor.mjs +128 -0
  58. package/src/lib/endings-editor.mjs.map +1 -0
  59. package/src/lib/head-parts.js +1 -1
  60. package/src/lib/head-parts.js.map +1 -1
  61. package/src/lib/head-parts.mjs +2 -2
  62. package/src/lib/head-parts.mjs.map +1 -1
  63. package/src/lib/json-checks.d.mts +2 -1
  64. package/src/lib/json-checks.d.ts +2 -1
  65. package/src/lib/json-checks.js +3 -3
  66. package/src/lib/json-checks.js.map +1 -1
  67. package/src/lib/json-checks.mjs +3 -3
  68. package/src/lib/json-checks.mjs.map +1 -1
  69. package/src/lib/json-view.js +1 -1
  70. package/src/lib/json-view.js.map +1 -1
  71. package/src/lib/json-view.mjs +1 -1
  72. package/src/lib/json-view.mjs.map +1 -1
  73. package/src/lib/kind-commands.d.mts +4 -0
  74. package/src/lib/kind-commands.d.ts +4 -0
  75. package/src/lib/kind-commands.js +19 -0
  76. package/src/lib/kind-commands.js.map +1 -1
  77. package/src/lib/kind-commands.mjs +19 -0
  78. package/src/lib/kind-commands.mjs.map +1 -1
  79. package/src/lib/kind-settings-structures.js +50 -3
  80. package/src/lib/kind-settings-structures.js.map +1 -1
  81. package/src/lib/kind-settings-structures.mjs +50 -3
  82. package/src/lib/kind-settings-structures.mjs.map +1 -1
  83. package/src/lib/kind-settings.js +48 -0
  84. package/src/lib/kind-settings.js.map +1 -1
  85. package/src/lib/kind-settings.mjs +48 -0
  86. package/src/lib/kind-settings.mjs.map +1 -1
  87. package/src/lib/kinds.d.mts +3 -2
  88. package/src/lib/kinds.d.ts +3 -2
  89. package/src/lib/kinds.js +3 -1
  90. package/src/lib/kinds.js.map +1 -1
  91. package/src/lib/kinds.mjs +3 -1
  92. package/src/lib/kinds.mjs.map +1 -1
  93. package/src/lib/limits-settings.d.mts +14 -0
  94. package/src/lib/limits-settings.d.ts +14 -0
  95. package/src/lib/limits-settings.js +66 -0
  96. package/src/lib/limits-settings.js.map +1 -0
  97. package/src/lib/limits-settings.mjs +63 -0
  98. package/src/lib/limits-settings.mjs.map +1 -0
  99. package/src/lib/list-commands.d.mts +21 -3
  100. package/src/lib/list-commands.d.ts +21 -3
  101. package/src/lib/list-commands.js +61 -9
  102. package/src/lib/list-commands.js.map +1 -1
  103. package/src/lib/list-commands.mjs +60 -8
  104. package/src/lib/list-commands.mjs.map +1 -1
  105. package/src/lib/list-properties.js +51 -4
  106. package/src/lib/list-properties.js.map +1 -1
  107. package/src/lib/list-properties.mjs +53 -6
  108. package/src/lib/list-properties.mjs.map +1 -1
  109. package/src/lib/list-rows-settings.js +1 -1
  110. package/src/lib/list-rows-settings.js.map +1 -1
  111. package/src/lib/list-rows-settings.mjs +1 -1
  112. package/src/lib/list-rows-settings.mjs.map +1 -1
  113. package/src/lib/list-source.d.mts +2 -2
  114. package/src/lib/list-source.d.ts +2 -2
  115. package/src/lib/list-source.js +55 -9
  116. package/src/lib/list-source.js.map +1 -1
  117. package/src/lib/list-source.mjs +55 -9
  118. package/src/lib/list-source.mjs.map +1 -1
  119. package/src/lib/locales/ar/changes.js +2 -0
  120. package/src/lib/locales/ar/changes.js.map +1 -1
  121. package/src/lib/locales/ar/changes.mjs +2 -0
  122. package/src/lib/locales/ar/changes.mjs.map +1 -1
  123. package/src/lib/locales/ar/checks.js +1 -0
  124. package/src/lib/locales/ar/checks.js.map +1 -1
  125. package/src/lib/locales/ar/checks.mjs +1 -0
  126. package/src/lib/locales/ar/checks.mjs.map +1 -1
  127. package/src/lib/locales/ar/endings.d.mts +3 -0
  128. package/src/lib/locales/ar/endings.d.ts +3 -0
  129. package/src/lib/locales/ar/endings.js +40 -0
  130. package/src/lib/locales/ar/endings.js.map +1 -0
  131. package/src/lib/locales/ar/endings.mjs +37 -0
  132. package/src/lib/locales/ar/endings.mjs.map +1 -0
  133. package/src/lib/locales/ar/index.js +2 -1
  134. package/src/lib/locales/ar/index.js.map +1 -1
  135. package/src/lib/locales/ar/index.mjs +2 -1
  136. package/src/lib/locales/ar/index.mjs.map +1 -1
  137. package/src/lib/locales/ar/list.js +9 -1
  138. package/src/lib/locales/ar/list.js.map +1 -1
  139. package/src/lib/locales/ar/list.mjs +9 -1
  140. package/src/lib/locales/ar/list.mjs.map +1 -1
  141. package/src/lib/locales/ar/options.js +4 -0
  142. package/src/lib/locales/ar/options.js.map +1 -1
  143. package/src/lib/locales/ar/options.mjs +4 -0
  144. package/src/lib/locales/ar/options.mjs.map +1 -1
  145. package/src/lib/locales/ar/panel.js +20 -0
  146. package/src/lib/locales/ar/panel.js.map +1 -1
  147. package/src/lib/locales/ar/panel.mjs +20 -0
  148. package/src/lib/locales/ar/panel.mjs.map +1 -1
  149. package/src/lib/locales/ar/questions.js +24 -1
  150. package/src/lib/locales/ar/questions.js.map +1 -1
  151. package/src/lib/locales/ar/questions.mjs +24 -1
  152. package/src/lib/locales/ar/questions.mjs.map +1 -1
  153. package/src/lib/locales/ar/refusals.js +15 -2
  154. package/src/lib/locales/ar/refusals.js.map +1 -1
  155. package/src/lib/locales/ar/refusals.mjs +15 -2
  156. package/src/lib/locales/ar/refusals.mjs.map +1 -1
  157. package/src/lib/locales/ar/rules-ui.js +21 -1
  158. package/src/lib/locales/ar/rules-ui.js.map +1 -1
  159. package/src/lib/locales/ar/rules-ui.mjs +21 -1
  160. package/src/lib/locales/ar/rules-ui.mjs.map +1 -1
  161. package/src/lib/locales/ar/rules.js +4 -0
  162. package/src/lib/locales/ar/rules.js.map +1 -1
  163. package/src/lib/locales/ar/rules.mjs +4 -0
  164. package/src/lib/locales/ar/rules.mjs.map +1 -1
  165. package/src/lib/locales/en/changes.d.mts +2 -0
  166. package/src/lib/locales/en/changes.d.ts +2 -0
  167. package/src/lib/locales/en/changes.js +2 -0
  168. package/src/lib/locales/en/changes.js.map +1 -1
  169. package/src/lib/locales/en/changes.mjs +2 -0
  170. package/src/lib/locales/en/changes.mjs.map +1 -1
  171. package/src/lib/locales/en/checks.d.mts +2 -0
  172. package/src/lib/locales/en/checks.d.ts +2 -0
  173. package/src/lib/locales/en/checks.js +2 -0
  174. package/src/lib/locales/en/checks.js.map +1 -1
  175. package/src/lib/locales/en/checks.mjs +2 -0
  176. package/src/lib/locales/en/checks.mjs.map +1 -1
  177. package/src/lib/locales/en/endings.d.mts +38 -0
  178. package/src/lib/locales/en/endings.d.ts +38 -0
  179. package/src/lib/locales/en/endings.js +44 -0
  180. package/src/lib/locales/en/endings.js.map +1 -0
  181. package/src/lib/locales/en/endings.mjs +41 -0
  182. package/src/lib/locales/en/endings.mjs.map +1 -0
  183. package/src/lib/locales/en/index.d.mts +127 -1
  184. package/src/lib/locales/en/index.d.ts +127 -1
  185. package/src/lib/locales/en/index.js +2 -1
  186. package/src/lib/locales/en/index.js.map +1 -1
  187. package/src/lib/locales/en/index.mjs +2 -1
  188. package/src/lib/locales/en/index.mjs.map +1 -1
  189. package/src/lib/locales/en/list.d.mts +8 -0
  190. package/src/lib/locales/en/list.d.ts +8 -0
  191. package/src/lib/locales/en/list.js +9 -1
  192. package/src/lib/locales/en/list.js.map +1 -1
  193. package/src/lib/locales/en/list.mjs +9 -1
  194. package/src/lib/locales/en/list.mjs.map +1 -1
  195. package/src/lib/locales/en/options.d.mts +6 -0
  196. package/src/lib/locales/en/options.d.ts +6 -0
  197. package/src/lib/locales/en/options.js +6 -0
  198. package/src/lib/locales/en/options.js.map +1 -1
  199. package/src/lib/locales/en/options.mjs +6 -0
  200. package/src/lib/locales/en/options.mjs.map +1 -1
  201. package/src/lib/locales/en/panel.d.mts +13 -0
  202. package/src/lib/locales/en/panel.d.ts +13 -0
  203. package/src/lib/locales/en/panel.js +13 -0
  204. package/src/lib/locales/en/panel.js.map +1 -1
  205. package/src/lib/locales/en/panel.mjs +13 -0
  206. package/src/lib/locales/en/panel.mjs.map +1 -1
  207. package/src/lib/locales/en/questions.d.mts +25 -0
  208. package/src/lib/locales/en/questions.d.ts +25 -0
  209. package/src/lib/locales/en/questions.js +25 -1
  210. package/src/lib/locales/en/questions.js.map +1 -1
  211. package/src/lib/locales/en/questions.mjs +25 -1
  212. package/src/lib/locales/en/questions.mjs.map +1 -1
  213. package/src/lib/locales/en/refusals.d.mts +13 -0
  214. package/src/lib/locales/en/refusals.d.ts +13 -0
  215. package/src/lib/locales/en/refusals.js +15 -2
  216. package/src/lib/locales/en/refusals.js.map +1 -1
  217. package/src/lib/locales/en/refusals.mjs +15 -2
  218. package/src/lib/locales/en/refusals.mjs.map +1 -1
  219. package/src/lib/locales/en/rules-ui.d.mts +29 -1
  220. package/src/lib/locales/en/rules-ui.d.ts +29 -1
  221. package/src/lib/locales/en/rules-ui.js +23 -1
  222. package/src/lib/locales/en/rules-ui.js.map +1 -1
  223. package/src/lib/locales/en/rules-ui.mjs +23 -1
  224. package/src/lib/locales/en/rules-ui.mjs.map +1 -1
  225. package/src/lib/locales/en/rules.d.mts +3 -0
  226. package/src/lib/locales/en/rules.d.ts +3 -0
  227. package/src/lib/locales/en/rules.js +4 -0
  228. package/src/lib/locales/en/rules.js.map +1 -1
  229. package/src/lib/locales/en/rules.mjs +4 -0
  230. package/src/lib/locales/en/rules.mjs.map +1 -1
  231. package/src/lib/option-when.d.mts +32 -0
  232. package/src/lib/option-when.d.ts +32 -0
  233. package/src/lib/option-when.js +110 -0
  234. package/src/lib/option-when.js.map +1 -0
  235. package/src/lib/option-when.mjs +106 -0
  236. package/src/lib/option-when.mjs.map +1 -0
  237. package/src/lib/page-checks.d.mts +2 -1
  238. package/src/lib/page-checks.d.ts +2 -1
  239. package/src/lib/page-checks.js +14 -2
  240. package/src/lib/page-checks.js.map +1 -1
  241. package/src/lib/page-checks.mjs +15 -3
  242. package/src/lib/page-checks.mjs.map +1 -1
  243. package/src/lib/page-json.d.mts +5 -3
  244. package/src/lib/page-json.d.ts +5 -3
  245. package/src/lib/page-json.js +4 -4
  246. package/src/lib/page-json.js.map +1 -1
  247. package/src/lib/page-json.mjs +4 -4
  248. package/src/lib/page-json.mjs.map +1 -1
  249. package/src/lib/page-tree.js +3 -3
  250. package/src/lib/page-tree.js.map +1 -1
  251. package/src/lib/page-tree.mjs +4 -4
  252. package/src/lib/page-tree.mjs.map +1 -1
  253. package/src/lib/panel-block.js +3 -1
  254. package/src/lib/panel-block.js.map +1 -1
  255. package/src/lib/panel-block.mjs +3 -1
  256. package/src/lib/panel-block.mjs.map +1 -1
  257. package/src/lib/panel-field.js +4 -1
  258. package/src/lib/panel-field.js.map +1 -1
  259. package/src/lib/panel-field.mjs +4 -1
  260. package/src/lib/panel-field.mjs.map +1 -1
  261. package/src/lib/panel-page.js +16 -2
  262. package/src/lib/panel-page.js.map +1 -1
  263. package/src/lib/panel-page.mjs +16 -2
  264. package/src/lib/panel-page.mjs.map +1 -1
  265. package/src/lib/placeholder-when.js +2 -2
  266. package/src/lib/placeholder-when.js.map +1 -1
  267. package/src/lib/placeholder-when.mjs +2 -2
  268. package/src/lib/placeholder-when.mjs.map +1 -1
  269. package/src/lib/rules-answers.js +10 -4
  270. package/src/lib/rules-answers.js.map +1 -1
  271. package/src/lib/rules-answers.mjs +11 -5
  272. package/src/lib/rules-answers.mjs.map +1 -1
  273. package/src/lib/rules-checks.d.mts +2 -2
  274. package/src/lib/rules-checks.d.ts +2 -2
  275. package/src/lib/rules-checks.js +23 -3
  276. package/src/lib/rules-checks.js.map +1 -1
  277. package/src/lib/rules-checks.mjs +24 -4
  278. package/src/lib/rules-checks.mjs.map +1 -1
  279. package/src/lib/rules-commands.d.mts +5 -3
  280. package/src/lib/rules-commands.d.ts +5 -3
  281. package/src/lib/rules-commands.js +17 -17
  282. package/src/lib/rules-commands.js.map +1 -1
  283. package/src/lib/rules-commands.mjs +17 -17
  284. package/src/lib/rules-commands.mjs.map +1 -1
  285. package/src/lib/rules-defaults.js +3 -1
  286. package/src/lib/rules-defaults.js.map +1 -1
  287. package/src/lib/rules-defaults.mjs +3 -1
  288. package/src/lib/rules-defaults.mjs.map +1 -1
  289. package/src/lib/rules-formula-box.d.mts +4 -2
  290. package/src/lib/rules-formula-box.d.ts +4 -2
  291. package/src/lib/rules-formula-box.js +3 -1
  292. package/src/lib/rules-formula-box.js.map +1 -1
  293. package/src/lib/rules-formula-box.mjs +3 -1
  294. package/src/lib/rules-formula-box.mjs.map +1 -1
  295. package/src/lib/rules-formula.d.mts +13 -6
  296. package/src/lib/rules-formula.d.ts +13 -6
  297. package/src/lib/rules-formula.js +65 -24
  298. package/src/lib/rules-formula.js.map +1 -1
  299. package/src/lib/rules-formula.mjs +65 -25
  300. package/src/lib/rules-formula.mjs.map +1 -1
  301. package/src/lib/rules-sample.d.mts +4 -2
  302. package/src/lib/rules-sample.d.ts +4 -2
  303. package/src/lib/rules-sample.js +5 -4
  304. package/src/lib/rules-sample.js.map +1 -1
  305. package/src/lib/rules-sample.mjs +5 -4
  306. package/src/lib/rules-sample.mjs.map +1 -1
  307. package/src/lib/rules-worked-out.js +72 -17
  308. package/src/lib/rules-worked-out.js.map +1 -1
  309. package/src/lib/rules-worked-out.mjs +73 -18
  310. package/src/lib/rules-worked-out.mjs.map +1 -1
  311. package/src/lib/screen-canvas.js +3 -1
  312. package/src/lib/screen-canvas.js.map +1 -1
  313. package/src/lib/screen-canvas.mjs +3 -1
  314. package/src/lib/screen-canvas.mjs.map +1 -1
  315. package/src/lib/steps-commands.d.mts +5 -3
  316. package/src/lib/steps-commands.d.ts +5 -3
  317. package/src/lib/steps-commands.js +5 -5
  318. package/src/lib/steps-commands.js.map +1 -1
  319. package/src/lib/steps-commands.mjs +5 -5
  320. package/src/lib/steps-commands.mjs.map +1 -1
  321. package/src/lib/steps-editor.js +3 -2
  322. package/src/lib/steps-editor.js.map +1 -1
  323. package/src/lib/steps-editor.mjs +3 -2
  324. package/src/lib/steps-editor.mjs.map +1 -1
  325. package/src/lib/steps-map.d.mts +3 -1
  326. package/src/lib/steps-map.d.ts +3 -1
  327. package/src/lib/steps-map.js +1 -1
  328. package/src/lib/steps-map.js.map +1 -1
  329. package/src/lib/steps-map.mjs +1 -1
  330. package/src/lib/steps-map.mjs.map +1 -1
  331. package/src/lib/steps-settings.d.mts +3 -1
  332. package/src/lib/steps-settings.d.ts +3 -1
  333. package/src/lib/steps-settings.js +5 -2
  334. package/src/lib/steps-settings.js.map +1 -1
  335. package/src/lib/steps-settings.mjs +5 -2
  336. package/src/lib/steps-settings.mjs.map +1 -1
  337. package/src/lib/styles-endings.d.mts +6 -0
  338. package/src/lib/styles-endings.d.ts +6 -0
  339. package/src/lib/styles-endings.js +42 -0
  340. package/src/lib/styles-endings.js.map +1 -0
  341. package/src/lib/styles-endings.mjs +39 -0
  342. package/src/lib/styles-endings.mjs.map +1 -0
  343. package/src/lib/styles-kinds.d.mts +1 -1
  344. package/src/lib/styles-kinds.d.ts +1 -1
  345. package/src/lib/styles-kinds.js +1 -0
  346. package/src/lib/styles-kinds.js.map +1 -1
  347. package/src/lib/styles-kinds.mjs +1 -0
  348. package/src/lib/styles-kinds.mjs.map +1 -1
  349. package/src/lib/styles-rules.d.mts +1 -1
  350. package/src/lib/styles-rules.d.ts +1 -1
  351. package/src/lib/styles-rules.js +6 -1
  352. package/src/lib/styles-rules.js.map +1 -1
  353. package/src/lib/styles-rules.mjs +6 -1
  354. package/src/lib/styles-rules.mjs.map +1 -1
  355. package/src/lib/styles.d.mts +1 -1
  356. package/src/lib/styles.d.ts +1 -1
  357. package/src/lib/styles.js +18 -2
  358. package/src/lib/styles.js.map +1 -1
  359. package/src/lib/styles.mjs +18 -2
  360. package/src/lib/styles.mjs.map +1 -1
  361. package/src/lib/survey-editor.js +14 -4
  362. package/src/lib/survey-editor.js.map +1 -1
  363. package/src/lib/survey-editor.mjs +14 -4
  364. package/src/lib/survey-editor.mjs.map +1 -1
  365. package/src/lib/table-commands.d.mts +5 -3
  366. package/src/lib/table-commands.d.ts +5 -3
  367. package/src/lib/table-commands.js +4 -3
  368. package/src/lib/table-commands.js.map +1 -1
  369. package/src/lib/table-commands.mjs +4 -3
  370. package/src/lib/table-commands.mjs.map +1 -1
  371. package/src/lib/table-panel.js +3 -2
  372. package/src/lib/table-panel.js.map +1 -1
  373. package/src/lib/table-panel.mjs +3 -2
  374. package/src/lib/table-panel.mjs.map +1 -1
  375. package/src/lib/try-it.js +2 -0
  376. package/src/lib/try-it.js.map +1 -1
  377. package/src/lib/try-it.mjs +2 -0
  378. package/src/lib/try-it.mjs.map +1 -1
  379. package/src/lib/uncalled.d.mts +7 -0
  380. package/src/lib/uncalled.d.ts +7 -0
  381. package/src/lib/uncalled.js +21 -0
  382. package/src/lib/uncalled.js.map +1 -0
  383. package/src/lib/uncalled.mjs +18 -0
  384. package/src/lib/uncalled.mjs.map +1 -0
  385. package/src/lib/validate-edit.d.mts +3 -2
  386. package/src/lib/validate-edit.d.ts +3 -2
  387. package/src/lib/validate-edit.js +4 -3
  388. package/src/lib/validate-edit.js.map +1 -1
  389. package/src/lib/validate-edit.mjs +4 -3
  390. package/src/lib/validate-edit.mjs.map +1 -1
@@ -3,7 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.editChecker = editChecker;
4
4
  const core_1 = require("@fieldia/core");
5
5
  const keep_unchanged_1 = require("./keep-unchanged");
6
- function editChecker() {
6
+ /** `functions`: the app's own, which the page's formulas may call. */
7
+ function editChecker(functions) {
7
8
  /** Pages that passed: an edit of one of them may be checked by what it changed. */
8
9
  const passed = new WeakSet();
9
10
  const check = (before, draft) => {
@@ -12,11 +13,11 @@ function editChecker() {
12
13
  if (changed &&
13
14
  changed.fields.every((name) => core_1.FieldSchema.safeParse(next.fields[name]).success) &&
14
15
  changed.parts.every((key) => PARTS[key]?.safeParse(next[key]).success === true) &&
15
- (0, core_1.checkPage)(next).ok) {
16
+ (0, core_1.checkPage)(next, { functions }).ok) {
16
17
  passed.add(next);
17
18
  return { ok: true, page: next };
18
19
  }
19
- const whole = (0, core_1.validatePage)(draft);
20
+ const whole = (0, core_1.validatePage)(draft, { functions });
20
21
  if (!whole.ok)
21
22
  return whole;
22
23
  const page = (0, keep_unchanged_1.keepUnchanged)(before, whole.page);
@@ -1 +1 @@
1
- {"version":3,"file":"validate-edit.js","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/validate-edit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate-edit.js","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/validate-edit.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { checkPage, FieldSchema, PageSchema, validatePage } from '@fieldia/core';
2
2
  import { keepUnchanged } from './keep-unchanged.mjs';
3
- export function editChecker() {
3
+ /** `functions`: the app's own, which the page's formulas may call. */
4
+ export function editChecker(functions) {
4
5
  /** Pages that passed: an edit of one of them may be checked by what it changed. */
5
6
  const passed = new WeakSet();
6
7
  const check = (before, draft) => {
@@ -9,11 +10,11 @@ export function editChecker() {
9
10
  if (changed &&
10
11
  changed.fields.every((name) => FieldSchema.safeParse(next.fields[name]).success) &&
11
12
  changed.parts.every((key) => PARTS[key]?.safeParse(next[key]).success === true) &&
12
- checkPage(next).ok) {
13
+ checkPage(next, { functions }).ok) {
13
14
  passed.add(next);
14
15
  return { ok: true, page: next };
15
16
  }
16
- const whole = validatePage(draft);
17
+ const whole = validatePage(draft, { functions });
17
18
  if (!whole.ok)
18
19
  return whole;
19
20
  const page = keepUnchanged(before, whole.page);
@@ -1 +1 @@
1
- {"version":3,"file":"validate-edit.mjs","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/validate-edit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate-edit.mjs","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/validate-edit.ts"],"names":[],"mappings":"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"}