@fieldia/designer 0.0.0-stage → 0.11.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 (1353) 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 +125 -0
  85. package/src/lib/canvas-form.js.map +1 -0
  86. package/src/lib/canvas-form.mjs +122 -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 +26 -0
  95. package/src/lib/canvas-header.d.ts +26 -0
  96. package/src/lib/canvas-header.js +206 -0
  97. package/src/lib/canvas-header.js.map +1 -0
  98. package/src/lib/canvas-header.mjs +203 -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 +36 -0
  143. package/src/lib/choice-commands.d.ts +36 -0
  144. package/src/lib/choice-commands.js +108 -0
  145. package/src/lib/choice-commands.js.map +1 -0
  146. package/src/lib/choice-commands.mjs +104 -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 +146 -0
  169. package/src/lib/clipboard-names.js.map +1 -0
  170. package/src/lib/clipboard-names.mjs +141 -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 +27 -0
  191. package/src/lib/conditions.d.ts +27 -0
  192. package/src/lib/conditions.js +77 -0
  193. package/src/lib/conditions.js.map +1 -0
  194. package/src/lib/conditions.mjs +71 -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 +470 -0
  203. package/src/lib/designer.d.ts +470 -0
  204. package/src/lib/designer.js +1225 -0
  205. package/src/lib/designer.js.map +1 -0
  206. package/src/lib/designer.mjs +1201 -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 +47 -0
  233. package/src/lib/header-commands.d.ts +47 -0
  234. package/src/lib/header-commands.js +174 -0
  235. package/src/lib/header-commands.js.map +1 -0
  236. package/src/lib/header-commands.mjs +170 -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 +121 -0
  241. package/src/lib/header-properties.js.map +1 -0
  242. package/src/lib/header-properties.mjs +117 -0
  243. package/src/lib/header-properties.mjs.map +1 -0
  244. package/src/lib/icons.d.mts +4 -0
  245. package/src/lib/icons.d.ts +4 -0
  246. package/src/lib/icons.js +91 -0
  247. package/src/lib/icons.js.map +1 -0
  248. package/src/lib/icons.mjs +87 -0
  249. package/src/lib/icons.mjs.map +1 -0
  250. package/src/lib/inline-settings.d.mts +17 -0
  251. package/src/lib/inline-settings.d.ts +17 -0
  252. package/src/lib/inline-settings.js +213 -0
  253. package/src/lib/inline-settings.js.map +1 -0
  254. package/src/lib/inline-settings.mjs +210 -0
  255. package/src/lib/inline-settings.mjs.map +1 -0
  256. package/src/lib/input-changes.d.mts +18 -0
  257. package/src/lib/input-changes.d.ts +18 -0
  258. package/src/lib/input-changes.js +80 -0
  259. package/src/lib/input-changes.js.map +1 -0
  260. package/src/lib/input-changes.mjs +77 -0
  261. package/src/lib/input-changes.mjs.map +1 -0
  262. package/src/lib/input-commands.d.mts +48 -0
  263. package/src/lib/input-commands.d.ts +48 -0
  264. package/src/lib/input-commands.js +160 -0
  265. package/src/lib/input-commands.js.map +1 -0
  266. package/src/lib/input-commands.mjs +155 -0
  267. package/src/lib/input-commands.mjs.map +1 -0
  268. package/src/lib/json-checks.d.mts +26 -0
  269. package/src/lib/json-checks.d.ts +26 -0
  270. package/src/lib/json-checks.js +208 -0
  271. package/src/lib/json-checks.js.map +1 -0
  272. package/src/lib/json-checks.mjs +204 -0
  273. package/src/lib/json-checks.mjs.map +1 -0
  274. package/src/lib/json-code.d.mts +33 -0
  275. package/src/lib/json-code.d.ts +33 -0
  276. package/src/lib/json-code.js +124 -0
  277. package/src/lib/json-code.js.map +1 -0
  278. package/src/lib/json-code.mjs +120 -0
  279. package/src/lib/json-code.mjs.map +1 -0
  280. package/src/lib/json-text.d.mts +46 -0
  281. package/src/lib/json-text.d.ts +46 -0
  282. package/src/lib/json-text.js +260 -0
  283. package/src/lib/json-text.js.map +1 -0
  284. package/src/lib/json-text.mjs +253 -0
  285. package/src/lib/json-text.mjs.map +1 -0
  286. package/src/lib/json-view.d.mts +29 -0
  287. package/src/lib/json-view.d.ts +29 -0
  288. package/src/lib/json-view.js +235 -0
  289. package/src/lib/json-view.js.map +1 -0
  290. package/src/lib/json-view.mjs +232 -0
  291. package/src/lib/json-view.mjs.map +1 -0
  292. package/src/lib/keep-unchanged.d.mts +12 -0
  293. package/src/lib/keep-unchanged.d.ts +12 -0
  294. package/src/lib/keep-unchanged.js +68 -0
  295. package/src/lib/keep-unchanged.js.map +1 -0
  296. package/src/lib/keep-unchanged.mjs +65 -0
  297. package/src/lib/keep-unchanged.mjs.map +1 -0
  298. package/src/lib/kind-commands.d.mts +40 -0
  299. package/src/lib/kind-commands.d.ts +40 -0
  300. package/src/lib/kind-commands.js +149 -0
  301. package/src/lib/kind-commands.js.map +1 -0
  302. package/src/lib/kind-commands.mjs +145 -0
  303. package/src/lib/kind-commands.mjs.map +1 -0
  304. package/src/lib/kind-previews.d.mts +11 -0
  305. package/src/lib/kind-previews.d.ts +11 -0
  306. package/src/lib/kind-previews.js +45 -0
  307. package/src/lib/kind-previews.js.map +1 -0
  308. package/src/lib/kind-previews.mjs +42 -0
  309. package/src/lib/kind-previews.mjs.map +1 -0
  310. package/src/lib/kind-settings-choices.d.mts +17 -0
  311. package/src/lib/kind-settings-choices.d.ts +17 -0
  312. package/src/lib/kind-settings-choices.js +164 -0
  313. package/src/lib/kind-settings-choices.js.map +1 -0
  314. package/src/lib/kind-settings-choices.mjs +161 -0
  315. package/src/lib/kind-settings-choices.mjs.map +1 -0
  316. package/src/lib/kind-settings-inputs.d.mts +20 -0
  317. package/src/lib/kind-settings-inputs.d.ts +20 -0
  318. package/src/lib/kind-settings-inputs.js +269 -0
  319. package/src/lib/kind-settings-inputs.js.map +1 -0
  320. package/src/lib/kind-settings-inputs.mjs +266 -0
  321. package/src/lib/kind-settings-inputs.mjs.map +1 -0
  322. package/src/lib/kind-settings-structures.d.mts +20 -0
  323. package/src/lib/kind-settings-structures.d.ts +20 -0
  324. package/src/lib/kind-settings-structures.js +205 -0
  325. package/src/lib/kind-settings-structures.js.map +1 -0
  326. package/src/lib/kind-settings-structures.mjs +201 -0
  327. package/src/lib/kind-settings-structures.mjs.map +1 -0
  328. package/src/lib/kind-settings.d.mts +18 -0
  329. package/src/lib/kind-settings.d.ts +18 -0
  330. package/src/lib/kind-settings.js +325 -0
  331. package/src/lib/kind-settings.js.map +1 -0
  332. package/src/lib/kind-settings.mjs +322 -0
  333. package/src/lib/kind-settings.mjs.map +1 -0
  334. package/src/lib/kinds.d.mts +66 -0
  335. package/src/lib/kinds.d.ts +66 -0
  336. package/src/lib/kinds.js +212 -0
  337. package/src/lib/kinds.js.map +1 -0
  338. package/src/lib/kinds.mjs +199 -0
  339. package/src/lib/kinds.mjs.map +1 -0
  340. package/src/lib/language-names.d.mts +8 -0
  341. package/src/lib/language-names.d.ts +8 -0
  342. package/src/lib/language-names.js +72 -0
  343. package/src/lib/language-names.js.map +1 -0
  344. package/src/lib/language-names.mjs +68 -0
  345. package/src/lib/language-names.mjs.map +1 -0
  346. package/src/lib/layout-changes.d.mts +43 -0
  347. package/src/lib/layout-changes.d.ts +43 -0
  348. package/src/lib/layout-changes.js +296 -0
  349. package/src/lib/layout-changes.js.map +1 -0
  350. package/src/lib/layout-changes.mjs +290 -0
  351. package/src/lib/layout-changes.mjs.map +1 -0
  352. package/src/lib/layout-ops.d.mts +105 -0
  353. package/src/lib/layout-ops.d.ts +105 -0
  354. package/src/lib/layout-ops.js +558 -0
  355. package/src/lib/layout-ops.js.map +1 -0
  356. package/src/lib/layout-ops.mjs +537 -0
  357. package/src/lib/layout-ops.mjs.map +1 -0
  358. package/src/lib/layout-settings.d.mts +69 -0
  359. package/src/lib/layout-settings.d.ts +69 -0
  360. package/src/lib/layout-settings.js +257 -0
  361. package/src/lib/layout-settings.js.map +1 -0
  362. package/src/lib/layout-settings.mjs +246 -0
  363. package/src/lib/layout-settings.mjs.map +1 -0
  364. package/src/lib/layout-several.d.mts +15 -0
  365. package/src/lib/layout-several.d.ts +15 -0
  366. package/src/lib/layout-several.js +50 -0
  367. package/src/lib/layout-several.js.map +1 -0
  368. package/src/lib/layout-several.mjs +47 -0
  369. package/src/lib/layout-several.mjs.map +1 -0
  370. package/src/lib/layout-tree.d.mts +75 -0
  371. package/src/lib/layout-tree.d.ts +75 -0
  372. package/src/lib/layout-tree.js +186 -0
  373. package/src/lib/layout-tree.js.map +1 -0
  374. package/src/lib/layout-tree.mjs +163 -0
  375. package/src/lib/layout-tree.mjs.map +1 -0
  376. package/src/lib/layout-twelfths.d.mts +101 -0
  377. package/src/lib/layout-twelfths.d.ts +101 -0
  378. package/src/lib/layout-twelfths.js +233 -0
  379. package/src/lib/layout-twelfths.js.map +1 -0
  380. package/src/lib/layout-twelfths.mjs +210 -0
  381. package/src/lib/layout-twelfths.mjs.map +1 -0
  382. package/src/lib/list-canvas.d.mts +30 -0
  383. package/src/lib/list-canvas.d.ts +30 -0
  384. package/src/lib/list-canvas.js +224 -0
  385. package/src/lib/list-canvas.js.map +1 -0
  386. package/src/lib/list-canvas.mjs +221 -0
  387. package/src/lib/list-canvas.mjs.map +1 -0
  388. package/src/lib/list-commands.d.mts +57 -0
  389. package/src/lib/list-commands.d.ts +57 -0
  390. package/src/lib/list-commands.js +245 -0
  391. package/src/lib/list-commands.js.map +1 -0
  392. package/src/lib/list-commands.mjs +238 -0
  393. package/src/lib/list-commands.mjs.map +1 -0
  394. package/src/lib/list-properties.d.mts +6 -0
  395. package/src/lib/list-properties.d.ts +6 -0
  396. package/src/lib/list-properties.js +310 -0
  397. package/src/lib/list-properties.js.map +1 -0
  398. package/src/lib/list-properties.mjs +305 -0
  399. package/src/lib/list-properties.mjs.map +1 -0
  400. package/src/lib/list-source.d.mts +10 -0
  401. package/src/lib/list-source.d.ts +10 -0
  402. package/src/lib/list-source.js +81 -0
  403. package/src/lib/list-source.js.map +1 -0
  404. package/src/lib/list-source.mjs +78 -0
  405. package/src/lib/list-source.mjs.map +1 -0
  406. package/src/lib/locales/ar/bar.d.mts +2 -0
  407. package/src/lib/locales/ar/bar.d.ts +2 -0
  408. package/src/lib/locales/ar/bar.js +58 -0
  409. package/src/lib/locales/ar/bar.js.map +1 -0
  410. package/src/lib/locales/ar/bar.mjs +55 -0
  411. package/src/lib/locales/ar/bar.mjs.map +1 -0
  412. package/src/lib/locales/ar/canvas.d.mts +2 -0
  413. package/src/lib/locales/ar/canvas.d.ts +2 -0
  414. package/src/lib/locales/ar/canvas.js +115 -0
  415. package/src/lib/locales/ar/canvas.js.map +1 -0
  416. package/src/lib/locales/ar/canvas.mjs +112 -0
  417. package/src/lib/locales/ar/canvas.mjs.map +1 -0
  418. package/src/lib/locales/ar/changes.d.mts +3 -0
  419. package/src/lib/locales/ar/changes.d.ts +3 -0
  420. package/src/lib/locales/ar/changes.js +158 -0
  421. package/src/lib/locales/ar/changes.js.map +1 -0
  422. package/src/lib/locales/ar/changes.mjs +155 -0
  423. package/src/lib/locales/ar/changes.mjs.map +1 -0
  424. package/src/lib/locales/ar/checks.d.mts +2 -0
  425. package/src/lib/locales/ar/checks.d.ts +2 -0
  426. package/src/lib/locales/ar/checks.js +36 -0
  427. package/src/lib/locales/ar/checks.js.map +1 -0
  428. package/src/lib/locales/ar/checks.mjs +33 -0
  429. package/src/lib/locales/ar/checks.mjs.map +1 -0
  430. package/src/lib/locales/ar/defaults.d.mts +2 -0
  431. package/src/lib/locales/ar/defaults.d.ts +2 -0
  432. package/src/lib/locales/ar/defaults.js +33 -0
  433. package/src/lib/locales/ar/defaults.js.map +1 -0
  434. package/src/lib/locales/ar/defaults.mjs +30 -0
  435. package/src/lib/locales/ar/defaults.mjs.map +1 -0
  436. package/src/lib/locales/ar/index.d.mts +25 -0
  437. package/src/lib/locales/ar/index.d.ts +25 -0
  438. package/src/lib/locales/ar/index.js +56 -0
  439. package/src/lib/locales/ar/index.js.map +1 -0
  440. package/src/lib/locales/ar/index.mjs +53 -0
  441. package/src/lib/locales/ar/index.mjs.map +1 -0
  442. package/src/lib/locales/ar/json.d.mts +2 -0
  443. package/src/lib/locales/ar/json.d.ts +2 -0
  444. package/src/lib/locales/ar/json.js +50 -0
  445. package/src/lib/locales/ar/json.js.map +1 -0
  446. package/src/lib/locales/ar/json.mjs +47 -0
  447. package/src/lib/locales/ar/json.mjs.map +1 -0
  448. package/src/lib/locales/ar/kinds.d.mts +2 -0
  449. package/src/lib/locales/ar/kinds.d.ts +2 -0
  450. package/src/lib/locales/ar/kinds.js +74 -0
  451. package/src/lib/locales/ar/kinds.js.map +1 -0
  452. package/src/lib/locales/ar/kinds.mjs +71 -0
  453. package/src/lib/locales/ar/kinds.mjs.map +1 -0
  454. package/src/lib/locales/ar/languages.d.mts +2 -0
  455. package/src/lib/locales/ar/languages.d.ts +2 -0
  456. package/src/lib/locales/ar/languages.js +8 -0
  457. package/src/lib/locales/ar/languages.js.map +1 -0
  458. package/src/lib/locales/ar/languages.mjs +5 -0
  459. package/src/lib/locales/ar/languages.mjs.map +1 -0
  460. package/src/lib/locales/ar/layout.d.mts +2 -0
  461. package/src/lib/locales/ar/layout.d.ts +2 -0
  462. package/src/lib/locales/ar/layout.js +76 -0
  463. package/src/lib/locales/ar/layout.js.map +1 -0
  464. package/src/lib/locales/ar/layout.mjs +73 -0
  465. package/src/lib/locales/ar/layout.mjs.map +1 -0
  466. package/src/lib/locales/ar/list.d.mts +2 -0
  467. package/src/lib/locales/ar/list.d.ts +2 -0
  468. package/src/lib/locales/ar/list.js +65 -0
  469. package/src/lib/locales/ar/list.js.map +1 -0
  470. package/src/lib/locales/ar/list.mjs +62 -0
  471. package/src/lib/locales/ar/list.mjs.map +1 -0
  472. package/src/lib/locales/ar/looks.d.mts +2 -0
  473. package/src/lib/locales/ar/looks.d.ts +2 -0
  474. package/src/lib/locales/ar/looks.js +38 -0
  475. package/src/lib/locales/ar/looks.js.map +1 -0
  476. package/src/lib/locales/ar/looks.mjs +35 -0
  477. package/src/lib/locales/ar/looks.mjs.map +1 -0
  478. package/src/lib/locales/ar/options.d.mts +2 -0
  479. package/src/lib/locales/ar/options.d.ts +2 -0
  480. package/src/lib/locales/ar/options.js +18 -0
  481. package/src/lib/locales/ar/options.js.map +1 -0
  482. package/src/lib/locales/ar/options.mjs +15 -0
  483. package/src/lib/locales/ar/options.mjs.map +1 -0
  484. package/src/lib/locales/ar/outline.d.mts +3 -0
  485. package/src/lib/locales/ar/outline.d.ts +3 -0
  486. package/src/lib/locales/ar/outline.js +111 -0
  487. package/src/lib/locales/ar/outline.js.map +1 -0
  488. package/src/lib/locales/ar/outline.mjs +108 -0
  489. package/src/lib/locales/ar/outline.mjs.map +1 -0
  490. package/src/lib/locales/ar/panel.d.mts +2 -0
  491. package/src/lib/locales/ar/panel.d.ts +2 -0
  492. package/src/lib/locales/ar/panel.js +309 -0
  493. package/src/lib/locales/ar/panel.js.map +1 -0
  494. package/src/lib/locales/ar/panel.mjs +306 -0
  495. package/src/lib/locales/ar/panel.mjs.map +1 -0
  496. package/src/lib/locales/ar/part-looks.d.mts +2 -0
  497. package/src/lib/locales/ar/part-looks.d.ts +2 -0
  498. package/src/lib/locales/ar/part-looks.js +34 -0
  499. package/src/lib/locales/ar/part-looks.js.map +1 -0
  500. package/src/lib/locales/ar/part-looks.mjs +31 -0
  501. package/src/lib/locales/ar/part-looks.mjs.map +1 -0
  502. package/src/lib/locales/ar/parts.d.mts +2 -0
  503. package/src/lib/locales/ar/parts.d.ts +2 -0
  504. package/src/lib/locales/ar/parts.js +22 -0
  505. package/src/lib/locales/ar/parts.js.map +1 -0
  506. package/src/lib/locales/ar/parts.mjs +19 -0
  507. package/src/lib/locales/ar/parts.mjs.map +1 -0
  508. package/src/lib/locales/ar/questions.d.mts +2 -0
  509. package/src/lib/locales/ar/questions.d.ts +2 -0
  510. package/src/lib/locales/ar/questions.js +245 -0
  511. package/src/lib/locales/ar/questions.js.map +1 -0
  512. package/src/lib/locales/ar/questions.mjs +242 -0
  513. package/src/lib/locales/ar/questions.mjs.map +1 -0
  514. package/src/lib/locales/ar/refusals.d.mts +2 -0
  515. package/src/lib/locales/ar/refusals.d.ts +2 -0
  516. package/src/lib/locales/ar/refusals.js +145 -0
  517. package/src/lib/locales/ar/refusals.js.map +1 -0
  518. package/src/lib/locales/ar/refusals.mjs +142 -0
  519. package/src/lib/locales/ar/refusals.mjs.map +1 -0
  520. package/src/lib/locales/ar/rules-ui.d.mts +2 -0
  521. package/src/lib/locales/ar/rules-ui.d.ts +2 -0
  522. package/src/lib/locales/ar/rules-ui.js +139 -0
  523. package/src/lib/locales/ar/rules-ui.js.map +1 -0
  524. package/src/lib/locales/ar/rules-ui.mjs +136 -0
  525. package/src/lib/locales/ar/rules-ui.mjs.map +1 -0
  526. package/src/lib/locales/ar/rules.d.mts +2 -0
  527. package/src/lib/locales/ar/rules.d.ts +2 -0
  528. package/src/lib/locales/ar/rules.js +153 -0
  529. package/src/lib/locales/ar/rules.js.map +1 -0
  530. package/src/lib/locales/ar/rules.mjs +150 -0
  531. package/src/lib/locales/ar/rules.mjs.map +1 -0
  532. package/src/lib/locales/ar/saved-forms.d.mts +2 -0
  533. package/src/lib/locales/ar/saved-forms.d.ts +2 -0
  534. package/src/lib/locales/ar/saved-forms.js +48 -0
  535. package/src/lib/locales/ar/saved-forms.js.map +1 -0
  536. package/src/lib/locales/ar/saved-forms.mjs +45 -0
  537. package/src/lib/locales/ar/saved-forms.mjs.map +1 -0
  538. package/src/lib/locales/ar/settings-changes.d.mts +2 -0
  539. package/src/lib/locales/ar/settings-changes.d.ts +2 -0
  540. package/src/lib/locales/ar/settings-changes.js +59 -0
  541. package/src/lib/locales/ar/settings-changes.js.map +1 -0
  542. package/src/lib/locales/ar/settings-changes.mjs +56 -0
  543. package/src/lib/locales/ar/settings-changes.mjs.map +1 -0
  544. package/src/lib/locales/ar/shortcuts.d.mts +2 -0
  545. package/src/lib/locales/ar/shortcuts.d.ts +2 -0
  546. package/src/lib/locales/ar/shortcuts.js +36 -0
  547. package/src/lib/locales/ar/shortcuts.js.map +1 -0
  548. package/src/lib/locales/ar/shortcuts.mjs +33 -0
  549. package/src/lib/locales/ar/shortcuts.mjs.map +1 -0
  550. package/src/lib/locales/ar/steps.d.mts +2 -0
  551. package/src/lib/locales/ar/steps.d.ts +2 -0
  552. package/src/lib/locales/ar/steps.js +155 -0
  553. package/src/lib/locales/ar/steps.js.map +1 -0
  554. package/src/lib/locales/ar/steps.mjs +152 -0
  555. package/src/lib/locales/ar/steps.mjs.map +1 -0
  556. package/src/lib/locales/ar/templates.d.mts +3 -0
  557. package/src/lib/locales/ar/templates.d.ts +3 -0
  558. package/src/lib/locales/ar/templates.js +114 -0
  559. package/src/lib/locales/ar/templates.js.map +1 -0
  560. package/src/lib/locales/ar/templates.mjs +111 -0
  561. package/src/lib/locales/ar/templates.mjs.map +1 -0
  562. package/src/lib/locales/ar/toolbox.d.mts +2 -0
  563. package/src/lib/locales/ar/toolbox.d.ts +2 -0
  564. package/src/lib/locales/ar/toolbox.js +50 -0
  565. package/src/lib/locales/ar/toolbox.js.map +1 -0
  566. package/src/lib/locales/ar/toolbox.mjs +47 -0
  567. package/src/lib/locales/ar/toolbox.mjs.map +1 -0
  568. package/src/lib/locales/ar/translations.d.mts +2 -0
  569. package/src/lib/locales/ar/translations.d.ts +2 -0
  570. package/src/lib/locales/ar/translations.js +69 -0
  571. package/src/lib/locales/ar/translations.js.map +1 -0
  572. package/src/lib/locales/ar/translations.mjs +66 -0
  573. package/src/lib/locales/ar/translations.mjs.map +1 -0
  574. package/src/lib/locales/ar/try-it.d.mts +2 -0
  575. package/src/lib/locales/ar/try-it.d.ts +2 -0
  576. package/src/lib/locales/ar/try-it.js +29 -0
  577. package/src/lib/locales/ar/try-it.js.map +1 -0
  578. package/src/lib/locales/ar/try-it.mjs +26 -0
  579. package/src/lib/locales/ar/try-it.mjs.map +1 -0
  580. package/src/lib/locales/en/bar.d.mts +56 -0
  581. package/src/lib/locales/en/bar.d.ts +56 -0
  582. package/src/lib/locales/en/bar.js +66 -0
  583. package/src/lib/locales/en/bar.js.map +1 -0
  584. package/src/lib/locales/en/bar.mjs +63 -0
  585. package/src/lib/locales/en/bar.mjs.map +1 -0
  586. package/src/lib/locales/en/canvas.d.mts +106 -0
  587. package/src/lib/locales/en/canvas.d.ts +106 -0
  588. package/src/lib/locales/en/canvas.js +123 -0
  589. package/src/lib/locales/en/canvas.js.map +1 -0
  590. package/src/lib/locales/en/canvas.mjs +120 -0
  591. package/src/lib/locales/en/canvas.mjs.map +1 -0
  592. package/src/lib/locales/en/changes.d.mts +139 -0
  593. package/src/lib/locales/en/changes.d.ts +139 -0
  594. package/src/lib/locales/en/changes.js +162 -0
  595. package/src/lib/locales/en/changes.js.map +1 -0
  596. package/src/lib/locales/en/changes.mjs +159 -0
  597. package/src/lib/locales/en/changes.mjs.map +1 -0
  598. package/src/lib/locales/en/checks.d.mts +32 -0
  599. package/src/lib/locales/en/checks.d.ts +32 -0
  600. package/src/lib/locales/en/checks.js +38 -0
  601. package/src/lib/locales/en/checks.js.map +1 -0
  602. package/src/lib/locales/en/checks.mjs +35 -0
  603. package/src/lib/locales/en/checks.mjs.map +1 -0
  604. package/src/lib/locales/en/defaults.d.mts +37 -0
  605. package/src/lib/locales/en/defaults.d.ts +37 -0
  606. package/src/lib/locales/en/defaults.js +41 -0
  607. package/src/lib/locales/en/defaults.js.map +1 -0
  608. package/src/lib/locales/en/defaults.mjs +38 -0
  609. package/src/lib/locales/en/defaults.mjs.map +1 -0
  610. package/src/lib/locales/en/index.d.mts +2287 -0
  611. package/src/lib/locales/en/index.d.ts +2287 -0
  612. package/src/lib/locales/en/index.js +34 -0
  613. package/src/lib/locales/en/index.js.map +1 -0
  614. package/src/lib/locales/en/index.mjs +31 -0
  615. package/src/lib/locales/en/index.mjs.map +1 -0
  616. package/src/lib/locales/en/json.d.mts +51 -0
  617. package/src/lib/locales/en/json.d.ts +51 -0
  618. package/src/lib/locales/en/json.js +52 -0
  619. package/src/lib/locales/en/json.js.map +1 -0
  620. package/src/lib/locales/en/json.mjs +49 -0
  621. package/src/lib/locales/en/json.mjs.map +1 -0
  622. package/src/lib/locales/en/kinds.d.mts +74 -0
  623. package/src/lib/locales/en/kinds.d.ts +74 -0
  624. package/src/lib/locales/en/kinds.js +78 -0
  625. package/src/lib/locales/en/kinds.js.map +1 -0
  626. package/src/lib/locales/en/kinds.mjs +75 -0
  627. package/src/lib/locales/en/kinds.mjs.map +1 -0
  628. package/src/lib/locales/en/languages.d.mts +5 -0
  629. package/src/lib/locales/en/languages.d.ts +5 -0
  630. package/src/lib/locales/en/languages.js +10 -0
  631. package/src/lib/locales/en/languages.js.map +1 -0
  632. package/src/lib/locales/en/languages.mjs +7 -0
  633. package/src/lib/locales/en/languages.mjs.map +1 -0
  634. package/src/lib/locales/en/layout.d.mts +102 -0
  635. package/src/lib/locales/en/layout.d.ts +102 -0
  636. package/src/lib/locales/en/layout.js +85 -0
  637. package/src/lib/locales/en/layout.js.map +1 -0
  638. package/src/lib/locales/en/layout.mjs +82 -0
  639. package/src/lib/locales/en/layout.mjs.map +1 -0
  640. package/src/lib/locales/en/list.d.mts +63 -0
  641. package/src/lib/locales/en/list.d.ts +63 -0
  642. package/src/lib/locales/en/list.js +72 -0
  643. package/src/lib/locales/en/list.js.map +1 -0
  644. package/src/lib/locales/en/list.mjs +69 -0
  645. package/src/lib/locales/en/list.mjs.map +1 -0
  646. package/src/lib/locales/en/looks.d.mts +35 -0
  647. package/src/lib/locales/en/looks.d.ts +35 -0
  648. package/src/lib/locales/en/looks.js +39 -0
  649. package/src/lib/locales/en/looks.js.map +1 -0
  650. package/src/lib/locales/en/looks.mjs +36 -0
  651. package/src/lib/locales/en/looks.mjs.map +1 -0
  652. package/src/lib/locales/en/options.d.mts +15 -0
  653. package/src/lib/locales/en/options.d.ts +15 -0
  654. package/src/lib/locales/en/options.js +19 -0
  655. package/src/lib/locales/en/options.js.map +1 -0
  656. package/src/lib/locales/en/options.mjs +16 -0
  657. package/src/lib/locales/en/options.mjs.map +1 -0
  658. package/src/lib/locales/en/outline.d.mts +91 -0
  659. package/src/lib/locales/en/outline.d.ts +91 -0
  660. package/src/lib/locales/en/outline.js +120 -0
  661. package/src/lib/locales/en/outline.js.map +1 -0
  662. package/src/lib/locales/en/outline.mjs +117 -0
  663. package/src/lib/locales/en/outline.mjs.map +1 -0
  664. package/src/lib/locales/en/panel.d.mts +289 -0
  665. package/src/lib/locales/en/panel.d.ts +289 -0
  666. package/src/lib/locales/en/panel.js +260 -0
  667. package/src/lib/locales/en/panel.js.map +1 -0
  668. package/src/lib/locales/en/panel.mjs +257 -0
  669. package/src/lib/locales/en/panel.mjs.map +1 -0
  670. package/src/lib/locales/en/part-looks.d.mts +49 -0
  671. package/src/lib/locales/en/part-looks.d.ts +49 -0
  672. package/src/lib/locales/en/part-looks.js +42 -0
  673. package/src/lib/locales/en/part-looks.js.map +1 -0
  674. package/src/lib/locales/en/part-looks.mjs +39 -0
  675. package/src/lib/locales/en/part-looks.mjs.map +1 -0
  676. package/src/lib/locales/en/parts.d.mts +30 -0
  677. package/src/lib/locales/en/parts.d.ts +30 -0
  678. package/src/lib/locales/en/parts.js +27 -0
  679. package/src/lib/locales/en/parts.js.map +1 -0
  680. package/src/lib/locales/en/parts.mjs +24 -0
  681. package/src/lib/locales/en/parts.mjs.map +1 -0
  682. package/src/lib/locales/en/questions.d.mts +266 -0
  683. package/src/lib/locales/en/questions.d.ts +266 -0
  684. package/src/lib/locales/en/questions.js +252 -0
  685. package/src/lib/locales/en/questions.js.map +1 -0
  686. package/src/lib/locales/en/questions.mjs +249 -0
  687. package/src/lib/locales/en/questions.mjs.map +1 -0
  688. package/src/lib/locales/en/refusals.d.mts +146 -0
  689. package/src/lib/locales/en/refusals.d.ts +146 -0
  690. package/src/lib/locales/en/refusals.js +159 -0
  691. package/src/lib/locales/en/refusals.js.map +1 -0
  692. package/src/lib/locales/en/refusals.mjs +156 -0
  693. package/src/lib/locales/en/refusals.mjs.map +1 -0
  694. package/src/lib/locales/en/rules-ui.d.mts +160 -0
  695. package/src/lib/locales/en/rules-ui.d.ts +160 -0
  696. package/src/lib/locales/en/rules-ui.js +156 -0
  697. package/src/lib/locales/en/rules-ui.js.map +1 -0
  698. package/src/lib/locales/en/rules-ui.mjs +153 -0
  699. package/src/lib/locales/en/rules-ui.mjs.map +1 -0
  700. package/src/lib/locales/en/rules.d.mts +152 -0
  701. package/src/lib/locales/en/rules.d.ts +152 -0
  702. package/src/lib/locales/en/rules.js +157 -0
  703. package/src/lib/locales/en/rules.js.map +1 -0
  704. package/src/lib/locales/en/rules.mjs +154 -0
  705. package/src/lib/locales/en/rules.mjs.map +1 -0
  706. package/src/lib/locales/en/saved-forms.d.mts +44 -0
  707. package/src/lib/locales/en/saved-forms.d.ts +44 -0
  708. package/src/lib/locales/en/saved-forms.js +53 -0
  709. package/src/lib/locales/en/saved-forms.js.map +1 -0
  710. package/src/lib/locales/en/saved-forms.mjs +50 -0
  711. package/src/lib/locales/en/saved-forms.mjs.map +1 -0
  712. package/src/lib/locales/en/settings-changes.d.mts +68 -0
  713. package/src/lib/locales/en/settings-changes.d.ts +68 -0
  714. package/src/lib/locales/en/settings-changes.js +64 -0
  715. package/src/lib/locales/en/settings-changes.js.map +1 -0
  716. package/src/lib/locales/en/settings-changes.mjs +61 -0
  717. package/src/lib/locales/en/settings-changes.mjs.map +1 -0
  718. package/src/lib/locales/en/shortcuts.d.mts +25 -0
  719. package/src/lib/locales/en/shortcuts.d.ts +25 -0
  720. package/src/lib/locales/en/shortcuts.js +38 -0
  721. package/src/lib/locales/en/shortcuts.js.map +1 -0
  722. package/src/lib/locales/en/shortcuts.mjs +35 -0
  723. package/src/lib/locales/en/shortcuts.mjs.map +1 -0
  724. package/src/lib/locales/en/steps.d.mts +187 -0
  725. package/src/lib/locales/en/steps.d.ts +187 -0
  726. package/src/lib/locales/en/steps.js +172 -0
  727. package/src/lib/locales/en/steps.js.map +1 -0
  728. package/src/lib/locales/en/steps.mjs +169 -0
  729. package/src/lib/locales/en/steps.mjs.map +1 -0
  730. package/src/lib/locales/en/templates.d.mts +114 -0
  731. package/src/lib/locales/en/templates.d.ts +114 -0
  732. package/src/lib/locales/en/templates.js +122 -0
  733. package/src/lib/locales/en/templates.js.map +1 -0
  734. package/src/lib/locales/en/templates.mjs +119 -0
  735. package/src/lib/locales/en/templates.mjs.map +1 -0
  736. package/src/lib/locales/en/toolbox.d.mts +37 -0
  737. package/src/lib/locales/en/toolbox.d.ts +37 -0
  738. package/src/lib/locales/en/toolbox.js +53 -0
  739. package/src/lib/locales/en/toolbox.js.map +1 -0
  740. package/src/lib/locales/en/toolbox.mjs +50 -0
  741. package/src/lib/locales/en/toolbox.mjs.map +1 -0
  742. package/src/lib/locales/en/translations.d.mts +58 -0
  743. package/src/lib/locales/en/translations.d.ts +58 -0
  744. package/src/lib/locales/en/translations.js +68 -0
  745. package/src/lib/locales/en/translations.js.map +1 -0
  746. package/src/lib/locales/en/translations.mjs +65 -0
  747. package/src/lib/locales/en/translations.mjs.map +1 -0
  748. package/src/lib/locales/en/try-it.d.mts +30 -0
  749. package/src/lib/locales/en/try-it.d.ts +30 -0
  750. package/src/lib/locales/en/try-it.js +32 -0
  751. package/src/lib/locales/en/try-it.js.map +1 -0
  752. package/src/lib/locales/en/try-it.mjs +29 -0
  753. package/src/lib/locales/en/try-it.mjs.map +1 -0
  754. package/src/lib/locales/speak.d.mts +23 -0
  755. package/src/lib/locales/speak.d.ts +23 -0
  756. package/src/lib/locales/speak.js +38 -0
  757. package/src/lib/locales/speak.js.map +1 -0
  758. package/src/lib/locales/speak.mjs +30 -0
  759. package/src/lib/locales/speak.mjs.map +1 -0
  760. package/src/lib/look-hub.d.mts +31 -0
  761. package/src/lib/look-hub.d.ts +31 -0
  762. package/src/lib/look-hub.js +78 -0
  763. package/src/lib/look-hub.js.map +1 -0
  764. package/src/lib/look-hub.mjs +73 -0
  765. package/src/lib/look-hub.mjs.map +1 -0
  766. package/src/lib/look-parts-words.d.mts +15 -0
  767. package/src/lib/look-parts-words.d.ts +15 -0
  768. package/src/lib/look-parts-words.js +19 -0
  769. package/src/lib/look-parts-words.js.map +1 -0
  770. package/src/lib/look-parts-words.mjs +15 -0
  771. package/src/lib/look-parts-words.mjs.map +1 -0
  772. package/src/lib/look-presets.d.mts +38 -0
  773. package/src/lib/look-presets.d.ts +38 -0
  774. package/src/lib/look-presets.js +61 -0
  775. package/src/lib/look-presets.js.map +1 -0
  776. package/src/lib/look-presets.mjs +53 -0
  777. package/src/lib/look-presets.mjs.map +1 -0
  778. package/src/lib/look-row.d.mts +22 -0
  779. package/src/lib/look-row.d.ts +22 -0
  780. package/src/lib/look-row.js +282 -0
  781. package/src/lib/look-row.js.map +1 -0
  782. package/src/lib/look-row.mjs +277 -0
  783. package/src/lib/look-row.mjs.map +1 -0
  784. package/src/lib/look-store.d.mts +16 -0
  785. package/src/lib/look-store.d.ts +16 -0
  786. package/src/lib/look-store.js +151 -0
  787. package/src/lib/look-store.js.map +1 -0
  788. package/src/lib/look-store.mjs +145 -0
  789. package/src/lib/look-store.mjs.map +1 -0
  790. package/src/lib/menu.d.mts +37 -0
  791. package/src/lib/menu.d.ts +37 -0
  792. package/src/lib/menu.js +96 -0
  793. package/src/lib/menu.js.map +1 -0
  794. package/src/lib/menu.mjs +93 -0
  795. package/src/lib/menu.mjs.map +1 -0
  796. package/src/lib/outline-drag.d.mts +30 -0
  797. package/src/lib/outline-drag.d.ts +30 -0
  798. package/src/lib/outline-drag.js +223 -0
  799. package/src/lib/outline-drag.js.map +1 -0
  800. package/src/lib/outline-drag.mjs +220 -0
  801. package/src/lib/outline-drag.mjs.map +1 -0
  802. package/src/lib/outline-drop.d.mts +27 -0
  803. package/src/lib/outline-drop.d.ts +27 -0
  804. package/src/lib/outline-drop.js +53 -0
  805. package/src/lib/outline-drop.js.map +1 -0
  806. package/src/lib/outline-drop.mjs +50 -0
  807. package/src/lib/outline-drop.mjs.map +1 -0
  808. package/src/lib/outline-key-moves.d.mts +26 -0
  809. package/src/lib/outline-key-moves.d.ts +26 -0
  810. package/src/lib/outline-key-moves.js +70 -0
  811. package/src/lib/outline-key-moves.js.map +1 -0
  812. package/src/lib/outline-key-moves.mjs +67 -0
  813. package/src/lib/outline-key-moves.mjs.map +1 -0
  814. package/src/lib/outline-keys.d.mts +49 -0
  815. package/src/lib/outline-keys.d.ts +49 -0
  816. package/src/lib/outline-keys.js +68 -0
  817. package/src/lib/outline-keys.js.map +1 -0
  818. package/src/lib/outline-keys.mjs +63 -0
  819. package/src/lib/outline-keys.mjs.map +1 -0
  820. package/src/lib/outline-moves.d.mts +27 -0
  821. package/src/lib/outline-moves.d.ts +27 -0
  822. package/src/lib/outline-moves.js +159 -0
  823. package/src/lib/outline-moves.js.map +1 -0
  824. package/src/lib/outline-moves.mjs +151 -0
  825. package/src/lib/outline-moves.mjs.map +1 -0
  826. package/src/lib/outline-picks.d.mts +9 -0
  827. package/src/lib/outline-picks.d.ts +9 -0
  828. package/src/lib/outline-picks.js +21 -0
  829. package/src/lib/outline-picks.js.map +1 -0
  830. package/src/lib/outline-picks.mjs +18 -0
  831. package/src/lib/outline-picks.mjs.map +1 -0
  832. package/src/lib/outline-rows.d.mts +41 -0
  833. package/src/lib/outline-rows.d.ts +41 -0
  834. package/src/lib/outline-rows.js +120 -0
  835. package/src/lib/outline-rows.js.map +1 -0
  836. package/src/lib/outline-rows.mjs +115 -0
  837. package/src/lib/outline-rows.mjs.map +1 -0
  838. package/src/lib/outline-view.d.mts +35 -0
  839. package/src/lib/outline-view.d.ts +35 -0
  840. package/src/lib/outline-view.js +317 -0
  841. package/src/lib/outline-view.js.map +1 -0
  842. package/src/lib/outline-view.mjs +314 -0
  843. package/src/lib/outline-view.mjs.map +1 -0
  844. package/src/lib/page-checks.d.mts +58 -0
  845. package/src/lib/page-checks.d.ts +58 -0
  846. package/src/lib/page-checks.js +419 -0
  847. package/src/lib/page-checks.js.map +1 -0
  848. package/src/lib/page-checks.mjs +414 -0
  849. package/src/lib/page-checks.mjs.map +1 -0
  850. package/src/lib/page-json.d.mts +42 -0
  851. package/src/lib/page-json.d.ts +42 -0
  852. package/src/lib/page-json.js +46 -0
  853. package/src/lib/page-json.js.map +1 -0
  854. package/src/lib/page-json.mjs +41 -0
  855. package/src/lib/page-json.mjs.map +1 -0
  856. package/src/lib/page-tree.d.mts +43 -0
  857. package/src/lib/page-tree.d.ts +43 -0
  858. package/src/lib/page-tree.js +163 -0
  859. package/src/lib/page-tree.js.map +1 -0
  860. package/src/lib/page-tree.mjs +148 -0
  861. package/src/lib/page-tree.mjs.map +1 -0
  862. package/src/lib/panel-block.d.mts +15 -0
  863. package/src/lib/panel-block.d.ts +15 -0
  864. package/src/lib/panel-block.js +114 -0
  865. package/src/lib/panel-block.js.map +1 -0
  866. package/src/lib/panel-block.mjs +111 -0
  867. package/src/lib/panel-block.mjs.map +1 -0
  868. package/src/lib/panel-controls.d.mts +39 -0
  869. package/src/lib/panel-controls.d.ts +39 -0
  870. package/src/lib/panel-controls.js +69 -0
  871. package/src/lib/panel-controls.js.map +1 -0
  872. package/src/lib/panel-controls.mjs +63 -0
  873. package/src/lib/panel-controls.mjs.map +1 -0
  874. package/src/lib/panel-field.d.mts +5 -0
  875. package/src/lib/panel-field.d.ts +5 -0
  876. package/src/lib/panel-field.js +170 -0
  877. package/src/lib/panel-field.js.map +1 -0
  878. package/src/lib/panel-field.mjs +167 -0
  879. package/src/lib/panel-field.mjs.map +1 -0
  880. package/src/lib/panel-fold.d.mts +12 -0
  881. package/src/lib/panel-fold.d.ts +12 -0
  882. package/src/lib/panel-fold.js +34 -0
  883. package/src/lib/panel-fold.js.map +1 -0
  884. package/src/lib/panel-fold.mjs +31 -0
  885. package/src/lib/panel-fold.mjs.map +1 -0
  886. package/src/lib/panel-form.d.mts +4 -0
  887. package/src/lib/panel-form.d.ts +4 -0
  888. package/src/lib/panel-form.js +107 -0
  889. package/src/lib/panel-form.js.map +1 -0
  890. package/src/lib/panel-form.mjs +104 -0
  891. package/src/lib/panel-form.mjs.map +1 -0
  892. package/src/lib/panel-group.d.mts +12 -0
  893. package/src/lib/panel-group.d.ts +12 -0
  894. package/src/lib/panel-group.js +75 -0
  895. package/src/lib/panel-group.js.map +1 -0
  896. package/src/lib/panel-group.mjs +71 -0
  897. package/src/lib/panel-group.mjs.map +1 -0
  898. package/src/lib/panel-inspector.d.mts +54 -0
  899. package/src/lib/panel-inspector.d.ts +54 -0
  900. package/src/lib/panel-inspector.js +131 -0
  901. package/src/lib/panel-inspector.js.map +1 -0
  902. package/src/lib/panel-inspector.mjs +127 -0
  903. package/src/lib/panel-inspector.mjs.map +1 -0
  904. package/src/lib/panel-layout.d.mts +26 -0
  905. package/src/lib/panel-layout.d.ts +26 -0
  906. package/src/lib/panel-layout.js +244 -0
  907. package/src/lib/panel-layout.js.map +1 -0
  908. package/src/lib/panel-layout.mjs +236 -0
  909. package/src/lib/panel-layout.mjs.map +1 -0
  910. package/src/lib/panel-look-parts.d.mts +16 -0
  911. package/src/lib/panel-look-parts.d.ts +16 -0
  912. package/src/lib/panel-look-parts.js +86 -0
  913. package/src/lib/panel-look-parts.js.map +1 -0
  914. package/src/lib/panel-look-parts.mjs +83 -0
  915. package/src/lib/panel-look-parts.mjs.map +1 -0
  916. package/src/lib/panel-look-sheet.d.mts +20 -0
  917. package/src/lib/panel-look-sheet.d.ts +20 -0
  918. package/src/lib/panel-look-sheet.js +60 -0
  919. package/src/lib/panel-look-sheet.js.map +1 -0
  920. package/src/lib/panel-look-sheet.mjs +57 -0
  921. package/src/lib/panel-look-sheet.mjs.map +1 -0
  922. package/src/lib/panel-look.d.mts +26 -0
  923. package/src/lib/panel-look.d.ts +26 -0
  924. package/src/lib/panel-look.js +169 -0
  925. package/src/lib/panel-look.js.map +1 -0
  926. package/src/lib/panel-look.mjs +163 -0
  927. package/src/lib/panel-look.mjs.map +1 -0
  928. package/src/lib/panel-page.d.mts +9 -0
  929. package/src/lib/panel-page.d.ts +9 -0
  930. package/src/lib/panel-page.js +48 -0
  931. package/src/lib/panel-page.js.map +1 -0
  932. package/src/lib/panel-page.mjs +45 -0
  933. package/src/lib/panel-page.mjs.map +1 -0
  934. package/src/lib/panel-parts.d.mts +14 -0
  935. package/src/lib/panel-parts.d.ts +14 -0
  936. package/src/lib/panel-parts.js +113 -0
  937. package/src/lib/panel-parts.js.map +1 -0
  938. package/src/lib/panel-parts.mjs +109 -0
  939. package/src/lib/panel-parts.mjs.map +1 -0
  940. package/src/lib/panel-screen.d.mts +34 -0
  941. package/src/lib/panel-screen.d.ts +34 -0
  942. package/src/lib/panel-screen.js +195 -0
  943. package/src/lib/panel-screen.js.map +1 -0
  944. package/src/lib/panel-screen.mjs +191 -0
  945. package/src/lib/panel-screen.mjs.map +1 -0
  946. package/src/lib/panel-search.d.mts +24 -0
  947. package/src/lib/panel-search.d.ts +24 -0
  948. package/src/lib/panel-search.js +128 -0
  949. package/src/lib/panel-search.js.map +1 -0
  950. package/src/lib/panel-search.mjs +124 -0
  951. package/src/lib/panel-search.mjs.map +1 -0
  952. package/src/lib/panel-several-required.d.mts +7 -0
  953. package/src/lib/panel-several-required.d.ts +7 -0
  954. package/src/lib/panel-several-required.js +33 -0
  955. package/src/lib/panel-several-required.js.map +1 -0
  956. package/src/lib/panel-several-required.mjs +30 -0
  957. package/src/lib/panel-several-required.mjs.map +1 -0
  958. package/src/lib/panel-tabs.d.mts +41 -0
  959. package/src/lib/panel-tabs.d.ts +41 -0
  960. package/src/lib/panel-tabs.js +128 -0
  961. package/src/lib/panel-tabs.js.map +1 -0
  962. package/src/lib/panel-tabs.mjs +122 -0
  963. package/src/lib/panel-tabs.mjs.map +1 -0
  964. package/src/lib/picture-upload.d.mts +9 -0
  965. package/src/lib/picture-upload.d.ts +9 -0
  966. package/src/lib/picture-upload.js +38 -0
  967. package/src/lib/picture-upload.js.map +1 -0
  968. package/src/lib/picture-upload.mjs +34 -0
  969. package/src/lib/picture-upload.mjs.map +1 -0
  970. package/src/lib/publish-ui.d.mts +22 -0
  971. package/src/lib/publish-ui.d.ts +22 -0
  972. package/src/lib/publish-ui.js +199 -0
  973. package/src/lib/publish-ui.js.map +1 -0
  974. package/src/lib/publish-ui.mjs +193 -0
  975. package/src/lib/publish-ui.mjs.map +1 -0
  976. package/src/lib/rail.d.mts +31 -0
  977. package/src/lib/rail.d.ts +31 -0
  978. package/src/lib/rail.js +91 -0
  979. package/src/lib/rail.js.map +1 -0
  980. package/src/lib/rail.mjs +88 -0
  981. package/src/lib/rail.mjs.map +1 -0
  982. package/src/lib/refusal.d.mts +13 -0
  983. package/src/lib/refusal.d.ts +13 -0
  984. package/src/lib/refusal.js +21 -0
  985. package/src/lib/refusal.js.map +1 -0
  986. package/src/lib/refusal.mjs +17 -0
  987. package/src/lib/refusal.mjs.map +1 -0
  988. package/src/lib/rules-answers.d.mts +25 -0
  989. package/src/lib/rules-answers.d.ts +25 -0
  990. package/src/lib/rules-answers.js +339 -0
  991. package/src/lib/rules-answers.js.map +1 -0
  992. package/src/lib/rules-answers.mjs +336 -0
  993. package/src/lib/rules-answers.mjs.map +1 -0
  994. package/src/lib/rules-card.d.mts +22 -0
  995. package/src/lib/rules-card.d.ts +22 -0
  996. package/src/lib/rules-card.js +51 -0
  997. package/src/lib/rules-card.js.map +1 -0
  998. package/src/lib/rules-card.mjs +48 -0
  999. package/src/lib/rules-card.mjs.map +1 -0
  1000. package/src/lib/rules-changes.d.mts +3 -0
  1001. package/src/lib/rules-changes.d.ts +3 -0
  1002. package/src/lib/rules-changes.js +64 -0
  1003. package/src/lib/rules-changes.js.map +1 -0
  1004. package/src/lib/rules-changes.mjs +61 -0
  1005. package/src/lib/rules-changes.mjs.map +1 -0
  1006. package/src/lib/rules-checks.d.mts +42 -0
  1007. package/src/lib/rules-checks.d.ts +42 -0
  1008. package/src/lib/rules-checks.js +177 -0
  1009. package/src/lib/rules-checks.js.map +1 -0
  1010. package/src/lib/rules-checks.mjs +173 -0
  1011. package/src/lib/rules-checks.mjs.map +1 -0
  1012. package/src/lib/rules-commands.d.mts +36 -0
  1013. package/src/lib/rules-commands.d.ts +36 -0
  1014. package/src/lib/rules-commands.js +202 -0
  1015. package/src/lib/rules-commands.js.map +1 -0
  1016. package/src/lib/rules-commands.mjs +197 -0
  1017. package/src/lib/rules-commands.mjs.map +1 -0
  1018. package/src/lib/rules-formula-box.d.mts +46 -0
  1019. package/src/lib/rules-formula-box.d.ts +46 -0
  1020. package/src/lib/rules-formula-box.js +191 -0
  1021. package/src/lib/rules-formula-box.js.map +1 -0
  1022. package/src/lib/rules-formula-box.mjs +188 -0
  1023. package/src/lib/rules-formula-box.mjs.map +1 -0
  1024. package/src/lib/rules-formula.d.mts +75 -0
  1025. package/src/lib/rules-formula.d.ts +75 -0
  1026. package/src/lib/rules-formula.js +360 -0
  1027. package/src/lib/rules-formula.js.map +1 -0
  1028. package/src/lib/rules-formula.mjs +347 -0
  1029. package/src/lib/rules-formula.mjs.map +1 -0
  1030. package/src/lib/rules-marks.d.mts +4 -0
  1031. package/src/lib/rules-marks.d.ts +4 -0
  1032. package/src/lib/rules-marks.js +111 -0
  1033. package/src/lib/rules-marks.js.map +1 -0
  1034. package/src/lib/rules-marks.mjs +108 -0
  1035. package/src/lib/rules-marks.mjs.map +1 -0
  1036. package/src/lib/rules-open.d.mts +16 -0
  1037. package/src/lib/rules-open.d.ts +16 -0
  1038. package/src/lib/rules-open.js +51 -0
  1039. package/src/lib/rules-open.js.map +1 -0
  1040. package/src/lib/rules-open.mjs +48 -0
  1041. package/src/lib/rules-open.mjs.map +1 -0
  1042. package/src/lib/rules-overview.d.mts +32 -0
  1043. package/src/lib/rules-overview.d.ts +32 -0
  1044. package/src/lib/rules-overview.js +193 -0
  1045. package/src/lib/rules-overview.js.map +1 -0
  1046. package/src/lib/rules-overview.mjs +190 -0
  1047. package/src/lib/rules-overview.mjs.map +1 -0
  1048. package/src/lib/rules-panel.d.mts +18 -0
  1049. package/src/lib/rules-panel.d.ts +18 -0
  1050. package/src/lib/rules-panel.js +21 -0
  1051. package/src/lib/rules-panel.js.map +1 -0
  1052. package/src/lib/rules-panel.mjs +18 -0
  1053. package/src/lib/rules-panel.mjs.map +1 -0
  1054. package/src/lib/rules-reads.d.mts +9 -0
  1055. package/src/lib/rules-reads.d.ts +9 -0
  1056. package/src/lib/rules-reads.js +79 -0
  1057. package/src/lib/rules-reads.js.map +1 -0
  1058. package/src/lib/rules-reads.mjs +75 -0
  1059. package/src/lib/rules-reads.mjs.map +1 -0
  1060. package/src/lib/rules-sample.d.mts +43 -0
  1061. package/src/lib/rules-sample.d.ts +43 -0
  1062. package/src/lib/rules-sample.js +321 -0
  1063. package/src/lib/rules-sample.js.map +1 -0
  1064. package/src/lib/rules-sample.mjs +317 -0
  1065. package/src/lib/rules-sample.mjs.map +1 -0
  1066. package/src/lib/rules-words.d.mts +60 -0
  1067. package/src/lib/rules-words.d.ts +60 -0
  1068. package/src/lib/rules-words.js +232 -0
  1069. package/src/lib/rules-words.js.map +1 -0
  1070. package/src/lib/rules-words.mjs +220 -0
  1071. package/src/lib/rules-words.mjs.map +1 -0
  1072. package/src/lib/rules-worked-out.d.mts +9 -0
  1073. package/src/lib/rules-worked-out.d.ts +9 -0
  1074. package/src/lib/rules-worked-out.js +257 -0
  1075. package/src/lib/rules-worked-out.js.map +1 -0
  1076. package/src/lib/rules-worked-out.mjs +253 -0
  1077. package/src/lib/rules-worked-out.mjs.map +1 -0
  1078. package/src/lib/samples.d.mts +5 -0
  1079. package/src/lib/samples.d.ts +5 -0
  1080. package/src/lib/samples.js +69 -0
  1081. package/src/lib/samples.js.map +1 -0
  1082. package/src/lib/samples.mjs +65 -0
  1083. package/src/lib/samples.mjs.map +1 -0
  1084. package/src/lib/saved-forms.d.mts +93 -0
  1085. package/src/lib/saved-forms.d.ts +93 -0
  1086. package/src/lib/saved-forms.js +211 -0
  1087. package/src/lib/saved-forms.js.map +1 -0
  1088. package/src/lib/saved-forms.mjs +200 -0
  1089. package/src/lib/saved-forms.mjs.map +1 -0
  1090. package/src/lib/screen-canvas.d.mts +57 -0
  1091. package/src/lib/screen-canvas.d.ts +57 -0
  1092. package/src/lib/screen-canvas.js +691 -0
  1093. package/src/lib/screen-canvas.js.map +1 -0
  1094. package/src/lib/screen-canvas.mjs +688 -0
  1095. package/src/lib/screen-canvas.mjs.map +1 -0
  1096. package/src/lib/screen-editor.d.mts +32 -0
  1097. package/src/lib/screen-editor.d.ts +32 -0
  1098. package/src/lib/screen-editor.js +377 -0
  1099. package/src/lib/screen-editor.js.map +1 -0
  1100. package/src/lib/screen-editor.mjs +374 -0
  1101. package/src/lib/screen-editor.mjs.map +1 -0
  1102. package/src/lib/screen-properties.d.mts +28 -0
  1103. package/src/lib/screen-properties.d.ts +28 -0
  1104. package/src/lib/screen-properties.js +69 -0
  1105. package/src/lib/screen-properties.js.map +1 -0
  1106. package/src/lib/screen-properties.mjs +63 -0
  1107. package/src/lib/screen-properties.mjs.map +1 -0
  1108. package/src/lib/shortcuts-list.d.mts +24 -0
  1109. package/src/lib/shortcuts-list.d.ts +24 -0
  1110. package/src/lib/shortcuts-list.js +25 -0
  1111. package/src/lib/shortcuts-list.js.map +1 -0
  1112. package/src/lib/shortcuts-list.mjs +21 -0
  1113. package/src/lib/shortcuts-list.mjs.map +1 -0
  1114. package/src/lib/shortcuts-sheet.d.mts +27 -0
  1115. package/src/lib/shortcuts-sheet.d.ts +27 -0
  1116. package/src/lib/shortcuts-sheet.js +95 -0
  1117. package/src/lib/shortcuts-sheet.js.map +1 -0
  1118. package/src/lib/shortcuts-sheet.mjs +92 -0
  1119. package/src/lib/shortcuts-sheet.mjs.map +1 -0
  1120. package/src/lib/steps-checks.d.mts +33 -0
  1121. package/src/lib/steps-checks.d.ts +33 -0
  1122. package/src/lib/steps-checks.js +112 -0
  1123. package/src/lib/steps-checks.js.map +1 -0
  1124. package/src/lib/steps-checks.mjs +107 -0
  1125. package/src/lib/steps-checks.mjs.map +1 -0
  1126. package/src/lib/steps-commands.d.mts +54 -0
  1127. package/src/lib/steps-commands.d.ts +54 -0
  1128. package/src/lib/steps-commands.js +188 -0
  1129. package/src/lib/steps-commands.js.map +1 -0
  1130. package/src/lib/steps-commands.mjs +183 -0
  1131. package/src/lib/steps-commands.mjs.map +1 -0
  1132. package/src/lib/steps-editor.d.mts +25 -0
  1133. package/src/lib/steps-editor.d.ts +25 -0
  1134. package/src/lib/steps-editor.js +381 -0
  1135. package/src/lib/steps-editor.js.map +1 -0
  1136. package/src/lib/steps-editor.mjs +378 -0
  1137. package/src/lib/steps-editor.mjs.map +1 -0
  1138. package/src/lib/steps-map.d.mts +38 -0
  1139. package/src/lib/steps-map.d.ts +38 -0
  1140. package/src/lib/steps-map.js +124 -0
  1141. package/src/lib/steps-map.js.map +1 -0
  1142. package/src/lib/steps-map.mjs +121 -0
  1143. package/src/lib/steps-map.mjs.map +1 -0
  1144. package/src/lib/steps-marks.d.mts +20 -0
  1145. package/src/lib/steps-marks.d.ts +20 -0
  1146. package/src/lib/steps-marks.js +84 -0
  1147. package/src/lib/steps-marks.js.map +1 -0
  1148. package/src/lib/steps-marks.mjs +77 -0
  1149. package/src/lib/steps-marks.mjs.map +1 -0
  1150. package/src/lib/steps-panel.d.mts +24 -0
  1151. package/src/lib/steps-panel.d.ts +24 -0
  1152. package/src/lib/steps-panel.js +89 -0
  1153. package/src/lib/steps-panel.js.map +1 -0
  1154. package/src/lib/steps-panel.mjs +84 -0
  1155. package/src/lib/steps-panel.mjs.map +1 -0
  1156. package/src/lib/steps-places.d.mts +69 -0
  1157. package/src/lib/steps-places.d.ts +69 -0
  1158. package/src/lib/steps-places.js +280 -0
  1159. package/src/lib/steps-places.js.map +1 -0
  1160. package/src/lib/steps-places.mjs +261 -0
  1161. package/src/lib/steps-places.mjs.map +1 -0
  1162. package/src/lib/steps-settings.d.mts +31 -0
  1163. package/src/lib/steps-settings.d.ts +31 -0
  1164. package/src/lib/steps-settings.js +351 -0
  1165. package/src/lib/steps-settings.js.map +1 -0
  1166. package/src/lib/steps-settings.mjs +347 -0
  1167. package/src/lib/steps-settings.mjs.map +1 -0
  1168. package/src/lib/steps-words.d.mts +41 -0
  1169. package/src/lib/steps-words.d.ts +41 -0
  1170. package/src/lib/steps-words.js +139 -0
  1171. package/src/lib/steps-words.js.map +1 -0
  1172. package/src/lib/steps-words.mjs +131 -0
  1173. package/src/lib/steps-words.mjs.map +1 -0
  1174. package/src/lib/structure-changes.d.mts +14 -0
  1175. package/src/lib/structure-changes.d.ts +14 -0
  1176. package/src/lib/structure-changes.js +25 -0
  1177. package/src/lib/structure-changes.js.map +1 -0
  1178. package/src/lib/structure-changes.mjs +22 -0
  1179. package/src/lib/structure-changes.mjs.map +1 -0
  1180. package/src/lib/structure-commands.d.mts +31 -0
  1181. package/src/lib/structure-commands.d.ts +31 -0
  1182. package/src/lib/structure-commands.js +59 -0
  1183. package/src/lib/structure-commands.js.map +1 -0
  1184. package/src/lib/structure-commands.mjs +56 -0
  1185. package/src/lib/structure-commands.mjs.map +1 -0
  1186. package/src/lib/styles-canvas.d.mts +11 -0
  1187. package/src/lib/styles-canvas.d.ts +11 -0
  1188. package/src/lib/styles-canvas.js +199 -0
  1189. package/src/lib/styles-canvas.js.map +1 -0
  1190. package/src/lib/styles-canvas.mjs +196 -0
  1191. package/src/lib/styles-canvas.mjs.map +1 -0
  1192. package/src/lib/styles-choices.d.mts +6 -0
  1193. package/src/lib/styles-choices.d.ts +6 -0
  1194. package/src/lib/styles-choices.js +25 -0
  1195. package/src/lib/styles-choices.js.map +1 -0
  1196. package/src/lib/styles-choices.mjs +22 -0
  1197. package/src/lib/styles-choices.mjs.map +1 -0
  1198. package/src/lib/styles-extend.d.mts +6 -0
  1199. package/src/lib/styles-extend.d.ts +6 -0
  1200. package/src/lib/styles-extend.js +71 -0
  1201. package/src/lib/styles-extend.js.map +1 -0
  1202. package/src/lib/styles-extend.mjs +68 -0
  1203. package/src/lib/styles-extend.mjs.map +1 -0
  1204. package/src/lib/styles-gap.d.mts +6 -0
  1205. package/src/lib/styles-gap.d.ts +6 -0
  1206. package/src/lib/styles-gap.js +68 -0
  1207. package/src/lib/styles-gap.js.map +1 -0
  1208. package/src/lib/styles-gap.mjs +65 -0
  1209. package/src/lib/styles-gap.mjs.map +1 -0
  1210. package/src/lib/styles-json.d.mts +5 -0
  1211. package/src/lib/styles-json.d.ts +5 -0
  1212. package/src/lib/styles-json.js +109 -0
  1213. package/src/lib/styles-json.js.map +1 -0
  1214. package/src/lib/styles-json.mjs +106 -0
  1215. package/src/lib/styles-json.mjs.map +1 -0
  1216. package/src/lib/styles-kinds.d.mts +7 -0
  1217. package/src/lib/styles-kinds.d.ts +7 -0
  1218. package/src/lib/styles-kinds.js +56 -0
  1219. package/src/lib/styles-kinds.js.map +1 -0
  1220. package/src/lib/styles-kinds.mjs +53 -0
  1221. package/src/lib/styles-kinds.mjs.map +1 -0
  1222. package/src/lib/styles-outline.d.mts +7 -0
  1223. package/src/lib/styles-outline.d.ts +7 -0
  1224. package/src/lib/styles-outline.js +95 -0
  1225. package/src/lib/styles-outline.js.map +1 -0
  1226. package/src/lib/styles-outline.mjs +92 -0
  1227. package/src/lib/styles-outline.mjs.map +1 -0
  1228. package/src/lib/styles-panel.d.mts +7 -0
  1229. package/src/lib/styles-panel.d.ts +7 -0
  1230. package/src/lib/styles-panel.js +150 -0
  1231. package/src/lib/styles-panel.js.map +1 -0
  1232. package/src/lib/styles-panel.mjs +147 -0
  1233. package/src/lib/styles-panel.mjs.map +1 -0
  1234. package/src/lib/styles-rules.d.mts +7 -0
  1235. package/src/lib/styles-rules.d.ts +7 -0
  1236. package/src/lib/styles-rules.js +201 -0
  1237. package/src/lib/styles-rules.js.map +1 -0
  1238. package/src/lib/styles-rules.mjs +198 -0
  1239. package/src/lib/styles-rules.mjs.map +1 -0
  1240. package/src/lib/styles-steps.d.mts +9 -0
  1241. package/src/lib/styles-steps.d.ts +9 -0
  1242. package/src/lib/styles-steps.js +84 -0
  1243. package/src/lib/styles-steps.js.map +1 -0
  1244. package/src/lib/styles-steps.mjs +81 -0
  1245. package/src/lib/styles-steps.mjs.map +1 -0
  1246. package/src/lib/styles-translations.d.mts +7 -0
  1247. package/src/lib/styles-translations.d.ts +7 -0
  1248. package/src/lib/styles-translations.js +104 -0
  1249. package/src/lib/styles-translations.js.map +1 -0
  1250. package/src/lib/styles-translations.mjs +101 -0
  1251. package/src/lib/styles-translations.mjs.map +1 -0
  1252. package/src/lib/styles.d.mts +3 -0
  1253. package/src/lib/styles.d.ts +3 -0
  1254. package/src/lib/styles.js +676 -0
  1255. package/src/lib/styles.js.map +1 -0
  1256. package/src/lib/styles.mjs +672 -0
  1257. package/src/lib/styles.mjs.map +1 -0
  1258. package/src/lib/survey-editor.d.mts +42 -0
  1259. package/src/lib/survey-editor.d.ts +42 -0
  1260. package/src/lib/survey-editor.js +651 -0
  1261. package/src/lib/survey-editor.js.map +1 -0
  1262. package/src/lib/survey-editor.mjs +647 -0
  1263. package/src/lib/survey-editor.mjs.map +1 -0
  1264. package/src/lib/templates-notice.d.mts +16 -0
  1265. package/src/lib/templates-notice.d.ts +16 -0
  1266. package/src/lib/templates-notice.js +45 -0
  1267. package/src/lib/templates-notice.js.map +1 -0
  1268. package/src/lib/templates-notice.mjs +42 -0
  1269. package/src/lib/templates-notice.mjs.map +1 -0
  1270. package/src/lib/templates-start.d.mts +41 -0
  1271. package/src/lib/templates-start.d.ts +41 -0
  1272. package/src/lib/templates-start.js +117 -0
  1273. package/src/lib/templates-start.js.map +1 -0
  1274. package/src/lib/templates-start.mjs +114 -0
  1275. package/src/lib/templates-start.mjs.map +1 -0
  1276. package/src/lib/templates.d.mts +35 -0
  1277. package/src/lib/templates.d.ts +35 -0
  1278. package/src/lib/templates.js +195 -0
  1279. package/src/lib/templates.js.map +1 -0
  1280. package/src/lib/templates.mjs +186 -0
  1281. package/src/lib/templates.mjs.map +1 -0
  1282. package/src/lib/toolbox.d.mts +49 -0
  1283. package/src/lib/toolbox.d.ts +49 -0
  1284. package/src/lib/toolbox.js +160 -0
  1285. package/src/lib/toolbox.js.map +1 -0
  1286. package/src/lib/toolbox.mjs +154 -0
  1287. package/src/lib/toolbox.mjs.map +1 -0
  1288. package/src/lib/translations-csv.d.mts +20 -0
  1289. package/src/lib/translations-csv.d.ts +20 -0
  1290. package/src/lib/translations-csv.js +138 -0
  1291. package/src/lib/translations-csv.js.map +1 -0
  1292. package/src/lib/translations-csv.mjs +132 -0
  1293. package/src/lib/translations-csv.mjs.map +1 -0
  1294. package/src/lib/translations-grid.d.mts +30 -0
  1295. package/src/lib/translations-grid.d.ts +30 -0
  1296. package/src/lib/translations-grid.js +198 -0
  1297. package/src/lib/translations-grid.js.map +1 -0
  1298. package/src/lib/translations-grid.mjs +195 -0
  1299. package/src/lib/translations-grid.mjs.map +1 -0
  1300. package/src/lib/translations-view.d.mts +29 -0
  1301. package/src/lib/translations-view.d.ts +29 -0
  1302. package/src/lib/translations-view.js +248 -0
  1303. package/src/lib/translations-view.js.map +1 -0
  1304. package/src/lib/translations-view.mjs +245 -0
  1305. package/src/lib/translations-view.mjs.map +1 -0
  1306. package/src/lib/translations.d.mts +57 -0
  1307. package/src/lib/translations.d.ts +57 -0
  1308. package/src/lib/translations.js +211 -0
  1309. package/src/lib/translations.js.map +1 -0
  1310. package/src/lib/translations.mjs +198 -0
  1311. package/src/lib/translations.mjs.map +1 -0
  1312. package/src/lib/try-drawer.d.mts +4 -0
  1313. package/src/lib/try-drawer.d.ts +4 -0
  1314. package/src/lib/try-drawer.js +139 -0
  1315. package/src/lib/try-drawer.js.map +1 -0
  1316. package/src/lib/try-drawer.mjs +136 -0
  1317. package/src/lib/try-drawer.mjs.map +1 -0
  1318. package/src/lib/try-it.d.mts +37 -0
  1319. package/src/lib/try-it.d.ts +37 -0
  1320. package/src/lib/try-it.js +153 -0
  1321. package/src/lib/try-it.js.map +1 -0
  1322. package/src/lib/try-it.mjs +150 -0
  1323. package/src/lib/try-it.mjs.map +1 -0
  1324. package/src/lib/try-language.d.mts +25 -0
  1325. package/src/lib/try-language.d.ts +25 -0
  1326. package/src/lib/try-language.js +57 -0
  1327. package/src/lib/try-language.js.map +1 -0
  1328. package/src/lib/try-language.mjs +54 -0
  1329. package/src/lib/try-language.mjs.map +1 -0
  1330. package/src/lib/validate-edit.d.mts +19 -0
  1331. package/src/lib/validate-edit.d.ts +19 -0
  1332. package/src/lib/validate-edit.js +51 -0
  1333. package/src/lib/validate-edit.js.map +1 -0
  1334. package/src/lib/validate-edit.mjs +48 -0
  1335. package/src/lib/validate-edit.mjs.map +1 -0
  1336. package/src/lib/writes.d.mts +14 -0
  1337. package/src/lib/writes.d.ts +14 -0
  1338. package/src/lib/writes.js +41 -0
  1339. package/src/lib/writes.js.map +1 -0
  1340. package/src/lib/writes.mjs +35 -0
  1341. package/src/lib/writes.mjs.map +1 -0
  1342. package/src/react.d.mts +21 -0
  1343. package/src/react.d.ts +21 -0
  1344. package/src/react.js +35 -0
  1345. package/src/react.js.map +1 -0
  1346. package/src/react.mjs +32 -0
  1347. package/src/react.mjs.map +1 -0
  1348. package/src/vue.d.mts +65 -0
  1349. package/src/vue.d.ts +65 -0
  1350. package/src/vue.js +57 -0
  1351. package/src/vue.js.map +1 -0
  1352. package/src/vue.mjs +54 -0
  1353. package/src/vue.mjs.map +1 -0
