@qoretechnologies/reqraft 0.10.66-pr.145.gcb1e59d → 0.10.66

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 (913) hide show
  1. package/README.md +53 -1
  2. package/dist/components/Description/AllowedValuesHelp.d.ts +20 -0
  3. package/dist/components/Description/AllowedValuesHelp.d.ts.map +1 -0
  4. package/dist/components/Description/AllowedValuesHelp.js +86 -0
  5. package/dist/components/Description/AllowedValuesHelp.js.map +1 -0
  6. package/dist/components/Description/describedControl.d.ts +54 -0
  7. package/dist/components/Description/describedControl.d.ts.map +1 -0
  8. package/dist/components/Description/describedControl.js +81 -0
  9. package/dist/components/Description/describedControl.js.map +1 -0
  10. package/dist/components/Description/index.d.ts.map +1 -1
  11. package/dist/components/Description/index.js +3 -2
  12. package/dist/components/Description/index.js.map +1 -1
  13. package/dist/components/colorValue/colorValue.d.ts +59 -0
  14. package/dist/components/colorValue/colorValue.d.ts.map +1 -0
  15. package/dist/components/colorValue/colorValue.js +245 -0
  16. package/dist/components/colorValue/colorValue.js.map +1 -0
  17. package/dist/components/colorValue/index.d.ts +34 -0
  18. package/dist/components/colorValue/index.d.ts.map +1 -0
  19. package/dist/components/colorValue/index.js +136 -0
  20. package/dist/components/colorValue/index.js.map +1 -0
  21. package/dist/components/colorValue/labels.d.ts +12 -0
  22. package/dist/components/colorValue/labels.d.ts.map +1 -0
  23. package/dist/components/colorValue/labels.js +11 -0
  24. package/dist/components/colorValue/labels.js.map +1 -0
  25. package/dist/components/composer/Composer.d.ts +1 -1
  26. package/dist/components/composer/Composer.d.ts.map +1 -1
  27. package/dist/components/composer/Composer.js +2 -2
  28. package/dist/components/composer/Composer.js.map +1 -1
  29. package/dist/components/dpqlEditor/DpqlEditor.d.ts.map +1 -1
  30. package/dist/components/dpqlEditor/DpqlEditor.js +156 -10
  31. package/dist/components/dpqlEditor/DpqlEditor.js.map +1 -1
  32. package/dist/components/dpqlEditor/dpqlCompletions.d.ts +39 -0
  33. package/dist/components/dpqlEditor/dpqlCompletions.d.ts.map +1 -0
  34. package/dist/components/dpqlEditor/dpqlCompletions.js +294 -0
  35. package/dist/components/dpqlEditor/dpqlCompletions.js.map +1 -0
  36. package/dist/components/dpqlEditor/dpqlHelpers.d.ts +54 -5
  37. package/dist/components/dpqlEditor/dpqlHelpers.d.ts.map +1 -1
  38. package/dist/components/dpqlEditor/dpqlHelpers.js +420 -63
  39. package/dist/components/dpqlEditor/dpqlHelpers.js.map +1 -1
  40. package/dist/components/dpqlEditor/dpqlInserter.d.ts.map +1 -1
  41. package/dist/components/dpqlEditor/dpqlInserter.js +67 -29
  42. package/dist/components/dpqlEditor/dpqlInserter.js.map +1 -1
  43. package/dist/components/dpqlEditor/dpqlTags.d.ts +17 -7
  44. package/dist/components/dpqlEditor/dpqlTags.d.ts.map +1 -1
  45. package/dist/components/dpqlEditor/dpqlTags.js +44 -17
  46. package/dist/components/dpqlEditor/dpqlTags.js.map +1 -1
  47. package/dist/components/dpqlEditor/types.d.ts +94 -8
  48. package/dist/components/dpqlEditor/types.d.ts.map +1 -1
  49. package/dist/components/dpqlEditor/useDpqlSession.d.ts +7 -2
  50. package/dist/components/dpqlEditor/useDpqlSession.d.ts.map +1 -1
  51. package/dist/components/dpqlEditor/useDpqlSession.js +49 -17
  52. package/dist/components/dpqlEditor/useDpqlSession.js.map +1 -1
  53. package/dist/components/form/engine/CompactRow.d.ts.map +1 -1
  54. package/dist/components/form/engine/CompactRow.js +336 -243
  55. package/dist/components/form/engine/CompactRow.js.map +1 -1
  56. package/dist/components/form/engine/CompactToolbar.d.ts.map +1 -1
  57. package/dist/components/form/engine/CompactToolbar.js +20 -57
  58. package/dist/components/form/engine/CompactToolbar.js.map +1 -1
  59. package/dist/components/form/engine/FormEngine.d.ts +67 -59
  60. package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
  61. package/dist/components/form/engine/FormEngine.js +606 -409
  62. package/dist/components/form/engine/FormEngine.js.map +1 -1
  63. package/dist/components/form/engine/HiddenFieldsNote.d.ts +28 -0
  64. package/dist/components/form/engine/HiddenFieldsNote.d.ts.map +1 -0
  65. package/dist/components/form/engine/HiddenFieldsNote.js +32 -0
  66. package/dist/components/form/engine/HiddenFieldsNote.js.map +1 -0
  67. package/dist/components/form/engine/OptionFieldMessages.d.ts +2 -18
  68. package/dist/components/form/engine/OptionFieldMessages.d.ts.map +1 -1
  69. package/dist/components/form/engine/OptionFieldMessages.js +28 -25
  70. package/dist/components/form/engine/OptionFieldMessages.js.map +1 -1
  71. package/dist/components/form/engine/OptionsHelpDialog.d.ts.map +1 -1
  72. package/dist/components/form/engine/OptionsHelpDialog.js +19 -2
  73. package/dist/components/form/engine/OptionsHelpDialog.js.map +1 -1
  74. package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts +2 -2
  75. package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts.map +1 -1
  76. package/dist/components/form/engine/_structuredData/SchemaDataView.js +11 -31
  77. package/dist/components/form/engine/_structuredData/SchemaDataView.js.map +1 -1
  78. package/dist/components/form/engine/compactRowContext.d.ts +30 -6
  79. package/dist/components/form/engine/compactRowContext.d.ts.map +1 -1
  80. package/dist/components/form/engine/compactRowContext.js.map +1 -1
  81. package/dist/components/form/engine/compactRowStyles.d.ts +56 -31
  82. package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
  83. package/dist/components/form/engine/compactRowStyles.js +121 -110
  84. package/dist/components/form/engine/compactRowStyles.js.map +1 -1
  85. package/dist/components/form/engine/compactToolbarColors.d.ts +16 -0
  86. package/dist/components/form/engine/compactToolbarColors.d.ts.map +1 -0
  87. package/dist/components/form/engine/compactToolbarColors.js +21 -0
  88. package/dist/components/form/engine/compactToolbarColors.js.map +1 -0
  89. package/dist/components/form/engine/compactToolbarContext.d.ts +0 -3
  90. package/dist/components/form/engine/compactToolbarContext.d.ts.map +1 -1
  91. package/dist/components/form/engine/compactToolbarContext.js.map +1 -1
  92. package/dist/components/form/engine/inheritProps.d.ts +29 -0
  93. package/dist/components/form/engine/inheritProps.d.ts.map +1 -0
  94. package/dist/components/form/engine/inheritProps.js +43 -0
  95. package/dist/components/form/engine/inheritProps.js.map +1 -0
  96. package/dist/components/form/engine/operatorSummary.d.ts +26 -0
  97. package/dist/components/form/engine/operatorSummary.d.ts.map +1 -0
  98. package/dist/components/form/engine/operatorSummary.js +35 -0
  99. package/dist/components/form/engine/operatorSummary.js.map +1 -0
  100. package/dist/components/form/engine/readFirst.d.ts +26 -22
  101. package/dist/components/form/engine/readFirst.d.ts.map +1 -1
  102. package/dist/components/form/engine/readFirst.js +79 -115
  103. package/dist/components/form/engine/readFirst.js.map +1 -1
  104. package/dist/components/form/engine/readFirstColors.d.ts +30 -0
  105. package/dist/components/form/engine/readFirstColors.d.ts.map +1 -0
  106. package/dist/components/form/engine/readFirstColors.js +51 -0
  107. package/dist/components/form/engine/readFirstColors.js.map +1 -0
  108. package/dist/components/form/engine/rowFocus.d.ts +3 -9
  109. package/dist/components/form/engine/rowFocus.d.ts.map +1 -1
  110. package/dist/components/form/engine/rowFocus.js +30 -19
  111. package/dist/components/form/engine/rowFocus.js.map +1 -1
  112. package/dist/components/form/engine/typeChoices.d.ts +1 -1
  113. package/dist/components/form/engine/variants/VariantCalmTable.d.ts.map +1 -1
  114. package/dist/components/form/engine/variants/VariantCalmTable.js +2 -1
  115. package/dist/components/form/engine/variants/VariantCalmTable.js.map +1 -1
  116. package/dist/components/form/engine/variants/VariantCards.d.ts.map +1 -1
  117. package/dist/components/form/engine/variants/VariantCards.js +2 -1
  118. package/dist/components/form/engine/variants/VariantCards.js.map +1 -1
  119. package/dist/components/form/engine/variants/VariantFocus.js +1 -1
  120. package/dist/components/form/engine/variants/VariantFocus.js.map +1 -1
  121. package/dist/components/form/engine/variants/VariantMinimal.d.ts.map +1 -1
  122. package/dist/components/form/engine/variants/VariantMinimal.js +2 -1
  123. package/dist/components/form/engine/variants/VariantMinimal.js.map +1 -1
  124. package/dist/components/form/engine/variants/variantParts.d.ts +1 -1
  125. package/dist/components/form/engine/variants/variantParts.d.ts.map +1 -1
  126. package/dist/components/form/engine/variants/variantParts.js +25 -17
  127. package/dist/components/form/engine/variants/variantParts.js.map +1 -1
  128. package/dist/components/form/expressions/DpqlRendering.d.ts +1 -1
  129. package/dist/components/form/expressions/DpqlRendering.d.ts.map +1 -1
  130. package/dist/components/form/expressions/DpqlRendering.js +7 -6
  131. package/dist/components/form/expressions/DpqlRendering.js.map +1 -1
  132. package/dist/components/form/expressions/ExpressionField.d.ts +67 -3
  133. package/dist/components/form/expressions/ExpressionField.d.ts.map +1 -1
  134. package/dist/components/form/expressions/ExpressionField.js +536 -114
  135. package/dist/components/form/expressions/ExpressionField.js.map +1 -1
  136. package/dist/components/form/expressions/argumentPresence.d.ts +14 -0
  137. package/dist/components/form/expressions/argumentPresence.d.ts.map +1 -1
  138. package/dist/components/form/expressions/argumentPresence.js +16 -1
  139. package/dist/components/form/expressions/argumentPresence.js.map +1 -1
  140. package/dist/components/form/expressions/builder/argumentDetail.d.ts.map +1 -1
  141. package/dist/components/form/expressions/builder/argumentDetail.js +4 -1
  142. package/dist/components/form/expressions/builder/argumentDetail.js.map +1 -1
  143. package/dist/components/form/expressions/builder/argumentLabel.d.ts.map +1 -1
  144. package/dist/components/form/expressions/builder/argumentLabel.js +30 -11
  145. package/dist/components/form/expressions/builder/argumentLabel.js.map +1 -1
  146. package/dist/components/form/expressions/builder/argumentWrapper.d.ts.map +1 -1
  147. package/dist/components/form/expressions/builder/argumentWrapper.js +3 -1
  148. package/dist/components/form/expressions/builder/argumentWrapper.js.map +1 -1
  149. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.d.ts +9 -0
  150. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.d.ts.map +1 -1
  151. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js +30 -27
  152. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js.map +1 -1
  153. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts +1 -1
  154. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts.map +1 -1
  155. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js +7 -5
  156. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js.map +1 -1
  157. package/dist/components/form/expressions/builder/index.d.ts +34 -2
  158. package/dist/components/form/expressions/builder/index.d.ts.map +1 -1
  159. package/dist/components/form/expressions/builder/index.js +170 -80
  160. package/dist/components/form/expressions/builder/index.js.map +1 -1
  161. package/dist/components/form/expressions/builder/item.d.ts +6 -2
  162. package/dist/components/form/expressions/builder/item.d.ts.map +1 -1
  163. package/dist/components/form/expressions/builder/item.js +19 -5
  164. package/dist/components/form/expressions/builder/item.js.map +1 -1
  165. package/dist/components/form/expressions/builder/renderTemplate.js +1 -1
  166. package/dist/components/form/expressions/builder/renderTemplate.js.map +1 -1
  167. package/dist/components/form/expressions/dpqlMockRecordPath.d.ts +11 -0
  168. package/dist/components/form/expressions/dpqlMockRecordPath.d.ts.map +1 -0
  169. package/dist/components/form/expressions/dpqlMockRecordPath.js +254 -0
  170. package/dist/components/form/expressions/dpqlMockRecordPath.js.map +1 -0
  171. package/dist/components/form/expressions/expressionOperands.d.ts +16 -0
  172. package/dist/components/form/expressions/expressionOperands.d.ts.map +1 -0
  173. package/dist/components/form/expressions/expressionOperands.js +97 -0
  174. package/dist/components/form/expressions/expressionOperands.js.map +1 -0
  175. package/dist/components/form/expressions/fieldPath.d.ts +24 -0
  176. package/dist/components/form/expressions/fieldPath.d.ts.map +1 -0
  177. package/dist/components/form/expressions/fieldPath.js +152 -0
  178. package/dist/components/form/expressions/fieldPath.js.map +1 -0
  179. package/dist/components/form/expressions/loneValue.d.ts +17 -0
  180. package/dist/components/form/expressions/loneValue.d.ts.map +1 -0
  181. package/dist/components/form/expressions/loneValue.js +33 -0
  182. package/dist/components/form/expressions/loneValue.js.map +1 -0
  183. package/dist/components/form/expressions/mockExpressions.d.ts.map +1 -1
  184. package/dist/components/form/expressions/mockExpressions.js +22 -5
  185. package/dist/components/form/expressions/mockExpressions.js.map +1 -1
  186. package/dist/components/form/expressions/renderExpressionToText.d.ts +2 -0
  187. package/dist/components/form/expressions/renderExpressionToText.d.ts.map +1 -1
  188. package/dist/components/form/expressions/renderExpressionToText.js +37 -25
  189. package/dist/components/form/expressions/renderExpressionToText.js.map +1 -1
  190. package/dist/components/form/expressions/textOfExpression.d.ts +18 -0
  191. package/dist/components/form/expressions/textOfExpression.d.ts.map +1 -0
  192. package/dist/components/form/expressions/textOfExpression.js +49 -0
  193. package/dist/components/form/expressions/textOfExpression.js.map +1 -0
  194. package/dist/components/form/expressions/types.d.ts +12 -0
  195. package/dist/components/form/expressions/types.d.ts.map +1 -1
  196. package/dist/components/form/expressions/types.js +6 -1
  197. package/dist/components/form/expressions/types.js.map +1 -1
  198. package/dist/components/form/expressions/useExpressionType.d.ts +26 -0
  199. package/dist/components/form/expressions/useExpressionType.d.ts.map +1 -0
  200. package/dist/components/form/expressions/useExpressionType.js +181 -0
  201. package/dist/components/form/expressions/useExpressionType.js.map +1 -0
  202. package/dist/components/form/expressions/useRenderExpression.d.ts.map +1 -1
  203. package/dist/components/form/expressions/useRenderExpression.js +13 -9
  204. package/dist/components/form/expressions/useRenderExpression.js.map +1 -1
  205. package/dist/components/form/expressions/wildcardExpressions.d.ts +27 -0
  206. package/dist/components/form/expressions/wildcardExpressions.d.ts.map +1 -0
  207. package/dist/components/form/expressions/wildcardExpressions.js +101 -0
  208. package/dist/components/form/expressions/wildcardExpressions.js.map +1 -0
  209. package/dist/components/form/fields/Field.d.ts.map +1 -1
  210. package/dist/components/form/fields/Field.js +39 -18
  211. package/dist/components/form/fields/Field.js.map +1 -1
  212. package/dist/components/form/fields/allowed-values/AllowedValues.d.ts +0 -7
  213. package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
  214. package/dist/components/form/fields/allowed-values/AllowedValues.js +46 -35
  215. package/dist/components/form/fields/allowed-values/AllowedValues.js.map +1 -1
  216. package/dist/components/form/fields/allowed-values/choicePicture.d.ts +37 -0
  217. package/dist/components/form/fields/allowed-values/choicePicture.d.ts.map +1 -0
  218. package/dist/components/form/fields/allowed-values/choicePicture.js +64 -0
  219. package/dist/components/form/fields/allowed-values/choicePicture.js.map +1 -0
  220. package/dist/components/form/fields/array/ArrayAuto.d.ts.map +1 -1
  221. package/dist/components/form/fields/array/ArrayAuto.js +24 -0
  222. package/dist/components/form/fields/array/ArrayAuto.js.map +1 -1
  223. package/dist/components/form/fields/array/ArrayAutoField.d.ts.map +1 -1
  224. package/dist/components/form/fields/array/ArrayAutoField.js +36 -13
  225. package/dist/components/form/fields/array/ArrayAutoField.js.map +1 -1
  226. package/dist/components/form/fields/auto/AutoFormField.d.ts +30 -1
  227. package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
  228. package/dist/components/form/fields/auto/AutoFormField.js +123 -79
  229. package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
  230. package/dist/components/form/fields/auto/hostEditorValue.d.ts +30 -0
  231. package/dist/components/form/fields/auto/hostEditorValue.d.ts.map +1 -0
  232. package/dist/components/form/fields/auto/hostEditorValue.js +53 -0
  233. package/dist/components/form/fields/auto/hostEditorValue.js.map +1 -0
  234. package/dist/components/form/fields/binary/Binary.d.ts.map +1 -1
  235. package/dist/components/form/fields/binary/Binary.js +23 -3
  236. package/dist/components/form/fields/binary/Binary.js.map +1 -1
  237. package/dist/components/form/fields/boolean/Boolean.d.ts +5 -0
  238. package/dist/components/form/fields/boolean/Boolean.d.ts.map +1 -1
  239. package/dist/components/form/fields/boolean/Boolean.js +9 -1
  240. package/dist/components/form/fields/boolean/Boolean.js.map +1 -1
  241. package/dist/components/form/fields/color/Color.d.ts +103 -16
  242. package/dist/components/form/fields/color/Color.d.ts.map +1 -1
  243. package/dist/components/form/fields/color/Color.js +616 -16
  244. package/dist/components/form/fields/color/Color.js.map +1 -1
  245. package/dist/components/form/fields/emittedValues.d.ts +34 -3
  246. package/dist/components/form/fields/emittedValues.d.ts.map +1 -1
  247. package/dist/components/form/fields/emittedValues.js +24 -1
  248. package/dist/components/form/fields/emittedValues.js.map +1 -1
  249. package/dist/components/form/fields/file/File.d.ts +1 -1
  250. package/dist/components/form/fields/file/File.d.ts.map +1 -1
  251. package/dist/components/form/fields/file/File.js +4 -2
  252. package/dist/components/form/fields/file/File.js.map +1 -1
  253. package/dist/components/form/fields/long-string/LongString.d.ts +1 -7
  254. package/dist/components/form/fields/long-string/LongString.d.ts.map +1 -1
  255. package/dist/components/form/fields/long-string/LongString.js +30 -13
  256. package/dist/components/form/fields/long-string/LongString.js.map +1 -1
  257. package/dist/components/form/fields/markdown/MarkdownView.js +1 -1
  258. package/dist/components/form/fields/multi-select/MultiSelectFormField.d.ts.map +1 -1
  259. package/dist/components/form/fields/multi-select/MultiSelectFormField.js +10 -7
  260. package/dist/components/form/fields/multi-select/MultiSelectFormField.js.map +1 -1
  261. package/dist/components/form/fields/number/Number.d.ts +7 -4
  262. package/dist/components/form/fields/number/Number.d.ts.map +1 -1
  263. package/dist/components/form/fields/number/Number.js +45 -18
  264. package/dist/components/form/fields/number/Number.js.map +1 -1
  265. package/dist/components/form/fields/object/Object.d.ts +1 -1
  266. package/dist/components/form/fields/object/Object.d.ts.map +1 -1
  267. package/dist/components/form/fields/object/Object.js +4 -2
  268. package/dist/components/form/fields/object/Object.js.map +1 -1
  269. package/dist/components/form/fields/pendingEdit.d.ts +52 -0
  270. package/dist/components/form/fields/pendingEdit.d.ts.map +1 -0
  271. package/dist/components/form/fields/pendingEdit.js +79 -0
  272. package/dist/components/form/fields/pendingEdit.js.map +1 -0
  273. package/dist/components/form/fields/radio-group/RadioGroup.d.ts.map +1 -1
  274. package/dist/components/form/fields/radio-group/RadioGroup.js +8 -13
  275. package/dist/components/form/fields/radio-group/RadioGroup.js.map +1 -1
  276. package/dist/components/form/fields/rich-text/RichText.d.ts +20 -1
  277. package/dist/components/form/fields/rich-text/RichText.d.ts.map +1 -1
  278. package/dist/components/form/fields/rich-text/RichText.js +426 -91
  279. package/dist/components/form/fields/rich-text/RichText.js.map +1 -1
  280. package/dist/components/form/fields/rich-text/useTemplateTags.d.ts +18 -0
  281. package/dist/components/form/fields/rich-text/useTemplateTags.d.ts.map +1 -0
  282. package/dist/components/form/fields/rich-text/useTemplateTags.js +80 -0
  283. package/dist/components/form/fields/rich-text/useTemplateTags.js.map +1 -0
  284. package/dist/components/form/fields/schema-definition/CatalogLeafForm.d.ts.map +1 -1
  285. package/dist/components/form/fields/schema-definition/CatalogLeafForm.js +4 -1
  286. package/dist/components/form/fields/schema-definition/CatalogLeafForm.js.map +1 -1
  287. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.d.ts.map +1 -1
  288. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js +20 -5
  289. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js.map +1 -1
  290. package/dist/components/form/fields/schema-definition/TableEditor.d.ts.map +1 -1
  291. package/dist/components/form/fields/schema-definition/TableEditor.js +10 -2
  292. package/dist/components/form/fields/schema-definition/TableEditor.js.map +1 -1
  293. package/dist/components/form/fields/schema-definition/index.d.ts.map +1 -1
  294. package/dist/components/form/fields/schema-definition/index.js +8 -4
  295. package/dist/components/form/fields/schema-definition/index.js.map +1 -1
  296. package/dist/components/form/fields/select/Select.d.ts +10 -1
  297. package/dist/components/form/fields/select/Select.d.ts.map +1 -1
  298. package/dist/components/form/fields/select/Select.js +28 -14
  299. package/dist/components/form/fields/select/Select.js.map +1 -1
  300. package/dist/components/form/fields/select/SelectCollection.d.ts +5 -0
  301. package/dist/components/form/fields/select/SelectCollection.d.ts.map +1 -1
  302. package/dist/components/form/fields/select/SelectCollection.js +25 -12
  303. package/dist/components/form/fields/select/SelectCollection.js.map +1 -1
  304. package/dist/components/form/fields/select/unavailableRow.d.ts +23 -0
  305. package/dist/components/form/fields/select/unavailableRow.d.ts.map +1 -0
  306. package/dist/components/form/fields/select/unavailableRow.js +55 -0
  307. package/dist/components/form/fields/select/unavailableRow.js.map +1 -0
  308. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts +11 -5
  309. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts.map +1 -1
  310. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js +21 -5
  311. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js.map +1 -1
  312. package/dist/components/form/fields/template/TemplateBrowser.d.ts +16 -0
  313. package/dist/components/form/fields/template/TemplateBrowser.d.ts.map +1 -0
  314. package/dist/components/form/fields/template/TemplateBrowser.js +89 -0
  315. package/dist/components/form/fields/template/TemplateBrowser.js.map +1 -0
  316. package/dist/components/form/fields/template/TemplateField.d.ts +105 -1
  317. package/dist/components/form/fields/template/TemplateField.d.ts.map +1 -1
  318. package/dist/components/form/fields/template/TemplateField.js +706 -168
  319. package/dist/components/form/fields/template/TemplateField.js.map +1 -1
  320. package/dist/components/form/fields/template/TemplatePicker.d.ts +54 -0
  321. package/dist/components/form/fields/template/TemplatePicker.d.ts.map +1 -0
  322. package/dist/components/form/fields/template/TemplatePicker.js +459 -0
  323. package/dist/components/form/fields/template/TemplatePicker.js.map +1 -0
  324. package/dist/components/form/fields/template/TemplateText.d.ts +0 -17
  325. package/dist/components/form/fields/template/TemplateText.d.ts.map +1 -1
  326. package/dist/components/form/fields/template/TemplateText.js +22 -16
  327. package/dist/components/form/fields/template/TemplateText.js.map +1 -1
  328. package/dist/components/form/fields/template/referenceNames.d.ts +63 -0
  329. package/dist/components/form/fields/template/referenceNames.d.ts.map +1 -0
  330. package/dist/components/form/fields/template/referenceNames.js +69 -0
  331. package/dist/components/form/fields/template/referenceNames.js.map +1 -0
  332. package/dist/components/form/fields/template/writtenAsText.d.ts +61 -0
  333. package/dist/components/form/fields/template/writtenAsText.d.ts.map +1 -0
  334. package/dist/components/form/fields/template/writtenAsText.js +204 -0
  335. package/dist/components/form/fields/template/writtenAsText.js.map +1 -0
  336. package/dist/components/form/index.d.ts +12 -2
  337. package/dist/components/form/index.d.ts.map +1 -1
  338. package/dist/components/form/index.js +25 -3
  339. package/dist/components/form/index.js.map +1 -1
  340. package/dist/components/form/typeSentenceForm.d.ts +17 -0
  341. package/dist/components/form/typeSentenceForm.d.ts.map +1 -0
  342. package/dist/components/form/typeSentenceForm.js +54 -0
  343. package/dist/components/form/typeSentenceForm.js.map +1 -0
  344. package/dist/components/imageLightbox/ImageLightbox.d.ts.map +1 -1
  345. package/dist/components/imageLightbox/ImageLightbox.js +19 -9
  346. package/dist/components/imageLightbox/ImageLightbox.js.map +1 -1
  347. package/dist/components/log/Log.d.ts.map +1 -1
  348. package/dist/components/log/Log.js +20 -8
  349. package/dist/components/log/Log.js.map +1 -1
  350. package/dist/components/menu/Menu.d.ts.map +1 -1
  351. package/dist/components/menu/Menu.js +19 -10
  352. package/dist/components/menu/Menu.js.map +1 -1
  353. package/dist/components/smartEditor/CompletionMenu.d.ts +53 -0
  354. package/dist/components/smartEditor/CompletionMenu.d.ts.map +1 -0
  355. package/dist/components/smartEditor/CompletionMenu.js +302 -0
  356. package/dist/components/smartEditor/CompletionMenu.js.map +1 -0
  357. package/dist/components/smartEditor/MarkdownDoc.d.ts +1 -1
  358. package/dist/components/smartEditor/MarkdownDoc.js +3 -3
  359. package/dist/components/smartEditor/MarkdownDoc.js.map +1 -1
  360. package/dist/components/smartEditor/SmartEditor.d.ts.map +1 -1
  361. package/dist/components/smartEditor/SmartEditor.js +616 -190
  362. package/dist/components/smartEditor/SmartEditor.js.map +1 -1
  363. package/dist/components/smartEditor/completionStyle.d.ts +28 -0
  364. package/dist/components/smartEditor/completionStyle.d.ts.map +1 -0
  365. package/dist/components/smartEditor/completionStyle.js +79 -0
  366. package/dist/components/smartEditor/completionStyle.js.map +1 -0
  367. package/dist/components/smartEditor/contextTitle.d.ts +10 -0
  368. package/dist/components/smartEditor/contextTitle.d.ts.map +1 -0
  369. package/dist/components/smartEditor/contextTitle.js +21 -0
  370. package/dist/components/smartEditor/contextTitle.js.map +1 -0
  371. package/dist/components/smartEditor/editingAids.d.ts +64 -0
  372. package/dist/components/smartEditor/editingAids.d.ts.map +1 -0
  373. package/dist/components/smartEditor/editingAids.js +213 -0
  374. package/dist/components/smartEditor/editingAids.js.map +1 -0
  375. package/dist/components/smartEditor/index.d.ts +6 -1
  376. package/dist/components/smartEditor/index.d.ts.map +1 -1
  377. package/dist/components/smartEditor/index.js +19 -1
  378. package/dist/components/smartEditor/index.js.map +1 -1
  379. package/dist/components/smartEditor/templateCompletions.d.ts +98 -0
  380. package/dist/components/smartEditor/templateCompletions.d.ts.map +1 -0
  381. package/dist/components/smartEditor/templateCompletions.js +380 -0
  382. package/dist/components/smartEditor/templateCompletions.js.map +1 -0
  383. package/dist/components/smartEditor/typedReferences.d.ts +34 -0
  384. package/dist/components/smartEditor/typedReferences.d.ts.map +1 -0
  385. package/dist/components/smartEditor/typedReferences.js +179 -0
  386. package/dist/components/smartEditor/typedReferences.js.map +1 -0
  387. package/dist/components/smartEditor/types.d.ts +116 -2
  388. package/dist/components/smartEditor/types.d.ts.map +1 -1
  389. package/dist/components/smartEditor/useEditingAids.d.ts +38 -0
  390. package/dist/components/smartEditor/useEditingAids.d.ts.map +1 -0
  391. package/dist/components/smartEditor/useEditingAids.js +392 -0
  392. package/dist/components/smartEditor/useEditingAids.js.map +1 -0
  393. package/dist/components/smartEditor/useLspAutocomplete.d.ts +106 -3
  394. package/dist/components/smartEditor/useLspAutocomplete.d.ts.map +1 -1
  395. package/dist/components/smartEditor/useLspAutocomplete.js +592 -149
  396. package/dist/components/smartEditor/useLspAutocomplete.js.map +1 -1
  397. package/dist/components/smartEditor/useLspHover.d.ts +33 -7
  398. package/dist/components/smartEditor/useLspHover.d.ts.map +1 -1
  399. package/dist/components/smartEditor/useLspHover.js +364 -35
  400. package/dist/components/smartEditor/useLspHover.js.map +1 -1
  401. package/dist/components/smartEditor/useLspSemanticTokens.js +1 -1
  402. package/dist/components/smartEditor/useLspSemanticTokens.js.map +1 -1
  403. package/dist/components/smartEditor/useLspSession.d.ts +6 -0
  404. package/dist/components/smartEditor/useLspSession.d.ts.map +1 -1
  405. package/dist/components/smartEditor/useLspSession.js +7 -6
  406. package/dist/components/smartEditor/useLspSession.js.map +1 -1
  407. package/dist/components/smartEditor/useLspSignatureHelp.d.ts.map +1 -1
  408. package/dist/components/smartEditor/useLspSignatureHelp.js +6 -11
  409. package/dist/components/smartEditor/useLspSignatureHelp.js.map +1 -1
  410. package/dist/components/smartEditor/useTabCameIn.d.ts +10 -0
  411. package/dist/components/smartEditor/useTabCameIn.d.ts.map +1 -0
  412. package/dist/components/smartEditor/useTabCameIn.js +42 -0
  413. package/dist/components/smartEditor/useTabCameIn.js.map +1 -0
  414. package/dist/components/supportTicket/AttachmentChips.d.ts.map +1 -1
  415. package/dist/components/supportTicket/AttachmentChips.js +15 -5
  416. package/dist/components/supportTicket/AttachmentChips.js.map +1 -1
  417. package/dist/components/supportTicket/InterfaceReferenceTags.d.ts +2 -3
  418. package/dist/components/supportTicket/InterfaceReferenceTags.d.ts.map +1 -1
  419. package/dist/components/supportTicket/InterfaceReferenceTags.js.map +1 -1
  420. package/dist/components/supportTicket/ReferencePicker.d.ts +9 -3
  421. package/dist/components/supportTicket/ReferencePicker.d.ts.map +1 -1
  422. package/dist/components/supportTicket/ReferencePicker.js +38 -23
  423. package/dist/components/supportTicket/ReferencePicker.js.map +1 -1
  424. package/dist/components/supportTicket/TicketHeader.d.ts +3 -4
  425. package/dist/components/supportTicket/TicketHeader.d.ts.map +1 -1
  426. package/dist/components/supportTicket/TicketHeader.js +21 -6
  427. package/dist/components/supportTicket/TicketHeader.js.map +1 -1
  428. package/dist/components/supportTicket/TicketMetaTags.d.ts +1 -1
  429. package/dist/components/supportTicket/TicketReplyBox.d.ts.map +1 -1
  430. package/dist/components/supportTicket/TicketReplyBox.js +10 -29
  431. package/dist/components/supportTicket/TicketReplyBox.js.map +1 -1
  432. package/dist/components/supportTicket/useLoadedImages.d.ts +0 -10
  433. package/dist/components/supportTicket/useLoadedImages.d.ts.map +1 -1
  434. package/dist/components/supportTicket/useLoadedImages.js +1 -63
  435. package/dist/components/supportTicket/useLoadedImages.js.map +1 -1
  436. package/dist/components/ticketReferences/TicketReferences.d.ts.map +1 -1
  437. package/dist/components/ticketReferences/TicketReferences.js +10 -9
  438. package/dist/components/ticketReferences/TicketReferences.js.map +1 -1
  439. package/dist/components/ticketThread/TicketThread.d.ts.map +1 -1
  440. package/dist/components/ticketThread/TicketThread.js +52 -21
  441. package/dist/components/ticketThread/TicketThread.js.map +1 -1
  442. package/dist/helpers/allowedValues.d.ts +21 -12
  443. package/dist/helpers/allowedValues.d.ts.map +1 -1
  444. package/dist/helpers/allowedValues.js +40 -20
  445. package/dist/helpers/allowedValues.js.map +1 -1
  446. package/dist/helpers/descriptionTooltip.d.ts +46 -0
  447. package/dist/helpers/descriptionTooltip.d.ts.map +1 -0
  448. package/dist/helpers/descriptionTooltip.js +76 -0
  449. package/dist/helpers/descriptionTooltip.js.map +1 -0
  450. package/dist/helpers/domProps.d.ts +5 -0
  451. package/dist/helpers/domProps.d.ts.map +1 -0
  452. package/dist/helpers/domProps.js +47 -0
  453. package/dist/helpers/domProps.js.map +1 -0
  454. package/dist/helpers/expressions.d.ts +115 -4
  455. package/dist/helpers/expressions.d.ts.map +1 -1
  456. package/dist/helpers/expressions.js +247 -29
  457. package/dist/helpers/expressions.js.map +1 -1
  458. package/dist/helpers/hoveringPointer.d.ts +26 -0
  459. package/dist/helpers/hoveringPointer.d.ts.map +1 -0
  460. package/dist/helpers/hoveringPointer.js +29 -0
  461. package/dist/helpers/hoveringPointer.js.map +1 -0
  462. package/dist/helpers/markdownText.d.ts +14 -0
  463. package/dist/helpers/markdownText.d.ts.map +1 -0
  464. package/dist/helpers/markdownText.js +160 -0
  465. package/dist/helpers/markdownText.js.map +1 -0
  466. package/dist/helpers/noDescription.d.ts +9 -0
  467. package/dist/helpers/noDescription.d.ts.map +1 -0
  468. package/dist/helpers/noDescription.js +13 -0
  469. package/dist/helpers/noDescription.js.map +1 -0
  470. package/dist/helpers/optionUiTypes.d.ts +2 -2
  471. package/dist/helpers/qorusTypeCatalogue.d.ts +147 -0
  472. package/dist/helpers/qorusTypeCatalogue.d.ts.map +1 -0
  473. package/dist/helpers/qorusTypeCatalogue.js +505 -0
  474. package/dist/helpers/qorusTypeCatalogue.js.map +1 -0
  475. package/dist/helpers/readableColors.d.ts +36 -0
  476. package/dist/helpers/readableColors.d.ts.map +1 -0
  477. package/dist/helpers/readableColors.js +116 -0
  478. package/dist/helpers/readableColors.js.map +1 -0
  479. package/dist/helpers/recordFieldReference.d.ts +15 -0
  480. package/dist/helpers/recordFieldReference.d.ts.map +1 -0
  481. package/dist/helpers/recordFieldReference.js +89 -0
  482. package/dist/helpers/recordFieldReference.js.map +1 -0
  483. package/dist/helpers/singleLineString.d.ts.map +1 -1
  484. package/dist/helpers/singleLineString.js +0 -1
  485. package/dist/helpers/singleLineString.js.map +1 -1
  486. package/dist/helpers/templateCatalogue.d.ts +104 -0
  487. package/dist/helpers/templateCatalogue.d.ts.map +1 -0
  488. package/dist/helpers/templateCatalogue.js +116 -0
  489. package/dist/helpers/templateCatalogue.js.map +1 -0
  490. package/dist/helpers/templateCatalogueContext.d.ts +19 -0
  491. package/dist/helpers/templateCatalogueContext.d.ts.map +1 -0
  492. package/dist/helpers/templateCatalogueContext.js +31 -0
  493. package/dist/helpers/templateCatalogueContext.js.map +1 -0
  494. package/dist/helpers/templateItems.d.ts +2 -2
  495. package/dist/helpers/templateItems.d.ts.map +1 -1
  496. package/dist/helpers/templateItems.js +6 -4
  497. package/dist/helpers/templateItems.js.map +1 -1
  498. package/dist/helpers/templateText.d.ts +1 -0
  499. package/dist/helpers/templateText.d.ts.map +1 -1
  500. package/dist/helpers/templateText.js +7 -3
  501. package/dist/helpers/templateText.js.map +1 -1
  502. package/dist/helpers/templateTree.d.ts +248 -0
  503. package/dist/helpers/templateTree.d.ts.map +1 -0
  504. package/dist/helpers/templateTree.js +892 -0
  505. package/dist/helpers/templateTree.js.map +1 -0
  506. package/dist/helpers/templateType.d.ts +28 -0
  507. package/dist/helpers/templateType.d.ts.map +1 -0
  508. package/dist/helpers/templateType.js +30 -0
  509. package/dist/helpers/templateType.js.map +1 -0
  510. package/dist/helpers/templates.d.ts +86 -16
  511. package/dist/helpers/templates.d.ts.map +1 -1
  512. package/dist/helpers/templates.js +305 -45
  513. package/dist/helpers/templates.js.map +1 -1
  514. package/dist/helpers/validations.d.ts +27 -0
  515. package/dist/helpers/validations.d.ts.map +1 -1
  516. package/dist/helpers/validations.js +169 -39
  517. package/dist/helpers/validations.js.map +1 -1
  518. package/dist/helpers/webLink.d.ts +8 -0
  519. package/dist/helpers/webLink.d.ts.map +1 -0
  520. package/dist/helpers/webLink.js +29 -0
  521. package/dist/helpers/webLink.js.map +1 -0
  522. package/dist/hooks/useQorusTypes.d.ts +12 -17
  523. package/dist/hooks/useQorusTypes.d.ts.map +1 -1
  524. package/dist/hooks/useQorusTypes.js +44 -172
  525. package/dist/hooks/useQorusTypes.js.map +1 -1
  526. package/dist/hooks/useReadableIntentShade.d.ts +9 -0
  527. package/dist/hooks/useReadableIntentShade.d.ts.map +1 -0
  528. package/dist/hooks/useReadableIntentShade.js +23 -0
  529. package/dist/hooks/useReadableIntentShade.js.map +1 -0
  530. package/dist/hooks/useReadableOpacity.d.ts +6 -0
  531. package/dist/hooks/useReadableOpacity.d.ts.map +1 -0
  532. package/dist/hooks/useReadableOpacity.js +17 -0
  533. package/dist/hooks/useReadableOpacity.js.map +1 -0
  534. package/dist/index.d.ts +8 -0
  535. package/dist/index.d.ts.map +1 -1
  536. package/dist/index.js +24 -1
  537. package/dist/index.js.map +1 -1
  538. package/dist/tracking/ui/ExperimentCard.d.ts +1 -1
  539. package/dist/tracking/ui/ExperimentCard.d.ts.map +1 -1
  540. package/dist/tracking/ui/ExperimentCard.js +26 -10
  541. package/dist/tracking/ui/ExperimentCard.js.map +1 -1
  542. package/dist/tracking/ui/card.d.ts +2 -2
  543. package/dist/tracking/ui/card.d.ts.map +1 -1
  544. package/dist/tracking/ui/card.js +2 -2
  545. package/dist/tracking/ui/card.js.map +1 -1
  546. package/dist/tracking/ui/readable.d.ts +14 -0
  547. package/dist/tracking/ui/readable.d.ts.map +1 -0
  548. package/dist/tracking/ui/readable.js +60 -0
  549. package/dist/tracking/ui/readable.js.map +1 -0
  550. package/dist/utils/fetch.d.ts +9 -2
  551. package/dist/utils/fetch.d.ts.map +1 -1
  552. package/dist/utils/fetch.js +6 -5
  553. package/dist/utils/fetch.js.map +1 -1
  554. package/dist/utils/lspClient.types.d.ts +2 -0
  555. package/dist/utils/lspClient.types.d.ts.map +1 -1
  556. package/dist/utils/websocket.d.ts +65 -2
  557. package/dist/utils/websocket.d.ts.map +1 -1
  558. package/dist/utils/websocket.js +276 -44
  559. package/dist/utils/websocket.js.map +1 -1
  560. package/package.json +14 -6
  561. package/.claude/CLAUDE.md +0 -317
  562. package/.tasks/EXPORT_EXPRESSION_BUILDER.md +0 -38
  563. package/.tasks/EXPRESSION_BUILDER_REPORT.md +0 -149
  564. package/.tasks/EXPRESSION_FIELD_SEAMS.md +0 -66
  565. package/.tasks/FIELD_STACK_REPORT.md +0 -234
  566. package/.tasks/FORM_ENGINE_COMPACT_READ_FIRST.md +0 -558
  567. package/.tasks/FORM_ENGINE_EXPRESSIONS.md +0 -197
  568. package/.tasks/FORM_ENGINE_OPTIONS_SYNC.md +0 -95
  569. package/.tasks/FORM_FIELD_EXTRAS.md +0 -72
  570. package/.tasks/INDEX.md +0 -111
  571. package/.tasks/LSP_SHARED_CONNECTION.md +0 -75
  572. package/.tasks/QONSOLE_ASSIST_FEATURES.md +0 -306
  573. package/.tasks/RENDER_EXPRESSION_LSP.md +0 -159
  574. package/.tasks/REQRAFT_AUTO_FIELD.md +0 -176
  575. package/.tasks/SCHEMA_DEFINITION_FIELD.md +0 -250
  576. package/.tasks/SMART_EDITOR_CONTEXT_AND_POLISH.md +0 -340
  577. package/.tasks/SMART_EDITOR_LSP_FEATURES.md +0 -299
  578. package/.tasks/SMART_EDITOR_REVIEW_FOLLOWUPS.md +0 -280
  579. package/.tasks/SMART_EDITOR_UX_POLISH.md +0 -383
  580. package/.tasks/SMART_EDITOR_VISUAL_POLISH.md +0 -246
  581. package/.tasks/STORY_NETWORK_ISOLATION.md +0 -98
  582. package/.tasks/TEMPLATE_TOKEN_GRAMMAR.md +0 -72
  583. package/CODE_OF_CONDUCT.md +0 -105
  584. package/CONTRIBUTING.MD +0 -78
  585. package/SECURITY.md +0 -3
  586. package/chromatic.config.json +0 -5
  587. package/design/COMPACT_ENGINE_REDESIGN.md +0 -156
  588. package/design/COMPACT_INFO_DISPLAY.md +0 -87
  589. package/design/COMPACT_PARITY.md +0 -85
  590. package/design/EXPRESSION_BUILDER_REPORT_STRATEGY.md +0 -92
  591. package/design/FORM_ENGINE_COMPACT.md +0 -300
  592. package/design/FORM_ENGINE_COMPACT_UX_PLAN.md +0 -353
  593. package/design/FORM_ENGINE_EXPRESSIONS.md +0 -257
  594. package/design/FORM_ENGINE_FIELD_MIGRATION.md +0 -419
  595. package/design/IDE_INTEGRATION.md +0 -64
  596. package/design/RENDER_EXPRESSION_TRANSPORT.md +0 -156
  597. package/design/SELECT_DIALOG_FLOOR.md +0 -86
  598. package/design/SMART_EDITOR_UX.md +0 -438
  599. package/design/TRACKING.md +0 -290
  600. package/design/UNAVAILABLE_ALLOWED_VALUES.md +0 -226
  601. package/dist/components/form/engine/formAppearance.d.ts +0 -49
  602. package/dist/components/form/engine/formAppearance.d.ts.map +0 -1
  603. package/dist/components/form/engine/formAppearance.js +0 -50
  604. package/dist/components/form/engine/formAppearance.js.map +0 -1
  605. package/dist/components/form/fields/ChoiceGroupHeading.d.ts +0 -21
  606. package/dist/components/form/fields/ChoiceGroupHeading.d.ts.map +0 -1
  607. package/dist/components/form/fields/ChoiceGroupHeading.js +0 -33
  608. package/dist/components/form/fields/ChoiceGroupHeading.js.map +0 -1
  609. package/dist/components/form/fields/allowed-values/savedValues.d.ts +0 -30
  610. package/dist/components/form/fields/allowed-values/savedValues.d.ts.map +0 -1
  611. package/dist/components/form/fields/allowed-values/savedValues.js +0 -39
  612. package/dist/components/form/fields/allowed-values/savedValues.js.map +0 -1
  613. package/dist/helpers/fieldDescription.d.ts +0 -16
  614. package/dist/helpers/fieldDescription.d.ts.map +0 -1
  615. package/dist/helpers/fieldDescription.js +0 -40
  616. package/dist/helpers/fieldDescription.js.map +0 -1
  617. package/src/components/Description/index.tsx +0 -254
  618. package/src/components/Description/markdownRendererContext.tsx +0 -29
  619. package/src/components/FocusedEditing/index.tsx +0 -50
  620. package/src/components/codeSize/index.tsx +0 -79
  621. package/src/components/composer/Composer.stories.tsx +0 -238
  622. package/src/components/composer/Composer.tsx +0 -554
  623. package/src/components/composer/helpers.ts +0 -74
  624. package/src/components/composer/index.ts +0 -2
  625. package/src/components/dpqlEditor/DpqlEditor.stories.tsx +0 -1183
  626. package/src/components/dpqlEditor/DpqlEditor.tsx +0 -219
  627. package/src/components/dpqlEditor/dpqlHelpers.ts +0 -287
  628. package/src/components/dpqlEditor/dpqlInserter.ts +0 -121
  629. package/src/components/dpqlEditor/dpqlProbe.ts +0 -165
  630. package/src/components/dpqlEditor/dpqlTags.ts +0 -114
  631. package/src/components/dpqlEditor/index.ts +0 -41
  632. package/src/components/dpqlEditor/types.ts +0 -203
  633. package/src/components/dpqlEditor/useDpqlProbe.ts +0 -33
  634. package/src/components/dpqlEditor/useDpqlSession.ts +0 -411
  635. package/src/components/form/engine/CompactRow.tsx +0 -2740
  636. package/src/components/form/engine/CompactToolbar.tsx +0 -399
  637. package/src/components/form/engine/FormEngine.stories.tsx +0 -9934
  638. package/src/components/form/engine/FormEngine.tsx +0 -4891
  639. package/src/components/form/engine/FormEngineAppearance.stories.tsx +0 -609
  640. package/src/components/form/engine/FormEngineRemote.stories.tsx +0 -679
  641. package/src/components/form/engine/FormEngineStickyHeaders.stories.tsx +0 -335
  642. package/src/components/form/engine/FormFieldsSkeleton.tsx +0 -82
  643. package/src/components/form/engine/OptionFieldMessages.tsx +0 -548
  644. package/src/components/form/engine/OptionsHelpDialog.tsx +0 -29
  645. package/src/components/form/engine/__fixtures__/basicFormOptions.ts +0 -309
  646. package/src/components/form/engine/__fixtures__/fieldChromeOptions.ts +0 -45
  647. package/src/components/form/engine/_structuredData/SchemaDataView.stories.tsx +0 -233
  648. package/src/components/form/engine/_structuredData/SchemaDataView.tsx +0 -755
  649. package/src/components/form/engine/_structuredData/StructuredDataView.stories.tsx +0 -85
  650. package/src/components/form/engine/_structuredData/StructuredDataView.tsx +0 -75
  651. package/src/components/form/engine/_structuredData/structuredData.ts +0 -145
  652. package/src/components/form/engine/compactRowContext.ts +0 -153
  653. package/src/components/form/engine/compactRowStyles.ts +0 -1087
  654. package/src/components/form/engine/compactToolbarContext.ts +0 -72
  655. package/src/components/form/engine/formAppearance.ts +0 -79
  656. package/src/components/form/engine/optionActions.ts +0 -128
  657. package/src/components/form/engine/optionsContext.ts +0 -24
  658. package/src/components/form/engine/readFirst.ts +0 -1090
  659. package/src/components/form/engine/rendererTypes.ts +0 -107
  660. package/src/components/form/engine/revealRow.ts +0 -123
  661. package/src/components/form/engine/rowFocus.ts +0 -112
  662. package/src/components/form/engine/rowMenuContext.ts +0 -159
  663. package/src/components/form/engine/rowOpenPicker.ts +0 -27
  664. package/src/components/form/engine/typeChoices.ts +0 -63
  665. package/src/components/form/engine/variants/FormEngineVariants.stories.tsx +0 -159
  666. package/src/components/form/engine/variants/VariantCalmTable.tsx +0 -244
  667. package/src/components/form/engine/variants/VariantCards.tsx +0 -212
  668. package/src/components/form/engine/variants/VariantFocus.tsx +0 -382
  669. package/src/components/form/engine/variants/VariantMinimal.tsx +0 -170
  670. package/src/components/form/engine/variants/focusDemo.ts +0 -145
  671. package/src/components/form/engine/variants/variantModel.ts +0 -223
  672. package/src/components/form/engine/variants/variantParts.tsx +0 -313
  673. package/src/components/form/expressions/DpqlRendering.tsx +0 -85
  674. package/src/components/form/expressions/ExpressionField.stories.tsx +0 -1395
  675. package/src/components/form/expressions/ExpressionField.tsx +0 -503
  676. package/src/components/form/expressions/argumentPresence.ts +0 -213
  677. package/src/components/form/expressions/builder/ExpressionBuilder.stories.tsx +0 -1683
  678. package/src/components/form/expressions/builder/argumentDetail.tsx +0 -17
  679. package/src/components/form/expressions/builder/argumentLabel.tsx +0 -146
  680. package/src/components/form/expressions/builder/argumentSlot.tsx +0 -101
  681. package/src/components/form/expressions/builder/argumentWrapper.tsx +0 -243
  682. package/src/components/form/expressions/builder/confirmMismatchedTypesModal.tsx +0 -120
  683. package/src/components/form/expressions/builder/confirmUnsupportedTypeModal.tsx +0 -69
  684. package/src/components/form/expressions/builder/index.tsx +0 -1545
  685. package/src/components/form/expressions/builder/item.tsx +0 -89
  686. package/src/components/form/expressions/builder/moveToPositionStrip.tsx +0 -156
  687. package/src/components/form/expressions/builder/renderTemplate.tsx +0 -42
  688. package/src/components/form/expressions/dpqlMockLanguage.ts +0 -566
  689. package/src/components/form/expressions/dpqlMockLsp.ts +0 -126
  690. package/src/components/form/expressions/mockExpressions.ts +0 -317
  691. package/src/components/form/expressions/renderExpressionToText.ts +0 -152
  692. package/src/components/form/expressions/types.ts +0 -110
  693. package/src/components/form/expressions/useExpressions.ts +0 -101
  694. package/src/components/form/expressions/useRenderExpression.ts +0 -165
  695. package/src/components/form/fields/ChoiceGroupHeading.tsx +0 -38
  696. package/src/components/form/fields/Field.stories.tsx +0 -143
  697. package/src/components/form/fields/Field.tsx +0 -734
  698. package/src/components/form/fields/allowed-values/AllowedValues.tsx +0 -321
  699. package/src/components/form/fields/allowed-values/savedValues.ts +0 -64
  700. package/src/components/form/fields/array/ArrayAuto.tsx +0 -237
  701. package/src/components/form/fields/array/ArrayAutoField.stories.tsx +0 -475
  702. package/src/components/form/fields/array/ArrayAutoField.tsx +0 -367
  703. package/src/components/form/fields/auto/AutoFormField.stories.tsx +0 -825
  704. package/src/components/form/fields/auto/AutoFormField.tsx +0 -1183
  705. package/src/components/form/fields/binary/Binary.stories.tsx +0 -122
  706. package/src/components/form/fields/binary/Binary.tsx +0 -91
  707. package/src/components/form/fields/boolean/Boolean.stories.tsx +0 -125
  708. package/src/components/form/fields/boolean/Boolean.tsx +0 -34
  709. package/src/components/form/fields/byte-size/ByteSize.stories.tsx +0 -87
  710. package/src/components/form/fields/byte-size/ByteSize.tsx +0 -58
  711. package/src/components/form/fields/color/Color.stories.tsx +0 -99
  712. package/src/components/form/fields/color/Color.tsx +0 -46
  713. package/src/components/form/fields/cron/Cron.stories.tsx +0 -68
  714. package/src/components/form/fields/cron/Cron.tsx +0 -80
  715. package/src/components/form/fields/date/Date.stories.tsx +0 -77
  716. package/src/components/form/fields/date/Date.tsx +0 -55
  717. package/src/components/form/fields/emittedValues.ts +0 -70
  718. package/src/components/form/fields/file/File.stories.tsx +0 -161
  719. package/src/components/form/fields/file/File.tsx +0 -227
  720. package/src/components/form/fields/long-string/LongString.stories.tsx +0 -147
  721. package/src/components/form/fields/long-string/LongString.tsx +0 -141
  722. package/src/components/form/fields/markdown/Markdown.stories.tsx +0 -76
  723. package/src/components/form/fields/markdown/Markdown.tsx +0 -81
  724. package/src/components/form/fields/markdown/MarkdownView.tsx +0 -222
  725. package/src/components/form/fields/multi-select/MultiSelectFormField.tsx +0 -140
  726. package/src/components/form/fields/number/Number.stories.tsx +0 -159
  727. package/src/components/form/fields/number/Number.tsx +0 -175
  728. package/src/components/form/fields/object/Object.stories.tsx +0 -398
  729. package/src/components/form/fields/object/Object.tsx +0 -255
  730. package/src/components/form/fields/radio-group/RadioGroup.stories.tsx +0 -95
  731. package/src/components/form/fields/radio-group/RadioGroup.tsx +0 -52
  732. package/src/components/form/fields/radio-group/images/java-96x128.png +0 -0
  733. package/src/components/form/fields/radio-group/images/python-129x128.png +0 -0
  734. package/src/components/form/fields/radio-group/images/qore-106x128.png +0 -0
  735. package/src/components/form/fields/rich-text/RichText.stories.tsx +0 -260
  736. package/src/components/form/fields/rich-text/RichText.tsx +0 -537
  737. package/src/components/form/fields/schema-definition/CatalogLeafForm.tsx +0 -242
  738. package/src/components/form/fields/schema-definition/CatalogNodeEditor.tsx +0 -758
  739. package/src/components/form/fields/schema-definition/Hint.tsx +0 -22
  740. package/src/components/form/fields/schema-definition/InlineValidationBanner.tsx +0 -138
  741. package/src/components/form/fields/schema-definition/Loader.tsx +0 -20
  742. package/src/components/form/fields/schema-definition/MigrationsTab.tsx +0 -187
  743. package/src/components/form/fields/schema-definition/SchemaDefinitionField.stories.tsx +0 -286
  744. package/src/components/form/fields/schema-definition/TableEditor.tsx +0 -155
  745. package/src/components/form/fields/schema-definition/TablesTab.tsx +0 -138
  746. package/src/components/form/fields/schema-definition/catalog.ts +0 -237
  747. package/src/components/form/fields/schema-definition/helpers.ts +0 -90
  748. package/src/components/form/fields/schema-definition/index.tsx +0 -418
  749. package/src/components/form/fields/schema-definition/mockCatalog.ts +0 -325
  750. package/src/components/form/fields/schema-definition/mockDefinition.ts +0 -111
  751. package/src/components/form/fields/schema-definition/referenceSuggestions.tsx +0 -152
  752. package/src/components/form/fields/schema-definition/starterTemplate.ts +0 -68
  753. package/src/components/form/fields/schema-definition/types.ts +0 -185
  754. package/src/components/form/fields/schema-definition/useSchemaOptionCatalog.ts +0 -49
  755. package/src/components/form/fields/select/Select.stories.tsx +0 -872
  756. package/src/components/form/fields/select/Select.tsx +0 -624
  757. package/src/components/form/fields/select/SelectCollection.tsx +0 -594
  758. package/src/components/form/fields/string/String.stories.tsx +0 -86
  759. package/src/components/form/fields/string/String.tsx +0 -43
  760. package/src/components/form/fields/template/ExampleValueModal.stories.tsx +0 -114
  761. package/src/components/form/fields/template/ExampleValueModal.tsx +0 -99
  762. package/src/components/form/fields/template/ReadOnlyTemplateTag.tsx +0 -47
  763. package/src/components/form/fields/template/TemplateField.stories.tsx +0 -1121
  764. package/src/components/form/fields/template/TemplateField.tsx +0 -1749
  765. package/src/components/form/fields/template/TemplateText.tsx +0 -115
  766. package/src/components/form/fields/template/__fixtures__/longExampleValue.ts +0 -7
  767. package/src/components/form/fields/template/__fixtures__/multiLevelTemplates.json +0 -147
  768. package/src/components/form/fields/template/__fixtures__/templates.json +0 -83
  769. package/src/components/form/fields/timeout/Timeout.stories.tsx +0 -228
  770. package/src/components/form/fields/timeout/Timeout.tsx +0 -87
  771. package/src/components/form/fields/url/Url.stories.tsx +0 -94
  772. package/src/components/form/fields/url/Url.tsx +0 -85
  773. package/src/components/form/index.tsx +0 -49
  774. package/src/components/imageLightbox/ImageLightbox.stories.tsx +0 -238
  775. package/src/components/imageLightbox/ImageLightbox.tsx +0 -238
  776. package/src/components/imageLightbox/index.ts +0 -1
  777. package/src/components/log/Log.stories.tsx +0 -333
  778. package/src/components/log/Log.tsx +0 -285
  779. package/src/components/menu/Menu.stories.tsx +0 -155
  780. package/src/components/menu/Menu.tsx +0 -312
  781. package/src/components/qonsoleSmartInput/QonsoleSmartInput.stories.tsx +0 -797
  782. package/src/components/qonsoleSmartInput/QonsoleSmartInput.tsx +0 -105
  783. package/src/components/qonsoleSmartInput/index.ts +0 -16
  784. package/src/components/qonsoleSmartInput/qonsoleInserter.ts +0 -77
  785. package/src/components/qonsoleSmartInput/types.ts +0 -133
  786. package/src/components/qonsoleSmartInput/useQonsoleSession.ts +0 -124
  787. package/src/components/searchFilterBar/SearchFilterBar.stories.tsx +0 -62
  788. package/src/components/searchFilterBar/SearchFilterBar.tsx +0 -144
  789. package/src/components/searchFilterBar/index.ts +0 -1
  790. package/src/components/smartEditor/MarkdownDoc.tsx +0 -190
  791. package/src/components/smartEditor/SmartEditor.stories.tsx +0 -475
  792. package/src/components/smartEditor/SmartEditor.tsx +0 -808
  793. package/src/components/smartEditor/__fixtures__/mockLspServer.ts +0 -205
  794. package/src/components/smartEditor/helpers.ts +0 -217
  795. package/src/components/smartEditor/index.ts +0 -35
  796. package/src/components/smartEditor/styling.ts +0 -45
  797. package/src/components/smartEditor/types.ts +0 -211
  798. package/src/components/smartEditor/useLspAutocomplete.ts +0 -758
  799. package/src/components/smartEditor/useLspDiagnosticDecorations.ts +0 -125
  800. package/src/components/smartEditor/useLspHover.ts +0 -230
  801. package/src/components/smartEditor/useLspSemanticTokens.ts +0 -298
  802. package/src/components/smartEditor/useLspSession.ts +0 -231
  803. package/src/components/smartEditor/useLspSignatureHelp.ts +0 -198
  804. package/src/components/supportTicket/AttachmentChips.stories.tsx +0 -171
  805. package/src/components/supportTicket/AttachmentChips.tsx +0 -147
  806. package/src/components/supportTicket/InterfaceReferenceTags.stories.tsx +0 -257
  807. package/src/components/supportTicket/InterfaceReferenceTags.tsx +0 -130
  808. package/src/components/supportTicket/ReferencePicker.stories.tsx +0 -580
  809. package/src/components/supportTicket/ReferencePicker.tsx +0 -573
  810. package/src/components/supportTicket/TicketConversation.stories.tsx +0 -120
  811. package/src/components/supportTicket/TicketHeader.stories.tsx +0 -183
  812. package/src/components/supportTicket/TicketHeader.tsx +0 -248
  813. package/src/components/supportTicket/TicketMetaTags.stories.tsx +0 -103
  814. package/src/components/supportTicket/TicketMetaTags.tsx +0 -85
  815. package/src/components/supportTicket/TicketReplyBox.stories.tsx +0 -357
  816. package/src/components/supportTicket/TicketReplyBox.tsx +0 -172
  817. package/src/components/supportTicket/__fixtures__/kindMarks.ts +0 -28
  818. package/src/components/supportTicket/attachmentAccess.ts +0 -97
  819. package/src/components/supportTicket/fileToAttachment.ts +0 -24
  820. package/src/components/supportTicket/index.ts +0 -10
  821. package/src/components/supportTicket/meta.ts +0 -206
  822. package/src/components/supportTicket/ticketModel.ts +0 -131
  823. package/src/components/supportTicket/useLoadedImages.ts +0 -93
  824. package/src/components/ticketReferences/TicketReferences.stories.tsx +0 -341
  825. package/src/components/ticketReferences/TicketReferences.tsx +0 -914
  826. package/src/components/ticketReferences/index.ts +0 -2
  827. package/src/components/ticketThread/TicketThread.stories.tsx +0 -898
  828. package/src/components/ticketThread/TicketThread.tsx +0 -706
  829. package/src/components/ticketThread/index.ts +0 -6
  830. package/src/contexts/FetchContext.tsx +0 -25
  831. package/src/contexts/ReqraftContext.tsx +0 -9
  832. package/src/contexts/StorageContext.tsx +0 -33
  833. package/src/global.d.ts +0 -4
  834. package/src/helpers/allowedValues.ts +0 -268
  835. package/src/helpers/choiceChip.ts +0 -227
  836. package/src/helpers/common.ts +0 -326
  837. package/src/helpers/dpqlDetection.ts +0 -209
  838. package/src/helpers/expressions.ts +0 -140
  839. package/src/helpers/fieldDescription.ts +0 -39
  840. package/src/helpers/optionUiTypes.ts +0 -199
  841. package/src/helpers/options.ts +0 -150
  842. package/src/helpers/providerValue.ts +0 -125
  843. package/src/helpers/scrollbar.ts +0 -32
  844. package/src/helpers/singleLineString.ts +0 -62
  845. package/src/helpers/templateItems.ts +0 -81
  846. package/src/helpers/templateText.ts +0 -350
  847. package/src/helpers/templates.ts +0 -602
  848. package/src/helpers/validations.ts +0 -2085
  849. package/src/hooks/useArgSchema.ts +0 -37
  850. package/src/hooks/useCoarsePointer.ts +0 -30
  851. package/src/hooks/useFetch/useFetch.stories.tsx +0 -379
  852. package/src/hooks/useFetch/useFetch.tsx +0 -154
  853. package/src/hooks/usePhoneViewport.ts +0 -34
  854. package/src/hooks/useQorusTypes.ts +0 -233
  855. package/src/hooks/useReqraftProperty.ts +0 -16
  856. package/src/hooks/useStorage/useStorage.stories.tsx +0 -168
  857. package/src/hooks/useStorage/useStorage.ts +0 -35
  858. package/src/hooks/useTemplates.ts +0 -123
  859. package/src/hooks/useValidation.ts +0 -9
  860. package/src/hooks/useWebSocket/useWebSocket.ts +0 -224
  861. package/src/hooks/useWebSocket/useWebsocket.stories.tsx +0 -640
  862. package/src/hooks/useWhyDidYouUpdate.ts +0 -38
  863. package/src/index.tsx +0 -86
  864. package/src/providers/FetchProvider.tsx +0 -40
  865. package/src/providers/ReqraftProvider.tsx +0 -52
  866. package/src/providers/StorageProvider.tsx +0 -131
  867. package/src/stores/currentUser/currentUser.stories.tsx +0 -100
  868. package/src/stores/currentUser/currentUser.tsx +0 -94
  869. package/src/stories/Data/fileFieldArgSchema.json +0 -86
  870. package/src/stories/Tests/utils.ts +0 -320
  871. package/src/stories/storyNetwork.ts +0 -92
  872. package/src/stories/tracking.tsx +0 -206
  873. package/src/tracking/browser/attach.ts +0 -186
  874. package/src/tracking/browser/env.ts +0 -78
  875. package/src/tracking/core/consent.ts +0 -37
  876. package/src/tracking/core/engagement.ts +0 -47
  877. package/src/tracking/core/experiments.ts +0 -258
  878. package/src/tracking/core/hash.ts +0 -26
  879. package/src/tracking/core/ids.ts +0 -25
  880. package/src/tracking/core/observable.ts +0 -23
  881. package/src/tracking/core/queue.ts +0 -131
  882. package/src/tracking/core/sections.ts +0 -166
  883. package/src/tracking/core/storage.ts +0 -69
  884. package/src/tracking/core/tracker.ts +0 -417
  885. package/src/tracking/core/types.ts +0 -162
  886. package/src/tracking/core/utm.ts +0 -23
  887. package/src/tracking/index.ts +0 -72
  888. package/src/tracking/markup.ts +0 -17
  889. package/src/tracking/react/Experiment.tsx +0 -44
  890. package/src/tracking/react/TrackingProvider.tsx +0 -56
  891. package/src/tracking/react/hooks.ts +0 -106
  892. package/src/tracking/react/index.ts +0 -13
  893. package/src/tracking/testing.ts +0 -108
  894. package/src/tracking/ui/ExperimentCard.stories.tsx +0 -296
  895. package/src/tracking/ui/ExperimentCard.tsx +0 -667
  896. package/src/tracking/ui/ExperimentsOverlay.stories.tsx +0 -155
  897. package/src/tracking/ui/ExperimentsOverlay.tsx +0 -437
  898. package/src/tracking/ui/anchor.ts +0 -180
  899. package/src/tracking/ui/card.ts +0 -464
  900. package/src/tracking/ui/client.ts +0 -117
  901. package/src/tracking/ui/index.ts +0 -77
  902. package/src/tracking/ui/types.ts +0 -110
  903. package/src/tracking/ui/useExperimentsAdmin.ts +0 -103
  904. package/src/types/Form.ts +0 -29
  905. package/src/types.ts +0 -14
  906. package/src/utils/datetime.ts +0 -10
  907. package/src/utils/fetch.ts +0 -457
  908. package/src/utils/lspClient.ts +0 -711
  909. package/src/utils/lspClient.types.ts +0 -211
  910. package/src/utils/queryUnlessCancelled.ts +0 -28
  911. package/src/utils/websocket.ts +0 -293
  912. package/vite.config.ts +0 -58
  913. package/vitest.config.ts +0 -69
