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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (736) hide show
  1. package/README.md +21 -1
  2. package/dist/components/Description/describedControl.d.ts +48 -0
  3. package/dist/components/Description/describedControl.d.ts.map +1 -0
  4. package/dist/components/Description/describedControl.js +81 -0
  5. package/dist/components/Description/describedControl.js.map +1 -0
  6. package/dist/components/Description/index.d.ts.map +1 -1
  7. package/dist/components/Description/index.js +3 -2
  8. package/dist/components/Description/index.js.map +1 -1
  9. package/dist/components/colorValue/colorValue.d.ts +59 -0
  10. package/dist/components/colorValue/colorValue.d.ts.map +1 -0
  11. package/dist/components/colorValue/colorValue.js +245 -0
  12. package/dist/components/colorValue/colorValue.js.map +1 -0
  13. package/dist/components/colorValue/index.d.ts +34 -0
  14. package/dist/components/colorValue/index.d.ts.map +1 -0
  15. package/dist/components/colorValue/index.js +136 -0
  16. package/dist/components/colorValue/index.js.map +1 -0
  17. package/dist/components/colorValue/labels.d.ts +12 -0
  18. package/dist/components/colorValue/labels.d.ts.map +1 -0
  19. package/dist/components/colorValue/labels.js +11 -0
  20. package/dist/components/colorValue/labels.js.map +1 -0
  21. package/dist/components/composer/Composer.d.ts +1 -1
  22. package/dist/components/composer/Composer.d.ts.map +1 -1
  23. package/dist/components/composer/Composer.js +2 -2
  24. package/dist/components/composer/Composer.js.map +1 -1
  25. package/dist/components/dpqlEditor/DpqlEditor.d.ts.map +1 -1
  26. package/dist/components/dpqlEditor/DpqlEditor.js +25 -5
  27. package/dist/components/dpqlEditor/DpqlEditor.js.map +1 -1
  28. package/dist/components/dpqlEditor/dpqlHelpers.d.ts +10 -1
  29. package/dist/components/dpqlEditor/dpqlHelpers.d.ts.map +1 -1
  30. package/dist/components/dpqlEditor/dpqlHelpers.js +30 -13
  31. package/dist/components/dpqlEditor/dpqlHelpers.js.map +1 -1
  32. package/dist/components/dpqlEditor/dpqlTags.d.ts +11 -7
  33. package/dist/components/dpqlEditor/dpqlTags.d.ts.map +1 -1
  34. package/dist/components/dpqlEditor/dpqlTags.js +11 -6
  35. package/dist/components/dpqlEditor/dpqlTags.js.map +1 -1
  36. package/dist/components/dpqlEditor/types.d.ts +47 -8
  37. package/dist/components/dpqlEditor/types.d.ts.map +1 -1
  38. package/dist/components/dpqlEditor/useDpqlSession.d.ts +2 -2
  39. package/dist/components/dpqlEditor/useDpqlSession.d.ts.map +1 -1
  40. package/dist/components/dpqlEditor/useDpqlSession.js +16 -7
  41. package/dist/components/dpqlEditor/useDpqlSession.js.map +1 -1
  42. package/dist/components/form/engine/CompactRow.d.ts.map +1 -1
  43. package/dist/components/form/engine/CompactRow.js +151 -83
  44. package/dist/components/form/engine/CompactRow.js.map +1 -1
  45. package/dist/components/form/engine/CompactToolbar.d.ts.map +1 -1
  46. package/dist/components/form/engine/CompactToolbar.js +29 -3
  47. package/dist/components/form/engine/CompactToolbar.js.map +1 -1
  48. package/dist/components/form/engine/FormEngine.d.ts +34 -1
  49. package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
  50. package/dist/components/form/engine/FormEngine.js +487 -87
  51. package/dist/components/form/engine/FormEngine.js.map +1 -1
  52. package/dist/components/form/engine/HiddenFieldsNote.d.ts +28 -0
  53. package/dist/components/form/engine/HiddenFieldsNote.d.ts.map +1 -0
  54. package/dist/components/form/engine/HiddenFieldsNote.js +32 -0
  55. package/dist/components/form/engine/HiddenFieldsNote.js.map +1 -0
  56. package/dist/components/form/engine/OptionFieldMessages.d.ts.map +1 -1
  57. package/dist/components/form/engine/OptionFieldMessages.js +24 -3
  58. package/dist/components/form/engine/OptionFieldMessages.js.map +1 -1
  59. package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts +2 -2
  60. package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts.map +1 -1
  61. package/dist/components/form/engine/_structuredData/SchemaDataView.js +12 -6
  62. package/dist/components/form/engine/_structuredData/SchemaDataView.js.map +1 -1
  63. package/dist/components/form/engine/compactRowContext.d.ts +19 -0
  64. package/dist/components/form/engine/compactRowContext.d.ts.map +1 -1
  65. package/dist/components/form/engine/compactRowContext.js.map +1 -1
  66. package/dist/components/form/engine/compactRowStyles.d.ts +0 -1
  67. package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
  68. package/dist/components/form/engine/compactRowStyles.js +12 -20
  69. package/dist/components/form/engine/compactRowStyles.js.map +1 -1
  70. package/dist/components/form/engine/compactToolbarColors.d.ts +16 -0
  71. package/dist/components/form/engine/compactToolbarColors.d.ts.map +1 -0
  72. package/dist/components/form/engine/compactToolbarColors.js +21 -0
  73. package/dist/components/form/engine/compactToolbarColors.js.map +1 -0
  74. package/dist/components/form/engine/readFirst.d.ts +24 -8
  75. package/dist/components/form/engine/readFirst.d.ts.map +1 -1
  76. package/dist/components/form/engine/readFirst.js +77 -109
  77. package/dist/components/form/engine/readFirst.js.map +1 -1
  78. package/dist/components/form/engine/readFirstColors.d.ts +30 -0
  79. package/dist/components/form/engine/readFirstColors.d.ts.map +1 -0
  80. package/dist/components/form/engine/readFirstColors.js +51 -0
  81. package/dist/components/form/engine/readFirstColors.js.map +1 -0
  82. package/dist/components/form/engine/rowFocus.d.ts +2 -0
  83. package/dist/components/form/engine/rowFocus.d.ts.map +1 -1
  84. package/dist/components/form/engine/rowFocus.js +26 -3
  85. package/dist/components/form/engine/rowFocus.js.map +1 -1
  86. package/dist/components/form/engine/typeChoices.d.ts +1 -1
  87. package/dist/components/form/engine/variants/VariantCalmTable.d.ts.map +1 -1
  88. package/dist/components/form/engine/variants/VariantCalmTable.js +2 -1
  89. package/dist/components/form/engine/variants/VariantCalmTable.js.map +1 -1
  90. package/dist/components/form/engine/variants/VariantCards.d.ts.map +1 -1
  91. package/dist/components/form/engine/variants/VariantCards.js +2 -1
  92. package/dist/components/form/engine/variants/VariantCards.js.map +1 -1
  93. package/dist/components/form/engine/variants/VariantFocus.js +1 -1
  94. package/dist/components/form/engine/variants/VariantFocus.js.map +1 -1
  95. package/dist/components/form/engine/variants/VariantMinimal.d.ts.map +1 -1
  96. package/dist/components/form/engine/variants/VariantMinimal.js +2 -1
  97. package/dist/components/form/engine/variants/VariantMinimal.js.map +1 -1
  98. package/dist/components/form/engine/variants/variantParts.d.ts +1 -1
  99. package/dist/components/form/engine/variants/variantParts.d.ts.map +1 -1
  100. package/dist/components/form/engine/variants/variantParts.js +25 -17
  101. package/dist/components/form/engine/variants/variantParts.js.map +1 -1
  102. package/dist/components/form/expressions/DpqlRendering.d.ts +1 -1
  103. package/dist/components/form/expressions/DpqlRendering.d.ts.map +1 -1
  104. package/dist/components/form/expressions/DpqlRendering.js +3 -3
  105. package/dist/components/form/expressions/DpqlRendering.js.map +1 -1
  106. package/dist/components/form/expressions/ExpressionField.d.ts +41 -3
  107. package/dist/components/form/expressions/ExpressionField.d.ts.map +1 -1
  108. package/dist/components/form/expressions/ExpressionField.js +396 -99
  109. package/dist/components/form/expressions/ExpressionField.js.map +1 -1
  110. package/dist/components/form/expressions/builder/argumentDetail.d.ts.map +1 -1
  111. package/dist/components/form/expressions/builder/argumentDetail.js +4 -1
  112. package/dist/components/form/expressions/builder/argumentDetail.js.map +1 -1
  113. package/dist/components/form/expressions/builder/argumentLabel.d.ts.map +1 -1
  114. package/dist/components/form/expressions/builder/argumentLabel.js +27 -9
  115. package/dist/components/form/expressions/builder/argumentLabel.js.map +1 -1
  116. package/dist/components/form/expressions/builder/argumentWrapper.d.ts.map +1 -1
  117. package/dist/components/form/expressions/builder/argumentWrapper.js +4 -2
  118. package/dist/components/form/expressions/builder/argumentWrapper.js.map +1 -1
  119. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.d.ts.map +1 -1
  120. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js +5 -4
  121. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js.map +1 -1
  122. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts +1 -1
  123. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts.map +1 -1
  124. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js +6 -3
  125. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js.map +1 -1
  126. package/dist/components/form/expressions/builder/index.d.ts +24 -2
  127. package/dist/components/form/expressions/builder/index.d.ts.map +1 -1
  128. package/dist/components/form/expressions/builder/index.js +121 -77
  129. package/dist/components/form/expressions/builder/index.js.map +1 -1
  130. package/dist/components/form/expressions/builder/item.d.ts +6 -2
  131. package/dist/components/form/expressions/builder/item.d.ts.map +1 -1
  132. package/dist/components/form/expressions/builder/item.js +19 -5
  133. package/dist/components/form/expressions/builder/item.js.map +1 -1
  134. package/dist/components/form/expressions/builder/renderTemplate.js +1 -1
  135. package/dist/components/form/expressions/builder/renderTemplate.js.map +1 -1
  136. package/dist/components/form/expressions/expressionOperands.d.ts +16 -0
  137. package/dist/components/form/expressions/expressionOperands.d.ts.map +1 -0
  138. package/dist/components/form/expressions/expressionOperands.js +97 -0
  139. package/dist/components/form/expressions/expressionOperands.js.map +1 -0
  140. package/dist/components/form/expressions/mockExpressions.d.ts.map +1 -1
  141. package/dist/components/form/expressions/mockExpressions.js +22 -5
  142. package/dist/components/form/expressions/mockExpressions.js.map +1 -1
  143. package/dist/components/form/expressions/renderExpressionToText.d.ts +2 -0
  144. package/dist/components/form/expressions/renderExpressionToText.d.ts.map +1 -1
  145. package/dist/components/form/expressions/renderExpressionToText.js +35 -9
  146. package/dist/components/form/expressions/renderExpressionToText.js.map +1 -1
  147. package/dist/components/form/expressions/textOfExpression.d.ts +18 -0
  148. package/dist/components/form/expressions/textOfExpression.d.ts.map +1 -0
  149. package/dist/components/form/expressions/textOfExpression.js +37 -0
  150. package/dist/components/form/expressions/textOfExpression.js.map +1 -0
  151. package/dist/components/form/expressions/useExpressionType.d.ts +26 -0
  152. package/dist/components/form/expressions/useExpressionType.d.ts.map +1 -0
  153. package/dist/components/form/expressions/useExpressionType.js +181 -0
  154. package/dist/components/form/expressions/useExpressionType.js.map +1 -0
  155. package/dist/components/form/expressions/useRenderExpression.d.ts.map +1 -1
  156. package/dist/components/form/expressions/useRenderExpression.js +7 -7
  157. package/dist/components/form/expressions/useRenderExpression.js.map +1 -1
  158. package/dist/components/form/fields/Field.d.ts.map +1 -1
  159. package/dist/components/form/fields/Field.js +20 -7
  160. package/dist/components/form/fields/Field.js.map +1 -1
  161. package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
  162. package/dist/components/form/fields/allowed-values/AllowedValues.js +17 -4
  163. package/dist/components/form/fields/allowed-values/AllowedValues.js.map +1 -1
  164. package/dist/components/form/fields/array/ArrayAuto.d.ts.map +1 -1
  165. package/dist/components/form/fields/array/ArrayAuto.js +24 -0
  166. package/dist/components/form/fields/array/ArrayAuto.js.map +1 -1
  167. package/dist/components/form/fields/array/ArrayAutoField.d.ts.map +1 -1
  168. package/dist/components/form/fields/array/ArrayAutoField.js +36 -13
  169. package/dist/components/form/fields/array/ArrayAutoField.js.map +1 -1
  170. package/dist/components/form/fields/auto/AutoFormField.d.ts +20 -1
  171. package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
  172. package/dist/components/form/fields/auto/AutoFormField.js +81 -36
  173. package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
  174. package/dist/components/form/fields/auto/hostEditorValue.d.ts +30 -0
  175. package/dist/components/form/fields/auto/hostEditorValue.d.ts.map +1 -0
  176. package/dist/components/form/fields/auto/hostEditorValue.js +53 -0
  177. package/dist/components/form/fields/auto/hostEditorValue.js.map +1 -0
  178. package/dist/components/form/fields/binary/Binary.d.ts.map +1 -1
  179. package/dist/components/form/fields/binary/Binary.js +23 -3
  180. package/dist/components/form/fields/binary/Binary.js.map +1 -1
  181. package/dist/components/form/fields/boolean/Boolean.d.ts +5 -0
  182. package/dist/components/form/fields/boolean/Boolean.d.ts.map +1 -1
  183. package/dist/components/form/fields/boolean/Boolean.js +9 -1
  184. package/dist/components/form/fields/boolean/Boolean.js.map +1 -1
  185. package/dist/components/form/fields/color/Color.d.ts +103 -16
  186. package/dist/components/form/fields/color/Color.d.ts.map +1 -1
  187. package/dist/components/form/fields/color/Color.js +611 -16
  188. package/dist/components/form/fields/color/Color.js.map +1 -1
  189. package/dist/components/form/fields/emittedValues.d.ts +34 -3
  190. package/dist/components/form/fields/emittedValues.d.ts.map +1 -1
  191. package/dist/components/form/fields/emittedValues.js +24 -1
  192. package/dist/components/form/fields/emittedValues.js.map +1 -1
  193. package/dist/components/form/fields/file/File.d.ts +1 -1
  194. package/dist/components/form/fields/file/File.d.ts.map +1 -1
  195. package/dist/components/form/fields/file/File.js +4 -2
  196. package/dist/components/form/fields/file/File.js.map +1 -1
  197. package/dist/components/form/fields/long-string/LongString.d.ts.map +1 -1
  198. package/dist/components/form/fields/long-string/LongString.js +17 -3
  199. package/dist/components/form/fields/long-string/LongString.js.map +1 -1
  200. package/dist/components/form/fields/markdown/MarkdownView.js +1 -1
  201. package/dist/components/form/fields/multi-select/MultiSelectFormField.d.ts.map +1 -1
  202. package/dist/components/form/fields/multi-select/MultiSelectFormField.js +4 -1
  203. package/dist/components/form/fields/multi-select/MultiSelectFormField.js.map +1 -1
  204. package/dist/components/form/fields/number/Number.d.ts +6 -0
  205. package/dist/components/form/fields/number/Number.d.ts.map +1 -1
  206. package/dist/components/form/fields/number/Number.js +41 -6
  207. package/dist/components/form/fields/number/Number.js.map +1 -1
  208. package/dist/components/form/fields/object/Object.d.ts +1 -1
  209. package/dist/components/form/fields/object/Object.d.ts.map +1 -1
  210. package/dist/components/form/fields/object/Object.js +4 -2
  211. package/dist/components/form/fields/object/Object.js.map +1 -1
  212. package/dist/components/form/fields/pendingEdit.d.ts +52 -0
  213. package/dist/components/form/fields/pendingEdit.d.ts.map +1 -0
  214. package/dist/components/form/fields/pendingEdit.js +79 -0
  215. package/dist/components/form/fields/pendingEdit.js.map +1 -0
  216. package/dist/components/form/fields/rich-text/RichText.d.ts +8 -1
  217. package/dist/components/form/fields/rich-text/RichText.d.ts.map +1 -1
  218. package/dist/components/form/fields/rich-text/RichText.js +190 -81
  219. package/dist/components/form/fields/rich-text/RichText.js.map +1 -1
  220. package/dist/components/form/fields/rich-text/useTemplateTags.d.ts +18 -0
  221. package/dist/components/form/fields/rich-text/useTemplateTags.d.ts.map +1 -0
  222. package/dist/components/form/fields/rich-text/useTemplateTags.js +49 -0
  223. package/dist/components/form/fields/rich-text/useTemplateTags.js.map +1 -0
  224. package/dist/components/form/fields/schema-definition/CatalogLeafForm.d.ts.map +1 -1
  225. package/dist/components/form/fields/schema-definition/CatalogLeafForm.js +4 -1
  226. package/dist/components/form/fields/schema-definition/CatalogLeafForm.js.map +1 -1
  227. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.d.ts.map +1 -1
  228. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js +20 -5
  229. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js.map +1 -1
  230. package/dist/components/form/fields/schema-definition/TableEditor.d.ts.map +1 -1
  231. package/dist/components/form/fields/schema-definition/TableEditor.js +10 -2
  232. package/dist/components/form/fields/schema-definition/TableEditor.js.map +1 -1
  233. package/dist/components/form/fields/schema-definition/index.d.ts.map +1 -1
  234. package/dist/components/form/fields/schema-definition/index.js +8 -4
  235. package/dist/components/form/fields/schema-definition/index.js.map +1 -1
  236. package/dist/components/form/fields/select/Select.d.ts +2 -0
  237. package/dist/components/form/fields/select/Select.d.ts.map +1 -1
  238. package/dist/components/form/fields/select/Select.js +19 -10
  239. package/dist/components/form/fields/select/Select.js.map +1 -1
  240. package/dist/components/form/fields/select/SelectCollection.d.ts.map +1 -1
  241. package/dist/components/form/fields/select/SelectCollection.js +8 -2
  242. package/dist/components/form/fields/select/SelectCollection.js.map +1 -1
  243. package/dist/components/form/fields/select/unavailableRow.d.ts +23 -0
  244. package/dist/components/form/fields/select/unavailableRow.d.ts.map +1 -0
  245. package/dist/components/form/fields/select/unavailableRow.js +55 -0
  246. package/dist/components/form/fields/select/unavailableRow.js.map +1 -0
  247. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts +5 -5
  248. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts.map +1 -1
  249. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js +11 -4
  250. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js.map +1 -1
  251. package/dist/components/form/fields/template/TemplateBrowser.d.ts +22 -0
  252. package/dist/components/form/fields/template/TemplateBrowser.d.ts.map +1 -0
  253. package/dist/components/form/fields/template/TemplateBrowser.js +54 -0
  254. package/dist/components/form/fields/template/TemplateBrowser.js.map +1 -0
  255. package/dist/components/form/fields/template/TemplateField.d.ts +83 -1
  256. package/dist/components/form/fields/template/TemplateField.d.ts.map +1 -1
  257. package/dist/components/form/fields/template/TemplateField.js +535 -85
  258. package/dist/components/form/fields/template/TemplateField.js.map +1 -1
  259. package/dist/components/form/fields/template/TemplateText.d.ts +0 -17
  260. package/dist/components/form/fields/template/TemplateText.d.ts.map +1 -1
  261. package/dist/components/form/fields/template/TemplateText.js +8 -4
  262. package/dist/components/form/fields/template/TemplateText.js.map +1 -1
  263. package/dist/components/form/fields/template/writtenAsText.d.ts +55 -0
  264. package/dist/components/form/fields/template/writtenAsText.d.ts.map +1 -0
  265. package/dist/components/form/fields/template/writtenAsText.js +188 -0
  266. package/dist/components/form/fields/template/writtenAsText.js.map +1 -0
  267. package/dist/components/form/index.d.ts +10 -0
  268. package/dist/components/form/index.d.ts.map +1 -1
  269. package/dist/components/form/index.js +23 -1
  270. package/dist/components/form/index.js.map +1 -1
  271. package/dist/components/imageLightbox/ImageLightbox.d.ts.map +1 -1
  272. package/dist/components/imageLightbox/ImageLightbox.js +19 -7
  273. package/dist/components/imageLightbox/ImageLightbox.js.map +1 -1
  274. package/dist/components/log/Log.d.ts.map +1 -1
  275. package/dist/components/log/Log.js +15 -7
  276. package/dist/components/log/Log.js.map +1 -1
  277. package/dist/components/menu/Menu.d.ts.map +1 -1
  278. package/dist/components/menu/Menu.js +19 -10
  279. package/dist/components/menu/Menu.js.map +1 -1
  280. package/dist/components/smartEditor/CompletionMenu.d.ts +43 -0
  281. package/dist/components/smartEditor/CompletionMenu.d.ts.map +1 -0
  282. package/dist/components/smartEditor/CompletionMenu.js +196 -0
  283. package/dist/components/smartEditor/CompletionMenu.js.map +1 -0
  284. package/dist/components/smartEditor/MarkdownDoc.d.ts +1 -1
  285. package/dist/components/smartEditor/MarkdownDoc.js +1 -1
  286. package/dist/components/smartEditor/MarkdownDoc.js.map +1 -1
  287. package/dist/components/smartEditor/SmartEditor.d.ts.map +1 -1
  288. package/dist/components/smartEditor/SmartEditor.js +51 -136
  289. package/dist/components/smartEditor/SmartEditor.js.map +1 -1
  290. package/dist/components/smartEditor/completionStyle.d.ts +27 -0
  291. package/dist/components/smartEditor/completionStyle.d.ts.map +1 -0
  292. package/dist/components/smartEditor/completionStyle.js +66 -0
  293. package/dist/components/smartEditor/completionStyle.js.map +1 -0
  294. package/dist/components/smartEditor/index.d.ts +5 -1
  295. package/dist/components/smartEditor/index.d.ts.map +1 -1
  296. package/dist/components/smartEditor/index.js +19 -1
  297. package/dist/components/smartEditor/index.js.map +1 -1
  298. package/dist/components/smartEditor/templateCompletions.d.ts +18 -0
  299. package/dist/components/smartEditor/templateCompletions.d.ts.map +1 -0
  300. package/dist/components/smartEditor/templateCompletions.js +94 -0
  301. package/dist/components/smartEditor/templateCompletions.js.map +1 -0
  302. package/dist/components/smartEditor/types.d.ts +12 -1
  303. package/dist/components/smartEditor/types.d.ts.map +1 -1
  304. package/dist/components/smartEditor/useLspAutocomplete.d.ts +32 -0
  305. package/dist/components/smartEditor/useLspAutocomplete.d.ts.map +1 -1
  306. package/dist/components/smartEditor/useLspAutocomplete.js +228 -118
  307. package/dist/components/smartEditor/useLspAutocomplete.js.map +1 -1
  308. package/dist/components/smartEditor/useLspHover.d.ts +22 -7
  309. package/dist/components/smartEditor/useLspHover.d.ts.map +1 -1
  310. package/dist/components/smartEditor/useLspHover.js +86 -17
  311. package/dist/components/smartEditor/useLspHover.js.map +1 -1
  312. package/dist/components/smartEditor/useLspSemanticTokens.js +1 -1
  313. package/dist/components/smartEditor/useLspSemanticTokens.js.map +1 -1
  314. package/dist/components/smartEditor/useLspSession.d.ts +6 -0
  315. package/dist/components/smartEditor/useLspSession.d.ts.map +1 -1
  316. package/dist/components/smartEditor/useLspSession.js +7 -6
  317. package/dist/components/smartEditor/useLspSession.js.map +1 -1
  318. package/dist/components/supportTicket/AttachmentChips.d.ts.map +1 -1
  319. package/dist/components/supportTicket/AttachmentChips.js +15 -5
  320. package/dist/components/supportTicket/AttachmentChips.js.map +1 -1
  321. package/dist/components/supportTicket/ReferencePicker.d.ts +9 -2
  322. package/dist/components/supportTicket/ReferencePicker.d.ts.map +1 -1
  323. package/dist/components/supportTicket/ReferencePicker.js +27 -6
  324. package/dist/components/supportTicket/ReferencePicker.js.map +1 -1
  325. package/dist/components/supportTicket/TicketHeader.d.ts +3 -4
  326. package/dist/components/supportTicket/TicketHeader.d.ts.map +1 -1
  327. package/dist/components/supportTicket/TicketHeader.js +20 -2
  328. package/dist/components/supportTicket/TicketHeader.js.map +1 -1
  329. package/dist/components/supportTicket/TicketMetaTags.d.ts +1 -1
  330. package/dist/components/ticketReferences/TicketReferences.d.ts.map +1 -1
  331. package/dist/components/ticketReferences/TicketReferences.js +9 -4
  332. package/dist/components/ticketReferences/TicketReferences.js.map +1 -1
  333. package/dist/components/ticketThread/TicketThread.d.ts.map +1 -1
  334. package/dist/components/ticketThread/TicketThread.js +36 -11
  335. package/dist/components/ticketThread/TicketThread.js.map +1 -1
  336. package/dist/helpers/descriptionTooltip.d.ts +43 -0
  337. package/dist/helpers/descriptionTooltip.d.ts.map +1 -0
  338. package/dist/helpers/descriptionTooltip.js +70 -0
  339. package/dist/helpers/descriptionTooltip.js.map +1 -0
  340. package/dist/helpers/domProps.d.ts +5 -0
  341. package/dist/helpers/domProps.d.ts.map +1 -0
  342. package/dist/helpers/domProps.js +47 -0
  343. package/dist/helpers/domProps.js.map +1 -0
  344. package/dist/helpers/expressions.d.ts +107 -2
  345. package/dist/helpers/expressions.d.ts.map +1 -1
  346. package/dist/helpers/expressions.js +223 -8
  347. package/dist/helpers/expressions.js.map +1 -1
  348. package/dist/helpers/hoveringPointer.d.ts +26 -0
  349. package/dist/helpers/hoveringPointer.d.ts.map +1 -0
  350. package/dist/helpers/hoveringPointer.js +29 -0
  351. package/dist/helpers/hoveringPointer.js.map +1 -0
  352. package/dist/helpers/markdownText.d.ts +14 -0
  353. package/dist/helpers/markdownText.d.ts.map +1 -0
  354. package/dist/helpers/markdownText.js +160 -0
  355. package/dist/helpers/markdownText.js.map +1 -0
  356. package/dist/helpers/qorusTypeCatalogue.d.ts +53 -0
  357. package/dist/helpers/qorusTypeCatalogue.d.ts.map +1 -0
  358. package/dist/helpers/qorusTypeCatalogue.js +262 -0
  359. package/dist/helpers/qorusTypeCatalogue.js.map +1 -0
  360. package/dist/helpers/readableColors.d.ts +36 -0
  361. package/dist/helpers/readableColors.d.ts.map +1 -0
  362. package/dist/helpers/readableColors.js +116 -0
  363. package/dist/helpers/readableColors.js.map +1 -0
  364. package/dist/helpers/templateItems.d.ts +2 -2
  365. package/dist/helpers/templateItems.d.ts.map +1 -1
  366. package/dist/helpers/templateItems.js +6 -4
  367. package/dist/helpers/templateItems.js.map +1 -1
  368. package/dist/helpers/templates.d.ts +26 -1
  369. package/dist/helpers/templates.d.ts.map +1 -1
  370. package/dist/helpers/templates.js +41 -6
  371. package/dist/helpers/templates.js.map +1 -1
  372. package/dist/helpers/validations.d.ts +9 -0
  373. package/dist/helpers/validations.d.ts.map +1 -1
  374. package/dist/helpers/validations.js +139 -33
  375. package/dist/helpers/validations.js.map +1 -1
  376. package/dist/hooks/useQorusTypes.d.ts +7 -15
  377. package/dist/hooks/useQorusTypes.d.ts.map +1 -1
  378. package/dist/hooks/useQorusTypes.js +25 -166
  379. package/dist/hooks/useQorusTypes.js.map +1 -1
  380. package/dist/hooks/useReadableIntentShade.d.ts +9 -0
  381. package/dist/hooks/useReadableIntentShade.d.ts.map +1 -0
  382. package/dist/hooks/useReadableIntentShade.js +23 -0
  383. package/dist/hooks/useReadableIntentShade.js.map +1 -0
  384. package/dist/hooks/useReadableOpacity.d.ts +6 -0
  385. package/dist/hooks/useReadableOpacity.d.ts.map +1 -0
  386. package/dist/hooks/useReadableOpacity.js +17 -0
  387. package/dist/hooks/useReadableOpacity.js.map +1 -0
  388. package/dist/index.d.ts +1 -0
  389. package/dist/index.d.ts.map +1 -1
  390. package/dist/index.js +1 -0
  391. package/dist/index.js.map +1 -1
  392. package/dist/tracking/ui/ExperimentCard.d.ts +1 -1
  393. package/dist/tracking/ui/ExperimentCard.d.ts.map +1 -1
  394. package/dist/tracking/ui/ExperimentCard.js +26 -10
  395. package/dist/tracking/ui/ExperimentCard.js.map +1 -1
  396. package/dist/tracking/ui/card.d.ts +2 -2
  397. package/dist/tracking/ui/card.d.ts.map +1 -1
  398. package/dist/tracking/ui/card.js +2 -2
  399. package/dist/tracking/ui/card.js.map +1 -1
  400. package/dist/tracking/ui/readable.d.ts +14 -0
  401. package/dist/tracking/ui/readable.d.ts.map +1 -0
  402. package/dist/tracking/ui/readable.js +60 -0
  403. package/dist/tracking/ui/readable.js.map +1 -0
  404. package/package.json +14 -5
  405. package/.claude/CLAUDE.md +0 -317
  406. package/.tasks/EXPORT_EXPRESSION_BUILDER.md +0 -38
  407. package/.tasks/EXPRESSION_BUILDER_REPORT.md +0 -149
  408. package/.tasks/EXPRESSION_FIELD_SEAMS.md +0 -66
  409. package/.tasks/FIELD_STACK_REPORT.md +0 -234
  410. package/.tasks/FORM_ENGINE_COMPACT_READ_FIRST.md +0 -558
  411. package/.tasks/FORM_ENGINE_EXPRESSIONS.md +0 -197
  412. package/.tasks/FORM_ENGINE_OPTIONS_SYNC.md +0 -95
  413. package/.tasks/FORM_FIELD_EXTRAS.md +0 -72
  414. package/.tasks/INDEX.md +0 -111
  415. package/.tasks/LSP_SHARED_CONNECTION.md +0 -75
  416. package/.tasks/QONSOLE_ASSIST_FEATURES.md +0 -306
  417. package/.tasks/RENDER_EXPRESSION_LSP.md +0 -159
  418. package/.tasks/REQRAFT_AUTO_FIELD.md +0 -176
  419. package/.tasks/SCHEMA_DEFINITION_FIELD.md +0 -250
  420. package/.tasks/SMART_EDITOR_CONTEXT_AND_POLISH.md +0 -340
  421. package/.tasks/SMART_EDITOR_LSP_FEATURES.md +0 -299
  422. package/.tasks/SMART_EDITOR_REVIEW_FOLLOWUPS.md +0 -280
  423. package/.tasks/SMART_EDITOR_UX_POLISH.md +0 -383
  424. package/.tasks/SMART_EDITOR_VISUAL_POLISH.md +0 -246
  425. package/.tasks/STORY_NETWORK_ISOLATION.md +0 -98
  426. package/.tasks/TEMPLATE_TOKEN_GRAMMAR.md +0 -72
  427. package/CODE_OF_CONDUCT.md +0 -105
  428. package/CONTRIBUTING.MD +0 -78
  429. package/SECURITY.md +0 -3
  430. package/chromatic.config.json +0 -5
  431. package/design/COMPACT_ENGINE_REDESIGN.md +0 -156
  432. package/design/COMPACT_INFO_DISPLAY.md +0 -87
  433. package/design/COMPACT_PARITY.md +0 -85
  434. package/design/EXPRESSION_BUILDER_REPORT_STRATEGY.md +0 -92
  435. package/design/FORM_ENGINE_COMPACT.md +0 -300
  436. package/design/FORM_ENGINE_COMPACT_UX_PLAN.md +0 -353
  437. package/design/FORM_ENGINE_EXPRESSIONS.md +0 -257
  438. package/design/FORM_ENGINE_FIELD_MIGRATION.md +0 -419
  439. package/design/IDE_INTEGRATION.md +0 -64
  440. package/design/RENDER_EXPRESSION_TRANSPORT.md +0 -156
  441. package/design/SELECT_DIALOG_FLOOR.md +0 -86
  442. package/design/SMART_EDITOR_UX.md +0 -438
  443. package/design/TRACKING.md +0 -290
  444. package/design/UNAVAILABLE_ALLOWED_VALUES.md +0 -226
  445. package/src/components/Description/index.tsx +0 -254
  446. package/src/components/Description/markdownRendererContext.tsx +0 -29
  447. package/src/components/FocusedEditing/index.tsx +0 -50
  448. package/src/components/codeSize/index.tsx +0 -79
  449. package/src/components/composer/Composer.stories.tsx +0 -238
  450. package/src/components/composer/Composer.tsx +0 -554
  451. package/src/components/composer/helpers.ts +0 -74
  452. package/src/components/composer/index.ts +0 -2
  453. package/src/components/dpqlEditor/DpqlEditor.stories.tsx +0 -1183
  454. package/src/components/dpqlEditor/DpqlEditor.tsx +0 -219
  455. package/src/components/dpqlEditor/dpqlHelpers.ts +0 -287
  456. package/src/components/dpqlEditor/dpqlInserter.ts +0 -121
  457. package/src/components/dpqlEditor/dpqlProbe.ts +0 -165
  458. package/src/components/dpqlEditor/dpqlTags.ts +0 -114
  459. package/src/components/dpqlEditor/index.ts +0 -41
  460. package/src/components/dpqlEditor/types.ts +0 -203
  461. package/src/components/dpqlEditor/useDpqlProbe.ts +0 -33
  462. package/src/components/dpqlEditor/useDpqlSession.ts +0 -411
  463. package/src/components/form/engine/CompactRow.tsx +0 -2620
  464. package/src/components/form/engine/CompactToolbar.tsx +0 -330
  465. package/src/components/form/engine/FormEngine.stories.tsx +0 -9920
  466. package/src/components/form/engine/FormEngine.tsx +0 -4569
  467. package/src/components/form/engine/FormEngineRemote.stories.tsx +0 -679
  468. package/src/components/form/engine/FormEngineStickyHeaders.stories.tsx +0 -331
  469. package/src/components/form/engine/FormFieldsSkeleton.tsx +0 -82
  470. package/src/components/form/engine/OptionFieldMessages.tsx +0 -477
  471. package/src/components/form/engine/OptionsHelpDialog.tsx +0 -29
  472. package/src/components/form/engine/__fixtures__/basicFormOptions.ts +0 -309
  473. package/src/components/form/engine/__fixtures__/fieldChromeOptions.ts +0 -45
  474. package/src/components/form/engine/_structuredData/SchemaDataView.stories.tsx +0 -233
  475. package/src/components/form/engine/_structuredData/SchemaDataView.tsx +0 -742
  476. package/src/components/form/engine/_structuredData/StructuredDataView.stories.tsx +0 -85
  477. package/src/components/form/engine/_structuredData/StructuredDataView.tsx +0 -75
  478. package/src/components/form/engine/_structuredData/structuredData.ts +0 -145
  479. package/src/components/form/engine/compactRowContext.ts +0 -148
  480. package/src/components/form/engine/compactRowStyles.ts +0 -898
  481. package/src/components/form/engine/compactToolbarContext.ts +0 -69
  482. package/src/components/form/engine/optionActions.ts +0 -128
  483. package/src/components/form/engine/optionsContext.ts +0 -24
  484. package/src/components/form/engine/readFirst.ts +0 -1077
  485. package/src/components/form/engine/rendererTypes.ts +0 -107
  486. package/src/components/form/engine/revealRow.ts +0 -123
  487. package/src/components/form/engine/rowFocus.ts +0 -101
  488. package/src/components/form/engine/rowMenuContext.ts +0 -159
  489. package/src/components/form/engine/rowOpenPicker.ts +0 -27
  490. package/src/components/form/engine/typeChoices.ts +0 -63
  491. package/src/components/form/engine/variants/FormEngineVariants.stories.tsx +0 -159
  492. package/src/components/form/engine/variants/VariantCalmTable.tsx +0 -244
  493. package/src/components/form/engine/variants/VariantCards.tsx +0 -212
  494. package/src/components/form/engine/variants/VariantFocus.tsx +0 -382
  495. package/src/components/form/engine/variants/VariantMinimal.tsx +0 -170
  496. package/src/components/form/engine/variants/focusDemo.ts +0 -145
  497. package/src/components/form/engine/variants/variantModel.ts +0 -223
  498. package/src/components/form/engine/variants/variantParts.tsx +0 -313
  499. package/src/components/form/expressions/DpqlRendering.tsx +0 -85
  500. package/src/components/form/expressions/ExpressionField.stories.tsx +0 -1395
  501. package/src/components/form/expressions/ExpressionField.tsx +0 -503
  502. package/src/components/form/expressions/argumentPresence.ts +0 -213
  503. package/src/components/form/expressions/builder/ExpressionBuilder.stories.tsx +0 -1683
  504. package/src/components/form/expressions/builder/argumentDetail.tsx +0 -17
  505. package/src/components/form/expressions/builder/argumentLabel.tsx +0 -146
  506. package/src/components/form/expressions/builder/argumentSlot.tsx +0 -101
  507. package/src/components/form/expressions/builder/argumentWrapper.tsx +0 -243
  508. package/src/components/form/expressions/builder/confirmMismatchedTypesModal.tsx +0 -120
  509. package/src/components/form/expressions/builder/confirmUnsupportedTypeModal.tsx +0 -69
  510. package/src/components/form/expressions/builder/index.tsx +0 -1545
  511. package/src/components/form/expressions/builder/item.tsx +0 -89
  512. package/src/components/form/expressions/builder/moveToPositionStrip.tsx +0 -156
  513. package/src/components/form/expressions/builder/renderTemplate.tsx +0 -42
  514. package/src/components/form/expressions/dpqlMockLanguage.ts +0 -566
  515. package/src/components/form/expressions/dpqlMockLsp.ts +0 -126
  516. package/src/components/form/expressions/mockExpressions.ts +0 -317
  517. package/src/components/form/expressions/renderExpressionToText.ts +0 -137
  518. package/src/components/form/expressions/types.ts +0 -110
  519. package/src/components/form/expressions/useExpressions.ts +0 -101
  520. package/src/components/form/expressions/useRenderExpression.ts +0 -165
  521. package/src/components/form/fields/Field.stories.tsx +0 -143
  522. package/src/components/form/fields/Field.tsx +0 -732
  523. package/src/components/form/fields/allowed-values/AllowedValues.tsx +0 -297
  524. package/src/components/form/fields/array/ArrayAuto.tsx +0 -237
  525. package/src/components/form/fields/array/ArrayAutoField.stories.tsx +0 -475
  526. package/src/components/form/fields/array/ArrayAutoField.tsx +0 -367
  527. package/src/components/form/fields/auto/AutoFormField.stories.tsx +0 -825
  528. package/src/components/form/fields/auto/AutoFormField.tsx +0 -1164
  529. package/src/components/form/fields/binary/Binary.stories.tsx +0 -122
  530. package/src/components/form/fields/binary/Binary.tsx +0 -91
  531. package/src/components/form/fields/boolean/Boolean.stories.tsx +0 -125
  532. package/src/components/form/fields/boolean/Boolean.tsx +0 -34
  533. package/src/components/form/fields/byte-size/ByteSize.stories.tsx +0 -87
  534. package/src/components/form/fields/byte-size/ByteSize.tsx +0 -58
  535. package/src/components/form/fields/color/Color.stories.tsx +0 -99
  536. package/src/components/form/fields/color/Color.tsx +0 -46
  537. package/src/components/form/fields/cron/Cron.stories.tsx +0 -68
  538. package/src/components/form/fields/cron/Cron.tsx +0 -80
  539. package/src/components/form/fields/date/Date.stories.tsx +0 -77
  540. package/src/components/form/fields/date/Date.tsx +0 -55
  541. package/src/components/form/fields/emittedValues.ts +0 -70
  542. package/src/components/form/fields/file/File.stories.tsx +0 -161
  543. package/src/components/form/fields/file/File.tsx +0 -227
  544. package/src/components/form/fields/long-string/LongString.stories.tsx +0 -120
  545. package/src/components/form/fields/long-string/LongString.tsx +0 -130
  546. package/src/components/form/fields/markdown/Markdown.stories.tsx +0 -76
  547. package/src/components/form/fields/markdown/Markdown.tsx +0 -81
  548. package/src/components/form/fields/markdown/MarkdownView.tsx +0 -222
  549. package/src/components/form/fields/multi-select/MultiSelectFormField.tsx +0 -139
  550. package/src/components/form/fields/number/Number.stories.tsx +0 -159
  551. package/src/components/form/fields/number/Number.tsx +0 -160
  552. package/src/components/form/fields/object/Object.stories.tsx +0 -398
  553. package/src/components/form/fields/object/Object.tsx +0 -255
  554. package/src/components/form/fields/radio-group/RadioGroup.stories.tsx +0 -95
  555. package/src/components/form/fields/radio-group/RadioGroup.tsx +0 -46
  556. package/src/components/form/fields/radio-group/images/java-96x128.png +0 -0
  557. package/src/components/form/fields/radio-group/images/python-129x128.png +0 -0
  558. package/src/components/form/fields/radio-group/images/qore-106x128.png +0 -0
  559. package/src/components/form/fields/rich-text/RichText.stories.tsx +0 -260
  560. package/src/components/form/fields/rich-text/RichText.tsx +0 -537
  561. package/src/components/form/fields/schema-definition/CatalogLeafForm.tsx +0 -242
  562. package/src/components/form/fields/schema-definition/CatalogNodeEditor.tsx +0 -758
  563. package/src/components/form/fields/schema-definition/Hint.tsx +0 -22
  564. package/src/components/form/fields/schema-definition/InlineValidationBanner.tsx +0 -138
  565. package/src/components/form/fields/schema-definition/Loader.tsx +0 -20
  566. package/src/components/form/fields/schema-definition/MigrationsTab.tsx +0 -187
  567. package/src/components/form/fields/schema-definition/SchemaDefinitionField.stories.tsx +0 -286
  568. package/src/components/form/fields/schema-definition/TableEditor.tsx +0 -155
  569. package/src/components/form/fields/schema-definition/TablesTab.tsx +0 -138
  570. package/src/components/form/fields/schema-definition/catalog.ts +0 -237
  571. package/src/components/form/fields/schema-definition/helpers.ts +0 -90
  572. package/src/components/form/fields/schema-definition/index.tsx +0 -418
  573. package/src/components/form/fields/schema-definition/mockCatalog.ts +0 -325
  574. package/src/components/form/fields/schema-definition/mockDefinition.ts +0 -111
  575. package/src/components/form/fields/schema-definition/referenceSuggestions.tsx +0 -152
  576. package/src/components/form/fields/schema-definition/starterTemplate.ts +0 -68
  577. package/src/components/form/fields/schema-definition/types.ts +0 -185
  578. package/src/components/form/fields/schema-definition/useSchemaOptionCatalog.ts +0 -49
  579. package/src/components/form/fields/select/Select.stories.tsx +0 -872
  580. package/src/components/form/fields/select/Select.tsx +0 -624
  581. package/src/components/form/fields/select/SelectCollection.tsx +0 -594
  582. package/src/components/form/fields/string/String.stories.tsx +0 -86
  583. package/src/components/form/fields/string/String.tsx +0 -43
  584. package/src/components/form/fields/template/ExampleValueModal.stories.tsx +0 -114
  585. package/src/components/form/fields/template/ExampleValueModal.tsx +0 -99
  586. package/src/components/form/fields/template/ReadOnlyTemplateTag.tsx +0 -47
  587. package/src/components/form/fields/template/TemplateField.stories.tsx +0 -1121
  588. package/src/components/form/fields/template/TemplateField.tsx +0 -1717
  589. package/src/components/form/fields/template/TemplateText.tsx +0 -115
  590. package/src/components/form/fields/template/__fixtures__/longExampleValue.ts +0 -7
  591. package/src/components/form/fields/template/__fixtures__/multiLevelTemplates.json +0 -147
  592. package/src/components/form/fields/template/__fixtures__/templates.json +0 -83
  593. package/src/components/form/fields/timeout/Timeout.stories.tsx +0 -228
  594. package/src/components/form/fields/timeout/Timeout.tsx +0 -87
  595. package/src/components/form/fields/url/Url.stories.tsx +0 -94
  596. package/src/components/form/fields/url/Url.tsx +0 -85
  597. package/src/components/form/index.tsx +0 -47
  598. package/src/components/imageLightbox/ImageLightbox.stories.tsx +0 -238
  599. package/src/components/imageLightbox/ImageLightbox.tsx +0 -236
  600. package/src/components/imageLightbox/index.ts +0 -1
  601. package/src/components/log/Log.stories.tsx +0 -333
  602. package/src/components/log/Log.tsx +0 -285
  603. package/src/components/menu/Menu.stories.tsx +0 -155
  604. package/src/components/menu/Menu.tsx +0 -312
  605. package/src/components/qonsoleSmartInput/QonsoleSmartInput.stories.tsx +0 -797
  606. package/src/components/qonsoleSmartInput/QonsoleSmartInput.tsx +0 -105
  607. package/src/components/qonsoleSmartInput/index.ts +0 -16
  608. package/src/components/qonsoleSmartInput/qonsoleInserter.ts +0 -77
  609. package/src/components/qonsoleSmartInput/types.ts +0 -133
  610. package/src/components/qonsoleSmartInput/useQonsoleSession.ts +0 -124
  611. package/src/components/searchFilterBar/SearchFilterBar.stories.tsx +0 -62
  612. package/src/components/searchFilterBar/SearchFilterBar.tsx +0 -144
  613. package/src/components/searchFilterBar/index.ts +0 -1
  614. package/src/components/smartEditor/MarkdownDoc.tsx +0 -190
  615. package/src/components/smartEditor/SmartEditor.stories.tsx +0 -475
  616. package/src/components/smartEditor/SmartEditor.tsx +0 -808
  617. package/src/components/smartEditor/__fixtures__/mockLspServer.ts +0 -205
  618. package/src/components/smartEditor/helpers.ts +0 -217
  619. package/src/components/smartEditor/index.ts +0 -35
  620. package/src/components/smartEditor/styling.ts +0 -45
  621. package/src/components/smartEditor/types.ts +0 -211
  622. package/src/components/smartEditor/useLspAutocomplete.ts +0 -758
  623. package/src/components/smartEditor/useLspDiagnosticDecorations.ts +0 -125
  624. package/src/components/smartEditor/useLspHover.ts +0 -230
  625. package/src/components/smartEditor/useLspSemanticTokens.ts +0 -298
  626. package/src/components/smartEditor/useLspSession.ts +0 -231
  627. package/src/components/smartEditor/useLspSignatureHelp.ts +0 -198
  628. package/src/components/supportTicket/AttachmentChips.stories.tsx +0 -171
  629. package/src/components/supportTicket/AttachmentChips.tsx +0 -147
  630. package/src/components/supportTicket/InterfaceReferenceTags.stories.tsx +0 -257
  631. package/src/components/supportTicket/InterfaceReferenceTags.tsx +0 -129
  632. package/src/components/supportTicket/ReferencePicker.stories.tsx +0 -584
  633. package/src/components/supportTicket/ReferencePicker.tsx +0 -563
  634. package/src/components/supportTicket/TicketConversation.stories.tsx +0 -121
  635. package/src/components/supportTicket/TicketHeader.stories.tsx +0 -183
  636. package/src/components/supportTicket/TicketHeader.tsx +0 -247
  637. package/src/components/supportTicket/TicketMetaTags.stories.tsx +0 -103
  638. package/src/components/supportTicket/TicketMetaTags.tsx +0 -85
  639. package/src/components/supportTicket/TicketReplyBox.stories.tsx +0 -354
  640. package/src/components/supportTicket/TicketReplyBox.tsx +0 -150
  641. package/src/components/supportTicket/__fixtures__/kindMarks.ts +0 -28
  642. package/src/components/supportTicket/attachmentAccess.ts +0 -97
  643. package/src/components/supportTicket/fileToAttachment.ts +0 -24
  644. package/src/components/supportTicket/index.ts +0 -10
  645. package/src/components/supportTicket/meta.ts +0 -206
  646. package/src/components/supportTicket/ticketModel.ts +0 -131
  647. package/src/components/supportTicket/useLoadedImages.ts +0 -73
  648. package/src/components/ticketReferences/TicketReferences.stories.tsx +0 -315
  649. package/src/components/ticketReferences/TicketReferences.tsx +0 -906
  650. package/src/components/ticketReferences/index.ts +0 -2
  651. package/src/components/ticketThread/TicketThread.stories.tsx +0 -829
  652. package/src/components/ticketThread/TicketThread.tsx +0 -719
  653. package/src/components/ticketThread/index.ts +0 -6
  654. package/src/contexts/FetchContext.tsx +0 -25
  655. package/src/contexts/ReqraftContext.tsx +0 -9
  656. package/src/contexts/StorageContext.tsx +0 -33
  657. package/src/global.d.ts +0 -4
  658. package/src/helpers/allowedValues.ts +0 -249
  659. package/src/helpers/choiceChip.ts +0 -227
  660. package/src/helpers/common.ts +0 -326
  661. package/src/helpers/dpqlDetection.ts +0 -209
  662. package/src/helpers/expressions.ts +0 -140
  663. package/src/helpers/optionUiTypes.ts +0 -199
  664. package/src/helpers/options.ts +0 -150
  665. package/src/helpers/providerValue.ts +0 -125
  666. package/src/helpers/scrollbar.ts +0 -32
  667. package/src/helpers/singleLineString.ts +0 -61
  668. package/src/helpers/templateItems.ts +0 -81
  669. package/src/helpers/templateText.ts +0 -350
  670. package/src/helpers/templates.ts +0 -602
  671. package/src/helpers/validations.ts +0 -2085
  672. package/src/hooks/useArgSchema.ts +0 -37
  673. package/src/hooks/useCoarsePointer.ts +0 -30
  674. package/src/hooks/useFetch/useFetch.stories.tsx +0 -379
  675. package/src/hooks/useFetch/useFetch.tsx +0 -154
  676. package/src/hooks/usePhoneViewport.ts +0 -34
  677. package/src/hooks/useQorusTypes.ts +0 -233
  678. package/src/hooks/useReqraftProperty.ts +0 -16
  679. package/src/hooks/useStorage/useStorage.stories.tsx +0 -168
  680. package/src/hooks/useStorage/useStorage.ts +0 -35
  681. package/src/hooks/useTemplates.ts +0 -123
  682. package/src/hooks/useValidation.ts +0 -9
  683. package/src/hooks/useWebSocket/useWebSocket.ts +0 -224
  684. package/src/hooks/useWebSocket/useWebsocket.stories.tsx +0 -640
  685. package/src/hooks/useWhyDidYouUpdate.ts +0 -38
  686. package/src/index.tsx +0 -86
  687. package/src/providers/FetchProvider.tsx +0 -40
  688. package/src/providers/ReqraftProvider.tsx +0 -52
  689. package/src/providers/StorageProvider.tsx +0 -131
  690. package/src/stores/currentUser/currentUser.stories.tsx +0 -100
  691. package/src/stores/currentUser/currentUser.tsx +0 -94
  692. package/src/stories/Data/fileFieldArgSchema.json +0 -86
  693. package/src/stories/Tests/utils.ts +0 -320
  694. package/src/stories/storyNetwork.ts +0 -92
  695. package/src/stories/tracking.tsx +0 -206
  696. package/src/tracking/browser/attach.ts +0 -186
  697. package/src/tracking/browser/env.ts +0 -78
  698. package/src/tracking/core/consent.ts +0 -37
  699. package/src/tracking/core/engagement.ts +0 -47
  700. package/src/tracking/core/experiments.ts +0 -258
  701. package/src/tracking/core/hash.ts +0 -26
  702. package/src/tracking/core/ids.ts +0 -25
  703. package/src/tracking/core/observable.ts +0 -23
  704. package/src/tracking/core/queue.ts +0 -131
  705. package/src/tracking/core/sections.ts +0 -166
  706. package/src/tracking/core/storage.ts +0 -69
  707. package/src/tracking/core/tracker.ts +0 -417
  708. package/src/tracking/core/types.ts +0 -162
  709. package/src/tracking/core/utm.ts +0 -23
  710. package/src/tracking/index.ts +0 -72
  711. package/src/tracking/markup.ts +0 -17
  712. package/src/tracking/react/Experiment.tsx +0 -44
  713. package/src/tracking/react/TrackingProvider.tsx +0 -56
  714. package/src/tracking/react/hooks.ts +0 -106
  715. package/src/tracking/react/index.ts +0 -13
  716. package/src/tracking/testing.ts +0 -108
  717. package/src/tracking/ui/ExperimentCard.stories.tsx +0 -296
  718. package/src/tracking/ui/ExperimentCard.tsx +0 -667
  719. package/src/tracking/ui/ExperimentsOverlay.stories.tsx +0 -155
  720. package/src/tracking/ui/ExperimentsOverlay.tsx +0 -437
  721. package/src/tracking/ui/anchor.ts +0 -180
  722. package/src/tracking/ui/card.ts +0 -464
  723. package/src/tracking/ui/client.ts +0 -117
  724. package/src/tracking/ui/index.ts +0 -77
  725. package/src/tracking/ui/types.ts +0 -110
  726. package/src/tracking/ui/useExperimentsAdmin.ts +0 -103
  727. package/src/types/Form.ts +0 -29
  728. package/src/types.ts +0 -14
  729. package/src/utils/datetime.ts +0 -10
  730. package/src/utils/fetch.ts +0 -457
  731. package/src/utils/lspClient.ts +0 -711
  732. package/src/utils/lspClient.types.ts +0 -211
  733. package/src/utils/queryUnlessCancelled.ts +0 -28
  734. package/src/utils/websocket.ts +0 -293
  735. package/vite.config.ts +0 -58
  736. package/vitest.config.ts +0 -69
