@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,566 +0,0 @@
1
- // Copyright 2026 Qore Technologies, s.r.o.
2
- // The DPQL the story language server speaks: tokens, parse, type analysis,
3
- // serialize and render, as pure functions.
4
- //
5
- // A mock that answers every request with a fixed shape makes stories assert
6
- // its artefacts instead of the product. The one this replaced parsed ANY text
7
- // into `text == ""`, so `1 + 2 ==` — which the real server rejects — previewed
8
- // as `"1 + 2 ==" == ""` and a bool field reported "returns string". Each
9
- // answer here follows what the Qorus `/lsp` handler actually returned for the
10
- // same input, recorded in `__tests__/dpqlMockLanguage.test.ts`; only the subset
11
- // the stories exercise is modelled.
12
- import { mockExpressions } from './mockExpressions';
13
- import { IExpressionSchema } from './types';
14
-
15
- /** One argument or node of a DPQL expression AST, as the server shapes it. */
16
- export interface IDpqlMockNode {
17
- exp?: string;
18
- args?: IDpqlMockNode[];
19
- type?: string;
20
- value?: unknown;
21
- is_expression?: boolean;
22
- }
23
-
24
- export interface IDpqlMockDiagnostic {
25
- severity: 'error' | 'warning';
26
- message: string;
27
- code: string;
28
- line: number;
29
- column: number;
30
- end_line: number;
31
- end_column: number;
32
- }
33
-
34
- export interface IDpqlMockParseResult {
35
- success: boolean;
36
- expression?: { is_expression: true; value: IDpqlMockNode };
37
- inferred_type?: string;
38
- target_type?: string;
39
- type_compatible?: boolean;
40
- auto_coercible?: boolean;
41
- coercion_may_fail?: boolean;
42
- suggested_fix?: { text: string; description: string };
43
- diagnostics: IDpqlMockDiagnostic[];
44
- }
45
-
46
- // ─── Catalogue ───────────────────────────────────────────────────────────────
47
-
48
- /* The server parses, serializes and renders by the expression catalogue — an
49
- expression's symbol, type, group and `render_template` — so this reads the
50
- stories' catalogue for the same answers. */
51
- const CATALOGUE = new Map<string, IExpressionSchema>(
52
- mockExpressions.map((info) => [info.name, info])
53
- );
54
-
55
- /** `DET_Function`: a rendering calls it by name. */
56
- const DET_FUNCTION = 2;
57
- /** `DET_Operator`. */
58
- const DET_OPERATOR = 1;
59
-
60
- const WORD = /^[A-Za-z_]\w*$/;
61
-
62
- /** An expression's DPQL spelling: its symbol without a display `()`, else its name. */
63
- const symbolOf = (name: string): string =>
64
- CATALOGUE.get(name)?.symbol?.replace(/\(\)$/, '') || name;
65
-
66
- /**
67
- * A two-argument catalogue comparison is written infix by its symbol:
68
- * `"test" startsWith "t"`. With any other number of arguments it is a call.
69
- * `regex` is the exception the server spells `=~ /…/`, which is not modelled.
70
- */
71
- const isInfixComparison = (name: string, argCount: number): boolean => {
72
- const info = CATALOGUE.get(name);
73
- return (
74
- argCount === 2 &&
75
- info?.type === DET_OPERATOR &&
76
- !!info.groups?.includes('Comparison') &&
77
- name !== 'regex'
78
- );
79
- };
80
-
81
- /** Expression names by the word DPQL spells them with: `startsWith` → `starts-with`. */
82
- const NAME_BY_SYMBOL = new Map<string, string>(
83
- mockExpressions
84
- .filter((info) => WORD.test(symbolOf(info.name)))
85
- .map((info) => [symbolOf(info.name), info.name])
86
- );
87
-
88
- // ─── Semantic tokens ─────────────────────────────────────────────────────────
89
-
90
- const DPQL_KEYWORDS = new Set(['in', 'not', 'between', 'and', 'like', 'true', 'false', 'null']);
91
- const DPQL_FUNCTIONS = new Set([
92
- 'abs', 'round', 'floor', 'ceil', 'trim', 'ltrim', 'rtrim', 'concat', 'split', 'substr',
93
- 'coalesce', 'nullif', 'now', 'days', 'hours', 'minutes', 'seconds', 'milliseconds',
94
- 'microseconds', 'years', 'months', 'weeks', 'get_year', 'get_month', 'get_day', 'get_hour',
95
- 'get_minute', 'get_second', 'format_date', 'format_number', 'map', 'hash_map', 'contains',
96
- 'ignore', 'case', 'toString', 'toInt', 'toFloat', 'toBool', 'startsWith', 'endsWith',
97
- ]);
98
-
99
- /**
100
- * `textDocument/semanticTokens/full` for `text`: the LSP delta-encoded 5-tuple
101
- * array, with type indices into `SEMANTIC_TOKENS_LEGEND`. It covers readable
102
- * renderings as well as DPQL, as the server's does — `contains` and
103
- * `(ignore case)` in an explanation are coloured too.
104
- */
105
- export function mockTokenizeDpql(text: string): number[] {
106
- // Longer operators must come first so `==` isn't matched as two `=`.
107
- const TOKEN_RE = new RegExp(
108
- [
109
- `("(?:\\\\.|[^"\\\\])*")`, // 1: double-quoted string
110
- `('(?:\\\\.|[^'\\\\])*')`, // 2: single-quoted string
111
- `(/(?:\\\\.|[^/\\\\])*/[gimsux]*)`, // 3: regex literal /…/flags
112
- // a field name is bare in any script, as the server reads it: @menge_bestätigt, @名前
113
- `(@"(?:\\\\.|[^"\\\\])*"|@[\\p{L}_][\\p{L}\\p{M}\\p{N}_.]*)`, // 4: @field
114
- `(\\$[A-Za-z_-][\\w-]*:(?:\\{[^}]*\\}|[\\w.{}]+))`, // 5: $context:value
115
- `(\\b\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\b)`, // 6: number
116
- `(==|!=|<=|>=|&&|\\|\\||=~|!~|[+\\-*/%<>!=])`, // 7: operator
117
- // 8: punctuation — matched so it is not misread, but the server leaves it uncoloured
118
- `(\\.\\.|[,(){}\\[\\].])`,
119
- `(\\b[A-Za-z_][\\w]*\\b)`, // 9: identifier (keyword check)
120
- ].join('|'),
121
- 'gu'
122
- );
123
-
124
- const tokens: Array<{ line: number; char: number; length: number; type: number }> = [];
125
- text.split('\n').forEach((line, lineIdx) => {
126
- TOKEN_RE.lastIndex = 0;
127
- let match: RegExpExecArray | null;
128
- while ((match = TOKEN_RE.exec(line)) !== null) {
129
- let type = -1;
130
- if (match[1] || match[2]) type = 11; // string
131
- else if (match[3]) type = 13; // regexp
132
- else if (match[4]) type = 4; // variable
133
- else if (match[5]) type = 2; // class (template)
134
- else if (match[6]) type = 12; // number
135
- else if (match[7]) type = 14; // operator
136
- else if (match[9]) {
137
- const word = match[9];
138
- if (DPQL_KEYWORDS.has(word.toLowerCase())) type = 8; // keyword
139
- else if (DPQL_FUNCTIONS.has(word) || DPQL_FUNCTIONS.has(word.toLowerCase())) type = 6; // function
140
- }
141
- if (type >= 0) {
142
- tokens.push({ line: lineIdx, char: match.index, length: match[0].length, type });
143
- }
144
- }
145
- });
146
-
147
- const data: number[] = [];
148
- let prevLine = 0;
149
- let prevChar = 0;
150
- for (const t of tokens) {
151
- const deltaLine = t.line - prevLine;
152
- data.push(deltaLine, deltaLine === 0 ? t.char - prevChar : t.char, t.length, t.type, 0);
153
- prevLine = t.line;
154
- prevChar = t.char;
155
- }
156
- return data;
157
- }
158
-
159
- // ─── Parse ───────────────────────────────────────────────────────────────────
160
-
161
- type TToken =
162
- | { kind: 'number'; text: string; start: number }
163
- | { kind: 'string'; text: string; start: number }
164
- | { kind: 'template'; text: string; start: number }
165
- | { kind: 'word'; text: string; start: number }
166
- | { kind: 'op'; text: string; start: number };
167
-
168
- const LEX_RE =
169
- /\s*(?:("(?:\\.|[^"\\])*")|(\$[A-Za-z_-][\w-]*:[\w.{}]+)|(\d+(?:\.\d+)?)|([A-Za-z_]\w*)|(==|!=|<=|>=|&&|\|\||[-+*/<>!(),]))/y;
170
-
171
- /** Binary operators, loosest first — the precedence the server parenthesises by. */
172
- const BINARY_PRECEDENCE: Record<string, number> = {
173
- '||': 1,
174
- '&&': 2,
175
- '==': 3,
176
- '!=': 3,
177
- '<': 3,
178
- '>': 3,
179
- '<=': 3,
180
- '>=': 3,
181
- '+': 4,
182
- '-': 4,
183
- '*': 5,
184
- '/': 5,
185
- };
186
-
187
- const RETURN_TYPES: Record<string, string> = {
188
- toString: 'string',
189
- toInt: 'int',
190
- toFloat: 'float',
191
- toBool: 'bool',
192
- };
193
-
194
- class DpqlMockSyntaxError extends Error {
195
- constructor(
196
- message: string,
197
- readonly column: number
198
- ) {
199
- super(message);
200
- }
201
- }
202
-
203
- const tokenize = (text: string): TToken[] => {
204
- const tokens: TToken[] = [];
205
- LEX_RE.lastIndex = 0;
206
- while (LEX_RE.lastIndex < text.length) {
207
- const start = LEX_RE.lastIndex;
208
- const m = LEX_RE.exec(text);
209
- if (!m) {
210
- if (text.slice(start).trim() === '') break;
211
- throw new DpqlMockSyntaxError('Unexpected character', start + 1);
212
- }
213
- const tokenStart = start + m[0].length - m[0].trimStart().length;
214
- if (m[1]) tokens.push({ kind: 'string', text: m[1], start: tokenStart });
215
- else if (m[2]) tokens.push({ kind: 'template', text: m[2], start: tokenStart });
216
- else if (m[3]) tokens.push({ kind: 'number', text: m[3], start: tokenStart });
217
- else if (m[4]) tokens.push({ kind: 'word', text: m[4], start: tokenStart });
218
- else if (m[5]) tokens.push({ kind: 'op', text: m[5], start: tokenStart });
219
- }
220
- return tokens;
221
- };
222
-
223
- const templateArg = (raw: string): IDpqlMockNode => {
224
- const [, context, value] = raw.match(/^\$([^:]+):(.*)$/) ?? [];
225
- return { type: 'auto', value: { tmpl_context: context, tmpl_value: value, raw } };
226
- };
227
-
228
- /** An operand: a bare argument, or a nested expression wrapped as the server wraps it. */
229
- const asOperand = (node: IDpqlMockNode): IDpqlMockNode =>
230
- node.exp ? { is_expression: true, value: node } : node;
231
-
232
- const parseTokens = (tokens: TToken[], endColumn: number): IDpqlMockNode => {
233
- let pos = 0;
234
- const peek = () => tokens[pos];
235
- const fail = (): never => {
236
- const token = peek();
237
- throw new DpqlMockSyntaxError(
238
- token ? `Unexpected token '${token.text}'` : 'Unexpected end of input, expected value',
239
- token ? token.start + 1 : endColumn
240
- );
241
- };
242
-
243
- const primary = (): IDpqlMockNode => {
244
- const token = peek();
245
- if (!token) return fail();
246
- pos++;
247
- switch (token.kind) {
248
- case 'number':
249
- return token.text.includes('.')
250
- ? { type: 'float', value: parseFloat(token.text) }
251
- : { type: 'int', value: parseInt(token.text, 10) };
252
- case 'string':
253
- return { type: 'string', value: JSON.parse(token.text) };
254
- case 'template':
255
- return templateArg(token.text);
256
- case 'word': {
257
- if (token.text === 'true' || token.text === 'false') {
258
- return { type: 'bool', value: token.text === 'true' };
259
- }
260
- if (token.text === 'null') {
261
- return { type: 'any', value: null };
262
- }
263
- if (peek()?.text === '(') {
264
- pos++;
265
- const args: IDpqlMockNode[] = [];
266
- while (peek() && peek()!.text !== ')') {
267
- args.push(asOperand(binary(1)));
268
- if (peek()?.text === ',') {
269
- pos++;
270
- }
271
- }
272
- if (peek()?.text !== ')') return fail();
273
- pos++;
274
- return { exp: NAME_BY_SYMBOL.get(token.text) ?? token.text, args };
275
- }
276
- return { type: 'string', value: token.text };
277
- }
278
- case 'op':
279
- if (token.text === '(') {
280
- const inner = binary(1);
281
- if (peek()?.text !== ')') return fail();
282
- pos++;
283
- return inner;
284
- }
285
- if (token.text === '!') {
286
- return { exp: '!', args: [asOperand(primary())] };
287
- }
288
- pos--;
289
- return fail();
290
- }
291
- return fail();
292
- };
293
-
294
- const binary = (minPrecedence: number): IDpqlMockNode => {
295
- let left = primary();
296
- for (;;) {
297
- const op = peek();
298
- // A word comparison (`"a" contains "b"`) binds as the symbol comparisons do.
299
- const wordComparison =
300
- op?.kind === 'word' && NAME_BY_SYMBOL.has(op.text) &&
301
- isInfixComparison(NAME_BY_SYMBOL.get(op.text)!, 2)
302
- ? NAME_BY_SYMBOL.get(op.text)
303
- : undefined;
304
- const precedence =
305
- op?.kind === 'op' ? BINARY_PRECEDENCE[op.text]
306
- : wordComparison ? BINARY_PRECEDENCE['==']
307
- : undefined;
308
- if (precedence === undefined || precedence < minPrecedence) {
309
- return left;
310
- }
311
- pos++;
312
- const right = binary(precedence + 1);
313
- left = { exp: wordComparison ?? op!.text, args: [asOperand(left), asOperand(right)] };
314
- }
315
- };
316
-
317
- const root = binary(1);
318
- if (pos < tokens.length) fail();
319
- return root;
320
- };
321
-
322
- const nodeOf = (operand: IDpqlMockNode): IDpqlMockNode =>
323
- operand.is_expression ? (operand.value as IDpqlMockNode) : operand;
324
-
325
- /** The type an expression returns, as far as the server can tell before it runs. */
326
- export const inferDpqlMockType = (node: IDpqlMockNode): string => {
327
- if (!node.exp) {
328
- return node.type === 'auto' ? 'auto' : (node.type ?? 'auto');
329
- }
330
- if (node.exp === 'value') return 'auto';
331
- if (RETURN_TYPES[node.exp]) return RETURN_TYPES[node.exp];
332
- if (['==', '!=', '<', '>', '<=', '>=', '&&', '||', '!'].includes(node.exp)) return 'bool';
333
- if (['+', '-', '*', '/'].includes(node.exp)) {
334
- const operandTypes = (node.args ?? []).map((arg) => inferDpqlMockType(nodeOf(arg)));
335
- if (operandTypes.includes('auto')) return 'auto';
336
- if (node.exp === '+' && operandTypes.includes('string')) return 'string';
337
- return operandTypes.includes('float') ? 'float' : 'int';
338
- }
339
- return 'auto';
340
- };
341
-
342
- const capitalise = (word: string) => word[0].toUpperCase() + word.slice(1);
343
-
344
- /** What a successful parse says about fitting `target`, shaped as the server's answer. */
345
- const analyse = (
346
- text: string,
347
- inferred: string,
348
- target: string
349
- ): Omit<IDpqlMockParseResult, 'success' | 'expression' | 'diagnostics'> & {
350
- diagnostics: IDpqlMockDiagnostic[];
351
- } => {
352
- const base = { inferred_type: inferred, target_type: target };
353
- if (inferred === 'auto' || target === 'auto' || target === 'any' || inferred === target) {
354
- return { ...base, type_compatible: true, auto_coercible: true, coercion_may_fail: false, diagnostics: [] };
355
- }
356
- // Text can become anything but may not parse on the day; a number or a bool
357
- // always becomes text; nothing else converts implicitly.
358
- const coercible = inferred === 'string' || target === 'string';
359
- const mayFail = inferred === 'string';
360
- const span = { line: 1, column: 1, end_line: 1, end_column: text.length + 1 };
361
- return {
362
- ...base,
363
- type_compatible: false,
364
- auto_coercible: coercible,
365
- coercion_may_fail: mayFail,
366
- ...(coercible
367
- ? {
368
- suggested_fix: {
369
- text: `to${capitalise(target)}(${text})`,
370
- description: `Convert ${inferred} to ${target} using to${capitalise(target)}()`,
371
- },
372
- }
373
- : {}),
374
- diagnostics: [
375
- {
376
- severity: coercible ? 'warning' : 'error',
377
- message: coercible
378
- ? `Expression returns '${inferred}' but target expects '${target}' (auto-coercion available)`
379
- : `Expression returns '${inferred}' but target expects '${target}'`,
380
- code: 'TYPE_MISMATCH',
381
- ...span,
382
- },
383
- ],
384
- };
385
- };
386
-
387
- /** `dpql/parse`: the AST for `text`, or the diagnostic the server reports. */
388
- export const mockParseDpql = (text: string, target?: string): IDpqlMockParseResult => {
389
- const trimmed = text.trim();
390
- try {
391
- const tokens = tokenize(trimmed);
392
- const node = parseTokens(tokens, trimmed.length + 1);
393
- // A lone value is wrapped in `value(...)`, which is how the server tells a
394
- // literal apart from an expression.
395
- const root: IDpqlMockNode = node.exp ? node : { exp: 'value', args: [node] };
396
- const inferred = inferDpqlMockType(root);
397
- return {
398
- success: true,
399
- expression: { is_expression: true, value: root },
400
- ...(target ? analyse(trimmed, inferred, target) : { inferred_type: inferred, diagnostics: [] }),
401
- } as IDpqlMockParseResult;
402
- } catch (err) {
403
- const column = err instanceof DpqlMockSyntaxError ? err.column : 1;
404
- return {
405
- success: false,
406
- diagnostics: [
407
- {
408
- severity: 'error',
409
- message: err instanceof Error ? err.message : String(err),
410
- code: 'DPQL-E001',
411
- line: 1,
412
- column,
413
- end_line: 1,
414
- end_column: column,
415
- },
416
- ],
417
- };
418
- }
419
- };
420
-
421
- // ─── Serialize and render ────────────────────────────────────────────────────
422
-
423
- const TEMPLATE_TOKEN = /^\$[A-Za-z_-][\w-]*:[\w.{}]+$/;
424
-
425
- /** An argument's own value, for a rendering that asks whether it is set. */
426
- const argumentValue = (arg: IDpqlMockNode | undefined): unknown =>
427
- arg && !arg.exp && !arg.is_expression ? arg.value : arg;
428
-
429
- const printLiteral = (value: unknown, readable: boolean): string => {
430
- if (value && typeof value === 'object' && 'raw' in value) {
431
- return String((value as { raw?: string }).raw);
432
- }
433
- if (typeof value === 'string') {
434
- // Serialized DPQL keeps a string a string; a readable rendering shows a
435
- // reference the string holds as the reference, which the server's does too.
436
- return readable && TEMPLATE_TOKEN.test(value) ? value : JSON.stringify(value);
437
- }
438
- return value === null || value === undefined ? 'null' : String(value);
439
- };
440
-
441
- /**
442
- * `parentPrecedence` is the context: a nested operator binding looser than it
443
- * is parenthesised. `0` never parenthesises (a call's own commas delimit its
444
- * arguments); `Infinity` always does, which is how the server substitutes an
445
- * argument into a `render_template`.
446
- */
447
- const printArg = (arg: IDpqlMockNode, parentPrecedence: number, readable: boolean): string => {
448
- if (arg.is_expression) {
449
- const inner = arg.value as IDpqlMockNode;
450
- const printed = printNode(inner, readable);
451
- const precedence = BINARY_PRECEDENCE[inner.exp ?? ''];
452
- return precedence !== undefined && precedence < parentPrecedence ? `(${printed})` : printed;
453
- }
454
- if (arg.exp) return printNode(arg, readable);
455
- return printLiteral(arg.value, readable);
456
- };
457
-
458
- /** `render_template` substitution, in the server's order. */
459
- const renderTemplate = (info: IExpressionSchema, args: IDpqlMockNode[]): string => {
460
- const argument = (n: number): string => {
461
- if (n < args.length) return printArg(args[n], Infinity, true);
462
- // A missing argument reads as its default, or as nothing.
463
- const fallback = info.args?.[n]?.default_value;
464
- return fallback === undefined ? '' : printLiteral(fallback, true);
465
- };
466
- return info
467
- .render_template!.split('$symbol')
468
- .join(info.symbol)
469
- .split('$args')
470
- .join(args.map((_, n) => argument(n)).join(', '))
471
- .replace(/\$arg\[(\d+)\]/g, (_, n) => argument(Number(n)))
472
- .replace(
473
- /\$\{arg\[(\d+)\](?:\s*\?([^:}]*):([^}]*))?\}/g,
474
- (_, n, whenSet = '', whenUnset = '') => {
475
- /* The argument decides when it was given, its default only when it was
476
- not — as the expression evaluates. An explicit `false` on a
477
- default-true argument reads as unset (Qore `5f3d9b491`). */
478
- const given = args[Number(n)];
479
- const isSet =
480
- given !== undefined ? argumentValue(given) : info.args?.[Number(n)]?.default_value;
481
- return isSet ? whenSet : whenUnset;
482
- }
483
- );
484
- };
485
-
486
- /** A node as `dpql/serialize` writes it: DPQL that parses back to the same node. */
487
- const serializeNode = (args: IDpqlMockNode[], name: string): string => {
488
- if (isInfixComparison(name, args.length) && WORD.test(symbolOf(name))) {
489
- // Not in the server's precedence table, so its operands are rendered in the
490
- // tightest context: any operator inside one is parenthesised.
491
- return `${printArg(args[0], Infinity, false)} ${symbolOf(name)} ${printArg(args[1], Infinity, false)}`;
492
- }
493
- return `${symbolOf(name)}(${args.map((arg) => printArg(arg, 0, false)).join(', ')})`;
494
- };
495
-
496
- /** A node as `dpql/renderExpression` reads it: a function by name, else its template. */
497
- const renderNode = (args: IDpqlMockNode[], name: string): string | undefined => {
498
- const info = CATALOGUE.get(name);
499
- if (info?.type === DET_FUNCTION) {
500
- return `${name}(${args.map((arg) => printArg(arg, 0, true)).join(', ')})`;
501
- }
502
- return info?.render_template ? renderTemplate(info, args) : undefined;
503
- };
504
-
505
- const printNode = (node: IDpqlMockNode, readable: boolean): string => {
506
- const args = node.args ?? [];
507
- const name = node.exp ?? '';
508
- if (name === 'value' && args.length === 1) return printArg(args[0], 0, readable);
509
- const rendered = readable ? renderNode(args, name) : undefined;
510
- if (rendered !== undefined) return rendered;
511
- const precedence = BINARY_PRECEDENCE[name];
512
- if (precedence !== undefined && args.length === 2) {
513
- return `${printArg(args[0], precedence, readable)} ${name} ${printArg(args[1], precedence + 1, readable)}`;
514
- }
515
- // The builder stores an AND/OR group as ONE node with every member as an
516
- // argument; it reads as the members joined by the operator.
517
- if ((name === '&&' || name === '||') && args.length !== 2) {
518
- return args.map((arg) => printArg(arg, precedence + 1, readable)).join(` ${name} `);
519
- }
520
- if (name === '!') return `!${printArg(args[0], 6, readable)}`;
521
- if (!readable) return serializeNode(args, name);
522
- // Any other catalogue operator reads as its arguments joined by its symbol.
523
- const info = CATALOGUE.get(name);
524
- if (info) {
525
- return args.length === 1 ?
526
- `${info.symbol} ${printArg(args[0], 0, true)}`
527
- : args.map((arg) => printArg(arg, precedence ?? 0, true)).join(` ${info.symbol} `);
528
- }
529
- return `${name}(${args.map((arg) => printArg(arg, 0, true)).join(', ')})`;
530
- };
531
-
532
- const rootOf = (expression: IDpqlMockNode | undefined): IDpqlMockNode =>
533
- expression?.value && !expression.exp ? (expression.value as IDpqlMockNode) : (expression ?? {});
534
-
535
- /** The richtext the server sends beside a rendering: each `$context:value` becomes a chip. */
536
- export const dpqlMockRichtext = (text: string) => {
537
- const children: unknown[] = [];
538
- const reference = /\$([A-Za-z_-][\w-]*):([\w.{}]+)/g;
539
- let last = 0;
540
- let match: RegExpExecArray | null;
541
- while ((match = reference.exec(text)) !== null) {
542
- if (match.index > last) children.push({ text: text.slice(last, match.index) });
543
- children.push({
544
- type: 'tag',
545
- value: match[0],
546
- label: match[2],
547
- children: [{ text: '' }],
548
- metadata: { displayName: `${capitalise(match[1])} Context` },
549
- });
550
- last = match.index + match[0].length;
551
- }
552
- if (last < text.length || !children.length) children.push({ text: text.slice(last) });
553
- return { type: 'richtext', value: [{ type: 'paragraph', children }] };
554
- };
555
-
556
- /** `dpql/serialize`: DPQL text that parses back to the same expression. */
557
- export const mockSerializeDpql = (expression: IDpqlMockNode | undefined) => {
558
- const dpql = printNode(rootOf(expression), false);
559
- return { dpql, richtext: dpqlMockRichtext(dpql) };
560
- };
561
-
562
- /** `dpql/renderExpression`: the readable rendering shown in previews and explanations. */
563
- export const mockRenderDpql = (expression: IDpqlMockNode | undefined) => {
564
- const rendered = printNode(rootOf(expression), true);
565
- return { rendered, richtext: dpqlMockRichtext(rendered) };
566
- };
@@ -1,126 +0,0 @@
1
- // Copyright 2026 Qore Technologies, s.r.o.
2
- // The DPQL language server every story talks to unless it brings its own.
3
- //
4
- // `.storybook/preview.tsx` starts it before each story, so an expression field,
5
- // a Preview or an Explain panel finds a server on the endpoint whatever story it
6
- // sits in — the same way `GLOBAL_STORY_MOCK_DATA` answers the REST requests
7
- // components make on their own. A story that needs different handlers starts
8
- // its own server on the URL and replaces this one (see `createMockLspServer`).
9
- // The answers come from `dpqlMockLanguage`, which follows the real server.
10
- import {
11
- createMockLspServer,
12
- DEFAULT_LSP_CAPABILITIES,
13
- IMockLspServer,
14
- MOCK_LSP_URL,
15
- TMockLspHandler,
16
- } from '../../smartEditor/__fixtures__/mockLspServer';
17
- import {
18
- IDpqlMockNode,
19
- mockParseDpql,
20
- mockRenderDpql,
21
- mockSerializeDpql,
22
- mockTokenizeDpql,
23
- } from './dpqlMockLanguage';
24
-
25
- /**
26
- * Every `dpql/parse` the mock answered, in order, for diagnosis.
27
- *
28
- * The type-analysis stories depend on the front end SENDING `target_type` —
29
- * the mock returns analysis only when it is present, exactly as the server
30
- * behaves. When one of those stories fails there are two very different
31
- * causes, and the rendered DOM cannot tell them apart: the request never
32
- * carried a target, or it did and the answer was not rendered. This records
33
- * which, and the story reports it in its assertion message so the answer
34
- * survives into a CI log.
35
- */
36
- export interface IDpqlMockParseCall {
37
- text: string;
38
- target?: string;
39
- analysed: boolean;
40
- }
41
- export const dpqlMockParseCalls: IDpqlMockParseCall[] = [];
42
-
43
- /** The template namespaces the server offers after a `$`. */
44
- const DPQL_MOCK_TEMPLATE_ITEMS = [
45
- { label: '$data:', insertText: '$data:', kind: 1, detail: 'template' },
46
- { label: '$config:', insertText: '$config:', kind: 1, detail: 'template' },
47
- { label: '$static:', insertText: '$static:', kind: 1, detail: 'template' },
48
- { label: '$timestamp:', insertText: '$timestamp:', kind: 1, detail: 'template' },
49
- ];
50
-
51
- /** The record fields the server offers after an `@`. */
52
- const DPQL_MOCK_FIELD_ITEMS = [
53
- { label: '@name', insertText: '@name', kind: 5, detail: 'string' },
54
- { label: '@status', insertText: '@status', kind: 5, detail: 'string' },
55
- ];
56
-
57
- const DPQL_MOCK_HANDLERS: Record<string, TMockLspHandler> = {
58
- /* Position-aware, as the real server is: `$` opens the template
59
- namespaces, `@` the record fields. Answering the same list whatever
60
- precedes the cursor would make a story asserting the `$` menu pass
61
- for a shell that asked in the wrong context — which is the only thing
62
- such a story is there to catch. (`DpqlEditor`'s own stories carry the
63
- full catalogue; this is the minimal subset.) */
64
- 'textDocument/completion': (msg, server) => {
65
- const position = msg.params?.position ?? { line: 0, character: 0 };
66
- const line = server.textOf(msg.params?.textDocument?.uri).split('\n')[position.line] ?? '';
67
- const head = line.slice(0, position.character);
68
- const sigil = head.match(/[@$][\w:.{}]*$/)?.[0]?.[0] ?? '';
69
- if (sigil === '$') {
70
- return { isIncomplete: false, items: DPQL_MOCK_TEMPLATE_ITEMS };
71
- }
72
- if (sigil === '@') {
73
- return { isIncomplete: false, items: DPQL_MOCK_FIELD_ITEMS };
74
- }
75
- return { isIncomplete: false, items: [] };
76
- },
77
-
78
- 'textDocument/semanticTokens/full': (msg, server) => ({
79
- data: mockTokenizeDpql(server.textOf(msg.params?.textDocument?.uri)),
80
- }),
81
-
82
- 'dpql/setContext': () => ({ fields: {} }),
83
-
84
- 'dpql/parse': (msg) => {
85
- const text = String(msg.params?.text ?? '');
86
- const target = msg.params?.target_type as string | undefined;
87
- dpqlMockParseCalls.push({ text: text.trim(), target, analysed: !!target });
88
- return mockParseDpql(text, target);
89
- },
90
-
91
- 'dpql/serialize': (msg) => mockSerializeDpql(msg.params?.expression as IDpqlMockNode),
92
-
93
- 'dpql/validate': () => ({ diagnostics: [] }),
94
-
95
- 'dpql/renderExpression': (msg) => mockRenderDpql(msg.params?.expression as IDpqlMockNode),
96
- };
97
-
98
- export interface IStartDpqlMockLspOptions {
99
- /** Handlers to use instead of, or beside, the default ones. */
100
- handlers?: Record<string, TMockLspHandler>;
101
- /** Per-method response delays in ms. */
102
- delays?: Record<string, number>;
103
- }
104
-
105
- /** Start the mock DPQL language server; returns the server and a teardown. */
106
- export const startDpqlMockLspServer = (
107
- options: IStartDpqlMockLspOptions = {}
108
- ): { lsp: IMockLspServer; stop: () => void } => {
109
- dpqlMockParseCalls.length = 0;
110
- const lsp = createMockLspServer(MOCK_LSP_URL, {
111
- capabilities: {
112
- ...DEFAULT_LSP_CAPABILITIES,
113
- textDocumentSync: { openClose: true, change: 2 },
114
- completionProvider: { triggerCharacters: ['@', '$', '.', ':'] },
115
- },
116
- // Unknown requests get an empty success so nothing hangs.
117
- defaultResult: {},
118
- delays: options.delays,
119
- handlers: { ...DPQL_MOCK_HANDLERS, ...options.handlers },
120
- });
121
- return { lsp, stop: () => lsp.close() };
122
- };
123
-
124
- /** Start the mock DPQL language server; returns a teardown function. */
125
- export const startDpqlMockLsp = (options?: IStartDpqlMockLspOptions): (() => void) =>
126
- startDpqlMockLspServer(options).stop;