@qoretechnologies/reqraft 0.10.65 → 0.10.66-pr.137.ga1983bf

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 (873) 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 +413 -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 +322 -124
  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 +29 -3
  58. package/dist/components/form/engine/CompactToolbar.js.map +1 -1
  59. package/dist/components/form/engine/FormEngine.d.ts +66 -11
  60. package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
  61. package/dist/components/form/engine/FormEngine.js +570 -176
  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.map +1 -1
  68. package/dist/components/form/engine/OptionFieldMessages.js +25 -3
  69. package/dist/components/form/engine/OptionFieldMessages.js.map +1 -1
  70. package/dist/components/form/engine/OptionsHelpDialog.d.ts.map +1 -1
  71. package/dist/components/form/engine/OptionsHelpDialog.js +19 -2
  72. package/dist/components/form/engine/OptionsHelpDialog.js.map +1 -1
  73. package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts +2 -2
  74. package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts.map +1 -1
  75. package/dist/components/form/engine/_structuredData/SchemaDataView.js +12 -6
  76. package/dist/components/form/engine/_structuredData/SchemaDataView.js.map +1 -1
  77. package/dist/components/form/engine/compactRowContext.d.ts +30 -1
  78. package/dist/components/form/engine/compactRowContext.d.ts.map +1 -1
  79. package/dist/components/form/engine/compactRowContext.js.map +1 -1
  80. package/dist/components/form/engine/compactRowStyles.d.ts +59 -22
  81. package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
  82. package/dist/components/form/engine/compactRowStyles.js +102 -55
  83. package/dist/components/form/engine/compactRowStyles.js.map +1 -1
  84. package/dist/components/form/engine/compactToolbarColors.d.ts +16 -0
  85. package/dist/components/form/engine/compactToolbarColors.d.ts.map +1 -0
  86. package/dist/components/form/engine/compactToolbarColors.js +21 -0
  87. package/dist/components/form/engine/compactToolbarColors.js.map +1 -0
  88. package/dist/components/form/engine/inheritProps.d.ts +29 -0
  89. package/dist/components/form/engine/inheritProps.d.ts.map +1 -0
  90. package/dist/components/form/engine/inheritProps.js +43 -0
  91. package/dist/components/form/engine/inheritProps.js.map +1 -0
  92. package/dist/components/form/engine/operatorSummary.d.ts +26 -0
  93. package/dist/components/form/engine/operatorSummary.d.ts.map +1 -0
  94. package/dist/components/form/engine/operatorSummary.js +35 -0
  95. package/dist/components/form/engine/operatorSummary.js.map +1 -0
  96. package/dist/components/form/engine/readFirst.d.ts +24 -8
  97. package/dist/components/form/engine/readFirst.d.ts.map +1 -1
  98. package/dist/components/form/engine/readFirst.js +77 -109
  99. package/dist/components/form/engine/readFirst.js.map +1 -1
  100. package/dist/components/form/engine/readFirstColors.d.ts +30 -0
  101. package/dist/components/form/engine/readFirstColors.d.ts.map +1 -0
  102. package/dist/components/form/engine/readFirstColors.js +51 -0
  103. package/dist/components/form/engine/readFirstColors.js.map +1 -0
  104. package/dist/components/form/engine/rowFocus.d.ts +2 -0
  105. package/dist/components/form/engine/rowFocus.d.ts.map +1 -1
  106. package/dist/components/form/engine/rowFocus.js +26 -3
  107. package/dist/components/form/engine/rowFocus.js.map +1 -1
  108. package/dist/components/form/engine/typeChoices.d.ts +1 -1
  109. package/dist/components/form/engine/variants/VariantCalmTable.d.ts.map +1 -1
  110. package/dist/components/form/engine/variants/VariantCalmTable.js +2 -1
  111. package/dist/components/form/engine/variants/VariantCalmTable.js.map +1 -1
  112. package/dist/components/form/engine/variants/VariantCards.d.ts.map +1 -1
  113. package/dist/components/form/engine/variants/VariantCards.js +2 -1
  114. package/dist/components/form/engine/variants/VariantCards.js.map +1 -1
  115. package/dist/components/form/engine/variants/VariantFocus.js +1 -1
  116. package/dist/components/form/engine/variants/VariantFocus.js.map +1 -1
  117. package/dist/components/form/engine/variants/VariantMinimal.d.ts.map +1 -1
  118. package/dist/components/form/engine/variants/VariantMinimal.js +2 -1
  119. package/dist/components/form/engine/variants/VariantMinimal.js.map +1 -1
  120. package/dist/components/form/engine/variants/variantParts.d.ts +1 -1
  121. package/dist/components/form/engine/variants/variantParts.d.ts.map +1 -1
  122. package/dist/components/form/engine/variants/variantParts.js +25 -17
  123. package/dist/components/form/engine/variants/variantParts.js.map +1 -1
  124. package/dist/components/form/expressions/DpqlRendering.d.ts +1 -1
  125. package/dist/components/form/expressions/DpqlRendering.d.ts.map +1 -1
  126. package/dist/components/form/expressions/DpqlRendering.js +7 -6
  127. package/dist/components/form/expressions/DpqlRendering.js.map +1 -1
  128. package/dist/components/form/expressions/ExpressionField.d.ts +67 -3
  129. package/dist/components/form/expressions/ExpressionField.d.ts.map +1 -1
  130. package/dist/components/form/expressions/ExpressionField.js +536 -114
  131. package/dist/components/form/expressions/ExpressionField.js.map +1 -1
  132. package/dist/components/form/expressions/argumentPresence.d.ts +14 -0
  133. package/dist/components/form/expressions/argumentPresence.d.ts.map +1 -1
  134. package/dist/components/form/expressions/argumentPresence.js +16 -1
  135. package/dist/components/form/expressions/argumentPresence.js.map +1 -1
  136. package/dist/components/form/expressions/builder/argumentDetail.d.ts.map +1 -1
  137. package/dist/components/form/expressions/builder/argumentDetail.js +4 -1
  138. package/dist/components/form/expressions/builder/argumentDetail.js.map +1 -1
  139. package/dist/components/form/expressions/builder/argumentLabel.d.ts.map +1 -1
  140. package/dist/components/form/expressions/builder/argumentLabel.js +30 -11
  141. package/dist/components/form/expressions/builder/argumentLabel.js.map +1 -1
  142. package/dist/components/form/expressions/builder/argumentWrapper.d.ts.map +1 -1
  143. package/dist/components/form/expressions/builder/argumentWrapper.js +3 -1
  144. package/dist/components/form/expressions/builder/argumentWrapper.js.map +1 -1
  145. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.d.ts +9 -0
  146. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.d.ts.map +1 -1
  147. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js +30 -27
  148. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js.map +1 -1
  149. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts +1 -1
  150. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts.map +1 -1
  151. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js +7 -5
  152. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js.map +1 -1
  153. package/dist/components/form/expressions/builder/index.d.ts +34 -2
  154. package/dist/components/form/expressions/builder/index.d.ts.map +1 -1
  155. package/dist/components/form/expressions/builder/index.js +170 -80
  156. package/dist/components/form/expressions/builder/index.js.map +1 -1
  157. package/dist/components/form/expressions/builder/item.d.ts +6 -2
  158. package/dist/components/form/expressions/builder/item.d.ts.map +1 -1
  159. package/dist/components/form/expressions/builder/item.js +19 -5
  160. package/dist/components/form/expressions/builder/item.js.map +1 -1
  161. package/dist/components/form/expressions/builder/renderTemplate.js +1 -1
  162. package/dist/components/form/expressions/builder/renderTemplate.js.map +1 -1
  163. package/dist/components/form/expressions/dpqlMockRecordPath.d.ts +11 -0
  164. package/dist/components/form/expressions/dpqlMockRecordPath.d.ts.map +1 -0
  165. package/dist/components/form/expressions/dpqlMockRecordPath.js +254 -0
  166. package/dist/components/form/expressions/dpqlMockRecordPath.js.map +1 -0
  167. package/dist/components/form/expressions/expressionOperands.d.ts +16 -0
  168. package/dist/components/form/expressions/expressionOperands.d.ts.map +1 -0
  169. package/dist/components/form/expressions/expressionOperands.js +97 -0
  170. package/dist/components/form/expressions/expressionOperands.js.map +1 -0
  171. package/dist/components/form/expressions/fieldPath.d.ts +24 -0
  172. package/dist/components/form/expressions/fieldPath.d.ts.map +1 -0
  173. package/dist/components/form/expressions/fieldPath.js +152 -0
  174. package/dist/components/form/expressions/fieldPath.js.map +1 -0
  175. package/dist/components/form/expressions/loneValue.d.ts +17 -0
  176. package/dist/components/form/expressions/loneValue.d.ts.map +1 -0
  177. package/dist/components/form/expressions/loneValue.js +33 -0
  178. package/dist/components/form/expressions/loneValue.js.map +1 -0
  179. package/dist/components/form/expressions/mockExpressions.d.ts.map +1 -1
  180. package/dist/components/form/expressions/mockExpressions.js +22 -5
  181. package/dist/components/form/expressions/mockExpressions.js.map +1 -1
  182. package/dist/components/form/expressions/renderExpressionToText.d.ts +2 -0
  183. package/dist/components/form/expressions/renderExpressionToText.d.ts.map +1 -1
  184. package/dist/components/form/expressions/renderExpressionToText.js +43 -10
  185. package/dist/components/form/expressions/renderExpressionToText.js.map +1 -1
  186. package/dist/components/form/expressions/textOfExpression.d.ts +18 -0
  187. package/dist/components/form/expressions/textOfExpression.d.ts.map +1 -0
  188. package/dist/components/form/expressions/textOfExpression.js +49 -0
  189. package/dist/components/form/expressions/textOfExpression.js.map +1 -0
  190. package/dist/components/form/expressions/types.d.ts +12 -0
  191. package/dist/components/form/expressions/types.d.ts.map +1 -1
  192. package/dist/components/form/expressions/types.js +6 -1
  193. package/dist/components/form/expressions/types.js.map +1 -1
  194. package/dist/components/form/expressions/useExpressionType.d.ts +26 -0
  195. package/dist/components/form/expressions/useExpressionType.d.ts.map +1 -0
  196. package/dist/components/form/expressions/useExpressionType.js +181 -0
  197. package/dist/components/form/expressions/useExpressionType.js.map +1 -0
  198. package/dist/components/form/expressions/useRenderExpression.d.ts.map +1 -1
  199. package/dist/components/form/expressions/useRenderExpression.js +13 -9
  200. package/dist/components/form/expressions/useRenderExpression.js.map +1 -1
  201. package/dist/components/form/expressions/wildcardExpressions.d.ts +27 -0
  202. package/dist/components/form/expressions/wildcardExpressions.d.ts.map +1 -0
  203. package/dist/components/form/expressions/wildcardExpressions.js +101 -0
  204. package/dist/components/form/expressions/wildcardExpressions.js.map +1 -0
  205. package/dist/components/form/fields/Field.d.ts.map +1 -1
  206. package/dist/components/form/fields/Field.js +43 -20
  207. package/dist/components/form/fields/Field.js.map +1 -1
  208. package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
  209. package/dist/components/form/fields/allowed-values/AllowedValues.js +39 -6
  210. package/dist/components/form/fields/allowed-values/AllowedValues.js.map +1 -1
  211. package/dist/components/form/fields/allowed-values/choicePicture.d.ts +37 -0
  212. package/dist/components/form/fields/allowed-values/choicePicture.d.ts.map +1 -0
  213. package/dist/components/form/fields/allowed-values/choicePicture.js +64 -0
  214. package/dist/components/form/fields/allowed-values/choicePicture.js.map +1 -0
  215. package/dist/components/form/fields/array/ArrayAuto.d.ts.map +1 -1
  216. package/dist/components/form/fields/array/ArrayAuto.js +24 -0
  217. package/dist/components/form/fields/array/ArrayAuto.js.map +1 -1
  218. package/dist/components/form/fields/array/ArrayAutoField.d.ts.map +1 -1
  219. package/dist/components/form/fields/array/ArrayAutoField.js +36 -13
  220. package/dist/components/form/fields/array/ArrayAutoField.js.map +1 -1
  221. package/dist/components/form/fields/auto/AutoFormField.d.ts +30 -1
  222. package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
  223. package/dist/components/form/fields/auto/AutoFormField.js +119 -62
  224. package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
  225. package/dist/components/form/fields/auto/hostEditorValue.d.ts +30 -0
  226. package/dist/components/form/fields/auto/hostEditorValue.d.ts.map +1 -0
  227. package/dist/components/form/fields/auto/hostEditorValue.js +53 -0
  228. package/dist/components/form/fields/auto/hostEditorValue.js.map +1 -0
  229. package/dist/components/form/fields/binary/Binary.d.ts.map +1 -1
  230. package/dist/components/form/fields/binary/Binary.js +23 -3
  231. package/dist/components/form/fields/binary/Binary.js.map +1 -1
  232. package/dist/components/form/fields/boolean/Boolean.d.ts +5 -0
  233. package/dist/components/form/fields/boolean/Boolean.d.ts.map +1 -1
  234. package/dist/components/form/fields/boolean/Boolean.js +9 -1
  235. package/dist/components/form/fields/boolean/Boolean.js.map +1 -1
  236. package/dist/components/form/fields/color/Color.d.ts +103 -16
  237. package/dist/components/form/fields/color/Color.d.ts.map +1 -1
  238. package/dist/components/form/fields/color/Color.js +616 -16
  239. package/dist/components/form/fields/color/Color.js.map +1 -1
  240. package/dist/components/form/fields/emittedValues.d.ts +34 -3
  241. package/dist/components/form/fields/emittedValues.d.ts.map +1 -1
  242. package/dist/components/form/fields/emittedValues.js +24 -1
  243. package/dist/components/form/fields/emittedValues.js.map +1 -1
  244. package/dist/components/form/fields/file/File.d.ts +1 -1
  245. package/dist/components/form/fields/file/File.d.ts.map +1 -1
  246. package/dist/components/form/fields/file/File.js +4 -2
  247. package/dist/components/form/fields/file/File.js.map +1 -1
  248. package/dist/components/form/fields/long-string/LongString.d.ts.map +1 -1
  249. package/dist/components/form/fields/long-string/LongString.js +29 -8
  250. package/dist/components/form/fields/long-string/LongString.js.map +1 -1
  251. package/dist/components/form/fields/markdown/MarkdownView.js +1 -1
  252. package/dist/components/form/fields/multi-select/MultiSelectFormField.d.ts.map +1 -1
  253. package/dist/components/form/fields/multi-select/MultiSelectFormField.js +13 -9
  254. package/dist/components/form/fields/multi-select/MultiSelectFormField.js.map +1 -1
  255. package/dist/components/form/fields/number/Number.d.ts +6 -0
  256. package/dist/components/form/fields/number/Number.d.ts.map +1 -1
  257. package/dist/components/form/fields/number/Number.js +41 -6
  258. package/dist/components/form/fields/number/Number.js.map +1 -1
  259. package/dist/components/form/fields/object/Object.d.ts +1 -1
  260. package/dist/components/form/fields/object/Object.d.ts.map +1 -1
  261. package/dist/components/form/fields/object/Object.js +4 -2
  262. package/dist/components/form/fields/object/Object.js.map +1 -1
  263. package/dist/components/form/fields/pendingEdit.d.ts +52 -0
  264. package/dist/components/form/fields/pendingEdit.d.ts.map +1 -0
  265. package/dist/components/form/fields/pendingEdit.js +79 -0
  266. package/dist/components/form/fields/pendingEdit.js.map +1 -0
  267. package/dist/components/form/fields/radio-group/RadioGroup.d.ts.map +1 -1
  268. package/dist/components/form/fields/radio-group/RadioGroup.js +4 -3
  269. package/dist/components/form/fields/radio-group/RadioGroup.js.map +1 -1
  270. package/dist/components/form/fields/rich-text/RichText.d.ts +20 -1
  271. package/dist/components/form/fields/rich-text/RichText.d.ts.map +1 -1
  272. package/dist/components/form/fields/rich-text/RichText.js +382 -91
  273. package/dist/components/form/fields/rich-text/RichText.js.map +1 -1
  274. package/dist/components/form/fields/rich-text/useTemplateTags.d.ts +18 -0
  275. package/dist/components/form/fields/rich-text/useTemplateTags.d.ts.map +1 -0
  276. package/dist/components/form/fields/rich-text/useTemplateTags.js +80 -0
  277. package/dist/components/form/fields/rich-text/useTemplateTags.js.map +1 -0
  278. package/dist/components/form/fields/schema-definition/CatalogLeafForm.d.ts.map +1 -1
  279. package/dist/components/form/fields/schema-definition/CatalogLeafForm.js +4 -1
  280. package/dist/components/form/fields/schema-definition/CatalogLeafForm.js.map +1 -1
  281. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.d.ts.map +1 -1
  282. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js +20 -5
  283. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js.map +1 -1
  284. package/dist/components/form/fields/schema-definition/TableEditor.d.ts.map +1 -1
  285. package/dist/components/form/fields/schema-definition/TableEditor.js +10 -2
  286. package/dist/components/form/fields/schema-definition/TableEditor.js.map +1 -1
  287. package/dist/components/form/fields/schema-definition/index.d.ts.map +1 -1
  288. package/dist/components/form/fields/schema-definition/index.js +8 -4
  289. package/dist/components/form/fields/schema-definition/index.js.map +1 -1
  290. package/dist/components/form/fields/select/Select.d.ts +10 -1
  291. package/dist/components/form/fields/select/Select.d.ts.map +1 -1
  292. package/dist/components/form/fields/select/Select.js +28 -14
  293. package/dist/components/form/fields/select/Select.js.map +1 -1
  294. package/dist/components/form/fields/select/SelectCollection.d.ts +5 -0
  295. package/dist/components/form/fields/select/SelectCollection.d.ts.map +1 -1
  296. package/dist/components/form/fields/select/SelectCollection.js +25 -12
  297. package/dist/components/form/fields/select/SelectCollection.js.map +1 -1
  298. package/dist/components/form/fields/select/unavailableRow.d.ts +23 -0
  299. package/dist/components/form/fields/select/unavailableRow.d.ts.map +1 -0
  300. package/dist/components/form/fields/select/unavailableRow.js +55 -0
  301. package/dist/components/form/fields/select/unavailableRow.js.map +1 -0
  302. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts +11 -5
  303. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts.map +1 -1
  304. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js +21 -5
  305. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js.map +1 -1
  306. package/dist/components/form/fields/template/TemplateBrowser.d.ts +16 -0
  307. package/dist/components/form/fields/template/TemplateBrowser.d.ts.map +1 -0
  308. package/dist/components/form/fields/template/TemplateBrowser.js +89 -0
  309. package/dist/components/form/fields/template/TemplateBrowser.js.map +1 -0
  310. package/dist/components/form/fields/template/TemplateField.d.ts +105 -1
  311. package/dist/components/form/fields/template/TemplateField.d.ts.map +1 -1
  312. package/dist/components/form/fields/template/TemplateField.js +678 -107
  313. package/dist/components/form/fields/template/TemplateField.js.map +1 -1
  314. package/dist/components/form/fields/template/TemplatePicker.d.ts +54 -0
  315. package/dist/components/form/fields/template/TemplatePicker.d.ts.map +1 -0
  316. package/dist/components/form/fields/template/TemplatePicker.js +451 -0
  317. package/dist/components/form/fields/template/TemplatePicker.js.map +1 -0
  318. package/dist/components/form/fields/template/TemplateText.d.ts +0 -17
  319. package/dist/components/form/fields/template/TemplateText.d.ts.map +1 -1
  320. package/dist/components/form/fields/template/TemplateText.js +22 -16
  321. package/dist/components/form/fields/template/TemplateText.js.map +1 -1
  322. package/dist/components/form/fields/template/referenceNames.d.ts +63 -0
  323. package/dist/components/form/fields/template/referenceNames.d.ts.map +1 -0
  324. package/dist/components/form/fields/template/referenceNames.js +69 -0
  325. package/dist/components/form/fields/template/referenceNames.js.map +1 -0
  326. package/dist/components/form/fields/template/writtenAsText.d.ts +61 -0
  327. package/dist/components/form/fields/template/writtenAsText.d.ts.map +1 -0
  328. package/dist/components/form/fields/template/writtenAsText.js +204 -0
  329. package/dist/components/form/fields/template/writtenAsText.js.map +1 -0
  330. package/dist/components/form/index.d.ts +12 -0
  331. package/dist/components/form/index.d.ts.map +1 -1
  332. package/dist/components/form/index.js +25 -1
  333. package/dist/components/form/index.js.map +1 -1
  334. package/dist/components/form/typeSentenceForm.d.ts +17 -0
  335. package/dist/components/form/typeSentenceForm.d.ts.map +1 -0
  336. package/dist/components/form/typeSentenceForm.js +54 -0
  337. package/dist/components/form/typeSentenceForm.js.map +1 -0
  338. package/dist/components/imageLightbox/ImageLightbox.d.ts.map +1 -1
  339. package/dist/components/imageLightbox/ImageLightbox.js +19 -7
  340. package/dist/components/imageLightbox/ImageLightbox.js.map +1 -1
  341. package/dist/components/log/Log.d.ts.map +1 -1
  342. package/dist/components/log/Log.js +20 -8
  343. package/dist/components/log/Log.js.map +1 -1
  344. package/dist/components/menu/Menu.d.ts.map +1 -1
  345. package/dist/components/menu/Menu.js +19 -10
  346. package/dist/components/menu/Menu.js.map +1 -1
  347. package/dist/components/smartEditor/CompletionMenu.d.ts +53 -0
  348. package/dist/components/smartEditor/CompletionMenu.d.ts.map +1 -0
  349. package/dist/components/smartEditor/CompletionMenu.js +302 -0
  350. package/dist/components/smartEditor/CompletionMenu.js.map +1 -0
  351. package/dist/components/smartEditor/MarkdownDoc.d.ts +1 -1
  352. package/dist/components/smartEditor/MarkdownDoc.js +3 -3
  353. package/dist/components/smartEditor/MarkdownDoc.js.map +1 -1
  354. package/dist/components/smartEditor/SmartEditor.d.ts.map +1 -1
  355. package/dist/components/smartEditor/SmartEditor.js +584 -190
  356. package/dist/components/smartEditor/SmartEditor.js.map +1 -1
  357. package/dist/components/smartEditor/completionStyle.d.ts +28 -0
  358. package/dist/components/smartEditor/completionStyle.d.ts.map +1 -0
  359. package/dist/components/smartEditor/completionStyle.js +79 -0
  360. package/dist/components/smartEditor/completionStyle.js.map +1 -0
  361. package/dist/components/smartEditor/contextTitle.d.ts +10 -0
  362. package/dist/components/smartEditor/contextTitle.d.ts.map +1 -0
  363. package/dist/components/smartEditor/contextTitle.js +21 -0
  364. package/dist/components/smartEditor/contextTitle.js.map +1 -0
  365. package/dist/components/smartEditor/editingAids.d.ts +64 -0
  366. package/dist/components/smartEditor/editingAids.d.ts.map +1 -0
  367. package/dist/components/smartEditor/editingAids.js +213 -0
  368. package/dist/components/smartEditor/editingAids.js.map +1 -0
  369. package/dist/components/smartEditor/index.d.ts +6 -1
  370. package/dist/components/smartEditor/index.d.ts.map +1 -1
  371. package/dist/components/smartEditor/index.js +19 -1
  372. package/dist/components/smartEditor/index.js.map +1 -1
  373. package/dist/components/smartEditor/templateCompletions.d.ts +98 -0
  374. package/dist/components/smartEditor/templateCompletions.d.ts.map +1 -0
  375. package/dist/components/smartEditor/templateCompletions.js +380 -0
  376. package/dist/components/smartEditor/templateCompletions.js.map +1 -0
  377. package/dist/components/smartEditor/typedReferences.d.ts +34 -0
  378. package/dist/components/smartEditor/typedReferences.d.ts.map +1 -0
  379. package/dist/components/smartEditor/typedReferences.js +179 -0
  380. package/dist/components/smartEditor/typedReferences.js.map +1 -0
  381. package/dist/components/smartEditor/types.d.ts +116 -2
  382. package/dist/components/smartEditor/types.d.ts.map +1 -1
  383. package/dist/components/smartEditor/useEditingAids.d.ts +38 -0
  384. package/dist/components/smartEditor/useEditingAids.d.ts.map +1 -0
  385. package/dist/components/smartEditor/useEditingAids.js +336 -0
  386. package/dist/components/smartEditor/useEditingAids.js.map +1 -0
  387. package/dist/components/smartEditor/useLspAutocomplete.d.ts +106 -3
  388. package/dist/components/smartEditor/useLspAutocomplete.d.ts.map +1 -1
  389. package/dist/components/smartEditor/useLspAutocomplete.js +562 -151
  390. package/dist/components/smartEditor/useLspAutocomplete.js.map +1 -1
  391. package/dist/components/smartEditor/useLspHover.d.ts +33 -7
  392. package/dist/components/smartEditor/useLspHover.d.ts.map +1 -1
  393. package/dist/components/smartEditor/useLspHover.js +364 -35
  394. package/dist/components/smartEditor/useLspHover.js.map +1 -1
  395. package/dist/components/smartEditor/useLspSemanticTokens.js +1 -1
  396. package/dist/components/smartEditor/useLspSemanticTokens.js.map +1 -1
  397. package/dist/components/smartEditor/useLspSession.d.ts +6 -0
  398. package/dist/components/smartEditor/useLspSession.d.ts.map +1 -1
  399. package/dist/components/smartEditor/useLspSession.js +7 -6
  400. package/dist/components/smartEditor/useLspSession.js.map +1 -1
  401. package/dist/components/smartEditor/useLspSignatureHelp.d.ts.map +1 -1
  402. package/dist/components/smartEditor/useLspSignatureHelp.js +6 -11
  403. package/dist/components/smartEditor/useLspSignatureHelp.js.map +1 -1
  404. package/dist/components/smartEditor/useTabCameIn.d.ts +10 -0
  405. package/dist/components/smartEditor/useTabCameIn.d.ts.map +1 -0
  406. package/dist/components/smartEditor/useTabCameIn.js +42 -0
  407. package/dist/components/smartEditor/useTabCameIn.js.map +1 -0
  408. package/dist/components/supportTicket/AttachmentChips.d.ts.map +1 -1
  409. package/dist/components/supportTicket/AttachmentChips.js +15 -5
  410. package/dist/components/supportTicket/AttachmentChips.js.map +1 -1
  411. package/dist/components/supportTicket/ReferencePicker.d.ts +9 -2
  412. package/dist/components/supportTicket/ReferencePicker.d.ts.map +1 -1
  413. package/dist/components/supportTicket/ReferencePicker.js +27 -6
  414. package/dist/components/supportTicket/ReferencePicker.js.map +1 -1
  415. package/dist/components/supportTicket/TicketHeader.d.ts +3 -4
  416. package/dist/components/supportTicket/TicketHeader.d.ts.map +1 -1
  417. package/dist/components/supportTicket/TicketHeader.js +20 -2
  418. package/dist/components/supportTicket/TicketHeader.js.map +1 -1
  419. package/dist/components/supportTicket/TicketMetaTags.d.ts +1 -1
  420. package/dist/components/ticketReferences/TicketReferences.d.ts.map +1 -1
  421. package/dist/components/ticketReferences/TicketReferences.js +9 -4
  422. package/dist/components/ticketReferences/TicketReferences.js.map +1 -1
  423. package/dist/components/ticketThread/TicketThread.d.ts.map +1 -1
  424. package/dist/components/ticketThread/TicketThread.js +38 -13
  425. package/dist/components/ticketThread/TicketThread.js.map +1 -1
  426. package/dist/helpers/allowedValues.d.ts +21 -0
  427. package/dist/helpers/allowedValues.d.ts.map +1 -1
  428. package/dist/helpers/allowedValues.js +40 -1
  429. package/dist/helpers/allowedValues.js.map +1 -1
  430. package/dist/helpers/descriptionTooltip.d.ts +46 -0
  431. package/dist/helpers/descriptionTooltip.d.ts.map +1 -0
  432. package/dist/helpers/descriptionTooltip.js +76 -0
  433. package/dist/helpers/descriptionTooltip.js.map +1 -0
  434. package/dist/helpers/domProps.d.ts +5 -0
  435. package/dist/helpers/domProps.d.ts.map +1 -0
  436. package/dist/helpers/domProps.js +47 -0
  437. package/dist/helpers/domProps.js.map +1 -0
  438. package/dist/helpers/expressions.d.ts +115 -4
  439. package/dist/helpers/expressions.d.ts.map +1 -1
  440. package/dist/helpers/expressions.js +247 -29
  441. package/dist/helpers/expressions.js.map +1 -1
  442. package/dist/helpers/hoveringPointer.d.ts +26 -0
  443. package/dist/helpers/hoveringPointer.d.ts.map +1 -0
  444. package/dist/helpers/hoveringPointer.js +29 -0
  445. package/dist/helpers/hoveringPointer.js.map +1 -0
  446. package/dist/helpers/markdownText.d.ts +14 -0
  447. package/dist/helpers/markdownText.d.ts.map +1 -0
  448. package/dist/helpers/markdownText.js +160 -0
  449. package/dist/helpers/markdownText.js.map +1 -0
  450. package/dist/helpers/noDescription.d.ts +9 -0
  451. package/dist/helpers/noDescription.d.ts.map +1 -0
  452. package/dist/helpers/noDescription.js +13 -0
  453. package/dist/helpers/noDescription.js.map +1 -0
  454. package/dist/helpers/optionUiTypes.d.ts +2 -2
  455. package/dist/helpers/qorusTypeCatalogue.d.ts +147 -0
  456. package/dist/helpers/qorusTypeCatalogue.d.ts.map +1 -0
  457. package/dist/helpers/qorusTypeCatalogue.js +505 -0
  458. package/dist/helpers/qorusTypeCatalogue.js.map +1 -0
  459. package/dist/helpers/readableColors.d.ts +36 -0
  460. package/dist/helpers/readableColors.d.ts.map +1 -0
  461. package/dist/helpers/readableColors.js +116 -0
  462. package/dist/helpers/readableColors.js.map +1 -0
  463. package/dist/helpers/recordFieldReference.d.ts +15 -0
  464. package/dist/helpers/recordFieldReference.d.ts.map +1 -0
  465. package/dist/helpers/recordFieldReference.js +89 -0
  466. package/dist/helpers/recordFieldReference.js.map +1 -0
  467. package/dist/helpers/templateCatalogue.d.ts +104 -0
  468. package/dist/helpers/templateCatalogue.d.ts.map +1 -0
  469. package/dist/helpers/templateCatalogue.js +116 -0
  470. package/dist/helpers/templateCatalogue.js.map +1 -0
  471. package/dist/helpers/templateCatalogueContext.d.ts +19 -0
  472. package/dist/helpers/templateCatalogueContext.d.ts.map +1 -0
  473. package/dist/helpers/templateCatalogueContext.js +31 -0
  474. package/dist/helpers/templateCatalogueContext.js.map +1 -0
  475. package/dist/helpers/templateItems.d.ts +2 -2
  476. package/dist/helpers/templateItems.d.ts.map +1 -1
  477. package/dist/helpers/templateItems.js +6 -4
  478. package/dist/helpers/templateItems.js.map +1 -1
  479. package/dist/helpers/templateText.d.ts +1 -0
  480. package/dist/helpers/templateText.d.ts.map +1 -1
  481. package/dist/helpers/templateText.js +7 -3
  482. package/dist/helpers/templateText.js.map +1 -1
  483. package/dist/helpers/templateTree.d.ts +248 -0
  484. package/dist/helpers/templateTree.d.ts.map +1 -0
  485. package/dist/helpers/templateTree.js +892 -0
  486. package/dist/helpers/templateTree.js.map +1 -0
  487. package/dist/helpers/templateType.d.ts +28 -0
  488. package/dist/helpers/templateType.d.ts.map +1 -0
  489. package/dist/helpers/templateType.js +30 -0
  490. package/dist/helpers/templateType.js.map +1 -0
  491. package/dist/helpers/templates.d.ts +86 -16
  492. package/dist/helpers/templates.d.ts.map +1 -1
  493. package/dist/helpers/templates.js +305 -45
  494. package/dist/helpers/templates.js.map +1 -1
  495. package/dist/helpers/validations.d.ts +27 -0
  496. package/dist/helpers/validations.d.ts.map +1 -1
  497. package/dist/helpers/validations.js +169 -39
  498. package/dist/helpers/validations.js.map +1 -1
  499. package/dist/helpers/webLink.d.ts +8 -0
  500. package/dist/helpers/webLink.d.ts.map +1 -0
  501. package/dist/helpers/webLink.js +29 -0
  502. package/dist/helpers/webLink.js.map +1 -0
  503. package/dist/hooks/useQorusTypes.d.ts +12 -17
  504. package/dist/hooks/useQorusTypes.d.ts.map +1 -1
  505. package/dist/hooks/useQorusTypes.js +44 -172
  506. package/dist/hooks/useQorusTypes.js.map +1 -1
  507. package/dist/hooks/useReadableIntentShade.d.ts +9 -0
  508. package/dist/hooks/useReadableIntentShade.d.ts.map +1 -0
  509. package/dist/hooks/useReadableIntentShade.js +23 -0
  510. package/dist/hooks/useReadableIntentShade.js.map +1 -0
  511. package/dist/hooks/useReadableOpacity.d.ts +6 -0
  512. package/dist/hooks/useReadableOpacity.d.ts.map +1 -0
  513. package/dist/hooks/useReadableOpacity.js +17 -0
  514. package/dist/hooks/useReadableOpacity.js.map +1 -0
  515. package/dist/index.d.ts +8 -0
  516. package/dist/index.d.ts.map +1 -1
  517. package/dist/index.js +24 -1
  518. package/dist/index.js.map +1 -1
  519. package/dist/tracking/ui/ExperimentCard.d.ts +1 -1
  520. package/dist/tracking/ui/ExperimentCard.d.ts.map +1 -1
  521. package/dist/tracking/ui/ExperimentCard.js +26 -10
  522. package/dist/tracking/ui/ExperimentCard.js.map +1 -1
  523. package/dist/tracking/ui/card.d.ts +2 -2
  524. package/dist/tracking/ui/card.d.ts.map +1 -1
  525. package/dist/tracking/ui/card.js +2 -2
  526. package/dist/tracking/ui/card.js.map +1 -1
  527. package/dist/tracking/ui/readable.d.ts +14 -0
  528. package/dist/tracking/ui/readable.d.ts.map +1 -0
  529. package/dist/tracking/ui/readable.js +60 -0
  530. package/dist/tracking/ui/readable.js.map +1 -0
  531. package/dist/utils/fetch.d.ts +9 -2
  532. package/dist/utils/fetch.d.ts.map +1 -1
  533. package/dist/utils/fetch.js +6 -5
  534. package/dist/utils/fetch.js.map +1 -1
  535. package/dist/utils/lspClient.types.d.ts +2 -0
  536. package/dist/utils/lspClient.types.d.ts.map +1 -1
  537. package/dist/utils/websocket.d.ts +65 -2
  538. package/dist/utils/websocket.d.ts.map +1 -1
  539. package/dist/utils/websocket.js +276 -44
  540. package/dist/utils/websocket.js.map +1 -1
  541. package/package.json +14 -6
  542. package/.claude/CLAUDE.md +0 -317
  543. package/.tasks/EXPORT_EXPRESSION_BUILDER.md +0 -38
  544. package/.tasks/EXPRESSION_BUILDER_REPORT.md +0 -149
  545. package/.tasks/EXPRESSION_FIELD_SEAMS.md +0 -66
  546. package/.tasks/FIELD_STACK_REPORT.md +0 -234
  547. package/.tasks/FORM_ENGINE_COMPACT_READ_FIRST.md +0 -558
  548. package/.tasks/FORM_ENGINE_EXPRESSIONS.md +0 -197
  549. package/.tasks/FORM_ENGINE_OPTIONS_SYNC.md +0 -95
  550. package/.tasks/FORM_FIELD_EXTRAS.md +0 -72
  551. package/.tasks/INDEX.md +0 -111
  552. package/.tasks/LSP_SHARED_CONNECTION.md +0 -75
  553. package/.tasks/QONSOLE_ASSIST_FEATURES.md +0 -306
  554. package/.tasks/RENDER_EXPRESSION_LSP.md +0 -159
  555. package/.tasks/REQRAFT_AUTO_FIELD.md +0 -176
  556. package/.tasks/SCHEMA_DEFINITION_FIELD.md +0 -250
  557. package/.tasks/SMART_EDITOR_CONTEXT_AND_POLISH.md +0 -340
  558. package/.tasks/SMART_EDITOR_LSP_FEATURES.md +0 -299
  559. package/.tasks/SMART_EDITOR_REVIEW_FOLLOWUPS.md +0 -280
  560. package/.tasks/SMART_EDITOR_UX_POLISH.md +0 -383
  561. package/.tasks/SMART_EDITOR_VISUAL_POLISH.md +0 -246
  562. package/.tasks/STORY_NETWORK_ISOLATION.md +0 -98
  563. package/.tasks/TEMPLATE_TOKEN_GRAMMAR.md +0 -72
  564. package/CODE_OF_CONDUCT.md +0 -105
  565. package/CONTRIBUTING.MD +0 -78
  566. package/SECURITY.md +0 -3
  567. package/chromatic.config.json +0 -5
  568. package/design/COMPACT_ENGINE_REDESIGN.md +0 -156
  569. package/design/COMPACT_INFO_DISPLAY.md +0 -87
  570. package/design/COMPACT_PARITY.md +0 -85
  571. package/design/EXPRESSION_BUILDER_REPORT_STRATEGY.md +0 -92
  572. package/design/FORM_ENGINE_COMPACT.md +0 -300
  573. package/design/FORM_ENGINE_COMPACT_UX_PLAN.md +0 -353
  574. package/design/FORM_ENGINE_EXPRESSIONS.md +0 -257
  575. package/design/FORM_ENGINE_FIELD_MIGRATION.md +0 -419
  576. package/design/IDE_INTEGRATION.md +0 -64
  577. package/design/RENDER_EXPRESSION_TRANSPORT.md +0 -156
  578. package/design/SELECT_DIALOG_FLOOR.md +0 -86
  579. package/design/SMART_EDITOR_UX.md +0 -438
  580. package/design/TRACKING.md +0 -290
  581. package/design/UNAVAILABLE_ALLOWED_VALUES.md +0 -226
  582. package/src/components/Description/index.tsx +0 -254
  583. package/src/components/Description/markdownRendererContext.tsx +0 -29
  584. package/src/components/FocusedEditing/index.tsx +0 -50
  585. package/src/components/codeSize/index.tsx +0 -79
  586. package/src/components/composer/Composer.stories.tsx +0 -238
  587. package/src/components/composer/Composer.tsx +0 -554
  588. package/src/components/composer/helpers.ts +0 -74
  589. package/src/components/composer/index.ts +0 -2
  590. package/src/components/dpqlEditor/DpqlEditor.stories.tsx +0 -1183
  591. package/src/components/dpqlEditor/DpqlEditor.tsx +0 -219
  592. package/src/components/dpqlEditor/dpqlHelpers.ts +0 -287
  593. package/src/components/dpqlEditor/dpqlInserter.ts +0 -121
  594. package/src/components/dpqlEditor/dpqlProbe.ts +0 -165
  595. package/src/components/dpqlEditor/dpqlTags.ts +0 -114
  596. package/src/components/dpqlEditor/index.ts +0 -41
  597. package/src/components/dpqlEditor/types.ts +0 -203
  598. package/src/components/dpqlEditor/useDpqlProbe.ts +0 -33
  599. package/src/components/dpqlEditor/useDpqlSession.ts +0 -411
  600. package/src/components/form/engine/CompactRow.tsx +0 -2620
  601. package/src/components/form/engine/CompactToolbar.tsx +0 -330
  602. package/src/components/form/engine/FormEngine.stories.tsx +0 -9920
  603. package/src/components/form/engine/FormEngine.tsx +0 -4569
  604. package/src/components/form/engine/FormEngineRemote.stories.tsx +0 -679
  605. package/src/components/form/engine/FormEngineStickyHeaders.stories.tsx +0 -331
  606. package/src/components/form/engine/FormFieldsSkeleton.tsx +0 -82
  607. package/src/components/form/engine/OptionFieldMessages.tsx +0 -477
  608. package/src/components/form/engine/OptionsHelpDialog.tsx +0 -29
  609. package/src/components/form/engine/__fixtures__/basicFormOptions.ts +0 -309
  610. package/src/components/form/engine/__fixtures__/fieldChromeOptions.ts +0 -45
  611. package/src/components/form/engine/_structuredData/SchemaDataView.stories.tsx +0 -233
  612. package/src/components/form/engine/_structuredData/SchemaDataView.tsx +0 -742
  613. package/src/components/form/engine/_structuredData/StructuredDataView.stories.tsx +0 -85
  614. package/src/components/form/engine/_structuredData/StructuredDataView.tsx +0 -75
  615. package/src/components/form/engine/_structuredData/structuredData.ts +0 -145
  616. package/src/components/form/engine/compactRowContext.ts +0 -148
  617. package/src/components/form/engine/compactRowStyles.ts +0 -898
  618. package/src/components/form/engine/compactToolbarContext.ts +0 -69
  619. package/src/components/form/engine/optionActions.ts +0 -128
  620. package/src/components/form/engine/optionsContext.ts +0 -24
  621. package/src/components/form/engine/readFirst.ts +0 -1077
  622. package/src/components/form/engine/rendererTypes.ts +0 -107
  623. package/src/components/form/engine/revealRow.ts +0 -123
  624. package/src/components/form/engine/rowFocus.ts +0 -101
  625. package/src/components/form/engine/rowMenuContext.ts +0 -159
  626. package/src/components/form/engine/rowOpenPicker.ts +0 -27
  627. package/src/components/form/engine/typeChoices.ts +0 -63
  628. package/src/components/form/engine/variants/FormEngineVariants.stories.tsx +0 -159
  629. package/src/components/form/engine/variants/VariantCalmTable.tsx +0 -244
  630. package/src/components/form/engine/variants/VariantCards.tsx +0 -212
  631. package/src/components/form/engine/variants/VariantFocus.tsx +0 -382
  632. package/src/components/form/engine/variants/VariantMinimal.tsx +0 -170
  633. package/src/components/form/engine/variants/focusDemo.ts +0 -145
  634. package/src/components/form/engine/variants/variantModel.ts +0 -223
  635. package/src/components/form/engine/variants/variantParts.tsx +0 -313
  636. package/src/components/form/expressions/DpqlRendering.tsx +0 -85
  637. package/src/components/form/expressions/ExpressionField.stories.tsx +0 -1395
  638. package/src/components/form/expressions/ExpressionField.tsx +0 -503
  639. package/src/components/form/expressions/argumentPresence.ts +0 -213
  640. package/src/components/form/expressions/builder/ExpressionBuilder.stories.tsx +0 -1683
  641. package/src/components/form/expressions/builder/argumentDetail.tsx +0 -17
  642. package/src/components/form/expressions/builder/argumentLabel.tsx +0 -146
  643. package/src/components/form/expressions/builder/argumentSlot.tsx +0 -101
  644. package/src/components/form/expressions/builder/argumentWrapper.tsx +0 -243
  645. package/src/components/form/expressions/builder/confirmMismatchedTypesModal.tsx +0 -120
  646. package/src/components/form/expressions/builder/confirmUnsupportedTypeModal.tsx +0 -69
  647. package/src/components/form/expressions/builder/index.tsx +0 -1545
  648. package/src/components/form/expressions/builder/item.tsx +0 -89
  649. package/src/components/form/expressions/builder/moveToPositionStrip.tsx +0 -156
  650. package/src/components/form/expressions/builder/renderTemplate.tsx +0 -42
  651. package/src/components/form/expressions/dpqlMockLanguage.ts +0 -566
  652. package/src/components/form/expressions/dpqlMockLsp.ts +0 -126
  653. package/src/components/form/expressions/mockExpressions.ts +0 -317
  654. package/src/components/form/expressions/renderExpressionToText.ts +0 -137
  655. package/src/components/form/expressions/types.ts +0 -110
  656. package/src/components/form/expressions/useExpressions.ts +0 -101
  657. package/src/components/form/expressions/useRenderExpression.ts +0 -165
  658. package/src/components/form/fields/Field.stories.tsx +0 -143
  659. package/src/components/form/fields/Field.tsx +0 -732
  660. package/src/components/form/fields/allowed-values/AllowedValues.tsx +0 -297
  661. package/src/components/form/fields/array/ArrayAuto.tsx +0 -237
  662. package/src/components/form/fields/array/ArrayAutoField.stories.tsx +0 -475
  663. package/src/components/form/fields/array/ArrayAutoField.tsx +0 -367
  664. package/src/components/form/fields/auto/AutoFormField.stories.tsx +0 -825
  665. package/src/components/form/fields/auto/AutoFormField.tsx +0 -1164
  666. package/src/components/form/fields/binary/Binary.stories.tsx +0 -122
  667. package/src/components/form/fields/binary/Binary.tsx +0 -91
  668. package/src/components/form/fields/boolean/Boolean.stories.tsx +0 -125
  669. package/src/components/form/fields/boolean/Boolean.tsx +0 -34
  670. package/src/components/form/fields/byte-size/ByteSize.stories.tsx +0 -87
  671. package/src/components/form/fields/byte-size/ByteSize.tsx +0 -58
  672. package/src/components/form/fields/color/Color.stories.tsx +0 -99
  673. package/src/components/form/fields/color/Color.tsx +0 -46
  674. package/src/components/form/fields/cron/Cron.stories.tsx +0 -68
  675. package/src/components/form/fields/cron/Cron.tsx +0 -80
  676. package/src/components/form/fields/date/Date.stories.tsx +0 -77
  677. package/src/components/form/fields/date/Date.tsx +0 -55
  678. package/src/components/form/fields/emittedValues.ts +0 -70
  679. package/src/components/form/fields/file/File.stories.tsx +0 -161
  680. package/src/components/form/fields/file/File.tsx +0 -227
  681. package/src/components/form/fields/long-string/LongString.stories.tsx +0 -120
  682. package/src/components/form/fields/long-string/LongString.tsx +0 -130
  683. package/src/components/form/fields/markdown/Markdown.stories.tsx +0 -76
  684. package/src/components/form/fields/markdown/Markdown.tsx +0 -81
  685. package/src/components/form/fields/markdown/MarkdownView.tsx +0 -222
  686. package/src/components/form/fields/multi-select/MultiSelectFormField.tsx +0 -139
  687. package/src/components/form/fields/number/Number.stories.tsx +0 -159
  688. package/src/components/form/fields/number/Number.tsx +0 -160
  689. package/src/components/form/fields/object/Object.stories.tsx +0 -398
  690. package/src/components/form/fields/object/Object.tsx +0 -255
  691. package/src/components/form/fields/radio-group/RadioGroup.stories.tsx +0 -95
  692. package/src/components/form/fields/radio-group/RadioGroup.tsx +0 -46
  693. package/src/components/form/fields/radio-group/images/java-96x128.png +0 -0
  694. package/src/components/form/fields/radio-group/images/python-129x128.png +0 -0
  695. package/src/components/form/fields/radio-group/images/qore-106x128.png +0 -0
  696. package/src/components/form/fields/rich-text/RichText.stories.tsx +0 -260
  697. package/src/components/form/fields/rich-text/RichText.tsx +0 -537
  698. package/src/components/form/fields/schema-definition/CatalogLeafForm.tsx +0 -242
  699. package/src/components/form/fields/schema-definition/CatalogNodeEditor.tsx +0 -758
  700. package/src/components/form/fields/schema-definition/Hint.tsx +0 -22
  701. package/src/components/form/fields/schema-definition/InlineValidationBanner.tsx +0 -138
  702. package/src/components/form/fields/schema-definition/Loader.tsx +0 -20
  703. package/src/components/form/fields/schema-definition/MigrationsTab.tsx +0 -187
  704. package/src/components/form/fields/schema-definition/SchemaDefinitionField.stories.tsx +0 -286
  705. package/src/components/form/fields/schema-definition/TableEditor.tsx +0 -155
  706. package/src/components/form/fields/schema-definition/TablesTab.tsx +0 -138
  707. package/src/components/form/fields/schema-definition/catalog.ts +0 -237
  708. package/src/components/form/fields/schema-definition/helpers.ts +0 -90
  709. package/src/components/form/fields/schema-definition/index.tsx +0 -418
  710. package/src/components/form/fields/schema-definition/mockCatalog.ts +0 -325
  711. package/src/components/form/fields/schema-definition/mockDefinition.ts +0 -111
  712. package/src/components/form/fields/schema-definition/referenceSuggestions.tsx +0 -152
  713. package/src/components/form/fields/schema-definition/starterTemplate.ts +0 -68
  714. package/src/components/form/fields/schema-definition/types.ts +0 -185
  715. package/src/components/form/fields/schema-definition/useSchemaOptionCatalog.ts +0 -49
  716. package/src/components/form/fields/select/Select.stories.tsx +0 -872
  717. package/src/components/form/fields/select/Select.tsx +0 -624
  718. package/src/components/form/fields/select/SelectCollection.tsx +0 -594
  719. package/src/components/form/fields/string/String.stories.tsx +0 -86
  720. package/src/components/form/fields/string/String.tsx +0 -43
  721. package/src/components/form/fields/template/ExampleValueModal.stories.tsx +0 -114
  722. package/src/components/form/fields/template/ExampleValueModal.tsx +0 -99
  723. package/src/components/form/fields/template/ReadOnlyTemplateTag.tsx +0 -47
  724. package/src/components/form/fields/template/TemplateField.stories.tsx +0 -1121
  725. package/src/components/form/fields/template/TemplateField.tsx +0 -1717
  726. package/src/components/form/fields/template/TemplateText.tsx +0 -115
  727. package/src/components/form/fields/template/__fixtures__/longExampleValue.ts +0 -7
  728. package/src/components/form/fields/template/__fixtures__/multiLevelTemplates.json +0 -147
  729. package/src/components/form/fields/template/__fixtures__/templates.json +0 -83
  730. package/src/components/form/fields/timeout/Timeout.stories.tsx +0 -228
  731. package/src/components/form/fields/timeout/Timeout.tsx +0 -87
  732. package/src/components/form/fields/url/Url.stories.tsx +0 -94
  733. package/src/components/form/fields/url/Url.tsx +0 -85
  734. package/src/components/form/index.tsx +0 -47
  735. package/src/components/imageLightbox/ImageLightbox.stories.tsx +0 -238
  736. package/src/components/imageLightbox/ImageLightbox.tsx +0 -236
  737. package/src/components/imageLightbox/index.ts +0 -1
  738. package/src/components/log/Log.stories.tsx +0 -333
  739. package/src/components/log/Log.tsx +0 -285
  740. package/src/components/menu/Menu.stories.tsx +0 -155
  741. package/src/components/menu/Menu.tsx +0 -312
  742. package/src/components/qonsoleSmartInput/QonsoleSmartInput.stories.tsx +0 -797
  743. package/src/components/qonsoleSmartInput/QonsoleSmartInput.tsx +0 -105
  744. package/src/components/qonsoleSmartInput/index.ts +0 -16
  745. package/src/components/qonsoleSmartInput/qonsoleInserter.ts +0 -77
  746. package/src/components/qonsoleSmartInput/types.ts +0 -133
  747. package/src/components/qonsoleSmartInput/useQonsoleSession.ts +0 -124
  748. package/src/components/searchFilterBar/SearchFilterBar.stories.tsx +0 -62
  749. package/src/components/searchFilterBar/SearchFilterBar.tsx +0 -144
  750. package/src/components/searchFilterBar/index.ts +0 -1
  751. package/src/components/smartEditor/MarkdownDoc.tsx +0 -190
  752. package/src/components/smartEditor/SmartEditor.stories.tsx +0 -475
  753. package/src/components/smartEditor/SmartEditor.tsx +0 -808
  754. package/src/components/smartEditor/__fixtures__/mockLspServer.ts +0 -205
  755. package/src/components/smartEditor/helpers.ts +0 -217
  756. package/src/components/smartEditor/index.ts +0 -35
  757. package/src/components/smartEditor/styling.ts +0 -45
  758. package/src/components/smartEditor/types.ts +0 -211
  759. package/src/components/smartEditor/useLspAutocomplete.ts +0 -758
  760. package/src/components/smartEditor/useLspDiagnosticDecorations.ts +0 -125
  761. package/src/components/smartEditor/useLspHover.ts +0 -230
  762. package/src/components/smartEditor/useLspSemanticTokens.ts +0 -298
  763. package/src/components/smartEditor/useLspSession.ts +0 -231
  764. package/src/components/smartEditor/useLspSignatureHelp.ts +0 -198
  765. package/src/components/supportTicket/AttachmentChips.stories.tsx +0 -171
  766. package/src/components/supportTicket/AttachmentChips.tsx +0 -147
  767. package/src/components/supportTicket/InterfaceReferenceTags.stories.tsx +0 -257
  768. package/src/components/supportTicket/InterfaceReferenceTags.tsx +0 -129
  769. package/src/components/supportTicket/ReferencePicker.stories.tsx +0 -584
  770. package/src/components/supportTicket/ReferencePicker.tsx +0 -563
  771. package/src/components/supportTicket/TicketConversation.stories.tsx +0 -121
  772. package/src/components/supportTicket/TicketHeader.stories.tsx +0 -183
  773. package/src/components/supportTicket/TicketHeader.tsx +0 -247
  774. package/src/components/supportTicket/TicketMetaTags.stories.tsx +0 -103
  775. package/src/components/supportTicket/TicketMetaTags.tsx +0 -85
  776. package/src/components/supportTicket/TicketReplyBox.stories.tsx +0 -354
  777. package/src/components/supportTicket/TicketReplyBox.tsx +0 -150
  778. package/src/components/supportTicket/__fixtures__/kindMarks.ts +0 -28
  779. package/src/components/supportTicket/attachmentAccess.ts +0 -97
  780. package/src/components/supportTicket/fileToAttachment.ts +0 -24
  781. package/src/components/supportTicket/index.ts +0 -10
  782. package/src/components/supportTicket/meta.ts +0 -206
  783. package/src/components/supportTicket/ticketModel.ts +0 -131
  784. package/src/components/supportTicket/useLoadedImages.ts +0 -73
  785. package/src/components/ticketReferences/TicketReferences.stories.tsx +0 -315
  786. package/src/components/ticketReferences/TicketReferences.tsx +0 -906
  787. package/src/components/ticketReferences/index.ts +0 -2
  788. package/src/components/ticketThread/TicketThread.stories.tsx +0 -829
  789. package/src/components/ticketThread/TicketThread.tsx +0 -719
  790. package/src/components/ticketThread/index.ts +0 -6
  791. package/src/contexts/FetchContext.tsx +0 -25
  792. package/src/contexts/ReqraftContext.tsx +0 -9
  793. package/src/contexts/StorageContext.tsx +0 -33
  794. package/src/global.d.ts +0 -4
  795. package/src/helpers/allowedValues.ts +0 -249
  796. package/src/helpers/choiceChip.ts +0 -227
  797. package/src/helpers/common.ts +0 -326
  798. package/src/helpers/dpqlDetection.ts +0 -209
  799. package/src/helpers/expressions.ts +0 -140
  800. package/src/helpers/optionUiTypes.ts +0 -199
  801. package/src/helpers/options.ts +0 -150
  802. package/src/helpers/providerValue.ts +0 -125
  803. package/src/helpers/scrollbar.ts +0 -32
  804. package/src/helpers/singleLineString.ts +0 -61
  805. package/src/helpers/templateItems.ts +0 -81
  806. package/src/helpers/templateText.ts +0 -350
  807. package/src/helpers/templates.ts +0 -602
  808. package/src/helpers/validations.ts +0 -2085
  809. package/src/hooks/useArgSchema.ts +0 -37
  810. package/src/hooks/useCoarsePointer.ts +0 -30
  811. package/src/hooks/useFetch/useFetch.stories.tsx +0 -379
  812. package/src/hooks/useFetch/useFetch.tsx +0 -154
  813. package/src/hooks/usePhoneViewport.ts +0 -34
  814. package/src/hooks/useQorusTypes.ts +0 -233
  815. package/src/hooks/useReqraftProperty.ts +0 -16
  816. package/src/hooks/useStorage/useStorage.stories.tsx +0 -168
  817. package/src/hooks/useStorage/useStorage.ts +0 -35
  818. package/src/hooks/useTemplates.ts +0 -123
  819. package/src/hooks/useValidation.ts +0 -9
  820. package/src/hooks/useWebSocket/useWebSocket.ts +0 -224
  821. package/src/hooks/useWebSocket/useWebsocket.stories.tsx +0 -640
  822. package/src/hooks/useWhyDidYouUpdate.ts +0 -38
  823. package/src/index.tsx +0 -86
  824. package/src/providers/FetchProvider.tsx +0 -40
  825. package/src/providers/ReqraftProvider.tsx +0 -52
  826. package/src/providers/StorageProvider.tsx +0 -131
  827. package/src/stores/currentUser/currentUser.stories.tsx +0 -100
  828. package/src/stores/currentUser/currentUser.tsx +0 -94
  829. package/src/stories/Data/fileFieldArgSchema.json +0 -86
  830. package/src/stories/Tests/utils.ts +0 -320
  831. package/src/stories/storyNetwork.ts +0 -92
  832. package/src/stories/tracking.tsx +0 -206
  833. package/src/tracking/browser/attach.ts +0 -186
  834. package/src/tracking/browser/env.ts +0 -78
  835. package/src/tracking/core/consent.ts +0 -37
  836. package/src/tracking/core/engagement.ts +0 -47
  837. package/src/tracking/core/experiments.ts +0 -258
  838. package/src/tracking/core/hash.ts +0 -26
  839. package/src/tracking/core/ids.ts +0 -25
  840. package/src/tracking/core/observable.ts +0 -23
  841. package/src/tracking/core/queue.ts +0 -131
  842. package/src/tracking/core/sections.ts +0 -166
  843. package/src/tracking/core/storage.ts +0 -69
  844. package/src/tracking/core/tracker.ts +0 -417
  845. package/src/tracking/core/types.ts +0 -162
  846. package/src/tracking/core/utm.ts +0 -23
  847. package/src/tracking/index.ts +0 -72
  848. package/src/tracking/markup.ts +0 -17
  849. package/src/tracking/react/Experiment.tsx +0 -44
  850. package/src/tracking/react/TrackingProvider.tsx +0 -56
  851. package/src/tracking/react/hooks.ts +0 -106
  852. package/src/tracking/react/index.ts +0 -13
  853. package/src/tracking/testing.ts +0 -108
  854. package/src/tracking/ui/ExperimentCard.stories.tsx +0 -296
  855. package/src/tracking/ui/ExperimentCard.tsx +0 -667
  856. package/src/tracking/ui/ExperimentsOverlay.stories.tsx +0 -155
  857. package/src/tracking/ui/ExperimentsOverlay.tsx +0 -437
  858. package/src/tracking/ui/anchor.ts +0 -180
  859. package/src/tracking/ui/card.ts +0 -464
  860. package/src/tracking/ui/client.ts +0 -117
  861. package/src/tracking/ui/index.ts +0 -77
  862. package/src/tracking/ui/types.ts +0 -110
  863. package/src/tracking/ui/useExperimentsAdmin.ts +0 -103
  864. package/src/types/Form.ts +0 -29
  865. package/src/types.ts +0 -14
  866. package/src/utils/datetime.ts +0 -10
  867. package/src/utils/fetch.ts +0 -457
  868. package/src/utils/lspClient.ts +0 -711
  869. package/src/utils/lspClient.types.ts +0 -211
  870. package/src/utils/queryUnlessCancelled.ts +0 -28
  871. package/src/utils/websocket.ts +0 -293
  872. package/vite.config.ts +0 -58
  873. package/vitest.config.ts +0 -69
