@qoretechnologies/reqraft 0.10.66-pr.145.gcb1e59d → 0.10.66

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 (913) 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 +420 -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 +336 -243
  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 +20 -57
  58. package/dist/components/form/engine/CompactToolbar.js.map +1 -1
  59. package/dist/components/form/engine/FormEngine.d.ts +67 -59
  60. package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
  61. package/dist/components/form/engine/FormEngine.js +606 -409
  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 +2 -18
  68. package/dist/components/form/engine/OptionFieldMessages.d.ts.map +1 -1
  69. package/dist/components/form/engine/OptionFieldMessages.js +28 -25
  70. package/dist/components/form/engine/OptionFieldMessages.js.map +1 -1
  71. package/dist/components/form/engine/OptionsHelpDialog.d.ts.map +1 -1
  72. package/dist/components/form/engine/OptionsHelpDialog.js +19 -2
  73. package/dist/components/form/engine/OptionsHelpDialog.js.map +1 -1
  74. package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts +2 -2
  75. package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts.map +1 -1
  76. package/dist/components/form/engine/_structuredData/SchemaDataView.js +11 -31
  77. package/dist/components/form/engine/_structuredData/SchemaDataView.js.map +1 -1
  78. package/dist/components/form/engine/compactRowContext.d.ts +30 -6
  79. package/dist/components/form/engine/compactRowContext.d.ts.map +1 -1
  80. package/dist/components/form/engine/compactRowContext.js.map +1 -1
  81. package/dist/components/form/engine/compactRowStyles.d.ts +56 -31
  82. package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
  83. package/dist/components/form/engine/compactRowStyles.js +121 -110
  84. package/dist/components/form/engine/compactRowStyles.js.map +1 -1
  85. package/dist/components/form/engine/compactToolbarColors.d.ts +16 -0
  86. package/dist/components/form/engine/compactToolbarColors.d.ts.map +1 -0
  87. package/dist/components/form/engine/compactToolbarColors.js +21 -0
  88. package/dist/components/form/engine/compactToolbarColors.js.map +1 -0
  89. package/dist/components/form/engine/compactToolbarContext.d.ts +0 -3
  90. package/dist/components/form/engine/compactToolbarContext.d.ts.map +1 -1
  91. package/dist/components/form/engine/compactToolbarContext.js.map +1 -1
  92. package/dist/components/form/engine/inheritProps.d.ts +29 -0
  93. package/dist/components/form/engine/inheritProps.d.ts.map +1 -0
  94. package/dist/components/form/engine/inheritProps.js +43 -0
  95. package/dist/components/form/engine/inheritProps.js.map +1 -0
  96. package/dist/components/form/engine/operatorSummary.d.ts +26 -0
  97. package/dist/components/form/engine/operatorSummary.d.ts.map +1 -0
  98. package/dist/components/form/engine/operatorSummary.js +35 -0
  99. package/dist/components/form/engine/operatorSummary.js.map +1 -0
  100. package/dist/components/form/engine/readFirst.d.ts +26 -22
  101. package/dist/components/form/engine/readFirst.d.ts.map +1 -1
  102. package/dist/components/form/engine/readFirst.js +79 -115
  103. package/dist/components/form/engine/readFirst.js.map +1 -1
  104. package/dist/components/form/engine/readFirstColors.d.ts +30 -0
  105. package/dist/components/form/engine/readFirstColors.d.ts.map +1 -0
  106. package/dist/components/form/engine/readFirstColors.js +51 -0
  107. package/dist/components/form/engine/readFirstColors.js.map +1 -0
  108. package/dist/components/form/engine/rowFocus.d.ts +3 -9
  109. package/dist/components/form/engine/rowFocus.d.ts.map +1 -1
  110. package/dist/components/form/engine/rowFocus.js +30 -19
  111. package/dist/components/form/engine/rowFocus.js.map +1 -1
  112. package/dist/components/form/engine/typeChoices.d.ts +1 -1
  113. package/dist/components/form/engine/variants/VariantCalmTable.d.ts.map +1 -1
  114. package/dist/components/form/engine/variants/VariantCalmTable.js +2 -1
  115. package/dist/components/form/engine/variants/VariantCalmTable.js.map +1 -1
  116. package/dist/components/form/engine/variants/VariantCards.d.ts.map +1 -1
  117. package/dist/components/form/engine/variants/VariantCards.js +2 -1
  118. package/dist/components/form/engine/variants/VariantCards.js.map +1 -1
  119. package/dist/components/form/engine/variants/VariantFocus.js +1 -1
  120. package/dist/components/form/engine/variants/VariantFocus.js.map +1 -1
  121. package/dist/components/form/engine/variants/VariantMinimal.d.ts.map +1 -1
  122. package/dist/components/form/engine/variants/VariantMinimal.js +2 -1
  123. package/dist/components/form/engine/variants/VariantMinimal.js.map +1 -1
  124. package/dist/components/form/engine/variants/variantParts.d.ts +1 -1
  125. package/dist/components/form/engine/variants/variantParts.d.ts.map +1 -1
  126. package/dist/components/form/engine/variants/variantParts.js +25 -17
  127. package/dist/components/form/engine/variants/variantParts.js.map +1 -1
  128. package/dist/components/form/expressions/DpqlRendering.d.ts +1 -1
  129. package/dist/components/form/expressions/DpqlRendering.d.ts.map +1 -1
  130. package/dist/components/form/expressions/DpqlRendering.js +7 -6
  131. package/dist/components/form/expressions/DpqlRendering.js.map +1 -1
  132. package/dist/components/form/expressions/ExpressionField.d.ts +67 -3
  133. package/dist/components/form/expressions/ExpressionField.d.ts.map +1 -1
  134. package/dist/components/form/expressions/ExpressionField.js +536 -114
  135. package/dist/components/form/expressions/ExpressionField.js.map +1 -1
  136. package/dist/components/form/expressions/argumentPresence.d.ts +14 -0
  137. package/dist/components/form/expressions/argumentPresence.d.ts.map +1 -1
  138. package/dist/components/form/expressions/argumentPresence.js +16 -1
  139. package/dist/components/form/expressions/argumentPresence.js.map +1 -1
  140. package/dist/components/form/expressions/builder/argumentDetail.d.ts.map +1 -1
  141. package/dist/components/form/expressions/builder/argumentDetail.js +4 -1
  142. package/dist/components/form/expressions/builder/argumentDetail.js.map +1 -1
  143. package/dist/components/form/expressions/builder/argumentLabel.d.ts.map +1 -1
  144. package/dist/components/form/expressions/builder/argumentLabel.js +30 -11
  145. package/dist/components/form/expressions/builder/argumentLabel.js.map +1 -1
  146. package/dist/components/form/expressions/builder/argumentWrapper.d.ts.map +1 -1
  147. package/dist/components/form/expressions/builder/argumentWrapper.js +3 -1
  148. package/dist/components/form/expressions/builder/argumentWrapper.js.map +1 -1
  149. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.d.ts +9 -0
  150. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.d.ts.map +1 -1
  151. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js +30 -27
  152. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js.map +1 -1
  153. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts +1 -1
  154. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts.map +1 -1
  155. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js +7 -5
  156. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js.map +1 -1
  157. package/dist/components/form/expressions/builder/index.d.ts +34 -2
  158. package/dist/components/form/expressions/builder/index.d.ts.map +1 -1
  159. package/dist/components/form/expressions/builder/index.js +170 -80
  160. package/dist/components/form/expressions/builder/index.js.map +1 -1
  161. package/dist/components/form/expressions/builder/item.d.ts +6 -2
  162. package/dist/components/form/expressions/builder/item.d.ts.map +1 -1
  163. package/dist/components/form/expressions/builder/item.js +19 -5
  164. package/dist/components/form/expressions/builder/item.js.map +1 -1
  165. package/dist/components/form/expressions/builder/renderTemplate.js +1 -1
  166. package/dist/components/form/expressions/builder/renderTemplate.js.map +1 -1
  167. package/dist/components/form/expressions/dpqlMockRecordPath.d.ts +11 -0
  168. package/dist/components/form/expressions/dpqlMockRecordPath.d.ts.map +1 -0
  169. package/dist/components/form/expressions/dpqlMockRecordPath.js +254 -0
  170. package/dist/components/form/expressions/dpqlMockRecordPath.js.map +1 -0
  171. package/dist/components/form/expressions/expressionOperands.d.ts +16 -0
  172. package/dist/components/form/expressions/expressionOperands.d.ts.map +1 -0
  173. package/dist/components/form/expressions/expressionOperands.js +97 -0
  174. package/dist/components/form/expressions/expressionOperands.js.map +1 -0
  175. package/dist/components/form/expressions/fieldPath.d.ts +24 -0
  176. package/dist/components/form/expressions/fieldPath.d.ts.map +1 -0
  177. package/dist/components/form/expressions/fieldPath.js +152 -0
  178. package/dist/components/form/expressions/fieldPath.js.map +1 -0
  179. package/dist/components/form/expressions/loneValue.d.ts +17 -0
  180. package/dist/components/form/expressions/loneValue.d.ts.map +1 -0
  181. package/dist/components/form/expressions/loneValue.js +33 -0
  182. package/dist/components/form/expressions/loneValue.js.map +1 -0
  183. package/dist/components/form/expressions/mockExpressions.d.ts.map +1 -1
  184. package/dist/components/form/expressions/mockExpressions.js +22 -5
  185. package/dist/components/form/expressions/mockExpressions.js.map +1 -1
  186. package/dist/components/form/expressions/renderExpressionToText.d.ts +2 -0
  187. package/dist/components/form/expressions/renderExpressionToText.d.ts.map +1 -1
  188. package/dist/components/form/expressions/renderExpressionToText.js +37 -25
  189. package/dist/components/form/expressions/renderExpressionToText.js.map +1 -1
  190. package/dist/components/form/expressions/textOfExpression.d.ts +18 -0
  191. package/dist/components/form/expressions/textOfExpression.d.ts.map +1 -0
  192. package/dist/components/form/expressions/textOfExpression.js +49 -0
  193. package/dist/components/form/expressions/textOfExpression.js.map +1 -0
  194. package/dist/components/form/expressions/types.d.ts +12 -0
  195. package/dist/components/form/expressions/types.d.ts.map +1 -1
  196. package/dist/components/form/expressions/types.js +6 -1
  197. package/dist/components/form/expressions/types.js.map +1 -1
  198. package/dist/components/form/expressions/useExpressionType.d.ts +26 -0
  199. package/dist/components/form/expressions/useExpressionType.d.ts.map +1 -0
  200. package/dist/components/form/expressions/useExpressionType.js +181 -0
  201. package/dist/components/form/expressions/useExpressionType.js.map +1 -0
  202. package/dist/components/form/expressions/useRenderExpression.d.ts.map +1 -1
  203. package/dist/components/form/expressions/useRenderExpression.js +13 -9
  204. package/dist/components/form/expressions/useRenderExpression.js.map +1 -1
  205. package/dist/components/form/expressions/wildcardExpressions.d.ts +27 -0
  206. package/dist/components/form/expressions/wildcardExpressions.d.ts.map +1 -0
  207. package/dist/components/form/expressions/wildcardExpressions.js +101 -0
  208. package/dist/components/form/expressions/wildcardExpressions.js.map +1 -0
  209. package/dist/components/form/fields/Field.d.ts.map +1 -1
  210. package/dist/components/form/fields/Field.js +39 -18
  211. package/dist/components/form/fields/Field.js.map +1 -1
  212. package/dist/components/form/fields/allowed-values/AllowedValues.d.ts +0 -7
  213. package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
  214. package/dist/components/form/fields/allowed-values/AllowedValues.js +46 -35
  215. package/dist/components/form/fields/allowed-values/AllowedValues.js.map +1 -1
  216. package/dist/components/form/fields/allowed-values/choicePicture.d.ts +37 -0
  217. package/dist/components/form/fields/allowed-values/choicePicture.d.ts.map +1 -0
  218. package/dist/components/form/fields/allowed-values/choicePicture.js +64 -0
  219. package/dist/components/form/fields/allowed-values/choicePicture.js.map +1 -0
  220. package/dist/components/form/fields/array/ArrayAuto.d.ts.map +1 -1
  221. package/dist/components/form/fields/array/ArrayAuto.js +24 -0
  222. package/dist/components/form/fields/array/ArrayAuto.js.map +1 -1
  223. package/dist/components/form/fields/array/ArrayAutoField.d.ts.map +1 -1
  224. package/dist/components/form/fields/array/ArrayAutoField.js +36 -13
  225. package/dist/components/form/fields/array/ArrayAutoField.js.map +1 -1
  226. package/dist/components/form/fields/auto/AutoFormField.d.ts +30 -1
  227. package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
  228. package/dist/components/form/fields/auto/AutoFormField.js +123 -79
  229. package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
  230. package/dist/components/form/fields/auto/hostEditorValue.d.ts +30 -0
  231. package/dist/components/form/fields/auto/hostEditorValue.d.ts.map +1 -0
  232. package/dist/components/form/fields/auto/hostEditorValue.js +53 -0
  233. package/dist/components/form/fields/auto/hostEditorValue.js.map +1 -0
  234. package/dist/components/form/fields/binary/Binary.d.ts.map +1 -1
  235. package/dist/components/form/fields/binary/Binary.js +23 -3
  236. package/dist/components/form/fields/binary/Binary.js.map +1 -1
  237. package/dist/components/form/fields/boolean/Boolean.d.ts +5 -0
  238. package/dist/components/form/fields/boolean/Boolean.d.ts.map +1 -1
  239. package/dist/components/form/fields/boolean/Boolean.js +9 -1
  240. package/dist/components/form/fields/boolean/Boolean.js.map +1 -1
  241. package/dist/components/form/fields/color/Color.d.ts +103 -16
  242. package/dist/components/form/fields/color/Color.d.ts.map +1 -1
  243. package/dist/components/form/fields/color/Color.js +616 -16
  244. package/dist/components/form/fields/color/Color.js.map +1 -1
  245. package/dist/components/form/fields/emittedValues.d.ts +34 -3
  246. package/dist/components/form/fields/emittedValues.d.ts.map +1 -1
  247. package/dist/components/form/fields/emittedValues.js +24 -1
  248. package/dist/components/form/fields/emittedValues.js.map +1 -1
  249. package/dist/components/form/fields/file/File.d.ts +1 -1
  250. package/dist/components/form/fields/file/File.d.ts.map +1 -1
  251. package/dist/components/form/fields/file/File.js +4 -2
  252. package/dist/components/form/fields/file/File.js.map +1 -1
  253. package/dist/components/form/fields/long-string/LongString.d.ts +1 -7
  254. package/dist/components/form/fields/long-string/LongString.d.ts.map +1 -1
  255. package/dist/components/form/fields/long-string/LongString.js +30 -13
  256. package/dist/components/form/fields/long-string/LongString.js.map +1 -1
  257. package/dist/components/form/fields/markdown/MarkdownView.js +1 -1
  258. package/dist/components/form/fields/multi-select/MultiSelectFormField.d.ts.map +1 -1
  259. package/dist/components/form/fields/multi-select/MultiSelectFormField.js +10 -7
  260. package/dist/components/form/fields/multi-select/MultiSelectFormField.js.map +1 -1
  261. package/dist/components/form/fields/number/Number.d.ts +7 -4
  262. package/dist/components/form/fields/number/Number.d.ts.map +1 -1
  263. package/dist/components/form/fields/number/Number.js +45 -18
  264. package/dist/components/form/fields/number/Number.js.map +1 -1
  265. package/dist/components/form/fields/object/Object.d.ts +1 -1
  266. package/dist/components/form/fields/object/Object.d.ts.map +1 -1
  267. package/dist/components/form/fields/object/Object.js +4 -2
  268. package/dist/components/form/fields/object/Object.js.map +1 -1
  269. package/dist/components/form/fields/pendingEdit.d.ts +52 -0
  270. package/dist/components/form/fields/pendingEdit.d.ts.map +1 -0
  271. package/dist/components/form/fields/pendingEdit.js +79 -0
  272. package/dist/components/form/fields/pendingEdit.js.map +1 -0
  273. package/dist/components/form/fields/radio-group/RadioGroup.d.ts.map +1 -1
  274. package/dist/components/form/fields/radio-group/RadioGroup.js +8 -13
  275. package/dist/components/form/fields/radio-group/RadioGroup.js.map +1 -1
  276. package/dist/components/form/fields/rich-text/RichText.d.ts +20 -1
  277. package/dist/components/form/fields/rich-text/RichText.d.ts.map +1 -1
  278. package/dist/components/form/fields/rich-text/RichText.js +426 -91
  279. package/dist/components/form/fields/rich-text/RichText.js.map +1 -1
  280. package/dist/components/form/fields/rich-text/useTemplateTags.d.ts +18 -0
  281. package/dist/components/form/fields/rich-text/useTemplateTags.d.ts.map +1 -0
  282. package/dist/components/form/fields/rich-text/useTemplateTags.js +80 -0
  283. package/dist/components/form/fields/rich-text/useTemplateTags.js.map +1 -0
  284. package/dist/components/form/fields/schema-definition/CatalogLeafForm.d.ts.map +1 -1
  285. package/dist/components/form/fields/schema-definition/CatalogLeafForm.js +4 -1
  286. package/dist/components/form/fields/schema-definition/CatalogLeafForm.js.map +1 -1
  287. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.d.ts.map +1 -1
  288. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js +20 -5
  289. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js.map +1 -1
  290. package/dist/components/form/fields/schema-definition/TableEditor.d.ts.map +1 -1
  291. package/dist/components/form/fields/schema-definition/TableEditor.js +10 -2
  292. package/dist/components/form/fields/schema-definition/TableEditor.js.map +1 -1
  293. package/dist/components/form/fields/schema-definition/index.d.ts.map +1 -1
  294. package/dist/components/form/fields/schema-definition/index.js +8 -4
  295. package/dist/components/form/fields/schema-definition/index.js.map +1 -1
  296. package/dist/components/form/fields/select/Select.d.ts +10 -1
  297. package/dist/components/form/fields/select/Select.d.ts.map +1 -1
  298. package/dist/components/form/fields/select/Select.js +28 -14
  299. package/dist/components/form/fields/select/Select.js.map +1 -1
  300. package/dist/components/form/fields/select/SelectCollection.d.ts +5 -0
  301. package/dist/components/form/fields/select/SelectCollection.d.ts.map +1 -1
  302. package/dist/components/form/fields/select/SelectCollection.js +25 -12
  303. package/dist/components/form/fields/select/SelectCollection.js.map +1 -1
  304. package/dist/components/form/fields/select/unavailableRow.d.ts +23 -0
  305. package/dist/components/form/fields/select/unavailableRow.d.ts.map +1 -0
  306. package/dist/components/form/fields/select/unavailableRow.js +55 -0
  307. package/dist/components/form/fields/select/unavailableRow.js.map +1 -0
  308. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts +11 -5
  309. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts.map +1 -1
  310. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js +21 -5
  311. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js.map +1 -1
  312. package/dist/components/form/fields/template/TemplateBrowser.d.ts +16 -0
  313. package/dist/components/form/fields/template/TemplateBrowser.d.ts.map +1 -0
  314. package/dist/components/form/fields/template/TemplateBrowser.js +89 -0
  315. package/dist/components/form/fields/template/TemplateBrowser.js.map +1 -0
  316. package/dist/components/form/fields/template/TemplateField.d.ts +105 -1
  317. package/dist/components/form/fields/template/TemplateField.d.ts.map +1 -1
  318. package/dist/components/form/fields/template/TemplateField.js +706 -168
  319. package/dist/components/form/fields/template/TemplateField.js.map +1 -1
  320. package/dist/components/form/fields/template/TemplatePicker.d.ts +54 -0
  321. package/dist/components/form/fields/template/TemplatePicker.d.ts.map +1 -0
  322. package/dist/components/form/fields/template/TemplatePicker.js +459 -0
  323. package/dist/components/form/fields/template/TemplatePicker.js.map +1 -0
  324. package/dist/components/form/fields/template/TemplateText.d.ts +0 -17
  325. package/dist/components/form/fields/template/TemplateText.d.ts.map +1 -1
  326. package/dist/components/form/fields/template/TemplateText.js +22 -16
  327. package/dist/components/form/fields/template/TemplateText.js.map +1 -1
  328. package/dist/components/form/fields/template/referenceNames.d.ts +63 -0
  329. package/dist/components/form/fields/template/referenceNames.d.ts.map +1 -0
  330. package/dist/components/form/fields/template/referenceNames.js +69 -0
  331. package/dist/components/form/fields/template/referenceNames.js.map +1 -0
  332. package/dist/components/form/fields/template/writtenAsText.d.ts +61 -0
  333. package/dist/components/form/fields/template/writtenAsText.d.ts.map +1 -0
  334. package/dist/components/form/fields/template/writtenAsText.js +204 -0
  335. package/dist/components/form/fields/template/writtenAsText.js.map +1 -0
  336. package/dist/components/form/index.d.ts +12 -2
  337. package/dist/components/form/index.d.ts.map +1 -1
  338. package/dist/components/form/index.js +25 -3
  339. package/dist/components/form/index.js.map +1 -1
  340. package/dist/components/form/typeSentenceForm.d.ts +17 -0
  341. package/dist/components/form/typeSentenceForm.d.ts.map +1 -0
  342. package/dist/components/form/typeSentenceForm.js +54 -0
  343. package/dist/components/form/typeSentenceForm.js.map +1 -0
  344. package/dist/components/imageLightbox/ImageLightbox.d.ts.map +1 -1
  345. package/dist/components/imageLightbox/ImageLightbox.js +19 -9
  346. package/dist/components/imageLightbox/ImageLightbox.js.map +1 -1
  347. package/dist/components/log/Log.d.ts.map +1 -1
  348. package/dist/components/log/Log.js +20 -8
  349. package/dist/components/log/Log.js.map +1 -1
  350. package/dist/components/menu/Menu.d.ts.map +1 -1
  351. package/dist/components/menu/Menu.js +19 -10
  352. package/dist/components/menu/Menu.js.map +1 -1
  353. package/dist/components/smartEditor/CompletionMenu.d.ts +53 -0
  354. package/dist/components/smartEditor/CompletionMenu.d.ts.map +1 -0
  355. package/dist/components/smartEditor/CompletionMenu.js +302 -0
  356. package/dist/components/smartEditor/CompletionMenu.js.map +1 -0
  357. package/dist/components/smartEditor/MarkdownDoc.d.ts +1 -1
  358. package/dist/components/smartEditor/MarkdownDoc.js +3 -3
  359. package/dist/components/smartEditor/MarkdownDoc.js.map +1 -1
  360. package/dist/components/smartEditor/SmartEditor.d.ts.map +1 -1
  361. package/dist/components/smartEditor/SmartEditor.js +616 -190
  362. package/dist/components/smartEditor/SmartEditor.js.map +1 -1
  363. package/dist/components/smartEditor/completionStyle.d.ts +28 -0
  364. package/dist/components/smartEditor/completionStyle.d.ts.map +1 -0
  365. package/dist/components/smartEditor/completionStyle.js +79 -0
  366. package/dist/components/smartEditor/completionStyle.js.map +1 -0
  367. package/dist/components/smartEditor/contextTitle.d.ts +10 -0
  368. package/dist/components/smartEditor/contextTitle.d.ts.map +1 -0
  369. package/dist/components/smartEditor/contextTitle.js +21 -0
  370. package/dist/components/smartEditor/contextTitle.js.map +1 -0
  371. package/dist/components/smartEditor/editingAids.d.ts +64 -0
  372. package/dist/components/smartEditor/editingAids.d.ts.map +1 -0
  373. package/dist/components/smartEditor/editingAids.js +213 -0
  374. package/dist/components/smartEditor/editingAids.js.map +1 -0
  375. package/dist/components/smartEditor/index.d.ts +6 -1
  376. package/dist/components/smartEditor/index.d.ts.map +1 -1
  377. package/dist/components/smartEditor/index.js +19 -1
  378. package/dist/components/smartEditor/index.js.map +1 -1
  379. package/dist/components/smartEditor/templateCompletions.d.ts +98 -0
  380. package/dist/components/smartEditor/templateCompletions.d.ts.map +1 -0
  381. package/dist/components/smartEditor/templateCompletions.js +380 -0
  382. package/dist/components/smartEditor/templateCompletions.js.map +1 -0
  383. package/dist/components/smartEditor/typedReferences.d.ts +34 -0
  384. package/dist/components/smartEditor/typedReferences.d.ts.map +1 -0
  385. package/dist/components/smartEditor/typedReferences.js +179 -0
  386. package/dist/components/smartEditor/typedReferences.js.map +1 -0
  387. package/dist/components/smartEditor/types.d.ts +116 -2
  388. package/dist/components/smartEditor/types.d.ts.map +1 -1
  389. package/dist/components/smartEditor/useEditingAids.d.ts +38 -0
  390. package/dist/components/smartEditor/useEditingAids.d.ts.map +1 -0
  391. package/dist/components/smartEditor/useEditingAids.js +392 -0
  392. package/dist/components/smartEditor/useEditingAids.js.map +1 -0
  393. package/dist/components/smartEditor/useLspAutocomplete.d.ts +106 -3
  394. package/dist/components/smartEditor/useLspAutocomplete.d.ts.map +1 -1
  395. package/dist/components/smartEditor/useLspAutocomplete.js +592 -149
  396. package/dist/components/smartEditor/useLspAutocomplete.js.map +1 -1
  397. package/dist/components/smartEditor/useLspHover.d.ts +33 -7
  398. package/dist/components/smartEditor/useLspHover.d.ts.map +1 -1
  399. package/dist/components/smartEditor/useLspHover.js +364 -35
  400. package/dist/components/smartEditor/useLspHover.js.map +1 -1
  401. package/dist/components/smartEditor/useLspSemanticTokens.js +1 -1
  402. package/dist/components/smartEditor/useLspSemanticTokens.js.map +1 -1
  403. package/dist/components/smartEditor/useLspSession.d.ts +6 -0
  404. package/dist/components/smartEditor/useLspSession.d.ts.map +1 -1
  405. package/dist/components/smartEditor/useLspSession.js +7 -6
  406. package/dist/components/smartEditor/useLspSession.js.map +1 -1
  407. package/dist/components/smartEditor/useLspSignatureHelp.d.ts.map +1 -1
  408. package/dist/components/smartEditor/useLspSignatureHelp.js +6 -11
  409. package/dist/components/smartEditor/useLspSignatureHelp.js.map +1 -1
  410. package/dist/components/smartEditor/useTabCameIn.d.ts +10 -0
  411. package/dist/components/smartEditor/useTabCameIn.d.ts.map +1 -0
  412. package/dist/components/smartEditor/useTabCameIn.js +42 -0
  413. package/dist/components/smartEditor/useTabCameIn.js.map +1 -0
  414. package/dist/components/supportTicket/AttachmentChips.d.ts.map +1 -1
  415. package/dist/components/supportTicket/AttachmentChips.js +15 -5
  416. package/dist/components/supportTicket/AttachmentChips.js.map +1 -1
  417. package/dist/components/supportTicket/InterfaceReferenceTags.d.ts +2 -3
  418. package/dist/components/supportTicket/InterfaceReferenceTags.d.ts.map +1 -1
  419. package/dist/components/supportTicket/InterfaceReferenceTags.js.map +1 -1
  420. package/dist/components/supportTicket/ReferencePicker.d.ts +9 -3
  421. package/dist/components/supportTicket/ReferencePicker.d.ts.map +1 -1
  422. package/dist/components/supportTicket/ReferencePicker.js +38 -23
  423. package/dist/components/supportTicket/ReferencePicker.js.map +1 -1
  424. package/dist/components/supportTicket/TicketHeader.d.ts +3 -4
  425. package/dist/components/supportTicket/TicketHeader.d.ts.map +1 -1
  426. package/dist/components/supportTicket/TicketHeader.js +21 -6
  427. package/dist/components/supportTicket/TicketHeader.js.map +1 -1
  428. package/dist/components/supportTicket/TicketMetaTags.d.ts +1 -1
  429. package/dist/components/supportTicket/TicketReplyBox.d.ts.map +1 -1
  430. package/dist/components/supportTicket/TicketReplyBox.js +10 -29
  431. package/dist/components/supportTicket/TicketReplyBox.js.map +1 -1
  432. package/dist/components/supportTicket/useLoadedImages.d.ts +0 -10
  433. package/dist/components/supportTicket/useLoadedImages.d.ts.map +1 -1
  434. package/dist/components/supportTicket/useLoadedImages.js +1 -63
  435. package/dist/components/supportTicket/useLoadedImages.js.map +1 -1
  436. package/dist/components/ticketReferences/TicketReferences.d.ts.map +1 -1
  437. package/dist/components/ticketReferences/TicketReferences.js +10 -9
  438. package/dist/components/ticketReferences/TicketReferences.js.map +1 -1
  439. package/dist/components/ticketThread/TicketThread.d.ts.map +1 -1
  440. package/dist/components/ticketThread/TicketThread.js +52 -21
  441. package/dist/components/ticketThread/TicketThread.js.map +1 -1
  442. package/dist/helpers/allowedValues.d.ts +21 -12
  443. package/dist/helpers/allowedValues.d.ts.map +1 -1
  444. package/dist/helpers/allowedValues.js +40 -20
  445. package/dist/helpers/allowedValues.js.map +1 -1
  446. package/dist/helpers/descriptionTooltip.d.ts +46 -0
  447. package/dist/helpers/descriptionTooltip.d.ts.map +1 -0
  448. package/dist/helpers/descriptionTooltip.js +76 -0
  449. package/dist/helpers/descriptionTooltip.js.map +1 -0
  450. package/dist/helpers/domProps.d.ts +5 -0
  451. package/dist/helpers/domProps.d.ts.map +1 -0
  452. package/dist/helpers/domProps.js +47 -0
  453. package/dist/helpers/domProps.js.map +1 -0
  454. package/dist/helpers/expressions.d.ts +115 -4
  455. package/dist/helpers/expressions.d.ts.map +1 -1
  456. package/dist/helpers/expressions.js +247 -29
  457. package/dist/helpers/expressions.js.map +1 -1
  458. package/dist/helpers/hoveringPointer.d.ts +26 -0
  459. package/dist/helpers/hoveringPointer.d.ts.map +1 -0
  460. package/dist/helpers/hoveringPointer.js +29 -0
  461. package/dist/helpers/hoveringPointer.js.map +1 -0
  462. package/dist/helpers/markdownText.d.ts +14 -0
  463. package/dist/helpers/markdownText.d.ts.map +1 -0
  464. package/dist/helpers/markdownText.js +160 -0
  465. package/dist/helpers/markdownText.js.map +1 -0
  466. package/dist/helpers/noDescription.d.ts +9 -0
  467. package/dist/helpers/noDescription.d.ts.map +1 -0
  468. package/dist/helpers/noDescription.js +13 -0
  469. package/dist/helpers/noDescription.js.map +1 -0
  470. package/dist/helpers/optionUiTypes.d.ts +2 -2
  471. package/dist/helpers/qorusTypeCatalogue.d.ts +147 -0
  472. package/dist/helpers/qorusTypeCatalogue.d.ts.map +1 -0
  473. package/dist/helpers/qorusTypeCatalogue.js +505 -0
  474. package/dist/helpers/qorusTypeCatalogue.js.map +1 -0
  475. package/dist/helpers/readableColors.d.ts +36 -0
  476. package/dist/helpers/readableColors.d.ts.map +1 -0
  477. package/dist/helpers/readableColors.js +116 -0
  478. package/dist/helpers/readableColors.js.map +1 -0
  479. package/dist/helpers/recordFieldReference.d.ts +15 -0
  480. package/dist/helpers/recordFieldReference.d.ts.map +1 -0
  481. package/dist/helpers/recordFieldReference.js +89 -0
  482. package/dist/helpers/recordFieldReference.js.map +1 -0
  483. package/dist/helpers/singleLineString.d.ts.map +1 -1
  484. package/dist/helpers/singleLineString.js +0 -1
  485. package/dist/helpers/singleLineString.js.map +1 -1
  486. package/dist/helpers/templateCatalogue.d.ts +104 -0
  487. package/dist/helpers/templateCatalogue.d.ts.map +1 -0
  488. package/dist/helpers/templateCatalogue.js +116 -0
  489. package/dist/helpers/templateCatalogue.js.map +1 -0
  490. package/dist/helpers/templateCatalogueContext.d.ts +19 -0
  491. package/dist/helpers/templateCatalogueContext.d.ts.map +1 -0
  492. package/dist/helpers/templateCatalogueContext.js +31 -0
  493. package/dist/helpers/templateCatalogueContext.js.map +1 -0
  494. package/dist/helpers/templateItems.d.ts +2 -2
  495. package/dist/helpers/templateItems.d.ts.map +1 -1
  496. package/dist/helpers/templateItems.js +6 -4
  497. package/dist/helpers/templateItems.js.map +1 -1
  498. package/dist/helpers/templateText.d.ts +1 -0
  499. package/dist/helpers/templateText.d.ts.map +1 -1
  500. package/dist/helpers/templateText.js +7 -3
  501. package/dist/helpers/templateText.js.map +1 -1
  502. package/dist/helpers/templateTree.d.ts +248 -0
  503. package/dist/helpers/templateTree.d.ts.map +1 -0
  504. package/dist/helpers/templateTree.js +892 -0
  505. package/dist/helpers/templateTree.js.map +1 -0
  506. package/dist/helpers/templateType.d.ts +28 -0
  507. package/dist/helpers/templateType.d.ts.map +1 -0
  508. package/dist/helpers/templateType.js +30 -0
  509. package/dist/helpers/templateType.js.map +1 -0
  510. package/dist/helpers/templates.d.ts +86 -16
  511. package/dist/helpers/templates.d.ts.map +1 -1
  512. package/dist/helpers/templates.js +305 -45
  513. package/dist/helpers/templates.js.map +1 -1
  514. package/dist/helpers/validations.d.ts +27 -0
  515. package/dist/helpers/validations.d.ts.map +1 -1
  516. package/dist/helpers/validations.js +169 -39
  517. package/dist/helpers/validations.js.map +1 -1
  518. package/dist/helpers/webLink.d.ts +8 -0
  519. package/dist/helpers/webLink.d.ts.map +1 -0
  520. package/dist/helpers/webLink.js +29 -0
  521. package/dist/helpers/webLink.js.map +1 -0
  522. package/dist/hooks/useQorusTypes.d.ts +12 -17
  523. package/dist/hooks/useQorusTypes.d.ts.map +1 -1
  524. package/dist/hooks/useQorusTypes.js +44 -172
  525. package/dist/hooks/useQorusTypes.js.map +1 -1
  526. package/dist/hooks/useReadableIntentShade.d.ts +9 -0
  527. package/dist/hooks/useReadableIntentShade.d.ts.map +1 -0
  528. package/dist/hooks/useReadableIntentShade.js +23 -0
  529. package/dist/hooks/useReadableIntentShade.js.map +1 -0
  530. package/dist/hooks/useReadableOpacity.d.ts +6 -0
  531. package/dist/hooks/useReadableOpacity.d.ts.map +1 -0
  532. package/dist/hooks/useReadableOpacity.js +17 -0
  533. package/dist/hooks/useReadableOpacity.js.map +1 -0
  534. package/dist/index.d.ts +8 -0
  535. package/dist/index.d.ts.map +1 -1
  536. package/dist/index.js +24 -1
  537. package/dist/index.js.map +1 -1
  538. package/dist/tracking/ui/ExperimentCard.d.ts +1 -1
  539. package/dist/tracking/ui/ExperimentCard.d.ts.map +1 -1
  540. package/dist/tracking/ui/ExperimentCard.js +26 -10
  541. package/dist/tracking/ui/ExperimentCard.js.map +1 -1
  542. package/dist/tracking/ui/card.d.ts +2 -2
  543. package/dist/tracking/ui/card.d.ts.map +1 -1
  544. package/dist/tracking/ui/card.js +2 -2
  545. package/dist/tracking/ui/card.js.map +1 -1
  546. package/dist/tracking/ui/readable.d.ts +14 -0
  547. package/dist/tracking/ui/readable.d.ts.map +1 -0
  548. package/dist/tracking/ui/readable.js +60 -0
  549. package/dist/tracking/ui/readable.js.map +1 -0
  550. package/dist/utils/fetch.d.ts +9 -2
  551. package/dist/utils/fetch.d.ts.map +1 -1
  552. package/dist/utils/fetch.js +6 -5
  553. package/dist/utils/fetch.js.map +1 -1
  554. package/dist/utils/lspClient.types.d.ts +2 -0
  555. package/dist/utils/lspClient.types.d.ts.map +1 -1
  556. package/dist/utils/websocket.d.ts +65 -2
  557. package/dist/utils/websocket.d.ts.map +1 -1
  558. package/dist/utils/websocket.js +276 -44
  559. package/dist/utils/websocket.js.map +1 -1
  560. package/package.json +14 -6
  561. package/.claude/CLAUDE.md +0 -317
  562. package/.tasks/EXPORT_EXPRESSION_BUILDER.md +0 -38
  563. package/.tasks/EXPRESSION_BUILDER_REPORT.md +0 -149
  564. package/.tasks/EXPRESSION_FIELD_SEAMS.md +0 -66
  565. package/.tasks/FIELD_STACK_REPORT.md +0 -234
  566. package/.tasks/FORM_ENGINE_COMPACT_READ_FIRST.md +0 -558
  567. package/.tasks/FORM_ENGINE_EXPRESSIONS.md +0 -197
  568. package/.tasks/FORM_ENGINE_OPTIONS_SYNC.md +0 -95
  569. package/.tasks/FORM_FIELD_EXTRAS.md +0 -72
  570. package/.tasks/INDEX.md +0 -111
  571. package/.tasks/LSP_SHARED_CONNECTION.md +0 -75
  572. package/.tasks/QONSOLE_ASSIST_FEATURES.md +0 -306
  573. package/.tasks/RENDER_EXPRESSION_LSP.md +0 -159
  574. package/.tasks/REQRAFT_AUTO_FIELD.md +0 -176
  575. package/.tasks/SCHEMA_DEFINITION_FIELD.md +0 -250
  576. package/.tasks/SMART_EDITOR_CONTEXT_AND_POLISH.md +0 -340
  577. package/.tasks/SMART_EDITOR_LSP_FEATURES.md +0 -299
  578. package/.tasks/SMART_EDITOR_REVIEW_FOLLOWUPS.md +0 -280
  579. package/.tasks/SMART_EDITOR_UX_POLISH.md +0 -383
  580. package/.tasks/SMART_EDITOR_VISUAL_POLISH.md +0 -246
  581. package/.tasks/STORY_NETWORK_ISOLATION.md +0 -98
  582. package/.tasks/TEMPLATE_TOKEN_GRAMMAR.md +0 -72
  583. package/CODE_OF_CONDUCT.md +0 -105
  584. package/CONTRIBUTING.MD +0 -78
  585. package/SECURITY.md +0 -3
  586. package/chromatic.config.json +0 -5
  587. package/design/COMPACT_ENGINE_REDESIGN.md +0 -156
  588. package/design/COMPACT_INFO_DISPLAY.md +0 -87
  589. package/design/COMPACT_PARITY.md +0 -85
  590. package/design/EXPRESSION_BUILDER_REPORT_STRATEGY.md +0 -92
  591. package/design/FORM_ENGINE_COMPACT.md +0 -300
  592. package/design/FORM_ENGINE_COMPACT_UX_PLAN.md +0 -353
  593. package/design/FORM_ENGINE_EXPRESSIONS.md +0 -257
  594. package/design/FORM_ENGINE_FIELD_MIGRATION.md +0 -419
  595. package/design/IDE_INTEGRATION.md +0 -64
  596. package/design/RENDER_EXPRESSION_TRANSPORT.md +0 -156
  597. package/design/SELECT_DIALOG_FLOOR.md +0 -86
  598. package/design/SMART_EDITOR_UX.md +0 -438
  599. package/design/TRACKING.md +0 -290
  600. package/design/UNAVAILABLE_ALLOWED_VALUES.md +0 -226
  601. package/dist/components/form/engine/formAppearance.d.ts +0 -49
  602. package/dist/components/form/engine/formAppearance.d.ts.map +0 -1
  603. package/dist/components/form/engine/formAppearance.js +0 -50
  604. package/dist/components/form/engine/formAppearance.js.map +0 -1
  605. package/dist/components/form/fields/ChoiceGroupHeading.d.ts +0 -21
  606. package/dist/components/form/fields/ChoiceGroupHeading.d.ts.map +0 -1
  607. package/dist/components/form/fields/ChoiceGroupHeading.js +0 -33
  608. package/dist/components/form/fields/ChoiceGroupHeading.js.map +0 -1
  609. package/dist/components/form/fields/allowed-values/savedValues.d.ts +0 -30
  610. package/dist/components/form/fields/allowed-values/savedValues.d.ts.map +0 -1
  611. package/dist/components/form/fields/allowed-values/savedValues.js +0 -39
  612. package/dist/components/form/fields/allowed-values/savedValues.js.map +0 -1
  613. package/dist/helpers/fieldDescription.d.ts +0 -16
  614. package/dist/helpers/fieldDescription.d.ts.map +0 -1
  615. package/dist/helpers/fieldDescription.js +0 -40
  616. package/dist/helpers/fieldDescription.js.map +0 -1
  617. package/src/components/Description/index.tsx +0 -254
  618. package/src/components/Description/markdownRendererContext.tsx +0 -29
  619. package/src/components/FocusedEditing/index.tsx +0 -50
  620. package/src/components/codeSize/index.tsx +0 -79
  621. package/src/components/composer/Composer.stories.tsx +0 -238
  622. package/src/components/composer/Composer.tsx +0 -554
  623. package/src/components/composer/helpers.ts +0 -74
  624. package/src/components/composer/index.ts +0 -2
  625. package/src/components/dpqlEditor/DpqlEditor.stories.tsx +0 -1183
  626. package/src/components/dpqlEditor/DpqlEditor.tsx +0 -219
  627. package/src/components/dpqlEditor/dpqlHelpers.ts +0 -287
  628. package/src/components/dpqlEditor/dpqlInserter.ts +0 -121
  629. package/src/components/dpqlEditor/dpqlProbe.ts +0 -165
  630. package/src/components/dpqlEditor/dpqlTags.ts +0 -114
  631. package/src/components/dpqlEditor/index.ts +0 -41
  632. package/src/components/dpqlEditor/types.ts +0 -203
  633. package/src/components/dpqlEditor/useDpqlProbe.ts +0 -33
  634. package/src/components/dpqlEditor/useDpqlSession.ts +0 -411
  635. package/src/components/form/engine/CompactRow.tsx +0 -2740
  636. package/src/components/form/engine/CompactToolbar.tsx +0 -399
  637. package/src/components/form/engine/FormEngine.stories.tsx +0 -9934
  638. package/src/components/form/engine/FormEngine.tsx +0 -4891
  639. package/src/components/form/engine/FormEngineAppearance.stories.tsx +0 -609
  640. package/src/components/form/engine/FormEngineRemote.stories.tsx +0 -679
  641. package/src/components/form/engine/FormEngineStickyHeaders.stories.tsx +0 -335
  642. package/src/components/form/engine/FormFieldsSkeleton.tsx +0 -82
  643. package/src/components/form/engine/OptionFieldMessages.tsx +0 -548
  644. package/src/components/form/engine/OptionsHelpDialog.tsx +0 -29
  645. package/src/components/form/engine/__fixtures__/basicFormOptions.ts +0 -309
  646. package/src/components/form/engine/__fixtures__/fieldChromeOptions.ts +0 -45
  647. package/src/components/form/engine/_structuredData/SchemaDataView.stories.tsx +0 -233
  648. package/src/components/form/engine/_structuredData/SchemaDataView.tsx +0 -755
  649. package/src/components/form/engine/_structuredData/StructuredDataView.stories.tsx +0 -85
  650. package/src/components/form/engine/_structuredData/StructuredDataView.tsx +0 -75
  651. package/src/components/form/engine/_structuredData/structuredData.ts +0 -145
  652. package/src/components/form/engine/compactRowContext.ts +0 -153
  653. package/src/components/form/engine/compactRowStyles.ts +0 -1087
  654. package/src/components/form/engine/compactToolbarContext.ts +0 -72
  655. package/src/components/form/engine/formAppearance.ts +0 -79
  656. package/src/components/form/engine/optionActions.ts +0 -128
  657. package/src/components/form/engine/optionsContext.ts +0 -24
  658. package/src/components/form/engine/readFirst.ts +0 -1090
  659. package/src/components/form/engine/rendererTypes.ts +0 -107
  660. package/src/components/form/engine/revealRow.ts +0 -123
  661. package/src/components/form/engine/rowFocus.ts +0 -112
  662. package/src/components/form/engine/rowMenuContext.ts +0 -159
  663. package/src/components/form/engine/rowOpenPicker.ts +0 -27
  664. package/src/components/form/engine/typeChoices.ts +0 -63
  665. package/src/components/form/engine/variants/FormEngineVariants.stories.tsx +0 -159
  666. package/src/components/form/engine/variants/VariantCalmTable.tsx +0 -244
  667. package/src/components/form/engine/variants/VariantCards.tsx +0 -212
  668. package/src/components/form/engine/variants/VariantFocus.tsx +0 -382
  669. package/src/components/form/engine/variants/VariantMinimal.tsx +0 -170
  670. package/src/components/form/engine/variants/focusDemo.ts +0 -145
  671. package/src/components/form/engine/variants/variantModel.ts +0 -223
  672. package/src/components/form/engine/variants/variantParts.tsx +0 -313
  673. package/src/components/form/expressions/DpqlRendering.tsx +0 -85
  674. package/src/components/form/expressions/ExpressionField.stories.tsx +0 -1395
  675. package/src/components/form/expressions/ExpressionField.tsx +0 -503
  676. package/src/components/form/expressions/argumentPresence.ts +0 -213
  677. package/src/components/form/expressions/builder/ExpressionBuilder.stories.tsx +0 -1683
  678. package/src/components/form/expressions/builder/argumentDetail.tsx +0 -17
  679. package/src/components/form/expressions/builder/argumentLabel.tsx +0 -146
  680. package/src/components/form/expressions/builder/argumentSlot.tsx +0 -101
  681. package/src/components/form/expressions/builder/argumentWrapper.tsx +0 -243
  682. package/src/components/form/expressions/builder/confirmMismatchedTypesModal.tsx +0 -120
  683. package/src/components/form/expressions/builder/confirmUnsupportedTypeModal.tsx +0 -69
  684. package/src/components/form/expressions/builder/index.tsx +0 -1545
  685. package/src/components/form/expressions/builder/item.tsx +0 -89
  686. package/src/components/form/expressions/builder/moveToPositionStrip.tsx +0 -156
  687. package/src/components/form/expressions/builder/renderTemplate.tsx +0 -42
  688. package/src/components/form/expressions/dpqlMockLanguage.ts +0 -566
  689. package/src/components/form/expressions/dpqlMockLsp.ts +0 -126
  690. package/src/components/form/expressions/mockExpressions.ts +0 -317
  691. package/src/components/form/expressions/renderExpressionToText.ts +0 -152
  692. package/src/components/form/expressions/types.ts +0 -110
  693. package/src/components/form/expressions/useExpressions.ts +0 -101
  694. package/src/components/form/expressions/useRenderExpression.ts +0 -165
  695. package/src/components/form/fields/ChoiceGroupHeading.tsx +0 -38
  696. package/src/components/form/fields/Field.stories.tsx +0 -143
  697. package/src/components/form/fields/Field.tsx +0 -734
  698. package/src/components/form/fields/allowed-values/AllowedValues.tsx +0 -321
  699. package/src/components/form/fields/allowed-values/savedValues.ts +0 -64
  700. package/src/components/form/fields/array/ArrayAuto.tsx +0 -237
  701. package/src/components/form/fields/array/ArrayAutoField.stories.tsx +0 -475
  702. package/src/components/form/fields/array/ArrayAutoField.tsx +0 -367
  703. package/src/components/form/fields/auto/AutoFormField.stories.tsx +0 -825
  704. package/src/components/form/fields/auto/AutoFormField.tsx +0 -1183
  705. package/src/components/form/fields/binary/Binary.stories.tsx +0 -122
  706. package/src/components/form/fields/binary/Binary.tsx +0 -91
  707. package/src/components/form/fields/boolean/Boolean.stories.tsx +0 -125
  708. package/src/components/form/fields/boolean/Boolean.tsx +0 -34
  709. package/src/components/form/fields/byte-size/ByteSize.stories.tsx +0 -87
  710. package/src/components/form/fields/byte-size/ByteSize.tsx +0 -58
  711. package/src/components/form/fields/color/Color.stories.tsx +0 -99
  712. package/src/components/form/fields/color/Color.tsx +0 -46
  713. package/src/components/form/fields/cron/Cron.stories.tsx +0 -68
  714. package/src/components/form/fields/cron/Cron.tsx +0 -80
  715. package/src/components/form/fields/date/Date.stories.tsx +0 -77
  716. package/src/components/form/fields/date/Date.tsx +0 -55
  717. package/src/components/form/fields/emittedValues.ts +0 -70
  718. package/src/components/form/fields/file/File.stories.tsx +0 -161
  719. package/src/components/form/fields/file/File.tsx +0 -227
  720. package/src/components/form/fields/long-string/LongString.stories.tsx +0 -147
  721. package/src/components/form/fields/long-string/LongString.tsx +0 -141
  722. package/src/components/form/fields/markdown/Markdown.stories.tsx +0 -76
  723. package/src/components/form/fields/markdown/Markdown.tsx +0 -81
  724. package/src/components/form/fields/markdown/MarkdownView.tsx +0 -222
  725. package/src/components/form/fields/multi-select/MultiSelectFormField.tsx +0 -140
  726. package/src/components/form/fields/number/Number.stories.tsx +0 -159
  727. package/src/components/form/fields/number/Number.tsx +0 -175
  728. package/src/components/form/fields/object/Object.stories.tsx +0 -398
  729. package/src/components/form/fields/object/Object.tsx +0 -255
  730. package/src/components/form/fields/radio-group/RadioGroup.stories.tsx +0 -95
  731. package/src/components/form/fields/radio-group/RadioGroup.tsx +0 -52
  732. package/src/components/form/fields/radio-group/images/java-96x128.png +0 -0
  733. package/src/components/form/fields/radio-group/images/python-129x128.png +0 -0
  734. package/src/components/form/fields/radio-group/images/qore-106x128.png +0 -0
  735. package/src/components/form/fields/rich-text/RichText.stories.tsx +0 -260
  736. package/src/components/form/fields/rich-text/RichText.tsx +0 -537
  737. package/src/components/form/fields/schema-definition/CatalogLeafForm.tsx +0 -242
  738. package/src/components/form/fields/schema-definition/CatalogNodeEditor.tsx +0 -758
  739. package/src/components/form/fields/schema-definition/Hint.tsx +0 -22
  740. package/src/components/form/fields/schema-definition/InlineValidationBanner.tsx +0 -138
  741. package/src/components/form/fields/schema-definition/Loader.tsx +0 -20
  742. package/src/components/form/fields/schema-definition/MigrationsTab.tsx +0 -187
  743. package/src/components/form/fields/schema-definition/SchemaDefinitionField.stories.tsx +0 -286
  744. package/src/components/form/fields/schema-definition/TableEditor.tsx +0 -155
  745. package/src/components/form/fields/schema-definition/TablesTab.tsx +0 -138
  746. package/src/components/form/fields/schema-definition/catalog.ts +0 -237
  747. package/src/components/form/fields/schema-definition/helpers.ts +0 -90
  748. package/src/components/form/fields/schema-definition/index.tsx +0 -418
  749. package/src/components/form/fields/schema-definition/mockCatalog.ts +0 -325
  750. package/src/components/form/fields/schema-definition/mockDefinition.ts +0 -111
  751. package/src/components/form/fields/schema-definition/referenceSuggestions.tsx +0 -152
  752. package/src/components/form/fields/schema-definition/starterTemplate.ts +0 -68
  753. package/src/components/form/fields/schema-definition/types.ts +0 -185
  754. package/src/components/form/fields/schema-definition/useSchemaOptionCatalog.ts +0 -49
  755. package/src/components/form/fields/select/Select.stories.tsx +0 -872
  756. package/src/components/form/fields/select/Select.tsx +0 -624
  757. package/src/components/form/fields/select/SelectCollection.tsx +0 -594
  758. package/src/components/form/fields/string/String.stories.tsx +0 -86
  759. package/src/components/form/fields/string/String.tsx +0 -43
  760. package/src/components/form/fields/template/ExampleValueModal.stories.tsx +0 -114
  761. package/src/components/form/fields/template/ExampleValueModal.tsx +0 -99
  762. package/src/components/form/fields/template/ReadOnlyTemplateTag.tsx +0 -47
  763. package/src/components/form/fields/template/TemplateField.stories.tsx +0 -1121
  764. package/src/components/form/fields/template/TemplateField.tsx +0 -1749
  765. package/src/components/form/fields/template/TemplateText.tsx +0 -115
  766. package/src/components/form/fields/template/__fixtures__/longExampleValue.ts +0 -7
  767. package/src/components/form/fields/template/__fixtures__/multiLevelTemplates.json +0 -147
  768. package/src/components/form/fields/template/__fixtures__/templates.json +0 -83
  769. package/src/components/form/fields/timeout/Timeout.stories.tsx +0 -228
  770. package/src/components/form/fields/timeout/Timeout.tsx +0 -87
  771. package/src/components/form/fields/url/Url.stories.tsx +0 -94
  772. package/src/components/form/fields/url/Url.tsx +0 -85
  773. package/src/components/form/index.tsx +0 -49
  774. package/src/components/imageLightbox/ImageLightbox.stories.tsx +0 -238
  775. package/src/components/imageLightbox/ImageLightbox.tsx +0 -238
  776. package/src/components/imageLightbox/index.ts +0 -1
  777. package/src/components/log/Log.stories.tsx +0 -333
  778. package/src/components/log/Log.tsx +0 -285
  779. package/src/components/menu/Menu.stories.tsx +0 -155
  780. package/src/components/menu/Menu.tsx +0 -312
  781. package/src/components/qonsoleSmartInput/QonsoleSmartInput.stories.tsx +0 -797
  782. package/src/components/qonsoleSmartInput/QonsoleSmartInput.tsx +0 -105
  783. package/src/components/qonsoleSmartInput/index.ts +0 -16
  784. package/src/components/qonsoleSmartInput/qonsoleInserter.ts +0 -77
  785. package/src/components/qonsoleSmartInput/types.ts +0 -133
  786. package/src/components/qonsoleSmartInput/useQonsoleSession.ts +0 -124
  787. package/src/components/searchFilterBar/SearchFilterBar.stories.tsx +0 -62
  788. package/src/components/searchFilterBar/SearchFilterBar.tsx +0 -144
  789. package/src/components/searchFilterBar/index.ts +0 -1
  790. package/src/components/smartEditor/MarkdownDoc.tsx +0 -190
  791. package/src/components/smartEditor/SmartEditor.stories.tsx +0 -475
  792. package/src/components/smartEditor/SmartEditor.tsx +0 -808
  793. package/src/components/smartEditor/__fixtures__/mockLspServer.ts +0 -205
  794. package/src/components/smartEditor/helpers.ts +0 -217
  795. package/src/components/smartEditor/index.ts +0 -35
  796. package/src/components/smartEditor/styling.ts +0 -45
  797. package/src/components/smartEditor/types.ts +0 -211
  798. package/src/components/smartEditor/useLspAutocomplete.ts +0 -758
  799. package/src/components/smartEditor/useLspDiagnosticDecorations.ts +0 -125
  800. package/src/components/smartEditor/useLspHover.ts +0 -230
  801. package/src/components/smartEditor/useLspSemanticTokens.ts +0 -298
  802. package/src/components/smartEditor/useLspSession.ts +0 -231
  803. package/src/components/smartEditor/useLspSignatureHelp.ts +0 -198
  804. package/src/components/supportTicket/AttachmentChips.stories.tsx +0 -171
  805. package/src/components/supportTicket/AttachmentChips.tsx +0 -147
  806. package/src/components/supportTicket/InterfaceReferenceTags.stories.tsx +0 -257
  807. package/src/components/supportTicket/InterfaceReferenceTags.tsx +0 -130
  808. package/src/components/supportTicket/ReferencePicker.stories.tsx +0 -580
  809. package/src/components/supportTicket/ReferencePicker.tsx +0 -573
  810. package/src/components/supportTicket/TicketConversation.stories.tsx +0 -120
  811. package/src/components/supportTicket/TicketHeader.stories.tsx +0 -183
  812. package/src/components/supportTicket/TicketHeader.tsx +0 -248
  813. package/src/components/supportTicket/TicketMetaTags.stories.tsx +0 -103
  814. package/src/components/supportTicket/TicketMetaTags.tsx +0 -85
  815. package/src/components/supportTicket/TicketReplyBox.stories.tsx +0 -357
  816. package/src/components/supportTicket/TicketReplyBox.tsx +0 -172
  817. package/src/components/supportTicket/__fixtures__/kindMarks.ts +0 -28
  818. package/src/components/supportTicket/attachmentAccess.ts +0 -97
  819. package/src/components/supportTicket/fileToAttachment.ts +0 -24
  820. package/src/components/supportTicket/index.ts +0 -10
  821. package/src/components/supportTicket/meta.ts +0 -206
  822. package/src/components/supportTicket/ticketModel.ts +0 -131
  823. package/src/components/supportTicket/useLoadedImages.ts +0 -93
  824. package/src/components/ticketReferences/TicketReferences.stories.tsx +0 -341
  825. package/src/components/ticketReferences/TicketReferences.tsx +0 -914
  826. package/src/components/ticketReferences/index.ts +0 -2
  827. package/src/components/ticketThread/TicketThread.stories.tsx +0 -898
  828. package/src/components/ticketThread/TicketThread.tsx +0 -706
  829. package/src/components/ticketThread/index.ts +0 -6
  830. package/src/contexts/FetchContext.tsx +0 -25
  831. package/src/contexts/ReqraftContext.tsx +0 -9
  832. package/src/contexts/StorageContext.tsx +0 -33
  833. package/src/global.d.ts +0 -4
  834. package/src/helpers/allowedValues.ts +0 -268
  835. package/src/helpers/choiceChip.ts +0 -227
  836. package/src/helpers/common.ts +0 -326
  837. package/src/helpers/dpqlDetection.ts +0 -209
  838. package/src/helpers/expressions.ts +0 -140
  839. package/src/helpers/fieldDescription.ts +0 -39
  840. package/src/helpers/optionUiTypes.ts +0 -199
  841. package/src/helpers/options.ts +0 -150
  842. package/src/helpers/providerValue.ts +0 -125
  843. package/src/helpers/scrollbar.ts +0 -32
  844. package/src/helpers/singleLineString.ts +0 -62
  845. package/src/helpers/templateItems.ts +0 -81
  846. package/src/helpers/templateText.ts +0 -350
  847. package/src/helpers/templates.ts +0 -602
  848. package/src/helpers/validations.ts +0 -2085
  849. package/src/hooks/useArgSchema.ts +0 -37
  850. package/src/hooks/useCoarsePointer.ts +0 -30
  851. package/src/hooks/useFetch/useFetch.stories.tsx +0 -379
  852. package/src/hooks/useFetch/useFetch.tsx +0 -154
  853. package/src/hooks/usePhoneViewport.ts +0 -34
  854. package/src/hooks/useQorusTypes.ts +0 -233
  855. package/src/hooks/useReqraftProperty.ts +0 -16
  856. package/src/hooks/useStorage/useStorage.stories.tsx +0 -168
  857. package/src/hooks/useStorage/useStorage.ts +0 -35
  858. package/src/hooks/useTemplates.ts +0 -123
  859. package/src/hooks/useValidation.ts +0 -9
  860. package/src/hooks/useWebSocket/useWebSocket.ts +0 -224
  861. package/src/hooks/useWebSocket/useWebsocket.stories.tsx +0 -640
  862. package/src/hooks/useWhyDidYouUpdate.ts +0 -38
  863. package/src/index.tsx +0 -86
  864. package/src/providers/FetchProvider.tsx +0 -40
  865. package/src/providers/ReqraftProvider.tsx +0 -52
  866. package/src/providers/StorageProvider.tsx +0 -131
  867. package/src/stores/currentUser/currentUser.stories.tsx +0 -100
  868. package/src/stores/currentUser/currentUser.tsx +0 -94
  869. package/src/stories/Data/fileFieldArgSchema.json +0 -86
  870. package/src/stories/Tests/utils.ts +0 -320
  871. package/src/stories/storyNetwork.ts +0 -92
  872. package/src/stories/tracking.tsx +0 -206
  873. package/src/tracking/browser/attach.ts +0 -186
  874. package/src/tracking/browser/env.ts +0 -78
  875. package/src/tracking/core/consent.ts +0 -37
  876. package/src/tracking/core/engagement.ts +0 -47
  877. package/src/tracking/core/experiments.ts +0 -258
  878. package/src/tracking/core/hash.ts +0 -26
  879. package/src/tracking/core/ids.ts +0 -25
  880. package/src/tracking/core/observable.ts +0 -23
  881. package/src/tracking/core/queue.ts +0 -131
  882. package/src/tracking/core/sections.ts +0 -166
  883. package/src/tracking/core/storage.ts +0 -69
  884. package/src/tracking/core/tracker.ts +0 -417
  885. package/src/tracking/core/types.ts +0 -162
  886. package/src/tracking/core/utm.ts +0 -23
  887. package/src/tracking/index.ts +0 -72
  888. package/src/tracking/markup.ts +0 -17
  889. package/src/tracking/react/Experiment.tsx +0 -44
  890. package/src/tracking/react/TrackingProvider.tsx +0 -56
  891. package/src/tracking/react/hooks.ts +0 -106
  892. package/src/tracking/react/index.ts +0 -13
  893. package/src/tracking/testing.ts +0 -108
  894. package/src/tracking/ui/ExperimentCard.stories.tsx +0 -296
  895. package/src/tracking/ui/ExperimentCard.tsx +0 -667
  896. package/src/tracking/ui/ExperimentsOverlay.stories.tsx +0 -155
  897. package/src/tracking/ui/ExperimentsOverlay.tsx +0 -437
  898. package/src/tracking/ui/anchor.ts +0 -180
  899. package/src/tracking/ui/card.ts +0 -464
  900. package/src/tracking/ui/client.ts +0 -117
  901. package/src/tracking/ui/index.ts +0 -77
  902. package/src/tracking/ui/types.ts +0 -110
  903. package/src/tracking/ui/useExperimentsAdmin.ts +0 -103
  904. package/src/types/Form.ts +0 -29
  905. package/src/types.ts +0 -14
  906. package/src/utils/datetime.ts +0 -10
  907. package/src/utils/fetch.ts +0 -457
  908. package/src/utils/lspClient.ts +0 -711
  909. package/src/utils/lspClient.types.ts +0 -211
  910. package/src/utils/queryUnlessCancelled.ts +0 -28
  911. package/src/utils/websocket.ts +0 -293
  912. package/vite.config.ts +0 -58
  913. package/vitest.config.ts +0 -69