@@ -2,6 +2,7 @@ import { IReqorePanelAction } from '@qoretechnologies/reqore/dist/components/Pan
2
2
  import { IReqoreFormTemplates } from '@qoretechnologies/reqore/dist/components/Textarea';
3
3
  import { TQorusType } from '@qoretechnologies/ts-toolkit';
4
4
  import React from 'react';
5
+ import { IConditionPart } from '../../../../helpers/expressions';
5
6
  import { IExpression, IExpressionSchema, TExpressionReorder } from '../types';
6
7
  export interface IExpressionBuilderProps {
7
8
  localTemplates?: IReqoreFormTemplates;
@@ -12,6 +13,11 @@ export interface IExpressionBuilderProps {
12
13
  path?: string;
13
14
  index?: number;
14
15
  returnType?: TQorusType | TQorusType[];
16
+ /**
17
+ * The base data type of the place's type, which Qorus gives with every field (`base_type`): what a place of a
18
+ * type the type catalogue does not list takes (`qorusTypeEntry`).
19
+ */
20
+ returnBaseType?: string;
15
21
  group?: '&&' | '||';
16
22
  onChange?: (value: IExpression, remove?: boolean) => void;
17
23
  onValueChange?: (value: IExpression, path: string, remove?: boolean) => void;
@@ -22,6 +28,27 @@ export interface IExpressionBuilderProps {
22
28
  expressions?: IExpressionSchema[];
23
29
  expressionsUrl?: string;
24
30
  serverHandled?: boolean;
31
+ /**
32
+ * The expression is a condition: what it gives is read as true or false by its value, true unless it is
33
+ * zero or empty (a Qog transition's condition, an if state's, a while or for block's, a sheet contract's
34
+ * row rule). A value of type `bool` is not one: the Qorus server checks it as a bool, and an int does not
35
+ * fit it.
36
+ */
37
+ condition?: boolean;
38
+ /**
39
+ * What the server says of each part of the condition's `&&`, `||` and `!` (`dpql/parse` with `condition: true`,
40
+ * qorus#646), in its walk order: each is drawn on its part's card. Given to the builder at the top; it hands
41
+ * each card its own (`conditionPartCards`).
42
+ */
43
+ conditionParts?: IConditionPart[];
44
+ /** Each part's verdict, by the path of the card it is drawn on: what the top builder hands its cards. */
45
+ conditionPartCards?: Record<string, IConditionPart>;
46
+ /**
47
+ * What the server says of the whole condition (NOT_A_CONDITION or CONDITION_BY_TRUTHINESS), in its words: drawn
48
+ * under the condition's card in place of the builder's own fallback, as the Text view and the part cards draw
49
+ * the server's words. Given to the top builder only; it is about the whole.
50
+ */
51
+ conditionMessage?: string;
25
52
  /**
26
53
  * SEAM (reqraft): the host's per-`ui_type` editors, forwarded to the operand
27
54
  * fields below.
@@ -53,6 +80,11 @@ export interface IExpressionBuilderProps {
53
80
  }
54
81
  export interface IExpressionProps extends IExpressionBuilderProps {
55
82
  }
56
- export declare const Expression: ({ localTemplates, value, isChild, index, type, level, path, onValueChange, group, returnType, readOnly, id, expressionsUrl, serverHandled, extraActions, componentOverrides, ...props }: IExpressionProps) => import("react/jsx-runtime").JSX.Element;
57
- export declare const ExpressionBuilder: ({ localTemplates, value, isChild, level, index, path, type, returnType, group, onChange, onValueChange, readOnly, expressions, expressionsUrl, serverHandled, extraActions, componentOverrides, reorder, }: IExpressionBuilderProps) => import("react/jsx-runtime").JSX.Element;
83
+ export declare const Expression: ({ localTemplates, value, isChild, index, type, level, path, onValueChange, group, returnType, returnBaseType, readOnly, id, expressionsUrl, serverHandled, extraActions, componentOverrides, condition: isCondition, conditionPartCards: partCards, conditionMessage, ...props }: IExpressionProps) => import("react/jsx-runtime").JSX.Element;
84
+ /**
85
+ * What an expression, or a part of one, whose operation is not chosen yet says: what it lacks, as the Text view's
86
+ * holes do, and what its place takes where that is a type (qorus#646). `takes` names the type inside the sentence.
87
+ */
88
+ export declare const noOperationYetText: (part: boolean, takes: string | undefined) => string;
89
+ export declare const ExpressionBuilder: ({ localTemplates, value, isChild, level, index, path, type, returnType, returnBaseType, group, onChange, onValueChange, readOnly, expressions, expressionsUrl, serverHandled, extraActions, componentOverrides, reorder, condition, conditionParts, conditionPartCards: givenPartCards, conditionMessage, }: IExpressionBuilderProps) => import("react/jsx-runtime").JSX.Element;
58
90
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/expressions/builder/index.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAGpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAG1D,OAAO,KAA4D,MAAM,OAAO,CAAC;AAyBjF,OAAO,EAEL,WAAW,EACX,iBAAiB,EAEjB,kBAAkB,EAEnB,MAAM,UAAU,CAAC;AAelB,MAAM,WAAW,uBAAuB;IACtC,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC;IACvC,KAAK,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7E,6FAA6F;IAC7F,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;;;;;OAUG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;;;;;OAUG;IACH,YAAY,CAAC,EACT,kBAAkB,EAAE,GACpB,CAAC,CAAC,OAAO,EAAE;QACT,kBAAkB,CAAC,EAAE,iBAAiB,CAAC;QACvC,KAAK,CAAC,EAAE,WAAW,CAAC;KACrB,KAAK,kBAAkB,EAAE,CAAC,CAAC;CACjC;AAiBD,MAAM,WAAW,gBAAiB,SAAQ,uBAAuB;CAAG;AAEpE,eAAO,MAAM,UAAU,4LAkBpB,gBAAgB,4CA+oClB,CAAC;AAEF,eAAO,MAAM,iBAAiB,+MAmB3B,uBAAuB,4CAwMzB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/expressions/builder/index.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAGpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAG1D,OAAO,KAA4D,MAAM,OAAO,CAAC;AAGjF,OAAO,EAWL,cAAc,EAGf,MAAM,iCAAiC,CAAC;AAoBzC,OAAO,EAEL,WAAW,EACX,iBAAiB,EAGjB,kBAAkB,EAEnB,MAAM,UAAU,CAAC;AAgBlB,MAAM,WAAW,uBAAuB;IACtC,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC;IACvC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7E,6FAA6F;IAC7F,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,cAAc,CAAC,EAAE,cAAc,EAAE,CAAC;IAClC,yGAAyG;IACzG,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACpD;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;;;;;OAUG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;;;;;OAUG;IACH,YAAY,CAAC,EACT,kBAAkB,EAAE,GACpB,CAAC,CAAC,OAAO,EAAE;QACT,kBAAkB,CAAC,EAAE,iBAAiB,CAAC;QACvC,KAAK,CAAC,EAAE,WAAW,CAAC;KACrB,KAAK,kBAAkB,EAAE,CAAC,CAAC;CACjC;AAiBD,MAAM,WAAW,gBAAiB,SAAQ,uBAAuB;CAAG;AAEpE,eAAO,MAAM,UAAU,qRAsBpB,gBAAgB,4CAwwClB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,SAAU,OAAO,SAAS,MAAM,GAAG,SAAS,KAAG,MAGM,CAAC;AAErF,eAAO,MAAM,iBAAiB,gTAwB3B,uBAAuB,4CAkPzB,CAAC"}
@@ -61,7 +61,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
61
61
  return (mod && mod.__esModule) ? mod : { "default": mod };
62
62
  };
63
63
  Object.defineProperty(exports, "__esModule", { value: true });
64
- exports.ExpressionBuilder = exports.Expression = void 0;
64
+ exports.ExpressionBuilder = exports.noOperationYetText = exports.Expression = void 0;
65
65
  var jsx_runtime_1 = require("react/jsx-runtime");
66
66
  var reqore_1 = require("@qoretechnologies/reqore");
67
67
  var lodash_1 = require("lodash");
@@ -71,7 +71,10 @@ var styled_components_1 = __importDefault(require("styled-components"));
71
71
  var common_1 = require("../../../../helpers/common");
72
72
  var expressions_1 = require("../../../../helpers/expressions");
73
73
  var argumentPresence_1 = require("../argumentPresence");
74
+ var fieldPath_1 = require("../fieldPath");
75
+ var optionUiTypes_1 = require("../../../../helpers/optionUiTypes");
74
76
  var templates_1 = require("../../../../helpers/templates");
77
+ var templateText_1 = require("../../../../helpers/templateText");
75
78
  var validations_1 = require("../../../../helpers/validations");
76
79
  var useQorusTypes_1 = require("../../../../hooks/useQorusTypes");
77
80
  var useStorage_1 = require("../../../../hooks/useStorage/useStorage");
@@ -80,8 +83,10 @@ var useCoarsePointer_1 = require("../../../../hooks/useCoarsePointer");
80
83
  var useTemplates_1 = require("../../../../hooks/useTemplates");
81
84
  var AutoFormField_1 = require("../../fields/auto/AutoFormField");
82
85
  var Select_1 = require("../../fields/select/Select");
86
+ var ReadOnlyTemplateTag_1 = require("../../fields/template/ReadOnlyTemplateTag");
83
87
  var TemplateField_1 = require("../../fields/template/TemplateField");
84
88
  var types_1 = require("../types");
89
+ var useExpressionType_1 = require("../useExpressionType");
85
90
  var useExpressions_1 = require("../useExpressions");
86
91
  var argumentDetail_1 = require("./argumentDetail");
87
92
  var argumentSlot_1 = require("./argumentSlot");
@@ -100,14 +105,14 @@ var noopUseRegisterHintView = function () {
100
105
  };
101
106
  var StyledExpressionItemLabel = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: absolute;\n text-orientation: upright;\n writing-mode: vertical-rl;\n top: calc(50%);\n transform: translateY(-50%);\n white-space: nowrap;\n height: calc(100% - 24px);\n // Centered flex\n display: flex;\n align-items: center;\n justify-content: center;\n border-right: 1px solid ", ";\n"], ["\n position: absolute;\n text-orientation: upright;\n writing-mode: vertical-rl;\n top: calc(50%);\n transform: translateY(-50%);\n white-space: nowrap;\n height: calc(100% - 24px);\n // Centered flex\n display: flex;\n align-items: center;\n justify-content: center;\n border-right: 1px solid ", ";\n"])), function () { return (0, polished_1.rgba)('#fff', 0.3); });
102
107
  var Expression = function (_a) {
103
- var _b, _c, _d, _f, _g, _h, _j, _k, _l, _m, _o, _p;
104
- var localTemplates = _a.localTemplates, _q = _a.value, value = _q === void 0 ? types_1.ExpressionDefaultValue : _q, isChild = _a.isChild, index = _a.index, type = _a.type, level = _a.level, path = _a.path, onValueChange = _a.onValueChange, group = _a.group, returnType = _a.returnType, readOnly = _a.readOnly, id = _a.id, expressionsUrl = _a.expressionsUrl, serverHandled = _a.serverHandled, extraActions = _a.extraActions, componentOverrides = _a.componentOverrides, props = __rest(_a, ["localTemplates", "value", "isChild", "index", "type", "level", "path", "onValueChange", "group", "returnType", "readOnly", "id", "expressionsUrl", "serverHandled", "extraActions", "componentOverrides"]);
108
+ var _b, _c, _d, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
109
+ var localTemplates = _a.localTemplates, _u = _a.value, value = _u === void 0 ? types_1.ExpressionDefaultValue : _u, isChild = _a.isChild, index = _a.index, type = _a.type, level = _a.level, path = _a.path, onValueChange = _a.onValueChange, group = _a.group, returnType = _a.returnType, returnBaseType = _a.returnBaseType, readOnly = _a.readOnly, id = _a.id, expressionsUrl = _a.expressionsUrl, serverHandled = _a.serverHandled, extraActions = _a.extraActions, componentOverrides = _a.componentOverrides, isCondition = _a.condition, partCards = _a.conditionPartCards, conditionMessage = _a.conditionMessage, props = __rest(_a, ["localTemplates", "value", "isChild", "index", "type", "level", "path", "onValueChange", "group", "returnType", "returnBaseType", "readOnly", "id", "expressionsUrl", "serverHandled", "extraActions", "componentOverrides", "condition", "conditionPartCards", "conditionMessage"]);
105
110
  var coarsePointer = (0, useCoarsePointer_1.useCoarsePointer)();
106
111
  var types = (0, useQorusTypes_1.useQorusTypes)();
107
- var _r = (0, react_1.useState)(false), showSummary = _r[0], setShowSummary = _r[1];
108
- var _s = (0, react_1.useState)(undefined), confirmDialogData = _s[0], setConfirmDialogData = _s[1];
112
+ var _v = (0, react_1.useState)(false), showSummary = _v[0], setShowSummary = _v[1];
113
+ var _w = (0, react_1.useState)(undefined), confirmDialogData = _w[0], setConfirmDialogData = _w[1];
109
114
  var doNotShowTypeConfirmation = (0, useStorage_1.useReqraftStorage)('doNotShowTypeExpressionConfirmation', false, true)[0];
110
- var _t = ((_b = value.value) === null || _b === void 0 ? void 0 : _b.args) || [], firstArgument = _t[0], rest = _t.slice(1);
115
+ var _x = ((_b = value.value) === null || _b === void 0 ? void 0 : _b.args) || [], firstArgument = _x[0], rest = _x.slice(1);
111
116
  var _expressions = (0, useExpressions_1.useExpressions)({
112
117
  allow: true,
113
118
  expressionsUrl: expressionsUrl,
@@ -126,31 +131,26 @@ var Expression = function (_a) {
126
131
  ? extraActions({ selectedExpression: selectedExpression, value: value })
127
132
  : (extraActions !== null && extraActions !== void 0 ? extraActions : []);
128
133
  }, [extraActions, selectedExpression, JSON.stringify(value)]);
129
- // If the `return_type_first_arg` is set, we need to get the return type from the first arguments type
130
- var expressionReturnType = (0, react_1.useMemo)(function () {
131
- var _a, _b;
132
- if ((selectedExpression === null || selectedExpression === void 0 ? void 0 : selectedExpression.return_type_first_arg) && firstArgument) {
133
- if (firstArgument.is_expression && ((_a = firstArgument.value) === null || _a === void 0 ? void 0 : _a.exp)) {
134
- var firstArgExpression = (_b = expressions.value) === null || _b === void 0 ? void 0 : _b.find(function (exp) { return exp.name === firstArgument.value.exp; });
135
- return firstArgExpression === null || firstArgExpression === void 0 ? void 0 : firstArgExpression.ui_return_type;
136
- }
137
- return firstArgument.type;
138
- }
139
- return selectedExpression === null || selectedExpression === void 0 ? void 0 : selectedExpression.ui_return_type;
140
- }, [
141
- JSON.stringify(selectedExpression),
142
- JSON.stringify(firstArgument),
143
- returnType,
144
- JSON.stringify(expressions.value),
145
- ]);
146
- var expectedReturnTypeText = (0, lodash_1.isArray)(returnType)
147
- ? returnType.map(types.getTypeDisplayName).join(' or ')
148
- : types.getTypeDisplayName(returnType);
134
+ // The type the expression gives is the server's, the same as everywhere else in Qorus
135
+ // (qoretechnologies/qorus#713); it is not known, and nothing is judged by it, until the server gives it.
136
+ // `ui_type` is compared with the types this place takes, which are UI types; what the expression gives is
137
+ // named, and judged as a condition, by the type's own name, as the Text view names it (`inferred_type`:
138
+ // "a whole number", where the UI type of every number is `number`).
139
+ var serverType = (0, useExpressionType_1.useExpressionType)(value.value);
140
+ var expressionReturnType = serverType === null || serverType === void 0 ? void 0 : serverType.ui_type;
141
+ var expressionGivesType = serverType === null || serverType === void 0 ? void 0 : serverType.inferred_type;
142
+ // An empty card gives nothing, which is known without asking: it does not fit a place that takes something.
143
+ var typeNotKnownYet = !!((_c = value.value) === null || _c === void 0 ? void 0 : _c.exp) && !serverType;
144
+ // the type(s) this place takes, named inside a sentence: their sentence forms; none where no type is known
145
+ // (qorus#646)
146
+ var expectedReturnTypeText = (0, lodash_1.compact)(((0, lodash_1.isArray)(returnType) ? returnType : [returnType]).map(function (type) {
147
+ return types.getTypeSentenceForm(type, returnBaseType);
148
+ })).join(' or ') || undefined;
149
149
  // Server Handler expressions is either defined by the option
150
150
  // then it's always the first level
151
151
  // Or if the first argument is a field (data_role: 'record') or the first selected expression is
152
152
  // a server expression
153
- var isFirstArgumentField = ((_d = (_c = (0, templates_1.findTemplate)(localTemplates, firstArgument === null || firstArgument === void 0 ? void 0 : firstArgument.value)) === null || _c === void 0 ? void 0 : _c.metadata) === null || _d === void 0 ? void 0 : _d.dataRole) === 'record';
153
+ var isFirstArgumentField = ((_f = (_d = (0, templates_1.findTemplate)(localTemplates, firstArgument === null || firstArgument === void 0 ? void 0 : firstArgument.value)) === null || _d === void 0 ? void 0 : _d.metadata) === null || _f === void 0 ? void 0 : _f.dataRole) === 'record';
154
154
  var isExpressionServerHandled = (selectedExpression === null || selectedExpression === void 0 ? void 0 : selectedExpression.from_server) ||
155
155
  ((selectedExpression === null || selectedExpression === void 0 ? void 0 : selectedExpression.from_both) && isFirstArgumentField) ||
156
156
  (level === 0 && serverHandled);
@@ -256,9 +256,9 @@ var Expression = function (_a) {
256
256
  // keyed by slot, and a slot's TemplateField keeps template / text-mode
257
257
  // state that only resyncs one way — remounting hands every slot a field
258
258
  // seeded from the operand that now lives there.
259
- var _u = (0, react_1.useState)(0), argsGeneration = _u[0], setArgsGeneration = _u[1];
259
+ var _y = (0, react_1.useState)(0), argsGeneration = _y[0], setArgsGeneration = _y[1];
260
260
  var dragArg = (0, react_1.useRef)(null);
261
- var _v = (0, react_1.useState)(null), dragOverArg = _v[0], setDragOverArg = _v[1];
261
+ var _z = (0, react_1.useState)(null), dragOverArg = _z[0], setDragOverArg = _z[1];
262
262
  var moveVarArg = (0, react_1.useCallback)(function (from, to) {
263
263
  setArgsGeneration(function (generation) { return generation + 1; });
264
264
  onValueChange(__assign(__assign({}, value), { value: __assign(__assign({}, value.value), { args: (0, common_1.moveItem)(value.value.args, from, to) }) }), path);
@@ -305,11 +305,18 @@ var Expression = function (_a) {
305
305
  onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange(undefined, path, true);
306
306
  }, [onValueChange, path]);
307
307
  var firstArgSchema = selectedExpression === null || selectedExpression === void 0 ? void 0 : selectedExpression.args[0];
308
+ /* An empty untyped operand is of the type the catalogue declares for it, as the other operands are:
309
+ falling back to the builder's own type gave the first value of a condition (the builder's `bool`)
310
+ or of an untyped builder (`context`) a type it is not, which rendered as "Unknown type!" once an
311
+ untyped operand was written as text. */
308
312
  var firstParamType = (firstArgument === null || firstArgument === void 0 ? void 0 : firstArgument.is_expression)
309
313
  ? firstArgSchema === null || firstArgSchema === void 0 ? void 0 : firstArgSchema.ui_type
310
- : (firstArgument === null || firstArgument === void 0 ? void 0 : firstArgument.type) || type || 'context';
314
+ : (firstArgument === null || firstArgument === void 0 ? void 0 : firstArgument.type) ||
315
+ ((0, optionUiTypes_1.isUntypedOptionType)(firstArgSchema === null || firstArgSchema === void 0 ? void 0 : firstArgSchema.ui_type) ? firstArgSchema === null || firstArgSchema === void 0 ? void 0 : firstArgSchema.ui_type : undefined) ||
316
+ type ||
317
+ 'context';
311
318
  var restOfArgs = selectedExpression === null || selectedExpression === void 0 ? void 0 : selectedExpression.args.slice(1);
312
- var argCount = (0, lodash_1.size)((_f = value.value) === null || _f === void 0 ? void 0 : _f.args);
319
+ var argCount = (0, lodash_1.size)((_g = value.value) === null || _g === void 0 ? void 0 : _g.args);
313
320
  var canReorderArgs = !!(selectedExpression === null || selectedExpression === void 0 ? void 0 : selectedExpression.varargs) && argCount > 1 && !readOnly && (0, lodash_1.size)(reorderSurfaces) > 0;
314
321
  var argReorderSurfaces = canReorderArgs ? reorderSurfaces : undefined;
315
322
  var isDragOverArg = function (index) {
@@ -355,22 +362,54 @@ var Expression = function (_a) {
355
362
  if (selectedExpression === null || selectedExpression === void 0 ? void 0 : selectedExpression.varargs) {
356
363
  restOfArgs = __spreadArray(__spreadArray([], restOfArgs, true), rest.map(function () { return (__assign({}, selectedExpression.args[0])); }), true);
357
364
  }
358
- var isReturnTypeMatching = expressionReturnType === 'any' ||
359
- ((0, lodash_1.isArray)(returnType)
360
- ? (0, expressions_1.areQorusTypesCompatible)(returnType, expressionReturnType)
361
- : returnType === 'auto' ||
362
- returnType === 'any' ||
363
- returnType === 'context' ||
365
+ /* The expression as a condition (qorus#646): a Qog if state's, a while or for block's, a transition's
366
+ condition is read by the server as true unless its value is zero or empty (Fsm.qc calls .toBool()). What
367
+ it gives is said as every condition editor says it: a number or a list is accepted with a warning under
368
+ it, text, a date or a time is refused. Only where the host says it is a condition: a value of type bool
369
+ is checked as a bool, and an int does not fit it. */
370
+ var condition = level === 0 && isCondition ? (0, expressions_1.conditionVerdict)(expressionGivesType) : undefined;
371
+ /* A part of the condition's AND, OR or NOT (this card's own, or the one a NOT reads): read as true or false
372
+ by its value as the whole condition is, and judged by the server by the same rule (qorus#646). Its verdict
373
+ is the server's, drawn here; nothing on this side checks a part as a bool. */
374
+ var part = partCards === null || partCards === void 0 ? void 0 : partCards[path !== null && path !== void 0 ? path : ''];
375
+ var partVerdict = (0, expressions_1.conditionPartVerdict)(part);
376
+ /* A bool place that takes any result but text, a date or a time: the condition itself, and a bool place a
377
+ catalogue still declares (a part of an AND or an OR is typed by its operator's arguments, which take any
378
+ value on a Qorus that reads them as conditions). */
379
+ var takesCondition = level === 0 ? !!isCondition : (0, expressions_1.isConditionType)(returnType);
380
+ /* A condition the server says gives text, a date or a time is refused, whatever this place declares: a
381
+ condition field need not declare `bool`, and a mismatch was then never drawn - the refusal was shown only
382
+ because the type worked out here happened to be a number's (a warning, in the server's words). */
383
+ /* A part whose operation is not chosen yet gives nothing yet, and nothing is said of what it gives: it was told
384
+ "This expression gives nothing, which this field does not take" - a type it never claimed - beside the Text
385
+ view's "Fill in each …" (qorus#646, David's review). What it lacks is said instead (`noOperationYetText`). */
386
+ var noOperationYet = !((_h = value === null || value === void 0 ? void 0 : value.value) === null || _h === void 0 ? void 0 : _h.exp);
387
+ /** What the place takes, said with what it lacks: only a type that is a type (not untyped, not `auto`). */
388
+ var takesText = (((0, lodash_1.isArray)(returnType) ? returnType : [returnType]).some(function (type) { return !!type && !(0, optionUiTypes_1.isUntypedOptionType)(type) && String(type) !== 'auto'; })) ?
389
+ expectedReturnTypeText
390
+ : undefined;
391
+ /** The whole expression has nothing chosen yet: its card says so, once (`noOperationYetText`). */
392
+ var nothingChosenYet = !selectedExpression && !serverExpression && !(firstArgument === null || firstArgument === void 0 ? void 0 : firstArgument.value) && level === 0;
393
+ var isReturnTypeMatching = noOperationYet ||
394
+ (condition !== 'error' &&
395
+ (typeNotKnownYet ||
364
396
  expressionReturnType === 'any' ||
365
- (0, expressions_1.areQorusTypesCompatible)(returnType, expressionReturnType) ||
366
- returnType === expressionReturnType ||
367
- !returnType) ||
368
- // a condition is decided by any result but text, a date or a time
369
- ((0, expressions_1.isConditionType)(returnType) &&
370
- !!expressionReturnType &&
371
- !(0, expressions_1.isTextOrDateType)(expressionReturnType));
397
+ ((0, lodash_1.isArray)(returnType)
398
+ ? (0, expressions_1.areQorusTypesCompatible)(returnType, expressionReturnType, types.value, returnBaseType)
399
+ : returnType === 'auto' ||
400
+ returnType === 'any' ||
401
+ returnType === 'context' ||
402
+ expressionReturnType === 'any' ||
403
+ // a place of a type the catalogue does not list takes what its base type takes
404
+ (0, expressions_1.areQorusTypesCompatible)(returnType, expressionReturnType, types.value, returnBaseType) ||
405
+ returnType === expressionReturnType ||
406
+ !returnType) ||
407
+ // a condition is decided by any result but text, a date or a time
408
+ (takesCondition && !!expressionReturnType && !(0, expressions_1.isTextOrDateType)(expressionReturnType))));
372
409
  var defaultItems = (0, react_1.useMemo)(function () {
373
410
  return expressions.value
411
+ // an operation drawn only inside the construct that makes it is never offered (`internal`)
412
+ .filter(types_1.isOfferedForPicking)
374
413
  // a condition (a field or an operand that must be true or false) offers the operations whose
375
414
  // result decides it - any but text, a date or a time, which are compared explicitly; a group's members
376
415
  // are its own business, and the operation already chosen
@@ -379,6 +418,7 @@ var Expression = function (_a) {
379
418
  var _a;
380
419
  return isChild ||
381
420
  exp.name === ((_a = value === null || value === void 0 ? void 0 : value.value) === null || _a === void 0 ? void 0 : _a.exp) ||
421
+ !takesCondition ||
382
422
  (0, expressions_1.expressionFitsReturnType)(returnType, exp);
383
423
  })
384
424
  .map(function (exp) { return ({
@@ -399,7 +439,7 @@ var Expression = function (_a) {
399
439
  ? !exp.from_server
400
440
  : true;
401
441
  });
402
- }, [JSON.stringify(expressions.value), serverExpression, level, isChild, returnType, (_g = value === null || value === void 0 ? void 0 : value.value) === null || _g === void 0 ? void 0 : _g.exp]);
442
+ }, [JSON.stringify(expressions.value), serverExpression, level, isChild, returnType, (_j = value === null || value === void 0 ? void 0 : value.value) === null || _j === void 0 ? void 0 : _j.exp]);
403
443
  // SEAM (reqraft): reqraft's `SelectFormField` calls `onChange(value)` with
404
444
  // the value directly (the IDE's Select used `(name, value)`).
405
445
  var handleOperatorChange = (0, react_1.useCallback)(function (value) {
@@ -428,13 +468,11 @@ var Expression = function (_a) {
428
468
  if (!added) {
429
469
  return;
430
470
  }
431
- // A typed operand mounts a text field; an untyped one opens on its
432
- // template picker, whose trigger is the field's first button that is not
433
- // one of the operand's own controls (grip, position, ⋮, remove).
434
- var field = (_a = added.querySelector('textarea, input')) !== null && _a !== void 0 ? _a : Array.from(added.querySelectorAll('button')).find(function (button) {
435
- return !button.closest('.expression-arg-drag-handle, .expression-arg-position, .template-more, .expression-remove-arg');
436
- });
437
- field === null || field === void 0 ? void 0 : field.focus();
471
+ /* A typed operand mounts a text field, and the caret goes there. An untyped one has nothing to type into:
472
+ its first control is its template picker, a list that opens when it is focused, and since reqore 0.78
473
+ one focused as it mounts opens at once. Adding a value is not asking for that list (David, qorus#646),
474
+ so the operand itself takes the focus, and its picker opens when the user goes to it. */
475
+ ((_a = added.querySelector('textarea, input')) !== null && _a !== void 0 ? _a : added).focus();
438
476
  }, [argCount]);
439
477
  var canAddArg = !!(selectedExpression === null || selectedExpression === void 0 ? void 0 : selectedExpression.varargs) && !readOnly;
440
478
  // On a phone the operand row has no room for a remove button beside the
@@ -446,7 +484,7 @@ var Expression = function (_a) {
446
484
  // down to the catalogue's minimum — one for most, so the last operand
447
485
  // left is the one that cannot be removed.
448
486
  var canRemoveArgs = !!(selectedExpression === null || selectedExpression === void 0 ? void 0 : selectedExpression.varargs) &&
449
- argCount > Math.max(1, (_h = selectedExpression.min_args) !== null && _h !== void 0 ? _h : 1) &&
487
+ argCount > Math.max(1, (_k = selectedExpression.min_args) !== null && _k !== void 0 ? _k : 1) &&
450
488
  !readOnly;
451
489
  var removeArgInline = canRemoveArgs && !phone;
452
490
  var handleRemoveFirstArg = (0, react_1.useCallback)(function () { return removeVarArg(0); }, [removeVarArg]);
@@ -558,9 +596,9 @@ var Expression = function (_a) {
558
596
  var validationData = (0, validations_1.validateFieldWithResult)('expression', value, {
559
597
  expressions: expressions.value,
560
598
  });
561
- return ((0, jsx_runtime_1.jsxs)(item_1.ExpressionItem, { index: index, as: reqore_1.ReqorePanel, intent: validationData.isValid && !!returnType && isReturnTypeMatching ? 'muted' : 'danger', description: isExpressionServerHandled ? 'This expression will be executed outside of Qorus' : '', flat: true, readOnly: readOnly, minimal: true, size: 'small', isChild: isChild, className: 'expression', customTheme: {
599
+ return ((0, jsx_runtime_1.jsxs)(item_1.ExpressionItem, { index: index, as: reqore_1.ReqorePanel, intent: validationData.isValid && !!returnType && isReturnTypeMatching ? 'muted' : 'danger', description: isExpressionServerHandled ? 'This expression runs outside Qorus' : '', flat: true, readOnly: readOnly, minimal: true, size: 'small', isChild: isChild, className: 'expression', customTheme: {
562
600
  main: "main:darken:".concat(level),
563
- }, id: id, label: (0, jsx_runtime_1.jsx)(Select_1.SelectFormField, { size: 'tiny', className: 'expression-operator-selector', value: (_j = value === null || value === void 0 ? void 0 : value.value) === null || _j === void 0 ? void 0 : _j.exp, icon: 'Functions', placeholder: 'Select operation', fluid: false,
601
+ }, id: id, label: (0, jsx_runtime_1.jsx)(Select_1.SelectFormField, { size: 'tiny', className: 'expression-operator-selector', value: (_l = value === null || value === void 0 ? void 0 : value.value) === null || _l === void 0 ? void 0 : _l.exp, icon: 'Functions', placeholder: 'Select operation', fluid: false,
564
602
  // shrinks with a narrow panel, its name shortened, rather than holding the panel open
565
603
  fixed: false, style: { minWidth: 0, maxWidth: '100%' }, flat: true,
566
604
  // The operation catalogue is long and every entry carries a description,
@@ -604,7 +642,7 @@ var Expression = function (_a) {
604
642
  hideItemCount: true,
605
643
  onChange: handleWrapExpressionClick,
606
644
  showDescription: 'tooltip',
607
- tooltip: 'Wrap this expression in another expression',
645
+ tooltip: 'Put this expression inside another one',
608
646
  size: 'tiny',
609
647
  },
610
648
  },
@@ -613,10 +651,10 @@ var Expression = function (_a) {
613
651
  label: 'Remove',
614
652
  textAlign: 'center',
615
653
  icon: 'CloseLine',
616
- tooltip: 'Remove this expression but keep the children',
654
+ tooltip: 'Remove this expression and keep what is inside it',
617
655
  fixed: true,
618
656
  onClick: unwrapExpression,
619
- show: ((_m = (_l = (_k = value.value) === null || _k === void 0 ? void 0 : _k.args) === null || _l === void 0 ? void 0 : _l[0]) === null || _m === void 0 ? void 0 : _m.is_expression) === true && !readOnly ? 'hover' : false,
657
+ show: ((_p = (_o = (_m = value.value) === null || _m === void 0 ? void 0 : _m.args) === null || _o === void 0 ? void 0 : _o[0]) === null || _p === void 0 ? void 0 : _p.is_expression) === true && !readOnly ? 'hover' : false,
620
658
  },
621
659
  {
622
660
  className: 'expression-explain',
@@ -634,7 +672,7 @@ var Expression = function (_a) {
634
672
  intent: 'danger',
635
673
  textAlign: 'center',
636
674
  icon: 'DeleteBinLine',
637
- tooltip: 'Remove this expression and its children',
675
+ tooltip: 'Remove this expression and everything inside it',
638
676
  fixed: true,
639
677
  minimal: true,
640
678
  show: readOnly ? false : 'hover',
@@ -642,7 +680,11 @@ var Expression = function (_a) {
642
680
  },
643
681
  ], false), bottomActions: [
644
682
  {
645
- show: !!selectedExpression && (0, expressions_1.areQorusTypesCompatible)('bool', returnType) && !readOnly,
683
+ /* a yes/no place, or a part of an AND or an OR, which another AND or OR can stand for (a part
684
+ takes any value, qorus#646) */
685
+ show: !!selectedExpression &&
686
+ (!!group || (0, expressions_1.areQorusTypesCompatible)('bool', returnType, types.value)) &&
687
+ !readOnly,
646
688
  group: [
647
689
  {
648
690
  flat: true,
@@ -670,7 +712,7 @@ var Expression = function (_a) {
670
712
  },
671
713
  ],
672
714
  },
673
- ], children: [hasArgumentsWithTypeMismatch && ((0, jsx_runtime_1.jsx)(confirmMismatchedTypesModal_1.ConfirmMismatchedTypesModal, { args: (_o = value.value) === null || _o === void 0 ? void 0 : _o.args, expression: selectedExpression, onSubmit: updateMultipleArgs, expressions: expressions.value })), (confirmDialogData === null || confirmDialogData === void 0 ? void 0 : confirmDialogData.isOpen) && ((0, jsx_runtime_1.jsx)(confirmUnsupportedTypeModal_1.ConfirmUnsupportedTypeModal, { acceptedTypes: confirmDialogData.acceptedTypes, onClose: function () {
715
+ ], children: [hasArgumentsWithTypeMismatch && ((0, jsx_runtime_1.jsx)(confirmMismatchedTypesModal_1.ConfirmMismatchedTypesModal, { args: (_q = value.value) === null || _q === void 0 ? void 0 : _q.args, expression: selectedExpression, onSubmit: updateMultipleArgs, expressions: expressions.value })), (confirmDialogData === null || confirmDialogData === void 0 ? void 0 : confirmDialogData.isOpen) && ((0, jsx_runtime_1.jsx)(confirmUnsupportedTypeModal_1.ConfirmUnsupportedTypeModal, { acceptedTypes: confirmDialogData.acceptedTypes, onClose: function () {
674
716
  setConfirmDialogData(undefined);
675
717
  }, maxSize: '550px', bottomActions: [
676
718
  {
@@ -695,13 +737,15 @@ var Expression = function (_a) {
695
737
  setConfirmDialogData(undefined);
696
738
  },
697
739
  },
698
- ], children: confirmDialogData.children })), showSummary && ((0, jsx_runtime_1.jsx)(renderTemplate_1.ExpressionRenderTemplate, { exp: value, expressions: expressions.value, templates: localTemplates })), !selectedExpression && !serverExpression && !(firstArgument === null || firstArgument === void 0 ? void 0 : firstArgument.value) && level === 0 ? ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreMessage, { size: 'small', opaque: false, intent: 'info', children: "Select an operation to start building your expression" })) : ((0, jsx_runtime_1.jsxs)(reqore_1.ReqoreControlGroup
740
+ ], children: confirmDialogData.children })), showSummary && ((0, jsx_runtime_1.jsx)(renderTemplate_1.ExpressionRenderTemplate, { exp: value, expressions: expressions.value, templates: localTemplates })), nothingChosenYet ? ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreMessage, { size: 'small', opaque: false, intent: 'info', className: 'expression-no-operation-yet', children: (0, exports.noOperationYetText)(false, takesText) })) : ((0, jsx_runtime_1.jsxs)(reqore_1.ReqoreControlGroup
699
741
  // On a phone every operand is a full-width row, so the group spans
700
742
  // the panel; on desktop it hugs its content and wraps.
701
743
  , {
702
744
  // On a phone every operand is a full-width row, so the group spans
703
745
  // the panel; on desktop it hugs its content and wraps.
704
746
  fluid: phone, style: { maxWidth: '100%' }, wrap: true, verticalAlign: 'flex-start', size: 'normal', gapSize: 'big', children: [(firstArgSchema === null || firstArgSchema === void 0 ? void 0 : firstArgSchema.label_before) && ((0, jsx_runtime_1.jsx)(argumentDetail_1.ExpressionArgumentDetail, { label: firstArgSchema.label_before })), (0, jsx_runtime_1.jsx)(argumentWrapper_1.ExpressionBuilderArgumentWrapper, { expressions: expressions.value, arg: firstArgument, schema: firstArgSchema, onTypeChange: handleUpdateTypeChange, onRemoveArgClick: handleRemoveFirstArg, hasMultipleArgs: removeArgInline, fluid: phone, readOnly: readOnly, reorder: argReorderSurfaces, argIndex: 0, argCount: argCount, dragOver: isDragOverArg(0), onMoveArg: moveVarArg, onArgDragStart: handleArgDragStart, onArgDragOver: handleArgDragOver, onArgDrop: handleArgDrop, onArgDragEnd: handleArgDragEnd, children: (0, jsx_runtime_1.jsx)(TemplateField_1.TemplateField, { component: AutoFormField_1.AutoFormField, componentOverrides: componentOverrides,
747
+ // an operand's text is as wide as what it holds, and gives way to its row
748
+ textWidth: 'content',
705
749
  // SEAM (reqraft): an operand that becomes an expression mounts
706
750
  // its own builder through this TemplateField — hand the host's
707
751
  // actions on, or nesting silently drops them (the group
@@ -717,9 +761,14 @@ var Expression = function (_a) {
717
761
  !(firstArgSchema === null || firstArgSchema === void 0 ? void 0 : firstArgSchema.allowed_values) &&
718
762
  !(firstArgSchema === null || firstArgSchema === void 0 ? void 0 : firstArgSchema.element_allowed_values), level: level + 1, type: firstParamType, defaultType: (firstArgument === null || firstArgument === void 0 ? void 0 : firstArgument.allowed_values) || (firstArgument === null || firstArgument === void 0 ? void 0 : firstArgument.element_allowed_values)
719
763
  ? firstArgument === null || firstArgument === void 0 ? void 0 : firstArgument.type.base_type
720
- : firstParamType, returnType: types.getAcceptedTypes(firstArgSchema === null || firstArgSchema === void 0 ? void 0 : firstArgSchema.ui_type), value: firstArgument === null || firstArgument === void 0 ? void 0 : firstArgument.value, isFunction: firstArgument === null || firstArgument === void 0 ? void 0 : firstArgument.is_expression, onChange: handleFirstParamChange, templates: localTemplates, allowTemplates: true, filterTemplatesByType: false, allowCustomValues: !!(firstArgument === null || firstArgument === void 0 ? void 0 : firstArgument.allowed_values) ||
764
+ : firstParamType,
765
+ // an argument of a type the catalogue does not list takes what its base type takes
766
+ returnType: types.getAcceptedTypes(firstArgSchema === null || firstArgSchema === void 0 ? void 0 : firstArgSchema.ui_type, firstArgSchema === null || firstArgSchema === void 0 ? void 0 : firstArgSchema.base_type), value: firstArgument === null || firstArgument === void 0 ? void 0 : firstArgument.value, isFunction: firstArgument === null || firstArgument === void 0 ? void 0 : firstArgument.is_expression, onChange: handleFirstParamChange, templates: localTemplates, allowTemplates: true, filterTemplatesByType: false, allowCustomValues: !!(firstArgument === null || firstArgument === void 0 ? void 0 : firstArgument.allowed_values) ||
721
767
  !!(firstArgument === null || firstArgument === void 0 ? void 0 : firstArgument.element_allowed_values) ||
722
- (!!(firstArgument === null || firstArgument === void 0 ? void 0 : firstArgument.type) && !serverExpression), filterTemplatesFunc: function (templates) {
768
+ // an untyped operand is written as text from the start, as a typed one is once
769
+ // it has a type: a template chosen into it is a chip, with text around it
770
+ ((!!(firstArgument === null || firstArgument === void 0 ? void 0 : firstArgument.type) || (0, optionUiTypes_1.isUntypedOptionType)(firstArgSchema === null || firstArgSchema === void 0 ? void 0 : firstArgSchema.ui_type)) &&
771
+ !serverExpression), filterTemplatesFunc: function (templates) {
723
772
  var _a;
724
773
  // PORT NOTE: `?.` on `items` added — with no templates at all
725
774
  // (FormEngine with templates off) the IDE original crashes on
@@ -741,7 +790,7 @@ var Expression = function (_a) {
741
790
  updateArg(undefined, index + 1, value === 'context' ? undefined : value);
742
791
  }, onRemoveArgClick: function () {
743
792
  removeVarArg(index + 1);
744
- }, hasMultipleArgs: removeArgInline, fluid: phone, reorder: argReorderSurfaces, argIndex: index + 1, argCount: argCount, dragOver: isDragOverArg(index + 1), onMoveArg: moveVarArg, onArgDragStart: handleArgDragStart, onArgDragOver: handleArgDragOver, onArgDrop: handleArgDrop, onArgDragEnd: handleArgDragEnd, children: (0, jsx_runtime_1.jsx)(TemplateField_1.TemplateField, { minimal: true, component: AutoFormField_1.AutoFormField, componentOverrides: componentOverrides,
793
+ }, hasMultipleArgs: removeArgInline, fluid: phone, reorder: argReorderSurfaces, argIndex: index + 1, argCount: argCount, dragOver: isDragOverArg(index + 1), onMoveArg: moveVarArg, onArgDragStart: handleArgDragStart, onArgDragOver: handleArgDragOver, onArgDrop: handleArgDrop, onArgDragEnd: handleArgDragEnd, children: (0, jsx_runtime_1.jsx)(TemplateField_1.TemplateField, { minimal: true, component: AutoFormField_1.AutoFormField, componentOverrides: componentOverrides, textWidth: 'content',
745
794
  // SEAM (reqraft): same as the first operand above.
746
795
  extraActions: extraActions, level: level + 1, allowFunctions: !(arg === null || arg === void 0 ? void 0 : arg.allowed_values) && !(arg === null || arg === void 0 ? void 0 : arg.element_allowed_values), isFunction: (_a = rest[index]) === null || _a === void 0 ? void 0 : _a.is_expression,
747
796
  // An empty argument has no value to take a type from; fall
@@ -754,28 +803,50 @@ var Expression = function (_a) {
754
803
  // that rule reads `type`, and `type` was undefined.
755
804
  type: (_c = (_b = rest[index]) === null || _b === void 0 ? void 0 : _b.type) !== null && _c !== void 0 ? _c : arg.ui_type, defaultType: arg.allowed_values || arg.element_allowed_values
756
805
  ? arg.ui_type
757
- : ((_f = (_d = rest[index]) === null || _d === void 0 ? void 0 : _d.type) !== null && _f !== void 0 ? _f : arg.ui_type), returnType: types.getAcceptedTypes(arg.ui_type), canBeNull: false, value: (_g = rest[index]) === null || _g === void 0 ? void 0 : _g.value, templates: localTemplates, allowTemplates: !(arg === null || arg === void 0 ? void 0 : arg.allowed_values) && !(arg === null || arg === void 0 ? void 0 : arg.element_allowed_values), filterTemplatesByType: false, allowCustomValues: !!arg.allowed_values ||
806
+ : ((_f = (_d = rest[index]) === null || _d === void 0 ? void 0 : _d.type) !== null && _f !== void 0 ? _f : arg.ui_type),
807
+ // an argument of a type the catalogue does not list takes what its base type takes
808
+ returnType: types.getAcceptedTypes(arg.ui_type, arg.base_type), canBeNull: false, value: (_g = rest[index]) === null || _g === void 0 ? void 0 : _g.value, templates: localTemplates, allowTemplates: !(arg === null || arg === void 0 ? void 0 : arg.allowed_values) && !(arg === null || arg === void 0 ? void 0 : arg.element_allowed_values), filterTemplatesByType: false, allowCustomValues: !!arg.allowed_values ||
758
809
  !!arg.element_allowed_values ||
759
810
  !!((_h = rest[index]) === null || _h === void 0 ? void 0 : _h.type) ||
760
- !!arg.default_value, onChange: (function (_name, value, type, isFunction) {
811
+ !!arg.default_value ||
812
+ // an untyped operand is written as text from the start (see the first operand)
813
+ (0, optionUiTypes_1.isUntypedOptionType)(arg.ui_type), onChange: (function (_name, value, type, isFunction) {
761
814
  updateArg(value, index + 1, isFunction ? undefined : type, isFunction);
762
815
  }), fluid: phone, fixed: !phone, disableManagement: true, disabled: readOnly, menuItems: buildCustomTemplateItems(arg, function (type, removeTemplate) {
763
816
  removeTemplate === null || removeTemplate === void 0 ? void 0 : removeTemplate();
764
817
  updateArg(undefined, index + 1, type.name === 'context' ? undefined : type.name);
765
818
  }), menuActions: argMenuActions === null || argMenuActions === void 0 ? void 0 : argMenuActions[index + 1], menuTrailingItems: argRemoveMenuItems === null || argRemoveMenuItems === void 0 ? void 0 : argRemoveMenuItems[index + 1], reorder: props.reorder, expressions: props.expressions, expressions_url: expressionsUrl, allowed_values: arg === null || arg === void 0 ? void 0 : arg.allowed_values, element_allowed_values: arg === null || arg === void 0 ? void 0 : arg.element_allowed_values, ui_element_type: arg === null || arg === void 0 ? void 0 : arg.ui_element_type }, "".concat(argsGeneration, "-").concat(index, "-").concat(arg.ui_type, "-").concat(arg.display_name, "-").concat(level + 1)) }), (arg === null || arg === void 0 ? void 0 : arg.label_after) && (0, jsx_runtime_1.jsx)(argumentDetail_1.ExpressionArgumentDetail, { label: arg.label_after })] }, "".concat(argsGeneration, "-").concat(index, "-").concat(arg.ui_type, "-").concat(arg.display_name)));
766
819
  })
767
- : null, canAddArg && ((0, jsx_runtime_1.jsx)(argumentSlot_1.ExpressionBuilderAddArgumentSlot, { argumentName: (_p = selectedExpression.args[0]) === null || _p === void 0 ? void 0 : _p.display_name, disabled: !(0, validations_1.validateField)('expression', value, { expressions: expressions.value }), droppable: isSlotDropTarget, dragOver: isDragOverArg(argCount), onClick: handleAddArgumentClick, onDragOver: handleSlotDragOver, onDrop: handleSlotDrop }))] })), !isReturnTypeMatching && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(reqore_1.ReqoreVerticalSpacer, { height: 5 }), (0, jsx_runtime_1.jsx)(reqore_1.ReqoreTag, { minimal: true, icon: 'ErrorWarningLine', intent: 'danger', size: 'tiny', wrap: true, label: (0, expressions_1.isConditionType)(returnType) &&
768
- !!expressionReturnType &&
769
- (0, expressions_1.isTextOrDateType)(expressionReturnType)
770
- ? // a condition that gives text, a date or a time: say how to make it one
771
- "A condition can't give ".concat(types.getTypeDisplayName(expressionReturnType), ": compare it explicitly, for example @status == \"open\" or @note != \"\".")
772
- : "This expression returns ".concat(types.getTypeDisplayName(expressionReturnType) || 'nothing', " but the expected return type is ").concat(expectedReturnTypeText, ". Please select an expression that returns ").concat(expectedReturnTypeText, " or wrap this expression inside another one that does.") })] })), selectedExpression && !validationData.isValid ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(reqore_1.ReqoreVerticalSpacer, { height: 5 }), (0, jsx_runtime_1.jsx)(reqore_1.ReqoreTag, { minimal: true, icon: 'ErrorWarningLine', intent: 'danger', size: 'tiny', wrap: true, label: validationData.reason || 'Expression is not valid for unknown reasons' })] })) : null] }));
820
+ : null, canAddArg && ((0, jsx_runtime_1.jsx)(argumentSlot_1.ExpressionBuilderAddArgumentSlot, { argumentName: (_r = selectedExpression.args[0]) === null || _r === void 0 ? void 0 : _r.display_name, disabled: !(0, validations_1.validateField)('expression', value, { expressions: expressions.value }), droppable: isSlotDropTarget, dragOver: isDragOverArg(argCount), onClick: handleAddArgumentClick, onDragOver: handleSlotDragOver, onDrop: handleSlotDrop }))] })), partVerdict && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(reqore_1.ReqoreVerticalSpacer, { height: 5 }), (0, jsx_runtime_1.jsx)(reqore_1.ReqoreTag, { minimal: true, className: 'expression-condition-part-verdict', "data-verdict": partVerdict, icon: partVerdict === 'error' ? 'ErrorWarningLine' : 'AlertLine', intent: partVerdict === 'error' ? 'danger' : 'warning', size: 'tiny', wrap: true, label: (_s = part === null || part === void 0 ? void 0 : part.message) !== null && _s !== void 0 ? _s : (partVerdict === 'error' ?
821
+ (0, expressions_1.conditionErrorText)(types.getTypeSentenceForm((0, expressions_1.conditionBaseType)(part.type)), part.type)
822
+ : (0, expressions_1.conditionByTruthinessText)(part.type)) })] })), condition === 'warning' && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(reqore_1.ReqoreVerticalSpacer, { height: 5 }), (0, jsx_runtime_1.jsx)(reqore_1.ReqoreTag, { minimal: true, className: 'expression-condition-verdict', icon: 'AlertLine', intent: 'warning', size: 'tiny', wrap: true,
823
+ // the server's words for the whole condition, where it said any; the same rule's own otherwise
824
+ label: conditionMessage !== null && conditionMessage !== void 0 ? conditionMessage : (0, expressions_1.conditionByTruthinessText)(expressionGivesType) })] })), !isReturnTypeMatching && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(reqore_1.ReqoreVerticalSpacer, { height: 5 }), takesCondition && !!expressionGivesType && (0, expressions_1.isTextOrDateType)(expressionGivesType) ? (
825
+ // a condition that gives text, a date or a time: say how to make it one
826
+ (0, jsx_runtime_1.jsx)(reqore_1.ReqoreTag, { minimal: true, className: 'expression-condition-verdict', icon: 'ErrorWarningLine', intent: 'danger', size: 'tiny', wrap: true, label: (_t = (level === 0 ? conditionMessage : undefined)) !== null && _t !== void 0 ? _t : (0, expressions_1.conditionErrorText)(types.getTypeSentenceForm((0, expressions_1.conditionBaseType)(expressionGivesType)), expressionGivesType) })) : ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreTag, { minimal: true, icon: 'ErrorWarningLine', intent: 'danger', size: 'tiny', wrap: true, label: (0, expressions_1.expressionTypeMismatchText)(expressionGivesType ? types.getTypeSentenceForm(expressionGivesType) : undefined, expectedReturnTypeText) }))] })), selectedExpression && !validationData.isValid ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(reqore_1.ReqoreVerticalSpacer, { height: 5 }), (0, jsx_runtime_1.jsx)(reqore_1.ReqoreTag, { minimal: true, icon: 'ErrorWarningLine', intent: 'danger', size: 'tiny', wrap: true, label: validationData.reason || 'Qorus could not check this expression.' })] })) : null, noOperationYet && !readOnly && !nothingChosenYet ?
827
+ (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(reqore_1.ReqoreVerticalSpacer, { height: 5 }), (0, jsx_runtime_1.jsx)(reqore_1.ReqoreTag, { minimal: true, className: 'expression-no-operation-yet', icon: 'ErrorWarningLine', intent: 'warning', size: 'tiny', wrap: true, label: (0, exports.noOperationYetText)(isChild || level > 0, takesText) })] })
828
+ : null] }));
773
829
  };
