@qoretechnologies/reqraft 0.10.62 → 0.10.63-pr.142.g0b675cd

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 (736) hide show
  1. package/README.md +21 -1
  2. package/dist/components/Description/describedControl.d.ts +48 -0
  3. package/dist/components/Description/describedControl.d.ts.map +1 -0
  4. package/dist/components/Description/describedControl.js +81 -0
  5. package/dist/components/Description/describedControl.js.map +1 -0
  6. package/dist/components/Description/index.d.ts.map +1 -1
  7. package/dist/components/Description/index.js +3 -2
  8. package/dist/components/Description/index.js.map +1 -1
  9. package/dist/components/colorValue/colorValue.d.ts +59 -0
  10. package/dist/components/colorValue/colorValue.d.ts.map +1 -0
  11. package/dist/components/colorValue/colorValue.js +245 -0
  12. package/dist/components/colorValue/colorValue.js.map +1 -0
  13. package/dist/components/colorValue/index.d.ts +34 -0
  14. package/dist/components/colorValue/index.d.ts.map +1 -0
  15. package/dist/components/colorValue/index.js +136 -0
  16. package/dist/components/colorValue/index.js.map +1 -0
  17. package/dist/components/colorValue/labels.d.ts +12 -0
  18. package/dist/components/colorValue/labels.d.ts.map +1 -0
  19. package/dist/components/colorValue/labels.js +11 -0
  20. package/dist/components/colorValue/labels.js.map +1 -0
  21. package/dist/components/composer/Composer.d.ts +1 -1
  22. package/dist/components/composer/Composer.d.ts.map +1 -1
  23. package/dist/components/composer/Composer.js +2 -2
  24. package/dist/components/composer/Composer.js.map +1 -1
  25. package/dist/components/dpqlEditor/DpqlEditor.d.ts.map +1 -1
  26. package/dist/components/dpqlEditor/DpqlEditor.js +25 -5
  27. package/dist/components/dpqlEditor/DpqlEditor.js.map +1 -1
  28. package/dist/components/dpqlEditor/dpqlHelpers.d.ts +10 -1
  29. package/dist/components/dpqlEditor/dpqlHelpers.d.ts.map +1 -1
  30. package/dist/components/dpqlEditor/dpqlHelpers.js +30 -13
  31. package/dist/components/dpqlEditor/dpqlHelpers.js.map +1 -1
  32. package/dist/components/dpqlEditor/dpqlTags.d.ts +11 -7
  33. package/dist/components/dpqlEditor/dpqlTags.d.ts.map +1 -1
  34. package/dist/components/dpqlEditor/dpqlTags.js +11 -6
  35. package/dist/components/dpqlEditor/dpqlTags.js.map +1 -1
  36. package/dist/components/dpqlEditor/types.d.ts +47 -8
  37. package/dist/components/dpqlEditor/types.d.ts.map +1 -1
  38. package/dist/components/dpqlEditor/useDpqlSession.d.ts +2 -2
  39. package/dist/components/dpqlEditor/useDpqlSession.d.ts.map +1 -1
  40. package/dist/components/dpqlEditor/useDpqlSession.js +16 -7
  41. package/dist/components/dpqlEditor/useDpqlSession.js.map +1 -1
  42. package/dist/components/form/engine/CompactRow.d.ts.map +1 -1
  43. package/dist/components/form/engine/CompactRow.js +151 -83
  44. package/dist/components/form/engine/CompactRow.js.map +1 -1
  45. package/dist/components/form/engine/CompactToolbar.d.ts.map +1 -1
  46. package/dist/components/form/engine/CompactToolbar.js +29 -3
  47. package/dist/components/form/engine/CompactToolbar.js.map +1 -1
  48. package/dist/components/form/engine/FormEngine.d.ts +34 -1
  49. package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
  50. package/dist/components/form/engine/FormEngine.js +487 -87
  51. package/dist/components/form/engine/FormEngine.js.map +1 -1
  52. package/dist/components/form/engine/HiddenFieldsNote.d.ts +28 -0
  53. package/dist/components/form/engine/HiddenFieldsNote.d.ts.map +1 -0
  54. package/dist/components/form/engine/HiddenFieldsNote.js +32 -0
  55. package/dist/components/form/engine/HiddenFieldsNote.js.map +1 -0
  56. package/dist/components/form/engine/OptionFieldMessages.d.ts.map +1 -1
  57. package/dist/components/form/engine/OptionFieldMessages.js +24 -3
  58. package/dist/components/form/engine/OptionFieldMessages.js.map +1 -1
  59. package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts +2 -2
  60. package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts.map +1 -1
  61. package/dist/components/form/engine/_structuredData/SchemaDataView.js +12 -6
  62. package/dist/components/form/engine/_structuredData/SchemaDataView.js.map +1 -1
  63. package/dist/components/form/engine/compactRowContext.d.ts +19 -0
  64. package/dist/components/form/engine/compactRowContext.d.ts.map +1 -1
  65. package/dist/components/form/engine/compactRowContext.js.map +1 -1
  66. package/dist/components/form/engine/compactRowStyles.d.ts +0 -1
  67. package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
  68. package/dist/components/form/engine/compactRowStyles.js +12 -20
  69. package/dist/components/form/engine/compactRowStyles.js.map +1 -1
  70. package/dist/components/form/engine/compactToolbarColors.d.ts +16 -0
  71. package/dist/components/form/engine/compactToolbarColors.d.ts.map +1 -0
  72. package/dist/components/form/engine/compactToolbarColors.js +21 -0
  73. package/dist/components/form/engine/compactToolbarColors.js.map +1 -0
  74. package/dist/components/form/engine/readFirst.d.ts +24 -8
  75. package/dist/components/form/engine/readFirst.d.ts.map +1 -1
  76. package/dist/components/form/engine/readFirst.js +77 -109
  77. package/dist/components/form/engine/readFirst.js.map +1 -1
  78. package/dist/components/form/engine/readFirstColors.d.ts +30 -0
  79. package/dist/components/form/engine/readFirstColors.d.ts.map +1 -0
  80. package/dist/components/form/engine/readFirstColors.js +51 -0
  81. package/dist/components/form/engine/readFirstColors.js.map +1 -0
  82. package/dist/components/form/engine/rowFocus.d.ts +2 -0
  83. package/dist/components/form/engine/rowFocus.d.ts.map +1 -1
  84. package/dist/components/form/engine/rowFocus.js +26 -3
  85. package/dist/components/form/engine/rowFocus.js.map +1 -1
  86. package/dist/components/form/engine/typeChoices.d.ts +1 -1
  87. package/dist/components/form/engine/variants/VariantCalmTable.d.ts.map +1 -1
  88. package/dist/components/form/engine/variants/VariantCalmTable.js +2 -1
  89. package/dist/components/form/engine/variants/VariantCalmTable.js.map +1 -1
  90. package/dist/components/form/engine/variants/VariantCards.d.ts.map +1 -1
  91. package/dist/components/form/engine/variants/VariantCards.js +2 -1
  92. package/dist/components/form/engine/variants/VariantCards.js.map +1 -1
  93. package/dist/components/form/engine/variants/VariantFocus.js +1 -1
  94. package/dist/components/form/engine/variants/VariantFocus.js.map +1 -1
  95. package/dist/components/form/engine/variants/VariantMinimal.d.ts.map +1 -1
  96. package/dist/components/form/engine/variants/VariantMinimal.js +2 -1
  97. package/dist/components/form/engine/variants/VariantMinimal.js.map +1 -1
  98. package/dist/components/form/engine/variants/variantParts.d.ts +1 -1
  99. package/dist/components/form/engine/variants/variantParts.d.ts.map +1 -1
  100. package/dist/components/form/engine/variants/variantParts.js +25 -17
  101. package/dist/components/form/engine/variants/variantParts.js.map +1 -1
  102. package/dist/components/form/expressions/DpqlRendering.d.ts +1 -1
  103. package/dist/components/form/expressions/DpqlRendering.d.ts.map +1 -1
  104. package/dist/components/form/expressions/DpqlRendering.js +3 -3
  105. package/dist/components/form/expressions/DpqlRendering.js.map +1 -1
  106. package/dist/components/form/expressions/ExpressionField.d.ts +41 -3
  107. package/dist/components/form/expressions/ExpressionField.d.ts.map +1 -1
  108. package/dist/components/form/expressions/ExpressionField.js +396 -99
  109. package/dist/components/form/expressions/ExpressionField.js.map +1 -1
  110. package/dist/components/form/expressions/builder/argumentDetail.d.ts.map +1 -1
  111. package/dist/components/form/expressions/builder/argumentDetail.js +4 -1
  112. package/dist/components/form/expressions/builder/argumentDetail.js.map +1 -1
  113. package/dist/components/form/expressions/builder/argumentLabel.d.ts.map +1 -1
  114. package/dist/components/form/expressions/builder/argumentLabel.js +27 -9
  115. package/dist/components/form/expressions/builder/argumentLabel.js.map +1 -1
  116. package/dist/components/form/expressions/builder/argumentWrapper.d.ts.map +1 -1
  117. package/dist/components/form/expressions/builder/argumentWrapper.js +4 -2
  118. package/dist/components/form/expressions/builder/argumentWrapper.js.map +1 -1
  119. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.d.ts.map +1 -1
  120. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js +5 -4
  121. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js.map +1 -1
  122. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts +1 -1
  123. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts.map +1 -1
  124. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js +6 -3
  125. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js.map +1 -1
  126. package/dist/components/form/expressions/builder/index.d.ts +24 -2
  127. package/dist/components/form/expressions/builder/index.d.ts.map +1 -1
  128. package/dist/components/form/expressions/builder/index.js +121 -77
  129. package/dist/components/form/expressions/builder/index.js.map +1 -1
  130. package/dist/components/form/expressions/builder/item.d.ts +6 -2
  131. package/dist/components/form/expressions/builder/item.d.ts.map +1 -1
  132. package/dist/components/form/expressions/builder/item.js +19 -5
  133. package/dist/components/form/expressions/builder/item.js.map +1 -1
  134. package/dist/components/form/expressions/builder/renderTemplate.js +1 -1
  135. package/dist/components/form/expressions/builder/renderTemplate.js.map +1 -1
  136. package/dist/components/form/expressions/expressionOperands.d.ts +16 -0
  137. package/dist/components/form/expressions/expressionOperands.d.ts.map +1 -0
  138. package/dist/components/form/expressions/expressionOperands.js +97 -0
  139. package/dist/components/form/expressions/expressionOperands.js.map +1 -0
  140. package/dist/components/form/expressions/mockExpressions.d.ts.map +1 -1
  141. package/dist/components/form/expressions/mockExpressions.js +22 -5
  142. package/dist/components/form/expressions/mockExpressions.js.map +1 -1
  143. package/dist/components/form/expressions/renderExpressionToText.d.ts +2 -0
  144. package/dist/components/form/expressions/renderExpressionToText.d.ts.map +1 -1
  145. package/dist/components/form/expressions/renderExpressionToText.js +35 -9
  146. package/dist/components/form/expressions/renderExpressionToText.js.map +1 -1
  147. package/dist/components/form/expressions/textOfExpression.d.ts +18 -0
  148. package/dist/components/form/expressions/textOfExpression.d.ts.map +1 -0
  149. package/dist/components/form/expressions/textOfExpression.js +37 -0
  150. package/dist/components/form/expressions/textOfExpression.js.map +1 -0
  151. package/dist/components/form/expressions/useExpressionType.d.ts +26 -0
  152. package/dist/components/form/expressions/useExpressionType.d.ts.map +1 -0
  153. package/dist/components/form/expressions/useExpressionType.js +181 -0
  154. package/dist/components/form/expressions/useExpressionType.js.map +1 -0
  155. package/dist/components/form/expressions/useRenderExpression.d.ts.map +1 -1
  156. package/dist/components/form/expressions/useRenderExpression.js +7 -7
  157. package/dist/components/form/expressions/useRenderExpression.js.map +1 -1
  158. package/dist/components/form/fields/Field.d.ts.map +1 -1
  159. package/dist/components/form/fields/Field.js +20 -7
  160. package/dist/components/form/fields/Field.js.map +1 -1
  161. package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
  162. package/dist/components/form/fields/allowed-values/AllowedValues.js +17 -4
  163. package/dist/components/form/fields/allowed-values/AllowedValues.js.map +1 -1
  164. package/dist/components/form/fields/array/ArrayAuto.d.ts.map +1 -1
  165. package/dist/components/form/fields/array/ArrayAuto.js +24 -0
  166. package/dist/components/form/fields/array/ArrayAuto.js.map +1 -1
  167. package/dist/components/form/fields/array/ArrayAutoField.d.ts.map +1 -1
  168. package/dist/components/form/fields/array/ArrayAutoField.js +36 -13
  169. package/dist/components/form/fields/array/ArrayAutoField.js.map +1 -1
  170. package/dist/components/form/fields/auto/AutoFormField.d.ts +20 -1
  171. package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
  172. package/dist/components/form/fields/auto/AutoFormField.js +81 -36
  173. package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
  174. package/dist/components/form/fields/auto/hostEditorValue.d.ts +30 -0
  175. package/dist/components/form/fields/auto/hostEditorValue.d.ts.map +1 -0
  176. package/dist/components/form/fields/auto/hostEditorValue.js +53 -0
  177. package/dist/components/form/fields/auto/hostEditorValue.js.map +1 -0
  178. package/dist/components/form/fields/binary/Binary.d.ts.map +1 -1
  179. package/dist/components/form/fields/binary/Binary.js +23 -3
  180. package/dist/components/form/fields/binary/Binary.js.map +1 -1
  181. package/dist/components/form/fields/boolean/Boolean.d.ts +5 -0
  182. package/dist/components/form/fields/boolean/Boolean.d.ts.map +1 -1
  183. package/dist/components/form/fields/boolean/Boolean.js +9 -1
  184. package/dist/components/form/fields/boolean/Boolean.js.map +1 -1
  185. package/dist/components/form/fields/color/Color.d.ts +103 -16
  186. package/dist/components/form/fields/color/Color.d.ts.map +1 -1
  187. package/dist/components/form/fields/color/Color.js +611 -16
  188. package/dist/components/form/fields/color/Color.js.map +1 -1
  189. package/dist/components/form/fields/emittedValues.d.ts +34 -3
  190. package/dist/components/form/fields/emittedValues.d.ts.map +1 -1
  191. package/dist/components/form/fields/emittedValues.js +24 -1
  192. package/dist/components/form/fields/emittedValues.js.map +1 -1
  193. package/dist/components/form/fields/file/File.d.ts +1 -1
  194. package/dist/components/form/fields/file/File.d.ts.map +1 -1
  195. package/dist/components/form/fields/file/File.js +4 -2
  196. package/dist/components/form/fields/file/File.js.map +1 -1
  197. package/dist/components/form/fields/long-string/LongString.d.ts.map +1 -1
  198. package/dist/components/form/fields/long-string/LongString.js +17 -3
  199. package/dist/components/form/fields/long-string/LongString.js.map +1 -1
  200. package/dist/components/form/fields/markdown/MarkdownView.js +1 -1
  201. package/dist/components/form/fields/multi-select/MultiSelectFormField.d.ts.map +1 -1
  202. package/dist/components/form/fields/multi-select/MultiSelectFormField.js +4 -1
  203. package/dist/components/form/fields/multi-select/MultiSelectFormField.js.map +1 -1
  204. package/dist/components/form/fields/number/Number.d.ts +6 -0
  205. package/dist/components/form/fields/number/Number.d.ts.map +1 -1
  206. package/dist/components/form/fields/number/Number.js +41 -6
  207. package/dist/components/form/fields/number/Number.js.map +1 -1
  208. package/dist/components/form/fields/object/Object.d.ts +1 -1
  209. package/dist/components/form/fields/object/Object.d.ts.map +1 -1
  210. package/dist/components/form/fields/object/Object.js +4 -2
  211. package/dist/components/form/fields/object/Object.js.map +1 -1
  212. package/dist/components/form/fields/pendingEdit.d.ts +52 -0
  213. package/dist/components/form/fields/pendingEdit.d.ts.map +1 -0
  214. package/dist/components/form/fields/pendingEdit.js +79 -0
  215. package/dist/components/form/fields/pendingEdit.js.map +1 -0
  216. package/dist/components/form/fields/rich-text/RichText.d.ts +8 -1
  217. package/dist/components/form/fields/rich-text/RichText.d.ts.map +1 -1
  218. package/dist/components/form/fields/rich-text/RichText.js +190 -81
  219. package/dist/components/form/fields/rich-text/RichText.js.map +1 -1
  220. package/dist/components/form/fields/rich-text/useTemplateTags.d.ts +18 -0
  221. package/dist/components/form/fields/rich-text/useTemplateTags.d.ts.map +1 -0
  222. package/dist/components/form/fields/rich-text/useTemplateTags.js +49 -0
  223. package/dist/components/form/fields/rich-text/useTemplateTags.js.map +1 -0
  224. package/dist/components/form/fields/schema-definition/CatalogLeafForm.d.ts.map +1 -1
  225. package/dist/components/form/fields/schema-definition/CatalogLeafForm.js +4 -1
  226. package/dist/components/form/fields/schema-definition/CatalogLeafForm.js.map +1 -1
  227. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.d.ts.map +1 -1
  228. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js +20 -5
  229. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js.map +1 -1
  230. package/dist/components/form/fields/schema-definition/TableEditor.d.ts.map +1 -1
  231. package/dist/components/form/fields/schema-definition/TableEditor.js +10 -2
  232. package/dist/components/form/fields/schema-definition/TableEditor.js.map +1 -1
  233. package/dist/components/form/fields/schema-definition/index.d.ts.map +1 -1
  234. package/dist/components/form/fields/schema-definition/index.js +8 -4
  235. package/dist/components/form/fields/schema-definition/index.js.map +1 -1
  236. package/dist/components/form/fields/select/Select.d.ts +2 -0
  237. package/dist/components/form/fields/select/Select.d.ts.map +1 -1
  238. package/dist/components/form/fields/select/Select.js +19 -10
  239. package/dist/components/form/fields/select/Select.js.map +1 -1
  240. package/dist/components/form/fields/select/SelectCollection.d.ts.map +1 -1
  241. package/dist/components/form/fields/select/SelectCollection.js +8 -2
  242. package/dist/components/form/fields/select/SelectCollection.js.map +1 -1
  243. package/dist/components/form/fields/select/unavailableRow.d.ts +23 -0
  244. package/dist/components/form/fields/select/unavailableRow.d.ts.map +1 -0
  245. package/dist/components/form/fields/select/unavailableRow.js +55 -0
  246. package/dist/components/form/fields/select/unavailableRow.js.map +1 -0
  247. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts +5 -5
  248. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts.map +1 -1
  249. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js +11 -4
  250. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js.map +1 -1
  251. package/dist/components/form/fields/template/TemplateBrowser.d.ts +22 -0
  252. package/dist/components/form/fields/template/TemplateBrowser.d.ts.map +1 -0
  253. package/dist/components/form/fields/template/TemplateBrowser.js +54 -0
  254. package/dist/components/form/fields/template/TemplateBrowser.js.map +1 -0
  255. package/dist/components/form/fields/template/TemplateField.d.ts +83 -1
  256. package/dist/components/form/fields/template/TemplateField.d.ts.map +1 -1
  257. package/dist/components/form/fields/template/TemplateField.js +535 -85
  258. package/dist/components/form/fields/template/TemplateField.js.map +1 -1
  259. package/dist/components/form/fields/template/TemplateText.d.ts +0 -17
  260. package/dist/components/form/fields/template/TemplateText.d.ts.map +1 -1
  261. package/dist/components/form/fields/template/TemplateText.js +8 -4
  262. package/dist/components/form/fields/template/TemplateText.js.map +1 -1
  263. package/dist/components/form/fields/template/writtenAsText.d.ts +55 -0
  264. package/dist/components/form/fields/template/writtenAsText.d.ts.map +1 -0
  265. package/dist/components/form/fields/template/writtenAsText.js +188 -0
  266. package/dist/components/form/fields/template/writtenAsText.js.map +1 -0
  267. package/dist/components/form/index.d.ts +10 -0
  268. package/dist/components/form/index.d.ts.map +1 -1
  269. package/dist/components/form/index.js +23 -1
  270. package/dist/components/form/index.js.map +1 -1
  271. package/dist/components/imageLightbox/ImageLightbox.d.ts.map +1 -1
  272. package/dist/components/imageLightbox/ImageLightbox.js +19 -7
  273. package/dist/components/imageLightbox/ImageLightbox.js.map +1 -1
  274. package/dist/components/log/Log.d.ts.map +1 -1
  275. package/dist/components/log/Log.js +15 -7
  276. package/dist/components/log/Log.js.map +1 -1
  277. package/dist/components/menu/Menu.d.ts.map +1 -1
  278. package/dist/components/menu/Menu.js +19 -10
  279. package/dist/components/menu/Menu.js.map +1 -1
  280. package/dist/components/smartEditor/CompletionMenu.d.ts +43 -0
  281. package/dist/components/smartEditor/CompletionMenu.d.ts.map +1 -0
  282. package/dist/components/smartEditor/CompletionMenu.js +196 -0
  283. package/dist/components/smartEditor/CompletionMenu.js.map +1 -0
  284. package/dist/components/smartEditor/MarkdownDoc.d.ts +1 -1
  285. package/dist/components/smartEditor/MarkdownDoc.js +1 -1
  286. package/dist/components/smartEditor/MarkdownDoc.js.map +1 -1
  287. package/dist/components/smartEditor/SmartEditor.d.ts.map +1 -1
  288. package/dist/components/smartEditor/SmartEditor.js +51 -136
  289. package/dist/components/smartEditor/SmartEditor.js.map +1 -1
  290. package/dist/components/smartEditor/completionStyle.d.ts +27 -0
  291. package/dist/components/smartEditor/completionStyle.d.ts.map +1 -0
  292. package/dist/components/smartEditor/completionStyle.js +66 -0
  293. package/dist/components/smartEditor/completionStyle.js.map +1 -0
  294. package/dist/components/smartEditor/index.d.ts +5 -1
  295. package/dist/components/smartEditor/index.d.ts.map +1 -1
  296. package/dist/components/smartEditor/index.js +19 -1
  297. package/dist/components/smartEditor/index.js.map +1 -1
  298. package/dist/components/smartEditor/templateCompletions.d.ts +18 -0
  299. package/dist/components/smartEditor/templateCompletions.d.ts.map +1 -0
  300. package/dist/components/smartEditor/templateCompletions.js +94 -0
  301. package/dist/components/smartEditor/templateCompletions.js.map +1 -0
  302. package/dist/components/smartEditor/types.d.ts +12 -1
  303. package/dist/components/smartEditor/types.d.ts.map +1 -1
  304. package/dist/components/smartEditor/useLspAutocomplete.d.ts +32 -0
  305. package/dist/components/smartEditor/useLspAutocomplete.d.ts.map +1 -1
  306. package/dist/components/smartEditor/useLspAutocomplete.js +228 -118
  307. package/dist/components/smartEditor/useLspAutocomplete.js.map +1 -1
  308. package/dist/components/smartEditor/useLspHover.d.ts +22 -7
  309. package/dist/components/smartEditor/useLspHover.d.ts.map +1 -1
  310. package/dist/components/smartEditor/useLspHover.js +86 -17
  311. package/dist/components/smartEditor/useLspHover.js.map +1 -1
  312. package/dist/components/smartEditor/useLspSemanticTokens.js +1 -1
  313. package/dist/components/smartEditor/useLspSemanticTokens.js.map +1 -1
  314. package/dist/components/smartEditor/useLspSession.d.ts +6 -0
  315. package/dist/components/smartEditor/useLspSession.d.ts.map +1 -1
  316. package/dist/components/smartEditor/useLspSession.js +7 -6
  317. package/dist/components/smartEditor/useLspSession.js.map +1 -1
  318. package/dist/components/supportTicket/AttachmentChips.d.ts.map +1 -1
  319. package/dist/components/supportTicket/AttachmentChips.js +15 -5
  320. package/dist/components/supportTicket/AttachmentChips.js.map +1 -1
  321. package/dist/components/supportTicket/ReferencePicker.d.ts +9 -2
  322. package/dist/components/supportTicket/ReferencePicker.d.ts.map +1 -1
  323. package/dist/components/supportTicket/ReferencePicker.js +27 -6
  324. package/dist/components/supportTicket/ReferencePicker.js.map +1 -1
  325. package/dist/components/supportTicket/TicketHeader.d.ts +3 -4
  326. package/dist/components/supportTicket/TicketHeader.d.ts.map +1 -1
  327. package/dist/components/supportTicket/TicketHeader.js +20 -2
  328. package/dist/components/supportTicket/TicketHeader.js.map +1 -1
  329. package/dist/components/supportTicket/TicketMetaTags.d.ts +1 -1
  330. package/dist/components/ticketReferences/TicketReferences.d.ts.map +1 -1
  331. package/dist/components/ticketReferences/TicketReferences.js +9 -4
  332. package/dist/components/ticketReferences/TicketReferences.js.map +1 -1
  333. package/dist/components/ticketThread/TicketThread.d.ts.map +1 -1
  334. package/dist/components/ticketThread/TicketThread.js +36 -11
  335. package/dist/components/ticketThread/TicketThread.js.map +1 -1
  336. package/dist/helpers/descriptionTooltip.d.ts +43 -0
  337. package/dist/helpers/descriptionTooltip.d.ts.map +1 -0
  338. package/dist/helpers/descriptionTooltip.js +70 -0
  339. package/dist/helpers/descriptionTooltip.js.map +1 -0
  340. package/dist/helpers/domProps.d.ts +5 -0
  341. package/dist/helpers/domProps.d.ts.map +1 -0
  342. package/dist/helpers/domProps.js +47 -0
  343. package/dist/helpers/domProps.js.map +1 -0
  344. package/dist/helpers/expressions.d.ts +107 -2
  345. package/dist/helpers/expressions.d.ts.map +1 -1
  346. package/dist/helpers/expressions.js +223 -8
  347. package/dist/helpers/expressions.js.map +1 -1
  348. package/dist/helpers/hoveringPointer.d.ts +26 -0
  349. package/dist/helpers/hoveringPointer.d.ts.map +1 -0
  350. package/dist/helpers/hoveringPointer.js +29 -0
  351. package/dist/helpers/hoveringPointer.js.map +1 -0
  352. package/dist/helpers/markdownText.d.ts +14 -0
  353. package/dist/helpers/markdownText.d.ts.map +1 -0
  354. package/dist/helpers/markdownText.js +160 -0
  355. package/dist/helpers/markdownText.js.map +1 -0
  356. package/dist/helpers/qorusTypeCatalogue.d.ts +53 -0
  357. package/dist/helpers/qorusTypeCatalogue.d.ts.map +1 -0
  358. package/dist/helpers/qorusTypeCatalogue.js +262 -0
  359. package/dist/helpers/qorusTypeCatalogue.js.map +1 -0
  360. package/dist/helpers/readableColors.d.ts +36 -0
  361. package/dist/helpers/readableColors.d.ts.map +1 -0
  362. package/dist/helpers/readableColors.js +116 -0
  363. package/dist/helpers/readableColors.js.map +1 -0
  364. package/dist/helpers/templateItems.d.ts +2 -2
  365. package/dist/helpers/templateItems.d.ts.map +1 -1
  366. package/dist/helpers/templateItems.js +6 -4
  367. package/dist/helpers/templateItems.js.map +1 -1
  368. package/dist/helpers/templates.d.ts +26 -1
  369. package/dist/helpers/templates.d.ts.map +1 -1
  370. package/dist/helpers/templates.js +41 -6
  371. package/dist/helpers/templates.js.map +1 -1
  372. package/dist/helpers/validations.d.ts +9 -0
  373. package/dist/helpers/validations.d.ts.map +1 -1
  374. package/dist/helpers/validations.js +139 -33
  375. package/dist/helpers/validations.js.map +1 -1
  376. package/dist/hooks/useQorusTypes.d.ts +7 -15
  377. package/dist/hooks/useQorusTypes.d.ts.map +1 -1
  378. package/dist/hooks/useQorusTypes.js +25 -166
  379. package/dist/hooks/useQorusTypes.js.map +1 -1
  380. package/dist/hooks/useReadableIntentShade.d.ts +9 -0
  381. package/dist/hooks/useReadableIntentShade.d.ts.map +1 -0
  382. package/dist/hooks/useReadableIntentShade.js +23 -0
  383. package/dist/hooks/useReadableIntentShade.js.map +1 -0
  384. package/dist/hooks/useReadableOpacity.d.ts +6 -0
  385. package/dist/hooks/useReadableOpacity.d.ts.map +1 -0
  386. package/dist/hooks/useReadableOpacity.js +17 -0
  387. package/dist/hooks/useReadableOpacity.js.map +1 -0
  388. package/dist/index.d.ts +1 -0
  389. package/dist/index.d.ts.map +1 -1
  390. package/dist/index.js +1 -0
  391. package/dist/index.js.map +1 -1
  392. package/dist/tracking/ui/ExperimentCard.d.ts +1 -1
  393. package/dist/tracking/ui/ExperimentCard.d.ts.map +1 -1
  394. package/dist/tracking/ui/ExperimentCard.js +26 -10
  395. package/dist/tracking/ui/ExperimentCard.js.map +1 -1
  396. package/dist/tracking/ui/card.d.ts +2 -2
  397. package/dist/tracking/ui/card.d.ts.map +1 -1
  398. package/dist/tracking/ui/card.js +2 -2
  399. package/dist/tracking/ui/card.js.map +1 -1
  400. package/dist/tracking/ui/readable.d.ts +14 -0
  401. package/dist/tracking/ui/readable.d.ts.map +1 -0
  402. package/dist/tracking/ui/readable.js +60 -0
  403. package/dist/tracking/ui/readable.js.map +1 -0
  404. package/package.json +14 -5
  405. package/.claude/CLAUDE.md +0 -317
  406. package/.tasks/EXPORT_EXPRESSION_BUILDER.md +0 -38
  407. package/.tasks/EXPRESSION_BUILDER_REPORT.md +0 -149
  408. package/.tasks/EXPRESSION_FIELD_SEAMS.md +0 -66
  409. package/.tasks/FIELD_STACK_REPORT.md +0 -234
  410. package/.tasks/FORM_ENGINE_COMPACT_READ_FIRST.md +0 -558
  411. package/.tasks/FORM_ENGINE_EXPRESSIONS.md +0 -197
  412. package/.tasks/FORM_ENGINE_OPTIONS_SYNC.md +0 -95
  413. package/.tasks/FORM_FIELD_EXTRAS.md +0 -72
  414. package/.tasks/INDEX.md +0 -111
  415. package/.tasks/LSP_SHARED_CONNECTION.md +0 -75
  416. package/.tasks/QONSOLE_ASSIST_FEATURES.md +0 -306
  417. package/.tasks/RENDER_EXPRESSION_LSP.md +0 -159
  418. package/.tasks/REQRAFT_AUTO_FIELD.md +0 -176
  419. package/.tasks/SCHEMA_DEFINITION_FIELD.md +0 -250
  420. package/.tasks/SMART_EDITOR_CONTEXT_AND_POLISH.md +0 -340
  421. package/.tasks/SMART_EDITOR_LSP_FEATURES.md +0 -299
  422. package/.tasks/SMART_EDITOR_REVIEW_FOLLOWUPS.md +0 -280
  423. package/.tasks/SMART_EDITOR_UX_POLISH.md +0 -383
  424. package/.tasks/SMART_EDITOR_VISUAL_POLISH.md +0 -246
  425. package/.tasks/STORY_NETWORK_ISOLATION.md +0 -98
  426. package/.tasks/TEMPLATE_TOKEN_GRAMMAR.md +0 -72
  427. package/CODE_OF_CONDUCT.md +0 -105
  428. package/CONTRIBUTING.MD +0 -78
  429. package/SECURITY.md +0 -3
  430. package/chromatic.config.json +0 -5
  431. package/design/COMPACT_ENGINE_REDESIGN.md +0 -156
  432. package/design/COMPACT_INFO_DISPLAY.md +0 -87
  433. package/design/COMPACT_PARITY.md +0 -85
  434. package/design/EXPRESSION_BUILDER_REPORT_STRATEGY.md +0 -92
  435. package/design/FORM_ENGINE_COMPACT.md +0 -300
  436. package/design/FORM_ENGINE_COMPACT_UX_PLAN.md +0 -353
  437. package/design/FORM_ENGINE_EXPRESSIONS.md +0 -257
  438. package/design/FORM_ENGINE_FIELD_MIGRATION.md +0 -419
  439. package/design/IDE_INTEGRATION.md +0 -64
  440. package/design/RENDER_EXPRESSION_TRANSPORT.md +0 -156
  441. package/design/SELECT_DIALOG_FLOOR.md +0 -86
  442. package/design/SMART_EDITOR_UX.md +0 -438
  443. package/design/TRACKING.md +0 -290
  444. package/design/UNAVAILABLE_ALLOWED_VALUES.md +0 -226
  445. package/src/components/Description/index.tsx +0 -254
  446. package/src/components/Description/markdownRendererContext.tsx +0 -29
  447. package/src/components/FocusedEditing/index.tsx +0 -50
  448. package/src/components/codeSize/index.tsx +0 -79
  449. package/src/components/composer/Composer.stories.tsx +0 -238
  450. package/src/components/composer/Composer.tsx +0 -554
  451. package/src/components/composer/helpers.ts +0 -74
  452. package/src/components/composer/index.ts +0 -2
  453. package/src/components/dpqlEditor/DpqlEditor.stories.tsx +0 -1183
  454. package/src/components/dpqlEditor/DpqlEditor.tsx +0 -219
  455. package/src/components/dpqlEditor/dpqlHelpers.ts +0 -287
  456. package/src/components/dpqlEditor/dpqlInserter.ts +0 -121
  457. package/src/components/dpqlEditor/dpqlProbe.ts +0 -165
  458. package/src/components/dpqlEditor/dpqlTags.ts +0 -114
  459. package/src/components/dpqlEditor/index.ts +0 -41
  460. package/src/components/dpqlEditor/types.ts +0 -203
  461. package/src/components/dpqlEditor/useDpqlProbe.ts +0 -33
  462. package/src/components/dpqlEditor/useDpqlSession.ts +0 -411
  463. package/src/components/form/engine/CompactRow.tsx +0 -2620
  464. package/src/components/form/engine/CompactToolbar.tsx +0 -330
  465. package/src/components/form/engine/FormEngine.stories.tsx +0 -9920
  466. package/src/components/form/engine/FormEngine.tsx +0 -4569
  467. package/src/components/form/engine/FormEngineRemote.stories.tsx +0 -679
  468. package/src/components/form/engine/FormEngineStickyHeaders.stories.tsx +0 -331
  469. package/src/components/form/engine/FormFieldsSkeleton.tsx +0 -82
  470. package/src/components/form/engine/OptionFieldMessages.tsx +0 -477
  471. package/src/components/form/engine/OptionsHelpDialog.tsx +0 -29
  472. package/src/components/form/engine/__fixtures__/basicFormOptions.ts +0 -309
  473. package/src/components/form/engine/__fixtures__/fieldChromeOptions.ts +0 -45
  474. package/src/components/form/engine/_structuredData/SchemaDataView.stories.tsx +0 -233
  475. package/src/components/form/engine/_structuredData/SchemaDataView.tsx +0 -742
  476. package/src/components/form/engine/_structuredData/StructuredDataView.stories.tsx +0 -85
  477. package/src/components/form/engine/_structuredData/StructuredDataView.tsx +0 -75
  478. package/src/components/form/engine/_structuredData/structuredData.ts +0 -145
  479. package/src/components/form/engine/compactRowContext.ts +0 -148
  480. package/src/components/form/engine/compactRowStyles.ts +0 -898
  481. package/src/components/form/engine/compactToolbarContext.ts +0 -69
  482. package/src/components/form/engine/optionActions.ts +0 -128
  483. package/src/components/form/engine/optionsContext.ts +0 -24
  484. package/src/components/form/engine/readFirst.ts +0 -1077
  485. package/src/components/form/engine/rendererTypes.ts +0 -107
  486. package/src/components/form/engine/revealRow.ts +0 -123
  487. package/src/components/form/engine/rowFocus.ts +0 -101
  488. package/src/components/form/engine/rowMenuContext.ts +0 -159
  489. package/src/components/form/engine/rowOpenPicker.ts +0 -27
  490. package/src/components/form/engine/typeChoices.ts +0 -63
  491. package/src/components/form/engine/variants/FormEngineVariants.stories.tsx +0 -159
  492. package/src/components/form/engine/variants/VariantCalmTable.tsx +0 -244
  493. package/src/components/form/engine/variants/VariantCards.tsx +0 -212
  494. package/src/components/form/engine/variants/VariantFocus.tsx +0 -382
  495. package/src/components/form/engine/variants/VariantMinimal.tsx +0 -170
  496. package/src/components/form/engine/variants/focusDemo.ts +0 -145
  497. package/src/components/form/engine/variants/variantModel.ts +0 -223
  498. package/src/components/form/engine/variants/variantParts.tsx +0 -313
  499. package/src/components/form/expressions/DpqlRendering.tsx +0 -85
  500. package/src/components/form/expressions/ExpressionField.stories.tsx +0 -1395
  501. package/src/components/form/expressions/ExpressionField.tsx +0 -503
  502. package/src/components/form/expressions/argumentPresence.ts +0 -213
  503. package/src/components/form/expressions/builder/ExpressionBuilder.stories.tsx +0 -1683
  504. package/src/components/form/expressions/builder/argumentDetail.tsx +0 -17
  505. package/src/components/form/expressions/builder/argumentLabel.tsx +0 -146
  506. package/src/components/form/expressions/builder/argumentSlot.tsx +0 -101
  507. package/src/components/form/expressions/builder/argumentWrapper.tsx +0 -243
  508. package/src/components/form/expressions/builder/confirmMismatchedTypesModal.tsx +0 -120
  509. package/src/components/form/expressions/builder/confirmUnsupportedTypeModal.tsx +0 -69
  510. package/src/components/form/expressions/builder/index.tsx +0 -1545
  511. package/src/components/form/expressions/builder/item.tsx +0 -89
  512. package/src/components/form/expressions/builder/moveToPositionStrip.tsx +0 -156
  513. package/src/components/form/expressions/builder/renderTemplate.tsx +0 -42
  514. package/src/components/form/expressions/dpqlMockLanguage.ts +0 -566
  515. package/src/components/form/expressions/dpqlMockLsp.ts +0 -126
  516. package/src/components/form/expressions/mockExpressions.ts +0 -317
  517. package/src/components/form/expressions/renderExpressionToText.ts +0 -137
  518. package/src/components/form/expressions/types.ts +0 -110
  519. package/src/components/form/expressions/useExpressions.ts +0 -101
  520. package/src/components/form/expressions/useRenderExpression.ts +0 -165
  521. package/src/components/form/fields/Field.stories.tsx +0 -143
  522. package/src/components/form/fields/Field.tsx +0 -732
  523. package/src/components/form/fields/allowed-values/AllowedValues.tsx +0 -297
  524. package/src/components/form/fields/array/ArrayAuto.tsx +0 -237
  525. package/src/components/form/fields/array/ArrayAutoField.stories.tsx +0 -475
  526. package/src/components/form/fields/array/ArrayAutoField.tsx +0 -367
  527. package/src/components/form/fields/auto/AutoFormField.stories.tsx +0 -825
  528. package/src/components/form/fields/auto/AutoFormField.tsx +0 -1164
  529. package/src/components/form/fields/binary/Binary.stories.tsx +0 -122
  530. package/src/components/form/fields/binary/Binary.tsx +0 -91
  531. package/src/components/form/fields/boolean/Boolean.stories.tsx +0 -125
  532. package/src/components/form/fields/boolean/Boolean.tsx +0 -34
  533. package/src/components/form/fields/byte-size/ByteSize.stories.tsx +0 -87
  534. package/src/components/form/fields/byte-size/ByteSize.tsx +0 -58
  535. package/src/components/form/fields/color/Color.stories.tsx +0 -99
  536. package/src/components/form/fields/color/Color.tsx +0 -46
  537. package/src/components/form/fields/cron/Cron.stories.tsx +0 -68
  538. package/src/components/form/fields/cron/Cron.tsx +0 -80
  539. package/src/components/form/fields/date/Date.stories.tsx +0 -77
  540. package/src/components/form/fields/date/Date.tsx +0 -55
  541. package/src/components/form/fields/emittedValues.ts +0 -70
  542. package/src/components/form/fields/file/File.stories.tsx +0 -161
  543. package/src/components/form/fields/file/File.tsx +0 -227
  544. package/src/components/form/fields/long-string/LongString.stories.tsx +0 -120
  545. package/src/components/form/fields/long-string/LongString.tsx +0 -130
  546. package/src/components/form/fields/markdown/Markdown.stories.tsx +0 -76
  547. package/src/components/form/fields/markdown/Markdown.tsx +0 -81
  548. package/src/components/form/fields/markdown/MarkdownView.tsx +0 -222
  549. package/src/components/form/fields/multi-select/MultiSelectFormField.tsx +0 -139
  550. package/src/components/form/fields/number/Number.stories.tsx +0 -159
  551. package/src/components/form/fields/number/Number.tsx +0 -160
  552. package/src/components/form/fields/object/Object.stories.tsx +0 -398
  553. package/src/components/form/fields/object/Object.tsx +0 -255
  554. package/src/components/form/fields/radio-group/RadioGroup.stories.tsx +0 -95
  555. package/src/components/form/fields/radio-group/RadioGroup.tsx +0 -46
  556. package/src/components/form/fields/radio-group/images/java-96x128.png +0 -0
  557. package/src/components/form/fields/radio-group/images/python-129x128.png +0 -0
  558. package/src/components/form/fields/radio-group/images/qore-106x128.png +0 -0
  559. package/src/components/form/fields/rich-text/RichText.stories.tsx +0 -260
  560. package/src/components/form/fields/rich-text/RichText.tsx +0 -537
  561. package/src/components/form/fields/schema-definition/CatalogLeafForm.tsx +0 -242
  562. package/src/components/form/fields/schema-definition/CatalogNodeEditor.tsx +0 -758
  563. package/src/components/form/fields/schema-definition/Hint.tsx +0 -22
  564. package/src/components/form/fields/schema-definition/InlineValidationBanner.tsx +0 -138
  565. package/src/components/form/fields/schema-definition/Loader.tsx +0 -20
  566. package/src/components/form/fields/schema-definition/MigrationsTab.tsx +0 -187
  567. package/src/components/form/fields/schema-definition/SchemaDefinitionField.stories.tsx +0 -286
  568. package/src/components/form/fields/schema-definition/TableEditor.tsx +0 -155
  569. package/src/components/form/fields/schema-definition/TablesTab.tsx +0 -138
  570. package/src/components/form/fields/schema-definition/catalog.ts +0 -237
  571. package/src/components/form/fields/schema-definition/helpers.ts +0 -90
  572. package/src/components/form/fields/schema-definition/index.tsx +0 -418
  573. package/src/components/form/fields/schema-definition/mockCatalog.ts +0 -325
  574. package/src/components/form/fields/schema-definition/mockDefinition.ts +0 -111
  575. package/src/components/form/fields/schema-definition/referenceSuggestions.tsx +0 -152
  576. package/src/components/form/fields/schema-definition/starterTemplate.ts +0 -68
  577. package/src/components/form/fields/schema-definition/types.ts +0 -185
  578. package/src/components/form/fields/schema-definition/useSchemaOptionCatalog.ts +0 -49
  579. package/src/components/form/fields/select/Select.stories.tsx +0 -872
  580. package/src/components/form/fields/select/Select.tsx +0 -624
  581. package/src/components/form/fields/select/SelectCollection.tsx +0 -594
  582. package/src/components/form/fields/string/String.stories.tsx +0 -86
  583. package/src/components/form/fields/string/String.tsx +0 -43
  584. package/src/components/form/fields/template/ExampleValueModal.stories.tsx +0 -114
  585. package/src/components/form/fields/template/ExampleValueModal.tsx +0 -99
  586. package/src/components/form/fields/template/ReadOnlyTemplateTag.tsx +0 -47
  587. package/src/components/form/fields/template/TemplateField.stories.tsx +0 -1121
  588. package/src/components/form/fields/template/TemplateField.tsx +0 -1717
  589. package/src/components/form/fields/template/TemplateText.tsx +0 -115
  590. package/src/components/form/fields/template/__fixtures__/longExampleValue.ts +0 -7
  591. package/src/components/form/fields/template/__fixtures__/multiLevelTemplates.json +0 -147
  592. package/src/components/form/fields/template/__fixtures__/templates.json +0 -83
  593. package/src/components/form/fields/timeout/Timeout.stories.tsx +0 -228
  594. package/src/components/form/fields/timeout/Timeout.tsx +0 -87
  595. package/src/components/form/fields/url/Url.stories.tsx +0 -94
  596. package/src/components/form/fields/url/Url.tsx +0 -85
  597. package/src/components/form/index.tsx +0 -47
  598. package/src/components/imageLightbox/ImageLightbox.stories.tsx +0 -238
  599. package/src/components/imageLightbox/ImageLightbox.tsx +0 -236
  600. package/src/components/imageLightbox/index.ts +0 -1
  601. package/src/components/log/Log.stories.tsx +0 -333
  602. package/src/components/log/Log.tsx +0 -285
  603. package/src/components/menu/Menu.stories.tsx +0 -155
  604. package/src/components/menu/Menu.tsx +0 -312
  605. package/src/components/qonsoleSmartInput/QonsoleSmartInput.stories.tsx +0 -797
  606. package/src/components/qonsoleSmartInput/QonsoleSmartInput.tsx +0 -105
  607. package/src/components/qonsoleSmartInput/index.ts +0 -16
  608. package/src/components/qonsoleSmartInput/qonsoleInserter.ts +0 -77
  609. package/src/components/qonsoleSmartInput/types.ts +0 -133
  610. package/src/components/qonsoleSmartInput/useQonsoleSession.ts +0 -124
  611. package/src/components/searchFilterBar/SearchFilterBar.stories.tsx +0 -62
  612. package/src/components/searchFilterBar/SearchFilterBar.tsx +0 -144
  613. package/src/components/searchFilterBar/index.ts +0 -1
  614. package/src/components/smartEditor/MarkdownDoc.tsx +0 -190
  615. package/src/components/smartEditor/SmartEditor.stories.tsx +0 -475
  616. package/src/components/smartEditor/SmartEditor.tsx +0 -808
  617. package/src/components/smartEditor/__fixtures__/mockLspServer.ts +0 -205
  618. package/src/components/smartEditor/helpers.ts +0 -217
  619. package/src/components/smartEditor/index.ts +0 -35
  620. package/src/components/smartEditor/styling.ts +0 -45
  621. package/src/components/smartEditor/types.ts +0 -211
  622. package/src/components/smartEditor/useLspAutocomplete.ts +0 -758
  623. package/src/components/smartEditor/useLspDiagnosticDecorations.ts +0 -125
  624. package/src/components/smartEditor/useLspHover.ts +0 -230
  625. package/src/components/smartEditor/useLspSemanticTokens.ts +0 -298
  626. package/src/components/smartEditor/useLspSession.ts +0 -231
  627. package/src/components/smartEditor/useLspSignatureHelp.ts +0 -198
  628. package/src/components/supportTicket/AttachmentChips.stories.tsx +0 -171
  629. package/src/components/supportTicket/AttachmentChips.tsx +0 -147
  630. package/src/components/supportTicket/InterfaceReferenceTags.stories.tsx +0 -257
  631. package/src/components/supportTicket/InterfaceReferenceTags.tsx +0 -129
  632. package/src/components/supportTicket/ReferencePicker.stories.tsx +0 -584
  633. package/src/components/supportTicket/ReferencePicker.tsx +0 -563
  634. package/src/components/supportTicket/TicketConversation.stories.tsx +0 -121
  635. package/src/components/supportTicket/TicketHeader.stories.tsx +0 -183
  636. package/src/components/supportTicket/TicketHeader.tsx +0 -247
  637. package/src/components/supportTicket/TicketMetaTags.stories.tsx +0 -103
  638. package/src/components/supportTicket/TicketMetaTags.tsx +0 -85
  639. package/src/components/supportTicket/TicketReplyBox.stories.tsx +0 -354
  640. package/src/components/supportTicket/TicketReplyBox.tsx +0 -150
  641. package/src/components/supportTicket/__fixtures__/kindMarks.ts +0 -28
  642. package/src/components/supportTicket/attachmentAccess.ts +0 -97
  643. package/src/components/supportTicket/fileToAttachment.ts +0 -24
  644. package/src/components/supportTicket/index.ts +0 -10
  645. package/src/components/supportTicket/meta.ts +0 -206
  646. package/src/components/supportTicket/ticketModel.ts +0 -131
  647. package/src/components/supportTicket/useLoadedImages.ts +0 -73
  648. package/src/components/ticketReferences/TicketReferences.stories.tsx +0 -315
  649. package/src/components/ticketReferences/TicketReferences.tsx +0 -906
  650. package/src/components/ticketReferences/index.ts +0 -2
  651. package/src/components/ticketThread/TicketThread.stories.tsx +0 -829
  652. package/src/components/ticketThread/TicketThread.tsx +0 -719
  653. package/src/components/ticketThread/index.ts +0 -6
  654. package/src/contexts/FetchContext.tsx +0 -25
  655. package/src/contexts/ReqraftContext.tsx +0 -9
  656. package/src/contexts/StorageContext.tsx +0 -33
  657. package/src/global.d.ts +0 -4
  658. package/src/helpers/allowedValues.ts +0 -249
  659. package/src/helpers/choiceChip.ts +0 -227
  660. package/src/helpers/common.ts +0 -326
  661. package/src/helpers/dpqlDetection.ts +0 -209
  662. package/src/helpers/expressions.ts +0 -140
  663. package/src/helpers/optionUiTypes.ts +0 -199
  664. package/src/helpers/options.ts +0 -150
  665. package/src/helpers/providerValue.ts +0 -125
  666. package/src/helpers/scrollbar.ts +0 -32
  667. package/src/helpers/singleLineString.ts +0 -61
  668. package/src/helpers/templateItems.ts +0 -81
  669. package/src/helpers/templateText.ts +0 -350
  670. package/src/helpers/templates.ts +0 -602
  671. package/src/helpers/validations.ts +0 -2085
  672. package/src/hooks/useArgSchema.ts +0 -37
  673. package/src/hooks/useCoarsePointer.ts +0 -30
  674. package/src/hooks/useFetch/useFetch.stories.tsx +0 -379
  675. package/src/hooks/useFetch/useFetch.tsx +0 -154
  676. package/src/hooks/usePhoneViewport.ts +0 -34
  677. package/src/hooks/useQorusTypes.ts +0 -233
  678. package/src/hooks/useReqraftProperty.ts +0 -16
  679. package/src/hooks/useStorage/useStorage.stories.tsx +0 -168
  680. package/src/hooks/useStorage/useStorage.ts +0 -35
  681. package/src/hooks/useTemplates.ts +0 -123
  682. package/src/hooks/useValidation.ts +0 -9
  683. package/src/hooks/useWebSocket/useWebSocket.ts +0 -224
  684. package/src/hooks/useWebSocket/useWebsocket.stories.tsx +0 -640
  685. package/src/hooks/useWhyDidYouUpdate.ts +0 -38
  686. package/src/index.tsx +0 -86
  687. package/src/providers/FetchProvider.tsx +0 -40
  688. package/src/providers/ReqraftProvider.tsx +0 -52
  689. package/src/providers/StorageProvider.tsx +0 -131
  690. package/src/stores/currentUser/currentUser.stories.tsx +0 -100
  691. package/src/stores/currentUser/currentUser.tsx +0 -94
  692. package/src/stories/Data/fileFieldArgSchema.json +0 -86
  693. package/src/stories/Tests/utils.ts +0 -320
  694. package/src/stories/storyNetwork.ts +0 -92
  695. package/src/stories/tracking.tsx +0 -206
  696. package/src/tracking/browser/attach.ts +0 -186
  697. package/src/tracking/browser/env.ts +0 -78
  698. package/src/tracking/core/consent.ts +0 -37
  699. package/src/tracking/core/engagement.ts +0 -47
  700. package/src/tracking/core/experiments.ts +0 -258
  701. package/src/tracking/core/hash.ts +0 -26
  702. package/src/tracking/core/ids.ts +0 -25
  703. package/src/tracking/core/observable.ts +0 -23
  704. package/src/tracking/core/queue.ts +0 -131
  705. package/src/tracking/core/sections.ts +0 -166
  706. package/src/tracking/core/storage.ts +0 -69
  707. package/src/tracking/core/tracker.ts +0 -417
  708. package/src/tracking/core/types.ts +0 -162
  709. package/src/tracking/core/utm.ts +0 -23
  710. package/src/tracking/index.ts +0 -72
  711. package/src/tracking/markup.ts +0 -17
  712. package/src/tracking/react/Experiment.tsx +0 -44
  713. package/src/tracking/react/TrackingProvider.tsx +0 -56
  714. package/src/tracking/react/hooks.ts +0 -106
  715. package/src/tracking/react/index.ts +0 -13
  716. package/src/tracking/testing.ts +0 -108
  717. package/src/tracking/ui/ExperimentCard.stories.tsx +0 -296
  718. package/src/tracking/ui/ExperimentCard.tsx +0 -667
  719. package/src/tracking/ui/ExperimentsOverlay.stories.tsx +0 -155
  720. package/src/tracking/ui/ExperimentsOverlay.tsx +0 -437
  721. package/src/tracking/ui/anchor.ts +0 -180
  722. package/src/tracking/ui/card.ts +0 -464
  723. package/src/tracking/ui/client.ts +0 -117
  724. package/src/tracking/ui/index.ts +0 -77
  725. package/src/tracking/ui/types.ts +0 -110
  726. package/src/tracking/ui/useExperimentsAdmin.ts +0 -103
  727. package/src/types/Form.ts +0 -29
  728. package/src/types.ts +0 -14
  729. package/src/utils/datetime.ts +0 -10
  730. package/src/utils/fetch.ts +0 -457
  731. package/src/utils/lspClient.ts +0 -711
  732. package/src/utils/lspClient.types.ts +0 -211
  733. package/src/utils/queryUnlessCancelled.ts +0 -28
  734. package/src/utils/websocket.ts +0 -293
  735. package/vite.config.ts +0 -58
  736. package/vitest.config.ts +0 -69
