@fieldia/designer 0.11.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (379) hide show
  1. package/package.json +4 -4
  2. package/src/lib/canvas-form.js +9 -0
  3. package/src/lib/canvas-form.js.map +1 -1
  4. package/src/lib/canvas-form.mjs +9 -0
  5. package/src/lib/canvas-form.mjs.map +1 -1
  6. package/src/lib/canvas-header.d.mts +4 -1
  7. package/src/lib/canvas-header.d.ts +4 -1
  8. package/src/lib/canvas-header.js +56 -17
  9. package/src/lib/canvas-header.js.map +1 -1
  10. package/src/lib/canvas-header.mjs +56 -17
  11. package/src/lib/canvas-header.mjs.map +1 -1
  12. package/src/lib/choice-commands.d.mts +5 -1
  13. package/src/lib/choice-commands.d.ts +5 -1
  14. package/src/lib/choice-commands.js +41 -0
  15. package/src/lib/choice-commands.js.map +1 -1
  16. package/src/lib/choice-commands.mjs +41 -0
  17. package/src/lib/choice-commands.mjs.map +1 -1
  18. package/src/lib/clipboard-names.js +21 -4
  19. package/src/lib/clipboard-names.js.map +1 -1
  20. package/src/lib/clipboard-names.mjs +21 -4
  21. package/src/lib/clipboard-names.mjs.map +1 -1
  22. package/src/lib/conditions.d.mts +14 -2
  23. package/src/lib/conditions.d.ts +14 -2
  24. package/src/lib/conditions.js +25 -2
  25. package/src/lib/conditions.js.map +1 -1
  26. package/src/lib/conditions.mjs +23 -2
  27. package/src/lib/conditions.mjs.map +1 -1
  28. package/src/lib/designer.d.mts +20 -15
  29. package/src/lib/designer.d.ts +20 -15
  30. package/src/lib/designer.js +67 -3
  31. package/src/lib/designer.js.map +1 -1
  32. package/src/lib/designer.mjs +68 -4
  33. package/src/lib/designer.mjs.map +1 -1
  34. package/src/lib/header-commands.d.mts +69 -11
  35. package/src/lib/header-commands.d.ts +69 -11
  36. package/src/lib/header-commands.js +299 -20
  37. package/src/lib/header-commands.js.map +1 -1
  38. package/src/lib/header-commands.mjs +297 -20
  39. package/src/lib/header-commands.mjs.map +1 -1
  40. package/src/lib/header-properties.js +171 -20
  41. package/src/lib/header-properties.js.map +1 -1
  42. package/src/lib/header-properties.mjs +172 -21
  43. package/src/lib/header-properties.mjs.map +1 -1
  44. package/src/lib/hotkey-setting.d.mts +8 -0
  45. package/src/lib/hotkey-setting.d.ts +8 -0
  46. package/src/lib/hotkey-setting.js +25 -0
  47. package/src/lib/hotkey-setting.js.map +1 -0
  48. package/src/lib/hotkey-setting.mjs +20 -0
  49. package/src/lib/hotkey-setting.mjs.map +1 -0
  50. package/src/lib/icons.js +15 -0
  51. package/src/lib/icons.js.map +1 -1
  52. package/src/lib/icons.mjs +15 -0
  53. package/src/lib/icons.mjs.map +1 -1
  54. package/src/lib/inline-settings.js +32 -4
  55. package/src/lib/inline-settings.js.map +1 -1
  56. package/src/lib/inline-settings.mjs +33 -5
  57. package/src/lib/inline-settings.mjs.map +1 -1
  58. package/src/lib/input-changes.js +12 -0
  59. package/src/lib/input-changes.js.map +1 -1
  60. package/src/lib/input-changes.mjs +12 -0
  61. package/src/lib/input-changes.mjs.map +1 -1
  62. package/src/lib/kind-settings-choices.js +30 -0
  63. package/src/lib/kind-settings-choices.js.map +1 -1
  64. package/src/lib/kind-settings-choices.mjs +30 -0
  65. package/src/lib/kind-settings-choices.mjs.map +1 -1
  66. package/src/lib/kind-settings-inputs.js +80 -0
  67. package/src/lib/kind-settings-inputs.js.map +1 -1
  68. package/src/lib/kind-settings-inputs.mjs +80 -0
  69. package/src/lib/kind-settings-inputs.mjs.map +1 -1
  70. package/src/lib/kinds.d.mts +2 -0
  71. package/src/lib/kinds.d.ts +2 -0
  72. package/src/lib/kinds.js +71 -7
  73. package/src/lib/kinds.js.map +1 -1
  74. package/src/lib/kinds.mjs +70 -6
  75. package/src/lib/kinds.mjs.map +1 -1
  76. package/src/lib/layout-settings.d.mts +7 -1
  77. package/src/lib/layout-settings.d.ts +7 -1
  78. package/src/lib/layout-settings.js +36 -2
  79. package/src/lib/layout-settings.js.map +1 -1
  80. package/src/lib/layout-settings.mjs +35 -2
  81. package/src/lib/layout-settings.mjs.map +1 -1
  82. package/src/lib/locales/ar/canvas.js +6 -0
  83. package/src/lib/locales/ar/canvas.js.map +1 -1
  84. package/src/lib/locales/ar/canvas.mjs +6 -0
  85. package/src/lib/locales/ar/canvas.mjs.map +1 -1
  86. package/src/lib/locales/ar/changes.js +2 -2
  87. package/src/lib/locales/ar/changes.js.map +1 -1
  88. package/src/lib/locales/ar/changes.mjs +2 -2
  89. package/src/lib/locales/ar/changes.mjs.map +1 -1
  90. package/src/lib/locales/ar/defaults.js +7 -0
  91. package/src/lib/locales/ar/defaults.js.map +1 -1
  92. package/src/lib/locales/ar/defaults.mjs +7 -0
  93. package/src/lib/locales/ar/defaults.mjs.map +1 -1
  94. package/src/lib/locales/ar/index.js +2 -1
  95. package/src/lib/locales/ar/index.js.map +1 -1
  96. package/src/lib/locales/ar/index.mjs +2 -1
  97. package/src/lib/locales/ar/index.mjs.map +1 -1
  98. package/src/lib/locales/ar/kinds.js +15 -0
  99. package/src/lib/locales/ar/kinds.js.map +1 -1
  100. package/src/lib/locales/ar/kinds.mjs +15 -0
  101. package/src/lib/locales/ar/kinds.mjs.map +1 -1
  102. package/src/lib/locales/ar/layout.js +2 -0
  103. package/src/lib/locales/ar/layout.js.map +1 -1
  104. package/src/lib/locales/ar/layout.mjs +2 -0
  105. package/src/lib/locales/ar/layout.mjs.map +1 -1
  106. package/src/lib/locales/ar/panel.js +85 -1
  107. package/src/lib/locales/ar/panel.js.map +1 -1
  108. package/src/lib/locales/ar/panel.mjs +85 -1
  109. package/src/lib/locales/ar/panel.mjs.map +1 -1
  110. package/src/lib/locales/ar/questions.js +20 -0
  111. package/src/lib/locales/ar/questions.js.map +1 -1
  112. package/src/lib/locales/ar/questions.mjs +20 -0
  113. package/src/lib/locales/ar/questions.mjs.map +1 -1
  114. package/src/lib/locales/ar/refusals.js +23 -1
  115. package/src/lib/locales/ar/refusals.js.map +1 -1
  116. package/src/lib/locales/ar/refusals.mjs +23 -1
  117. package/src/lib/locales/ar/refusals.mjs.map +1 -1
  118. package/src/lib/locales/ar/rules-ui.js +19 -0
  119. package/src/lib/locales/ar/rules-ui.js.map +1 -1
  120. package/src/lib/locales/ar/rules-ui.mjs +19 -0
  121. package/src/lib/locales/ar/rules-ui.mjs.map +1 -1
  122. package/src/lib/locales/ar/rules.js +7 -0
  123. package/src/lib/locales/ar/rules.js.map +1 -1
  124. package/src/lib/locales/ar/rules.mjs +7 -0
  125. package/src/lib/locales/ar/rules.mjs.map +1 -1
  126. package/src/lib/locales/ar/settings-changes.js +20 -0
  127. package/src/lib/locales/ar/settings-changes.js.map +1 -1
  128. package/src/lib/locales/ar/settings-changes.mjs +20 -0
  129. package/src/lib/locales/ar/settings-changes.mjs.map +1 -1
  130. package/src/lib/locales/ar/steps.js +31 -1
  131. package/src/lib/locales/ar/steps.js.map +1 -1
  132. package/src/lib/locales/ar/steps.mjs +31 -1
  133. package/src/lib/locales/ar/steps.mjs.map +1 -1
  134. package/src/lib/locales/ar/tables.d.mts +2 -0
  135. package/src/lib/locales/ar/tables.d.ts +2 -0
  136. package/src/lib/locales/ar/tables.js +69 -0
  137. package/src/lib/locales/ar/tables.js.map +1 -0
  138. package/src/lib/locales/ar/tables.mjs +66 -0
  139. package/src/lib/locales/ar/tables.mjs.map +1 -0
  140. package/src/lib/locales/en/canvas.d.mts +13 -0
  141. package/src/lib/locales/en/canvas.d.ts +13 -0
  142. package/src/lib/locales/en/canvas.js +6 -0
  143. package/src/lib/locales/en/canvas.js.map +1 -1
  144. package/src/lib/locales/en/canvas.mjs +6 -0
  145. package/src/lib/locales/en/canvas.mjs.map +1 -1
  146. package/src/lib/locales/en/changes.d.mts +2 -2
  147. package/src/lib/locales/en/changes.d.ts +2 -2
  148. package/src/lib/locales/en/changes.js +1 -1
  149. package/src/lib/locales/en/changes.js.map +1 -1
  150. package/src/lib/locales/en/changes.mjs +1 -1
  151. package/src/lib/locales/en/changes.mjs.map +1 -1
  152. package/src/lib/locales/en/defaults.d.mts +8 -0
  153. package/src/lib/locales/en/defaults.d.ts +8 -0
  154. package/src/lib/locales/en/defaults.js +8 -0
  155. package/src/lib/locales/en/defaults.js.map +1 -1
  156. package/src/lib/locales/en/defaults.mjs +8 -0
  157. package/src/lib/locales/en/defaults.mjs.map +1 -1
  158. package/src/lib/locales/en/index.d.mts +311 -4
  159. package/src/lib/locales/en/index.d.ts +311 -4
  160. package/src/lib/locales/en/index.js +2 -1
  161. package/src/lib/locales/en/index.js.map +1 -1
  162. package/src/lib/locales/en/index.mjs +2 -1
  163. package/src/lib/locales/en/index.mjs.map +1 -1
  164. package/src/lib/locales/en/kinds.d.mts +15 -0
  165. package/src/lib/locales/en/kinds.d.ts +15 -0
  166. package/src/lib/locales/en/kinds.js +15 -0
  167. package/src/lib/locales/en/kinds.js.map +1 -1
  168. package/src/lib/locales/en/kinds.mjs +15 -0
  169. package/src/lib/locales/en/kinds.mjs.map +1 -1
  170. package/src/lib/locales/en/layout.d.mts +2 -0
  171. package/src/lib/locales/en/layout.d.ts +2 -0
  172. package/src/lib/locales/en/layout.js +2 -0
  173. package/src/lib/locales/en/layout.js.map +1 -1
  174. package/src/lib/locales/en/layout.mjs +2 -0
  175. package/src/lib/locales/en/layout.mjs.map +1 -1
  176. package/src/lib/locales/en/panel.d.mts +84 -0
  177. package/src/lib/locales/en/panel.d.ts +84 -0
  178. package/src/lib/locales/en/panel.js +66 -1
  179. package/src/lib/locales/en/panel.js.map +1 -1
  180. package/src/lib/locales/en/panel.mjs +66 -1
  181. package/src/lib/locales/en/panel.mjs.map +1 -1
  182. package/src/lib/locales/en/questions.d.mts +20 -0
  183. package/src/lib/locales/en/questions.d.ts +20 -0
  184. package/src/lib/locales/en/questions.js +21 -0
  185. package/src/lib/locales/en/questions.js.map +1 -1
  186. package/src/lib/locales/en/questions.mjs +21 -0
  187. package/src/lib/locales/en/questions.mjs.map +1 -1
  188. package/src/lib/locales/en/refusals.d.mts +22 -0
  189. package/src/lib/locales/en/refusals.d.ts +22 -0
  190. package/src/lib/locales/en/refusals.js +24 -1
  191. package/src/lib/locales/en/refusals.js.map +1 -1
  192. package/src/lib/locales/en/refusals.mjs +24 -1
  193. package/src/lib/locales/en/refusals.mjs.map +1 -1
  194. package/src/lib/locales/en/rules-ui.d.mts +24 -0
  195. package/src/lib/locales/en/rules-ui.d.ts +24 -0
  196. package/src/lib/locales/en/rules-ui.js +20 -0
  197. package/src/lib/locales/en/rules-ui.js.map +1 -1
  198. package/src/lib/locales/en/rules-ui.mjs +20 -0
  199. package/src/lib/locales/en/rules-ui.mjs.map +1 -1
  200. package/src/lib/locales/en/rules.d.mts +8 -0
  201. package/src/lib/locales/en/rules.d.ts +8 -0
  202. package/src/lib/locales/en/rules.js +8 -0
  203. package/src/lib/locales/en/rules.js.map +1 -1
  204. package/src/lib/locales/en/rules.mjs +9 -1
  205. package/src/lib/locales/en/rules.mjs.map +1 -1
  206. package/src/lib/locales/en/settings-changes.d.mts +20 -0
  207. package/src/lib/locales/en/settings-changes.d.ts +20 -0
  208. package/src/lib/locales/en/settings-changes.js +21 -0
  209. package/src/lib/locales/en/settings-changes.js.map +1 -1
  210. package/src/lib/locales/en/settings-changes.mjs +21 -0
  211. package/src/lib/locales/en/settings-changes.mjs.map +1 -1
  212. package/src/lib/locales/en/steps.d.mts +35 -0
  213. package/src/lib/locales/en/steps.d.ts +35 -0
  214. package/src/lib/locales/en/steps.js +32 -1
  215. package/src/lib/locales/en/steps.js.map +1 -1
  216. package/src/lib/locales/en/steps.mjs +32 -1
  217. package/src/lib/locales/en/steps.mjs.map +1 -1
  218. package/src/lib/locales/en/tables.d.mts +73 -0
  219. package/src/lib/locales/en/tables.d.ts +73 -0
  220. package/src/lib/locales/en/tables.js +85 -0
  221. package/src/lib/locales/en/tables.js.map +1 -0
  222. package/src/lib/locales/en/tables.mjs +82 -0
  223. package/src/lib/locales/en/tables.mjs.map +1 -0
  224. package/src/lib/page-checks.js +6 -3
  225. package/src/lib/page-checks.js.map +1 -1
  226. package/src/lib/page-checks.mjs +6 -3
  227. package/src/lib/page-checks.mjs.map +1 -1
  228. package/src/lib/page-tree.d.mts +5 -1
  229. package/src/lib/page-tree.d.ts +5 -1
  230. package/src/lib/page-tree.js +29 -3
  231. package/src/lib/page-tree.js.map +1 -1
  232. package/src/lib/page-tree.mjs +28 -3
  233. package/src/lib/page-tree.mjs.map +1 -1
  234. package/src/lib/panel-block.js +22 -3
  235. package/src/lib/panel-block.js.map +1 -1
  236. package/src/lib/panel-block.mjs +22 -3
  237. package/src/lib/panel-block.mjs.map +1 -1
  238. package/src/lib/panel-field.js +22 -2
  239. package/src/lib/panel-field.js.map +1 -1
  240. package/src/lib/panel-field.mjs +22 -2
  241. package/src/lib/panel-field.mjs.map +1 -1
  242. package/src/lib/panel-group.js +7 -1
  243. package/src/lib/panel-group.js.map +1 -1
  244. package/src/lib/panel-group.mjs +7 -1
  245. package/src/lib/panel-group.mjs.map +1 -1
  246. package/src/lib/panel-layout.js +7 -1
  247. package/src/lib/panel-layout.js.map +1 -1
  248. package/src/lib/panel-layout.mjs +7 -1
  249. package/src/lib/panel-layout.mjs.map +1 -1
  250. package/src/lib/panel-look.js +25 -5
  251. package/src/lib/panel-look.js.map +1 -1
  252. package/src/lib/panel-look.mjs +27 -7
  253. package/src/lib/panel-look.mjs.map +1 -1
  254. package/src/lib/panel-page.d.mts +4 -2
  255. package/src/lib/panel-page.d.ts +4 -2
  256. package/src/lib/panel-page.js +41 -3
  257. package/src/lib/panel-page.js.map +1 -1
  258. package/src/lib/panel-page.mjs +41 -3
  259. package/src/lib/panel-page.mjs.map +1 -1
  260. package/src/lib/panel-screen.js +2 -2
  261. package/src/lib/panel-screen.js.map +1 -1
  262. package/src/lib/panel-screen.mjs +3 -3
  263. package/src/lib/panel-screen.mjs.map +1 -1
  264. package/src/lib/placeholder-when.d.mts +13 -0
  265. package/src/lib/placeholder-when.d.ts +13 -0
  266. package/src/lib/placeholder-when.js +83 -0
  267. package/src/lib/placeholder-when.js.map +1 -0
  268. package/src/lib/placeholder-when.mjs +80 -0
  269. package/src/lib/placeholder-when.mjs.map +1 -0
  270. package/src/lib/roles-setting.d.mts +18 -0
  271. package/src/lib/roles-setting.d.ts +18 -0
  272. package/src/lib/roles-setting.js +48 -0
  273. package/src/lib/roles-setting.js.map +1 -0
  274. package/src/lib/roles-setting.mjs +43 -0
  275. package/src/lib/roles-setting.mjs.map +1 -0
  276. package/src/lib/rules-answers.js +22 -7
  277. package/src/lib/rules-answers.js.map +1 -1
  278. package/src/lib/rules-answers.mjs +22 -7
  279. package/src/lib/rules-answers.mjs.map +1 -1
  280. package/src/lib/rules-changes.js +1 -1
  281. package/src/lib/rules-changes.js.map +1 -1
  282. package/src/lib/rules-changes.mjs +2 -2
  283. package/src/lib/rules-changes.mjs.map +1 -1
  284. package/src/lib/rules-checks.js +1 -1
  285. package/src/lib/rules-checks.js.map +1 -1
  286. package/src/lib/rules-checks.mjs +1 -1
  287. package/src/lib/rules-checks.mjs.map +1 -1
  288. package/src/lib/rules-commands.d.mts +6 -0
  289. package/src/lib/rules-commands.d.ts +6 -0
  290. package/src/lib/rules-commands.js +63 -3
  291. package/src/lib/rules-commands.js.map +1 -1
  292. package/src/lib/rules-commands.mjs +63 -3
  293. package/src/lib/rules-commands.mjs.map +1 -1
  294. package/src/lib/rules-defaults.d.mts +8 -0
  295. package/src/lib/rules-defaults.d.ts +8 -0
  296. package/src/lib/rules-defaults.js +77 -0
  297. package/src/lib/rules-defaults.js.map +1 -0
  298. package/src/lib/rules-defaults.mjs +74 -0
  299. package/src/lib/rules-defaults.mjs.map +1 -0
  300. package/src/lib/rules-formula.js +12 -3
  301. package/src/lib/rules-formula.js.map +1 -1
  302. package/src/lib/rules-formula.mjs +12 -3
  303. package/src/lib/rules-formula.mjs.map +1 -1
  304. package/src/lib/rules-panel.js +4 -1
  305. package/src/lib/rules-panel.js.map +1 -1
  306. package/src/lib/rules-panel.mjs +4 -1
  307. package/src/lib/rules-panel.mjs.map +1 -1
  308. package/src/lib/rules-words.d.mts +10 -3
  309. package/src/lib/rules-words.d.ts +10 -3
  310. package/src/lib/rules-words.js +18 -3
  311. package/src/lib/rules-words.js.map +1 -1
  312. package/src/lib/rules-words.mjs +17 -3
  313. package/src/lib/rules-words.mjs.map +1 -1
  314. package/src/lib/rules-worked-out.js +31 -6
  315. package/src/lib/rules-worked-out.js.map +1 -1
  316. package/src/lib/rules-worked-out.mjs +31 -6
  317. package/src/lib/rules-worked-out.mjs.map +1 -1
  318. package/src/lib/shown-while.d.mts +16 -0
  319. package/src/lib/shown-while.d.ts +16 -0
  320. package/src/lib/shown-while.js +28 -0
  321. package/src/lib/shown-while.js.map +1 -0
  322. package/src/lib/shown-while.mjs +25 -0
  323. package/src/lib/shown-while.mjs.map +1 -0
  324. package/src/lib/steps-commands.d.mts +2 -2
  325. package/src/lib/steps-commands.d.ts +2 -2
  326. package/src/lib/steps-commands.js +3 -0
  327. package/src/lib/steps-commands.js.map +1 -1
  328. package/src/lib/steps-commands.mjs +3 -0
  329. package/src/lib/steps-commands.mjs.map +1 -1
  330. package/src/lib/steps-editor.js +12 -3
  331. package/src/lib/steps-editor.js.map +1 -1
  332. package/src/lib/steps-editor.mjs +12 -3
  333. package/src/lib/steps-editor.mjs.map +1 -1
  334. package/src/lib/steps-places.d.mts +3 -3
  335. package/src/lib/steps-places.d.ts +3 -3
  336. package/src/lib/steps-places.js +15 -4
  337. package/src/lib/steps-places.js.map +1 -1
  338. package/src/lib/steps-places.mjs +15 -4
  339. package/src/lib/steps-places.mjs.map +1 -1
  340. package/src/lib/steps-settings.js +75 -1
  341. package/src/lib/steps-settings.js.map +1 -1
  342. package/src/lib/steps-settings.mjs +75 -1
  343. package/src/lib/steps-settings.mjs.map +1 -1
  344. package/src/lib/steps-words.js +24 -3
  345. package/src/lib/steps-words.js.map +1 -1
  346. package/src/lib/steps-words.mjs +24 -3
  347. package/src/lib/steps-words.mjs.map +1 -1
  348. package/src/lib/structure-changes.js +6 -0
  349. package/src/lib/structure-changes.js.map +1 -1
  350. package/src/lib/structure-changes.mjs +6 -0
  351. package/src/lib/structure-changes.mjs.map +1 -1
  352. package/src/lib/styles-rules.d.mts +1 -1
  353. package/src/lib/styles-rules.d.ts +1 -1
  354. package/src/lib/styles-rules.js +12 -0
  355. package/src/lib/styles-rules.js.map +1 -1
  356. package/src/lib/styles-rules.mjs +12 -0
  357. package/src/lib/styles-rules.mjs.map +1 -1
  358. package/src/lib/styles.d.mts +1 -1
  359. package/src/lib/styles.d.ts +1 -1
  360. package/src/lib/styles.js +7 -0
  361. package/src/lib/styles.js.map +1 -1
  362. package/src/lib/styles.mjs +7 -0
  363. package/src/lib/styles.mjs.map +1 -1
  364. package/src/lib/table-commands.d.mts +76 -0
  365. package/src/lib/table-commands.d.ts +76 -0
  366. package/src/lib/table-commands.js +248 -0
  367. package/src/lib/table-commands.js.map +1 -0
  368. package/src/lib/table-commands.mjs +244 -0
  369. package/src/lib/table-commands.mjs.map +1 -0
  370. package/src/lib/table-panel.d.mts +8 -0
  371. package/src/lib/table-panel.d.ts +8 -0
  372. package/src/lib/table-panel.js +276 -0
  373. package/src/lib/table-panel.js.map +1 -0
  374. package/src/lib/table-panel.mjs +273 -0
  375. package/src/lib/table-panel.mjs.map +1 -0
  376. package/src/lib/toolbox.js +1 -0
  377. package/src/lib/toolbox.js.map +1 -1
  378. package/src/lib/toolbox.mjs +1 -0
  379. package/src/lib/toolbox.mjs.map +1 -1
