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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (736) hide show
  1. package/README.md +21 -1
  2. package/dist/components/Description/describedControl.d.ts +48 -0
  3. package/dist/components/Description/describedControl.d.ts.map +1 -0
  4. package/dist/components/Description/describedControl.js +81 -0
  5. package/dist/components/Description/describedControl.js.map +1 -0
  6. package/dist/components/Description/index.d.ts.map +1 -1
  7. package/dist/components/Description/index.js +3 -2
  8. package/dist/components/Description/index.js.map +1 -1
  9. package/dist/components/colorValue/colorValue.d.ts +59 -0
  10. package/dist/components/colorValue/colorValue.d.ts.map +1 -0
  11. package/dist/components/colorValue/colorValue.js +245 -0
  12. package/dist/components/colorValue/colorValue.js.map +1 -0
  13. package/dist/components/colorValue/index.d.ts +34 -0
  14. package/dist/components/colorValue/index.d.ts.map +1 -0
  15. package/dist/components/colorValue/index.js +136 -0
  16. package/dist/components/colorValue/index.js.map +1 -0
  17. package/dist/components/colorValue/labels.d.ts +12 -0
  18. package/dist/components/colorValue/labels.d.ts.map +1 -0
  19. package/dist/components/colorValue/labels.js +11 -0
  20. package/dist/components/colorValue/labels.js.map +1 -0
  21. package/dist/components/composer/Composer.d.ts +1 -1
  22. package/dist/components/composer/Composer.d.ts.map +1 -1
  23. package/dist/components/composer/Composer.js +2 -2
  24. package/dist/components/composer/Composer.js.map +1 -1
  25. package/dist/components/dpqlEditor/DpqlEditor.d.ts.map +1 -1
  26. package/dist/components/dpqlEditor/DpqlEditor.js +25 -5
  27. package/dist/components/dpqlEditor/DpqlEditor.js.map +1 -1
  28. package/dist/components/dpqlEditor/dpqlHelpers.d.ts +10 -1
  29. package/dist/components/dpqlEditor/dpqlHelpers.d.ts.map +1 -1
  30. package/dist/components/dpqlEditor/dpqlHelpers.js +30 -13
  31. package/dist/components/dpqlEditor/dpqlHelpers.js.map +1 -1
  32. package/dist/components/dpqlEditor/dpqlTags.d.ts +11 -7
  33. package/dist/components/dpqlEditor/dpqlTags.d.ts.map +1 -1
  34. package/dist/components/dpqlEditor/dpqlTags.js +11 -6
  35. package/dist/components/dpqlEditor/dpqlTags.js.map +1 -1
  36. package/dist/components/dpqlEditor/types.d.ts +47 -8
  37. package/dist/components/dpqlEditor/types.d.ts.map +1 -1
  38. package/dist/components/dpqlEditor/useDpqlSession.d.ts +2 -2
  39. package/dist/components/dpqlEditor/useDpqlSession.d.ts.map +1 -1
  40. package/dist/components/dpqlEditor/useDpqlSession.js +16 -7
  41. package/dist/components/dpqlEditor/useDpqlSession.js.map +1 -1
  42. package/dist/components/form/engine/CompactRow.d.ts.map +1 -1
  43. package/dist/components/form/engine/CompactRow.js +151 -83
  44. package/dist/components/form/engine/CompactRow.js.map +1 -1
  45. package/dist/components/form/engine/CompactToolbar.d.ts.map +1 -1
  46. package/dist/components/form/engine/CompactToolbar.js +29 -3
  47. package/dist/components/form/engine/CompactToolbar.js.map +1 -1
  48. package/dist/components/form/engine/FormEngine.d.ts +34 -1
  49. package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
  50. package/dist/components/form/engine/FormEngine.js +487 -87
  51. package/dist/components/form/engine/FormEngine.js.map +1 -1
  52. package/dist/components/form/engine/HiddenFieldsNote.d.ts +28 -0
  53. package/dist/components/form/engine/HiddenFieldsNote.d.ts.map +1 -0
  54. package/dist/components/form/engine/HiddenFieldsNote.js +32 -0
  55. package/dist/components/form/engine/HiddenFieldsNote.js.map +1 -0
  56. package/dist/components/form/engine/OptionFieldMessages.d.ts.map +1 -1
  57. package/dist/components/form/engine/OptionFieldMessages.js +24 -3
  58. package/dist/components/form/engine/OptionFieldMessages.js.map +1 -1
  59. package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts +2 -2
  60. package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts.map +1 -1
  61. package/dist/components/form/engine/_structuredData/SchemaDataView.js +12 -6
  62. package/dist/components/form/engine/_structuredData/SchemaDataView.js.map +1 -1
  63. package/dist/components/form/engine/compactRowContext.d.ts +19 -0
  64. package/dist/components/form/engine/compactRowContext.d.ts.map +1 -1
  65. package/dist/components/form/engine/compactRowContext.js.map +1 -1
  66. package/dist/components/form/engine/compactRowStyles.d.ts +0 -1
  67. package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
  68. package/dist/components/form/engine/compactRowStyles.js +12 -20
  69. package/dist/components/form/engine/compactRowStyles.js.map +1 -1
  70. package/dist/components/form/engine/compactToolbarColors.d.ts +16 -0
  71. package/dist/components/form/engine/compactToolbarColors.d.ts.map +1 -0
  72. package/dist/components/form/engine/compactToolbarColors.js +21 -0
  73. package/dist/components/form/engine/compactToolbarColors.js.map +1 -0
  74. package/dist/components/form/engine/readFirst.d.ts +24 -8
  75. package/dist/components/form/engine/readFirst.d.ts.map +1 -1
  76. package/dist/components/form/engine/readFirst.js +77 -109
  77. package/dist/components/form/engine/readFirst.js.map +1 -1
  78. package/dist/components/form/engine/readFirstColors.d.ts +30 -0
  79. package/dist/components/form/engine/readFirstColors.d.ts.map +1 -0
  80. package/dist/components/form/engine/readFirstColors.js +51 -0
  81. package/dist/components/form/engine/readFirstColors.js.map +1 -0
  82. package/dist/components/form/engine/rowFocus.d.ts +2 -0
  83. package/dist/components/form/engine/rowFocus.d.ts.map +1 -1
  84. package/dist/components/form/engine/rowFocus.js +26 -3
  85. package/dist/components/form/engine/rowFocus.js.map +1 -1
  86. package/dist/components/form/engine/typeChoices.d.ts +1 -1
  87. package/dist/components/form/engine/variants/VariantCalmTable.d.ts.map +1 -1
  88. package/dist/components/form/engine/variants/VariantCalmTable.js +2 -1
  89. package/dist/components/form/engine/variants/VariantCalmTable.js.map +1 -1
  90. package/dist/components/form/engine/variants/VariantCards.d.ts.map +1 -1
  91. package/dist/components/form/engine/variants/VariantCards.js +2 -1
  92. package/dist/components/form/engine/variants/VariantCards.js.map +1 -1
  93. package/dist/components/form/engine/variants/VariantFocus.js +1 -1
  94. package/dist/components/form/engine/variants/VariantFocus.js.map +1 -1
  95. package/dist/components/form/engine/variants/VariantMinimal.d.ts.map +1 -1
  96. package/dist/components/form/engine/variants/VariantMinimal.js +2 -1
  97. package/dist/components/form/engine/variants/VariantMinimal.js.map +1 -1
  98. package/dist/components/form/engine/variants/variantParts.d.ts +1 -1
  99. package/dist/components/form/engine/variants/variantParts.d.ts.map +1 -1
  100. package/dist/components/form/engine/variants/variantParts.js +25 -17
  101. package/dist/components/form/engine/variants/variantParts.js.map +1 -1
  102. package/dist/components/form/expressions/DpqlRendering.d.ts +1 -1
  103. package/dist/components/form/expressions/DpqlRendering.d.ts.map +1 -1
  104. package/dist/components/form/expressions/DpqlRendering.js +3 -3
  105. package/dist/components/form/expressions/DpqlRendering.js.map +1 -1
  106. package/dist/components/form/expressions/ExpressionField.d.ts +41 -3
  107. package/dist/components/form/expressions/ExpressionField.d.ts.map +1 -1
  108. package/dist/components/form/expressions/ExpressionField.js +396 -99
  109. package/dist/components/form/expressions/ExpressionField.js.map +1 -1
  110. package/dist/components/form/expressions/builder/argumentDetail.d.ts.map +1 -1
  111. package/dist/components/form/expressions/builder/argumentDetail.js +4 -1
  112. package/dist/components/form/expressions/builder/argumentDetail.js.map +1 -1
  113. package/dist/components/form/expressions/builder/argumentLabel.d.ts.map +1 -1
  114. package/dist/components/form/expressions/builder/argumentLabel.js +27 -9
  115. package/dist/components/form/expressions/builder/argumentLabel.js.map +1 -1
  116. package/dist/components/form/expressions/builder/argumentWrapper.d.ts.map +1 -1
  117. package/dist/components/form/expressions/builder/argumentWrapper.js +4 -2
  118. package/dist/components/form/expressions/builder/argumentWrapper.js.map +1 -1
  119. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.d.ts.map +1 -1
  120. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js +5 -4
  121. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js.map +1 -1
  122. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts +1 -1
  123. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts.map +1 -1
  124. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js +6 -3
  125. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js.map +1 -1
  126. package/dist/components/form/expressions/builder/index.d.ts +24 -2
  127. package/dist/components/form/expressions/builder/index.d.ts.map +1 -1
  128. package/dist/components/form/expressions/builder/index.js +121 -77
  129. package/dist/components/form/expressions/builder/index.js.map +1 -1
  130. package/dist/components/form/expressions/builder/item.d.ts +6 -2
  131. package/dist/components/form/expressions/builder/item.d.ts.map +1 -1
  132. package/dist/components/form/expressions/builder/item.js +19 -5
  133. package/dist/components/form/expressions/builder/item.js.map +1 -1
  134. package/dist/components/form/expressions/builder/renderTemplate.js +1 -1
  135. package/dist/components/form/expressions/builder/renderTemplate.js.map +1 -1
  136. package/dist/components/form/expressions/expressionOperands.d.ts +16 -0
  137. package/dist/components/form/expressions/expressionOperands.d.ts.map +1 -0
  138. package/dist/components/form/expressions/expressionOperands.js +97 -0
  139. package/dist/components/form/expressions/expressionOperands.js.map +1 -0
  140. package/dist/components/form/expressions/mockExpressions.d.ts.map +1 -1
  141. package/dist/components/form/expressions/mockExpressions.js +22 -5
  142. package/dist/components/form/expressions/mockExpressions.js.map +1 -1
  143. package/dist/components/form/expressions/renderExpressionToText.d.ts +2 -0
  144. package/dist/components/form/expressions/renderExpressionToText.d.ts.map +1 -1
  145. package/dist/components/form/expressions/renderExpressionToText.js +35 -9
  146. package/dist/components/form/expressions/renderExpressionToText.js.map +1 -1
  147. package/dist/components/form/expressions/textOfExpression.d.ts +18 -0
  148. package/dist/components/form/expressions/textOfExpression.d.ts.map +1 -0
  149. package/dist/components/form/expressions/textOfExpression.js +37 -0
  150. package/dist/components/form/expressions/textOfExpression.js.map +1 -0
  151. package/dist/components/form/expressions/useExpressionType.d.ts +26 -0
  152. package/dist/components/form/expressions/useExpressionType.d.ts.map +1 -0
  153. package/dist/components/form/expressions/useExpressionType.js +181 -0
  154. package/dist/components/form/expressions/useExpressionType.js.map +1 -0
  155. package/dist/components/form/expressions/useRenderExpression.d.ts.map +1 -1
  156. package/dist/components/form/expressions/useRenderExpression.js +7 -7
  157. package/dist/components/form/expressions/useRenderExpression.js.map +1 -1
  158. package/dist/components/form/fields/Field.d.ts.map +1 -1
  159. package/dist/components/form/fields/Field.js +20 -7
  160. package/dist/components/form/fields/Field.js.map +1 -1
  161. package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
  162. package/dist/components/form/fields/allowed-values/AllowedValues.js +17 -4
  163. package/dist/components/form/fields/allowed-values/AllowedValues.js.map +1 -1
  164. package/dist/components/form/fields/array/ArrayAuto.d.ts.map +1 -1
  165. package/dist/components/form/fields/array/ArrayAuto.js +24 -0
  166. package/dist/components/form/fields/array/ArrayAuto.js.map +1 -1
  167. package/dist/components/form/fields/array/ArrayAutoField.d.ts.map +1 -1
  168. package/dist/components/form/fields/array/ArrayAutoField.js +36 -13
  169. package/dist/components/form/fields/array/ArrayAutoField.js.map +1 -1
  170. package/dist/components/form/fields/auto/AutoFormField.d.ts +20 -1
  171. package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
  172. package/dist/components/form/fields/auto/AutoFormField.js +81 -36
  173. package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
  174. package/dist/components/form/fields/auto/hostEditorValue.d.ts +30 -0
  175. package/dist/components/form/fields/auto/hostEditorValue.d.ts.map +1 -0
  176. package/dist/components/form/fields/auto/hostEditorValue.js +53 -0
  177. package/dist/components/form/fields/auto/hostEditorValue.js.map +1 -0
  178. package/dist/components/form/fields/binary/Binary.d.ts.map +1 -1
  179. package/dist/components/form/fields/binary/Binary.js +23 -3
  180. package/dist/components/form/fields/binary/Binary.js.map +1 -1
  181. package/dist/components/form/fields/boolean/Boolean.d.ts +5 -0
  182. package/dist/components/form/fields/boolean/Boolean.d.ts.map +1 -1
  183. package/dist/components/form/fields/boolean/Boolean.js +9 -1
  184. package/dist/components/form/fields/boolean/Boolean.js.map +1 -1
  185. package/dist/components/form/fields/color/Color.d.ts +103 -16
  186. package/dist/components/form/fields/color/Color.d.ts.map +1 -1
  187. package/dist/components/form/fields/color/Color.js +611 -16
  188. package/dist/components/form/fields/color/Color.js.map +1 -1
  189. package/dist/components/form/fields/emittedValues.d.ts +34 -3
  190. package/dist/components/form/fields/emittedValues.d.ts.map +1 -1
  191. package/dist/components/form/fields/emittedValues.js +24 -1
  192. package/dist/components/form/fields/emittedValues.js.map +1 -1
  193. package/dist/components/form/fields/file/File.d.ts +1 -1
  194. package/dist/components/form/fields/file/File.d.ts.map +1 -1
  195. package/dist/components/form/fields/file/File.js +4 -2
  196. package/dist/components/form/fields/file/File.js.map +1 -1
  197. package/dist/components/form/fields/long-string/LongString.d.ts.map +1 -1
  198. package/dist/components/form/fields/long-string/LongString.js +17 -3
  199. package/dist/components/form/fields/long-string/LongString.js.map +1 -1
  200. package/dist/components/form/fields/markdown/MarkdownView.js +1 -1
  201. package/dist/components/form/fields/multi-select/MultiSelectFormField.d.ts.map +1 -1
  202. package/dist/components/form/fields/multi-select/MultiSelectFormField.js +4 -1
  203. package/dist/components/form/fields/multi-select/MultiSelectFormField.js.map +1 -1
  204. package/dist/components/form/fields/number/Number.d.ts +6 -0
  205. package/dist/components/form/fields/number/Number.d.ts.map +1 -1
  206. package/dist/components/form/fields/number/Number.js +41 -6
  207. package/dist/components/form/fields/number/Number.js.map +1 -1
  208. package/dist/components/form/fields/object/Object.d.ts +1 -1
  209. package/dist/components/form/fields/object/Object.d.ts.map +1 -1
  210. package/dist/components/form/fields/object/Object.js +4 -2
  211. package/dist/components/form/fields/object/Object.js.map +1 -1
  212. package/dist/components/form/fields/pendingEdit.d.ts +52 -0
  213. package/dist/components/form/fields/pendingEdit.d.ts.map +1 -0
  214. package/dist/components/form/fields/pendingEdit.js +79 -0
  215. package/dist/components/form/fields/pendingEdit.js.map +1 -0
  216. package/dist/components/form/fields/rich-text/RichText.d.ts +8 -1
  217. package/dist/components/form/fields/rich-text/RichText.d.ts.map +1 -1
  218. package/dist/components/form/fields/rich-text/RichText.js +190 -81
  219. package/dist/components/form/fields/rich-text/RichText.js.map +1 -1
  220. package/dist/components/form/fields/rich-text/useTemplateTags.d.ts +18 -0
  221. package/dist/components/form/fields/rich-text/useTemplateTags.d.ts.map +1 -0
  222. package/dist/components/form/fields/rich-text/useTemplateTags.js +49 -0
  223. package/dist/components/form/fields/rich-text/useTemplateTags.js.map +1 -0
  224. package/dist/components/form/fields/schema-definition/CatalogLeafForm.d.ts.map +1 -1
  225. package/dist/components/form/fields/schema-definition/CatalogLeafForm.js +4 -1
  226. package/dist/components/form/fields/schema-definition/CatalogLeafForm.js.map +1 -1
  227. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.d.ts.map +1 -1
  228. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js +20 -5
  229. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js.map +1 -1
  230. package/dist/components/form/fields/schema-definition/TableEditor.d.ts.map +1 -1
  231. package/dist/components/form/fields/schema-definition/TableEditor.js +10 -2
  232. package/dist/components/form/fields/schema-definition/TableEditor.js.map +1 -1
  233. package/dist/components/form/fields/schema-definition/index.d.ts.map +1 -1
  234. package/dist/components/form/fields/schema-definition/index.js +8 -4
  235. package/dist/components/form/fields/schema-definition/index.js.map +1 -1
  236. package/dist/components/form/fields/select/Select.d.ts +2 -0
  237. package/dist/components/form/fields/select/Select.d.ts.map +1 -1
  238. package/dist/components/form/fields/select/Select.js +19 -10
  239. package/dist/components/form/fields/select/Select.js.map +1 -1
  240. package/dist/components/form/fields/select/SelectCollection.d.ts.map +1 -1
  241. package/dist/components/form/fields/select/SelectCollection.js +8 -2
  242. package/dist/components/form/fields/select/SelectCollection.js.map +1 -1
  243. package/dist/components/form/fields/select/unavailableRow.d.ts +23 -0
  244. package/dist/components/form/fields/select/unavailableRow.d.ts.map +1 -0
  245. package/dist/components/form/fields/select/unavailableRow.js +55 -0
  246. package/dist/components/form/fields/select/unavailableRow.js.map +1 -0
  247. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts +5 -5
  248. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts.map +1 -1
  249. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js +11 -4
  250. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js.map +1 -1
  251. package/dist/components/form/fields/template/TemplateBrowser.d.ts +22 -0
  252. package/dist/components/form/fields/template/TemplateBrowser.d.ts.map +1 -0
  253. package/dist/components/form/fields/template/TemplateBrowser.js +54 -0
  254. package/dist/components/form/fields/template/TemplateBrowser.js.map +1 -0
  255. package/dist/components/form/fields/template/TemplateField.d.ts +83 -1
  256. package/dist/components/form/fields/template/TemplateField.d.ts.map +1 -1
  257. package/dist/components/form/fields/template/TemplateField.js +535 -85
  258. package/dist/components/form/fields/template/TemplateField.js.map +1 -1
  259. package/dist/components/form/fields/template/TemplateText.d.ts +0 -17
  260. package/dist/components/form/fields/template/TemplateText.d.ts.map +1 -1
  261. package/dist/components/form/fields/template/TemplateText.js +8 -4
  262. package/dist/components/form/fields/template/TemplateText.js.map +1 -1
  263. package/dist/components/form/fields/template/writtenAsText.d.ts +55 -0
  264. package/dist/components/form/fields/template/writtenAsText.d.ts.map +1 -0
  265. package/dist/components/form/fields/template/writtenAsText.js +188 -0
  266. package/dist/components/form/fields/template/writtenAsText.js.map +1 -0
  267. package/dist/components/form/index.d.ts +10 -0
  268. package/dist/components/form/index.d.ts.map +1 -1
  269. package/dist/components/form/index.js +23 -1
  270. package/dist/components/form/index.js.map +1 -1
  271. package/dist/components/imageLightbox/ImageLightbox.d.ts.map +1 -1
  272. package/dist/components/imageLightbox/ImageLightbox.js +19 -7
  273. package/dist/components/imageLightbox/ImageLightbox.js.map +1 -1
  274. package/dist/components/log/Log.d.ts.map +1 -1
  275. package/dist/components/log/Log.js +15 -7
  276. package/dist/components/log/Log.js.map +1 -1
  277. package/dist/components/menu/Menu.d.ts.map +1 -1
  278. package/dist/components/menu/Menu.js +19 -10
  279. package/dist/components/menu/Menu.js.map +1 -1
  280. package/dist/components/smartEditor/CompletionMenu.d.ts +43 -0
  281. package/dist/components/smartEditor/CompletionMenu.d.ts.map +1 -0
  282. package/dist/components/smartEditor/CompletionMenu.js +196 -0
  283. package/dist/components/smartEditor/CompletionMenu.js.map +1 -0
  284. package/dist/components/smartEditor/MarkdownDoc.d.ts +1 -1
  285. package/dist/components/smartEditor/MarkdownDoc.js +1 -1
  286. package/dist/components/smartEditor/MarkdownDoc.js.map +1 -1
  287. package/dist/components/smartEditor/SmartEditor.d.ts.map +1 -1
  288. package/dist/components/smartEditor/SmartEditor.js +51 -136
  289. package/dist/components/smartEditor/SmartEditor.js.map +1 -1
  290. package/dist/components/smartEditor/completionStyle.d.ts +27 -0
  291. package/dist/components/smartEditor/completionStyle.d.ts.map +1 -0
  292. package/dist/components/smartEditor/completionStyle.js +66 -0
  293. package/dist/components/smartEditor/completionStyle.js.map +1 -0
  294. package/dist/components/smartEditor/index.d.ts +5 -1
  295. package/dist/components/smartEditor/index.d.ts.map +1 -1
  296. package/dist/components/smartEditor/index.js +19 -1
  297. package/dist/components/smartEditor/index.js.map +1 -1
  298. package/dist/components/smartEditor/templateCompletions.d.ts +18 -0
  299. package/dist/components/smartEditor/templateCompletions.d.ts.map +1 -0
  300. package/dist/components/smartEditor/templateCompletions.js +94 -0
  301. package/dist/components/smartEditor/templateCompletions.js.map +1 -0
  302. package/dist/components/smartEditor/types.d.ts +12 -1
  303. package/dist/components/smartEditor/types.d.ts.map +1 -1
  304. package/dist/components/smartEditor/useLspAutocomplete.d.ts +32 -0
  305. package/dist/components/smartEditor/useLspAutocomplete.d.ts.map +1 -1
  306. package/dist/components/smartEditor/useLspAutocomplete.js +228 -118
  307. package/dist/components/smartEditor/useLspAutocomplete.js.map +1 -1
  308. package/dist/components/smartEditor/useLspHover.d.ts +22 -7
  309. package/dist/components/smartEditor/useLspHover.d.ts.map +1 -1
  310. package/dist/components/smartEditor/useLspHover.js +86 -17
  311. package/dist/components/smartEditor/useLspHover.js.map +1 -1
  312. package/dist/components/smartEditor/useLspSemanticTokens.js +1 -1
  313. package/dist/components/smartEditor/useLspSemanticTokens.js.map +1 -1
  314. package/dist/components/smartEditor/useLspSession.d.ts +6 -0
  315. package/dist/components/smartEditor/useLspSession.d.ts.map +1 -1
  316. package/dist/components/smartEditor/useLspSession.js +7 -6
  317. package/dist/components/smartEditor/useLspSession.js.map +1 -1
  318. package/dist/components/supportTicket/AttachmentChips.d.ts.map +1 -1
  319. package/dist/components/supportTicket/AttachmentChips.js +15 -5
  320. package/dist/components/supportTicket/AttachmentChips.js.map +1 -1
  321. package/dist/components/supportTicket/ReferencePicker.d.ts +9 -2
  322. package/dist/components/supportTicket/ReferencePicker.d.ts.map +1 -1
  323. package/dist/components/supportTicket/ReferencePicker.js +27 -6
  324. package/dist/components/supportTicket/ReferencePicker.js.map +1 -1
  325. package/dist/components/supportTicket/TicketHeader.d.ts +3 -4
  326. package/dist/components/supportTicket/TicketHeader.d.ts.map +1 -1
  327. package/dist/components/supportTicket/TicketHeader.js +20 -2
  328. package/dist/components/supportTicket/TicketHeader.js.map +1 -1
  329. package/dist/components/supportTicket/TicketMetaTags.d.ts +1 -1
  330. package/dist/components/ticketReferences/TicketReferences.d.ts.map +1 -1
  331. package/dist/components/ticketReferences/TicketReferences.js +9 -4
  332. package/dist/components/ticketReferences/TicketReferences.js.map +1 -1
  333. package/dist/components/ticketThread/TicketThread.d.ts.map +1 -1
  334. package/dist/components/ticketThread/TicketThread.js +36 -11
  335. package/dist/components/ticketThread/TicketThread.js.map +1 -1
  336. package/dist/helpers/descriptionTooltip.d.ts +43 -0
  337. package/dist/helpers/descriptionTooltip.d.ts.map +1 -0
  338. package/dist/helpers/descriptionTooltip.js +70 -0
  339. package/dist/helpers/descriptionTooltip.js.map +1 -0
  340. package/dist/helpers/domProps.d.ts +5 -0
  341. package/dist/helpers/domProps.d.ts.map +1 -0
  342. package/dist/helpers/domProps.js +47 -0
  343. package/dist/helpers/domProps.js.map +1 -0
  344. package/dist/helpers/expressions.d.ts +107 -2
  345. package/dist/helpers/expressions.d.ts.map +1 -1
  346. package/dist/helpers/expressions.js +223 -8
  347. package/dist/helpers/expressions.js.map +1 -1
  348. package/dist/helpers/hoveringPointer.d.ts +26 -0
  349. package/dist/helpers/hoveringPointer.d.ts.map +1 -0
  350. package/dist/helpers/hoveringPointer.js +29 -0
  351. package/dist/helpers/hoveringPointer.js.map +1 -0
  352. package/dist/helpers/markdownText.d.ts +14 -0
  353. package/dist/helpers/markdownText.d.ts.map +1 -0
  354. package/dist/helpers/markdownText.js +160 -0
  355. package/dist/helpers/markdownText.js.map +1 -0
  356. package/dist/helpers/qorusTypeCatalogue.d.ts +53 -0
  357. package/dist/helpers/qorusTypeCatalogue.d.ts.map +1 -0
  358. package/dist/helpers/qorusTypeCatalogue.js +262 -0
  359. package/dist/helpers/qorusTypeCatalogue.js.map +1 -0
  360. package/dist/helpers/readableColors.d.ts +36 -0
  361. package/dist/helpers/readableColors.d.ts.map +1 -0
  362. package/dist/helpers/readableColors.js +116 -0
  363. package/dist/helpers/readableColors.js.map +1 -0
  364. package/dist/helpers/templateItems.d.ts +2 -2
  365. package/dist/helpers/templateItems.d.ts.map +1 -1
  366. package/dist/helpers/templateItems.js +6 -4
  367. package/dist/helpers/templateItems.js.map +1 -1
  368. package/dist/helpers/templates.d.ts +26 -1
  369. package/dist/helpers/templates.d.ts.map +1 -1
  370. package/dist/helpers/templates.js +41 -6
  371. package/dist/helpers/templates.js.map +1 -1
  372. package/dist/helpers/validations.d.ts +9 -0
  373. package/dist/helpers/validations.d.ts.map +1 -1
  374. package/dist/helpers/validations.js +139 -33
  375. package/dist/helpers/validations.js.map +1 -1
  376. package/dist/hooks/useQorusTypes.d.ts +7 -15
  377. package/dist/hooks/useQorusTypes.d.ts.map +1 -1
  378. package/dist/hooks/useQorusTypes.js +25 -166
  379. package/dist/hooks/useQorusTypes.js.map +1 -1
  380. package/dist/hooks/useReadableIntentShade.d.ts +9 -0
  381. package/dist/hooks/useReadableIntentShade.d.ts.map +1 -0
  382. package/dist/hooks/useReadableIntentShade.js +23 -0
  383. package/dist/hooks/useReadableIntentShade.js.map +1 -0
  384. package/dist/hooks/useReadableOpacity.d.ts +6 -0
  385. package/dist/hooks/useReadableOpacity.d.ts.map +1 -0
  386. package/dist/hooks/useReadableOpacity.js +17 -0
  387. package/dist/hooks/useReadableOpacity.js.map +1 -0
  388. package/dist/index.d.ts +1 -0
  389. package/dist/index.d.ts.map +1 -1
  390. package/dist/index.js +1 -0
  391. package/dist/index.js.map +1 -1
  392. package/dist/tracking/ui/ExperimentCard.d.ts +1 -1
  393. package/dist/tracking/ui/ExperimentCard.d.ts.map +1 -1
  394. package/dist/tracking/ui/ExperimentCard.js +26 -10
  395. package/dist/tracking/ui/ExperimentCard.js.map +1 -1
  396. package/dist/tracking/ui/card.d.ts +2 -2
  397. package/dist/tracking/ui/card.d.ts.map +1 -1
  398. package/dist/tracking/ui/card.js +2 -2
  399. package/dist/tracking/ui/card.js.map +1 -1
  400. package/dist/tracking/ui/readable.d.ts +14 -0
  401. package/dist/tracking/ui/readable.d.ts.map +1 -0
  402. package/dist/tracking/ui/readable.js +60 -0
  403. package/dist/tracking/ui/readable.js.map +1 -0
  404. package/package.json +14 -5
  405. package/.claude/CLAUDE.md +0 -317
  406. package/.tasks/EXPORT_EXPRESSION_BUILDER.md +0 -38
  407. package/.tasks/EXPRESSION_BUILDER_REPORT.md +0 -149
  408. package/.tasks/EXPRESSION_FIELD_SEAMS.md +0 -66
  409. package/.tasks/FIELD_STACK_REPORT.md +0 -234
  410. package/.tasks/FORM_ENGINE_COMPACT_READ_FIRST.md +0 -558
  411. package/.tasks/FORM_ENGINE_EXPRESSIONS.md +0 -197
  412. package/.tasks/FORM_ENGINE_OPTIONS_SYNC.md +0 -95
  413. package/.tasks/FORM_FIELD_EXTRAS.md +0 -72
  414. package/.tasks/INDEX.md +0 -111
  415. package/.tasks/LSP_SHARED_CONNECTION.md +0 -75
  416. package/.tasks/QONSOLE_ASSIST_FEATURES.md +0 -306
  417. package/.tasks/RENDER_EXPRESSION_LSP.md +0 -159
  418. package/.tasks/REQRAFT_AUTO_FIELD.md +0 -176
  419. package/.tasks/SCHEMA_DEFINITION_FIELD.md +0 -250
  420. package/.tasks/SMART_EDITOR_CONTEXT_AND_POLISH.md +0 -340
  421. package/.tasks/SMART_EDITOR_LSP_FEATURES.md +0 -299
  422. package/.tasks/SMART_EDITOR_REVIEW_FOLLOWUPS.md +0 -280
  423. package/.tasks/SMART_EDITOR_UX_POLISH.md +0 -383
  424. package/.tasks/SMART_EDITOR_VISUAL_POLISH.md +0 -246
  425. package/.tasks/STORY_NETWORK_ISOLATION.md +0 -98
  426. package/.tasks/TEMPLATE_TOKEN_GRAMMAR.md +0 -72
  427. package/CODE_OF_CONDUCT.md +0 -105
  428. package/CONTRIBUTING.MD +0 -78
  429. package/SECURITY.md +0 -3
  430. package/chromatic.config.json +0 -5
  431. package/design/COMPACT_ENGINE_REDESIGN.md +0 -156
  432. package/design/COMPACT_INFO_DISPLAY.md +0 -87
  433. package/design/COMPACT_PARITY.md +0 -85
  434. package/design/EXPRESSION_BUILDER_REPORT_STRATEGY.md +0 -92
  435. package/design/FORM_ENGINE_COMPACT.md +0 -300
  436. package/design/FORM_ENGINE_COMPACT_UX_PLAN.md +0 -353
  437. package/design/FORM_ENGINE_EXPRESSIONS.md +0 -257
  438. package/design/FORM_ENGINE_FIELD_MIGRATION.md +0 -419
  439. package/design/IDE_INTEGRATION.md +0 -64
  440. package/design/RENDER_EXPRESSION_TRANSPORT.md +0 -156
  441. package/design/SELECT_DIALOG_FLOOR.md +0 -86
  442. package/design/SMART_EDITOR_UX.md +0 -438
  443. package/design/TRACKING.md +0 -290
  444. package/design/UNAVAILABLE_ALLOWED_VALUES.md +0 -226
  445. package/src/components/Description/index.tsx +0 -254
  446. package/src/components/Description/markdownRendererContext.tsx +0 -29
  447. package/src/components/FocusedEditing/index.tsx +0 -50
  448. package/src/components/codeSize/index.tsx +0 -79
  449. package/src/components/composer/Composer.stories.tsx +0 -238
  450. package/src/components/composer/Composer.tsx +0 -554
  451. package/src/components/composer/helpers.ts +0 -74
  452. package/src/components/composer/index.ts +0 -2
  453. package/src/components/dpqlEditor/DpqlEditor.stories.tsx +0 -1183
  454. package/src/components/dpqlEditor/DpqlEditor.tsx +0 -219
  455. package/src/components/dpqlEditor/dpqlHelpers.ts +0 -287
  456. package/src/components/dpqlEditor/dpqlInserter.ts +0 -121
  457. package/src/components/dpqlEditor/dpqlProbe.ts +0 -165
  458. package/src/components/dpqlEditor/dpqlTags.ts +0 -114
  459. package/src/components/dpqlEditor/index.ts +0 -41
  460. package/src/components/dpqlEditor/types.ts +0 -203
  461. package/src/components/dpqlEditor/useDpqlProbe.ts +0 -33
  462. package/src/components/dpqlEditor/useDpqlSession.ts +0 -411
  463. package/src/components/form/engine/CompactRow.tsx +0 -2620
  464. package/src/components/form/engine/CompactToolbar.tsx +0 -330
  465. package/src/components/form/engine/FormEngine.stories.tsx +0 -9920
  466. package/src/components/form/engine/FormEngine.tsx +0 -4569
  467. package/src/components/form/engine/FormEngineRemote.stories.tsx +0 -679
  468. package/src/components/form/engine/FormEngineStickyHeaders.stories.tsx +0 -331
  469. package/src/components/form/engine/FormFieldsSkeleton.tsx +0 -82
  470. package/src/components/form/engine/OptionFieldMessages.tsx +0 -477
  471. package/src/components/form/engine/OptionsHelpDialog.tsx +0 -29
  472. package/src/components/form/engine/__fixtures__/basicFormOptions.ts +0 -309
  473. package/src/components/form/engine/__fixtures__/fieldChromeOptions.ts +0 -45
  474. package/src/components/form/engine/_structuredData/SchemaDataView.stories.tsx +0 -233
  475. package/src/components/form/engine/_structuredData/SchemaDataView.tsx +0 -742
  476. package/src/components/form/engine/_structuredData/StructuredDataView.stories.tsx +0 -85
  477. package/src/components/form/engine/_structuredData/StructuredDataView.tsx +0 -75
  478. package/src/components/form/engine/_structuredData/structuredData.ts +0 -145
  479. package/src/components/form/engine/compactRowContext.ts +0 -148
  480. package/src/components/form/engine/compactRowStyles.ts +0 -898
  481. package/src/components/form/engine/compactToolbarContext.ts +0 -69
  482. package/src/components/form/engine/optionActions.ts +0 -128
  483. package/src/components/form/engine/optionsContext.ts +0 -24
  484. package/src/components/form/engine/readFirst.ts +0 -1077
  485. package/src/components/form/engine/rendererTypes.ts +0 -107
  486. package/src/components/form/engine/revealRow.ts +0 -123
  487. package/src/components/form/engine/rowFocus.ts +0 -101
  488. package/src/components/form/engine/rowMenuContext.ts +0 -159
  489. package/src/components/form/engine/rowOpenPicker.ts +0 -27
  490. package/src/components/form/engine/typeChoices.ts +0 -63
  491. package/src/components/form/engine/variants/FormEngineVariants.stories.tsx +0 -159
  492. package/src/components/form/engine/variants/VariantCalmTable.tsx +0 -244
  493. package/src/components/form/engine/variants/VariantCards.tsx +0 -212
  494. package/src/components/form/engine/variants/VariantFocus.tsx +0 -382
  495. package/src/components/form/engine/variants/VariantMinimal.tsx +0 -170
  496. package/src/components/form/engine/variants/focusDemo.ts +0 -145
  497. package/src/components/form/engine/variants/variantModel.ts +0 -223
  498. package/src/components/form/engine/variants/variantParts.tsx +0 -313
  499. package/src/components/form/expressions/DpqlRendering.tsx +0 -85
  500. package/src/components/form/expressions/ExpressionField.stories.tsx +0 -1395
  501. package/src/components/form/expressions/ExpressionField.tsx +0 -503
  502. package/src/components/form/expressions/argumentPresence.ts +0 -213
  503. package/src/components/form/expressions/builder/ExpressionBuilder.stories.tsx +0 -1683
  504. package/src/components/form/expressions/builder/argumentDetail.tsx +0 -17
  505. package/src/components/form/expressions/builder/argumentLabel.tsx +0 -146
  506. package/src/components/form/expressions/builder/argumentSlot.tsx +0 -101
  507. package/src/components/form/expressions/builder/argumentWrapper.tsx +0 -243
  508. package/src/components/form/expressions/builder/confirmMismatchedTypesModal.tsx +0 -120
  509. package/src/components/form/expressions/builder/confirmUnsupportedTypeModal.tsx +0 -69
  510. package/src/components/form/expressions/builder/index.tsx +0 -1545
  511. package/src/components/form/expressions/builder/item.tsx +0 -89
  512. package/src/components/form/expressions/builder/moveToPositionStrip.tsx +0 -156
  513. package/src/components/form/expressions/builder/renderTemplate.tsx +0 -42
  514. package/src/components/form/expressions/dpqlMockLanguage.ts +0 -566
  515. package/src/components/form/expressions/dpqlMockLsp.ts +0 -126
  516. package/src/components/form/expressions/mockExpressions.ts +0 -317
  517. package/src/components/form/expressions/renderExpressionToText.ts +0 -137
  518. package/src/components/form/expressions/types.ts +0 -110
  519. package/src/components/form/expressions/useExpressions.ts +0 -101
  520. package/src/components/form/expressions/useRenderExpression.ts +0 -165
  521. package/src/components/form/fields/Field.stories.tsx +0 -143
  522. package/src/components/form/fields/Field.tsx +0 -732
  523. package/src/components/form/fields/allowed-values/AllowedValues.tsx +0 -297
  524. package/src/components/form/fields/array/ArrayAuto.tsx +0 -237
  525. package/src/components/form/fields/array/ArrayAutoField.stories.tsx +0 -475
  526. package/src/components/form/fields/array/ArrayAutoField.tsx +0 -367
  527. package/src/components/form/fields/auto/AutoFormField.stories.tsx +0 -825
  528. package/src/components/form/fields/auto/AutoFormField.tsx +0 -1164
  529. package/src/components/form/fields/binary/Binary.stories.tsx +0 -122
  530. package/src/components/form/fields/binary/Binary.tsx +0 -91
  531. package/src/components/form/fields/boolean/Boolean.stories.tsx +0 -125
  532. package/src/components/form/fields/boolean/Boolean.tsx +0 -34
  533. package/src/components/form/fields/byte-size/ByteSize.stories.tsx +0 -87
  534. package/src/components/form/fields/byte-size/ByteSize.tsx +0 -58
  535. package/src/components/form/fields/color/Color.stories.tsx +0 -99
  536. package/src/components/form/fields/color/Color.tsx +0 -46
  537. package/src/components/form/fields/cron/Cron.stories.tsx +0 -68
  538. package/src/components/form/fields/cron/Cron.tsx +0 -80
  539. package/src/components/form/fields/date/Date.stories.tsx +0 -77
  540. package/src/components/form/fields/date/Date.tsx +0 -55
  541. package/src/components/form/fields/emittedValues.ts +0 -70
  542. package/src/components/form/fields/file/File.stories.tsx +0 -161
  543. package/src/components/form/fields/file/File.tsx +0 -227
  544. package/src/components/form/fields/long-string/LongString.stories.tsx +0 -120
  545. package/src/components/form/fields/long-string/LongString.tsx +0 -130
  546. package/src/components/form/fields/markdown/Markdown.stories.tsx +0 -76
  547. package/src/components/form/fields/markdown/Markdown.tsx +0 -81
  548. package/src/components/form/fields/markdown/MarkdownView.tsx +0 -222
  549. package/src/components/form/fields/multi-select/MultiSelectFormField.tsx +0 -139
  550. package/src/components/form/fields/number/Number.stories.tsx +0 -159
  551. package/src/components/form/fields/number/Number.tsx +0 -160
  552. package/src/components/form/fields/object/Object.stories.tsx +0 -398
  553. package/src/components/form/fields/object/Object.tsx +0 -255
  554. package/src/components/form/fields/radio-group/RadioGroup.stories.tsx +0 -95
  555. package/src/components/form/fields/radio-group/RadioGroup.tsx +0 -46
  556. package/src/components/form/fields/radio-group/images/java-96x128.png +0 -0
  557. package/src/components/form/fields/radio-group/images/python-129x128.png +0 -0
  558. package/src/components/form/fields/radio-group/images/qore-106x128.png +0 -0
  559. package/src/components/form/fields/rich-text/RichText.stories.tsx +0 -260
  560. package/src/components/form/fields/rich-text/RichText.tsx +0 -537
  561. package/src/components/form/fields/schema-definition/CatalogLeafForm.tsx +0 -242
  562. package/src/components/form/fields/schema-definition/CatalogNodeEditor.tsx +0 -758
  563. package/src/components/form/fields/schema-definition/Hint.tsx +0 -22
  564. package/src/components/form/fields/schema-definition/InlineValidationBanner.tsx +0 -138
  565. package/src/components/form/fields/schema-definition/Loader.tsx +0 -20
  566. package/src/components/form/fields/schema-definition/MigrationsTab.tsx +0 -187
  567. package/src/components/form/fields/schema-definition/SchemaDefinitionField.stories.tsx +0 -286
  568. package/src/components/form/fields/schema-definition/TableEditor.tsx +0 -155
  569. package/src/components/form/fields/schema-definition/TablesTab.tsx +0 -138
  570. package/src/components/form/fields/schema-definition/catalog.ts +0 -237
  571. package/src/components/form/fields/schema-definition/helpers.ts +0 -90
  572. package/src/components/form/fields/schema-definition/index.tsx +0 -418
  573. package/src/components/form/fields/schema-definition/mockCatalog.ts +0 -325
  574. package/src/components/form/fields/schema-definition/mockDefinition.ts +0 -111
  575. package/src/components/form/fields/schema-definition/referenceSuggestions.tsx +0 -152
  576. package/src/components/form/fields/schema-definition/starterTemplate.ts +0 -68
  577. package/src/components/form/fields/schema-definition/types.ts +0 -185
  578. package/src/components/form/fields/schema-definition/useSchemaOptionCatalog.ts +0 -49
  579. package/src/components/form/fields/select/Select.stories.tsx +0 -872
  580. package/src/components/form/fields/select/Select.tsx +0 -624
  581. package/src/components/form/fields/select/SelectCollection.tsx +0 -594
  582. package/src/components/form/fields/string/String.stories.tsx +0 -86
  583. package/src/components/form/fields/string/String.tsx +0 -43
  584. package/src/components/form/fields/template/ExampleValueModal.stories.tsx +0 -114
  585. package/src/components/form/fields/template/ExampleValueModal.tsx +0 -99
  586. package/src/components/form/fields/template/ReadOnlyTemplateTag.tsx +0 -47
  587. package/src/components/form/fields/template/TemplateField.stories.tsx +0 -1121
  588. package/src/components/form/fields/template/TemplateField.tsx +0 -1717
  589. package/src/components/form/fields/template/TemplateText.tsx +0 -115
  590. package/src/components/form/fields/template/__fixtures__/longExampleValue.ts +0 -7
  591. package/src/components/form/fields/template/__fixtures__/multiLevelTemplates.json +0 -147
  592. package/src/components/form/fields/template/__fixtures__/templates.json +0 -83
  593. package/src/components/form/fields/timeout/Timeout.stories.tsx +0 -228
  594. package/src/components/form/fields/timeout/Timeout.tsx +0 -87
  595. package/src/components/form/fields/url/Url.stories.tsx +0 -94
  596. package/src/components/form/fields/url/Url.tsx +0 -85
  597. package/src/components/form/index.tsx +0 -47
  598. package/src/components/imageLightbox/ImageLightbox.stories.tsx +0 -238
  599. package/src/components/imageLightbox/ImageLightbox.tsx +0 -236
  600. package/src/components/imageLightbox/index.ts +0 -1
  601. package/src/components/log/Log.stories.tsx +0 -333
  602. package/src/components/log/Log.tsx +0 -285
  603. package/src/components/menu/Menu.stories.tsx +0 -155
  604. package/src/components/menu/Menu.tsx +0 -312
  605. package/src/components/qonsoleSmartInput/QonsoleSmartInput.stories.tsx +0 -797
  606. package/src/components/qonsoleSmartInput/QonsoleSmartInput.tsx +0 -105
  607. package/src/components/qonsoleSmartInput/index.ts +0 -16
  608. package/src/components/qonsoleSmartInput/qonsoleInserter.ts +0 -77
  609. package/src/components/qonsoleSmartInput/types.ts +0 -133
  610. package/src/components/qonsoleSmartInput/useQonsoleSession.ts +0 -124
  611. package/src/components/searchFilterBar/SearchFilterBar.stories.tsx +0 -62
  612. package/src/components/searchFilterBar/SearchFilterBar.tsx +0 -144
  613. package/src/components/searchFilterBar/index.ts +0 -1
  614. package/src/components/smartEditor/MarkdownDoc.tsx +0 -190
  615. package/src/components/smartEditor/SmartEditor.stories.tsx +0 -475
  616. package/src/components/smartEditor/SmartEditor.tsx +0 -808
  617. package/src/components/smartEditor/__fixtures__/mockLspServer.ts +0 -205
  618. package/src/components/smartEditor/helpers.ts +0 -217
  619. package/src/components/smartEditor/index.ts +0 -35
  620. package/src/components/smartEditor/styling.ts +0 -45
  621. package/src/components/smartEditor/types.ts +0 -211
  622. package/src/components/smartEditor/useLspAutocomplete.ts +0 -758
  623. package/src/components/smartEditor/useLspDiagnosticDecorations.ts +0 -125
  624. package/src/components/smartEditor/useLspHover.ts +0 -230
  625. package/src/components/smartEditor/useLspSemanticTokens.ts +0 -298
  626. package/src/components/smartEditor/useLspSession.ts +0 -231
  627. package/src/components/smartEditor/useLspSignatureHelp.ts +0 -198
  628. package/src/components/supportTicket/AttachmentChips.stories.tsx +0 -171
  629. package/src/components/supportTicket/AttachmentChips.tsx +0 -147
  630. package/src/components/supportTicket/InterfaceReferenceTags.stories.tsx +0 -257
  631. package/src/components/supportTicket/InterfaceReferenceTags.tsx +0 -129
  632. package/src/components/supportTicket/ReferencePicker.stories.tsx +0 -584
  633. package/src/components/supportTicket/ReferencePicker.tsx +0 -563
  634. package/src/components/supportTicket/TicketConversation.stories.tsx +0 -121
  635. package/src/components/supportTicket/TicketHeader.stories.tsx +0 -183
  636. package/src/components/supportTicket/TicketHeader.tsx +0 -247
  637. package/src/components/supportTicket/TicketMetaTags.stories.tsx +0 -103
  638. package/src/components/supportTicket/TicketMetaTags.tsx +0 -85
  639. package/src/components/supportTicket/TicketReplyBox.stories.tsx +0 -354
  640. package/src/components/supportTicket/TicketReplyBox.tsx +0 -150
  641. package/src/components/supportTicket/__fixtures__/kindMarks.ts +0 -28
  642. package/src/components/supportTicket/attachmentAccess.ts +0 -97
  643. package/src/components/supportTicket/fileToAttachment.ts +0 -24
  644. package/src/components/supportTicket/index.ts +0 -10
  645. package/src/components/supportTicket/meta.ts +0 -206
  646. package/src/components/supportTicket/ticketModel.ts +0 -131
  647. package/src/components/supportTicket/useLoadedImages.ts +0 -73
  648. package/src/components/ticketReferences/TicketReferences.stories.tsx +0 -315
  649. package/src/components/ticketReferences/TicketReferences.tsx +0 -906
  650. package/src/components/ticketReferences/index.ts +0 -2
  651. package/src/components/ticketThread/TicketThread.stories.tsx +0 -829
  652. package/src/components/ticketThread/TicketThread.tsx +0 -719
  653. package/src/components/ticketThread/index.ts +0 -6
  654. package/src/contexts/FetchContext.tsx +0 -25
  655. package/src/contexts/ReqraftContext.tsx +0 -9
  656. package/src/contexts/StorageContext.tsx +0 -33
  657. package/src/global.d.ts +0 -4
  658. package/src/helpers/allowedValues.ts +0 -249
  659. package/src/helpers/choiceChip.ts +0 -227
  660. package/src/helpers/common.ts +0 -326
  661. package/src/helpers/dpqlDetection.ts +0 -209
  662. package/src/helpers/expressions.ts +0 -140
  663. package/src/helpers/optionUiTypes.ts +0 -199
  664. package/src/helpers/options.ts +0 -150
  665. package/src/helpers/providerValue.ts +0 -125
  666. package/src/helpers/scrollbar.ts +0 -32
  667. package/src/helpers/singleLineString.ts +0 -61
  668. package/src/helpers/templateItems.ts +0 -81
  669. package/src/helpers/templateText.ts +0 -350
  670. package/src/helpers/templates.ts +0 -602
  671. package/src/helpers/validations.ts +0 -2085
  672. package/src/hooks/useArgSchema.ts +0 -37
  673. package/src/hooks/useCoarsePointer.ts +0 -30
  674. package/src/hooks/useFetch/useFetch.stories.tsx +0 -379
  675. package/src/hooks/useFetch/useFetch.tsx +0 -154
  676. package/src/hooks/usePhoneViewport.ts +0 -34
  677. package/src/hooks/useQorusTypes.ts +0 -233
  678. package/src/hooks/useReqraftProperty.ts +0 -16
  679. package/src/hooks/useStorage/useStorage.stories.tsx +0 -168
  680. package/src/hooks/useStorage/useStorage.ts +0 -35
  681. package/src/hooks/useTemplates.ts +0 -123
  682. package/src/hooks/useValidation.ts +0 -9
  683. package/src/hooks/useWebSocket/useWebSocket.ts +0 -224
  684. package/src/hooks/useWebSocket/useWebsocket.stories.tsx +0 -640
  685. package/src/hooks/useWhyDidYouUpdate.ts +0 -38
  686. package/src/index.tsx +0 -86
  687. package/src/providers/FetchProvider.tsx +0 -40
  688. package/src/providers/ReqraftProvider.tsx +0 -52
  689. package/src/providers/StorageProvider.tsx +0 -131
  690. package/src/stores/currentUser/currentUser.stories.tsx +0 -100
  691. package/src/stores/currentUser/currentUser.tsx +0 -94
  692. package/src/stories/Data/fileFieldArgSchema.json +0 -86
  693. package/src/stories/Tests/utils.ts +0 -320
  694. package/src/stories/storyNetwork.ts +0 -92
  695. package/src/stories/tracking.tsx +0 -206
  696. package/src/tracking/browser/attach.ts +0 -186
  697. package/src/tracking/browser/env.ts +0 -78
  698. package/src/tracking/core/consent.ts +0 -37
  699. package/src/tracking/core/engagement.ts +0 -47
  700. package/src/tracking/core/experiments.ts +0 -258
  701. package/src/tracking/core/hash.ts +0 -26
  702. package/src/tracking/core/ids.ts +0 -25
  703. package/src/tracking/core/observable.ts +0 -23
  704. package/src/tracking/core/queue.ts +0 -131
  705. package/src/tracking/core/sections.ts +0 -166
  706. package/src/tracking/core/storage.ts +0 -69
  707. package/src/tracking/core/tracker.ts +0 -417
  708. package/src/tracking/core/types.ts +0 -162
  709. package/src/tracking/core/utm.ts +0 -23
  710. package/src/tracking/index.ts +0 -72
  711. package/src/tracking/markup.ts +0 -17
  712. package/src/tracking/react/Experiment.tsx +0 -44
  713. package/src/tracking/react/TrackingProvider.tsx +0 -56
  714. package/src/tracking/react/hooks.ts +0 -106
  715. package/src/tracking/react/index.ts +0 -13
  716. package/src/tracking/testing.ts +0 -108
  717. package/src/tracking/ui/ExperimentCard.stories.tsx +0 -296
  718. package/src/tracking/ui/ExperimentCard.tsx +0 -667
  719. package/src/tracking/ui/ExperimentsOverlay.stories.tsx +0 -155
  720. package/src/tracking/ui/ExperimentsOverlay.tsx +0 -437
  721. package/src/tracking/ui/anchor.ts +0 -180
  722. package/src/tracking/ui/card.ts +0 -464
  723. package/src/tracking/ui/client.ts +0 -117
  724. package/src/tracking/ui/index.ts +0 -77
  725. package/src/tracking/ui/types.ts +0 -110
  726. package/src/tracking/ui/useExperimentsAdmin.ts +0 -103
  727. package/src/types/Form.ts +0 -29
  728. package/src/types.ts +0 -14
  729. package/src/utils/datetime.ts +0 -10
  730. package/src/utils/fetch.ts +0 -457
  731. package/src/utils/lspClient.ts +0 -711
  732. package/src/utils/lspClient.types.ts +0 -211
  733. package/src/utils/queryUnlessCancelled.ts +0 -28
  734. package/src/utils/websocket.ts +0 -293
  735. package/vite.config.ts +0 -58
  736. package/vitest.config.ts +0 -69