@@ -1,4 +1,15 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
14
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
15
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -49,11 +60,15 @@ var jsx_runtime_1 = require("react/jsx-runtime");
49
60
  var reqore_1 = require("@qoretechnologies/reqore");
50
61
  var react_1 = require("react");
51
62
  var dpqlEditor_1 = require("../../dpqlEditor");
63
+ var TemplateBrowser_1 = require("../fields/template/TemplateBrowser");
52
64
  var dpqlHelpers_1 = require("../../dpqlEditor/dpqlHelpers");
53
65
  var builder_1 = require("./builder");
54
66
  var DpqlRendering_1 = require("./DpqlRendering");
67
+ var textOfExpression_1 = require("./textOfExpression");
55
68
  var useExpressions_1 = require("./useExpressions");
56
69
  var useRenderExpression_1 = require("./useRenderExpression");
70
+ var expressions_1 = require("../../../helpers/expressions");
71
+ var useQorusTypes_1 = require("../../../hooks/useQorusTypes");
57
72
  var optionUiTypes_1 = require("../../../helpers/optionUiTypes");
58
73
  var PARSE_DEBOUNCE_MS = 300;
59
74
  /**
@@ -65,24 +80,159 @@ var PARSE_DEBOUNCE_MS = 300;
65
80
  * has stopped moving rather than twitching on the way there.
66
81
  */
