@qoretechnologies/reqraft 0.10.64 → 0.10.65-pr.137.g62fcecc

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 (774) hide show
  1. package/README.md +53 -1
  2. package/dist/components/Description/describedControl.d.ts +54 -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 +36 -5
  29. package/dist/components/dpqlEditor/dpqlHelpers.d.ts.map +1 -1
  30. package/dist/components/dpqlEditor/dpqlHelpers.js +340 -62
  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 +35 -17
  35. package/dist/components/dpqlEditor/dpqlTags.js.map +1 -1
  36. package/dist/components/dpqlEditor/types.d.ts +54 -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 +207 -97
  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 +58 -10
  49. package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
  50. package/dist/components/form/engine/FormEngine.js +542 -112
  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 +21 -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 +20 -10
  67. package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
  68. package/dist/components/form/engine/compactRowStyles.js +36 -30
  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 +64 -3
  107. package/dist/components/form/expressions/ExpressionField.d.ts.map +1 -1
  108. package/dist/components/form/expressions/ExpressionField.js +459 -100
  109. package/dist/components/form/expressions/ExpressionField.js.map +1 -1
  110. package/dist/components/form/expressions/argumentPresence.d.ts +14 -0
  111. package/dist/components/form/expressions/argumentPresence.d.ts.map +1 -1
  112. package/dist/components/form/expressions/argumentPresence.js +16 -1
  113. package/dist/components/form/expressions/argumentPresence.js.map +1 -1
  114. package/dist/components/form/expressions/builder/argumentDetail.d.ts.map +1 -1
  115. package/dist/components/form/expressions/builder/argumentDetail.js +4 -1
  116. package/dist/components/form/expressions/builder/argumentDetail.js.map +1 -1
  117. package/dist/components/form/expressions/builder/argumentLabel.d.ts.map +1 -1
  118. package/dist/components/form/expressions/builder/argumentLabel.js +27 -9
  119. package/dist/components/form/expressions/builder/argumentLabel.js.map +1 -1
  120. package/dist/components/form/expressions/builder/argumentWrapper.d.ts.map +1 -1
  121. package/dist/components/form/expressions/builder/argumentWrapper.js +3 -1
  122. package/dist/components/form/expressions/builder/argumentWrapper.js.map +1 -1
  123. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.d.ts.map +1 -1
  124. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js +5 -4
  125. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js.map +1 -1
  126. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts +1 -1
  127. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts.map +1 -1
  128. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js +6 -3
  129. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js.map +1 -1
  130. package/dist/components/form/expressions/builder/index.d.ts +24 -2
  131. package/dist/components/form/expressions/builder/index.d.ts.map +1 -1
  132. package/dist/components/form/expressions/builder/index.js +138 -78
  133. package/dist/components/form/expressions/builder/index.js.map +1 -1
  134. package/dist/components/form/expressions/builder/item.d.ts +6 -2
  135. package/dist/components/form/expressions/builder/item.d.ts.map +1 -1
  136. package/dist/components/form/expressions/builder/item.js +19 -5
  137. package/dist/components/form/expressions/builder/item.js.map +1 -1
  138. package/dist/components/form/expressions/builder/renderTemplate.js +1 -1
  139. package/dist/components/form/expressions/builder/renderTemplate.js.map +1 -1
  140. package/dist/components/form/expressions/dpqlMockRecordPath.d.ts +11 -0
  141. package/dist/components/form/expressions/dpqlMockRecordPath.d.ts.map +1 -0
  142. package/dist/components/form/expressions/dpqlMockRecordPath.js +254 -0
  143. package/dist/components/form/expressions/dpqlMockRecordPath.js.map +1 -0
  144. package/dist/components/form/expressions/expressionOperands.d.ts +16 -0
  145. package/dist/components/form/expressions/expressionOperands.d.ts.map +1 -0
  146. package/dist/components/form/expressions/expressionOperands.js +97 -0
  147. package/dist/components/form/expressions/expressionOperands.js.map +1 -0
  148. package/dist/components/form/expressions/fieldPath.d.ts +24 -0
  149. package/dist/components/form/expressions/fieldPath.d.ts.map +1 -0
  150. package/dist/components/form/expressions/fieldPath.js +152 -0
  151. package/dist/components/form/expressions/fieldPath.js.map +1 -0
  152. package/dist/components/form/expressions/mockExpressions.d.ts.map +1 -1
  153. package/dist/components/form/expressions/mockExpressions.js +22 -5
  154. package/dist/components/form/expressions/mockExpressions.js.map +1 -1
  155. package/dist/components/form/expressions/renderExpressionToText.d.ts +2 -0
  156. package/dist/components/form/expressions/renderExpressionToText.d.ts.map +1 -1
  157. package/dist/components/form/expressions/renderExpressionToText.js +40 -9
  158. package/dist/components/form/expressions/renderExpressionToText.js.map +1 -1
  159. package/dist/components/form/expressions/textOfExpression.d.ts +18 -0
  160. package/dist/components/form/expressions/textOfExpression.d.ts.map +1 -0
  161. package/dist/components/form/expressions/textOfExpression.js +49 -0
  162. package/dist/components/form/expressions/textOfExpression.js.map +1 -0
  163. package/dist/components/form/expressions/types.d.ts +7 -0
  164. package/dist/components/form/expressions/types.d.ts.map +1 -1
  165. package/dist/components/form/expressions/types.js +6 -1
  166. package/dist/components/form/expressions/types.js.map +1 -1
  167. package/dist/components/form/expressions/useExpressionType.d.ts +26 -0
  168. package/dist/components/form/expressions/useExpressionType.d.ts.map +1 -0
  169. package/dist/components/form/expressions/useExpressionType.js +181 -0
  170. package/dist/components/form/expressions/useExpressionType.js.map +1 -0
  171. package/dist/components/form/expressions/useRenderExpression.d.ts.map +1 -1
  172. package/dist/components/form/expressions/useRenderExpression.js +13 -9
  173. package/dist/components/form/expressions/useRenderExpression.js.map +1 -1
  174. package/dist/components/form/expressions/wildcardExpressions.d.ts +27 -0
  175. package/dist/components/form/expressions/wildcardExpressions.d.ts.map +1 -0
  176. package/dist/components/form/expressions/wildcardExpressions.js +101 -0
  177. package/dist/components/form/expressions/wildcardExpressions.js.map +1 -0
  178. package/dist/components/form/fields/Field.d.ts.map +1 -1
  179. package/dist/components/form/fields/Field.js +26 -9
  180. package/dist/components/form/fields/Field.js.map +1 -1
  181. package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
  182. package/dist/components/form/fields/allowed-values/AllowedValues.js +17 -4
  183. package/dist/components/form/fields/allowed-values/AllowedValues.js.map +1 -1
  184. package/dist/components/form/fields/array/ArrayAuto.d.ts.map +1 -1
  185. package/dist/components/form/fields/array/ArrayAuto.js +24 -0
  186. package/dist/components/form/fields/array/ArrayAuto.js.map +1 -1
  187. package/dist/components/form/fields/array/ArrayAutoField.d.ts.map +1 -1
  188. package/dist/components/form/fields/array/ArrayAutoField.js +36 -13
  189. package/dist/components/form/fields/array/ArrayAutoField.js.map +1 -1
  190. package/dist/components/form/fields/auto/AutoFormField.d.ts +20 -1
  191. package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
  192. package/dist/components/form/fields/auto/AutoFormField.js +81 -36
  193. package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
  194. package/dist/components/form/fields/auto/hostEditorValue.d.ts +30 -0
  195. package/dist/components/form/fields/auto/hostEditorValue.d.ts.map +1 -0
  196. package/dist/components/form/fields/auto/hostEditorValue.js +53 -0
  197. package/dist/components/form/fields/auto/hostEditorValue.js.map +1 -0
  198. package/dist/components/form/fields/binary/Binary.d.ts.map +1 -1
  199. package/dist/components/form/fields/binary/Binary.js +23 -3
  200. package/dist/components/form/fields/binary/Binary.js.map +1 -1
  201. package/dist/components/form/fields/boolean/Boolean.d.ts +5 -0
  202. package/dist/components/form/fields/boolean/Boolean.d.ts.map +1 -1
  203. package/dist/components/form/fields/boolean/Boolean.js +9 -1
  204. package/dist/components/form/fields/boolean/Boolean.js.map +1 -1
  205. package/dist/components/form/fields/color/Color.d.ts +103 -16
  206. package/dist/components/form/fields/color/Color.d.ts.map +1 -1
  207. package/dist/components/form/fields/color/Color.js +616 -16
  208. package/dist/components/form/fields/color/Color.js.map +1 -1
  209. package/dist/components/form/fields/emittedValues.d.ts +34 -3
  210. package/dist/components/form/fields/emittedValues.d.ts.map +1 -1
  211. package/dist/components/form/fields/emittedValues.js +24 -1
  212. package/dist/components/form/fields/emittedValues.js.map +1 -1
  213. package/dist/components/form/fields/file/File.d.ts +1 -1
  214. package/dist/components/form/fields/file/File.d.ts.map +1 -1
  215. package/dist/components/form/fields/file/File.js +4 -2
  216. package/dist/components/form/fields/file/File.js.map +1 -1
  217. package/dist/components/form/fields/long-string/LongString.d.ts.map +1 -1
  218. package/dist/components/form/fields/long-string/LongString.js +17 -3
  219. package/dist/components/form/fields/long-string/LongString.js.map +1 -1
  220. package/dist/components/form/fields/markdown/MarkdownView.js +1 -1
  221. package/dist/components/form/fields/multi-select/MultiSelectFormField.d.ts.map +1 -1
  222. package/dist/components/form/fields/multi-select/MultiSelectFormField.js +4 -1
  223. package/dist/components/form/fields/multi-select/MultiSelectFormField.js.map +1 -1
  224. package/dist/components/form/fields/number/Number.d.ts +6 -0
  225. package/dist/components/form/fields/number/Number.d.ts.map +1 -1
  226. package/dist/components/form/fields/number/Number.js +41 -6
  227. package/dist/components/form/fields/number/Number.js.map +1 -1
  228. package/dist/components/form/fields/object/Object.d.ts +1 -1
  229. package/dist/components/form/fields/object/Object.d.ts.map +1 -1
  230. package/dist/components/form/fields/object/Object.js +4 -2
  231. package/dist/components/form/fields/object/Object.js.map +1 -1
  232. package/dist/components/form/fields/pendingEdit.d.ts +52 -0
  233. package/dist/components/form/fields/pendingEdit.d.ts.map +1 -0
  234. package/dist/components/form/fields/pendingEdit.js +79 -0
  235. package/dist/components/form/fields/pendingEdit.js.map +1 -0
  236. package/dist/components/form/fields/rich-text/RichText.d.ts +8 -1
  237. package/dist/components/form/fields/rich-text/RichText.d.ts.map +1 -1
  238. package/dist/components/form/fields/rich-text/RichText.js +188 -82
  239. package/dist/components/form/fields/rich-text/RichText.js.map +1 -1
  240. package/dist/components/form/fields/rich-text/useTemplateTags.d.ts +18 -0
  241. package/dist/components/form/fields/rich-text/useTemplateTags.d.ts.map +1 -0
  242. package/dist/components/form/fields/rich-text/useTemplateTags.js +49 -0
  243. package/dist/components/form/fields/rich-text/useTemplateTags.js.map +1 -0
  244. package/dist/components/form/fields/schema-definition/CatalogLeafForm.d.ts.map +1 -1
  245. package/dist/components/form/fields/schema-definition/CatalogLeafForm.js +4 -1
  246. package/dist/components/form/fields/schema-definition/CatalogLeafForm.js.map +1 -1
  247. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.d.ts.map +1 -1
  248. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js +20 -5
  249. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js.map +1 -1
  250. package/dist/components/form/fields/schema-definition/TableEditor.d.ts.map +1 -1
  251. package/dist/components/form/fields/schema-definition/TableEditor.js +10 -2
  252. package/dist/components/form/fields/schema-definition/TableEditor.js.map +1 -1
  253. package/dist/components/form/fields/schema-definition/index.d.ts.map +1 -1
  254. package/dist/components/form/fields/schema-definition/index.js +8 -4
  255. package/dist/components/form/fields/schema-definition/index.js.map +1 -1
  256. package/dist/components/form/fields/select/Select.d.ts +2 -0
  257. package/dist/components/form/fields/select/Select.d.ts.map +1 -1
  258. package/dist/components/form/fields/select/Select.js +19 -10
  259. package/dist/components/form/fields/select/Select.js.map +1 -1
  260. package/dist/components/form/fields/select/SelectCollection.d.ts.map +1 -1
  261. package/dist/components/form/fields/select/SelectCollection.js +8 -2
  262. package/dist/components/form/fields/select/SelectCollection.js.map +1 -1
  263. package/dist/components/form/fields/select/unavailableRow.d.ts +23 -0
  264. package/dist/components/form/fields/select/unavailableRow.d.ts.map +1 -0
  265. package/dist/components/form/fields/select/unavailableRow.js +55 -0
  266. package/dist/components/form/fields/select/unavailableRow.js.map +1 -0
  267. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts +11 -5
  268. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts.map +1 -1
  269. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js +13 -5
  270. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js.map +1 -1
  271. package/dist/components/form/fields/template/TemplateBrowser.d.ts +22 -0
  272. package/dist/components/form/fields/template/TemplateBrowser.d.ts.map +1 -0
  273. package/dist/components/form/fields/template/TemplateBrowser.js +54 -0
  274. package/dist/components/form/fields/template/TemplateBrowser.js.map +1 -0
  275. package/dist/components/form/fields/template/TemplateField.d.ts +102 -1
  276. package/dist/components/form/fields/template/TemplateField.d.ts.map +1 -1
  277. package/dist/components/form/fields/template/TemplateField.js +572 -85
  278. package/dist/components/form/fields/template/TemplateField.js.map +1 -1
  279. package/dist/components/form/fields/template/TemplateText.d.ts +0 -17
  280. package/dist/components/form/fields/template/TemplateText.d.ts.map +1 -1
  281. package/dist/components/form/fields/template/TemplateText.js +9 -11
  282. package/dist/components/form/fields/template/TemplateText.js.map +1 -1
  283. package/dist/components/form/fields/template/writtenAsText.d.ts +61 -0
  284. package/dist/components/form/fields/template/writtenAsText.d.ts.map +1 -0
  285. package/dist/components/form/fields/template/writtenAsText.js +204 -0
  286. package/dist/components/form/fields/template/writtenAsText.js.map +1 -0
  287. package/dist/components/form/index.d.ts +10 -0
  288. package/dist/components/form/index.d.ts.map +1 -1
  289. package/dist/components/form/index.js +23 -1
  290. package/dist/components/form/index.js.map +1 -1
  291. package/dist/components/imageLightbox/ImageLightbox.d.ts.map +1 -1
  292. package/dist/components/imageLightbox/ImageLightbox.js +19 -7
  293. package/dist/components/imageLightbox/ImageLightbox.js.map +1 -1
  294. package/dist/components/log/Log.d.ts.map +1 -1
  295. package/dist/components/log/Log.js +16 -8
  296. package/dist/components/log/Log.js.map +1 -1
  297. package/dist/components/menu/Menu.d.ts.map +1 -1
  298. package/dist/components/menu/Menu.js +19 -10
  299. package/dist/components/menu/Menu.js.map +1 -1
  300. package/dist/components/smartEditor/CompletionMenu.d.ts +43 -0
  301. package/dist/components/smartEditor/CompletionMenu.d.ts.map +1 -0
  302. package/dist/components/smartEditor/CompletionMenu.js +196 -0
  303. package/dist/components/smartEditor/CompletionMenu.js.map +1 -0
  304. package/dist/components/smartEditor/MarkdownDoc.d.ts +1 -1
  305. package/dist/components/smartEditor/MarkdownDoc.js +3 -3
  306. package/dist/components/smartEditor/MarkdownDoc.js.map +1 -1
  307. package/dist/components/smartEditor/SmartEditor.d.ts.map +1 -1
  308. package/dist/components/smartEditor/SmartEditor.js +164 -180
  309. package/dist/components/smartEditor/SmartEditor.js.map +1 -1
  310. package/dist/components/smartEditor/completionStyle.d.ts +27 -0
  311. package/dist/components/smartEditor/completionStyle.d.ts.map +1 -0
  312. package/dist/components/smartEditor/completionStyle.js +68 -0
  313. package/dist/components/smartEditor/completionStyle.js.map +1 -0
  314. package/dist/components/smartEditor/index.d.ts +5 -1
  315. package/dist/components/smartEditor/index.d.ts.map +1 -1
  316. package/dist/components/smartEditor/index.js +19 -1
  317. package/dist/components/smartEditor/index.js.map +1 -1
  318. package/dist/components/smartEditor/templateCompletions.d.ts +18 -0
  319. package/dist/components/smartEditor/templateCompletions.d.ts.map +1 -0
  320. package/dist/components/smartEditor/templateCompletions.js +94 -0
  321. package/dist/components/smartEditor/templateCompletions.js.map +1 -0
  322. package/dist/components/smartEditor/typedReferences.d.ts +21 -0
  323. package/dist/components/smartEditor/typedReferences.d.ts.map +1 -0
  324. package/dist/components/smartEditor/typedReferences.js +82 -0
  325. package/dist/components/smartEditor/typedReferences.js.map +1 -0
  326. package/dist/components/smartEditor/types.d.ts +33 -1
  327. package/dist/components/smartEditor/types.d.ts.map +1 -1
  328. package/dist/components/smartEditor/useLspAutocomplete.d.ts +32 -0
  329. package/dist/components/smartEditor/useLspAutocomplete.d.ts.map +1 -1
  330. package/dist/components/smartEditor/useLspAutocomplete.js +228 -118
  331. package/dist/components/smartEditor/useLspAutocomplete.js.map +1 -1
  332. package/dist/components/smartEditor/useLspHover.d.ts +33 -7
  333. package/dist/components/smartEditor/useLspHover.d.ts.map +1 -1
  334. package/dist/components/smartEditor/useLspHover.js +279 -35
  335. package/dist/components/smartEditor/useLspHover.js.map +1 -1
  336. package/dist/components/smartEditor/useLspSemanticTokens.js +1 -1
  337. package/dist/components/smartEditor/useLspSemanticTokens.js.map +1 -1
  338. package/dist/components/smartEditor/useLspSession.d.ts +6 -0
  339. package/dist/components/smartEditor/useLspSession.d.ts.map +1 -1
  340. package/dist/components/smartEditor/useLspSession.js +7 -6
  341. package/dist/components/smartEditor/useLspSession.js.map +1 -1
  342. package/dist/components/supportTicket/AttachmentChips.d.ts.map +1 -1
  343. package/dist/components/supportTicket/AttachmentChips.js +15 -5
  344. package/dist/components/supportTicket/AttachmentChips.js.map +1 -1
  345. package/dist/components/supportTicket/ReferencePicker.d.ts +9 -2
  346. package/dist/components/supportTicket/ReferencePicker.d.ts.map +1 -1
  347. package/dist/components/supportTicket/ReferencePicker.js +27 -6
  348. package/dist/components/supportTicket/ReferencePicker.js.map +1 -1
  349. package/dist/components/supportTicket/TicketHeader.d.ts +3 -4
  350. package/dist/components/supportTicket/TicketHeader.d.ts.map +1 -1
  351. package/dist/components/supportTicket/TicketHeader.js +20 -2
  352. package/dist/components/supportTicket/TicketHeader.js.map +1 -1
  353. package/dist/components/supportTicket/TicketMetaTags.d.ts +1 -1
  354. package/dist/components/ticketReferences/TicketReferences.d.ts.map +1 -1
  355. package/dist/components/ticketReferences/TicketReferences.js +9 -4
  356. package/dist/components/ticketReferences/TicketReferences.js.map +1 -1
  357. package/dist/components/ticketThread/TicketThread.d.ts.map +1 -1
  358. package/dist/components/ticketThread/TicketThread.js +38 -13
  359. package/dist/components/ticketThread/TicketThread.js.map +1 -1
  360. package/dist/helpers/descriptionTooltip.d.ts +43 -0
  361. package/dist/helpers/descriptionTooltip.d.ts.map +1 -0
  362. package/dist/helpers/descriptionTooltip.js +70 -0
  363. package/dist/helpers/descriptionTooltip.js.map +1 -0
  364. package/dist/helpers/domProps.d.ts +5 -0
  365. package/dist/helpers/domProps.d.ts.map +1 -0
  366. package/dist/helpers/domProps.js +47 -0
  367. package/dist/helpers/domProps.js.map +1 -0
  368. package/dist/helpers/expressions.d.ts +107 -2
  369. package/dist/helpers/expressions.d.ts.map +1 -1
  370. package/dist/helpers/expressions.js +223 -8
  371. package/dist/helpers/expressions.js.map +1 -1
  372. package/dist/helpers/hoveringPointer.d.ts +26 -0
  373. package/dist/helpers/hoveringPointer.d.ts.map +1 -0
  374. package/dist/helpers/hoveringPointer.js +29 -0
  375. package/dist/helpers/hoveringPointer.js.map +1 -0
  376. package/dist/helpers/markdownText.d.ts +14 -0
  377. package/dist/helpers/markdownText.d.ts.map +1 -0
  378. package/dist/helpers/markdownText.js +160 -0
  379. package/dist/helpers/markdownText.js.map +1 -0
  380. package/dist/helpers/qorusTypeCatalogue.d.ts +53 -0
  381. package/dist/helpers/qorusTypeCatalogue.d.ts.map +1 -0
  382. package/dist/helpers/qorusTypeCatalogue.js +262 -0
  383. package/dist/helpers/qorusTypeCatalogue.js.map +1 -0
  384. package/dist/helpers/readableColors.d.ts +36 -0
  385. package/dist/helpers/readableColors.d.ts.map +1 -0
  386. package/dist/helpers/readableColors.js +116 -0
  387. package/dist/helpers/readableColors.js.map +1 -0
  388. package/dist/helpers/recordFieldReference.d.ts +15 -0
  389. package/dist/helpers/recordFieldReference.d.ts.map +1 -0
  390. package/dist/helpers/recordFieldReference.js +89 -0
  391. package/dist/helpers/recordFieldReference.js.map +1 -0
  392. package/dist/helpers/templateItems.d.ts +2 -2
  393. package/dist/helpers/templateItems.d.ts.map +1 -1
  394. package/dist/helpers/templateItems.js +6 -4
  395. package/dist/helpers/templateItems.js.map +1 -1
  396. package/dist/helpers/templateText.js +5 -2
  397. package/dist/helpers/templateText.js.map +1 -1
  398. package/dist/helpers/templates.d.ts +41 -14
  399. package/dist/helpers/templates.d.ts.map +1 -1
  400. package/dist/helpers/templates.js +152 -9
  401. package/dist/helpers/templates.js.map +1 -1
  402. package/dist/helpers/validations.d.ts +9 -0
  403. package/dist/helpers/validations.d.ts.map +1 -1
  404. package/dist/helpers/validations.js +139 -33
  405. package/dist/helpers/validations.js.map +1 -1
  406. package/dist/hooks/useQorusTypes.d.ts +7 -15
  407. package/dist/hooks/useQorusTypes.d.ts.map +1 -1
  408. package/dist/hooks/useQorusTypes.js +25 -166
  409. package/dist/hooks/useQorusTypes.js.map +1 -1
  410. package/dist/hooks/useReadableIntentShade.d.ts +9 -0
  411. package/dist/hooks/useReadableIntentShade.d.ts.map +1 -0
  412. package/dist/hooks/useReadableIntentShade.js +23 -0
  413. package/dist/hooks/useReadableIntentShade.js.map +1 -0
  414. package/dist/hooks/useReadableOpacity.d.ts +6 -0
  415. package/dist/hooks/useReadableOpacity.d.ts.map +1 -0
  416. package/dist/hooks/useReadableOpacity.js +17 -0
  417. package/dist/hooks/useReadableOpacity.js.map +1 -0
  418. package/dist/index.d.ts +1 -0
  419. package/dist/index.d.ts.map +1 -1
  420. package/dist/index.js +1 -0
  421. package/dist/index.js.map +1 -1
  422. package/dist/tracking/ui/ExperimentCard.d.ts +1 -1
  423. package/dist/tracking/ui/ExperimentCard.d.ts.map +1 -1
  424. package/dist/tracking/ui/ExperimentCard.js +26 -10
  425. package/dist/tracking/ui/ExperimentCard.js.map +1 -1
  426. package/dist/tracking/ui/card.d.ts +2 -2
  427. package/dist/tracking/ui/card.d.ts.map +1 -1
  428. package/dist/tracking/ui/card.js +2 -2
  429. package/dist/tracking/ui/card.js.map +1 -1
  430. package/dist/tracking/ui/readable.d.ts +14 -0
  431. package/dist/tracking/ui/readable.d.ts.map +1 -0
  432. package/dist/tracking/ui/readable.js +60 -0
  433. package/dist/tracking/ui/readable.js.map +1 -0
  434. package/dist/utils/fetch.d.ts +9 -2
  435. package/dist/utils/fetch.d.ts.map +1 -1
  436. package/dist/utils/fetch.js +6 -5
  437. package/dist/utils/fetch.js.map +1 -1
  438. package/dist/utils/websocket.d.ts +65 -2
  439. package/dist/utils/websocket.d.ts.map +1 -1
  440. package/dist/utils/websocket.js +276 -44
  441. package/dist/utils/websocket.js.map +1 -1
  442. package/package.json +14 -5
  443. package/.claude/CLAUDE.md +0 -317
  444. package/.tasks/EXPORT_EXPRESSION_BUILDER.md +0 -38
  445. package/.tasks/EXPRESSION_BUILDER_REPORT.md +0 -149
  446. package/.tasks/EXPRESSION_FIELD_SEAMS.md +0 -66
  447. package/.tasks/FIELD_STACK_REPORT.md +0 -234
  448. package/.tasks/FORM_ENGINE_COMPACT_READ_FIRST.md +0 -558
  449. package/.tasks/FORM_ENGINE_EXPRESSIONS.md +0 -197
  450. package/.tasks/FORM_ENGINE_OPTIONS_SYNC.md +0 -95
  451. package/.tasks/FORM_FIELD_EXTRAS.md +0 -72
  452. package/.tasks/INDEX.md +0 -111
  453. package/.tasks/LSP_SHARED_CONNECTION.md +0 -75
  454. package/.tasks/QONSOLE_ASSIST_FEATURES.md +0 -306
  455. package/.tasks/RENDER_EXPRESSION_LSP.md +0 -159
  456. package/.tasks/REQRAFT_AUTO_FIELD.md +0 -176
  457. package/.tasks/SCHEMA_DEFINITION_FIELD.md +0 -250
  458. package/.tasks/SMART_EDITOR_CONTEXT_AND_POLISH.md +0 -340
  459. package/.tasks/SMART_EDITOR_LSP_FEATURES.md +0 -299
  460. package/.tasks/SMART_EDITOR_REVIEW_FOLLOWUPS.md +0 -280
  461. package/.tasks/SMART_EDITOR_UX_POLISH.md +0 -383
  462. package/.tasks/SMART_EDITOR_VISUAL_POLISH.md +0 -246
  463. package/.tasks/STORY_NETWORK_ISOLATION.md +0 -98
  464. package/.tasks/TEMPLATE_TOKEN_GRAMMAR.md +0 -72
  465. package/CODE_OF_CONDUCT.md +0 -105
  466. package/CONTRIBUTING.MD +0 -78
  467. package/SECURITY.md +0 -3
  468. package/chromatic.config.json +0 -5
  469. package/design/COMPACT_ENGINE_REDESIGN.md +0 -156
  470. package/design/COMPACT_INFO_DISPLAY.md +0 -87
  471. package/design/COMPACT_PARITY.md +0 -85
  472. package/design/EXPRESSION_BUILDER_REPORT_STRATEGY.md +0 -92
  473. package/design/FORM_ENGINE_COMPACT.md +0 -300
  474. package/design/FORM_ENGINE_COMPACT_UX_PLAN.md +0 -353
  475. package/design/FORM_ENGINE_EXPRESSIONS.md +0 -257
  476. package/design/FORM_ENGINE_FIELD_MIGRATION.md +0 -419
  477. package/design/IDE_INTEGRATION.md +0 -64
  478. package/design/RENDER_EXPRESSION_TRANSPORT.md +0 -156
  479. package/design/SELECT_DIALOG_FLOOR.md +0 -86
  480. package/design/SMART_EDITOR_UX.md +0 -438
  481. package/design/TRACKING.md +0 -290
  482. package/design/UNAVAILABLE_ALLOWED_VALUES.md +0 -226
  483. package/src/components/Description/index.tsx +0 -254
  484. package/src/components/Description/markdownRendererContext.tsx +0 -29
  485. package/src/components/FocusedEditing/index.tsx +0 -50
  486. package/src/components/codeSize/index.tsx +0 -79
  487. package/src/components/composer/Composer.stories.tsx +0 -238
  488. package/src/components/composer/Composer.tsx +0 -554
  489. package/src/components/composer/helpers.ts +0 -74
  490. package/src/components/composer/index.ts +0 -2
  491. package/src/components/dpqlEditor/DpqlEditor.stories.tsx +0 -1183
  492. package/src/components/dpqlEditor/DpqlEditor.tsx +0 -219
  493. package/src/components/dpqlEditor/dpqlHelpers.ts +0 -287
  494. package/src/components/dpqlEditor/dpqlInserter.ts +0 -121
  495. package/src/components/dpqlEditor/dpqlProbe.ts +0 -165
  496. package/src/components/dpqlEditor/dpqlTags.ts +0 -114
  497. package/src/components/dpqlEditor/index.ts +0 -41
  498. package/src/components/dpqlEditor/types.ts +0 -203
  499. package/src/components/dpqlEditor/useDpqlProbe.ts +0 -33
  500. package/src/components/dpqlEditor/useDpqlSession.ts +0 -411
  501. package/src/components/form/engine/CompactRow.tsx +0 -2620
  502. package/src/components/form/engine/CompactToolbar.tsx +0 -330
  503. package/src/components/form/engine/FormEngine.stories.tsx +0 -9920
  504. package/src/components/form/engine/FormEngine.tsx +0 -4569
  505. package/src/components/form/engine/FormEngineRemote.stories.tsx +0 -679
  506. package/src/components/form/engine/FormEngineStickyHeaders.stories.tsx +0 -331
  507. package/src/components/form/engine/FormFieldsSkeleton.tsx +0 -82
  508. package/src/components/form/engine/OptionFieldMessages.tsx +0 -477
  509. package/src/components/form/engine/OptionsHelpDialog.tsx +0 -29
  510. package/src/components/form/engine/__fixtures__/basicFormOptions.ts +0 -309
  511. package/src/components/form/engine/__fixtures__/fieldChromeOptions.ts +0 -45
  512. package/src/components/form/engine/_structuredData/SchemaDataView.stories.tsx +0 -233
  513. package/src/components/form/engine/_structuredData/SchemaDataView.tsx +0 -742
  514. package/src/components/form/engine/_structuredData/StructuredDataView.stories.tsx +0 -85
  515. package/src/components/form/engine/_structuredData/StructuredDataView.tsx +0 -75
  516. package/src/components/form/engine/_structuredData/structuredData.ts +0 -145
  517. package/src/components/form/engine/compactRowContext.ts +0 -148
  518. package/src/components/form/engine/compactRowStyles.ts +0 -898
  519. package/src/components/form/engine/compactToolbarContext.ts +0 -69
  520. package/src/components/form/engine/optionActions.ts +0 -128
  521. package/src/components/form/engine/optionsContext.ts +0 -24
  522. package/src/components/form/engine/readFirst.ts +0 -1077
  523. package/src/components/form/engine/rendererTypes.ts +0 -107
  524. package/src/components/form/engine/revealRow.ts +0 -123
  525. package/src/components/form/engine/rowFocus.ts +0 -101
  526. package/src/components/form/engine/rowMenuContext.ts +0 -159
  527. package/src/components/form/engine/rowOpenPicker.ts +0 -27
  528. package/src/components/form/engine/typeChoices.ts +0 -63
  529. package/src/components/form/engine/variants/FormEngineVariants.stories.tsx +0 -159
  530. package/src/components/form/engine/variants/VariantCalmTable.tsx +0 -244
  531. package/src/components/form/engine/variants/VariantCards.tsx +0 -212
  532. package/src/components/form/engine/variants/VariantFocus.tsx +0 -382
  533. package/src/components/form/engine/variants/VariantMinimal.tsx +0 -170
  534. package/src/components/form/engine/variants/focusDemo.ts +0 -145
  535. package/src/components/form/engine/variants/variantModel.ts +0 -223
  536. package/src/components/form/engine/variants/variantParts.tsx +0 -313
  537. package/src/components/form/expressions/DpqlRendering.tsx +0 -85
  538. package/src/components/form/expressions/ExpressionField.stories.tsx +0 -1395
  539. package/src/components/form/expressions/ExpressionField.tsx +0 -503
  540. package/src/components/form/expressions/argumentPresence.ts +0 -213
  541. package/src/components/form/expressions/builder/ExpressionBuilder.stories.tsx +0 -1683
  542. package/src/components/form/expressions/builder/argumentDetail.tsx +0 -17
  543. package/src/components/form/expressions/builder/argumentLabel.tsx +0 -146
  544. package/src/components/form/expressions/builder/argumentSlot.tsx +0 -101
  545. package/src/components/form/expressions/builder/argumentWrapper.tsx +0 -243
  546. package/src/components/form/expressions/builder/confirmMismatchedTypesModal.tsx +0 -120
  547. package/src/components/form/expressions/builder/confirmUnsupportedTypeModal.tsx +0 -69
  548. package/src/components/form/expressions/builder/index.tsx +0 -1545
  549. package/src/components/form/expressions/builder/item.tsx +0 -89
  550. package/src/components/form/expressions/builder/moveToPositionStrip.tsx +0 -156
  551. package/src/components/form/expressions/builder/renderTemplate.tsx +0 -42
  552. package/src/components/form/expressions/dpqlMockLanguage.ts +0 -566
  553. package/src/components/form/expressions/dpqlMockLsp.ts +0 -126
  554. package/src/components/form/expressions/mockExpressions.ts +0 -317
  555. package/src/components/form/expressions/renderExpressionToText.ts +0 -137
  556. package/src/components/form/expressions/types.ts +0 -110
  557. package/src/components/form/expressions/useExpressions.ts +0 -101
  558. package/src/components/form/expressions/useRenderExpression.ts +0 -165
  559. package/src/components/form/fields/Field.stories.tsx +0 -143
  560. package/src/components/form/fields/Field.tsx +0 -732
  561. package/src/components/form/fields/allowed-values/AllowedValues.tsx +0 -297
  562. package/src/components/form/fields/array/ArrayAuto.tsx +0 -237
  563. package/src/components/form/fields/array/ArrayAutoField.stories.tsx +0 -475
  564. package/src/components/form/fields/array/ArrayAutoField.tsx +0 -367
  565. package/src/components/form/fields/auto/AutoFormField.stories.tsx +0 -825
  566. package/src/components/form/fields/auto/AutoFormField.tsx +0 -1164
  567. package/src/components/form/fields/binary/Binary.stories.tsx +0 -122
  568. package/src/components/form/fields/binary/Binary.tsx +0 -91
  569. package/src/components/form/fields/boolean/Boolean.stories.tsx +0 -125
  570. package/src/components/form/fields/boolean/Boolean.tsx +0 -34
  571. package/src/components/form/fields/byte-size/ByteSize.stories.tsx +0 -87
  572. package/src/components/form/fields/byte-size/ByteSize.tsx +0 -58
  573. package/src/components/form/fields/color/Color.stories.tsx +0 -99
  574. package/src/components/form/fields/color/Color.tsx +0 -46
  575. package/src/components/form/fields/cron/Cron.stories.tsx +0 -68
  576. package/src/components/form/fields/cron/Cron.tsx +0 -80
  577. package/src/components/form/fields/date/Date.stories.tsx +0 -77
  578. package/src/components/form/fields/date/Date.tsx +0 -55
  579. package/src/components/form/fields/emittedValues.ts +0 -70
  580. package/src/components/form/fields/file/File.stories.tsx +0 -161
  581. package/src/components/form/fields/file/File.tsx +0 -227
  582. package/src/components/form/fields/long-string/LongString.stories.tsx +0 -120
  583. package/src/components/form/fields/long-string/LongString.tsx +0 -130
  584. package/src/components/form/fields/markdown/Markdown.stories.tsx +0 -76
  585. package/src/components/form/fields/markdown/Markdown.tsx +0 -81
  586. package/src/components/form/fields/markdown/MarkdownView.tsx +0 -222
  587. package/src/components/form/fields/multi-select/MultiSelectFormField.tsx +0 -139
  588. package/src/components/form/fields/number/Number.stories.tsx +0 -159
  589. package/src/components/form/fields/number/Number.tsx +0 -160
  590. package/src/components/form/fields/object/Object.stories.tsx +0 -398
  591. package/src/components/form/fields/object/Object.tsx +0 -255
  592. package/src/components/form/fields/radio-group/RadioGroup.stories.tsx +0 -95
  593. package/src/components/form/fields/radio-group/RadioGroup.tsx +0 -46
  594. package/src/components/form/fields/radio-group/images/java-96x128.png +0 -0
  595. package/src/components/form/fields/radio-group/images/python-129x128.png +0 -0
  596. package/src/components/form/fields/radio-group/images/qore-106x128.png +0 -0
  597. package/src/components/form/fields/rich-text/RichText.stories.tsx +0 -260
  598. package/src/components/form/fields/rich-text/RichText.tsx +0 -537
  599. package/src/components/form/fields/schema-definition/CatalogLeafForm.tsx +0 -242
  600. package/src/components/form/fields/schema-definition/CatalogNodeEditor.tsx +0 -758
  601. package/src/components/form/fields/schema-definition/Hint.tsx +0 -22
  602. package/src/components/form/fields/schema-definition/InlineValidationBanner.tsx +0 -138
  603. package/src/components/form/fields/schema-definition/Loader.tsx +0 -20
  604. package/src/components/form/fields/schema-definition/MigrationsTab.tsx +0 -187
  605. package/src/components/form/fields/schema-definition/SchemaDefinitionField.stories.tsx +0 -286
  606. package/src/components/form/fields/schema-definition/TableEditor.tsx +0 -155
  607. package/src/components/form/fields/schema-definition/TablesTab.tsx +0 -138
  608. package/src/components/form/fields/schema-definition/catalog.ts +0 -237
  609. package/src/components/form/fields/schema-definition/helpers.ts +0 -90
  610. package/src/components/form/fields/schema-definition/index.tsx +0 -418
  611. package/src/components/form/fields/schema-definition/mockCatalog.ts +0 -325
  612. package/src/components/form/fields/schema-definition/mockDefinition.ts +0 -111
  613. package/src/components/form/fields/schema-definition/referenceSuggestions.tsx +0 -152
  614. package/src/components/form/fields/schema-definition/starterTemplate.ts +0 -68
  615. package/src/components/form/fields/schema-definition/types.ts +0 -185
  616. package/src/components/form/fields/schema-definition/useSchemaOptionCatalog.ts +0 -49
  617. package/src/components/form/fields/select/Select.stories.tsx +0 -872
  618. package/src/components/form/fields/select/Select.tsx +0 -624
  619. package/src/components/form/fields/select/SelectCollection.tsx +0 -594
  620. package/src/components/form/fields/string/String.stories.tsx +0 -86
  621. package/src/components/form/fields/string/String.tsx +0 -43
  622. package/src/components/form/fields/template/ExampleValueModal.stories.tsx +0 -114
  623. package/src/components/form/fields/template/ExampleValueModal.tsx +0 -99
  624. package/src/components/form/fields/template/ReadOnlyTemplateTag.tsx +0 -47
  625. package/src/components/form/fields/template/TemplateField.stories.tsx +0 -1121
  626. package/src/components/form/fields/template/TemplateField.tsx +0 -1717
  627. package/src/components/form/fields/template/TemplateText.tsx +0 -115
  628. package/src/components/form/fields/template/__fixtures__/longExampleValue.ts +0 -7
  629. package/src/components/form/fields/template/__fixtures__/multiLevelTemplates.json +0 -147
  630. package/src/components/form/fields/template/__fixtures__/templates.json +0 -83
  631. package/src/components/form/fields/timeout/Timeout.stories.tsx +0 -228
  632. package/src/components/form/fields/timeout/Timeout.tsx +0 -87
  633. package/src/components/form/fields/url/Url.stories.tsx +0 -94
  634. package/src/components/form/fields/url/Url.tsx +0 -85
  635. package/src/components/form/index.tsx +0 -47
  636. package/src/components/imageLightbox/ImageLightbox.stories.tsx +0 -238
  637. package/src/components/imageLightbox/ImageLightbox.tsx +0 -236
  638. package/src/components/imageLightbox/index.ts +0 -1
  639. package/src/components/log/Log.stories.tsx +0 -333
  640. package/src/components/log/Log.tsx +0 -285
  641. package/src/components/menu/Menu.stories.tsx +0 -155
  642. package/src/components/menu/Menu.tsx +0 -312
  643. package/src/components/qonsoleSmartInput/QonsoleSmartInput.stories.tsx +0 -797
  644. package/src/components/qonsoleSmartInput/QonsoleSmartInput.tsx +0 -105
  645. package/src/components/qonsoleSmartInput/index.ts +0 -16
  646. package/src/components/qonsoleSmartInput/qonsoleInserter.ts +0 -77
  647. package/src/components/qonsoleSmartInput/types.ts +0 -133
  648. package/src/components/qonsoleSmartInput/useQonsoleSession.ts +0 -124
  649. package/src/components/searchFilterBar/SearchFilterBar.stories.tsx +0 -62
  650. package/src/components/searchFilterBar/SearchFilterBar.tsx +0 -144
  651. package/src/components/searchFilterBar/index.ts +0 -1
  652. package/src/components/smartEditor/MarkdownDoc.tsx +0 -190
  653. package/src/components/smartEditor/SmartEditor.stories.tsx +0 -475
  654. package/src/components/smartEditor/SmartEditor.tsx +0 -808
  655. package/src/components/smartEditor/__fixtures__/mockLspServer.ts +0 -205
  656. package/src/components/smartEditor/helpers.ts +0 -217
  657. package/src/components/smartEditor/index.ts +0 -35
  658. package/src/components/smartEditor/styling.ts +0 -45
  659. package/src/components/smartEditor/types.ts +0 -211
  660. package/src/components/smartEditor/useLspAutocomplete.ts +0 -758
  661. package/src/components/smartEditor/useLspDiagnosticDecorations.ts +0 -125
  662. package/src/components/smartEditor/useLspHover.ts +0 -230
  663. package/src/components/smartEditor/useLspSemanticTokens.ts +0 -298
  664. package/src/components/smartEditor/useLspSession.ts +0 -231
  665. package/src/components/smartEditor/useLspSignatureHelp.ts +0 -198
  666. package/src/components/supportTicket/AttachmentChips.stories.tsx +0 -171
  667. package/src/components/supportTicket/AttachmentChips.tsx +0 -147
  668. package/src/components/supportTicket/InterfaceReferenceTags.stories.tsx +0 -257
  669. package/src/components/supportTicket/InterfaceReferenceTags.tsx +0 -129
  670. package/src/components/supportTicket/ReferencePicker.stories.tsx +0 -584
  671. package/src/components/supportTicket/ReferencePicker.tsx +0 -563
  672. package/src/components/supportTicket/TicketConversation.stories.tsx +0 -121
  673. package/src/components/supportTicket/TicketHeader.stories.tsx +0 -183
  674. package/src/components/supportTicket/TicketHeader.tsx +0 -247
  675. package/src/components/supportTicket/TicketMetaTags.stories.tsx +0 -103
  676. package/src/components/supportTicket/TicketMetaTags.tsx +0 -85
  677. package/src/components/supportTicket/TicketReplyBox.stories.tsx +0 -354
  678. package/src/components/supportTicket/TicketReplyBox.tsx +0 -150
  679. package/src/components/supportTicket/__fixtures__/kindMarks.ts +0 -28
  680. package/src/components/supportTicket/attachmentAccess.ts +0 -97
  681. package/src/components/supportTicket/fileToAttachment.ts +0 -24
  682. package/src/components/supportTicket/index.ts +0 -10
  683. package/src/components/supportTicket/meta.ts +0 -206
  684. package/src/components/supportTicket/ticketModel.ts +0 -131
  685. package/src/components/supportTicket/useLoadedImages.ts +0 -73
  686. package/src/components/ticketReferences/TicketReferences.stories.tsx +0 -315
  687. package/src/components/ticketReferences/TicketReferences.tsx +0 -906
  688. package/src/components/ticketReferences/index.ts +0 -2
  689. package/src/components/ticketThread/TicketThread.stories.tsx +0 -829
  690. package/src/components/ticketThread/TicketThread.tsx +0 -719
  691. package/src/components/ticketThread/index.ts +0 -6
  692. package/src/contexts/FetchContext.tsx +0 -25
  693. package/src/contexts/ReqraftContext.tsx +0 -9
  694. package/src/contexts/StorageContext.tsx +0 -33
  695. package/src/global.d.ts +0 -4
  696. package/src/helpers/allowedValues.ts +0 -249
  697. package/src/helpers/choiceChip.ts +0 -227
  698. package/src/helpers/common.ts +0 -326
  699. package/src/helpers/dpqlDetection.ts +0 -209
  700. package/src/helpers/expressions.ts +0 -140
  701. package/src/helpers/optionUiTypes.ts +0 -199
  702. package/src/helpers/options.ts +0 -150
  703. package/src/helpers/providerValue.ts +0 -125
  704. package/src/helpers/scrollbar.ts +0 -32
  705. package/src/helpers/singleLineString.ts +0 -61
  706. package/src/helpers/templateItems.ts +0 -81
  707. package/src/helpers/templateText.ts +0 -350
  708. package/src/helpers/templates.ts +0 -602
  709. package/src/helpers/validations.ts +0 -2085
  710. package/src/hooks/useArgSchema.ts +0 -37
  711. package/src/hooks/useCoarsePointer.ts +0 -30
  712. package/src/hooks/useFetch/useFetch.stories.tsx +0 -379
  713. package/src/hooks/useFetch/useFetch.tsx +0 -154
  714. package/src/hooks/usePhoneViewport.ts +0 -34
  715. package/src/hooks/useQorusTypes.ts +0 -233
  716. package/src/hooks/useReqraftProperty.ts +0 -16
  717. package/src/hooks/useStorage/useStorage.stories.tsx +0 -168
  718. package/src/hooks/useStorage/useStorage.ts +0 -35
  719. package/src/hooks/useTemplates.ts +0 -123
  720. package/src/hooks/useValidation.ts +0 -9
  721. package/src/hooks/useWebSocket/useWebSocket.ts +0 -224
  722. package/src/hooks/useWebSocket/useWebsocket.stories.tsx +0 -640
  723. package/src/hooks/useWhyDidYouUpdate.ts +0 -38
  724. package/src/index.tsx +0 -86
  725. package/src/providers/FetchProvider.tsx +0 -40
  726. package/src/providers/ReqraftProvider.tsx +0 -52
  727. package/src/providers/StorageProvider.tsx +0 -131
  728. package/src/stores/currentUser/currentUser.stories.tsx +0 -100
  729. package/src/stores/currentUser/currentUser.tsx +0 -94
  730. package/src/stories/Data/fileFieldArgSchema.json +0 -86
  731. package/src/stories/Tests/utils.ts +0 -320
  732. package/src/stories/storyNetwork.ts +0 -92
  733. package/src/stories/tracking.tsx +0 -206
  734. package/src/tracking/browser/attach.ts +0 -186
  735. package/src/tracking/browser/env.ts +0 -78
  736. package/src/tracking/core/consent.ts +0 -37
  737. package/src/tracking/core/engagement.ts +0 -47
  738. package/src/tracking/core/experiments.ts +0 -258
  739. package/src/tracking/core/hash.ts +0 -26
  740. package/src/tracking/core/ids.ts +0 -25
  741. package/src/tracking/core/observable.ts +0 -23
  742. package/src/tracking/core/queue.ts +0 -131
  743. package/src/tracking/core/sections.ts +0 -166
  744. package/src/tracking/core/storage.ts +0 -69
  745. package/src/tracking/core/tracker.ts +0 -417
  746. package/src/tracking/core/types.ts +0 -162
  747. package/src/tracking/core/utm.ts +0 -23
  748. package/src/tracking/index.ts +0 -72
  749. package/src/tracking/markup.ts +0 -17
  750. package/src/tracking/react/Experiment.tsx +0 -44
  751. package/src/tracking/react/TrackingProvider.tsx +0 -56
  752. package/src/tracking/react/hooks.ts +0 -106
  753. package/src/tracking/react/index.ts +0 -13
  754. package/src/tracking/testing.ts +0 -108
  755. package/src/tracking/ui/ExperimentCard.stories.tsx +0 -296
  756. package/src/tracking/ui/ExperimentCard.tsx +0 -667
  757. package/src/tracking/ui/ExperimentsOverlay.stories.tsx +0 -155
  758. package/src/tracking/ui/ExperimentsOverlay.tsx +0 -437
  759. package/src/tracking/ui/anchor.ts +0 -180
  760. package/src/tracking/ui/card.ts +0 -464
  761. package/src/tracking/ui/client.ts +0 -117
  762. package/src/tracking/ui/index.ts +0 -77
  763. package/src/tracking/ui/types.ts +0 -110
  764. package/src/tracking/ui/useExperimentsAdmin.ts +0 -103
  765. package/src/types/Form.ts +0 -29
  766. package/src/types.ts +0 -14
  767. package/src/utils/datetime.ts +0 -10
  768. package/src/utils/fetch.ts +0 -457
  769. package/src/utils/lspClient.ts +0 -711
  770. package/src/utils/lspClient.types.ts +0 -211
  771. package/src/utils/queryUnlessCancelled.ts +0 -28
  772. package/src/utils/websocket.ts +0 -293
  773. package/vite.config.ts +0 -58
  774. package/vitest.config.ts +0 -69