@@ -1,219 +0,0 @@
1
- // Copyright 2026 Qore Technologies, s.r.o.
2
- // DpqlEditor — Slate-based DPQL smart text field. Thin wrapper over the
3
- // generic `SmartEditor` primitive, configured with DPQL-flavored knobs:
4
- // regex-driven syntax highlighting, tag rendering for $template / @field,
5
- // plain-text↔Slate conversion that recognises DPQL tag patterns, and
6
- // tag-element insertion for completions whose `insertText` starts with
7
- // `@` or `$`.
8
- //
9
- // Templates and fields are BOTH served by the LSP server through the
10
- // completion stream: typing `$` opens templates, `@` opens field
11
- // references (the server's `dpql-get-completions` is position-aware).
12
- // There is intentionally no client-side "Templates" button — it would
13
- // duplicate what the server already returns on `$`.
14
-
15
- import {
16
- forwardRef,
17
- useEffect,
18
- useImperativeHandle,
19
- useMemo,
20
- useRef,
21
- useState,
22
- } from 'react';
23
- import { SmartEditor } from '../smartEditor/SmartEditor';
24
- import { ISlateConverter, ISlateElement } from '../smartEditor/types';
25
- import { dpqlSlateConverter, richtextResponseToSlate } from './dpqlHelpers';
26
- import { dpqlCompletionInserter } from './dpqlInserter';
27
- import { makeDpqlTagRenderer } from './dpqlTags';
28
- import { IDpqlEditorProps, IDpqlEditorRef } from './types';
29
- import { useDpqlSession } from './useDpqlSession';
30
-
31
- export type { IDpqlEditorProps, IDpqlEditorRef };
32
-
33
- // Trigger characters that open the autocomplete on typing. Space is
34
- // deliberately NOT in the set — typing a space after a chip (or after a
35
- // keyword like `==`) shouldn't pop the dropdown. Sigils (`@`, `$`) and
36
- // in-token punctuation (`.`, `:`) cover the meaningful cases; the rest
37
- // of completion is handled by typing inside an already-open token.
38
- const DPQL_TRIGGERS = new Set(['@', '$', '.', ':']);
39
-
40
- export const DpqlEditor = forwardRef<IDpqlEditorRef, IDpqlEditorProps>(
41
- (
42
- {
43
- value,
44
- onChange,
45
- provider,
46
- recordType,
47
- options,
48
- actionCode,
49
- height,
50
- readOnly = false,
51
- showDiagnostics = true,
52
- enableHover = true,
53
- templateTagsUseIntent = false,
54
- loadingIndicator,
55
- templates,
56
- onBlur,
57
- useServerParse = false,
58
- fields,
59
- alertPayloadContext = false,
60
- fsmContext,
61
- },
62
- ref
63
- ) => {
64
- const dpql = useDpqlSession({
65
- provider,
66
- recordType,
67
- options,
68
- fields,
69
- actionCode,
70
- initialText: value,
71
- alertPayloadContext,
72
- fsmContext,
73
- });
74
-
75
- // Server-parse state: when `useServerParse` is true, we ask the
76
- // LSP server's `dpql/toRichtext` to convert the plain-text value
77
- // into a structured Slate tree. The result is cached against the
78
- // `value` it parsed — so subsequent renders with the same text
79
- // reuse it without another roundtrip. `null` until the first
80
- // response arrives (or when the request errored — caller falls
81
- // back to the client-side regex parser via `dpqlSlateConverter`).
82
- const [serverParsedNodes, setServerParsedNodes] = useState<
83
- ISlateElement[] | null
84
- >(null);
85
- const [serverParsedFor, setServerParsedFor] = useState<string | null>(
86
- null
87
- );
88
- const [isParsing, setIsParsing] = useState(false);
89
- // Tracks the most recent in-flight request so a slow response
90
- // can't overwrite a newer one (the user typed faster than the
91
- // server replied).
92
- const parseRequestIdRef = useRef(0);
93
-
94
- useEffect(() => {
95
- if (!useServerParse) {
96
- // Clear any cached server-parsed nodes when the prop is
97
- // toggled off — next render uses the client-side converter.
98
- setServerParsedNodes(null);
99
- setServerParsedFor(null);
100
- setIsParsing(false);
101
- return;
102
- }
103
- const client = dpql.session.client;
104
- if (!client || !dpql.session.isReady) return;
105
- // Empty value — short-circuit to the empty document so the user
106
- // doesn't see a spinner for a no-op parse.
107
- if (!value) {
108
- setServerParsedNodes([{ type: 'paragraph', children: [{ text: '' }] }]);
109
- setServerParsedFor('');
110
- setIsParsing(false);
111
- return;
112
- }
113
- // Already parsed this exact text — no need to re-request.
114
- if (serverParsedFor === value && serverParsedNodes) {
115
- return;
116
- }
117
- const reqId = ++parseRequestIdRef.current;
118
- setIsParsing(true);
119
- client
120
- .customRequest<unknown>('dpql/toRichtext', { text: value })
121
- .then((response) => {
122
- if (reqId !== parseRequestIdRef.current) return;
123
- const nodes = richtextResponseToSlate(response);
124
- if (nodes) {
125
- setServerParsedNodes(nodes);
126
- setServerParsedFor(value);
127
- } else {
128
- // Bad shape — fall back to client-side parsing by leaving
129
- // the cache empty for this value. The custom converter
130
- // below detects the miss and uses `plainTextToSlate`.
131
- setServerParsedNodes(null);
132
- setServerParsedFor(null);
133
- }
134
- })
135
- .catch(() => {
136
- // Network / server error — same fallback as bad-shape.
137
- if (reqId !== parseRequestIdRef.current) return;
138
- setServerParsedNodes(null);
139
- setServerParsedFor(null);
140
- })
141
- .finally(() => {
142
- if (reqId === parseRequestIdRef.current) {
143
- setIsParsing(false);
144
- }
145
- });
146
- }, [
147
- useServerParse,
148
- value,
149
- dpql.session.client,
150
- dpql.session.isReady,
151
- serverParsedFor,
152
- serverParsedNodes,
153
- ]);
154
-
155
- // When server-parse is active, override `toSlateNodes` so SmartEditor
156
- // gets the server's tree for the matching value, falling through to
157
- // the client regex parser for anything else (initial empty string,
158
- // mid-edit echoes, error fallbacks). Other converter methods are
159
- // delegated to the base — slate→plain text and offset math are pure
160
- // and don't need server input.
161
- const converter = useMemo<ISlateConverter>(() => {
162
- if (!useServerParse) return dpqlSlateConverter;
163
- return {
164
- ...dpqlSlateConverter,
165
- toSlateNodes: (text: string) => {
166
- if (
167
- text === serverParsedFor &&
168
- serverParsedNodes
169
- ) {
170
- return serverParsedNodes;
171
- }
172
- return dpqlSlateConverter.toSlateNodes(text);
173
- },
174
- };
175
- }, [useServerParse, serverParsedFor, serverParsedNodes]);
176
-
177
- const tagRenderer = useMemo(
178
- () => makeDpqlTagRenderer(dpql.fieldMeta, { templateTagsUseIntent, templates }),
179
- [dpql.fieldMeta, templateTagsUseIntent, templates]
180
- );
181
-
182
- useImperativeHandle(
183
- ref,
184
- (): IDpqlEditorRef => ({
185
- format: async () => {
186
- const formatted = await dpql.session.format();
187
- if (formatted !== null && formatted !== value) {
188
- onChange(formatted);
189
- }
190
- },
191
- validate: dpql.validate,
192
- parse: dpql.parse,
193
- serialize: dpql.serialize,
194
- }),
195
- [dpql, value, onChange]
196
- );
197
-
198
- return (
199
- <SmartEditor
200
- session={dpql.session}
201
- value={value}
202
- onChange={onChange}
203
- tagRenderer={tagRenderer}
204
- triggerCharacters={DPQL_TRIGGERS}
205
- converter={converter}
206
- completionInserter={dpqlCompletionInserter}
207
- height={height}
208
- readOnly={readOnly}
209
- showDiagnostics={showDiagnostics}
210
- enableHover={enableHover}
211
- onBlur={onBlur}
212
- isLoading={isParsing}
213
- loadingIndicator={loadingIndicator}
214
- />
215
- );
216
- }
217
- );
218
-
219
- DpqlEditor.displayName = 'DpqlEditor';
@@ -1,287 +0,0 @@
1
- // Copyright 2026 Qore Technologies, s.r.o.
2
- // DPQL-specific Slate helpers — recognise `@field` and `$prefix:value`
3
- // patterns in plain text, render them as tag elements, account for
4
- // `metadata.quoted` tag spacing in cursor-offset math. The generic
5
- // SmartEditor primitive uses these via the `converter` prop on
6
- // `DpqlEditor`; the SmartEditor itself has no knowledge of DPQL syntax.
7
-
8
- import { ISlateConverter, ISlateElement, ISlateText, TSlateNode } from '../smartEditor/types';
9
-
10
- // Combined pattern that matches templates, field refs, or plain text segments.
11
- // Template values without braces match only word chars and dots (not quotes,
12
- // parens, etc.); the `(?<![.\w])` lookbehind on `@` prevents matching inside
13
- // an email-like string.
14
- //
15
- // A dot that starts a method call ends the value: the server's readable
16
- // rendering writes `ends-with` as `$local:str.endsWith($local:p, true)`, and a
17
- // path that took every dot turned `str.endsWith` into one reference.
18
- //
19
- // A field name is bare in any script, as DPQL reads it (qorus#646): a letter of any script or `_`, then
20
- // letters, combining marks, digits and `_`, with dot-separated parts. `\w` is ASCII only, so
21
- // `@menge_bestätigt` was cut to the tag `@menge_best` and the text `ätigt`.
22
- const NAME_START = '[\\p{L}_]';
23
- const NAME_PART = '[\\p{L}\\p{M}\\p{N}_]';
24
- const FIELD_NAME = `${NAME_START}${NAME_PART}*`;
25
- const TOKEN_PATTERN = new RegExp(
26
- `(\\$\\w+:(?:\\{[^}]*\\}|(?:\\w|\\.(?!\\w+\\())+))|((?<![.\\p{L}\\p{M}\\p{N}_])@${FIELD_NAME}(?:\\.${FIELD_NAME})*)`,
27
- 'gu'
28
- );
29
-
30
- /**
31
- * Convert plain DPQL text to Slate elements. Parses `$prefix:{value}` and
32
- * `@field` patterns into tag elements; everything else becomes text nodes.
33
- */
34
- export function plainTextToSlate(text: string): ISlateElement[] {
35
- if (!text) {
36
- return [{ type: 'paragraph', children: [{ text: '' }] }];
37
- }
38
- const lines = text.split('\n');
39
-
40
- return lines.map((line) => {
41
- const children: TSlateNode[] = [];
42
- if (!line) {
43
- children.push({ text: '' });
44
- return { type: 'paragraph' as const, children };
45
- }
46
- let lastIndex = 0;
47
- TOKEN_PATTERN.lastIndex = 0;
48
- let match: RegExpExecArray | null;
49
- while ((match = TOKEN_PATTERN.exec(line)) !== null) {
50
- const matchStart = match.index;
51
- const matchEnd = matchStart + match[0].length;
52
- const isQuoted =
53
- matchStart > 0 &&
54
- line[matchStart - 1] === '"' &&
55
- matchEnd < line.length &&
56
- line[matchEnd] === '"';
57
- const textStart = isQuoted ? matchStart - 1 : matchStart;
58
- const textEnd = isQuoted ? matchEnd + 1 : matchEnd;
59
-
60
- if (textStart > lastIndex) {
61
- children.push({ text: line.slice(lastIndex, textStart) });
62
- }
63
-
64
- const fullMatch = match[0];
65
- if (match[1]) {
66
- const colonIdx = fullMatch.indexOf(':');
67
- const prefix = fullMatch.slice(1, colonIdx);
68
- const valueText = fullMatch.slice(colonIdx + 1);
69
- const displayLabel =
70
- valueText.startsWith('{') && valueText.endsWith('}')
71
- ? valueText.slice(1, -1)
72
- : valueText;
73
- children.push(
74
- createTagElement(
75
- fullMatch,
76
- `${prefix}: ${displayLabel}`,
77
- isQuoted ? { quoted: true } : undefined
78
- )
79
- );
80
- } else if (match[2]) {
81
- const fieldName = fullMatch.slice(1);
82
- children.push(createTagElement(fullMatch, fieldName));
83
- }
84
-
85
- lastIndex = textEnd;
86
- }
87
- if (lastIndex < line.length) {
88
- children.push({ text: line.slice(lastIndex) });
89
- }
90
- if (children.length === 0) {
91
- children.push({ text: '' });
92
- }
93
- return { type: 'paragraph' as const, children };
94
- });
95
- }
96
-
97
- /**
98
- * `text` as a DPQL editor draws it: a reference is its chip, so the quotes a
99
- * chip is drawn over do not show. `"$local:name" == "John"` and
100
- * `$local:name == "John"` read the same.
101
- */
102
- export function dpqlDisplayedText(text: string): string {
103
- return plainTextToSlate(text)
104
- .map((paragraph) =>
105
- paragraph.children
106
- .map((node) => ('text' in node ? node.text : String((node as ISlateElement).value ?? '')))
107
- .join('')
108
- )
109
- .join('\n');
110
- }
111
-
112
- function createTagElement(
113
- value: string,
114
- label: string,
115
- metadata?: Record<string, any>
116
- ): ISlateElement {
117
- return {
118
- type: 'tag',
119
- value,
120
- label,
121
- metadata,
122
- children: [{ text: '' }],
123
- };
124
- }
125
-
126
- /** Convert Slate elements back to plain DPQL text. */
127
- export function slateToPlainText(elements: ISlateElement[]): string {
128
- return elements.map(processElement).join('\n');
129
- }
130
-
131
- function processElement(element: TSlateNode): string {
132
- if ('text' in element) {
133
- return element.text;
134
- }
135
- if (element.type === 'tag') {
136
- const val = element.value?.toString() || '';
137
- return element.metadata?.quoted ? `"${val}"` : val;
138
- }
139
- if (element.children) {
140
- return element.children.map(processElement).join('');
141
- }
142
- return '';
143
- }
144
-
145
- /**
146
- * Tag-aware Slate-selection → plain-text-offset. Accounts for
147
- * `metadata.quoted` (which adds two characters — surrounding quotes — to
148
- * the plain-text projection of a tag). The non-quoted case matches the
149
- * generic SmartEditor default.
150
- */
151
- export function slateSelectionToOffset(
152
- elements: ISlateElement[],
153
- anchorPath: number[],
154
- anchorOffset: number
155
- ): number {
156
- let totalOffset = 0;
157
- const targetParagraphIdx = anchorPath[0];
158
- const targetChildIdx = anchorPath[1];
159
-
160
- for (let pIdx = 0; pIdx < elements.length; pIdx++) {
161
- if (pIdx > 0) {
162
- totalOffset += 1;
163
- }
164
- if (pIdx > targetParagraphIdx) break;
165
-
166
- const paragraph = elements[pIdx];
167
- const children = paragraph.children || [];
168
-
169
- for (let cIdx = 0; cIdx < children.length; cIdx++) {
170
- const child = children[cIdx];
171
- const isTag = 'type' in child && child.type === 'tag';
172
- const isText = 'text' in child && !isTag;
173
-
174
- if (pIdx === targetParagraphIdx && cIdx === targetChildIdx) {
175
- if (isText) {
176
- totalOffset += anchorOffset;
177
- } else if (isTag) {
178
- const el = child as ISlateElement;
179
- const quoted = el.metadata?.quoted;
180
- totalOffset += quoted ? 1 + anchorOffset : anchorOffset;
181
- }
182
- return totalOffset;
183
- }
184
-
185
- if (isText) {
186
- totalOffset += (child as ISlateText).text.length;
187
- } else if (isTag) {
188
- const el = child as ISlateElement;
189
- const tagValue = el.value?.toString() || '';
190
- const quoted = el.metadata?.quoted;
191
- totalOffset += quoted ? tagValue.length + 2 : tagValue.length;
192
- }
193
- }
194
- }
195
- return totalOffset;
196
- }
197
-
198
- /** Should a completion be inserted as a Slate tag element vs plain text? */
199
- export function isTagCompletion(insertText: string): boolean {
200
- return insertText.startsWith('@') || insertText.startsWith('$');
201
- }
202
-
203
- /** Display label for a completion being inserted as a tag. */
204
- export function getTagLabel(value: string): string {
205
- if (value.startsWith('@')) {
206
- return value.slice(1);
207
- }
208
- if (value.startsWith('$')) {
209
- const colonIdx = value.indexOf(':');
210
- if (colonIdx === -1) {
211
- return value.slice(1);
212
- }
213
- const prefix = value.slice(1, colonIdx);
214
- const rest = value.slice(colonIdx + 1);
215
- const displayValue =
216
- rest.startsWith('{') && rest.endsWith('}') ? rest.slice(1, -1) : rest;
217
- return `${prefix}: ${displayValue}`;
218
- }
219
- return value;
220
- }
221
-
222
- /** DPQL converter — handed to `SmartEditor` via the `converter` prop. */
223
- export const dpqlSlateConverter: ISlateConverter = {
224
- toSlateNodes: plainTextToSlate,
225
- fromSlateNodes: slateToPlainText,
226
- selectionToOffset: slateSelectionToOffset,
227
- };
228
-
229
- /**
230
- * Convert the server's `dpql/toRichtext` response into a Slate
231
- * `ISlateElement[]`. The server returns `{ type: "richtext", value:
232
- * [...] }` where `value` is already an array of `{type: "paragraph",
233
- * children: [...]}` nodes — children alternate between
234
- * `{ text: "..." }` text nodes and `{ type: "tag", value, label,
235
- * children: [{text: ""}], metadata? }` inline-void tag nodes (see
236
- * `qorus/Classes/UserApi.qc:_priv_get_richtext_string`).
237
- *
238
- * Returns `null` when the response doesn't look like the expected
239
- * shape — callers should fall back to `plainTextToSlate` in that
240
- * case. We don't trust the server response unconditionally because
241
- * (a) the regex used server-side recognises `$template:value`
242
- * patterns but NOT `@field` references, so DPQL field-ref chips are
243
- * only produced by the client parser, and (b) network errors / weird
244
- * shapes shouldn't crash the editor.
245
- */
246
- export function richtextResponseToSlate(
247
- response: unknown
248
- ): ISlateElement[] | null {
249
- if (!response || typeof response !== 'object') return null;
250
- const r = response as { type?: unknown; value?: unknown };
251
- if (r.type !== 'richtext' || !Array.isArray(r.value)) return null;
252
- const paragraphs: ISlateElement[] = [];
253
- for (const node of r.value) {
254
- if (!node || typeof node !== 'object') return null;
255
- const n = node as { type?: unknown; children?: unknown };
256
- if (n.type !== 'paragraph' || !Array.isArray(n.children)) return null;
257
- const children: TSlateNode[] = [];
258
- for (const child of n.children) {
259
- if (!child || typeof child !== 'object') return null;
260
- const c = child as Record<string, unknown>;
261
- if (typeof c.text === 'string') {
262
- children.push({ text: c.text } as ISlateText);
263
- } else if (c.type === 'tag' && typeof c.value === 'string') {
264
- children.push({
265
- type: 'tag',
266
- value: c.value,
267
- label:
268
- typeof c.label === 'string'
269
- ? c.label
270
- : getTagLabel(c.value),
271
- metadata: (c.metadata as Record<string, any>) ?? undefined,
272
- children: [{ text: '' } as ISlateText],
273
- } as ISlateElement);
274
- } else {
275
- // Unknown child shape — refuse the whole response so the
276
- // caller falls back to client-side parsing.
277
- return null;
278
- }
279
- }
280
- if (children.length === 0) children.push({ text: '' } as ISlateText);
281
- paragraphs.push({ type: 'paragraph', children });
282
- }
283
- if (paragraphs.length === 0) {
284
- paragraphs.push({ type: 'paragraph', children: [{ text: '' }] });
285
- }
286
- return paragraphs;
287
- }
@@ -1,121 +0,0 @@
1
- // Copyright 2026 Qore Technologies, s.r.o.
2
- // DPQL-specific completion inserter — inserts `@field` and `$template`
3
- // completions as Slate tag elements (so they render as interactive chips
4
- // in the editor) and falls back to plain text for keywords/operators.
5
-
6
- import { BaseEditor, Editor, Transforms } from 'slate';
7
- import { HistoryEditor } from 'slate-history';
8
- import { ReactEditor } from 'slate-react';
9
- import { expandSnippet, lspPositionToOffset } from '../smartEditor/helpers';
10
- import { ISlateElement, TCompletionInserter } from '../smartEditor/types';
11
- import { getTagLabel, isTagCompletion } from './dpqlHelpers';
12
-
13
- /**
14
- * Walk back from the cursor to find the start of the partial token the
15
- * user typed. Matches the same heuristic the generic
16
- * `useLspAutocomplete.findTokenStart` uses internally — duplicated here
17
- * because the inserter runs at completion-accept time and needs to slice
18
- * the partial token before inserting the chosen completion.
19
- */
20
- function findTokenStart(plainText: string, cursorOffset: number): number {
21
- let i = cursorOffset - 1;
22
- while (i >= 0 && /[\w.:{}-]/.test(plainText[i])) {
23
- i--;
24
- }
25
- if (i >= 0 && /[@$]/.test(plainText[i])) {
26
- i--;
27
- }
28
- return i + 1;
29
- }
30
-
31
- /**
32
- * DPQL completion inserter. For tag completions (`@field` / `$template:…`),
33
- * inserts a Slate tag element so the value renders as an interactive chip.
34
- * For everything else (keywords, operators, functions), inserts plain text.
35
- *
36
- * Partial-token deletion happens first. When the server supplies a
37
- * `textEdit.range`, that's the authoritative span to replace; we delete
38
- * from `textEdit.range.start` to the current cursor (matching the LSP
39
- * spec). Without `textEdit`, fall back to the find-token-start heuristic.
40
- */
41
- export const dpqlCompletionInserter: TCompletionInserter = (item, editor, ctx) => {
42
- const ed = editor as BaseEditor & ReactEditor & HistoryEditor;
43
- const rawValue = item.textEdit?.newText ?? item.insertText ?? item.label;
44
- // Expand LSP snippets (`insertTextFormat === 2`) so function templates
45
- // like `slice(${1:List Value}, ${2:Index or Range})$0` insert as
46
- // `slice(List Value, Index or Range)` instead of leaking the snippet
47
- // syntax. Tag completions (`@field` / `$template`) are never snippets.
48
- const insertValue =
49
- item.insertTextFormat === 2 ? expandSnippet(rawValue) : rawValue;
50
-
51
- // Replace mode — user clicked an existing chip. Atomically swap the
52
- // node at the chip's path for the chosen completion. No token-delete
53
- // dance, no selection dependency — just `removeNodes` + `insertNodes`
54
- // inside `withoutNormalizing` so Slate sees a single batched op.
55
- if (ctx.replacementPath) {
56
- const path = ctx.replacementPath;
57
- Editor.withoutNormalizing(ed, () => {
58
- Transforms.removeNodes(ed, { at: path });
59
- if (isTagCompletion(insertValue)) {
60
- const tagElement: ISlateElement = {
61
- type: 'tag',
62
- value: insertValue,
63
- label: getTagLabel(insertValue),
64
- children: [{ text: '' }],
65
- };
66
- Transforms.insertNodes(ed, tagElement as any, { at: path, select: true });
67
- } else {
68
- Transforms.insertNodes(ed, [{ text: insertValue }] as any, {
69
- at: path,
70
- select: true,
71
- });
72
- }
73
- });
74
- try {
75
- ReactEditor.focus(ed);
76
- } catch {
77
- // Editor may not be focusable in this render cycle.
78
- }
79
- return;
80
- }
81
-
82
- // Normal (typing) path — needs a live selection. Compute how many
83
- // plain-text characters of the partial token to delete before
84
- // inserting at the cursor.
85
- if (!ed.selection) return;
86
-
87
- let charsToDelete: number;
88
- if (item.textEdit) {
89
- const startOffset = lspPositionToOffset(ctx.plainText, item.textEdit.range.start);
90
- charsToDelete = Math.max(0, ctx.cursorOffset - startOffset);
91
- } else {
92
- // Heuristic fallback — same logic the old DPQL inserter used.
93
- const tokenStart = findTokenStart(ctx.plainText, ctx.cursorOffset);
94
- charsToDelete = Math.max(0, ctx.cursorOffset - tokenStart);
95
- }
96
-
97
- if (charsToDelete > 0) {
98
- for (let i = 0; i < charsToDelete; i++) {
99
- Editor.deleteBackward(ed, { unit: 'character' });
100
- }
101
- }
102
-
103
- if (isTagCompletion(insertValue)) {
104
- const tagElement: ISlateElement = {
105
- type: 'tag',
106
- value: insertValue,
107
- label: getTagLabel(insertValue),
108
- children: [{ text: '' }],
109
- };
110
- Transforms.insertNodes(ed, tagElement as any);
111
- Transforms.move(ed);
112
- } else {
113
- Transforms.insertText(ed, insertValue);
114
- }
115
-
116
- try {
117
- ReactEditor.focus(ed);
118
- } catch {
119
- // Editor may not be focused.
120
- }
121
- };