@@ -1,4 +1,8 @@
1
1
  "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
2
6
  var __assign = (this && this.__assign) || function () {
3
7
  __assign = Object.assign || function(t) {
4
8
  for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -10,28 +14,41 @@ var __assign = (this && this.__assign) || function () {
10
14
  };
11
15
  return __assign.apply(this, arguments);
12
16
  };
13
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- var desc = Object.getOwnPropertyDescriptor(m, k);
16
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
- desc = { enumerable: true, get: function() { return m[k]; } };
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
33
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
18
51
  }
19
- Object.defineProperty(o, k2, desc);
20
- }) : (function(o, m, k, k2) {
21
- if (k2 === undefined) k2 = k;
22
- o[k2] = m[k];
23
- }));
24
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
- Object.defineProperty(o, "default", { enumerable: true, value: v });
26
- }) : function(o, v) {
27
- o["default"] = v;
28
- });
29
- var __importStar = (this && this.__importStar) || function (mod) {
30
- if (mod && mod.__esModule) return mod;
31
- var result = {};
32
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
- __setModuleDefault(result, mod);
34
- return result;
35
52
  };
36
53
  var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
37
54
  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
@@ -42,28 +59,42 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
42
59
  }
43
60
  return to.concat(ar || Array.prototype.slice.call(from));