@@ -1,11 +1,17 @@
1
1
  import { choicesOf, conditionEditor } from './condition-editor.mjs';
2
- import { findHeaderPart } from './header-commands.mjs';
2
+ import { findHeaderPart, wordsOf } from './header-commands.mjs';
3
3
  import { allSections } from './page-tree.mjs';
4
4
  import { whenClicked } from './steps-panel.mjs';
5
+ import { setting } from './panel-controls.mjs';
6
+ import { rolesSetting } from './roles-setting.mjs';
7
+ import { hotkeyShown } from './hotkey-setting.mjs';
8
+ import { shownWhileSetting } from './shown-while.mjs';
5
9
  /**
6
- * The panel for a part of a record's header: a button, a counter or a badge
7
- * — its words, what it does, how it looks and when it shows — and for the
8
- * status steps: which field, whether a step can be clicked, and where they sit.
10
+ * The panel for a part of a record's header: a button, a counter, a badge or
11
+ * an item of the gear menu — its words, what it does, how it looks and when
12
+ * it shows (an item: whether it is one of the record's own, and whether it
13
+ * goes under Print) — and for the status steps: which field, whether a step
14
+ * can be clicked, and where they sit.
9
15
  */
10
16
  const prop = (el, text, control) => el('label', { class: 'fd-prop' }, el('span', { class: 'fd-prop-name' }, text), control);