@@ -46,6 +46,15 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
46
46
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
47
  }
48
48
  };
49
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
50
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
51
+ if (ar || !(i in from)) {
52
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
53
+ ar[i] = from[i];
54
+ }
55
+ }
56
+ return to.concat(ar || Array.prototype.slice.call(from));
57
+ };
49
58
  Object.defineProperty(exports, "__esModule", { value: true });
50
59
  exports.DpqlEditor = void 0;
51
60
  var jsx_runtime_1 = require("react/jsx-runtime");
@@ -60,14 +69,22 @@ var jsx_runtime_1 = require("react/jsx-runtime");
60
69
  // Templates and fields are BOTH served by the LSP server through the
61
70
  // completion stream: typing `$` opens templates, `@` opens field
62
71
  // references (the server's `dpql-get-completions` is position-aware).
63
- // There is intentionally no client-side "Templates" button — it would
64
- // duplicate what the server already returns on `$`.
72
+ // Given templates, it lists them in that one list on a click as well, and
73
+ // a picker beside the text browses them as their catalogue nests them
74
+ // (`TemplateBrowser`), as a Qog field's are.
65
75
  var react_1 = require("react");
66
76
  var SmartEditor_1 = require("../smartEditor/SmartEditor");
67
77
  var dpqlHelpers_1 = require("./dpqlHelpers");