67
82
  var PREVIEW_DEBOUNCE_MS = 400;
68
- /** Retry cadence for seeding the Text editor while its LSP session opens. */
69
- var SEED_RETRY_MS = 400;
70
- var SEED_MAX_TRIES = 20;
83
+ /** A diagnostic that is an error: the server marks one severity 1, or `error`. */
84
+ var isErrorDiagnostic = function (diagnostic) {
85
+ return diagnostic.severity === 1 || diagnostic.severity === 'error';
86
+ };
87
+ /** What the server says of a condition as a condition: drawn by the builder, on the cards it is about. */
88
+ var CONDITION_DIAGNOSTIC_CODES = ['NOT_A_CONDITION', 'CONDITION_BY_TRUTHINESS'];
89
+ /**
90
+ * What the server says of an expression built in the Visual view: its errors, in its words, at the danger
91
+ * intent. It writes the expression as DPQL (`dpql/serialize`) and reads it back (`dpql/parse`) on a document
92
+ * bound to the record's fields, as the Text view's document is - so the server judges what is built as it
93
+ * judges what is written. Mounted only while the Visual view shows a whole expression it can type.
94
+ *
95
+ * A condition is read as one (`condition: true`): what the server says of the whole condition and of each part
96
+ * of its `&&`, `||` and `!` goes to `onConditionParts`, for the builder to draw on the cards it is about, and is
97
+ * not repeated here.
98
+ */
99
+ var ExpressionServerErrors = (0, react_1.memo)(function (_a) {
100
+ var expression = _a.expression, fields = _a.fields, provider = _a.provider, recordType = _a.recordType, condition = _a.condition, onConditionParts = _a.onConditionParts;
101
+ var dpql = (0, dpqlEditor_1.useDpqlSession)({ fields: fields, provider: provider, recordType: recordType });
102
+ var ready = dpql.session.isReady && dpql.session.isContextReady;
103
+ var _b = (0, react_1.useState)([]), errors = _b[0], setErrors = _b[1];
104
+ var expressionKey = JSON.stringify(expression);
105
+ var serialize = dpql.serialize, parse = dpql.parse;
106
+ (0, react_1.useEffect)(function () {
107
+ if (!ready)
108
+ return undefined;
109
+ var cancelled = false;
110
+ var check = function () { return __awaiter(void 0, void 0, void 0, function () {
111
+ var said, parts, whole, text, result, _a;
112
+ return __generator(this, function (_b) {
113
+ switch (_b.label) {
114
+ case 0:
115
+ said = [];
116
+ _b.label = 1;
117
+ case 1:
118
+ _b.trys.push([1, 5, , 6]);
119
+ return [4 /*yield*/, serialize(JSON.parse(expressionKey))];
120
+ case 2:
121
+ text = _b.sent();
122
+ if (!text) return [3 /*break*/, 4];
123
+ return [4 /*yield*/, parse(text, undefined, condition ? { condition: true } : undefined)];
124
+ case 3:
125
+ result = _b.sent();
126
+ parts = (0, expressions_1.conditionPartsWithMessages)(result.parts, result.inferred_type, result.diagnostics);
127
+ whole =
128
+ condition ? (0, expressions_1.conditionWholeMessage)(result.inferred_type, result.diagnostics) : undefined;
129
+ said = result.diagnostics
130
+ .filter(function (d) {
131
+ var _a;
132
+ return isErrorDiagnostic(d) &&
133
+ !(condition && CONDITION_DIAGNOSTIC_CODES.includes(String((_a = d.code) !== null && _a !== void 0 ? _a : '')));
134
+ })
135
+ .map(function (d) { return d.message; });
136
+ _b.label = 4;
137
+ case 4: return [3 /*break*/, 6];
138
+ case 5:
139
+ _a = _b.sent();
140
+ // a server that cannot write or read it says nothing about it here
141
+ said = [];
142
+ parts = undefined;
143
+ whole = undefined;
144
+ return [3 /*break*/, 6];
145
+ case 6:
146
+ if (cancelled)
147
+ return [2 /*return*/];
148
+ setErrors(said);
149
+ onConditionParts === null || onConditionParts === void 0 ? void 0 : onConditionParts(expressionKey, parts, whole);
150
+ return [2 /*return*/];
151
+ }
152
+ });
153
+ }); };
154
+ void check();
155
+ return function () {
156
+ cancelled = true;
157
+ };
158
+ }, [ready, expressionKey, serialize, parse, condition, onConditionParts]);
159
+ if (!errors.length)
160
+ return null;
161
+ return ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreControlGroup, { vertical: true, fluid: true, size: 'small', className: 'expression-server-errors', children: errors.map(function (message, index) { return ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreMessage, { intent: 'danger', "data-severity": 'danger', size: 'small', flat: true, opaque: false, children: message }, index)); }) }));
162
+ });
71
163
  exports.ExpressionField = (0, react_1.memo)(function (_a) {
72
- var _b;
73
- var value = _a.value, onChange = _a.onChange, type = _a.type, returnType = _a.returnType, readOnly = _a.readOnly, expressionsOverride = _a.expressions, expressionsUrl = _a.expressionsUrl, localTemplates = _a.localTemplates, serverHandled = _a.serverHandled, extraActions = _a.extraActions, provider = _a.provider, fields = _a.fields, recordType = _a.recordType, _c = _a.defaultMode, defaultMode = _c === void 0 ? 'visual' : _c, size = _a.size, componentOverrides = _a.componentOverrides, reorder = _a.reorder;
164
+ var _b, _c;
165
+ var value = _a.value, onChange = _a.onChange, type = _a.type, returnType = _a.returnType, readOnly = _a.readOnly, expressionsOverride = _a.expressions, expressionsUrl = _a.expressionsUrl, localTemplates = _a.localTemplates, serverHandled = _a.serverHandled, condition = _a.condition, extraActions = _a.extraActions, provider = _a.provider, fields = _a.fields, recordType = _a.recordType, _d = _a.defaultMode, defaultMode = _d === void 0 ? 'text' : _d, initialText = _a.initialText, heldAsValue = _a.heldAsValue, requestedMode = _a.requestedMode, hideModeToggle = _a.hideModeToggle, onTextUnavailable = _a.onTextUnavailable, onModeChange = _a.onModeChange, flushRef = _a.flushRef, size = _a.size, componentOverrides = _a.componentOverrides, reorder = _a.reorder;
74
166
  var expressions = (0, useExpressions_1.useExpressions)({
75
167
  override: expressionsOverride,
76
168
  expressionsUrl: expressionsUrl,
77
169
  }).expressions;
78
170
  var renderRich = (0, useRenderExpression_1.useRenderExpression)().renderRich;
79
- var _d = (0, react_1.useState)(defaultMode), mode = _d[0], setMode = _d[1];
171
+ var _e = (0, react_1.useState)(defaultMode), mode = _e[0], setMode = _e[1];
172
+ var onModeChangeRef = (0, react_1.useRef)(onModeChange);
173
+ onModeChangeRef.current = onModeChange;
174
+ (0, react_1.useEffect)(function () {
175
+ var _a;
176
+ (_a = onModeChangeRef.current) === null || _a === void 0 ? void 0 : _a.call(onModeChangeRef, mode);
177
+ }, [mode]);
80
178
  /* The server's rendering of the current AST; empty until it has one. There is
81
179
  no client-side stand-in — see `useRenderExpression`. */
82
- var _e = (0, react_1.useState)(''), preview = _e[0], setPreview = _e[1];
180
+ var _f = (0, react_1.useState)(''), preview = _f[0], setPreview = _f[1];
83
181
  // Text mode state. `text` is the DPQL string the editor shows; the AST
84
182
  // (`value`) stays the source of truth, kept in sync via parse-on-edit.
85
- var _f = (0, react_1.useState)(''), text = _f[0], setText = _f[1];
183
+ var _g = (0, react_1.useState)(initialText !== null && initialText !== void 0 ? initialText : ''), text = _g[0], setText = _g[1];
184
+ /** The text the editor was given, for its echo of that text to be told from typing. */
185
+ var textRef = (0, react_1.useRef)(text);
186
+ textRef.current = text;
187
+ /* No language server to parse or write the text: the Text view cannot work, so the field shows the
188
+ Visual view, which needs none, and says why (qorus#646). */
189
+ var _h = (0, react_1.useState)(false), textUnavailable = _h[0], setTextUnavailable = _h[1];
190
+ /* Why the server would not write this value as text, or null. The field is then built in Visual: an empty
191
+ Text view would be one the author types over, replacing the value (qorus#646). */
192
+ var _j = (0, react_1.useState)(null), textRefused = _j[0], setTextRefused = _j[1];
193
+ // read when a refusal lands, so a host's new callback on each render does not restart the seed
194
+ var onTextUnavailableRef = (0, react_1.useRef)(onTextUnavailable);
195
+ onTextUnavailableRef.current = onTextUnavailable;
196
+ /* Whether the Text view's language server can parse and write its text - the session's own signal
197
+ (`onReady`), never a guess by time. Typed text waits for it; it is not asked of a session that is not
198
+ up, whose answer is "nothing parsed" (qorus#646: under load, text typed before the session was up
199
+ never reached the value). Each visit to the Text view opens a session of its own. */
200
+ var _k = (0, react_1.useState)(false), sessionReady = _k[0], setSessionReady = _k[1];
201
+ var sessionReadyRef = (0, react_1.useRef)(false);
202
+ /** Who waits for the session: told true when it is ready, false when it cannot be reached or goes. */
203
+ var sessionWaiters = (0, react_1.useRef)([]);
204
+ var settleSessionWaiters = (0, react_1.useCallback)(function (ready) {
205
+ var waiters = sessionWaiters.current;
206
+ sessionWaiters.current = [];
207
+ waiters.forEach(function (resolve) { return resolve(ready); });
208
+ }, []);
209
+ var whenSessionReady = (0, react_1.useCallback)(function () {
210
+ return sessionReadyRef.current ?
211
+ Promise.resolve(true)
212
+ : new Promise(function (resolve) { return sessionWaiters.current.push(resolve); });
213
+ }, []);
214
+ var handleTextReady = (0, react_1.useCallback)(function () {
215
+ sessionReadyRef.current = true;
216
+ setSessionReady(true);
217
+ settleSessionWaiters(true);
218
+ }, [settleSessionWaiters]);
219
+ (0, react_1.useEffect)(function () {
220
+ if (mode === 'text')
221
+ return;
222
+ sessionReadyRef.current = false;
223
+ setSessionReady(false);
224
+ settleSessionWaiters(false);
225
+ }, [mode, settleSessionWaiters]);
226
+ (0, react_1.useEffect)(function () { return function () { return settleSessionWaiters(false); }; }, [settleSessionWaiters]);
227
+ var handleTextUnavailable = (0, react_1.useCallback)(function () {
228
+ setTextUnavailable(true);
229
+ settleSessionWaiters(false);
230
+ onTextUnavailable === null || onTextUnavailable === void 0 ? void 0 : onTextUnavailable();
231
+ // text typed and not read stays as typed, in the Text view, with the reason under it: nothing is lost
232
+ if (pendingParse.current !== null)
233
+ return;
234
+ setMode('visual');
235
+ }, [onTextUnavailable, settleSessionWaiters]);
86
236
  /* The text the current AST was parsed FROM.
87
237
  *
88
238
  * The preview renders the AST, and the AST only moves on a SUCCESSFUL
@@ -91,15 +241,17 @@ exports.ExpressionField = (0, react_1.memo)(function (_a) {
91
241
  * the editor does not contain: deleting the `2` from `1 + 2` left
92
242
  * "Unexpected end of input" sitting directly above a Preview confidently
93
243
  * reading `1 + 2`. */
94
- var _g = (0, react_1.useState)(''), astText = _g[0], setAstText = _g[1];
244
+ var _l = (0, react_1.useState)(''), astText = _l[0], setAstText = _l[1];
95
245
  /**
96
246
  * The server's answer to "can this expression's result satisfy the type
97
247
  * this field declares?". `null` when nothing has been asked, or when the
98
248
  * field declares no type worth asking about.
99
249
  */
100
- var _h = (0, react_1.useState)(null), typeCheck = _h[0], setTypeCheck = _h[1];
250
+ var _m = (0, react_1.useState)(null), typeCheck = _m[0], setTypeCheck = _m[1];
101
251
  var dpqlRef = (0, react_1.useRef)(null);
102
252
  var parseTimer = (0, react_1.useRef)(null);
253
+ /** The text typed whose parse is still waiting on the debounce, or null. */
254
+ var pendingParse = (0, react_1.useRef)(null);
103
255
  var ast = (0, react_1.useMemo)(function () { return value === null || value === void 0 ? void 0 : value.value; }, [value]);
104
256
  /**
105
257
  * The type the expression's result has to satisfy, sent with every parse.
@@ -113,6 +265,36 @@ exports.ExpressionField = (0, react_1.memo)(function (_a) {
113
265
  var declared = Array.isArray(returnType) ? undefined : (returnType !== null && returnType !== void 0 ? returnType : type);
114
266
  return declared && !(0, optionUiTypes_1.isUntypedOptionType)(declared) ? declared : undefined;
115
267
  }, [returnType, type]);
268
+ /** A condition is asked as one, not as a type to fit. */
269
+ var parseOptions = (0, react_1.useMemo)(function () { return (condition ? { condition: true } : undefined); }, [condition]);
270
+ /**
271
+ * The expression built in the Visual view, as the server is asked about it (qorus#646): whole, and only
272
+ * where the server can type its operands - with the record's fields or a provider's. The server refuses
273
+ * operands its operators cannot combine (DPQL-E050, `@create + 1` with `create` a hash), which nothing
274
+ * on this side can tell; the Text view shows it as the server publishes it, and so does this view.
275
+ */
276
+ var serverCheckable = (0, react_1.useMemo)(function () {
277
+ return (mode === 'visual' &&
278
+ ((!!fields && Object.keys(fields).length > 0) || !!provider || !!condition)) ?
279
+ (0, textOfExpression_1.serializableExpression)(ast)
280
+ : undefined;
281
+ }, [mode, fields, provider, condition, ast]);
282
+ /* What the server said of each part of the condition built in the Visual view (qorus#646), for the
283
+ expression it was said of: an answer about an expression since edited is not drawn on it. */
284
+ var _o = (0, react_1.useState)(), conditionParts = _o[0], setConditionParts = _o[1];
285
+ var onConditionParts = (0, react_1.useCallback)(function (key, parts, whole) {
286
+ return setConditionParts({ key: key, parts: parts, whole: whole });
287
+ }, []);
288
+ var currentCondition = serverCheckable && (conditionParts === null || conditionParts === void 0 ? void 0 : conditionParts.key) === JSON.stringify(serverCheckable) ?
289
+ conditionParts
290
+ : undefined;
291
+ var currentConditionParts = currentCondition === null || currentCondition === void 0 ? void 0 : currentCondition.parts;
292
+ /* What the server says of the whole condition built in the Visual view, in its words: drawn there as the
293
+ Text view draws it, in place of the builder's own fallback. */
294
+ var currentConditionMessage = currentCondition === null || currentCondition === void 0 ? void 0 : currentCondition.whole;
295
+ var qorusTypes = (0, useQorusTypes_1.useQorusTypes)();
296
+ /** A type named inside a sentence: the sentence form of what it is ("a whole number"), or nothing (qorus#646). */
297
+ var typeInSentence = (0, react_1.useCallback)(function (type) { var _a; return (_a = qorusTypes.getTypeSentenceForm((0, expressions_1.conditionBaseType)(type))) !== null && _a !== void 0 ? _a : 'nothing'; }, [qorusTypes]);
116
298
  /**
117
299
  * Read the type analysis off a parse result, or clear it.
118
300
  *
@@ -122,7 +304,27 @@ exports.ExpressionField = (0, react_1.memo)(function (_a) {
122
304
  * noise the message below is written to avoid.
123
305
  */
124
306
  var readTypeCheck = (0, react_1.useCallback)(function (result) {
125
- var _a;
307
+ var _a, _b, _c;
308
+ /* A condition is not a type to fit (qorus#646): the server reads it as true unless its value is
309
+ zero or empty, so it is said as every condition editor says it - a number accepted with a warning,
310
+ text refused. The server's reading, with its own words, when it gave one; the inferred type read
311
+ the same way when it did not (a server that does not know the question). */
312
+ if (condition) {
313
+ if (!result) {
314
+ setTypeCheck(null);
315
+ return;
316
+ }
317
+ var reading = result.condition_reading;
318
+ var verdict_1 = reading === 'not_a_condition' ? 'error'
319
+ : reading === 'truthiness' ? 'warning'
320
+ : reading ? undefined
321
+ : (0, expressions_1.conditionVerdict)(result.inferred_type);
322
+ var said = (_b = (_a = result.diagnostics) === null || _a === void 0 ? void 0 : _a.find(function (d) {
323
+ return verdict_1 === 'error' ? d.code === 'NOT_A_CONDITION' : d.code === 'CONDITION_BY_TRUTHINESS';
324
+ })) === null || _b === void 0 ? void 0 : _b.message;
325
+ setTypeCheck(verdict_1 ? __assign({ compatible: verdict_1 !== 'error', mayFail: false, inferred: result.inferred_type, condition: verdict_1 }, (said ? { message: said } : {})) : null);
326
+ return;
327
+ }
126
328
  if (!result || result.type_compatible === undefined) {
127
329
  setTypeCheck(null);
128
330
  return;
@@ -133,9 +335,9 @@ exports.ExpressionField = (0, react_1.memo)(function (_a) {
133
335
  mayFail: !!result.coercion_may_fail,
134
336
  inferred: result.inferred_type,
135
337
  target: result.target_type,
136
- fix: (_a = result.suggested_fix) === null || _a === void 0 ? void 0 : _a.text,
338
+ fix: (_c = result.suggested_fix) === null || _c === void 0 ? void 0 : _c.text,
137
339
  });
138
- }, []);
340
+ }, [condition]);
139
341
  // Keep a readable rendering of the current expression in sync — the
140
342
  // single live mirror of the AST (the server's `dpql/renderExpression`).
141
343
  //
@@ -189,65 +391,70 @@ exports.ExpressionField = (0, react_1.memo)(function (_a) {
189
391
  hadExpression.current = true;
190
392
  return;
191
393
  }
394
+ // a template or a literal written here is held as itself: the text stands for it, and stays
395
+ if (heldAsValue) {
396
+ hadExpression.current = false;
397
+ return;
398
+ }
192
399
  if (hadExpression.current) {
193
400
  hadExpression.current = false;
194
401
  userTypedRef.current = false;
195
402
  setText('');
196
403
  }
197
- }, [ast]);
198
- // Text mode: parse the DPQL into the AST (debounced).
199
- /* The session may not be attached when the debounce fires — the editor
200
- mounts on the render that flips the mode, and its LSP session comes up
201
- after that. `dpqlRef.current?.parse?.()` is optional all the way down, so
202
- an early call resolves `undefined`, `readTypeCheck` CLEARS the analysis,
203
- and nothing asks again: the author types once into a fresh Text field and
204
- is told nothing about the type until they happen to type another
205
- character.
206
-
207
- The seeding effect below already retries for this exact reason
208
- ("`serialize` resolves '' until the editor's LSP session is ready"); the
209
- parse path needed the same care and did not have it. Same budget as
210
- seeding, so a session that never arrives gives up rather than spinning.
211
-
212
- Found by CI, not locally: the session is up before the debounce on a
213
- fast machine, so the story asserting the type message passed here every
214
- time and failed on the runner. */
404
+ }, [ast, heldAsValue]);
405
+ /* Read the text typed and not yet read: once the session is ready, however long that takes, and the
406
+ latest text typed by then. Gives the expression it is, or nothing. The debounce, the host leaving the
407
+ Text view (its tabs) and the session coming up all read through here. */
408
+ var flushPendingParse = (0, react_1.useCallback)(function () { return __awaiter(void 0, void 0, void 0, function () {
409
+ var pending, parse, result;
410
+ var _a;
411
+ return __generator(this, function (_b) {
412
+ switch (_b.label) {
413
+ case 0:
414
+ if (pendingParse.current === null)
415
+ return [2 /*return*/, undefined];
416
+ return [4 /*yield*/, whenSessionReady()];
417
+ case 1:
418
+ if (!(_b.sent()))
419
+ return [2 /*return*/, undefined];
420
+ pending = pendingParse.current;
421
+ parse = (_a = dpqlRef.current) === null || _a === void 0 ? void 0 : _a.parse;
422
+ if (pending === null || !parse)
423
+ return [2 /*return*/, undefined];
424
+ if (parseTimer.current)
425
+ clearTimeout(parseTimer.current);
426
+ pendingParse.current = null;
427
+ return [4 /*yield*/, parse(pending, targetType, parseOptions)];
428
+ case 2:
429
+ result = _b.sent();
430
+ readTypeCheck(result);
431
+ if (!(result === null || result === void 0 ? void 0 : result.success) || !result.expression)
432
+ return [2 /*return*/, undefined];
433
+ setAstText(pending);
434
+ // `dpql/parse` returns the field-ready `{ is_expression, value }`.
435
+ onChange(result.expression);
436
+ return [2 /*return*/, result.expression];
437
+ }
438
+ });
439
+ }); }, [onChange, targetType, parseOptions, readTypeCheck, whenSessionReady]);
440
+ // Text mode: parse the DPQL into the AST, debounced, once the session can read it.
215
441
  var handleDpqlChange = (0, react_1.useCallback)(function (next) {
442
+ /* The editor reports the text it was given back as a change (Slate's first operation after the
443
+ value is set). That is not typing: counted as such it stopped the session from writing the
444
+ expression into the view once it was ready. */
445
+ if (next === textRef.current)
446
+ return;
216
447
  userTypedRef.current = true;
217
448
  setText(next);
218
449
  if (parseTimer.current)
219
450
  clearTimeout(parseTimer.current);
220
- var tries = 0;
221
- var runParse = function () { return __awaiter(void 0, void 0, void 0, function () {
222
- var parse, result;
223
- var _a;
224
- return __generator(this, function (_b) {
225
- switch (_b.label) {
226
- case 0:
227
- parse = (_a = dpqlRef.current) === null || _a === void 0 ? void 0 : _a.parse;
228
- if (!parse) {
229
- if (++tries < SEED_MAX_TRIES) {
230
- parseTimer.current = setTimeout(runParse, SEED_RETRY_MS);
231
- }
232
- return [2 /*return*/];
233
- }
234
- return [4 /*yield*/, parse(next, targetType)];
235
- case 1:
236
- result = _b.sent();
237
- readTypeCheck(result);
238
- if ((result === null || result === void 0 ? void 0 : result.success) && result.expression) {
239
- setAstText(next);
240
- // `dpql/parse` returns the field-ready `{ is_expression, value }`.
241
- onChange(result.expression);
242
- }
243
- return [2 /*return*/];
244
- }
245
- });
246
- }); };
247
- parseTimer.current = setTimeout(runParse, PARSE_DEBOUNCE_MS);
248
- }, [onChange, targetType, readTypeCheck]);
249
- /** Whether this visit to Text mode has already put the AST in the editor. */
250
- var seededRef = (0, react_1.useRef)(false);
451
+ pendingParse.current = next;
452
+ parseTimer.current = setTimeout(function () { return void flushPendingParse(); }, PARSE_DEBOUNCE_MS);
453
+ }, [flushPendingParse]);
454
+ /** Whether this visit to Text mode has already put the AST in the editor. The host's own text for the
455
+ * first visit (`initialText`, such as the value written as `concat("SUP-", $record:{pos})`) is that visit's
456
+ * text: the session does not write over it once it is ready. */
457
+ var seededRef = (0, react_1.useRef)(!!initialText);
251
458
  /* Seed the Text editor from the AST whenever Text mode becomes active
252
459
  * (including a `defaultMode='text'` mount). This must run as an effect: the
253
460
  * editor only mounts on the same render that flips the mode (so `dpqlRef`
@@ -280,39 +487,78 @@ exports.ExpressionField = (0, react_1.memo)(function (_a) {
280
487
  return undefined;
281
488
  if (!(ast === null || ast === void 0 ? void 0 : ast.exp))
282
489
  return undefined;
283
- var seedAst = ast;
490
+ /* Only what DPQL can write is serialized. An operand whose operation is not
491
+ chosen yet, or that is not filled in, has no text; handed to serialize as
492
+ it was, it came back as the server's (or a stand-in's) rendering of a hash:
493
+ `{args=(null)} > {type=int}`. The Text view shows the expression with a hole
494
+ for each part not filled in instead - `… > …`, as the row's summary does -
495
+ and serialize gets custom Text values as the strings or templates they are. */
496
+ var seedAst = (0, textOfExpression_1.serializableExpression)(ast);
497
+ if (!seedAst) {
498
+ var holes = (0, textOfExpression_1.incompleteExpressionText)(ast, expressions);
499
+ seededRef.current = true;
500
+ setText(holes);
501
+ setAstText(holes);
502
+ return undefined;
503
+ }
504
+ // written by the session once it is ready, as the session says it - not asked of it before
505
+ if (!sessionReady)
506
+ return undefined;
284
507
  var cancelled = false;
