@fieldia/designer 0.11.0 → 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 (379) hide show
  1. package/package.json +4 -4
  2. package/src/lib/canvas-form.js +9 -0
  3. package/src/lib/canvas-form.js.map +1 -1
  4. package/src/lib/canvas-form.mjs +9 -0
  5. package/src/lib/canvas-form.mjs.map +1 -1
  6. package/src/lib/canvas-header.d.mts +4 -1
  7. package/src/lib/canvas-header.d.ts +4 -1
  8. package/src/lib/canvas-header.js +56 -17
  9. package/src/lib/canvas-header.js.map +1 -1
  10. package/src/lib/canvas-header.mjs +56 -17
  11. package/src/lib/canvas-header.mjs.map +1 -1
  12. package/src/lib/choice-commands.d.mts +5 -1
  13. package/src/lib/choice-commands.d.ts +5 -1
  14. package/src/lib/choice-commands.js +41 -0
  15. package/src/lib/choice-commands.js.map +1 -1
  16. package/src/lib/choice-commands.mjs +41 -0
  17. package/src/lib/choice-commands.mjs.map +1 -1
  18. package/src/lib/clipboard-names.js +21 -4
  19. package/src/lib/clipboard-names.js.map +1 -1
  20. package/src/lib/clipboard-names.mjs +21 -4
  21. package/src/lib/clipboard-names.mjs.map +1 -1
  22. package/src/lib/conditions.d.mts +14 -2
  23. package/src/lib/conditions.d.ts +14 -2
  24. package/src/lib/conditions.js +25 -2
  25. package/src/lib/conditions.js.map +1 -1
  26. package/src/lib/conditions.mjs +23 -2
  27. package/src/lib/conditions.mjs.map +1 -1
  28. package/src/lib/designer.d.mts +20 -15
  29. package/src/lib/designer.d.ts +20 -15
  30. package/src/lib/designer.js +67 -3
  31. package/src/lib/designer.js.map +1 -1
  32. package/src/lib/designer.mjs +68 -4
  33. package/src/lib/designer.mjs.map +1 -1
  34. package/src/lib/header-commands.d.mts +69 -11
  35. package/src/lib/header-commands.d.ts +69 -11
  36. package/src/lib/header-commands.js +299 -20
  37. package/src/lib/header-commands.js.map +1 -1
  38. package/src/lib/header-commands.mjs +297 -20
  39. package/src/lib/header-commands.mjs.map +1 -1
  40. package/src/lib/header-properties.js +171 -20
  41. package/src/lib/header-properties.js.map +1 -1
  42. package/src/lib/header-properties.mjs +172 -21
  43. package/src/lib/header-properties.mjs.map +1 -1
  44. package/src/lib/hotkey-setting.d.mts +8 -0
  45. package/src/lib/hotkey-setting.d.ts +8 -0
  46. package/src/lib/hotkey-setting.js +25 -0
  47. package/src/lib/hotkey-setting.js.map +1 -0
  48. package/src/lib/hotkey-setting.mjs +20 -0
  49. package/src/lib/hotkey-setting.mjs.map +1 -0
  50. package/src/lib/icons.js +15 -0
  51. package/src/lib/icons.js.map +1 -1
  52. package/src/lib/icons.mjs +15 -0
  53. package/src/lib/icons.mjs.map +1 -1
  54. package/src/lib/inline-settings.js +32 -4
  55. package/src/lib/inline-settings.js.map +1 -1
  56. package/src/lib/inline-settings.mjs +33 -5
  57. package/src/lib/inline-settings.mjs.map +1 -1
  58. package/src/lib/input-changes.js +12 -0
  59. package/src/lib/input-changes.js.map +1 -1
  60. package/src/lib/input-changes.mjs +12 -0
  61. package/src/lib/input-changes.mjs.map +1 -1
  62. package/src/lib/kind-settings-choices.js +30 -0
  63. package/src/lib/kind-settings-choices.js.map +1 -1
  64. package/src/lib/kind-settings-choices.mjs +30 -0
  65. package/src/lib/kind-settings-choices.mjs.map +1 -1
  66. package/src/lib/kind-settings-inputs.js +80 -0
  67. package/src/lib/kind-settings-inputs.js.map +1 -1
  68. package/src/lib/kind-settings-inputs.mjs +80 -0
  69. package/src/lib/kind-settings-inputs.mjs.map +1 -1
  70. package/src/lib/kinds.d.mts +2 -0
  71. package/src/lib/kinds.d.ts +2 -0
  72. package/src/lib/kinds.js +71 -7
  73. package/src/lib/kinds.js.map +1 -1
  74. package/src/lib/kinds.mjs +70 -6
  75. package/src/lib/kinds.mjs.map +1 -1
  76. package/src/lib/layout-settings.d.mts +7 -1
  77. package/src/lib/layout-settings.d.ts +7 -1
  78. package/src/lib/layout-settings.js +36 -2
  79. package/src/lib/layout-settings.js.map +1 -1
  80. package/src/lib/layout-settings.mjs +35 -2
  81. package/src/lib/layout-settings.mjs.map +1 -1
  82. package/src/lib/locales/ar/canvas.js +6 -0
  83. package/src/lib/locales/ar/canvas.js.map +1 -1
  84. package/src/lib/locales/ar/canvas.mjs +6 -0
  85. package/src/lib/locales/ar/canvas.mjs.map +1 -1
  86. package/src/lib/locales/ar/changes.js +2 -2
  87. package/src/lib/locales/ar/changes.js.map +1 -1
  88. package/src/lib/locales/ar/changes.mjs +2 -2
  89. package/src/lib/locales/ar/changes.mjs.map +1 -1
  90. package/src/lib/locales/ar/defaults.js +7 -0
  91. package/src/lib/locales/ar/defaults.js.map +1 -1
  92. package/src/lib/locales/ar/defaults.mjs +7 -0
  93. package/src/lib/locales/ar/defaults.mjs.map +1 -1
  94. package/src/lib/locales/ar/index.js +2 -1
  95. package/src/lib/locales/ar/index.js.map +1 -1
  96. package/src/lib/locales/ar/index.mjs +2 -1
  97. package/src/lib/locales/ar/index.mjs.map +1 -1
  98. package/src/lib/locales/ar/kinds.js +15 -0
  99. package/src/lib/locales/ar/kinds.js.map +1 -1
  100. package/src/lib/locales/ar/kinds.mjs +15 -0
  101. package/src/lib/locales/ar/kinds.mjs.map +1 -1
  102. package/src/lib/locales/ar/layout.js +2 -0
  103. package/src/lib/locales/ar/layout.js.map +1 -1
  104. package/src/lib/locales/ar/layout.mjs +2 -0
  105. package/src/lib/locales/ar/layout.mjs.map +1 -1
  106. package/src/lib/locales/ar/panel.js +81 -1
  107. package/src/lib/locales/ar/panel.js.map +1 -1
  108. package/src/lib/locales/ar/panel.mjs +81 -1
  109. package/src/lib/locales/ar/panel.mjs.map +1 -1
  110. package/src/lib/locales/ar/questions.js +20 -0
  111. package/src/lib/locales/ar/questions.js.map +1 -1
  112. package/src/lib/locales/ar/questions.mjs +20 -0
  113. package/src/lib/locales/ar/questions.mjs.map +1 -1
  114. package/src/lib/locales/ar/refusals.js +23 -1
  115. package/src/lib/locales/ar/refusals.js.map +1 -1
  116. package/src/lib/locales/ar/refusals.mjs +23 -1
  117. package/src/lib/locales/ar/refusals.mjs.map +1 -1
  118. package/src/lib/locales/ar/rules-ui.js +19 -0
  119. package/src/lib/locales/ar/rules-ui.js.map +1 -1
  120. package/src/lib/locales/ar/rules-ui.mjs +19 -0
  121. package/src/lib/locales/ar/rules-ui.mjs.map +1 -1
  122. package/src/lib/locales/ar/rules.js +7 -0
  123. package/src/lib/locales/ar/rules.js.map +1 -1
  124. package/src/lib/locales/ar/rules.mjs +7 -0
  125. package/src/lib/locales/ar/rules.mjs.map +1 -1
  126. package/src/lib/locales/ar/settings-changes.js +20 -0
  127. package/src/lib/locales/ar/settings-changes.js.map +1 -1
  128. package/src/lib/locales/ar/settings-changes.mjs +20 -0
  129. package/src/lib/locales/ar/settings-changes.mjs.map +1 -1
  130. package/src/lib/locales/ar/steps.js +31 -1
  131. package/src/lib/locales/ar/steps.js.map +1 -1
  132. package/src/lib/locales/ar/steps.mjs +31 -1
  133. package/src/lib/locales/ar/steps.mjs.map +1 -1
  134. package/src/lib/locales/ar/tables.d.mts +2 -0
  135. package/src/lib/locales/ar/tables.d.ts +2 -0
  136. package/src/lib/locales/ar/tables.js +69 -0
  137. package/src/lib/locales/ar/tables.js.map +1 -0
  138. package/src/lib/locales/ar/tables.mjs +66 -0
  139. package/src/lib/locales/ar/tables.mjs.map +1 -0
  140. package/src/lib/locales/en/canvas.d.mts +13 -0
  141. package/src/lib/locales/en/canvas.d.ts +13 -0
  142. package/src/lib/locales/en/canvas.js +6 -0
  143. package/src/lib/locales/en/canvas.js.map +1 -1
  144. package/src/lib/locales/en/canvas.mjs +6 -0
  145. package/src/lib/locales/en/canvas.mjs.map +1 -1
  146. package/src/lib/locales/en/changes.d.mts +2 -2
  147. package/src/lib/locales/en/changes.d.ts +2 -2
  148. package/src/lib/locales/en/changes.js +1 -1
  149. package/src/lib/locales/en/changes.js.map +1 -1
  150. package/src/lib/locales/en/changes.mjs +1 -1
  151. package/src/lib/locales/en/changes.mjs.map +1 -1
  152. package/src/lib/locales/en/defaults.d.mts +8 -0
  153. package/src/lib/locales/en/defaults.d.ts +8 -0
  154. package/src/lib/locales/en/defaults.js +8 -0
  155. package/src/lib/locales/en/defaults.js.map +1 -1
  156. package/src/lib/locales/en/defaults.mjs +8 -0
  157. package/src/lib/locales/en/defaults.mjs.map +1 -1
  158. package/src/lib/locales/en/index.d.mts +308 -4
  159. package/src/lib/locales/en/index.d.ts +308 -4
  160. package/src/lib/locales/en/index.js +2 -1
  161. package/src/lib/locales/en/index.js.map +1 -1
  162. package/src/lib/locales/en/index.mjs +2 -1
  163. package/src/lib/locales/en/index.mjs.map +1 -1
  164. package/src/lib/locales/en/kinds.d.mts +15 -0
  165. package/src/lib/locales/en/kinds.d.ts +15 -0
  166. package/src/lib/locales/en/kinds.js +15 -0
  167. package/src/lib/locales/en/kinds.js.map +1 -1
  168. package/src/lib/locales/en/kinds.mjs +15 -0
  169. package/src/lib/locales/en/kinds.mjs.map +1 -1
  170. package/src/lib/locales/en/layout.d.mts +2 -0
  171. package/src/lib/locales/en/layout.d.ts +2 -0
  172. package/src/lib/locales/en/layout.js +2 -0
  173. package/src/lib/locales/en/layout.js.map +1 -1
  174. package/src/lib/locales/en/layout.mjs +2 -0
  175. package/src/lib/locales/en/layout.mjs.map +1 -1
  176. package/src/lib/locales/en/panel.d.mts +81 -0
  177. package/src/lib/locales/en/panel.d.ts +81 -0
  178. package/src/lib/locales/en/panel.js +63 -1
  179. package/src/lib/locales/en/panel.js.map +1 -1
  180. package/src/lib/locales/en/panel.mjs +63 -1
  181. package/src/lib/locales/en/panel.mjs.map +1 -1
  182. package/src/lib/locales/en/questions.d.mts +20 -0
  183. package/src/lib/locales/en/questions.d.ts +20 -0
  184. package/src/lib/locales/en/questions.js +21 -0
  185. package/src/lib/locales/en/questions.js.map +1 -1
  186. package/src/lib/locales/en/questions.mjs +21 -0
  187. package/src/lib/locales/en/questions.mjs.map +1 -1
  188. package/src/lib/locales/en/refusals.d.mts +22 -0
  189. package/src/lib/locales/en/refusals.d.ts +22 -0
  190. package/src/lib/locales/en/refusals.js +24 -1
  191. package/src/lib/locales/en/refusals.js.map +1 -1
  192. package/src/lib/locales/en/refusals.mjs +24 -1
  193. package/src/lib/locales/en/refusals.mjs.map +1 -1
  194. package/src/lib/locales/en/rules-ui.d.mts +24 -0
  195. package/src/lib/locales/en/rules-ui.d.ts +24 -0
  196. package/src/lib/locales/en/rules-ui.js +20 -0
  197. package/src/lib/locales/en/rules-ui.js.map +1 -1
  198. package/src/lib/locales/en/rules-ui.mjs +20 -0
  199. package/src/lib/locales/en/rules-ui.mjs.map +1 -1
  200. package/src/lib/locales/en/rules.d.mts +8 -0
  201. package/src/lib/locales/en/rules.d.ts +8 -0
  202. package/src/lib/locales/en/rules.js +8 -0
  203. package/src/lib/locales/en/rules.js.map +1 -1
  204. package/src/lib/locales/en/rules.mjs +9 -1
  205. package/src/lib/locales/en/rules.mjs.map +1 -1
  206. package/src/lib/locales/en/settings-changes.d.mts +20 -0
  207. package/src/lib/locales/en/settings-changes.d.ts +20 -0
  208. package/src/lib/locales/en/settings-changes.js +21 -0
  209. package/src/lib/locales/en/settings-changes.js.map +1 -1
  210. package/src/lib/locales/en/settings-changes.mjs +21 -0
  211. package/src/lib/locales/en/settings-changes.mjs.map +1 -1
  212. package/src/lib/locales/en/steps.d.mts +35 -0
  213. package/src/lib/locales/en/steps.d.ts +35 -0
  214. package/src/lib/locales/en/steps.js +32 -1
  215. package/src/lib/locales/en/steps.js.map +1 -1
  216. package/src/lib/locales/en/steps.mjs +32 -1
  217. package/src/lib/locales/en/steps.mjs.map +1 -1
  218. package/src/lib/locales/en/tables.d.mts +73 -0
  219. package/src/lib/locales/en/tables.d.ts +73 -0
  220. package/src/lib/locales/en/tables.js +85 -0
  221. package/src/lib/locales/en/tables.js.map +1 -0
  222. package/src/lib/locales/en/tables.mjs +82 -0
  223. package/src/lib/locales/en/tables.mjs.map +1 -0
  224. package/src/lib/page-checks.js +6 -3
  225. package/src/lib/page-checks.js.map +1 -1
  226. package/src/lib/page-checks.mjs +6 -3
  227. package/src/lib/page-checks.mjs.map +1 -1
  228. package/src/lib/page-tree.d.mts +5 -1
  229. package/src/lib/page-tree.d.ts +5 -1
  230. package/src/lib/page-tree.js +29 -3
  231. package/src/lib/page-tree.js.map +1 -1
  232. package/src/lib/page-tree.mjs +28 -3
  233. package/src/lib/page-tree.mjs.map +1 -1
  234. package/src/lib/panel-block.js +22 -3
  235. package/src/lib/panel-block.js.map +1 -1
  236. package/src/lib/panel-block.mjs +22 -3
  237. package/src/lib/panel-block.mjs.map +1 -1
  238. package/src/lib/panel-field.js +22 -2
  239. package/src/lib/panel-field.js.map +1 -1
  240. package/src/lib/panel-field.mjs +22 -2
  241. package/src/lib/panel-field.mjs.map +1 -1
  242. package/src/lib/panel-group.js +7 -1
  243. package/src/lib/panel-group.js.map +1 -1
  244. package/src/lib/panel-group.mjs +7 -1
  245. package/src/lib/panel-group.mjs.map +1 -1
  246. package/src/lib/panel-layout.js +7 -1
  247. package/src/lib/panel-layout.js.map +1 -1
  248. package/src/lib/panel-layout.mjs +7 -1
  249. package/src/lib/panel-layout.mjs.map +1 -1
  250. package/src/lib/panel-look.js +12 -2
  251. package/src/lib/panel-look.js.map +1 -1
  252. package/src/lib/panel-look.mjs +12 -2
  253. package/src/lib/panel-look.mjs.map +1 -1
  254. package/src/lib/panel-page.d.mts +4 -2
  255. package/src/lib/panel-page.d.ts +4 -2
  256. package/src/lib/panel-page.js +41 -3
  257. package/src/lib/panel-page.js.map +1 -1
  258. package/src/lib/panel-page.mjs +41 -3
  259. package/src/lib/panel-page.mjs.map +1 -1
  260. package/src/lib/panel-screen.js +2 -2
  261. package/src/lib/panel-screen.js.map +1 -1
  262. package/src/lib/panel-screen.mjs +3 -3
  263. package/src/lib/panel-screen.mjs.map +1 -1
  264. package/src/lib/placeholder-when.d.mts +13 -0
  265. package/src/lib/placeholder-when.d.ts +13 -0
  266. package/src/lib/placeholder-when.js +83 -0
  267. package/src/lib/placeholder-when.js.map +1 -0
  268. package/src/lib/placeholder-when.mjs +80 -0
  269. package/src/lib/placeholder-when.mjs.map +1 -0
  270. package/src/lib/roles-setting.d.mts +18 -0
  271. package/src/lib/roles-setting.d.ts +18 -0
  272. package/src/lib/roles-setting.js +48 -0
  273. package/src/lib/roles-setting.js.map +1 -0
  274. package/src/lib/roles-setting.mjs +43 -0
  275. package/src/lib/roles-setting.mjs.map +1 -0
  276. package/src/lib/rules-answers.js +22 -7
  277. package/src/lib/rules-answers.js.map +1 -1
  278. package/src/lib/rules-answers.mjs +22 -7
  279. package/src/lib/rules-answers.mjs.map +1 -1
  280. package/src/lib/rules-changes.js +1 -1
  281. package/src/lib/rules-changes.js.map +1 -1
  282. package/src/lib/rules-changes.mjs +2 -2
  283. package/src/lib/rules-changes.mjs.map +1 -1
  284. package/src/lib/rules-checks.js +1 -1
  285. package/src/lib/rules-checks.js.map +1 -1
  286. package/src/lib/rules-checks.mjs +1 -1
  287. package/src/lib/rules-checks.mjs.map +1 -1
  288. package/src/lib/rules-commands.d.mts +6 -0
  289. package/src/lib/rules-commands.d.ts +6 -0
  290. package/src/lib/rules-commands.js +63 -3
  291. package/src/lib/rules-commands.js.map +1 -1
  292. package/src/lib/rules-commands.mjs +63 -3
  293. package/src/lib/rules-commands.mjs.map +1 -1
  294. package/src/lib/rules-defaults.d.mts +8 -0
  295. package/src/lib/rules-defaults.d.ts +8 -0
  296. package/src/lib/rules-defaults.js +77 -0
  297. package/src/lib/rules-defaults.js.map +1 -0
  298. package/src/lib/rules-defaults.mjs +74 -0
  299. package/src/lib/rules-defaults.mjs.map +1 -0
  300. package/src/lib/rules-formula.js +12 -3
  301. package/src/lib/rules-formula.js.map +1 -1
  302. package/src/lib/rules-formula.mjs +12 -3
  303. package/src/lib/rules-formula.mjs.map +1 -1
  304. package/src/lib/rules-panel.js +4 -1
  305. package/src/lib/rules-panel.js.map +1 -1
  306. package/src/lib/rules-panel.mjs +4 -1
  307. package/src/lib/rules-panel.mjs.map +1 -1
  308. package/src/lib/rules-words.d.mts +10 -3
  309. package/src/lib/rules-words.d.ts +10 -3
  310. package/src/lib/rules-words.js +18 -3
  311. package/src/lib/rules-words.js.map +1 -1
  312. package/src/lib/rules-words.mjs +17 -3
  313. package/src/lib/rules-words.mjs.map +1 -1
  314. package/src/lib/rules-worked-out.js +31 -6
  315. package/src/lib/rules-worked-out.js.map +1 -1
  316. package/src/lib/rules-worked-out.mjs +31 -6
  317. package/src/lib/rules-worked-out.mjs.map +1 -1
  318. package/src/lib/shown-while.d.mts +16 -0
  319. package/src/lib/shown-while.d.ts +16 -0
  320. package/src/lib/shown-while.js +28 -0
  321. package/src/lib/shown-while.js.map +1 -0
  322. package/src/lib/shown-while.mjs +25 -0
  323. package/src/lib/shown-while.mjs.map +1 -0
  324. package/src/lib/steps-commands.d.mts +2 -2
  325. package/src/lib/steps-commands.d.ts +2 -2
  326. package/src/lib/steps-commands.js +3 -0
  327. package/src/lib/steps-commands.js.map +1 -1
  328. package/src/lib/steps-commands.mjs +3 -0
  329. package/src/lib/steps-commands.mjs.map +1 -1
  330. package/src/lib/steps-editor.js +12 -3
  331. package/src/lib/steps-editor.js.map +1 -1
  332. package/src/lib/steps-editor.mjs +12 -3
  333. package/src/lib/steps-editor.mjs.map +1 -1
  334. package/src/lib/steps-places.d.mts +3 -3
  335. package/src/lib/steps-places.d.ts +3 -3
  336. package/src/lib/steps-places.js +15 -4
  337. package/src/lib/steps-places.js.map +1 -1
  338. package/src/lib/steps-places.mjs +15 -4
  339. package/src/lib/steps-places.mjs.map +1 -1
  340. package/src/lib/steps-settings.js +75 -1
  341. package/src/lib/steps-settings.js.map +1 -1
  342. package/src/lib/steps-settings.mjs +75 -1
  343. package/src/lib/steps-settings.mjs.map +1 -1
  344. package/src/lib/steps-words.js +24 -3
  345. package/src/lib/steps-words.js.map +1 -1
  346. package/src/lib/steps-words.mjs +24 -3
  347. package/src/lib/steps-words.mjs.map +1 -1
  348. package/src/lib/structure-changes.js +6 -0
  349. package/src/lib/structure-changes.js.map +1 -1
  350. package/src/lib/structure-changes.mjs +6 -0
  351. package/src/lib/structure-changes.mjs.map +1 -1
  352. package/src/lib/styles-rules.d.mts +1 -1
  353. package/src/lib/styles-rules.d.ts +1 -1
  354. package/src/lib/styles-rules.js +12 -0
  355. package/src/lib/styles-rules.js.map +1 -1
  356. package/src/lib/styles-rules.mjs +12 -0
  357. package/src/lib/styles-rules.mjs.map +1 -1
  358. package/src/lib/styles.d.mts +1 -1
  359. package/src/lib/styles.d.ts +1 -1
  360. package/src/lib/styles.js +7 -0
  361. package/src/lib/styles.js.map +1 -1
  362. package/src/lib/styles.mjs +7 -0
  363. package/src/lib/styles.mjs.map +1 -1
  364. package/src/lib/table-commands.d.mts +76 -0
  365. package/src/lib/table-commands.d.ts +76 -0
  366. package/src/lib/table-commands.js +248 -0
  367. package/src/lib/table-commands.js.map +1 -0
  368. package/src/lib/table-commands.mjs +244 -0
  369. package/src/lib/table-commands.mjs.map +1 -0
  370. package/src/lib/table-panel.d.mts +8 -0
  371. package/src/lib/table-panel.d.ts +8 -0
  372. package/src/lib/table-panel.js +276 -0
  373. package/src/lib/table-panel.js.map +1 -0
  374. package/src/lib/table-panel.mjs +273 -0
  375. package/src/lib/table-panel.mjs.map +1 -0
  376. package/src/lib/toolbox.js +1 -0
  377. package/src/lib/toolbox.js.map +1 -1
  378. package/src/lib/toolbox.mjs +1 -0
  379. package/src/lib/toolbox.mjs.map +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fieldia/designer",
