@qoretechnologies/reqraft 0.10.65 → 0.10.66-pr.137.ga1983bf

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 (873) 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 +156 -10
  31. package/dist/components/dpqlEditor/DpqlEditor.js.map +1 -1
  32. package/dist/components/dpqlEditor/dpqlCompletions.d.ts +39 -0
  33. package/dist/components/dpqlEditor/dpqlCompletions.d.ts.map +1 -0
  34. package/dist/components/dpqlEditor/dpqlCompletions.js +294 -0
  35. package/dist/components/dpqlEditor/dpqlCompletions.js.map +1 -0
  36. package/dist/components/dpqlEditor/dpqlHelpers.d.ts +54 -5
  37. package/dist/components/dpqlEditor/dpqlHelpers.d.ts.map +1 -1
  38. package/dist/components/dpqlEditor/dpqlHelpers.js +413 -63
  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 +67 -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 +94 -8
  48. package/dist/components/dpqlEditor/types.d.ts.map +1 -1
  49. package/dist/components/dpqlEditor/useDpqlSession.d.ts +7 -2
  50. package/dist/components/dpqlEditor/useDpqlSession.d.ts.map +1 -1
  51. package/dist/components/dpqlEditor/useDpqlSession.js +49 -17
  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 +322 -124
  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 +570 -176
  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 +30 -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 +59 -22
  81. package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
  82. package/dist/components/form/engine/compactRowStyles.js +102 -55
  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 +67 -3
  129. package/dist/components/form/expressions/ExpressionField.d.ts.map +1 -1
  130. package/dist/components/form/expressions/ExpressionField.js +536 -114
  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 +30 -11
  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 +9 -0
  146. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.d.ts.map +1 -1
  147. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js +30 -27
  148. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js.map +1 -1
  149. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts +1 -1
  150. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts.map +1 -1
  151. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js +7 -5
  152. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js.map +1 -1
  153. package/dist/components/form/expressions/builder/index.d.ts +34 -2
  154. package/dist/components/form/expressions/builder/index.d.ts.map +1 -1
  155. package/dist/components/form/expressions/builder/index.js +170 -80
  156. package/dist/components/form/expressions/builder/index.js.map +1 -1
  157. package/dist/components/form/expressions/builder/item.d.ts +6 -2
  158. package/dist/components/form/expressions/builder/item.d.ts.map +1 -1
  159. package/dist/components/form/expressions/builder/item.js +19 -5
  160. package/dist/components/form/expressions/builder/item.js.map +1 -1
  161. package/dist/components/form/expressions/builder/renderTemplate.js +1 -1
  162. package/dist/components/form/expressions/builder/renderTemplate.js.map +1 -1
  163. package/dist/components/form/expressions/dpqlMockRecordPath.d.ts +11 -0
  164. package/dist/components/form/expressions/dpqlMockRecordPath.d.ts.map +1 -0
  165. package/dist/components/form/expressions/dpqlMockRecordPath.js +254 -0
  166. package/dist/components/form/expressions/dpqlMockRecordPath.js.map +1 -0
  167. package/dist/components/form/expressions/expressionOperands.d.ts +16 -0
  168. package/dist/components/form/expressions/expressionOperands.d.ts.map +1 -0
  169. package/dist/components/form/expressions/expressionOperands.js +97 -0
  170. package/dist/components/form/expressions/expressionOperands.js.map +1 -0
  171. package/dist/components/form/expressions/fieldPath.d.ts +24 -0
  172. package/dist/components/form/expressions/fieldPath.d.ts.map +1 -0
  173. package/dist/components/form/expressions/fieldPath.js +152 -0
  174. package/dist/components/form/expressions/fieldPath.js.map +1 -0
  175. package/dist/components/form/expressions/loneValue.d.ts +17 -0
  176. package/dist/components/form/expressions/loneValue.d.ts.map +1 -0
  177. package/dist/components/form/expressions/loneValue.js +33 -0
  178. package/dist/components/form/expressions/loneValue.js.map +1 -0
  179. package/dist/components/form/expressions/mockExpressions.d.ts.map +1 -1
  180. package/dist/components/form/expressions/mockExpressions.js +22 -5
  181. package/dist/components/form/expressions/mockExpressions.js.map +1 -1
  182. package/dist/components/form/expressions/renderExpressionToText.d.ts +2 -0
  183. package/dist/components/form/expressions/renderExpressionToText.d.ts.map +1 -1
  184. package/dist/components/form/expressions/renderExpressionToText.js +43 -10
  185. package/dist/components/form/expressions/renderExpressionToText.js.map +1 -1
  186. package/dist/components/form/expressions/textOfExpression.d.ts +18 -0
  187. package/dist/components/form/expressions/textOfExpression.d.ts.map +1 -0
  188. package/dist/components/form/expressions/textOfExpression.js +49 -0
  189. package/dist/components/form/expressions/textOfExpression.js.map +1 -0
  190. package/dist/components/form/expressions/types.d.ts +12 -0
  191. package/dist/components/form/expressions/types.d.ts.map +1 -1
  192. package/dist/components/form/expressions/types.js +6 -1
  193. package/dist/components/form/expressions/types.js.map +1 -1
  194. package/dist/components/form/expressions/useExpressionType.d.ts +26 -0
  195. package/dist/components/form/expressions/useExpressionType.d.ts.map +1 -0
  196. package/dist/components/form/expressions/useExpressionType.js +181 -0
  197. package/dist/components/form/expressions/useExpressionType.js.map +1 -0
  198. package/dist/components/form/expressions/useRenderExpression.d.ts.map +1 -1
  199. package/dist/components/form/expressions/useRenderExpression.js +13 -9
  200. package/dist/components/form/expressions/useRenderExpression.js.map +1 -1
  201. package/dist/components/form/expressions/wildcardExpressions.d.ts +27 -0
  202. package/dist/components/form/expressions/wildcardExpressions.d.ts.map +1 -0
  203. package/dist/components/form/expressions/wildcardExpressions.js +101 -0
  204. package/dist/components/form/expressions/wildcardExpressions.js.map +1 -0
  205. package/dist/components/form/fields/Field.d.ts.map +1 -1
  206. package/dist/components/form/fields/Field.js +43 -20
  207. package/dist/components/form/fields/Field.js.map +1 -1
  208. package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
  209. package/dist/components/form/fields/allowed-values/AllowedValues.js +39 -6
  210. package/dist/components/form/fields/allowed-values/AllowedValues.js.map +1 -1
  211. package/dist/components/form/fields/allowed-values/choicePicture.d.ts +37 -0
  212. package/dist/components/form/fields/allowed-values/choicePicture.d.ts.map +1 -0
  213. package/dist/components/form/fields/allowed-values/choicePicture.js +64 -0
  214. package/dist/components/form/fields/allowed-values/choicePicture.js.map +1 -0
  215. package/dist/components/form/fields/array/ArrayAuto.d.ts.map +1 -1
  216. package/dist/components/form/fields/array/ArrayAuto.js +24 -0
  217. package/dist/components/form/fields/array/ArrayAuto.js.map +1 -1
  218. package/dist/components/form/fields/array/ArrayAutoField.d.ts.map +1 -1
  219. package/dist/components/form/fields/array/ArrayAutoField.js +36 -13
  220. package/dist/components/form/fields/array/ArrayAutoField.js.map +1 -1
  221. package/dist/components/form/fields/auto/AutoFormField.d.ts +30 -1
  222. package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
  223. package/dist/components/form/fields/auto/AutoFormField.js +119 -62
  224. package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
  225. package/dist/components/form/fields/auto/hostEditorValue.d.ts +30 -0
  226. package/dist/components/form/fields/auto/hostEditorValue.d.ts.map +1 -0
  227. package/dist/components/form/fields/auto/hostEditorValue.js +53 -0
  228. package/dist/components/form/fields/auto/hostEditorValue.js.map +1 -0
  229. package/dist/components/form/fields/binary/Binary.d.ts.map +1 -1
  230. package/dist/components/form/fields/binary/Binary.js +23 -3
  231. package/dist/components/form/fields/binary/Binary.js.map +1 -1
  232. package/dist/components/form/fields/boolean/Boolean.d.ts +5 -0
  233. package/dist/components/form/fields/boolean/Boolean.d.ts.map +1 -1
  234. package/dist/components/form/fields/boolean/Boolean.js +9 -1
  235. package/dist/components/form/fields/boolean/Boolean.js.map +1 -1
  236. package/dist/components/form/fields/color/Color.d.ts +103 -16
  237. package/dist/components/form/fields/color/Color.d.ts.map +1 -1
  238. package/dist/components/form/fields/color/Color.js +616 -16
  239. package/dist/components/form/fields/color/Color.js.map +1 -1
  240. package/dist/components/form/fields/emittedValues.d.ts +34 -3
  241. package/dist/components/form/fields/emittedValues.d.ts.map +1 -1
  242. package/dist/components/form/fields/emittedValues.js +24 -1
  243. package/dist/components/form/fields/emittedValues.js.map +1 -1
  244. package/dist/components/form/fields/file/File.d.ts +1 -1
  245. package/dist/components/form/fields/file/File.d.ts.map +1 -1
  246. package/dist/components/form/fields/file/File.js +4 -2
  247. package/dist/components/form/fields/file/File.js.map +1 -1
  248. package/dist/components/form/fields/long-string/LongString.d.ts.map +1 -1
  249. package/dist/components/form/fields/long-string/LongString.js +29 -8
  250. package/dist/components/form/fields/long-string/LongString.js.map +1 -1
  251. package/dist/components/form/fields/markdown/MarkdownView.js +1 -1
  252. package/dist/components/form/fields/multi-select/MultiSelectFormField.d.ts.map +1 -1
  253. package/dist/components/form/fields/multi-select/MultiSelectFormField.js +13 -9
  254. package/dist/components/form/fields/multi-select/MultiSelectFormField.js.map +1 -1
  255. package/dist/components/form/fields/number/Number.d.ts +6 -0
  256. package/dist/components/form/fields/number/Number.d.ts.map +1 -1
  257. package/dist/components/form/fields/number/Number.js +41 -6
  258. package/dist/components/form/fields/number/Number.js.map +1 -1
  259. package/dist/components/form/fields/object/Object.d.ts +1 -1
  260. package/dist/components/form/fields/object/Object.d.ts.map +1 -1
  261. package/dist/components/form/fields/object/Object.js +4 -2
  262. package/dist/components/form/fields/object/Object.js.map +1 -1
  263. package/dist/components/form/fields/pendingEdit.d.ts +52 -0
  264. package/dist/components/form/fields/pendingEdit.d.ts.map +1 -0
  265. package/dist/components/form/fields/pendingEdit.js +79 -0
  266. package/dist/components/form/fields/pendingEdit.js.map +1 -0
  267. package/dist/components/form/fields/radio-group/RadioGroup.d.ts.map +1 -1
  268. package/dist/components/form/fields/radio-group/RadioGroup.js +4 -3
  269. package/dist/components/form/fields/radio-group/RadioGroup.js.map +1 -1
  270. package/dist/components/form/fields/rich-text/RichText.d.ts +20 -1
  271. package/dist/components/form/fields/rich-text/RichText.d.ts.map +1 -1
  272. package/dist/components/form/fields/rich-text/RichText.js +382 -91
  273. package/dist/components/form/fields/rich-text/RichText.js.map +1 -1
  274. package/dist/components/form/fields/rich-text/useTemplateTags.d.ts +18 -0
  275. package/dist/components/form/fields/rich-text/useTemplateTags.d.ts.map +1 -0
  276. package/dist/components/form/fields/rich-text/useTemplateTags.js +80 -0
  277. package/dist/components/form/fields/rich-text/useTemplateTags.js.map +1 -0
  278. package/dist/components/form/fields/schema-definition/CatalogLeafForm.d.ts.map +1 -1
  279. package/dist/components/form/fields/schema-definition/CatalogLeafForm.js +4 -1
  280. package/dist/components/form/fields/schema-definition/CatalogLeafForm.js.map +1 -1
  281. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.d.ts.map +1 -1
  282. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js +20 -5
  283. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js.map +1 -1
  284. package/dist/components/form/fields/schema-definition/TableEditor.d.ts.map +1 -1
  285. package/dist/components/form/fields/schema-definition/TableEditor.js +10 -2
  286. package/dist/components/form/fields/schema-definition/TableEditor.js.map +1 -1
  287. package/dist/components/form/fields/schema-definition/index.d.ts.map +1 -1
  288. package/dist/components/form/fields/schema-definition/index.js +8 -4
  289. package/dist/components/form/fields/schema-definition/index.js.map +1 -1
  290. package/dist/components/form/fields/select/Select.d.ts +10 -1
  291. package/dist/components/form/fields/select/Select.d.ts.map +1 -1
  292. package/dist/components/form/fields/select/Select.js +28 -14
  293. package/dist/components/form/fields/select/Select.js.map +1 -1
  294. package/dist/components/form/fields/select/SelectCollection.d.ts +5 -0
  295. package/dist/components/form/fields/select/SelectCollection.d.ts.map +1 -1
  296. package/dist/components/form/fields/select/SelectCollection.js +25 -12
  297. package/dist/components/form/fields/select/SelectCollection.js.map +1 -1
  298. package/dist/components/form/fields/select/unavailableRow.d.ts +23 -0
  299. package/dist/components/form/fields/select/unavailableRow.d.ts.map +1 -0
  300. package/dist/components/form/fields/select/unavailableRow.js +55 -0
  301. package/dist/components/form/fields/select/unavailableRow.js.map +1 -0
  302. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts +11 -5
  303. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts.map +1 -1
  304. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js +21 -5
  305. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js.map +1 -1
  306. package/dist/components/form/fields/template/TemplateBrowser.d.ts +16 -0
  307. package/dist/components/form/fields/template/TemplateBrowser.d.ts.map +1 -0
  308. package/dist/components/form/fields/template/TemplateBrowser.js +89 -0
  309. package/dist/components/form/fields/template/TemplateBrowser.js.map +1 -0
  310. package/dist/components/form/fields/template/TemplateField.d.ts +105 -1
  311. package/dist/components/form/fields/template/TemplateField.d.ts.map +1 -1
  312. package/dist/components/form/fields/template/TemplateField.js +678 -107
  313. package/dist/components/form/fields/template/TemplateField.js.map +1 -1
  314. package/dist/components/form/fields/template/TemplatePicker.d.ts +54 -0
  315. package/dist/components/form/fields/template/TemplatePicker.d.ts.map +1 -0
  316. package/dist/components/form/fields/template/TemplatePicker.js +451 -0
  317. package/dist/components/form/fields/template/TemplatePicker.js.map +1 -0
  318. package/dist/components/form/fields/template/TemplateText.d.ts +0 -17
  319. package/dist/components/form/fields/template/TemplateText.d.ts.map +1 -1
  320. package/dist/components/form/fields/template/TemplateText.js +22 -16
  321. package/dist/components/form/fields/template/TemplateText.js.map +1 -1
  322. package/dist/components/form/fields/template/referenceNames.d.ts +63 -0
  323. package/dist/components/form/fields/template/referenceNames.d.ts.map +1 -0
  324. package/dist/components/form/fields/template/referenceNames.js +69 -0
  325. package/dist/components/form/fields/template/referenceNames.js.map +1 -0
  326. package/dist/components/form/fields/template/writtenAsText.d.ts +61 -0
  327. package/dist/components/form/fields/template/writtenAsText.d.ts.map +1 -0
  328. package/dist/components/form/fields/template/writtenAsText.js +204 -0
  329. package/dist/components/form/fields/template/writtenAsText.js.map +1 -0
  330. package/dist/components/form/index.d.ts +12 -0
  331. package/dist/components/form/index.d.ts.map +1 -1
  332. package/dist/components/form/index.js +25 -1
  333. package/dist/components/form/index.js.map +1 -1
  334. package/dist/components/form/typeSentenceForm.d.ts +17 -0
  335. package/dist/components/form/typeSentenceForm.d.ts.map +1 -0
  336. package/dist/components/form/typeSentenceForm.js +54 -0
  337. package/dist/components/form/typeSentenceForm.js.map +1 -0
  338. package/dist/components/imageLightbox/ImageLightbox.d.ts.map +1 -1
  339. package/dist/components/imageLightbox/ImageLightbox.js +19 -7
  340. package/dist/components/imageLightbox/ImageLightbox.js.map +1 -1
  341. package/dist/components/log/Log.d.ts.map +1 -1
  342. package/dist/components/log/Log.js +20 -8
  343. package/dist/components/log/Log.js.map +1 -1
  344. package/dist/components/menu/Menu.d.ts.map +1 -1
  345. package/dist/components/menu/Menu.js +19 -10
  346. package/dist/components/menu/Menu.js.map +1 -1
  347. package/dist/components/smartEditor/CompletionMenu.d.ts +53 -0
  348. package/dist/components/smartEditor/CompletionMenu.d.ts.map +1 -0
  349. package/dist/components/smartEditor/CompletionMenu.js +302 -0
  350. package/dist/components/smartEditor/CompletionMenu.js.map +1 -0
  351. package/dist/components/smartEditor/MarkdownDoc.d.ts +1 -1
  352. package/dist/components/smartEditor/MarkdownDoc.js +3 -3
  353. package/dist/components/smartEditor/MarkdownDoc.js.map +1 -1
  354. package/dist/components/smartEditor/SmartEditor.d.ts.map +1 -1
  355. package/dist/components/smartEditor/SmartEditor.js +584 -190
  356. package/dist/components/smartEditor/SmartEditor.js.map +1 -1
  357. package/dist/components/smartEditor/completionStyle.d.ts +28 -0
  358. package/dist/components/smartEditor/completionStyle.d.ts.map +1 -0
  359. package/dist/components/smartEditor/completionStyle.js +79 -0
  360. package/dist/components/smartEditor/completionStyle.js.map +1 -0
  361. package/dist/components/smartEditor/contextTitle.d.ts +10 -0
  362. package/dist/components/smartEditor/contextTitle.d.ts.map +1 -0
  363. package/dist/components/smartEditor/contextTitle.js +21 -0
  364. package/dist/components/smartEditor/contextTitle.js.map +1 -0
  365. package/dist/components/smartEditor/editingAids.d.ts +64 -0
  366. package/dist/components/smartEditor/editingAids.d.ts.map +1 -0
  367. package/dist/components/smartEditor/editingAids.js +213 -0
  368. package/dist/components/smartEditor/editingAids.js.map +1 -0
  369. package/dist/components/smartEditor/index.d.ts +6 -1
  370. package/dist/components/smartEditor/index.d.ts.map +1 -1
  371. package/dist/components/smartEditor/index.js +19 -1
  372. package/dist/components/smartEditor/index.js.map +1 -1
  373. package/dist/components/smartEditor/templateCompletions.d.ts +98 -0
  374. package/dist/components/smartEditor/templateCompletions.d.ts.map +1 -0
  375. package/dist/components/smartEditor/templateCompletions.js +380 -0
  376. package/dist/components/smartEditor/templateCompletions.js.map +1 -0
  377. package/dist/components/smartEditor/typedReferences.d.ts +34 -0
  378. package/dist/components/smartEditor/typedReferences.d.ts.map +1 -0
  379. package/dist/components/smartEditor/typedReferences.js +179 -0
  380. package/dist/components/smartEditor/typedReferences.js.map +1 -0
  381. package/dist/components/smartEditor/types.d.ts +116 -2
  382. package/dist/components/smartEditor/types.d.ts.map +1 -1
  383. package/dist/components/smartEditor/useEditingAids.d.ts +38 -0
  384. package/dist/components/smartEditor/useEditingAids.d.ts.map +1 -0
  385. package/dist/components/smartEditor/useEditingAids.js +336 -0
  386. package/dist/components/smartEditor/useEditingAids.js.map +1 -0
  387. package/dist/components/smartEditor/useLspAutocomplete.d.ts +106 -3
  388. package/dist/components/smartEditor/useLspAutocomplete.d.ts.map +1 -1
  389. package/dist/components/smartEditor/useLspAutocomplete.js +562 -151
  390. package/dist/components/smartEditor/useLspAutocomplete.js.map +1 -1
  391. package/dist/components/smartEditor/useLspHover.d.ts +33 -7
  392. package/dist/components/smartEditor/useLspHover.d.ts.map +1 -1
  393. package/dist/components/smartEditor/useLspHover.js +364 -35
  394. package/dist/components/smartEditor/useLspHover.js.map +1 -1
  395. package/dist/components/smartEditor/useLspSemanticTokens.js +1 -1
  396. package/dist/components/smartEditor/useLspSemanticTokens.js.map +1 -1
  397. package/dist/components/smartEditor/useLspSession.d.ts +6 -0
  398. package/dist/components/smartEditor/useLspSession.d.ts.map +1 -1
  399. package/dist/components/smartEditor/useLspSession.js +7 -6
  400. package/dist/components/smartEditor/useLspSession.js.map +1 -1
  401. package/dist/components/smartEditor/useLspSignatureHelp.d.ts.map +1 -1
  402. package/dist/components/smartEditor/useLspSignatureHelp.js +6 -11
  403. package/dist/components/smartEditor/useLspSignatureHelp.js.map +1 -1
  404. package/dist/components/smartEditor/useTabCameIn.d.ts +10 -0
  405. package/dist/components/smartEditor/useTabCameIn.d.ts.map +1 -0
  406. package/dist/components/smartEditor/useTabCameIn.js +42 -0
  407. package/dist/components/smartEditor/useTabCameIn.js.map +1 -0
  408. package/dist/components/supportTicket/AttachmentChips.d.ts.map +1 -1
  409. package/dist/components/supportTicket/AttachmentChips.js +15 -5
  410. package/dist/components/supportTicket/AttachmentChips.js.map +1 -1
  411. package/dist/components/supportTicket/ReferencePicker.d.ts +9 -2
  412. package/dist/components/supportTicket/ReferencePicker.d.ts.map +1 -1
  413. package/dist/components/supportTicket/ReferencePicker.js +27 -6
  414. package/dist/components/supportTicket/ReferencePicker.js.map +1 -1
  415. package/dist/components/supportTicket/TicketHeader.d.ts +3 -4
  416. package/dist/components/supportTicket/TicketHeader.d.ts.map +1 -1
  417. package/dist/components/supportTicket/TicketHeader.js +20 -2
  418. package/dist/components/supportTicket/TicketHeader.js.map +1 -1
  419. package/dist/components/supportTicket/TicketMetaTags.d.ts +1 -1
  420. package/dist/components/ticketReferences/TicketReferences.d.ts.map +1 -1
  421. package/dist/components/ticketReferences/TicketReferences.js +9 -4
  422. package/dist/components/ticketReferences/TicketReferences.js.map +1 -1
  423. package/dist/components/ticketThread/TicketThread.d.ts.map +1 -1
  424. package/dist/components/ticketThread/TicketThread.js +38 -13
  425. package/dist/components/ticketThread/TicketThread.js.map +1 -1
  426. package/dist/helpers/allowedValues.d.ts +21 -0
  427. package/dist/helpers/allowedValues.d.ts.map +1 -1
  428. package/dist/helpers/allowedValues.js +40 -1
  429. package/dist/helpers/allowedValues.js.map +1 -1
  430. package/dist/helpers/descriptionTooltip.d.ts +46 -0
  431. package/dist/helpers/descriptionTooltip.d.ts.map +1 -0
  432. package/dist/helpers/descriptionTooltip.js +76 -0
  433. package/dist/helpers/descriptionTooltip.js.map +1 -0
  434. package/dist/helpers/domProps.d.ts +5 -0
  435. package/dist/helpers/domProps.d.ts.map +1 -0
  436. package/dist/helpers/domProps.js +47 -0
  437. package/dist/helpers/domProps.js.map +1 -0
  438. package/dist/helpers/expressions.d.ts +115 -4
  439. package/dist/helpers/expressions.d.ts.map +1 -1
  440. package/dist/helpers/expressions.js +247 -29
  441. package/dist/helpers/expressions.js.map +1 -1
  442. package/dist/helpers/hoveringPointer.d.ts +26 -0
  443. package/dist/helpers/hoveringPointer.d.ts.map +1 -0
  444. package/dist/helpers/hoveringPointer.js +29 -0
  445. package/dist/helpers/hoveringPointer.js.map +1 -0
  446. package/dist/helpers/markdownText.d.ts +14 -0
  447. package/dist/helpers/markdownText.d.ts.map +1 -0
  448. package/dist/helpers/markdownText.js +160 -0
  449. package/dist/helpers/markdownText.js.map +1 -0
  450. package/dist/helpers/noDescription.d.ts +9 -0
  451. package/dist/helpers/noDescription.d.ts.map +1 -0
  452. package/dist/helpers/noDescription.js +13 -0
  453. package/dist/helpers/noDescription.js.map +1 -0
  454. package/dist/helpers/optionUiTypes.d.ts +2 -2
  455. package/dist/helpers/qorusTypeCatalogue.d.ts +147 -0
  456. package/dist/helpers/qorusTypeCatalogue.d.ts.map +1 -0
  457. package/dist/helpers/qorusTypeCatalogue.js +505 -0
  458. package/dist/helpers/qorusTypeCatalogue.js.map +1 -0
  459. package/dist/helpers/readableColors.d.ts +36 -0
  460. package/dist/helpers/readableColors.d.ts.map +1 -0
  461. package/dist/helpers/readableColors.js +116 -0
  462. package/dist/helpers/readableColors.js.map +1 -0
  463. package/dist/helpers/recordFieldReference.d.ts +15 -0
  464. package/dist/helpers/recordFieldReference.d.ts.map +1 -0
  465. package/dist/helpers/recordFieldReference.js +89 -0
  466. package/dist/helpers/recordFieldReference.js.map +1 -0
  467. package/dist/helpers/templateCatalogue.d.ts +104 -0
  468. package/dist/helpers/templateCatalogue.d.ts.map +1 -0
  469. package/dist/helpers/templateCatalogue.js +116 -0
  470. package/dist/helpers/templateCatalogue.js.map +1 -0
  471. package/dist/helpers/templateCatalogueContext.d.ts +19 -0
  472. package/dist/helpers/templateCatalogueContext.d.ts.map +1 -0
  473. package/dist/helpers/templateCatalogueContext.js +31 -0
  474. package/dist/helpers/templateCatalogueContext.js.map +1 -0
  475. package/dist/helpers/templateItems.d.ts +2 -2
  476. package/dist/helpers/templateItems.d.ts.map +1 -1
  477. package/dist/helpers/templateItems.js +6 -4
  478. package/dist/helpers/templateItems.js.map +1 -1
  479. package/dist/helpers/templateText.d.ts +1 -0
  480. package/dist/helpers/templateText.d.ts.map +1 -1
  481. package/dist/helpers/templateText.js +7 -3
  482. package/dist/helpers/templateText.js.map +1 -1
  483. package/dist/helpers/templateTree.d.ts +248 -0
  484. package/dist/helpers/templateTree.d.ts.map +1 -0
  485. package/dist/helpers/templateTree.js +892 -0
  486. package/dist/helpers/templateTree.js.map +1 -0
  487. package/dist/helpers/templateType.d.ts +28 -0
  488. package/dist/helpers/templateType.d.ts.map +1 -0
  489. package/dist/helpers/templateType.js +30 -0
  490. package/dist/helpers/templateType.js.map +1 -0
  491. package/dist/helpers/templates.d.ts +86 -16
  492. package/dist/helpers/templates.d.ts.map +1 -1
  493. package/dist/helpers/templates.js +305 -45
  494. package/dist/helpers/templates.js.map +1 -1
  495. package/dist/helpers/validations.d.ts +27 -0
  496. package/dist/helpers/validations.d.ts.map +1 -1
  497. package/dist/helpers/validations.js +169 -39
  498. package/dist/helpers/validations.js.map +1 -1
  499. package/dist/helpers/webLink.d.ts +8 -0
  500. package/dist/helpers/webLink.d.ts.map +1 -0
  501. package/dist/helpers/webLink.js +29 -0
  502. package/dist/helpers/webLink.js.map +1 -0
  503. package/dist/hooks/useQorusTypes.d.ts +12 -17
  504. package/dist/hooks/useQorusTypes.d.ts.map +1 -1
  505. package/dist/hooks/useQorusTypes.js +44 -172
  506. package/dist/hooks/useQorusTypes.js.map +1 -1
  507. package/dist/hooks/useReadableIntentShade.d.ts +9 -0
  508. package/dist/hooks/useReadableIntentShade.d.ts.map +1 -0
  509. package/dist/hooks/useReadableIntentShade.js +23 -0
  510. package/dist/hooks/useReadableIntentShade.js.map +1 -0
  511. package/dist/hooks/useReadableOpacity.d.ts +6 -0
  512. package/dist/hooks/useReadableOpacity.d.ts.map +1 -0
  513. package/dist/hooks/useReadableOpacity.js +17 -0
  514. package/dist/hooks/useReadableOpacity.js.map +1 -0
  515. package/dist/index.d.ts +8 -0
  516. package/dist/index.d.ts.map +1 -1
  517. package/dist/index.js +24 -1
  518. package/dist/index.js.map +1 -1
  519. package/dist/tracking/ui/ExperimentCard.d.ts +1 -1
  520. package/dist/tracking/ui/ExperimentCard.d.ts.map +1 -1
  521. package/dist/tracking/ui/ExperimentCard.js +26 -10
  522. package/dist/tracking/ui/ExperimentCard.js.map +1 -1
  523. package/dist/tracking/ui/card.d.ts +2 -2
  524. package/dist/tracking/ui/card.d.ts.map +1 -1
  525. package/dist/tracking/ui/card.js +2 -2
  526. package/dist/tracking/ui/card.js.map +1 -1
  527. package/dist/tracking/ui/readable.d.ts +14 -0
  528. package/dist/tracking/ui/readable.d.ts.map +1 -0
  529. package/dist/tracking/ui/readable.js +60 -0
  530. package/dist/tracking/ui/readable.js.map +1 -0
  531. package/dist/utils/fetch.d.ts +9 -2
  532. package/dist/utils/fetch.d.ts.map +1 -1
  533. package/dist/utils/fetch.js +6 -5
  534. package/dist/utils/fetch.js.map +1 -1
  535. package/dist/utils/lspClient.types.d.ts +2 -0
  536. package/dist/utils/lspClient.types.d.ts.map +1 -1
  537. package/dist/utils/websocket.d.ts +65 -2
  538. package/dist/utils/websocket.d.ts.map +1 -1
  539. package/dist/utils/websocket.js +276 -44
  540. package/dist/utils/websocket.js.map +1 -1
  541. package/package.json +14 -6
  542. package/.claude/CLAUDE.md +0 -317
  543. package/.tasks/EXPORT_EXPRESSION_BUILDER.md +0 -38
  544. package/.tasks/EXPRESSION_BUILDER_REPORT.md +0 -149
  545. package/.tasks/EXPRESSION_FIELD_SEAMS.md +0 -66
  546. package/.tasks/FIELD_STACK_REPORT.md +0 -234
  547. package/.tasks/FORM_ENGINE_COMPACT_READ_FIRST.md +0 -558
  548. package/.tasks/FORM_ENGINE_EXPRESSIONS.md +0 -197
  549. package/.tasks/FORM_ENGINE_OPTIONS_SYNC.md +0 -95
  550. package/.tasks/FORM_FIELD_EXTRAS.md +0 -72
  551. package/.tasks/INDEX.md +0 -111
  552. package/.tasks/LSP_SHARED_CONNECTION.md +0 -75
  553. package/.tasks/QONSOLE_ASSIST_FEATURES.md +0 -306
  554. package/.tasks/RENDER_EXPRESSION_LSP.md +0 -159
  555. package/.tasks/REQRAFT_AUTO_FIELD.md +0 -176
  556. package/.tasks/SCHEMA_DEFINITION_FIELD.md +0 -250
  557. package/.tasks/SMART_EDITOR_CONTEXT_AND_POLISH.md +0 -340
  558. package/.tasks/SMART_EDITOR_LSP_FEATURES.md +0 -299
  559. package/.tasks/SMART_EDITOR_REVIEW_FOLLOWUPS.md +0 -280
  560. package/.tasks/SMART_EDITOR_UX_POLISH.md +0 -383
  561. package/.tasks/SMART_EDITOR_VISUAL_POLISH.md +0 -246
  562. package/.tasks/STORY_NETWORK_ISOLATION.md +0 -98
  563. package/.tasks/TEMPLATE_TOKEN_GRAMMAR.md +0 -72
  564. package/CODE_OF_CONDUCT.md +0 -105
  565. package/CONTRIBUTING.MD +0 -78
  566. package/SECURITY.md +0 -3
  567. package/chromatic.config.json +0 -5
  568. package/design/COMPACT_ENGINE_REDESIGN.md +0 -156
  569. package/design/COMPACT_INFO_DISPLAY.md +0 -87
  570. package/design/COMPACT_PARITY.md +0 -85
  571. package/design/EXPRESSION_BUILDER_REPORT_STRATEGY.md +0 -92
  572. package/design/FORM_ENGINE_COMPACT.md +0 -300
  573. package/design/FORM_ENGINE_COMPACT_UX_PLAN.md +0 -353
  574. package/design/FORM_ENGINE_EXPRESSIONS.md +0 -257
  575. package/design/FORM_ENGINE_FIELD_MIGRATION.md +0 -419
  576. package/design/IDE_INTEGRATION.md +0 -64
  577. package/design/RENDER_EXPRESSION_TRANSPORT.md +0 -156
  578. package/design/SELECT_DIALOG_FLOOR.md +0 -86
  579. package/design/SMART_EDITOR_UX.md +0 -438
  580. package/design/TRACKING.md +0 -290
  581. package/design/UNAVAILABLE_ALLOWED_VALUES.md +0 -226
  582. package/src/components/Description/index.tsx +0 -254
  583. package/src/components/Description/markdownRendererContext.tsx +0 -29
  584. package/src/components/FocusedEditing/index.tsx +0 -50
  585. package/src/components/codeSize/index.tsx +0 -79
  586. package/src/components/composer/Composer.stories.tsx +0 -238
  587. package/src/components/composer/Composer.tsx +0 -554
  588. package/src/components/composer/helpers.ts +0 -74
  589. package/src/components/composer/index.ts +0 -2
  590. package/src/components/dpqlEditor/DpqlEditor.stories.tsx +0 -1183
  591. package/src/components/dpqlEditor/DpqlEditor.tsx +0 -219
  592. package/src/components/dpqlEditor/dpqlHelpers.ts +0 -287
  593. package/src/components/dpqlEditor/dpqlInserter.ts +0 -121
  594. package/src/components/dpqlEditor/dpqlProbe.ts +0 -165
  595. package/src/components/dpqlEditor/dpqlTags.ts +0 -114
  596. package/src/components/dpqlEditor/index.ts +0 -41
  597. package/src/components/dpqlEditor/types.ts +0 -203
  598. package/src/components/dpqlEditor/useDpqlProbe.ts +0 -33
  599. package/src/components/dpqlEditor/useDpqlSession.ts +0 -411
  600. package/src/components/form/engine/CompactRow.tsx +0 -2620
  601. package/src/components/form/engine/CompactToolbar.tsx +0 -330
  602. package/src/components/form/engine/FormEngine.stories.tsx +0 -9920
  603. package/src/components/form/engine/FormEngine.tsx +0 -4569
  604. package/src/components/form/engine/FormEngineRemote.stories.tsx +0 -679
  605. package/src/components/form/engine/FormEngineStickyHeaders.stories.tsx +0 -331
  606. package/src/components/form/engine/FormFieldsSkeleton.tsx +0 -82
  607. package/src/components/form/engine/OptionFieldMessages.tsx +0 -477
  608. package/src/components/form/engine/OptionsHelpDialog.tsx +0 -29
  609. package/src/components/form/engine/__fixtures__/basicFormOptions.ts +0 -309
  610. package/src/components/form/engine/__fixtures__/fieldChromeOptions.ts +0 -45
  611. package/src/components/form/engine/_structuredData/SchemaDataView.stories.tsx +0 -233
  612. package/src/components/form/engine/_structuredData/SchemaDataView.tsx +0 -742
  613. package/src/components/form/engine/_structuredData/StructuredDataView.stories.tsx +0 -85
  614. package/src/components/form/engine/_structuredData/StructuredDataView.tsx +0 -75
  615. package/src/components/form/engine/_structuredData/structuredData.ts +0 -145
  616. package/src/components/form/engine/compactRowContext.ts +0 -148
  617. package/src/components/form/engine/compactRowStyles.ts +0 -898
  618. package/src/components/form/engine/compactToolbarContext.ts +0 -69
  619. package/src/components/form/engine/optionActions.ts +0 -128
  620. package/src/components/form/engine/optionsContext.ts +0 -24
  621. package/src/components/form/engine/readFirst.ts +0 -1077
  622. package/src/components/form/engine/rendererTypes.ts +0 -107
  623. package/src/components/form/engine/revealRow.ts +0 -123
  624. package/src/components/form/engine/rowFocus.ts +0 -101
  625. package/src/components/form/engine/rowMenuContext.ts +0 -159
  626. package/src/components/form/engine/rowOpenPicker.ts +0 -27
  627. package/src/components/form/engine/typeChoices.ts +0 -63
  628. package/src/components/form/engine/variants/FormEngineVariants.stories.tsx +0 -159
  629. package/src/components/form/engine/variants/VariantCalmTable.tsx +0 -244
  630. package/src/components/form/engine/variants/VariantCards.tsx +0 -212
  631. package/src/components/form/engine/variants/VariantFocus.tsx +0 -382
  632. package/src/components/form/engine/variants/VariantMinimal.tsx +0 -170
  633. package/src/components/form/engine/variants/focusDemo.ts +0 -145
  634. package/src/components/form/engine/variants/variantModel.ts +0 -223
  635. package/src/components/form/engine/variants/variantParts.tsx +0 -313
  636. package/src/components/form/expressions/DpqlRendering.tsx +0 -85
  637. package/src/components/form/expressions/ExpressionField.stories.tsx +0 -1395
  638. package/src/components/form/expressions/ExpressionField.tsx +0 -503
  639. package/src/components/form/expressions/argumentPresence.ts +0 -213
  640. package/src/components/form/expressions/builder/ExpressionBuilder.stories.tsx +0 -1683
  641. package/src/components/form/expressions/builder/argumentDetail.tsx +0 -17
  642. package/src/components/form/expressions/builder/argumentLabel.tsx +0 -146
  643. package/src/components/form/expressions/builder/argumentSlot.tsx +0 -101
  644. package/src/components/form/expressions/builder/argumentWrapper.tsx +0 -243
  645. package/src/components/form/expressions/builder/confirmMismatchedTypesModal.tsx +0 -120
  646. package/src/components/form/expressions/builder/confirmUnsupportedTypeModal.tsx +0 -69
  647. package/src/components/form/expressions/builder/index.tsx +0 -1545
  648. package/src/components/form/expressions/builder/item.tsx +0 -89
  649. package/src/components/form/expressions/builder/moveToPositionStrip.tsx +0 -156
  650. package/src/components/form/expressions/builder/renderTemplate.tsx +0 -42
  651. package/src/components/form/expressions/dpqlMockLanguage.ts +0 -566
  652. package/src/components/form/expressions/dpqlMockLsp.ts +0 -126
  653. package/src/components/form/expressions/mockExpressions.ts +0 -317
  654. package/src/components/form/expressions/renderExpressionToText.ts +0 -137
  655. package/src/components/form/expressions/types.ts +0 -110
  656. package/src/components/form/expressions/useExpressions.ts +0 -101
  657. package/src/components/form/expressions/useRenderExpression.ts +0 -165
  658. package/src/components/form/fields/Field.stories.tsx +0 -143
  659. package/src/components/form/fields/Field.tsx +0 -732
  660. package/src/components/form/fields/allowed-values/AllowedValues.tsx +0 -297
  661. package/src/components/form/fields/array/ArrayAuto.tsx +0 -237
  662. package/src/components/form/fields/array/ArrayAutoField.stories.tsx +0 -475
  663. package/src/components/form/fields/array/ArrayAutoField.tsx +0 -367
  664. package/src/components/form/fields/auto/AutoFormField.stories.tsx +0 -825
  665. package/src/components/form/fields/auto/AutoFormField.tsx +0 -1164
  666. package/src/components/form/fields/binary/Binary.stories.tsx +0 -122
  667. package/src/components/form/fields/binary/Binary.tsx +0 -91
  668. package/src/components/form/fields/boolean/Boolean.stories.tsx +0 -125
  669. package/src/components/form/fields/boolean/Boolean.tsx +0 -34
  670. package/src/components/form/fields/byte-size/ByteSize.stories.tsx +0 -87
  671. package/src/components/form/fields/byte-size/ByteSize.tsx +0 -58
  672. package/src/components/form/fields/color/Color.stories.tsx +0 -99
  673. package/src/components/form/fields/color/Color.tsx +0 -46
  674. package/src/components/form/fields/cron/Cron.stories.tsx +0 -68
  675. package/src/components/form/fields/cron/Cron.tsx +0 -80
  676. package/src/components/form/fields/date/Date.stories.tsx +0 -77
  677. package/src/components/form/fields/date/Date.tsx +0 -55
  678. package/src/components/form/fields/emittedValues.ts +0 -70
  679. package/src/components/form/fields/file/File.stories.tsx +0 -161
  680. package/src/components/form/fields/file/File.tsx +0 -227
  681. package/src/components/form/fields/long-string/LongString.stories.tsx +0 -120
  682. package/src/components/form/fields/long-string/LongString.tsx +0 -130
  683. package/src/components/form/fields/markdown/Markdown.stories.tsx +0 -76
  684. package/src/components/form/fields/markdown/Markdown.tsx +0 -81
  685. package/src/components/form/fields/markdown/MarkdownView.tsx +0 -222
  686. package/src/components/form/fields/multi-select/MultiSelectFormField.tsx +0 -139
  687. package/src/components/form/fields/number/Number.stories.tsx +0 -159
  688. package/src/components/form/fields/number/Number.tsx +0 -160
  689. package/src/components/form/fields/object/Object.stories.tsx +0 -398
  690. package/src/components/form/fields/object/Object.tsx +0 -255
  691. package/src/components/form/fields/radio-group/RadioGroup.stories.tsx +0 -95
  692. package/src/components/form/fields/radio-group/RadioGroup.tsx +0 -46
  693. package/src/components/form/fields/radio-group/images/java-96x128.png +0 -0
  694. package/src/components/form/fields/radio-group/images/python-129x128.png +0 -0
  695. package/src/components/form/fields/radio-group/images/qore-106x128.png +0 -0
  696. package/src/components/form/fields/rich-text/RichText.stories.tsx +0 -260
  697. package/src/components/form/fields/rich-text/RichText.tsx +0 -537
  698. package/src/components/form/fields/schema-definition/CatalogLeafForm.tsx +0 -242
  699. package/src/components/form/fields/schema-definition/CatalogNodeEditor.tsx +0 -758
  700. package/src/components/form/fields/schema-definition/Hint.tsx +0 -22
  701. package/src/components/form/fields/schema-definition/InlineValidationBanner.tsx +0 -138
  702. package/src/components/form/fields/schema-definition/Loader.tsx +0 -20
  703. package/src/components/form/fields/schema-definition/MigrationsTab.tsx +0 -187
  704. package/src/components/form/fields/schema-definition/SchemaDefinitionField.stories.tsx +0 -286
  705. package/src/components/form/fields/schema-definition/TableEditor.tsx +0 -155
  706. package/src/components/form/fields/schema-definition/TablesTab.tsx +0 -138
  707. package/src/components/form/fields/schema-definition/catalog.ts +0 -237
  708. package/src/components/form/fields/schema-definition/helpers.ts +0 -90
  709. package/src/components/form/fields/schema-definition/index.tsx +0 -418
  710. package/src/components/form/fields/schema-definition/mockCatalog.ts +0 -325
  711. package/src/components/form/fields/schema-definition/mockDefinition.ts +0 -111
  712. package/src/components/form/fields/schema-definition/referenceSuggestions.tsx +0 -152
  713. package/src/components/form/fields/schema-definition/starterTemplate.ts +0 -68
  714. package/src/components/form/fields/schema-definition/types.ts +0 -185
  715. package/src/components/form/fields/schema-definition/useSchemaOptionCatalog.ts +0 -49
  716. package/src/components/form/fields/select/Select.stories.tsx +0 -872
  717. package/src/components/form/fields/select/Select.tsx +0 -624
  718. package/src/components/form/fields/select/SelectCollection.tsx +0 -594
  719. package/src/components/form/fields/string/String.stories.tsx +0 -86
  720. package/src/components/form/fields/string/String.tsx +0 -43
  721. package/src/components/form/fields/template/ExampleValueModal.stories.tsx +0 -114
  722. package/src/components/form/fields/template/ExampleValueModal.tsx +0 -99
  723. package/src/components/form/fields/template/ReadOnlyTemplateTag.tsx +0 -47
  724. package/src/components/form/fields/template/TemplateField.stories.tsx +0 -1121
  725. package/src/components/form/fields/template/TemplateField.tsx +0 -1717
  726. package/src/components/form/fields/template/TemplateText.tsx +0 -115
  727. package/src/components/form/fields/template/__fixtures__/longExampleValue.ts +0 -7
  728. package/src/components/form/fields/template/__fixtures__/multiLevelTemplates.json +0 -147
  729. package/src/components/form/fields/template/__fixtures__/templates.json +0 -83
  730. package/src/components/form/fields/timeout/Timeout.stories.tsx +0 -228
  731. package/src/components/form/fields/timeout/Timeout.tsx +0 -87
  732. package/src/components/form/fields/url/Url.stories.tsx +0 -94
  733. package/src/components/form/fields/url/Url.tsx +0 -85
  734. package/src/components/form/index.tsx +0 -47
  735. package/src/components/imageLightbox/ImageLightbox.stories.tsx +0 -238
  736. package/src/components/imageLightbox/ImageLightbox.tsx +0 -236
  737. package/src/components/imageLightbox/index.ts +0 -1
  738. package/src/components/log/Log.stories.tsx +0 -333
  739. package/src/components/log/Log.tsx +0 -285
  740. package/src/components/menu/Menu.stories.tsx +0 -155
  741. package/src/components/menu/Menu.tsx +0 -312
  742. package/src/components/qonsoleSmartInput/QonsoleSmartInput.stories.tsx +0 -797
  743. package/src/components/qonsoleSmartInput/QonsoleSmartInput.tsx +0 -105
  744. package/src/components/qonsoleSmartInput/index.ts +0 -16
  745. package/src/components/qonsoleSmartInput/qonsoleInserter.ts +0 -77
  746. package/src/components/qonsoleSmartInput/types.ts +0 -133
  747. package/src/components/qonsoleSmartInput/useQonsoleSession.ts +0 -124
  748. package/src/components/searchFilterBar/SearchFilterBar.stories.tsx +0 -62
  749. package/src/components/searchFilterBar/SearchFilterBar.tsx +0 -144
  750. package/src/components/searchFilterBar/index.ts +0 -1
  751. package/src/components/smartEditor/MarkdownDoc.tsx +0 -190
  752. package/src/components/smartEditor/SmartEditor.stories.tsx +0 -475
  753. package/src/components/smartEditor/SmartEditor.tsx +0 -808
  754. package/src/components/smartEditor/__fixtures__/mockLspServer.ts +0 -205
  755. package/src/components/smartEditor/helpers.ts +0 -217
  756. package/src/components/smartEditor/index.ts +0 -35
  757. package/src/components/smartEditor/styling.ts +0 -45
  758. package/src/components/smartEditor/types.ts +0 -211
  759. package/src/components/smartEditor/useLspAutocomplete.ts +0 -758
  760. package/src/components/smartEditor/useLspDiagnosticDecorations.ts +0 -125
  761. package/src/components/smartEditor/useLspHover.ts +0 -230
  762. package/src/components/smartEditor/useLspSemanticTokens.ts +0 -298
  763. package/src/components/smartEditor/useLspSession.ts +0 -231
  764. package/src/components/smartEditor/useLspSignatureHelp.ts +0 -198
  765. package/src/components/supportTicket/AttachmentChips.stories.tsx +0 -171
  766. package/src/components/supportTicket/AttachmentChips.tsx +0 -147
  767. package/src/components/supportTicket/InterfaceReferenceTags.stories.tsx +0 -257
  768. package/src/components/supportTicket/InterfaceReferenceTags.tsx +0 -129
  769. package/src/components/supportTicket/ReferencePicker.stories.tsx +0 -584
  770. package/src/components/supportTicket/ReferencePicker.tsx +0 -563
  771. package/src/components/supportTicket/TicketConversation.stories.tsx +0 -121
  772. package/src/components/supportTicket/TicketHeader.stories.tsx +0 -183
  773. package/src/components/supportTicket/TicketHeader.tsx +0 -247
  774. package/src/components/supportTicket/TicketMetaTags.stories.tsx +0 -103
  775. package/src/components/supportTicket/TicketMetaTags.tsx +0 -85
  776. package/src/components/supportTicket/TicketReplyBox.stories.tsx +0 -354
  777. package/src/components/supportTicket/TicketReplyBox.tsx +0 -150
  778. package/src/components/supportTicket/__fixtures__/kindMarks.ts +0 -28
  779. package/src/components/supportTicket/attachmentAccess.ts +0 -97
  780. package/src/components/supportTicket/fileToAttachment.ts +0 -24
  781. package/src/components/supportTicket/index.ts +0 -10
  782. package/src/components/supportTicket/meta.ts +0 -206
  783. package/src/components/supportTicket/ticketModel.ts +0 -131
  784. package/src/components/supportTicket/useLoadedImages.ts +0 -73
  785. package/src/components/ticketReferences/TicketReferences.stories.tsx +0 -315
  786. package/src/components/ticketReferences/TicketReferences.tsx +0 -906
  787. package/src/components/ticketReferences/index.ts +0 -2
  788. package/src/components/ticketThread/TicketThread.stories.tsx +0 -829
  789. package/src/components/ticketThread/TicketThread.tsx +0 -719
  790. package/src/components/ticketThread/index.ts +0 -6
  791. package/src/contexts/FetchContext.tsx +0 -25
  792. package/src/contexts/ReqraftContext.tsx +0 -9
  793. package/src/contexts/StorageContext.tsx +0 -33
  794. package/src/global.d.ts +0 -4
  795. package/src/helpers/allowedValues.ts +0 -249
  796. package/src/helpers/choiceChip.ts +0 -227
  797. package/src/helpers/common.ts +0 -326
  798. package/src/helpers/dpqlDetection.ts +0 -209
  799. package/src/helpers/expressions.ts +0 -140
  800. package/src/helpers/optionUiTypes.ts +0 -199
  801. package/src/helpers/options.ts +0 -150
  802. package/src/helpers/providerValue.ts +0 -125
  803. package/src/helpers/scrollbar.ts +0 -32
  804. package/src/helpers/singleLineString.ts +0 -61
  805. package/src/helpers/templateItems.ts +0 -81
  806. package/src/helpers/templateText.ts +0 -350
  807. package/src/helpers/templates.ts +0 -602
  808. package/src/helpers/validations.ts +0 -2085
  809. package/src/hooks/useArgSchema.ts +0 -37
  810. package/src/hooks/useCoarsePointer.ts +0 -30
  811. package/src/hooks/useFetch/useFetch.stories.tsx +0 -379
  812. package/src/hooks/useFetch/useFetch.tsx +0 -154
  813. package/src/hooks/usePhoneViewport.ts +0 -34
  814. package/src/hooks/useQorusTypes.ts +0 -233
  815. package/src/hooks/useReqraftProperty.ts +0 -16
  816. package/src/hooks/useStorage/useStorage.stories.tsx +0 -168
  817. package/src/hooks/useStorage/useStorage.ts +0 -35
  818. package/src/hooks/useTemplates.ts +0 -123
  819. package/src/hooks/useValidation.ts +0 -9
  820. package/src/hooks/useWebSocket/useWebSocket.ts +0 -224
  821. package/src/hooks/useWebSocket/useWebsocket.stories.tsx +0 -640
  822. package/src/hooks/useWhyDidYouUpdate.ts +0 -38
  823. package/src/index.tsx +0 -86
  824. package/src/providers/FetchProvider.tsx +0 -40
  825. package/src/providers/ReqraftProvider.tsx +0 -52
  826. package/src/providers/StorageProvider.tsx +0 -131
  827. package/src/stores/currentUser/currentUser.stories.tsx +0 -100
  828. package/src/stores/currentUser/currentUser.tsx +0 -94
  829. package/src/stories/Data/fileFieldArgSchema.json +0 -86
  830. package/src/stories/Tests/utils.ts +0 -320
  831. package/src/stories/storyNetwork.ts +0 -92
  832. package/src/stories/tracking.tsx +0 -206
  833. package/src/tracking/browser/attach.ts +0 -186
  834. package/src/tracking/browser/env.ts +0 -78
  835. package/src/tracking/core/consent.ts +0 -37
  836. package/src/tracking/core/engagement.ts +0 -47
  837. package/src/tracking/core/experiments.ts +0 -258
  838. package/src/tracking/core/hash.ts +0 -26
  839. package/src/tracking/core/ids.ts +0 -25
  840. package/src/tracking/core/observable.ts +0 -23
  841. package/src/tracking/core/queue.ts +0 -131
  842. package/src/tracking/core/sections.ts +0 -166
  843. package/src/tracking/core/storage.ts +0 -69
  844. package/src/tracking/core/tracker.ts +0 -417
  845. package/src/tracking/core/types.ts +0 -162
  846. package/src/tracking/core/utm.ts +0 -23
  847. package/src/tracking/index.ts +0 -72
  848. package/src/tracking/markup.ts +0 -17
  849. package/src/tracking/react/Experiment.tsx +0 -44
  850. package/src/tracking/react/TrackingProvider.tsx +0 -56
  851. package/src/tracking/react/hooks.ts +0 -106
  852. package/src/tracking/react/index.ts +0 -13
  853. package/src/tracking/testing.ts +0 -108
  854. package/src/tracking/ui/ExperimentCard.stories.tsx +0 -296
  855. package/src/tracking/ui/ExperimentCard.tsx +0 -667
  856. package/src/tracking/ui/ExperimentsOverlay.stories.tsx +0 -155
  857. package/src/tracking/ui/ExperimentsOverlay.tsx +0 -437
  858. package/src/tracking/ui/anchor.ts +0 -180
  859. package/src/tracking/ui/card.ts +0 -464
  860. package/src/tracking/ui/client.ts +0 -117
  861. package/src/tracking/ui/index.ts +0 -77
  862. package/src/tracking/ui/types.ts +0 -110
  863. package/src/tracking/ui/useExperimentsAdmin.ts +0 -103
  864. package/src/types/Form.ts +0 -29
  865. package/src/types.ts +0 -14
  866. package/src/utils/datetime.ts +0 -10
  867. package/src/utils/fetch.ts +0 -457
  868. package/src/utils/lspClient.ts +0 -711
  869. package/src/utils/lspClient.types.ts +0 -211
  870. package/src/utils/queryUnlessCancelled.ts +0 -28
  871. package/src/utils/websocket.ts +0 -293
  872. package/vite.config.ts +0 -58
  873. package/vitest.config.ts +0 -69
