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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (873) hide show
  1. package/README.md +53 -1
  2. package/dist/components/Description/AllowedValuesHelp.d.ts +20 -0
  3. package/dist/components/Description/AllowedValuesHelp.d.ts.map +1 -0
  4. package/dist/components/Description/AllowedValuesHelp.js +86 -0
  5. package/dist/components/Description/AllowedValuesHelp.js.map +1 -0
  6. package/dist/components/Description/describedControl.d.ts +54 -0
  7. package/dist/components/Description/describedControl.d.ts.map +1 -0
  8. package/dist/components/Description/describedControl.js +81 -0
  9. package/dist/components/Description/describedControl.js.map +1 -0
  10. package/dist/components/Description/index.d.ts.map +1 -1
  11. package/dist/components/Description/index.js +3 -2
  12. package/dist/components/Description/index.js.map +1 -1
  13. package/dist/components/colorValue/colorValue.d.ts +59 -0
  14. package/dist/components/colorValue/colorValue.d.ts.map +1 -0
  15. package/dist/components/colorValue/colorValue.js +245 -0
  16. package/dist/components/colorValue/colorValue.js.map +1 -0
  17. package/dist/components/colorValue/index.d.ts +34 -0
  18. package/dist/components/colorValue/index.d.ts.map +1 -0
  19. package/dist/components/colorValue/index.js +136 -0
  20. package/dist/components/colorValue/index.js.map +1 -0
  21. package/dist/components/colorValue/labels.d.ts +12 -0
  22. package/dist/components/colorValue/labels.d.ts.map +1 -0
  23. package/dist/components/colorValue/labels.js +11 -0
  24. package/dist/components/colorValue/labels.js.map +1 -0
  25. package/dist/components/composer/Composer.d.ts +1 -1
  26. package/dist/components/composer/Composer.d.ts.map +1 -1
  27. package/dist/components/composer/Composer.js +2 -2
  28. package/dist/components/composer/Composer.js.map +1 -1
  29. package/dist/components/dpqlEditor/DpqlEditor.d.ts.map +1 -1
  30. package/dist/components/dpqlEditor/DpqlEditor.js +156 -10
  31. package/dist/components/dpqlEditor/DpqlEditor.js.map +1 -1
  32. package/dist/components/dpqlEditor/dpqlCompletions.d.ts +39 -0
  33. package/dist/components/dpqlEditor/dpqlCompletions.d.ts.map +1 -0
  34. package/dist/components/dpqlEditor/dpqlCompletions.js +294 -0
  35. package/dist/components/dpqlEditor/dpqlCompletions.js.map +1 -0
  36. package/dist/components/dpqlEditor/dpqlHelpers.d.ts +54 -5
  37. package/dist/components/dpqlEditor/dpqlHelpers.d.ts.map +1 -1
  38. package/dist/components/dpqlEditor/dpqlHelpers.js +413 -63
  39. package/dist/components/dpqlEditor/dpqlHelpers.js.map +1 -1
  40. package/dist/components/dpqlEditor/dpqlInserter.d.ts.map +1 -1
  41. package/dist/components/dpqlEditor/dpqlInserter.js +67 -29
  42. package/dist/components/dpqlEditor/dpqlInserter.js.map +1 -1
  43. package/dist/components/dpqlEditor/dpqlTags.d.ts +17 -7
  44. package/dist/components/dpqlEditor/dpqlTags.d.ts.map +1 -1
  45. package/dist/components/dpqlEditor/dpqlTags.js +44 -17
  46. package/dist/components/dpqlEditor/dpqlTags.js.map +1 -1
  47. package/dist/components/dpqlEditor/types.d.ts +94 -8
  48. package/dist/components/dpqlEditor/types.d.ts.map +1 -1
  49. package/dist/components/dpqlEditor/useDpqlSession.d.ts +7 -2
  50. package/dist/components/dpqlEditor/useDpqlSession.d.ts.map +1 -1
  51. package/dist/components/dpqlEditor/useDpqlSession.js +49 -17
  52. package/dist/components/dpqlEditor/useDpqlSession.js.map +1 -1
  53. package/dist/components/form/engine/CompactRow.d.ts.map +1 -1
  54. package/dist/components/form/engine/CompactRow.js +322 -124
  55. package/dist/components/form/engine/CompactRow.js.map +1 -1
  56. package/dist/components/form/engine/CompactToolbar.d.ts.map +1 -1
  57. package/dist/components/form/engine/CompactToolbar.js +29 -3
  58. package/dist/components/form/engine/CompactToolbar.js.map +1 -1
  59. package/dist/components/form/engine/FormEngine.d.ts +66 -11
  60. package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
  61. package/dist/components/form/engine/FormEngine.js +570 -176
  62. package/dist/components/form/engine/FormEngine.js.map +1 -1
  63. package/dist/components/form/engine/HiddenFieldsNote.d.ts +28 -0
  64. package/dist/components/form/engine/HiddenFieldsNote.d.ts.map +1 -0
  65. package/dist/components/form/engine/HiddenFieldsNote.js +32 -0
  66. package/dist/components/form/engine/HiddenFieldsNote.js.map +1 -0
  67. package/dist/components/form/engine/OptionFieldMessages.d.ts.map +1 -1
  68. package/dist/components/form/engine/OptionFieldMessages.js +25 -3
  69. package/dist/components/form/engine/OptionFieldMessages.js.map +1 -1
  70. package/dist/components/form/engine/OptionsHelpDialog.d.ts.map +1 -1
  71. package/dist/components/form/engine/OptionsHelpDialog.js +19 -2
  72. package/dist/components/form/engine/OptionsHelpDialog.js.map +1 -1
  73. package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts +2 -2
  74. package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts.map +1 -1
  75. package/dist/components/form/engine/_structuredData/SchemaDataView.js +12 -6
  76. package/dist/components/form/engine/_structuredData/SchemaDataView.js.map +1 -1
  77. package/dist/components/form/engine/compactRowContext.d.ts +30 -1
  78. package/dist/components/form/engine/compactRowContext.d.ts.map +1 -1
  79. package/dist/components/form/engine/compactRowContext.js.map +1 -1
  80. package/dist/components/form/engine/compactRowStyles.d.ts +59 -22
  81. package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
  82. package/dist/components/form/engine/compactRowStyles.js +102 -55
  83. package/dist/components/form/engine/compactRowStyles.js.map +1 -1
  84. package/dist/components/form/engine/compactToolbarColors.d.ts +16 -0
  85. package/dist/components/form/engine/compactToolbarColors.d.ts.map +1 -0
  86. package/dist/components/form/engine/compactToolbarColors.js +21 -0
  87. package/dist/components/form/engine/compactToolbarColors.js.map +1 -0
  88. package/dist/components/form/engine/inheritProps.d.ts +29 -0
  89. package/dist/components/form/engine/inheritProps.d.ts.map +1 -0
  90. package/dist/components/form/engine/inheritProps.js +43 -0
  91. package/dist/components/form/engine/inheritProps.js.map +1 -0
  92. package/dist/components/form/engine/operatorSummary.d.ts +26 -0
  93. package/dist/components/form/engine/operatorSummary.d.ts.map +1 -0
  94. package/dist/components/form/engine/operatorSummary.js +35 -0
  95. package/dist/components/form/engine/operatorSummary.js.map +1 -0
  96. package/dist/components/form/engine/readFirst.d.ts +24 -8
  97. package/dist/components/form/engine/readFirst.d.ts.map +1 -1
  98. package/dist/components/form/engine/readFirst.js +77 -109
  99. package/dist/components/form/engine/readFirst.js.map +1 -1
  100. package/dist/components/form/engine/readFirstColors.d.ts +30 -0
  101. package/dist/components/form/engine/readFirstColors.d.ts.map +1 -0
  102. package/dist/components/form/engine/readFirstColors.js +51 -0
  103. package/dist/components/form/engine/readFirstColors.js.map +1 -0
  104. package/dist/components/form/engine/rowFocus.d.ts +2 -0
  105. package/dist/components/form/engine/rowFocus.d.ts.map +1 -1
  106. package/dist/components/form/engine/rowFocus.js +26 -3
  107. package/dist/components/form/engine/rowFocus.js.map +1 -1
  108. package/dist/components/form/engine/typeChoices.d.ts +1 -1
  109. package/dist/components/form/engine/variants/VariantCalmTable.d.ts.map +1 -1
  110. package/dist/components/form/engine/variants/VariantCalmTable.js +2 -1
  111. package/dist/components/form/engine/variants/VariantCalmTable.js.map +1 -1
  112. package/dist/components/form/engine/variants/VariantCards.d.ts.map +1 -1
  113. package/dist/components/form/engine/variants/VariantCards.js +2 -1
  114. package/dist/components/form/engine/variants/VariantCards.js.map +1 -1
  115. package/dist/components/form/engine/variants/VariantFocus.js +1 -1
  116. package/dist/components/form/engine/variants/VariantFocus.js.map +1 -1
  117. package/dist/components/form/engine/variants/VariantMinimal.d.ts.map +1 -1
  118. package/dist/components/form/engine/variants/VariantMinimal.js +2 -1
  119. package/dist/components/form/engine/variants/VariantMinimal.js.map +1 -1
  120. package/dist/components/form/engine/variants/variantParts.d.ts +1 -1
  121. package/dist/components/form/engine/variants/variantParts.d.ts.map +1 -1
  122. package/dist/components/form/engine/variants/variantParts.js +25 -17
  123. package/dist/components/form/engine/variants/variantParts.js.map +1 -1
  124. package/dist/components/form/expressions/DpqlRendering.d.ts +1 -1
  125. package/dist/components/form/expressions/DpqlRendering.d.ts.map +1 -1
  126. package/dist/components/form/expressions/DpqlRendering.js +7 -6
  127. package/dist/components/form/expressions/DpqlRendering.js.map +1 -1
  128. package/dist/components/form/expressions/ExpressionField.d.ts +67 -3
  129. package/dist/components/form/expressions/ExpressionField.d.ts.map +1 -1
  130. package/dist/components/form/expressions/ExpressionField.js +536 -114
  131. package/dist/components/form/expressions/ExpressionField.js.map +1 -1
  132. package/dist/components/form/expressions/argumentPresence.d.ts +14 -0
  133. package/dist/components/form/expressions/argumentPresence.d.ts.map +1 -1
  134. package/dist/components/form/expressions/argumentPresence.js +16 -1
  135. package/dist/components/form/expressions/argumentPresence.js.map +1 -1
  136. package/dist/components/form/expressions/builder/argumentDetail.d.ts.map +1 -1
  137. package/dist/components/form/expressions/builder/argumentDetail.js +4 -1
  138. package/dist/components/form/expressions/builder/argumentDetail.js.map +1 -1
  139. package/dist/components/form/expressions/builder/argumentLabel.d.ts.map +1 -1
  140. package/dist/components/form/expressions/builder/argumentLabel.js +30 -11
  141. package/dist/components/form/expressions/builder/argumentLabel.js.map +1 -1
  142. package/dist/components/form/expressions/builder/argumentWrapper.d.ts.map +1 -1
  143. package/dist/components/form/expressions/builder/argumentWrapper.js +3 -1
  144. package/dist/components/form/expressions/builder/argumentWrapper.js.map +1 -1
  145. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.d.ts +9 -0
  146. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.d.ts.map +1 -1
  147. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js +30 -27
  148. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js.map +1 -1
  149. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts +1 -1
  150. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts.map +1 -1
  151. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js +7 -5
  152. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js.map +1 -1
  153. package/dist/components/form/expressions/builder/index.d.ts +34 -2
  154. package/dist/components/form/expressions/builder/index.d.ts.map +1 -1
  155. package/dist/components/form/expressions/builder/index.js +170 -80
  156. package/dist/components/form/expressions/builder/index.js.map +1 -1
  157. package/dist/components/form/expressions/builder/item.d.ts +6 -2
  158. package/dist/components/form/expressions/builder/item.d.ts.map +1 -1
  159. package/dist/components/form/expressions/builder/item.js +19 -5
  160. package/dist/components/form/expressions/builder/item.js.map +1 -1
  161. package/dist/components/form/expressions/builder/renderTemplate.js +1 -1
  162. package/dist/components/form/expressions/builder/renderTemplate.js.map +1 -1
  163. package/dist/components/form/expressions/dpqlMockRecordPath.d.ts +11 -0
  164. package/dist/components/form/expressions/dpqlMockRecordPath.d.ts.map +1 -0
  165. package/dist/components/form/expressions/dpqlMockRecordPath.js +254 -0
  166. package/dist/components/form/expressions/dpqlMockRecordPath.js.map +1 -0
  167. package/dist/components/form/expressions/expressionOperands.d.ts +16 -0
  168. package/dist/components/form/expressions/expressionOperands.d.ts.map +1 -0
  169. package/dist/components/form/expressions/expressionOperands.js +97 -0
  170. package/dist/components/form/expressions/expressionOperands.js.map +1 -0
  171. package/dist/components/form/expressions/fieldPath.d.ts +24 -0
  172. package/dist/components/form/expressions/fieldPath.d.ts.map +1 -0
  173. package/dist/components/form/expressions/fieldPath.js +152 -0
  174. package/dist/components/form/expressions/fieldPath.js.map +1 -0
  175. package/dist/components/form/expressions/loneValue.d.ts +17 -0
  176. package/dist/components/form/expressions/loneValue.d.ts.map +1 -0
  177. package/dist/components/form/expressions/loneValue.js +33 -0
  178. package/dist/components/form/expressions/loneValue.js.map +1 -0
  179. package/dist/components/form/expressions/mockExpressions.d.ts.map +1 -1
  180. package/dist/components/form/expressions/mockExpressions.js +22 -5
  181. package/dist/components/form/expressions/mockExpressions.js.map +1 -1
  182. package/dist/components/form/expressions/renderExpressionToText.d.ts +2 -0
  183. package/dist/components/form/expressions/renderExpressionToText.d.ts.map +1 -1
  184. package/dist/components/form/expressions/renderExpressionToText.js +43 -10
  185. package/dist/components/form/expressions/renderExpressionToText.js.map +1 -1
  186. package/dist/components/form/expressions/textOfExpression.d.ts +18 -0
  187. package/dist/components/form/expressions/textOfExpression.d.ts.map +1 -0
  188. package/dist/components/form/expressions/textOfExpression.js +49 -0
  189. package/dist/components/form/expressions/textOfExpression.js.map +1 -0
  190. package/dist/components/form/expressions/types.d.ts +12 -0
  191. package/dist/components/form/expressions/types.d.ts.map +1 -1
  192. package/dist/components/form/expressions/types.js +6 -1
  193. package/dist/components/form/expressions/types.js.map +1 -1
  194. package/dist/components/form/expressions/useExpressionType.d.ts +26 -0
  195. package/dist/components/form/expressions/useExpressionType.d.ts.map +1 -0
  196. package/dist/components/form/expressions/useExpressionType.js +181 -0
  197. package/dist/components/form/expressions/useExpressionType.js.map +1 -0
  198. package/dist/components/form/expressions/useRenderExpression.d.ts.map +1 -1
  199. package/dist/components/form/expressions/useRenderExpression.js +13 -9
  200. package/dist/components/form/expressions/useRenderExpression.js.map +1 -1
  201. package/dist/components/form/expressions/wildcardExpressions.d.ts +27 -0
  202. package/dist/components/form/expressions/wildcardExpressions.d.ts.map +1 -0
  203. package/dist/components/form/expressions/wildcardExpressions.js +101 -0
  204. package/dist/components/form/expressions/wildcardExpressions.js.map +1 -0
  205. package/dist/components/form/fields/Field.d.ts.map +1 -1
  206. package/dist/components/form/fields/Field.js +43 -20
  207. package/dist/components/form/fields/Field.js.map +1 -1
  208. package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
  209. package/dist/components/form/fields/allowed-values/AllowedValues.js +39 -6
  210. package/dist/components/form/fields/allowed-values/AllowedValues.js.map +1 -1
  211. package/dist/components/form/fields/allowed-values/choicePicture.d.ts +37 -0
  212. package/dist/components/form/fields/allowed-values/choicePicture.d.ts.map +1 -0
  213. package/dist/components/form/fields/allowed-values/choicePicture.js +64 -0
  214. package/dist/components/form/fields/allowed-values/choicePicture.js.map +1 -0
  215. package/dist/components/form/fields/array/ArrayAuto.d.ts.map +1 -1
  216. package/dist/components/form/fields/array/ArrayAuto.js +24 -0
  217. package/dist/components/form/fields/array/ArrayAuto.js.map +1 -1
  218. package/dist/components/form/fields/array/ArrayAutoField.d.ts.map +1 -1
  219. package/dist/components/form/fields/array/ArrayAutoField.js +36 -13
  220. package/dist/components/form/fields/array/ArrayAutoField.js.map +1 -1
  221. package/dist/components/form/fields/auto/AutoFormField.d.ts +30 -1
  222. package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
  223. package/dist/components/form/fields/auto/AutoFormField.js +119 -62
  224. package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
  225. package/dist/components/form/fields/auto/hostEditorValue.d.ts +30 -0
  226. package/dist/components/form/fields/auto/hostEditorValue.d.ts.map +1 -0
  227. package/dist/components/form/fields/auto/hostEditorValue.js +53 -0
  228. package/dist/components/form/fields/auto/hostEditorValue.js.map +1 -0
  229. package/dist/components/form/fields/binary/Binary.d.ts.map +1 -1
  230. package/dist/components/form/fields/binary/Binary.js +23 -3
  231. package/dist/components/form/fields/binary/Binary.js.map +1 -1
  232. package/dist/components/form/fields/boolean/Boolean.d.ts +5 -0
  233. package/dist/components/form/fields/boolean/Boolean.d.ts.map +1 -1
  234. package/dist/components/form/fields/boolean/Boolean.js +9 -1
  235. package/dist/components/form/fields/boolean/Boolean.js.map +1 -1
  236. package/dist/components/form/fields/color/Color.d.ts +103 -16
  237. package/dist/components/form/fields/color/Color.d.ts.map +1 -1
  238. package/dist/components/form/fields/color/Color.js +616 -16
  239. package/dist/components/form/fields/color/Color.js.map +1 -1
  240. package/dist/components/form/fields/emittedValues.d.ts +34 -3
  241. package/dist/components/form/fields/emittedValues.d.ts.map +1 -1
  242. package/dist/components/form/fields/emittedValues.js +24 -1
  243. package/dist/components/form/fields/emittedValues.js.map +1 -1
  244. package/dist/components/form/fields/file/File.d.ts +1 -1
  245. package/dist/components/form/fields/file/File.d.ts.map +1 -1
  246. package/dist/components/form/fields/file/File.js +4 -2
  247. package/dist/components/form/fields/file/File.js.map +1 -1
  248. package/dist/components/form/fields/long-string/LongString.d.ts.map +1 -1
  249. package/dist/components/form/fields/long-string/LongString.js +29 -8
  250. package/dist/components/form/fields/long-string/LongString.js.map +1 -1
  251. package/dist/components/form/fields/markdown/MarkdownView.js +1 -1
  252. package/dist/components/form/fields/multi-select/MultiSelectFormField.d.ts.map +1 -1
  253. package/dist/components/form/fields/multi-select/MultiSelectFormField.js +13 -9
  254. package/dist/components/form/fields/multi-select/MultiSelectFormField.js.map +1 -1
  255. package/dist/components/form/fields/number/Number.d.ts +6 -0
  256. package/dist/components/form/fields/number/Number.d.ts.map +1 -1
  257. package/dist/components/form/fields/number/Number.js +41 -6
  258. package/dist/components/form/fields/number/Number.js.map +1 -1
  259. package/dist/components/form/fields/object/Object.d.ts +1 -1
  260. package/dist/components/form/fields/object/Object.d.ts.map +1 -1
  261. package/dist/components/form/fields/object/Object.js +4 -2
  262. package/dist/components/form/fields/object/Object.js.map +1 -1
  263. package/dist/components/form/fields/pendingEdit.d.ts +52 -0
  264. package/dist/components/form/fields/pendingEdit.d.ts.map +1 -0
  265. package/dist/components/form/fields/pendingEdit.js +79 -0
  266. package/dist/components/form/fields/pendingEdit.js.map +1 -0
  267. package/dist/components/form/fields/radio-group/RadioGroup.d.ts.map +1 -1
  268. package/dist/components/form/fields/radio-group/RadioGroup.js +4 -3
  269. package/dist/components/form/fields/radio-group/RadioGroup.js.map +1 -1
  270. package/dist/components/form/fields/rich-text/RichText.d.ts +20 -1
  271. package/dist/components/form/fields/rich-text/RichText.d.ts.map +1 -1
  272. package/dist/components/form/fields/rich-text/RichText.js +382 -91
  273. package/dist/components/form/fields/rich-text/RichText.js.map +1 -1
  274. package/dist/components/form/fields/rich-text/useTemplateTags.d.ts +18 -0
  275. package/dist/components/form/fields/rich-text/useTemplateTags.d.ts.map +1 -0
  276. package/dist/components/form/fields/rich-text/useTemplateTags.js +80 -0
  277. package/dist/components/form/fields/rich-text/useTemplateTags.js.map +1 -0
  278. package/dist/components/form/fields/schema-definition/CatalogLeafForm.d.ts.map +1 -1
  279. package/dist/components/form/fields/schema-definition/CatalogLeafForm.js +4 -1
  280. package/dist/components/form/fields/schema-definition/CatalogLeafForm.js.map +1 -1
  281. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.d.ts.map +1 -1
  282. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js +20 -5
  283. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js.map +1 -1
  284. package/dist/components/form/fields/schema-definition/TableEditor.d.ts.map +1 -1
  285. package/dist/components/form/fields/schema-definition/TableEditor.js +10 -2
  286. package/dist/components/form/fields/schema-definition/TableEditor.js.map +1 -1
  287. package/dist/components/form/fields/schema-definition/index.d.ts.map +1 -1
  288. package/dist/components/form/fields/schema-definition/index.js +8 -4
  289. package/dist/components/form/fields/schema-definition/index.js.map +1 -1
  290. package/dist/components/form/fields/select/Select.d.ts +10 -1
  291. package/dist/components/form/fields/select/Select.d.ts.map +1 -1
  292. package/dist/components/form/fields/select/Select.js +28 -14
  293. package/dist/components/form/fields/select/Select.js.map +1 -1
  294. package/dist/components/form/fields/select/SelectCollection.d.ts +5 -0
  295. package/dist/components/form/fields/select/SelectCollection.d.ts.map +1 -1
  296. package/dist/components/form/fields/select/SelectCollection.js +25 -12
  297. package/dist/components/form/fields/select/SelectCollection.js.map +1 -1
  298. package/dist/components/form/fields/select/unavailableRow.d.ts +23 -0
  299. package/dist/components/form/fields/select/unavailableRow.d.ts.map +1 -0
  300. package/dist/components/form/fields/select/unavailableRow.js +55 -0
  301. package/dist/components/form/fields/select/unavailableRow.js.map +1 -0
  302. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts +11 -5
  303. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts.map +1 -1
  304. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js +21 -5
  305. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js.map +1 -1
  306. package/dist/components/form/fields/template/TemplateBrowser.d.ts +16 -0
  307. package/dist/components/form/fields/template/TemplateBrowser.d.ts.map +1 -0
  308. package/dist/components/form/fields/template/TemplateBrowser.js +89 -0
  309. package/dist/components/form/fields/template/TemplateBrowser.js.map +1 -0
  310. package/dist/components/form/fields/template/TemplateField.d.ts +105 -1
  311. package/dist/components/form/fields/template/TemplateField.d.ts.map +1 -1
  312. package/dist/components/form/fields/template/TemplateField.js +678 -107
  313. package/dist/components/form/fields/template/TemplateField.js.map +1 -1
  314. package/dist/components/form/fields/template/TemplatePicker.d.ts +54 -0
  315. package/dist/components/form/fields/template/TemplatePicker.d.ts.map +1 -0
  316. package/dist/components/form/fields/template/TemplatePicker.js +451 -0
  317. package/dist/components/form/fields/template/TemplatePicker.js.map +1 -0
  318. package/dist/components/form/fields/template/TemplateText.d.ts +0 -17
  319. package/dist/components/form/fields/template/TemplateText.d.ts.map +1 -1
  320. package/dist/components/form/fields/template/TemplateText.js +22 -16
  321. package/dist/components/form/fields/template/TemplateText.js.map +1 -1
  322. package/dist/components/form/fields/template/referenceNames.d.ts +63 -0
  323. package/dist/components/form/fields/template/referenceNames.d.ts.map +1 -0
  324. package/dist/components/form/fields/template/referenceNames.js +69 -0
  325. package/dist/components/form/fields/template/referenceNames.js.map +1 -0
  326. package/dist/components/form/fields/template/writtenAsText.d.ts +61 -0
  327. package/dist/components/form/fields/template/writtenAsText.d.ts.map +1 -0
  328. package/dist/components/form/fields/template/writtenAsText.js +204 -0
  329. package/dist/components/form/fields/template/writtenAsText.js.map +1 -0
  330. package/dist/components/form/index.d.ts +12 -0
  331. package/dist/components/form/index.d.ts.map +1 -1
  332. package/dist/components/form/index.js +25 -1
  333. package/dist/components/form/index.js.map +1 -1
  334. package/dist/components/form/typeSentenceForm.d.ts +17 -0
  335. package/dist/components/form/typeSentenceForm.d.ts.map +1 -0
  336. package/dist/components/form/typeSentenceForm.js +54 -0
  337. package/dist/components/form/typeSentenceForm.js.map +1 -0
  338. package/dist/components/imageLightbox/ImageLightbox.d.ts.map +1 -1
  339. package/dist/components/imageLightbox/ImageLightbox.js +19 -7
  340. package/dist/components/imageLightbox/ImageLightbox.js.map +1 -1
  341. package/dist/components/log/Log.d.ts.map +1 -1
  342. package/dist/components/log/Log.js +20 -8
  343. package/dist/components/log/Log.js.map +1 -1
  344. package/dist/components/menu/Menu.d.ts.map +1 -1
  345. package/dist/components/menu/Menu.js +19 -10
  346. package/dist/components/menu/Menu.js.map +1 -1
  347. package/dist/components/smartEditor/CompletionMenu.d.ts +53 -0
  348. package/dist/components/smartEditor/CompletionMenu.d.ts.map +1 -0
  349. package/dist/components/smartEditor/CompletionMenu.js +302 -0
  350. package/dist/components/smartEditor/CompletionMenu.js.map +1 -0
  351. package/dist/components/smartEditor/MarkdownDoc.d.ts +1 -1
  352. package/dist/components/smartEditor/MarkdownDoc.js +3 -3
  353. package/dist/components/smartEditor/MarkdownDoc.js.map +1 -1
  354. package/dist/components/smartEditor/SmartEditor.d.ts.map +1 -1
  355. package/dist/components/smartEditor/SmartEditor.js +584 -190
  356. package/dist/components/smartEditor/SmartEditor.js.map +1 -1
  357. package/dist/components/smartEditor/completionStyle.d.ts +28 -0
  358. package/dist/components/smartEditor/completionStyle.d.ts.map +1 -0
  359. package/dist/components/smartEditor/completionStyle.js +79 -0
  360. package/dist/components/smartEditor/completionStyle.js.map +1 -0
  361. package/dist/components/smartEditor/contextTitle.d.ts +10 -0
  362. package/dist/components/smartEditor/contextTitle.d.ts.map +1 -0
  363. package/dist/components/smartEditor/contextTitle.js +21 -0
  364. package/dist/components/smartEditor/contextTitle.js.map +1 -0
  365. package/dist/components/smartEditor/editingAids.d.ts +64 -0
  366. package/dist/components/smartEditor/editingAids.d.ts.map +1 -0
  367. package/dist/components/smartEditor/editingAids.js +213 -0
  368. package/dist/components/smartEditor/editingAids.js.map +1 -0
  369. package/dist/components/smartEditor/index.d.ts +6 -1
  370. package/dist/components/smartEditor/index.d.ts.map +1 -1
  371. package/dist/components/smartEditor/index.js +19 -1
  372. package/dist/components/smartEditor/index.js.map +1 -1
  373. package/dist/components/smartEditor/templateCompletions.d.ts +98 -0
  374. package/dist/components/smartEditor/templateCompletions.d.ts.map +1 -0
  375. package/dist/components/smartEditor/templateCompletions.js +380 -0
  376. package/dist/components/smartEditor/templateCompletions.js.map +1 -0
  377. package/dist/components/smartEditor/typedReferences.d.ts +34 -0
  378. package/dist/components/smartEditor/typedReferences.d.ts.map +1 -0
  379. package/dist/components/smartEditor/typedReferences.js +179 -0
  380. package/dist/components/smartEditor/typedReferences.js.map +1 -0
  381. package/dist/components/smartEditor/types.d.ts +116 -2
  382. package/dist/components/smartEditor/types.d.ts.map +1 -1
  383. package/dist/components/smartEditor/useEditingAids.d.ts +38 -0
  384. package/dist/components/smartEditor/useEditingAids.d.ts.map +1 -0
  385. package/dist/components/smartEditor/useEditingAids.js +336 -0
  386. package/dist/components/smartEditor/useEditingAids.js.map +1 -0
  387. package/dist/components/smartEditor/useLspAutocomplete.d.ts +106 -3
  388. package/dist/components/smartEditor/useLspAutocomplete.d.ts.map +1 -1
  389. package/dist/components/smartEditor/useLspAutocomplete.js +562 -151
  390. package/dist/components/smartEditor/useLspAutocomplete.js.map +1 -1
  391. package/dist/components/smartEditor/useLspHover.d.ts +33 -7
  392. package/dist/components/smartEditor/useLspHover.d.ts.map +1 -1
  393. package/dist/components/smartEditor/useLspHover.js +364 -35
  394. package/dist/components/smartEditor/useLspHover.js.map +1 -1
  395. package/dist/components/smartEditor/useLspSemanticTokens.js +1 -1
  396. package/dist/components/smartEditor/useLspSemanticTokens.js.map +1 -1
  397. package/dist/components/smartEditor/useLspSession.d.ts +6 -0
  398. package/dist/components/smartEditor/useLspSession.d.ts.map +1 -1
  399. package/dist/components/smartEditor/useLspSession.js +7 -6
  400. package/dist/components/smartEditor/useLspSession.js.map +1 -1
  401. package/dist/components/smartEditor/useLspSignatureHelp.d.ts.map +1 -1
  402. package/dist/components/smartEditor/useLspSignatureHelp.js +6 -11
  403. package/dist/components/smartEditor/useLspSignatureHelp.js.map +1 -1
  404. package/dist/components/smartEditor/useTabCameIn.d.ts +10 -0
  405. package/dist/components/smartEditor/useTabCameIn.d.ts.map +1 -0
  406. package/dist/components/smartEditor/useTabCameIn.js +42 -0
  407. package/dist/components/smartEditor/useTabCameIn.js.map +1 -0
  408. package/dist/components/supportTicket/AttachmentChips.d.ts.map +1 -1
  409. package/dist/components/supportTicket/AttachmentChips.js +15 -5
  410. package/dist/components/supportTicket/AttachmentChips.js.map +1 -1
  411. package/dist/components/supportTicket/ReferencePicker.d.ts +9 -2
  412. package/dist/components/supportTicket/ReferencePicker.d.ts.map +1 -1
  413. package/dist/components/supportTicket/ReferencePicker.js +27 -6
  414. package/dist/components/supportTicket/ReferencePicker.js.map +1 -1
  415. package/dist/components/supportTicket/TicketHeader.d.ts +3 -4
  416. package/dist/components/supportTicket/TicketHeader.d.ts.map +1 -1
  417. package/dist/components/supportTicket/TicketHeader.js +20 -2
  418. package/dist/components/supportTicket/TicketHeader.js.map +1 -1
  419. package/dist/components/supportTicket/TicketMetaTags.d.ts +1 -1
  420. package/dist/components/ticketReferences/TicketReferences.d.ts.map +1 -1
  421. package/dist/components/ticketReferences/TicketReferences.js +9 -4
  422. package/dist/components/ticketReferences/TicketReferences.js.map +1 -1
  423. package/dist/components/ticketThread/TicketThread.d.ts.map +1 -1
  424. package/dist/components/ticketThread/TicketThread.js +38 -13
  425. package/dist/components/ticketThread/TicketThread.js.map +1 -1
  426. package/dist/helpers/allowedValues.d.ts +21 -0
  427. package/dist/helpers/allowedValues.d.ts.map +1 -1
  428. package/dist/helpers/allowedValues.js +40 -1
  429. package/dist/helpers/allowedValues.js.map +1 -1
  430. package/dist/helpers/descriptionTooltip.d.ts +46 -0
  431. package/dist/helpers/descriptionTooltip.d.ts.map +1 -0
  432. package/dist/helpers/descriptionTooltip.js +76 -0
  433. package/dist/helpers/descriptionTooltip.js.map +1 -0
  434. package/dist/helpers/domProps.d.ts +5 -0
  435. package/dist/helpers/domProps.d.ts.map +1 -0
  436. package/dist/helpers/domProps.js +47 -0
  437. package/dist/helpers/domProps.js.map +1 -0
  438. package/dist/helpers/expressions.d.ts +115 -4
  439. package/dist/helpers/expressions.d.ts.map +1 -1
  440. package/dist/helpers/expressions.js +247 -29
  441. package/dist/helpers/expressions.js.map +1 -1
  442. package/dist/helpers/hoveringPointer.d.ts +26 -0
  443. package/dist/helpers/hoveringPointer.d.ts.map +1 -0
  444. package/dist/helpers/hoveringPointer.js +29 -0
  445. package/dist/helpers/hoveringPointer.js.map +1 -0
  446. package/dist/helpers/markdownText.d.ts +14 -0
  447. package/dist/helpers/markdownText.d.ts.map +1 -0
  448. package/dist/helpers/markdownText.js +160 -0
  449. package/dist/helpers/markdownText.js.map +1 -0
  450. package/dist/helpers/noDescription.d.ts +9 -0
  451. package/dist/helpers/noDescription.d.ts.map +1 -0
  452. package/dist/helpers/noDescription.js +13 -0
  453. package/dist/helpers/noDescription.js.map +1 -0
  454. package/dist/helpers/optionUiTypes.d.ts +2 -2
  455. package/dist/helpers/qorusTypeCatalogue.d.ts +147 -0
  456. package/dist/helpers/qorusTypeCatalogue.d.ts.map +1 -0
  457. package/dist/helpers/qorusTypeCatalogue.js +505 -0
  458. package/dist/helpers/qorusTypeCatalogue.js.map +1 -0
  459. package/dist/helpers/readableColors.d.ts +36 -0
  460. package/dist/helpers/readableColors.d.ts.map +1 -0
  461. package/dist/helpers/readableColors.js +116 -0
  462. package/dist/helpers/readableColors.js.map +1 -0
  463. package/dist/helpers/recordFieldReference.d.ts +15 -0
  464. package/dist/helpers/recordFieldReference.d.ts.map +1 -0
  465. package/dist/helpers/recordFieldReference.js +89 -0
  466. package/dist/helpers/recordFieldReference.js.map +1 -0
  467. package/dist/helpers/templateCatalogue.d.ts +104 -0
  468. package/dist/helpers/templateCatalogue.d.ts.map +1 -0
  469. package/dist/helpers/templateCatalogue.js +116 -0
  470. package/dist/helpers/templateCatalogue.js.map +1 -0
  471. package/dist/helpers/templateCatalogueContext.d.ts +19 -0
  472. package/dist/helpers/templateCatalogueContext.d.ts.map +1 -0
  473. package/dist/helpers/templateCatalogueContext.js +31 -0
  474. package/dist/helpers/templateCatalogueContext.js.map +1 -0
  475. package/dist/helpers/templateItems.d.ts +2 -2
  476. package/dist/helpers/templateItems.d.ts.map +1 -1
  477. package/dist/helpers/templateItems.js +6 -4
  478. package/dist/helpers/templateItems.js.map +1 -1
  479. package/dist/helpers/templateText.d.ts +1 -0
  480. package/dist/helpers/templateText.d.ts.map +1 -1
  481. package/dist/helpers/templateText.js +7 -3
  482. package/dist/helpers/templateText.js.map +1 -1
  483. package/dist/helpers/templateTree.d.ts +248 -0
  484. package/dist/helpers/templateTree.d.ts.map +1 -0
  485. package/dist/helpers/templateTree.js +892 -0
  486. package/dist/helpers/templateTree.js.map +1 -0
  487. package/dist/helpers/templateType.d.ts +28 -0
  488. package/dist/helpers/templateType.d.ts.map +1 -0
  489. package/dist/helpers/templateType.js +30 -0
  490. package/dist/helpers/templateType.js.map +1 -0
  491. package/dist/helpers/templates.d.ts +86 -16
  492. package/dist/helpers/templates.d.ts.map +1 -1
  493. package/dist/helpers/templates.js +305 -45
  494. package/dist/helpers/templates.js.map +1 -1
  495. package/dist/helpers/validations.d.ts +27 -0
  496. package/dist/helpers/validations.d.ts.map +1 -1
  497. package/dist/helpers/validations.js +169 -39
  498. package/dist/helpers/validations.js.map +1 -1
  499. package/dist/helpers/webLink.d.ts +8 -0
  500. package/dist/helpers/webLink.d.ts.map +1 -0
  501. package/dist/helpers/webLink.js +29 -0
  502. package/dist/helpers/webLink.js.map +1 -0
  503. package/dist/hooks/useQorusTypes.d.ts +12 -17
  504. package/dist/hooks/useQorusTypes.d.ts.map +1 -1
  505. package/dist/hooks/useQorusTypes.js +44 -172
  506. package/dist/hooks/useQorusTypes.js.map +1 -1
  507. package/dist/hooks/useReadableIntentShade.d.ts +9 -0
  508. package/dist/hooks/useReadableIntentShade.d.ts.map +1 -0
  509. package/dist/hooks/useReadableIntentShade.js +23 -0
  510. package/dist/hooks/useReadableIntentShade.js.map +1 -0
  511. package/dist/hooks/useReadableOpacity.d.ts +6 -0
  512. package/dist/hooks/useReadableOpacity.d.ts.map +1 -0
  513. package/dist/hooks/useReadableOpacity.js +17 -0
  514. package/dist/hooks/useReadableOpacity.js.map +1 -0
  515. package/dist/index.d.ts +8 -0
  516. package/dist/index.d.ts.map +1 -1
  517. package/dist/index.js +24 -1
  518. package/dist/index.js.map +1 -1
  519. package/dist/tracking/ui/ExperimentCard.d.ts +1 -1
  520. package/dist/tracking/ui/ExperimentCard.d.ts.map +1 -1
  521. package/dist/tracking/ui/ExperimentCard.js +26 -10
  522. package/dist/tracking/ui/ExperimentCard.js.map +1 -1
  523. package/dist/tracking/ui/card.d.ts +2 -2
  524. package/dist/tracking/ui/card.d.ts.map +1 -1
  525. package/dist/tracking/ui/card.js +2 -2
  526. package/dist/tracking/ui/card.js.map +1 -1
  527. package/dist/tracking/ui/readable.d.ts +14 -0
  528. package/dist/tracking/ui/readable.d.ts.map +1 -0
  529. package/dist/tracking/ui/readable.js +60 -0
  530. package/dist/tracking/ui/readable.js.map +1 -0
  531. package/dist/utils/fetch.d.ts +9 -2
  532. package/dist/utils/fetch.d.ts.map +1 -1
  533. package/dist/utils/fetch.js +6 -5
  534. package/dist/utils/fetch.js.map +1 -1
  535. package/dist/utils/lspClient.types.d.ts +2 -0
  536. package/dist/utils/lspClient.types.d.ts.map +1 -1
  537. package/dist/utils/websocket.d.ts +65 -2
  538. package/dist/utils/websocket.d.ts.map +1 -1
  539. package/dist/utils/websocket.js +276 -44
  540. package/dist/utils/websocket.js.map +1 -1
  541. package/package.json +14 -6
  542. package/.claude/CLAUDE.md +0 -317
  543. package/.tasks/EXPORT_EXPRESSION_BUILDER.md +0 -38
  544. package/.tasks/EXPRESSION_BUILDER_REPORT.md +0 -149
  545. package/.tasks/EXPRESSION_FIELD_SEAMS.md +0 -66
  546. package/.tasks/FIELD_STACK_REPORT.md +0 -234
  547. package/.tasks/FORM_ENGINE_COMPACT_READ_FIRST.md +0 -558
  548. package/.tasks/FORM_ENGINE_EXPRESSIONS.md +0 -197
  549. package/.tasks/FORM_ENGINE_OPTIONS_SYNC.md +0 -95
  550. package/.tasks/FORM_FIELD_EXTRAS.md +0 -72
  551. package/.tasks/INDEX.md +0 -111
  552. package/.tasks/LSP_SHARED_CONNECTION.md +0 -75
  553. package/.tasks/QONSOLE_ASSIST_FEATURES.md +0 -306
  554. package/.tasks/RENDER_EXPRESSION_LSP.md +0 -159
  555. package/.tasks/REQRAFT_AUTO_FIELD.md +0 -176
  556. package/.tasks/SCHEMA_DEFINITION_FIELD.md +0 -250
  557. package/.tasks/SMART_EDITOR_CONTEXT_AND_POLISH.md +0 -340
  558. package/.tasks/SMART_EDITOR_LSP_FEATURES.md +0 -299
  559. package/.tasks/SMART_EDITOR_REVIEW_FOLLOWUPS.md +0 -280
  560. package/.tasks/SMART_EDITOR_UX_POLISH.md +0 -383
  561. package/.tasks/SMART_EDITOR_VISUAL_POLISH.md +0 -246
  562. package/.tasks/STORY_NETWORK_ISOLATION.md +0 -98
  563. package/.tasks/TEMPLATE_TOKEN_GRAMMAR.md +0 -72
  564. package/CODE_OF_CONDUCT.md +0 -105
  565. package/CONTRIBUTING.MD +0 -78
  566. package/SECURITY.md +0 -3
  567. package/chromatic.config.json +0 -5
  568. package/design/COMPACT_ENGINE_REDESIGN.md +0 -156
  569. package/design/COMPACT_INFO_DISPLAY.md +0 -87
  570. package/design/COMPACT_PARITY.md +0 -85
  571. package/design/EXPRESSION_BUILDER_REPORT_STRATEGY.md +0 -92
  572. package/design/FORM_ENGINE_COMPACT.md +0 -300
  573. package/design/FORM_ENGINE_COMPACT_UX_PLAN.md +0 -353
  574. package/design/FORM_ENGINE_EXPRESSIONS.md +0 -257
  575. package/design/FORM_ENGINE_FIELD_MIGRATION.md +0 -419
  576. package/design/IDE_INTEGRATION.md +0 -64
  577. package/design/RENDER_EXPRESSION_TRANSPORT.md +0 -156
  578. package/design/SELECT_DIALOG_FLOOR.md +0 -86
  579. package/design/SMART_EDITOR_UX.md +0 -438
  580. package/design/TRACKING.md +0 -290
  581. package/design/UNAVAILABLE_ALLOWED_VALUES.md +0 -226
  582. package/src/components/Description/index.tsx +0 -254
  583. package/src/components/Description/markdownRendererContext.tsx +0 -29
  584. package/src/components/FocusedEditing/index.tsx +0 -50
  585. package/src/components/codeSize/index.tsx +0 -79
  586. package/src/components/composer/Composer.stories.tsx +0 -238
  587. package/src/components/composer/Composer.tsx +0 -554
  588. package/src/components/composer/helpers.ts +0 -74
  589. package/src/components/composer/index.ts +0 -2
  590. package/src/components/dpqlEditor/DpqlEditor.stories.tsx +0 -1183
  591. package/src/components/dpqlEditor/DpqlEditor.tsx +0 -219
  592. package/src/components/dpqlEditor/dpqlHelpers.ts +0 -287
  593. package/src/components/dpqlEditor/dpqlInserter.ts +0 -121
  594. package/src/components/dpqlEditor/dpqlProbe.ts +0 -165
  595. package/src/components/dpqlEditor/dpqlTags.ts +0 -114
  596. package/src/components/dpqlEditor/index.ts +0 -41
  597. package/src/components/dpqlEditor/types.ts +0 -203
  598. package/src/components/dpqlEditor/useDpqlProbe.ts +0 -33
  599. package/src/components/dpqlEditor/useDpqlSession.ts +0 -411
  600. package/src/components/form/engine/CompactRow.tsx +0 -2620
  601. package/src/components/form/engine/CompactToolbar.tsx +0 -330
  602. package/src/components/form/engine/FormEngine.stories.tsx +0 -9920
  603. package/src/components/form/engine/FormEngine.tsx +0 -4569
  604. package/src/components/form/engine/FormEngineRemote.stories.tsx +0 -679
  605. package/src/components/form/engine/FormEngineStickyHeaders.stories.tsx +0 -331
  606. package/src/components/form/engine/FormFieldsSkeleton.tsx +0 -82
  607. package/src/components/form/engine/OptionFieldMessages.tsx +0 -477
  608. package/src/components/form/engine/OptionsHelpDialog.tsx +0 -29
  609. package/src/components/form/engine/__fixtures__/basicFormOptions.ts +0 -309
  610. package/src/components/form/engine/__fixtures__/fieldChromeOptions.ts +0 -45
  611. package/src/components/form/engine/_structuredData/SchemaDataView.stories.tsx +0 -233
  612. package/src/components/form/engine/_structuredData/SchemaDataView.tsx +0 -742
  613. package/src/components/form/engine/_structuredData/StructuredDataView.stories.tsx +0 -85
  614. package/src/components/form/engine/_structuredData/StructuredDataView.tsx +0 -75
  615. package/src/components/form/engine/_structuredData/structuredData.ts +0 -145
  616. package/src/components/form/engine/compactRowContext.ts +0 -148
  617. package/src/components/form/engine/compactRowStyles.ts +0 -898
  618. package/src/components/form/engine/compactToolbarContext.ts +0 -69
  619. package/src/components/form/engine/optionActions.ts +0 -128
  620. package/src/components/form/engine/optionsContext.ts +0 -24
  621. package/src/components/form/engine/readFirst.ts +0 -1077
  622. package/src/components/form/engine/rendererTypes.ts +0 -107
  623. package/src/components/form/engine/revealRow.ts +0 -123
  624. package/src/components/form/engine/rowFocus.ts +0 -101
  625. package/src/components/form/engine/rowMenuContext.ts +0 -159
  626. package/src/components/form/engine/rowOpenPicker.ts +0 -27
  627. package/src/components/form/engine/typeChoices.ts +0 -63
  628. package/src/components/form/engine/variants/FormEngineVariants.stories.tsx +0 -159
  629. package/src/components/form/engine/variants/VariantCalmTable.tsx +0 -244
  630. package/src/components/form/engine/variants/VariantCards.tsx +0 -212
  631. package/src/components/form/engine/variants/VariantFocus.tsx +0 -382
  632. package/src/components/form/engine/variants/VariantMinimal.tsx +0 -170
  633. package/src/components/form/engine/variants/focusDemo.ts +0 -145
  634. package/src/components/form/engine/variants/variantModel.ts +0 -223
  635. package/src/components/form/engine/variants/variantParts.tsx +0 -313
  636. package/src/components/form/expressions/DpqlRendering.tsx +0 -85
  637. package/src/components/form/expressions/ExpressionField.stories.tsx +0 -1395
  638. package/src/components/form/expressions/ExpressionField.tsx +0 -503
  639. package/src/components/form/expressions/argumentPresence.ts +0 -213
  640. package/src/components/form/expressions/builder/ExpressionBuilder.stories.tsx +0 -1683
  641. package/src/components/form/expressions/builder/argumentDetail.tsx +0 -17
  642. package/src/components/form/expressions/builder/argumentLabel.tsx +0 -146
  643. package/src/components/form/expressions/builder/argumentSlot.tsx +0 -101
  644. package/src/components/form/expressions/builder/argumentWrapper.tsx +0 -243
  645. package/src/components/form/expressions/builder/confirmMismatchedTypesModal.tsx +0 -120
  646. package/src/components/form/expressions/builder/confirmUnsupportedTypeModal.tsx +0 -69
  647. package/src/components/form/expressions/builder/index.tsx +0 -1545
  648. package/src/components/form/expressions/builder/item.tsx +0 -89
  649. package/src/components/form/expressions/builder/moveToPositionStrip.tsx +0 -156
  650. package/src/components/form/expressions/builder/renderTemplate.tsx +0 -42
  651. package/src/components/form/expressions/dpqlMockLanguage.ts +0 -566
  652. package/src/components/form/expressions/dpqlMockLsp.ts +0 -126
  653. package/src/components/form/expressions/mockExpressions.ts +0 -317
  654. package/src/components/form/expressions/renderExpressionToText.ts +0 -137
  655. package/src/components/form/expressions/types.ts +0 -110
  656. package/src/components/form/expressions/useExpressions.ts +0 -101
  657. package/src/components/form/expressions/useRenderExpression.ts +0 -165
  658. package/src/components/form/fields/Field.stories.tsx +0 -143
  659. package/src/components/form/fields/Field.tsx +0 -732
  660. package/src/components/form/fields/allowed-values/AllowedValues.tsx +0 -297
  661. package/src/components/form/fields/array/ArrayAuto.tsx +0 -237
  662. package/src/components/form/fields/array/ArrayAutoField.stories.tsx +0 -475
  663. package/src/components/form/fields/array/ArrayAutoField.tsx +0 -367
  664. package/src/components/form/fields/auto/AutoFormField.stories.tsx +0 -825
  665. package/src/components/form/fields/auto/AutoFormField.tsx +0 -1164
  666. package/src/components/form/fields/binary/Binary.stories.tsx +0 -122
  667. package/src/components/form/fields/binary/Binary.tsx +0 -91
  668. package/src/components/form/fields/boolean/Boolean.stories.tsx +0 -125
  669. package/src/components/form/fields/boolean/Boolean.tsx +0 -34
  670. package/src/components/form/fields/byte-size/ByteSize.stories.tsx +0 -87
  671. package/src/components/form/fields/byte-size/ByteSize.tsx +0 -58
  672. package/src/components/form/fields/color/Color.stories.tsx +0 -99
  673. package/src/components/form/fields/color/Color.tsx +0 -46
  674. package/src/components/form/fields/cron/Cron.stories.tsx +0 -68
  675. package/src/components/form/fields/cron/Cron.tsx +0 -80
  676. package/src/components/form/fields/date/Date.stories.tsx +0 -77
  677. package/src/components/form/fields/date/Date.tsx +0 -55
  678. package/src/components/form/fields/emittedValues.ts +0 -70
  679. package/src/components/form/fields/file/File.stories.tsx +0 -161
  680. package/src/components/form/fields/file/File.tsx +0 -227
  681. package/src/components/form/fields/long-string/LongString.stories.tsx +0 -120
  682. package/src/components/form/fields/long-string/LongString.tsx +0 -130
  683. package/src/components/form/fields/markdown/Markdown.stories.tsx +0 -76
  684. package/src/components/form/fields/markdown/Markdown.tsx +0 -81
  685. package/src/components/form/fields/markdown/MarkdownView.tsx +0 -222
  686. package/src/components/form/fields/multi-select/MultiSelectFormField.tsx +0 -139
  687. package/src/components/form/fields/number/Number.stories.tsx +0 -159
  688. package/src/components/form/fields/number/Number.tsx +0 -160
  689. package/src/components/form/fields/object/Object.stories.tsx +0 -398
  690. package/src/components/form/fields/object/Object.tsx +0 -255
  691. package/src/components/form/fields/radio-group/RadioGroup.stories.tsx +0 -95
  692. package/src/components/form/fields/radio-group/RadioGroup.tsx +0 -46
  693. package/src/components/form/fields/radio-group/images/java-96x128.png +0 -0
  694. package/src/components/form/fields/radio-group/images/python-129x128.png +0 -0
  695. package/src/components/form/fields/radio-group/images/qore-106x128.png +0 -0
  696. package/src/components/form/fields/rich-text/RichText.stories.tsx +0 -260
  697. package/src/components/form/fields/rich-text/RichText.tsx +0 -537
  698. package/src/components/form/fields/schema-definition/CatalogLeafForm.tsx +0 -242
  699. package/src/components/form/fields/schema-definition/CatalogNodeEditor.tsx +0 -758
  700. package/src/components/form/fields/schema-definition/Hint.tsx +0 -22
  701. package/src/components/form/fields/schema-definition/InlineValidationBanner.tsx +0 -138
  702. package/src/components/form/fields/schema-definition/Loader.tsx +0 -20
  703. package/src/components/form/fields/schema-definition/MigrationsTab.tsx +0 -187
  704. package/src/components/form/fields/schema-definition/SchemaDefinitionField.stories.tsx +0 -286
  705. package/src/components/form/fields/schema-definition/TableEditor.tsx +0 -155
  706. package/src/components/form/fields/schema-definition/TablesTab.tsx +0 -138
  707. package/src/components/form/fields/schema-definition/catalog.ts +0 -237
  708. package/src/components/form/fields/schema-definition/helpers.ts +0 -90
  709. package/src/components/form/fields/schema-definition/index.tsx +0 -418
  710. package/src/components/form/fields/schema-definition/mockCatalog.ts +0 -325
  711. package/src/components/form/fields/schema-definition/mockDefinition.ts +0 -111
  712. package/src/components/form/fields/schema-definition/referenceSuggestions.tsx +0 -152
  713. package/src/components/form/fields/schema-definition/starterTemplate.ts +0 -68
  714. package/src/components/form/fields/schema-definition/types.ts +0 -185
  715. package/src/components/form/fields/schema-definition/useSchemaOptionCatalog.ts +0 -49
  716. package/src/components/form/fields/select/Select.stories.tsx +0 -872
  717. package/src/components/form/fields/select/Select.tsx +0 -624
  718. package/src/components/form/fields/select/SelectCollection.tsx +0 -594
  719. package/src/components/form/fields/string/String.stories.tsx +0 -86
  720. package/src/components/form/fields/string/String.tsx +0 -43
  721. package/src/components/form/fields/template/ExampleValueModal.stories.tsx +0 -114
  722. package/src/components/form/fields/template/ExampleValueModal.tsx +0 -99
  723. package/src/components/form/fields/template/ReadOnlyTemplateTag.tsx +0 -47
  724. package/src/components/form/fields/template/TemplateField.stories.tsx +0 -1121
  725. package/src/components/form/fields/template/TemplateField.tsx +0 -1717
  726. package/src/components/form/fields/template/TemplateText.tsx +0 -115
  727. package/src/components/form/fields/template/__fixtures__/longExampleValue.ts +0 -7
  728. package/src/components/form/fields/template/__fixtures__/multiLevelTemplates.json +0 -147
  729. package/src/components/form/fields/template/__fixtures__/templates.json +0 -83
  730. package/src/components/form/fields/timeout/Timeout.stories.tsx +0 -228
  731. package/src/components/form/fields/timeout/Timeout.tsx +0 -87
  732. package/src/components/form/fields/url/Url.stories.tsx +0 -94
  733. package/src/components/form/fields/url/Url.tsx +0 -85
  734. package/src/components/form/index.tsx +0 -47
  735. package/src/components/imageLightbox/ImageLightbox.stories.tsx +0 -238
  736. package/src/components/imageLightbox/ImageLightbox.tsx +0 -236
  737. package/src/components/imageLightbox/index.ts +0 -1
  738. package/src/components/log/Log.stories.tsx +0 -333
  739. package/src/components/log/Log.tsx +0 -285
  740. package/src/components/menu/Menu.stories.tsx +0 -155
  741. package/src/components/menu/Menu.tsx +0 -312
  742. package/src/components/qonsoleSmartInput/QonsoleSmartInput.stories.tsx +0 -797
  743. package/src/components/qonsoleSmartInput/QonsoleSmartInput.tsx +0 -105
  744. package/src/components/qonsoleSmartInput/index.ts +0 -16
  745. package/src/components/qonsoleSmartInput/qonsoleInserter.ts +0 -77
  746. package/src/components/qonsoleSmartInput/types.ts +0 -133
  747. package/src/components/qonsoleSmartInput/useQonsoleSession.ts +0 -124
  748. package/src/components/searchFilterBar/SearchFilterBar.stories.tsx +0 -62
  749. package/src/components/searchFilterBar/SearchFilterBar.tsx +0 -144
  750. package/src/components/searchFilterBar/index.ts +0 -1
  751. package/src/components/smartEditor/MarkdownDoc.tsx +0 -190
  752. package/src/components/smartEditor/SmartEditor.stories.tsx +0 -475
  753. package/src/components/smartEditor/SmartEditor.tsx +0 -808
  754. package/src/components/smartEditor/__fixtures__/mockLspServer.ts +0 -205
  755. package/src/components/smartEditor/helpers.ts +0 -217
  756. package/src/components/smartEditor/index.ts +0 -35
  757. package/src/components/smartEditor/styling.ts +0 -45
  758. package/src/components/smartEditor/types.ts +0 -211
  759. package/src/components/smartEditor/useLspAutocomplete.ts +0 -758
  760. package/src/components/smartEditor/useLspDiagnosticDecorations.ts +0 -125
  761. package/src/components/smartEditor/useLspHover.ts +0 -230
  762. package/src/components/smartEditor/useLspSemanticTokens.ts +0 -298
  763. package/src/components/smartEditor/useLspSession.ts +0 -231
  764. package/src/components/smartEditor/useLspSignatureHelp.ts +0 -198
  765. package/src/components/supportTicket/AttachmentChips.stories.tsx +0 -171
  766. package/src/components/supportTicket/AttachmentChips.tsx +0 -147
  767. package/src/components/supportTicket/InterfaceReferenceTags.stories.tsx +0 -257
  768. package/src/components/supportTicket/InterfaceReferenceTags.tsx +0 -129
  769. package/src/components/supportTicket/ReferencePicker.stories.tsx +0 -584
  770. package/src/components/supportTicket/ReferencePicker.tsx +0 -563
  771. package/src/components/supportTicket/TicketConversation.stories.tsx +0 -121
  772. package/src/components/supportTicket/TicketHeader.stories.tsx +0 -183
  773. package/src/components/supportTicket/TicketHeader.tsx +0 -247
  774. package/src/components/supportTicket/TicketMetaTags.stories.tsx +0 -103
  775. package/src/components/supportTicket/TicketMetaTags.tsx +0 -85
  776. package/src/components/supportTicket/TicketReplyBox.stories.tsx +0 -354
  777. package/src/components/supportTicket/TicketReplyBox.tsx +0 -150
  778. package/src/components/supportTicket/__fixtures__/kindMarks.ts +0 -28
  779. package/src/components/supportTicket/attachmentAccess.ts +0 -97
  780. package/src/components/supportTicket/fileToAttachment.ts +0 -24
  781. package/src/components/supportTicket/index.ts +0 -10
  782. package/src/components/supportTicket/meta.ts +0 -206
  783. package/src/components/supportTicket/ticketModel.ts +0 -131
  784. package/src/components/supportTicket/useLoadedImages.ts +0 -73
  785. package/src/components/ticketReferences/TicketReferences.stories.tsx +0 -315
  786. package/src/components/ticketReferences/TicketReferences.tsx +0 -906
  787. package/src/components/ticketReferences/index.ts +0 -2
  788. package/src/components/ticketThread/TicketThread.stories.tsx +0 -829
  789. package/src/components/ticketThread/TicketThread.tsx +0 -719
  790. package/src/components/ticketThread/index.ts +0 -6
  791. package/src/contexts/FetchContext.tsx +0 -25
  792. package/src/contexts/ReqraftContext.tsx +0 -9
  793. package/src/contexts/StorageContext.tsx +0 -33
  794. package/src/global.d.ts +0 -4
  795. package/src/helpers/allowedValues.ts +0 -249
  796. package/src/helpers/choiceChip.ts +0 -227
  797. package/src/helpers/common.ts +0 -326
  798. package/src/helpers/dpqlDetection.ts +0 -209
  799. package/src/helpers/expressions.ts +0 -140
  800. package/src/helpers/optionUiTypes.ts +0 -199
  801. package/src/helpers/options.ts +0 -150
  802. package/src/helpers/providerValue.ts +0 -125
  803. package/src/helpers/scrollbar.ts +0 -32
  804. package/src/helpers/singleLineString.ts +0 -61
  805. package/src/helpers/templateItems.ts +0 -81
  806. package/src/helpers/templateText.ts +0 -350
  807. package/src/helpers/templates.ts +0 -602
  808. package/src/helpers/validations.ts +0 -2085
  809. package/src/hooks/useArgSchema.ts +0 -37
  810. package/src/hooks/useCoarsePointer.ts +0 -30
  811. package/src/hooks/useFetch/useFetch.stories.tsx +0 -379
  812. package/src/hooks/useFetch/useFetch.tsx +0 -154
  813. package/src/hooks/usePhoneViewport.ts +0 -34
  814. package/src/hooks/useQorusTypes.ts +0 -233
  815. package/src/hooks/useReqraftProperty.ts +0 -16
  816. package/src/hooks/useStorage/useStorage.stories.tsx +0 -168
  817. package/src/hooks/useStorage/useStorage.ts +0 -35
  818. package/src/hooks/useTemplates.ts +0 -123
  819. package/src/hooks/useValidation.ts +0 -9
  820. package/src/hooks/useWebSocket/useWebSocket.ts +0 -224
  821. package/src/hooks/useWebSocket/useWebsocket.stories.tsx +0 -640
  822. package/src/hooks/useWhyDidYouUpdate.ts +0 -38
  823. package/src/index.tsx +0 -86
  824. package/src/providers/FetchProvider.tsx +0 -40
  825. package/src/providers/ReqraftProvider.tsx +0 -52
  826. package/src/providers/StorageProvider.tsx +0 -131
  827. package/src/stores/currentUser/currentUser.stories.tsx +0 -100
  828. package/src/stores/currentUser/currentUser.tsx +0 -94
  829. package/src/stories/Data/fileFieldArgSchema.json +0 -86
  830. package/src/stories/Tests/utils.ts +0 -320
  831. package/src/stories/storyNetwork.ts +0 -92
  832. package/src/stories/tracking.tsx +0 -206
  833. package/src/tracking/browser/attach.ts +0 -186
  834. package/src/tracking/browser/env.ts +0 -78
  835. package/src/tracking/core/consent.ts +0 -37
  836. package/src/tracking/core/engagement.ts +0 -47
  837. package/src/tracking/core/experiments.ts +0 -258
  838. package/src/tracking/core/hash.ts +0 -26
  839. package/src/tracking/core/ids.ts +0 -25
  840. package/src/tracking/core/observable.ts +0 -23
  841. package/src/tracking/core/queue.ts +0 -131
  842. package/src/tracking/core/sections.ts +0 -166
  843. package/src/tracking/core/storage.ts +0 -69
  844. package/src/tracking/core/tracker.ts +0 -417
  845. package/src/tracking/core/types.ts +0 -162
  846. package/src/tracking/core/utm.ts +0 -23
  847. package/src/tracking/index.ts +0 -72
  848. package/src/tracking/markup.ts +0 -17
  849. package/src/tracking/react/Experiment.tsx +0 -44
  850. package/src/tracking/react/TrackingProvider.tsx +0 -56
  851. package/src/tracking/react/hooks.ts +0 -106
  852. package/src/tracking/react/index.ts +0 -13
  853. package/src/tracking/testing.ts +0 -108
  854. package/src/tracking/ui/ExperimentCard.stories.tsx +0 -296
  855. package/src/tracking/ui/ExperimentCard.tsx +0 -667
  856. package/src/tracking/ui/ExperimentsOverlay.stories.tsx +0 -155
  857. package/src/tracking/ui/ExperimentsOverlay.tsx +0 -437
  858. package/src/tracking/ui/anchor.ts +0 -180
  859. package/src/tracking/ui/card.ts +0 -464
  860. package/src/tracking/ui/client.ts +0 -117
  861. package/src/tracking/ui/index.ts +0 -77
  862. package/src/tracking/ui/types.ts +0 -110
  863. package/src/tracking/ui/useExperimentsAdmin.ts +0 -103
  864. package/src/types/Form.ts +0 -29
  865. package/src/types.ts +0 -14
  866. package/src/utils/datetime.ts +0 -10
  867. package/src/utils/fetch.ts +0 -457
  868. package/src/utils/lspClient.ts +0 -711
  869. package/src/utils/lspClient.types.ts +0 -211
  870. package/src/utils/queryUnlessCancelled.ts +0 -28
  871. package/src/utils/websocket.ts +0 -293
  872. package/vite.config.ts +0 -58
  873. package/vitest.config.ts +0 -69