44
61
  };
62
+ var __importDefault = (this && this.__importDefault) || function (mod) {
63
+ return (mod && mod.__esModule) ? mod : { "default": mod };
64
+ };
45
65
  Object.defineProperty(exports, "__esModule", { value: true });
46
66
  exports.SmartEditor = void 0;
47
67
  var jsx_runtime_1 = require("react/jsx-runtime");
48
68
  // Copyright 2026 Qore Technologies, s.r.o.
49
69
  var reqore_1 = require("@qoretechnologies/reqore");
50
70
  var Popover_1 = require("@qoretechnologies/reqore/dist/components/Popover");
71
+ var sizes_1 = require("@qoretechnologies/reqore/dist/constants/sizes");
51
72
  var RichTextEditor_1 = require("@qoretechnologies/reqore/dist/components/RichTextEditor");
52
73
  var colors_1 = require("@qoretechnologies/reqore/dist/helpers/colors");
53
- var react_1 = __importStar(require("react"));
74
+ var react_1 = require("react");
75
+ var react_use_1 = require("react-use");
76
+ var styled_components_1 = __importDefault(require("styled-components"));
54
77
  var slate_1 = require("slate");
55
78
  var slate_react_1 = require("slate-react");
56
79
  var emittedValues_1 = require("../form/fields/emittedValues");