68
78
  var dpqlInserter_1 = require("./dpqlInserter");
69
79
  var dpqlTags_1 = require("./dpqlTags");
80
+ var dpqlCompletions_1 = require("./dpqlCompletions");
70
81
  var useDpqlSession_1 = require("./useDpqlSession");
82
+ var templateTree_1 = require("../../helpers/templateTree");
83
+ var templateCatalogue_1 = require("../../helpers/templateCatalogue");
84
+ var templateCatalogueContext_1 = require("../../helpers/templateCatalogueContext");
85
+ var editingAids_1 = require("../smartEditor/editingAids");
86
+ var descriptionTooltip_1 = require("../../helpers/descriptionTooltip");
87
+ var typeSentenceForm_1 = require("../form/typeSentenceForm");
71
88
  // Trigger characters that open the autocomplete on typing. Space is
72
89
  // deliberately NOT in the set — typing a space after a chip (or after a
73
90
  // keyword like `==`) shouldn't pop the dropdown. Sigils (`@`, `$`) and
@@ -75,7 +92,11 @@ var useDpqlSession_1 = require("./useDpqlSession");
75
92
  // of completion is handled by typing inside an already-open token.
76
93
  var DPQL_TRIGGERS = new Set(['@', '$', '.', ':']);
77
94
  exports.DpqlEditor = (0, react_1.forwardRef)(function (_a, ref) {
78
- var value = _a.value, onChange = _a.onChange, provider = _a.provider, recordType = _a.recordType, options = _a.options, actionCode = _a.actionCode, height = _a.height, _b = _a.readOnly, readOnly = _b === void 0 ? false : _b, _c = _a.showDiagnostics, showDiagnostics = _c === void 0 ? true : _c, _d = _a.enableHover, enableHover = _d === void 0 ? true : _d, _e = _a.templateTagsUseIntent, templateTagsUseIntent = _e === void 0 ? false : _e, loadingIndicator = _a.loadingIndicator, templates = _a.templates, onBlur = _a.onBlur, _f = _a.useServerParse, useServerParse = _f === void 0 ? false : _f, fields = _a.fields, _g = _a.alertPayloadContext, alertPayloadContext = _g === void 0 ? false : _g, fsmContext = _a.fsmContext;
95
+ var _b;
96
+ var value = _a.value, onChange = _a.onChange, provider = _a.provider, recordType = _a.recordType, options = _a.options, actionCode = _a.actionCode, height = _a.height, size = _a.size, _c = _a.readOnly, readOnly = _c === void 0 ? false : _c, wordWrap = _a.wordWrap, maxHeight = _a.maxHeight, lineNumbers = _a.lineNumbers, _d = _a.showDiagnostics, showDiagnostics = _d === void 0 ? true : _d, _e = _a.enableHover, enableHover = _e === void 0 ? true : _e, _f = _a.templateTagsUseIntent, templateTagsUseIntent = _f === void 0 ? true : _f, loadingIndicator = _a.loadingIndicator, templates = _a.templates, onBlur = _a.onBlur, _g = _a.useServerParse, useServerParse = _g === void 0 ? false : _g, fields = _a.fields, _h = _a.alertPayloadContext, alertPayloadContext = _h === void 0 ? false : _h, fsmContext = _a.fsmContext, onUnavailable = _a.onUnavailable, onReady = _a.onReady, _j = _a.completeOnClick, completeOnClick = _j === void 0 ? !!templates : _j, _k = _a.browseTemplates, browseTemplates = _k === void 0 ? true : _k, templateCatalogue = _a.templateCatalogue, ownFieldContext = _a.fieldContext, diagnosticAction = _a.diagnosticAction;
97
+ // where the field is: its own, or where the host says its fields are (`TemplateCatalogueProvider`)
98
+ var hostFieldContext = (0, templateCatalogueContext_1.useTemplateFieldContext)();
99
+ var fieldContext = ownFieldContext !== null && ownFieldContext !== void 0 ? ownFieldContext : hostFieldContext;
79
100
  var dpql = (0, useDpqlSession_1.useDpqlSession)({
80
101
  provider: provider,
81
102
  recordType: recordType,
@@ -85,6 +106,7 @@ exports.DpqlEditor = (0, react_1.forwardRef)(function (_a, ref) {
85
106
  initialText: value,
86
107
  alertPayloadContext: alertPayloadContext,
87
108
  fsmContext: fsmContext,
109
+ fieldContext: fieldContext,
88
110
  });
89
111
  // Server-parse state: when `useServerParse` is true, we ask the
90
112
  // LSP server's `dpql/toRichtext` to convert the plain-text value
@@ -93,9 +115,9 @@ exports.DpqlEditor = (0, react_1.forwardRef)(function (_a, ref) {
93
115
  // reuse it without another roundtrip. `null` until the first
94
116
  // response arrives (or when the request errored — caller falls
95
117
  // back to the client-side regex parser via `dpqlSlateConverter`).
96
- var _h = (0, react_1.useState)(null), serverParsedNodes = _h[0], setServerParsedNodes = _h[1];
97
- var _j = (0, react_1.useState)(null), serverParsedFor = _j[0], setServerParsedFor = _j[1];
98
- var _k = (0, react_1.useState)(false), isParsing = _k[0], setIsParsing = _k[1];
118
+ var _l = (0, react_1.useState)(null), serverParsedNodes = _l[0], setServerParsedNodes = _l[1];
119
+ var _m = (0, react_1.useState)(null), serverParsedFor = _m[0], setServerParsedFor = _m[1];
120
+ var _o = (0, react_1.useState)(false), isParsing = _o[0], setIsParsing = _o[1];
99
121
  // Tracks the most recent in-flight request so a slow response
100
122
  // can't overwrite a newer one (the user typed faster than the
101
123
  // server replied).
@@ -174,14 +196,113 @@ exports.DpqlEditor = (0, react_1.forwardRef)(function (_a, ref) {
174
196
  if (!useServerParse)
175
197
  return dpqlHelpers_1.dpqlSlateConverter;
176
198
  return __assign(__assign({}, dpqlHelpers_1.dpqlSlateConverter), { toSlateNodes: function (text) {
177
- if (text === serverParsedFor &&
178
- serverParsedNodes) {
199
+ if (text === serverParsedFor && serverParsedNodes) {
179
200
  return serverParsedNodes;
180
201
  }
181
202
  return dpqlHelpers_1.dpqlSlateConverter.toSlateNodes(text);
182
203
  } });
183
204
  }, [useServerParse, serverParsedFor, serverParsedNodes]);
184
- var tagRenderer = (0, react_1.useMemo)(function () { return (0, dpqlTags_1.makeDpqlTagRenderer)(dpql.fieldMeta, { templateTagsUseIntent: templateTagsUseIntent, templates: templates }); }, [dpql.fieldMeta, templateTagsUseIntent, templates]);
205
+ // no language server to talk to: said once, for the host to show what works without one
206
+ var unavailable = dpql.session.isUnavailable;
207
+ (0, react_1.useEffect)(function () {
208
+ if (unavailable)
209
+ onUnavailable === null || onUnavailable === void 0 ? void 0 : onUnavailable();
210
+ }, [unavailable]);
211
+ // the language server can now parse and write the text: said once, as the session says it
212
+ var ready = dpql.session.isReady && dpql.session.isContextReady;
213
+ (0, react_1.useEffect)(function () {
214
+ if (ready)
215
+ onReady === null || onReady === void 0 ? void 0 : onReady();
216
+ }, [ready]);
217
+ /* What the field can refer to (qorus#646, David's decisions): its templates as their catalogue nests them, and
218
+ the record's fields as a group of their own - one tree, browsed in the template picker (a click in the empty
219
+ text, the template button, a chip, a group's row) and reached by what is typed (`dpqlCompletionsWith`). */
220
+ /* The field's template catalogue (qorus#646): the contexts it can use where it is used, asked of the language
221
+ server once the document's context is bound, and again when that changes. A server that does not know the
222
+ request leaves the field with its own templates. */
223
+ var _p = (0, react_1.useState)(), askedCatalogue = _p[0], setAskedCatalogue = _p[1];
224
+ var catalogueClient = dpql.session.client;
225
+ var catalogueReady = dpql.session.isReady && dpql.session.isContextReady;
226
+ var fieldContextKey = fieldContext ? JSON.stringify(fieldContext) : '';
227
+ (0, react_1.useEffect)(function () {
228
+ if (templateCatalogue || readOnly || !catalogueClient || !catalogueReady)
229
+ return undefined;
230
+ var current = true;
231
+ catalogueClient
232
+ .customRequest('dpql/templateCatalogue', __assign({ uri: dpql.session.uri }, (fieldContextKey ? { field_context: JSON.parse(fieldContextKey) } : {})))
233
+ .then(function (catalogue) {
234
+ if (current)
235
+ setAskedCatalogue((catalogue === null || catalogue === void 0 ? void 0 : catalogue.contexts) ? catalogue : undefined);
236
+ })
237
+ .catch(function () {
238
+ // a server without the catalogue: the field's own templates
239
+ if (current)
240
+ setAskedCatalogue(undefined);
241
+ });
242
+ return function () {
243
+ current = false;
244
+ };
245
+ // asked again when the Qog the document is bound to changes (`fsmContext`): its state data are `$data:`'s keys
246
+ }, [
247
+ templateCatalogue,
248
+ readOnly,
249
+ catalogueClient,
250
+ catalogueReady,
251
+ fieldContextKey,
252
+ fsmContext,
253
+ dpql.session.uri,
254
+ ]);
255
+ // the field's own, its language server's, or that of the fields where it is (`TemplateCatalogueProvider`)
256
+ var hostCatalogue = (0, templateCatalogueContext_1.useTemplateCatalogue)();
257
+ var catalogue = (_b = templateCatalogue !== null && templateCatalogue !== void 0 ? templateCatalogue : askedCatalogue) !== null && _b !== void 0 ? _b : hostCatalogue;
258
+ var templateRoots = (0, react_1.useMemo)(
259
+ // an expression takes a record whole: a state's data or a record is offered whole as well as opened
260
+ // a lone group kept whole: the editor adds the language server's groups beside it (`openLoneGroup`)
261
+ function () {
262
+ return (0, templateCatalogue_1.withTemplateCatalogue)((0, templateTree_1.templateTree)(templates, { fields: dpql.fieldMeta, wholeRecords: true, keepLoneGroup: true }), catalogue, true);
263
+ }, [templates, dpql.fieldMeta, catalogue]);
264
+ /* A reference that names none of the field's templates says so where it is written, and stays the text it
265
+ was typed as (qorus#646, David's review: a half-typed reference was taken as it was). */
266
+ var namesNothing = (0, react_1.useCallback)(function (reference) { return (0, templateTree_1.referenceNamesNothing)(templateRoots, reference); }, [templateRoots]);
267
+ var presentDiagnostics = (0, react_1.useCallback)(function (diagnostics, plainText) { return __spreadArray(__spreadArray([], (0, dpqlCompletions_1.presentDpqlDiagnostics)(diagnostics, plainText), true), (0, dpqlHelpers_1.dpqlReferencesIn)(plainText)
268
+ .filter(function (_a) {
269
+ var value = _a.value;
270
+ return namesNothing(value);
271
+ })
272
+ /* what the server says of a reference is said once: a variable the Qog does not declare is the server's
273
+ warning, with what to do about it (`qog_variable_undeclared`), not an error of the editor's too */
274
+ .filter(function (_a) {
275
+ var line = _a.line, start = _a.start;
276
+ return !diagnostics.some(function (diagnostic) {
277
+ return diagnostic.code === 'qog_variable_undeclared' &&
278
+ diagnostic.range.start.line === line &&
279
+ diagnostic.range.start.character <= start &&
280
+ diagnostic.range.end.character > start;
281
+ });
282
+ })
283
+ .map(function (_a) {
284
+ var line = _a.line, start = _a.start, end = _a.end, value = _a.value;
285
+ return ({
286
+ range: { start: { line: line, character: start }, end: { line: line, character: end } },
287
+ severity: 1,
288
+ source: 'templates',
289
+ message: (0, templateTree_1.referenceNamesNothingMessage)(value),
290
+ });
291
+ }), true); }, [namesNothing]);
292
+ // a template's type named in its row by the catalogue the surrounding form has, never its code
293
+ var typeLabel = (0, typeSentenceForm_1.useTypeLabel)();
294
+ var completionsWith = (0, react_1.useMemo)(function () { return (0, dpqlCompletions_1.dpqlCompletionsWith)(templateRoots, typeLabel); }, [templateRoots, typeLabel]);
295
+ var descriptions = (0, descriptionTooltip_1.useDescriptionTooltips)();
296
+ // a chip's hover says its type in the server's words for it
297
+ var typeSentenceForm = (0, typeSentenceForm_1.useTypeSentenceForm)();
298
+ var tagRenderer = (0, react_1.useMemo)(function () {
299
+ return (0, dpqlTags_1.makeDpqlTagRenderer)(dpql.fieldMeta, {
300
+ templateTagsUseIntent: templateTagsUseIntent,
301
+ templates: templates,
302
+ descriptions: descriptions,
303
+ typeSentenceForm: typeSentenceForm,
304
+ });
305
+ }, [dpql.fieldMeta, templateTagsUseIntent, templates, descriptions, typeSentenceForm]);
185
306
  (0, react_1.useImperativeHandle)(ref, function () { return ({
186
307
  format: function () { return __awaiter(void 0, void 0, void 0, function () {
187
308
  var formatted;
@@ -201,7 +322,32 @@ exports.DpqlEditor = (0, react_1.forwardRef)(function (_a, ref) {
201
322
  parse: dpql.parse,
202
323
  serialize: dpql.serialize,
203
324
  }); }, [dpql, value, onChange]);
204
- return ((0, jsx_runtime_1.jsx)(SmartEditor_1.SmartEditor, { session: dpql.session, value: value, onChange: onChange, tagRenderer: tagRenderer, triggerCharacters: DPQL_TRIGGERS, converter: converter, completionInserter: dpqlInserter_1.dpqlCompletionInserter, height: height, readOnly: readOnly, showDiagnostics: showDiagnostics, enableHover: enableHover, onBlur: onBlur, isLoading: isParsing, loadingIndicator: loadingIndicator }));
325
+ // Shift+Alt+F: the text as the language server formats it
326
+ var formatDocument = (0, react_1.useCallback)(function () {
327
+ dpql.session
328
+ .format()
329
+ .then(function (formatted) {
330
+ if (formatted !== null && formatted !== value) {
331
+ onChange(formatted);
332
+ }
333
+ })
334
+ .catch(function () {
335
+ // the server could not format it: the text stays as it is
336
+ });
337
+ }, [dpql.session, value, onChange]);
338
+ // the button beside the text that opens the picker for a pick at the caret, where a value can be written there
339
+ var templateButton = (0, react_1.useMemo)(function () {
340
+ var _a;
341
+ return browseTemplates && !readOnly && ((_a = templates === null || templates === void 0 ? void 0 : templates.items) === null || _a === void 0 ? void 0 : _a.length) ?
342
+ { insertableAt: dpqlCompletions_1.dpqlExpectsValue, notInsertable: dpqlCompletions_1.NO_VALUE_AT_THE_END }
343
+ : undefined;
344
+ }, [browseTemplates, readOnly, templates]);
345
+ var editor = ((0, jsx_runtime_1.jsx)(SmartEditor_1.SmartEditor, { session: dpql.session, value: value, onChange: onChange, tagRenderer: tagRenderer, triggerCharacters: DPQL_TRIGGERS, converter: converter, completionInserter: dpqlInserter_1.dpqlCompletionInserter, height: height, size: size, readOnly: readOnly, showDiagnostics: showDiagnostics, enableHover: enableHover, onBlur: onBlur, templateRoots: readOnly ? undefined : templateRoots,
346
+ // DPQL's brackets and strings, as a code editor closes, wraps and matches them
347
+ editingLanguage: editingAids_1.DPQL_EDITING_LANGUAGE, formatDocument: formatDocument, wordWrap: wordWrap, maxHeight: maxHeight, lineNumbers: lineNumbers, templateButton: templateButton, completeOnClick: completeOnClick, completionsWith: completionsWith,
348
+ // "No record fields here" is the server's to say: with none, there may be a record it would know
349
+ emptyCompletionMessage: dpql.session.isUnavailable ? undefined : dpqlCompletions_1.dpqlEmptyCompletionMessage, presentDiagnostics: presentDiagnostics, diagnosticAction: diagnosticAction, referenceNamesNothing: namesNothing, isLoading: isParsing, loadingIndicator: loadingIndicator }));
350
+ return editor;
205
351
  });
206
352
  exports.DpqlEditor.displayName = 'DpqlEditor';
207
353
  //# sourceMappingURL=DpqlEditor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DpqlEditor.js","sourceRoot":"","sources":["../../../src/components/dpqlEditor/DpqlEditor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DpqlEditor.js","sourceRoot":"","sources":["../../../src/components/dpqlEditor/DpqlEditor.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { TTypeLabel } from '../../helpers/qorusTypeCatalogue';
2
+ import { ITemplateNode } from '../../helpers/templateTree';
3
+ import { ILspCompletionItem, ILspDiagnostic } from '../../utils/lspClient.types';
4
+ import { unlistedContextMessage } from '../smartEditor/templateCompletions';
5
+ import { ICompletionContext } from '../smartEditor/types';
6
+ /** The completions, the best fits of the word typed first, in the order they came otherwise. */
7
+ export declare const rankByFit: (items: ILspCompletionItem[], word: string) => ILspCompletionItem[];
8
+ /** Why the templates beside the text cannot be used: a value at its end would follow another (qorus#646). */
9
+ export declare const NO_VALUE_AT_THE_END = "A template goes where a value can: after an operator, an opening bracket or a comma, or in an empty expression.";
10
+ /**
11
+ * The text with `template` put in at its end, where a template chosen from the picker beside the text goes - the
12
+ * editor keeps no caret its host can reach - in place of a reference being written there (a `$` typed to ask for
13
+ * one), as a template picked in the text goes (qorus#646, David's review: `pos + 1 + $pos`). Undefined where no
14
+ * value can be written at the end (`dpqlExpectsValue`): after `12`, one would be refused.
15
+ */
16
+ export declare const dpqlTextWithTemplateAtTheEnd: (text: string, template: string) => string | undefined;
17
+ /**
18
+ * Whether a value can be written at the end of `textBefore`, as far as the text tells: nothing written yet, an
19
+ * operator, an opening bracket or a comma before it, or a reference being written there. Asked where the server
20
+ * cannot be: there is none, or the document is empty, which it answers nothing for.
21
+ */
22
+ export declare const dpqlExpectsValue: (textBefore: string) => boolean;
23
+ export declare const dpqlCompletionsWith: (roots?: ITemplateNode[], typeLabel?: TTypeLabel) => ({ plainText, offset, serverItems, typedInText }: ICompletionContext) => ILspCompletionItem[];
24
+ /**
25
+ * What the list says where it offers nothing at the caret (qorus#646): after an `@`, that there is no record; after
26
+ * a `$`, that there are no templates here.
27
+ */
28
+ export { unlistedContextMessage };
29
+ export declare const dpqlEmptyCompletionMessage: (plainText: string, offset: number) => string | undefined;
30
+ /** What is said of the placeholders an unfinished expression is written with, for each part not chosen yet. */
31
+ export declare const UNFINISHED_PARTS_MESSAGE = "Fill in each \u2026 (the parts not chosen yet).";
32
+ /**
33
+ * The server's diagnostics as a DPQL editor says them. The Text view writes an unfinished expression with a
34
+ * placeholder for each part not chosen yet (`… > …`), and the server refuses each: "'…' can't be used here",
35
+ * twice, of text the author did not write (qorus#646, David's decision). Those are said once, as what to do; what
36
+ * the server says of anything else is said as it says it.
37
+ */
38
+ export declare const presentDpqlDiagnostics: (diagnostics: ILspDiagnostic[], plainText: string) => ILspDiagnostic[];
39
+ //# sourceMappingURL=dpqlCompletions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dpqlCompletions.d.ts","sourceRoot":"","sources":["../../../src/components/dpqlEditor/dpqlCompletions.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EACL,aAAa,EAKd,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAEjF,OAAO,EAGL,sBAAsB,EACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAkB1D,gGAAgG;AAChG,eAAO,MAAM,SAAS,UAAW,kBAAkB,EAAE,QAAQ,MAAM,KAAG,kBAAkB,EAI5D,CAAC;AAe7B,6GAA6G;AAC7G,eAAO,MAAM,mBAAmB,oHACmF,CAAC;AAEpH;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,SAAU,MAAM,YAAY,MAAM,KAAG,MAAM,GAAG,SAYtF,CAAC;AAKF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,eAAgB,MAAM,KAAG,OAMrD,CAAC;AAiFF,eAAO,MAAM,mBAAmB,WACtB,aAAa,EAAE,cAAmB,UAAU,uDACF,kBAAkB,KAAG,kBAAkB,EAkGxF,CAAC;AAEJ;;;GAGG;AACH,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAElC,eAAO,MAAM,0BAA0B,cAC1B,MAAM,UACT,MAAM,KACb,MAAM,GAAG,SAYX,CAAC;AAGF,+GAA+G;AAC/G,eAAO,MAAM,wBAAwB,oDAAgE,CAAC;AAEtG;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,gBACpB,cAAc,EAAE,aAClB,MAAM,KAChB,cAAc,EAkBhB,CAAC"}
@@ -0,0 +1,294 @@
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
+ };
13
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
14
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
15
+ if (ar || !(i in from)) {
16
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
17
+ ar[i] = from[i];
18
+ }
19
+ }
20
+ return to.concat(ar || Array.prototype.slice.call(from));
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.presentDpqlDiagnostics = exports.UNFINISHED_PARTS_MESSAGE = exports.dpqlEmptyCompletionMessage = exports.unlistedContextMessage = exports.dpqlCompletionsWith = exports.dpqlExpectsValue = exports.dpqlTextWithTemplateAtTheEnd = exports.NO_VALUE_AT_THE_END = exports.rankByFit = void 0;
24
+ var templateTree_1 = require("../../helpers/templateTree");
25
+ var renderExpressionToText_1 = require("../form/expressions/renderExpressionToText");
26
+ var templateCompletions_1 = require("../smartEditor/templateCompletions");
27
+ Object.defineProperty(exports, "unlistedContextMessage", { enumerable: true, get: function () { return templateCompletions_1.unlistedContextMessage; } });
28
+ var dpqlHelpers_1 = require("./dpqlHelpers");
29
+ /** The word typed before the caret: what follows the last sigil, `.` or `:` (`siz`, `dat`, `nam`, `ev`). */
30
+ var wordTyped = function (textBefore) { var _a, _b; return ((_b = (_a = /[\p{L}\p{M}\p{N}_]*$/u.exec(textBefore)) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : '').toLowerCase(); };
31
+ /** How well a completion fits the word typed: 0 its name starts with it, 1 a word in it does, 2 otherwise. */
32
+ var fitOf = function (item, word) {
33
+ if (!word)
34
+ return 0;
35
+ var names = [item.label, item.filterText, item.insertText]
36
+ .filter(function (name) { return typeof name === 'string'; })
37
+ .map(function (name) { return name.toLowerCase().replace(/^[@$]+/, ''); });
38
+ if (names.some(function (name) { return name.startsWith(word); }))
39
+ return 0;
40
+ if (names.some(function (name) { return name.split(/[^\p{L}\p{M}\p{N}]+/u).some(function (part) { return part.startsWith(word); }); }))
41
+ return 1;
42
+ return 2;
43
+ };
44
+ /** The completions, the best fits of the word typed first, in the order they came otherwise. */
45
+ var rankByFit = function (items, word) {
46
+ return items
47
+ .map(function (item, index) { return ({ item: item, index: index, fit: fitOf(item, word) }); })
48
+ .sort(function (a, b) { return a.fit - b.fit || a.index - b.index; })
49
+ .map(function (_a) {
50
+ var item = _a.item;
51
+ return item;
52
+ });
53
+ };
54
+ exports.rankByFit = rankByFit;
55
+ /** A reference as one record field is written however it is spelled: `$record:{pos}` is `@pos`. */
56
+ var fieldAsWritten = function (reference) {
57
+ var bare = (0, templateTree_1.unbracedReference)(reference);
58
+ return bare.startsWith('$record:') ? "@".concat(bare.slice('$record:'.length)) : bare;
59
+ };
60
+ /** The LSP completion kind a record's field is offered as. */
61
+ var FIELD_KIND = 5;
62
+ /** LSP completion kinds that write no value: a keyword and an operator (what the server offers after a value). */
63
+ var NO_VALUE_KINDS = new Set([14, 24]);
64
+ /** An `@` and the field name typed after it, at the end of a text. */
65
+ var FIELD_BEING_ASKED = /@[\p{L}\p{M}\p{N}_.]*$/u;
66
+ /** Why the templates beside the text cannot be used: a value at its end would follow another (qorus#646). */
67
+ exports.NO_VALUE_AT_THE_END = 'A template goes where a value can: after an operator, an opening bracket or a comma, or in an empty expression.';
68
+ /**
69
+ * The text with `template` put in at its end, where a template chosen from the picker beside the text goes - the
70
+ * editor keeps no caret its host can reach - in place of a reference being written there (a `$` typed to ask for
71
+ * one), as a template picked in the text goes (qorus#646, David's review: `pos + 1 + $pos`). Undefined where no
72
+ * value can be written at the end (`dpqlExpectsValue`): after `12`, one would be refused.
73
+ */
74
+ var dpqlTextWithTemplateAtTheEnd = function (text, template) {
75
+ if (!template || !(0, exports.dpqlExpectsValue)(text)) {
76
+ return undefined;
77
+ }
78
+ var current = text.trimEnd();
79
+ var written = (0, dpqlHelpers_1.dpqlReferenceBeingWritten)(current);
80
+ var before = current.slice(0, current.length - written);
81
+ return (!before.trim() ? template
82
+ : written ? "".concat(before).concat(template)
83
+ : "".concat(before, " ").concat(template));
84
+ };
85
+ exports.dpqlTextWithTemplateAtTheEnd = dpqlTextWithTemplateAtTheEnd;
86
+ /** What a value cannot follow - so it can be written next: an operator, an opening bracket, a comma. */
87
+ var BEFORE_A_VALUE = /[-+*/%<>=!&|,([?:]$/;
88
+ /**
89
+ * Whether a value can be written at the end of `textBefore`, as far as the text tells: nothing written yet, an
90
+ * operator, an opening bracket or a comma before it, or a reference being written there. Asked where the server
91
+ * cannot be: there is none, or the document is empty, which it answers nothing for.
92
+ */
93
+ var dpqlExpectsValue = function (textBefore) {
94
+ if ((0, dpqlHelpers_1.dpqlReferenceBeingWritten)(textBefore) > 0) {
95
+ return true;
96
+ }
97
+ var written = textBefore.trimEnd();
98
+ return !written || BEFORE_A_VALUE.test(written);
99
+ };
100
+ exports.dpqlExpectsValue = dpqlExpectsValue;
101
+ /** A `$` and the template typed after it, at the end of a text: `$data:receive_order.`. */
102
+ var TEMPLATE_BEING_TYPED = /\$[\p{L}\p{M}\p{N}_.:{}[\]*-]*$/u;
103
+ /**
104
+ * The template typed at the end of `textBefore` (`$`, `$data:receive_order.`); '' where none is, or where it is in
105
+ * a string.
106
+ */
107
+ var templateTyped = function (textBefore) {
108
+ var match = TEMPLATE_BEING_TYPED.exec(textBefore);
109
+ return match && !(0, dpqlHelpers_1.stringOpenAt)(textBefore.slice(0, match.index)) ? match[0] : '';
110
+ };
111
+ /** The field asked for at the end of `textBefore` (`@`, `@na`), typed as written, not in a string; or ''. */
112
+ var fieldTyped = function (textBefore) {
113
+ var match = FIELD_BEING_ASKED.exec(textBefore);
114
+ return match && !(0, dpqlHelpers_1.stringOpenAt)(textBefore.slice(0, match.index)) ? match[0] : '';
115
+ };
116
+ /** Whether an `@` asks for a field at the end of `textBefore`: typed as written, not in a string. */
117
+ var asksForAField = function (textBefore) { return !!fieldTyped(textBefore); };
118
+ /**
119
+ * What the list offers at the caret: the server's answer, and the field's templates and fields that what is typed
120
+ * reaches (qorus#646, David's review): after `$d` or `$data` the states, after `$data:` the states, after
121
+ * `$data:receive_order.` that state's data, after `@` the record's fields - a group a row that opens the picker at
122
+ * its members. Nothing that does not go on from what is typed: a template list of everything, under whatever was
123
+ * typed, read as if all of it fitted. Where a value can be written and nothing is typed, the field's templates are
124
+ * a row that opens the picker at their top ("Browse all templates"), with the server's answer. A pick is always a
125
+ * value where one can stand: after `12` the server offers operators, and no template is offered.
126
+ *
127
+ * A field or a template the server offers that the field's own list has is listed once, as the field's own, with
128
+ * where it is. A template's context alone (`$data:`) is not offered (`BARE_CONTEXT`).
129
+ */
130
+ /** Whether a completion row is a record field (`@pos`, its template `$record:{pos}`). */
131
+ var isRecordField = function (item) {
132
+ var _a, _b, _c;
133
+ var written = (_c = (_b = (_a = item.textEdit) === null || _a === void 0 ? void 0 : _a.newText) !== null && _b !== void 0 ? _b : item.insertText) !== null && _c !== void 0 ? _c : item.label;
134
+ return item.kind === FIELD_KIND || written.startsWith('@') || (0, templateTree_1.unbracedReference)(written).startsWith('$record:');
135
+ };
136
+ /** Whether a completion is a template context, written `$<name>:`. */
137
+ var isContextItem = function (item) { var _a; return /^\$[\w-]+:$/.test((_a = item.insertText) !== null && _a !== void 0 ? _a : ''); };
138
+ /**
139
+ * A server completion as the list draws it, by what the server says of it (`data`: the contract a Qorus agent is
140
+ * building - a container or a leaf, used whole or not): a context or a state, a container, is gone on into - its
141
+ * reference written as text and what is in it listed next - and its row's Use takes it whole (`$data:*`, the
142
+ * state's whole data). A server that says nothing of a context: a container, used whole as Qorus reads it
143
+ * (`WHOLE_TEMPLATE_CONTEXTS`).
144
+ */
145
+ var markedServerItem = function (item) {
146
+ var _a, _b, _c, _d, _e;
147
+ var said = ((_a = item.data) !== null && _a !== void 0 ? _a : {});
148
+ var written = (_d = (_c = (_b = item.textEdit) === null || _b === void 0 ? void 0 : _b.newText) !== null && _c !== void 0 ? _c : item.insertText) !== null && _d !== void 0 ? _d : item.label;
149
+ if (isContextItem(__assign(__assign({}, item), { insertText: written }))) {
150
+ if (said.container === false)
151
+ return item;
152
+ var whole = (_e = said.use_whole) !== null && _e !== void 0 ? _e : templateTree_1.WHOLE_TEMPLATE_CONTEXTS.has(written.slice(1, -1));
153
+ return __assign(__assign({}, item), { data: __assign(__assign({}, said), { continues: true, kindLabel: 'Template context',
154
+ // listed with the field's own templates and contexts, in one section
155
+ section: 'Templates', takesWhole: whole, wholeValue: whole ? (0, templateTree_1.wholeContextValue)(written) : undefined }) });
156
+ }
157
+ if (said.container && /^\$[\w-]+:\S+$/.test(written)) {
158
+ return __assign(__assign({}, item), { insertText: "".concat(written, "."), filterText: written, data: __assign(__assign({}, said), { continues: true, takesWhole: !!said.use_whole, wholeValue: said.use_whole ? written : undefined }) });
159
+ }
160
+ return item;
161
+ };
162
+ var dpqlCompletionsWith = function (roots, typeLabel) {
163
+ if (roots === void 0) { roots = []; }
164
+ return function (_a) {
165
+ var plainText = _a.plainText, offset = _a.offset, serverItems = _a.serverItems, typedInText = _a.typedInText;
166
+ /* The server's completions are offered as it offers them - a template's context (`$data:`) among them, which a
167
+ pick writes and goes on from, listing what is in it (qorus#646, David: "typing '$dat' or '@nam' does not
168
+ result in any LSP completion support, but it should") - ranked by how well they fit what is typed. */
169
+ var before = plainText.slice(0, offset);
170
+ /* What is typed, where a value can be written: the server says so by offering values (a whole reference before
171
+ the caret - a chip - is a value already, and the server offers operators after it), or, where it offers
172
+ nothing or cannot be asked, the text does. */
173
+ /* What is typed of a reference: read from the text the caret is in where the editor says what that is - a
174
+ chip before it is a value already, not a reference being typed - else from the plain text. */
175
+ /* a `.` or `[` typed straight after a chip goes on from the chip's reference (`$data:receive_order` and `.`):
176
+ read with it */
177
+ var written = typedInText !== undefined && !/^[.[]/.test(typedInText) ? typedInText : before;
178
+ var server = (0, exports.rankByFit)(serverItems !== null && serverItems !== void 0 ? serverItems : [], wordTyped(written));
179
+ var typed = templateTyped(written) || fieldTyped(written);
180
+ var valueHere = (serverItems === null || serverItems === void 0 ? void 0 : serverItems.length) ? serverItems.some(function (item) { var _a; return !NO_VALUE_KINDS.has((_a = item.kind) !== null && _a !== void 0 ? _a : 0); })
181
+ : typed ? (0, exports.dpqlExpectsValue)(before.slice(0, before.length - typed.length))
182
+ : (0, exports.dpqlExpectsValue)(before);
183
+ var serverReferences = new Set(server.map(function (item) { var _a, _b, _c; return fieldAsWritten((_c = (_b = (_a = item.textEdit) === null || _a === void 0 ? void 0 : _a.newText) !== null && _b !== void 0 ? _b : item.insertText) !== null && _c !== void 0 ? _c : item.label); }));
184
+ /* A record field the server offers is listed as the server lists it - it knows the record - and once: a field
185
+ of the field's own list it offers too is left out of that list. */
186
+ var ours = (0, exports.rankByFit)(typed && valueHere && roots.length ? (0, templateCompletions_1.templateSearchItems)(roots, typed, typeLabel, true) : [], wordTyped(written)).filter(function (item) {
187
+ var _a;
188
+ return !(item.kind === FIELD_KIND && serverReferences.has(fieldAsWritten((_a = item.insertText) !== null && _a !== void 0 ? _a : ''))) &&
189
+ // after a `$` only a template can follow: a record field is written with an `@` (qorus#646, David's review)
190
+ !(typed.startsWith('$') && isRecordField(item));
191
+ });
192
+ var browse = valueHere && roots.length ? [(0, templateCompletions_1.browseAllTemplatesItem)()] : [];
193
+ /* What the server says of a context or a value (the contract a Qorus agent is building, qorus#646 round 4): a
194
+ container is gone on into, its reference written as text, and taken whole (`$ctx:*`) where it can be. */
195
+ var marked = server.map(markedServerItem);
196
+ if (!ours.length) {
197
+ /* a context written that nothing is listed in: the list says what to write next (`unlistedContextMessage`),
198
+ with Browse all templates, to put a working reference in its place (qorus#646, David's review) */
199
+ if (!marked.length && (0, templateCompletions_1.unlistedContextMessage)(typed || written)) {
200
+ return roots.length ? [(0, templateCompletions_1.browseAllTemplatesItem)()] : [];
201
+ }
202
+ return __spreadArray(__spreadArray([], marked, true), browse, true);
203
+ }
204
+ /* a template context the field's own list has is listed as its own - with what is in it - and taken whole as
205
+ the server says it can be; the server's own row for it is left out below */
206
+ var serverWhole = new Map(marked
207
+ .filter(function (item) { return isContextItem(item); })
208
+ .map(function (item) { var _a, _b; return [(_a = item.insertText) !== null && _a !== void 0 ? _a : '', !!((_b = item.data) === null || _b === void 0 ? void 0 : _b.takesWhole)]; }));
209
+ var oursListed = ours.map(function (item) {
210
+ var _a;
211
+ var data = item.data;
212
+ var whole = serverWhole.get((_a = item.insertText) !== null && _a !== void 0 ? _a : '');
213
+ return (data === null || data === void 0 ? void 0 : data.kindLabel) === 'Template context' && whole !== undefined && whole !== data.takesWhole ? __assign(__assign({}, item), { data: __assign(__assign({}, data), { takesWhole: whole }) }) : item;
214
+ });
215
+ // by the reference each stands for: a state gone on into writes `$data:receive_order.`, the server's is the state
216
+ var ownReferences = new Set(oursListed.flatMap(function (item) {
217
+ var _a, _b;
218
+ return [
219
+ (0, templateTree_1.unbracedReference)((_a = item.insertText) !== null && _a !== void 0 ? _a : ''),
220
+ (0, templateTree_1.unbracedReference)((_b = item.filterText) !== null && _b !== void 0 ? _b : ''),
221
+ ];
222
+ }));
223
+ var rest = __spreadArray(__spreadArray([], oursListed, true), marked.filter(function (item) {
224
+ var _a, _b, _c, _d;
225
+ return !ownReferences.has((0, templateTree_1.unbracedReference)((_c = (_b = (_a = item.textEdit) === null || _a === void 0 ? void 0 : _a.newText) !== null && _b !== void 0 ? _b : item.insertText) !== null && _c !== void 0 ? _c : item.label)) &&
226
+ // a state gone on into: its reference without the `.`
227
+ !ownReferences.has((0, templateTree_1.unbracedReference)(((_d = item.insertText) !== null && _d !== void 0 ? _d : '').replace(/\.$/, '')));
228
+ }), true);
229
+ /* the contexts first, by name as Qorus lists them, the field's own and the server's alike, then what is named
230
+ so: `$time` lists $timestamp: before Current Timestamp */
231
+ var isContext = isContextItem;
232
+ /* in the field's catalogue's order, the server's intended one (`sort_priority`), as a rich-text field lists
233
+ them; by name where the field has no catalogue */
234
+ var catalogueOrder = new Map((0, templateTree_1.templateContextsOf)(roots)
235
+ .filter(function (node) { return node.catalogue; })
236
+ .map(function (node, index) { var _a; return [(_a = node.reference) !== null && _a !== void 0 ? _a : '', index]; }));
237
+ var contextOrder = function (a, b) {
238
+ var _a, _b;
239
+ var _c = [(_a = a.insertText) !== null && _a !== void 0 ? _a : '', (_b = b.insertText) !== null && _b !== void 0 ? _b : ''], at = _c[0], bt = _c[1];
240
+ var _d = [catalogueOrder.get(at), catalogueOrder.get(bt)], ai = _d[0], bi = _d[1];
241
+ if (ai !== undefined || bi !== undefined) {
242
+ return (ai !== null && ai !== void 0 ? ai : Number.MAX_SAFE_INTEGER) - (bi !== null && bi !== void 0 ? bi : Number.MAX_SAFE_INTEGER) || at.localeCompare(bt);
243
+ }
244
+ return at.localeCompare(bt);
245
+ };
246
+ return __spreadArray(__spreadArray(__spreadArray([], rest.filter(isContext).sort(contextOrder), true), rest.filter(function (item) { return !isContext(item); }), true), browse, true);
247
+ };
248
+ };
249
+ exports.dpqlCompletionsWith = dpqlCompletionsWith;
250
+ var dpqlEmptyCompletionMessage = function (plainText, offset) {
251
+ var before = plainText.slice(0, offset);
252
+ if (asksForAField(before)) {
253
+ return 'No record fields here';
254
+ }
255
+ // a context written: what to write in it; a `$` alone or a context's name being written: that there is none
256
+ var inContext = (0, templateCompletions_1.unlistedContextMessage)(before);
257
+ if (inContext) {
258
+ return inContext;
259
+ }
260
+ var written = (0, dpqlHelpers_1.dpqlReferenceBeingWritten)(before);
261
+ return written && before[before.length - written] === '$' ? 'No templates here' : undefined;
262
+ };
263
+ exports.dpqlEmptyCompletionMessage = dpqlEmptyCompletionMessage;
264
+ /** What is said of the placeholders an unfinished expression is written with, for each part not chosen yet. */
265
+ exports.UNFINISHED_PARTS_MESSAGE = "Fill in each ".concat(renderExpressionToText_1.EXPRESSION_HOLE, " (the parts not chosen yet).");
266
+ /**
267
+ * The server's diagnostics as a DPQL editor says them. The Text view writes an unfinished expression with a
268
+ * placeholder for each part not chosen yet (`… > …`), and the server refuses each: "'…' can't be used here",
269
+ * twice, of text the author did not write (qorus#646, David's decision). Those are said once, as what to do; what
270
+ * the server says of anything else is said as it says it.
271
+ */
272
+ var presentDpqlDiagnostics = function (diagnostics, plainText) {
273
+ var lines = plainText.split('\n');
274
+ var atPlaceholder = function (_a) {
275
+ var _b;
276
+ var _c = _a.range, start = _c.start, end = _c.end;
277
+ return start.line === end.line &&
278
+ ((_b = lines[start.line]) === null || _b === void 0 ? void 0 : _b.slice(start.character, end.character)) === renderExpressionToText_1.EXPRESSION_HOLE;
279
+ };
280
+ var placeholders = diagnostics.filter(atPlaceholder);
281
+ if (!placeholders.length) {
282
+ return diagnostics;
283
+ }
284
+ return __spreadArray([
285
+ {
286
+ range: placeholders[0].range,
287
+ severity: 2,
288
+ source: placeholders[0].source,
289
+ message: exports.UNFINISHED_PARTS_MESSAGE,
290
+ }
291
+ ], diagnostics.filter(function (diagnostic) { return !atPlaceholder(diagnostic); }), true);
292
+ };
293
+ exports.presentDpqlDiagnostics = presentDpqlDiagnostics;
294
+ //# sourceMappingURL=dpqlCompletions.js.map