@@ -0,0 +1,336 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
14
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
15
+ if (ar || !(i in from)) {
16
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
17
+ ar[i] = from[i];
18
+ }
19
+ }
20
+ return to.concat(ar || Array.prototype.slice.call(from));
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.useEditingAids = void 0;
24
+ var jsx_runtime_1 = require("react/jsx-runtime");
25
+ // Copyright 2026 Qore Technologies, s.r.o.
26
+ var reqore_1 = require("@qoretechnologies/reqore");
27
+ var react_1 = require("react");
28
+ var slate_1 = require("slate");
29
+ var slate_react_1 = require("slate-react");
30
+ var editingAids_1 = require("./editingAids");
31
+ var modKey = function (event) { return event.metaKey || event.ctrlKey; };
32
+ /**
33
+ * The editing aids of a code editor (`editingAids`), for a Slate editor: the keys - pairs closed, a selection
34
+ * wrapped, a closing bracket stepped over, an empty pair taken back whole, a line's indent kept on Enter, a line
35
+ * moved (Alt+↑/↓) or copied (Shift+Alt+↑/↓), the document formatted (Shift+Alt+F), completion asked for
36
+ * (Ctrl+Space), the search opened (Ctrl+F, Cmd+F) with its replace (Ctrl+H, Cmd+Alt+F) - and the marks: the
37
+ * bracket matching the one at the caret, and every match of the search.
38
+ */
39
+ var useEditingAids = function (_a) {
40
+ var editorRef = _a.editorRef, converter = _a.converter, nodes = _a.nodes, language = _a.language, readOnly = _a.readOnly, onFormat = _a.onFormat, onComplete = _a.onComplete;
41
+ var editorOf = function () { return editorRef.current; };
42
+ // the caret the bracket match is drawn for: the selection, as the editor last reported it
43
+ var _b = (0, react_1.useState)(null), caret = _b[0], setCaret = _b[1];
44
+ var _c = (0, react_1.useState)({
45
+ open: false,
46
+ replace: false,
47
+ query: '',
48
+ replacement: '',
49
+ caseSensitive: false,
50
+ current: 0,
51
+ }), find = _c[0], setFind = _c[1];
52
+ // the search, drawn: its box is selected when it opens
53
+ var findBarRef = (0, react_1.useRef)(null);
54
+ var segments = (0, react_1.useMemo)(function () { return (0, editingAids_1.textSegments)(nodes, converter); }, [nodes, converter]);
55
+ var masked = (0, react_1.useMemo)(function () { return (0, editingAids_1.maskChips)(converter.fromSlateNodes(nodes), segments); }, [nodes, converter, segments]);
56
+ /** The editor's caret, as a plain-text offset; null for none or a selection. */
57
+ var caretOffset = (0, react_1.useCallback)(function () {
58
+ var editor = editorOf();
59
+ var at = editor === null || editor === void 0 ? void 0 : editor.selection;
60
+ if (!at || !slate_1.Range.isCollapsed(at))
61
+ return null;
62
+ try {
63
+ return converter.selectionToOffset(editor.children, at.anchor.path, at.anchor.offset);
64
+ }
65
+ catch (_a) {
66
+ // a selection the editor no longer has
67
+ return null;
68
+ }
69
+ }, [converter]);
70
+ /** Told of each change of the editor, its selection's included: the bracket match follows the caret. */
71
+ var onEditorChange = (0, react_1.useCallback)(function () {
72
+ setCaret(caretOffset());
73
+ }, [caretOffset]);
74
+ var bracketPair = (0, react_1.useMemo)(function () { return (language && caret !== null ? (0, editingAids_1.matchingBracket)(masked, caret, language) : undefined); }, [language, caret, masked]);
75
+ var matches = (0, react_1.useMemo)(function () { return (find.open ? (0, editingAids_1.findMatches)(masked, find.query, { caseSensitive: find.caseSensitive }) : []); }, [find.open, find.query, find.caseSensitive, masked]);
76
+ var current = matches.length ? Math.min(find.current, matches.length - 1) : -1;
77
+ var decorate = (0, react_1.useCallback)(function (entry) {
78
+ var node = entry[0], path = entry[1];
79
+ if (!slate_1.Text.isText(node))
80
+ return [];
81
+ var ranges = [];
82
+ if (bracketPair) {
83
+ for (var _i = 0, _a = (0, editingAids_1.spansInLeaf)(segments, path, [
84
+ [bracketPair[0], bracketPair[0] + 1],
85
+ [bracketPair[1], bracketPair[1] + 1],
86
+ ]); _i < _a.length; _i++) {
87
+ var _b = _a[_i], start = _b[0], end = _b[1];
88
+ ranges.push({
89
+ anchor: { path: path, offset: start },
90
+ focus: { path: path, offset: end },
91
+ bracketMatch: true,
92
+ });
93
+ }
94
+ }
95
+ if (matches.length) {
96
+ matches.forEach(function (span, index) {
97
+ for (var _i = 0, _a = (0, editingAids_1.spansInLeaf)(segments, path, [span]); _i < _a.length; _i++) {
98
+ var _b = _a[_i], start = _b[0], end = _b[1];
99
+ ranges.push(__assign({ anchor: { path: path, offset: start }, focus: { path: path, offset: end }, findMatch: true }, (index === current ? { findCurrent: true } : {})));
100
+ }
101
+ });
102
+ }
103
+ return ranges;
104
+ }, [bracketPair, matches, current, segments]);
105
+ /** The match `index` selected in the editor, as a search moves to it. */
106
+ var selectMatch = (0, react_1.useCallback)(function (index) {
107
+ var editor = editorOf();
108
+ var span = matches[index];
109
+ if (!editor || !span)
110
+ return;
111
+ var anchor = (0, editingAids_1.pointAt)(segments, span[0]);
112
+ var focus = (0, editingAids_1.pointAt)(segments, span[1]);
113
+ if (anchor && focus) {
114
+ try {
115
+ slate_1.Transforms.select(editor, { anchor: anchor, focus: focus });
116
+ }
117
+ catch (_a) {
118
+ // a point the editor no longer has: the search marks it all the same
119
+ }
120
+ }
121
+ }, [matches, segments]);
122
+ var step = (0, react_1.useCallback)(function (by) {
123
+ if (!matches.length)
124
+ return;
125
+ var next = (current + by + matches.length) % matches.length;
126
+ setFind(function (state) { return (__assign(__assign({}, state), { current: next })); });
127
+ selectMatch(next);
128
+ }, [matches.length, current, selectMatch]);
129
+ var replaceSpans = (0, react_1.useCallback)(function (spans) {
130
+ var editor = editorOf();
131
+ if (!editor || readOnly)
132
+ return;
133
+ // from the last to the first: a replacement does not move the spans before it
134
+ slate_1.Editor.withoutNormalizing(editor, function () {
135
+ for (var _i = 0, _a = __spreadArray([], spans, true).sort(function (a, b) { return b[0] - a[0]; }); _i < _a.length; _i++) {
136
+ var _b = _a[_i], start = _b[0], end = _b[1];
137
+ var anchor = (0, editingAids_1.pointAt)(segments, start);
138
+ var focus_1 = (0, editingAids_1.pointAt)(segments, end);
139
+ if (anchor && focus_1 && anchor.path.join() === focus_1.path.join()) {
140
+ slate_1.Transforms.insertText(editor, find.replacement, { at: { anchor: anchor, focus: focus_1 } });
141
+ }
142
+ }
143
+ });
144
+ }, [segments, find.replacement, readOnly]);
145
+ var openFind = (0, react_1.useCallback)(function (replace) {
146
+ var editor = editorOf();
147
+ var query;
148
+ if ((editor === null || editor === void 0 ? void 0 : editor.selection) && !slate_1.Range.isCollapsed(editor.selection)) {
149
+ try {
150
+ var selected = slate_1.Editor.string(editor, editor.selection);
151
+ if (selected && !selected.includes('\n'))
152
+ query = selected;
153
+ }
154
+ catch (_a) {
155
+ // nothing selected the search can start with
156
+ }
157
+ }
158
+ setFind(function (state) { return (__assign(__assign({}, state), { open: true, replace: replace, query: query !== null && query !== void 0 ? query : state.query, current: 0 })); });
159
+ setTimeout(function () {
160
+ var _a, _b;
161
+ return (_b = (_a = findBarRef.current) === null || _a === void 0 ? void 0 : _a.querySelector('.smart-editor-find-input input, input')) === null || _b === void 0 ? void 0 : _b.select();
162
+ }, 0);
163
+ }, []);
164
+ var closeFind = (0, react_1.useCallback)(function () {
165
+ setFind(function (state) { return (__assign(__assign({}, state), { open: false })); });
166
+ try {
167
+ var editor = editorOf();
168
+ if (editor)
169
+ slate_react_1.ReactEditor.focus(editor);
170
+ }
171
+ catch (_a) {
172
+ // the editor is not in the document
173
+ }
174
+ }, []);
175
+ var onKeyDown = (0, react_1.useCallback)(function (event) {
176
+ var _a, _b, _c, _d, _e;
177
+ var editor = editorOf();
178
+ if (!editor)
179
+ return false;
180
+ var take = function () {
181
+ event.preventDefault();
182
+ event.stopPropagation();
183
+ return true;
184
+ };
185
+ // the search, opened over the text: Ctrl+F, Cmd+F; its replace: Ctrl+H, Cmd+Alt+F
186
+ if (modKey(event) && !event.shiftKey && event.key.toLowerCase() === 'f') {
187
+ openFind(event.altKey);
188
+ return take();
189
+ }
190
+ if (event.ctrlKey && !event.metaKey && event.key.toLowerCase() === 'h') {
191
+ openFind(true);
192
+ return take();
193
+ }
194
+ if (event.ctrlKey && event.key === ' ' && !event.metaKey && !event.altKey) {
195
+ if (!onComplete)
196
+ return false;
197
+ onComplete();
198
+ return take();
199
+ }
200
+ if (readOnly)
201
+ return false;
202
+ if (event.shiftKey && event.altKey && event.key.toLowerCase() === 'f' && onFormat) {
203
+ onFormat();
204
+ return take();
205
+ }
206
+ var at = editor.selection;
207
+ if (!at)
208
+ return false;
209
+ // a line moved up or down (Alt+↑/↓), or copied there (Shift+Alt+↑/↓)
210
+ if (event.altKey &&
211
+ (event.key === 'ArrowUp' || event.key === 'ArrowDown') &&
212
+ !modKey(event)) {
213
+ var line = at.anchor.path[0];
214
+ var target = event.key === 'ArrowUp' ? line - 1 : line + 1;
215
+ if (event.shiftKey) {
216
+ var copy = JSON.parse(JSON.stringify(editor.children[line]));
217
+ slate_1.Transforms.insertNodes(editor, copy, { at: [event.key === 'ArrowUp' ? line : line + 1] });
218
+ return take();
219
+ }
220
+ if (target < 0 || target >= editor.children.length)
221
+ return take();
222
+ slate_1.Transforms.moveNodes(editor, { at: [line], to: [target] });
223
+ return take();
224
+ }
225
+ if (!language)
226
+ return false;
227
+ var collapsed = slate_1.Range.isCollapsed(at);
228
+ var offset = caretOffset();
229
+ var next = offset !== null ? ((_a = masked[offset]) !== null && _a !== void 0 ? _a : '') : '';
230
+ var before = offset !== null ? ((_b = masked[offset - 1]) !== null && _b !== void 0 ? _b : '') : '';
231
+ // Enter keeps the line's indent
232
+ if (event.key === 'Enter' &&
233
+ !event.shiftKey &&
234
+ !modKey(event) &&
235
+ !event.altKey &&
236
+ collapsed) {
237
+ var lineNode = slate_1.Editor.node(editor, [at.anchor.path[0]])[0];
238
+ var first = (slate_1.Element.isElement(lineNode) ? lineNode.children[0] : undefined);
239
+ var indent = (_e = (_d = /^[ \t]*/.exec((_c = first === null || first === void 0 ? void 0 : first.text) !== null && _c !== void 0 ? _c : '')) === null || _d === void 0 ? void 0 : _d[0]) !== null && _e !== void 0 ? _e : '';
240
+ if (!indent)
241
+ return false;
242
+ slate_1.Editor.insertBreak(editor);
243
+ slate_1.Transforms.insertText(editor, indent);
244
+ return take();
245
+ }
246
+ // Backspace between an empty pair takes both
247
+ if (event.key === 'Backspace' && collapsed && before && next) {
248
+ var pair = language.autoClosingPairs.find(function (each) { return each.open === before && each.close === next; });
249
+ if (pair) {
250
+ slate_1.Transforms.delete(editor, { distance: 1, unit: 'character' });
251
+ slate_1.Transforms.delete(editor, { distance: 1, unit: 'character', reverse: true });
252
+ return take();
253
+ }
254
+ return false;
255
+ }
256
+ if (event.key.length !== 1 || modKey(event) || event.altKey)
257
+ return false;
258
+ var _f = (0, editingAids_1.autoClosingPairFor)(language, event.key), opens = _f.opens, closes = _f.closes;
259
+ // a selection typed over with a bracket or a quote is wrapped in it
260
+ if (!collapsed && opens) {
261
+ var _g = slate_1.Range.edges(at), start_1 = _g[0], end_1 = _g[1];
262
+ slate_1.Editor.withoutNormalizing(editor, function () {
263
+ slate_1.Transforms.insertText(editor, opens.close, { at: end_1 });
264
+ slate_1.Transforms.insertText(editor, opens.open, { at: start_1 });
265
+ });
266
+ var startAfter = { path: start_1.path, offset: start_1.offset + opens.open.length };
267
+ var endAfter = start_1.path.join() === end_1.path.join() ?
268
+ { path: end_1.path, offset: end_1.offset + opens.open.length }
269
+ : end_1;
270
+ slate_1.Transforms.select(editor, { anchor: startAfter, focus: endAfter });
271
+ return take();
272
+ }
273
+ if (!collapsed || offset === null)
274
+ return false;
275
+ /* A closing bracket typed before the same one steps over it; a quote does, where it closes the string the
276
+ caret is in. */
277
+ var isQuote = !!opens && opens.open === opens.close;
278
+ if (closes && next === event.key && (!isQuote || (0, editingAids_1.inString)(masked, offset, language.quotes))) {
279
+ slate_1.Transforms.move(editor, { distance: 1, unit: 'character' });
280
+ return take();
281
+ }
282
+ // a pair opened is closed, where it is opened before nothing, a space or what closes
283
+ if (opens &&
284
+ (0, editingAids_1.closesBefore)(language, next) &&
285
+ !(opens.notInString && (0, editingAids_1.inString)(masked, offset, language.quotes))) {
286
+ // a quote typed after a word is an apostrophe
287
+ if (opens.open === opens.close && /[\p{L}\p{N}_]/u.test(before))
288
+ return false;
289
+ slate_1.Transforms.insertText(editor, opens.open + opens.close);
290
+ slate_1.Transforms.move(editor, { distance: 1, unit: 'character', reverse: true });
291
+ return take();
292
+ }
293
+ return false;
294
+ }, [language, readOnly, onFormat, onComplete, caretOffset, masked, openFind]);
295
+ // a search open on a text that changes keeps its place among the matches
296
+ (0, react_1.useEffect)(function () {
297
+ if (find.current >= matches.length && matches.length) {
298
+ setFind(function (state) { return (__assign(__assign({}, state), { current: matches.length - 1 })); });
299
+ }
300
+ }, [matches.length, find.current]);
301
+ var findBar = find.open ?
302
+ (0, jsx_runtime_1.jsx)("div", { ref: findBarRef, className: 'smart-editor-find-bar', children: (0, jsx_runtime_1.jsxs)(reqore_1.ReqoreControlGroup, { className: 'smart-editor-find', size: 'small', fluid: true, wrap: true, role: 'search', "aria-label": 'Find in the text', onKeyDown: function (event) {
303
+ if (event.key === 'Escape') {
304
+ event.preventDefault();
305
+ event.stopPropagation();
306
+ closeFind();
307
+ }
308
+ }, children: [(0, jsx_runtime_1.jsx)(reqore_1.ReqoreInput, { className: 'smart-editor-find-input', icon: 'SearchLine', placeholder: 'Find', "aria-label": 'Find', value: find.query, focusRules: { type: 'auto' }, onChange: function (event) {
309
+ return setFind(function (state) { return (__assign(__assign({}, state), { query: event.target.value, current: 0 })); });
310
+ }, onKeyDown: function (event) {
311
+ if (event.key === 'Enter') {
312
+ event.preventDefault();
313
+ step(event.shiftKey ? -1 : 1);
314
+ }
315
+ }, fluid: true, minimal: true }), (0, jsx_runtime_1.jsx)(reqore_1.ReqoreTag, { className: 'smart-editor-find-count', size: 'small', minimal: true, label: !find.query ? 'No search'
316
+ : matches.length ?
317
+ "".concat(current + 1, " of ").concat(matches.length)
318
+ : 'No results' }), (0, jsx_runtime_1.jsx)(reqore_1.ReqoreButton, { className: 'smart-editor-find-case', fixed: true, compact: true, minimal: true, active: find.caseSensitive, "aria-pressed": find.caseSensitive, "aria-label": 'Match case', tooltip: 'Match case', onClick: function () {
319
+ return setFind(function (state) { return (__assign(__assign({}, state), { caseSensitive: !state.caseSensitive, current: 0 })); });
320
+ }, children: "Aa" }), (0, jsx_runtime_1.jsx)(reqore_1.ReqoreButton, { className: 'smart-editor-find-previous', fixed: true, compact: true, minimal: true, icon: 'ArrowUpSLine', "aria-label": 'Previous match', tooltip: 'Previous match (Shift+Enter)', disabled: !matches.length, onClick: function () { return step(-1); } }), (0, jsx_runtime_1.jsx)(reqore_1.ReqoreButton, { className: 'smart-editor-find-next', fixed: true, compact: true, minimal: true, icon: 'ArrowDownSLine', "aria-label": 'Next match', tooltip: 'Next match (Enter)', disabled: !matches.length, onClick: function () { return step(1); } }), !readOnly ?
321
+ (0, jsx_runtime_1.jsx)(reqore_1.ReqoreButton, { className: 'smart-editor-find-toggle-replace', fixed: true, compact: true, minimal: true, icon: find.replace ? 'ArrowUpSLine' : 'ArrowDownSLine', "aria-label": find.replace ? 'Hide replace' : 'Replace', tooltip: find.replace ? 'Hide replace' : 'Replace', onClick: function () { return setFind(function (state) { return (__assign(__assign({}, state), { replace: !state.replace })); }); } })
322
+ : null, (0, jsx_runtime_1.jsx)(reqore_1.ReqoreButton, { className: 'smart-editor-find-close', fixed: true, compact: true, minimal: true, icon: 'CloseLine', "aria-label": 'Close the search', tooltip: 'Close (Escape)', onClick: closeFind }), find.replace && !readOnly ?
323
+ (0, jsx_runtime_1.jsxs)(reqore_1.ReqoreControlGroup, { fluid: true, size: 'small', wrap: true, className: 'smart-editor-replace', children: [(0, jsx_runtime_1.jsx)(reqore_1.ReqoreInput, { className: 'smart-editor-replace-input', icon: 'EditLine', placeholder: 'Replace with', "aria-label": 'Replace with', value: find.replacement, onChange: function (event) {
324
+ return setFind(function (state) { return (__assign(__assign({}, state), { replacement: event.target.value })); });
325
+ }, onKeyDown: function (event) {
326
+ if (event.key === 'Enter' && current >= 0) {
327
+ event.preventDefault();
328
+ replaceSpans([matches[current]]);
329
+ }
330
+ }, fluid: true, minimal: true }), (0, jsx_runtime_1.jsx)(reqore_1.ReqoreButton, { className: 'smart-editor-replace-one', fixed: true, compact: true, disabled: current < 0, onClick: function () { return replaceSpans([matches[current]]); }, children: "Replace" }), (0, jsx_runtime_1.jsx)(reqore_1.ReqoreButton, { className: 'smart-editor-replace-all', fixed: true, compact: true, disabled: !matches.length, onClick: function () { return replaceSpans(matches); }, children: "Replace all" })] })
331
+ : null] }) })
332
+ : null;
333
+ return { decorate: decorate, onKeyDown: onKeyDown, onEditorChange: onEditorChange, findBar: findBar, findOpen: find.open };
334
+ };
335
+ exports.useEditingAids = useEditingAids;
336
+ //# sourceMappingURL=useEditingAids.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEditingAids.js","sourceRoot":"","sources":["../../../src/components/smartEditor/useEditingAids.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
- import { BaseEditor } from 'slate';
1
+ import { BaseEditor, BasePoint } from 'slate';
2
2
  import { HistoryEditor } from 'slate-history';