57
80
  var helpers_1 = require("./helpers");
81
+ var useTemplateTags_1 = require("../form/fields/rich-text/useTemplateTags");
82
+ var CompletionMenu_1 = require("./CompletionMenu");
58
83
  var MarkdownDoc_1 = require("./MarkdownDoc");
59
- var styling_1 = require("./styling");
84
+ var typedReferences_1 = require("./typedReferences");
60
85
  var useLspAutocomplete_1 = require("./useLspAutocomplete");
61
86
  var useLspDiagnosticDecorations_1 = require("./useLspDiagnosticDecorations");
62
87
  var useLspHover_1 = require("./useLspHover");
88
+ var useCoarsePointer_1 = require("../../hooks/useCoarsePointer");
63
89
  var useLspSemanticTokens_1 = require("./useLspSemanticTokens");
64
90
  var useLspSignatureHelp_1 = require("./useLspSignatureHelp");
91
+ var templateTree_1 = require("../../helpers/templateTree");
92
+ var useTabCameIn_1 = require("./useTabCameIn");
93
+ var templateTree_2 = require("../../helpers/templateTree");
94
+ var typedReferences_2 = require("./typedReferences");
95
+ var useEditingAids_1 = require("./useEditingAids");
65
96
  // One-Dark-ish palette keyed off the LSP semantic-token legend; absent
