@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
package/.claude/CLAUDE.md DELETED
@@ -1,317 +0,0 @@
1
- @~/Projects/instruction-files/CLAUDE.md
2
- @~/Projects/instruction-files/stacks/frontend/FRONTEND.md
3
-
4
- # ReQraft (toolkit-react) — Claude entry point
5
-
6
- ## Shared Qore rules (READ FIRST)
7
-
8
- The two `@`-imports above load the shared rules from the **instruction-files**
9
- repo: the org-wide baseline (`CLAUDE.md`) and the frontend ruleset
10
- (`stacks/frontend/FRONTEND.md`) — git safety, commit conventions, CI
11
- monitoring, `/audit`, the Reqore-first rule, the Storybook + Qlip visual-change
12
- flow, story descriptions, and more. Those files point on to
13
- `stacks/frontend/BRAND_DESIGN.md` for brand / UI-design decisions (read it
14
- before building any visual surface). **Everything below this section is
15
- specific to ReQraft (toolkit-react).**
16
-
17
- **If the imports above did not load** — you don't see the shared rules because
18
- this repo is cloned somewhere other than `~/Projects/instruction-files` — find
19
- the shared repo before doing any frontend work:
20
-
21
- 1. Check for a gitignored **`.instruction-files-path`** file at this repo's
22
- root. If it exists, read the path `P` from it, then read `P/CLAUDE.md` and
23
- `P/stacks/frontend/FRONTEND.md` (+ `P/stacks/frontend/BRAND_DESIGN.md` for
24
- UI work) and follow them.
25
- 2. Otherwise locate the `instruction-files` repo on disk (try
26
- `~/Projects/instruction-files`, then your other project roots). If found at
27
- `P`, write `P` into `.instruction-files-path` (create it — it's gitignored)
28
- so future sessions skip the search, then read the files above.
29
- 3. If it isn't cloned anywhere, **STOP and ask the user to clone it**:
30
- `git clone git@github.com:qoretechnologies/instruction-files.git ~/Projects/instruction-files`
31
- Do not proceed with frontend work until the shared rules are loaded.
32
-
33
- # ReQraft (toolkit-react) — project-specific rules
34
-
35
- ## Project Overview
36
-
37
- ReQraft (`@qoretechnologies/reqraft`) is a **React hooks and components toolkit** for Qore Technologies' products. It sits on top of the [ReQore](https://github.com/qoretechnologies/reqore) component library and provides higher-level primitives: data fetching, WebSocket management, user/storage state, and shared form fields.
38
-
39
- **Key Facts:**
40
-
41
- - **Package name:** `@qoretechnologies/reqraft`
42
- - **Framework:** React 18 + TypeScript (strict mode)
43
- - **Build:** TypeScript compilation to `/dist` via `tsconfig.prod.json`; exports `.js` + `.d.ts`
44
- - **Styling:** styled-components (inherited from ReQore); no CSS modules
45
- - **State Management:** zustand (stores) + React Context (`use-context-selector`)
46
- - **Data Fetching:** `@tanstack/react-query` v4 (via `query()` util + `useFetch` hook)
47
- - **Testing:** Vitest — a `unit` project (jsdom, tests in `__tests__/`) + a `storybook` project (every story run in a real Chromium browser via Playwright); React Testing Library for component assertions
48
- - **Documentation:** Storybook (stories co-located in `src/` with `.stories.tsx` suffix)
49
- - **Storybook port:** `6008` (not 6007 — that's reqore)
50
-
51
- ## Architecture Essentials
52
-
53
- ### Provider Stack (`src/providers/`)
54
-
55
- The app must be wrapped in `ReqraftProvider` (or initialized via `initializeReqraft()`):
56
-
57
- ```
58
- ReqraftContext.Provider (appName)
59
- └── QueryClientProvider (react-query)
60
- └── ReqraftFetchProvider (fetch context: get/post/put/del methods)
61
- └── ReqraftUserProvider (loads currentUser + storage, handles waitForStorage)
62
- ```
63
-
64
- - **`initializeReqraft(options)`** — call once at app boot to set `instance`, `instanceToken`, `instanceRbacDisabled`, and `unauthorizedRedirect`; returns `ReqraftProvider`
65
- - **`waitForStorage`** (default `true`) — delays rendering children until user storage is loaded from the server
66
-
67
- ### Fetch System (`src/utils/fetch.ts`)
68
-
69
- - **`fetchConfig`** — mutable global config: `instance`, `instanceToken`, `instanceRbacDisabled`, `unauthorizedRedirect`
70
- - **`setupFetch()`** — sets `fetchConfig`; called by `initializeReqraft`
71
- - **`query<T>(config)`** — core async fetch using react-query under the hood; caches GET responses for 5 minutes (`CACHE_EXPIRATION_TIME`); POST/DELETE bypass cache
72
- - All requests go to `${instance}api/latest/${url}`
73
- - 401 responses trigger `fetchConfig.unauthorizedRedirect` (default: `/?next=<current-path>`)
74
- - Auth: token via `Authorization: Bearer` header, but production uses cookies (`credentials: 'include'`)
75
-
76
- ### WebSocket System (`src/utils/websocket.ts`)
77
-
78
- Two classes work together:
79
-
80
- - **`ReqraftWebSocketsManager`** (static) — connection pool keyed by URL; shared `WebSocket` instances for `pooled: true` (default)
81
- - **`ReqraftWebSocket`** — wraps a pooled or dedicated socket; handles reconnect logic, heartbeat (`ping` every 3s), handler registry
82
-
83
- **Pooling:** By default (`pooled` not set to `false`), sockets with the same URL share one underlying `WebSocket`. Use `pooled: false` for dedicated connections. The pool key becomes `${url}::${nanoid()}` for non-pooled.
84
-
85
- **Reconnect:** Triggered on close (unless code `4999` = intentional). Immediate first try, then `reconnectInterval` (default 5s) up to `maxReconnectTries` (default 10).
86
-
87
- **Heartbeat:** Sends `"ping"` every 3s; ignores `"pong"` in message handlers.
88
-
89
- ### `useReqraftWebSocket` Hook (`src/hooks/useWebSocket/useWebSocket.ts`)
90
-
91
- Key options:
92
- - `openOnMount` / `closeOnUnmount` — lifecycle management
93
- - `useState` — accumulate messages in local state
94
- - `includeSentMessagesInState` — also store sent messages
95
- - `includeLogMessagesInState` — store connect/disconnect/reconnect log entries
96
- - `onMessage` — raw message callback (pong filtered automatically)
97
-
98
- Returns: `{ messages, status, open, close, send, clear, on, pause, resume, addMessage, removeMessage, socket }`
99
-
100
- Status enum: `OPEN | CLOSED | CONNECTING | PAUSED`
101
-
102
- ### `useFetch` Hook (`src/hooks/useFetch/useFetch.tsx`)
103
-
104
- - Wraps `query()` via `FetchContext`; supports GET/POST/PUT/DELETE
105
- - `loadOnMount` — triggers load immediately on mount
106
- - `load({ body?, mergeBodies? })` — imperative trigger; `mergeBodies` merges call-time body with hook-defined body
107
- - Returns: `{ data, loading, load, error, errorData, response }`
108
-
109
- ### Storage System (`src/hooks/useStorage/useStorage.ts`)
110
-
111
- - `useReqraftStorage<T>(path, defaultValue?, includeAppPrefix?)` — returns `[value, setter, remover]`
112
- - Backed by `ReqraftStorageContext` → `StorageProvider` → persisted to server via user storage API
113
- - `includeAppPrefix` namespaces the key under the current `appName` from context
114
- - Storage loads from `currentUserStore` (user's `storage` field from `/users?action=current`)
115
-
116
- ### Current User Store (`src/stores/currentUser/currentUser.tsx`)
117
-
118
- - Zustand store: `{ currentUser, loading, error, load, hasAnyPermission, updateStorage }`
119
- - `load()` — fetches `/users?action=current` (no cache); rejects on error
120
- - `hasAnyPermission(permissions[])` — checks against `currentUser.permissions`
121
- - Loaded automatically by `ReqraftUserProvider` on mount
122
-
123
- ### Form Fields (`src/components/form/fields/`)
124
-
125
- Shared form field components built on ReQore, exported from `src/components/form/index.tsx`:
126
-
127
- | Component | Field Type |
128
- |---------------|-----------------------------------|
129
- | `Boolean` | Toggle/checkbox |
130
- | `Color` | Color picker (`react-color`) |
131
- | `Cron` | Cron expression editor |
132
- | `File` | File upload (`react-dropzone`) |
133
- | `LongString` | Multi-line text |
134
- | `Markdown` | Markdown editor/preview |
135
- | `Number` | Numeric input |
136
- | `Object` | YAML/JSON object editor |
137
- | `RadioGroup` | Radio group with optional images |
138
- | `String` | Single-line text |
139
-
140
- A generic `<Field>` component dispatches to the appropriate field by type.
141
-
142
- ### Menu Component (`src/components/menu/Menu.tsx`)
143
-
144
- - `ReqraftMenu` — navigation menu built on ReQore components
145
- - Types: `TReqraftMenu` (array), `TReqraftMenuItem`, `IReqraftMenuItem`, `IReqraftMenuProps`
146
-
147
- ### Log Component (`src/components/log/Log.tsx`)
148
-
149
- - Displays streaming log messages; typically fed by `useReqraftWebSocket`
150
-
151
- ## Development Workflows
152
-
153
- ### Quick Start
154
-
155
- ```bash
156
- yarn install
157
- yarn storybook # Dev mode on http://localhost:6008
158
- yarn test # Vitest unit tests (jsdom)
159
- yarn test:watch # Vitest unit watch mode
160
- yarn test:stories # Story / interaction tests in a real browser (+ Qlip capture)
161
- yarn lint # ESLint check
162
- yarn build # TypeScript compilation (tsconfig.prod.json)
163
- yarn build:test # Type-check without emit
164
- ```
165
-
166
- ### Pre-commit Checks
167
-
168
- - `yarn precheck` runs: lint → test → build:test:prod
169
- - `pre-push` hook enforces: `build:test:prod`, `lint`, `test`
170
- - CI (`.github/workflows/tests.yml`) runs precheck, build and the full story suite for PRs into `develop` **and** for every push to `develop`. GitHub skips `pull_request` workflows while a PR has merge conflicts, so a conflicting PR gets no test runs until it is rebased or merged up
171
- - Branch naming: always start with the issue number, e.g. `feature/49_pooled-connections`
172
-
173
- ### Versioning — every PR to `develop` MUST bump the version
174
-
175
- `.github/workflows/beta_release.yml` runs on **every push to `develop`** and publishes to NPM using whatever `version` is in `package.json` at push time. A merge without a bump therefore tries to re-publish an already-published version and **fails** (NPM refuses to re-publish). This applies to **every** PR — features, fixes, chores, and docs-only changes alike. There is no exception.
176
-
177
- - Bump the **patch** for an ordinary PR while in beta (pre-1.0) — e.g. `0.10.9` → `0.10.10`. Do NOT bump minor/major for ordinary feature/fix PRs.
178
- - Bump **exactly once per PR**, not once per commit. If the branch has already bumped, leave it alone —
179
- a second bump does not make the merge any more publishable, it just burns a version that never ships.
180
- Check before you reach for it: `git diff $(git merge-base origin/develop HEAD) -- package.json`. A PR
181
- that walked 0.10.36 → 0.10.46 one commit at a time is what this line exists to prevent (#95), and its
182
- prereleases are stamped from `package.json`, so a base that moves every push hands consumers what look
183
- like ten different release lines instead of successive previews of one.
184
- - Bump **exactly once per PR**, not once per commit. If the branch has already bumped, leave it alone —
185
- a second bump does not make the merge any more publishable, it just burns a version that never ships.
186
- Check before you reach for it: `git diff $(git merge-base origin/develop HEAD) -- package.json`. A PR
187
- that walked 0.10.36 → 0.10.46 one commit at a time is what this line exists to prevent (#95), and its
188
- prereleases are stamped from `package.json`, so a base that moves every push hands consumers what look
189
- like ten different release lines instead of successive previews of one.
190
- - Bump in `package.json` only (no git tag): `npm version patch --no-git-tag-version`, and include the bump in the PR's commit.
191
- - If another PR bumps to the same version before yours merges, rebase and bump again — the version at merge time must be strictly greater than the last published one.
192
-
193
- ### Testing Patterns
194
-
195
- - Two Vitest projects (see `vitest.config.ts`): **unit** (jsdom; tests in `__tests__/`, mirroring `src/`) and **storybook** (every `*.stories.tsx` run in a real Chromium browser via Playwright). There is no Jest.
196
- - Wrap unit tests with `ReqraftProvider` (or at minimum `QueryClientProvider`)
197
- - Use `mock-socket` for WebSocket testing
198
- - Run: `yarn test` (unit) · `yarn test:stories [file-substring]` (stories) · `yarn precheck` (lint + unit + `build:test:prod`)
199
-
200
- ### Storybook Stories & visual testing
201
-
202
- - Stories are co-located alongside source: `src/hooks/useFetch/useFetch.stories.tsx`
203
- - Storybook port: **6008**
204
- - Story + interaction tests run on **Vitest browser mode** (Playwright/Chromium): `yarn test:stories [file-substring]`. Run `yarn install-playwright` once first.
205
- - **Story network — mocks must follow the instance, and stories must not share connections.**
206
- - Build every mock URL with `storyApiUrl(path)` / `storySocketUrl(path)` from
207
- `src/stories/storyNetwork.ts`, never a hard-coded `https://hq.qoretechnologies.com:8092/…`.
208
- Both mock layers match on host (storybook-addon-mock keys on `host + pathname`,
209
- mock-socket on the URL minus its query), so a hard-coded host silently stops matching
210
- when `REACT_APP_QORUS_INSTANCE` is overridden and the request goes to the real network.
211
- - Requests components make on their own (FormEngine's `system/qorus-type-info`, the
212
- expression catalogue `useExpressions` fetches whenever functions are allowed, the
213
- reconnect probe `system/pid`) are mocked for every story via `GLOBAL_STORY_MOCK_DATA`
214
- (`parameters.mockAddonConfigs.globalMockData`). Add new ones there, not per story file.
215
- - A mock `response` must be an object, array or function — a bare number or string fails
216
- the addon's validation and the entry is silently never matched (`TStoryMockResponse`
217
- enforces this at compile time). The addon compares query-parameter *keys* only, so
218
- `system?action=a&context=x` also answers `system?action=b&context=y`.
219
- - `.storybook/preview.tsx` resets the shared LSP connections and the expression render
220
- client before every story. Do not add per-file `ReqraftWebSocketsManager.closeAll()`
221
- calls for LSP isolation.
222
- - CI reaches the live hq instance with a valid token, so a story that leaks a real
223
- request can pass in CI and hang locally. When a story passes in CI but times out on
224
- your machine, look for an unmocked request before anything else.
225
- - **Visual regression via Qlip** (not Chromatic): the story run captures snapshots through the `qlip` Vitest plugin. Upload is gated on `QLIP_UPLOAD_TOKEN` (`vitest.config.ts`), so **local runs capture but never upload** — PNGs land in `qlip/screenshots/<ts>/stories/auto/<StoryId>.png` (gitignored); read the PNG to verify a visual change. CI (`.github/workflows/tests.yml`) sets the token and uploads a build for dashboard review. The full visual-change flow + the `qlip` MCP review skill live in the imported `stacks/frontend/FRONTEND.md`.
226
-
227
- ## Code Patterns & Conventions
228
-
229
- ### Naming
230
-
231
- - Enums: PascalCase (e.g., `ReqraftWebSocketStatus`)
232
- - Hooks: `useReqraft*` prefix
233
- - Providers: `Reqraft*Provider`
234
- - Stores: `*Store` suffix
235
-
236
- ### Context Access
237
-
238
- - Use `useContextSelector` (from `use-context-selector`) for fine-grained re-renders
239
- - Use plain `useContext` only when consuming the full context is acceptable
240
-
241
- ### Adding a New Hook
242
-
243
- 1. Create `src/hooks/useMyHook/useMyHook.ts`
244
- 2. Add a story at `src/hooks/useMyHook/useMyHook.stories.tsx`
245
- 3. Export from `src/index.tsx`
246
-
247
- ### Adding a New Form Field
248
-
249
- 1. Create `src/components/form/fields/myfield/MyField.tsx`
250
- 2. Add a story at `src/components/form/fields/myfield/MyField.stories.tsx`
251
- 3. Register in `src/components/form/fields/Field.tsx` dispatch
252
- 4. Export from `src/components/form/index.tsx`
253
-
254
- ## Key Integration Points
255
-
256
- ### Fetch Auth Flow
257
-
258
- 1. `initializeReqraft({ instance, instanceToken })` sets `fetchConfig`
259
- 2. All `query()` calls prepend `${instance}api/latest/` and attach token if present
260
- 3. 401 → redirect via `unauthorizedRedirect` (configurable per app)
261
-
262
- ### WebSocket Auth
263
-
264
- - Token appended as `?token=<instanceToken>` to the WS URL
265
- - Override per-socket with `tokenOverride` option
266
-
267
- ### React Query Caching
268
-
269
- - `ReqraftQueryClient` is a shared `QueryClient` instance (exported for reuse)
270
- - GET requests cache for 5 minutes; failed responses are immediately invalidated
271
- - Pass a custom `queryClient` to `query()` to use a different instance
272
-
273
- ## Common Pitfalls & Solutions
274
-
275
- | Issue | Solution |
276
- |---|---|
277
- | Storage not loading | Ensure `ReqraftProvider` wraps the tree and `waitForStorage: true` (default) |
278
- | WebSocket not reconnecting | Check close code — `4999` suppresses reconnect (intentional close) |
279
- | Multiple sockets for same URL | Default is pooled; set `pooled: false` only when independent connections are needed |
280
- | 401 loop | Verify `unauthorizedRedirect` is not pointing back to a protected route |
281
- | `query()` returning stale data | Pass `cache: false`; POST/DELETE bypass cache automatically |
282
- | Heartbeat noise in logs | Filter `ev.data === 'pong'` — already done inside `useReqraftWebSocket` |
283
- | Storage path collisions | Use `includeAppPrefix: true` in `useReqraftStorage` to namespace per app |
284
- | Story shows FormEngine's loading skeleton / "Connecting to language server…" forever | An unmocked request or a connection inherited from an earlier story — see "Story network" above |
285
- | "No Preview — Sorry, but you either have no stories…" in a story failure | Not a registration failure: addon-vitest injects Storybook's hidden preview body into every test page, and a failed query's DOM dump prints it. Read the assertion above the dump |
286
- | A story run stops reporting and never times out (no failure, no output) | The page's main thread is blocked, so the in-page 30s test timer cannot fire — usually a synchronous render loop inside `act()`. Find the story with `--reporter=verbose` (the last ✓ is the one before it), then give Chromium `launchOptions: { args: ['--remote-debugging-port=9333'] }` in `vitest.config.ts` locally, enable `Debugger` over CDP BEFORE the freeze, and `Debugger.pause` once `Runtime.evaluate` stops answering to get the stack. Revert the config afterwards |
287
- | `yarn test:stories` hangs before any test runs (the port message is incidental) | Seen when the checkout path contains `+` — e.g. an auto-named `.claude/worktrees/fix+name` — while the same tree at a `+`-free path runs normally. Use a path without `+` |
288
-
289
- ## File Reference
290
-
291
- | Path | Purpose |
292
- |---|---|
293
- | `src/index.tsx` | Main export barrel |
294
- | `src/providers/ReqraftProvider.tsx` | Root provider + `initializeReqraft` |
295
- | `src/providers/FetchProvider.tsx` | Exposes `get/post/put/del` via FetchContext |
296
- | `src/providers/StorageProvider.tsx` | Loads user storage; wraps children |
297
- | `src/utils/fetch.ts` | Core fetch + caching via react-query |
298
- | `src/utils/websocket.ts` | `ReqraftWebSocket` + `ReqraftWebSocketsManager` |
299
- | `src/utils/datetime.ts` | Datetime helpers (e.g., `getCurrentTimeWithMilliseconds`) |
300
- | `src/hooks/useFetch/` | `useFetch` hook |
301
- | `src/hooks/useWebSocket/` | `useReqraftWebSocket` hook |
302
- | `src/hooks/useStorage/` | `useReqraftStorage` hook |
303
- | `src/stores/currentUser/` | Zustand store for the authenticated user |
304
- | `src/contexts/ReqraftContext.tsx` | App-level context (`appName`) |
305
- | `src/contexts/FetchContext.tsx` | HTTP method context |
306
- | `src/contexts/StorageContext.tsx` | User storage context |
307
- | `src/components/form/` | Form field components |
308
- | `src/components/log/` | Log display component |
309
- | `src/components/menu/` | Navigation menu component |
310
- | `src/tracking/` | First-party tracking, consent and A/B testing (`core/` no DOM, `browser/`, `react/`, and `ui/`: the A/B test card and overlay on Reqore); how-to in `design/TRACKING.md` |
311
- | `src/types/` | Shared TypeScript types |
312
- | `__tests__/` | Vitest unit tests (jsdom) |
313
-
314
- ## Other
315
-
316
- - This library is a **peer-dependency consumer** of ReQore — do not copy ReQore internals here; import from `@qoretechnologies/reqore` instead
317
- - `yarn update-reqore` updates ReQore to the latest beta
@@ -1,38 +0,0 @@
1
- # TASK — export the bare `ExpressionBuilder` from the form barrel
2
-
3
- **Status:** committed `0eea9e7`, pushed (branch `feature/119_export-expression-builder`), PR open — awaiting CI + review
4
-
5
- Issue: [toolkit-react#119](https://github.com/qoretechnologies/toolkit-react/issues/119).
6
- Design: [`design/IDE_INTEGRATION.md`](../design/IDE_INTEGRATION.md) (the shell-at-root / bare-builder-nested rule;
7
- revised note added in this task).
8
-
9
- ## Why
10
-
11
- The library's own `TemplateField` renders the `ExpressionField` shell for a root field (FormEngine sets
12
- `allowTextExpressions`) and the bare `ExpressionBuilder` for nested operands — the June 11 "top-level
13
- re-wrap" decision in `FIELD_STACK_REPORT.md`. The barrel exported the shell but not the builder, so a host
14
- mirroring that rule (qorus-ide's `template.tsx`) had to deep-import `dist/components/form/expressions/builder`.
15
-
16
- ## Surface area
17
-
18
- | File | Change |
19
- |---|---|
20
- | `src/components/form/index.tsx` | `export { ExpressionBuilder }` + `export type { IExpressionBuilderProps }` next to the shell |
21
- | `__tests__/formBarrelExports.test.ts` | asserts both come from the barrel — fails if the export is removed |
22
- | `design/IDE_INTEGRATION.md` | one-line revision under "the shell is the host's component" |
23
- | `package.json` | `0.10.52` → `0.10.53` (single bump) |
24
-
25
- ## Phases
26
-
27
- - [x] export + type export
28
- - [x] unit test through `yarn test`
29
- - [x] `build:test:prod` green
30
- - [ ] `yarn precheck` (lint + unit + prod tsc)
31
- - [ ] **STOP — user verifies before commit** (no visual surface: nothing to click; the test is the proof)
32
- - [ ] `/audit`, commit, push, PR, CI, qlip (expect 0 changed snapshots)
33
-
34
- ## Not this task
35
-
36
- toolkit-react#120 was filed alongside this and closed as invalid: both operand mounts have forwarded
37
- `expressions_url` since the port (5905e52); the symptom was qorus-ide's raw-catalogue override on its own
38
- legacy builder, fixed there.
@@ -1,149 +0,0 @@
1
- # TASK — Expression Builder verbatim re-port
2
-
3
- **Status:** Phases A + B + C DONE & verified (uncommitted), including the
4
- follow-ups (shell-chrome polish, the `validations` `'expression'` case — both
5
- ticked in Phase C below; the `'expression'` validator gained jest coverage
6
- 2026-06-11). The ported, IDE-matching builder is live in `ExpressionField` /
7
- FormEngine. Phase D (server render-expression) + E (IDE consumes reqraft) are
8
- out of scope.
9
- Design:
10
- `design/EXPRESSION_BUILDER_REPORT_STRATEGY.md`. Supersedes the from-scratch
11
- visual builder in `.tasks/FORM_ENGINE_EXPRESSIONS.md` (plumbing retained).
12
-
13
- Method (Filip): copy IDE components **and their tests** verbatim → get them
14
- 1:1 + green → then improve. Compare to qorus-ide Storybook **:6007** between
15
- phases. **No commits until user verifies.**
16
-
17
- ## Surface area
18
-
19
- | Area | reqraft path | IDE source |
20
- |---|---|---|
21
- | Type-compat helpers | `src/helpers/expressions.ts` (NEW) | `qorus-ide/src/helpers/expressions.ts` |
22
- | `areQorusTypesCompatible` | `src/helpers/…` | `qorus-ide/src/helpers/functions.tsx` |
23
- | `validateField` export | `src/helpers/validations.ts` | (export the existing `_validateField`) |
24
- | Select flat/intent | `src/components/form/fields/select/Select.tsx` | `qorus-ide` Field/select |
25
- | TemplateField expr path | `src/components/form/fields/template/TemplateField.tsx` | `qorus-ide` Field/template |
26
- | ExpressionBuilder | `src/components/form/expressions/builder/**` (NEW) | `qorus-ide/src/components/ExpressionBuilder/**` |
27
- | Builder tests | `…/builder/*.stories.tsx` | `qorus-ide/src/stories/Components/ExpressionBuilder.stories.tsx` |
28
-
29
- ## Phase A — Field-stack parity (leaf) — DONE & verified (2026-06-10)
30
-
31
- - [x] `src/helpers/expressions.ts` — verbatim port of getArgumentType,
32
- argumentMatchesType (from IDE expressions.ts) + areQorusTypesCompatible
33
- (from IDE functions.tsx); imports adapted (getQorusTypes/defaultQorusTypes
34
- from reqraft `useQorusTypes`). Typechecks.
35
- - [x] `validateField` — already exported from validations.ts (no change needed)
36
- - [x] `SelectFormField` — `flat` + `intent` now forwarded (additive; defaults
37
- preserve current look). This is the fix Filip named: "make it flat and
38
- small and it looks the same." The chip can now go borderless.
39
- - [x] **GATE:** jest 267/267, full storybook **188/189** (pre-existing flaky
40
- only). No regression from the shared Select change.
41
- - Note: `TemplateField`'s `allowFunctions`/`isFunction` mechanism moved to
42
- Phase B — it's circularly dependent with the ExpressionBuilder (TemplateField
43
- renders the builder; the builder renders TemplateField), so they land
44
- together. Phase B builds in a NEW dir so the current build stays green.
45
-
46
- ## Phase B — Verbatim ExpressionBuilder + tests — DONE & verified (2026-06-10)
47
-
48
- - [x] 9 IDE files copied verbatim into `src/components/form/expressions/builder/`
49
- (index.tsx ~1260 LOC + item/argumentWrapper/argumentLabel/argumentDetail/
50
- argumentInfo + the two confirm modals + renderTemplate). JSX/markup/props
51
- preserved; only imports/hooks/types/seams changed.
52
- - [x] Seams: AiAssistanceAction **removed**; `renderTemplate` rewritten to use
53
- reqraft `useRenderExpression` (client-side, no Creator-WS);
54
- `useRegisterHintView` **stubbed**.
55
- - [x] `TemplateField` — additive `allowFunctions`/`isFunction`; when set, renders
56
- the ported builder. Absent → unchanged (field migration safe).
57
- - [x] Adaptations: `Select` `defaultItems`→`items`; `Select.onChange` single-arg;
58
- catalogue passed as `override` (replaces fetch) **and threaded through the
59
- group recursion** so offline/CI is deterministic (badge = mock count, not
60
- the live 121). `auto`/`Select`/`TemplateField` import aliases.
61
- - [x] Ported `ExpressionBuilder.stories.tsx` (the IDE play tests) — offline via
62
- `mockExpressions`. **10/10 pass.**
63
- - [x] **GATE:** renders **1:1 vs :6007** (verified by screenshot — chips, underline
64
- fields, operator words, group nesting, type-pickers, collapse/Explain all
65
- match). eslint clean, jest 267/267, full suite **198/199** (pre-existing
66
- flaky only). Old from-scratch builder left intact; build green.
67
- - Open follow-ups (Phase C / refinements): wire into `ExpressionField`;
68
- `validations` has no `'expression'` type case yet (per-expression validity
69
- tag always "valid"); `useRenderExpression` is the client-side approximation.
70
-
71
- ## Phase C — Re-wrap reqraft features — DONE & verified (2026-06-10)
72
-
73
- - [x] `ExpressionField` Visual mode now renders the **ported** builder
74
- (`./builder`); Text = `DpqlEditor`; Explain/Preview from the shell.
75
- Adapted: `onChange (value, remove?)`, `returnType` cast, and
76
- **`localTemplates={{ items: [] }}`** (the builder's `filterTemplatesFunc`
77
- does `templates.items.filter(...)` — undefined templates crashed it;
78
- caught via the error boundary during verify and fixed).
79
- - [x] From-scratch `ExpressionBuilder.tsx` + its stories **retired** (deleted);
80
- no remaining references.
81
- - [x] **GATE:** FormEngine field → ExpressionField → ported builder verified
82
- (ViaFormEngine + the toggle path). jest 267/267, full suite **193/193**
83
- (the flaky `OnValidityChange` even passed). HEAD unchanged.
84
- - [x] **Shell cleanup (done 2026-06-10):** Visual mode now renders ONLY the
85
- ported builder (it has its own Explain). The shell's Explain + Preview +
86
- Explanation are scoped to **Text mode** (where the DpqlEditor has none).
87
- ExpressionField play tests updated to assert the builder rendered.
88
- - [x] **Danger-border fix (done 2026-06-10):** three parts —
89
- (1) ported the IDE's `validations` **`'expression'` case** (reads the
90
- catalogue from `field.expressions`); (2) `FormEngine.isOptionValid` now
91
- passes `isFunction` from the field value's `is_expression` (the per-field
92
- red intent used the base-type check); (3) `ExpressionField` defaults
93
- `returnType` to `'auto'` so a valid expression card renders `muted` not
94
- `danger`. Verified: the FormEngine expression field is no longer red.
95
- eslint clean, jest 267/267, full suite 192/193 (pre-existing flaky only).
96
- - [x] **Oversized chips/pickers fix (2026-06-10):** root cause — the IDE's
97
- `Select` spreads `{...rest}` into its rendered ReqoreButton/Dropdown/Tag,
98
- so the builder's verbatim `size='tiny'` reaches ReQore; reqraft's
99
- `SelectFormField` accepted `size` in its interface but **never forwarded
100
- it** (same class of bug as `flat`/`intent`). Forwarded `size` to all four
101
- render branches (bound as `componentSize` — plain `size` would shadow
102
- lodash's `size(items)` badge count). Chips now tiny, type pickers
103
- compact, operand rows no longer wrap — density matches the IDE.
104
- jest 267/267, full suite 192/193 (pre-existing flaky only).
105
- - Known seam: reqraft's `SelectFormField` still doesn't rest-spread like the
106
- IDE's — `flat`/`intent`/`size` are forwarded explicitly; any other
107
- pass-through prop the verbatim IDE markup relies on needs the same
108
- treatment if a gap shows up.
109
- - [x] **Type-picker parity (2026-06-10):** `AutoFormField` now matches the
110
- IDE's AutoField — unresolved type shows **`auto`** as the selected picker
111
- label (not a "Select a type" placeholder; `auto` is not a pickable item
112
- so the badge count stays identical to the IDE's 9/14), and the hint is
113
- the IDE's orange minimal `ReqoreTag` **"Please select data type"**
114
- (was a grey info tag). The 3 AutoFormField story assertions updated.
115
- - [x] **AI-assist slot (2026-06-10):** the IDE's purple hover button on each
116
- expression card is `AiAssistanceAction` → `AiButton` (sends the selected
117
- expression's context to the IDE's AI chat). It was one of the three
118
- deliberate port seams — `AiButton` depends on IDE-only infrastructure
119
- (AI context, SystemStore, QonsoleStore, Creator-WS) that reqraft doesn't
120
- have. Added **`extraActions?: IReqorePanelAction[]`** to the ported
121
- builder (threaded through the group recursion, prepended exactly where
122
- the IDE renders the AI action) so the IDE injects its AiButton at
123
- Phase E. jest 267/267, full suite 192/193 (pre-existing flaky only).
124
- - [x] **`extraActions` upgraded to a factory (2026-06-10):** a static array
125
- could not reproduce the IDE's button — the IDE builds
126
- `AiAssistanceAction({ context: selectedExpression })` *inline per card*.
127
- The seam now also accepts
128
- `(ctx: { selectedExpression?, value? }) => IReqorePanelAction[]`,
129
- resolved inside each `Expression` with that card's selected schema —
130
- so Phase E restores the AI button 1:1, per-card context included.
131
- Proven by the new `WithInjectedExtraActions` story (hover → injected
132
- action present; 11/11 ported play tests). Full suite **194/194**
133
- (even the flaky `OnValidityChange` passed), jest 267/267.
134
- - Ops note: the Storybook dev server reliably wedges on HMR after edits to
135
- these files (symptom: play tests fail in ~2ms with
136
- `ReferenceError: __test is not defined`, preview stuck on spinner).
137
- A clean restart fixes it every time — restart before trusting failures.
138
-
139
- ## Phase D — Server (tracked, not in reqraft)
140
-
141
- - [x] `render-expression` over LSP/REST; swap `useRenderExpression` —
142
- picked up 2026-06-10 in `.tasks/RENDER_EXPRESSION_LSP.md` (branch
143
- `feature/render-expression-lsp`): new LSP `dpql/renderExpression`
144
- (server code written, deploy pending) + server-first hook with
145
- client-side fallback. Design: `design/RENDER_EXPRESSION_TRANSPORT.md`.
146
-
147
- ## Phase E — Dedupe (not now)
148
-
149
- - [ ] IDE consumes reqraft's builder
@@ -1,66 +0,0 @@
1
- # TASK — ExpressionField seams: carry `extraActions` through the shell and into operand rows
2
-
3
- **Status:** committed `f5fb2ee`, pushed to `origin/bugfix/116_expression-field-seams` (user-verified in the browser 2026-09-07) — no PR yet; CI here runs on pull requests only
4
-
5
- Issue: [toolkit-react#116](https://github.com/qoretechnologies/toolkit-react/issues/116).
6
- Design: [`design/IDE_INTEGRATION.md`](../design/IDE_INTEGRATION.md) (seam table; revised 2026-09-07 in this task).
7
- Consumer that surfaced it: qorus-ide [PR #275](https://github.com/qoretechnologies/qorus-ide/pull/275) — the IDE swapped its
8
- legacy builder for `ExpressionField` and its AI-assist button vanished from every expression card.
9
-
10
- ## Why
11
-
12
- `IDE_INTEGRATION.md` names `extraActions` as the seam the IDE re-attaches its AI button through. The
13
- seam existed on `ExpressionBuilder`, but (a) hosts mount the `ExpressionField` shell, which neither
14
- declared nor forwarded it, and (b) the builder's two operand `TemplateField` mounts passed nothing
15
- host-injected, so an operand that is itself an expression lost it again. The group recursion
16
- (`&&` / `||`) already forwarded it, which is why the existing builder story stayed green while the
17
- IDE regressed. Not a gap: `expressionsUrl` — the shell resolves it in its own `useExpressions` and
18
- hands the merged catalogue down (an earlier draft of #116 claimed otherwise; corrected).
19
-
20
- ## Surface area
21
-
22
- | File | Change |
23
- |---|---|
24
- | `src/components/form/expressions/ExpressionField.tsx` | declare `extraActions?: IExpressionBuilderProps['extraActions']`, forward to the builder mount |
25
- | `src/components/form/fields/template/TemplateField.tsx` | declare + destructure `extraActions` (so it never rides `rest` into a leaf input); forward to both editors expression mode renders |
26
- | `src/components/form/expressions/builder/index.tsx` | pass `extraActions` into both operand `TemplateField` mounts; rest-argument mount takes the catalogue's declared `ui_type` when the argument is empty (qlip #189 rejection) |
27
- | `src/components/form/fields/select/SelectCollection.tsx` | `className='reqraft-select-dialog'` on the picker modal — a library-owned hook for hosts' tests |
28
- | `src/components/form/expressions/ExpressionField.stories.tsx` | `NestedOperandKeepsInjectedActions` — shell hop + operand hop, assertion scoped to the nested card; the injected action is the IDE's `AiButton` presentation verbatim (`ReqoreButton` + the resolved `SynthColorEffect`), click stubbed |
29
- | `design/IDE_INTEGRATION.md` | AI-assist row revised; dead `BRANCH_REMEDIATION.md` reference removed; "the shell is the host's component" note |
30
- | `package.json` | `0.10.50` → `0.10.51` (single bump from the current `develop` tip `4860e6e`, after #114 merged and published 0.10.50; CI's PR job accepts exactly one patch over the base, so #115 and #117, both still at 0.10.50, must re-bump before they can merge) |
31
-
32
- ## Phases
33
-
34
- ### 1 — seams
35
- - [x] `ExpressionField`: declare + forward
36
- - [x] `TemplateField`: declare, destructure, forward to `<ExpressionField>` and `<ExpressionBuilder>`
37
- - [x] builder: both operand mounts
38
- - [x] picker modal class
39
- - [x] `yarn build:test` + `yarn lint` clean
40
-
41
- ### 2 — coverage
42
- - [x] story written (description in the mandated shape)
43
- - [x] `yarn test:stories ExpressionField` green (8/8); qlip PNG of the new story read — the magic-wand action sits in BOTH card headers, the nested operand's included; capture dir deleted
44
-
45
- ### 3 — docs
46
- - [x] design doc revised with dated notes
47
- - [x] `.tasks/INDEX.md` row
48
- - [x] `VERIFY.local.md` written for the click-through
49
-
50
- ### 4 — gate
51
- - [x] **STOP — user verified in the browser** (2026-09-07, on :6009)
52
- - [x] `/audit` — run by following `instruction-files/skills/audit-frontend/SKILL.md` directly (the skill is not linked into `~/.claude/skills/` on this machine); re-run after the last story edit; clean
53
- - [x] commit `f5fb2ee` (no attribution trailer), pushed
54
- - [ ] open the PR (CI + qlip build only run on a pull request), `ci-monitor`, qlip review
55
-
56
- ### 5 — qlip #189 rejection (Foxhoundn)
57
- - [x] empty rest argument rendered as untyped `auto` under a "true or false" label; empty `any` never reached the template-selector default → declared-type fallback in the rest-argument mount; both expression story files 30/30; verified in the browser on `NestedOperandKeepsInjectedActions`, `WithComplexValue`, and `DefaultBoolean` → Logical Equals
58
- - [x] design note in `design/EXPRESSION_BUILDER_REPORT_STRATEGY.md` (Revised 2026-09-08)
59
- - [ ] rejection table shown to the user → push → CI → qlip re-review
60
-
61
- ## Out of scope (no designed seam yet — needs a design decision first)
62
-
63
- Saved values at operand level (the builder owns operand `menuItems` for its type picker → additive
64
- seam required; the feature is switched off in every IDE surface today), translations, tour
65
- registration, the guided server-expression flow, dropdown search copy, the picker's action-name
66
- badge. Listed in #116.