285
- var timer = null;
286
- var tries = 0;
287
508
  var seed = function () { return __awaiter(void 0, void 0, void 0, function () {
288
- var t;
289
- var _a, _b;
290
- return __generator(this, function (_c) {
291
- switch (_c.label) {
292
- case 0: return [4 /*yield*/, ((_b = (_a = dpqlRef.current) === null || _a === void 0 ? void 0 : _a.serialize) === null || _b === void 0 ? void 0 : _b.call(_a, seedAst))];
509
+ var t, error_1, result;
510
+ var _a, _b, _c, _d, _e, _f;
511
+ return __generator(this, function (_g) {
512
+ switch (_g.label) {
513
+ case 0:
514
+ _g.trys.push([0, 2, , 3]);
515
+ return [4 /*yield*/, ((_b = (_a = dpqlRef.current) === null || _a === void 0 ? void 0 : _a.serialize) === null || _b === void 0 ? void 0 : _b.call(_a, seedAst))];
293
516
  case 1:
294
- t = _c.sent();
517
+ t = _g.sent();
518
+ return [3 /*break*/, 3];
519
+ case 2:
520
+ error_1 = _g.sent();
295
521
  if (cancelled || userTypedRef.current)
296
522
  return [2 /*return*/];
297
- if (t) {
298
- seededRef.current = true;
299
- setText(t);
300
- setAstText(t);
301
- }
302
- else if (++tries < SEED_MAX_TRIES) {
303
- timer = setTimeout(seed, SEED_RETRY_MS);
304
- }
523
+ setTextRefused(String((_c = error_1 === null || error_1 === void 0 ? void 0 : error_1.message) !== null && _c !== void 0 ? _c : error_1));
524
+ setMode('visual');
525
+ // a host drawing the views as tabs follows: the Visual tab
526
+ (_d = onTextUnavailableRef.current) === null || _d === void 0 ? void 0 : _d.call(onTextUnavailableRef);
305
527
  return [2 /*return*/];
528
+ case 3:
529
+ if (cancelled || userTypedRef.current)
530
+ return [2 /*return*/];
531
+ setTextRefused(null);
532
+ if (!t) return [3 /*break*/, 5];
533
+ seededRef.current = true;
534
+ setText(t);
535
+ setAstText(t);
536
+ if (!(targetType || condition)) return [3 /*break*/, 5];
537
+ return [4 /*yield*/, ((_f = (_e = dpqlRef.current) === null || _e === void 0 ? void 0 : _e.parse) === null || _f === void 0 ? void 0 : _f.call(_e, t, targetType, parseOptions))];
538
+ case 4:
539
+ result = _g.sent();
540
+ if (!cancelled && !userTypedRef.current)
541
+ readTypeCheck(result);
542
+ _g.label = 5;
543
+ case 5: return [2 /*return*/];
306
544
  }
307
545
  });
308
546
  }); };
309
547
  void seed();
310
548
  return function () {
311
549
  cancelled = true;
312
- if (timer)
313
- clearTimeout(timer);
314
550
  };
315
- }, [mode, ast]);
551
+ }, [mode, ast, expressions, targetType, parseOptions, condition, readTypeCheck, sessionReady]);
552
+ /** The field's templates, its catalogue's entries, for the Text view's picker. */
553
+ var templateItems = (0, react_1.useMemo)(function () { var _a; return ((_a = localTemplates === null || localTemplates === void 0 ? void 0 : localTemplates.items) !== null && _a !== void 0 ? _a : []); }, [localTemplates]);
554
+ /* A template chosen from the picker goes in after the text, as a chip, and is parsed as typed text is:
555
+ the editor keeps no caret the field can reach, so the end of the text is where it is put. */
556
+ var insertTemplate = (0, react_1.useCallback)(function (item) {
557
+ if (typeof (item === null || item === void 0 ? void 0 : item.value) !== 'string' || !item.value)
558
+ return;
559
+ var current = text.trimEnd();
560
+ handleDpqlChange(current ? "".concat(current, " ").concat(item.value) : item.value);
561
+ }, [text, handleDpqlChange]);
316
562
  // Switch to Text: the seeding effect above serializes the AST once
