@fieldia/designer 0.0.0-stage → 0.12.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 (1407) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +354 -2
  3. package/angular/editors.d.mts +32 -0
  4. package/angular/editors.mjs +64 -0
  5. package/angular/editors.mjs.map +1 -0
  6. package/angular/index.d.mts +1 -0
  7. package/angular/index.mjs +2 -0
  8. package/angular/index.mjs.map +1 -0
  9. package/package.json +77 -3
  10. package/src/index.d.mts +4 -0
  11. package/src/index.d.ts +4 -0
  12. package/src/index.js +8 -0
  13. package/src/index.js.map +1 -0
  14. package/src/index.mjs +5 -0
  15. package/src/index.mjs.map +1 -0
  16. package/src/lib/app-kinds-ui.d.mts +25 -0
  17. package/src/lib/app-kinds-ui.d.ts +25 -0
  18. package/src/lib/app-kinds-ui.js +73 -0
  19. package/src/lib/app-kinds-ui.js.map +1 -0
  20. package/src/lib/app-kinds-ui.mjs +67 -0
  21. package/src/lib/app-kinds-ui.mjs.map +1 -0
  22. package/src/lib/app-kinds.d.mts +67 -0
  23. package/src/lib/app-kinds.d.ts +67 -0
  24. package/src/lib/app-kinds.js +39 -0
  25. package/src/lib/app-kinds.js.map +1 -0
  26. package/src/lib/app-kinds.mjs +34 -0
  27. package/src/lib/app-kinds.mjs.map +1 -0
  28. package/src/lib/assistant-box.d.mts +34 -0
  29. package/src/lib/assistant-box.d.ts +34 -0
  30. package/src/lib/assistant-box.js +109 -0
  31. package/src/lib/assistant-box.js.map +1 -0
  32. package/src/lib/assistant-box.mjs +106 -0
  33. package/src/lib/assistant-box.mjs.map +1 -0
  34. package/src/lib/assistant-dialog.d.mts +20 -0
  35. package/src/lib/assistant-dialog.d.ts +20 -0
  36. package/src/lib/assistant-dialog.js +63 -0
  37. package/src/lib/assistant-dialog.js.map +1 -0
  38. package/src/lib/assistant-dialog.mjs +60 -0
  39. package/src/lib/assistant-dialog.mjs.map +1 -0
  40. package/src/lib/assistant.d.mts +44 -0
  41. package/src/lib/assistant.d.ts +44 -0
  42. package/src/lib/assistant.js +58 -0
  43. package/src/lib/assistant.js.map +1 -0
  44. package/src/lib/assistant.mjs +54 -0
  45. package/src/lib/assistant.mjs.map +1 -0
  46. package/src/lib/branch-map.d.mts +26 -0
  47. package/src/lib/branch-map.d.ts +26 -0
  48. package/src/lib/branch-map.js +110 -0
  49. package/src/lib/branch-map.js.map +1 -0
  50. package/src/lib/branch-map.mjs +106 -0
  51. package/src/lib/branch-map.mjs.map +1 -0
  52. package/src/lib/canvas-advanced.d.mts +40 -0
  53. package/src/lib/canvas-advanced.d.ts +40 -0
  54. package/src/lib/canvas-advanced.js +247 -0
  55. package/src/lib/canvas-advanced.js.map +1 -0
  56. package/src/lib/canvas-advanced.mjs +242 -0
  57. package/src/lib/canvas-advanced.mjs.map +1 -0
  58. package/src/lib/canvas-blocks.d.mts +21 -0
  59. package/src/lib/canvas-blocks.d.ts +21 -0
  60. package/src/lib/canvas-blocks.js +92 -0
  61. package/src/lib/canvas-blocks.js.map +1 -0
  62. package/src/lib/canvas-blocks.mjs +89 -0
  63. package/src/lib/canvas-blocks.mjs.map +1 -0
  64. package/src/lib/canvas-drag.d.mts +64 -0
  65. package/src/lib/canvas-drag.d.ts +64 -0
  66. package/src/lib/canvas-drag.js +301 -0
  67. package/src/lib/canvas-drag.js.map +1 -0
  68. package/src/lib/canvas-drag.mjs +297 -0
  69. package/src/lib/canvas-drag.mjs.map +1 -0
  70. package/src/lib/canvas-drop.d.mts +51 -0
  71. package/src/lib/canvas-drop.d.ts +51 -0
  72. package/src/lib/canvas-drop.js +171 -0
  73. package/src/lib/canvas-drop.js.map +1 -0
  74. package/src/lib/canvas-drop.mjs +165 -0
  75. package/src/lib/canvas-drop.mjs.map +1 -0
  76. package/src/lib/canvas-fold.d.mts +14 -0
  77. package/src/lib/canvas-fold.d.ts +14 -0
  78. package/src/lib/canvas-fold.js +23 -0
  79. package/src/lib/canvas-fold.js.map +1 -0
  80. package/src/lib/canvas-fold.mjs +20 -0
  81. package/src/lib/canvas-fold.mjs.map +1 -0
  82. package/src/lib/canvas-form.d.mts +28 -0
  83. package/src/lib/canvas-form.d.ts +28 -0
  84. package/src/lib/canvas-form.js +134 -0
  85. package/src/lib/canvas-form.js.map +1 -0
  86. package/src/lib/canvas-form.mjs +131 -0
  87. package/src/lib/canvas-form.mjs.map +1 -0
  88. package/src/lib/canvas-guides.d.mts +24 -0
  89. package/src/lib/canvas-guides.d.ts +24 -0
  90. package/src/lib/canvas-guides.js +100 -0
  91. package/src/lib/canvas-guides.js.map +1 -0
  92. package/src/lib/canvas-guides.mjs +96 -0
  93. package/src/lib/canvas-guides.mjs.map +1 -0
  94. package/src/lib/canvas-header.d.mts +29 -0
  95. package/src/lib/canvas-header.d.ts +29 -0
  96. package/src/lib/canvas-header.js +245 -0
  97. package/src/lib/canvas-header.js.map +1 -0
  98. package/src/lib/canvas-header.mjs +242 -0
  99. package/src/lib/canvas-header.mjs.map +1 -0
  100. package/src/lib/canvas-icons.d.mts +6 -0
  101. package/src/lib/canvas-icons.d.ts +6 -0
  102. package/src/lib/canvas-icons.js +31 -0
  103. package/src/lib/canvas-icons.js.map +1 -0
  104. package/src/lib/canvas-icons.mjs +28 -0
  105. package/src/lib/canvas-icons.mjs.map +1 -0
  106. package/src/lib/canvas-keys.d.mts +46 -0
  107. package/src/lib/canvas-keys.d.ts +46 -0
  108. package/src/lib/canvas-keys.js +114 -0
  109. package/src/lib/canvas-keys.js.map +1 -0
  110. package/src/lib/canvas-keys.mjs +109 -0
  111. package/src/lib/canvas-keys.mjs.map +1 -0
  112. package/src/lib/canvas-mode.d.mts +21 -0
  113. package/src/lib/canvas-mode.d.ts +21 -0
  114. package/src/lib/canvas-mode.js +53 -0
  115. package/src/lib/canvas-mode.js.map +1 -0
  116. package/src/lib/canvas-mode.mjs +47 -0
  117. package/src/lib/canvas-mode.mjs.map +1 -0
  118. package/src/lib/canvas-multi.d.mts +20 -0
  119. package/src/lib/canvas-multi.d.ts +20 -0
  120. package/src/lib/canvas-multi.js +56 -0
  121. package/src/lib/canvas-multi.js.map +1 -0
  122. package/src/lib/canvas-multi.mjs +53 -0
  123. package/src/lib/canvas-multi.mjs.map +1 -0
  124. package/src/lib/canvas-resize.d.mts +72 -0
  125. package/src/lib/canvas-resize.d.ts +72 -0
  126. package/src/lib/canvas-resize.js +177 -0
  127. package/src/lib/canvas-resize.js.map +1 -0
  128. package/src/lib/canvas-resize.mjs +168 -0
  129. package/src/lib/canvas-resize.mjs.map +1 -0
  130. package/src/lib/canvas-size.d.mts +42 -0
  131. package/src/lib/canvas-size.d.ts +42 -0
  132. package/src/lib/canvas-size.js +108 -0
  133. package/src/lib/canvas-size.js.map +1 -0
  134. package/src/lib/canvas-size.mjs +98 -0
  135. package/src/lib/canvas-size.mjs.map +1 -0
  136. package/src/lib/canvas-width.d.mts +55 -0
  137. package/src/lib/canvas-width.d.ts +55 -0
  138. package/src/lib/canvas-width.js +345 -0
  139. package/src/lib/canvas-width.js.map +1 -0
  140. package/src/lib/canvas-width.mjs +339 -0
  141. package/src/lib/canvas-width.mjs.map +1 -0
  142. package/src/lib/choice-commands.d.mts +40 -0
  143. package/src/lib/choice-commands.d.ts +40 -0
  144. package/src/lib/choice-commands.js +149 -0
  145. package/src/lib/choice-commands.js.map +1 -0
  146. package/src/lib/choice-commands.mjs +145 -0
  147. package/src/lib/choice-commands.mjs.map +1 -0
  148. package/src/lib/chrome-language.d.mts +34 -0
  149. package/src/lib/chrome-language.d.ts +34 -0
  150. package/src/lib/chrome-language.js +74 -0
  151. package/src/lib/chrome-language.js.map +1 -0
  152. package/src/lib/chrome-language.mjs +66 -0
  153. package/src/lib/chrome-language.mjs.map +1 -0
  154. package/src/lib/chrome.d.mts +49 -0
  155. package/src/lib/chrome.d.ts +49 -0
  156. package/src/lib/chrome.js +411 -0
  157. package/src/lib/chrome.js.map +1 -0
  158. package/src/lib/chrome.mjs +404 -0
  159. package/src/lib/chrome.mjs.map +1 -0
  160. package/src/lib/clipboard-keys.d.mts +22 -0
  161. package/src/lib/clipboard-keys.d.ts +22 -0
  162. package/src/lib/clipboard-keys.js +81 -0
  163. package/src/lib/clipboard-keys.js.map +1 -0
  164. package/src/lib/clipboard-keys.mjs +77 -0
  165. package/src/lib/clipboard-keys.mjs.map +1 -0
  166. package/src/lib/clipboard-names.d.mts +12 -0
  167. package/src/lib/clipboard-names.d.ts +12 -0
  168. package/src/lib/clipboard-names.js +163 -0
  169. package/src/lib/clipboard-names.js.map +1 -0
  170. package/src/lib/clipboard-names.mjs +158 -0
  171. package/src/lib/clipboard-names.mjs.map +1 -0
  172. package/src/lib/clipboard-ops.d.mts +33 -0
  173. package/src/lib/clipboard-ops.d.ts +33 -0
  174. package/src/lib/clipboard-ops.js +143 -0
  175. package/src/lib/clipboard-ops.js.map +1 -0
  176. package/src/lib/clipboard-ops.mjs +137 -0
  177. package/src/lib/clipboard-ops.mjs.map +1 -0
  178. package/src/lib/columns-editor.d.mts +12 -0
  179. package/src/lib/columns-editor.d.ts +12 -0
  180. package/src/lib/columns-editor.js +65 -0
  181. package/src/lib/columns-editor.js.map +1 -0
  182. package/src/lib/columns-editor.mjs +62 -0
  183. package/src/lib/columns-editor.mjs.map +1 -0
  184. package/src/lib/condition-editor.d.mts +31 -0
  185. package/src/lib/condition-editor.d.ts +31 -0
  186. package/src/lib/condition-editor.js +138 -0
  187. package/src/lib/condition-editor.js.map +1 -0
  188. package/src/lib/condition-editor.mjs +134 -0
  189. package/src/lib/condition-editor.mjs.map +1 -0
  190. package/src/lib/conditions.d.mts +39 -0
  191. package/src/lib/conditions.d.ts +39 -0
  192. package/src/lib/conditions.js +100 -0
  193. package/src/lib/conditions.js.map +1 -0
  194. package/src/lib/conditions.mjs +92 -0
  195. package/src/lib/conditions.mjs.map +1 -0
  196. package/src/lib/designer-words.d.mts +29 -0
  197. package/src/lib/designer-words.d.ts +29 -0
  198. package/src/lib/designer-words.js +32 -0
  199. package/src/lib/designer-words.js.map +1 -0
  200. package/src/lib/designer-words.mjs +25 -0
  201. package/src/lib/designer-words.mjs.map +1 -0
  202. package/src/lib/designer.d.mts +475 -0
  203. package/src/lib/designer.d.ts +475 -0
  204. package/src/lib/designer.js +1289 -0
  205. package/src/lib/designer.js.map +1 -0
  206. package/src/lib/designer.mjs +1265 -0
  207. package/src/lib/designer.mjs.map +1 -0
  208. package/src/lib/drop-echo.d.mts +71 -0
  209. package/src/lib/drop-echo.d.ts +71 -0
  210. package/src/lib/drop-echo.js +202 -0
  211. package/src/lib/drop-echo.js.map +1 -0
  212. package/src/lib/drop-echo.mjs +195 -0
  213. package/src/lib/drop-echo.mjs.map +1 -0
  214. package/src/lib/field-bar.d.mts +23 -0
  215. package/src/lib/field-bar.d.ts +23 -0
  216. package/src/lib/field-bar.js +115 -0
  217. package/src/lib/field-bar.js.map +1 -0
  218. package/src/lib/field-bar.mjs +111 -0
  219. package/src/lib/field-bar.mjs.map +1 -0
  220. package/src/lib/find-anything.d.mts +37 -0
  221. package/src/lib/find-anything.d.ts +37 -0
  222. package/src/lib/find-anything.js +109 -0
  223. package/src/lib/find-anything.js.map +1 -0
  224. package/src/lib/find-anything.mjs +105 -0
  225. package/src/lib/find-anything.mjs.map +1 -0
  226. package/src/lib/group-fold.d.mts +11 -0
  227. package/src/lib/group-fold.d.ts +11 -0
  228. package/src/lib/group-fold.js +25 -0
  229. package/src/lib/group-fold.js.map +1 -0
  230. package/src/lib/group-fold.mjs +20 -0
  231. package/src/lib/group-fold.mjs.map +1 -0
  232. package/src/lib/header-commands.d.mts +105 -0
  233. package/src/lib/header-commands.d.ts +105 -0
  234. package/src/lib/header-commands.js +453 -0
  235. package/src/lib/header-commands.js.map +1 -0
  236. package/src/lib/header-commands.mjs +447 -0
  237. package/src/lib/header-commands.mjs.map +1 -0
  238. package/src/lib/header-properties.d.mts +5 -0
  239. package/src/lib/header-properties.d.ts +5 -0
  240. package/src/lib/header-properties.js +272 -0
  241. package/src/lib/header-properties.js.map +1 -0
  242. package/src/lib/header-properties.mjs +268 -0
  243. package/src/lib/header-properties.mjs.map +1 -0
  244. package/src/lib/hotkey-setting.d.mts +8 -0
  245. package/src/lib/hotkey-setting.d.ts +8 -0
  246. package/src/lib/hotkey-setting.js +25 -0
  247. package/src/lib/hotkey-setting.js.map +1 -0
  248. package/src/lib/hotkey-setting.mjs +20 -0
  249. package/src/lib/hotkey-setting.mjs.map +1 -0
  250. package/src/lib/icons.d.mts +4 -0
  251. package/src/lib/icons.d.ts +4 -0
  252. package/src/lib/icons.js +106 -0
  253. package/src/lib/icons.js.map +1 -0
  254. package/src/lib/icons.mjs +102 -0
  255. package/src/lib/icons.mjs.map +1 -0
  256. package/src/lib/inline-settings.d.mts +17 -0
  257. package/src/lib/inline-settings.d.ts +17 -0
  258. package/src/lib/inline-settings.js +241 -0
  259. package/src/lib/inline-settings.js.map +1 -0
  260. package/src/lib/inline-settings.mjs +238 -0
  261. package/src/lib/inline-settings.mjs.map +1 -0
  262. package/src/lib/input-changes.d.mts +18 -0
  263. package/src/lib/input-changes.d.ts +18 -0
  264. package/src/lib/input-changes.js +92 -0
  265. package/src/lib/input-changes.js.map +1 -0
  266. package/src/lib/input-changes.mjs +89 -0
  267. package/src/lib/input-changes.mjs.map +1 -0
  268. package/src/lib/input-commands.d.mts +48 -0
  269. package/src/lib/input-commands.d.ts +48 -0
  270. package/src/lib/input-commands.js +160 -0
  271. package/src/lib/input-commands.js.map +1 -0
  272. package/src/lib/input-commands.mjs +155 -0
  273. package/src/lib/input-commands.mjs.map +1 -0
  274. package/src/lib/json-checks.d.mts +26 -0
  275. package/src/lib/json-checks.d.ts +26 -0
  276. package/src/lib/json-checks.js +208 -0
  277. package/src/lib/json-checks.js.map +1 -0
  278. package/src/lib/json-checks.mjs +204 -0
  279. package/src/lib/json-checks.mjs.map +1 -0
  280. package/src/lib/json-code.d.mts +33 -0
  281. package/src/lib/json-code.d.ts +33 -0
  282. package/src/lib/json-code.js +124 -0
  283. package/src/lib/json-code.js.map +1 -0
  284. package/src/lib/json-code.mjs +120 -0
  285. package/src/lib/json-code.mjs.map +1 -0
  286. package/src/lib/json-text.d.mts +46 -0
  287. package/src/lib/json-text.d.ts +46 -0
  288. package/src/lib/json-text.js +260 -0
  289. package/src/lib/json-text.js.map +1 -0
  290. package/src/lib/json-text.mjs +253 -0
  291. package/src/lib/json-text.mjs.map +1 -0
  292. package/src/lib/json-view.d.mts +29 -0
  293. package/src/lib/json-view.d.ts +29 -0
  294. package/src/lib/json-view.js +235 -0
  295. package/src/lib/json-view.js.map +1 -0
  296. package/src/lib/json-view.mjs +232 -0
  297. package/src/lib/json-view.mjs.map +1 -0
  298. package/src/lib/keep-unchanged.d.mts +12 -0
  299. package/src/lib/keep-unchanged.d.ts +12 -0
  300. package/src/lib/keep-unchanged.js +68 -0
  301. package/src/lib/keep-unchanged.js.map +1 -0
  302. package/src/lib/keep-unchanged.mjs +65 -0
  303. package/src/lib/keep-unchanged.mjs.map +1 -0
  304. package/src/lib/kind-commands.d.mts +40 -0
  305. package/src/lib/kind-commands.d.ts +40 -0
  306. package/src/lib/kind-commands.js +149 -0
  307. package/src/lib/kind-commands.js.map +1 -0
  308. package/src/lib/kind-commands.mjs +145 -0
  309. package/src/lib/kind-commands.mjs.map +1 -0
  310. package/src/lib/kind-previews.d.mts +11 -0
  311. package/src/lib/kind-previews.d.ts +11 -0
  312. package/src/lib/kind-previews.js +45 -0
  313. package/src/lib/kind-previews.js.map +1 -0
  314. package/src/lib/kind-previews.mjs +42 -0
  315. package/src/lib/kind-previews.mjs.map +1 -0
  316. package/src/lib/kind-settings-choices.d.mts +17 -0
  317. package/src/lib/kind-settings-choices.d.ts +17 -0
  318. package/src/lib/kind-settings-choices.js +194 -0
  319. package/src/lib/kind-settings-choices.js.map +1 -0
  320. package/src/lib/kind-settings-choices.mjs +191 -0
  321. package/src/lib/kind-settings-choices.mjs.map +1 -0
  322. package/src/lib/kind-settings-inputs.d.mts +20 -0
  323. package/src/lib/kind-settings-inputs.d.ts +20 -0
  324. package/src/lib/kind-settings-inputs.js +349 -0
  325. package/src/lib/kind-settings-inputs.js.map +1 -0
  326. package/src/lib/kind-settings-inputs.mjs +346 -0
  327. package/src/lib/kind-settings-inputs.mjs.map +1 -0
  328. package/src/lib/kind-settings-structures.d.mts +20 -0
  329. package/src/lib/kind-settings-structures.d.ts +20 -0
  330. package/src/lib/kind-settings-structures.js +205 -0
  331. package/src/lib/kind-settings-structures.js.map +1 -0
  332. package/src/lib/kind-settings-structures.mjs +201 -0
  333. package/src/lib/kind-settings-structures.mjs.map +1 -0
  334. package/src/lib/kind-settings.d.mts +18 -0
  335. package/src/lib/kind-settings.d.ts +18 -0
  336. package/src/lib/kind-settings.js +325 -0
  337. package/src/lib/kind-settings.js.map +1 -0
  338. package/src/lib/kind-settings.mjs +322 -0
  339. package/src/lib/kind-settings.mjs.map +1 -0
  340. package/src/lib/kinds.d.mts +68 -0
  341. package/src/lib/kinds.d.ts +68 -0
  342. package/src/lib/kinds.js +276 -0
  343. package/src/lib/kinds.js.map +1 -0
  344. package/src/lib/kinds.mjs +263 -0
  345. package/src/lib/kinds.mjs.map +1 -0
  346. package/src/lib/language-names.d.mts +8 -0
  347. package/src/lib/language-names.d.ts +8 -0
  348. package/src/lib/language-names.js +72 -0
  349. package/src/lib/language-names.js.map +1 -0
  350. package/src/lib/language-names.mjs +68 -0
  351. package/src/lib/language-names.mjs.map +1 -0
  352. package/src/lib/layout-changes.d.mts +43 -0
  353. package/src/lib/layout-changes.d.ts +43 -0
  354. package/src/lib/layout-changes.js +296 -0
  355. package/src/lib/layout-changes.js.map +1 -0
  356. package/src/lib/layout-changes.mjs +290 -0
  357. package/src/lib/layout-changes.mjs.map +1 -0
  358. package/src/lib/layout-ops.d.mts +105 -0
  359. package/src/lib/layout-ops.d.ts +105 -0
  360. package/src/lib/layout-ops.js +558 -0
  361. package/src/lib/layout-ops.js.map +1 -0
  362. package/src/lib/layout-ops.mjs +537 -0
  363. package/src/lib/layout-ops.mjs.map +1 -0
  364. package/src/lib/layout-settings.d.mts +75 -0
  365. package/src/lib/layout-settings.d.ts +75 -0
  366. package/src/lib/layout-settings.js +291 -0
  367. package/src/lib/layout-settings.js.map +1 -0
  368. package/src/lib/layout-settings.mjs +279 -0
  369. package/src/lib/layout-settings.mjs.map +1 -0
  370. package/src/lib/layout-several.d.mts +15 -0
  371. package/src/lib/layout-several.d.ts +15 -0
  372. package/src/lib/layout-several.js +50 -0
  373. package/src/lib/layout-several.js.map +1 -0
  374. package/src/lib/layout-several.mjs +47 -0
  375. package/src/lib/layout-several.mjs.map +1 -0
  376. package/src/lib/layout-tree.d.mts +75 -0
  377. package/src/lib/layout-tree.d.ts +75 -0
  378. package/src/lib/layout-tree.js +186 -0
  379. package/src/lib/layout-tree.js.map +1 -0
  380. package/src/lib/layout-tree.mjs +163 -0
  381. package/src/lib/layout-tree.mjs.map +1 -0
  382. package/src/lib/layout-twelfths.d.mts +101 -0
  383. package/src/lib/layout-twelfths.d.ts +101 -0
  384. package/src/lib/layout-twelfths.js +233 -0
  385. package/src/lib/layout-twelfths.js.map +1 -0
  386. package/src/lib/layout-twelfths.mjs +210 -0
  387. package/src/lib/layout-twelfths.mjs.map +1 -0
  388. package/src/lib/list-canvas.d.mts +30 -0
  389. package/src/lib/list-canvas.d.ts +30 -0
  390. package/src/lib/list-canvas.js +224 -0
  391. package/src/lib/list-canvas.js.map +1 -0
  392. package/src/lib/list-canvas.mjs +221 -0
  393. package/src/lib/list-canvas.mjs.map +1 -0
  394. package/src/lib/list-commands.d.mts +57 -0
  395. package/src/lib/list-commands.d.ts +57 -0
  396. package/src/lib/list-commands.js +245 -0
  397. package/src/lib/list-commands.js.map +1 -0
  398. package/src/lib/list-commands.mjs +238 -0
  399. package/src/lib/list-commands.mjs.map +1 -0
  400. package/src/lib/list-properties.d.mts +6 -0
  401. package/src/lib/list-properties.d.ts +6 -0
  402. package/src/lib/list-properties.js +310 -0
  403. package/src/lib/list-properties.js.map +1 -0
  404. package/src/lib/list-properties.mjs +305 -0
  405. package/src/lib/list-properties.mjs.map +1 -0
  406. package/src/lib/list-source.d.mts +10 -0
  407. package/src/lib/list-source.d.ts +10 -0
  408. package/src/lib/list-source.js +81 -0
  409. package/src/lib/list-source.js.map +1 -0
  410. package/src/lib/list-source.mjs +78 -0
  411. package/src/lib/list-source.mjs.map +1 -0
  412. package/src/lib/locales/ar/bar.d.mts +2 -0
  413. package/src/lib/locales/ar/bar.d.ts +2 -0
  414. package/src/lib/locales/ar/bar.js +58 -0
  415. package/src/lib/locales/ar/bar.js.map +1 -0
  416. package/src/lib/locales/ar/bar.mjs +55 -0
  417. package/src/lib/locales/ar/bar.mjs.map +1 -0
  418. package/src/lib/locales/ar/canvas.d.mts +2 -0
  419. package/src/lib/locales/ar/canvas.d.ts +2 -0
  420. package/src/lib/locales/ar/canvas.js +121 -0
  421. package/src/lib/locales/ar/canvas.js.map +1 -0
  422. package/src/lib/locales/ar/canvas.mjs +118 -0
  423. package/src/lib/locales/ar/canvas.mjs.map +1 -0
  424. package/src/lib/locales/ar/changes.d.mts +3 -0
  425. package/src/lib/locales/ar/changes.d.ts +3 -0
  426. package/src/lib/locales/ar/changes.js +158 -0
  427. package/src/lib/locales/ar/changes.js.map +1 -0
  428. package/src/lib/locales/ar/changes.mjs +155 -0
  429. package/src/lib/locales/ar/changes.mjs.map +1 -0
  430. package/src/lib/locales/ar/checks.d.mts +2 -0
  431. package/src/lib/locales/ar/checks.d.ts +2 -0
  432. package/src/lib/locales/ar/checks.js +36 -0
  433. package/src/lib/locales/ar/checks.js.map +1 -0
  434. package/src/lib/locales/ar/checks.mjs +33 -0
  435. package/src/lib/locales/ar/checks.mjs.map +1 -0
  436. package/src/lib/locales/ar/defaults.d.mts +2 -0
  437. package/src/lib/locales/ar/defaults.d.ts +2 -0
  438. package/src/lib/locales/ar/defaults.js +40 -0
  439. package/src/lib/locales/ar/defaults.js.map +1 -0
  440. package/src/lib/locales/ar/defaults.mjs +37 -0
  441. package/src/lib/locales/ar/defaults.mjs.map +1 -0
  442. package/src/lib/locales/ar/index.d.mts +25 -0
  443. package/src/lib/locales/ar/index.d.ts +25 -0
  444. package/src/lib/locales/ar/index.js +57 -0
  445. package/src/lib/locales/ar/index.js.map +1 -0
  446. package/src/lib/locales/ar/index.mjs +54 -0
  447. package/src/lib/locales/ar/index.mjs.map +1 -0
  448. package/src/lib/locales/ar/json.d.mts +2 -0
  449. package/src/lib/locales/ar/json.d.ts +2 -0
  450. package/src/lib/locales/ar/json.js +50 -0
  451. package/src/lib/locales/ar/json.js.map +1 -0
  452. package/src/lib/locales/ar/json.mjs +47 -0
  453. package/src/lib/locales/ar/json.mjs.map +1 -0
  454. package/src/lib/locales/ar/kinds.d.mts +2 -0
  455. package/src/lib/locales/ar/kinds.d.ts +2 -0
  456. package/src/lib/locales/ar/kinds.js +89 -0
  457. package/src/lib/locales/ar/kinds.js.map +1 -0
  458. package/src/lib/locales/ar/kinds.mjs +86 -0
  459. package/src/lib/locales/ar/kinds.mjs.map +1 -0
  460. package/src/lib/locales/ar/languages.d.mts +2 -0
  461. package/src/lib/locales/ar/languages.d.ts +2 -0
  462. package/src/lib/locales/ar/languages.js +8 -0
  463. package/src/lib/locales/ar/languages.js.map +1 -0
  464. package/src/lib/locales/ar/languages.mjs +5 -0
  465. package/src/lib/locales/ar/languages.mjs.map +1 -0
  466. package/src/lib/locales/ar/layout.d.mts +2 -0
  467. package/src/lib/locales/ar/layout.d.ts +2 -0
  468. package/src/lib/locales/ar/layout.js +78 -0
  469. package/src/lib/locales/ar/layout.js.map +1 -0
  470. package/src/lib/locales/ar/layout.mjs +75 -0
  471. package/src/lib/locales/ar/layout.mjs.map +1 -0
  472. package/src/lib/locales/ar/list.d.mts +2 -0
  473. package/src/lib/locales/ar/list.d.ts +2 -0
  474. package/src/lib/locales/ar/list.js +65 -0
  475. package/src/lib/locales/ar/list.js.map +1 -0
  476. package/src/lib/locales/ar/list.mjs +62 -0
  477. package/src/lib/locales/ar/list.mjs.map +1 -0
  478. package/src/lib/locales/ar/looks.d.mts +2 -0
  479. package/src/lib/locales/ar/looks.d.ts +2 -0
  480. package/src/lib/locales/ar/looks.js +38 -0
  481. package/src/lib/locales/ar/looks.js.map +1 -0
  482. package/src/lib/locales/ar/looks.mjs +35 -0
  483. package/src/lib/locales/ar/looks.mjs.map +1 -0
  484. package/src/lib/locales/ar/options.d.mts +2 -0
  485. package/src/lib/locales/ar/options.d.ts +2 -0
  486. package/src/lib/locales/ar/options.js +18 -0
  487. package/src/lib/locales/ar/options.js.map +1 -0
  488. package/src/lib/locales/ar/options.mjs +15 -0
  489. package/src/lib/locales/ar/options.mjs.map +1 -0
  490. package/src/lib/locales/ar/outline.d.mts +3 -0
  491. package/src/lib/locales/ar/outline.d.ts +3 -0
  492. package/src/lib/locales/ar/outline.js +111 -0
  493. package/src/lib/locales/ar/outline.js.map +1 -0
  494. package/src/lib/locales/ar/outline.mjs +108 -0
  495. package/src/lib/locales/ar/outline.mjs.map +1 -0
  496. package/src/lib/locales/ar/panel.d.mts +2 -0
  497. package/src/lib/locales/ar/panel.d.ts +2 -0
  498. package/src/lib/locales/ar/panel.js +389 -0
  499. package/src/lib/locales/ar/panel.js.map +1 -0
  500. package/src/lib/locales/ar/panel.mjs +386 -0
  501. package/src/lib/locales/ar/panel.mjs.map +1 -0
  502. package/src/lib/locales/ar/part-looks.d.mts +2 -0
  503. package/src/lib/locales/ar/part-looks.d.ts +2 -0
  504. package/src/lib/locales/ar/part-looks.js +34 -0
  505. package/src/lib/locales/ar/part-looks.js.map +1 -0
  506. package/src/lib/locales/ar/part-looks.mjs +31 -0
  507. package/src/lib/locales/ar/part-looks.mjs.map +1 -0
  508. package/src/lib/locales/ar/parts.d.mts +2 -0
  509. package/src/lib/locales/ar/parts.d.ts +2 -0
  510. package/src/lib/locales/ar/parts.js +22 -0
  511. package/src/lib/locales/ar/parts.js.map +1 -0
  512. package/src/lib/locales/ar/parts.mjs +19 -0
  513. package/src/lib/locales/ar/parts.mjs.map +1 -0
  514. package/src/lib/locales/ar/questions.d.mts +2 -0
  515. package/src/lib/locales/ar/questions.d.ts +2 -0
  516. package/src/lib/locales/ar/questions.js +265 -0
  517. package/src/lib/locales/ar/questions.js.map +1 -0
  518. package/src/lib/locales/ar/questions.mjs +262 -0
  519. package/src/lib/locales/ar/questions.mjs.map +1 -0
  520. package/src/lib/locales/ar/refusals.d.mts +2 -0
  521. package/src/lib/locales/ar/refusals.d.ts +2 -0
  522. package/src/lib/locales/ar/refusals.js +167 -0
  523. package/src/lib/locales/ar/refusals.js.map +1 -0
  524. package/src/lib/locales/ar/refusals.mjs +164 -0
  525. package/src/lib/locales/ar/refusals.mjs.map +1 -0
  526. package/src/lib/locales/ar/rules-ui.d.mts +2 -0
  527. package/src/lib/locales/ar/rules-ui.d.ts +2 -0
  528. package/src/lib/locales/ar/rules-ui.js +158 -0
  529. package/src/lib/locales/ar/rules-ui.js.map +1 -0
  530. package/src/lib/locales/ar/rules-ui.mjs +155 -0
  531. package/src/lib/locales/ar/rules-ui.mjs.map +1 -0
  532. package/src/lib/locales/ar/rules.d.mts +2 -0
  533. package/src/lib/locales/ar/rules.d.ts +2 -0
  534. package/src/lib/locales/ar/rules.js +160 -0
  535. package/src/lib/locales/ar/rules.js.map +1 -0
  536. package/src/lib/locales/ar/rules.mjs +157 -0
  537. package/src/lib/locales/ar/rules.mjs.map +1 -0
  538. package/src/lib/locales/ar/saved-forms.d.mts +2 -0
  539. package/src/lib/locales/ar/saved-forms.d.ts +2 -0
  540. package/src/lib/locales/ar/saved-forms.js +48 -0
  541. package/src/lib/locales/ar/saved-forms.js.map +1 -0
  542. package/src/lib/locales/ar/saved-forms.mjs +45 -0
  543. package/src/lib/locales/ar/saved-forms.mjs.map +1 -0
  544. package/src/lib/locales/ar/settings-changes.d.mts +2 -0
  545. package/src/lib/locales/ar/settings-changes.d.ts +2 -0
  546. package/src/lib/locales/ar/settings-changes.js +79 -0
  547. package/src/lib/locales/ar/settings-changes.js.map +1 -0
  548. package/src/lib/locales/ar/settings-changes.mjs +76 -0
  549. package/src/lib/locales/ar/settings-changes.mjs.map +1 -0
  550. package/src/lib/locales/ar/shortcuts.d.mts +2 -0
  551. package/src/lib/locales/ar/shortcuts.d.ts +2 -0
  552. package/src/lib/locales/ar/shortcuts.js +36 -0
  553. package/src/lib/locales/ar/shortcuts.js.map +1 -0
  554. package/src/lib/locales/ar/shortcuts.mjs +33 -0
  555. package/src/lib/locales/ar/shortcuts.mjs.map +1 -0
  556. package/src/lib/locales/ar/steps.d.mts +2 -0
  557. package/src/lib/locales/ar/steps.d.ts +2 -0
  558. package/src/lib/locales/ar/steps.js +185 -0
  559. package/src/lib/locales/ar/steps.js.map +1 -0
  560. package/src/lib/locales/ar/steps.mjs +182 -0
  561. package/src/lib/locales/ar/steps.mjs.map +1 -0
  562. package/src/lib/locales/ar/tables.d.mts +2 -0
  563. package/src/lib/locales/ar/tables.d.ts +2 -0
  564. package/src/lib/locales/ar/tables.js +69 -0
  565. package/src/lib/locales/ar/tables.js.map +1 -0
  566. package/src/lib/locales/ar/tables.mjs +66 -0
  567. package/src/lib/locales/ar/tables.mjs.map +1 -0
  568. package/src/lib/locales/ar/templates.d.mts +3 -0
  569. package/src/lib/locales/ar/templates.d.ts +3 -0
  570. package/src/lib/locales/ar/templates.js +114 -0
  571. package/src/lib/locales/ar/templates.js.map +1 -0
  572. package/src/lib/locales/ar/templates.mjs +111 -0
  573. package/src/lib/locales/ar/templates.mjs.map +1 -0
  574. package/src/lib/locales/ar/toolbox.d.mts +2 -0
  575. package/src/lib/locales/ar/toolbox.d.ts +2 -0
  576. package/src/lib/locales/ar/toolbox.js +50 -0
  577. package/src/lib/locales/ar/toolbox.js.map +1 -0
  578. package/src/lib/locales/ar/toolbox.mjs +47 -0
  579. package/src/lib/locales/ar/toolbox.mjs.map +1 -0
  580. package/src/lib/locales/ar/translations.d.mts +2 -0
  581. package/src/lib/locales/ar/translations.d.ts +2 -0
  582. package/src/lib/locales/ar/translations.js +69 -0
  583. package/src/lib/locales/ar/translations.js.map +1 -0
  584. package/src/lib/locales/ar/translations.mjs +66 -0
  585. package/src/lib/locales/ar/translations.mjs.map +1 -0
  586. package/src/lib/locales/ar/try-it.d.mts +2 -0
  587. package/src/lib/locales/ar/try-it.d.ts +2 -0
  588. package/src/lib/locales/ar/try-it.js +29 -0
  589. package/src/lib/locales/ar/try-it.js.map +1 -0
  590. package/src/lib/locales/ar/try-it.mjs +26 -0
  591. package/src/lib/locales/ar/try-it.mjs.map +1 -0
  592. package/src/lib/locales/en/bar.d.mts +56 -0
  593. package/src/lib/locales/en/bar.d.ts +56 -0
  594. package/src/lib/locales/en/bar.js +66 -0
  595. package/src/lib/locales/en/bar.js.map +1 -0
  596. package/src/lib/locales/en/bar.mjs +63 -0
  597. package/src/lib/locales/en/bar.mjs.map +1 -0
  598. package/src/lib/locales/en/canvas.d.mts +119 -0
  599. package/src/lib/locales/en/canvas.d.ts +119 -0
  600. package/src/lib/locales/en/canvas.js +129 -0
  601. package/src/lib/locales/en/canvas.js.map +1 -0
  602. package/src/lib/locales/en/canvas.mjs +126 -0
  603. package/src/lib/locales/en/canvas.mjs.map +1 -0
  604. package/src/lib/locales/en/changes.d.mts +139 -0
  605. package/src/lib/locales/en/changes.d.ts +139 -0
  606. package/src/lib/locales/en/changes.js +162 -0
  607. package/src/lib/locales/en/changes.js.map +1 -0
  608. package/src/lib/locales/en/changes.mjs +159 -0
  609. package/src/lib/locales/en/changes.mjs.map +1 -0
  610. package/src/lib/locales/en/checks.d.mts +32 -0
  611. package/src/lib/locales/en/checks.d.ts +32 -0
  612. package/src/lib/locales/en/checks.js +38 -0
  613. package/src/lib/locales/en/checks.js.map +1 -0
  614. package/src/lib/locales/en/checks.mjs +35 -0
  615. package/src/lib/locales/en/checks.mjs.map +1 -0
  616. package/src/lib/locales/en/defaults.d.mts +45 -0
  617. package/src/lib/locales/en/defaults.d.ts +45 -0
  618. package/src/lib/locales/en/defaults.js +49 -0
  619. package/src/lib/locales/en/defaults.js.map +1 -0
  620. package/src/lib/locales/en/defaults.mjs +46 -0
  621. package/src/lib/locales/en/defaults.mjs.map +1 -0
  622. package/src/lib/locales/en/index.d.mts +2591 -0
  623. package/src/lib/locales/en/index.d.ts +2591 -0
  624. package/src/lib/locales/en/index.js +35 -0
  625. package/src/lib/locales/en/index.js.map +1 -0
  626. package/src/lib/locales/en/index.mjs +32 -0
  627. package/src/lib/locales/en/index.mjs.map +1 -0
  628. package/src/lib/locales/en/json.d.mts +51 -0
  629. package/src/lib/locales/en/json.d.ts +51 -0
  630. package/src/lib/locales/en/json.js +52 -0
  631. package/src/lib/locales/en/json.js.map +1 -0
  632. package/src/lib/locales/en/json.mjs +49 -0
  633. package/src/lib/locales/en/json.mjs.map +1 -0
  634. package/src/lib/locales/en/kinds.d.mts +89 -0
  635. package/src/lib/locales/en/kinds.d.ts +89 -0
  636. package/src/lib/locales/en/kinds.js +93 -0
  637. package/src/lib/locales/en/kinds.js.map +1 -0
  638. package/src/lib/locales/en/kinds.mjs +90 -0
  639. package/src/lib/locales/en/kinds.mjs.map +1 -0
  640. package/src/lib/locales/en/languages.d.mts +5 -0
  641. package/src/lib/locales/en/languages.d.ts +5 -0
  642. package/src/lib/locales/en/languages.js +10 -0
  643. package/src/lib/locales/en/languages.js.map +1 -0
  644. package/src/lib/locales/en/languages.mjs +7 -0
  645. package/src/lib/locales/en/languages.mjs.map +1 -0
  646. package/src/lib/locales/en/layout.d.mts +104 -0
  647. package/src/lib/locales/en/layout.d.ts +104 -0
  648. package/src/lib/locales/en/layout.js +87 -0
  649. package/src/lib/locales/en/layout.js.map +1 -0
  650. package/src/lib/locales/en/layout.mjs +84 -0
  651. package/src/lib/locales/en/layout.mjs.map +1 -0
  652. package/src/lib/locales/en/list.d.mts +63 -0
  653. package/src/lib/locales/en/list.d.ts +63 -0
  654. package/src/lib/locales/en/list.js +72 -0
  655. package/src/lib/locales/en/list.js.map +1 -0
  656. package/src/lib/locales/en/list.mjs +69 -0
  657. package/src/lib/locales/en/list.mjs.map +1 -0
  658. package/src/lib/locales/en/looks.d.mts +35 -0
  659. package/src/lib/locales/en/looks.d.ts +35 -0
  660. package/src/lib/locales/en/looks.js +39 -0
  661. package/src/lib/locales/en/looks.js.map +1 -0
  662. package/src/lib/locales/en/looks.mjs +36 -0
  663. package/src/lib/locales/en/looks.mjs.map +1 -0
  664. package/src/lib/locales/en/options.d.mts +15 -0
  665. package/src/lib/locales/en/options.d.ts +15 -0
  666. package/src/lib/locales/en/options.js +19 -0
  667. package/src/lib/locales/en/options.js.map +1 -0
  668. package/src/lib/locales/en/options.mjs +16 -0
  669. package/src/lib/locales/en/options.mjs.map +1 -0
  670. package/src/lib/locales/en/outline.d.mts +91 -0
  671. package/src/lib/locales/en/outline.d.ts +91 -0
  672. package/src/lib/locales/en/outline.js +120 -0
  673. package/src/lib/locales/en/outline.js.map +1 -0
  674. package/src/lib/locales/en/outline.mjs +117 -0
  675. package/src/lib/locales/en/outline.mjs.map +1 -0
  676. package/src/lib/locales/en/panel.d.mts +370 -0
  677. package/src/lib/locales/en/panel.d.ts +370 -0
  678. package/src/lib/locales/en/panel.js +322 -0
  679. package/src/lib/locales/en/panel.js.map +1 -0
  680. package/src/lib/locales/en/panel.mjs +319 -0
  681. package/src/lib/locales/en/panel.mjs.map +1 -0
  682. package/src/lib/locales/en/part-looks.d.mts +49 -0
  683. package/src/lib/locales/en/part-looks.d.ts +49 -0
  684. package/src/lib/locales/en/part-looks.js +42 -0
  685. package/src/lib/locales/en/part-looks.js.map +1 -0
  686. package/src/lib/locales/en/part-looks.mjs +39 -0
  687. package/src/lib/locales/en/part-looks.mjs.map +1 -0
  688. package/src/lib/locales/en/parts.d.mts +30 -0
  689. package/src/lib/locales/en/parts.d.ts +30 -0
  690. package/src/lib/locales/en/parts.js +27 -0
  691. package/src/lib/locales/en/parts.js.map +1 -0
  692. package/src/lib/locales/en/parts.mjs +24 -0
  693. package/src/lib/locales/en/parts.mjs.map +1 -0
  694. package/src/lib/locales/en/questions.d.mts +286 -0
  695. package/src/lib/locales/en/questions.d.ts +286 -0
  696. package/src/lib/locales/en/questions.js +273 -0
  697. package/src/lib/locales/en/questions.js.map +1 -0
  698. package/src/lib/locales/en/questions.mjs +270 -0
  699. package/src/lib/locales/en/questions.mjs.map +1 -0
  700. package/src/lib/locales/en/refusals.d.mts +168 -0
  701. package/src/lib/locales/en/refusals.d.ts +168 -0
  702. package/src/lib/locales/en/refusals.js +182 -0
  703. package/src/lib/locales/en/refusals.js.map +1 -0
  704. package/src/lib/locales/en/refusals.mjs +179 -0
  705. package/src/lib/locales/en/refusals.mjs.map +1 -0
  706. package/src/lib/locales/en/rules-ui.d.mts +184 -0
  707. package/src/lib/locales/en/rules-ui.d.ts +184 -0
  708. package/src/lib/locales/en/rules-ui.js +176 -0
  709. package/src/lib/locales/en/rules-ui.js.map +1 -0
  710. package/src/lib/locales/en/rules-ui.mjs +173 -0
  711. package/src/lib/locales/en/rules-ui.mjs.map +1 -0
  712. package/src/lib/locales/en/rules.d.mts +160 -0
  713. package/src/lib/locales/en/rules.d.ts +160 -0
  714. package/src/lib/locales/en/rules.js +165 -0
  715. package/src/lib/locales/en/rules.js.map +1 -0
  716. package/src/lib/locales/en/rules.mjs +162 -0
  717. package/src/lib/locales/en/rules.mjs.map +1 -0
  718. package/src/lib/locales/en/saved-forms.d.mts +44 -0
  719. package/src/lib/locales/en/saved-forms.d.ts +44 -0
  720. package/src/lib/locales/en/saved-forms.js +53 -0
  721. package/src/lib/locales/en/saved-forms.js.map +1 -0
  722. package/src/lib/locales/en/saved-forms.mjs +50 -0
  723. package/src/lib/locales/en/saved-forms.mjs.map +1 -0
  724. package/src/lib/locales/en/settings-changes.d.mts +88 -0
  725. package/src/lib/locales/en/settings-changes.d.ts +88 -0
  726. package/src/lib/locales/en/settings-changes.js +85 -0
  727. package/src/lib/locales/en/settings-changes.js.map +1 -0
  728. package/src/lib/locales/en/settings-changes.mjs +82 -0
  729. package/src/lib/locales/en/settings-changes.mjs.map +1 -0
  730. package/src/lib/locales/en/shortcuts.d.mts +25 -0
  731. package/src/lib/locales/en/shortcuts.d.ts +25 -0
  732. package/src/lib/locales/en/shortcuts.js +38 -0
  733. package/src/lib/locales/en/shortcuts.js.map +1 -0
  734. package/src/lib/locales/en/shortcuts.mjs +35 -0
  735. package/src/lib/locales/en/shortcuts.mjs.map +1 -0
  736. package/src/lib/locales/en/steps.d.mts +222 -0
  737. package/src/lib/locales/en/steps.d.ts +222 -0
  738. package/src/lib/locales/en/steps.js +203 -0
  739. package/src/lib/locales/en/steps.js.map +1 -0
  740. package/src/lib/locales/en/steps.mjs +200 -0
  741. package/src/lib/locales/en/steps.mjs.map +1 -0
  742. package/src/lib/locales/en/tables.d.mts +73 -0
  743. package/src/lib/locales/en/tables.d.ts +73 -0
  744. package/src/lib/locales/en/tables.js +85 -0
  745. package/src/lib/locales/en/tables.js.map +1 -0
  746. package/src/lib/locales/en/tables.mjs +82 -0
  747. package/src/lib/locales/en/tables.mjs.map +1 -0
  748. package/src/lib/locales/en/templates.d.mts +114 -0
  749. package/src/lib/locales/en/templates.d.ts +114 -0
  750. package/src/lib/locales/en/templates.js +122 -0
  751. package/src/lib/locales/en/templates.js.map +1 -0
  752. package/src/lib/locales/en/templates.mjs +119 -0
  753. package/src/lib/locales/en/templates.mjs.map +1 -0
  754. package/src/lib/locales/en/toolbox.d.mts +37 -0
  755. package/src/lib/locales/en/toolbox.d.ts +37 -0
  756. package/src/lib/locales/en/toolbox.js +53 -0
  757. package/src/lib/locales/en/toolbox.js.map +1 -0
  758. package/src/lib/locales/en/toolbox.mjs +50 -0
  759. package/src/lib/locales/en/toolbox.mjs.map +1 -0
  760. package/src/lib/locales/en/translations.d.mts +58 -0
  761. package/src/lib/locales/en/translations.d.ts +58 -0
  762. package/src/lib/locales/en/translations.js +68 -0
  763. package/src/lib/locales/en/translations.js.map +1 -0
  764. package/src/lib/locales/en/translations.mjs +65 -0
  765. package/src/lib/locales/en/translations.mjs.map +1 -0
  766. package/src/lib/locales/en/try-it.d.mts +30 -0
  767. package/src/lib/locales/en/try-it.d.ts +30 -0
  768. package/src/lib/locales/en/try-it.js +32 -0
  769. package/src/lib/locales/en/try-it.js.map +1 -0
  770. package/src/lib/locales/en/try-it.mjs +29 -0
  771. package/src/lib/locales/en/try-it.mjs.map +1 -0
  772. package/src/lib/locales/speak.d.mts +23 -0
  773. package/src/lib/locales/speak.d.ts +23 -0
  774. package/src/lib/locales/speak.js +38 -0
  775. package/src/lib/locales/speak.js.map +1 -0
  776. package/src/lib/locales/speak.mjs +30 -0
  777. package/src/lib/locales/speak.mjs.map +1 -0
  778. package/src/lib/look-hub.d.mts +31 -0
  779. package/src/lib/look-hub.d.ts +31 -0
  780. package/src/lib/look-hub.js +78 -0
  781. package/src/lib/look-hub.js.map +1 -0
  782. package/src/lib/look-hub.mjs +73 -0
  783. package/src/lib/look-hub.mjs.map +1 -0
  784. package/src/lib/look-parts-words.d.mts +15 -0
  785. package/src/lib/look-parts-words.d.ts +15 -0
  786. package/src/lib/look-parts-words.js +19 -0
  787. package/src/lib/look-parts-words.js.map +1 -0
  788. package/src/lib/look-parts-words.mjs +15 -0
  789. package/src/lib/look-parts-words.mjs.map +1 -0
  790. package/src/lib/look-presets.d.mts +38 -0
  791. package/src/lib/look-presets.d.ts +38 -0
  792. package/src/lib/look-presets.js +61 -0
  793. package/src/lib/look-presets.js.map +1 -0
  794. package/src/lib/look-presets.mjs +53 -0
  795. package/src/lib/look-presets.mjs.map +1 -0
  796. package/src/lib/look-row.d.mts +22 -0
  797. package/src/lib/look-row.d.ts +22 -0
  798. package/src/lib/look-row.js +282 -0
  799. package/src/lib/look-row.js.map +1 -0
  800. package/src/lib/look-row.mjs +277 -0
  801. package/src/lib/look-row.mjs.map +1 -0
  802. package/src/lib/look-store.d.mts +16 -0
  803. package/src/lib/look-store.d.ts +16 -0
  804. package/src/lib/look-store.js +151 -0
  805. package/src/lib/look-store.js.map +1 -0
  806. package/src/lib/look-store.mjs +145 -0
  807. package/src/lib/look-store.mjs.map +1 -0
  808. package/src/lib/menu.d.mts +37 -0
  809. package/src/lib/menu.d.ts +37 -0
  810. package/src/lib/menu.js +96 -0
  811. package/src/lib/menu.js.map +1 -0
  812. package/src/lib/menu.mjs +93 -0
  813. package/src/lib/menu.mjs.map +1 -0
  814. package/src/lib/outline-drag.d.mts +30 -0
  815. package/src/lib/outline-drag.d.ts +30 -0
  816. package/src/lib/outline-drag.js +223 -0
  817. package/src/lib/outline-drag.js.map +1 -0
  818. package/src/lib/outline-drag.mjs +220 -0
  819. package/src/lib/outline-drag.mjs.map +1 -0
  820. package/src/lib/outline-drop.d.mts +27 -0
  821. package/src/lib/outline-drop.d.ts +27 -0
  822. package/src/lib/outline-drop.js +53 -0
  823. package/src/lib/outline-drop.js.map +1 -0
  824. package/src/lib/outline-drop.mjs +50 -0
  825. package/src/lib/outline-drop.mjs.map +1 -0
  826. package/src/lib/outline-key-moves.d.mts +26 -0
  827. package/src/lib/outline-key-moves.d.ts +26 -0
  828. package/src/lib/outline-key-moves.js +70 -0
  829. package/src/lib/outline-key-moves.js.map +1 -0
  830. package/src/lib/outline-key-moves.mjs +67 -0
  831. package/src/lib/outline-key-moves.mjs.map +1 -0
  832. package/src/lib/outline-keys.d.mts +49 -0
  833. package/src/lib/outline-keys.d.ts +49 -0
  834. package/src/lib/outline-keys.js +68 -0
  835. package/src/lib/outline-keys.js.map +1 -0
  836. package/src/lib/outline-keys.mjs +63 -0
  837. package/src/lib/outline-keys.mjs.map +1 -0
  838. package/src/lib/outline-moves.d.mts +27 -0
  839. package/src/lib/outline-moves.d.ts +27 -0
  840. package/src/lib/outline-moves.js +159 -0
  841. package/src/lib/outline-moves.js.map +1 -0
  842. package/src/lib/outline-moves.mjs +151 -0
  843. package/src/lib/outline-moves.mjs.map +1 -0
  844. package/src/lib/outline-picks.d.mts +9 -0
  845. package/src/lib/outline-picks.d.ts +9 -0
  846. package/src/lib/outline-picks.js +21 -0
  847. package/src/lib/outline-picks.js.map +1 -0
  848. package/src/lib/outline-picks.mjs +18 -0
  849. package/src/lib/outline-picks.mjs.map +1 -0
  850. package/src/lib/outline-rows.d.mts +41 -0
  851. package/src/lib/outline-rows.d.ts +41 -0
  852. package/src/lib/outline-rows.js +120 -0
  853. package/src/lib/outline-rows.js.map +1 -0
  854. package/src/lib/outline-rows.mjs +115 -0
  855. package/src/lib/outline-rows.mjs.map +1 -0
  856. package/src/lib/outline-view.d.mts +35 -0
  857. package/src/lib/outline-view.d.ts +35 -0
  858. package/src/lib/outline-view.js +317 -0
  859. package/src/lib/outline-view.js.map +1 -0
  860. package/src/lib/outline-view.mjs +314 -0
  861. package/src/lib/outline-view.mjs.map +1 -0
  862. package/src/lib/page-checks.d.mts +58 -0
  863. package/src/lib/page-checks.d.ts +58 -0
  864. package/src/lib/page-checks.js +422 -0
  865. package/src/lib/page-checks.js.map +1 -0
  866. package/src/lib/page-checks.mjs +417 -0
  867. package/src/lib/page-checks.mjs.map +1 -0
  868. package/src/lib/page-json.d.mts +42 -0
  869. package/src/lib/page-json.d.ts +42 -0
  870. package/src/lib/page-json.js +46 -0
  871. package/src/lib/page-json.js.map +1 -0
  872. package/src/lib/page-json.mjs +41 -0
  873. package/src/lib/page-json.mjs.map +1 -0
  874. package/src/lib/page-tree.d.mts +47 -0
  875. package/src/lib/page-tree.d.ts +47 -0
  876. package/src/lib/page-tree.js +189 -0
  877. package/src/lib/page-tree.js.map +1 -0
  878. package/src/lib/page-tree.mjs +173 -0
  879. package/src/lib/page-tree.mjs.map +1 -0
  880. package/src/lib/panel-block.d.mts +15 -0
  881. package/src/lib/panel-block.d.ts +15 -0
  882. package/src/lib/panel-block.js +133 -0
  883. package/src/lib/panel-block.js.map +1 -0
  884. package/src/lib/panel-block.mjs +130 -0
  885. package/src/lib/panel-block.mjs.map +1 -0
  886. package/src/lib/panel-controls.d.mts +39 -0
  887. package/src/lib/panel-controls.d.ts +39 -0
  888. package/src/lib/panel-controls.js +69 -0
  889. package/src/lib/panel-controls.js.map +1 -0
  890. package/src/lib/panel-controls.mjs +63 -0
  891. package/src/lib/panel-controls.mjs.map +1 -0
  892. package/src/lib/panel-field.d.mts +5 -0
  893. package/src/lib/panel-field.d.ts +5 -0
  894. package/src/lib/panel-field.js +190 -0
  895. package/src/lib/panel-field.js.map +1 -0
  896. package/src/lib/panel-field.mjs +187 -0
  897. package/src/lib/panel-field.mjs.map +1 -0
  898. package/src/lib/panel-fold.d.mts +12 -0
  899. package/src/lib/panel-fold.d.ts +12 -0
  900. package/src/lib/panel-fold.js +34 -0
  901. package/src/lib/panel-fold.js.map +1 -0
  902. package/src/lib/panel-fold.mjs +31 -0
  903. package/src/lib/panel-fold.mjs.map +1 -0
  904. package/src/lib/panel-form.d.mts +4 -0
  905. package/src/lib/panel-form.d.ts +4 -0
  906. package/src/lib/panel-form.js +107 -0
  907. package/src/lib/panel-form.js.map +1 -0
  908. package/src/lib/panel-form.mjs +104 -0
  909. package/src/lib/panel-form.mjs.map +1 -0
  910. package/src/lib/panel-group.d.mts +12 -0
  911. package/src/lib/panel-group.d.ts +12 -0
  912. package/src/lib/panel-group.js +81 -0
  913. package/src/lib/panel-group.js.map +1 -0
  914. package/src/lib/panel-group.mjs +77 -0
  915. package/src/lib/panel-group.mjs.map +1 -0
  916. package/src/lib/panel-inspector.d.mts +54 -0
  917. package/src/lib/panel-inspector.d.ts +54 -0
  918. package/src/lib/panel-inspector.js +131 -0
  919. package/src/lib/panel-inspector.js.map +1 -0
  920. package/src/lib/panel-inspector.mjs +127 -0
  921. package/src/lib/panel-inspector.mjs.map +1 -0
  922. package/src/lib/panel-layout.d.mts +26 -0
  923. package/src/lib/panel-layout.d.ts +26 -0
  924. package/src/lib/panel-layout.js +250 -0
  925. package/src/lib/panel-layout.js.map +1 -0
  926. package/src/lib/panel-layout.mjs +242 -0
  927. package/src/lib/panel-layout.mjs.map +1 -0
  928. package/src/lib/panel-look-parts.d.mts +16 -0
  929. package/src/lib/panel-look-parts.d.ts +16 -0
  930. package/src/lib/panel-look-parts.js +86 -0
  931. package/src/lib/panel-look-parts.js.map +1 -0
  932. package/src/lib/panel-look-parts.mjs +83 -0
  933. package/src/lib/panel-look-parts.mjs.map +1 -0
  934. package/src/lib/panel-look-sheet.d.mts +20 -0
  935. package/src/lib/panel-look-sheet.d.ts +20 -0
  936. package/src/lib/panel-look-sheet.js +60 -0
  937. package/src/lib/panel-look-sheet.js.map +1 -0
  938. package/src/lib/panel-look-sheet.mjs +57 -0
  939. package/src/lib/panel-look-sheet.mjs.map +1 -0
  940. package/src/lib/panel-look.d.mts +26 -0
  941. package/src/lib/panel-look.d.ts +26 -0
  942. package/src/lib/panel-look.js +179 -0
  943. package/src/lib/panel-look.js.map +1 -0
  944. package/src/lib/panel-look.mjs +173 -0
  945. package/src/lib/panel-look.mjs.map +1 -0
  946. package/src/lib/panel-page.d.mts +11 -0
  947. package/src/lib/panel-page.d.ts +11 -0
  948. package/src/lib/panel-page.js +86 -0
  949. package/src/lib/panel-page.js.map +1 -0
  950. package/src/lib/panel-page.mjs +83 -0
  951. package/src/lib/panel-page.mjs.map +1 -0
  952. package/src/lib/panel-parts.d.mts +14 -0
  953. package/src/lib/panel-parts.d.ts +14 -0
  954. package/src/lib/panel-parts.js +113 -0
  955. package/src/lib/panel-parts.js.map +1 -0
  956. package/src/lib/panel-parts.mjs +109 -0
  957. package/src/lib/panel-parts.mjs.map +1 -0
  958. package/src/lib/panel-screen.d.mts +34 -0
  959. package/src/lib/panel-screen.d.ts +34 -0
  960. package/src/lib/panel-screen.js +195 -0
  961. package/src/lib/panel-screen.js.map +1 -0
  962. package/src/lib/panel-screen.mjs +191 -0
  963. package/src/lib/panel-screen.mjs.map +1 -0
  964. package/src/lib/panel-search.d.mts +24 -0
  965. package/src/lib/panel-search.d.ts +24 -0
  966. package/src/lib/panel-search.js +128 -0
  967. package/src/lib/panel-search.js.map +1 -0
  968. package/src/lib/panel-search.mjs +124 -0
  969. package/src/lib/panel-search.mjs.map +1 -0
  970. package/src/lib/panel-several-required.d.mts +7 -0
  971. package/src/lib/panel-several-required.d.ts +7 -0
  972. package/src/lib/panel-several-required.js +33 -0
  973. package/src/lib/panel-several-required.js.map +1 -0
  974. package/src/lib/panel-several-required.mjs +30 -0
  975. package/src/lib/panel-several-required.mjs.map +1 -0
  976. package/src/lib/panel-tabs.d.mts +41 -0
  977. package/src/lib/panel-tabs.d.ts +41 -0
  978. package/src/lib/panel-tabs.js +128 -0
  979. package/src/lib/panel-tabs.js.map +1 -0
  980. package/src/lib/panel-tabs.mjs +122 -0
  981. package/src/lib/panel-tabs.mjs.map +1 -0
  982. package/src/lib/picture-upload.d.mts +9 -0
  983. package/src/lib/picture-upload.d.ts +9 -0
  984. package/src/lib/picture-upload.js +38 -0
  985. package/src/lib/picture-upload.js.map +1 -0
  986. package/src/lib/picture-upload.mjs +34 -0
  987. package/src/lib/picture-upload.mjs.map +1 -0
  988. package/src/lib/placeholder-when.d.mts +13 -0
  989. package/src/lib/placeholder-when.d.ts +13 -0
  990. package/src/lib/placeholder-when.js +83 -0
  991. package/src/lib/placeholder-when.js.map +1 -0
  992. package/src/lib/placeholder-when.mjs +80 -0
  993. package/src/lib/placeholder-when.mjs.map +1 -0
  994. package/src/lib/publish-ui.d.mts +22 -0
  995. package/src/lib/publish-ui.d.ts +22 -0
  996. package/src/lib/publish-ui.js +199 -0
  997. package/src/lib/publish-ui.js.map +1 -0
  998. package/src/lib/publish-ui.mjs +193 -0
  999. package/src/lib/publish-ui.mjs.map +1 -0
  1000. package/src/lib/rail.d.mts +31 -0
  1001. package/src/lib/rail.d.ts +31 -0
  1002. package/src/lib/rail.js +91 -0
  1003. package/src/lib/rail.js.map +1 -0
  1004. package/src/lib/rail.mjs +88 -0
  1005. package/src/lib/rail.mjs.map +1 -0
  1006. package/src/lib/refusal.d.mts +13 -0
  1007. package/src/lib/refusal.d.ts +13 -0
  1008. package/src/lib/refusal.js +21 -0
  1009. package/src/lib/refusal.js.map +1 -0
  1010. package/src/lib/refusal.mjs +17 -0
  1011. package/src/lib/refusal.mjs.map +1 -0
  1012. package/src/lib/roles-setting.d.mts +18 -0
  1013. package/src/lib/roles-setting.d.ts +18 -0
  1014. package/src/lib/roles-setting.js +48 -0
  1015. package/src/lib/roles-setting.js.map +1 -0
  1016. package/src/lib/roles-setting.mjs +43 -0
  1017. package/src/lib/roles-setting.mjs.map +1 -0
  1018. package/src/lib/rules-answers.d.mts +25 -0
  1019. package/src/lib/rules-answers.d.ts +25 -0
  1020. package/src/lib/rules-answers.js +354 -0
  1021. package/src/lib/rules-answers.js.map +1 -0
  1022. package/src/lib/rules-answers.mjs +351 -0
  1023. package/src/lib/rules-answers.mjs.map +1 -0
  1024. package/src/lib/rules-card.d.mts +22 -0
  1025. package/src/lib/rules-card.d.ts +22 -0
  1026. package/src/lib/rules-card.js +51 -0
  1027. package/src/lib/rules-card.js.map +1 -0
  1028. package/src/lib/rules-card.mjs +48 -0
  1029. package/src/lib/rules-card.mjs.map +1 -0
  1030. package/src/lib/rules-changes.d.mts +3 -0
  1031. package/src/lib/rules-changes.d.ts +3 -0
  1032. package/src/lib/rules-changes.js +64 -0
  1033. package/src/lib/rules-changes.js.map +1 -0
  1034. package/src/lib/rules-changes.mjs +61 -0
  1035. package/src/lib/rules-changes.mjs.map +1 -0
  1036. package/src/lib/rules-checks.d.mts +42 -0
  1037. package/src/lib/rules-checks.d.ts +42 -0
  1038. package/src/lib/rules-checks.js +177 -0
  1039. package/src/lib/rules-checks.js.map +1 -0
  1040. package/src/lib/rules-checks.mjs +173 -0
  1041. package/src/lib/rules-checks.mjs.map +1 -0
  1042. package/src/lib/rules-commands.d.mts +42 -0
  1043. package/src/lib/rules-commands.d.ts +42 -0
  1044. package/src/lib/rules-commands.js +262 -0
  1045. package/src/lib/rules-commands.js.map +1 -0
  1046. package/src/lib/rules-commands.mjs +257 -0
  1047. package/src/lib/rules-commands.mjs.map +1 -0
  1048. package/src/lib/rules-defaults.d.mts +8 -0
  1049. package/src/lib/rules-defaults.d.ts +8 -0
  1050. package/src/lib/rules-defaults.js +77 -0
  1051. package/src/lib/rules-defaults.js.map +1 -0
  1052. package/src/lib/rules-defaults.mjs +74 -0
  1053. package/src/lib/rules-defaults.mjs.map +1 -0
  1054. package/src/lib/rules-formula-box.d.mts +46 -0
  1055. package/src/lib/rules-formula-box.d.ts +46 -0
  1056. package/src/lib/rules-formula-box.js +191 -0
  1057. package/src/lib/rules-formula-box.js.map +1 -0
  1058. package/src/lib/rules-formula-box.mjs +188 -0
  1059. package/src/lib/rules-formula-box.mjs.map +1 -0
  1060. package/src/lib/rules-formula.d.mts +75 -0
  1061. package/src/lib/rules-formula.d.ts +75 -0
  1062. package/src/lib/rules-formula.js +369 -0
  1063. package/src/lib/rules-formula.js.map +1 -0
  1064. package/src/lib/rules-formula.mjs +356 -0
  1065. package/src/lib/rules-formula.mjs.map +1 -0
  1066. package/src/lib/rules-marks.d.mts +4 -0
  1067. package/src/lib/rules-marks.d.ts +4 -0
  1068. package/src/lib/rules-marks.js +111 -0
  1069. package/src/lib/rules-marks.js.map +1 -0
  1070. package/src/lib/rules-marks.mjs +108 -0
  1071. package/src/lib/rules-marks.mjs.map +1 -0
  1072. package/src/lib/rules-open.d.mts +16 -0
  1073. package/src/lib/rules-open.d.ts +16 -0
  1074. package/src/lib/rules-open.js +51 -0
  1075. package/src/lib/rules-open.js.map +1 -0
  1076. package/src/lib/rules-open.mjs +48 -0
  1077. package/src/lib/rules-open.mjs.map +1 -0
  1078. package/src/lib/rules-overview.d.mts +32 -0
  1079. package/src/lib/rules-overview.d.ts +32 -0
  1080. package/src/lib/rules-overview.js +193 -0
  1081. package/src/lib/rules-overview.js.map +1 -0
  1082. package/src/lib/rules-overview.mjs +190 -0
  1083. package/src/lib/rules-overview.mjs.map +1 -0
  1084. package/src/lib/rules-panel.d.mts +18 -0
  1085. package/src/lib/rules-panel.d.ts +18 -0
  1086. package/src/lib/rules-panel.js +24 -0
  1087. package/src/lib/rules-panel.js.map +1 -0
  1088. package/src/lib/rules-panel.mjs +21 -0
  1089. package/src/lib/rules-panel.mjs.map +1 -0
  1090. package/src/lib/rules-reads.d.mts +9 -0
  1091. package/src/lib/rules-reads.d.ts +9 -0
  1092. package/src/lib/rules-reads.js +79 -0
  1093. package/src/lib/rules-reads.js.map +1 -0
  1094. package/src/lib/rules-reads.mjs +75 -0
  1095. package/src/lib/rules-reads.mjs.map +1 -0
  1096. package/src/lib/rules-sample.d.mts +43 -0
  1097. package/src/lib/rules-sample.d.ts +43 -0
  1098. package/src/lib/rules-sample.js +321 -0
  1099. package/src/lib/rules-sample.js.map +1 -0
  1100. package/src/lib/rules-sample.mjs +317 -0
  1101. package/src/lib/rules-sample.mjs.map +1 -0
  1102. package/src/lib/rules-words.d.mts +67 -0
  1103. package/src/lib/rules-words.d.ts +67 -0
  1104. package/src/lib/rules-words.js +247 -0
  1105. package/src/lib/rules-words.js.map +1 -0
  1106. package/src/lib/rules-words.mjs +234 -0
  1107. package/src/lib/rules-words.mjs.map +1 -0
  1108. package/src/lib/rules-worked-out.d.mts +9 -0
  1109. package/src/lib/rules-worked-out.d.ts +9 -0
  1110. package/src/lib/rules-worked-out.js +282 -0
  1111. package/src/lib/rules-worked-out.js.map +1 -0
  1112. package/src/lib/rules-worked-out.mjs +278 -0
  1113. package/src/lib/rules-worked-out.mjs.map +1 -0
  1114. package/src/lib/samples.d.mts +5 -0
  1115. package/src/lib/samples.d.ts +5 -0
  1116. package/src/lib/samples.js +69 -0
  1117. package/src/lib/samples.js.map +1 -0
  1118. package/src/lib/samples.mjs +65 -0
  1119. package/src/lib/samples.mjs.map +1 -0
  1120. package/src/lib/saved-forms.d.mts +93 -0
  1121. package/src/lib/saved-forms.d.ts +93 -0
  1122. package/src/lib/saved-forms.js +211 -0
  1123. package/src/lib/saved-forms.js.map +1 -0
  1124. package/src/lib/saved-forms.mjs +200 -0
  1125. package/src/lib/saved-forms.mjs.map +1 -0
  1126. package/src/lib/screen-canvas.d.mts +57 -0
  1127. package/src/lib/screen-canvas.d.ts +57 -0
  1128. package/src/lib/screen-canvas.js +691 -0
  1129. package/src/lib/screen-canvas.js.map +1 -0
  1130. package/src/lib/screen-canvas.mjs +688 -0
  1131. package/src/lib/screen-canvas.mjs.map +1 -0
  1132. package/src/lib/screen-editor.d.mts +32 -0
  1133. package/src/lib/screen-editor.d.ts +32 -0
  1134. package/src/lib/screen-editor.js +377 -0
  1135. package/src/lib/screen-editor.js.map +1 -0
  1136. package/src/lib/screen-editor.mjs +374 -0
  1137. package/src/lib/screen-editor.mjs.map +1 -0
  1138. package/src/lib/screen-properties.d.mts +28 -0
  1139. package/src/lib/screen-properties.d.ts +28 -0
  1140. package/src/lib/screen-properties.js +69 -0
  1141. package/src/lib/screen-properties.js.map +1 -0
  1142. package/src/lib/screen-properties.mjs +63 -0
  1143. package/src/lib/screen-properties.mjs.map +1 -0
  1144. package/src/lib/shortcuts-list.d.mts +24 -0
  1145. package/src/lib/shortcuts-list.d.ts +24 -0
  1146. package/src/lib/shortcuts-list.js +25 -0
  1147. package/src/lib/shortcuts-list.js.map +1 -0
  1148. package/src/lib/shortcuts-list.mjs +21 -0
  1149. package/src/lib/shortcuts-list.mjs.map +1 -0
  1150. package/src/lib/shortcuts-sheet.d.mts +27 -0
  1151. package/src/lib/shortcuts-sheet.d.ts +27 -0
  1152. package/src/lib/shortcuts-sheet.js +95 -0
  1153. package/src/lib/shortcuts-sheet.js.map +1 -0
  1154. package/src/lib/shortcuts-sheet.mjs +92 -0
  1155. package/src/lib/shortcuts-sheet.mjs.map +1 -0
  1156. package/src/lib/shown-while.d.mts +16 -0
  1157. package/src/lib/shown-while.d.ts +16 -0
  1158. package/src/lib/shown-while.js +28 -0
  1159. package/src/lib/shown-while.js.map +1 -0
  1160. package/src/lib/shown-while.mjs +25 -0
  1161. package/src/lib/shown-while.mjs.map +1 -0
  1162. package/src/lib/steps-checks.d.mts +33 -0
  1163. package/src/lib/steps-checks.d.ts +33 -0
  1164. package/src/lib/steps-checks.js +112 -0
  1165. package/src/lib/steps-checks.js.map +1 -0
  1166. package/src/lib/steps-checks.mjs +107 -0
  1167. package/src/lib/steps-checks.mjs.map +1 -0
  1168. package/src/lib/steps-commands.d.mts +54 -0
  1169. package/src/lib/steps-commands.d.ts +54 -0
  1170. package/src/lib/steps-commands.js +191 -0
  1171. package/src/lib/steps-commands.js.map +1 -0
  1172. package/src/lib/steps-commands.mjs +186 -0
  1173. package/src/lib/steps-commands.mjs.map +1 -0
  1174. package/src/lib/steps-editor.d.mts +25 -0
  1175. package/src/lib/steps-editor.d.ts +25 -0
  1176. package/src/lib/steps-editor.js +390 -0
  1177. package/src/lib/steps-editor.js.map +1 -0
  1178. package/src/lib/steps-editor.mjs +387 -0
  1179. package/src/lib/steps-editor.mjs.map +1 -0
  1180. package/src/lib/steps-map.d.mts +38 -0
  1181. package/src/lib/steps-map.d.ts +38 -0
  1182. package/src/lib/steps-map.js +124 -0
  1183. package/src/lib/steps-map.js.map +1 -0
  1184. package/src/lib/steps-map.mjs +121 -0
  1185. package/src/lib/steps-map.mjs.map +1 -0
  1186. package/src/lib/steps-marks.d.mts +20 -0
  1187. package/src/lib/steps-marks.d.ts +20 -0
  1188. package/src/lib/steps-marks.js +84 -0
  1189. package/src/lib/steps-marks.js.map +1 -0
  1190. package/src/lib/steps-marks.mjs +77 -0
  1191. package/src/lib/steps-marks.mjs.map +1 -0
  1192. package/src/lib/steps-panel.d.mts +24 -0
  1193. package/src/lib/steps-panel.d.ts +24 -0
  1194. package/src/lib/steps-panel.js +89 -0
  1195. package/src/lib/steps-panel.js.map +1 -0
  1196. package/src/lib/steps-panel.mjs +84 -0
  1197. package/src/lib/steps-panel.mjs.map +1 -0
  1198. package/src/lib/steps-places.d.mts +69 -0
  1199. package/src/lib/steps-places.d.ts +69 -0
  1200. package/src/lib/steps-places.js +291 -0
  1201. package/src/lib/steps-places.js.map +1 -0
  1202. package/src/lib/steps-places.mjs +272 -0
  1203. package/src/lib/steps-places.mjs.map +1 -0
  1204. package/src/lib/steps-settings.d.mts +31 -0
  1205. package/src/lib/steps-settings.d.ts +31 -0
  1206. package/src/lib/steps-settings.js +425 -0
  1207. package/src/lib/steps-settings.js.map +1 -0
  1208. package/src/lib/steps-settings.mjs +421 -0
  1209. package/src/lib/steps-settings.mjs.map +1 -0
  1210. package/src/lib/steps-words.d.mts +41 -0
  1211. package/src/lib/steps-words.d.ts +41 -0
  1212. package/src/lib/steps-words.js +160 -0
  1213. package/src/lib/steps-words.js.map +1 -0
  1214. package/src/lib/steps-words.mjs +152 -0
  1215. package/src/lib/steps-words.mjs.map +1 -0
  1216. package/src/lib/structure-changes.d.mts +14 -0
  1217. package/src/lib/structure-changes.d.ts +14 -0
  1218. package/src/lib/structure-changes.js +31 -0
  1219. package/src/lib/structure-changes.js.map +1 -0
  1220. package/src/lib/structure-changes.mjs +28 -0
  1221. package/src/lib/structure-changes.mjs.map +1 -0
  1222. package/src/lib/structure-commands.d.mts +31 -0
  1223. package/src/lib/structure-commands.d.ts +31 -0
  1224. package/src/lib/structure-commands.js +59 -0
  1225. package/src/lib/structure-commands.js.map +1 -0
  1226. package/src/lib/structure-commands.mjs +56 -0
  1227. package/src/lib/structure-commands.mjs.map +1 -0
  1228. package/src/lib/styles-canvas.d.mts +11 -0
  1229. package/src/lib/styles-canvas.d.ts +11 -0
  1230. package/src/lib/styles-canvas.js +199 -0
  1231. package/src/lib/styles-canvas.js.map +1 -0
  1232. package/src/lib/styles-canvas.mjs +196 -0
  1233. package/src/lib/styles-canvas.mjs.map +1 -0
  1234. package/src/lib/styles-choices.d.mts +6 -0
  1235. package/src/lib/styles-choices.d.ts +6 -0
  1236. package/src/lib/styles-choices.js +25 -0
  1237. package/src/lib/styles-choices.js.map +1 -0
  1238. package/src/lib/styles-choices.mjs +22 -0
  1239. package/src/lib/styles-choices.mjs.map +1 -0
  1240. package/src/lib/styles-extend.d.mts +6 -0
  1241. package/src/lib/styles-extend.d.ts +6 -0
  1242. package/src/lib/styles-extend.js +71 -0
  1243. package/src/lib/styles-extend.js.map +1 -0
  1244. package/src/lib/styles-extend.mjs +68 -0
  1245. package/src/lib/styles-extend.mjs.map +1 -0
  1246. package/src/lib/styles-gap.d.mts +6 -0
  1247. package/src/lib/styles-gap.d.ts +6 -0
  1248. package/src/lib/styles-gap.js +68 -0
  1249. package/src/lib/styles-gap.js.map +1 -0
  1250. package/src/lib/styles-gap.mjs +65 -0
  1251. package/src/lib/styles-gap.mjs.map +1 -0
  1252. package/src/lib/styles-json.d.mts +5 -0
  1253. package/src/lib/styles-json.d.ts +5 -0
  1254. package/src/lib/styles-json.js +109 -0
  1255. package/src/lib/styles-json.js.map +1 -0
  1256. package/src/lib/styles-json.mjs +106 -0
  1257. package/src/lib/styles-json.mjs.map +1 -0
  1258. package/src/lib/styles-kinds.d.mts +7 -0
  1259. package/src/lib/styles-kinds.d.ts +7 -0
  1260. package/src/lib/styles-kinds.js +56 -0
  1261. package/src/lib/styles-kinds.js.map +1 -0
  1262. package/src/lib/styles-kinds.mjs +53 -0
  1263. package/src/lib/styles-kinds.mjs.map +1 -0
  1264. package/src/lib/styles-outline.d.mts +7 -0
  1265. package/src/lib/styles-outline.d.ts +7 -0
  1266. package/src/lib/styles-outline.js +95 -0
  1267. package/src/lib/styles-outline.js.map +1 -0
  1268. package/src/lib/styles-outline.mjs +92 -0
  1269. package/src/lib/styles-outline.mjs.map +1 -0
  1270. package/src/lib/styles-panel.d.mts +7 -0
  1271. package/src/lib/styles-panel.d.ts +7 -0
  1272. package/src/lib/styles-panel.js +150 -0
  1273. package/src/lib/styles-panel.js.map +1 -0
  1274. package/src/lib/styles-panel.mjs +147 -0
  1275. package/src/lib/styles-panel.mjs.map +1 -0
  1276. package/src/lib/styles-rules.d.mts +7 -0
  1277. package/src/lib/styles-rules.d.ts +7 -0
  1278. package/src/lib/styles-rules.js +213 -0
  1279. package/src/lib/styles-rules.js.map +1 -0
  1280. package/src/lib/styles-rules.mjs +210 -0
  1281. package/src/lib/styles-rules.mjs.map +1 -0
  1282. package/src/lib/styles-steps.d.mts +9 -0
  1283. package/src/lib/styles-steps.d.ts +9 -0
  1284. package/src/lib/styles-steps.js +84 -0
  1285. package/src/lib/styles-steps.js.map +1 -0
  1286. package/src/lib/styles-steps.mjs +81 -0
  1287. package/src/lib/styles-steps.mjs.map +1 -0
  1288. package/src/lib/styles-translations.d.mts +7 -0
  1289. package/src/lib/styles-translations.d.ts +7 -0
  1290. package/src/lib/styles-translations.js +104 -0
  1291. package/src/lib/styles-translations.js.map +1 -0
  1292. package/src/lib/styles-translations.mjs +101 -0
  1293. package/src/lib/styles-translations.mjs.map +1 -0
  1294. package/src/lib/styles.d.mts +3 -0
  1295. package/src/lib/styles.d.ts +3 -0
  1296. package/src/lib/styles.js +683 -0
  1297. package/src/lib/styles.js.map +1 -0
  1298. package/src/lib/styles.mjs +679 -0
  1299. package/src/lib/styles.mjs.map +1 -0
  1300. package/src/lib/survey-editor.d.mts +42 -0
  1301. package/src/lib/survey-editor.d.ts +42 -0
  1302. package/src/lib/survey-editor.js +651 -0
  1303. package/src/lib/survey-editor.js.map +1 -0
  1304. package/src/lib/survey-editor.mjs +647 -0
  1305. package/src/lib/survey-editor.mjs.map +1 -0
  1306. package/src/lib/table-commands.d.mts +76 -0
  1307. package/src/lib/table-commands.d.ts +76 -0
  1308. package/src/lib/table-commands.js +248 -0
  1309. package/src/lib/table-commands.js.map +1 -0
  1310. package/src/lib/table-commands.mjs +244 -0
  1311. package/src/lib/table-commands.mjs.map +1 -0
  1312. package/src/lib/table-panel.d.mts +8 -0
  1313. package/src/lib/table-panel.d.ts +8 -0
  1314. package/src/lib/table-panel.js +276 -0
  1315. package/src/lib/table-panel.js.map +1 -0
  1316. package/src/lib/table-panel.mjs +273 -0
  1317. package/src/lib/table-panel.mjs.map +1 -0
  1318. package/src/lib/templates-notice.d.mts +16 -0
  1319. package/src/lib/templates-notice.d.ts +16 -0
  1320. package/src/lib/templates-notice.js +45 -0
  1321. package/src/lib/templates-notice.js.map +1 -0
  1322. package/src/lib/templates-notice.mjs +42 -0
  1323. package/src/lib/templates-notice.mjs.map +1 -0
  1324. package/src/lib/templates-start.d.mts +41 -0
  1325. package/src/lib/templates-start.d.ts +41 -0
  1326. package/src/lib/templates-start.js +117 -0
  1327. package/src/lib/templates-start.js.map +1 -0
  1328. package/src/lib/templates-start.mjs +114 -0
  1329. package/src/lib/templates-start.mjs.map +1 -0
  1330. package/src/lib/templates.d.mts +35 -0
  1331. package/src/lib/templates.d.ts +35 -0
  1332. package/src/lib/templates.js +195 -0
  1333. package/src/lib/templates.js.map +1 -0
  1334. package/src/lib/templates.mjs +186 -0
  1335. package/src/lib/templates.mjs.map +1 -0
  1336. package/src/lib/toolbox.d.mts +49 -0
  1337. package/src/lib/toolbox.d.ts +49 -0
  1338. package/src/lib/toolbox.js +161 -0
  1339. package/src/lib/toolbox.js.map +1 -0
  1340. package/src/lib/toolbox.mjs +155 -0
  1341. package/src/lib/toolbox.mjs.map +1 -0
  1342. package/src/lib/translations-csv.d.mts +20 -0
  1343. package/src/lib/translations-csv.d.ts +20 -0
  1344. package/src/lib/translations-csv.js +138 -0
  1345. package/src/lib/translations-csv.js.map +1 -0
  1346. package/src/lib/translations-csv.mjs +132 -0
  1347. package/src/lib/translations-csv.mjs.map +1 -0
  1348. package/src/lib/translations-grid.d.mts +30 -0
  1349. package/src/lib/translations-grid.d.ts +30 -0
  1350. package/src/lib/translations-grid.js +198 -0
  1351. package/src/lib/translations-grid.js.map +1 -0
  1352. package/src/lib/translations-grid.mjs +195 -0
  1353. package/src/lib/translations-grid.mjs.map +1 -0
  1354. package/src/lib/translations-view.d.mts +29 -0
  1355. package/src/lib/translations-view.d.ts +29 -0
  1356. package/src/lib/translations-view.js +248 -0
  1357. package/src/lib/translations-view.js.map +1 -0
  1358. package/src/lib/translations-view.mjs +245 -0
  1359. package/src/lib/translations-view.mjs.map +1 -0
  1360. package/src/lib/translations.d.mts +57 -0
  1361. package/src/lib/translations.d.ts +57 -0
  1362. package/src/lib/translations.js +211 -0
  1363. package/src/lib/translations.js.map +1 -0
  1364. package/src/lib/translations.mjs +198 -0
  1365. package/src/lib/translations.mjs.map +1 -0
  1366. package/src/lib/try-drawer.d.mts +4 -0
  1367. package/src/lib/try-drawer.d.ts +4 -0
  1368. package/src/lib/try-drawer.js +139 -0
  1369. package/src/lib/try-drawer.js.map +1 -0
  1370. package/src/lib/try-drawer.mjs +136 -0
  1371. package/src/lib/try-drawer.mjs.map +1 -0
  1372. package/src/lib/try-it.d.mts +37 -0
  1373. package/src/lib/try-it.d.ts +37 -0
  1374. package/src/lib/try-it.js +153 -0
  1375. package/src/lib/try-it.js.map +1 -0
  1376. package/src/lib/try-it.mjs +150 -0
  1377. package/src/lib/try-it.mjs.map +1 -0
  1378. package/src/lib/try-language.d.mts +25 -0
  1379. package/src/lib/try-language.d.ts +25 -0
  1380. package/src/lib/try-language.js +57 -0
  1381. package/src/lib/try-language.js.map +1 -0
  1382. package/src/lib/try-language.mjs +54 -0
  1383. package/src/lib/try-language.mjs.map +1 -0
  1384. package/src/lib/validate-edit.d.mts +19 -0
  1385. package/src/lib/validate-edit.d.ts +19 -0
  1386. package/src/lib/validate-edit.js +51 -0
  1387. package/src/lib/validate-edit.js.map +1 -0
  1388. package/src/lib/validate-edit.mjs +48 -0
  1389. package/src/lib/validate-edit.mjs.map +1 -0
  1390. package/src/lib/writes.d.mts +14 -0
  1391. package/src/lib/writes.d.ts +14 -0
  1392. package/src/lib/writes.js +41 -0
  1393. package/src/lib/writes.js.map +1 -0
  1394. package/src/lib/writes.mjs +35 -0
  1395. package/src/lib/writes.mjs.map +1 -0
  1396. package/src/react.d.mts +21 -0
  1397. package/src/react.d.ts +21 -0
  1398. package/src/react.js +35 -0
  1399. package/src/react.js.map +1 -0
  1400. package/src/react.mjs +32 -0
  1401. package/src/react.mjs.map +1 -0
  1402. package/src/vue.d.mts +65 -0
  1403. package/src/vue.d.ts +65 -0
  1404. package/src/vue.js +57 -0
  1405. package/src/vue.js.map +1 -0
  1406. package/src/vue.mjs +54 -0
  1407. package/src/vue.mjs.map +1 -0