@@ -1,86 +0,0 @@
1
- # The select picker's dialog floor
2
-
3
- **As-built.** `src/components/form/fields/select/SelectCollection.tsx` —
4
- `SELECT_DIALOG_MIN_WIDTH`, `SELECT_DIALOG_MIN_HEIGHT`, `StyledSelectDialog`.
5
-
6
- ## What it is
7
-
8
- The picker dialog (`ReqoreModal`) is resizable, and it cannot be dragged below
9
- **320px wide x 180px tall**. The floor is expressed as CSS on the element
10
- `re-resizable` sizes, not as a prop on the modal:
11
-
12
- ```
13
- min-width: min(320px, 90vw) !important;
14
- min-height: min(180px, 90vh) !important;
15
- ```
16
-
17
- ## Why those two numbers
18
-
19
- Measured on `components-form-select--item-actions-in-the-title-bar` at
20
- 1400x1000, sweeping the dialog's width and height:
21
-
22
- - **320px wide.** The collection lays its rows out in 300px columns
23
- (`minColumnWidth`), so a row is 300px wide whatever the dialog does. At 300px
24
- the row overhangs the dialog by 13px and at 310px by 3px; 320px is the first
25
- round width that contains it (-7px). From 340px the row grows with the box.
26
- - **180px tall.** The panel header is 55px and the search field 26px, and both
27
- are whole from 100px — but the list below them has to show one entry in full
28
- or there is nothing choosable in the dialog. A plain row is 56px and is whole
29
- from 160px; a row carrying a description is 70px and needs 174px. The floor
30
- takes the taller of the two, because the same dialog serves both (qorus-ide's
31
- assertion-kind picker is the described-row case). 180px is the first round
32
- height that contains it.
33
-
34
- Both are capped at the viewport — `min(320px, 90vw)` / `min(180px, 90vh)` — so
35
- a phone gets a dialog it can see all of rather than a floor wider than its
36
- screen. reqore's own maximum for a centred modal is `90vw` / `90vh`, so the cap
37
- matches the ceiling it is measured against. The cap only engages below roughly
38
- a 356px viewport (320 / 0.9).
39
-
40
- ## Why CSS and not `minSize` / `minWidth`
41
-
42
- **reqore 0.74.1 has no working per-modal minimum.** A modal is a `ReqoreDrawer`
43
- with `layout === 'center'`, and in that branch the floor is a literal:
44
-
45
- ```js
46
- minHeight: layout === 'center' ? '40px' : layout === 'horizontal' ? … minSize || '40px' …
47
- minWidth: layout === 'center' ? '40px' : layout === 'vertical' ? … minSize || '40px' …
48
- ```
49
-
50
- (`node_modules/@qoretechnologies/reqore/dist/components/Drawer/index.js`,
51
- ≈L284-295.) `minSize` is read only on the edge layouts, so a centred modal
52
- ignores it entirely and floors at 40px.
53
-
54
- `className` does reach the element `re-resizable` sizes and drags, and a CSS
55
- `min-width` clamps that element's **rendered** box however far the drag goes.
56
- So the floor holds against the reqore we pin *and* against the `minWidth` /
57
- `minHeight` props reqore grew later.
58
-
59
- `!important` is load-bearing, not decoration: `re-resizable` writes its own
60
- `min-width` / `min-height` **inline** on this same element, and an inline
61
- declaration beats a normal one from a stylesheet.
62
-
63
- ## The cost: the inline width and the rendered box diverge
64
-
65
- Clamping the box from outside `re-resizable` rather than through it costs one
66
- thing, and it is not the thing it looks like. The drag stays exact: each move
67
- sizes the box from where the drag *started* plus the pointer's delta, not from
68
- the last size, so coming back out tracks the pointer with no dead zone.
69
- Measured: past the floor the rendered box holds **320x180** while the inline
70
- `style.width` reads **40px**, and 300px back out the box is 400px again.
71
-
72
- What is left behind is that divergence — an inline width smaller than the box
73
- anyone can see.
74
-
75
- > **Read this dialog's size from its rect (`getBoundingClientRect()`), never
76
- > from `style.width` / `style.height`.** A test or a consumer that reads the
77
- > inline value gets 40px for a dialog that is plainly 320px wide.
78
-
79
- ## Exit condition
80
-
81
- Drop the whole mechanism — the styled wrapper, the `!important`, and this
82
- document — once reqraft can pin a reqore whose centred modals honour a
83
- per-modal minimum. At that point `SELECT_DIALOG_MIN_WIDTH` /
84
- `SELECT_DIALOG_MIN_HEIGHT` become `minWidth` / `minHeight` props on the modal,
85
- `re-resizable` is told the floor instead of being overruled after the fact, and
86
- the inline size and the rendered box agree again.
@@ -1,438 +0,0 @@
1
- # SmartEditor + DpqlEditor + QonsoleSmartInput — UX polish
2
-
3
- Locked design for the user-facing polish work on top of the `0.9.0`
4
- foundation. Mirrors the Phase 5 / Phase 6 sections of the original
5
- `qorus-ide/.design/DPQL_RICHTEXT.md` (carried forward here as the
6
- component now lives in Reqraft) and absorbs the issues found while
7
- testing against the live `wss://hq.qoretechnologies.com:8092/lsp`
8
- endpoint.
9
-
10
- The execution checklist lives at
11
- [`.tasks/SMART_EDITOR_UX_POLISH.md`](../.tasks/SMART_EDITOR_UX_POLISH.md).
12
-
13
- ## Goal
14
-
15
- Turn the working-but-rough editor from `0.9.0` into a component that
16
- **feels finished** when dropped into a real form: predictable
17
- completion triggering, polished dropdown, visible error feedback, and
18
- graceful loading state. Same scope as the original design, just
19
- deferred until after the extraction was proven.
20
-
21
- ## Out of scope (separately tracked)
22
-
23
- - ExpressionBuilder rewiring (qorus-ide side, separate consumer task)
24
- - Alert Rule editor integration (`dpql-expression` field type — needs a
25
- Qorus server change; tracked in `qorus-ide/.tasks/ALERT_RULES_AND_SILENCES.md`)
26
- - The Reqore-side `Function components cannot be given refs` warning
27
- in `ReqoreTooltipComponent` (pre-existing, file as a Reqore follow-up)
28
- - `QonsoleSmartInput` integration into qorus-ide's `QonsoleInput.tsx`
29
- (separate qorus-ide branch — issue [toolkit-react#61](https://github.com/qoretechnologies/toolkit-react/issues/61))
30
-
31
- ## Items locked in this batch
32
-
33
- ### 1. Dropdown opens only on user-initiated typing
34
-
35
- **Problem.** Currently the autocomplete trigger fires on every Slate
36
- `onChange`, including selection-only changes. Clicking into
37
- `/list services ` lands the cursor after a space (a trigger
38
- character) and immediately opens the dropdown with no user action.
39
-
40
- **Fix.** Track the previous plain-text in `useLspAutocomplete`. In
41
- `onSlateChange`, bail early when the text didn't change vs the
42
- previous tick (selection-only change). Trigger detection only runs on
43
- actual content mutations.
44
-
45
- **Surface area.** `src/components/smartEditor/useLspAutocomplete.ts`
46
- only. No prop changes. ~10 lines.
47
-
48
- **Tests.** Extend the `BasicMock` play test for QonsoleSmartInput:
49
- load with `/list services ` initial value, click into the editor,
50
- sleep 500ms, assert the dropdown is **not** present. Then type `-`,
51
- assert the dropdown **is** present.
52
-
53
- ### 2. Dropdown visual polish
54
-
55
- **Problem.** Current dropdown is bare `ReqoreMenu` rendered in a
56
- `ReqorePopover` positioned relative to the editor container. Looks
57
- sparse, ignores LSP metadata (markdown documentation, sortText,
58
- filterText, kind grouping), and floats far from the caret.
59
-
60
- **Fix.**
61
- - **Position under the caret.** Use the Slate selection's DOM rect
62
- (`ReactEditor.toDOMRange(editor, selection).getBoundingClientRect()`)
63
- to position the popover with pixel-accurate `top`/`left`. The trigger
64
- span pattern from the original `.design/DPQL_RICHTEXT.md` §4 is the
65
- reference.
66
- - **Render `documentation` as markdown.** LSP returns
67
- `{kind: 'markdown', value: '...'}`. Use `react-markdown` (already a
68
- Reqraft transitive dep) for the description column. Plaintext
69
- fallback when `kind: 'plaintext'`.
70
- - **Visual treatment.** Tighten row heights, monospace label,
71
- right-aligned kind chip (Field / Method / Keyword / Snippet), focused
72
- row highlight that respects the Reqore theme. Decision pending — see
73
- Open question A.
74
- - **Group by kind when there are multiple.** Use LSP CompletionItemKind
75
- groups (we have the map already at `useLspAutocomplete:14`). Skip
76
- grouping when only one kind is present (current behavior).
77
- - **Respect server sort/filter.** Sort items by `sortText` (already
78
- done), filter against `filterText` when present (NEW — currently
79
- unused).
80
-
81
- **Surface area.** `src/components/smartEditor/useLspAutocomplete.ts`
82
- (positioning + filter/sort), `src/components/smartEditor/SmartEditor.tsx`
83
- (dropdown JSX). No prop changes. Medium — ~120 lines added.
84
-
85
- **Tests.** Visual stories only (a new "WithMarkdownDocs" story for
86
- SmartEditor; existing play tests still pass with the canned mock items).
87
-
88
- ### 3. Diagnostics surface
89
-
90
- **Problem.** Invalid syntax produces no visible feedback. The LSP
91
- already pushes `publishDiagnostics` (we capture in
92
- `session.diagnostics`) and we silently store but never render them.
93
-
94
- **Fix.** Two surfaces, both driven by `session.diagnostics`:
95
-
96
- - **Inline wavy red underline** on offending tokens. New hook
97
- `useLspDiagnosticDecorations(diagnostics, converter)` returns a
98
- Slate `decorate` function that emits `{ error: true, errorMessage }`
99
- ranges over diagnostic spans. Compose with the language-specific
100
- `decorate` in the same component (e.g. DpqlEditor combines syntax +
101
- diagnostic decorations).
102
- - **Error panel below the editor** — `ReqoreMessage` stack with
103
- `intent='danger'` / `'warning'` per diagnostic, ordered by position.
104
- Renders as a sibling to the editor's `ReqoreControlGroup`. Hidden
105
- when `diagnostics.length === 0`.
106
-
107
- **Surface area.** New `src/components/smartEditor/useLspDiagnosticDecorations.ts`,
108
- edits to `src/components/smartEditor/SmartEditor.tsx` (panel render),
109
- edits to `src/components/dpqlEditor/DpqlEditor.tsx` (compose decorate
110
- fns). Both DPQL and Qonsole get diagnostics. Medium — ~150 lines + 1
111
- test file.
112
-
113
- **Tests.** Unit test for the decorate hook (LSP positions → Slate
114
- ranges). Storybook story `WithDiagnostics` for QonsoleSmartInput
115
- that mocks an invalid syntax response.
116
-
117
- ### 4. Connection / loading state
118
-
119
- **Problem.** Editor mounts and accepts typing before `session.isReady`
120
- is true. The autocomplete logic short-circuits on `!isReady` so
121
- completions silently fail until the LSP handshake completes (~300ms in
122
- practice).
123
-
124
- **Fix.** While `!session.isReady`, render a small overlay or
125
- disable-and-spinner state. Two reasonable presentations:
126
- - (a) `ReqoreSpinner` overlay inside the editor body with text
127
- "Connecting to language server…"
128
- - (b) Greyed-out + disabled editor until ready (`readOnly` flicker)
129
-
130
- (a) is friendlier — the user sees it's loading but doesn't think it's
131
- broken. Default to (a). The editor body still shows the initial value.
132
-
133
- **Surface area.** `src/components/smartEditor/SmartEditor.tsx` only.
134
- ~20 lines + a new prop `loadingIndicator?: React.ReactNode` so
135
- wrappers can override the default.
136
-
137
- **Tests.** Visual stories. Existing play tests need a wait-for-ready
138
- assertion before typing — currently they sleep blindly and hope the
139
- session is ready.
140
-
141
- ### 5. Hover info via `textDocument/hover`
142
-
143
- **Problem.** Hovering a token in `/list services ` should show the
144
- markdown hover content the server already supplies (the live spike
145
- captured `**/list**\n\nList resources`). Currently nothing happens on
146
- hover.
147
-
148
- **Fix.** New helper `useLspHover(session, converter, editorRef)` that:
149
- - Listens for `mousemove` on the editor's contenteditable element
150
- - Debounces to 300ms idle
151
- - Converts mouse position → Slate point → LSP position
152
- - Calls `session.client.getHover(line, character)`
153
- - Renders a small `ReqorePopover` with the markdown content next to
154
- the cursor
155
-
156
- **Surface area.** New `src/components/smartEditor/useLspHover.ts`
157
- (~80 lines), small wire-in inside `SmartEditor.tsx`. Opt-in via
158
- `enableHover?: boolean` prop (default `true`).
159
-
160
- **Tests.** Unit test of the position-mapping math. No play test —
161
- hover behaviour is hard to drive in jsdom and Playwright reliably.
162
-
163
- ### 6. `dpql/toRichtext` opt-in for accurate plain-text → Slate parsing
164
-
165
- **Problem.** Our `plainTextToSlate` in `dpqlEditor/dpqlHelpers.ts` is a
166
- client-side regex. It handles `$prefix:value` and `@field` but misses
167
- nested expressions, function calls with templates inside, and quoted
168
- edge cases. The server's `dpql/toRichtext` does this correctly.
169
-
170
- **Fix.** Add an opt-in `useServerParse?: boolean` prop on
171
- `DpqlEditor`. When true:
172
- - On mount and on every external `value` change, call
173
- `client.customRequest('dpql/toRichtext', { text: value })` asynchronously
174
- - Show the loading state (item 4) while parsing
175
- - Use the server's richtext output for Slate's initial value
176
- - Falls back to client regex if the server call fails or times out
177
-
178
- Default `false` for backward compatibility — current consumers keep the
179
- synchronous-render behaviour.
180
-
181
- **Surface area.** `src/components/dpqlEditor/DpqlEditor.tsx` and
182
- `useDpqlSession.ts`. Small wrapper around an existing custom method.
183
- ~40 lines.
184
-
185
- **Tests.** Storybook story `WithServerParse` against the live LSP.
186
- Add mock for `dpql/toRichtext` in DpqlEditor's BasicMock if needed.
187
-
188
- ### 7. Server-driven syntax highlighting via LSP semantic tokens
189
-
190
- **Added 2026-05-26 — design doc revision.** Surfaced during Phase 5
191
- verification. The original design omitted this item under the
192
- assumption that the existing client-side regex highlighter was
193
- adequate. Closer research showed it is fundamentally wrong.
194
-
195
- **Problem.** Our `useDpqlSyntaxHighlighting.ts` was copy-pasted from
196
- qorus-ide's `services/dpqlMonacoSetup.ts`, which itself was a
197
- "placeholder until LSP semantic tokens are wired" that never got
198
- replaced. The keyword list is **SQL**, not DPQL:
199
-
200
- - DPQL has no `SELECT` / `FROM` / `WHERE` / `JOIN` / `GROUP BY` / etc.
201
- - DPQL uses `&&` / `||` / `!`, **not** `AND` / `OR` / `NOT`.
202
- - DPQL has no `--` or `/* */` comments — both currently coloured by
203
- our regex.
204
- - The `COUNT` / `SUM` / `AVG` / `MIN` / `MAX` aggregates aren't DPQL
205
- built-ins.
206
- - DPQL has unique constructs the regex doesn't even attempt to
207
- handle: `=~` / `!~` regex match, `..` range, `between … and …`,
208
- `in (…)` / `not in (…)`, `<deadbeef>` binary literals, ISO-8601
209
- date literals.
210
-
211
- The authoritative grammar lives in
212
- [`qore-2/design/dpql-syntax.md`](../../QoreTechnologies/qore-2/design/dpql-syntax.md)
213
- and the tokenizer in
214
- [`qore-2/qlib/DataProvider/DpqlTokenizer.qc`](../../QoreTechnologies/qore-2/qlib/DataProvider/DpqlTokenizer.qc).
215
- Reproducing this in JS bug-for-bug compatible would be a non-trivial
216
- maintenance burden.
217
-
218
- **Fix.** Drive syntax highlighting from the LSP's
219
- `textDocument/semanticTokens/full` response. Confirmed during the
220
- Qonsole spike (`QONSOLE_LSP_RESPONSES.txt`, section 9) that the
221
- shared `/lsp` endpoint already advertises and serves semantic tokens
222
- with the LSP-standard 16-type / 6-modifier legend — both DPQL and
223
- Qonsole benefit identically.
224
-
225
- Concrete plumbing:
226
-
227
- - **`LspClient`** captures `semanticTokensProvider.legend` from the
228
- initialize response and exposes it as a public field
229
- (`semanticTokensLegend: ILspSemanticTokensLegend | null`).
230
- - **`useLspSession`** surfaces the legend in its return.
231
- - **New `useLspSemanticTokens(session, converter, nodes, options?)` hook**
232
- in `src/components/smartEditor/`:
233
- - Debounces document changes (~250ms idle)
234
- - Calls `session.client.getSemanticTokens()` (we already have it)
235
- - Decodes the flat int-5-tuple array (deltaLine, deltaStart,
236
- length, tokenType-idx, tokenModifiers-bitmask) per LSP spec
237
- - Maps each token's `{line, character, length}` to a Slate `Range`
238
- via the converter
239
- - Emits ranges with marks `tokenType: string` and `tokenModifiers: string[]`
240
- - Returns a stable `decorate` function composable into
241
- `SmartEditor`'s `composedDecorate`
242
- - **`SmartEditor.tsx` customRenderLeaf** extends the leaf renderer
243
- to honour the LSP-standard semantic-token types with
244
- theme-appropriate colours (keyword, function, method, class,
245
- property, string, number, comment, operator, regexp, variable,
246
- parameter, etc.).
247
- - **`useDpqlSyntaxHighlighting.ts` is removed** as a copy-paste
248
- artifact. A thin offline fallback (`useDpqlFallbackHighlighting`)
249
- may be added later if needed; for now, no highlighting until the
250
- LSP connects is acceptable (the loading overlay from item 4
251
- signals this).
252
- - **DpqlEditor stories** — the misleading `WithPlainText` value
253
- `SELECT * FROM users WHERE name = "Alice"` is replaced with a
254
- valid DPQL expression (e.g. `1 == 1` or `2026 - 2024 == 2`).
255
-
256
- **The server holds the text the editor shows** *(revised 2026-09-14)*. The
257
- server colours and diagnoses its own copy of the document, so two things must
258
- stay true, and neither did for a value set from outside rather than typed:
259
-
260
- - **Every value reaches the server.** `SmartEditor` passes each `value` to
261
- `session.didChange`, which sends only text the server does not already hold,
262
- and holds text set before the document opened for `didOpen`. Before, only
263
- typing was sent and `didOpen` carried the text at mount, so a Preview that
264
- follows the author was coloured for text it no longer showed.
265
- - **Offsets use the tree the editor holds.** Slate normalises a value set from
266
- outside — a leading chip gains an empty text leaf before it — without
267
- changing its text, so `value` does not change. `SmartEditor` adopts every
268
- tree the editor reports as the one token, diagnostic and signature offsets
269
- are computed against. Before, it kept the pre-normalisation tree and every
270
- offset pointed one leaf off: a Text view seeded with
271
- `"$local:name" == "John"` was never highlighted.
272
-
273
- Guarded by `__tests__/smartEditor/sessionKeepsServerText.test.ts` and the
274
- `ExpressionField` story *Via Form Engine Text Mode*, which asserts the seeded
275
- text is coloured.
276
-
277
- **Surface area.**
278
- `src/utils/lspClient.ts` (legend capture, ~10 lines),
279
- `src/utils/lspClient.types.ts` (new `ILspSemanticTokensLegend` /
280
- `ILspSemanticToken` types, ~10 lines),
281
- `src/components/smartEditor/useLspSession.ts` (expose legend,
282
- ~5 lines),
283
- `src/components/smartEditor/useLspSemanticTokens.ts` (new, ~150
284
- lines including the LSP int-array decoder),
285
- `src/components/smartEditor/SmartEditor.tsx` (compose into
286
- decorate, extend renderLeaf colours, ~30 lines),
287
- `src/components/dpqlEditor/DpqlEditor.tsx` (drop the
288
- `useDpqlSyntaxHighlighting` import + caller, ~5 lines net removal),
289
- removed `src/components/dpqlEditor/useDpqlSyntaxHighlighting.ts`,
290
- fixed `src/components/dpqlEditor/DpqlEditor.stories.tsx` (one
291
- example value).
292
-
293
- **Tests.** Unit tests for the LSP int-array decoder (delta
294
- re-basing, modifier bitmask). Mock-socket extension to return a
295
- synthetic semantic-tokens payload for a known expression. New story
296
- `WithSemanticTokens` on DpqlEditor demonstrating highlighting on
297
- `@status == "active" && @age >= $config:min_age`.
298
-
299
- **Rationale for landing this BEFORE the `0.10.0` release.** The
300
- current highlighting is *visibly* wrong on real DPQL — every `&&` /
301
- `||` / `=~` is uncoloured while every typo like `AND` / `OR` is
302
- mis-coloured green. Shipping `0.10.0` with this in place would mean
303
- the FE consumer's first impression of the DPQL editor includes
304
- visibly broken syntax highlighting. That bar is higher than "matches
305
- the design doc as originally written" — it's "doesn't actively
306
- mislead users about the language".
307
-
308
- ## Locked decisions
309
-
310
- ### Theme — Reqore-native, borrowing from qorus-ide
311
-
312
- Match the visual vocabulary of the rest of the IDE. Concretely:
313
- - Use `ReqoreMenu` chrome (already in place) — rounded, theme-tinted.
314
- - Lift styling cues from qorus-ide's existing conventions documented in
315
- `qorus-frontend/qorus-ide/design/SHARED_COMPONENTS.md` and
316
- `design/REQORE_REQRAFT.md` (drawer/menu opacity, `INTERFACE_TABLE_TAG_EFFECT`
317
- for chips, the `DRAWER_STYLE` opacity vocabulary where applicable).
318
- - Concrete improvements still scoped per item 2 (tighter rows, kind chips
319
- on the right, focused-row highlight, markdown documentation).
320
-
321
- ### Decorate composition — merge inside SmartEditor
322
-
323
- **Revised 2026-05-26.** Originally specified the wrapper combining
324
- `useDpqlSyntaxHighlighting` + `useLspDiagnosticDecorations`. With
325
- the item 7 revision, `useDpqlSyntaxHighlighting` is gone — both
326
- syntax highlighting (via LSP semantic tokens) and diagnostics are
327
- session-driven, so they live in **SmartEditor** rather than the
328
- wrapper. SmartEditor's `composedDecorate` merges:
329
-
330
- ```typescript
331
- // SmartEditor.tsx
332
- const diagnosticDecorate = useLspDiagnosticDecorations(session.diagnostics, converter, slateValue);
333
- const semanticDecorate = useLspSemanticTokens(session, converter, slateValue);
334
- const composedDecorate = useCallback(
335
- (entry) => [
336
- ...decorate?.(entry) ?? [], // optional caller override
337
- ...semanticDecorate(entry), // LSP-driven syntax highlighting
338
- ...diagnosticDecorate(entry), // LSP-driven error underlines
339
- ],
340
- [decorate, semanticDecorate, diagnosticDecorate]
341
- );
342
- ```
343
-
344
- Wrappers can still inject extra decorations via the `decorate` prop
345
- (e.g. embedding-specific overlays), but they no longer have to know
346
- about LSP plumbing.
347
-
348
- ### Hover popover position — token center
349
-
350
- When the user hovers a token, the popover anchors to the geometric
351
- center of the token's DOM rect. Matches VS Code.
352
-
353
- ### Loading state — overlay spinner
354
-
355
- While `!session.isReady`, render a `ReqoreSpinner` with copy
356
- "Connecting to language server…" as an absolutely-positioned overlay
357
- on top of the editor body. The editor itself stays mounted (initial
358
- value visible) so the user sees what's loading. Editor is not
359
- explicitly disabled — typing into it is a no-op until the session is
360
- ready (existing autocomplete short-circuit handles this).
361
-
362
- ### Version bump — single `0.10.0` after all items land
363
-
364
- Per user preference: no incremental versions per phase. All of items
365
- 1–6 ship together as `0.10.0-beta`. Reqraft `package.json` bumps
366
- once, at the end of the batch (Phase 8 release prep).
367
-
368
- **Release strategy revised 2026-05-26.** After phases 1–7 + 6
369
- shipped, post-batch research surfaced four follow-up task files
370
- (`.tasks/SMART_EDITOR_CONTEXT_AND_POLISH.md`, `LSP_FEATURES.md`,
371
- `QONSOLE_ASSIST_FEATURES.md`, `VISUAL_POLISH.md`) that are
372
- sufficiently entangled with the original batch to share a release
373
- tag rather than ship as `0.10.1` / `0.10.2` / `0.11.0`:
374
-
375
- - **`CONTEXT_AND_POLISH` item 4** (`alertPayloadContext` /
376
- `fsmContext` props) is the actual qorus-ide alert-rule editor
377
- blocker. Without it, an immediate `0.10.0-beta` release has no
378
- consumer.
379
- - **`VISUAL_POLISH`** styles surfaces introduced by the other
380
- follow-ups (signature pill, warning chips, wizard items) — landing
381
- it before they exist would mean a second polish pass.
382
- - **The full README pass** is cheaper to do once at the end against
383
- the final API than to update incrementally after each release.
384
- - **The Reqore patches** (Textarea null-check, renderElement deps)
385
- need to either ship upstream or be persisted via `patch-package`.
386
- A held release gives Reqore time to land the PRs.
387
-
388
- Net: all five `.tasks/*.md` files (the original UX_POLISH plus the
389
- four follow-ups) ship as a single `0.10.0` tag once every row in
390
- `.tasks/INDEX.md` is `committed`. No `-beta` intermediate tag, no
391
- incremental point releases between. The cost is "release happens
392
- later"; the benefit is "the release tag corresponds to a real
393
- consumer milestone".
394
-
395
- ## Test plan
396
-
397
- | Phase | Coverage |
398
- |---|---|
399
- | Item 1 | Extended BasicMock play test asserts no-dropdown-on-mount, dropdown-after-typing |
400
- | Item 2 | New stories: WithMarkdownDocs, WithGroupedKinds. Visual only. |
401
- | Item 3 | Unit test for `useLspDiagnosticDecorations`. New story WithDiagnostics with mock invalid input. |
402
- | Item 4 | Adjust existing play tests to wait for ready signal before typing |
403
- | Item 5 | Unit test of position-mapping math. No play test (jsdom limitation) |
404
- | Item 6 | Story WithServerParse against live LSP |
405
- | Item 7 | Unit tests for LSP int-array decoder. Mock-socket returns a synthetic semantic-tokens payload. New WithSemanticTokens story. Fix the broken `WithPlainText` SQL example. |
406
-
407
- All items together: TS clean, lint clean, all jest tests pass, all
408
- storybook play tests pass (147 currently in our scope, expected +5).
409
-
410
- ## Migration impact
411
-
412
- `0.9.0` consumers (DpqlEditor, QonsoleSmartInput) get all items 1–5
413
- **and 7** automatically — no prop changes. Item 6 is opt-in. No
414
- breaking changes; this can ship as `0.9.0` (still pre-release) or
415
- `0.10.0` if we want a "feature-complete" version bump.
416
-
417
- Item 7 carries one subtle behavioural change: until the LSP session
418
- becomes ready, no syntax highlighting is rendered (the editor body
419
- is plain monospace text). The loading overlay from item 4 signals
420
- this. Consumers who need offline syntax colouring can pass a
421
- `decorate` prop with their own fallback — but for the standard use
422
- case (an LSP is reachable within ~300ms of mount), the gap is
423
- imperceptible.
424
-
425
- ## Status
426
-
427
- **Design locked 2026-05-25.**
428
- **Revised 2026-05-26** to add item 7 (LSP semantic tokens) after
429
- research surfaced that the SQL-style highlighting was a copy-paste
430
- artifact incompatible with real DPQL syntax. All other items
431
- unchanged.
432
- **Revised 2026-05-26 (second)** to update the release strategy
433
- section — `0.10.0` now bundles the four follow-up task files into a
434
- single tag rather than shipping `0.10.0-beta` + incremental
435
- releases. Rationale in the "Version bump" sub-section above.
436
-
437
- Any new issues discovered during implementation get added to the task
438
- list as they surface — design doc updates only with explicit revision.