3
- "version": "0.11.0",
3
+ "version": "0.12.0",
4
4
  "description": "Build Fieldia pages without writing JSON: an editing model with undo and versions, a survey editor, and a canvas.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://fieldia.dev",
@@ -44,9 +44,9 @@
44
44
  "./package.json": "./package.json"
45
45
  },
46
46
  "dependencies": {
47
- "@fieldia/core": "0.11.0",
48
- "@fieldia/viewer": "0.11.0",
49
- "@fieldia/widgets": "0.11.0",
47
+ "@fieldia/core": "0.12.0",
48
+ "@fieldia/viewer": "0.12.0",
49
+ "@fieldia/widgets": "0.12.0",
50
50
  "tslib": "^2.8.1"
51
51
  },
52
52
  "peerDependencies": {
@@ -51,6 +51,8 @@ function formViews(options) {
51
51
  view.viewer?.destroy();
52
52
  view.viewer = null;
53
53
  view.drawn = null;
54
+ view.watcher?.disconnect();
55
+ view.watcher = null;
54
56
  }
55
57
  /** Inside the frame, the saved form's parts keep their own ids apart from the page's: the canvas finds the page's parts by theirs. */
56
58
  function apart(view) {
@@ -96,6 +98,13 @@ function formViews(options) {
96
98
  view.body.replaceChildren();
97
99
  try {
98
100
  view.viewer = (0, viewer_1.mountViewer)(view.body, { page: placing(node, look, language), showActions: false, skin: (options.skin ?? 'outlined'), widgets: options.widgets, pages });
101
+ // Parts the viewer draws later — a tab when first shown, a saved form inside when its page comes — are kept apart too.
102
+ const Watch = doc.defaultView?.MutationObserver;
103
+ const drawn = view;
104
+ if (Watch) {
105
+ drawn.watcher = new Watch(() => apart(drawn));
106
+ drawn.watcher.observe(drawn.body, { childList: true, subtree: true });
107
+ }
99
108
  }
100
109
  catch (error) {
101
110
  (0, writes_1.setText)(view.note, w.cannotShow(name, error.message.split('\n')[0]));
@@ -1 +1 @@
1
- {"version":3,"file":"canvas-form.js","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/canvas-form.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canvas-form.js","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/canvas-form.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,8 @@ export function formViews(options) {
48
48
  view.viewer?.destroy();
49
49
  view.viewer = null;
50
50
  view.drawn = null;
51
+ view.watcher?.disconnect();
52
+ view.watcher = null;
51
53
  }
52
54
  /** Inside the frame, the saved form's parts keep their own ids apart from the page's: the canvas finds the page's parts by theirs. */
53
55
  function apart(view) {
@@ -93,6 +95,13 @@ export function formViews(options) {
93
95
  view.body.replaceChildren();
94
96
  try {
95
97
  view.viewer = mountViewer(view.body, { page: placing(node, look, language), showActions: false, skin: (options.skin ?? 'outlined'), widgets: options.widgets, pages });
98
+ // Parts the viewer draws later — a tab when first shown, a saved form inside when its page comes — are kept apart too.
99
+ const Watch = doc.defaultView?.MutationObserver;
100
+ const drawn = view;
101
+ if (Watch) {
102
+ drawn.watcher = new Watch(() => apart(drawn));
103
+ drawn.watcher.observe(drawn.body, { childList: true, subtree: true });
104
+ }
96
105
  }
97
106
  catch (error) {
98
107
  setText(view.note, w.cannotShow(name, error.message.split('\n')[0]));
@@ -1 +1 @@
1
- {"version":3,"file":"canvas-form.mjs","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/canvas-form.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canvas-form.mjs","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/canvas-form.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,10 @@ import type { Designer } from './designer.mjs';
7
7
  * badges on it. A part is picked by a click and its words typed where they
8
8
  * stand, a small bar on it moving or taking it away; a quiet "Add …" after
9
9
  * each kind adds one. The status steps are the real widget, from a field
10
- * picked in a menu of the fields that can be steps.
10
+ * picked in a menu of the fields that can be steps. Over them, the record's
11
+ * gear menu: its items in a row, each picked and typed in the same way, and
12
+ * "Add to the gear menu" offering the record's own items, the app's action,
13
+ * or a report under Print.
11
14
  */
12
15
  export interface CanvasHeader {
13
16
  /** Over the card: the header's buttons and the status steps. */
@@ -7,7 +7,10 @@ import type { Designer } from './designer';
7
7
  * badges on it. A part is picked by a click and its words typed where they
8
8
  * stand, a small bar on it moving or taking it away; a quiet "Add …" after
9
9
  * each kind adds one. The status steps are the real widget, from a field
10
- * picked in a menu of the fields that can be steps.
10
+ * picked in a menu of the fields that can be steps. Over them, the record's
11
+ * gear menu: its items in a row, each picked and typed in the same way, and
12
+ * "Add to the gear menu" offering the record's own items, the app's action,
13
+ * or a report under Print.
11
14
  */
12
15
  export interface CanvasHeader {
13
16
  /** Over the card: the header's buttons and the status steps. */
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.canvasHeader = canvasHeader;
4
4
  const widgets_1 = require("@fieldia/widgets");
5
+ const header_commands_1 = require("./header-commands");
5
6
  const icons_1 = require("./icons");
6
7
  const menu_1 = require("./menu");
7
8
  const writes_1 = require("./writes");
@@ -9,29 +10,55 @@ const chrome_language_1 = require("./chrome-language");
9
10
  function canvasHeader(options) {
10
11
  const { el, doc, designer } = options;
11
12
  const w = designer.words.canvas;
12
- const NEW_WORDS = { button: designer.words.defaults.newButton, stat: designer.words.defaults.counter, badge: designer.words.defaults.badge };
13
- const ADD_WORDS = { button: w.addButton, statusbar: w.addStatus, stat: w.addCounter, badge: w.addBadge };
13
+ const d = designer.words.defaults;
14
+ const NEW_WORDS = { button: d.newButton, stat: d.counter, badge: d.badge, ribbon: d.ribbon, alert: d.alert, menu: d.newMenuAction };
15
+ const ADD_WORDS = { button: w.addButton, statusbar: w.addStatus, stat: w.addCounter, badge: w.addBadge, ribbon: w.addRibbon, alert: w.addAlert, menu: w.addMenuItem };
14
16
  const adder = (kind) => {
15
17
  const button = el('button', { type: 'button', class: 'fd-canvas-add-part', 'data-add-part': kind }, (0, icons_1.designerIcon)(doc, 'plus'), ADD_WORDS[kind]);
16
- button.addEventListener('click', () => (kind === 'statusbar' ? pickStatusField(button) : add(kind)));
18
+ button.addEventListener('click', () => (kind === 'statusbar' ? pickStatusField(button) : kind === 'menu' ? pickMenuItem(button) : add(kind)));
17
19
  return button;
18
20
  };
21
+ /** An item of the gear menu's words: its own, or the built-in's in the designer's language. */
22
+ const itemWords = (part) => (0, header_commands_1.wordsOf)(part) || (part.builtin ? w.menuKinds[part.builtin] : '');
19
23
  const actions = el('div', { class: 'fd-actions fd-canvas-header-actions' });
20
24
  const steps = el('div', { class: 'fd-canvas-header-steps' });
21
- const top = el('div', { class: 'fd-header fd-canvas-header', hidden: '' }, actions, steps);
25
+ // The gear menu over the record, its items in a row after its gear.
26
+ const menuItems = el('div', { class: 'fd-canvas-menu-items' });
27
+ const menuRow = el('div', { class: 'fd-canvas-menu', role: 'group', 'aria-label': w.gearMenu }, el('span', { class: 'fd-canvas-menu-gear', 'aria-hidden': 'true' }, (0, icons_1.designerIcon)(doc, 'more')), menuItems);
28
+ const top = el('div', { class: 'fd-header fd-canvas-header', hidden: '' }, menuRow, actions, steps);
22
29
  const stats = el('div', { class: 'fd-stats fd-canvas-stats' });
23
30
  const badges = el('div', { class: 'fd-badges fd-canvas-badges' });
24
- const card = el('div', { class: 'fd-canvas-header-card', hidden: '' }, stats, badges);
25
- const adders = { button: adder('button'), statusbar: adder('statusbar'), stat: adder('stat'), badge: adder('badge') };
31
+ // The ribbons, each a chip in its colour beside the badges (the viewer shows the first whose condition holds, in the card's corner),
32
+ // and the alerts as the viewer draws them: a row of their own only once there is one, so a sheet without keeps its height.
33
+ const alerts = el('div', { class: 'fd-canvas-alerts' });
34
+ const card = el('div', { class: 'fd-canvas-header-card', hidden: '' }, stats, alerts, badges);
35
+ const adders = { button: adder('button'), statusbar: adder('statusbar'), stat: adder('stat'), badge: adder('badge'), ribbon: adder('ribbon'), alert: adder('alert'), menu: adder('menu') };
26
36
  function add(kind) {
27
37
  const created = designer.addHeaderPart(kind, NEW_WORDS[kind]);
28
38
  if (created)
29
39
  focus(created);
30
40
  }
41
+ function pickMenuItem(anchor) {
42
+ const kinds = ['archive', 'unarchive', 'duplicate', 'delete', 'action', 'print'];
43
+ (0, menu_1.openMenu)({
44
+ el,
45
+ anchor,
46
+ title: w.addMenuItem,
47
+ actions: true,
48
+ items: kinds.map((kind) => ({ id: kind, label: w.menuKinds[kind], divider: kind === 'action' })),
49
+ note: w.menuNote,
50
+ onPick: (kind) => {
51
+ const made = designer.addMenuItem(kind, kind === 'action' ? d.newMenuAction : kind === 'print' ? d.newReport : undefined);
52
+ if (made)
53
+ focus(made);
54
+ },
55
+ });
56
+ }
31
57
  function pickStatusField(anchor) {
32
58
  const page = designer.getPage();
33
59
  const own = Object.entries(page.fields).map(([name, field]) => ({ name, field }));
34
- const choices = [...own, ...designer.modelFields()].filter(({ field }) => field.type === 'selection' && !field.multiple);
60
+ // A choice's options, or the stages a link points to.
61
+ const choices = [...own, ...designer.modelFields()].filter(({ field }) => (field.type === 'selection' && !field.multiple) || field.type === 'many2one');
35
62
  (0, menu_1.openMenu)({
36
63
  el,
37
64
  anchor,
@@ -50,20 +77,26 @@ function canvasHeader(options) {
50
77
  return `fd-button fd-button-${part.style ?? 'secondary'}`;
51
78
  if (kind === 'stat')
52
79
  return 'fd-stat';
80
+ if (kind === 'ribbon')
81
+ return `fd-badge fd-canvas-ribbon fd-tone-${part.tone ?? 'muted'}`;
82
+ if (kind === 'alert')
83
+ return `fd-alert fd-tone-${part.tone ?? 'info'}`;
84
+ if (kind === 'menu')
85
+ return `fd-badge fd-canvas-menu-item${part.group === 'print' ? ' fd-canvas-menu-print' : ''}`;
53
86
  return `fd-badge fd-tone-${part.tone ?? 'muted'}`;
54
87
  }
55
88
  function closedPart(kind, part, page) {
56
- const tag = kind === 'badge' ? 'span' : 'button';
89
+ const tag = kind === 'badge' || kind === 'ribbon' ? 'span' : kind === 'alert' ? 'div' : 'button';
57
90
  const element = el(tag, { class: `${looks(kind, part)} fd-canvas-part`, 'data-part': part.id, ...(tag === 'button' ? { type: 'button' } : { role: 'button', tabindex: '0' }) });
58
91
  if (kind === 'stat') {
59
- const count = part.field;
60
- const value = el('span', { class: 'fd-stat-value' }, count ? '12' : '');
61
- element.append(el('span', { class: 'fd-stat-words' }, value, el('span', { class: 'fd-stat-label' }, part.label)));
92
+ const { field: count, unit } = part;
93
+ const value = el('span', { class: 'fd-stat-value' }, [count ? '12' : '', unit ?? ''].filter(Boolean).join(' '));
94
+ element.append(el('span', { class: 'fd-stat-words' }, value, el('span', { class: 'fd-stat-label' }, (0, header_commands_1.wordsOf)(part))));
62
95
  if (count)
63
96
  element.title = w.shows(page.fields[count]?.label ?? count);
64
97
  }
65
98
  else
66
- element.append(part.label);
99
+ element.append(kind === 'menu' ? itemWords(part) : (0, header_commands_1.wordsOf)(part));
67
100
  const pick = () => {
68
101
  designer.select(part.id);
69
102
  focus(part.id, false);
@@ -71,7 +104,7 @@ function canvasHeader(options) {
71
104
  element.addEventListener('click', pick);
72
105
  element.addEventListener('keydown', (event) => {
73
106
  const key = event.key;
74
- if (tag === 'span' && (key === 'Enter' || key === ' ')) {
107
+ if (tag !== 'button' && (key === 'Enter' || key === ' ')) {
75
108
  event.preventDefault();
76
109
  pick();
77
110
  }
@@ -79,7 +112,7 @@ function canvasHeader(options) {
79
112
  return element;
80
113
  }
81
114
  function openPart(kind, part) {
82
- const input = el('input', { class: 'fd-part-input', 'aria-label': w.words, autocomplete: 'off', size: String(Math.max(4, part.label.length + 1)) });
115
+ const input = el('input', { class: 'fd-part-input', 'aria-label': w.words, autocomplete: 'off', size: String(Math.max(4, itemWords(part).length + 1)), placeholder: kind === 'menu' ? itemWords(part) : undefined });
83
116
  input.addEventListener('input', () => {
84
117
  input.size = Math.max(4, input.value.length + 1);
85
118
  designer.updateHeaderPart(part.id, { label: input.value });
@@ -97,7 +130,7 @@ function canvasHeader(options) {
97
130
  };
98
131
  const left = tool(w.moveLeft, 'left', () => designer.moveHeaderPart(part.id, -1));
99
132
  const right = tool(w.moveRight, 'right', () => designer.moveHeaderPart(part.id, 1));
100
- const bar = el('div', { class: 'fd-field-bar fd-part-bar', role: 'toolbar', 'aria-label': part.label }, left, right, tool(w.delete, 'delete', () => designer.removeHeaderPart(part.id)));
133
+ const bar = el('div', { class: 'fd-field-bar fd-part-bar', role: 'toolbar', 'aria-label': itemWords(part) }, left, right, tool(w.delete, 'delete', () => designer.removeHeaderPart(part.id)));
101
134
  const words = kind === 'stat' ? el('span', { class: 'fd-stat-words' }, el('span', { class: 'fd-stat-value' }, part.field ? '12' : ''), input) : input;
102
135
  const element = el('span', { class: `${looks(kind, part)} fd-canvas-part fd-editing`, 'data-part': part.id }, bar, words);
103
136
  return { element, key: '', input, left, right };
@@ -115,7 +148,10 @@ function canvasHeader(options) {
115
148
  const shown = view;
116
149
  shown.key = key;
117
150
  if (shown.input && doc.activeElement !== shown.input)
118
- shown.input.value = part.label;
151
+ shown.input.value = (0, header_commands_1.wordsOf)(part);
152
+ // A built-in item's own words stand in while it has none, as the record's own it now is.
153
+ if (shown.input && kind === 'menu')
154
+ shown.input.placeholder = itemWords(part);
119
155
  if (shown.input)
120
156
  shown.element.className = `${looks(kind, part)} fd-canvas-part fd-editing`;
121
157
  if (shown.left)
@@ -188,11 +224,14 @@ function canvasHeader(options) {
188
224
  live.add(part.id);
189
225
  return drawPart(kind, part, i, all.length, page, selected);
190
226
  });
227
+ arrange(menuItems, [...row('menu', root.toolbar?.menu), adders.menu]);
191
228
  arrange(actions, [...row('button', root.buttons), adders.button]);
192
229
  statusPart.classList.toggle('fd-editing', selected === '#statusbar');
193
230
  arrange(steps, [root.statusbar ? drawSteps(root, page, form) : adders.statusbar]);
194
231
  arrange(stats, [...row('stat', root.statButtons), adders.stat]);
195
- arrange(badges, [...row('badge', root.badges), adders.badge]);
232
+ arrange(badges, [...row('badge', root.badges), adders.badge, ...row('ribbon', [...(root.ribbon ? [root.ribbon] : []), ...(root.ribbons ?? [])]), adders.ribbon, adders.alert]);
233
+ arrange(alerts, row('alert', root.alerts));
234
+ (0, writes_1.setHidden)(alerts, !root.alerts?.length);
196
235
  for (const id of [...views.keys()])
197
236
  if (!live.has(id))
198
237
  views.delete(id);
@@ -1 +1 @@
1
- {"version":3,"file":"canvas-header.js","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/canvas-header.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canvas-header.js","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/canvas-header.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { createWidget } from '@fieldia/widgets';
2
+ import { wordsOf } from './header-commands.mjs';
2
3
  import { designerIcon } from './icons.mjs';
3
4
  import { openMenu } from './menu.mjs';
4
5
  import { setHidden } from './writes.mjs';
@@ -6,29 +7,55 @@ import { widgetWords } from './chrome-language.mjs';
6
7
  export function canvasHeader(options) {
7
8
  const { el, doc, designer } = options;
8
9
  const w = designer.words.canvas;
9
- const NEW_WORDS = { button: designer.words.defaults.newButton, stat: designer.words.defaults.counter, badge: designer.words.defaults.badge };
10
- const ADD_WORDS = { button: w.addButton, statusbar: w.addStatus, stat: w.addCounter, badge: w.addBadge };
10
+ const d = designer.words.defaults;
11
+ const NEW_WORDS = { button: d.newButton, stat: d.counter, badge: d.badge, ribbon: d.ribbon, alert: d.alert, menu: d.newMenuAction };
12
+ const ADD_WORDS = { button: w.addButton, statusbar: w.addStatus, stat: w.addCounter, badge: w.addBadge, ribbon: w.addRibbon, alert: w.addAlert, menu: w.addMenuItem };
11
13
  const adder = (kind) => {
12
14
  const button = el('button', { type: 'button', class: 'fd-canvas-add-part', 'data-add-part': kind }, designerIcon(doc, 'plus'), ADD_WORDS[kind]);
13
- button.addEventListener('click', () => (kind === 'statusbar' ? pickStatusField(button) : add(kind)));
15
+ button.addEventListener('click', () => (kind === 'statusbar' ? pickStatusField(button) : kind === 'menu' ? pickMenuItem(button) : add(kind)));
14
16
  return button;
15
17
  };
18
+ /** An item of the gear menu's words: its own, or the built-in's in the designer's language. */
19
+ const itemWords = (part) => wordsOf(part) || (part.builtin ? w.menuKinds[part.builtin] : '');
16
20
  const actions = el('div', { class: 'fd-actions fd-canvas-header-actions' });
17
21
  const steps = el('div', { class: 'fd-canvas-header-steps' });
18
- const top = el('div', { class: 'fd-header fd-canvas-header', hidden: '' }, actions, steps);
22
+ // The gear menu over the record, its items in a row after its gear.
23
+ const menuItems = el('div', { class: 'fd-canvas-menu-items' });
24
+ const menuRow = el('div', { class: 'fd-canvas-menu', role: 'group', 'aria-label': w.gearMenu }, el('span', { class: 'fd-canvas-menu-gear', 'aria-hidden': 'true' }, designerIcon(doc, 'more')), menuItems);
25
+ const top = el('div', { class: 'fd-header fd-canvas-header', hidden: '' }, menuRow, actions, steps);
19
26
  const stats = el('div', { class: 'fd-stats fd-canvas-stats' });
20
27
  const badges = el('div', { class: 'fd-badges fd-canvas-badges' });
21
- const card = el('div', { class: 'fd-canvas-header-card', hidden: '' }, stats, badges);
22
- const adders = { button: adder('button'), statusbar: adder('statusbar'), stat: adder('stat'), badge: adder('badge') };
28
+ // The ribbons, each a chip in its colour beside the badges (the viewer shows the first whose condition holds, in the card's corner),
29
+ // and the alerts as the viewer draws them: a row of their own only once there is one, so a sheet without keeps its height.
30
+ const alerts = el('div', { class: 'fd-canvas-alerts' });
31
+ const card = el('div', { class: 'fd-canvas-header-card', hidden: '' }, stats, alerts, badges);
32
+ const adders = { button: adder('button'), statusbar: adder('statusbar'), stat: adder('stat'), badge: adder('badge'), ribbon: adder('ribbon'), alert: adder('alert'), menu: adder('menu') };
23
33
  function add(kind) {
24
34
  const created = designer.addHeaderPart(kind, NEW_WORDS[kind]);
25
35
  if (created)
26
36
  focus(created);
27
37
  }
38
+ function pickMenuItem(anchor) {
39
+ const kinds = ['archive', 'unarchive', 'duplicate', 'delete', 'action', 'print'];
40
+ openMenu({
41
+ el,
42
+ anchor,
43
+ title: w.addMenuItem,
44
+ actions: true,
45
+ items: kinds.map((kind) => ({ id: kind, label: w.menuKinds[kind], divider: kind === 'action' })),
46
+ note: w.menuNote,
47
+ onPick: (kind) => {
48
+ const made = designer.addMenuItem(kind, kind === 'action' ? d.newMenuAction : kind === 'print' ? d.newReport : undefined);
49
+ if (made)
50
+ focus(made);
51
+ },
52
+ });
53
+ }
28
54
  function pickStatusField(anchor) {
29
55
  const page = designer.getPage();
30
56
  const own = Object.entries(page.fields).map(([name, field]) => ({ name, field }));
31
- const choices = [...own, ...designer.modelFields()].filter(({ field }) => field.type === 'selection' && !field.multiple);
57
+ // A choice's options, or the stages a link points to.
58
+ const choices = [...own, ...designer.modelFields()].filter(({ field }) => (field.type === 'selection' && !field.multiple) || field.type === 'many2one');
32
59
  openMenu({
33
60
  el,
34
61
  anchor,
@@ -47,20 +74,26 @@ export function canvasHeader(options) {
47
74
  return `fd-button fd-button-${part.style ?? 'secondary'}`;
48
75
  if (kind === 'stat')
49
76
  return 'fd-stat';
77
+ if (kind === 'ribbon')
78
+ return `fd-badge fd-canvas-ribbon fd-tone-${part.tone ?? 'muted'}`;
79
+ if (kind === 'alert')
80
+ return `fd-alert fd-tone-${part.tone ?? 'info'}`;
81
+ if (kind === 'menu')
82
+ return `fd-badge fd-canvas-menu-item${part.group === 'print' ? ' fd-canvas-menu-print' : ''}`;
50
83
  return `fd-badge fd-tone-${part.tone ?? 'muted'}`;
51
84
  }
52
85
  function closedPart(kind, part, page) {
53
- const tag = kind === 'badge' ? 'span' : 'button';
86
+ const tag = kind === 'badge' || kind === 'ribbon' ? 'span' : kind === 'alert' ? 'div' : 'button';
54
87
  const element = el(tag, { class: `${looks(kind, part)} fd-canvas-part`, 'data-part': part.id, ...(tag === 'button' ? { type: 'button' } : { role: 'button', tabindex: '0' }) });
55
88
  if (kind === 'stat') {
56
- const count = part.field;
57
- const value = el('span', { class: 'fd-stat-value' }, count ? '12' : '');
58
- element.append(el('span', { class: 'fd-stat-words' }, value, el('span', { class: 'fd-stat-label' }, part.label)));
89
+ const { field: count, unit } = part;
90
+ const value = el('span', { class: 'fd-stat-value' }, [count ? '12' : '', unit ?? ''].filter(Boolean).join(' '));
91
+ element.append(el('span', { class: 'fd-stat-words' }, value, el('span', { class: 'fd-stat-label' }, wordsOf(part))));
59
92
  if (count)
60
93
  element.title = w.shows(page.fields[count]?.label ?? count);
61
94
  }
62
95
  else
63
- element.append(part.label);
96
+ element.append(kind === 'menu' ? itemWords(part) : wordsOf(part));
64
97
  const pick = () => {
65
98
  designer.select(part.id);
66
99
  focus(part.id, false);
@@ -68,7 +101,7 @@ export function canvasHeader(options) {
68
101
  element.addEventListener('click', pick);
69
102
  element.addEventListener('keydown', (event) => {
70
103
  const key = event.key;
71
- if (tag === 'span' && (key === 'Enter' || key === ' ')) {
104
+ if (tag !== 'button' && (key === 'Enter' || key === ' ')) {
72
105
  event.preventDefault();
73
106
  pick();
74
107
  }
@@ -76,7 +109,7 @@ export function canvasHeader(options) {
76
109
  return element;
77
110
  }
78
111
  function openPart(kind, part) {
79
- const input = el('input', { class: 'fd-part-input', 'aria-label': w.words, autocomplete: 'off', size: String(Math.max(4, part.label.length + 1)) });
112
+ const input = el('input', { class: 'fd-part-input', 'aria-label': w.words, autocomplete: 'off', size: String(Math.max(4, itemWords(part).length + 1)), placeholder: kind === 'menu' ? itemWords(part) : undefined });
80
113
  input.addEventListener('input', () => {
81
114
  input.size = Math.max(4, input.value.length + 1);
82
115
  designer.updateHeaderPart(part.id, { label: input.value });
@@ -94,7 +127,7 @@ export function canvasHeader(options) {
94
127
  };
95
128
  const left = tool(w.moveLeft, 'left', () => designer.moveHeaderPart(part.id, -1));
96
129
  const right = tool(w.moveRight, 'right', () => designer.moveHeaderPart(part.id, 1));
97
- const bar = el('div', { class: 'fd-field-bar fd-part-bar', role: 'toolbar', 'aria-label': part.label }, left, right, tool(w.delete, 'delete', () => designer.removeHeaderPart(part.id)));
130
+ const bar = el('div', { class: 'fd-field-bar fd-part-bar', role: 'toolbar', 'aria-label': itemWords(part) }, left, right, tool(w.delete, 'delete', () => designer.removeHeaderPart(part.id)));
98
131
  const words = kind === 'stat' ? el('span', { class: 'fd-stat-words' }, el('span', { class: 'fd-stat-value' }, part.field ? '12' : ''), input) : input;
99
132
  const element = el('span', { class: `${looks(kind, part)} fd-canvas-part fd-editing`, 'data-part': part.id }, bar, words);
100
133
  return { element, key: '', input, left, right };
@@ -112,7 +145,10 @@ export function canvasHeader(options) {
112
145
  const shown = view;
113
146
  shown.key = key;
114
147
  if (shown.input && doc.activeElement !== shown.input)
115
- shown.input.value = part.label;
148
+ shown.input.value = wordsOf(part);
149
+ // A built-in item's own words stand in while it has none, as the record's own it now is.
150
+ if (shown.input && kind === 'menu')
151
+ shown.input.placeholder = itemWords(part);
116
152
  if (shown.input)
117
153
  shown.element.className = `${looks(kind, part)} fd-canvas-part fd-editing`;
118
154
  if (shown.left)
@@ -185,11 +221,14 @@ export function canvasHeader(options) {
185
221
  live.add(part.id);
186
222
  return drawPart(kind, part, i, all.length, page, selected);
187
223
  });
224
+ arrange(menuItems, [...row('menu', root.toolbar?.menu), adders.menu]);
188
225
  arrange(actions, [...row('button', root.buttons), adders.button]);
189
226
  statusPart.classList.toggle('fd-editing', selected === '#statusbar');
190
227
  arrange(steps, [root.statusbar ? drawSteps(root, page, form) : adders.statusbar]);
191
228
  arrange(stats, [...row('stat', root.statButtons), adders.stat]);
192
- arrange(badges, [...row('badge', root.badges), adders.badge]);
229
+ arrange(badges, [...row('badge', root.badges), adders.badge, ...row('ribbon', [...(root.ribbon ? [root.ribbon] : []), ...(root.ribbons ?? [])]), adders.ribbon, adders.alert]);
230
+ arrange(alerts, row('alert', root.alerts));
231
+ setHidden(alerts, !root.alerts?.length);
193
232
  for (const id of [...views.keys()])
194
233
  if (!live.has(id))
195
234
  views.delete(id);