@@ -1,554 +0,0 @@
1
- // Copyright 2026 Qore Technologies, s.r.o.
2
- // <Composer> — the shared Qorus message composer, a faithful lift of qorus-ide's
3
- // Qonsole chat input: the same gradient-bordered `StyledEffect` bar, transparent
4
- // editor, attachment preview strip, and control row (attach + toolbar on the left,
5
- // actions + send on the right). Everything Qonsole-specific (slash completions,
6
- // command history, design-mode, sendCommand) is replaced by slots + props, so the
7
- // exact same input can back the Qonsole, the helpdesk reply box, and anything else.
8
-
9
- import {
10
- ReqoreButton,
11
- ReqoreCallout,
12
- ReqoreControlGroup,
13
- ReqoreDropdown,
14
- ReqoreIcon,
15
- ReqoreRichTextEditor,
16
- ReqoreSpan,
17
- ReqoreTextarea,
18
- useReqoreTheme,
19
- } from '@qoretechnologies/reqore';
20
- import { StyledEffect } from '@qoretechnologies/reqore/dist/components/Effect';
21
- import type { TReqoreDropdownItems } from '@qoretechnologies/reqore/dist/components/Dropdown/list';
22
- import type { IReqoreRichTextEditorProps } from '@qoretechnologies/reqore/dist/components/RichTextEditor';
23
- import type { IReqoreIconName } from '@qoretechnologies/reqore/dist/types/icons';
24
- import {
25
- ChangeEvent as ReactChangeEvent,
26
- ClipboardEvent as ReactClipboardEvent,
27
- ComponentProps,
28
- forwardRef,
29
- KeyboardEvent as ReactKeyboardEvent,
30
- ReactNode,
31
- useEffect,
32
- useImperativeHandle,
33
- useRef,
34
- useState,
35
- } from 'react';
36
- import styled from 'styled-components';
37
- import {
38
- clipboardImages,
39
- EMPTY_RICH_VALUE,
40
- isPlainSubmitEnter,
41
- richValueFromString,
42
- richValueToString,
43
- } from './helpers';
44
-
45
- /** Reqore's intent / effect / theme unions, without guessing import paths. */
46
- type TIntent = ComponentProps<typeof ReqoreButton>['intent'];
47
- type TEffect = ComponentProps<typeof StyledEffect>['effect'];
48
- type TCustomTheme = ComponentProps<typeof ReqoreButton>['customTheme'];
49
- /**
50
- * The `items` shape ReqoreDropdown accepts. Named, not derived: `ReqoreDropdown`
51
- * is a generic component, and `ComponentProps` of a generic resolves to `{}`
52
- * under strict checking — so the derived type had no `items` at all.
53
- */
54
- type TDropdownItems = TReqoreDropdownItems;
55
-
56
- /** Which editor the composer renders. */
57
- export type TComposerEditor = 'rich' | 'plain';
58
-
59
- /** One send action. With more than one, the send button splits into a primary
60
- * button (the first action) + a caret dropdown listing them all. `id` is echoed
61
- * back to `onSend` so the caller knows which action fired. */
62
- export interface IComposerSendAction {
63
- id?: string;
64
- /** button label; omit for an icon-only button (like the Qonsole send). */
65
- label?: string;
66
- icon?: IReqoreIconName;
67
- intent?: TIntent;
68
- /** per-button Reqore theme (e.g. `{ main: 'custom1' }` for the Qonsole accent). */
69
- customTheme?: TCustomTheme;
70
- /** render the button minimal (subtle, blends into the bar — the Qonsole style). */
71
- minimal?: boolean;
72
- }
73
-
74
- /** Imperative handle for consumers that drive the editor externally (e.g. the
75
- * Qonsole input inserting a completion or navigating history). */
76
- export interface IComposerHandle {
77
- focus: () => void;
78
- clear: () => void;
79
- setText: (text: string) => void;
80
- getText: () => string;
81
- }
82
-
83
- export interface IComposerProps {
84
- /** Editor flavour. `rich` = ReqoreRichTextEditor (default), `plain` = ReqoreTextarea. */
85
- editor?: TComposerEditor;
86
- /** Initial draft text (also seeds the editor for a restored draft / a story). */
87
- defaultText?: string;
88
- /** Initial staged files (a restored draft's attachments, or a demo). */
89
- defaultFiles?: File[];
90
- placeholder?: string;
91
- /**
92
- * Submit the composed message. `text` is the plain-string body; `files` are the
93
- * staged attachments (raw `File`s — the caller converts to its own upload shape);
94
- * `action` is the chosen send action's `id` (undefined for the default button).
95
- */
96
- onSend: (text: string, options: { files: File[]; action?: string }) => void | Promise<void>;
97
- /** Single-button label / icon / intent (ignored when `sendActions` is set). */
98
- sendLabel?: string;
99
- sendIcon?: IReqoreIconName;
100
- sendIntent?: TIntent;
101
- /** Default send button: minimal (subtle, Qonsole-style). Default `true`. */
102
- sendMinimal?: boolean;
103
- /** Default send button accent (Reqore `customTheme`). Default `{ main: 'custom1' }`
104
- * — the Qorus accent, which each app's theme colours (gray in a bare reqore theme). */
105
- sendCustomTheme?: TCustomTheme;
106
- /** Multiple send actions → a split send button. The first is the primary. */
107
- sendActions?: IComposerSendAction[];
108
- /** className on the split-send caret dropdown (keeps consumer test hooks, e.g.
109
- * the helpdesk `ticket-send-more`). */
110
- sendMenuClassName?: string;
111
- /** the send round-trip is in flight */
112
- sending?: boolean;
113
- /** disabled → renders a muted notice with `disabledReason` instead of the composer */
114
- disabled?: boolean;
115
- disabledReason?: string;
116
- /** submit on plain Enter (Shift/Ctrl/Alt/Meta+Enter insert a newline). Default true. */
117
- submitOnEnter?: boolean;
118
- /** clear the editor + staged files after a resolved send. Default true. */
119
- clearOnSend?: boolean;
120
- /** allow sending with empty text (e.g. attachments only). Default false. */
121
- allowEmptySend?: boolean;
122
- /** Extra attach-menu entries beyond "Upload files" (receives `addFiles`). With any
123
- * entry the attach control becomes a dropdown; otherwise a plain button. */
124
- attachMenuItems?: (addFiles: (files: File[]) => void) => TDropdownItems;
125
- /** the attach control icon (Qonsole uses `AddLine`). */
126
- attachIcon?: IReqoreIconName;
127
- /** hide the attach control entirely. */
128
- hideAttach?: boolean;
129
- /** Slots: `toolbarStart` sits after attach on the left (e.g. the Qonsole slash
130
- * dropdown), `footerActions` after it (e.g. a reference toggle), `rightActions`
131
- * left of send (e.g. the Qonsole design button), `aboveInput` on top of the
132
- * editor inside the bar (e.g. reference chips), and `belowInput` under the bar. */
133
- toolbarStart?: ReactNode;
134
- footerActions?: ReactNode;
135
- rightActions?: ReactNode;
136
- aboveInput?: ReactNode;
137
- belowInput?: ReactNode;
138
- /** Hooks for consumers layering behaviour on the editor (completions, history). */
139
- onChange?: (text: string) => void;
140
- onEditorKeyDown?: (e: ReactKeyboardEvent) => void;
141
- onFocus?: () => void;
142
- onBlur?: () => void;
143
- /** editor sizing */
144
- size?: ComponentProps<typeof ReqoreTextarea>['size'];
145
- /** drop the composer's outer margin (for tight embeds). */
146
- minimal?: boolean;
147
- /** override the bar's gradient / effect (qorus-ide passes its `custom1` accent to
148
- * match the Qonsole floating bar exactly). */
149
- effect?: TEffect;
150
- }
151
-
152
- // The Qonsole input chrome, lifted verbatim from qorus-ide's StyledInputWrapper.
153
- // The border is 1px *transparent* — it only reserves the border-box so the
154
- // `effect` gradient can paint the edge (that's how the Qonsole bar's accent glow
155
- // is drawn — a gradient border, not a border-color). All colour comes from
156
- // `effect` (+ the ambient theme), so the bar takes on whatever accent the app /
157
- // story supplies.
158
- const StyledComposer = styled(StyledEffect)<{ $minimal?: boolean }>`
159
- margin: ${({ $minimal }) => ($minimal ? '0' : '2px')};
160
- padding: 4px;
161
- border: 1px solid transparent;
162
- border-radius: 6px;
163
- `;
164
-
165
- // Layout-neutral ref holder: `display: contents` generates no box, so it gives the
166
- // composer a wrapper element to target paste/drop against without perturbing flow.
167
- const StyledContentsWrapper = styled.div`
168
- display: contents;
169
- `;
170
-
171
- const StyledAttachmentList = styled.div`
172
- display: flex;
173
- flex-wrap: wrap;
174
- gap: 8px;
175
- // 8px left inset (as in the IDE) so it lines up with the editor text; the 10px
176
- // bottom gives space before whatever follows (references / editor).
177
- padding: 8px 8px 10px;
178
- `;
179
-
180
- // Content shown on top of the editor (e.g. reference chips) gets the same 8px left
181
- // inset as the attachment strip so both line up with the editor text, not the bar edge.
182
- const StyledAboveInput = styled.div`
183
- padding-left: 8px;
184
- `;
185
-
186
- const StyledAttachment = styled.div`
187
- position: relative;
188
- display: inline-block;
189
- `;
190
-
191
- const StyledAttachmentImage = styled.img`
192
- display: block;
193
- max-height: 80px;
194
- border-radius: 4px;
195
- border: 1px solid rgba(123, 104, 238, 0.3);
196
- `;
197
-
198
- const StyledAttachmentFile = styled.div`
199
- display: flex;
200
- align-items: center;
201
- gap: 6px;
202
- height: 40px;
203
- padding: 0 12px;
204
- border-radius: 4px;
205
- border: 1px solid rgba(123, 104, 238, 0.3);
206
- background: rgba(123, 104, 238, 0.08);
207
- max-width: 220px;
208
- `;
209
-
210
- const StyledAttachmentFilename = styled(ReqoreSpan)`
211
- overflow: hidden;
212
- text-overflow: ellipsis;
213
- white-space: nowrap;
214
- `;
215
-
216
- const StyledAttachmentRemoveWrapper = styled.div`
217
- position: absolute;
218
- top: -8px;
219
- right: -8px;
220
- `;
221
-
222
- /** The Qonsole bar effect — a `custom1` gradient border over a transparent fill,
223
- * exactly like qorus-ide's QonsoleInput. `custom1` resolves per app theme (Qorus
224
- * purple in qorus-ide / admin-portal, gray in a bare reqore theme). Override via
225
- * the `effect` prop. */
226
- const DEFAULT_EFFECT: TEffect = {
227
- gradient: { direction: 'to bottom right', colors: 'custom1:darken:1:0.9' },
228
- };
229
-
230
- export const Composer = forwardRef<IComposerHandle, IComposerProps>(function Composer(
231
- {
232
- editor = 'rich',
233
- defaultText,
234
- defaultFiles,
235
- placeholder = 'Write a message…',
236
- onSend,
237
- sendLabel = 'Send',
238
- sendIcon = 'SendPlane2Line',
239
- sendIntent,
240
- sendMinimal = true,
241
- sendCustomTheme = { main: 'custom1' },
242
- sendActions,
243
- sendMenuClassName,
244
- sending,
245
- disabled,
246
- disabledReason = '',
247
- submitOnEnter = true,
248
- clearOnSend = true,
249
- allowEmptySend = false,
250
- attachMenuItems,
251
- attachIcon = 'AddLine',
252
- hideAttach,
253
- toolbarStart,
254
- footerActions,
255
- rightActions,
256
- aboveInput,
257
- belowInput,
258
- onChange,
259
- onEditorKeyDown,
260
- onFocus,
261
- onBlur,
262
- size = 'small',
263
- minimal,
264
- effect = DEFAULT_EFFECT,
265
- },
266
- ref
267
- ) {
268
- const theme = useReqoreTheme();
269
- const [richValue, setRichValue] = useState<IReqoreRichTextEditorProps['value']>(() =>
270
- defaultText ? richValueFromString(defaultText) : EMPTY_RICH_VALUE
271
- );
272
- const [plainValue, setPlainValue] = useState(defaultText ?? '');
273
- const [files, setFiles] = useState<File[]>(() => defaultFiles ?? []);
274
- const [previews, setPreviews] = useState<string[]>([]);
275
- const fileInput = useRef<HTMLInputElement>(null);
276
- const wrapperRef = useRef<HTMLDivElement>(null);
277
-
278
- // Image thumbnails for the preview strip; object URLs revoked on change/unmount.
279
- useEffect(() => {
280
- const urls = files.map((f) => (f.type.startsWith('image/') ? URL.createObjectURL(f) : ''));
281
- setPreviews(urls);
282
- return () => urls.forEach((u) => u && URL.revokeObjectURL(u));
283
- }, [files]);
284
-
285
- const getText = (): string =>
286
- editor === 'rich' ? richValueToString(richValue) : plainValue;
287
- const setText = (text: string): void => {
288
- if (editor === 'rich') {
289
- setRichValue(richValueFromString(text));
290
- } else {
291
- setPlainValue(text);
292
- }
293
- };
294
-
295
- useImperativeHandle(
296
- ref,
297
- (): IComposerHandle => ({
298
- focus: () =>
299
- wrapperRef.current
300
- ?.querySelector<HTMLElement>('[contenteditable="true"], textarea')
301
- ?.focus(),
302
- clear: () => setText(''),
303
- setText,
304
- getText,
305
- }),
306
- [editor, richValue, plainValue]
307
- );
308
-
309
- // Every send action inherits the composer's send style (the Qonsole look by
310
- // default) so a split-send stays visually of a piece with the single button —
311
- // unless the action picks its own. The accent is only defaulted when the action
312
- // hasn't chosen an `intent`, since in Reqore an intent owns the colour and would
313
- // otherwise fight the `customTheme`.
314
- const withSendStyle = (action: IComposerSendAction): IComposerSendAction => ({
315
- minimal: sendMinimal,
316
- ...(action.intent ? undefined : { customTheme: sendCustomTheme }),
317
- ...action,
318
- });
319
-
320
- const actions: IComposerSendAction[] = sendActions?.length
321
- ? sendActions.map(withSendStyle)
322
- : [withSendStyle({ id: undefined, label: sendLabel, icon: sendIcon, intent: sendIntent })];
323
- const primary = actions[0];
324
- const isSplit = actions.length > 1;
325
-
326
- const addFiles = (incoming: File[]): void => {
327
- if (incoming.length) {
328
- setFiles((prev) => [...prev, ...incoming]);
329
- }
330
- };
331
- const removeFile = (index: number): void =>
332
- setFiles((prev) => prev.filter((_, j) => j !== index));
333
-
334
- const handlePaste = (event: ReactClipboardEvent): void => {
335
- const images = clipboardImages(event);
336
- if (images.length) {
337
- event.preventDefault();
338
- addFiles(images);
339
- }
340
- };
341
-
342
- const text = getText();
343
- const canSend = (allowEmptySend || !!text.trim() || files.length > 0) && !sending;
344
-
345
- const handleSend = async (actionId?: string): Promise<void> => {
346
- const body = getText();
347
- if (!canSend) {
348
- return;
349
- }
350
- await onSend(clearOnSend ? body.trim() : body, { files, action: actionId });
351
- if (clearOnSend) {
352
- setText('');
353
- setFiles([]);
354
- }
355
- };
356
-
357
- const handleKeyDown = (e: ReactKeyboardEvent): void => {
358
- onEditorKeyDown?.(e);
359
- if (submitOnEnter && isPlainSubmitEnter(e)) {
360
- e.preventDefault();
361
- void handleSend(primary.id);
362
- }
363
- };
364
-
365
- if (disabled) {
366
- /* A callout, not a message. This stands in for the composer itself — it is
367
- the thing the reader meets where they expected somewhere to type — and a
368
- ReqoreMessage draws that as a notification bar, which reads as something
369
- having gone wrong rather than as "this conversation is closed". */
370
- return (
371
- <ReqoreCallout intent='muted' icon='LockLine' size='small' flat rounded={false}>
372
- {disabledReason}
373
- </ReqoreCallout>
374
- );
375
- }
376
-
377
- const extraAttachItems = attachMenuItems ? attachMenuItems(addFiles) : [];
378
-
379
- // Icon-only when `label` is omitted; `customTheme`/`minimal` let a caller match
380
- // the Qonsole accent send (minimal, custom1-themed) or any other look.
381
- const sendButton = (action: IComposerSendAction) => (
382
- <ReqoreButton
383
- icon={action.icon}
384
- intent={action.intent}
385
- customTheme={action.customTheme}
386
- minimal={action.minimal}
387
- size={size}
388
- disabled={!canSend}
389
- loading={sending}
390
- flat
391
- onClick={() => handleSend(action.id)}
392
- fixed={!isSplit}
393
- >
394
- {action.label}
395
- </ReqoreButton>
396
- );
397
-
398
- return (
399
- <StyledContentsWrapper ref={wrapperRef}>
400
- <StyledComposer
401
- as='div'
402
- theme={theme}
403
- $minimal={minimal}
404
- // transparent fill (like QonsoleInput) → the page shows through and only
405
- // the effect's gradient *border* glows; `minimal` opts into a solid fill.
406
- transparent={!minimal}
407
- effect={effect}
408
- onPaste={handlePaste}
409
- >
410
- <input
411
- ref={fileInput}
412
- type='file'
413
- multiple
414
- style={{ display: 'none' }}
415
- onChange={(e) => {
416
- if (e.target.files) {
417
- addFiles(Array.from(e.target.files));
418
- }
419
- e.target.value = '';
420
- }}
421
- />
422
- {files.length > 0 && (
423
- <StyledAttachmentList>
424
- {files.map((file, index) => (
425
- <StyledAttachment key={`${file.name}-${index}`}>
426
- {previews[index] ? (
427
- <StyledAttachmentImage src={previews[index]} alt={file.name} />
428
- ) : (
429
- <StyledAttachmentFile title={file.name}>
430
- <ReqoreIcon icon='FileLine' size='small' />
431
- <StyledAttachmentFilename size='small'>{file.name}</StyledAttachmentFilename>
432
- </StyledAttachmentFile>
433
- )}
434
- <StyledAttachmentRemoveWrapper>
435
- <ReqoreButton
436
- icon='CloseLine'
437
- size='micro'
438
- leftIconProps={{ size: 'tiny' }}
439
- circle
440
- onClick={() => removeFile(index)}
441
- tooltip='Remove attachment'
442
- />
443
- </StyledAttachmentRemoveWrapper>
444
- </StyledAttachment>
445
- ))}
446
- </StyledAttachmentList>
447
- )}
448
- <ReqoreControlGroup vertical fluid>
449
- {aboveInput && <StyledAboveInput>{aboveInput}</StyledAboveInput>}
450
- <ReqoreControlGroup fluid verticalAlign='center' size='small'>
451
- {editor === 'rich' ? (
452
- <ReqoreRichTextEditor
453
- value={richValue}
454
- panelProps={{ fluid: true }}
455
- onChange={(value) => {
456
- setRichValue(value);
457
- onChange?.(richValueToString(value));
458
- }}
459
- onKeyDown={handleKeyDown}
460
- onFocus={onFocus}
461
- onBlur={onBlur}
462
- placeholder={placeholder}
463
- disabled={sending}
464
- transparent
465
- flat
466
- fluid
467
- size={size}
468
- actions={{ styling: false, undo: false, redo: false }}
469
- onClearClick={text ? () => setText('') : undefined}
470
- />
471
- ) : (
472
- <ReqoreTextarea
473
- value={plainValue}
474
- scaleWithContent
475
- fluid
476
- transparent
477
- flat
478
- size={size}
479
- placeholder={placeholder}
480
- disabled={sending}
481
- onChange={(e: ReactChangeEvent<HTMLTextAreaElement>) => {
482
- setPlainValue(e.target.value);
483
- onChange?.(e.target.value);
484
- }}
485
- onKeyDown={handleKeyDown}
486
- onFocus={onFocus}
487
- onBlur={onBlur}
488
- />
489
- )}
490
- </ReqoreControlGroup>
491
- <ReqoreControlGroup fluid size='small' spaceBetween verticalAlign='center'>
492
- <ReqoreControlGroup stack fluid={false} size='small' verticalAlign='center'>
493
- {!hideAttach &&
494
- (extraAttachItems.length ? (
495
- <ReqoreDropdown
496
- icon={attachIcon}
497
- flat
498
- transparent
499
- disabled={sending}
500
- tooltip='Attach'
501
- items={[
502
- {
503
- label: 'Upload files',
504
- icon: 'Upload2Line',
505
- onClick: () => fileInput.current?.click(),
506
- },
507
- ...extraAttachItems,
508
- ]}
509
- />
510
- ) : (
511
- <ReqoreButton
512
- icon={attachIcon}
513
- flat
514
- transparent
515
- disabled={sending}
516
- tooltip='Attach files'
517
- onClick={() => fileInput.current?.click()}
518
- />
519
- ))}
520
- {toolbarStart}
521
- {footerActions}
522
- </ReqoreControlGroup>
523
- <ReqoreControlGroup stack fluid={false} size='small'>
524
- {rightActions}
525
- {isSplit ? (
526
- <>
527
- {sendButton(primary)}
528
- <ReqoreDropdown
529
- className={sendMenuClassName}
530
- icon='ArrowDownSLine'
531
- intent={primary.intent}
532
- customTheme={primary.customTheme}
533
- minimal={primary.minimal}
534
- disabled={!canSend}
535
- tooltip='More send options'
536
- items={actions.map((action) => ({
537
- label: action.label,
538
- icon: action.icon,
539
- intent: action.intent,
540
- onClick: () => handleSend(action.id),
541
- }))}
542
- />
543
- </>
544
- ) : (
545
- sendButton(primary)
546
- )}
547
- </ReqoreControlGroup>
548
- </ReqoreControlGroup>
549
- </ReqoreControlGroup>
550
- </StyledComposer>
551
- {belowInput}
552
- </StyledContentsWrapper>
553
- );
554
- });
@@ -1,74 +0,0 @@
1
- // Copyright 2026 Qore Technologies, s.r.o.
2
- // Pure helpers for the shared <Composer>. No DOM/app coupling — safe on any surface.
3
-
4
- import type { ClipboardEvent, KeyboardEvent } from 'react';
5
- import type { IReqoreRichTextEditorProps } from '@qoretechnologies/reqore/dist/components/RichTextEditor';
6
-
7
- /** The Slate value for an empty rich editor — a single empty paragraph. */
8
- export const EMPTY_RICH_VALUE: IReqoreRichTextEditorProps['value'] = [
9
- { type: 'paragraph', children: [{ text: '' }] },
10
- ];
11
-
12
- /**
13
- * Rich editor value → plain string. Top-level blocks join with `\n` so a
14
- * multi-paragraph message (a support reply, a pasted log) survives as real
15
- * newlines; within a block, text leaves and `tag` values concatenate. Mirrors
16
- * qorus-ide's `richtextToString` but newline-preserving for multi-line composers.
17
- */
18
- export const richValueToString = (value: IReqoreRichTextEditorProps['value']): string => {
19
- if (!value) {
20
- return '';
21
- }
22
- if (typeof value === 'string') {
23
- return value;
24
- }
25
- const nodeText = (node: any): string => {
26
- if (node == null) {
27
- return '';
28
- }
29
- if (typeof node.text === 'string') {
30
- return node.text;
31
- }
32
- if (node.type === 'tag') {
33
- return node.value?.toString() ?? '';
34
- }
35
- if (Array.isArray(node.children)) {
36
- return node.children.map(nodeText).join('');
37
- }
38
- return '';
39
- };
40
- return value.map(nodeText).join('\n');
41
- };
42
-
43
- /** Plain string → rich editor value: one paragraph per line, so `setText`
44
- * round-trips with `richValueToString`. */
45
- export const richValueFromString = (text: string): IReqoreRichTextEditorProps['value'] => {
46
- if (!text) {
47
- return EMPTY_RICH_VALUE;
48
- }
49
- return text.split('\n').map((line) => ({
50
- type: 'paragraph',
51
- children: [{ text: line }],
52
- })) as IReqoreRichTextEditorProps['value'];
53
- };
54
-
55
- /** Image files present on a clipboard paste (a screenshot, a copied image), so
56
- * pasting-to-attach works on any composer without an IDE dependency. */
57
- export const clipboardImages = (event: ClipboardEvent): File[] => {
58
- const images: File[] = [];
59
- for (const item of Array.from(event.clipboardData?.items ?? [])) {
60
- if (item.kind === 'file' && item.type.startsWith('image/')) {
61
- const file = item.getAsFile();
62
- if (file) {
63
- images.push(file);
64
- }
65
- }
66
- }
67
- return images;
68
- };
69
-
70
- /** Enter with no modifier — the "submit" chord (Shift/Ctrl/Alt/Meta+Enter insert
71
- * a newline instead). */
72
- export const isPlainSubmitEnter = (
73
- e: Pick<KeyboardEvent, 'key' | 'shiftKey' | 'ctrlKey' | 'altKey' | 'metaKey'>
74
- ): boolean => e.key === 'Enter' && !e.shiftKey && !e.ctrlKey && !e.altKey && !e.metaKey;
@@ -1,2 +0,0 @@
1
- export * from './Composer';
2
- export * from './helpers';