774
830
  exports.Expression = Expression;
831
+ /**
832
+ * What an expression, or a part of one, whose operation is not chosen yet says: what it lacks, as the Text view's
833
+ * holes do, and what its place takes where that is a type (qorus#646). `takes` names the type inside the sentence.
834
+ */
835
+ var noOperationYetText = function (part, takes) {
836
+ return part ?
837
+ "Choose what this part does".concat(takes ? ": it must give ".concat(takes) : '', ".")
838
+ : "Choose what this expression does".concat(takes ? ": this field takes ".concat(takes) : '', ".");
839
+ };
840
+ exports.noOperationYetText = noOperationYetText;
775
841
  var ExpressionBuilder = function (_a) {
776
842
  var _b, _c, _d;
777
- var localTemplates = _a.localTemplates, _f = _a.value, value = _f === void 0 ? types_1.ExpressionDefaultValue : _f, isChild = _a.isChild, _g = _a.level, level = _g === void 0 ? 0 : _g, _h = _a.index, index = _h === void 0 ? 0 : _h, path = _a.path, type = _a.type, returnType = _a.returnType, group = _a.group, onChange = _a.onChange, onValueChange = _a.onValueChange, readOnly = _a.readOnly, expressions = _a.expressions, expressionsUrl = _a.expressionsUrl, serverHandled = _a.serverHandled, extraActions = _a.extraActions, componentOverrides = _a.componentOverrides, reorder = _a.reorder;
843
+ var localTemplates = _a.localTemplates, _f = _a.value, value = _f === void 0 ? types_1.ExpressionDefaultValue : _f, isChild = _a.isChild, _g = _a.level, level = _g === void 0 ? 0 : _g, _h = _a.index, index = _h === void 0 ? 0 : _h, path = _a.path, type = _a.type, returnType = _a.returnType, returnBaseType = _a.returnBaseType, group = _a.group, onChange = _a.onChange, onValueChange = _a.onValueChange, readOnly = _a.readOnly, expressions = _a.expressions, expressionsUrl = _a.expressionsUrl, serverHandled = _a.serverHandled, extraActions = _a.extraActions, componentOverrides = _a.componentOverrides, reorder = _a.reorder, condition = _a.condition, conditionParts = _a.conditionParts, givenPartCards = _a.conditionPartCards, conditionMessage = _a.conditionMessage;
778
844
  var templates = (0, useTemplates_1.useTemplates)(!isChild, localTemplates);
845
+ /* The top builder places what the server says of each part of the condition on that part's card; a nested
846
+ one is handed the placement. */
847
+ var partCards = (0, react_1.useMemo)(function () {
848
+ return givenPartCards !== null && givenPartCards !== void 0 ? givenPartCards : (condition && conditionParts ? (0, expressions_1.conditionPartCards)(value, conditionParts) : undefined);
849
+ }, [givenPartCards, condition, conditionParts, JSON.stringify(value)]);
779
850
  /* A builder nested in a group does not resolve templates again: its parent hands it the resolved ones.
780
851
  `useTemplates` gives a nested builder none, and they were what it handed on, so every comparison in
781
852
  an AND/OR group had no templates - its field pickers had nothing to offer and were drawn disabled,
@@ -836,7 +907,11 @@ var ExpressionBuilder = function (_a) {
836
907
  (((_b = value.value) === null || _b === void 0 ? void 0 : _b.exp) === '&&' || ((_c = value.value) === null || _c === void 0 ? void 0 : _c.exp) === '||')) {
837
908
  return ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreErrorBoundary, { children: (0, jsx_runtime_1.jsx)(item_1.ExpressionItem, { index: index, as: reqore_1.ReqorePanel, isChild: isChild, isAndOr: true, minimal: true, readOnly: readOnly, size: 'small', flat: true, customTheme: {
838
909
  main: (0, polished_1.darken)("0.0".concat(level * 25), theme.main),
839
- }, label: isChild ? (value.value.exp === '||' ? 'OR group' : 'AND group') : 'IF group', style: {
910
+ }, label: isChild ?
911
+ value.value.exp === '||' ?
912
+ 'At least one of these is true (OR)'
913
+ : 'All of these are true (AND)'
914
+ : 'If', style: {
840
915
  marginLeft: isChild ? 10 : 0,
841
916
  // a nested group too: its indent is taken out of its width, not added past it
842
917
  maxWidth: isChild ? 'calc(100% - 10px)' : undefined,
@@ -848,7 +923,7 @@ var ExpressionBuilder = function (_a) {
848
923
  onClick: function () {
849
924
  handleChange(types_1.ExpressionDefaultValue, "".concat(path ? "".concat(path, ".") : '', "value.args.").concat((0, lodash_1.size)(value.value.args)));
850
925
  },
851
- tooltip: 'Add condition parameter',
926
+ tooltip: 'Add a condition',
852
927
  },
853
928
  {
854
929
  className: 'expression-explain',
@@ -861,11 +936,26 @@ var ExpressionBuilder = function (_a) {
861
936
  : 'Show explanation of this expression',
862
937
  fixed: true,
863
938
  },
864
- ], children: (0, jsx_runtime_1.jsxs)(reqore_1.ReqoreControlGroup, { vertical: true, fluid: true, size: 'normal', style: { position: 'relative' }, wrap: true, children: [showSummary && ((0, jsx_runtime_1.jsx)(renderTemplate_1.ExpressionRenderTemplate, { exp: value, expressions: _expressions.expressions, templates: localTemplates })), (0, jsx_runtime_1.jsx)(StyledExpressionItemLabel, { as: reqore_1.ReqoreP, color: 'transparent', className: 'expression-operator' }), (_d = value.value.args) === null || _d === void 0 ? void 0 : _d.map(function (arg, index) { return ((0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [(0, jsx_runtime_1.jsx)(exports.ExpressionBuilder, { value: arg, localTemplates: resolvedTemplates, isChild: true, path: "".concat(path ? "".concat(path, ".") : '', "value.args.").concat(index), level: level + 1, index: index, type: type, onValueChange: handleChange, returnType: 'bool', group: value.value.exp, readOnly: readOnly, expressions: expressions, expressionsUrl: expressionsUrl, serverHandled: serverHandled, extraActions: extraActions, reorder: reorder }), index < (0, lodash_1.size)(value.value.args) - 1 && ((0, jsx_runtime_1.jsx)(argumentDetail_1.ExpressionArgumentDetail, { label: value.value.exp === '||' ? 'OR' : 'AND', align: 'left', style: {
865
- marginLeft: 10,
866
- } }))] }, index)); })] }) }) }));
939
+ ], children: (0, jsx_runtime_1.jsxs)(reqore_1.ReqoreControlGroup, { vertical: true, fluid: true, size: 'normal', style: { position: 'relative' }, wrap: true, children: [showSummary && ((0, jsx_runtime_1.jsx)(renderTemplate_1.ExpressionRenderTemplate, { exp: value, expressions: _expressions.expressions, templates: localTemplates })), (0, jsx_runtime_1.jsx)(StyledExpressionItemLabel, { as: reqore_1.ReqoreP, color: 'transparent', className: 'expression-operator' }), (_d = value.value.args) === null || _d === void 0 ? void 0 : _d.map(function (arg, index) {
940
+ var _a, _b, _c, _d, _f;
941
+ return ((0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [(0, jsx_runtime_1.jsx)(exports.ExpressionBuilder, { value: arg, localTemplates: resolvedTemplates, isChild: true, path: "".concat(path ? "".concat(path, ".") : '', "value.args.").concat(index), level: level + 1, index: index, type: type, onValueChange: handleChange,
942
+ /* what its operator takes, as the catalogue declares it: any value, on a Qorus that reads
943
+ each part of an AND or an OR as a condition (qorus#646) */
944
+ returnType: ((_f = (_d = (_c = (_b = (_a = _expressions.expressions) === null || _a === void 0 ? void 0 : _a.find(function (exp) { return exp.name === value.value.exp; })) === null || _b === void 0 ? void 0 : _b.args) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.ui_type) !== null && _f !== void 0 ? _f : 'any'), conditionPartCards: partCards, group: value.value.exp, readOnly: readOnly, expressions: expressions, expressionsUrl: expressionsUrl, serverHandled: serverHandled, extraActions: extraActions, reorder: reorder }), index < (0, lodash_1.size)(value.value.args) - 1 && ((0, jsx_runtime_1.jsx)(argumentDetail_1.ExpressionArgumentDetail, { label: value.value.exp === '||' ? 'OR' : 'AND', align: 'left', style: {
945
+ marginLeft: 10,
946
+ } }))] }, index));
947
+ })] }) }) }));
948
+ }
949
+ /* A field path written with accessors - `orders[*].id`, `prices{*}` - is drawn as the path, the chip a record
950
+ field is, not as the accessor operations it is made of: their operands misread (the `@value` of a hash
951
+ wildcard is the item's value, not a record field), and an operation with a source and a body is not what
952
+ was written (David, qorus#646). It is edited on the Expression tab; here it can be removed, as any operand
953
+ can, with its field's controls. */
954
+ var fieldPath = (0, fieldPath_1.fieldPathOf)(value);
955
+ if (fieldPath !== undefined) {
956
+ return ((0, jsx_runtime_1.jsx)("span", { className: 'expression-field-path', "data-path": fieldPath, children: (0, jsx_runtime_1.jsx)(ReadOnlyTemplateTag_1.ReadOnlyTemplateTag, { value: (0, fieldPath_1.fieldPathTemplate)(fieldPath), templates: resolvedTemplates, label: (0, templateText_1.templateChipLabel)(resolvedTemplates, (0, fieldPath_1.fieldPathTemplate)(fieldPath)) }) }));
867
957
  }
