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

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 (834) hide show
  1. package/README.md +53 -1
  2. package/dist/components/Description/AllowedValuesHelp.d.ts +20 -0
  3. package/dist/components/Description/AllowedValuesHelp.d.ts.map +1 -0
  4. package/dist/components/Description/AllowedValuesHelp.js +86 -0
  5. package/dist/components/Description/AllowedValuesHelp.js.map +1 -0
  6. package/dist/components/Description/describedControl.d.ts +54 -0
  7. package/dist/components/Description/describedControl.d.ts.map +1 -0
  8. package/dist/components/Description/describedControl.js +81 -0
  9. package/dist/components/Description/describedControl.js.map +1 -0
  10. package/dist/components/Description/index.d.ts.map +1 -1
  11. package/dist/components/Description/index.js +3 -2
  12. package/dist/components/Description/index.js.map +1 -1
  13. package/dist/components/colorValue/colorValue.d.ts +59 -0
  14. package/dist/components/colorValue/colorValue.d.ts.map +1 -0
  15. package/dist/components/colorValue/colorValue.js +245 -0
  16. package/dist/components/colorValue/colorValue.js.map +1 -0
  17. package/dist/components/colorValue/index.d.ts +34 -0
  18. package/dist/components/colorValue/index.d.ts.map +1 -0
  19. package/dist/components/colorValue/index.js +136 -0
  20. package/dist/components/colorValue/index.js.map +1 -0
  21. package/dist/components/colorValue/labels.d.ts +12 -0
  22. package/dist/components/colorValue/labels.d.ts.map +1 -0
  23. package/dist/components/colorValue/labels.js +11 -0
  24. package/dist/components/colorValue/labels.js.map +1 -0
  25. package/dist/components/composer/Composer.d.ts +1 -1
  26. package/dist/components/composer/Composer.d.ts.map +1 -1
  27. package/dist/components/composer/Composer.js +2 -2
  28. package/dist/components/composer/Composer.js.map +1 -1
  29. package/dist/components/dpqlEditor/DpqlEditor.d.ts.map +1 -1
  30. package/dist/components/dpqlEditor/DpqlEditor.js +41 -8
  31. package/dist/components/dpqlEditor/DpqlEditor.js.map +1 -1
  32. package/dist/components/dpqlEditor/dpqlCompletions.d.ts +35 -0
  33. package/dist/components/dpqlEditor/dpqlCompletions.d.ts.map +1 -0
  34. package/dist/components/dpqlEditor/dpqlCompletions.js +122 -0
  35. package/dist/components/dpqlEditor/dpqlCompletions.js.map +1 -0
  36. package/dist/components/dpqlEditor/dpqlHelpers.d.ts +47 -5
  37. package/dist/components/dpqlEditor/dpqlHelpers.d.ts.map +1 -1
  38. package/dist/components/dpqlEditor/dpqlHelpers.js +390 -62
  39. package/dist/components/dpqlEditor/dpqlHelpers.js.map +1 -1
  40. package/dist/components/dpqlEditor/dpqlInserter.d.ts.map +1 -1
  41. package/dist/components/dpqlEditor/dpqlInserter.js +59 -29
  42. package/dist/components/dpqlEditor/dpqlInserter.js.map +1 -1
  43. package/dist/components/dpqlEditor/dpqlTags.d.ts +17 -7
  44. package/dist/components/dpqlEditor/dpqlTags.d.ts.map +1 -1
  45. package/dist/components/dpqlEditor/dpqlTags.js +44 -17
  46. package/dist/components/dpqlEditor/dpqlTags.js.map +1 -1
  47. package/dist/components/dpqlEditor/types.d.ts +61 -8
  48. package/dist/components/dpqlEditor/types.d.ts.map +1 -1
  49. package/dist/components/dpqlEditor/useDpqlSession.d.ts +2 -2
  50. package/dist/components/dpqlEditor/useDpqlSession.d.ts.map +1 -1
  51. package/dist/components/dpqlEditor/useDpqlSession.js +16 -7
  52. package/dist/components/dpqlEditor/useDpqlSession.js.map +1 -1
  53. package/dist/components/form/engine/CompactRow.d.ts.map +1 -1
  54. package/dist/components/form/engine/CompactRow.js +327 -123
  55. package/dist/components/form/engine/CompactRow.js.map +1 -1
  56. package/dist/components/form/engine/CompactToolbar.d.ts.map +1 -1
  57. package/dist/components/form/engine/CompactToolbar.js +29 -3
  58. package/dist/components/form/engine/CompactToolbar.js.map +1 -1
  59. package/dist/components/form/engine/FormEngine.d.ts +66 -11
  60. package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
  61. package/dist/components/form/engine/FormEngine.js +597 -173
  62. package/dist/components/form/engine/FormEngine.js.map +1 -1
  63. package/dist/components/form/engine/HiddenFieldsNote.d.ts +28 -0
  64. package/dist/components/form/engine/HiddenFieldsNote.d.ts.map +1 -0
  65. package/dist/components/form/engine/HiddenFieldsNote.js +32 -0
  66. package/dist/components/form/engine/HiddenFieldsNote.js.map +1 -0
  67. package/dist/components/form/engine/OptionFieldMessages.d.ts.map +1 -1
  68. package/dist/components/form/engine/OptionFieldMessages.js +25 -3
  69. package/dist/components/form/engine/OptionFieldMessages.js.map +1 -1
  70. package/dist/components/form/engine/OptionsHelpDialog.d.ts.map +1 -1
  71. package/dist/components/form/engine/OptionsHelpDialog.js +19 -2
  72. package/dist/components/form/engine/OptionsHelpDialog.js.map +1 -1
  73. package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts +2 -2
  74. package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts.map +1 -1
  75. package/dist/components/form/engine/_structuredData/SchemaDataView.js +12 -6
  76. package/dist/components/form/engine/_structuredData/SchemaDataView.js.map +1 -1
  77. package/dist/components/form/engine/compactRowContext.d.ts +32 -1
  78. package/dist/components/form/engine/compactRowContext.d.ts.map +1 -1
  79. package/dist/components/form/engine/compactRowContext.js.map +1 -1
  80. package/dist/components/form/engine/compactRowStyles.d.ts +22 -10
  81. package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
  82. package/dist/components/form/engine/compactRowStyles.js +53 -39
  83. package/dist/components/form/engine/compactRowStyles.js.map +1 -1
  84. package/dist/components/form/engine/compactToolbarColors.d.ts +16 -0
  85. package/dist/components/form/engine/compactToolbarColors.d.ts.map +1 -0
  86. package/dist/components/form/engine/compactToolbarColors.js +21 -0
  87. package/dist/components/form/engine/compactToolbarColors.js.map +1 -0
  88. package/dist/components/form/engine/inheritProps.d.ts +29 -0
  89. package/dist/components/form/engine/inheritProps.d.ts.map +1 -0
  90. package/dist/components/form/engine/inheritProps.js +43 -0
  91. package/dist/components/form/engine/inheritProps.js.map +1 -0
  92. package/dist/components/form/engine/operatorSummary.d.ts +26 -0
  93. package/dist/components/form/engine/operatorSummary.d.ts.map +1 -0
  94. package/dist/components/form/engine/operatorSummary.js +35 -0
  95. package/dist/components/form/engine/operatorSummary.js.map +1 -0
  96. package/dist/components/form/engine/readFirst.d.ts +24 -8
  97. package/dist/components/form/engine/readFirst.d.ts.map +1 -1
  98. package/dist/components/form/engine/readFirst.js +77 -109
  99. package/dist/components/form/engine/readFirst.js.map +1 -1
  100. package/dist/components/form/engine/readFirstColors.d.ts +30 -0
  101. package/dist/components/form/engine/readFirstColors.d.ts.map +1 -0
  102. package/dist/components/form/engine/readFirstColors.js +51 -0
  103. package/dist/components/form/engine/readFirstColors.js.map +1 -0
  104. package/dist/components/form/engine/rowFocus.d.ts +2 -0
  105. package/dist/components/form/engine/rowFocus.d.ts.map +1 -1
  106. package/dist/components/form/engine/rowFocus.js +26 -3
  107. package/dist/components/form/engine/rowFocus.js.map +1 -1
  108. package/dist/components/form/engine/typeChoices.d.ts +1 -1
  109. package/dist/components/form/engine/variants/VariantCalmTable.d.ts.map +1 -1
  110. package/dist/components/form/engine/variants/VariantCalmTable.js +2 -1
  111. package/dist/components/form/engine/variants/VariantCalmTable.js.map +1 -1
  112. package/dist/components/form/engine/variants/VariantCards.d.ts.map +1 -1
  113. package/dist/components/form/engine/variants/VariantCards.js +2 -1
  114. package/dist/components/form/engine/variants/VariantCards.js.map +1 -1
  115. package/dist/components/form/engine/variants/VariantFocus.js +1 -1
  116. package/dist/components/form/engine/variants/VariantFocus.js.map +1 -1
  117. package/dist/components/form/engine/variants/VariantMinimal.d.ts.map +1 -1
  118. package/dist/components/form/engine/variants/VariantMinimal.js +2 -1
  119. package/dist/components/form/engine/variants/VariantMinimal.js.map +1 -1
  120. package/dist/components/form/engine/variants/variantParts.d.ts +1 -1
  121. package/dist/components/form/engine/variants/variantParts.d.ts.map +1 -1
  122. package/dist/components/form/engine/variants/variantParts.js +25 -17
  123. package/dist/components/form/engine/variants/variantParts.js.map +1 -1
  124. package/dist/components/form/expressions/DpqlRendering.d.ts +1 -1
  125. package/dist/components/form/expressions/DpqlRendering.d.ts.map +1 -1
  126. package/dist/components/form/expressions/DpqlRendering.js +7 -6
  127. package/dist/components/form/expressions/DpqlRendering.js.map +1 -1
  128. package/dist/components/form/expressions/ExpressionField.d.ts +66 -3
  129. package/dist/components/form/expressions/ExpressionField.d.ts.map +1 -1
  130. package/dist/components/form/expressions/ExpressionField.js +475 -100
  131. package/dist/components/form/expressions/ExpressionField.js.map +1 -1
  132. package/dist/components/form/expressions/argumentPresence.d.ts +14 -0
  133. package/dist/components/form/expressions/argumentPresence.d.ts.map +1 -1
  134. package/dist/components/form/expressions/argumentPresence.js +16 -1
  135. package/dist/components/form/expressions/argumentPresence.js.map +1 -1
  136. package/dist/components/form/expressions/builder/argumentDetail.d.ts.map +1 -1
  137. package/dist/components/form/expressions/builder/argumentDetail.js +4 -1
  138. package/dist/components/form/expressions/builder/argumentDetail.js.map +1 -1
  139. package/dist/components/form/expressions/builder/argumentLabel.d.ts.map +1 -1
  140. package/dist/components/form/expressions/builder/argumentLabel.js +27 -9
  141. package/dist/components/form/expressions/builder/argumentLabel.js.map +1 -1
  142. package/dist/components/form/expressions/builder/argumentWrapper.d.ts.map +1 -1
  143. package/dist/components/form/expressions/builder/argumentWrapper.js +3 -1
  144. package/dist/components/form/expressions/builder/argumentWrapper.js.map +1 -1
  145. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.d.ts.map +1 -1
  146. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js +5 -4
  147. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js.map +1 -1
  148. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts +1 -1
  149. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts.map +1 -1
  150. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js +6 -3
  151. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js.map +1 -1
  152. package/dist/components/form/expressions/builder/index.d.ts +29 -2
  153. package/dist/components/form/expressions/builder/index.d.ts.map +1 -1
  154. package/dist/components/form/expressions/builder/index.js +161 -78
  155. package/dist/components/form/expressions/builder/index.js.map +1 -1
  156. package/dist/components/form/expressions/builder/item.d.ts +6 -2
  157. package/dist/components/form/expressions/builder/item.d.ts.map +1 -1
  158. package/dist/components/form/expressions/builder/item.js +19 -5
  159. package/dist/components/form/expressions/builder/item.js.map +1 -1
  160. package/dist/components/form/expressions/builder/renderTemplate.js +1 -1
  161. package/dist/components/form/expressions/builder/renderTemplate.js.map +1 -1
  162. package/dist/components/form/expressions/dpqlMockRecordPath.d.ts +11 -0
  163. package/dist/components/form/expressions/dpqlMockRecordPath.d.ts.map +1 -0
  164. package/dist/components/form/expressions/dpqlMockRecordPath.js +254 -0
  165. package/dist/components/form/expressions/dpqlMockRecordPath.js.map +1 -0
  166. package/dist/components/form/expressions/expressionOperands.d.ts +16 -0
  167. package/dist/components/form/expressions/expressionOperands.d.ts.map +1 -0
  168. package/dist/components/form/expressions/expressionOperands.js +97 -0
  169. package/dist/components/form/expressions/expressionOperands.js.map +1 -0
  170. package/dist/components/form/expressions/fieldPath.d.ts +24 -0
  171. package/dist/components/form/expressions/fieldPath.d.ts.map +1 -0
  172. package/dist/components/form/expressions/fieldPath.js +152 -0
  173. package/dist/components/form/expressions/fieldPath.js.map +1 -0
  174. package/dist/components/form/expressions/loneValue.d.ts +17 -0
  175. package/dist/components/form/expressions/loneValue.d.ts.map +1 -0
  176. package/dist/components/form/expressions/loneValue.js +33 -0
  177. package/dist/components/form/expressions/loneValue.js.map +1 -0
  178. package/dist/components/form/expressions/mockExpressions.d.ts.map +1 -1
  179. package/dist/components/form/expressions/mockExpressions.js +22 -5
  180. package/dist/components/form/expressions/mockExpressions.js.map +1 -1
  181. package/dist/components/form/expressions/renderExpressionToText.d.ts +2 -0
  182. package/dist/components/form/expressions/renderExpressionToText.d.ts.map +1 -1
  183. package/dist/components/form/expressions/renderExpressionToText.js +43 -10
  184. package/dist/components/form/expressions/renderExpressionToText.js.map +1 -1
  185. package/dist/components/form/expressions/textOfExpression.d.ts +18 -0
  186. package/dist/components/form/expressions/textOfExpression.d.ts.map +1 -0
  187. package/dist/components/form/expressions/textOfExpression.js +49 -0
  188. package/dist/components/form/expressions/textOfExpression.js.map +1 -0
  189. package/dist/components/form/expressions/types.d.ts +7 -0
  190. package/dist/components/form/expressions/types.d.ts.map +1 -1
  191. package/dist/components/form/expressions/types.js +6 -1
  192. package/dist/components/form/expressions/types.js.map +1 -1
  193. package/dist/components/form/expressions/useExpressionType.d.ts +26 -0
  194. package/dist/components/form/expressions/useExpressionType.d.ts.map +1 -0
  195. package/dist/components/form/expressions/useExpressionType.js +181 -0
  196. package/dist/components/form/expressions/useExpressionType.js.map +1 -0
  197. package/dist/components/form/expressions/useRenderExpression.d.ts.map +1 -1
  198. package/dist/components/form/expressions/useRenderExpression.js +13 -9
  199. package/dist/components/form/expressions/useRenderExpression.js.map +1 -1
  200. package/dist/components/form/expressions/wildcardExpressions.d.ts +27 -0
  201. package/dist/components/form/expressions/wildcardExpressions.d.ts.map +1 -0
  202. package/dist/components/form/expressions/wildcardExpressions.js +101 -0
  203. package/dist/components/form/expressions/wildcardExpressions.js.map +1 -0
  204. package/dist/components/form/fields/Field.d.ts.map +1 -1
  205. package/dist/components/form/fields/Field.js +43 -20
  206. package/dist/components/form/fields/Field.js.map +1 -1
  207. package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
  208. package/dist/components/form/fields/allowed-values/AllowedValues.js +39 -6
  209. package/dist/components/form/fields/allowed-values/AllowedValues.js.map +1 -1
  210. package/dist/components/form/fields/allowed-values/choicePicture.d.ts +37 -0
  211. package/dist/components/form/fields/allowed-values/choicePicture.d.ts.map +1 -0
  212. package/dist/components/form/fields/allowed-values/choicePicture.js +64 -0
  213. package/dist/components/form/fields/allowed-values/choicePicture.js.map +1 -0
  214. package/dist/components/form/fields/array/ArrayAuto.d.ts.map +1 -1
  215. package/dist/components/form/fields/array/ArrayAuto.js +24 -0
  216. package/dist/components/form/fields/array/ArrayAuto.js.map +1 -1
  217. package/dist/components/form/fields/array/ArrayAutoField.d.ts.map +1 -1
  218. package/dist/components/form/fields/array/ArrayAutoField.js +36 -13
  219. package/dist/components/form/fields/array/ArrayAutoField.js.map +1 -1
  220. package/dist/components/form/fields/auto/AutoFormField.d.ts +20 -1
  221. package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
  222. package/dist/components/form/fields/auto/AutoFormField.js +91 -53
  223. package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
  224. package/dist/components/form/fields/auto/hostEditorValue.d.ts +30 -0
  225. package/dist/components/form/fields/auto/hostEditorValue.d.ts.map +1 -0
  226. package/dist/components/form/fields/auto/hostEditorValue.js +53 -0
  227. package/dist/components/form/fields/auto/hostEditorValue.js.map +1 -0
  228. package/dist/components/form/fields/binary/Binary.d.ts.map +1 -1
  229. package/dist/components/form/fields/binary/Binary.js +23 -3
  230. package/dist/components/form/fields/binary/Binary.js.map +1 -1
  231. package/dist/components/form/fields/boolean/Boolean.d.ts +5 -0
  232. package/dist/components/form/fields/boolean/Boolean.d.ts.map +1 -1
  233. package/dist/components/form/fields/boolean/Boolean.js +9 -1
  234. package/dist/components/form/fields/boolean/Boolean.js.map +1 -1
  235. package/dist/components/form/fields/color/Color.d.ts +103 -16
  236. package/dist/components/form/fields/color/Color.d.ts.map +1 -1
  237. package/dist/components/form/fields/color/Color.js +616 -16
  238. package/dist/components/form/fields/color/Color.js.map +1 -1
  239. package/dist/components/form/fields/emittedValues.d.ts +34 -3
  240. package/dist/components/form/fields/emittedValues.d.ts.map +1 -1
  241. package/dist/components/form/fields/emittedValues.js +24 -1
  242. package/dist/components/form/fields/emittedValues.js.map +1 -1
  243. package/dist/components/form/fields/file/File.d.ts +1 -1
  244. package/dist/components/form/fields/file/File.d.ts.map +1 -1
  245. package/dist/components/form/fields/file/File.js +4 -2
  246. package/dist/components/form/fields/file/File.js.map +1 -1
  247. package/dist/components/form/fields/long-string/LongString.d.ts.map +1 -1
  248. package/dist/components/form/fields/long-string/LongString.js +29 -8
  249. package/dist/components/form/fields/long-string/LongString.js.map +1 -1
  250. package/dist/components/form/fields/markdown/MarkdownView.js +1 -1
  251. package/dist/components/form/fields/multi-select/MultiSelectFormField.d.ts.map +1 -1
  252. package/dist/components/form/fields/multi-select/MultiSelectFormField.js +13 -9
  253. package/dist/components/form/fields/multi-select/MultiSelectFormField.js.map +1 -1
  254. package/dist/components/form/fields/number/Number.d.ts +6 -0
  255. package/dist/components/form/fields/number/Number.d.ts.map +1 -1
  256. package/dist/components/form/fields/number/Number.js +41 -6
  257. package/dist/components/form/fields/number/Number.js.map +1 -1
  258. package/dist/components/form/fields/object/Object.d.ts +1 -1
  259. package/dist/components/form/fields/object/Object.d.ts.map +1 -1
  260. package/dist/components/form/fields/object/Object.js +4 -2
  261. package/dist/components/form/fields/object/Object.js.map +1 -1
  262. package/dist/components/form/fields/pendingEdit.d.ts +52 -0
  263. package/dist/components/form/fields/pendingEdit.d.ts.map +1 -0
  264. package/dist/components/form/fields/pendingEdit.js +79 -0
  265. package/dist/components/form/fields/pendingEdit.js.map +1 -0
  266. package/dist/components/form/fields/radio-group/RadioGroup.d.ts.map +1 -1
  267. package/dist/components/form/fields/radio-group/RadioGroup.js +4 -3
  268. package/dist/components/form/fields/radio-group/RadioGroup.js.map +1 -1
  269. package/dist/components/form/fields/rich-text/RichText.d.ts +8 -1
  270. package/dist/components/form/fields/rich-text/RichText.d.ts.map +1 -1
  271. package/dist/components/form/fields/rich-text/RichText.js +211 -85
  272. package/dist/components/form/fields/rich-text/RichText.js.map +1 -1
  273. package/dist/components/form/fields/rich-text/useTemplateTags.d.ts +18 -0
  274. package/dist/components/form/fields/rich-text/useTemplateTags.d.ts.map +1 -0
  275. package/dist/components/form/fields/rich-text/useTemplateTags.js +77 -0
  276. package/dist/components/form/fields/rich-text/useTemplateTags.js.map +1 -0
  277. package/dist/components/form/fields/schema-definition/CatalogLeafForm.d.ts.map +1 -1
  278. package/dist/components/form/fields/schema-definition/CatalogLeafForm.js +4 -1
  279. package/dist/components/form/fields/schema-definition/CatalogLeafForm.js.map +1 -1
  280. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.d.ts.map +1 -1
  281. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js +20 -5
  282. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js.map +1 -1
  283. package/dist/components/form/fields/schema-definition/TableEditor.d.ts.map +1 -1
  284. package/dist/components/form/fields/schema-definition/TableEditor.js +10 -2
  285. package/dist/components/form/fields/schema-definition/TableEditor.js.map +1 -1
  286. package/dist/components/form/fields/schema-definition/index.d.ts.map +1 -1
  287. package/dist/components/form/fields/schema-definition/index.js +8 -4
  288. package/dist/components/form/fields/schema-definition/index.js.map +1 -1
  289. package/dist/components/form/fields/select/Select.d.ts +10 -1
  290. package/dist/components/form/fields/select/Select.d.ts.map +1 -1
  291. package/dist/components/form/fields/select/Select.js +28 -14
  292. package/dist/components/form/fields/select/Select.js.map +1 -1
  293. package/dist/components/form/fields/select/SelectCollection.d.ts +5 -0
  294. package/dist/components/form/fields/select/SelectCollection.d.ts.map +1 -1
  295. package/dist/components/form/fields/select/SelectCollection.js +25 -12
  296. package/dist/components/form/fields/select/SelectCollection.js.map +1 -1
  297. package/dist/components/form/fields/select/unavailableRow.d.ts +23 -0
  298. package/dist/components/form/fields/select/unavailableRow.d.ts.map +1 -0
  299. package/dist/components/form/fields/select/unavailableRow.js +55 -0
  300. package/dist/components/form/fields/select/unavailableRow.js.map +1 -0
  301. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts +11 -5
  302. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts.map +1 -1
  303. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js +21 -5
  304. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js.map +1 -1
  305. package/dist/components/form/fields/template/TemplateBrowser.d.ts +22 -0
  306. package/dist/components/form/fields/template/TemplateBrowser.d.ts.map +1 -0
  307. package/dist/components/form/fields/template/TemplateBrowser.js +54 -0
  308. package/dist/components/form/fields/template/TemplateBrowser.js.map +1 -0
  309. package/dist/components/form/fields/template/TemplateField.d.ts +103 -1
  310. package/dist/components/form/fields/template/TemplateField.d.ts.map +1 -1
  311. package/dist/components/form/fields/template/TemplateField.js +652 -104
  312. package/dist/components/form/fields/template/TemplateField.js.map +1 -1
  313. package/dist/components/form/fields/template/TemplateText.d.ts +0 -17
  314. package/dist/components/form/fields/template/TemplateText.d.ts.map +1 -1
  315. package/dist/components/form/fields/template/TemplateText.js +22 -16
  316. package/dist/components/form/fields/template/TemplateText.js.map +1 -1
  317. package/dist/components/form/fields/template/referenceNames.d.ts +63 -0
  318. package/dist/components/form/fields/template/referenceNames.d.ts.map +1 -0
  319. package/dist/components/form/fields/template/referenceNames.js +69 -0
  320. package/dist/components/form/fields/template/referenceNames.js.map +1 -0
  321. package/dist/components/form/fields/template/writtenAsText.d.ts +61 -0
  322. package/dist/components/form/fields/template/writtenAsText.d.ts.map +1 -0
  323. package/dist/components/form/fields/template/writtenAsText.js +204 -0
  324. package/dist/components/form/fields/template/writtenAsText.js.map +1 -0
  325. package/dist/components/form/index.d.ts +11 -0
  326. package/dist/components/form/index.d.ts.map +1 -1
  327. package/dist/components/form/index.js +24 -1
  328. package/dist/components/form/index.js.map +1 -1
  329. package/dist/components/form/typeSentenceForm.d.ts +11 -0
  330. package/dist/components/form/typeSentenceForm.d.ts.map +1 -0
  331. package/dist/components/form/typeSentenceForm.js +40 -0
  332. package/dist/components/form/typeSentenceForm.js.map +1 -0
  333. package/dist/components/imageLightbox/ImageLightbox.d.ts.map +1 -1
  334. package/dist/components/imageLightbox/ImageLightbox.js +19 -7
  335. package/dist/components/imageLightbox/ImageLightbox.js.map +1 -1
  336. package/dist/components/log/Log.d.ts.map +1 -1
  337. package/dist/components/log/Log.js +16 -8
  338. package/dist/components/log/Log.js.map +1 -1
  339. package/dist/components/menu/Menu.d.ts.map +1 -1
  340. package/dist/components/menu/Menu.js +19 -10
  341. package/dist/components/menu/Menu.js.map +1 -1
  342. package/dist/components/smartEditor/CompletionMenu.d.ts +45 -0
  343. package/dist/components/smartEditor/CompletionMenu.d.ts.map +1 -0
  344. package/dist/components/smartEditor/CompletionMenu.js +207 -0
  345. package/dist/components/smartEditor/CompletionMenu.js.map +1 -0
  346. package/dist/components/smartEditor/MarkdownDoc.d.ts +1 -1
  347. package/dist/components/smartEditor/MarkdownDoc.js +3 -3
  348. package/dist/components/smartEditor/MarkdownDoc.js.map +1 -1
  349. package/dist/components/smartEditor/SmartEditor.d.ts.map +1 -1
  350. package/dist/components/smartEditor/SmartEditor.js +366 -187
  351. package/dist/components/smartEditor/SmartEditor.js.map +1 -1
  352. package/dist/components/smartEditor/completionStyle.d.ts +27 -0
  353. package/dist/components/smartEditor/completionStyle.d.ts.map +1 -0
  354. package/dist/components/smartEditor/completionStyle.js +68 -0
  355. package/dist/components/smartEditor/completionStyle.js.map +1 -0
  356. package/dist/components/smartEditor/index.d.ts +5 -1
  357. package/dist/components/smartEditor/index.d.ts.map +1 -1
  358. package/dist/components/smartEditor/index.js +19 -1
  359. package/dist/components/smartEditor/index.js.map +1 -1
  360. package/dist/components/smartEditor/templateCompletions.d.ts +38 -0
  361. package/dist/components/smartEditor/templateCompletions.d.ts.map +1 -0
  362. package/dist/components/smartEditor/templateCompletions.js +126 -0
  363. package/dist/components/smartEditor/templateCompletions.js.map +1 -0
  364. package/dist/components/smartEditor/typedReferences.d.ts +21 -0
  365. package/dist/components/smartEditor/typedReferences.d.ts.map +1 -0
  366. package/dist/components/smartEditor/typedReferences.js +82 -0
  367. package/dist/components/smartEditor/typedReferences.js.map +1 -0
  368. package/dist/components/smartEditor/types.d.ts +66 -2
  369. package/dist/components/smartEditor/types.d.ts.map +1 -1
  370. package/dist/components/smartEditor/useLspAutocomplete.d.ts +62 -2
  371. package/dist/components/smartEditor/useLspAutocomplete.d.ts.map +1 -1
  372. package/dist/components/smartEditor/useLspAutocomplete.js +345 -146
  373. package/dist/components/smartEditor/useLspAutocomplete.js.map +1 -1
  374. package/dist/components/smartEditor/useLspHover.d.ts +33 -7
  375. package/dist/components/smartEditor/useLspHover.d.ts.map +1 -1
  376. package/dist/components/smartEditor/useLspHover.js +351 -35
  377. package/dist/components/smartEditor/useLspHover.js.map +1 -1
  378. package/dist/components/smartEditor/useLspSemanticTokens.js +1 -1
  379. package/dist/components/smartEditor/useLspSemanticTokens.js.map +1 -1
  380. package/dist/components/smartEditor/useLspSession.d.ts +6 -0
  381. package/dist/components/smartEditor/useLspSession.d.ts.map +1 -1
  382. package/dist/components/smartEditor/useLspSession.js +7 -6
  383. package/dist/components/smartEditor/useLspSession.js.map +1 -1
  384. package/dist/components/smartEditor/useLspSignatureHelp.d.ts.map +1 -1
  385. package/dist/components/smartEditor/useLspSignatureHelp.js +6 -11
  386. package/dist/components/smartEditor/useLspSignatureHelp.js.map +1 -1
  387. package/dist/components/supportTicket/AttachmentChips.d.ts.map +1 -1
  388. package/dist/components/supportTicket/AttachmentChips.js +15 -5
  389. package/dist/components/supportTicket/AttachmentChips.js.map +1 -1
  390. package/dist/components/supportTicket/ReferencePicker.d.ts +9 -2
  391. package/dist/components/supportTicket/ReferencePicker.d.ts.map +1 -1
  392. package/dist/components/supportTicket/ReferencePicker.js +27 -6
  393. package/dist/components/supportTicket/ReferencePicker.js.map +1 -1
  394. package/dist/components/supportTicket/TicketHeader.d.ts +3 -4
  395. package/dist/components/supportTicket/TicketHeader.d.ts.map +1 -1
  396. package/dist/components/supportTicket/TicketHeader.js +20 -2
  397. package/dist/components/supportTicket/TicketHeader.js.map +1 -1
  398. package/dist/components/supportTicket/TicketMetaTags.d.ts +1 -1
  399. package/dist/components/ticketReferences/TicketReferences.d.ts.map +1 -1
  400. package/dist/components/ticketReferences/TicketReferences.js +9 -4
  401. package/dist/components/ticketReferences/TicketReferences.js.map +1 -1
  402. package/dist/components/ticketThread/TicketThread.d.ts.map +1 -1
  403. package/dist/components/ticketThread/TicketThread.js +38 -13
  404. package/dist/components/ticketThread/TicketThread.js.map +1 -1
  405. package/dist/helpers/allowedValues.d.ts +21 -0
  406. package/dist/helpers/allowedValues.d.ts.map +1 -1
  407. package/dist/helpers/allowedValues.js +40 -1
  408. package/dist/helpers/allowedValues.js.map +1 -1
  409. package/dist/helpers/descriptionTooltip.d.ts +46 -0
  410. package/dist/helpers/descriptionTooltip.d.ts.map +1 -0
  411. package/dist/helpers/descriptionTooltip.js +76 -0
  412. package/dist/helpers/descriptionTooltip.js.map +1 -0
  413. package/dist/helpers/domProps.d.ts +5 -0
  414. package/dist/helpers/domProps.d.ts.map +1 -0
  415. package/dist/helpers/domProps.js +47 -0
  416. package/dist/helpers/domProps.js.map +1 -0
  417. package/dist/helpers/expressions.d.ts +107 -2
  418. package/dist/helpers/expressions.d.ts.map +1 -1
  419. package/dist/helpers/expressions.js +223 -8
  420. package/dist/helpers/expressions.js.map +1 -1
  421. package/dist/helpers/hoveringPointer.d.ts +26 -0
  422. package/dist/helpers/hoveringPointer.d.ts.map +1 -0
  423. package/dist/helpers/hoveringPointer.js +29 -0
  424. package/dist/helpers/hoveringPointer.js.map +1 -0
  425. package/dist/helpers/markdownText.d.ts +14 -0
  426. package/dist/helpers/markdownText.d.ts.map +1 -0
  427. package/dist/helpers/markdownText.js +160 -0
  428. package/dist/helpers/markdownText.js.map +1 -0
  429. package/dist/helpers/noDescription.d.ts +9 -0
  430. package/dist/helpers/noDescription.d.ts.map +1 -0
  431. package/dist/helpers/noDescription.js +13 -0
  432. package/dist/helpers/noDescription.js.map +1 -0
  433. package/dist/helpers/optionUiTypes.d.ts +2 -2
  434. package/dist/helpers/qorusTypeCatalogue.d.ts +85 -0
  435. package/dist/helpers/qorusTypeCatalogue.d.ts.map +1 -0
  436. package/dist/helpers/qorusTypeCatalogue.js +301 -0
  437. package/dist/helpers/qorusTypeCatalogue.js.map +1 -0
  438. package/dist/helpers/readableColors.d.ts +36 -0
  439. package/dist/helpers/readableColors.d.ts.map +1 -0
  440. package/dist/helpers/readableColors.js +116 -0
  441. package/dist/helpers/readableColors.js.map +1 -0
  442. package/dist/helpers/recordFieldReference.d.ts +15 -0
  443. package/dist/helpers/recordFieldReference.d.ts.map +1 -0
  444. package/dist/helpers/recordFieldReference.js +89 -0
  445. package/dist/helpers/recordFieldReference.js.map +1 -0
  446. package/dist/helpers/templateItems.d.ts +2 -2
  447. package/dist/helpers/templateItems.d.ts.map +1 -1
  448. package/dist/helpers/templateItems.js +6 -4
  449. package/dist/helpers/templateItems.js.map +1 -1
  450. package/dist/helpers/templateText.d.ts +1 -0
  451. package/dist/helpers/templateText.d.ts.map +1 -1
  452. package/dist/helpers/templateText.js +7 -3
  453. package/dist/helpers/templateText.js.map +1 -1
  454. package/dist/helpers/templates.d.ts +68 -14
  455. package/dist/helpers/templates.d.ts.map +1 -1
  456. package/dist/helpers/templates.js +210 -24
  457. package/dist/helpers/templates.js.map +1 -1
  458. package/dist/helpers/validations.d.ts +28 -1
  459. package/dist/helpers/validations.d.ts.map +1 -1
  460. package/dist/helpers/validations.js +166 -37
  461. package/dist/helpers/validations.js.map +1 -1
  462. package/dist/helpers/webLink.d.ts +8 -0
  463. package/dist/helpers/webLink.d.ts.map +1 -0
  464. package/dist/helpers/webLink.js +29 -0
  465. package/dist/helpers/webLink.js.map +1 -0
  466. package/dist/hooks/useQorusTypes.d.ts +7 -15
  467. package/dist/hooks/useQorusTypes.d.ts.map +1 -1
  468. package/dist/hooks/useQorusTypes.js +25 -166
  469. package/dist/hooks/useQorusTypes.js.map +1 -1
  470. package/dist/hooks/useReadableIntentShade.d.ts +9 -0
  471. package/dist/hooks/useReadableIntentShade.d.ts.map +1 -0
  472. package/dist/hooks/useReadableIntentShade.js +23 -0
  473. package/dist/hooks/useReadableIntentShade.js.map +1 -0
  474. package/dist/hooks/useReadableOpacity.d.ts +6 -0
  475. package/dist/hooks/useReadableOpacity.d.ts.map +1 -0
  476. package/dist/hooks/useReadableOpacity.js +17 -0
  477. package/dist/hooks/useReadableOpacity.js.map +1 -0
  478. package/dist/index.d.ts +1 -0
  479. package/dist/index.d.ts.map +1 -1
  480. package/dist/index.js +1 -0
  481. package/dist/index.js.map +1 -1
  482. package/dist/tracking/ui/ExperimentCard.d.ts +1 -1
  483. package/dist/tracking/ui/ExperimentCard.d.ts.map +1 -1
  484. package/dist/tracking/ui/ExperimentCard.js +26 -10
  485. package/dist/tracking/ui/ExperimentCard.js.map +1 -1
  486. package/dist/tracking/ui/card.d.ts +2 -2
  487. package/dist/tracking/ui/card.d.ts.map +1 -1
  488. package/dist/tracking/ui/card.js +2 -2
  489. package/dist/tracking/ui/card.js.map +1 -1
  490. package/dist/tracking/ui/readable.d.ts +14 -0
  491. package/dist/tracking/ui/readable.d.ts.map +1 -0
  492. package/dist/tracking/ui/readable.js +60 -0
  493. package/dist/tracking/ui/readable.js.map +1 -0
  494. package/dist/utils/fetch.d.ts +9 -2
  495. package/dist/utils/fetch.d.ts.map +1 -1
  496. package/dist/utils/fetch.js +6 -5
  497. package/dist/utils/fetch.js.map +1 -1
  498. package/dist/utils/websocket.d.ts +65 -2
  499. package/dist/utils/websocket.d.ts.map +1 -1
  500. package/dist/utils/websocket.js +276 -44
  501. package/dist/utils/websocket.js.map +1 -1
  502. package/package.json +14 -5
  503. package/.claude/CLAUDE.md +0 -317
  504. package/.tasks/EXPORT_EXPRESSION_BUILDER.md +0 -38
  505. package/.tasks/EXPRESSION_BUILDER_REPORT.md +0 -149
  506. package/.tasks/EXPRESSION_FIELD_SEAMS.md +0 -66
  507. package/.tasks/FIELD_STACK_REPORT.md +0 -234
  508. package/.tasks/FORM_ENGINE_COMPACT_READ_FIRST.md +0 -558
  509. package/.tasks/FORM_ENGINE_EXPRESSIONS.md +0 -197
  510. package/.tasks/FORM_ENGINE_OPTIONS_SYNC.md +0 -95
  511. package/.tasks/FORM_FIELD_EXTRAS.md +0 -72
  512. package/.tasks/INDEX.md +0 -111
  513. package/.tasks/LSP_SHARED_CONNECTION.md +0 -75
  514. package/.tasks/QONSOLE_ASSIST_FEATURES.md +0 -306
  515. package/.tasks/RENDER_EXPRESSION_LSP.md +0 -159
  516. package/.tasks/REQRAFT_AUTO_FIELD.md +0 -176
  517. package/.tasks/SCHEMA_DEFINITION_FIELD.md +0 -250
  518. package/.tasks/SMART_EDITOR_CONTEXT_AND_POLISH.md +0 -340
  519. package/.tasks/SMART_EDITOR_LSP_FEATURES.md +0 -299
  520. package/.tasks/SMART_EDITOR_REVIEW_FOLLOWUPS.md +0 -280
  521. package/.tasks/SMART_EDITOR_UX_POLISH.md +0 -383
  522. package/.tasks/SMART_EDITOR_VISUAL_POLISH.md +0 -246
  523. package/.tasks/STORY_NETWORK_ISOLATION.md +0 -98
  524. package/.tasks/TEMPLATE_TOKEN_GRAMMAR.md +0 -72
  525. package/CODE_OF_CONDUCT.md +0 -105
  526. package/CONTRIBUTING.MD +0 -78
  527. package/SECURITY.md +0 -3
  528. package/chromatic.config.json +0 -5
  529. package/design/COMPACT_ENGINE_REDESIGN.md +0 -156
  530. package/design/COMPACT_INFO_DISPLAY.md +0 -87
  531. package/design/COMPACT_PARITY.md +0 -85
  532. package/design/EXPRESSION_BUILDER_REPORT_STRATEGY.md +0 -92
  533. package/design/FORM_ENGINE_COMPACT.md +0 -300
  534. package/design/FORM_ENGINE_COMPACT_UX_PLAN.md +0 -353
  535. package/design/FORM_ENGINE_EXPRESSIONS.md +0 -257
  536. package/design/FORM_ENGINE_FIELD_MIGRATION.md +0 -419
  537. package/design/IDE_INTEGRATION.md +0 -64
  538. package/design/RENDER_EXPRESSION_TRANSPORT.md +0 -156
  539. package/design/SELECT_DIALOG_FLOOR.md +0 -86
  540. package/design/SMART_EDITOR_UX.md +0 -438
  541. package/design/TRACKING.md +0 -290
  542. package/design/UNAVAILABLE_ALLOWED_VALUES.md +0 -226
  543. package/src/components/Description/index.tsx +0 -254
  544. package/src/components/Description/markdownRendererContext.tsx +0 -29
  545. package/src/components/FocusedEditing/index.tsx +0 -50
  546. package/src/components/codeSize/index.tsx +0 -79
  547. package/src/components/composer/Composer.stories.tsx +0 -238
  548. package/src/components/composer/Composer.tsx +0 -554
  549. package/src/components/composer/helpers.ts +0 -74
  550. package/src/components/composer/index.ts +0 -2
  551. package/src/components/dpqlEditor/DpqlEditor.stories.tsx +0 -1183
  552. package/src/components/dpqlEditor/DpqlEditor.tsx +0 -219
  553. package/src/components/dpqlEditor/dpqlHelpers.ts +0 -287
  554. package/src/components/dpqlEditor/dpqlInserter.ts +0 -121
  555. package/src/components/dpqlEditor/dpqlProbe.ts +0 -165
  556. package/src/components/dpqlEditor/dpqlTags.ts +0 -114
  557. package/src/components/dpqlEditor/index.ts +0 -41
  558. package/src/components/dpqlEditor/types.ts +0 -203
  559. package/src/components/dpqlEditor/useDpqlProbe.ts +0 -33
  560. package/src/components/dpqlEditor/useDpqlSession.ts +0 -411
  561. package/src/components/form/engine/CompactRow.tsx +0 -2620
  562. package/src/components/form/engine/CompactToolbar.tsx +0 -330
  563. package/src/components/form/engine/FormEngine.stories.tsx +0 -9920
  564. package/src/components/form/engine/FormEngine.tsx +0 -4569
  565. package/src/components/form/engine/FormEngineRemote.stories.tsx +0 -679
  566. package/src/components/form/engine/FormEngineStickyHeaders.stories.tsx +0 -331
  567. package/src/components/form/engine/FormFieldsSkeleton.tsx +0 -82
  568. package/src/components/form/engine/OptionFieldMessages.tsx +0 -477
  569. package/src/components/form/engine/OptionsHelpDialog.tsx +0 -29
  570. package/src/components/form/engine/__fixtures__/basicFormOptions.ts +0 -309
  571. package/src/components/form/engine/__fixtures__/fieldChromeOptions.ts +0 -45
  572. package/src/components/form/engine/_structuredData/SchemaDataView.stories.tsx +0 -233
  573. package/src/components/form/engine/_structuredData/SchemaDataView.tsx +0 -742
  574. package/src/components/form/engine/_structuredData/StructuredDataView.stories.tsx +0 -85
  575. package/src/components/form/engine/_structuredData/StructuredDataView.tsx +0 -75
  576. package/src/components/form/engine/_structuredData/structuredData.ts +0 -145
  577. package/src/components/form/engine/compactRowContext.ts +0 -148
  578. package/src/components/form/engine/compactRowStyles.ts +0 -898
  579. package/src/components/form/engine/compactToolbarContext.ts +0 -69
  580. package/src/components/form/engine/optionActions.ts +0 -128
  581. package/src/components/form/engine/optionsContext.ts +0 -24
  582. package/src/components/form/engine/readFirst.ts +0 -1077
  583. package/src/components/form/engine/rendererTypes.ts +0 -107
  584. package/src/components/form/engine/revealRow.ts +0 -123
  585. package/src/components/form/engine/rowFocus.ts +0 -101
  586. package/src/components/form/engine/rowMenuContext.ts +0 -159
  587. package/src/components/form/engine/rowOpenPicker.ts +0 -27
  588. package/src/components/form/engine/typeChoices.ts +0 -63
  589. package/src/components/form/engine/variants/FormEngineVariants.stories.tsx +0 -159
  590. package/src/components/form/engine/variants/VariantCalmTable.tsx +0 -244
  591. package/src/components/form/engine/variants/VariantCards.tsx +0 -212
  592. package/src/components/form/engine/variants/VariantFocus.tsx +0 -382
  593. package/src/components/form/engine/variants/VariantMinimal.tsx +0 -170
  594. package/src/components/form/engine/variants/focusDemo.ts +0 -145
  595. package/src/components/form/engine/variants/variantModel.ts +0 -223
  596. package/src/components/form/engine/variants/variantParts.tsx +0 -313
  597. package/src/components/form/expressions/DpqlRendering.tsx +0 -85
  598. package/src/components/form/expressions/ExpressionField.stories.tsx +0 -1395
  599. package/src/components/form/expressions/ExpressionField.tsx +0 -503
  600. package/src/components/form/expressions/argumentPresence.ts +0 -213
  601. package/src/components/form/expressions/builder/ExpressionBuilder.stories.tsx +0 -1683
  602. package/src/components/form/expressions/builder/argumentDetail.tsx +0 -17
  603. package/src/components/form/expressions/builder/argumentLabel.tsx +0 -146
  604. package/src/components/form/expressions/builder/argumentSlot.tsx +0 -101
  605. package/src/components/form/expressions/builder/argumentWrapper.tsx +0 -243
  606. package/src/components/form/expressions/builder/confirmMismatchedTypesModal.tsx +0 -120
  607. package/src/components/form/expressions/builder/confirmUnsupportedTypeModal.tsx +0 -69
  608. package/src/components/form/expressions/builder/index.tsx +0 -1545
  609. package/src/components/form/expressions/builder/item.tsx +0 -89
  610. package/src/components/form/expressions/builder/moveToPositionStrip.tsx +0 -156
  611. package/src/components/form/expressions/builder/renderTemplate.tsx +0 -42
  612. package/src/components/form/expressions/dpqlMockLanguage.ts +0 -566
  613. package/src/components/form/expressions/dpqlMockLsp.ts +0 -126
  614. package/src/components/form/expressions/mockExpressions.ts +0 -317
  615. package/src/components/form/expressions/renderExpressionToText.ts +0 -137
  616. package/src/components/form/expressions/types.ts +0 -110
  617. package/src/components/form/expressions/useExpressions.ts +0 -101
  618. package/src/components/form/expressions/useRenderExpression.ts +0 -165
  619. package/src/components/form/fields/Field.stories.tsx +0 -143
  620. package/src/components/form/fields/Field.tsx +0 -732
  621. package/src/components/form/fields/allowed-values/AllowedValues.tsx +0 -297
  622. package/src/components/form/fields/array/ArrayAuto.tsx +0 -237
  623. package/src/components/form/fields/array/ArrayAutoField.stories.tsx +0 -475
  624. package/src/components/form/fields/array/ArrayAutoField.tsx +0 -367
  625. package/src/components/form/fields/auto/AutoFormField.stories.tsx +0 -825
  626. package/src/components/form/fields/auto/AutoFormField.tsx +0 -1164
  627. package/src/components/form/fields/binary/Binary.stories.tsx +0 -122
  628. package/src/components/form/fields/binary/Binary.tsx +0 -91
  629. package/src/components/form/fields/boolean/Boolean.stories.tsx +0 -125
  630. package/src/components/form/fields/boolean/Boolean.tsx +0 -34
  631. package/src/components/form/fields/byte-size/ByteSize.stories.tsx +0 -87
  632. package/src/components/form/fields/byte-size/ByteSize.tsx +0 -58
  633. package/src/components/form/fields/color/Color.stories.tsx +0 -99
  634. package/src/components/form/fields/color/Color.tsx +0 -46
  635. package/src/components/form/fields/cron/Cron.stories.tsx +0 -68
  636. package/src/components/form/fields/cron/Cron.tsx +0 -80
  637. package/src/components/form/fields/date/Date.stories.tsx +0 -77
  638. package/src/components/form/fields/date/Date.tsx +0 -55
  639. package/src/components/form/fields/emittedValues.ts +0 -70
  640. package/src/components/form/fields/file/File.stories.tsx +0 -161
  641. package/src/components/form/fields/file/File.tsx +0 -227
  642. package/src/components/form/fields/long-string/LongString.stories.tsx +0 -120
  643. package/src/components/form/fields/long-string/LongString.tsx +0 -130
  644. package/src/components/form/fields/markdown/Markdown.stories.tsx +0 -76
  645. package/src/components/form/fields/markdown/Markdown.tsx +0 -81
  646. package/src/components/form/fields/markdown/MarkdownView.tsx +0 -222
  647. package/src/components/form/fields/multi-select/MultiSelectFormField.tsx +0 -139
  648. package/src/components/form/fields/number/Number.stories.tsx +0 -159
  649. package/src/components/form/fields/number/Number.tsx +0 -160
  650. package/src/components/form/fields/object/Object.stories.tsx +0 -398
  651. package/src/components/form/fields/object/Object.tsx +0 -255
  652. package/src/components/form/fields/radio-group/RadioGroup.stories.tsx +0 -95
  653. package/src/components/form/fields/radio-group/RadioGroup.tsx +0 -46
  654. package/src/components/form/fields/radio-group/images/java-96x128.png +0 -0
  655. package/src/components/form/fields/radio-group/images/python-129x128.png +0 -0
  656. package/src/components/form/fields/radio-group/images/qore-106x128.png +0 -0
  657. package/src/components/form/fields/rich-text/RichText.stories.tsx +0 -260
  658. package/src/components/form/fields/rich-text/RichText.tsx +0 -537
  659. package/src/components/form/fields/schema-definition/CatalogLeafForm.tsx +0 -242
  660. package/src/components/form/fields/schema-definition/CatalogNodeEditor.tsx +0 -758
  661. package/src/components/form/fields/schema-definition/Hint.tsx +0 -22
  662. package/src/components/form/fields/schema-definition/InlineValidationBanner.tsx +0 -138
  663. package/src/components/form/fields/schema-definition/Loader.tsx +0 -20
  664. package/src/components/form/fields/schema-definition/MigrationsTab.tsx +0 -187
  665. package/src/components/form/fields/schema-definition/SchemaDefinitionField.stories.tsx +0 -286
  666. package/src/components/form/fields/schema-definition/TableEditor.tsx +0 -155
  667. package/src/components/form/fields/schema-definition/TablesTab.tsx +0 -138
  668. package/src/components/form/fields/schema-definition/catalog.ts +0 -237
  669. package/src/components/form/fields/schema-definition/helpers.ts +0 -90
  670. package/src/components/form/fields/schema-definition/index.tsx +0 -418
  671. package/src/components/form/fields/schema-definition/mockCatalog.ts +0 -325
  672. package/src/components/form/fields/schema-definition/mockDefinition.ts +0 -111
  673. package/src/components/form/fields/schema-definition/referenceSuggestions.tsx +0 -152
  674. package/src/components/form/fields/schema-definition/starterTemplate.ts +0 -68
  675. package/src/components/form/fields/schema-definition/types.ts +0 -185
  676. package/src/components/form/fields/schema-definition/useSchemaOptionCatalog.ts +0 -49
  677. package/src/components/form/fields/select/Select.stories.tsx +0 -872
  678. package/src/components/form/fields/select/Select.tsx +0 -624
  679. package/src/components/form/fields/select/SelectCollection.tsx +0 -594
  680. package/src/components/form/fields/string/String.stories.tsx +0 -86
  681. package/src/components/form/fields/string/String.tsx +0 -43
  682. package/src/components/form/fields/template/ExampleValueModal.stories.tsx +0 -114
  683. package/src/components/form/fields/template/ExampleValueModal.tsx +0 -99
  684. package/src/components/form/fields/template/ReadOnlyTemplateTag.tsx +0 -47
  685. package/src/components/form/fields/template/TemplateField.stories.tsx +0 -1121
  686. package/src/components/form/fields/template/TemplateField.tsx +0 -1717
  687. package/src/components/form/fields/template/TemplateText.tsx +0 -115
  688. package/src/components/form/fields/template/__fixtures__/longExampleValue.ts +0 -7
  689. package/src/components/form/fields/template/__fixtures__/multiLevelTemplates.json +0 -147
  690. package/src/components/form/fields/template/__fixtures__/templates.json +0 -83
  691. package/src/components/form/fields/timeout/Timeout.stories.tsx +0 -228
  692. package/src/components/form/fields/timeout/Timeout.tsx +0 -87
  693. package/src/components/form/fields/url/Url.stories.tsx +0 -94
  694. package/src/components/form/fields/url/Url.tsx +0 -85
  695. package/src/components/form/index.tsx +0 -47
  696. package/src/components/imageLightbox/ImageLightbox.stories.tsx +0 -238
  697. package/src/components/imageLightbox/ImageLightbox.tsx +0 -236
  698. package/src/components/imageLightbox/index.ts +0 -1
  699. package/src/components/log/Log.stories.tsx +0 -333
  700. package/src/components/log/Log.tsx +0 -285
  701. package/src/components/menu/Menu.stories.tsx +0 -155
  702. package/src/components/menu/Menu.tsx +0 -312
  703. package/src/components/qonsoleSmartInput/QonsoleSmartInput.stories.tsx +0 -797
  704. package/src/components/qonsoleSmartInput/QonsoleSmartInput.tsx +0 -105
  705. package/src/components/qonsoleSmartInput/index.ts +0 -16
  706. package/src/components/qonsoleSmartInput/qonsoleInserter.ts +0 -77
  707. package/src/components/qonsoleSmartInput/types.ts +0 -133
  708. package/src/components/qonsoleSmartInput/useQonsoleSession.ts +0 -124
  709. package/src/components/searchFilterBar/SearchFilterBar.stories.tsx +0 -62
  710. package/src/components/searchFilterBar/SearchFilterBar.tsx +0 -144
  711. package/src/components/searchFilterBar/index.ts +0 -1
  712. package/src/components/smartEditor/MarkdownDoc.tsx +0 -190
  713. package/src/components/smartEditor/SmartEditor.stories.tsx +0 -475
  714. package/src/components/smartEditor/SmartEditor.tsx +0 -808
  715. package/src/components/smartEditor/__fixtures__/mockLspServer.ts +0 -205
  716. package/src/components/smartEditor/helpers.ts +0 -217
  717. package/src/components/smartEditor/index.ts +0 -35
  718. package/src/components/smartEditor/styling.ts +0 -45
  719. package/src/components/smartEditor/types.ts +0 -211
  720. package/src/components/smartEditor/useLspAutocomplete.ts +0 -758
  721. package/src/components/smartEditor/useLspDiagnosticDecorations.ts +0 -125
  722. package/src/components/smartEditor/useLspHover.ts +0 -230
  723. package/src/components/smartEditor/useLspSemanticTokens.ts +0 -298
  724. package/src/components/smartEditor/useLspSession.ts +0 -231
  725. package/src/components/smartEditor/useLspSignatureHelp.ts +0 -198
  726. package/src/components/supportTicket/AttachmentChips.stories.tsx +0 -171
  727. package/src/components/supportTicket/AttachmentChips.tsx +0 -147
  728. package/src/components/supportTicket/InterfaceReferenceTags.stories.tsx +0 -257
  729. package/src/components/supportTicket/InterfaceReferenceTags.tsx +0 -129
  730. package/src/components/supportTicket/ReferencePicker.stories.tsx +0 -584
  731. package/src/components/supportTicket/ReferencePicker.tsx +0 -563
  732. package/src/components/supportTicket/TicketConversation.stories.tsx +0 -121
  733. package/src/components/supportTicket/TicketHeader.stories.tsx +0 -183
  734. package/src/components/supportTicket/TicketHeader.tsx +0 -247
  735. package/src/components/supportTicket/TicketMetaTags.stories.tsx +0 -103
  736. package/src/components/supportTicket/TicketMetaTags.tsx +0 -85
  737. package/src/components/supportTicket/TicketReplyBox.stories.tsx +0 -354
  738. package/src/components/supportTicket/TicketReplyBox.tsx +0 -150
  739. package/src/components/supportTicket/__fixtures__/kindMarks.ts +0 -28
  740. package/src/components/supportTicket/attachmentAccess.ts +0 -97
  741. package/src/components/supportTicket/fileToAttachment.ts +0 -24
  742. package/src/components/supportTicket/index.ts +0 -10
  743. package/src/components/supportTicket/meta.ts +0 -206
  744. package/src/components/supportTicket/ticketModel.ts +0 -131
  745. package/src/components/supportTicket/useLoadedImages.ts +0 -73
  746. package/src/components/ticketReferences/TicketReferences.stories.tsx +0 -315
  747. package/src/components/ticketReferences/TicketReferences.tsx +0 -906
  748. package/src/components/ticketReferences/index.ts +0 -2
  749. package/src/components/ticketThread/TicketThread.stories.tsx +0 -829
  750. package/src/components/ticketThread/TicketThread.tsx +0 -719
  751. package/src/components/ticketThread/index.ts +0 -6
  752. package/src/contexts/FetchContext.tsx +0 -25
  753. package/src/contexts/ReqraftContext.tsx +0 -9
  754. package/src/contexts/StorageContext.tsx +0 -33
  755. package/src/global.d.ts +0 -4
  756. package/src/helpers/allowedValues.ts +0 -249
  757. package/src/helpers/choiceChip.ts +0 -227
  758. package/src/helpers/common.ts +0 -326
  759. package/src/helpers/dpqlDetection.ts +0 -209
  760. package/src/helpers/expressions.ts +0 -140
  761. package/src/helpers/optionUiTypes.ts +0 -199
  762. package/src/helpers/options.ts +0 -150
  763. package/src/helpers/providerValue.ts +0 -125
  764. package/src/helpers/scrollbar.ts +0 -32
  765. package/src/helpers/singleLineString.ts +0 -61
  766. package/src/helpers/templateItems.ts +0 -81
  767. package/src/helpers/templateText.ts +0 -350
  768. package/src/helpers/templates.ts +0 -602
  769. package/src/helpers/validations.ts +0 -2085
  770. package/src/hooks/useArgSchema.ts +0 -37
  771. package/src/hooks/useCoarsePointer.ts +0 -30
  772. package/src/hooks/useFetch/useFetch.stories.tsx +0 -379
  773. package/src/hooks/useFetch/useFetch.tsx +0 -154
  774. package/src/hooks/usePhoneViewport.ts +0 -34
  775. package/src/hooks/useQorusTypes.ts +0 -233
  776. package/src/hooks/useReqraftProperty.ts +0 -16
  777. package/src/hooks/useStorage/useStorage.stories.tsx +0 -168
  778. package/src/hooks/useStorage/useStorage.ts +0 -35
  779. package/src/hooks/useTemplates.ts +0 -123
  780. package/src/hooks/useValidation.ts +0 -9
  781. package/src/hooks/useWebSocket/useWebSocket.ts +0 -224
  782. package/src/hooks/useWebSocket/useWebsocket.stories.tsx +0 -640
  783. package/src/hooks/useWhyDidYouUpdate.ts +0 -38
  784. package/src/index.tsx +0 -86
  785. package/src/providers/FetchProvider.tsx +0 -40
  786. package/src/providers/ReqraftProvider.tsx +0 -52
  787. package/src/providers/StorageProvider.tsx +0 -131
  788. package/src/stores/currentUser/currentUser.stories.tsx +0 -100
  789. package/src/stores/currentUser/currentUser.tsx +0 -94
  790. package/src/stories/Data/fileFieldArgSchema.json +0 -86
  791. package/src/stories/Tests/utils.ts +0 -320
  792. package/src/stories/storyNetwork.ts +0 -92
  793. package/src/stories/tracking.tsx +0 -206
  794. package/src/tracking/browser/attach.ts +0 -186
  795. package/src/tracking/browser/env.ts +0 -78
  796. package/src/tracking/core/consent.ts +0 -37
  797. package/src/tracking/core/engagement.ts +0 -47
  798. package/src/tracking/core/experiments.ts +0 -258
  799. package/src/tracking/core/hash.ts +0 -26
  800. package/src/tracking/core/ids.ts +0 -25
  801. package/src/tracking/core/observable.ts +0 -23
  802. package/src/tracking/core/queue.ts +0 -131
  803. package/src/tracking/core/sections.ts +0 -166
  804. package/src/tracking/core/storage.ts +0 -69
  805. package/src/tracking/core/tracker.ts +0 -417
  806. package/src/tracking/core/types.ts +0 -162
  807. package/src/tracking/core/utm.ts +0 -23
  808. package/src/tracking/index.ts +0 -72
  809. package/src/tracking/markup.ts +0 -17
  810. package/src/tracking/react/Experiment.tsx +0 -44
  811. package/src/tracking/react/TrackingProvider.tsx +0 -56
  812. package/src/tracking/react/hooks.ts +0 -106
  813. package/src/tracking/react/index.ts +0 -13
  814. package/src/tracking/testing.ts +0 -108
  815. package/src/tracking/ui/ExperimentCard.stories.tsx +0 -296
  816. package/src/tracking/ui/ExperimentCard.tsx +0 -667
  817. package/src/tracking/ui/ExperimentsOverlay.stories.tsx +0 -155
  818. package/src/tracking/ui/ExperimentsOverlay.tsx +0 -437
  819. package/src/tracking/ui/anchor.ts +0 -180
  820. package/src/tracking/ui/card.ts +0 -464
  821. package/src/tracking/ui/client.ts +0 -117
  822. package/src/tracking/ui/index.ts +0 -77
  823. package/src/tracking/ui/types.ts +0 -110
  824. package/src/tracking/ui/useExperimentsAdmin.ts +0 -103
  825. package/src/types/Form.ts +0 -29
  826. package/src/types.ts +0 -14
  827. package/src/utils/datetime.ts +0 -10
  828. package/src/utils/fetch.ts +0 -457
  829. package/src/utils/lspClient.ts +0 -711
  830. package/src/utils/lspClient.types.ts +0 -211
  831. package/src/utils/queryUnlessCancelled.ts +0 -28
  832. package/src/utils/websocket.ts +0 -293
  833. package/vite.config.ts +0 -58
  834. package/vitest.config.ts +0 -69