3
3
  import { ReactEditor } from 'slate-react';
4
4
  import { ILspCompletionItem } from '../../utils/lspClient.types';
5
5
  import { ISlateConverter, ISlateElement, TCompletionInserter } from './types';
6
+ import type { ITemplateNode } from '../../helpers/templateTree';
7
+ export declare const COMPLETION_KIND_CHIPS: Record<number, string>;
6
8
  export interface ICompletionDropdownItem {
7
9
  label: string;
8
10
  value: string;
@@ -24,7 +26,9 @@ export interface ICompletionGroup {
24
26
  }
25
27
  export interface IUseLspAutocompleteOptions {
26
28
  /** Function that requests completions at a plain-text offset. */
27
- getCompletions: (plainText: string, offset: number) => Promise<ILspCompletionItem[]>;
29
+ getCompletions: (plainText: string, offset: number,
30
+ /** What is typed before the caret in the text it is in - never a chip's text before it. */
31
+ typedInText?: string) => Promise<ILspCompletionItem[]>;
28
32
  /** Whether the LSP session is ready to serve requests. */
29
33
  isReady: boolean;
30
34
  /** Characters that open the dropdown. Defaults to `{., :, space}`. */
@@ -36,6 +40,21 @@ export interface IUseLspAutocompleteOptions {
36
40
  * value is inserted as a tag element, plain text, with re-trigger, etc.
37
41
  */
38
42
  inserter: TCompletionInserter;
43
+ /**
44
+ * What the list says where it has nothing to offer at the caret (`plainText` up to `offset`), or undefined for no
45
+ * list there: "No record fields here" for an `@` where there is no record (qorus#646).
46
+ */
47
+ emptyMessage?: (plainText: string, offset: number) => string | undefined;
48
+ /**
49
+ * Takes what is written at the caret as a whole reference - its chip - where the list has nothing more to offer
50
+ * and Enter or Tab is pressed (`commitTypedReferences`); whether anything was taken.
51
+ */
52
+ commitTyped?: (editor: BaseEditor & ReactEditor & HistoryEditor) => boolean;
53
+ /**
54
+ * What the list says above its rows where none of them is what is written (only Browse all templates, or the
55
+ * whole of a context): a context of free keys, a reference naming nothing - what to write next (qorus#646).
56
+ */
57
+ noteAt?: (plainText: string, offset: number) => string | undefined;
39
58
  }
40
59
  export interface IUseLspAutocompleteResult {
41
60
  items: ICompletionDropdownItem[];
@@ -43,20 +62,104 @@ export interface IUseLspAutocompleteResult {
43
62
  isOpen: boolean;
44
63
  isReplaceMode: boolean;
45
64
  isFetching: boolean;
65
+ /** What the open list says in place of rows, where nothing can be offered (`emptyMessage`). */
66
+ emptyMessage?: string;
67
+ /** What the open list says above its rows, where it lists nothing of what is written (`noteAt`). */
68
+ note?: string;
69
+ /** The list is open, or asked for and on its way. */
70
+ isActive: boolean;
46
71
  focusedIndex: number;
47
72
  close: () => void;
48
73
  onSlateChange: (editor: BaseEditor & ReactEditor & HistoryEditor, nodes: ISlateElement[]) => void;
49
74
  onItemSelect: (item: ICompletionDropdownItem, editor: BaseEditor & ReactEditor & HistoryEditor) => void;
75
+ /**
76
+ * Asks for what can be written at `caret` (the caret a click, a tap or Tab put there, read from the page),
77
+ * and opens the list at `rect` if anything can: a click, tap or Tab into an editor asks, as typing does.
78
+ */
79
+ openAtCaret: (editor: BaseEditor & ReactEditor & HistoryEditor, caret: BasePoint, rect: {
80
+ left: number;
81
+ bottom: number;
82
+ }) => void;
50
83
  openAtChip: (editor: BaseEditor & ReactEditor & HistoryEditor, chipPath: number[], chipRect: {
51
84
  left: number;
52
85
  bottom: number;
86
+ }, options?: {
87
+ /**
88
+ * Ask what can be written in the chip's place - the text without it, at its start - rather than what could
89
+ * complete it: a DPQL editor's chip is a whole value, and after it only operators could be written.
90
+ */
91
+ inItsPlace?: boolean;
53
92
  }) => void;
54
- handleExternalClose: (open: boolean) => void;
93
+ /**
94
+ * The list's popover with key `key` (`popoverKey` as it was drawn) says it closed - a click outside it, or
95
+ * Escape: the list is put away. A popover a chip has since replaced says so too, after the list has opened
96
+ * at that chip, and is not heard.
97
+ */
98
+ handleExternalClose: (open: boolean, key: number) => void;
55
99
  popoverKey: number;
56
100
  position: {
57
101
  top: number;
58
102
  left: number;
59
103
  };
104
+ /**
105
+ * The row whose documentation is shown under it in the list (its `value`), or null. A row's documentation
106
+ * is otherwise a hover, which a keyboard and a finger cannot reach: its ⓘ, or Ctrl+Space on the row the
107
+ * keyboard is on, shows it.
108
+ */
109
+ docsFor: string | null;
110
+ /** Show the documentation of the row with `value`, or put it away when it is shown; the keyboard's row when
111
+ * no value is given. */
112
+ toggleDocs: (value?: string) => void;
113
+ /**
114
+ * The list is the template picker (`TemplatePicker`), browsing the field's templates as they nest, rather than
115
+ * rows: opened at a group (`levelId`), with what it searches for (`query`) and the value it replaces
116
+ * (`selectedValue`, a chip's); null for the rows.
117
+ */
118
+ browse: ITemplateBrowse | null;
119
+ /**
120
+ * Opens the template picker at `rect`, for a pick at `caret` (the editor's selection when not given, else its
121
+ * end) or in the place of the chip at `replacementPath`: a click in an empty field, the template button, a chip.
122
+ */
123
+ openBrowse: (editor: BaseEditor & ReactEditor & HistoryEditor, options: {
124
+ rect: {
125
+ left: number;
126
+ bottom: number;
127
+ };
128
+ caret?: BasePoint;
129
+ replacementPath?: number[];
130
+ } & ITemplateBrowse) => void;
131
+ /** A node chosen in the template picker, written as a pick from the rows is (`written`: a key written for it). */
132
+ pickTemplate: (node: ITemplateNode, written?: string) => void;
60
133
  }
134
+ /** Where the template picker is open (`IUseLspAutocompleteResult.browse`). */
135
+ export interface ITemplateBrowse {
136
+ levelId?: string;
137
+ query?: string;
138
+ selectedValue?: string;
139
+ /** The text is empty: the arrows and Backspace move through the picker (`TemplatePicker.arrowsFromPage`). */
140
+ arrows?: boolean;
141
+ }
142
+ /**
143
+ * The list's rows in groups: as ranked when the server ranked them (`sortText`), otherwise by kind - Field,
144
+ * Variable, Function... - when there is more than one.
145
+ */
146
+ export declare const groupCompletionItems: (items: ICompletionDropdownItem[]) => ICompletionGroup[];
147
+ /** Completion items as the list's rows. */
148
+ export declare const toDropdownItems: (lspItems: ILspCompletionItem[]) => ICompletionDropdownItem[];
149
+ /**
150
+ * The list's keys, the same wherever it is open, and as the browse list's (`TemplateBrowser`): ArrowDown and
151
+ * ArrowUp move through it, Enter takes the row the keyboard is on, Escape puts it away, Tab leaves it as it
152
+ * leaves any control. Heard before anything else on the page while the list is
153
+ * open - the focus stays where it is (an editor, a picker's button), the list never takes it.
154
+ */
155
+ export declare const useCompletionKeys: ({ isOpen, count, setFocusedIndex, onAccept, onClose, onOtherKey, }: {
156
+ isOpen: boolean;
157
+ count: number;
158
+ setFocusedIndex: (update: (index: number) => number) => void;
159
+ onAccept: () => void;
160
+ onClose: () => void;
161
+ /** Any other key, for the list to take (true) or leave to the page. */
162
+ onOtherKey?: (event: KeyboardEvent) => boolean;
163
+ }) => void;
61
164
  export declare function useLspAutocomplete(opts: IUseLspAutocompleteOptions): IUseLspAutocompleteResult;
62
165
  //# sourceMappingURL=useLspAutocomplete.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useLspAutocomplete.d.ts","sourceRoot":"","sources":["../../../src/components/smartEditor/useLspAutocomplete.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAc,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AA6C9E,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,kBAAkB,CAAC;IACxB,QAAQ,CAAC,EAAE;QACT,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,uBAAuB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,0BAA0B;IACzC,iEAAiE;IACjE,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACrF,0DAA0D;IAC1D,OAAO,EAAE,OAAO,CAAC;IACjB,sEAAsE;IACtE,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,+DAA+D;IAC/D,SAAS,EAAE,eAAe,CAAC;IAC3B;;;OAGG;IACH,QAAQ,EAAE,mBAAmB,CAAC;CAC/B;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,uBAAuB,EAAE,CAAC;IACjC,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAGhB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,aAAa,EAAE,CACb,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,aAAa,EAChD,KAAK,EAAE,aAAa,EAAE,KACnB,IAAI,CAAC;IACV,YAAY,EAAE,CACZ,IAAI,EAAE,uBAAuB,EAC7B,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,aAAa,KAC7C,IAAI,CAAC;IAGV,UAAU,EAAE,CACV,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,aAAa,EAChD,QAAQ,EAAE,MAAM,EAAE,EAClB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KACvC,IAAI,CAAC;IAIV,mBAAmB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAG7C,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,0BAA0B,GAC/B,yBAAyB,CAonB3B"}
1
+ {"version":3,"file":"useLspAutocomplete.d.ts","sourceRoot":"","sources":["../../../src/components/smartEditor/useLspAutocomplete.ts"],"names":[],"mappings":"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"}