66
- // types fall through to Slate's default text colour.
97
+ // types fall through to Slate's default text color.
67
98
  var SEMANTIC_TOKEN_COLORS = {
68
99
  keyword: '#c678dd', // purple — control flow, `in`, `not`, `between`, …
69
100
  operator: '#56b6c2', // cyan — ==, !=, &&, ||, =~, !~, …
@@ -82,56 +113,6 @@ var SEMANTIC_TOKEN_COLORS = {
82
113
  decorator: '#c678dd', // purple
83
114
  namespace: '#e5c07b', // yellow
84
115
  };
85
- // Kind chip + a Warning chip (Qonsole flags mutating verbs) for a
86
- // completion row; undefined when neither applies.
87
- function buildKindBadge(item) {
88
- var _a;
89
- var kindIntent = ((_a = item.metadata) === null || _a === void 0 ? void 0 : _a.kind) !== undefined ? styling_1.COMPLETION_KIND_INTENTS[item.metadata.kind] : undefined;
90
- var kindBadge = item.kindLabel ?
91
- {
92
- label: item.kindLabel,
93
- minimal: true,
94
- size: 'small',
95
- intent: kindIntent,
96
- }
97
- : null;
98
- var warningBadge = item.warning ?
99
- {
100
- label: 'Warning',
101
- size: 'small',
102
- intent: 'warning',
103
- tooltip: item.warning,
104
- }
105
- : null;
106
- if (warningBadge && kindBadge)
107
- return [kindBadge, warningBadge];
108
- if (warningBadge)
109
- return [warningBadge];
110
- if (kindBadge)
111
- return kindBadge;
112
- return undefined;
113
- }
114
- // Tooltip prop rendering a row's LSP `documentation` (markdown/plaintext),
115
- // or undefined when there is none.
116
- function buildDocTooltip(item) {
117
- var _a;
118
- var doc = item.documentation;
119
- if (!doc)
120
- return undefined;
121
- var isMarkdown = typeof doc === 'object' && doc !== null && doc.kind === 'markdown';
122
- var text = typeof doc === 'string' ? doc : ((_a = doc === null || doc === void 0 ? void 0 : doc.value) !== null && _a !== void 0 ? _a : '');
123
- if (!text)
124
- return undefined;
125
- return {
126
- content: (0, jsx_runtime_1.jsx)(MarkdownDoc_1.MarkdownDoc, { content: text, markdown: isMarkdown }),
127
- placement: 'right',
128
- delay: 200,
129
- // The cast covers popover props missing from the older tooltip type.
130
- flat: true,
131
- transparent: true,
132
- backgroundBlur: 20,
133
- };
134
- }
135
116
  // Applies the server's `textEdit` (replacing the typed partial token so
136
117
  // `-` + `--desc=` doesn't become `---desc=`), else inserts at the cursor.
137
118
  // DPQL/Qonsole wrappers override this to insert tag chips.
@@ -175,19 +156,6 @@ var defaultCompletionInserter = function (item, editor, ctx) {
175
156
  // Editor may not be focused.
176
157
  }
177
158
  };
178
- // Module-scoped so the reference is stable across renders — an inline
179
- // object would defeat ReqoreMenuItem's memoization.
180
- var COMPLETION_ITEM_STYLE = { fontFamily: 'monospace' };
181
- // Memoized completion row so badge/tooltip derivation runs once per item,
182
- // not on every SmartEditor re-render.
183
- var CompletionMenuItem = (0, react_1.memo)(function (_a) {
184
- var item = _a.item, isFocused = _a.isFocused, onSelect = _a.onSelect;
185
- var badge = (0, react_1.useMemo)(function () { return buildKindBadge(item); }, [item]);
186
- var tooltip = (0, react_1.useMemo)(function () { return buildDocTooltip(item); }, [item]);
187
- var handleClick = (0, react_1.useCallback)(function () { return onSelect(item); }, [onSelect, item]);
188
- return ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreMenuItem, { icon: item.icon, label: item.label, description: item.description, badge: badge, tooltip: tooltip, selected: isFocused, active: isFocused, minimal: true, scrollIntoView: isFocused, onClick: handleClick, compact: true, style: COMPLETION_ITEM_STYLE }));
189
- });
190
- CompletionMenuItem.displayName = 'CompletionMenuItem';
191
159
  // Memoized signature pill. Prefers ABOVE the caret line, falling back to
192
160
  // BELOW when that would clip the viewport top; horizontally clamped to the
193
161
  // viewport.
@@ -246,14 +214,61 @@ var SignatureHelpPill = (0, react_1.memo)(function (_a) {
246
214
  boxShadow: '0 4px 16px rgba(0,0,0,0.3)',
247
215
  pointerEvents: 'none',
248
216
  zIndex: 100,
249
- }, children: [(0, jsx_runtime_1.jsx)(reqore_1.ReqoreCallout, { size: 'small', paddingSize: 'tiny', style: { fontFamily: 'monospace' }, label: label }), paramDoc && ((0, jsx_runtime_1.jsx)("div", { style: { marginTop: 4, opacity: 0.85 }, children: (0, jsx_runtime_1.jsx)(MarkdownDoc_1.MarkdownDoc, { content: paramDoc, markdown: true }) }))] }, "sig-".concat(position.left, "-").concat(position.top, "-").concat(placeBelow)));
217
+ }, children: [(0, jsx_runtime_1.jsx)(reqore_1.ReqoreCallout, { size: 'small', paddingSize: 'tiny', style: { fontFamily: reqore_1.ReqoreFonts.mono }, label: label }), paramDoc && ((0, jsx_runtime_1.jsx)("div", { style: { marginTop: 4, opacity: 0.85 }, children: (0, jsx_runtime_1.jsx)(MarkdownDoc_1.MarkdownDoc, { content: paramDoc, markdown: true }) }))] }, "sig-".concat(position.left, "-").concat(position.top, "-").concat(placeBelow)));
250
218
  });
251
219
  SignatureHelpPill.displayName = 'SignatureHelpPill';