@@ -1,354 +0,0 @@
1
- import { ReqoreButton, ReqoreUIProvider } from '@qoretechnologies/reqore';
2
- import { StoryObj } from '@storybook/react-vite';
3
- import { expect, fn, screen, userEvent, waitFor, within } from 'storybook/test';
4
- import { StoryMeta } from '../../types';
5
- import { InterfaceReferenceTags } from './InterfaceReferenceTags';
6
- import { TicketReplyBox } from './TicketReplyBox';
7
-
8
- const meta = {
9
- component: TicketReplyBox,
10
- title: 'Components/TicketReplyBox',
11
- args: {
12
- onSend: fn(),
13
- },
14
- } as StoryMeta<typeof TicketReplyBox>;
15
-
16
- export default meta;
17
- type Story = StoryObj<typeof meta>;
18
-
19
- /**
20
- * The customer composer, plain-editor variant (used here for a deterministic
21
- * type→send test): an attach button (no extra menu → a plain button, not a
22
- * dropdown) and Send. No internal-note toggle. Typing enables Send; clicking it
23
- * calls `onSend` with the body and `internal: false`.
24
- */
25
- export const Default: Story = {
26
- parameters: {
27
- docs: {
28
- description: {
29
- story:
30
- "Renders the customer composer's plain-editor variant — an attach button and Send, no internal-note toggle; typing a reply enables Send, which calls onSend with the body and internal: false.",
31
- },
32
- },
33
- },
34
- args: { editor: 'plain' },
35
- async play({ canvasElement, args }) {
36
- const canvas = within(canvasElement);
37
- const textarea = canvasElement.querySelector('textarea');
38
- await expect(textarea).not.toBeNull();
39
- await expect(canvas.queryByText('Internal note')).not.toBeInTheDocument();
40
-
41
- await userEvent.type(textarea!, 'Here is my reply');
42
- await userEvent.click(canvas.getByText('Send reply'));
43
- await waitFor(() =>
44
- expect(args.onSend).toHaveBeenCalledWith(
45
- 'Here is my reply',
46
- expect.objectContaining({ internal: false })
47
- )
48
- );
49
- },
50
- };
51
-
52
- /**
53
- * The staff composer (`allowInternalNote`): no toggle — the send button splits, so
54
- * the primary action posts a public reply and the caret opens "Add internal note",
55
- * which sends with `internal: true`.
56
- */
57
- export const StaffWithInternalNote: Story = {
58
- parameters: {
59
- docs: {
60
- description: {
61
- story:
62
- "Renders the staff composer with a split send button — the primary action posts a public reply, while the caret opens 'Add internal note', which sends with internal: true.",
63
- },
64
- },
65
- },
66
- args: { allowInternalNote: true, editor: 'plain' },
67
- async play({ canvasElement, args }) {
68
- const canvas = within(canvasElement);
69
- // no toggle any more; the primary action is a plain "Send reply"
70
- await expect(canvas.queryByText('Internal note')).not.toBeInTheDocument();
71
- await expect(canvas.getByText('Send reply')).toBeInTheDocument();
72
-
73
- const textarea = canvasElement.querySelector('textarea');
74
- await userEvent.type(textarea!, 'internal context');
75
-
76
- // "Add internal note" lives behind the split-send caret
77
- const caret = canvasElement.querySelector('.ticket-send-more');
78
- await expect(caret).not.toBeNull();
79
- await userEvent.click(caret as Element);
80
- await userEvent.click(await screen.findByText('Add internal note'));
81
-
82
- await waitFor(() =>
83
- expect(args.onSend).toHaveBeenCalledWith(
84
- 'internal context',
85
- expect.objectContaining({ internal: true })
86
- )
87
- );
88
- },
89
- };
90
-
91
- /** A closed ticket replaces the editor with a muted notice. */
92
- export const Closed: Story = {
93
- parameters: {
94
- docs: {
95
- description: {
96
- story:
97
- "Renders a closed ticket, where the disabled composer replaces the editor with a muted 'ticket is closed' notice.",
98
- },
99
- },
100
- },
101
- args: { disabled: true },
102
- async play({ canvasElement }) {
103
- await expect(within(canvasElement).getByText(/ticket is closed/i)).toBeInTheDocument();
104
- await expect(canvasElement.querySelector('textarea')).toBeNull();
105
- },
106
- };
107
-
108
- /**
109
- * The helpdesk composer as it now ships: the shared `<Composer>` with the rich,
110
- * Qonsole-style editor (`ReqoreRichTextEditor`) instead of a plain textarea. Staff
111
- * split-send, an attach dropdown (Upload + injected screenshot/capture), the
112
- * reference-interfaces toggle, and a reference chip below — all through the same
113
- * slots. Markdown still flows to `onSend` as a plain string. This is the input the
114
- * helpdesk uses.
115
- */
116
- export const RichHelpdeskReply: Story = {
117
- parameters: {
118
- docs: {
119
- description: {
120
- story:
121
- 'Renders the shipping helpdesk composer with the rich Qonsole-style editor — staff split-send, an attach dropdown, a reference-interfaces toggle, and an interface reference chip above the input.',
122
- },
123
- },
124
- },
125
- // Rendered under the Qorus theme (as in qorus-ide / admin-portal) so the
126
- // `custom1` accent shows as the Qorus purple — a bare reqore theme greys it out.
127
- decorators: [
128
- (Story) => (
129
- <ReqoreUIProvider theme={{ main: '#121212', intents: { custom1: '#762f7e' } }}>
130
- <div style={{ padding: 20, background: '#121212' }}>
131
- <Story />
132
- </div>
133
- </ReqoreUIProvider>
134
- ),
135
- ],
136
- args: {
137
- allowInternalNote: true,
138
- defaultText:
139
- "Thanks for the detailed report — we've reproduced the timeout and a fix is in review. In the meantime, can you confirm the datasource pool size configured for the sftp-partner connection?",
140
- attachMenuItems: () => [
141
- { label: 'Take screenshot', icon: 'CameraAiLine', onClick: fn() },
142
- { label: 'Capture area', icon: 'CropLine', onClick: fn() },
143
- ],
144
- // the reference toggle, styled to the same custom1 accent as the send
145
- footerActions: (
146
- <ReqoreButton
147
- icon='LinksLine'
148
- minimal
149
- flat
150
- badge={1}
151
- customTheme={{ main: 'custom1' }}
152
- tooltip='Reference interfaces'
153
- />
154
- ),
155
- // references on top of the editor (inside the bar), tinted to the accent — no
156
- // "References" label, the chips read as the referenced interfaces on their own
157
- aboveInput: (
158
- <InterfaceReferenceTags
159
- references={[{ interface_kind: 'connection', interface_name: 'sftp-partner' }]}
160
- customTheme={{ main: 'custom1' }}
161
- />
162
- ),
163
- },
164
- async play({ canvasElement }) {
165
- const canvas = within(canvasElement);
166
- // rich editor renders a Slate contenteditable (not a <textarea>) …
167
- await expect(canvasElement.querySelector('[contenteditable="true"]')).not.toBeNull();
168
- await expect(canvasElement.querySelector('textarea')).toBeNull();
169
- // … the staff split-send caret is present …
170
- await expect(canvasElement.querySelector('.ticket-send-more')).not.toBeNull();
171
- // … and the reference chip renders on top (no "References" label).
172
- await expect(canvas.getByText('sftp-partner')).toBeInTheDocument();
173
- await expect(canvas.queryByText('References')).not.toBeInTheDocument();
174
- },
175
- };
176
-
177
- /**
178
- * Every referenceable interface kind on one message, so the per-kind icons +
179
- * accent chip styling can be reviewed together: workflow, service, job, fsm,
180
- * connection, mapper, class, value-map, qog, ai-collection, ai-endpoint,
181
- * ai-guardrail. (`qog` has no built-in icon → the generic fallback.)
182
- */
183
- export const AllReferenceTypes: Story = {
184
- parameters: {
185
- docs: {
186
- description: {
187
- story:
188
- 'Renders a reply carrying every referenceable interface kind at once, so the per-kind icons and accent chip styling can be reviewed together (qog falls back to the generic glyph).',
189
- },
190
- },
191
- },
192
- decorators: [
193
- (Story) => (
194
- <ReqoreUIProvider theme={{ main: '#121212', intents: { custom1: '#762f7e' } }}>
195
- <div style={{ padding: 20, background: '#121212' }}>
196
- <Story />
197
- </div>
198
- </ReqoreUIProvider>
199
- ),
200
- ],
201
- args: {
202
- defaultText: 'This one references every interface kind.',
203
- aboveInput: (
204
- <InterfaceReferenceTags
205
- customTheme={{ main: 'custom1' }}
206
- references={[
207
- { interface_kind: 'workflow', interface_name: 'order-sync:1.2' },
208
- { interface_kind: 'service', interface_name: 'notifier' },
209
- { interface_kind: 'job', interface_name: 'nightly-recon' },
210
- { interface_kind: 'fsm', interface_name: 'onboarding' },
211
- { interface_kind: 'connection', interface_name: 'sftp-partner' },
212
- { interface_kind: 'mapper', interface_name: 'csv-to-order' },
213
- { interface_kind: 'class', interface_name: 'OrderUtils' },
214
- { interface_kind: 'value-map', interface_name: 'country-codes' },
215
- { interface_kind: 'qog', interface_name: 'daily-report' },
216
- { interface_kind: 'ai-collection', interface_name: 'kb-support' },
217
- { interface_kind: 'ai-endpoint', interface_name: 'gpt-router' },
218
- { interface_kind: 'ai-guardrail', interface_name: 'pii-filter' },
219
- ]}
220
- />
221
- ),
222
- },
223
- async play({ canvasElement }) {
224
- const canvas = within(canvasElement);
225
- await expect(canvas.getByText('workflow')).toBeInTheDocument();
226
- await expect(canvas.getByText('ai-guardrail')).toBeInTheDocument();
227
- },
228
- };
229
-
230
- // Stand-in app logos (a coloured rounded square + initial) as data-URIs, so the
231
- // story needs no network. Real logos come from the app catalogue (`app.logo`).
232
- const appLogo = (hex: string, letter: string) =>
233
- `data:image/svg+xml,${encodeURIComponent(
234
- `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><rect width="24" height="24" rx="6" fill="${hex}"/><text x="12" y="17" font-size="13" font-family="sans-serif" font-weight="bold" fill="#fff" text-anchor="middle">${letter}</text></svg>`
235
- )}`;
236
- const APP_LOGOS: Record<string, string> = {
237
- Telegram: appLogo('#2AABEE', 'T'),
238
- Stripe: appLogo('#635BFF', 'S'),
239
- };
240
-
241
- /**
242
- * Faithful qog icons — a qog referenced by its trigger app shows that app's logo,
243
- * exactly like the qogs list. The customer's IDE resolves it live from the
244
- * reference's `trigger_app` via `resolveInterfaceImage` (it has the app catalogue);
245
- * a stored `logo` travels to viewers that don't (staff triage, the Qonsole card).
246
- * A qog with no trigger app falls back to the qog glyph.
247
- */
248
- export const QogTriggerAppLogo: Story = {
249
- parameters: {
250
- docs: {
251
- description: {
252
- story:
253
- "Renders qogs referenced by their trigger apps, each showing that app's logo — resolved live via resolveInterfaceImage or from a stored logo — while a qog with no trigger app falls back to the qog glyph.",
254
- },
255
- },
256
- },
257
- decorators: [
258
- (Story) => (
259
- <ReqoreUIProvider theme={{ main: '#121212', intents: { custom1: '#762f7e' } }}>
260
- <div style={{ padding: 20, background: '#121212' }}>
261
- <Story />
262
- </div>
263
- </ReqoreUIProvider>
264
- ),
265
- ],
266
- args: {
267
- defaultText: 'These qogs are referenced by their trigger apps.',
268
- aboveInput: (
269
- <InterfaceReferenceTags
270
- customTheme={{ main: 'custom1' }}
271
- references={[
272
- // resolved live from trigger_app (the customer/IDE path)
273
- { interface_kind: 'qog', interface_name: 'telegram-intake', trigger_app: 'Telegram' },
274
- { interface_kind: 'qog', interface_name: 'stripe-billing', trigger_app: 'Stripe' },
275
- // stored logo travels to viewers without the app catalogue (staff / Qonsole)
276
- { interface_kind: 'qog', interface_name: 'slack-alerts', logo: appLogo('#4A154B', 'S') },
277
- // no trigger app → the qog glyph fallback
278
- { interface_kind: 'qog', interface_name: 'manual-recon' },
279
- ]}
280
- resolveInterfaceImage={(ref) => (ref.trigger_app ? APP_LOGOS[ref.trigger_app] : undefined)}
281
- />
282
- ),
283
- },
284
- async play({ canvasElement }) {
285
- const canvas = within(canvasElement);
286
- await expect(canvas.getByText('telegram-intake')).toBeInTheDocument();
287
- // the trigger-app / stored-logo qogs render their app logo image once it has
288
- // loaded (the qog glyph stands in until then)
289
- await waitFor(() =>
290
- expect(canvasElement.querySelectorAll('.reqore-tag img').length).toBe(3)
291
- );
292
- },
293
- };
294
-
295
- // A stand-in "screenshot" as an SVG File so the story needs no real capture — the
296
- // composer's attachment strip renders any image File as a thumbnail (the real IDE
297
- // stages a PNG from captureScreenshot / captureRegion the same way).
298
- const screenshotFile = () => {
299
- const svg = `<svg xmlns="http://www.w3.org/2000/svg" width="260" height="150" viewBox="0 0 260 150">
300
- <rect width="260" height="150" rx="8" fill="#0f0b16"/>
301
- <rect width="260" height="26" fill="#1c1428"/>
302
- <circle cx="16" cy="13" r="4" fill="#ff5f57"/><circle cx="32" cy="13" r="4" fill="#febc2e"/><circle cx="48" cy="13" r="4" fill="#28c840"/>
303
- <rect x="16" y="44" width="110" height="12" rx="3" fill="#8e39a0"/>
304
- <rect x="16" y="68" width="228" height="9" rx="3" fill="#2c2440"/>
305
- <rect x="16" y="86" width="200" height="9" rx="3" fill="#2c2440"/>
306
- <rect x="16" y="104" width="170" height="9" rx="3" fill="#2c2440"/>
307
- <rect x="16" y="122" width="92" height="9" rx="3" fill="#2c2440"/>
308
- </svg>`;
309
- return new File([svg], 'region-capture.svg', { type: 'image/svg+xml' });
310
- };
311
-
312
- /**
313
- * A composed reply with both a staged screenshot (the attachment strip renders any
314
- * image File as a thumbnail — the real IDE stages a PNG from Take-screenshot /
315
- * Capture-area) and interface references on top.
316
- */
317
- export const WithScreenshotAndReferences: Story = {
318
- parameters: {
319
- docs: {
320
- description: {
321
- story:
322
- 'Renders a composed reply carrying both a staged screenshot thumbnail in the attachment strip and interface references above the input.',
323
- },
324
- },
325
- },
326
- decorators: [
327
- (Story) => (
328
- <ReqoreUIProvider theme={{ main: '#121212', intents: { custom1: '#762f7e' } }}>
329
- <div style={{ padding: 20, background: '#121212' }}>
330
- <Story />
331
- </div>
332
- </ReqoreUIProvider>
333
- ),
334
- ],
335
- args: {
336
- defaultText: "Here's the timeout I'm seeing on the nightly run — screenshot attached.",
337
- defaultFiles: [screenshotFile()],
338
- aboveInput: (
339
- <InterfaceReferenceTags
340
- customTheme={{ main: 'custom1' }}
341
- references={[
342
- { interface_kind: 'connection', interface_name: 'sftp-partner' },
343
- { interface_kind: 'qog', interface_name: 'telegram-intake', logo: appLogo('#2AABEE', 'T') },
344
- ]}
345
- />
346
- ),
347
- },
348
- async play({ canvasElement }) {
349
- const canvas = within(canvasElement);
350
- // the staged screenshot thumbnail (an <img>) and the references both render
351
- await expect(canvasElement.querySelector('img')).not.toBeNull();
352
- await expect(canvas.getByText('sftp-partner')).toBeInTheDocument();
353
- },
354
- };
@@ -1,150 +0,0 @@
1
- import type { TReqoreDropdownItems } from '@qoretechnologies/reqore/dist/components/Dropdown/list';
2
- import { ReactNode } from 'react';
3
- import { Composer, IComposerSendAction, TComposerEditor } from '../composer/Composer';
4
- import { fileToAttachment as defaultFileToAttachment } from './fileToAttachment';
5
- import { IAttachmentUpload } from './meta';
6
-
7
- /**
8
- * The `items` shape ReqoreDropdown accepts. Named, not derived: `ReqoreDropdown`
9
- * is a generic component, and `ComponentProps` of a generic resolves to `{}`
10
- * under strict checking — so the derived type had no `items` at all.
11
- */
12
- type TAttachMenuItems = TReqoreDropdownItems;
13
-
14
- export interface ITicketReplyBoxProps {
15
- /** Send the composed message. `internal` is only ever true when
16
- * `allowInternalNote` is set (the staff surface). */
17
- onSend: (
18
- body: string,
19
- options: { internal: boolean; attachments?: IAttachmentUpload[] }
20
- ) => void | Promise<void>;
21
- /** File → base64 upload conversion; defaults to the shared `fileToAttachment`. */
22
- fileToAttachment?: (file: File) => Promise<IAttachmentUpload>;
23
- /** the send round-trip is in flight */
24
- sending?: boolean;
25
- /** the ticket can't be replied to (e.g. closed) — renders a notice instead */
26
- disabled?: boolean;
27
- disabledReason?: string;
28
- /** placeholder text. (A function is called with `false` — the mode is chosen at
29
- * send time, so there is no live internal-note mode.) */
30
- placeholder?: string | ((internal: boolean) => string);
31
- /** send labels; a function is called with `false` for the primary "Send reply"
32
- * and `true` for the "Add internal note" split-menu item. Defaults to
33
- * "Send reply" / "Add internal note". */
34
- sendLabel?: string | ((internal: boolean) => string);
35
- /** Staff surface: split the send button so it also offers "Add internal note"
36
- * (customer composers omit it and just send a reply). */
37
- allowInternalNote?: boolean;
38
- /** Extra attach-menu entries beyond "Upload files" — e.g. the IDE's screenshot /
39
- * region capture. Receives the composer's `addFiles`. With any entry the attach
40
- * control becomes a dropdown; otherwise it's a plain button. */
41
- attachMenuItems?: (addFiles: (files: File[]) => void) => TAttachMenuItems;
42
- /** Extra footer controls left of the send button — e.g. the IDE's
43
- * reference-interfaces toggle. */
44
- footerActions?: ReactNode;
45
- /** Rendered on top of the editor, inside the bar — e.g. reference chips. */
46
- aboveInput?: ReactNode;
47
- /** Rendered below the editor — e.g. the IDE's interface-reference picker. */
48
- belowInput?: ReactNode;
49
- /** Editor flavour. Helpdesk uses the rich, Qonsole-style editor by default; pass
50
- * `plain` for a simple textarea (e.g. deterministic play tests). */
51
- editor?: TComposerEditor;
52
- /** Initial draft text to seed the editor with (e.g. a restored draft). */
53
- defaultText?: string;
54
- /** Initial staged files (e.g. a restored draft's attachments, or a demo). */
55
- defaultFiles?: File[];
56
- }
57
-
58
- /**
59
- * The shared ticket reply composer — now a thin adapter over the universal
60
- * `<Composer>` (the input extracted from qorus-ide's Qonsole chat). It maps the
61
- * ticket vocabulary onto the composer: the staff `allowInternalNote` becomes a
62
- * split send (primary "Send reply" + a caret "Add internal note", mode chosen at
63
- * send time), and staged files convert to `IAttachmentUpload[]` via
64
- * `fileToAttachment` before `onSend`. App-specific affordances still arrive
65
- * through slots (`attachMenuItems`, `footerActions`, `belowInput`), so the
66
- * IDE-only bits (screenshot capture, the reference picker) stay in qorus-ide. A
67
- * closed ticket renders a muted notice.
68
- */
69
- export const TicketReplyBox = ({
70
- onSend,
71
- fileToAttachment = defaultFileToAttachment,
72
- sending,
73
- disabled,
74
- disabledReason = 'This ticket is closed. Open a new ticket to continue the conversation.',
75
- placeholder = 'Write a reply…',
76
- sendLabel,
77
- allowInternalNote,
78
- attachMenuItems,
79
- footerActions,
80
- aboveInput,
81
- belowInput,
82
- editor = 'rich',
83
- defaultText,
84
- defaultFiles,
85
- }: ITicketReplyBoxProps) => {
86
- const resolvedPlaceholder =
87
- typeof placeholder === 'function' ? placeholder(false) : placeholder;
88
- // Label for a given send mode: `false` = public reply, `true` = internal note.
89
- const labelFor = (note: boolean): string =>
90
- sendLabel !== undefined
91
- ? typeof sendLabel === 'function'
92
- ? sendLabel(note)
93
- : sendLabel
94
- : note
95
- ? 'Add internal note'
96
- : 'Send reply';
97
-
98
- // Staff surface splits the send button; customer surface is a single "Send reply".
99
- // Both use the Qonsole-style minimal `custom1` accent (the Composer default); the
100
- // internal note stays amber (`warning`) so it can't be mistaken for a public reply.
101
- const sendActions: IComposerSendAction[] | undefined = allowInternalNote
102
- ? [
103
- {
104
- id: 'reply',
105
- label: labelFor(false),
106
- icon: 'SendPlane2Line',
107
- minimal: true,
108
- customTheme: { main: 'custom1' },
109
- },
110
- {
111
- id: 'internal',
112
- label: labelFor(true),
113
- icon: 'StickyNoteLine',
114
- minimal: true,
115
- intent: 'warning',
116
- },
117
- ]
118
- : undefined;
119
-
120
- const handleSend = async (
121
- body: string,
122
- { files, action }: { files: File[]; action?: string }
123
- ): Promise<void> => {
124
- const internal = action === 'internal';
125
- const attachments = files.length
126
- ? await Promise.all(files.map(fileToAttachment))
127
- : undefined;
128
- await onSend(body, { internal, attachments });
129
- };
130
-
131
- return (
132
- <Composer
133
- editor={editor}
134
- defaultText={defaultText}
135
- defaultFiles={defaultFiles}
136
- placeholder={resolvedPlaceholder}
137
- sending={sending}
138
- disabled={disabled}
139
- disabledReason={disabledReason}
140
- onSend={handleSend}
141
- sendLabel={labelFor(false)}
142
- sendActions={sendActions}
143
- sendMenuClassName='ticket-send-more'
144
- attachMenuItems={attachMenuItems}
145
- footerActions={footerActions}
146
- aboveInput={aboveInput}
147
- belowInput={belowInput}
148
- />
149
- );
150
- };
@@ -1,28 +0,0 @@
1
- import { defaultInterfaceIcon, TInterfaceKindIcon } from '../meta';
2
-
3
- /* Stand-ins for a host's kind marks in stories. Inline, so they load offline. */
4
-
5
- /** A green Qog-like mark: loads. */
6
- export const STORY_QOG_IMAGE = `data:image/svg+xml;utf8,${encodeURIComponent(
7
- '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><rect width="24" height="24" rx="6" fill="#2e9d4f"/><circle cx="12" cy="12" r="5" fill="#fff"/></svg>'
8
- )}`;
9
-
10
- /** A trigger app's logo: loads. */
11
- export const STORY_APP_LOGO = `data:image/svg+xml;utf8,${encodeURIComponent(
12
- '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><rect width="24" height="24" rx="12" fill="#229ed9"/></svg>'
13
- )}`;
14
-
15
- /** An image that can never load (malformed data URI). */
16
- export const STORY_BROKEN_IMAGE = 'data:image/png;base64,not-an-image';
17
-
18
- /** The IDE's resolver: a Qog is its green mark (font icon fallback); the rest, font icons. */
19
- export const storyKindMark = (kind: string): TInterfaceKindIcon =>
20
- kind === 'fsm' || kind === 'qog' ?
21
- { icon: 'FlowChart', image: STORY_QOG_IMAGE }
22
- : defaultInterfaceIcon(kind);
23
-
24
- /** The same, with a Qog image that fails to load. */
25
- export const storyBrokenKindMark = (kind: string): TInterfaceKindIcon =>
26
- kind === 'fsm' || kind === 'qog' ?
27
- { icon: 'FlowChart', image: STORY_BROKEN_IMAGE }
28
- : defaultInterfaceIcon(kind);
@@ -1,97 +0,0 @@
1
- /*
2
- * Authed attachment byte-fetching, shared by every ticket surface.
3
- *
4
- * Attachment bytes can't go through the JSON fetch helpers, so each app grew its
5
- * own raw-`fetch` copy: qorus-ide in `views/support/api.ts`, admin-portal in
6
- * `pages/SupportTickets/helpers.ts`. The two were the same function down to the
7
- * error text ("Could not download the attachment") and the anchor-click dance —
8
- * they differed only in how the URL is built, which auth header is sent, and
9
- * which Error subclass is thrown.
10
- *
11
- * Those three differences are the parameters below. Everything else — the
12
- * non-OK check, `URL.createObjectURL`, the temporary anchor, revoking the object
13
- * URL — lives here once.
14
- */
15
-
16
- export interface ITicketAttachmentAccessConfig {
17
- /** Absolute URL for one attachment's bytes. */
18
- attachmentUrl: (ticketId: string, attachmentId: string) => string;
19
- /**
20
- * Headers for the byte request — typically auth. A function rather than a
21
- * value because tokens are resolved per request, not at wire-up time.
22
- */
23
- headers?: () => Record<string, string>;
24
- /**
25
- * Error to throw on a non-OK response. Defaults to a plain `Error`; apps with
26
- * their own API error type (carrying the status) pass a factory.
27
- */
28
- onError?: (message: string, status: number) => Error;
29
- }
30
-
31
- export interface ITicketAttachmentAccess {
32
- /** Raw bytes. `failure` is the message used if the response isn't OK. */
33
- fetchBlob: (ticketId: string, attachmentId: string, failure?: string) => Promise<Blob>;
34
- /**
35
- * An object URL for the bytes — for inline thumbnails and the lightbox.
36
- *
37
- * The caller owns the returned URL and must `URL.revokeObjectURL` it when the
38
- * element goes away; this cannot do it for them without breaking the img.
39
- */
40
- fetchBlobUrl: (ticketId: string, attachmentId: string) => Promise<string>;
41
- /** Save the attachment to disk under its original filename. */
42
- download: (ticketId: string, attachmentId: string, filename: string) => Promise<void>;
43
- }
44
-
45
- const DEFAULT_DOWNLOAD_FAILURE = 'Could not download the attachment';
46
- const DEFAULT_LOAD_FAILURE = 'Could not load the attachment';
47
-
48
- /**
49
- * Save a blob to disk under `filename`, via a temporary anchor.
50
- *
51
- * Exported because it is the half of `download` that has nothing to do with
52
- * tickets — a surface that already holds the bytes shouldn't have to re-fetch
53
- * them just to reuse the save behaviour.
54
- */
55
- export const saveBlobAs = (blob: Blob, filename: string): void => {
56
- const url = URL.createObjectURL(blob);
57
- const anchor = document.createElement('a');
58
-
59
- anchor.href = url;
60
- anchor.download = filename;
61
- document.body.appendChild(anchor);
62
- anchor.click();
63
- anchor.remove();
64
- // Safari needs the URL alive until the click is processed; a task boundary is
65
- // enough and avoids leaking the blob for the life of the document.
66
- setTimeout(() => URL.revokeObjectURL(url), 0);
67
- };
68
-
69
- export const createTicketAttachmentAccess = ({
70
- attachmentUrl,
71
- headers,
72
- onError,
73
- }: ITicketAttachmentAccessConfig): ITicketAttachmentAccess => {
74
- const fetchBlob = async (
75
- ticketId: string,
76
- attachmentId: string,
77
- failure: string = DEFAULT_LOAD_FAILURE
78
- ): Promise<Blob> => {
79
- const response = await fetch(attachmentUrl(ticketId, attachmentId), {
80
- headers: headers?.() ?? {},
81
- });
82
-
83
- if (!response.ok) {
84
- throw onError ? onError(failure, response.status) : new Error(failure);
85
- }
86
-
87
- return response.blob();
88
- };
89
-
90
- return {
91
- fetchBlob,
92
- fetchBlobUrl: async (ticketId, attachmentId) =>
93
- URL.createObjectURL(await fetchBlob(ticketId, attachmentId, DEFAULT_LOAD_FAILURE)),
94
- download: async (ticketId, attachmentId, filename) =>
95
- saveBlobAs(await fetchBlob(ticketId, attachmentId, DEFAULT_DOWNLOAD_FAILURE), filename),
96
- };
97
- };
@@ -1,24 +0,0 @@
1
- import { IAttachmentUpload } from './meta';
2
-
3
- /**
4
- * Read a picked `File` into the inline base64 upload shape the support API expects
5
- * (the SaaS plane accepts attachments as base64 on the create/reply payload, with
6
- * no separate multipart upload). Shared by every composer so the customer and
7
- * staff surfaces encode files identically.
8
- */
9
- export const fileToAttachment = (file: File): Promise<IAttachmentUpload> =>
10
- new Promise((resolve, reject) => {
11
- const reader = new FileReader();
12
- reader.onerror = () => reject(new Error(`Could not read ${file.name}`));
13
- reader.onload = () => {
14
- // reader.result is a data URL: "data:<type>;base64,<content>"
15
- const result = String(reader.result);
16
- const content = result.slice(result.indexOf(',') + 1);
17
- resolve({
18
- filename: file.name,
19
- content_type: file.type || 'application/octet-stream',
20
- content,
21
- });
22
- };
23
- reader.readAsDataURL(file);
24
- });
@@ -1,10 +0,0 @@
1
- export * from './meta';
2
- export * from './ticketModel';
3
- export * from './attachmentAccess';
4
- export * from './AttachmentChips';
5
- export * from './TicketMetaTags';
6
- export * from './TicketHeader';
7
- export * from './InterfaceReferenceTags';
8
- export * from './ReferencePicker';
9
- export * from './fileToAttachment';
10
- export * from './TicketReplyBox';