@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,797 +0,0 @@
1
- import { StoryObj } from '@storybook/react-vite';
2
- import { useState } from 'react';
3
- import { expect, fn, userEvent, waitFor, within } from 'storybook/test';
4
- import { sleep } from '../../../__tests__/utils';
5
- import { StoryMeta } from '../../types';
6
- import {
7
- createMockLspServer,
8
- DEFAULT_LSP_CAPABILITIES,
9
- IMockLspServer,
10
- MOCK_LSP_URL,
11
- } from '../smartEditor/__fixtures__/mockLspServer';
12
- import { QonsoleSmartInput } from './QonsoleSmartInput';
13
- import { IQonsoleAssistContext } from './types';
14
-
15
- // Start of the current Qonsole token; drives the textEdit range so
16
- // accepting an item replaces the partial token (else `/l` + `/list` →
17
- // `/l/list`).
18
- function findQonsoleTokenStart(text: string, cursorChar: number): number {
19
- let i = cursorChar - 1;
20
- while (i >= 0 && /[\w/=:.-]/.test(text[i])) {
21
- i--;
22
- }
23
- return i + 1;
24
- }
25
-
26
- // Which completion slot the cursor sits in, for the mock's naive
27
- // `/verb resource [--flag[=value]]…` grammar: slot is decided by the
28
- // count of non-flag word tokens before the cursor. `null` = no opinion,
29
- // dropdown stays closed.
30
- function detectQonsoleContext(
31
- text: string,
32
- cursorChar: number
33
- ): {
34
- type: 'verb' | 'resource' | 'flag' | 'flag-value';
35
- tokenStart: number;
36
- } | null {
37
- const tokenStart = findQonsoleTokenStart(text, cursorChar);
38
- const currentToken = text.slice(tokenStart, cursorChar);
39
- const charBefore = tokenStart > 0 ? text[tokenStart - 1] : '';
40
-
41
- // `--flag` partial token — always flag context regardless of position.
42
- if (currentToken.startsWith('-')) return { type: 'flag', tokenStart };
43
- // After `=` — value of the last seen `--flag=…`.
44
- if (charBefore === '=') return { type: 'flag-value', tokenStart };
45
- // Slash command — partial token starts with `/`.
46
- if (currentToken.startsWith('/')) return { type: 'verb', tokenStart };
47
-
48
- // Word-position decision — count non-flag word tokens before the
49
- // cursor's token start. Flags are `--something` and don't consume
50
- // a slot; everything else does.
51
- const before = text.slice(0, tokenStart);
52
- const words = before
53
- .trim()
54
- .split(/\s+/)
55
- .filter((w) => w.length > 0 && !w.startsWith('-'));
56
- if (words.length === 0) {
57
- // Empty editor — user is about to type the verb.
58
- if (tokenStart === 0 && currentToken === '') return { type: 'verb', tokenStart };
59
- return null;
60
- }
61
- if (words.length === 1) {
62
- // `/verb ` — next is the resource.
63
- if (charBefore === ' ') return { type: 'resource', tokenStart };
64
- return null;
65
- }
66
- // 2+ words → verb + resource consumed; subsequent slots are flags.
67
- if (charBefore === ' ') return { type: 'flag', tokenStart };
68
- return null;
69
- }
70
-
71
- // Mock semantic-tokens producer (LSP delta-5-tuple int array). Having no
72
- // schema, it only paints sigil-bracketed forms — `/verb` (keyword 8),
73
- // `--flag` (modifier 9), `"strings"` (11), numbers (12); resource names
74
- // and flag values stay plain. See `LiveQonsole` for the real coverage.
75
- function mockTokenizeQonsole(text: string): number[] {
76
- const tokens: Array<{
77
- line: number;
78
- char: number;
79
- length: number;
80
- type: number;
81
- }> = [];
82
- const lines = text.split('\n');
83
- for (let lineIdx = 0; lineIdx < lines.length; lineIdx++) {
84
- const line = lines[lineIdx];
85
- // Strings first so they swallow any `--`/digits inside their quotes.
86
- const TOKEN_RE = /("(?:\\.|[^"\\])*")|(\d+(?:\.\d+)?)|(--[A-Za-z][\w-]*)|(\/[A-Za-z][\w-]*)/g;
87
- let match: RegExpExecArray | null;
88
- while ((match = TOKEN_RE.exec(line)) !== null) {
89
- let type = -1;
90
- if (match[1])
91
- type = 11; // string
92
- else if (match[2])
93
- type = 12; // number
94
- else if (match[3])
95
- type = 9; // modifier — `--flag`
96
- else if (match[4]) type = 8; // keyword — `/verb`
97
- if (type >= 0) {
98
- tokens.push({
99
- line: lineIdx,
100
- char: match.index,
101
- length: match[0].length,
102
- type,
103
- });
104
- }
105
- }
106
- }
107
- tokens.sort((a, b) => a.line - b.line || a.char - b.char);
108
- // Delta-encode per LSP spec.
109
- const data: number[] = [];
110
- let prevLine = 0;
111
- let prevChar = 0;
112
- for (const t of tokens) {
113
- const dLine = t.line - prevLine;
114
- const dChar = dLine === 0 ? t.char - prevChar : t.char;
115
- data.push(dLine, dChar, t.length, t.type, 0);
116
- prevLine = t.line;
117
- prevChar = t.char;
118
- }
119
- return data;
120
- }
121
-
122
- // Mock LSP server for `BasicMock`, `WithCommitCharacters`, and
123
- // `WithWizardItems`: contextual completion, the conservative tokenizer,
124
- // and `qonsole/*` methods on the shared mock plumbing.
125
- function setupBasicQonsoleMockServer(): IMockLspServer {
126
- return createMockLspServer(MOCK_LSP_URL, {
127
- capabilities: {
128
- ...DEFAULT_LSP_CAPABILITIES,
129
- experimental: {
130
- qonsole: {
131
- version: '1.0',
132
- methods: ['qonsole/assist', 'qonsole/validate', 'qonsole/setContext'],
133
- },
134
- },
135
- },
136
- handlers: {
137
- 'textDocument/semanticTokens/full': (_msg, server) => ({
138
- data: mockTokenizeQonsole(server.documentText),
139
- }),
140
-
141
- 'textDocument/completion': (msg, server) => {
142
- // textEdit range `[tokenStart, cursor)` so accepting an item
143
- // replaces the partial token (no `/l/list` duplication).
144
- const position = msg.params?.position ?? { line: 0, character: 0 };
145
- const text = server.documentText;
146
- const ctx = detectQonsoleContext(text, position.character);
147
- let items: any[] = [];
148
- if (ctx) {
149
- const replaceRange = {
150
- start: { line: position.line, character: ctx.tokenStart },
151
- end: position,
152
- };
153
- const withTextEdit = (item: any) => ({
154
- ...item,
155
- textEdit: { range: replaceRange, newText: item.insertText ?? item.label },
156
- });
157
- if (ctx.type === 'verb') {
158
- items = [
159
- withTextEdit({
160
- label: '/list',
161
- insertText: '/list',
162
- kind: 14,
163
- detail: 'List resources',
164
- commitCharacters: [' '],
165
- sortText: '10_00_/list',
166
- }),
167
- withTextEdit({
168
- label: '/show',
169
- insertText: '/show',
170
- kind: 14,
171
- detail: 'Show resource details',
172
- commitCharacters: [' '],
173
- sortText: '10_01_/show',
174
- }),
175
- withTextEdit({
176
- label: '/count',
177
- insertText: '/count',
178
- kind: 14,
179
- detail: 'Count matching resources',
180
- commitCharacters: [' '],
181
- sortText: '10_02_/count',
182
- }),
183
- // Mutating verb — server attaches a `warning` chip.
184
- withTextEdit({
185
- label: '/delete',
186
- insertText: '/delete',
187
- kind: 14,
188
- detail: 'Delete a resource',
189
- commitCharacters: [' '],
190
- warning: 'Mutates system state',
191
- sortText: '20_00_/delete',
192
- }),
193
- withTextEdit({
194
- label: '/help',
195
- insertText: '/help',
196
- kind: 14,
197
- detail: 'Show help',
198
- commitCharacters: [' '],
199
- sortText: '30_00_/help',
200
- }),
201
- // Wizard launch item — `command` fires `onWizardStart`
202
- // instead of inserting text, so no textEdit.
203
- {
204
- label: 'Start "Create connection" wizard',
205
- kind: 15,
206
- detail: 'Guided setup',
207
- data: {
208
- action: 'start-wizard',
209
- name: 'create-connection',
210
- title: 'Create connection',
211
- short_desc: 'Guided setup for a new connection',
212
- verb: 'create',
213
- resource: 'connections',
214
- start_path: '/api/latest/qonsole/wizards/create-connection/start',
215
- },
216
- command: {
217
- title: 'Start Create connection wizard',
218
- command: 'qonsole.startWizard',
219
- arguments: [
220
- {
221
- action: 'start-wizard',
222
- name: 'create-connection',
223
- title: 'Create connection',
224
- short_desc: 'Guided setup for a new connection',
225
- verb: 'create',
226
- resource: 'connections',
227
- start_path: '/api/latest/qonsole/wizards/create-connection/start',
228
- },
229
- ],
230
- },
231
- sortText: '40_00_wizard',
232
- },
233
- ];
234
- } else if (ctx.type === 'resource') {
235
- items = [
236
- withTextEdit({
237
- label: 'services',
238
- insertText: 'services',
239
- kind: 7,
240
- detail: 'Service interfaces',
241
- commitCharacters: [' '],
242
- }),
243
- withTextEdit({
244
- label: 'workflows',
245
- insertText: 'workflows',
246
- kind: 7,
247
- detail: 'Workflow interfaces',
248
- commitCharacters: [' '],
249
- }),
250
- withTextEdit({
251
- label: 'jobs',
252
- insertText: 'jobs',
253
- kind: 7,
254
- detail: 'Job interfaces',
255
- commitCharacters: [' '],
256
- }),
257
- withTextEdit({
258
- label: 'users',
259
- insertText: 'users',
260
- kind: 7,
261
- detail: 'IDP users',
262
- commitCharacters: [' '],
263
- }),
264
- ];
265
- } else if (ctx.type === 'flag') {
266
- items = [
267
- withTextEdit({
268
- label: '--desc',
269
- insertText: '--desc=',
270
- kind: 10,
271
- detail: 'sort descending',
272
- commitCharacters: ['='],
273
- }),
274
- withTextEdit({
275
- label: '--limit',
276
- insertText: '--limit=',
277
- kind: 10,
278
- detail: 'maximum number of results',
279
- commitCharacters: ['='],
280
- }),
281
- withTextEdit({
282
- label: '--search',
283
- insertText: '--search=',
284
- kind: 10,
285
- detail: 'filter by name using a regex',
286
- commitCharacters: ['='],
287
- }),
288
- withTextEdit({
289
- label: '--app',
290
- insertText: '--app=',
291
- kind: 10,
292
- detail: 'filter by application',
293
- commitCharacters: ['='],
294
- }),
295
- ];
296
- } else if (ctx.type === 'flag-value') {
297
- items = [
298
- withTextEdit({
299
- label: 'qorus',
300
- insertText: 'qorus',
301
- kind: 12,
302
- detail: 'Qorus core app',
303
- }),
304
- withTextEdit({
305
- label: 'qorus-ide',
306
- insertText: 'qorus-ide',
307
- kind: 12,
308
- detail: 'Qorus IDE',
309
- }),
310
- withTextEdit({
311
- label: 'qorus-creator',
312
- insertText: 'qorus-creator',
313
- kind: 12,
314
- detail: 'Qorus Creator',
315
- }),
316
- ];
317
- }
318
- }
319
- return { items };
320
- },
321
-
322
- 'qonsole/setContext': (msg) => ({
323
- ok: true,
324
- context: msg.params?.context ?? null,
325
- }),
326
-
327
- 'qonsole/validate': () => ({ diagnostics: [] }),
328
-
329
- 'qonsole/assist': () => ({
330
- version: '1.0',
331
- mode: 'command',
332
- context: {},
333
- canonical: {
334
- command_name: 'list-services',
335
- verb: 'list',
336
- resource: 'services',
337
- },
338
- completion: {
339
- state: 'flag',
340
- prefix: '',
341
- replace_start: 15,
342
- replace_end: 15,
343
- items: [
344
- { label: '--desc', kind: 'flag' },
345
- { label: '--limit', kind: 'flag' },
346
- ],
347
- },
348
- diagnostics: [],
349
- metrics: { duration_ms: 5 },
350
- }),
351
- },
352
- });
353
- }
354
-
355
- interface IDemoArgs {
356
- initialValue?: string;
357
- useContext?: IQonsoleAssistContext;
358
- height?: string;
359
- readOnly?: boolean;
360
- onChange?: (v: string) => void;
361
- onWizardStart?: (args: Record<string, unknown>) => void;
362
- }
363
-
364
- function QonsoleSmartInputWithState(props: IDemoArgs) {
365
- const [value, setValue] = useState(props.initialValue ?? '');
366
- return (
367
- <QonsoleSmartInput
368
- value={value}
369
- onChange={(v) => {
370
- setValue(v);
371
- props.onChange?.(v);
372
- }}
373
- useContext={props.useContext}
374
- height={props.height}
375
- readOnly={props.readOnly}
376
- onWizardStart={props.onWizardStart}
377
- />
378
- );
379
- }
380
-
381
- const meta = {
382
- component: QonsoleSmartInputWithState,
383
- title: 'Components/QonsoleSmartInput',
384
- args: {
385
- initialValue: '',
386
- onChange: fn(),
387
- },
388
- } as StoryMeta<typeof QonsoleSmartInputWithState>;
389
-
390
- export default meta;
391
- export type Story = StoryObj<typeof meta>;
392
-
393
- // Mock-socket variant mirroring the Qonsole LSP wire shape. Play test
394
- // types `-` after `/list services ` and asserts the canned completions
395
- // render. The slot grammar is a naive word-counter and the tokenizer
396
- // only paints sigil-bracketed forms; use `LiveQonsole` for real behaviour.
397
- export const BasicMock: Story = {
398
- args: {
399
- initialValue: '/list services ',
400
- },
401
- parameters: {
402
- docs: {
403
- description: {
404
- story:
405
- 'Renders the QonsoleSmartInput against a mocked Qonsole LSP. Typing "-" after "/list services " opens the flag dropdown with --desc, --limit and --search; pressing Enter accepts the first item without producing a stray double dash.',
406
- },
407
- },
408
- },
409
- async beforeEach() {
410
- const server = setupBasicQonsoleMockServer();
411
- return () => server.close();
412
- },
413
- play: async ({ canvasElement }) => {
414
- const canvas = within(canvasElement);
415
- const editable = canvas.getByRole('textbox');
416
-
417
- // Phase 1 contract: dropdown must not open just because the cursor
418
- // landed on a position whose char-before-cursor is a trigger
419
- // character. Initial value `/list services ` ends in a space (a
420
- // trigger char), so on mount + on click the dropdown must stay
421
- // closed. A "must NOT open" check needs a fixed settle — `waitFor`
422
- // would pass instantly, before the dropdown could have (wrongly)
423
- // opened, and prove nothing.
424
- await sleep(500);
425
- expect(document.querySelector('.reqore-menu')).toBeNull();
426
- await userEvent.click(editable);
427
- await sleep(500);
428
- expect(document.querySelector('.reqore-menu')).toBeNull();
429
-
430
- // Now the user actually types — dropdown should open. Poll for it.
431
- await userEvent.type(editable, '-');
432
- await waitFor(
433
- () => {
434
- const dropdown = document.querySelector('.reqore-menu');
435
- expect(dropdown).not.toBeNull();
436
- expect(dropdown!.textContent).toContain('--desc');
437
- expect(dropdown!.textContent).toContain('--limit');
438
- expect(dropdown!.textContent).toContain('--search');
439
- },
440
- { timeout: 30000 }
441
- );
442
-
443
- // Accept the first item with Enter and check the editor doesn't
444
- // double-dash. The mock returns `textEdit` covering the typed `-`,
445
- // so the result must be `/list services --desc=`, not `---desc=`.
446
- await userEvent.keyboard('{Enter}');
447
- await waitFor(
448
- () => {
449
- expect(editable.textContent).toBe('/list services --desc=');
450
- expect(editable.textContent).not.toContain('---');
451
- },
452
- { timeout: 30000 }
453
- );
454
- },
455
- };
456
-
457
- /**
458
- * **Live spike — hits the real Qorus `/lsp` endpoint** at
459
- * `wss://hq.qoretechnologies.com:8092/lsp` with `languageId: 'qonsole'`.
460
- * Used to validate `QonsoleSmartInput` end-to-end against the shipped
461
- * server before integrating into the qorus-ide `QonsoleInput.tsx`
462
- * (which is a separate qorus-ide-side task — see toolkit-react#61).
463
- *
464
- * **Prereq:** export `REACT_APP_QORUS_TOKEN` before running storybook.
465
- * Without a valid token the WebSocket handshake fails with 401.
466
- */
467
- export const LiveQonsole: Story = {
468
- // Real Qonsole LSP — excluded from the play-test runner and from
469
- // Chromatic (CI has no token/network).
470
- tags: ['!test'],
471
- args: {
472
- initialValue: '/list services ',
473
- },
474
- parameters: {
475
- chromatic: { disable: true },
476
- docs: {
477
- description: {
478
- story:
479
- 'Hits the real Qonsole LSP — no mock. Type after the trailing ' +
480
- 'space (or `-`, `=`, `/`, etc.) to see real completions render.',
481
- },
482
- },
483
- },
484
- // Open real flag completions (via `qonsole/assist`) when run manually
485
- // against the live server. Verified: `/list services ` → 10 flag
486
- // items. Clear + retype so the trailing-space trigger fires.
487
- play: async ({ canvasElement }) => {
488
- const canvas = within(canvasElement);
489
- const editable = canvas.getByRole('textbox');
490
- await sleep(3000); // let the live LSP session connect before typing (real WS handshake)
491
- await userEvent.click(editable);
492
- await userEvent.clear(editable);
493
- await userEvent.type(editable, '/list services ');
494
- await waitFor(
495
- () => {
496
- const dropdown = document.querySelector('.reqore-menu');
497
- expect(dropdown).not.toBeNull();
498
- expect(dropdown!.textContent).toContain('--desc');
499
- },
500
- { timeout: 30000 }
501
- );
502
- },
503
- };
504
-
505
- /**
506
- * Same as `LiveQonsole` but pre-binds a `/use services` context so
507
- * predictive text is scoped to that resource — exercises
508
- * `qonsole/setContext` via the `useQonsoleSession` hook.
509
- */
510
- export const LiveQonsoleWithContext: Story = {
511
- // Real Qonsole LSP — excluded from the play-test runner and from
512
- // Chromatic (CI has no token/network).
513
- tags: ['!test'],
514
- args: {
515
- initialValue: 'show me services in the pricing pipeline ',
516
- useContext: { resource: 'services' },
517
- },
518
- parameters: {
519
- chromatic: { disable: true },
520
- docs: {
521
- description: {
522
- story:
523
- 'Renders the QonsoleSmartInput against the real Qonsole LSP with a pre-bound "/use services" context — predictive text is scoped to the services resource via the qonsole/setContext call.',
524
- },
525
- },
526
- },
527
- };
528
-
529
- /**
530
- * Mock-socket variant that pushes diagnostics via the LSP
531
- * `textDocument/publishDiagnostics` notification immediately after the
532
- * client opens the document. Verifies:
533
- * - inline wavy-underline decorations (driven by `decorate` →
534
- * `useLspDiagnosticDecorations`),
535
- * - the `ReqoreMessage` panel below the editor (one row per
536
- * diagnostic, intent + icon per severity).
537
- *
538
- * The initial value contains two recognisable spans — `services` (an
539
- * Error) and `pricing` (a Warning). Adjust the mock if you change the
540
- * value here.
541
- */
542
- export const WithDiagnostics: Story = {
543
- args: {
544
- initialValue: '/list services in pricing',
545
- },
546
- parameters: {
547
- docs: {
548
- description: {
549
- story:
550
- 'Shows inline wavy-underline + the diagnostic message panel ' +
551
- 'below the editor. Hover an underlined token for the native ' +
552
- 'title-tooltip with the diagnostic message.',
553
- },
554
- },
555
- },
556
- async beforeEach() {
557
- const lsp = createMockLspServer(MOCK_LSP_URL, {
558
- capabilities: {},
559
- handlers: {
560
- // After didOpen, push a publishDiagnostics notification so the
561
- // editor renders inline + panel feedback. `didOpen` carries the
562
- // uri in params.textDocument.uri.
563
- 'textDocument/didOpen': (msg, server) => {
564
- server.notify('textDocument/publishDiagnostics', {
565
- uri: msg.params?.textDocument?.uri,
566
- diagnostics: [
567
- {
568
- range: {
569
- start: { line: 0, character: 6 },
570
- end: { line: 0, character: 14 },
571
- },
572
- message: 'Unknown resource "services" — did you mean "service"?',
573
- severity: 1,
574
- },
575
- {
576
- range: {
577
- start: { line: 0, character: 18 },
578
- end: { line: 0, character: 25 },
579
- },
580
- message: 'Pipeline "pricing" not found in workspace.',
581
- severity: 2,
582
- },
583
- ],
584
- });
585
- },
586
- },
587
- });
588
- return () => lsp.close();
589
- },
590
- // CI guard for the diagnostics round-trip (server `publishDiagnostics`
591
- // → the stacked `ReqoreMessage` panel below the editor). Both pushed
592
- // messages must render.
593
- play: async ({ canvasElement }) => {
594
- // Poll until the server's publishDiagnostics round-trip renders both
595
- // messages in the stacked panel below the editor.
596
- await waitFor(
597
- () => {
598
- const text = canvasElement.textContent ?? '';
599
- expect(text).toContain('Pipeline "pricing" not found in workspace.');
600
- expect(text).toContain('Unknown resource "services"');
601
- },
602
- { timeout: 30000 }
603
- );
604
- },
605
- };
606
-
607
- /**
608
- * Demonstrates `commitCharacters` auto-accept
609
- * (QONSOLE_ASSIST_FEATURES). The mock's flag completions carry
610
- * `commitCharacters: ['=']`. Typing `=` while a flag is focused
611
- * accepts the completion + inserts the `=` (or, when the
612
- * `textEdit.newText` already ends with `=`, suppresses the
613
- * duplicate).
614
- *
615
- * Sequence to play through (start from the default initial value —
616
- * see the BasicMock docstring on why typing arbitrary preamble
617
- * confuses the mock's slot grammar):
618
- * 1. Initial value `/list services `
619
- * 2. Type `-` — dropdown shows the flag list
620
- * 3. Type `-` again (now typing `--`)
621
- * 4. Type `l` — narrows to `--limit`
622
- * 5. Type `=` — `--limit` auto-accepts; final text is `/list services --limit=`
623
- * (NOT `/list services --limit==`)
624
- */
625
- export const WithCommitCharacters: Story = {
626
- args: {
627
- initialValue: '/list services ',
628
- },
629
- parameters: {
630
- docs: {
631
- description: {
632
- story:
633
- '`commitCharacters` auto-accept on `=` for flag value tokens. ' +
634
- 'Verifies that no duplicate `=` is inserted when the ' +
635
- 'completion already ends with one.',
636
- },
637
- },
638
- },
639
- async beforeEach() {
640
- const server = setupBasicQonsoleMockServer();
641
- return () => server.close();
642
- },
643
- // CI guard: typing `=` while `--limit` is focused auto-accepts and
644
- // must NOT produce `--limit==` (the inserted text already ends with
645
- // `=`, so the typed `=` is suppressed).
646
- play: async ({ canvasElement }) => {
647
- const canvas = within(canvasElement);
648
- const editable = canvas.getByRole('textbox');
649
- // Let the LSP session connect before typing — the completion only
650
- // fires on the keystroke, so the keystroke must land post-connect (a
651
- // dropped pre-connect trigger never opens, and `waitFor` can't undo
652
- // that). A short fixed settle is the right tool here.
653
- await sleep(500);
654
- await userEvent.click(editable);
655
- // `-` opens the flag list (first item `--desc` is auto-focused).
656
- await userEvent.type(editable, '-');
657
- await waitFor(
658
- () => {
659
- const dropdown = document.querySelector('.reqore-menu');
660
- expect(dropdown).not.toBeNull();
661
- expect(dropdown!.textContent).toContain('--desc');
662
- },
663
- { timeout: 30000 }
664
- );
665
- // `=` is a commit character → auto-accept the focused `--desc`.
666
- // Use `userEvent.keyboard` (not `type`) so the keydown reaches the
667
- // document-capture commit handler cleanly. Its insertText already
668
- // ends with `=`, so the typed `=` is suppressed (no `--desc==`).
669
- await userEvent.keyboard('=');
670
- await waitFor(
671
- () => {
672
- expect(editable.textContent).toBe('/list services --desc=');
673
- expect(editable.textContent).not.toContain('==');
674
- },
675
- { timeout: 30000 }
676
- );
677
- },
678
- };
679
-
680
- /**
681
- * Demonstrates wizard items in the completion dropdown
682
- * (QONSOLE_ASSIST_FEATURES). The mock returns a synthetic "Create
683
- * connection" wizard item (carrying `command: 'qonsole.startWizard'`)
684
- * when no resource is set yet (cursor on `/…`), alongside the verb
685
- * commands.
686
- *
687
- * This story is the **visual** of the feature: it opens the dropdown
688
- * and leaves it open so the wizard item is what you see (in Storybook
689
- * and Chromatic). The behaviour of *selecting* it — firing
690
- * `onWizardStart` instead of inserting text — is covered by
691
- * `SelectingWizardItemFiresCallback` below.
692
- */
693
- export const WithWizardItems: Story = {
694
- args: {
695
- initialValue: '/',
696
- onWizardStart: fn(),
697
- },
698
- parameters: {
699
- docs: {
700
- description: {
701
- story:
702
- 'Wizard item in the dropdown. The `/` verb dropdown includes ' +
703
- 'a "Start Create connection wizard" entry alongside the ' +
704
- 'commands. Left open so the item is visible.',
705
- },
706
- },
707
- },
708
- async beforeEach() {
709
- const server = setupBasicQonsoleMockServer();
710
- return () => server.close();
711
- },
712
- // Open the verb dropdown and STOP with it open, so the snapshot shows
713
- // the wizard item. (The initial `/` doesn't auto-open —
714
- // trigger-on-typing — so clear and re-type `/`.) Selecting it is a
715
- // separate story; clicking here would dismiss the dropdown and leave
716
- // an empty-looking snapshot.
717
- play: async ({ canvasElement }) => {
718
- const canvas = within(canvasElement);
719
- const editable = canvas.getByRole('textbox');
720
- await userEvent.click(editable);
721
- await userEvent.clear(editable);
722
- await userEvent.type(editable, '/');
723
- await waitFor(
724
- () => {
725
- const dropdown = document.querySelector('.reqore-menu');
726
- expect(dropdown).not.toBeNull();
727
- const item = Array.from(document.querySelectorAll('.reqore-menu-item')).find((el) =>
728
- el.textContent?.includes('Create connection')
729
- );
730
- expect(item).toBeDefined();
731
- },
732
- { timeout: 30000 }
733
- );
734
- },
735
- };
736
-
737
- /**
738
- * Behavioural counterpart to `WithWizardItems`: selecting the wizard
739
- * item fires the wrapper's `onWizardStart` callback with the wizard
740
- * descriptor and inserts **no** text (the input stays `/`). Reqraft
741
- * ships no wizard runner UI — that's qorus-ide-side; this verifies the
742
- * hand-off path:
743
- * - the mock attaches `command: 'qonsole.startWizard'` on the item
744
- * - the Qonsole inserter branches on that command
745
- * - `onWizardStart` fires with `command.arguments[0]`
746
- *
747
- * `args.onWizardStart` is a `fn()` spy so the play test (and the
748
- * Actions panel) can confirm the invocation.
749
- */
750
- export const SelectingWizardItemFiresCallback: Story = {
751
- args: {
752
- onWizardStart: fn(),
753
- },
754
- parameters: {
755
- chromatic: { disable: true },
756
- docs: {
757
- description: {
758
- story:
759
- 'Selecting the wizard item fires `onWizardStart` with the ' +
760
- 'descriptor and inserts no text — the input stays `/`. The ' +
761
- 'visual of the item itself is in `WithWizardItems`.',
762
- },
763
- },
764
- },
765
- async beforeEach() {
766
- const server = setupBasicQonsoleMockServer();
767
- return () => server.close();
768
- },
769
- play: async ({ canvasElement, args }) => {
770
- const canvas = within(canvasElement);
771
- const editable = canvas.getByRole('textbox');
772
- await userEvent.click(editable);
773
- await userEvent.clear(editable);
774
- await userEvent.type(editable, '/');
775
- await waitFor(
776
- () => {
777
- const item = Array.from(document.querySelectorAll('.reqore-menu-item')).find((el) =>
778
- el.textContent?.includes('Create connection')
779
- );
780
- expect(item).toBeDefined();
781
- },
782
- { timeout: 30000 }
783
- );
784
- const wizardItem = Array.from(document.querySelectorAll('.reqore-menu-item')).find((el) =>
785
- el.textContent?.includes('Create connection')
786
- );
787
- await userEvent.click(wizardItem as HTMLElement);
788
- // The callback fired with the wizard descriptor...
789
- await waitFor(() => expect(args.onWizardStart).toHaveBeenCalled(), {
790
- timeout: 30000,
791
- });
792
- const callArg = (args.onWizardStart as ReturnType<typeof fn>).mock.calls[0][0];
793
- expect(callArg).toMatchObject({ action: 'start-wizard' });
794
- // ...and NO text was inserted (wizard launch ≠ completion insert).
795
- expect(editable.textContent).toBe('/');
796
- },
797
- };