220
+ /** Distinguishes the completion lists of the editors on a page, for each editor's `aria-controls`. */
221
+ var completionMenuCounter = 0;
222
+ /* The text's box in its row: it takes the row, and gives it up to the Details button beside it on a touch
223
+ screen. */
224
+ /** The width of the editor's row (Reqore's phone width) at or below which its Details button is its icon alone. */
225
+ var DETAILS_WORD_MIN_ROW_WIDTH = 480;
226
+ /**
227
+ * The box the text is drawn in, as a code editor draws it where asked: lines that do not wrap (`wordWrap: off`),
228
+ * scrolled inside the box, no wider than it; a height the text scrolls within (`maxHeight`); each line's number
229
+ * before it (`lineNumbers`), counted by its paragraph.
230
+ */
231
+ var StyledEditorBox = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n [data-slate-editor] {\n ", "\n ", "\n ", "\n }\n ", "\n"], ["\n [data-slate-editor] {\n ", "\n ", "\n ", "\n }\n ", "\n"])), function (_a) {
232
+ var $wordWrap = _a.$wordWrap;
233
+ return $wordWrap === 'off' ? 'white-space: pre !important; overflow-wrap: normal !important; overflow-x: auto;' : '';
234
+ }, function (_a) {
235
+ var $maxHeight = _a.$maxHeight;
236
+ return ($maxHeight ? "max-height: ".concat($maxHeight, "; overflow-y: auto;") : '');
237
+ }, function (_a) {
238
+ var $lineNumbers = _a.$lineNumbers;
239
+ return ($lineNumbers ? 'counter-reset: smart-editor-line; padding-left: 3em !important;' : '');
240
+ }, function (_a) {
241
+ var $lineNumbers = _a.$lineNumbers;
242
+ return $lineNumbers ?
243
+ "[data-slate-editor] > [data-slate-node='element'] {\n position: relative;\n counter-increment: smart-editor-line;\n }\n [data-slate-editor] > [data-slate-node='element']::before {\n content: counter(smart-editor-line);\n position: absolute;\n left: -3em;\n width: 2.2em;\n text-align: right;\n opacity: 0.45;\n user-select: none;\n pointer-events: none;\n }"
244
+ : '';
245
+ });
246
+ var EDITOR_BOX_STYLE = {
247
+ position: 'relative',
248
+ flex: '1 1 auto',
249
+ minWidth: 0,
250
+ };
251
+ /**
252
+ * The button beside the text that opens the template picker for a pick at the caret (qorus#646): where a value
253
+ * cannot be written after the text before the caret (`insertableAt`), it says why and cannot be pressed. Its press
254
+ * keeps the focus, and the caret the pick goes at, in the text.
255
+ */
256
+ var TemplateButton = function (_a) {
257
+ var size = _a.size, insertable = _a.insertable, notInsertable = _a.notInsertable, open = _a.open;
258
+ return ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreButton, { className: 'smart-editor-template-button', icon: 'MoneyDollarCircleLine', fixed: true, size: size !== null && size !== void 0 ? size : 'normal', "aria-label": 'Insert a template', tooltip: insertable ? 'Insert a template' : notInsertable, disabled: !insertable, onMouseDown: function (event) { return event.preventDefault(); }, onClick: function (event) {
259
+ var _a = event.currentTarget.getBoundingClientRect(), left = _a.left, bottom = _a.bottom;
260
+ open({ left: left, bottom: bottom });
261
+ } }));
262
+ };
252
263
  exports.SmartEditor = (0, react_1.forwardRef)(function (_a, ref) {
253
- var session = _a.session, value = _a.value, onChange = _a.onChange, decorate = _a.decorate, customRenderLeaf = _a.customRenderLeaf, tagRenderer = _a.tagRenderer, onTagClick = _a.onTagClick, triggerCharacters = _a.triggerCharacters, _b = _a.converter, converter = _b === void 0 ? helpers_1.defaultSlateConverter : _b, _c = _a.completionInserter, completionInserter = _c === void 0 ? defaultCompletionInserter : _c, topActions = _a.topActions, height = _a.height, _d = _a.readOnly, readOnly = _d === void 0 ? false : _d, _e = _a.showDiagnostics, showDiagnostics = _e === void 0 ? true : _e, onBlur = _a.onBlur, loadingIndicator = _a.loadingIndicator, _f = _a.enableHover, enableHover = _f === void 0 ? true : _f, _g = _a.isLoading, isLoading = _g === void 0 ? false : _g, _h = _a.enableSignatureHelp, enableSignatureHelp = _h === void 0 ? true : _h;
264
+ var _b, _c;
265
+ var session = _a.session, value = _a.value, onChange = _a.onChange, decorate = _a.decorate, customRenderLeaf = _a.customRenderLeaf, tagRenderer = _a.tagRenderer, onTagClick = _a.onTagClick, triggerCharacters = _a.triggerCharacters, _d = _a.converter, converter = _d === void 0 ? helpers_1.defaultSlateConverter : _d, _e = _a.completionInserter, completionInserter = _e === void 0 ? defaultCompletionInserter : _e, topActions = _a.topActions, height = _a.height, size = _a.size, _f = _a.readOnly, readOnly = _f === void 0 ? false : _f, _g = _a.showDiagnostics, showDiagnostics = _g === void 0 ? true : _g, onBlur = _a.onBlur, tags = _a.tags, loadingIndicator = _a.loadingIndicator, _h = _a.enableHover, enableHover = _h === void 0 ? true : _h, hoverDelayMs = _a.hoverDelayMs, _j = _a.isLoading, isLoading = _j === void 0 ? false : _j, _k = _a.enableSignatureHelp, enableSignatureHelp = _k === void 0 ? true : _k, _l = _a.completeOnClick, completeOnClick = _l === void 0 ? false : _l, completionsWith = _a.completionsWith, emptyCompletionMessage = _a.emptyCompletionMessage, presentDiagnostics = _a.presentDiagnostics, diagnosticAction = _a.diagnosticAction, referenceNamesNothing = _a.referenceNamesNothing, templateRoots = _a.templateRoots, templateButton = _a.templateButton, editingLanguage = _a.editingLanguage, formatDocument = _a.formatDocument, _m = _a.wordWrap, wordWrap = _m === void 0 ? 'on' : _m, maxHeight = _a.maxHeight, _o = _a.lineNumbers, lineNumbers = _o === void 0 ? false : _o;
254
266
  var theme = (0, reqore_1.useReqoreTheme)();
255
267
  var editorRef = (0, react_1.useRef)(null);
268
+ var completionMenuId = (0, react_1.useMemo)(function () { return "completion-menu-".concat(++completionMenuCounter); }, []);
256
269
  var lastPlainTextRef = (0, react_1.useRef)(value);
270
+ // what an emptied text opens (set where the picker's roots are known, below)
271
+ var emptiedRef = (0, react_1.useRef)(function () { return undefined; });
257
272
  // Cached Slate nodes, refreshed only on EXTERNAL value changes — not on
258
273
  // the typing echo. Passing a fresh ref every keystroke re-runs
259
274
  // ReqoreRichTextEditor's tokenizer mid-token (typed `@s` collapses to a
@@ -264,9 +279,9 @@ exports.SmartEditor = (0, react_1.forwardRef)(function (_a, ref) {
264
279
  from outside — a leading chip gains an empty text leaf before it — without
265
280
  changing its text, so `value` never changes and the cache above kept the
266
281
  tree the editor no longer had. Every offset computed from it (token
267
- colours, diagnostics, signature help) then pointed one leaf off: a Text
282
+ colors, diagnostics, signature help) then pointed one leaf off: a Text
268
283
  view seeded with `"$local:name" == "John"` was never highlighted. */
269
- var _j = (0, react_1.useReducer)(function (count) { return count + 1; }, 0), editorTreeVersion = _j[0], noteEditorTree = _j[1];
284
+ var _p = (0, react_1.useReducer)(function (count) { return count + 1; }, 0), editorTreeVersion = _p[0], noteEditorTree = _p[1];
270
285
  (0, react_1.useImperativeHandle)(ref, function () { return editorRef.current; }, []);
271
286
  // Gates all LSP hooks on both the connection (`isReady`) and any
272
287
  // wrapper context binding (`isContextReady`) — without the latter,
@@ -274,16 +289,117 @@ exports.SmartEditor = (0, react_1.forwardRef)(function (_a, ref) {
274
289
  // the server context-less and the dropdown silently closes. Generic
275
290
  // sessions set `isContextReady: true`, collapsing this to `isReady`.
276
291
  var lspReady = session.isReady && session.isContextReady;
292
+ /* What the list offers at the caret: the server's answer, with the host's own entries merged in where they
293
+ can be written (`completionsWith`). Where no server can be asked, the host's alone. */
294
+ var noServer = session.isUnavailable && !!completionsWith;
295
+ var askServer = session.getCompletions;
296
+ var getCompletions = (0, react_1.useCallback)(function (plainText, offset, typedInText) { return __awaiter(void 0, void 0, void 0, function () {
297
+ var serverItems, _a;
298
+ return __generator(this, function (_b) {
299
+ switch (_b.label) {
300
+ case 0:
301
+ if (!noServer) return [3 /*break*/, 1];
302
+ _a = undefined;
303
+ return [3 /*break*/, 3];
304
+ case 1: return [4 /*yield*/, askServer(plainText, offset)];
305
+ case 2:
306
+ _a = _b.sent();
307
+ _b.label = 3;
308
+ case 3:
309
+ serverItems = _a;
310
+ return [2 /*return*/, completionsWith ?
311
+ completionsWith({ plainText: plainText, offset: offset, serverItems: serverItems, typedInText: typedInText })
312
+ : (serverItems !== null && serverItems !== void 0 ? serverItems : [])];
313
+ }
314
+ });
315
+ }); }, [noServer, askServer, completionsWith]);
316
+ /* What the language server completes where a value can be written (the start of the text), for the template
317
+ picker to offer beside the field's own templates: the record's fields, the template contexts, the functions
318
+ and the values (qorus#646, David: "users should be supported with all available completions in the template
319
+ picker"). Asked once the server is ready, again as the field's templates change, and when the picker opens. */
320
+ var _q = (0, react_1.useState)(), serverValues = _q[0], setServerValues = _q[1];
321
+ var askedValuesRef = (0, react_1.useRef)(0);
322
+ var askServerValues = (0, react_1.useCallback)(function () { return __awaiter(void 0, void 0, void 0, function () {
323
+ var asked, items;
324
+ return __generator(this, function (_a) {
325
+ switch (_a.label) {
326
+ case 0:
327
+ // only an editor of templates has a template picker to offer them in (`templateRoots`)
328
+ if (noServer || !lspReady || !templateRoots)
329
+ return [2 /*return*/];
330
+ asked = ++askedValuesRef.current;
331
+ return [4 /*yield*/, askServer('', 0)];
332
+ case 1:
333
+ items = _a.sent();
334
+ // only the latest answer, and only while the editor is there
335
+ if (asked === askedValuesRef.current && mountedRef.current)
336
+ setServerValues(items);
337
+ return [2 /*return*/];
338
+ }
339
+ });
340
+ }); }, [noServer, lspReady, askServer, templateRoots]);
341
+ var mountedRef = (0, react_1.useRef)(true);
342
+ (0, react_1.useEffect)(function () { return function () {
343
+ mountedRef.current = false;
344
+ }; }, []);
345
+ // asked when the server is ready and as the field's templates change
346
+ (0, react_1.useEffect)(function () {
347
+ void askServerValues();
348
+ }, [lspReady, templateRoots]);
349
+ var pickerRoots = (0, react_1.useMemo)(
350
+ // a lone group of the field's opened only where nothing is added beside it
351
+ function () { return (templateRoots ? (0, templateTree_2.openLoneGroup)((0, templateTree_2.withServerCompletions)(templateRoots, serverValues)) : []); }, [templateRoots, serverValues]);
277
352
  var autocomplete = (0, useLspAutocomplete_1.useLspAutocomplete)({
278
- getCompletions: session.getCompletions,
279
- isReady: lspReady,
353
+ getCompletions: getCompletions,
354
+ isReady: lspReady || noServer,
280
355
  triggerCharacters: triggerCharacters,
281
356
  converter: converter,
282
357
  inserter: completionInserter,
358
+ emptyMessage: emptyCompletionMessage,
359
+ // what to write next, above the rows, where none of them is what is written
360
+ noteAt: emptyCompletionMessage,
361
+ // Enter or Tab where nothing more is listed: what is written at the caret, a whole reference, is its chip
362
+ commitTyped: function (editor) {
363
+ var _a;
364
+ return (0, typedReferences_2.commitTypedReferences)(editor, converter, referenceNamesNothing, (_a = editor.selection) === null || _a === void 0 ? void 0 : _a.anchor.path[0]);
365
+ },
283
366
  });
367
+ // the picker opened: what the server completes asked again, for the record and the context bound now
368
+ var pickerOpen = !!autocomplete.browse;
369
+ (0, react_1.useEffect)(function () {
370
+ if (pickerOpen)
371
+ void askServerValues();
372
+ }, [pickerOpen, askServerValues]);
284
373
  var hover = (0, useLspHover_1.useLspHover)(session, editorRef, converter, {
285
374
  enabled: enableHover,
375
+ debounceMs: hoverDelayMs,
376
+ // a chip whose props carry a tooltip (a field the record describes) shows that, not the server's hover too
377
+ chipHasOwnHover: function (tag) {
378
+ var _a;
379
+ return !!((_a = tagRenderer === null || tagRenderer === void 0 ? void 0 : tagRenderer(tag)) === null || _a === void 0 ? void 0 : _a.tooltip);
380
+ },
286
381
  });
382
+ /* The hover the popover drawn in this render is of: what it dismisses when it closes, and nothing newer. */
383
+ var shownHoverId = hover.hoverId;
384
+ /* A finger cannot hover: where the pointer is one, "Details" shows what the server says of the word at the
385
+ caret, in the same pop-up a mouse gets by hovering. Only where the server says anything (`hoverProvider`). */
386
+ var coarse = (0, useCoarsePointer_1.useCoarsePointer)();
387
+ /* The row the text and its Details button share, measured: in a row a phone's width or narrower, Details is its
388
+ icon alone - its word took the text's room (Foxhoundn on qlip #383: "The details button should be just an icon
389
+ on such small screen / container size"). The row, not the screen: an editor in a narrow card on a wide
390
+ screen is as short of room. */
391
+ var _r = (0, react_use_1.useMeasure)(), rowRef = _r[0], rowWidth = _r[1].width;
392
+ var detailsSaysItsWord = !rowWidth || rowWidth > DETAILS_WORD_MIN_ROW_WIDTH;
393
+ var showDetailsButton = coarse &&
394
+ // Details says what the word at the caret is, and a read-only text has no caret: a tap on a read-only
395
+ // rendering (a collapsed row's expression) opens what holds it, where Details is
396
+ !readOnly &&
397
+ enableHover &&
398
+ session.isReady &&
399
+ !!((_c = (_b = session.client) === null || _b === void 0 ? void 0 : _b.capabilities) === null || _c === void 0 ? void 0 : _c.hoverProvider);
400
+ /* The hover Details showed, drawn as a card under the button rather than over the text (`showAtCaret`). */
401
+ var _s = (0, react_1.useState)(), detailsHoverId = _s[0], setDetailsHoverId = _s[1];
402
+ var detailsShown = detailsHoverId !== undefined && hover.hoverId === detailsHoverId;
287
403
  /* What the editor has reported and the host has not handed back yet. A host can hand an emit back
288
404
  after the next key is already in the editor - one that debounces, or a render that lands between
289
405
  two keys - and that stale value is not a change: rebuilding the document from it replaced the text
@@ -309,7 +425,7 @@ exports.SmartEditor = (0, react_1.forwardRef)(function (_a, ref) {
309
425
  }, [value, converter, editorTreeVersion]);
310
426
  /* A value set from outside is a change to the document as much as typing
311
427
  is — a Text view seeded after mount, a Preview following the author. The
312
- server colours and diagnoses its own copy of the text, so it must hold
428
+ server colors and diagnoses its own copy of the text, so it must hold
313
429
  this one; typing already sent its text, and is not resent. */
314
430
  var syncDocument = session.didChange;
315
431
  (0, react_1.useEffect)(function () {
@@ -323,21 +439,82 @@ exports.SmartEditor = (0, react_1.forwardRef)(function (_a, ref) {
323
439
  lastPlainTextRef.current = value;
324
440
  syncDocument(value);
325
441
  }, [syncDocument, value, emitted]);
326
- var diagnosticDecorate = (0, useLspDiagnosticDecorations_1.useLspDiagnosticDecorations)(session.diagnostics, converter, slateValue);
442
+ /* The server's diagnostics as the editor says them: in the host's words for what it wrote itself
443
+ (`presentDiagnostics`), and without the error of a reference half-typed at the caret while its list is open
444
+ or on its way - a `$` typed to ask for a template is not a mistake yet (qorus#646, David's decision). It
445
+ is said once the list is put away. */
446
+ var listActive = autocomplete.isActive;
447
+ var shownDiagnostics = (0, react_1.useMemo)(function () {
448
+ var _a;
449
+ var editor = editorRef.current;
450
+ var nodes = (_a = editor === null || editor === void 0 ? void 0 : editor.children) !== null && _a !== void 0 ? _a : slateValue;
451
+ var said = presentDiagnostics ?
452
+ presentDiagnostics(session.diagnostics, converter.fromSlateNodes(nodes))
453
+ : session.diagnostics;
454
+ var at = editor === null || editor === void 0 ? void 0 : editor.selection;
455
+ if (!listActive || !converter.referenceBeingWritten || !at || !slate_1.Range.isCollapsed(at)) {
456
+ return said;
457
+ }
458
+ var _b = at.anchor.path, index = _b[0], child = _b[1];
459
+ var paragraph = nodes[index];
460
+ if (at.anchor.path.length !== 2 || !paragraph) {
461
+ return said;
462
+ }
463
+ var end = converter.selectionToOffset([paragraph], [0, child], at.anchor.offset);
464
+ var written = converter.referenceBeingWritten(converter.fromSlateNodes([paragraph]).slice(0, end));
465
+ /* what is said of the reference being written, which reaches the caret: from where it starts in what is
466
+ being written, or a whole reference that ends at the caret (`$data:receive_order.ev`, of which only `ev`
467
+ is being written) */
468
+ return said.filter(function (_a) {
469
+ var _b = _a.range, start = _b.start, to = _b.end;
470
+ return !(start.line === index &&
471
+ ((written > 0 && start.character >= end - written && start.character < end) ||
472
+ (start.character < end && to.line === index && to.character === end)));
473
+ });
474
+ }, [session.diagnostics, presentDiagnostics, converter, slateValue, listActive]);
475
+ var diagnosticDecorate = (0, useLspDiagnosticDecorations_1.useLspDiagnosticDecorations)(shownDiagnostics, converter, slateValue);
327
476
  // Server-driven syntax highlighting (replaces the old client-side regex
328
477
  // highlighter — see design doc §7).
329
478
  var semanticDecorate = (0, useLspSemanticTokens_1.useLspSemanticTokens)(session, converter, slateValue);
330
479
  // No-ops when the server doesn't advertise `signatureHelpProvider`.
331
480
  var signatureHelp = (0, useLspSignatureHelp_1.useLspSignatureHelp)(session, editorRef, converter, slateValue, { enabled: enableSignatureHelp });
481
+ /* What a code editor does for what is typed (`useEditingAids`): pairs closed, a selection wrapped, the
482
+ bracket at the caret matched, the search (Ctrl+F) and its replace, lines moved and copied, the document
483
+ formatted (Shift+Alt+F), completion asked for (Ctrl+Space). */
484
+ // the editing aids follow every change of the editor, its caret's included (the bracket match)
485
+ var aidsChangeRef = (0, react_1.useRef)(function () { return undefined; });
486
+ var aids = (0, useEditingAids_1.useEditingAids)({
487
+ editorRef: editorRef,
488
+ converter: converter,
489
+ nodes: slateValue,
490
+ language: editingLanguage,
491
+ readOnly: readOnly,
492
+ onFormat: formatDocument,
493
+ onComplete: function () {
494
+ var editor = editorRef.current;
495
+ var at = editor === null || editor === void 0 ? void 0 : editor.selection;
496
+ if (!editor || !at)
497
+ return;
498
+ try {
499
+ var rect = slate_react_1.ReactEditor.toDOMRange(editor, at).getBoundingClientRect();
500
+ autocomplete.openAtCaret(editor, at.anchor, { left: rect.left, bottom: rect.bottom });
501
+ }
502
+ catch (_a) {
503
+ // the caret is not drawn: nothing is asked
504
+ }
505
+ },
506
+ });
507
+ aidsChangeRef.current = aids.onEditorChange;
332
508
  var composedDecorate = (0, react_1.useCallback)(function (entry) {
333
509
  var _a;
334
510
  var userRanges = (_a = decorate === null || decorate === void 0 ? void 0 : decorate(entry)) !== null && _a !== void 0 ? _a : [];
335
511
  var semanticRanges = semanticDecorate(entry);
512
+ var aidRanges = aids.decorate(entry);
336
513
  var diagRanges = showDiagnostics ? diagnosticDecorate(entry) : [];
337
514
  // Diagnostics last so the wavy underline isn't overdrawn.
338
- return __spreadArray(__spreadArray(__spreadArray([], userRanges, true), semanticRanges, true), diagRanges, true);
339
- }, [decorate, semanticDecorate, diagnosticDecorate, showDiagnostics]);
340
- // Paints semantic-token colours and diagnostic underlines, falling
515
+ return __spreadArray(__spreadArray(__spreadArray(__spreadArray([], userRanges, true), semanticRanges, true), aidRanges, true), diagRanges, true);
516
+ }, [decorate, semanticDecorate, diagnosticDecorate, showDiagnostics, aids.decorate]);
517
+ // Paints semantic-token colors and diagnostic underlines, falling
341
518
  // through to the consumer's `customRenderLeaf` for everything else.
342
519
  var renderLeafWithMarks = (0, react_1.useCallback)(function (props) {
343
520
  var _a, _b, _c, _d, _e, _f, _g, _h;
@@ -358,7 +535,19 @@ exports.SmartEditor = (0, react_1.forwardRef)(function (_a, ref) {
358
535
  }, children: child }));
359
536
  }
360
537
  }
361
- // Underline outermost so it overlays the syntax colour; hex
538
+ // the bracket matching the one at the caret, and the search's matches (the current one stronger)
539
+ if (leaf.bracketMatch || leaf.findMatch) {
540
+ child = ((0, jsx_runtime_1.jsx)("span", { className: leaf.findCurrent ? 'smart-editor-find-current'
541
+ : leaf.findMatch ? 'smart-editor-find-match'
542
+ : 'smart-editor-bracket-match', style: {
543
+ borderRadius: 2,
544
+ background: leaf.findCurrent ? 'rgba(255, 200, 0, 0.55)'
545
+ : leaf.findMatch ? 'rgba(255, 200, 0, 0.25)'
546
+ : 'rgba(255, 255, 255, 0.12)',
547
+ outline: leaf.bracketMatch ? '1px solid rgba(255, 255, 255, 0.45)' : undefined,
548
+ }, children: child }));
549
+ }
550
+ // Underline outermost so it overlays the syntax color; hex
362
551
  // fallbacks cover host themes that omit a diagnostic intent.
363
552
  if (leaf.error) {
364
553
  var underlineColor = leaf.severity === 2 ? ((_d = (_c = theme.intents) === null || _c === void 0 ? void 0 : _c.warning) !== null && _d !== void 0 ? _d : '#f0a500')
@@ -372,8 +561,90 @@ exports.SmartEditor = (0, react_1.forwardRef)(function (_a, ref) {
372
561
  }
373
562
  return child;
374
563
  }, [customRenderLeaf, theme]);
564
+ /* A reference typed out in full is drawn as its chip, as one picked from the completion list is: the
565
+ paragraph is redrawn from its text, which the converter reads it in (`rechipTypedReferences`). The text is
566
+ the same, so nothing is reported for it. */
567
+ var drawTypedReferences = typedReferences_2.drawRechipped;
568
+ // the editor has been left: every reference typed in it is drawn as its chip
569
+ var handleBlur = (0, react_1.useCallback)(function () {
570
+ var editor = editorRef.current;
571
+ if (editor && !readOnly) {
572
+ (0, typedReferences_2.commitTypedReferences)(editor, converter, referenceNamesNothing);
573
+ }
574
+ onBlur === null || onBlur === void 0 ? void 0 : onBlur();
575
+ }, [converter, readOnly, onBlur, referenceNamesNothing]);
576
+ /* A chip put in at the caret takes the place of the reference being written there, wherever it is picked
577
+ from (qorus#646, David's review). The completion list's inserter takes it away itself; the list the
578
+ editor's templates are browsed in is reqore's, which puts a chip in at the caret as it is: a `$` typed to
579
+ ask for a template stayed in front of the one picked, and `pos + 1 + $pos` is refused by the server. A
580
+ Slate plugin on the editor reqore made for this one (its `insertNodes`), so both are one step of one
581
+ change - one text sent, one undo. A chip put in at a place of its own (`at`: a typed reference drawn as its
582
+ chip, a chip replaced) is left alone. */
583
+ var referenceBeingWritten = readOnly ? undefined : converter.referenceBeingWritten;
584
+ (0, react_1.useEffect)(function () {
585
+ var editor = editorRef.current;
586
+ if (!editor || !referenceBeingWritten) {
587
+ return undefined;
588
+ }
589
+ var insertNodes = editor.insertNodes;
590
+ editor.insertNodes = function (nodes, options) {
591
+ var at = editor.selection;
592
+ var inserted = Array.isArray(nodes) ? nodes : [nodes];
593
+ var chip = inserted.length === 1 && inserted[0].type === 'tag';
594
+ if (chip && !(options === null || options === void 0 ? void 0 : options.at) && at && slate_1.Range.isCollapsed(at) && at.anchor.path.length === 2) {
595
+ var _a = at.anchor.path, index = _a[0], child = _a[1];
596
+ var paragraph = editor.children[index];
597
+ if (paragraph) {
598
+ var before = converter
599
+ .fromSlateNodes([paragraph])
600
+ .slice(0, converter.selectionToOffset([paragraph], [0, child], at.anchor.offset));
601
+ var written = referenceBeingWritten(before);
602
+ // what is being written is typed text, in the text the caret is in
603
+ if (written > 0 && written <= at.anchor.offset) {
604
+ slate_1.Transforms.delete(editor, {
605
+ at: {
606
+ anchor: { path: at.anchor.path, offset: at.anchor.offset - written },
607
+ focus: at.anchor,
608
+ },
609
+ });
610
+ }
611
+ }
612
+ }
613
+ insertNodes(nodes, options);
614
+ };
615
+ return function () {
616
+ editor.insertNodes = insertNodes;
617
+ };
618
+ }, [converter, referenceBeingWritten]);
619
+ /* Whether a template can be written at the caret, for the template button: asked again at every change of the
620
+ editor, a move of its caret included, so the button is never left as it was for a caret that has moved. */
621
+ var _t = (0, react_1.useState)(true), insertableAtCaret = _t[0], setInsertableAtCaret = _t[1];
622
+ var insertableAt = templateButton === null || templateButton === void 0 ? void 0 : templateButton.insertableAt;
623
+ var askInsertable = (0, react_1.useCallback)(function () {
624
+ var _a;
625
+ var editor = editorRef.current;
626
+ if (!editor || !insertableAt)
627
+ return;
628
+ try {
629
+ var nodes = editor.children;
630
+ var plainText = converter.fromSlateNodes(nodes);
631
+ var at = (_a = editor.selection) === null || _a === void 0 ? void 0 : _a.anchor;
632
+ var offset = at ? converter.selectionToOffset(nodes, at.path, at.offset) : plainText.length;
633
+ setInsertableAtCaret(insertableAt(plainText.slice(0, offset)));
634
+ }
635
+ catch (_b) {
636
+ // a selection the editor no longer has: the end of the text is asked about
637
+ setInsertableAtCaret(insertableAt(converter.fromSlateNodes(editor.children)));
638
+ }
639
+ }, [insertableAt, converter]);
640
+ (0, react_1.useEffect)(askInsertable, [askInsertable, value]);
641
+ var askInsertableRef = (0, react_1.useRef)(askInsertable);
642
+ askInsertableRef.current = askInsertable;
375
643
  var handleSlateChange = (0, react_1.useCallback)(function (newNodes) {
644
+ var _a;
376
645
  var plainText = converter.fromSlateNodes(newNodes);
646
+ // the text emptied by this edit (cleared, or its last character deleted): see below
647
+ var emptied = !!((_a = lastPlainTextRef.current) === null || _a === void 0 ? void 0 : _a.trim()) && !plainText.trim();
377
648
  // A selection change reports the same tree; anything else is the tree
378
649
  // the editor now holds, and the one every offset is computed against.
379
650
  if (newNodes !== slateValueRef.current) {
@@ -390,30 +661,151 @@ exports.SmartEditor = (0, react_1.forwardRef)(function (_a, ref) {
390
661
  // parameter never advances.
391
662
  onChange(plainText);
392
663
  session.didChange(plainText);
664
+ // a reference typed out in full, and left by the character just typed, is drawn as its chip
665
+ var editor = editorRef.current;
666
+ var at = editor === null || editor === void 0 ? void 0 : editor.selection;
667
+ if (editor && at && slate_1.Range.isCollapsed(at) && !readOnly && converter.endsReference) {
668
+ var _b = at.anchor.path, index = _b[0], child = _b[1];
669
+ var paragraph = newNodes[index];
670
+ var rechipped = paragraph &&
671
+ (0, typedReferences_1.rechipTypedReferences)(converter, paragraph, index, converter.selectionToOffset([paragraph], [0, child], at.anchor.offset), referenceNamesNothing);
672
+ if (rechipped) {
673
+ drawTypedReferences(editor, index, rechipped);
674
+ }
675
+ }
393
676
  }
394
677
  if (editorRef.current && !readOnly) {
395
678
  autocomplete.onSlateChange(editorRef.current, newNodes);
679
+ /* A text emptied where the author is writing offers what an empty text offers: its templates and
680
+ fields, the picker at its top, as a click in it opens it - not nothing, nor a list of one row that
681
+ only leads there (Foxhoundn on qlip #425; David: the picker offers every completion in every
682
+ state). */
683
+ if (emptied)
684
+ emptiedRef.current();
396
685
  }
686
+ aidsChangeRef.current();
687
+ askInsertableRef.current();
397
688
  }, [onChange, session, readOnly, autocomplete, converter, emitted]);
398
689
  // Replace mode: open the dropdown at the chip's DOM rect (not the
399
690
  // editor selection — clicks on a Slate VOID inline don't reliably
400
691
  // update `editor.selection`) and atomically swap the chip on select.
692
+ var hasBrowseList = !!tags && Object.keys(tags).length > 0;
401
693
  var handleTagClickDefault = (0, react_1.useCallback)(function (tag, editor) {
402
694
  if (readOnly)
403
695
  return;
696
+ /* An editor with a browse list (`tags`) answers a click on a chip with that list, as a click anywhere
697
+ in its text, and as a value's text does: one list at a time. Opening the chip's replacements beside
698
+ it put two lists over the text, and what was typed then reached neither (qorus#646, David: "you
699
+ can't type"). */
700
+ if (hasBrowseList)
701
+ return;
404
702
  try {
405
703
  var tagPath = slate_react_1.ReactEditor.findPath(editor, tag);
406
704
  var domNode = slate_react_1.ReactEditor.toDOMNode(editor, tag);
407
705
  var rect = domNode.getBoundingClientRect();
408
- autocomplete.openAtChip(editor, tagPath, {
409
- left: rect.left,
410
- bottom: rect.bottom,
411
- });
706
+ /* A chip the field's templates or fields list opens the picker where it is - its group, its row the
707
+ keyboard's - and the pick takes its place (qorus#646). A second click on it puts the picker away. */
708
+ var listed = (templateRoots === null || templateRoots === void 0 ? void 0 : templateRoots.length) && typeof tag.value === 'string' ?
709
+ (0, templateTree_1.templateNodeFor)(templateRoots, tag.value)
710
+ : undefined;
711
+ if (listed) {
712
+ if (autocomplete.browse && autocomplete.isReplaceMode) {
713
+ autocomplete.close();
714
+ return;
715
+ }
716
+ autocomplete.openBrowse(editor, {
717
+ rect: { left: rect.left, bottom: rect.bottom },
718
+ replacementPath: tagPath,
719
+ levelId: listed.trailIds[listed.trailIds.length - 1],
720
+ selectedValue: tag.value,
721
+ });
722
+ return;
723
+ }
724
+ /* An editor that completes on a click lists what can stand in the chip's place - the fields and
725
+ templates the chip is one of - and the pick replaces it (qorus#646, David: a click on pos listed
726
+ nothing). */
727
+ autocomplete.openAtChip(editor, tagPath, { left: rect.left, bottom: rect.bottom }, { inItsPlace: completeOnClick });
412
728
  }
413
729
  catch (_a) {
414
730
  // Tag may have been removed mid-render — ignore.
415
731
  }
416
- }, [readOnly, autocomplete]);
732
+ }, [readOnly, autocomplete, hasBrowseList, completeOnClick, templateRoots]);
733
+ /* A click, a tap or Tab into the text asks what can be written at the caret (`completeOnClick`): the caret the
734
+ page put there, which Slate's selection follows only later. Not a click on a chip, which is a control of
735
+ its own, nor anything outside the text: the list's rows are drawn elsewhere, and their clicks reach this
736
+ box through React. */
737
+ var openAtCaret = autocomplete.openAtCaret, openBrowse = autocomplete.openBrowse;
738
+ var browsesOnClick = !!pickerRoots.length;
739
+ // the picker at the top of an emptied text, where it has templates and the author is in it
740
+ emptiedRef.current = function () {
741
+ var editor = editorRef.current;
742
+ if (!browsesOnClick || readOnly || !editor)
743
+ return;
744
+ try {
745
+ if (!slate_react_1.ReactEditor.isFocused(editor))
746
+ return;
747
+ var at = slate_react_1.ReactEditor.toDOMNode(editor, editor).getBoundingClientRect();
748
+ openBrowse(editor, {
749
+ rect: { left: at.left, bottom: at.bottom },
750
+ caret: slate_1.Editor.start(editor, []),
751
+ arrows: true,
752
+ });
753
+ }
754
+ catch (_a) {
755
+ // the editor is not drawn: nothing opens
756
+ }
757
+ };
758
+ // whether the Tab whose key comes up brought the focus into the editor (`onKeyUp` below)
759
+ var tabCameIn = (0, useTabCameIn_1.useTabCameIn)(function () {
760
+ var editor = editorRef.current;
761
+ return editor ? slate_react_1.ReactEditor.toDOMNode(editor, editor) : null;
762
+ });
763
+ var completeAtPageCaret = (0, react_1.useCallback)(function (target) {
764
+ var _a;
765
+ var editor = editorRef.current;
766
+ if ((!completeOnClick && !browsesOnClick) || readOnly || !editor)
767
+ return;
768
+ try {
769
+ var root = slate_react_1.ReactEditor.toDOMNode(editor, editor);
770
+ if (!(target instanceof Node) || !root.contains(target))
771
+ return;
772
+ if (target instanceof Element && target.closest('[data-slate-void="true"]'))
773
+ return;
774
+ var page = slate_react_1.ReactEditor.getWindow(editor).getSelection();
775
+ if (!page || page.rangeCount === 0 || !page.isCollapsed)
776
+ return;
777
+ var caret = slate_react_1.ReactEditor.toSlateRange(editor, page, {
778
+ exactMatch: false,
779
+ suppressThrow: true,
780
+ });
781
+ if (!caret)
782
+ return;
783
+ var box = page.getRangeAt(0).getBoundingClientRect();
784
+ // a caret in an empty line has no box of its own: the text's
785
+ var at = box.width || box.height ? box : root.getBoundingClientRect();
786
+ /* An empty text offers its templates and fields: the picker, at its top (qorus#646, David: a click in an
787
+ empty field shows the templates, the record's fields among them). */
788
+ var empty = !converter.fromSlateNodes(editor.children).trim();
789
+ /* A reference being written at the caret is completed where it is - what is listed of it, what to write
790
+ next and Browse all templates to put a working one in its place - not left for the picker at the top
791
+ (qorus#646, David's review: a click at the end of `$dynamic:` showed the picker's top silently). */
792
+ // what is typed in the text the caret is in: a chip before it is a value, not a reference being written
793
+ var leaf = slate_1.Editor.leaf(editor, caret.anchor)[0];
794
+ var writing = /[$@][\w.:{}*-]*$/.test(((_a = leaf.text) !== null && _a !== void 0 ? _a : '').slice(0, caret.anchor.offset));
795
+ if (browsesOnClick && !writing && (empty || !completeOnClick)) {
796
+ openBrowse(editor, {
797
+ rect: { left: at.left, bottom: at.bottom },
798
+ caret: caret.anchor,
799
+ arrows: empty,
800
+ });
801
+ return;
802
+ }
803
+ openAtCaret(editor, caret.anchor, { left: at.left, bottom: at.bottom });
804
+ }
805
+ catch (_b) {
806
+ // the editor is not drawn, or the page's caret is not in it: nothing is asked
807
+ }
808
+ }, [completeOnClick, browsesOnClick, readOnly, openAtCaret, openBrowse, converter]);
417
809
  var resolvedTagClick = onTagClick !== null && onTagClick !== void 0 ? onTagClick : handleTagClickDefault;
418
810
  // ReqoreRichTextEditor memoizes `renderElement` without `onTagClick` in
419
811
  // its deps, so it captures the FIRST render's handler forever (stale
@@ -431,15 +823,6 @@ exports.SmartEditor = (0, react_1.forwardRef)(function (_a, ref) {
431
823
  return;
432
824
  autocomplete.onItemSelect(item, editorRef.current);
433
825
  }, [autocomplete]);
434
- // Flatten groups into rows carrying a flat index to compare against
435
- // `focusedIndex` (which is flat across all groups).
436
- var completionGroups = (0, react_1.useMemo)(function () {
437
- var flatIndex = 0;
438
- return autocomplete.groups.map(function (group) { return ({
439
- label: group.label,
440
- items: group.items.map(function (item) { return ({ item: item, index: flatIndex++ }); }),
441
- }); });
442
- }, [autocomplete.groups]);
443
826
  // Overlay shown while the session connects, a context binding resolves,
444
827
  // or the wrapper signals `isLoading` (e.g. DpqlEditor awaiting
445
828
  // `dpql/toRichtext`). The editor stays mounted underneath;
@@ -453,85 +836,128 @@ exports.SmartEditor = (0, react_1.forwardRef)(function (_a, ref) {
453
836
  var overlayContent = !showLoadingOverlay ? null
454
837
  : loadingIndicator !== undefined && loadingIndicator !== null ? loadingIndicator
455
838
  : (0, jsx_runtime_1.jsx)(reqore_1.ReqoreSpinner, { iconColor: 'info:lighten:2', size: 'small', centered: true, labelEffect: { textSize: 'small' }, children: defaultLoadingLabel });
456
- return ((0, jsx_runtime_1.jsxs)(reqore_1.ReqoreControlGroup, { vertical: true, fluid: true, children: [topActions, (0, jsx_runtime_1.jsxs)("div", { style: { position: 'relative' }, children: [(0, jsx_runtime_1.jsx)(RichTextEditor_1.ReqoreRichTextEditor, { ref: editorRef, value: slateValue, onChange: handleSlateChange, readOnly: readOnly, customRenderLeaf: renderLeafWithMarks, decorate: composedDecorate, getTagProps: tagRenderer, onTagClick: stableOnTagClick, onBlur: onBlur, panelProps: {
457
- fluid: true,
458
- flat: true,
459
- style: {
460
- // Auto-grow: the editor sizes to its content and grows
461
- // as lines are added. `height` is an optional *minimum*
462
- // floor (e.g. a multi-line code editor); when omitted,
463
- // a single comfortable line so the empty field stays
464
- // clickable and the diagnostics panel hugs the input
465
- // instead of sitting below a tall reserved box.
466
- minHeight: height !== null && height !== void 0 ? height : '2.4em',
467
- fontFamily: 'monospace',
468
- fontSize: '13px',
469
- },
470
- } }), showLoadingOverlay && ((0, jsx_runtime_1.jsx)("div", {
471
- // Absolutely-positioned, centred panel covering the
472
- // editor body. `backdrop-filter: blur` matches the
473
- // 20px backdrop blur Reqore uses for drawers — keeps
474
- // the editor content faintly readable underneath while
475
- // signalling "this surface is paused". Pointer events
476
- // pass through; the LSP-dependent paths short-circuit
477
- // on `!isReady` / `!isContextReady` anyway.
478
- style: {
479
- position: 'absolute',
480
- inset: 0,
481
- display: 'flex',
482
- alignItems: 'center',
483
- justifyContent: 'center',
484
- background: 'rgba(10, 10, 10, 0.35)',
485
- backdropFilter: 'blur(4px)',
486
- WebkitBackdropFilter: 'blur(4px)',
487
- borderRadius: 4,
488
- pointerEvents: 'none',
489
- zIndex: 2,
490
- }, children: overlayContent })), autocomplete.isOpen &&
491
- (autocomplete.items.length > 0 ||
492
- autocomplete.isReplaceMode ||
493
- autocomplete.isFetching) && ((0, jsx_runtime_1.jsx)(Popover_1.ReqorePopover, { component: 'span', wrapperStyle: {
494
- // `fixed` anchor at the cursor's screen coords — avoids
495
- // parent-offset math.
496
- position: 'fixed',
497
- top: autocomplete.position.top,
498
- left: autocomplete.position.left,
499
- width: '1px',
500
- height: '1px',
501
- pointerEvents: 'none',
502
- }, content: (0, jsx_runtime_1.jsxs)(reqore_1.ReqoreMenu, { rounded: true, flat: true, maxHeight: '300px', width: '300px', effect: styling_1.SMART_EDITOR_OVERLAY_EFFECT, customTheme: { main: '#1e0d29' }, children: [autocomplete.items.length === 0 &&
503
- (autocomplete.isReplaceMode || autocomplete.isFetching) && ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreMenuItem, { icon: 'LoaderLine', label: !session.isReady ? 'Connecting to language server…'
504
- : !session.isContextReady ?
505
- 'Loading schema…'
506
- : autocomplete.isFetching ?
507
- 'Loading completions…'
508
- : 'No alternatives available', disabled: true, compact: true })), completionGroups.map(function (group) { return ((0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [group.label && ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreMenuDivider, { label: group.label,
509
- // @ts-expect-error — intent type not in older Reqore
510
- intent: 'muted' })), group.items.map(function (_a) {
511
- var item = _a.item, index = _a.index;
512
- return ((0, jsx_runtime_1.jsx)(CompletionMenuItem, { item: item, isFocused: index === autocomplete.focusedIndex, onSelect: handleCompletionSelect }, item.value));
513
- })] }, group.label || '_default')); })] }), openOnMount: true, noArrow: true, placement: 'bottom-start', handler: 'click', closeOnOutsideClick: true, closeOnInsideClick: false, minWidth: '300px', flat: true,
514
- // Transparent so the popover wrapper doesn't frame the menu.
515
- transparent: true, onToggleChange: autocomplete.handleExternalClose }, autocomplete.popoverKey)), hover.hoverContent && hover.hoverPosition && (
516
- // Non-interactive (`pointerEvents: none`) so typing/clicking
517
- // doesn't dismiss it via a focus trap.
518
- (0, jsx_runtime_1.jsx)(Popover_1.ReqorePopover, { component: 'span', wrapperStyle: {
519
- position: 'fixed',
520
- top: hover.hoverPosition.top,
521
- left: hover.hoverPosition.left,
522
- width: '1px',
523
- height: '1px',
524
- pointerEvents: 'none',
525
- }, content: (0, jsx_runtime_1.jsx)("div", { style: { padding: 4 }, children: (0, jsx_runtime_1.jsx)(MarkdownDoc_1.MarkdownDoc, { content: hover.hoverContent.value, markdown: hover.hoverContent.kind === 'markdown' }) }), openOnMount: true, noArrow: true, placement: 'top', handler: 'hover', closeOnOutsideClick: true, minWidth: '220px', flat: true, transparent: true, backgroundBlur: 20, onToggleChange: function (open) {
526
- if (!open)
527
- hover.clearHover();
528
- } }, "hover-".concat(hover.hoverPosition.left, "-").concat(hover.hoverPosition.top))), signatureHelp.signature && signatureHelp.position && ((0, jsx_runtime_1.jsx)(SignatureHelpPill, { signature: signatureHelp.signature, position: signatureHelp.position }))] }), showDiagnostics && session.diagnostics.length > 0 && (
529
- // One ReqoreMessage per diagnostic, severity → intent. Same
530
- // `session.diagnostics` source as the inline underline above.
531
- (0, jsx_runtime_1.jsx)(reqore_1.ReqoreControlGroup, { vertical: true, fluid: true, size: 'small', children: session.diagnostics.map(function (diag, i) { return ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreMessage, { intent: (0, useLspDiagnosticDecorations_1.severityToIntent)(diag.severity), icon: diag.severity === 2 ? 'AlertLine'
839
+ return ((0, jsx_runtime_1.jsxs)(reqore_1.ReqoreControlGroup, { vertical: true, fluid: true, children: [topActions, aids.findBar, (0, jsx_runtime_1.jsxs)(reqore_1.ReqoreControlGroup, { ref: rowRef, fluid: true, verticalAlign: 'flex-start', className: 'smart-editor-row', "data-completion": autocomplete.isOpen ? 'open'
840
+ : autocomplete.isActive ?
841
+ 'asking'
842
+ : 'idle', children: [(0, jsx_runtime_1.jsxs)(StyledEditorBox, { style: EDITOR_BOX_STYLE, "$wordWrap": wordWrap, "$maxHeight": maxHeight, "$lineNumbers": lineNumbers, className: 'smart-editor-box', onClick: function (event) { return completeAtPageCaret(event.target); },
843
+ /* Tab's key comes up in the editor it moved the focus into. One that went down in the editor - a Tab
844
+ that took a completion, or moved the focus on - asks nothing: its key coming up here reopened the
845
+ list just taken from (qorus#646). */
846
+ onKeyUp: function (event) {
847
+ if (event.key === 'Tab' && tabCameIn())
848
+ completeAtPageCaret(event.target);
849
+ }, children: [(0, jsx_runtime_1.jsx)(RichTextEditor_1.ReqoreRichTextEditor, { ref: editorRef, value: slateValue, onChange: handleSlateChange, readOnly: readOnly, customRenderLeaf: renderLeafWithMarks, decorate: composedDecorate, getTagProps: tagRenderer, onTagClick: stableOnTagClick, size: size, onBlur: handleBlur, onKeyDown: function (event) {
850
+ aids.onKeyDown(event);
851
+ },
852
+ // the field's templates, browsed when the text is clicked, tapped or tabbed into: the browse list,
853
+ // drawn as the completion list is
854
+ tags: tags, tagsListProps: __assign({ useTargetWidth: true }, useTemplateTags_1.TEMPLATE_BROWSE_LIST_PROPS), "aria-autocomplete": 'list', "aria-expanded": autocomplete.isOpen, "aria-controls": completionMenuId, panelProps: {
855
+ fluid: true,
856
+ flat: true,
857
+ style: {
858
+ // Auto-grow: the editor sizes to its content and grows
859
+ // as lines are added. `height` is an optional *minimum*
860
+ // floor (e.g. a multi-line code editor); when omitted,
861
+ // a single comfortable line so the empty field stays
862
+ // clickable and the diagnostics panel hugs the input
863
+ // instead of sitting below a tall reserved box.
864
+ minHeight: height !== null && height !== void 0 ? height : '2.4em',
865
+ /* reqore's mono stack, as every other code-like text: the bare generic keyword is the browser's
866
+ default fixed-width font (Courier in Chrome on macOS), larger than the field's own face */
867
+ fontFamily: reqore_1.ReqoreFonts.mono,
868
+ /* the size the text is written in (the text area's, for this size), so the frame and its `em`
869
+ floor are the text's: a fixed 13px was larger than a small field's text, and the panel's own
870
+ size larger again, which made the frame taller than the field's other tabs */
871
+ fontSize: sizes_1.CONTROL_TEXT_FROM_SIZE[size !== null && size !== void 0 ? size : 'normal'],
872
+ },
873
+ } }), showLoadingOverlay && ((0, jsx_runtime_1.jsx)("div", {
874
+ // Absolutely-positioned, centred panel covering the
875
+ // editor body. `backdrop-filter: blur` matches the
876
+ // 20px backdrop blur Reqore uses for drawers — keeps
877
+ // the editor content faintly readable underneath while
878
+ // signalling "this surface is paused". Pointer events
879
+ // pass through; the LSP-dependent paths short-circuit
880
+ // on `!isReady` / `!isContextReady` anyway.
881
+ style: {
882
+ position: 'absolute',
883
+ inset: 0,
884
+ display: 'flex',
885
+ alignItems: 'center',
886
+ justifyContent: 'center',
887
+ background: 'rgba(10, 10, 10, 0.35)',
888
+ backdropFilter: 'blur(4px)',
889
+ WebkitBackdropFilter: 'blur(4px)',
890
+ borderRadius: 4,
891
+ pointerEvents: 'none',
892
+ zIndex: 2,
893
+ }, children: overlayContent })), (0, jsx_runtime_1.jsx)(CompletionMenu_1.CompletionMenu, { autocomplete: autocomplete, id: completionMenuId, onSelect: handleCompletionSelect, templateRoots: pickerRoots, pendingLabel: !session.isReady ? 'Connecting to language server…'
894
+ : !session.isContextReady ? 'Loading schema…'
895
+ : undefined }), hover.hoverContent && hover.hoverPosition && (
896
+ // Non-interactive (`pointerEvents: none`) so typing/clicking
897
+ // doesn't dismiss it via a focus trap.
898
+ (0, jsx_runtime_1.jsx)(Popover_1.ReqorePopover
899
+ // one popover per hover: the next one is a popover of its own, wherever it is
900
+ , { component: 'span', wrapperStyle: {
901
+ position: 'fixed',
902
+ top: hover.hoverPosition.top,
903
+ left: hover.hoverPosition.left,
904
+ width: '1px',
905
+ height: '1px',
906
+ pointerEvents: 'none',
907
+ }, content: (0, jsx_runtime_1.jsx)("div", { style: { padding: 4 }, children: (0, jsx_runtime_1.jsx)(MarkdownDoc_1.MarkdownDoc, { content: hover.hoverContent.value, markdown: hover.hoverContent.kind === 'markdown' }) }), openOnMount: true, noArrow: true,
908
+ /* A mouse's hover is over the word it is of; what Details shows is under the button, beside the
909
+ text. Both are a popover's card, the surface a chip's hover is drawn on: drawn as glass, a hover
910
+ over an empty page was its words with nothing under them (Foxhoundn, qlip #392: "It looks like
911
+ the background is transparent? Is it not using a ReqorePopover / the tags tooltip?"). */
912
+ placement: detailsShown ? 'bottom-end' : 'top', handler: 'hover', closeOnOutsideClick: true, minWidth: '220px', onToggleChange: function (open) {
913
+ // this hover only: a popover replaced by the next hover says it closed as it goes
914
+ if (!open)
915
+ hover.clearHover(shownHoverId);
916
+ } }, "hover-".concat(hover.hoverId))), signatureHelp.signature && signatureHelp.position && ((0, jsx_runtime_1.jsx)(SignatureHelpPill, { signature: signatureHelp.signature, position: signatureHelp.position }))] }), templateButton && pickerRoots.length && !readOnly ?
917
+ (0, jsx_runtime_1.jsx)(TemplateButton, { size: size, insertable: insertableAtCaret, notInsertable: templateButton.notInsertable, open: function (rect) {
918
+ var editor = editorRef.current;
919
+ if (!editor)
920
+ return;
921
+ if (autocomplete.browse && !autocomplete.isReplaceMode) {
922
+ autocomplete.close();
923
+ return;
924
+ }
925
+ openBrowse(editor, {
926
+ rect: rect,
927
+ arrows: !converter.fromSlateNodes(editor.children).trim(),
928
+ });
929
+ } })
930
+ : null, showDetailsButton && ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreButton, { className: 'smart-editor-details', icon: 'InformationLine', fixed: true, flat: true, minimal: true, "aria-label": 'Show what the word at the cursor is', tooltip: detailsSaysItsWord ? undefined : 'Details',
931
+ // the press keeps the focus, and the caret the details are of, in the text
932
+ onMouseDown: function (event) { return event.preventDefault(); }, onClick: function (event) {
933
+ var _a;
934
+ // anchored under the button's right edge: the card opens beside the text, not over it
935
+ /* Under the row, not only under the button: an editor of more than one line is taller than
936
+ the button, and the card drawn under the button covered the lines below the first
937
+ (DpqlEditor · Details On A Chip On A Touch Screen, at 390px). */
938
+ var _b = event.currentTarget.getBoundingClientRect(), right = _b.right, bottom = _b.bottom;
939
+ var row = event.currentTarget.closest('.smart-editor-row');
940
+ var rowBottom = (_a = row === null || row === void 0 ? void 0 : row.getBoundingClientRect().bottom) !== null && _a !== void 0 ? _a : bottom;
941
+ void hover
942
+ .showAtCaret({ left: right, top: Math.max(bottom, rowBottom) })
943
+ .then(setDetailsHoverId);
944
+ }, children: detailsSaysItsWord ? 'Details' : undefined }))] }), showDiagnostics && shownDiagnostics.length > 0 && (
945
+ // One ReqoreMessage per diagnostic, severity → intent. The same
946
+ // diagnostics as the inline underline above (`shownDiagnostics`).
947
+ (0, jsx_runtime_1.jsx)(reqore_1.ReqoreControlGroup, { vertical: true, fluid: true, size: 'small', children: shownDiagnostics.map(function (diag, i) { return ((0, jsx_runtime_1.jsxs)(reqore_1.ReqoreMessage, { intent: (0, useLspDiagnosticDecorations_1.severityToIntent)(diag.severity), "data-severity": (0, useLspDiagnosticDecorations_1.severityToIntent)(diag.severity), icon: diag.severity === 2 ? 'AlertLine'
532
948
  : diag.severity && diag.severity >= 3 ?
533
949
  'InformationLine'
534
- : 'ErrorWarningLine', size: 'small', opaque: false, children: diag.message }, "".concat(diag.range.start.line, ":").concat(diag.range.start.character, ":").concat(i))); }) }))] }));
950
+ : 'ErrorWarningLine', size: 'small', opaque: false, children: [diag.message, (function () {
951
+ // what the host can do about it, beside what is said of it
952
+ var action = diagnosticAction === null || diagnosticAction === void 0 ? void 0 : diagnosticAction(diag);
953
+ // as wide as its words, under what is said and apart from it: a message lays its children out at
954
+ // its width. The size of the message's words with a pointer, a finger's on a touch screen
955
+ // (Foxhoundn on qlip #425: "enormous compared to the text in the message")
956
+ return action ?
957
+ (0, jsx_runtime_1.jsx)(reqore_1.ReqoreControlGroup, { size: coarse ? 'small' : 'tiny', fluid: false, style: { marginTop: 8 }, children: (0, jsx_runtime_1.jsx)(reqore_1.ReqoreButton, { size: coarse ? 'small' : 'tiny', compact: true, fixed: true, className: 'smart-editor-diagnostic-action', intent: (0, useLspDiagnosticDecorations_1.severityToIntent)(diag.severity), onClick: action.onClick, children: action.label }) })
958
+ : null;
959
+ })()] }, "".concat(diag.range.start.line, ":").concat(diag.range.start.character, ":").concat(i))); }) }))] }));
535
960
  });
536
961
  exports.SmartEditor.displayName = 'SmartEditor';
962
+ var templateObject_1;
537
963
  //# sourceMappingURL=SmartEditor.js.map