@@ -0,0 +1,25 @@
1
+ import type { FieldNode, Page } from '@fieldia/core';
2
+ import type { AppKind } from './app-kinds';
3
+ import type { ElementFactory } from './chrome';
4
+ import type { Designer } from './designer';
5
+ /**
6
+ * Where an app's kind shows in the editors beyond its tile: its own settings
7
+ * on the picked field and on the panel's Content tab, and how its closed
8
+ * card reads. The app draws them; these put them in place and keep them up
9
+ * to date.
10
+ */
11
+ /** The app's kind a field was made as, or null for one of Fieldia's or none. */
12
+ export declare function appKindOf(kind: string | null): AppKind | null;
13
+ /** The app's settings among the picked field's own, for `kind-settings`: none for one of Fieldia's kinds, or one with no settings. */
14
+ export declare function appKindSettings(el: ElementFactory, designer: Designer, id: string, kind: string | null): {
15
+ element: HTMLElement;
16
+ standsIn: false;
17
+ refresh(page: Page, node: FieldNode): void;
18
+ } | null;
19
+ /** A row of the panel's Content tab with the app's settings, named after its kind; hidden for a field of another kind, or of the model. */
20
+ export declare function appKindPanel(el: ElementFactory, designer: Designer, id: string): {
21
+ element: HTMLElement;
22
+ update(page: Page, node: FieldNode): void;
23
+ };
24
+ /** How a closed card of an app's kind reads: its words on a dotted line, or its own drawing; null for its real widget. */
25
+ export declare function appKindPreview(el: ElementFactory, page: Page, node: FieldNode, kind: string | null): HTMLElement | null;
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.appKindOf = appKindOf;
4
+ exports.appKindSettings = appKindSettings;
5
+ exports.appKindPanel = appKindPanel;
6
+ exports.appKindPreview = appKindPreview;
7
+ const kinds_1 = require("./kinds");
8
+ /**
9
+ * Where an app's kind shows in the editors beyond its tile: its own settings
10
+ * on the picked field and on the panel's Content tab, and how its closed
11
+ * card reads. The app draws them; these put them in place and keep them up
12
+ * to date.
13
+ */
14
+ /** The app's kind a field was made as, or null for one of Fieldia's or none. */
15
+ function appKindOf(kind) {
16
+ if (!kind)
17
+ return null;
18
+ try {
19
+ return (0, kinds_1.kindById)(kind).app ?? null;
20
+ }
21
+ catch {
22
+ return null;
23
+ }
24
+ }
25
+ /** The app's settings for the field `id`, drawn by the app, saving through the designer. */
26
+ function drawSettings(el, designer, id, app) {
27
+ if (!app.settings)
28
+ return null;
29
+ const document = el('span').ownerDocument;
30
+ return app.settings({ document, id, designer, set: (patch) => designer.setWidgetOptions(id, patch) });
31
+ }
32
+ /** The app's settings among the picked field's own, for `kind-settings`: none for one of Fieldia's kinds, or one with no settings. */
33
+ function appKindSettings(el, designer, id, kind) {
34
+ const app = appKindOf(kind);
35
+ const own = app ? drawSettings(el, designer, id, app) : null;
36
+ if (!app || !own)
37
+ return null;
38
+ return { element: el('div', { class: 'fd-app-settings', 'data-kind': app.id }, own.element), standsIn: false, refresh: (page, node) => own.refresh(page, node) };
39
+ }
40
+ /** A row of the panel's Content tab with the app's settings, named after its kind; hidden for a field of another kind, or of the model. */
41
+ function appKindPanel(el, designer, id) {
42
+ const name = el('span', { class: 'fd-prop-name' });
43
+ const box = el('div', { class: 'fd-app-settings' });
44
+ const element = el('div', { class: 'fd-prop fd-set', 'data-tab': 'content', 'data-setting': 'Settings', hidden: '' }, name, box);
45
+ let drawn = null;
46
+ let own = null;
47
+ return {
48
+ element,
49
+ update(page, node) {
50
+ const app = designer.isFromModel(id) ? null : appKindOf((0, kinds_1.kindOfField)(page.fields[node.field], node));
51
+ const key = app?.settings ? app.id : '';
52
+ if (key !== drawn) {
53
+ drawn = key;
54
+ own = app ? drawSettings(el, designer, id, app) : null;
55
+ box.replaceChildren(...(own ? [own.element] : []));
56
+ name.textContent = app?.label ?? '';
57
+ element.dataset['setting'] = app && own ? `${app.label} settings` : 'Settings';
58
+ }
59
+ element.hidden = !own;
60
+ own?.refresh(page, node);
61
+ },
62
+ };
63
+ }
64
+ /** How a closed card of an app's kind reads: its words on a dotted line, or its own drawing; null for its real widget. */
65
+ function appKindPreview(el, page, node, kind) {
66
+ const preview = appKindOf(kind)?.preview;
67
+ if (typeof preview === 'string')
68
+ return el('div', { class: 'fd-q-preview fd-q-preview-short' }, preview);
69
+ if (typeof preview === 'function')
70
+ return preview({ document: el('span').ownerDocument, page, node });
71
+ return null;
72
+ }
73
+ //# sourceMappingURL=app-kinds-ui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-kinds-ui.js","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/app-kinds-ui.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import { kindById, kindOfField } from './kinds.mjs';
2
+ /**
3
+ * Where an app's kind shows in the editors beyond its tile: its own settings
4
+ * on the picked field and on the panel's Content tab, and how its closed
5
+ * card reads. The app draws them; these put them in place and keep them up
6
+ * to date.
7
+ */
8
+ /** The app's kind a field was made as, or null for one of Fieldia's or none. */
9
+ export function appKindOf(kind) {
10
+ if (!kind)
11
+ return null;
12
+ try {
13
+ return kindById(kind).app ?? null;
14
+ }
15
+ catch {
16
+ return null;
17
+ }
18
+ }
19
+ /** The app's settings for the field `id`, drawn by the app, saving through the designer. */
20
+ function drawSettings(el, designer, id, app) {
21
+ if (!app.settings)
22
+ return null;
23
+ const document = el('span').ownerDocument;
24
+ return app.settings({ document, id, designer, set: (patch) => designer.setWidgetOptions(id, patch) });
25
+ }
26
+ /** The app's settings among the picked field's own, for `kind-settings`: none for one of Fieldia's kinds, or one with no settings. */
27
+ export function appKindSettings(el, designer, id, kind) {
28
+ const app = appKindOf(kind);
29
+ const own = app ? drawSettings(el, designer, id, app) : null;
30
+ if (!app || !own)
31
+ return null;
32
+ return { element: el('div', { class: 'fd-app-settings', 'data-kind': app.id }, own.element), standsIn: false, refresh: (page, node) => own.refresh(page, node) };
33
+ }
34
+ /** A row of the panel's Content tab with the app's settings, named after its kind; hidden for a field of another kind, or of the model. */
35
+ export function appKindPanel(el, designer, id) {
36
+ const name = el('span', { class: 'fd-prop-name' });
37
+ const box = el('div', { class: 'fd-app-settings' });
38
+ const element = el('div', { class: 'fd-prop fd-set', 'data-tab': 'content', 'data-setting': 'Settings', hidden: '' }, name, box);
39
+ let drawn = null;
40
+ let own = null;
41
+ return {
42
+ element,
43
+ update(page, node) {
44
+ const app = designer.isFromModel(id) ? null : appKindOf(kindOfField(page.fields[node.field], node));
45
+ const key = app?.settings ? app.id : '';
46
+ if (key !== drawn) {
47
+ drawn = key;
48
+ own = app ? drawSettings(el, designer, id, app) : null;
49
+ box.replaceChildren(...(own ? [own.element] : []));
50
+ name.textContent = app?.label ?? '';
51
+ element.dataset['setting'] = app && own ? `${app.label} settings` : 'Settings';
52
+ }
53
+ element.hidden = !own;
54
+ own?.refresh(page, node);
55
+ },
56
+ };
57
+ }
58
+ /** How a closed card of an app's kind reads: its words on a dotted line, or its own drawing; null for its real widget. */
59
+ export function appKindPreview(el, page, node, kind) {
60
+ const preview = appKindOf(kind)?.preview;
61
+ if (typeof preview === 'string')
62
+ return el('div', { class: 'fd-q-preview fd-q-preview-short' }, preview);
63
+ if (typeof preview === 'function')
64
+ return preview({ document: el('span').ownerDocument, page, node });
65
+ return null;
66
+ }
67
+ //# sourceMappingURL=app-kinds-ui.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-kinds-ui.mjs","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/app-kinds-ui.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import type { Field, FieldNode, Page } from '@fieldia/core';
2
+ import type { Designer } from './designer.mjs';
3
+ /**
4
+ * Kinds of field an app adds to the designer's own — an IBAN, a product
5
+ * code, a member number. Each is what a built-in kind is: the field a new
6
+ * one starts as and the widget that draws it, with an icon for the toolbox,
7
+ * settings of its own on the picked field, and how a closed card reads. A
8
+ * field made as one is known again by its widget, so an app's kind must be
9
+ * told apart from Fieldia's and from the app's others: these checks refuse
10
+ * one that could not be, saying why.
11
+ */
12
+ export interface AppKind {
13
+ /** Its own id: never one of Fieldia's kinds. */
14
+ id: string;
15
+ label: string;
16
+ /** The field a new one starts as. */
17
+ field(label: string): Field;
18
+ /** Its picture in the toolbox and the menus: SVG markup on a 24-unit grid, drawn in the text's colour, such as `<path d="…"/>`. */
19
+ icon?: string;
20
+ /** The toolbox group it is listed under: "Your kinds" unless it says. A group the toolbox has already takes it at its end. */
21
+ group?: string;
22
+ /** The widget that draws it, given to the editors and the viewer in `widgets` under `type.widget`. Its id when it says none. */
23
+ widget?: string;
24
+ /** Whether it can show a field that already holds data, such as one of the model's. Unless it says, a field of the type its own field has. */
25
+ fits?(field: Field): boolean;
26
+ /** Settings of its own: on the picked field, and on the Content tab of the screen editor's panel. */
27
+ settings?(context: AppKindContext): AppKindSettings;
28
+ /** How a closed survey card reads before anyone answers: words on a dotted line, or a drawing. Its real widget when it says none. */
29
+ preview?: string | ((context: AppKindPreviewContext) => HTMLElement | null);
30
+ }
31
+ /** What an app's kind's settings are given. */
32
+ export interface AppKindContext {
33
+ document: Document;
34
+ /** The picked field's id on the page. */
35
+ id: string;
36
+ designer: Designer;
37
+ /** Keep settings on the field's place on the page, where its widget reads them (`node.options`); `null` or empty takes one away. A run of typing in one is one undo step. */
38
+ set(patch: Record<string, string | number | boolean | null>): boolean;
39
+ }
40
+ /** An app's kind's settings, drawn once and kept up to date. */
41
+ export interface AppKindSettings {
42
+ element: HTMLElement;
43
+ /** Show the field as it is now: called after every edit. */
44
+ refresh(page: Page, node: FieldNode): void;
45
+ }
46
+ /** What draws a closed card of an app's kind. */
47
+ export interface AppKindPreviewContext {
48
+ document: Document;
49
+ page: Page;
50
+ node: FieldNode;
51
+ }
52
+ /** The group an app's kind is listed under when it names none. */
53
+ export declare const APP_GROUP = "Your kinds";
54
+ /** The widget an app's kind is drawn by: the one it names, or its id. */
55
+ export declare const widgetOf: (kind: AppKind) => string;
56
+ /** A kind already known, as these checks need it: its id, its label and the widget that draws it. */
57
+ export interface KnownKind {
58
+ id: string;
59
+ label: string;
60
+ widget?: string;
61
+ }
62
+ /**
63
+ * Check an app's kinds against Fieldia's (`builtIn`) and the app's kinds
64
+ * registered before (`others`, which these replace when they share an id).
65
+ * Throws, saying why, for one that cannot be told apart.
66
+ */
67
+ export declare function checkAppKinds(kinds: readonly AppKind[], builtIn: readonly KnownKind[], others?: readonly KnownKind[]): void;
@@ -0,0 +1,67 @@
1
+ import type { Field, FieldNode, Page } from '@fieldia/core';
2
+ import type { Designer } from './designer';
3
+ /**
4
+ * Kinds of field an app adds to the designer's own — an IBAN, a product
5
+ * code, a member number. Each is what a built-in kind is: the field a new
6
+ * one starts as and the widget that draws it, with an icon for the toolbox,
7
+ * settings of its own on the picked field, and how a closed card reads. A
8
+ * field made as one is known again by its widget, so an app's kind must be
9
+ * told apart from Fieldia's and from the app's others: these checks refuse
10
+ * one that could not be, saying why.
11
+ */
12
+ export interface AppKind {
13
+ /** Its own id: never one of Fieldia's kinds. */
14
+ id: string;
15
+ label: string;
16
+ /** The field a new one starts as. */
17
+ field(label: string): Field;
18
+ /** Its picture in the toolbox and the menus: SVG markup on a 24-unit grid, drawn in the text's colour, such as `<path d="…"/>`. */
19
+ icon?: string;
20
+ /** The toolbox group it is listed under: "Your kinds" unless it says. A group the toolbox has already takes it at its end. */
21
+ group?: string;
22
+ /** The widget that draws it, given to the editors and the viewer in `widgets` under `type.widget`. Its id when it says none. */
23
+ widget?: string;
24
+ /** Whether it can show a field that already holds data, such as one of the model's. Unless it says, a field of the type its own field has. */
25
+ fits?(field: Field): boolean;
26
+ /** Settings of its own: on the picked field, and on the Content tab of the screen editor's panel. */
27
+ settings?(context: AppKindContext): AppKindSettings;
28
+ /** How a closed survey card reads before anyone answers: words on a dotted line, or a drawing. Its real widget when it says none. */
29
+ preview?: string | ((context: AppKindPreviewContext) => HTMLElement | null);
30
+ }
31
+ /** What an app's kind's settings are given. */
32
+ export interface AppKindContext {
33
+ document: Document;
34
+ /** The picked field's id on the page. */
35
+ id: string;
36
+ designer: Designer;
37
+ /** Keep settings on the field's place on the page, where its widget reads them (`node.options`); `null` or empty takes one away. A run of typing in one is one undo step. */
38
+ set(patch: Record<string, string | number | boolean | null>): boolean;
39
+ }
40
+ /** An app's kind's settings, drawn once and kept up to date. */
41
+ export interface AppKindSettings {
42
+ element: HTMLElement;
43
+ /** Show the field as it is now: called after every edit. */
44
+ refresh(page: Page, node: FieldNode): void;
45
+ }
46
+ /** What draws a closed card of an app's kind. */
47
+ export interface AppKindPreviewContext {
48
+ document: Document;
49
+ page: Page;
50
+ node: FieldNode;
51
+ }
52
+ /** The group an app's kind is listed under when it names none. */
53
+ export declare const APP_GROUP = "Your kinds";
54
+ /** The widget an app's kind is drawn by: the one it names, or its id. */
55
+ export declare const widgetOf: (kind: AppKind) => string;
56
+ /** A kind already known, as these checks need it: its id, its label and the widget that draws it. */
57
+ export interface KnownKind {
58
+ id: string;
59
+ label: string;
60
+ widget?: string;
61
+ }
62
+ /**
63
+ * Check an app's kinds against Fieldia's (`builtIn`) and the app's kinds
64
+ * registered before (`others`, which these replace when they share an id).
65
+ * Throws, saying why, for one that cannot be told apart.
66
+ */
67
+ export declare function checkAppKinds(kinds: readonly AppKind[], builtIn: readonly KnownKind[], others?: readonly KnownKind[]): void;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.widgetOf = exports.APP_GROUP = void 0;
4
+ exports.checkAppKinds = checkAppKinds;
5
+ /** The group an app's kind is listed under when it names none. */
6
+ exports.APP_GROUP = 'Your kinds';
7
+ /** The widget an app's kind is drawn by: the one it names, or its id. */
8
+ const widgetOf = (kind) => kind.widget?.trim() || kind.id;
9
+ exports.widgetOf = widgetOf;
10
+ /**
11
+ * Check an app's kinds against Fieldia's (`builtIn`) and the app's kinds
12
+ * registered before (`others`, which these replace when they share an id).
13
+ * Throws, saying why, for one that cannot be told apart.
14
+ */
15
+ function checkAppKinds(kinds, builtIn, others = []) {
16
+ const ids = new Set();
17
+ for (const kind of kinds) {
18
+ if (!kind || typeof kind.id !== 'string' || !kind.id.trim() || typeof kind.label !== 'string' || !kind.label.trim() || typeof kind.field !== 'function') {
19
+ throw new Error('An app’s kind needs an id, a label and a field');
20
+ }
21
+ if (builtIn.some((k) => k.id === kind.id))
22
+ throw new Error(`The kind “${kind.id}” is one of Fieldia’s own: give the app’s kind an id of its own`);
23
+ if (ids.has(kind.id))
24
+ throw new Error(`Two of the app’s kinds have the id “${kind.id}”`);
25
+ ids.add(kind.id);
26
+ const widget = (0, exports.widgetOf)(kind);
27
+ const fieldia = builtIn.find((k) => k.widget === widget);
28
+ if (fieldia)
29
+ throw new Error(`The kind “${kind.id}” is drawn by “${widget}”, as Fieldia’s ${fieldia.label} is: give it a widget of its own`);
30
+ }
31
+ // Two drawn by one widget would be read back as the same kind.
32
+ const drawn = [...others.filter((k) => !ids.has(k.id)), ...kinds.map((k) => ({ id: k.id, label: k.label, widget: (0, exports.widgetOf)(k) }))];
33
+ drawn.forEach((kind, i) => {
34
+ const twin = drawn.slice(0, i).find((k) => k.widget === kind.widget);
35
+ if (twin)
36
+ throw new Error(`“${twin.id}” and “${kind.id}” are both drawn by the widget “${kind.widget}”: give each a widget of its own`);
37
+ });
38
+ }
39
+ //# sourceMappingURL=app-kinds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-kinds.js","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/app-kinds.ts"],"names":[],"mappings":";;;AA2EA,sCAmBC;AArCD,kEAAkE;AACrD,QAAA,SAAS,GAAG,YAAY,CAAC;AAEtC,yEAAyE;AAClE,MAAM,QAAQ,GAAG,CAAC,IAAa,EAAU,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;AAArE,QAAA,QAAQ,YAA6D;AASlF;;;;GAIG;AACH,SAAgB,aAAa,CAAC,KAAyB,EAAE,OAA6B,EAAE,SAA+B,EAAE;IACvH,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YACxJ,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,EAAE,iEAAiE,CAAC,CAAC;QAClJ,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QACzF,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,MAAM,MAAM,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QACzD,IAAI,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,EAAE,kBAAkB,MAAM,mBAAmB,OAAO,CAAC,KAAK,kCAAkC,CAAC,CAAC;IAC/I,CAAC;IACD,+DAA+D;IAC/D,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAA,gBAAQ,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAClI,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC;QACrE,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,mCAAmC,IAAI,CAAC,MAAM,kCAAkC,CAAC,CAAC;IAC1I,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,34 @@
1
+ /** The group an app's kind is listed under when it names none. */
2
+ export const APP_GROUP = 'Your kinds';
3
+ /** The widget an app's kind is drawn by: the one it names, or its id. */
4
+ export const widgetOf = (kind) => kind.widget?.trim() || kind.id;
5
+ /**
6
+ * Check an app's kinds against Fieldia's (`builtIn`) and the app's kinds
7
+ * registered before (`others`, which these replace when they share an id).
8
+ * Throws, saying why, for one that cannot be told apart.
9
+ */
10
+ export function checkAppKinds(kinds, builtIn, others = []) {
11
+ const ids = new Set();
12
+ for (const kind of kinds) {
13
+ if (!kind || typeof kind.id !== 'string' || !kind.id.trim() || typeof kind.label !== 'string' || !kind.label.trim() || typeof kind.field !== 'function') {
14
+ throw new Error('An app’s kind needs an id, a label and a field');
15
+ }
16
+ if (builtIn.some((k) => k.id === kind.id))
17
+ throw new Error(`The kind “${kind.id}” is one of Fieldia’s own: give the app’s kind an id of its own`);
18
+ if (ids.has(kind.id))
19
+ throw new Error(`Two of the app’s kinds have the id “${kind.id}”`);
20
+ ids.add(kind.id);
21
+ const widget = widgetOf(kind);
22
+ const fieldia = builtIn.find((k) => k.widget === widget);
23
+ if (fieldia)
24
+ throw new Error(`The kind “${kind.id}” is drawn by “${widget}”, as Fieldia’s ${fieldia.label} is: give it a widget of its own`);
25
+ }
26
+ // Two drawn by one widget would be read back as the same kind.
27
+ const drawn = [...others.filter((k) => !ids.has(k.id)), ...kinds.map((k) => ({ id: k.id, label: k.label, widget: widgetOf(k) }))];
28
+ drawn.forEach((kind, i) => {
29
+ const twin = drawn.slice(0, i).find((k) => k.widget === kind.widget);
30
+ if (twin)
31
+ throw new Error(`“${twin.id}” and “${kind.id}” are both drawn by the widget “${kind.widget}”: give each a widget of its own`);
32
+ });
33
+ }
34
+ //# sourceMappingURL=app-kinds.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-kinds.mjs","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/app-kinds.ts"],"names":[],"mappings":"AAyDA,kEAAkE;AAClE,MAAM,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC;AAEtC,yEAAyE;AACzE,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAAa,EAAU,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;AASlF;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,KAAyB,EAAE,OAA6B,EAAE,SAA+B,EAAE;IACvH,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YACxJ,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,EAAE,iEAAiE,CAAC,CAAC;QAClJ,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QACzF,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QACzD,IAAI,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,EAAE,kBAAkB,MAAM,mBAAmB,OAAO,CAAC,KAAK,kCAAkC,CAAC,CAAC;IAC/I,CAAC;IACD,+DAA+D;IAC/D,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAClI,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC;QACrE,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,mCAAmC,IAAI,CAAC,MAAM,kCAAkC,CAAC,CAAC;IAC1I,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { type DesignerAssistant } from './assistant.mjs';
2
+ import type { ElementFactory } from './chrome.mjs';
3
+ import type { Designer } from './designer.mjs';
4
+ /**
5
+ * The box a person describes a form in for the app's assistant: the words,
6
+ * the assistant's name and what it is, and Build it (or Ask). Asked, it is
7
+ * busy — the words held, Cancel in place of the button, the wait said aloud;
8
+ * answered, the form goes in place and `onApplied` says what changed. What
9
+ * went wrong is said under it, the words kept to try again. Ctrl or ⌘ with
10
+ * Enter asks too; Enter alone starts a new line.
11
+ */
12
+ export interface AssistantBoxOptions {
13
+ el: ElementFactory;
14
+ designer: Designer;
15
+ assistant: DesignerAssistant;
16
+ /** What the box asks for: "Describe the form you need", or what should change. */
17
+ label: string;
18
+ placeholder: string;
19
+ /** The button's words, and what is said while it waits. */
20
+ ask: string;
21
+ busy: string;
22
+ /** Its form is in place: these are the changes, and whether the page was blank before. */
23
+ onApplied(changes: string[], wasBlank: boolean): void;
24
+ /** It stopped waiting, whatever the answer. */
25
+ onSettled?(): void;
26
+ }
27
+ export interface AssistantBox {
28
+ element: HTMLElement;
29
+ readonly busy: boolean;
30
+ focus(): void;
31
+ /** Stop waiting: the assistant is told, and its answer let go. */
32
+ cancel(): void;
33
+ }
34
+ export declare function assistantBox(options: AssistantBoxOptions): AssistantBox;
@@ -0,0 +1,34 @@
1
+ import { type DesignerAssistant } from './assistant';
2
+ import type { ElementFactory } from './chrome';
3
+ import type { Designer } from './designer';
4
+ /**
5
+ * The box a person describes a form in for the app's assistant: the words,
6
+ * the assistant's name and what it is, and Build it (or Ask). Asked, it is
7
+ * busy — the words held, Cancel in place of the button, the wait said aloud;
8
+ * answered, the form goes in place and `onApplied` says what changed. What
9
+ * went wrong is said under it, the words kept to try again. Ctrl or ⌘ with
10
+ * Enter asks too; Enter alone starts a new line.
11
+ */
12
+ export interface AssistantBoxOptions {
13
+ el: ElementFactory;
14
+ designer: Designer;
15
+ assistant: DesignerAssistant;
16
+ /** What the box asks for: "Describe the form you need", or what should change. */
17
+ label: string;
18
+ placeholder: string;
19
+ /** The button's words, and what is said while it waits. */
20
+ ask: string;
21
+ busy: string;
22
+ /** Its form is in place: these are the changes, and whether the page was blank before. */
23
+ onApplied(changes: string[], wasBlank: boolean): void;
24
+ /** It stopped waiting, whatever the answer. */
25
+ onSettled?(): void;
26
+ }
27
+ export interface AssistantBox {
28
+ element: HTMLElement;
29
+ readonly busy: boolean;
30
+ focus(): void;
31
+ /** Stop waiting: the assistant is told, and its answer let go. */
32
+ cancel(): void;
33
+ }
34
+ export declare function assistantBox(options: AssistantBoxOptions): AssistantBox;
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assistantBox = assistantBox;
4
+ const assistant_1 = require("./assistant");
5
+ const templates_1 = require("./templates");
6
+ let made = 0;
7
+ function assistantBox(options) {
8
+ const { el, designer, assistant } = options;
9
+ const w = designer.words.assistant;
10
+ const id = `fd-assist-${++made}`;
11
+ const area = el('textarea', { id, class: 'fd-input fd-assist-prompt', rows: '3', placeholder: options.placeholder, spellcheck: 'true' });
12
+ const label = el('label', { class: 'fd-assist-label', for: id }, options.label);
13
+ const name = assistant.name ? el('span', { class: 'fd-assist-name' }, assistant.name) : null;
14
+ const note = assistant.note ? el('p', { class: 'fd-assist-note', id: `${id}-note` }, el('bdi', {}, assistant.note)) : null;
15
+ if (note)
16
+ area.setAttribute('aria-describedby', note.id);
17
+ const submit = el('button', { type: 'submit', class: 'fd-button fd-button-primary fd-assist-ask' }, options.ask);
18
+ const cancelButton = el('button', { type: 'button', class: 'fd-button fd-assist-cancel', hidden: '' }, w.cancel);
19
+ const waiting = el('span', { class: 'fd-assist-busy', role: 'status', hidden: '' }, el('span', { class: 'fd-assist-spinner', 'aria-hidden': 'true' }), options.busy);
20
+ const said = el('p', { class: 'fd-assist-said', role: 'status' });
21
+ const problem = el('p', { class: 'fd-assist-problem', role: 'alert', hidden: '' });
22
+ const element = el('form', { class: 'fd-assist', 'aria-busy': 'false', novalidate: '' }, el('div', { class: 'fd-assist-head' }, label, ...(name ? [name] : [])), area, ...(note ? [note] : []), el('div', { class: 'fd-assist-actions' }, submit, waiting, cancelButton, said), problem);
23
+ let run = null;
24
+ function setBusy(busy) {
25
+ element.setAttribute('aria-busy', String(busy));
26
+ area.readOnly = busy;
27
+ submit.hidden = busy;
28
+ waiting.hidden = !busy;
29
+ cancelButton.hidden = !busy;
30
+ }
31
+ /** Said under the box, each in its own direction: the assistant's words may be English on a page right to left. */
32
+ function tell(words, wrong) {
33
+ problem.replaceChildren(...(wrong ? [el('bdi', {}, words)] : []));
34
+ problem.hidden = !wrong;
35
+ said.replaceChildren(...(!wrong && words ? [el('bdi', {}, words)] : []));
36
+ }
37
+ async function ask() {
38
+ if (run)
39
+ return;
40
+ tell('', false);
41
+ if (!area.value.trim()) {
42
+ tell(w.askForWords, true);
43
+ area.focus();
44
+ return;
45
+ }
46
+ const wasBlank = (0, templates_1.isBlank)(designer.getPage());
47
+ // Asked from in here: the button pressed is hidden while it waits, so the cursor waits on Cancel.
48
+ const here = element.contains(element.ownerDocument.activeElement);
49
+ const current = (0, assistant_1.askAssistant)(designer, assistant, area.value);
50
+ run = current;
51
+ setBusy(true);
52
+ if (here)
53
+ cancelButton.focus();
54
+ const result = await current.done;
55
+ if (run !== current)
56
+ return;
57
+ run = null;
58
+ setBusy(false);
59
+ options.onSettled?.();
60
+ if (result.status === 'applied') {
61
+ options.onApplied(result.changes, wasBlank);
62
+ return;
63
+ }
64
+ if (result.status === 'unchanged')
65
+ tell(w.leftAsItWas, false);
66
+ else if (result.status !== 'cancelled')
67
+ tell(result.problem, true);
68
+ area.focus();
69
+ }
70
+ element.addEventListener('submit', (event) => {
71
+ event.preventDefault();
72
+ void ask();
73
+ });
74
+ area.addEventListener('keydown', (event) => {
75
+ if (event.key === 'Enter' && (event.ctrlKey || event.metaKey)) {
76
+ event.preventDefault();
77
+ void ask();
78
+ }
79
+ });
80
+ /** Stopped at once: the assistant is told, and the box is back to the words. */
81
+ function cancel() {
82
+ const current = run;
83
+ if (!current)
84
+ return;
85
+ run = null;
86
+ current.cancel();
87
+ setBusy(false);
88
+ options.onSettled?.();
89
+ tell(w.cancelled, false);
90
+ area.focus();
91
+ }
92
+ cancelButton.addEventListener('click', cancel);
93
+ element.addEventListener('keydown', (event) => {
94
+ // Escape stops the wait; with nothing to wait for, it is the place's own, a dialog's to close.
95
+ if (event.key === 'Escape' && run) {
96
+ event.preventDefault();
97
+ cancel();
98
+ }
99
+ });
100
+ return {
101
+ element,
102
+ get busy() {
103
+ return run !== null;
104
+ },
105
+ focus: () => area.focus(),
106
+ cancel,
107
+ };
108
+ }
109
+ //# sourceMappingURL=assistant-box.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant-box.js","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/assistant-box.ts"],"names":[],"mappings":";;AAwCA,oCAwGC;AAhJD,2CAAsF;AAGtF,2CAAsC;AAmCtC,IAAI,IAAI,GAAG,CAAC,CAAC;AAEb,SAAgB,YAAY,CAAC,OAA4B;IACvD,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC5C,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;IACnC,MAAM,EAAE,GAAG,aAAa,EAAE,IAAI,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,2BAA2B,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,CAAwB,CAAC;IAChK,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAChF,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7F,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3H,IAAI,IAAI;QAAE,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,2CAA2C,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACjH,MAAM,YAAY,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,4BAA4B,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACjH,MAAM,OAAO,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACrK,MAAM,IAAI,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;IACnF,MAAM,OAAO,GAAG,EAAE,CAChB,MAAM,EACN,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,EAC5D,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EACtE,IAAI,EACJ,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EACvB,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,EAC9E,OAAO,CACR,CAAC;IACF,IAAI,GAAG,GAAwB,IAAI,CAAC;IAEpC,SAAS,OAAO,CAAC,IAAa;QAC5B,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC;QACvB,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC;IAC9B,CAAC;IACD,mHAAmH;IACnH,SAAS,IAAI,CAAC,KAAa,EAAE,KAAc;QACzC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClE,OAAO,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,KAAK,UAAU,GAAG;QAChB,IAAI,GAAG;YAAE,OAAO;QAChB,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YACvB,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,IAAA,mBAAO,EAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7C,kGAAkG;QAClG,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,IAAA,wBAAY,EAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9D,GAAG,GAAG,OAAO,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,IAAI,IAAI;YAAE,YAAY,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;QAClC,IAAI,GAAG,KAAK,OAAO;YAAE,OAAO;QAC5B,GAAG,GAAG,IAAI,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,CAAC;QACf,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;QACtB,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW;YAAE,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;aACzD,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW;YAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IACD,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;QAC3C,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,GAAG,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;QACzC,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9D,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,GAAG,EAAE,CAAC;QACb,CAAC;IACH,CAAC,CAAC,CAAC;IACH,gFAAgF;IAChF,SAAS,MAAM;QACb,MAAM,OAAO,GAAG,GAAG,CAAC;QACpB,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,GAAG,GAAG,IAAI,CAAC;QACX,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,CAAC;QACf,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IACD,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/C,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;QAC5C,+FAA+F;QAC/F,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,GAAG,EAAE,CAAC;YAClC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,OAAO;QACP,IAAI,IAAI;YACN,OAAO,GAAG,KAAK,IAAI,CAAC;QACtB,CAAC;QACD,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE;QACzB,MAAM;KACP,CAAC;AACJ,CAAC"}