868
- return ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreErrorBoundary, { children: (0, jsx_runtime_1.jsx)(exports.Expression, { localTemplates: resolvedTemplates, value: value, isChild: isChild, type: type, returnType: returnType, level: level, path: path, index: index, onValueChange: handleChange, group: group, readOnly: readOnly, expressions: expressions, expressionsUrl: expressionsUrl, id: level === 0 && index === 0 ? 'expression-builder' : undefined, serverHandled: serverHandled, extraActions: extraActions, componentOverrides: componentOverrides, reorder: reorder }) }));
958
+ return ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreErrorBoundary, { children: (0, jsx_runtime_1.jsx)(exports.Expression, { localTemplates: resolvedTemplates, value: value, isChild: isChild, type: type, returnType: returnType, returnBaseType: returnBaseType, level: level, path: path, index: index, onValueChange: handleChange, group: group, readOnly: readOnly, expressions: expressions, expressionsUrl: expressionsUrl, id: level === 0 && index === 0 ? 'expression-builder' : undefined, serverHandled: serverHandled, extraActions: extraActions, componentOverrides: componentOverrides, reorder: reorder, condition: condition, conditionPartCards: partCards, conditionMessage: conditionMessage }) }));
869
959
  };
870
960
  exports.ExpressionBuilder = ExpressionBuilder;
871
961
  var templateObject_1;