317
563
  // the editor's session is up.
318
564
  var enterTextMode = (0, react_1.useCallback)(function () {
@@ -320,28 +566,55 @@ exports.ExpressionField = (0, react_1.memo)(function (_a) {
320
566
  }, []);
321
567
  // Switch to Visual: flush any pending parse so the AST is current.
322
568
  var enterVisualMode = (0, react_1.useCallback)(function () { return __awaiter(void 0, void 0, void 0, function () {
323
- var result;
324
- var _a, _b;
325
- return __generator(this, function (_c) {
326
- switch (_c.label) {
569
+ var edited, _a, result;
570
+ var _b, _c;
571
+ return __generator(this, function (_d) {
572
+ switch (_d.label) {
327
573
  case 0:
328
574
  if (parseTimer.current)
329
575
  clearTimeout(parseTimer.current);
330
- if (!(mode === 'text' && text)) return [3 /*break*/, 2];
331
- return [4 /*yield*/, ((_b = (_a = dpqlRef.current) === null || _a === void 0 ? void 0 : _a.parse) === null || _b === void 0 ? void 0 : _b.call(_a, text, targetType))];
576
+ pendingParse.current = null;
577
+ edited = text !== astText && userTypedRef.current;
578
+ _a = mode === 'text' && text && edited;
579
+ if (!_a) return [3 /*break*/, 2];
580
+ return [4 /*yield*/, whenSessionReady()];
332
581
  case 1:
333
- result = _c.sent();
582
+ _a = (_d.sent());
583
+ _d.label = 2;
584
+ case 2:
585
+ if (!_a) return [3 /*break*/, 4];
586
+ return [4 /*yield*/, ((_c = (_b = dpqlRef.current) === null || _b === void 0 ? void 0 : _b.parse) === null || _c === void 0 ? void 0 : _c.call(_b, text, targetType, parseOptions))];
587
+ case 3:
588
+ result = _d.sent();
334
589
  readTypeCheck(result);
335
590
  if ((result === null || result === void 0 ? void 0 : result.success) && result.expression) {
336
591
  onChange(result.expression);
337
592
  }
338
- _c.label = 2;
339
- case 2:
593
+ _d.label = 4;
594
+ case 4:
340
595
  setMode('visual');
341
596
  return [2 /*return*/];
342
597
  }
343
598
  });
344
- }); }, [mode, text, onChange, targetType, readTypeCheck]);
599
+ }); }, [mode, text, astText, onChange, targetType, parseOptions, readTypeCheck, whenSessionReady]);
600
+ // the host's tabs: followed as the toggle is (see `requestedMode`)
601
+ (0, react_1.useEffect)(function () {
602
+ if (!requestedMode || requestedMode === mode)
603
+ return;
604
+ if (requestedMode === 'visual')
605
+ void enterVisualMode();
606
+ else if (!textUnavailable)
607
+ enterTextMode();
608
+ }, [requestedMode]);
609
+ (0, react_1.useEffect)(function () {
610
+ if (!flushRef)
611
+ return undefined;
612
+ flushRef.current = flushPendingParse;
613
+ return function () {
614
+ if (flushRef.current === flushPendingParse)
615
+ flushRef.current = null;
616
+ };
617
+ }, [flushRef, flushPendingParse]);
345
618
  (0, react_1.useEffect)(function () { return function () {
346
619
  if (parseTimer.current)
347
620
  clearTimeout(parseTimer.current);
@@ -353,13 +626,37 @@ exports.ExpressionField = (0, react_1.memo)(function (_a) {
353
626
  var previewState = !preview || astText.trim() !== text.trim() ? 'none'
354
627
  : (0, dpqlHelpers_1.dpqlDisplayedText)(preview).trim() === (0, dpqlHelpers_1.dpqlDisplayedText)(text).trim() ? 'repeats'
355
628
  : 'shown';
356
- return ((0, jsx_runtime_1.jsxs)(reqore_1.ReqoreControlGroup, { vertical: true, fluid: true, gapSize: 'small', className: 'expression-field', "data-preview": mode === 'text' ? previewState : undefined, children: [(0, jsx_runtime_1.jsxs)(reqore_1.ReqoreControlGroup, { gapSize: 'small', fluid: true, children: [(0, jsx_runtime_1.jsx)(reqore_1.ReqoreButton, { icon: 'NodeTree', active: mode === 'visual', onClick: enterVisualMode, disabled: readOnly, size: size, children: "Visual" }), (0, jsx_runtime_1.jsx)(reqore_1.ReqoreButton, { icon: 'CodeLine', active: mode === 'text', onClick: enterTextMode, disabled: readOnly, size: size, children: "Text" })] }), mode === 'text' ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(dpqlEditor_1.DpqlEditor, { ref: dpqlRef, value: text, onChange: handleDpqlChange, provider: provider, recordType: recordType, fields: fields, readOnly: readOnly, height: '48px' }), typeCheck && !typeCheck.compatible && ((0, jsx_runtime_1.jsxs)(reqore_1.ReqoreMessage, { intent: typeCheck.mayFail ? 'warning' : 'danger', size: 'small', flat: true, opaque: false, title: typeCheck.mayFail ? 'This may not fit' : 'This does not fit', children: ["The expression returns ".concat(typeCheck.inferred, ", and this field holds ").concat(typeCheck.target, "."), typeCheck.mayFail ?
357
- ' That conversion is attempted rather than guaranteed, so the value itself is checked when it runs.'
358
- : '', typeCheck.fix ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(reqore_1.ReqoreVerticalSpacer, { height: 6 }), (0, jsx_runtime_1.jsx)(DpqlRendering_1.DpqlRendering, { text: typeCheck.fix, "data-testid": 'expression-type-fix' })] })) : null] })), previewState === 'shown' ? ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreMessage, { intent: 'info', size: 'small', title: 'Preview', flat: true, opaque: false, children: (0, jsx_runtime_1.jsx)(DpqlRendering_1.DpqlRendering, { text: preview, "data-testid": 'expression-preview' }) })) : null] })) : ((0, jsx_runtime_1.jsx)(builder_1.ExpressionBuilder, { value: value, onChange: function (v, remove) { return onChange(v, remove); }, expressions: expressions,
359
- // Default to `auto` when the field declares no return type, so a
360
- // valid expression renders `muted` rather than `danger` (the
361
- // builder's intent requires a truthy returnType).
362
- returnType: ((_b = returnType !== null && returnType !== void 0 ? returnType : type) !== null && _b !== void 0 ? _b : 'auto'), readOnly: readOnly, localTemplates: localTemplates !== null && localTemplates !== void 0 ? localTemplates : { items: [] }, serverHandled: serverHandled, componentOverrides: componentOverrides, extraActions: extraActions, size: size, reorder: reorder }))] }));
629
+ return ((0, jsx_runtime_1.jsxs)(reqore_1.ReqoreControlGroup, { vertical: true, fluid: true, gapSize: 'small', className: 'expression-field', "data-preview": mode === 'text' ? previewState : undefined, children: [hideModeToggle ? null : ((0, jsx_runtime_1.jsxs)(reqore_1.ReqoreControlGroup, { gapSize: 'small', fluid: true, children: [(0, jsx_runtime_1.jsx)(reqore_1.ReqoreButton, { icon: 'CodeLine', active: mode === 'text', onClick: enterTextMode, disabled: readOnly || textUnavailable, tooltip: textUnavailable ? 'The expression language server is not available' : undefined, size: size, children: "Text" }), (0, jsx_runtime_1.jsx)(reqore_1.ReqoreButton, { icon: 'NodeTree', active: mode === 'visual', onClick: enterVisualMode, disabled: readOnly, size: size, children: "Visual" })] })), mode === 'text' ?
630
+ (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [textUnavailable ?
631
+ (0, jsx_runtime_1.jsx)(reqore_1.ReqoreMessage, { intent: 'warning', size: 'small', flat: true, opaque: false, className: 'expression-text-unavailable', children: "The expression language server is not available, so this text cannot be read yet. It is kept as you typed it; the Visual view builds the expression without the server." })
632
+ : null, (0, jsx_runtime_1.jsxs)(reqore_1.ReqoreControlGroup, { gapSize: 'small', fluid: true, verticalAlign: 'flex-start', children: [(0, jsx_runtime_1.jsx)(dpqlEditor_1.DpqlEditor, { ref: dpqlRef, value: text, onChange: handleDpqlChange, provider: provider, recordType: recordType, fields: fields,
633
+ // the field's own templates name the chips as its catalogue names them
634
+ templates: localTemplates, readOnly: readOnly,
635
+ // no floor of its own: one line as tall as the text it shows, growing with its lines - a
636
+ // 48px floor left an empty strip under the text, which the picker beside it could not match
637
+ onUnavailable: handleTextUnavailable, onReady: handleTextReady }), templateItems.length && !readOnly ?
638
+ (0, jsx_runtime_1.jsx)(TemplateBrowser_1.TemplateBrowser, { className: 'expression-text-template-picker', icon: 'MoneyDollarCircleLine', "aria-label": 'Insert a template', tooltip: 'Insert a template',
639
+ // the size of the text it inserts into - the DPQL editor is drawn at the normal size in
640
+ // any form - so the two are as tall as each other
641
+ size: 'normal', fixed: true, templates: localTemplates, focusFilter: true, onItemSelect: insertTemplate })
642
+ : null] }), (typeCheck === null || typeCheck === void 0 ? void 0 : typeCheck.condition) && ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreMessage, { className: 'expression-condition-verdict', intent: typeCheck.condition === 'error' ? 'danger' : 'warning', size: 'small', flat: true, opaque: false, children: (_b = typeCheck.message) !== null && _b !== void 0 ? _b : (typeCheck.condition === 'error' ?
643
+ (0, expressions_1.conditionErrorText)(typeInSentence(typeCheck.inferred), typeCheck.inferred)
644
+ : (0, expressions_1.conditionByTruthinessText)(typeCheck.inferred)) })), typeCheck && !typeCheck.compatible && !typeCheck.condition && ((0, jsx_runtime_1.jsxs)(reqore_1.ReqoreMessage, { intent: typeCheck.mayFail ? 'warning' : 'danger', size: 'small', flat: true, opaque: false, title: typeCheck.mayFail ? 'This may not fit' : 'This does not fit', children: ["The expression gives ".concat(typeInSentence(typeCheck.inferred), ", and this field takes ").concat(typeInSentence(typeCheck.target), "."), typeCheck.mayFail ? ' Qorus converts the value when it runs, and checks it then.' : '', typeCheck.fix ?
645
+ (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(reqore_1.ReqoreVerticalSpacer, { height: 6 }), (0, jsx_runtime_1.jsx)(DpqlRendering_1.DpqlRendering, { text: typeCheck.fix, "data-testid": 'expression-type-fix' })] })
646
+ : null] })), previewState === 'shown' ?
647
+ (0, jsx_runtime_1.jsx)(reqore_1.ReqoreMessage, { intent: 'info', size: 'small', title: 'Preview', flat: true, opaque: false, children: (0, jsx_runtime_1.jsx)(DpqlRendering_1.DpqlRendering, { text: preview, "data-testid": 'expression-preview' }) })
648
+ : null] })
649
+ : (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [textRefused ?
650
+ (0, jsx_runtime_1.jsxs)(reqore_1.ReqoreMessage, { intent: 'warning', size: 'small', flat: true, opaque: false, className: 'expression-text-refused', children: ["This expression cannot be shown as text, so it is built here: ", textRefused] })
651
+ : null, textUnavailable ?
652
+ (0, jsx_runtime_1.jsx)(reqore_1.ReqoreMessage, { intent: 'muted', size: 'small', flat: true, opaque: false, className: 'expression-text-unavailable', children: "The Text view needs the expression language server, which is not available: the expression is built here instead." })
653
+ : null, (0, jsx_runtime_1.jsx)(builder_1.ExpressionBuilder, { value: value, onChange: function (v, remove) { return onChange(v, remove); }, expressions: expressions,
654
+ // Default to `auto` when the field declares no return type, so a
655
+ // valid expression renders `muted` rather than `danger` (the
656
+ // builder's intent requires a truthy returnType).
657
+ returnType: ((_c = returnType !== null && returnType !== void 0 ? returnType : type) !== null && _c !== void 0 ? _c : 'auto'), readOnly: readOnly, localTemplates: localTemplates !== null && localTemplates !== void 0 ? localTemplates : { items: [] }, serverHandled: serverHandled, condition: condition, conditionParts: currentConditionParts, conditionMessage: currentConditionMessage, componentOverrides: componentOverrides, extraActions: extraActions, size: size, reorder: reorder }), serverCheckable ?
658
+ (0, jsx_runtime_1.jsx)(ExpressionServerErrors, { expression: serverCheckable, fields: fields, provider: provider, recordType: recordType, condition: condition, onConditionParts: condition ? onConditionParts : undefined })
659
+ : null] })] }));
363
660
  });
364
661
  exports.default = exports.ExpressionField;
365
662
  //# sourceMappingURL=ExpressionField.js.map