@@ -1,326 +0,0 @@
1
- import { IReqoreRichTextEditorProps } from '@qoretechnologies/reqore/dist/components/RichTextEditor';
2
- import { TQorusFormFieldSchema, TQorusFormOperatorValue } from '@qoretechnologies/ts-toolkit';
3
- import yaml from 'js-yaml';
4
-
5
- // ─── Typed ↔ YAML helpers ──────────────────────────────────────────────────────
6
-
7
- type TTypedValue = { type: string; value: unknown };
8
- type MaybeTyped = TTypedValue | undefined;
9
-
10
- const inferTypedValue = (raw: unknown): MaybeTyped => {
11
- if (raw === null || raw === undefined) return undefined;
12
- if (typeof raw === 'boolean') return { type: 'bool', value: raw };
13
- if (typeof raw === 'number')
14
- return Number.isInteger(raw) ? { type: 'int', value: raw } : { type: 'float', value: raw };
15
- if (typeof raw === 'string') return { type: 'string', value: raw };
16
- if (Array.isArray(raw)) {
17
- const items = raw.map(inferTypedValue).filter(Boolean);
18
- return { type: 'list', value: items };
19
- }
20
- if (typeof raw === 'object') {
21
- const value = Object.fromEntries(
22
- Object.entries(raw as Record<string, unknown>).map(([k, v]) => [k, inferTypedValue(v)])
23
- );
24
- return { type: 'hash', value };
25
- }
26
- return { type: 'any', value: raw };
27
- };
28
-
29
- const typedToPlain = (typed: MaybeTyped): unknown => {
30
- if (typed === undefined || typed === null) return undefined;
31
- // A raw primitive (string/number/bool) is already plain — e.g. a `list` whose
32
- // items are bare values rather than `{ type, value }` wrappers. Destructuring it
33
- // would lose the value (it became `null` items in the YAML editor).
34
- if (typeof typed !== 'object') return typed;
35
- const { type, value } = typed as { type?: string; value?: unknown };
36
- if (type === 'list') {
37
- // Guard the `.map`: a malformed/non-array list value (e.g. a string from a
38
- // YAML round-trip) must not crash the editor — render it as-is instead.
39
- return Array.isArray(value) ? value.map(typedToPlain) : value;
40
- }
41
- if (type === 'hash') {
42
- return value && typeof value === 'object' && !Array.isArray(value) ?
43
- Object.fromEntries(
44
- Object.entries(value as Record<string, MaybeTyped>).map(([k, v]) => [k, typedToPlain(v)])
45
- )
46
- : value;
47
- }
48
- // An object with no recognised `type` wrapper is already plain data.
49
- if (type === undefined) return typed;
50
- return value;
51
- };
52
-
53
- export const yamlToTyped = (yamlString: string): MaybeTyped => {
54
- try {
55
- const raw = yaml.load(yamlString) as unknown;
56
- return inferTypedValue(raw);
57
- } catch {
58
- return { type: 'string', value: yamlString };
59
- }
60
- };
61
-
62
- export const typedToYaml = (typed: MaybeTyped): string => {
63
- if (typeof typed === 'undefined') return '';
64
- const plain = typedToPlain(typed);
65
- try {
66
- return yaml.dump(plain, { skipInvalid: true });
67
- } catch {
68
- return '';
69
- }
70
- };
71
-
72
- export const getDefaultValue = (schema?: TQorusFormFieldSchema): unknown | undefined => {
73
- // No schema, no default. A form can hold a value key its schema does not
74
- // (yet) describe — a host that recomputes schema and value in separate
75
- // memos renders once in between — and the compact row asks for the default
76
- // of every empty row. `'default_value' in undefined` is a TypeError that
77
- // takes the whole form to the error boundary; the answer is simply "none".
78
- if (!schema) {
79
- return undefined;
80
- }
81
- if ('default_value' in schema) {
82
- const value: unknown = schema.default_value;
83
- // The server sends a default either bare, of any type — a list or a hash
84
- // included — or in a `{ type, value }` envelope; only the envelope is
85
- // unwrapped.
86
- if (value != null && typeof value === 'object' && !Array.isArray(value) && 'type' in value) {
87
- return (value as { value?: unknown }).value;
88
- }
89
-
90
- return value;
91
- }
92
-
93
- return undefined;
94
- };
95
-
96
- /**
97
- * Whether a rich-text document contains a template tag (a `$local:...`-style reference drawn as a chip).
98
- *
99
- * Such a value is resolved when the interface runs, so it can never be one of a field's fixed choices and must
100
- * not be judged against them.
101
- */
102
- export const richtextHasTag = (richtext: unknown): boolean => {
103
- const walk = (node: any): boolean =>
104
- !!node &&
105
- typeof node === 'object' &&
106
- (node.type === 'tag' || (Array.isArray(node.children) && node.children.some(walk)));
107
- return Array.isArray(richtext) && richtext.some(walk);
108
- };
109
-
110
- export const richtextToString = (richtext: IReqoreRichTextEditorProps['value']): string => {
111
- // A `richtext` ui_type option can still hold a plain scalar value (set
112
- // programmatically or loaded from the server before the editor ever touched
113
- // it) — only a real Slate document is an array of nodes.
114
- if (!Array.isArray(richtext)) {
115
- return richtext === undefined || richtext === null ? '' : String(richtext);
116
- }
117
-
118
- const processElement = (element: any | { text: string }): string => {
119
- if (element === null || element === undefined) {
120
- return '';
121
- }
122
-
123
- if (typeof element !== 'object') {
124
- return String(element);
125
- }
126
-
127
- if ('text' in element) {
128
- return element.text;
129
- }
130
-
131
- if (element.type === 'tag') {
132
- return element.value?.toString() || '';
133
- }
134
-
135
- return Array.isArray(element.children) ? element.children.map(processElement).join('') : '';
136
- };
137
-
138
- return richtext.map(processElement).join('');
139
- };
140
-
141
- /** One piece of a richtext document, flattened to a single line: a run of
142
- * plain prose (`text`) or an embedded template tag (`tag`). Used by the
143
- * read-first row to render tags as `$`-chips instead of raw `$prefix:name`. */
144
- export interface IRichtextSegment {
145
- kind: 'text' | 'tag';
146
- /** Prose for `text`; the tag's display label (or its value) for `tag`. */
147
- text: string;
148
- /** The raw template value for `tag` (e.g. `$local:some-richtext`). */
149
- value?: string;
150
- }
151
-
152
- /** Like {@link richtextToString}, but keeps embedded template tags as discrete
153
- * segments (adjacent prose is coalesced) so a caller can render the tags as
154
- * chips. A non-document scalar collapses to a single text segment. */
155
- export const richtextToSegments = (
156
- richtext: IReqoreRichTextEditorProps['value']
157
- ): IRichtextSegment[] => {
158
- if (!Array.isArray(richtext)) {
159
- const text = richtext === undefined || richtext === null ? '' : String(richtext);
160
- return text ? [{ kind: 'text', text }] : [];
161
- }
162
-
163
- const segments: IRichtextSegment[] = [];
164
- const pushText = (text: string): void => {
165
- if (!text) return;
166
- const last = segments[segments.length - 1];
167
- if (last?.kind === 'text') last.text += text;
168
- else segments.push({ kind: 'text', text });
169
- };
170
-
171
- const walk = (element: any): void => {
172
- if (element === null || element === undefined) return;
173
- if (typeof element !== 'object') {
174
- pushText(String(element));
175
- return;
176
- }
177
- if ('text' in element) {
178
- pushText(element.text);
179
- return;
180
- }
181
- if (element.type === 'tag') {
182
- const value = element.value?.toString() || '';
183
- segments.push({ kind: 'tag', value, text: (element.label ?? value)?.toString() || value });
184
- return;
185
- }
186
- if (Array.isArray(element.children)) element.children.forEach(walk);
187
- };
188
-
189
- richtext.forEach(walk);
190
- return segments;
191
- };
192
-
193
- /**
194
- * An operator value as the list it logically is.
195
- *
196
- * An option's `op` holds either one operator or a chain of them, and both
197
- * spellings are legitimate on the wire. Every reader wants the list.
198
- */
199
- export const fixOperatorValue = (
200
- operator: TQorusFormOperatorValue
201
- ): (string | null | undefined)[] => (Array.isArray(operator) ? operator : [operator]);
202
-
203
- export const insertAtIndex = (array: any[] = [], index = 0, value: any): any[] => {
204
- return [...array.slice(0, index), value, ...array.slice(index)];
205
- };
206
-
207
- /** Splits a byte-size string (e.g. `"10MiB"`) into `[amount, unit]`. */
208
- export const splitByteSize = (value?: string): [number | undefined, string | undefined] => {
209
- const amount = String(value ?? '').match(/\d+/g);
210
- const unit = String(value ?? '').match(/[a-zA-Z]+/g);
211
- return [amount?.[0] ? Number(amount[0]) : undefined, unit?.[0]];
212
- };
213
-
214
- export type TTimeoutUnit = 'ms' | 'seconds' | 'minutes' | 'hours';
215
-
216
- /** Timeout display units, smallest → largest, with the ms multiplier each one
217
- * scales by and the symbol shown where space is tight (phone-width selector).
218
- * The stored value is always the integer millisecond count. */
219
- export const TIMEOUT_UNITS: { value: TTimeoutUnit; ms: number; short: string }[] = [
220
- { value: 'ms', ms: 1, short: 'ms' },
221
- { value: 'seconds', ms: 1000, short: 's' },
222
- { value: 'minutes', ms: 60000, short: 'm' },
223
- { value: 'hours', ms: 3600000, short: 'h' },
224
- ];
225
-
226
- export const timeoutUnitToMs = (unit: TTimeoutUnit): number =>
227
- TIMEOUT_UNITS.find(({ value }) => value === unit)!.ms;
228
-
229
- export const timeoutUnitSymbol = (unit: TTimeoutUnit): string =>
230
- TIMEOUT_UNITS.find(({ value }) => value === unit)!.short;
231
-
232
- /** The largest unit that represents `value` without rounding (45000 →
233
- * seconds, 90500 → ms). Zero divides evenly by everything, so it stays ms. */
234
- export const getLargestExactTimeoutUnit = (value?: number): TTimeoutUnit => {
235
- for (let i = TIMEOUT_UNITS.length - 1; i >= 0; i--) {
236
- if (value != null && value !== 0 && value % TIMEOUT_UNITS[i].ms === 0) {
237
- return TIMEOUT_UNITS[i].value;
238
- }
239
- }
240
- return 'ms';
241
- };
242
-
243
- /** Human-readable timeout (e.g. `"45 seconds"`) — scaled to the largest unit
244
- * that represents the millisecond count exactly (90500 → `"90500 ms"`). */
245
- export const formatTimeoutValue = (ms: number): string => {
246
- const unit = getLargestExactTimeoutUnit(ms);
247
- return `${ms / timeoutUnitToMs(unit)} ${unit}`;
248
- };
249
-
250
- /** Human-readable file size, e.g. `"12.3 KB"` — whole bytes below 1 KiB, one
251
- * decimal above. Shared by the ticket thread / references attachment rows. */
252
- export const formatBytes = (bytes: number): string => {
253
- if (bytes < 1024) {
254
- return `${bytes} B`;
255
- }
256
- const units = ['KB', 'MB', 'GB'];
257
- let value = bytes / 1024;
258
- let unit = 0;
259
- while (value >= 1024 && unit < units.length - 1) {
260
- value /= 1024;
261
- unit += 1;
262
- }
263
- return `${value.toFixed(1)} ${units[unit]}`;
264
- };
265
-
266
- /** True when a MIME content type is an image (`image/*`). */
267
- export const isImage = (contentType: string): boolean => contentType.startsWith('image/');
268
-
269
- // URL value splitting (IDE `urlField.tsx` behavior). Lives here rather than
270
- // in the Url component so `validations.ts` can use it without pulling the
271
- // component chain into non-DOM consumers (jest).
272
- export const getProtocol = (v?: string): string => {
273
- const valueList = v?.split('://');
274
-
275
- if (!valueList || valueList.length <= 1) {
276
- return '';
277
- }
278
-
279
- return valueList[0];
280
- };
281
-
282
- export const getAddress = (v?: string): string => {
283
- const valueList = v?.split('://');
284
-
285
- if (!valueList || valueList.length === 0) {
286
- return '';
287
- }
288
-
289
- if (valueList.length === 1) {
290
- return valueList[0];
291
- }
292
-
293
- // We need to join back the rest of the address in case there were :// in it
294
- return valueList.slice(1).join('://');
295
- };
296
-
297
- // ─── List helpers ─────────────────────────────────────────────────────────────
298
-
299
- /** Immutably moves a list element from `from` to `to`. */
300
- export const moveItem = <T>(list: T[], from: number, to: number): T[] => {
301
- if (from === to || from < 0 || to < 0 || from >= list.length) return list;
302
- const next = [...list];
303
- const [item] = next.splice(from, 1);
304
- next.splice(Math.min(to, next.length), 0, item);
305
- return next;
306
- };
307
-
308
- /** `1` → `1st`, `2` → `2nd`, `11` → `11th`. */
309
- export const ordinal = (n: number): string => {
310
- const mod100 = n % 100;
311
-
312
- if (mod100 >= 11 && mod100 <= 13) {
313
- return `${n}th`;
314
- }
315
-
316
- switch (n % 10) {
317
- case 1:
318
- return `${n}st`;
319
- case 2:
320
- return `${n}nd`;
321
- case 3:
322
- return `${n}rd`;
323
- default:
324
- return `${n}th`;
325
- }
326
- };
@@ -1,209 +0,0 @@
1
- // Copyright 2026 Qore Technologies, s.r.o.
2
- /**
3
- * Noticing that text typed into a PLAIN (non-expression) field is really a
4
- * DPQL expression, and deciding what to do about it.
5
- *
6
- * The rule this implements, in one sentence: **switch the field into
7
- * expression mode only when the text cannot be a valid literal for the
8
- * field's type but IS a real expression; otherwise offer, never silently
9
- * reinterpret.** Quietly turning the string `a + b` into a concatenation on a
10
- * `string` field would destroy a legitimate literal, so a type that accepts
11
- * any text never auto-switches — it only ever offers.
12
- *
13
- * ## Why the server has the last word
14
- *
15
- * "Does this parse as DPQL?" is NOT a usable test, which is the trap here.
16
- * Verified against the live LSP: `dpql/parse` reports `success: true` for
17
- * `hello`, for `42`, for `2026-09-06` and for `@a` — it wraps each of them in
18
- * a trivial `{exp: 'value', args: [...]}` node. Everything is a valid DPQL
19
- * program, because a bare literal is one. So a text that parses tells us
20
- * nothing; what tells us something is the SHAPE of the AST that comes back:
21
- *
22
- * | typed text | `exp` | verdict |
23
- * |-------------------|------------|------------|
24
- * | `hello`, `42` | `value` | a literal |
25
- * | `$local:count` | `template` | a template |
26
- * | `@a > 5` | `>` | expression |
27
- * | `"a" + "b"` | `+` | expression |
28
- * | `toInt("5")` | `toInt` | expression |
29
- *
30
- * `isRealExpressionAst` is that test, and it is the only authority. The
31
- * lexical pass below decides nothing — its sole job is to keep a server
32
- * round-trip off every keystroke of every field.
33
- */
34
- import { validateField } from './validations';
35
-
36
- /** What to do about text that turned out to be an expression. */
37
- export type TDpqlDetectionOutcome =
38
- /** Not an expression, or not one we may act on — leave the field alone. */
39
- | 'none'
40
- /** A real expression, but the text is also a valid literal here: ask. */
41
- | 'offer'
42
- /** A real expression, and the text cannot be a literal here: switch. */
43
- | 'switch';
44
-
45
- /**
46
- * The `exp` values that mean "this is not an expression": a bare literal and
47
- * a bare template reference. A template is already the template field's job
48
- * (`isValueTemplate`), and a literal is what the plain field is for.
49
- */
50
- const NON_EXPRESSION_OPS = new Set(['value', 'template']);
51
-
52
- /**
53
- * Operators and calls whose presence makes a server probe worth the trip.
54
- * Deliberately generous — a false positive costs one debounced request that
55
- * comes back `exp: 'value'`, while a false negative silently loses the whole
56
- * feature.
57
- *
58
- * ## Why the spacing rules differ per operator
59
- *
60
- * `-` and `/` are ambiguous: they appear inside values nobody means as
61
- * arithmetic — dates (`2026-09-06`), negative numbers (`-5`), paths (`a/b`),
62
- * hyphenated names (`well-known-name`). A space next to one is what separates
63
- * `@a - 1` from those, so they keep a spacing requirement.
64
- *
65
- * `+` is NOT ambiguous in that way, and requiring spaces around it lost the
66
- * feature for the most natural way to type arithmetic: `2 + 1` was offered as
67
- * an expression while `2+1` and `2+ 1` were not, which reads as the detection
68
- * working only sometimes. Reported from the live IDE. `+` now counts wherever
69
- * it appears; if the text turns out to be an ordinary literal the server says
70
- * so and the offer never appears.
71
- *
72
- * The `-`/`/` rule is also relaxed from "spaces on BOTH sides" to "a space on
73
- * either side", so `@a -1` and `@a- 1` are probed too while every ambiguous
74
- * value above still is not.
75
- */
76
- const DPQL_OPERATOR_PATTERN = new RegExp(
77
- [
78
- '(==|!=|<>|>=|<=)', // two-character comparisons
79
- '[<>*%]', // unambiguous single-character operators
80
- '(?<!=)=(?!=)', // a lone `=`, not part of `==`
81
- '\\+', // `+` — unambiguous, so spacing is irrelevant
82
- '(\\s[-/]|[-/]\\s)', // `-` and `/` need a space on at least one side
83
- '\\b(and|or|not|like|in|contains)\\b', // word operators
84
- ].join('|'),
85
- 'i'
86
- );
87
-
88
- /** A function call — `toInt("5")`, `upper(@name)`. */
89
- const DPQL_CALL_PATTERN = /\b[a-z_]\w*\s*\(/i;
90
-
91
- /**
92
- * The longest text worth probing. An expression a person types into a form
93
- * field is short; anything longer is a document, and probing it on every
94
- * keystroke would be a waste of a round-trip.
95
- */
96
- const MAX_PROBE_LENGTH = 512;
97
-
98
- /**
99
- * Cheap, purely lexical "might this be worth asking the server about?".
100
- * Never decides anything on its own — see the module comment.
101
- */
102
- export const mightBeDpqlExpression = (text: unknown): boolean => {
103
- if (typeof text !== 'string') {
104
- return false;
105
- }
106
-
107
- const trimmed = text.trim();
108
-
109
- if (!trimmed || trimmed.length > MAX_PROBE_LENGTH) {
110
- return false;
111
- }
112
-
113
- return DPQL_OPERATOR_PATTERN.test(trimmed) || DPQL_CALL_PATTERN.test(trimmed);
114
- };
115
-
116
- /**
117
- * The authority: does this `dpql/parse` result describe a REAL expression
118
- * rather than a literal or a bare template reference? Accepts either the
119
- * field-ready envelope (`{is_expression, value: {exp, args}}`) the server
120
- * returns or a bare `{exp, args}` node.
121
- */
122
- export const isRealExpressionAst = (expression: unknown): boolean => {
123
- if (!expression || typeof expression !== 'object') {
124
- return false;
125
- }
126
-
127
- const envelope = expression as { value?: unknown; exp?: unknown };
128
- const node = (
129
- envelope.exp === undefined && envelope.value && typeof envelope.value === 'object'
130
- ? envelope.value
131
- : envelope
132
- ) as { exp?: unknown };
133
-
134
- return typeof node.exp === 'string' && !!node.exp && !NON_EXPRESSION_OPS.has(node.exp);
135
- };
136
-
137
- /**
138
- * `true` when any diagnostic is an outright error. The server reports
139
- * severity as the string `'error'` on this route and LSP proper uses `1`;
140
- * both are accepted rather than assuming one.
141
- */
142
- export const hasErrorDiagnostic = (
143
- diagnostics?: Array<{ severity?: number | string } | undefined | null>
144
- ): boolean =>
145
- !!diagnostics?.some((diagnostic) => {
146
- const severity = diagnostic?.severity;
147
- return severity === 1 || severity === 'error';
148
- });
149
-
150
- /**
151
- * Could this text stand as a literal value of the field's own type? A type
152
- * that accepts any text (`string`, and every type the form validator passes
153
- * by default) always can, which is exactly why such a field never
154
- * auto-switches. Delegates to the form's own validator so the answer is the
155
- * same one the field itself would give.
156
- */
157
- export const canBeLiteralOfType = (
158
- text: string,
159
- type?: string,
160
- field?: Record<string, any>
161
- ): boolean => {
162
- if (!type) {
163
- return true;
164
- }
165
-
166
- try {
167
- return validateField(type, text, field as any);
168
- } catch {
169
- // A validator that throws must not be read as "this cannot be a
170
- // literal" — that would auto-switch the field on the strength of a bug.
171
- return true;
172
- }
173
- };
174
-
175
- export interface IClassifyTypedTextArgs {
176
- /** The text the author typed into the plain field. */
177
- text: string;
178
- /** The field's declared type (`ui_type ?? type`). */
179
- type?: string;
180
- /** The field schema, for validators that consult `validation_regex` etc. */
181
- field?: Record<string, any>;
182
- /** The `dpql/parse` result for `text`, or `undefined` if it has not run. */
183
- parsed?: {
184
- success?: boolean;
185
- expression?: unknown;
186
- diagnostics?: Array<{ severity?: number | string }>;
187
- };
188
- }
189
-
190
- /**
191
- * The whole decision, in one pure function so it can be tested without a
192
- * server, a socket or a rendered field.
193
- */
194
- export const classifyTypedText = ({
195
- text,
196
- type,
197
- field,
198
- parsed,
199
- }: IClassifyTypedTextArgs): TDpqlDetectionOutcome => {
200
- if (!parsed?.success || !parsed.expression) {
201
- return 'none';
202
- }
203
-
204
- if (!isRealExpressionAst(parsed.expression) || hasErrorDiagnostic(parsed.diagnostics)) {
205
- return 'none';
206
- }
207
-
208
- return canBeLiteralOfType(text, type, field) ? 'offer' : 'switch';
209
- };
@@ -1,140 +0,0 @@
1
- // Copyright 2026 Qore Technologies, s.r.o.
2
- // Expression / type-compatibility helpers — ported verbatim from qorus-ide
3
- // (`src/helpers/expressions.ts` + `areQorusTypesCompatible` from
4
- // `src/helpers/functions.tsx`), import paths adapted to reqraft. Used by the
5
- // ported ExpressionBuilder.
6
- import { isArray } from 'lodash';
7
- import {
8
- IExpression,
9
- IExpressionSchema,
10
- IExpressionSchemaArg,
11
- } from '../components/form/expressions/types';
12
- import { defaultQorusTypes, getQorusTypes, IQorusTypeObject } from '../hooks/useQorusTypes';
13
-
14
- export const getArgumentType = (
15
- expressions: IExpressionSchema[],
16
- arg?: IExpression,
17
- schema?: IExpressionSchemaArg
18
- ) => {
19
- if (arg?.is_expression) {
20
- return expressions?.find(
21
- (exp) => exp.name === (arg.value as { exp?: string })?.exp
22
- )?.ui_return_type;
23
- }
24
-
25
- return arg?.type || schema?.ui_type;
26
- };
27
-
28
- export const argumentMatchesType = (
29
- expressions: IExpressionSchema[],
30
- arg: IExpression | undefined,
31
- schema: IExpressionSchemaArg
32
- ) => {
33
- const types = getQorusTypes();
34
- const acceptedTypes = types.find((type) => type.name === schema.ui_type);
35
- const argType = getArgumentType(expressions, arg, schema);
36
-
37
- if (!acceptedTypes) {
38
- return true;
39
- }
40
-
41
- return (
42
- argType === 'any' ||
43
- !!acceptedTypes.exact_match?.includes(argType as string) ||
44
- acceptedTypes.types_accepted.includes('any') ||
45
- acceptedTypes.types_accepted.includes(getArgumentType(expressions, arg, schema) as string)
46
- );
47
- };
48
-
49
- /**
50
- * `auto` is the codebase's other spelling of `any` — `Field.tsx` maps both to
51
- * one renderer, and FormEngine tests `type === 'any' || type === 'auto'` in
52
- * several places — but the TYPES LIST only carries `any`.
53
- *
54
- * That mattered here because an unknown main type falls into the "not found"
55
- * branch below and answers FALSE for every check. So an `auto`-typed field was
56
- * judged incompatible with everything: `filterTemplatesByType()` removed every
57
- * template from it, and the picker offered a group header with nothing under
58
- * it. The field was not "a field with no templates" — it was a field whose
59
- * templates had all been filtered away by a name mismatch.
60
- */
61
- const normalizeAnyLikeTypeName = (name: string): string => (name === 'auto' ? 'any' : name);
62
-
63
- export const areQorusTypesCompatible = (
64
- mainType: string | string[],
65
- checkType: string | string[],
66
- fallbackTypes?: IQorusTypeObject[]
67
- ): boolean => {
68
- const types = getQorusTypes() || fallbackTypes || defaultQorusTypes;
69
- const mainTypes = (isArray(mainType) ? mainType : [mainType]).map(normalizeAnyLikeTypeName);
70
- const checkTypes = (isArray(checkType) ? checkType : [checkType]).map(normalizeAnyLikeTypeName);
71
- // Get each of the main types from the types list
72
- for (const main of mainTypes) {
73
- // Get the type object from the types
74
- const mainTypeObject = types.find((type) => type.name === main);
75
- // If the main object does not exist
76
- if (!mainTypeObject) {
77
- return false;
78
- }
79
- // If the main type includes "any" it's automatically compatible
80
- if (mainTypeObject.exact_match?.includes('any')) {
81
- return true;
82
- }
83
- // Check if any of the check types are in the main types accepted types
84
- for (const check of checkTypes) {
85
- if (mainTypeObject.exact_match?.includes(check)) {
86
- return true;
87
- }
88
- }
89
- // If the main type includes "any" it's automatically compatible
90
- if (mainTypeObject.types_accepted.includes('any')) {
91
- return true;
92
- }
93
- // Check if any of the check types are in the main types accepted types
94
- for (const check of checkTypes) {
95
- if (mainTypeObject.types_accepted.includes(check)) {
96
- return true;
97
- }
98
- }
99
- }
100
- // If none of the types are compatible return false
101
- return false;
102
- };
103
-
104
- /**
105
- * Whether a type is text, a date or a time: what a condition cannot be. A condition is evaluated by its
106
- * truthiness, so a number (0 or not), a list or hash (empty or not), binary data and an untyped result
107
- * all decide it; text, dates and times do not say plainly what is meant, and are compared explicitly
108
- * instead (`@status == "open"`, `@note != ""`). The Qorus server applies the same rule.
109
- */
110
- export const isTextOrDateType = (type: string): boolean =>
111
- /^(string|richtext|date|time)$/.test(type.replace(/^\*/, '').replace(/^soft/, ''));
112
-
113
- /** Whether a place takes a condition: its result must be true or false (`bool`, or a list of only that). */
114
- export const isConditionType = (returnType: string | string[] | undefined): boolean => {
115
- const types = isArray(returnType) ? returnType : returnType ? [returnType] : [];
116
- return types.length > 0 && types.every((type) => /^\*?(bool|boolean)$/.test(type));
117
- };
118
-
119
- /**
120
- * Whether an operation is offered where its result must be of `returnType`: a condition (`bool`) is
121
- * built from the operations whose result decides it, which is any result but text, a date or a time.
122
- *
123
- * Only a condition narrows the list. Any other type keeps every operation: a value of one type is often
124
- * made from an operation that gives another (text from rich text, a number from an int), and the
125
- * mismatch message after the choice says when it does not fit. An operation whose result is known
126
- * only once it is built (`any`, or the type of its first argument) is offered everywhere.
127
- */
128
- export const expressionFitsReturnType = (
129
- returnType: string | string[] | undefined,
130
- expression: { ui_return_type?: string; return_type_first_arg?: boolean }
131
- ): boolean => {
132
- if (!isConditionType(returnType)) {
133
- return true;
134
- }
135
- const result = expression.ui_return_type;
136
- if (expression.return_type_first_arg || !result || result === 'any' || result === 'auto') {
137
- return true;
138
- }
139
- return !isTextOrDateType(result);
140
- };