11
17
  const select = (el, label, options) => el('select', { class: 'fd-input fd-select', 'aria-label': label }, ...options.map(([value, text]) => el('option', { value }, text)));
@@ -22,29 +28,87 @@ export function headerPartProperties(el, designer, id) {
22
28
  const words = el('input', { class: 'fd-input', 'aria-label': w.words });
23
29
  words.addEventListener('input', () => designer.updateHeaderPart(id, { label: words.value }));
24
30
  // steps lane: what a button or a counter does when clicked, its app action one of the steps.
25
- const pressed = findHeaderPart(designer.getPage(), id)?.kind !== 'badge' ? whenClicked(el, designer, id) : null;
31
+ const kindNow = findHeaderPart(designer.getPage(), id)?.kind;
32
+ const pressed = kindNow === 'button' || kindNow === 'stat' || kindNow === 'menu' ? whenClicked(el, designer, id) : null;
33
+ // An item of the gear menu: one of the record's own, and the group it is in.
34
+ const builtin = select(el, w.builtin, ['none', 'archive', 'unarchive', 'duplicate', 'delete'].map((value) => [value, w.builtins[value]]));
35
+ builtin.addEventListener('change', () => designer.updateHeaderPart(id, { builtin: builtin.value === 'none' ? '' : builtin.value }));
36
+ const builtinRow = setting(el, 'content', 'The record’s own', builtin, { hint: w.builtinHint, words: w.builtin });
37
+ const group = select(el, w.menuGroup, [['actions', w.menuGroups.actions], ['print', w.menuGroups.print]]);
38
+ group.addEventListener('change', () => designer.updateHeaderPart(id, { group: group.value }));
39
+ const groupRow = setting(el, 'content', 'Under', group, { words: w.menuGroup });
26
40
  const look = select(el, w.look, [['secondary', w.buttonLooks.secondary], ['primary', w.buttonLooks.primary], ['danger', w.buttonLooks.danger], ['link', w.buttonLooks.link]]);
27
41
  look.addEventListener('change', () => designer.updateHeaderPart(id, { style: look.value }));
28
42
  const lookRow = prop(el, w.look, look);
29
43
  const asks = el('input', { class: 'fd-input', 'aria-label': w.asksFirst, placeholder: w.actsAtOnce });
30
44
  asks.addEventListener('input', () => designer.updateHeaderPart(id, { confirm: asks.value }));
31
45
  const asksRow = prop(el, w.asksFirst, asks);
46
+ // A key that presses it with Alt, as Flectra's hotkeys.
47
+ const hotkey = el('input', { class: 'fd-input fd-hotkey-input', 'aria-label': w.hotkey, placeholder: 'V', autocomplete: 'off', spellcheck: 'false', maxlength: '11' });
48
+ hotkey.addEventListener('change', () => designer.updateHeaderPart(id, { hotkey: hotkey.value }));
49
+ const hotkeyRow = el('label', { class: 'fd-prop' }, el('span', { class: 'fd-prop-name' }, w.hotkey), hotkey, el('p', { class: 'fd-properties-hint' }, w.hotkeyHint));
32
50
  const count = el('select', { class: 'fd-input fd-select', 'aria-label': w.numberFrom });
33
51
  count.addEventListener('change', () => designer.updateHeaderPart(id, { field: count.value }));
34
52
  const countRow = prop(el, w.numberFrom, count);
53
+ // A counter's value written as its field shows it, with a unit, its words from a field, and a second value.
54
+ const fieldSelect = (label, key) => {
55
+ const box = el('select', { class: 'fd-input fd-select', 'aria-label': label });
56
+ box.addEventListener('change', () => designer.updateHeaderPart(id, { [key]: box.value }));
57
+ return box;
58
+ };
59
+ const unit = el('input', { class: 'fd-input', 'aria-label': w.unitWords, placeholder: w.optional });
60
+ unit.addEventListener('input', () => designer.updateHeaderPart(id, { unit: unit.value }));
61
+ const unitField = fieldSelect(w.unitFrom, 'unitField');
62
+ const labelField = fieldSelect(w.labelFrom, 'labelField');
63
+ const secondField = fieldSelect(w.secondFrom, 'secondField');
64
+ const secondLabel = el('input', { class: 'fd-input', 'aria-label': w.secondWords, placeholder: w.secondWordsHint });
65
+ secondLabel.addEventListener('input', () => designer.updateHeaderPart(id, { secondLabel: secondLabel.value }));
66
+ // A counter's help, as Flectra's help= on a smart button: its tooltip and its description.
67
+ const statHelp = el('input', { class: 'fd-input', 'aria-label': w.counterHelp, placeholder: w.optional });
68
+ statHelp.addEventListener('input', () => designer.updateHeaderPart(id, { help: statHelp.value }));
69
+ const statRows = [prop(el, w.counterHelp, statHelp), prop(el, w.unitWords, unit), prop(el, w.unitFrom, unitField), prop(el, w.labelFrom, labelField), prop(el, w.secondFrom, secondField), prop(el, w.secondWords, secondLabel)];
35
70
  const tone = select(el, w.tone, [['muted', w.tones.muted], ['info', w.tones.info], ['success', w.tones.success], ['warning', w.tones.warning], ['danger', w.tones.danger]]);
36
71
  tone.addEventListener('change', () => designer.updateHeaderPart(id, { tone: tone.value }));
37
72
  const toneRow = prop(el, w.tone, tone);
73
+ // A ribbon's or an alert's words from a field, a ribbon's tooltip, an alert's ×, a field's value put in the words, an alert's own buttons.
74
+ const wordsFrom = el('select', { class: 'fd-input fd-select', 'aria-label': w.wordsFrom });
75
+ wordsFrom.addEventListener('change', () => designer.updateHeaderPart(id, { wordsField: wordsFrom.value }));
76
+ const wordsFromRow = el('label', { class: 'fd-prop' }, el('span', { class: 'fd-prop-name' }, w.wordsFrom), wordsFrom, el('p', { class: 'fd-properties-hint' }, w.wordsFromHint));
77
+ const tooltip = el('input', { class: 'fd-input', 'aria-label': w.tooltip, placeholder: w.optional });
78
+ tooltip.addEventListener('input', () => designer.updateHeaderPart(id, { tooltip: tooltip.value }));
79
+ const tooltipRow = prop(el, w.tooltip, tooltip);
80
+ const closes = el('input', { type: 'checkbox', 'aria-label': w.canBeClosed });
81
+ closes.addEventListener('change', () => designer.updateHeaderPart(id, { dismissible: closes.checked }));
82
+ const closesRow = el('label', { class: 'fd-q-required' }, closes, el('span', {}, w.canBeClosed));
83
+ const value = el('select', { class: 'fd-input fd-select', 'aria-label': w.showValue });
84
+ value.addEventListener('change', () => {
85
+ const found = findHeaderPart(designer.getPage(), id);
86
+ if (found && value.value)
87
+ designer.updateHeaderPart(id, { label: `${wordsOf(found.part).trimEnd()} {${value.value}}`.trimStart() });
88
+ value.value = '';
89
+ });
90
+ const valueRow = el('label', { class: 'fd-prop' }, el('span', { class: 'fd-prop-name' }, w.showValue), value, el('p', { class: 'fd-properties-hint' }, w.valueHint));
91
+ const buttonsList = el('div', { class: 'fd-alert-buttons' });
92
+ const addInside = el('button', { type: 'button', class: 'fd-button fd-button-link' }, w.addButtonInside);
93
+ addInside.addEventListener('click', () => {
94
+ const made = designer.addAlertButton(id, designer.words.defaults.newButton);
95
+ if (made)
96
+ buttonsList.querySelector(`[data-button="${made}"] input`)?.focus();
97
+ });
98
+ const buttonsRow = el('div', { class: 'fd-prop' }, el('span', { class: 'fd-prop-name' }, w.buttonsInside), buttonsList, addInside);
99
+ let buttonsDrawn = '';
38
100
  const when = conditionEditor(el, designer, id, 'question');
39
101
  const showWhen = el('button', { type: 'button', class: 'fd-button fd-button-link fd-q-when' }, w.showOnlyWhen);
40
102
  showWhen.addEventListener('click', () => when.start());
103
+ const roles = rolesSetting(el, designer, id, { tabbed: false });
104
+ const shownWhile = shownWhileSetting(el, designer, id, { tabbed: false });
41
105
  const left = el('button', { type: 'button', class: 'fd-button' }, w.moveLeft);
42
106
  const right = el('button', { type: 'button', class: 'fd-button' }, w.moveRight);
43
107
  const remove = el('button', { type: 'button', class: 'fd-button fd-button-danger' }, w.delete);
44
108
  left.addEventListener('click', () => designer.moveHeaderPart(id, -1));
45
109
  right.addEventListener('click', () => designer.moveHeaderPart(id, 1));
46
110
  remove.addEventListener('click', () => designer.removeHeaderPart(id));
47
- const element = el('div', { class: 'fd-props' }, prop(el, w.words, words), ...(pressed ? [pressed.element] : []), lookRow, asksRow, countRow, toneRow, el('div', { class: 'fd-prop fd-prop-when' }, el('span', { class: 'fd-prop-name' }, w.whenItShows), when.element, showWhen), el('div', { class: 'fd-props-actions' }, left, right, remove));
111
+ const element = el('div', { class: 'fd-props' }, prop(el, w.words, words), builtinRow, groupRow, ...(pressed ? [pressed.element] : []), lookRow, asksRow, hotkeyRow, countRow, ...statRows, toneRow, wordsFromRow, valueRow, tooltipRow, closesRow, buttonsRow, el('div', { class: 'fd-prop fd-prop-when' }, el('span', { class: 'fd-prop-name' }, w.whenItShows), when.element, showWhen), roles.element, shownWhile.element, el('div', { class: 'fd-props-actions' }, left, right, remove));
48
112
  return {
49
113
  element,
50
114
  update(page) {
@@ -53,25 +117,91 @@ export function headerPartProperties(el, designer, id) {
53
117
  return;
54
118
  const { kind, part, index, list } = found;
55
119
  if (!focused(words))
56
- words.value = part.label;
120
+ words.value = wordsOf(part);
57
121
  pressed?.update(page);
58
- lookRow.hidden = asksRow.hidden = kind !== 'button';
122
+ lookRow.hidden = hotkeyRow.hidden = kind !== 'button';
123
+ asksRow.hidden = kind !== 'button' && kind !== 'menu';
124
+ builtinRow.hidden = groupRow.hidden = kind !== 'menu';
125
+ if (kind === 'menu') {
126
+ const item = part;
127
+ builtin.value = item.builtin ?? 'none';
128
+ group.value = item.group ?? 'actions';
129
+ // A built-in's own words stand in while it has none, and its question while it asks none of its own.
130
+ words.placeholder = item.builtin ? designer.words.canvas.menuKinds[item.builtin] : '';
131
+ if (!focused(asks))
132
+ asks.value = item.confirm ?? '';
133
+ }
59
134
  if (kind === 'button') {
60
135
  look.value = part.style ?? 'secondary';
61
136
  if (!focused(asks))
62
137
  asks.value = part.confirm ?? '';
138
+ if (!focused(hotkey))
139
+ hotkey.value = hotkeyShown(part.hotkey);
63
140
  }
64
141
  countRow.hidden = kind !== 'stat';
142
+ for (const row of statRows)
143
+ row.hidden = kind !== 'stat';
65
144
  if (kind === 'stat') {
66
- const numbers = Object.entries(page.fields).filter(([, f]) => ['integer', 'float', 'monetary'].includes(f.type));
67
- const offered = [...numbers, ...designer.modelFields().filter((m) => ['integer', 'float', 'monetary'].includes(m.field.type)).map((m) => [m.name, m.field])];
68
- count.replaceChildren(el('option', { value: '' }, w.nothing), ...offered.map(([name, f]) => el('option', { value: name }, f.label)));
69
- count.value = part.field ?? '';
145
+ const stat = part;
146
+ const all = [...Object.entries(page.fields), ...designer.modelFields().map((m) => [m.name, m.field])];
147
+ const options = (types) => [el('option', { value: '' }, w.nothing), ...all.filter(([, f]) => types.includes(f.type)).map(([name, f]) => el('option', { value: name }, f.label))];
148
+ const counted = ['integer', 'float', 'monetary', 'date', 'datetime', 'char', 'selection'];
149
+ const worded = ['char', 'selection', 'many2one'];
150
+ count.replaceChildren(...options(counted));
151
+ count.value = stat.field ?? '';
152
+ unitField.replaceChildren(...options(worded));
153
+ unitField.value = stat.unitField ?? '';
154
+ labelField.replaceChildren(...options(worded));
155
+ labelField.value = stat.labelField ?? '';
156
+ secondField.replaceChildren(...options(counted));
157
+ secondField.value = stat.secondField ?? '';
158
+ if (!focused(unit))
159
+ unit.value = stat.unit ?? '';
160
+ if (!focused(statHelp))
161
+ statHelp.value = stat.help ?? '';
162
+ if (!focused(secondLabel))
163
+ secondLabel.value = stat.secondLabel ?? '';
164
+ secondLabel.closest('.fd-prop').hidden = !stat.secondField;
70
165
  }
71
- toneRow.hidden = kind !== 'badge';
72
- if (kind === 'badge')
73
- tone.value = part.tone ?? 'muted';
166
+ toneRow.hidden = kind !== 'badge' && kind !== 'ribbon' && kind !== 'alert';
167
+ if (!toneRow.hidden)
168
+ tone.value = part.tone ?? (kind === 'alert' ? 'info' : 'muted');
169
+ const worded = kind === 'ribbon' || kind === 'alert';
170
+ wordsFromRow.hidden = !worded;
171
+ valueRow.hidden = kind !== 'alert';
172
+ tooltipRow.hidden = kind !== 'ribbon';
173
+ closesRow.hidden = buttonsRow.hidden = kind !== 'alert';
174
+ if (worded) {
175
+ // Fields that hold words: text, a choice (by its label), a link (by its record's name).
176
+ const texts = [...Object.entries(page.fields), ...designer.modelFields().map((m) => [m.name, m.field])].filter(([, f]) => ['char', 'text', 'selection', 'many2one'].includes(f.type));
177
+ const from = kind === 'ribbon' ? part.labelField : part.messageField;
178
+ wordsFrom.replaceChildren(el('option', { value: '' }, w.nothing), ...texts.map(([name, f]) => el('option', { value: name }, f.label)));
179
+ wordsFrom.value = from ?? '';
180
+ }
181
+ if (kind === 'alert') {
182
+ const alert = part;
183
+ value.replaceChildren(el('option', { value: '' }, '—'), ...Object.entries(page.fields).map(([name, f]) => el('option', { value: name }, f.label)));
184
+ value.value = '';
185
+ closes.checked = alert.dismissible === true;
186
+ const key = JSON.stringify(alert.buttons ?? []);
187
+ if (key !== buttonsDrawn && !buttonsList.contains(buttonsList.ownerDocument.activeElement)) {
188
+ buttonsDrawn = key;
189
+ buttonsList.replaceChildren(...(alert.buttons ?? []).map((button) => {
190
+ const label = el('input', { class: 'fd-input', 'aria-label': w.buttonInsideWords, value: button.label });
191
+ label.addEventListener('input', () => designer.updateAlertButton(id, button.id, { label: label.value }));
192
+ const action = el('input', { class: 'fd-input', 'aria-label': w.action, value: button.action ?? '', spellcheck: 'false' });
193
+ action.addEventListener('change', () => designer.updateAlertButton(id, button.id, { action: action.value }));
194
+ const remove = el('button', { type: 'button', class: 'fd-icon-button', 'aria-label': w.removeNamed(button.label), title: w.removeNamed(button.label) }, '×');
195
+ remove.addEventListener('click', () => designer.removeAlertButton(id, button.id));
196
+ return el('div', { class: 'fd-alert-button-row', 'data-button': button.id }, label, action, remove);
197
+ }));
198
+ }
199
+ }
200
+ if (kind === 'ribbon' && !focused(tooltip))
201
+ tooltip.value = part.tooltip ?? '';
74
202
  when.update(page, testable(page), part.invisible);
203
+ roles.update(page);
204
+ shownWhile.update(page);
75
205
  showWhen.hidden = !when.element.hidden || !when.canStart();
76
206
  left.hidden = index === 0;
77
207
  right.hidden = index === list.length - 1;
@@ -86,31 +216,52 @@ export function statusbarProperties(el, designer) {
86
216
  const which = el('select', { class: 'fd-input fd-select', 'aria-label': w.stepsFrom });
87
217
  const clickable = el('input', { type: 'checkbox', 'aria-label': w.clickStep });
88
218
  const where = select(el, w.where, [['header', w.inHeaderBar], ['title', w.underTitle]]);
219
+ // The time spent in each step, folded stages, a click that saves.
220
+ const times = el('select', { class: 'fd-input fd-select', 'aria-label': w.timePerStep });
221
+ const fold = el('input', { type: 'checkbox', 'aria-label': w.foldStages });
222
+ const saves = el('input', { type: 'checkbox', 'aria-label': w.clickSaves });
223
+ const foldRow = el('label', { class: 'fd-q-required' }, fold, el('span', {}, w.foldStages));
224
+ const savesRow = el('label', { class: 'fd-q-required' }, saves, el('span', {}, w.clickSaves));
89
225
  const current = () => designer.getPage().layout.statusbar;
90
226
  const save = () => {
91
227
  const position = where.value;
92
- designer.setStatusbar(which.value, { clickable: clickable.checked, position });
228
+ const link = (designer.getPage().fields[which.value] ?? designer.modelFields().find((m) => m.name === which.value)?.field)?.type === 'many2one';
229
+ designer.setStatusbar(which.value, { clickable: clickable.checked, position, durationsField: times.value, fold: fold.checked && link, saves: saves.checked && clickable.checked });
93
230
  };
94
- which.addEventListener('change', save);
95
- clickable.addEventListener('change', save);
96
- where.addEventListener('change', save);
231
+ for (const control of [which, clickable, where, times, fold, saves])
232
+ control.addEventListener('change', save);
233
+ // When it shows, as any part of the header.
234
+ const when = conditionEditor(el, designer, '#statusbar', 'question');
235
+ const showWhen = el('button', { type: 'button', class: 'fd-button fd-button-link fd-q-when' }, w.showOnlyWhen);
236
+ showWhen.addEventListener('click', () => when.start());
97
237
  const remove = el('button', { type: 'button', class: 'fd-button fd-button-danger' }, w.removeStatus);
98
238
  remove.addEventListener('click', () => {
99
239
  if (designer.setStatusbar(null))
100
240
  designer.select(null);
101
241
  });
102
- const element = el('div', { class: 'fd-props' }, prop(el, w.stepsFrom, which), el('label', { class: 'fd-q-required' }, clickable, el('span', {}, w.clickStep)), prop(el, w.where, where), el('p', { class: 'fd-properties-hint' }, w.stepsHint), el('div', { class: 'fd-props-actions' }, remove));
242
+ const element = el('div', { class: 'fd-props' }, prop(el, w.stepsFrom, which), el('label', { class: 'fd-q-required' }, clickable, el('span', {}, w.clickStep)), savesRow, prop(el, w.where, where), prop(el, w.timePerStep, times), foldRow, el('p', { class: 'fd-properties-hint' }, w.stepsHint), el('div', { class: 'fd-prop fd-prop-when' }, el('span', { class: 'fd-prop-name' }, w.whenItShows), when.element, showWhen), el('div', { class: 'fd-props-actions' }, remove));
103
243
  return {
104
244
  element,
105
245
  update(page) {
106
246
  const config = current();
107
247
  if (!config)
108
248
  return;
109
- const fields = [...Object.entries(page.fields).map(([name, field]) => ({ name, field })), ...designer.modelFields()].filter(({ field }) => field.type === 'selection' && !field.multiple);
249
+ const all = [...Object.entries(page.fields).map(([name, field]) => ({ name, field })), ...designer.modelFields()];
250
+ const fields = all.filter(({ field }) => (field.type === 'selection' && !field.multiple) || field.type === 'many2one');
110
251
  which.replaceChildren(...fields.map(({ name, field }) => el('option', { value: name }, field.label)));
111
252
  which.value = config.field;
112
253
  clickable.checked = config.clickable === true;
113
254
  where.value = config.position ?? 'header';
255
+ times.replaceChildren(el('option', { value: '' }, w.nothing), ...all.filter(({ field }) => field.type === 'json').map(({ name, field }) => el('option', { value: name }, field.label)));
256
+ times.value = config.durationsField ?? '';
257
+ foldRow.hidden = (page.fields[config.field] ?? all.find((f) => f.name === config.field)?.field)?.type !== 'many2one';
258
+ fold.checked = config.fold === true;
259
+ savesRow.hidden = !config.clickable;
260
+ saves.checked = config.saves === true;
261
+ // Rules on the page's fields that hold one of a list, or yes or no.
262
+ const others = allSections(page).flatMap((s) => s.children.filter((n) => n.type === 'field' && choicesOf(page.fields[n.field]) !== null));
263
+ when.update(page, others, config.invisible);
264
+ showWhen.hidden = !when.element.hidden || !when.canStart();
114
265
  },
115
266
  };
116
267
  }
@@ -1 +1 @@
1
- {"version":3,"file":"header-properties.mjs","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/header-properties.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"header-properties.mjs","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/header-properties.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD;;;;;;GAMG;AAEH,MAAM,IAAI,GAAG,CAAC,EAAkB,EAAE,IAAY,EAAE,OAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;AACjK,MAAM,MAAM,GAAG,CAAC,EAAkB,EAAE,KAAa,EAAE,OAA2B,EAAE,EAAE,CAChF,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC,CAAsB,CAAC;AAE5J,iHAAiH;AACjH,SAAS,QAAQ,CAAC,IAAU;IAC1B,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAkB,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC;IAC7G,MAAM,IAAI,GAAG,IAAI,CAAC,MAAmB,CAAC;IACtC,MAAM,KAAK,GAAgB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpH,OAAO,CAAC,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EAAkB,EAAE,QAAkB,EAAE,EAAU;IACrF,MAAM,OAAO,GAAG,CAAC,IAAa,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,KAAK,IAAI,CAAC;IAC7E,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;IAC/B,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,EAAE,CAAqB,CAAC;IAC5F,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC7F,6FAA6F;IAC7F,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC;IAC7D,MAAM,OAAO,GAAG,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxH,6EAA6E;IAC7E,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAG,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACrJ,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,OAAO,CAAC,KAA0C,EAAE,CAAC,CAAC,CAAC;IAC1K,MAAM,UAAU,GAAG,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAClH,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1G,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAA4B,EAAE,CAAC,CAAC,CAAC;IACrH,MAAM,QAAQ,GAAG,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;IAChF,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9K,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAA4B,EAAE,CAAC,CAAC,CAAC;IACnH,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC,UAAU,EAAE,CAAqB,CAAC;IAC1H,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC7F,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC5C,wDAAwD;IACxD,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,0BAA0B,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAqB,CAAC;IAC3L,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACjG,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IACrK,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,CAAC,CAAC,UAAU,EAAE,CAAsB,CAAC;IAC7G,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC9F,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC/C,4GAA4G;IAC5G,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,GAA+C,EAAE,EAAE;QACrF,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,KAAK,EAAE,CAAsB,CAAC;QACpG,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1F,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAqB,CAAC;IACxH,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC1F,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,eAAe,EAAE,CAAqB,CAAC;IACxI,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC/G,2FAA2F;IAC3F,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAqB,CAAC;IAC9H,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAClG,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IACjO,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5K,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAa,EAAE,CAAC,CAAC,CAAC;IACnG,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACvC,2IAA2I;IAC3I,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,CAAC,CAAC,SAAS,EAAE,CAAsB,CAAC;IAChH,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC3G,MAAM,YAAY,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;IACjL,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAqB,CAAC;IACzH,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACnG,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC,WAAW,EAAE,CAAqB,CAAC;IAClG,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACxG,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IACjG,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,CAAC,CAAC,SAAS,EAAE,CAAsB,CAAC;IAC5G,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;QACpC,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QACrD,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK;YAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,KAAK,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACpI,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IACrK,MAAM,WAAW,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,0BAA0B,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC;IACzG,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QACvC,MAAM,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC5E,IAAI,IAAI;YAAG,WAAW,CAAC,aAAa,CAAC,iBAAiB,IAAI,UAAU,CAA6B,EAAE,KAAK,EAAE,CAAC;IAC7G,CAAC,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IACnI,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,MAAM,IAAI,GAAG,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,oCAAoC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC;IAC/G,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC9E,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;IAChF,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,4BAA4B,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAC/F,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,EAAE,CAChB,KAAK,EACL,EAAE,KAAK,EAAE,UAAU,EAAE,EACrB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EACxB,UAAU,EACV,QAAQ,EACR,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EACrC,OAAO,EACP,OAAO,EACP,SAAS,EACT,QAAQ,EACR,GAAG,QAAQ,EACX,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,SAAS,EACT,UAAU,EACV,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAC1H,KAAK,CAAC,OAAO,EACb,UAAU,CAAC,OAAO,EAClB,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAC9D,CAAC;IAEF,OAAO;QACL,OAAO;QACP,MAAM,CAAC,IAAI;YACT,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,KAAK;gBAAE,OAAO;YACnB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;YAC1C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YACjD,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,IAAI,KAAK,QAAQ,CAAC;YACtD,OAAO,CAAC,MAAM,GAAG,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,MAAM,CAAC;YACtD,UAAU,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,IAAI,KAAK,MAAM,CAAC;YACtD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpB,MAAM,IAAI,GAAG,IAAgB,CAAC;gBAC9B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC;gBACvC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC;gBACtC,qGAAqG;gBACrG,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;oBAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;YACtD,CAAC;YACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,IAAI,CAAC,KAAK,GAAI,IAAmB,CAAC,KAAK,IAAI,WAAW,CAAC;gBACvD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;oBAAE,IAAI,CAAC,KAAK,GAAI,IAAmB,CAAC,OAAO,IAAI,EAAE,CAAC;gBACpE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;oBAAE,MAAM,CAAC,KAAK,GAAG,WAAW,CAAE,IAAmB,CAAC,MAAM,CAAC,CAAC;YAChF,CAAC;YACD,QAAQ,CAAC,MAAM,GAAG,IAAI,KAAK,MAAM,CAAC;YAClC,KAAK,MAAM,GAAG,IAAI,QAAQ;gBAAE,GAAG,CAAC,MAAM,GAAG,IAAI,KAAK,MAAM,CAAC;YACzD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpB,MAAM,IAAI,GAAG,IAAkB,CAAC;gBAChC,MAAM,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAU,CAAC,CAAC,CAAC;gBAC/G,MAAM,OAAO,GAAG,CAAC,KAAe,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC3L,MAAM,OAAO,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;gBAC1F,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;gBACjD,KAAK,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC3C,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC/B,SAAS,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC9C,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;gBACvC,UAAU,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC/C,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;gBACzC,WAAW,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;gBACjD,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;gBAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;oBAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;gBACjD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;oBAAE,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;gBACzD,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;oBAAE,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;gBACrE,WAAW,CAAC,OAAO,CAAC,UAAU,CAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;YAC9E,CAAC;YACD,OAAO,CAAC,MAAM,GAAG,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO,CAAC;YAC3E,IAAI,CAAC,OAAO,CAAC,MAAM;gBAAE,IAAI,CAAC,KAAK,GAAI,IAA0B,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5G,MAAM,MAAM,GAAG,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO,CAAC;YACrD,YAAY,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC;YAC9B,QAAQ,CAAC,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC;YACnC,UAAU,CAAC,MAAM,GAAG,IAAI,KAAK,QAAQ,CAAC;YACtC,SAAS,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC;YACxD,IAAI,MAAM,EAAE,CAAC;gBACX,wFAAwF;gBACxF,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC/L,MAAM,IAAI,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAE,IAAe,CAAC,UAAU,CAAC,CAAC,CAAE,IAAc,CAAC,YAAY,CAAC;gBAC5F,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACvI,SAAS,CAAC,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;YAC/B,CAAC;YACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACrB,MAAM,KAAK,GAAG,IAAa,CAAC;gBAC5B,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACnJ,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;gBACjB,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC;gBAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;gBAChD,IAAI,GAAG,KAAK,YAAY,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC3F,YAAY,GAAG,GAAG,CAAC;oBACnB,WAAW,CAAC,eAAe,CACzB,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;wBACtC,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC,iBAAiB,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAqB,CAAC;wBAC7H,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;wBACzG,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,CAAqB,CAAC;wBAC/I,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;wBAC7G,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;wBAC7J,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;wBAClF,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;oBACtG,CAAC,CAAC,CACH,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,IAAI,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;gBAAE,OAAO,CAAC,KAAK,GAAI,IAAe,CAAC,OAAO,IAAI,EAAE,CAAC;YAC3F,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAClD,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACnB,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACxB,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3D,IAAI,CAAC,MAAM,GAAG,KAAK,KAAK,CAAC,CAAC;YAC1B,KAAK,CAAC,MAAM,GAAG,KAAK,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3C,CAAC;QACD,KAAK;YACH,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,EAAkB,EAAE,QAAkB;IACxE,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;IAC/B,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,CAAC,CAAC,SAAS,EAAE,CAAsB,CAAC;IAC5G,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC,SAAS,EAAE,CAAqB,CAAC;IACnG,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACxF,kEAAkE;IAClE,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,CAAC,CAAC,WAAW,EAAE,CAAsB,CAAC;IAC9G,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC,UAAU,EAAE,CAAqB,CAAC;IAC/F,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC,UAAU,EAAE,CAAqB,CAAC;IAChG,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IAC5F,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IAC9F,MAAM,OAAO,GAAG,GAAG,EAAE,CAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAoB,CAAC,SAAS,CAAC;IACzE,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,MAAM,QAAQ,GAAG,KAAK,CAAC,KAA2B,CAAC;QACnD,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,KAAK,UAAU,CAAC;QAChJ,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;IACrL,CAAC,CAAC;IACF,KAAK,MAAM,OAAO,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;QAAE,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9G,4CAA4C;IAC5C,MAAM,IAAI,GAAG,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,oCAAoC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC;IAC/G,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,4BAA4B,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC;IACrG,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QACpC,IAAI,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC;YAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,EAAE,CAChB,KAAK,EACL,EAAE,KAAK,EAAE,UAAU,EAAE,EACrB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,EAC5B,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAC/E,QAAQ,EACR,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EACxB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,EAC9B,OAAO,EACP,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,EACrD,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAC1H,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,MAAM,CAAC,CACjD,CAAC;IACF,OAAO;QACL,OAAO;QACP,MAAM,CAAC,IAAI;YACT,MAAM,MAAM,GAAG,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM;gBAAE,OAAO;YACpB,MAAM,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;YAClH,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;YACvH,KAAK,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACtG,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC3B,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC;YAC9C,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,QAAQ,IAAI,QAAQ,CAAC;YAC1C,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACxL,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC;YAC1C,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,KAAK,UAAU,CAAC;YACrH,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC;YACpC,QAAQ,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;YACpC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC;YACtC,oEAAoE;YACpE,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAkB,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;YAC1J,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;YAC5C,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC7D,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * A button's key as a person types it — "v", "Shift+G", "Alt+V" — written as
3
+ * a page keeps it ("v", "shift+g"), or a refusal in words: one letter or
4
+ * digit, and not one the browser keeps for itself. Empty takes the key away.
5
+ */
6
+ export declare function hotkeyFrom(typed: string): string | null;
7
+ /** A page's key as the designer shows it in its box: "Shift+G". */
8
+ export declare const hotkeyShown: (hotkey: string | undefined) => string;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * A button's key as a person types it — "v", "Shift+G", "Alt+V" — written as
3
+ * a page keeps it ("v", "shift+g"), or a refusal in words: one letter or
4
+ * digit, and not one the browser keeps for itself. Empty takes the key away.
5
+ */
6
+ export declare function hotkeyFrom(typed: string): string | null;
7
+ /** A page's key as the designer shows it in its box: "Shift+G". */
8
+ export declare const hotkeyShown: (hotkey: string | undefined) => string;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hotkeyShown = void 0;
4
+ exports.hotkeyFrom = hotkeyFrom;
5
+ const core_1 = require("@fieldia/core");
6
+ const refusal_1 = require("./refusal");
7
+ /**
8
+ * A button's key as a person types it — "v", "Shift+G", "Alt+V" — written as
9
+ * a page keeps it ("v", "shift+g"), or a refusal in words: one letter or
10
+ * digit, and not one the browser keeps for itself. Empty takes the key away.
11
+ */
12
+ function hotkeyFrom(typed) {
13
+ const key = typed.trim().toLowerCase().replace(/\s+/g, '').replace(/^alt\+/, '');
14
+ if (!key)
15
+ return null;
16
+ if (!core_1.HOTKEY.test(key))
17
+ throw new refusal_1.Refusal((w) => w.refusals.hotkeyShape);
18
+ if (core_1.BROWSER_HOTKEYS.includes(key.replace('shift+', '')))
19
+ throw new refusal_1.Refusal((w) => w.refusals.hotkeyBrowser((0, core_1.hotkeyWords)(key)));
20
+ return key;
21
+ }
22
+ /** A page's key as the designer shows it in its box: "Shift+G". */
23
+ const hotkeyShown = (hotkey) => (hotkey ? (0, core_1.hotkeyWords)(hotkey).replace(/^Alt\+/, '') : '');
24
+ exports.hotkeyShown = hotkeyShown;
25
+ //# sourceMappingURL=hotkey-setting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hotkey-setting.js","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/hotkey-setting.ts"],"names":[],"mappings":";;;AAQA,gCAMC;AAdD,wCAAqE;AACrE,uCAAoC;AAEpC;;;;GAIG;AACH,SAAgB,UAAU,CAAC,KAAa;IACtC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACjF,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,IAAI,CAAC,aAAM,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,iBAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACxE,IAAI,sBAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAAE,MAAM,IAAI,iBAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAA,kBAAW,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9H,OAAO,GAAG,CAAC;AACb,CAAC;AAED,mEAAmE;AAC5D,MAAM,WAAW,GAAG,CAAC,MAA0B,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,kBAAW,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAAxG,QAAA,WAAW,eAA6F"}
@@ -0,0 +1,20 @@
1
+ import { BROWSER_HOTKEYS, HOTKEY, hotkeyWords } from '@fieldia/core';
2
+ import { Refusal } from './refusal.mjs';
3
+ /**
4
+ * A button's key as a person types it — "v", "Shift+G", "Alt+V" — written as
5
+ * a page keeps it ("v", "shift+g"), or a refusal in words: one letter or
6
+ * digit, and not one the browser keeps for itself. Empty takes the key away.
7
+ */
8
+ export function hotkeyFrom(typed) {
9
+ const key = typed.trim().toLowerCase().replace(/\s+/g, '').replace(/^alt\+/, '');
10
+ if (!key)
11
+ return null;
12
+ if (!HOTKEY.test(key))
13
+ throw new Refusal((w) => w.refusals.hotkeyShape);
14
+ if (BROWSER_HOTKEYS.includes(key.replace('shift+', '')))
15
+ throw new Refusal((w) => w.refusals.hotkeyBrowser(hotkeyWords(key)));
16
+ return key;
17
+ }
18
+ /** A page's key as the designer shows it in its box: "Shift+G". */
19
+ export const hotkeyShown = (hotkey) => (hotkey ? hotkeyWords(hotkey).replace(/^Alt\+/, '') : '');
20
+ //# sourceMappingURL=hotkey-setting.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hotkey-setting.mjs","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/hotkey-setting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACjF,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACxE,IAAI,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAAE,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9H,OAAO,GAAG,CAAC;AACb,CAAC;AAED,mEAAmE;AACnE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAA0B,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC"}
package/src/lib/icons.js CHANGED
@@ -45,6 +45,21 @@ const SHAPES = {
45
45
  matrix: '<rect x="3" y="4" width="18" height="16" rx="2"/><path d="M8.5 4v16M3 12h18"/><circle cx="12.5" cy="8" r="1.5"/><circle cx="17" cy="8" r="1.5" fill="currentColor"/><circle cx="12.5" cy="16" r="1.5" fill="currentColor"/><circle cx="17" cy="16" r="1.5"/>',
46
46
  address: '<path d="M12 21s-6.5-5.8-6.5-11.2a6.5 6.5 0 0 1 13 0C18.5 15.2 12 21 12 21z"/><circle cx="12" cy="9.8" r="2.3"/>',
47
47
  repeating: '<rect x="3" y="3.5" width="13" height="7" rx="1.5"/><rect x="3" y="13.5" width="13" height="7" rx="1.5"/><path d="M20 14v6M17 17h6"/>',
48
+ // The business kinds.
49
+ priority: '<path d="M6.5 5l1.5 3 3.3.5-2.4 2.3.6 3.3-3-1.6-3 1.6.6-3.3L1.7 8.5 5 8z"/><path d="M17.5 5l1.5 3 3.3.5-2.4 2.3.6 3.3-3-1.6-3 1.6.6-3.3-2.4-2.3L16 8z"/><path d="M3 20h18"/>',
50
+ 'state-dot': '<circle cx="9" cy="12" r="4.5" fill="currentColor"/><path d="M16 10.5l2 2 2-2"/>',
51
+ duration: '<circle cx="12" cy="13" r="8"/><path d="M12 9v4h3M10 2h4"/>',
52
+ percentage: '<path d="M19 5L5 19"/><circle cx="7" cy="7" r="2.5"/><circle cx="17" cy="17" r="2.5"/>',
53
+ timer: '<circle cx="12" cy="13" r="8"/><path d="M12 13l3-3M10 2h4M19 5l1.5-1.5"/>',
54
+ 'date-range': '<rect x="2.5" y="5" width="8" height="8" rx="1.5"/><rect x="13.5" y="11" width="8" height="8" rx="1.5"/><path d="M10.5 9h3v6"/>',
55
+ colour: '<path d="M12 3a9 9 0 1 0 0 18c1.4 0 2-1 2-2 0-1.6-1.5-1.8-1.5-3.2 0-1.1.9-1.8 2-1.8h2.2A4.3 4.3 0 0 0 21 9.7C21 6 17 3 12 3z"/><circle cx="7.5" cy="11" r="1.2" fill="currentColor"/><circle cx="10" cy="7" r="1.2" fill="currentColor"/><circle cx="15" cy="7" r="1.2" fill="currentColor"/>',
56
+ copy: '<rect x="8" y="8" width="12" height="12" rx="2"/><path d="M16 8V5a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h3"/><path d="M11 13h6M11 16h4"/>',
57
+ pdf: '<path d="M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z"/><path d="M14 3v5h5"/><path d="M8.5 16v-4h1.3a1.2 1.2 0 0 1 0 2.4H8.5M13 12v4h.8a2 2 0 0 0 0-4z"/>',
58
+ embed: '<rect x="2.5" y="4" width="19" height="16" rx="2"/><path d="M2.5 8h19M9 12l-2.5 2.5L9 17M15 12l2.5 2.5L15 17"/>',
59
+ distribution: '<circle cx="12" cy="12" r="8.5"/><path d="M12 3.5V12l6 6"/>',
60
+ 'tax-totals': '<path d="M5 4h14v16l-2.3-1.5L14.3 20 12 18.5 9.7 20l-2.4-1.5L5 20z"/><path d="M9 9h6M9 13h3M14.5 13h.5"/>',
61
+ payments: '<rect x="2.5" y="6" width="19" height="13" rx="2"/><path d="M2.5 10h19M6 15h4"/>',
62
+ properties: '<path d="M4 6h6M4 12h6M4 18h6"/><rect x="13" y="4" width="7" height="4" rx="1"/><rect x="13" y="10" width="7" height="4" rx="1"/><rect x="13" y="16" width="7" height="4" rx="1"/>',
48
63
  // Layout.
49
64
  'saved-form': '<rect x="3" y="3" width="13" height="16" rx="2"/><path d="M7 8h5M7 12h5M20 7v12a2 2 0 0 1-2 2H8"/>',
50
65
  section: '<rect x="3" y="4" width="18" height="16" rx="2"/><path d="M3 9h18M7 13h4M13 13h4M7 16h4"/>',
@@ -1 +1 @@
1
- {"version":3,"file":"icons.js","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/icons.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"icons.js","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/icons.ts"],"names":[],"mappings":"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"}
package/src/lib/icons.mjs CHANGED
@@ -41,6 +41,21 @@ const SHAPES = {
41
41
  matrix: '<rect x="3" y="4" width="18" height="16" rx="2"/><path d="M8.5 4v16M3 12h18"/><circle cx="12.5" cy="8" r="1.5"/><circle cx="17" cy="8" r="1.5" fill="currentColor"/><circle cx="12.5" cy="16" r="1.5" fill="currentColor"/><circle cx="17" cy="16" r="1.5"/>',
42
42
  address: '<path d="M12 21s-6.5-5.8-6.5-11.2a6.5 6.5 0 0 1 13 0C18.5 15.2 12 21 12 21z"/><circle cx="12" cy="9.8" r="2.3"/>',
43
43
  repeating: '<rect x="3" y="3.5" width="13" height="7" rx="1.5"/><rect x="3" y="13.5" width="13" height="7" rx="1.5"/><path d="M20 14v6M17 17h6"/>',
44
+ // The business kinds.
45
+ priority: '<path d="M6.5 5l1.5 3 3.3.5-2.4 2.3.6 3.3-3-1.6-3 1.6.6-3.3L1.7 8.5 5 8z"/><path d="M17.5 5l1.5 3 3.3.5-2.4 2.3.6 3.3-3-1.6-3 1.6.6-3.3-2.4-2.3L16 8z"/><path d="M3 20h18"/>',
46
+ 'state-dot': '<circle cx="9" cy="12" r="4.5" fill="currentColor"/><path d="M16 10.5l2 2 2-2"/>',
47
+ duration: '<circle cx="12" cy="13" r="8"/><path d="M12 9v4h3M10 2h4"/>',
48
+ percentage: '<path d="M19 5L5 19"/><circle cx="7" cy="7" r="2.5"/><circle cx="17" cy="17" r="2.5"/>',
49
+ timer: '<circle cx="12" cy="13" r="8"/><path d="M12 13l3-3M10 2h4M19 5l1.5-1.5"/>',
50
+ 'date-range': '<rect x="2.5" y="5" width="8" height="8" rx="1.5"/><rect x="13.5" y="11" width="8" height="8" rx="1.5"/><path d="M10.5 9h3v6"/>',
51
+ colour: '<path d="M12 3a9 9 0 1 0 0 18c1.4 0 2-1 2-2 0-1.6-1.5-1.8-1.5-3.2 0-1.1.9-1.8 2-1.8h2.2A4.3 4.3 0 0 0 21 9.7C21 6 17 3 12 3z"/><circle cx="7.5" cy="11" r="1.2" fill="currentColor"/><circle cx="10" cy="7" r="1.2" fill="currentColor"/><circle cx="15" cy="7" r="1.2" fill="currentColor"/>',
52
+ copy: '<rect x="8" y="8" width="12" height="12" rx="2"/><path d="M16 8V5a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h3"/><path d="M11 13h6M11 16h4"/>',
53
+ pdf: '<path d="M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z"/><path d="M14 3v5h5"/><path d="M8.5 16v-4h1.3a1.2 1.2 0 0 1 0 2.4H8.5M13 12v4h.8a2 2 0 0 0 0-4z"/>',
54
+ embed: '<rect x="2.5" y="4" width="19" height="16" rx="2"/><path d="M2.5 8h19M9 12l-2.5 2.5L9 17M15 12l2.5 2.5L15 17"/>',
55
+ distribution: '<circle cx="12" cy="12" r="8.5"/><path d="M12 3.5V12l6 6"/>',
56
+ 'tax-totals': '<path d="M5 4h14v16l-2.3-1.5L14.3 20 12 18.5 9.7 20l-2.4-1.5L5 20z"/><path d="M9 9h6M9 13h3M14.5 13h.5"/>',
57
+ payments: '<rect x="2.5" y="6" width="19" height="13" rx="2"/><path d="M2.5 10h19M6 15h4"/>',
58
+ properties: '<path d="M4 6h6M4 12h6M4 18h6"/><rect x="13" y="4" width="7" height="4" rx="1"/><rect x="13" y="10" width="7" height="4" rx="1"/><rect x="13" y="16" width="7" height="4" rx="1"/>',
44
59
  // Layout.
45
60
  'saved-form': '<rect x="3" y="3" width="13" height="16" rx="2"/><path d="M7 8h5M7 12h5M20 7v12a2 2 0 0 1-2 2H8"/>',
46
61
  section: '<rect x="3" y="4" width="18" height="16" rx="2"/><path d="M3 9h18M7 13h4M13 13h4M7 16h4"/>',
@@ -1 +1 @@
1
- {"version":3,"file":"icons.mjs","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/icons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC;;;;;GAKG;AAEH,MAAM,MAAM,GAA2B;IACrC,kBAAkB;IAClB,cAAc,EAAE,sEAAsE;IACtF,SAAS,EAAE,6CAA6C;IACxD,KAAK,EAAE,2EAA2E;IAClF,KAAK,EAAE,yGAAyG;IAChH,OAAO,EAAE,iGAAiG;IAC1G,QAAQ,EAAE,qEAAqE;IAC/E,MAAM,EAAE,iDAAiD;IACzD,MAAM,EAAE,0HAA0H;IAClI,MAAM,EAAE,oFAAoF;IAC5F,KAAK,EAAE,wJAAwJ;IAC/J,QAAQ,EAAE,sFAAsF;IAChG,IAAI,EAAE,oFAAoF;IAC1F,WAAW,EAAE,wJAAwJ;IACrK,IAAI,EAAE,4DAA4D;IAClE,QAAQ,EAAE,6EAA6E;IACvF,iBAAiB,EAAE,sFAAsF;IACzG,UAAU,EAAE,gLAAgL;IAC5L,MAAM,EAAE,0DAA0D;IAClE,QAAQ,EAAE,sGAAsG;IAChH,IAAI,EAAE,4EAA4E;IAClF,IAAI,EAAE,gHAAgH;IACtH,KAAK,EAAE,8FAA8F;IACrG,KAAK,EAAE,uFAAuF;IAC9F,WAAW,EAAE,iEAAiE;IAC9E,KAAK,EAAE,4GAA4G;IACnH,IAAI,EAAE,2GAA2G;IACjH,SAAS,EAAE,qJAAqJ;IAChK,MAAM,EAAE,6FAA6F;IACrG,IAAI,EAAE,yKAAyK;IAC/K,cAAc,EAAE,iQAAiQ;IACjR,OAAO,EAAE,oGAAoG;IAC7G,MAAM,EAAE,8PAA8P;IACtQ,OAAO,EAAE,kHAAkH;IAC3H,SAAS,EAAE,uIAAuI;IAClJ,UAAU;IACV,YAAY,EAAE,oGAAoG;IAClH,OAAO,EAAE,4FAA4F;IACrG,IAAI,EAAE,kDAAkD;IACxD,YAAY;IACZ,IAAI,EAAE,2TAA2T;IACjU,OAAO,EAAE,0BAA0B;IACnC,QAAQ,EAAE,iDAAiD;IAC3D,KAAK,EAAE,gDAAgD;IACvD,IAAI,EAAE,sIAAsI;IAC5I,wEAAwE;IACxE,KAAK,EAAE,0IAA0I;IACjJ,SAAS,EAAE,uHAAuH;IAClI,MAAM,EAAE,gEAAgE;IACxE,IAAI,EAAE,gKAAgK;IACtK,IAAI,EAAE,8BAA8B;IACpC,KAAK,EAAE,gKAAgK;IACvK,IAAI,EAAE,4BAA4B;IAClC,KAAK,EAAE,0BAA0B;IACjC,MAAM,EAAE,yDAAyD;IACjE,KAAK,EAAE,oCAAoC;IAC3C,IAAI,EAAE,qCAAqC;IAC3C,IAAI,EAAE,6BAA6B;IACnC,0CAA0C;IAC1C,IAAI,EAAE,oDAAoD;IAC1D,OAAO,EAAE,gFAAgF;IACzF,MAAM,EAAE,uEAAuE;IAC/E,MAAM,EAAE,uEAAuE;IAC/E,KAAK,EAAE,uHAAuH;CAC/H,CAAC;AAEF,8CAA8C;AAC9C,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAE9C,mHAAmH;AACnH,MAAM,UAAU,YAAY,CAAC,GAAa,EAAE,IAAY;IACtD,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;IACrE,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACzC,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACtC,GAAG,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACxC,GAAG,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACvC,0FAA0F;IAC1F,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,CAAC;IAC5E,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"icons.mjs","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/icons.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,26 @@ function inlineSettings(el, designer, id) {
28
28
  let drawn = '';
29
29
  let refresh = () => undefined;
30
30
  let standsIn = false;
31
+ /** How a link shows its record: a picture, lines under it, colours on tags, and whether it opens — Flectra's avatar widgets, show_address, color_field and no_open. */
32
+ function linkLooks(several) {
33
+ const switches = (several ? ['avatar', 'colors', 'open'] : ['avatar', 'details', 'open']).map((key) => {
34
+ const label = { avatar: w.linkPicture, details: w.linkLines, colors: w.tagColours, open: w.opensRecord }[key];
35
+ const button = el('button', { type: 'button', class: 'fd-switch', role: 'switch', 'aria-checked': 'false', 'aria-label': label });
36
+ // Opening is on unless turned off; the rest off unless turned on.
37
+ button.addEventListener('click', () => {
38
+ const on = button.getAttribute('aria-checked') !== 'true';
39
+ designer.setWidgetOptions(id, { [key]: key === 'open' ? (on ? null : false) : on || null });
40
+ });
41
+ return { key, button, element: el('span', { class: 'fd-inline-setting fd-inline-toggle' }, button, el('span', { 'aria-hidden': 'true' }, label)) };
42
+ });
43
+ return {
44
+ element: el('div', { class: 'fd-inline-row fd-link-looks' }, ...switches.map((s) => s.element)),
45
+ refresh(node) {
46
+ for (const { key, button } of switches)
47
+ button.setAttribute('aria-checked', String(key === 'open' ? node.options?.['open'] !== false : node.options?.[key] === true));
48
+ },
49
+ };
50
+ }
31
51
  function build(kind) {
32
52
  standsIn = false;
33
53
  refresh = () => undefined;
@@ -81,14 +101,19 @@ function inlineSettings(el, designer, id) {
81
101
  currency.value = def.type === 'monetary' ? (def.currency ?? '') : '';
82
102
  };
83
103
  }
84
- else if (kind === 'link' || kind === 'links') {
104
+ else if (kind === 'link' || kind === 'links' || kind === 'model:link' || kind === 'model:links') {
105
+ // What it points to — the page's own field only — and how it shows what it points to, whoever's field it is.
106
+ const own = !kind.startsWith('model:');
85
107
  const target = el('input', { class: 'fd-inline-input', 'aria-label': w.linksTo, placeholder: 'contact', autocomplete: 'off', spellcheck: 'false' });
86
108
  target.addEventListener('input', () => target.value.trim() && designer.setRelation(id, target.value));
87
- element.replaceChildren(word(w.linksTo, target));
109
+ const several = kind.endsWith('links');
110
+ const looks = linkLooks(several);
111
+ element.replaceChildren(...(own ? [word(w.linksTo, target)] : []), looks.element);
88
112
  refresh = (page, node) => {
89
113
  const def = page.fields[node.field];
90
- if (!focused(target))
114
+ if (own && !focused(target))
91
115
  target.value = 'relation' in def ? def.relation : '';
116
+ looks.refresh(node);
92
117
  };
93
118
  }
94
119
  else if (kind === 'file' || kind === 'image') {
@@ -199,7 +224,10 @@ function inlineSettings(el, designer, id) {
199
224
  element,
200
225
  update(page, node) {
201
226
  const def = page.fields[node.field];
202
- const kind = designer.isFromModel(id) ? null : (0, kinds_1.kindOfField)(def, node);
227
+ // A field of the model keeps what it holds: how a link shows its record is the page's still,
228
+ // and a widget's own settings are offered; the rest are the model's.
229
+ const own = (0, kinds_1.kindOfField)(def, node);
230
+ const kind = !designer.isFromModel(id) ? own : own === 'link' || own === 'links' ? `model:${own}` : kinds_1.WIDGET_ONLY_KINDS.has(own ?? '') ? own : null;
203
231
  if ((kind ?? '') !== drawn) {
204
232
  drawn = kind ?? '';
205
233
  build(kind);