@@ -0,0 +1,186 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.andList = exports.rowsOf = exports.sharesOneCell = exports.across = exports.SPANNED = exports.spanOf = exports.isWrapper = exports.isSection = exports.locate = exports.listOf = void 0;
4
+ exports.find = find;
5
+ exports.nodeOf = nodeOf;
6
+ exports.contains = contains;
7
+ exports.setSpan = setSpan;
8
+ exports.colsOf = colsOf;
9
+ exports.inGrid = inGrid;
10
+ exports.onTracks = onTracks;
11
+ exports.isRow = isRow;
12
+ exports.rowsIn = rowsIn;
13
+ exports.nameOf = nameOf;
14
+ exports.seenAs = seenAs;
15
+ const core_1 = require("@fieldia/core");
16
+ const en_1 = require("./locales/en");
17
+ // ---- reading the page --------------------------------------------------------------------------------
18
+ const listOf = (node) => {
19
+ const children = node?.children;
20
+ return Array.isArray(children) ? children : null;
21
+ };
22
+ exports.listOf = listOf;
23
+ /** A part inside a holder, the list it is in, and its place there, however deep. */
24
+ function find(holder, id) {
25
+ const list = (0, exports.listOf)(holder) ?? [];
26
+ for (let index = 0; index < list.length; index++) {
27
+ const node = list[index];
28
+ if (node.id === id)
29
+ return { node, parent: holder, list, index };
30
+ const deeper = find(node, id);
31
+ if (deeper)
32
+ return deeper;
33
+ }
34
+ return null;
35
+ }
36
+ /** A part, the list it is in, and its place there, wherever it sits on the page. */
37
+ const locate = (page, id) => find(page.layout, id);
38
+ exports.locate = locate;
39
+ /** The part, or the page's own layout, by id. */
40
+ function nodeOf(page, id) {
41
+ return page.layout.id === id ? page.layout : ((0, exports.locate)(page, id)?.node ?? null);
42
+ }
43
+ /** Whether `inner` is `outer` or sits somewhere inside it. */
44
+ function contains(page, outer, inner) {
45
+ const node = nodeOf(page, outer);
46
+ return outer === inner || (!!node && !!find(node, inner));
47
+ }
48
+ const isSection = (node) => node?.type === 'section';
49
+ exports.isSection = isSection;
50
+ /** An arrangement: a section with no title in the plain style, there only to hold parts side by side or one under another. */
51
+ const isWrapper = (node) => (0, exports.isSection)(node) && node.style === 'plain' && !node.title;
52
+ exports.isWrapper = isWrapper;
53
+ const spanOf = (node) => node.colspan ?? 1;
54
+ exports.spanOf = spanOf;
55
+ /** The parts that take a width; a divider runs across the whole row. */
56
+ exports.SPANNED = new Set(['field', 'button', 'text', 'section', 'tabs', 'spacer', 'image', 'form']);
57
+ /** Set how many columns a part spans; one is the default, and a part that spans nothing (a divider) is left as it is. */
58
+ function setSpan(node, span) {
59
+ if (!exports.SPANNED.has(node.type))
60
+ return;
61
+ const own = node;
62
+ if (span <= 1)
63
+ delete own.colspan;
64
+ else
65
+ own.colspan = span;
66
+ }
67
+ /** The columns a section has: its own, or — an arrangement in a grid — the ones it covers there. */
68
+ function colsOf(page, section) {
69
+ if (onTracks(page, section))
70
+ return Math.min((0, exports.spanOf)(section), colsOf(page, (0, exports.locate)(page, section.id)?.parent));
71
+ return (0, core_1.wideColumns)(section.columns);
72
+ }
73
+ /** How many places a list has across: a section's columns, or one for the page, a step and a tab. */
74
+ const across = (page, holder) => ((0, exports.isSection)(holder) ? colsOf(page, holder) : 1);
75
+ exports.across = across;
76
+ /** Whether a part sits in a grid with columns (not on the page, in a tab or in one column). */
77
+ function inGrid(page, node) {
78
+ const parent = (0, exports.locate)(page, node.id)?.parent;
79
+ return (0, exports.isSection)(parent) && colsOf(page, parent) > 1;
80
+ }
81
+ /** One column wide with columns of its own: parts sharing one cell, side by side. */
82
+ const sharesOneCell = (section) => (0, exports.spanOf)(section) === 1 && (0, core_1.wideColumns)(section.columns) > 1;
83
+ exports.sharesOneCell = sharesOneCell;
84
+ /** An arrangement in a section with columns lays its parts on the columns it covers there. */
85
+ function onTracks(page, section) {
86
+ if (!(0, exports.isWrapper)(section) || (0, exports.sharesOneCell)(section))
87
+ return false;
88
+ const parent = (0, exports.locate)(page, section.id)?.parent;
89
+ return (0, exports.isSection)(parent) && parent.columns !== undefined && colsOf(page, parent) > 1;
90
+ }
91
+ /** A row of parts on the page or in a tab: an arrangement with as many columns as parts. */
92
+ function isRow(page, node) {
93
+ if (!(0, exports.isWrapper)(node) || inGrid(page, node) || onTracks(page, node))
94
+ return false;
95
+ const cols = colsOf(page, node);
96
+ return cols >= 2 && node.children.length === cols;
97
+ }
98
+ /**
99
+ * The rows a list's parts fall into, in reading order as the grid places them:
100
+ * a part too wide for what is left of a row starts the next. A divider is a
101
+ * line across the whole row.
102
+ */
103
+ const rowsOf = (page, holder, skip) => rowsIn(holder.children, (0, exports.across)(page, holder), skip);
104
+ exports.rowsOf = rowsOf;
105
+ /** The rows of a list of parts on a grid of `cols` columns. */
106
+ function rowsIn(list, cols, skip) {
107
+ const rows = [];
108
+ let row = [];
109
+ let used = 0;
110
+ for (const part of list) {
111
+ if (part.id === skip)
112
+ continue;
113
+ const span = part.type === 'divider' ? cols : Math.min((0, exports.spanOf)(part), cols);
114
+ if (used + span > cols && row.length) {
115
+ rows.push({ items: row, used });
116
+ row = [];
117
+ used = 0;
118
+ }
119
+ row.push(part);
120
+ used += span;
121
+ }
122
+ if (row.length)
123
+ rows.push({ items: row, used });
124
+ return rows;
125
+ }
126
+ // ---- names --------------------------------------------------------------------------------------------
127
+ /** Long words cut short, at the end of a word where there is one near. */
128
+ function shortened(text) {
129
+ const cut = text.slice(0, 33);
130
+ const end = cut.lastIndexOf(' ');
131
+ return end > 16 ? cut.slice(0, end) : text.slice(0, 32);
132
+ }
133
+ /** A part's name as a person reads it. */
134
+ function nameOf(page, node, words = en_1.en) {
135
+ const w = words.parts;
136
+ if (!node)
137
+ return '';
138
+ if (node.id === page.layout.id)
139
+ return page.title || w.page;
140
+ const part = node;
141
+ switch (part.type) {
142
+ case 'field':
143
+ return part.label ?? page.fields[part.field]?.label ?? part.field;
144
+ case 'section': {
145
+ if (part.title)
146
+ return part.title;
147
+ // Named by how its parts fall: one under another, side by side, or in rows of so many.
148
+ const rows = (0, exports.rowsOf)(page, part);
149
+ const most = rows.reduce((n, r) => Math.max(n, r.items.length), 0);
150
+ return most < 2 ? w.column : rows.length > 1 ? w.columns(most) : w.sideBySide;
151
+ }
152
+ case 'tabs':
153
+ return w.tabs;
154
+ case 'tab':
155
+ return part.label;
156
+ case 'text':
157
+ return part.text.length > 34 ? `${shortened(part.text)}…` : part.text;
158
+ case 'button':
159
+ return part.label;
160
+ case 'image':
161
+ return part.alt || w.image;
162
+ case 'slot':
163
+ return part.name;
164
+ case 'form': {
165
+ if (part.title)
166
+ return part.title;
167
+ // A title with no letters to name its answers after (one in Arabic, say) left them the generic `form`: it is a saved form, the second one so on.
168
+ const generic = /^form(?:_(\d+))?$/.exec(part.name);
169
+ if (generic)
170
+ return words.savedForms.copy(generic[1] ? Number(generic[1]) : 1);
171
+ // Its answers' name as words: “Address 2”.
172
+ return `${part.name.charAt(0).toUpperCase()}${part.name.slice(1).replace(/_/g, ' ')}`;
173
+ }
174
+ default:
175
+ return part.type === 'divider' ? w.divider : w.spacer;
176
+ }
177
+ }
178
+ const andList = (words) => (words.length <= 2 ? words.join(' and ') : `${words.slice(0, -1).join(', ')} and ${words[words.length - 1]}`);
179
+ exports.andList = andList;
180
+ /** A part as people see it, quoted: an arrangement is named by what it holds. */
181
+ function seenAs(page, node, words = en_1.en) {
182
+ if (!(0, exports.isWrapper)(node))
183
+ return words.parts.quote(nameOf(page, node, words));
184
+ return words.parts.and(node.children.map((c) => words.parts.quote(nameOf(page, c, words))));
185
+ }
186
+ //# sourceMappingURL=layout-tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-tree.js","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/layout-tree.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,163 @@
1
+ import { wideColumns } from '@fieldia/core';
2
+ import { en } from './locales/en/index.mjs';
3
+ // ---- reading the page --------------------------------------------------------------------------------
4
+ export const listOf = (node) => {
5
+ const children = node?.children;
6
+ return Array.isArray(children) ? children : null;
7
+ };
8
+ /** A part inside a holder, the list it is in, and its place there, however deep. */
9
+ export function find(holder, id) {
10
+ const list = listOf(holder) ?? [];
11
+ for (let index = 0; index < list.length; index++) {
12
+ const node = list[index];
13
+ if (node.id === id)
14
+ return { node, parent: holder, list, index };
15
+ const deeper = find(node, id);
16
+ if (deeper)
17
+ return deeper;
18
+ }
19
+ return null;
20
+ }
21
+ /** A part, the list it is in, and its place there, wherever it sits on the page. */
22
+ export const locate = (page, id) => find(page.layout, id);
23
+ /** The part, or the page's own layout, by id. */
24
+ export function nodeOf(page, id) {
25
+ return page.layout.id === id ? page.layout : (locate(page, id)?.node ?? null);
26
+ }
27
+ /** Whether `inner` is `outer` or sits somewhere inside it. */
28
+ export function contains(page, outer, inner) {
29
+ const node = nodeOf(page, outer);
30
+ return outer === inner || (!!node && !!find(node, inner));
31
+ }
32
+ export const isSection = (node) => node?.type === 'section';
33
+ /** An arrangement: a section with no title in the plain style, there only to hold parts side by side or one under another. */
34
+ export const isWrapper = (node) => isSection(node) && node.style === 'plain' && !node.title;
35
+ export const spanOf = (node) => node.colspan ?? 1;
36
+ /** The parts that take a width; a divider runs across the whole row. */
37
+ export const SPANNED = new Set(['field', 'button', 'text', 'section', 'tabs', 'spacer', 'image', 'form']);
38
+ /** Set how many columns a part spans; one is the default, and a part that spans nothing (a divider) is left as it is. */
39
+ export function setSpan(node, span) {
40
+ if (!SPANNED.has(node.type))
41
+ return;
42
+ const own = node;
43
+ if (span <= 1)
44
+ delete own.colspan;
45
+ else
46
+ own.colspan = span;
47
+ }
48
+ /** The columns a section has: its own, or — an arrangement in a grid — the ones it covers there. */
49
+ export function colsOf(page, section) {
50
+ if (onTracks(page, section))
51
+ return Math.min(spanOf(section), colsOf(page, locate(page, section.id)?.parent));
52
+ return wideColumns(section.columns);
53
+ }
54
+ /** How many places a list has across: a section's columns, or one for the page, a step and a tab. */
55
+ export const across = (page, holder) => (isSection(holder) ? colsOf(page, holder) : 1);
56
+ /** Whether a part sits in a grid with columns (not on the page, in a tab or in one column). */
57
+ export function inGrid(page, node) {
58
+ const parent = locate(page, node.id)?.parent;
59
+ return isSection(parent) && colsOf(page, parent) > 1;
60
+ }
61
+ /** One column wide with columns of its own: parts sharing one cell, side by side. */
62
+ export const sharesOneCell = (section) => spanOf(section) === 1 && wideColumns(section.columns) > 1;
63
+ /** An arrangement in a section with columns lays its parts on the columns it covers there. */
64
+ export function onTracks(page, section) {
65
+ if (!isWrapper(section) || sharesOneCell(section))
66
+ return false;
67
+ const parent = locate(page, section.id)?.parent;
68
+ return isSection(parent) && parent.columns !== undefined && colsOf(page, parent) > 1;
69
+ }
70
+ /** A row of parts on the page or in a tab: an arrangement with as many columns as parts. */
71
+ export function isRow(page, node) {
72
+ if (!isWrapper(node) || inGrid(page, node) || onTracks(page, node))
73
+ return false;
74
+ const cols = colsOf(page, node);
75
+ return cols >= 2 && node.children.length === cols;
76
+ }
77
+ /**
78
+ * The rows a list's parts fall into, in reading order as the grid places them:
79
+ * a part too wide for what is left of a row starts the next. A divider is a
80
+ * line across the whole row.
81
+ */
82
+ export const rowsOf = (page, holder, skip) => rowsIn(holder.children, across(page, holder), skip);
83
+ /** The rows of a list of parts on a grid of `cols` columns. */
84
+ export function rowsIn(list, cols, skip) {
85
+ const rows = [];
86
+ let row = [];
87
+ let used = 0;
88
+ for (const part of list) {
89
+ if (part.id === skip)
90
+ continue;
91
+ const span = part.type === 'divider' ? cols : Math.min(spanOf(part), cols);
92
+ if (used + span > cols && row.length) {
93
+ rows.push({ items: row, used });
94
+ row = [];
95
+ used = 0;
96
+ }
97
+ row.push(part);
98
+ used += span;
99
+ }
100
+ if (row.length)
101
+ rows.push({ items: row, used });
102
+ return rows;
103
+ }
104
+ // ---- names --------------------------------------------------------------------------------------------
105
+ /** Long words cut short, at the end of a word where there is one near. */
106
+ function shortened(text) {
107
+ const cut = text.slice(0, 33);
108
+ const end = cut.lastIndexOf(' ');
109
+ return end > 16 ? cut.slice(0, end) : text.slice(0, 32);
110
+ }
111
+ /** A part's name as a person reads it. */
112
+ export function nameOf(page, node, words = en) {
113
+ const w = words.parts;
114
+ if (!node)
115
+ return '';
116
+ if (node.id === page.layout.id)
117
+ return page.title || w.page;
118
+ const part = node;
119
+ switch (part.type) {
120
+ case 'field':
121
+ return part.label ?? page.fields[part.field]?.label ?? part.field;
122
+ case 'section': {
123
+ if (part.title)
124
+ return part.title;
125
+ // Named by how its parts fall: one under another, side by side, or in rows of so many.
126
+ const rows = rowsOf(page, part);
127
+ const most = rows.reduce((n, r) => Math.max(n, r.items.length), 0);
128
+ return most < 2 ? w.column : rows.length > 1 ? w.columns(most) : w.sideBySide;
129
+ }
130
+ case 'tabs':
131
+ return w.tabs;
132
+ case 'tab':
133
+ return part.label;
134
+ case 'text':
135
+ return part.text.length > 34 ? `${shortened(part.text)}…` : part.text;
136
+ case 'button':
137
+ return part.label;
138
+ case 'image':
139
+ return part.alt || w.image;
140
+ case 'slot':
141
+ return part.name;
142
+ case 'form': {
143
+ if (part.title)
144
+ return part.title;
145
+ // A title with no letters to name its answers after (one in Arabic, say) left them the generic `form`: it is a saved form, the second one so on.
146
+ const generic = /^form(?:_(\d+))?$/.exec(part.name);
147
+ if (generic)
148
+ return words.savedForms.copy(generic[1] ? Number(generic[1]) : 1);
149
+ // Its answers' name as words: “Address 2”.
150
+ return `${part.name.charAt(0).toUpperCase()}${part.name.slice(1).replace(/_/g, ' ')}`;
151
+ }
152
+ default:
153
+ return part.type === 'divider' ? w.divider : w.spacer;
154
+ }
155
+ }
156
+ export const andList = (words) => (words.length <= 2 ? words.join(' and ') : `${words.slice(0, -1).join(', ')} and ${words[words.length - 1]}`);
157
+ /** A part as people see it, quoted: an arrangement is named by what it holds. */
158
+ export function seenAs(page, node, words = en) {
159
+ if (!isWrapper(node))
160
+ return words.parts.quote(nameOf(page, node, words));
161
+ return words.parts.and(node.children.map((c) => words.parts.quote(nameOf(page, c, words))));
162
+ }
163
+ //# sourceMappingURL=layout-tree.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-tree.mjs","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/layout-tree.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,101 @@
1
+ import { type Page, type SectionNode } from '@fieldia/core';
2
+ import type { DesignerWords } from './designer-words.mjs';
3
+ import { type Holder, type Part } from './layout-tree.mjs';
4
+ /**
5
+ * Groups in twelfths, as Bootstrap's and Vueform's rows divide, and as
6
+ * Grafloria's split board fits its panes: each row of a group divides twelve
7
+ * ways, its own way. A part dropped beside another re-divides only that row;
8
+ * a part leaving a row closes it up. A group keeps each row full — its parts
9
+ * sharing the width, a part alone taking all of it — or, saying `rows:
10
+ * 'gaps'`, lets a part keep its width when a neighbour leaves.
11
+ *
12
+ * A group of one to four columns is divided in twelfths the first time an
13
+ * Advanced gesture needs it (a drop beside one of its parts, a gutter or a
14
+ * width handle dragged), inside the same edit: each part as wide as it was,
15
+ * so nothing moves.
16
+ */
17
+ export declare const TWELVE = 12;
18
+ /** A group: a section with columns of its own — titled, or drawn — not an arrangement laying parts out. */
19
+ export declare const isGroup: (node: unknown) => node is SectionNode;
20
+ /** A group whose rows divide in twelfths. */
21
+ export declare const inTwelfths: (node: unknown) => node is SectionNode;
22
+ /** A group in twelfths, or one of one to four columns that a gesture divides in twelfths. */
23
+ export declare const twelfthsAhead: (node: unknown) => node is SectionNode;
24
+ /** Whether a group keeps each row full, the default, rather than leaving gaps. */
25
+ export declare const keepsFull: (group: SectionNode) => boolean;
26
+ /** Whether a holder lays its parts in twelfths: a group in twelfths, or an arrangement on one's columns. */
27
+ export declare function laidInTwelfths(page: Page, holder: Holder | Part | null | undefined): boolean;
28
+ /** Widths scaled to add up to `total`, in whole columns: the largest remainders round up, and each keeps one at least. */
29
+ export declare function shares(spans: number[], total: number): number[];
30
+ /** A part made `span` wide, from a grid of `from` columns onto one of `to`: an arrangement lays its own parts on its new columns. */
31
+ export declare function resize(part: Part, span: number, from?: number, to?: number): void;
32
+ /** Parts laid on `from` columns, laid on `to` instead: each row shared out as it was, as wide as it was. */
33
+ export declare function relay(list: Part[], from: number, to: number): void;
34
+ /** Parts of a row widened, or narrowed, to fill `total` of a group in twelfths together, as they shared it. */
35
+ export declare function fill(row: Part[], total?: number): void;
36
+ /** A group of one to four columns divided in twelfths: each part, and each arrangement's parts, as wide as it was. */
37
+ export declare function toTwelfths(group: SectionNode): void;
38
+ /**
39
+ * A new column inside a group, beside all its rows, as Grafloria splits a
40
+ * section's content: the rows go into an arrangement on half the group's
41
+ * tracks, keeping their shares there, and the part takes the other half.
42
+ * `from` is the columns the part had where it came from.
43
+ */
44
+ export declare function columnInside(group: SectionNode, part: Part, after: boolean, id: string, from?: number): void;
45
+ /** A group in twelfths on one to four columns again: each part as near as wide as it was. */
46
+ export declare function fromTwelfths(group: SectionNode, cols: number): void;
47
+ /**
48
+ * Where a part dropped beside `target` in a group goes, the group in twelfths
49
+ * (or about to be): along its own row, every width kept; into the room a row
50
+ * that leaves gaps has; else into the row, which divides equally — four to a
51
+ * row. `row` is the target's row without the part dropped.
52
+ */
53
+ export type Beside = {
54
+ how: 'reorder' | 'divide';
55
+ row: Part[];
56
+ } | {
57
+ how: 'room';
58
+ row: Part[];
59
+ span: number;
60
+ } | {
61
+ how: 'refused';
62
+ why: 'rowHoldsFour';
63
+ };
64
+ export declare function besideIn(page: Page, group: SectionNode, target: Part, moving?: string): Beside;
65
+ /** A drop beside a part in a group, in the words the chip says: "between “Customer” and “Visit date” — the row in thirds". */
66
+ export declare function besideWords(page: Page, plan: Beside, target: Part, after: boolean, words?: DesignerWords): string;
67
+ /** The width a part takes where it lands: in or out of twelfths, as wide a share of the row as it had; new in twelfths, the whole row; else no wider than there. */
68
+ export declare function landingSpan(page: Page, part: Part, box: Holder, from?: {
69
+ cols: number;
70
+ twelfths: boolean;
71
+ }): number;
72
+ /**
73
+ * Put parts in a list at a place, each as wide as `width` says. In a group
74
+ * that keeps its rows full, each is a row of its own, and a row they land in
75
+ * the middle of closes up either side of them.
76
+ */
77
+ export declare function putAt(page: Page, holder: Holder, index: number, parts: Part[], width: (part: Part) => number, from?: (part: Part) => number | undefined): void;
78
+ /** The fractions of a row a part in twelfths is offered: in twelfths, as a short word, its label, and its name in a menu. */
79
+ export declare const ROW_PARTS: {
80
+ span: number;
81
+ words: string;
82
+ label: string;
83
+ name: string;
84
+ }[];
85
+ /** The same fractions, in the designer's words. */
86
+ export declare function rowParts(words: DesignerWords): {
87
+ span: number;
88
+ words: string;
89
+ label: string;
90
+ name: string;
91
+ }[];
92
+ /** A part's width as a share of a row of `cols` columns, in words: "half the row", "58% of the row". */
93
+ export declare function rowShare(span: number, cols?: number, words?: DesignerWords): string;
94
+ /** A width as a whole percentage of a row. */
95
+ export declare const percent: (span: number, cols?: number) => number;
96
+ /**
97
+ * The widths a part in a group that keeps its rows full can take: the whole
98
+ * row (the rest of it then a row of their own), or what leaves the rest of
99
+ * its row a twelfth each. A part alone in its row takes all of it.
100
+ */
101
+ export declare function widthsFor(page: Page, group: SectionNode, part: Part): (span: number) => boolean;
@@ -0,0 +1,101 @@
1
+ import { type Page, type SectionNode } from '@fieldia/core';
2
+ import type { DesignerWords } from './designer-words';
3
+ import { type Holder, type Part } from './layout-tree';
4
+ /**
5
+ * Groups in twelfths, as Bootstrap's and Vueform's rows divide, and as
6
+ * Grafloria's split board fits its panes: each row of a group divides twelve
7
+ * ways, its own way. A part dropped beside another re-divides only that row;
8
+ * a part leaving a row closes it up. A group keeps each row full — its parts
9
+ * sharing the width, a part alone taking all of it — or, saying `rows:
10
+ * 'gaps'`, lets a part keep its width when a neighbour leaves.
11
+ *
12
+ * A group of one to four columns is divided in twelfths the first time an
13
+ * Advanced gesture needs it (a drop beside one of its parts, a gutter or a
14
+ * width handle dragged), inside the same edit: each part as wide as it was,
15
+ * so nothing moves.
16
+ */
17
+ export declare const TWELVE = 12;
18
+ /** A group: a section with columns of its own — titled, or drawn — not an arrangement laying parts out. */
19
+ export declare const isGroup: (node: unknown) => node is SectionNode;
20
+ /** A group whose rows divide in twelfths. */
21
+ export declare const inTwelfths: (node: unknown) => node is SectionNode;
22
+ /** A group in twelfths, or one of one to four columns that a gesture divides in twelfths. */
23
+ export declare const twelfthsAhead: (node: unknown) => node is SectionNode;
24
+ /** Whether a group keeps each row full, the default, rather than leaving gaps. */
25
+ export declare const keepsFull: (group: SectionNode) => boolean;
26
+ /** Whether a holder lays its parts in twelfths: a group in twelfths, or an arrangement on one's columns. */
27
+ export declare function laidInTwelfths(page: Page, holder: Holder | Part | null | undefined): boolean;
28
+ /** Widths scaled to add up to `total`, in whole columns: the largest remainders round up, and each keeps one at least. */
29
+ export declare function shares(spans: number[], total: number): number[];
30
+ /** A part made `span` wide, from a grid of `from` columns onto one of `to`: an arrangement lays its own parts on its new columns. */
31
+ export declare function resize(part: Part, span: number, from?: number, to?: number): void;
32
+ /** Parts laid on `from` columns, laid on `to` instead: each row shared out as it was, as wide as it was. */
33
+ export declare function relay(list: Part[], from: number, to: number): void;
34
+ /** Parts of a row widened, or narrowed, to fill `total` of a group in twelfths together, as they shared it. */
35
+ export declare function fill(row: Part[], total?: number): void;
36
+ /** A group of one to four columns divided in twelfths: each part, and each arrangement's parts, as wide as it was. */
37
+ export declare function toTwelfths(group: SectionNode): void;
38
+ /**
39
+ * A new column inside a group, beside all its rows, as Grafloria splits a
40
+ * section's content: the rows go into an arrangement on half the group's
41
+ * tracks, keeping their shares there, and the part takes the other half.
42
+ * `from` is the columns the part had where it came from.
43
+ */
44
+ export declare function columnInside(group: SectionNode, part: Part, after: boolean, id: string, from?: number): void;
45
+ /** A group in twelfths on one to four columns again: each part as near as wide as it was. */
46
+ export declare function fromTwelfths(group: SectionNode, cols: number): void;
47
+ /**
48
+ * Where a part dropped beside `target` in a group goes, the group in twelfths
49
+ * (or about to be): along its own row, every width kept; into the room a row
50
+ * that leaves gaps has; else into the row, which divides equally — four to a
51
+ * row. `row` is the target's row without the part dropped.
52
+ */
53
+ export type Beside = {
54
+ how: 'reorder' | 'divide';
55
+ row: Part[];
56
+ } | {
57
+ how: 'room';
58
+ row: Part[];
59
+ span: number;
60
+ } | {
61
+ how: 'refused';
62
+ why: 'rowHoldsFour';
63
+ };
64
+ export declare function besideIn(page: Page, group: SectionNode, target: Part, moving?: string): Beside;
65
+ /** A drop beside a part in a group, in the words the chip says: "between “Customer” and “Visit date” — the row in thirds". */
66
+ export declare function besideWords(page: Page, plan: Beside, target: Part, after: boolean, words?: DesignerWords): string;
67
+ /** The width a part takes where it lands: in or out of twelfths, as wide a share of the row as it had; new in twelfths, the whole row; else no wider than there. */
68
+ export declare function landingSpan(page: Page, part: Part, box: Holder, from?: {
69
+ cols: number;
70
+ twelfths: boolean;
71
+ }): number;
72
+ /**
73
+ * Put parts in a list at a place, each as wide as `width` says. In a group
74
+ * that keeps its rows full, each is a row of its own, and a row they land in
75
+ * the middle of closes up either side of them.
76
+ */
77
+ export declare function putAt(page: Page, holder: Holder, index: number, parts: Part[], width: (part: Part) => number, from?: (part: Part) => number | undefined): void;
78
+ /** The fractions of a row a part in twelfths is offered: in twelfths, as a short word, its label, and its name in a menu. */
79
+ export declare const ROW_PARTS: {
80
+ span: number;
81
+ words: string;
82
+ label: string;
83
+ name: string;
84
+ }[];
85
+ /** The same fractions, in the designer's words. */
86
+ export declare function rowParts(words: DesignerWords): {
87
+ span: number;
88
+ words: string;
89
+ label: string;
90
+ name: string;
91
+ }[];
92
+ /** A part's width as a share of a row of `cols` columns, in words: "half the row", "58% of the row". */
93
+ export declare function rowShare(span: number, cols?: number, words?: DesignerWords): string;
94
+ /** A width as a whole percentage of a row. */
95
+ export declare const percent: (span: number, cols?: number) => number;
96
+ /**
97
+ * The widths a part in a group that keeps its rows full can take: the whole
98
+ * row (the rest of it then a row of their own), or what leaves the rest of
99
+ * its row a twelfth each. A part alone in its row takes all of it.
100
+ */
101
+ export declare function widthsFor(page: Page, group: SectionNode, part: Part): (span: number) => boolean;