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

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 (774) hide show
  1. package/README.md +53 -1
  2. package/dist/components/Description/describedControl.d.ts +54 -0
  3. package/dist/components/Description/describedControl.d.ts.map +1 -0
  4. package/dist/components/Description/describedControl.js +81 -0
  5. package/dist/components/Description/describedControl.js.map +1 -0
  6. package/dist/components/Description/index.d.ts.map +1 -1
  7. package/dist/components/Description/index.js +3 -2
  8. package/dist/components/Description/index.js.map +1 -1
  9. package/dist/components/colorValue/colorValue.d.ts +59 -0
  10. package/dist/components/colorValue/colorValue.d.ts.map +1 -0
  11. package/dist/components/colorValue/colorValue.js +245 -0
  12. package/dist/components/colorValue/colorValue.js.map +1 -0
  13. package/dist/components/colorValue/index.d.ts +34 -0
  14. package/dist/components/colorValue/index.d.ts.map +1 -0
  15. package/dist/components/colorValue/index.js +136 -0
  16. package/dist/components/colorValue/index.js.map +1 -0
  17. package/dist/components/colorValue/labels.d.ts +12 -0
  18. package/dist/components/colorValue/labels.d.ts.map +1 -0
  19. package/dist/components/colorValue/labels.js +11 -0
  20. package/dist/components/colorValue/labels.js.map +1 -0
  21. package/dist/components/composer/Composer.d.ts +1 -1
  22. package/dist/components/composer/Composer.d.ts.map +1 -1
  23. package/dist/components/composer/Composer.js +2 -2
  24. package/dist/components/composer/Composer.js.map +1 -1
  25. package/dist/components/dpqlEditor/DpqlEditor.d.ts.map +1 -1
  26. package/dist/components/dpqlEditor/DpqlEditor.js +25 -5
  27. package/dist/components/dpqlEditor/DpqlEditor.js.map +1 -1
  28. package/dist/components/dpqlEditor/dpqlHelpers.d.ts +36 -5
  29. package/dist/components/dpqlEditor/dpqlHelpers.d.ts.map +1 -1
  30. package/dist/components/dpqlEditor/dpqlHelpers.js +340 -62
  31. package/dist/components/dpqlEditor/dpqlHelpers.js.map +1 -1
  32. package/dist/components/dpqlEditor/dpqlTags.d.ts +11 -7
  33. package/dist/components/dpqlEditor/dpqlTags.d.ts.map +1 -1
  34. package/dist/components/dpqlEditor/dpqlTags.js +35 -17
  35. package/dist/components/dpqlEditor/dpqlTags.js.map +1 -1
  36. package/dist/components/dpqlEditor/types.d.ts +54 -8
  37. package/dist/components/dpqlEditor/types.d.ts.map +1 -1
  38. package/dist/components/dpqlEditor/useDpqlSession.d.ts +2 -2
  39. package/dist/components/dpqlEditor/useDpqlSession.d.ts.map +1 -1
  40. package/dist/components/dpqlEditor/useDpqlSession.js +16 -7
  41. package/dist/components/dpqlEditor/useDpqlSession.js.map +1 -1
  42. package/dist/components/form/engine/CompactRow.d.ts.map +1 -1
  43. package/dist/components/form/engine/CompactRow.js +207 -97
  44. package/dist/components/form/engine/CompactRow.js.map +1 -1
  45. package/dist/components/form/engine/CompactToolbar.d.ts.map +1 -1
  46. package/dist/components/form/engine/CompactToolbar.js +29 -3
  47. package/dist/components/form/engine/CompactToolbar.js.map +1 -1
  48. package/dist/components/form/engine/FormEngine.d.ts +58 -10
  49. package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
  50. package/dist/components/form/engine/FormEngine.js +542 -112
  51. package/dist/components/form/engine/FormEngine.js.map +1 -1
  52. package/dist/components/form/engine/HiddenFieldsNote.d.ts +28 -0
  53. package/dist/components/form/engine/HiddenFieldsNote.d.ts.map +1 -0
  54. package/dist/components/form/engine/HiddenFieldsNote.js +32 -0
  55. package/dist/components/form/engine/HiddenFieldsNote.js.map +1 -0
  56. package/dist/components/form/engine/OptionFieldMessages.d.ts.map +1 -1
  57. package/dist/components/form/engine/OptionFieldMessages.js +24 -3
  58. package/dist/components/form/engine/OptionFieldMessages.js.map +1 -1
  59. package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts +2 -2
  60. package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts.map +1 -1
  61. package/dist/components/form/engine/_structuredData/SchemaDataView.js +12 -6
  62. package/dist/components/form/engine/_structuredData/SchemaDataView.js.map +1 -1
  63. package/dist/components/form/engine/compactRowContext.d.ts +21 -0
  64. package/dist/components/form/engine/compactRowContext.d.ts.map +1 -1
  65. package/dist/components/form/engine/compactRowContext.js.map +1 -1
  66. package/dist/components/form/engine/compactRowStyles.d.ts +20 -10
  67. package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
  68. package/dist/components/form/engine/compactRowStyles.js +36 -30
  69. package/dist/components/form/engine/compactRowStyles.js.map +1 -1
  70. package/dist/components/form/engine/compactToolbarColors.d.ts +16 -0
  71. package/dist/components/form/engine/compactToolbarColors.d.ts.map +1 -0
  72. package/dist/components/form/engine/compactToolbarColors.js +21 -0
  73. package/dist/components/form/engine/compactToolbarColors.js.map +1 -0
  74. package/dist/components/form/engine/readFirst.d.ts +24 -8
  75. package/dist/components/form/engine/readFirst.d.ts.map +1 -1
  76. package/dist/components/form/engine/readFirst.js +77 -109
  77. package/dist/components/form/engine/readFirst.js.map +1 -1
  78. package/dist/components/form/engine/readFirstColors.d.ts +30 -0
  79. package/dist/components/form/engine/readFirstColors.d.ts.map +1 -0
  80. package/dist/components/form/engine/readFirstColors.js +51 -0
  81. package/dist/components/form/engine/readFirstColors.js.map +1 -0
  82. package/dist/components/form/engine/rowFocus.d.ts +2 -0
  83. package/dist/components/form/engine/rowFocus.d.ts.map +1 -1
  84. package/dist/components/form/engine/rowFocus.js +26 -3
  85. package/dist/components/form/engine/rowFocus.js.map +1 -1
  86. package/dist/components/form/engine/typeChoices.d.ts +1 -1
  87. package/dist/components/form/engine/variants/VariantCalmTable.d.ts.map +1 -1
  88. package/dist/components/form/engine/variants/VariantCalmTable.js +2 -1
  89. package/dist/components/form/engine/variants/VariantCalmTable.js.map +1 -1
  90. package/dist/components/form/engine/variants/VariantCards.d.ts.map +1 -1
  91. package/dist/components/form/engine/variants/VariantCards.js +2 -1
  92. package/dist/components/form/engine/variants/VariantCards.js.map +1 -1
  93. package/dist/components/form/engine/variants/VariantFocus.js +1 -1
  94. package/dist/components/form/engine/variants/VariantFocus.js.map +1 -1
  95. package/dist/components/form/engine/variants/VariantMinimal.d.ts.map +1 -1
  96. package/dist/components/form/engine/variants/VariantMinimal.js +2 -1
  97. package/dist/components/form/engine/variants/VariantMinimal.js.map +1 -1
  98. package/dist/components/form/engine/variants/variantParts.d.ts +1 -1
  99. package/dist/components/form/engine/variants/variantParts.d.ts.map +1 -1
  100. package/dist/components/form/engine/variants/variantParts.js +25 -17
  101. package/dist/components/form/engine/variants/variantParts.js.map +1 -1
  102. package/dist/components/form/expressions/DpqlRendering.d.ts +1 -1
  103. package/dist/components/form/expressions/DpqlRendering.d.ts.map +1 -1
  104. package/dist/components/form/expressions/DpqlRendering.js +3 -3
  105. package/dist/components/form/expressions/DpqlRendering.js.map +1 -1
  106. package/dist/components/form/expressions/ExpressionField.d.ts +64 -3
  107. package/dist/components/form/expressions/ExpressionField.d.ts.map +1 -1
  108. package/dist/components/form/expressions/ExpressionField.js +459 -100
  109. package/dist/components/form/expressions/ExpressionField.js.map +1 -1
  110. package/dist/components/form/expressions/argumentPresence.d.ts +14 -0
  111. package/dist/components/form/expressions/argumentPresence.d.ts.map +1 -1
  112. package/dist/components/form/expressions/argumentPresence.js +16 -1
  113. package/dist/components/form/expressions/argumentPresence.js.map +1 -1
  114. package/dist/components/form/expressions/builder/argumentDetail.d.ts.map +1 -1
  115. package/dist/components/form/expressions/builder/argumentDetail.js +4 -1
  116. package/dist/components/form/expressions/builder/argumentDetail.js.map +1 -1
  117. package/dist/components/form/expressions/builder/argumentLabel.d.ts.map +1 -1
  118. package/dist/components/form/expressions/builder/argumentLabel.js +27 -9
  119. package/dist/components/form/expressions/builder/argumentLabel.js.map +1 -1
  120. package/dist/components/form/expressions/builder/argumentWrapper.d.ts.map +1 -1
  121. package/dist/components/form/expressions/builder/argumentWrapper.js +3 -1
  122. package/dist/components/form/expressions/builder/argumentWrapper.js.map +1 -1
  123. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.d.ts.map +1 -1
  124. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js +5 -4
  125. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js.map +1 -1
  126. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts +1 -1
  127. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts.map +1 -1
  128. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js +6 -3
  129. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js.map +1 -1
  130. package/dist/components/form/expressions/builder/index.d.ts +24 -2
  131. package/dist/components/form/expressions/builder/index.d.ts.map +1 -1
  132. package/dist/components/form/expressions/builder/index.js +138 -78
  133. package/dist/components/form/expressions/builder/index.js.map +1 -1
  134. package/dist/components/form/expressions/builder/item.d.ts +6 -2
  135. package/dist/components/form/expressions/builder/item.d.ts.map +1 -1
  136. package/dist/components/form/expressions/builder/item.js +19 -5
  137. package/dist/components/form/expressions/builder/item.js.map +1 -1
  138. package/dist/components/form/expressions/builder/renderTemplate.js +1 -1
  139. package/dist/components/form/expressions/builder/renderTemplate.js.map +1 -1
  140. package/dist/components/form/expressions/dpqlMockRecordPath.d.ts +11 -0
  141. package/dist/components/form/expressions/dpqlMockRecordPath.d.ts.map +1 -0
  142. package/dist/components/form/expressions/dpqlMockRecordPath.js +254 -0
  143. package/dist/components/form/expressions/dpqlMockRecordPath.js.map +1 -0
  144. package/dist/components/form/expressions/expressionOperands.d.ts +16 -0
  145. package/dist/components/form/expressions/expressionOperands.d.ts.map +1 -0
  146. package/dist/components/form/expressions/expressionOperands.js +97 -0
  147. package/dist/components/form/expressions/expressionOperands.js.map +1 -0
  148. package/dist/components/form/expressions/fieldPath.d.ts +24 -0
  149. package/dist/components/form/expressions/fieldPath.d.ts.map +1 -0
  150. package/dist/components/form/expressions/fieldPath.js +152 -0
  151. package/dist/components/form/expressions/fieldPath.js.map +1 -0
  152. package/dist/components/form/expressions/mockExpressions.d.ts.map +1 -1
  153. package/dist/components/form/expressions/mockExpressions.js +22 -5
  154. package/dist/components/form/expressions/mockExpressions.js.map +1 -1
  155. package/dist/components/form/expressions/renderExpressionToText.d.ts +2 -0
  156. package/dist/components/form/expressions/renderExpressionToText.d.ts.map +1 -1
  157. package/dist/components/form/expressions/renderExpressionToText.js +40 -9
  158. package/dist/components/form/expressions/renderExpressionToText.js.map +1 -1
  159. package/dist/components/form/expressions/textOfExpression.d.ts +18 -0
  160. package/dist/components/form/expressions/textOfExpression.d.ts.map +1 -0
  161. package/dist/components/form/expressions/textOfExpression.js +49 -0
  162. package/dist/components/form/expressions/textOfExpression.js.map +1 -0
  163. package/dist/components/form/expressions/types.d.ts +7 -0
  164. package/dist/components/form/expressions/types.d.ts.map +1 -1
  165. package/dist/components/form/expressions/types.js +6 -1
  166. package/dist/components/form/expressions/types.js.map +1 -1
  167. package/dist/components/form/expressions/useExpressionType.d.ts +26 -0
  168. package/dist/components/form/expressions/useExpressionType.d.ts.map +1 -0
  169. package/dist/components/form/expressions/useExpressionType.js +181 -0
  170. package/dist/components/form/expressions/useExpressionType.js.map +1 -0
  171. package/dist/components/form/expressions/useRenderExpression.d.ts.map +1 -1
  172. package/dist/components/form/expressions/useRenderExpression.js +13 -9
  173. package/dist/components/form/expressions/useRenderExpression.js.map +1 -1
  174. package/dist/components/form/expressions/wildcardExpressions.d.ts +27 -0
  175. package/dist/components/form/expressions/wildcardExpressions.d.ts.map +1 -0
  176. package/dist/components/form/expressions/wildcardExpressions.js +101 -0
  177. package/dist/components/form/expressions/wildcardExpressions.js.map +1 -0
  178. package/dist/components/form/fields/Field.d.ts.map +1 -1
  179. package/dist/components/form/fields/Field.js +26 -9
  180. package/dist/components/form/fields/Field.js.map +1 -1
  181. package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
  182. package/dist/components/form/fields/allowed-values/AllowedValues.js +17 -4
  183. package/dist/components/form/fields/allowed-values/AllowedValues.js.map +1 -1
  184. package/dist/components/form/fields/array/ArrayAuto.d.ts.map +1 -1
  185. package/dist/components/form/fields/array/ArrayAuto.js +24 -0
  186. package/dist/components/form/fields/array/ArrayAuto.js.map +1 -1
  187. package/dist/components/form/fields/array/ArrayAutoField.d.ts.map +1 -1
  188. package/dist/components/form/fields/array/ArrayAutoField.js +36 -13
  189. package/dist/components/form/fields/array/ArrayAutoField.js.map +1 -1
  190. package/dist/components/form/fields/auto/AutoFormField.d.ts +20 -1
  191. package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
  192. package/dist/components/form/fields/auto/AutoFormField.js +81 -36
  193. package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
  194. package/dist/components/form/fields/auto/hostEditorValue.d.ts +30 -0
  195. package/dist/components/form/fields/auto/hostEditorValue.d.ts.map +1 -0
  196. package/dist/components/form/fields/auto/hostEditorValue.js +53 -0
  197. package/dist/components/form/fields/auto/hostEditorValue.js.map +1 -0
  198. package/dist/components/form/fields/binary/Binary.d.ts.map +1 -1
  199. package/dist/components/form/fields/binary/Binary.js +23 -3
  200. package/dist/components/form/fields/binary/Binary.js.map +1 -1
  201. package/dist/components/form/fields/boolean/Boolean.d.ts +5 -0
  202. package/dist/components/form/fields/boolean/Boolean.d.ts.map +1 -1
  203. package/dist/components/form/fields/boolean/Boolean.js +9 -1
  204. package/dist/components/form/fields/boolean/Boolean.js.map +1 -1
  205. package/dist/components/form/fields/color/Color.d.ts +103 -16
  206. package/dist/components/form/fields/color/Color.d.ts.map +1 -1
  207. package/dist/components/form/fields/color/Color.js +616 -16
  208. package/dist/components/form/fields/color/Color.js.map +1 -1
  209. package/dist/components/form/fields/emittedValues.d.ts +34 -3
  210. package/dist/components/form/fields/emittedValues.d.ts.map +1 -1
  211. package/dist/components/form/fields/emittedValues.js +24 -1
  212. package/dist/components/form/fields/emittedValues.js.map +1 -1
  213. package/dist/components/form/fields/file/File.d.ts +1 -1
  214. package/dist/components/form/fields/file/File.d.ts.map +1 -1
  215. package/dist/components/form/fields/file/File.js +4 -2
  216. package/dist/components/form/fields/file/File.js.map +1 -1
  217. package/dist/components/form/fields/long-string/LongString.d.ts.map +1 -1
  218. package/dist/components/form/fields/long-string/LongString.js +17 -3
  219. package/dist/components/form/fields/long-string/LongString.js.map +1 -1
  220. package/dist/components/form/fields/markdown/MarkdownView.js +1 -1
  221. package/dist/components/form/fields/multi-select/MultiSelectFormField.d.ts.map +1 -1
  222. package/dist/components/form/fields/multi-select/MultiSelectFormField.js +4 -1
  223. package/dist/components/form/fields/multi-select/MultiSelectFormField.js.map +1 -1
  224. package/dist/components/form/fields/number/Number.d.ts +6 -0
  225. package/dist/components/form/fields/number/Number.d.ts.map +1 -1
  226. package/dist/components/form/fields/number/Number.js +41 -6
  227. package/dist/components/form/fields/number/Number.js.map +1 -1
  228. package/dist/components/form/fields/object/Object.d.ts +1 -1
  229. package/dist/components/form/fields/object/Object.d.ts.map +1 -1
  230. package/dist/components/form/fields/object/Object.js +4 -2
  231. package/dist/components/form/fields/object/Object.js.map +1 -1
  232. package/dist/components/form/fields/pendingEdit.d.ts +52 -0
  233. package/dist/components/form/fields/pendingEdit.d.ts.map +1 -0
  234. package/dist/components/form/fields/pendingEdit.js +79 -0
  235. package/dist/components/form/fields/pendingEdit.js.map +1 -0
  236. package/dist/components/form/fields/rich-text/RichText.d.ts +8 -1
  237. package/dist/components/form/fields/rich-text/RichText.d.ts.map +1 -1
  238. package/dist/components/form/fields/rich-text/RichText.js +188 -82
  239. package/dist/components/form/fields/rich-text/RichText.js.map +1 -1
  240. package/dist/components/form/fields/rich-text/useTemplateTags.d.ts +18 -0
  241. package/dist/components/form/fields/rich-text/useTemplateTags.d.ts.map +1 -0
  242. package/dist/components/form/fields/rich-text/useTemplateTags.js +49 -0
  243. package/dist/components/form/fields/rich-text/useTemplateTags.js.map +1 -0
  244. package/dist/components/form/fields/schema-definition/CatalogLeafForm.d.ts.map +1 -1
  245. package/dist/components/form/fields/schema-definition/CatalogLeafForm.js +4 -1
  246. package/dist/components/form/fields/schema-definition/CatalogLeafForm.js.map +1 -1
  247. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.d.ts.map +1 -1
  248. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js +20 -5
  249. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js.map +1 -1
  250. package/dist/components/form/fields/schema-definition/TableEditor.d.ts.map +1 -1
  251. package/dist/components/form/fields/schema-definition/TableEditor.js +10 -2
  252. package/dist/components/form/fields/schema-definition/TableEditor.js.map +1 -1
  253. package/dist/components/form/fields/schema-definition/index.d.ts.map +1 -1
  254. package/dist/components/form/fields/schema-definition/index.js +8 -4
  255. package/dist/components/form/fields/schema-definition/index.js.map +1 -1
  256. package/dist/components/form/fields/select/Select.d.ts +2 -0
  257. package/dist/components/form/fields/select/Select.d.ts.map +1 -1
  258. package/dist/components/form/fields/select/Select.js +19 -10
  259. package/dist/components/form/fields/select/Select.js.map +1 -1
  260. package/dist/components/form/fields/select/SelectCollection.d.ts.map +1 -1
  261. package/dist/components/form/fields/select/SelectCollection.js +8 -2
  262. package/dist/components/form/fields/select/SelectCollection.js.map +1 -1
  263. package/dist/components/form/fields/select/unavailableRow.d.ts +23 -0
  264. package/dist/components/form/fields/select/unavailableRow.d.ts.map +1 -0
  265. package/dist/components/form/fields/select/unavailableRow.js +55 -0
  266. package/dist/components/form/fields/select/unavailableRow.js.map +1 -0
  267. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts +11 -5
  268. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts.map +1 -1
  269. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js +13 -5
  270. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js.map +1 -1
  271. package/dist/components/form/fields/template/TemplateBrowser.d.ts +22 -0
  272. package/dist/components/form/fields/template/TemplateBrowser.d.ts.map +1 -0
  273. package/dist/components/form/fields/template/TemplateBrowser.js +54 -0
  274. package/dist/components/form/fields/template/TemplateBrowser.js.map +1 -0
  275. package/dist/components/form/fields/template/TemplateField.d.ts +102 -1
  276. package/dist/components/form/fields/template/TemplateField.d.ts.map +1 -1
  277. package/dist/components/form/fields/template/TemplateField.js +572 -85
  278. package/dist/components/form/fields/template/TemplateField.js.map +1 -1
  279. package/dist/components/form/fields/template/TemplateText.d.ts +0 -17
  280. package/dist/components/form/fields/template/TemplateText.d.ts.map +1 -1
  281. package/dist/components/form/fields/template/TemplateText.js +9 -11
  282. package/dist/components/form/fields/template/TemplateText.js.map +1 -1
  283. package/dist/components/form/fields/template/writtenAsText.d.ts +61 -0
  284. package/dist/components/form/fields/template/writtenAsText.d.ts.map +1 -0
  285. package/dist/components/form/fields/template/writtenAsText.js +204 -0
  286. package/dist/components/form/fields/template/writtenAsText.js.map +1 -0
  287. package/dist/components/form/index.d.ts +10 -0
  288. package/dist/components/form/index.d.ts.map +1 -1
  289. package/dist/components/form/index.js +23 -1
  290. package/dist/components/form/index.js.map +1 -1
  291. package/dist/components/imageLightbox/ImageLightbox.d.ts.map +1 -1
  292. package/dist/components/imageLightbox/ImageLightbox.js +19 -7
  293. package/dist/components/imageLightbox/ImageLightbox.js.map +1 -1
  294. package/dist/components/log/Log.d.ts.map +1 -1
  295. package/dist/components/log/Log.js +16 -8
  296. package/dist/components/log/Log.js.map +1 -1
  297. package/dist/components/menu/Menu.d.ts.map +1 -1
  298. package/dist/components/menu/Menu.js +19 -10
  299. package/dist/components/menu/Menu.js.map +1 -1
  300. package/dist/components/smartEditor/CompletionMenu.d.ts +43 -0
  301. package/dist/components/smartEditor/CompletionMenu.d.ts.map +1 -0
  302. package/dist/components/smartEditor/CompletionMenu.js +196 -0
  303. package/dist/components/smartEditor/CompletionMenu.js.map +1 -0
  304. package/dist/components/smartEditor/MarkdownDoc.d.ts +1 -1
  305. package/dist/components/smartEditor/MarkdownDoc.js +3 -3
  306. package/dist/components/smartEditor/MarkdownDoc.js.map +1 -1
  307. package/dist/components/smartEditor/SmartEditor.d.ts.map +1 -1
  308. package/dist/components/smartEditor/SmartEditor.js +164 -180
  309. package/dist/components/smartEditor/SmartEditor.js.map +1 -1
  310. package/dist/components/smartEditor/completionStyle.d.ts +27 -0
  311. package/dist/components/smartEditor/completionStyle.d.ts.map +1 -0
  312. package/dist/components/smartEditor/completionStyle.js +68 -0
  313. package/dist/components/smartEditor/completionStyle.js.map +1 -0
  314. package/dist/components/smartEditor/index.d.ts +5 -1
  315. package/dist/components/smartEditor/index.d.ts.map +1 -1
  316. package/dist/components/smartEditor/index.js +19 -1
  317. package/dist/components/smartEditor/index.js.map +1 -1
  318. package/dist/components/smartEditor/templateCompletions.d.ts +18 -0
  319. package/dist/components/smartEditor/templateCompletions.d.ts.map +1 -0
  320. package/dist/components/smartEditor/templateCompletions.js +94 -0
  321. package/dist/components/smartEditor/templateCompletions.js.map +1 -0
  322. package/dist/components/smartEditor/typedReferences.d.ts +21 -0
  323. package/dist/components/smartEditor/typedReferences.d.ts.map +1 -0
  324. package/dist/components/smartEditor/typedReferences.js +82 -0
  325. package/dist/components/smartEditor/typedReferences.js.map +1 -0
  326. package/dist/components/smartEditor/types.d.ts +33 -1
  327. package/dist/components/smartEditor/types.d.ts.map +1 -1
  328. package/dist/components/smartEditor/useLspAutocomplete.d.ts +32 -0
  329. package/dist/components/smartEditor/useLspAutocomplete.d.ts.map +1 -1
  330. package/dist/components/smartEditor/useLspAutocomplete.js +228 -118
  331. package/dist/components/smartEditor/useLspAutocomplete.js.map +1 -1
  332. package/dist/components/smartEditor/useLspHover.d.ts +33 -7
  333. package/dist/components/smartEditor/useLspHover.d.ts.map +1 -1
  334. package/dist/components/smartEditor/useLspHover.js +279 -35
  335. package/dist/components/smartEditor/useLspHover.js.map +1 -1
  336. package/dist/components/smartEditor/useLspSemanticTokens.js +1 -1
  337. package/dist/components/smartEditor/useLspSemanticTokens.js.map +1 -1
  338. package/dist/components/smartEditor/useLspSession.d.ts +6 -0
  339. package/dist/components/smartEditor/useLspSession.d.ts.map +1 -1
  340. package/dist/components/smartEditor/useLspSession.js +7 -6
  341. package/dist/components/smartEditor/useLspSession.js.map +1 -1
  342. package/dist/components/supportTicket/AttachmentChips.d.ts.map +1 -1
  343. package/dist/components/supportTicket/AttachmentChips.js +15 -5
  344. package/dist/components/supportTicket/AttachmentChips.js.map +1 -1
  345. package/dist/components/supportTicket/ReferencePicker.d.ts +9 -2
  346. package/dist/components/supportTicket/ReferencePicker.d.ts.map +1 -1
  347. package/dist/components/supportTicket/ReferencePicker.js +27 -6
  348. package/dist/components/supportTicket/ReferencePicker.js.map +1 -1
  349. package/dist/components/supportTicket/TicketHeader.d.ts +3 -4
  350. package/dist/components/supportTicket/TicketHeader.d.ts.map +1 -1
  351. package/dist/components/supportTicket/TicketHeader.js +20 -2
  352. package/dist/components/supportTicket/TicketHeader.js.map +1 -1
  353. package/dist/components/supportTicket/TicketMetaTags.d.ts +1 -1
  354. package/dist/components/ticketReferences/TicketReferences.d.ts.map +1 -1
  355. package/dist/components/ticketReferences/TicketReferences.js +9 -4
  356. package/dist/components/ticketReferences/TicketReferences.js.map +1 -1
  357. package/dist/components/ticketThread/TicketThread.d.ts.map +1 -1
  358. package/dist/components/ticketThread/TicketThread.js +38 -13
  359. package/dist/components/ticketThread/TicketThread.js.map +1 -1
  360. package/dist/helpers/descriptionTooltip.d.ts +43 -0
  361. package/dist/helpers/descriptionTooltip.d.ts.map +1 -0
  362. package/dist/helpers/descriptionTooltip.js +70 -0
  363. package/dist/helpers/descriptionTooltip.js.map +1 -0
  364. package/dist/helpers/domProps.d.ts +5 -0
  365. package/dist/helpers/domProps.d.ts.map +1 -0
  366. package/dist/helpers/domProps.js +47 -0
  367. package/dist/helpers/domProps.js.map +1 -0
  368. package/dist/helpers/expressions.d.ts +107 -2
  369. package/dist/helpers/expressions.d.ts.map +1 -1
  370. package/dist/helpers/expressions.js +223 -8
  371. package/dist/helpers/expressions.js.map +1 -1
  372. package/dist/helpers/hoveringPointer.d.ts +26 -0
  373. package/dist/helpers/hoveringPointer.d.ts.map +1 -0
  374. package/dist/helpers/hoveringPointer.js +29 -0
  375. package/dist/helpers/hoveringPointer.js.map +1 -0
  376. package/dist/helpers/markdownText.d.ts +14 -0
  377. package/dist/helpers/markdownText.d.ts.map +1 -0
  378. package/dist/helpers/markdownText.js +160 -0
  379. package/dist/helpers/markdownText.js.map +1 -0
  380. package/dist/helpers/qorusTypeCatalogue.d.ts +53 -0
  381. package/dist/helpers/qorusTypeCatalogue.d.ts.map +1 -0
  382. package/dist/helpers/qorusTypeCatalogue.js +262 -0
  383. package/dist/helpers/qorusTypeCatalogue.js.map +1 -0
  384. package/dist/helpers/readableColors.d.ts +36 -0
  385. package/dist/helpers/readableColors.d.ts.map +1 -0
  386. package/dist/helpers/readableColors.js +116 -0
  387. package/dist/helpers/readableColors.js.map +1 -0
  388. package/dist/helpers/recordFieldReference.d.ts +15 -0
  389. package/dist/helpers/recordFieldReference.d.ts.map +1 -0
  390. package/dist/helpers/recordFieldReference.js +89 -0
  391. package/dist/helpers/recordFieldReference.js.map +1 -0
  392. package/dist/helpers/templateItems.d.ts +2 -2
  393. package/dist/helpers/templateItems.d.ts.map +1 -1
  394. package/dist/helpers/templateItems.js +6 -4
  395. package/dist/helpers/templateItems.js.map +1 -1
  396. package/dist/helpers/templateText.js +5 -2
  397. package/dist/helpers/templateText.js.map +1 -1
  398. package/dist/helpers/templates.d.ts +41 -14
  399. package/dist/helpers/templates.d.ts.map +1 -1
  400. package/dist/helpers/templates.js +152 -9
  401. package/dist/helpers/templates.js.map +1 -1
  402. package/dist/helpers/validations.d.ts +9 -0
  403. package/dist/helpers/validations.d.ts.map +1 -1
  404. package/dist/helpers/validations.js +139 -33
  405. package/dist/helpers/validations.js.map +1 -1
  406. package/dist/hooks/useQorusTypes.d.ts +7 -15
  407. package/dist/hooks/useQorusTypes.d.ts.map +1 -1
  408. package/dist/hooks/useQorusTypes.js +25 -166
  409. package/dist/hooks/useQorusTypes.js.map +1 -1
  410. package/dist/hooks/useReadableIntentShade.d.ts +9 -0
  411. package/dist/hooks/useReadableIntentShade.d.ts.map +1 -0
  412. package/dist/hooks/useReadableIntentShade.js +23 -0
  413. package/dist/hooks/useReadableIntentShade.js.map +1 -0
  414. package/dist/hooks/useReadableOpacity.d.ts +6 -0
  415. package/dist/hooks/useReadableOpacity.d.ts.map +1 -0
  416. package/dist/hooks/useReadableOpacity.js +17 -0
  417. package/dist/hooks/useReadableOpacity.js.map +1 -0
  418. package/dist/index.d.ts +1 -0
  419. package/dist/index.d.ts.map +1 -1
  420. package/dist/index.js +1 -0
  421. package/dist/index.js.map +1 -1
  422. package/dist/tracking/ui/ExperimentCard.d.ts +1 -1
  423. package/dist/tracking/ui/ExperimentCard.d.ts.map +1 -1
  424. package/dist/tracking/ui/ExperimentCard.js +26 -10
  425. package/dist/tracking/ui/ExperimentCard.js.map +1 -1
  426. package/dist/tracking/ui/card.d.ts +2 -2
  427. package/dist/tracking/ui/card.d.ts.map +1 -1
  428. package/dist/tracking/ui/card.js +2 -2
  429. package/dist/tracking/ui/card.js.map +1 -1
  430. package/dist/tracking/ui/readable.d.ts +14 -0
  431. package/dist/tracking/ui/readable.d.ts.map +1 -0
  432. package/dist/tracking/ui/readable.js +60 -0
  433. package/dist/tracking/ui/readable.js.map +1 -0
  434. package/dist/utils/fetch.d.ts +9 -2
  435. package/dist/utils/fetch.d.ts.map +1 -1
  436. package/dist/utils/fetch.js +6 -5
  437. package/dist/utils/fetch.js.map +1 -1
  438. package/dist/utils/websocket.d.ts +65 -2
  439. package/dist/utils/websocket.d.ts.map +1 -1
  440. package/dist/utils/websocket.js +276 -44
  441. package/dist/utils/websocket.js.map +1 -1
  442. package/package.json +14 -5
  443. package/.claude/CLAUDE.md +0 -317
  444. package/.tasks/EXPORT_EXPRESSION_BUILDER.md +0 -38
  445. package/.tasks/EXPRESSION_BUILDER_REPORT.md +0 -149
  446. package/.tasks/EXPRESSION_FIELD_SEAMS.md +0 -66
  447. package/.tasks/FIELD_STACK_REPORT.md +0 -234
  448. package/.tasks/FORM_ENGINE_COMPACT_READ_FIRST.md +0 -558
  449. package/.tasks/FORM_ENGINE_EXPRESSIONS.md +0 -197
  450. package/.tasks/FORM_ENGINE_OPTIONS_SYNC.md +0 -95
  451. package/.tasks/FORM_FIELD_EXTRAS.md +0 -72
  452. package/.tasks/INDEX.md +0 -111
  453. package/.tasks/LSP_SHARED_CONNECTION.md +0 -75
  454. package/.tasks/QONSOLE_ASSIST_FEATURES.md +0 -306
  455. package/.tasks/RENDER_EXPRESSION_LSP.md +0 -159
  456. package/.tasks/REQRAFT_AUTO_FIELD.md +0 -176
  457. package/.tasks/SCHEMA_DEFINITION_FIELD.md +0 -250
  458. package/.tasks/SMART_EDITOR_CONTEXT_AND_POLISH.md +0 -340
  459. package/.tasks/SMART_EDITOR_LSP_FEATURES.md +0 -299
  460. package/.tasks/SMART_EDITOR_REVIEW_FOLLOWUPS.md +0 -280
  461. package/.tasks/SMART_EDITOR_UX_POLISH.md +0 -383
  462. package/.tasks/SMART_EDITOR_VISUAL_POLISH.md +0 -246
  463. package/.tasks/STORY_NETWORK_ISOLATION.md +0 -98
  464. package/.tasks/TEMPLATE_TOKEN_GRAMMAR.md +0 -72
  465. package/CODE_OF_CONDUCT.md +0 -105
  466. package/CONTRIBUTING.MD +0 -78
  467. package/SECURITY.md +0 -3
  468. package/chromatic.config.json +0 -5
  469. package/design/COMPACT_ENGINE_REDESIGN.md +0 -156
  470. package/design/COMPACT_INFO_DISPLAY.md +0 -87
  471. package/design/COMPACT_PARITY.md +0 -85
  472. package/design/EXPRESSION_BUILDER_REPORT_STRATEGY.md +0 -92
  473. package/design/FORM_ENGINE_COMPACT.md +0 -300
  474. package/design/FORM_ENGINE_COMPACT_UX_PLAN.md +0 -353
  475. package/design/FORM_ENGINE_EXPRESSIONS.md +0 -257
  476. package/design/FORM_ENGINE_FIELD_MIGRATION.md +0 -419
  477. package/design/IDE_INTEGRATION.md +0 -64
  478. package/design/RENDER_EXPRESSION_TRANSPORT.md +0 -156
  479. package/design/SELECT_DIALOG_FLOOR.md +0 -86
  480. package/design/SMART_EDITOR_UX.md +0 -438
  481. package/design/TRACKING.md +0 -290
  482. package/design/UNAVAILABLE_ALLOWED_VALUES.md +0 -226
  483. package/src/components/Description/index.tsx +0 -254
  484. package/src/components/Description/markdownRendererContext.tsx +0 -29
  485. package/src/components/FocusedEditing/index.tsx +0 -50
  486. package/src/components/codeSize/index.tsx +0 -79
  487. package/src/components/composer/Composer.stories.tsx +0 -238
  488. package/src/components/composer/Composer.tsx +0 -554
  489. package/src/components/composer/helpers.ts +0 -74
  490. package/src/components/composer/index.ts +0 -2
  491. package/src/components/dpqlEditor/DpqlEditor.stories.tsx +0 -1183
  492. package/src/components/dpqlEditor/DpqlEditor.tsx +0 -219
  493. package/src/components/dpqlEditor/dpqlHelpers.ts +0 -287
  494. package/src/components/dpqlEditor/dpqlInserter.ts +0 -121
  495. package/src/components/dpqlEditor/dpqlProbe.ts +0 -165
  496. package/src/components/dpqlEditor/dpqlTags.ts +0 -114
  497. package/src/components/dpqlEditor/index.ts +0 -41
  498. package/src/components/dpqlEditor/types.ts +0 -203
  499. package/src/components/dpqlEditor/useDpqlProbe.ts +0 -33
  500. package/src/components/dpqlEditor/useDpqlSession.ts +0 -411
  501. package/src/components/form/engine/CompactRow.tsx +0 -2620
  502. package/src/components/form/engine/CompactToolbar.tsx +0 -330
  503. package/src/components/form/engine/FormEngine.stories.tsx +0 -9920
  504. package/src/components/form/engine/FormEngine.tsx +0 -4569
  505. package/src/components/form/engine/FormEngineRemote.stories.tsx +0 -679
  506. package/src/components/form/engine/FormEngineStickyHeaders.stories.tsx +0 -331
  507. package/src/components/form/engine/FormFieldsSkeleton.tsx +0 -82
  508. package/src/components/form/engine/OptionFieldMessages.tsx +0 -477
  509. package/src/components/form/engine/OptionsHelpDialog.tsx +0 -29
  510. package/src/components/form/engine/__fixtures__/basicFormOptions.ts +0 -309
  511. package/src/components/form/engine/__fixtures__/fieldChromeOptions.ts +0 -45
  512. package/src/components/form/engine/_structuredData/SchemaDataView.stories.tsx +0 -233
  513. package/src/components/form/engine/_structuredData/SchemaDataView.tsx +0 -742
  514. package/src/components/form/engine/_structuredData/StructuredDataView.stories.tsx +0 -85
  515. package/src/components/form/engine/_structuredData/StructuredDataView.tsx +0 -75
  516. package/src/components/form/engine/_structuredData/structuredData.ts +0 -145
  517. package/src/components/form/engine/compactRowContext.ts +0 -148
  518. package/src/components/form/engine/compactRowStyles.ts +0 -898
  519. package/src/components/form/engine/compactToolbarContext.ts +0 -69
  520. package/src/components/form/engine/optionActions.ts +0 -128
  521. package/src/components/form/engine/optionsContext.ts +0 -24
  522. package/src/components/form/engine/readFirst.ts +0 -1077
  523. package/src/components/form/engine/rendererTypes.ts +0 -107
  524. package/src/components/form/engine/revealRow.ts +0 -123
  525. package/src/components/form/engine/rowFocus.ts +0 -101
  526. package/src/components/form/engine/rowMenuContext.ts +0 -159
  527. package/src/components/form/engine/rowOpenPicker.ts +0 -27
  528. package/src/components/form/engine/typeChoices.ts +0 -63
  529. package/src/components/form/engine/variants/FormEngineVariants.stories.tsx +0 -159
  530. package/src/components/form/engine/variants/VariantCalmTable.tsx +0 -244
  531. package/src/components/form/engine/variants/VariantCards.tsx +0 -212
  532. package/src/components/form/engine/variants/VariantFocus.tsx +0 -382
  533. package/src/components/form/engine/variants/VariantMinimal.tsx +0 -170
  534. package/src/components/form/engine/variants/focusDemo.ts +0 -145
  535. package/src/components/form/engine/variants/variantModel.ts +0 -223
  536. package/src/components/form/engine/variants/variantParts.tsx +0 -313
  537. package/src/components/form/expressions/DpqlRendering.tsx +0 -85
  538. package/src/components/form/expressions/ExpressionField.stories.tsx +0 -1395
  539. package/src/components/form/expressions/ExpressionField.tsx +0 -503
  540. package/src/components/form/expressions/argumentPresence.ts +0 -213
  541. package/src/components/form/expressions/builder/ExpressionBuilder.stories.tsx +0 -1683
  542. package/src/components/form/expressions/builder/argumentDetail.tsx +0 -17
  543. package/src/components/form/expressions/builder/argumentLabel.tsx +0 -146
  544. package/src/components/form/expressions/builder/argumentSlot.tsx +0 -101
  545. package/src/components/form/expressions/builder/argumentWrapper.tsx +0 -243
  546. package/src/components/form/expressions/builder/confirmMismatchedTypesModal.tsx +0 -120
  547. package/src/components/form/expressions/builder/confirmUnsupportedTypeModal.tsx +0 -69
  548. package/src/components/form/expressions/builder/index.tsx +0 -1545
  549. package/src/components/form/expressions/builder/item.tsx +0 -89
  550. package/src/components/form/expressions/builder/moveToPositionStrip.tsx +0 -156
  551. package/src/components/form/expressions/builder/renderTemplate.tsx +0 -42
  552. package/src/components/form/expressions/dpqlMockLanguage.ts +0 -566
  553. package/src/components/form/expressions/dpqlMockLsp.ts +0 -126
  554. package/src/components/form/expressions/mockExpressions.ts +0 -317
  555. package/src/components/form/expressions/renderExpressionToText.ts +0 -137
  556. package/src/components/form/expressions/types.ts +0 -110
  557. package/src/components/form/expressions/useExpressions.ts +0 -101
  558. package/src/components/form/expressions/useRenderExpression.ts +0 -165
  559. package/src/components/form/fields/Field.stories.tsx +0 -143
  560. package/src/components/form/fields/Field.tsx +0 -732
  561. package/src/components/form/fields/allowed-values/AllowedValues.tsx +0 -297
  562. package/src/components/form/fields/array/ArrayAuto.tsx +0 -237
  563. package/src/components/form/fields/array/ArrayAutoField.stories.tsx +0 -475
  564. package/src/components/form/fields/array/ArrayAutoField.tsx +0 -367
  565. package/src/components/form/fields/auto/AutoFormField.stories.tsx +0 -825
  566. package/src/components/form/fields/auto/AutoFormField.tsx +0 -1164
  567. package/src/components/form/fields/binary/Binary.stories.tsx +0 -122
  568. package/src/components/form/fields/binary/Binary.tsx +0 -91
  569. package/src/components/form/fields/boolean/Boolean.stories.tsx +0 -125
  570. package/src/components/form/fields/boolean/Boolean.tsx +0 -34
  571. package/src/components/form/fields/byte-size/ByteSize.stories.tsx +0 -87
  572. package/src/components/form/fields/byte-size/ByteSize.tsx +0 -58
  573. package/src/components/form/fields/color/Color.stories.tsx +0 -99
  574. package/src/components/form/fields/color/Color.tsx +0 -46
  575. package/src/components/form/fields/cron/Cron.stories.tsx +0 -68
  576. package/src/components/form/fields/cron/Cron.tsx +0 -80
  577. package/src/components/form/fields/date/Date.stories.tsx +0 -77
  578. package/src/components/form/fields/date/Date.tsx +0 -55
  579. package/src/components/form/fields/emittedValues.ts +0 -70
  580. package/src/components/form/fields/file/File.stories.tsx +0 -161
  581. package/src/components/form/fields/file/File.tsx +0 -227
  582. package/src/components/form/fields/long-string/LongString.stories.tsx +0 -120
  583. package/src/components/form/fields/long-string/LongString.tsx +0 -130
  584. package/src/components/form/fields/markdown/Markdown.stories.tsx +0 -76
  585. package/src/components/form/fields/markdown/Markdown.tsx +0 -81
  586. package/src/components/form/fields/markdown/MarkdownView.tsx +0 -222
  587. package/src/components/form/fields/multi-select/MultiSelectFormField.tsx +0 -139
  588. package/src/components/form/fields/number/Number.stories.tsx +0 -159
  589. package/src/components/form/fields/number/Number.tsx +0 -160
  590. package/src/components/form/fields/object/Object.stories.tsx +0 -398
  591. package/src/components/form/fields/object/Object.tsx +0 -255
  592. package/src/components/form/fields/radio-group/RadioGroup.stories.tsx +0 -95
  593. package/src/components/form/fields/radio-group/RadioGroup.tsx +0 -46
  594. package/src/components/form/fields/radio-group/images/java-96x128.png +0 -0
  595. package/src/components/form/fields/radio-group/images/python-129x128.png +0 -0
  596. package/src/components/form/fields/radio-group/images/qore-106x128.png +0 -0
  597. package/src/components/form/fields/rich-text/RichText.stories.tsx +0 -260
  598. package/src/components/form/fields/rich-text/RichText.tsx +0 -537
  599. package/src/components/form/fields/schema-definition/CatalogLeafForm.tsx +0 -242
  600. package/src/components/form/fields/schema-definition/CatalogNodeEditor.tsx +0 -758
  601. package/src/components/form/fields/schema-definition/Hint.tsx +0 -22
  602. package/src/components/form/fields/schema-definition/InlineValidationBanner.tsx +0 -138
  603. package/src/components/form/fields/schema-definition/Loader.tsx +0 -20
  604. package/src/components/form/fields/schema-definition/MigrationsTab.tsx +0 -187
  605. package/src/components/form/fields/schema-definition/SchemaDefinitionField.stories.tsx +0 -286
  606. package/src/components/form/fields/schema-definition/TableEditor.tsx +0 -155
  607. package/src/components/form/fields/schema-definition/TablesTab.tsx +0 -138
  608. package/src/components/form/fields/schema-definition/catalog.ts +0 -237
  609. package/src/components/form/fields/schema-definition/helpers.ts +0 -90
  610. package/src/components/form/fields/schema-definition/index.tsx +0 -418
  611. package/src/components/form/fields/schema-definition/mockCatalog.ts +0 -325
  612. package/src/components/form/fields/schema-definition/mockDefinition.ts +0 -111
  613. package/src/components/form/fields/schema-definition/referenceSuggestions.tsx +0 -152
  614. package/src/components/form/fields/schema-definition/starterTemplate.ts +0 -68
  615. package/src/components/form/fields/schema-definition/types.ts +0 -185
  616. package/src/components/form/fields/schema-definition/useSchemaOptionCatalog.ts +0 -49
  617. package/src/components/form/fields/select/Select.stories.tsx +0 -872
  618. package/src/components/form/fields/select/Select.tsx +0 -624
  619. package/src/components/form/fields/select/SelectCollection.tsx +0 -594
  620. package/src/components/form/fields/string/String.stories.tsx +0 -86
  621. package/src/components/form/fields/string/String.tsx +0 -43
  622. package/src/components/form/fields/template/ExampleValueModal.stories.tsx +0 -114
  623. package/src/components/form/fields/template/ExampleValueModal.tsx +0 -99
  624. package/src/components/form/fields/template/ReadOnlyTemplateTag.tsx +0 -47
  625. package/src/components/form/fields/template/TemplateField.stories.tsx +0 -1121
  626. package/src/components/form/fields/template/TemplateField.tsx +0 -1717
  627. package/src/components/form/fields/template/TemplateText.tsx +0 -115
  628. package/src/components/form/fields/template/__fixtures__/longExampleValue.ts +0 -7
  629. package/src/components/form/fields/template/__fixtures__/multiLevelTemplates.json +0 -147
  630. package/src/components/form/fields/template/__fixtures__/templates.json +0 -83
  631. package/src/components/form/fields/timeout/Timeout.stories.tsx +0 -228
  632. package/src/components/form/fields/timeout/Timeout.tsx +0 -87
  633. package/src/components/form/fields/url/Url.stories.tsx +0 -94
  634. package/src/components/form/fields/url/Url.tsx +0 -85
  635. package/src/components/form/index.tsx +0 -47
  636. package/src/components/imageLightbox/ImageLightbox.stories.tsx +0 -238
  637. package/src/components/imageLightbox/ImageLightbox.tsx +0 -236
  638. package/src/components/imageLightbox/index.ts +0 -1
  639. package/src/components/log/Log.stories.tsx +0 -333
  640. package/src/components/log/Log.tsx +0 -285
  641. package/src/components/menu/Menu.stories.tsx +0 -155
  642. package/src/components/menu/Menu.tsx +0 -312
  643. package/src/components/qonsoleSmartInput/QonsoleSmartInput.stories.tsx +0 -797
  644. package/src/components/qonsoleSmartInput/QonsoleSmartInput.tsx +0 -105
  645. package/src/components/qonsoleSmartInput/index.ts +0 -16
  646. package/src/components/qonsoleSmartInput/qonsoleInserter.ts +0 -77
  647. package/src/components/qonsoleSmartInput/types.ts +0 -133
  648. package/src/components/qonsoleSmartInput/useQonsoleSession.ts +0 -124
  649. package/src/components/searchFilterBar/SearchFilterBar.stories.tsx +0 -62
  650. package/src/components/searchFilterBar/SearchFilterBar.tsx +0 -144
  651. package/src/components/searchFilterBar/index.ts +0 -1
  652. package/src/components/smartEditor/MarkdownDoc.tsx +0 -190
  653. package/src/components/smartEditor/SmartEditor.stories.tsx +0 -475
  654. package/src/components/smartEditor/SmartEditor.tsx +0 -808
  655. package/src/components/smartEditor/__fixtures__/mockLspServer.ts +0 -205
  656. package/src/components/smartEditor/helpers.ts +0 -217
  657. package/src/components/smartEditor/index.ts +0 -35
  658. package/src/components/smartEditor/styling.ts +0 -45
  659. package/src/components/smartEditor/types.ts +0 -211
  660. package/src/components/smartEditor/useLspAutocomplete.ts +0 -758
  661. package/src/components/smartEditor/useLspDiagnosticDecorations.ts +0 -125
  662. package/src/components/smartEditor/useLspHover.ts +0 -230
  663. package/src/components/smartEditor/useLspSemanticTokens.ts +0 -298
  664. package/src/components/smartEditor/useLspSession.ts +0 -231
  665. package/src/components/smartEditor/useLspSignatureHelp.ts +0 -198
  666. package/src/components/supportTicket/AttachmentChips.stories.tsx +0 -171
  667. package/src/components/supportTicket/AttachmentChips.tsx +0 -147
  668. package/src/components/supportTicket/InterfaceReferenceTags.stories.tsx +0 -257
  669. package/src/components/supportTicket/InterfaceReferenceTags.tsx +0 -129
  670. package/src/components/supportTicket/ReferencePicker.stories.tsx +0 -584
  671. package/src/components/supportTicket/ReferencePicker.tsx +0 -563
  672. package/src/components/supportTicket/TicketConversation.stories.tsx +0 -121
  673. package/src/components/supportTicket/TicketHeader.stories.tsx +0 -183
  674. package/src/components/supportTicket/TicketHeader.tsx +0 -247
  675. package/src/components/supportTicket/TicketMetaTags.stories.tsx +0 -103
  676. package/src/components/supportTicket/TicketMetaTags.tsx +0 -85
  677. package/src/components/supportTicket/TicketReplyBox.stories.tsx +0 -354
  678. package/src/components/supportTicket/TicketReplyBox.tsx +0 -150
  679. package/src/components/supportTicket/__fixtures__/kindMarks.ts +0 -28
  680. package/src/components/supportTicket/attachmentAccess.ts +0 -97
  681. package/src/components/supportTicket/fileToAttachment.ts +0 -24
  682. package/src/components/supportTicket/index.ts +0 -10
  683. package/src/components/supportTicket/meta.ts +0 -206
  684. package/src/components/supportTicket/ticketModel.ts +0 -131
  685. package/src/components/supportTicket/useLoadedImages.ts +0 -73
  686. package/src/components/ticketReferences/TicketReferences.stories.tsx +0 -315
  687. package/src/components/ticketReferences/TicketReferences.tsx +0 -906
  688. package/src/components/ticketReferences/index.ts +0 -2
  689. package/src/components/ticketThread/TicketThread.stories.tsx +0 -829
  690. package/src/components/ticketThread/TicketThread.tsx +0 -719
  691. package/src/components/ticketThread/index.ts +0 -6
  692. package/src/contexts/FetchContext.tsx +0 -25
  693. package/src/contexts/ReqraftContext.tsx +0 -9
  694. package/src/contexts/StorageContext.tsx +0 -33
  695. package/src/global.d.ts +0 -4
  696. package/src/helpers/allowedValues.ts +0 -249
  697. package/src/helpers/choiceChip.ts +0 -227
  698. package/src/helpers/common.ts +0 -326
  699. package/src/helpers/dpqlDetection.ts +0 -209
  700. package/src/helpers/expressions.ts +0 -140
  701. package/src/helpers/optionUiTypes.ts +0 -199
  702. package/src/helpers/options.ts +0 -150
  703. package/src/helpers/providerValue.ts +0 -125
  704. package/src/helpers/scrollbar.ts +0 -32
  705. package/src/helpers/singleLineString.ts +0 -61
  706. package/src/helpers/templateItems.ts +0 -81
  707. package/src/helpers/templateText.ts +0 -350
  708. package/src/helpers/templates.ts +0 -602
  709. package/src/helpers/validations.ts +0 -2085
  710. package/src/hooks/useArgSchema.ts +0 -37
  711. package/src/hooks/useCoarsePointer.ts +0 -30
  712. package/src/hooks/useFetch/useFetch.stories.tsx +0 -379
  713. package/src/hooks/useFetch/useFetch.tsx +0 -154
  714. package/src/hooks/usePhoneViewport.ts +0 -34
  715. package/src/hooks/useQorusTypes.ts +0 -233
  716. package/src/hooks/useReqraftProperty.ts +0 -16
  717. package/src/hooks/useStorage/useStorage.stories.tsx +0 -168
  718. package/src/hooks/useStorage/useStorage.ts +0 -35
  719. package/src/hooks/useTemplates.ts +0 -123
  720. package/src/hooks/useValidation.ts +0 -9
  721. package/src/hooks/useWebSocket/useWebSocket.ts +0 -224
  722. package/src/hooks/useWebSocket/useWebsocket.stories.tsx +0 -640
  723. package/src/hooks/useWhyDidYouUpdate.ts +0 -38
  724. package/src/index.tsx +0 -86
  725. package/src/providers/FetchProvider.tsx +0 -40
  726. package/src/providers/ReqraftProvider.tsx +0 -52
  727. package/src/providers/StorageProvider.tsx +0 -131
  728. package/src/stores/currentUser/currentUser.stories.tsx +0 -100
  729. package/src/stores/currentUser/currentUser.tsx +0 -94
  730. package/src/stories/Data/fileFieldArgSchema.json +0 -86
  731. package/src/stories/Tests/utils.ts +0 -320
  732. package/src/stories/storyNetwork.ts +0 -92
  733. package/src/stories/tracking.tsx +0 -206
  734. package/src/tracking/browser/attach.ts +0 -186
  735. package/src/tracking/browser/env.ts +0 -78
  736. package/src/tracking/core/consent.ts +0 -37
  737. package/src/tracking/core/engagement.ts +0 -47
  738. package/src/tracking/core/experiments.ts +0 -258
  739. package/src/tracking/core/hash.ts +0 -26
  740. package/src/tracking/core/ids.ts +0 -25
  741. package/src/tracking/core/observable.ts +0 -23
  742. package/src/tracking/core/queue.ts +0 -131
  743. package/src/tracking/core/sections.ts +0 -166
  744. package/src/tracking/core/storage.ts +0 -69
  745. package/src/tracking/core/tracker.ts +0 -417
  746. package/src/tracking/core/types.ts +0 -162
  747. package/src/tracking/core/utm.ts +0 -23
  748. package/src/tracking/index.ts +0 -72
  749. package/src/tracking/markup.ts +0 -17
  750. package/src/tracking/react/Experiment.tsx +0 -44
  751. package/src/tracking/react/TrackingProvider.tsx +0 -56
  752. package/src/tracking/react/hooks.ts +0 -106
  753. package/src/tracking/react/index.ts +0 -13
  754. package/src/tracking/testing.ts +0 -108
  755. package/src/tracking/ui/ExperimentCard.stories.tsx +0 -296
  756. package/src/tracking/ui/ExperimentCard.tsx +0 -667
  757. package/src/tracking/ui/ExperimentsOverlay.stories.tsx +0 -155
  758. package/src/tracking/ui/ExperimentsOverlay.tsx +0 -437
  759. package/src/tracking/ui/anchor.ts +0 -180
  760. package/src/tracking/ui/card.ts +0 -464
  761. package/src/tracking/ui/client.ts +0 -117
  762. package/src/tracking/ui/index.ts +0 -77
  763. package/src/tracking/ui/types.ts +0 -110
  764. package/src/tracking/ui/useExperimentsAdmin.ts +0 -103
  765. package/src/types/Form.ts +0 -29
  766. package/src/types.ts +0 -14
  767. package/src/utils/datetime.ts +0 -10
  768. package/src/utils/fetch.ts +0 -457
  769. package/src/utils/lspClient.ts +0 -711
  770. package/src/utils/lspClient.types.ts +0 -211
  771. package/src/utils/queryUnlessCancelled.ts +0 -28
  772. package/src/utils/websocket.ts +0 -293
  773. package/vite.config.ts +0 -58
  774. package/vitest.config.ts +0 -69
@@ -1,742 +0,0 @@
1
- import {
2
- ReqoreCollapsibleContent,
3
- ReqoreIcon,
4
- ReqoreLink,
5
- ReqoreP,
6
- ReqoreTag,
7
- } from '@qoretechnologies/reqore';
8
- import { IReqoreFormTemplates } from '@qoretechnologies/reqore/dist/components/Textarea';
9
- import {
10
- IQorusFormField,
11
- IQorusFormSchema,
12
- TQorusFormFieldSchema,
13
- } from '@qoretechnologies/ts-toolkit';
14
- import { IRichtextSegment } from '../../../../helpers/common';
15
- import { templateTextSegments } from '../../../../helpers/templateText';
16
- import React from 'react';
17
- import styled from 'styled-components';
18
- import { useContextSelector } from 'use-context-selector';
19
- import { CompactRowContext } from '../compactRowContext';
20
- import {
21
- MONO_FONT_STACK,
22
- StyledCodePreview,
23
- StyledRowLabel,
24
- StyledRowValue,
25
- } from '../compactRowStyles';
26
- import {
27
- fieldLabel,
28
- findAllowedValueOption,
29
- formatOptionValue,
30
- getAllowedValueIcon,
31
- getAllowedValueImage,
32
- isCodeField,
33
- orderedKeys,
34
- recordIdentity,
35
- titleKeyFor,
36
- } from '../readFirst';
37
- import { TemplateText } from '../../fields/template/TemplateText';
38
- import { TFieldWithOwnTemplates } from '../rendererTypes';
39
- import { isEmptyUiEnvelope, isUiEncodedValue } from './structuredData';
40
-
41
- /**
42
- * A read-only rendering of a value THROUGH the schema that describes it.
43
- *
44
- * `StructuredDataView` renders data nobody has described: it has to announce
45
- * what it found ("Object · 2 fields"), print raw keys, and colour values by
46
- * inferred type, because inference is all it has. That is the right rendering
47
- * for untyped data and the wrong one for ours — a form field with an
48
- * `arg_schema` is a value whose shape, names and choices are all known in
49
- * advance, and showing it as a data tree asks the reader to decode a structure
50
- * the form already knows how to say out loud.
51
- *
52
- * So a described value is rendered the way the form asked for it, in the form's
53
- * own clothes:
54
- *
55
- * - Field names use `StyledFieldLabel` (a `StyledRowLabel` in the read-only
56
- * eyebrow treatment) and values use `StyledRowValue` — the very components the
57
- * option rows above are built from. Not a copy of their CSS: a copy is a
58
- * second definition of "what a form label looks like", and the two drift the
59
- * first time either is touched.
60
- * - Values are formatted by the same `formatOptionValue` the rows use, so an
61
- * `allowed_values` entry resolves to its display name, a bool to Yes/No, a
62
- * date to the app's format. The same words appear in the summary, the preview
63
- * and the editor.
64
- * - Fields appear in the schema's order — the order the form puts them in.
65
- *
66
- * A list renders as numbered items: the number sits in a left margin with a rule
67
- * running down beside the fields belonging to it, and the item's first field
68
- * starts on the number's own line. The rule is what makes a list of multi-field
69
- * items readable — without it, "which item does this field belong to?" is
70
- * answered only by counting.
71
- *
72
- * Two deliberate properties:
73
- *
74
- * - **Nothing is hidden.** A key the schema does not describe is still shown,
75
- * under its raw name, after the described ones. A preview that quietly dropped
76
- * data would be worse than a raw tree, not better.
77
- * - **It degrades, it does not fail.** With no schema for a level, the caller
78
- * keeps using `StructuredDataView` — undescribed data still deserves the
79
- * renderer built for undescribed data.
80
- */
81
-
82
- /** Width of the shared label column, set once on the root (see `labelColumn`). */
83
- const LABEL_COL_VAR = '--schema-view-label-col';
84
-
85
- const StyledSchemaView = styled.div`
86
- display: flex;
87
- flex-direction: column;
88
- gap: 6px;
89
- min-width: 0;
90
- `;
91
-
92
- /**
93
- * One list item: its number in the left margin, its fields beside it.
94
- *
95
- * `align-items: start` over a single grid row is what puts the first field on
96
- * the number's line — the fields are one block starting at the top, not a grid
97
- * row each, so nothing can push them down past their own marker.
98
- */
99
- const StyledItem = styled.div`
100
- display: grid;
101
- grid-template-columns: auto minmax(0, 1fr);
102
- column-gap: 8px;
103
- align-items: start;
104
- min-width: 0;
105
- `;
106
-
107
- /** The item number. Furniture, so it reads quieter than the data it indexes;
108
- * `tabular-nums` keeps "9." and "10." the same width. */
109
- const StyledMarker = styled.div<{ $color: string }>`
110
- color: ${({ $color }) => $color};
111
- font-size: 12px;
112
- font-variant-numeric: tabular-nums;
113
- line-height: 20px;
114
- white-space: nowrap;
115
- `;
116
-
117
- /**
118
- * The item's identifying value, set as its heading.
119
- *
120
- * The first field a schema declares is the one that says WHICH item this is — a
121
- * method's name, a scheme's type — and it was reading as just another row: same
122
- * size, same weight, sat behind its own label. Scanning seven methods meant
123
- * reading fourteen lines to find seven names.
124
- *
125
- * Promoting the value (not the label) is what makes the list scannable: the eye
126
- * lands on `init`, `onOrderStatus`, `onConnect` down the left edge, and the
127
- * supporting fields stay where they were. The label is not lost, it moves to the
128
- * title attribute — a heading that needs a caption is not a heading.
129
- */
130
- const StyledItemTitle = styled.div<{ $color: string; $mono: boolean; $accent: string }>`
131
- color: ${({ $color }) => $color};
132
- /* An accent bar and a tinted surface, so the name is found by shape and not
133
- only by size — at seven items, scanning a column of identical-weight text is
134
- the thing this is trying to remove. The bar sits where the item's own rule
135
- runs, so the heading reads as the start of that item rather than as a
136
- decoration floating beside it. */
137
- display: inline-block;
138
- background: ${({ $accent }) => `${$accent}1f`};
139
- border-left: 3px solid ${({ $accent }) => $accent};
140
- border-radius: 0 4px 4px 0;
141
- padding: 1px 8px;
142
- margin-left: -11px;
143
- /* Outranks the field labels beneath it, which are 600 at 13px.
144
- One step was not enough: at 14px the name and the "Description" label under
145
- it read as the same thing, and the reported symptom was exactly that — the
146
- name looked like another label. Three points and a full weight above the
147
- labels is what separates "which item is this" from "what is in it". */
148
- font-weight: 700;
149
- font-size: 16px;
150
- line-height: 22px;
151
- margin-bottom: 3px;
152
- min-width: 0;
153
- overflow-wrap: anywhere;
154
- /* A literal keeps its mono face, one notch down: mono runs visually larger at
155
- the same pixel size, so 15px here sits level with 16px prose. */
156
- ${({ $mono }) => ($mono ? `font-family: ${MONO_FONT_STACK}; font-size: 15px;` : '')}
157
- `;
158
-
159
- /**
160
- * Does this record have anything to show BELOW its heading?
161
- *
162
- * The heading consumes the identifying field, so a record holding only that has
163
- * an empty body — and a rule drawn down an empty body is a line to nowhere.
164
- */
165
- const hasContentUnderHeading = (record: unknown, schema?: IQorusFormSchema): boolean => {
166
- if (!isRecord(record)) {
167
- return true;
168
- }
169
- const titleKey = titleKeyFor(record, schema);
170
-
171
- return Object.entries(record).some(
172
- ([key, value]) => key !== titleKey && value !== undefined && value !== null && value !== ''
173
- );
174
- };
175
-
176
- /** The rule tying an item's fields to its number.
177
- *
178
- * Same 3px as the heading's accent bar directly above it: at 1px the two read as
179
- * two different devices stacked on each other rather than one rule running down
180
- * the item, and the padding drops to 8px so the text stays on the same column.
181
- *
182
- * The rule is drawn only when something is actually under the heading. The
183
- * heading is pulled left of the rule by its own negative margin, so an item
184
- * whose record holds nothing but its identity showed a 1-2px sliver of line and
185
- * nothing else — which reads as a rendering artefact, because that is what it
186
- * was. It keeps a transparent border in that case so the column does not shift.
187
- */
188
- const StyledItemFields = styled.div<{ $border: string; $rule: boolean }>`
189
- border-left: 3px solid ${({ $border, $rule }) => ($rule ? $border : 'transparent')};
190
- padding-left: 8px;
191
- min-width: 0;
192
- `;
193
-
194
- /**
195
- * A record's fields: one shared label column, values in the next.
196
- *
197
- * The column width is a variable set once on the root, so every field of every
198
- * item lines up on one edge. Sizing per record would align an item's own fields
199
- * and leave the items ragged against each other, which reads as a rendering
200
- * fault rather than as a list.
201
- */
202
- /**
203
- * A record field's name, in the detail-page vocabulary.
204
- *
205
- * Uppercase, tracked and dimmed, so a field name reads as furniture and the
206
- * VALUE beside it is what the eye lands on. Same treatment the read-only
207
- * interface panels use, which is the point: an in-editor list of records and a
208
- * detail-page panel showing the same shape should not look like two components.
209
- *
210
- * A variant rather than a change to `StyledRowLabel`: that one is the FORM's own
211
- * option-row label, and the form's fields are not read-only furniture — they are
212
- * the things you are about to edit. Composing it keeps the colour, weight base
213
- * and wrapping behaviour in one place instead of copying them.
214
- *
215
- * Applies to the label only. A VALUE is never uppercased: values are frequently
216
- * case-sensitive — a service method is `onOrderStatus`, not `ONORDERSTATUS` —
217
- * and the item heading is a value.
218
- */
219
- const StyledFieldLabel = styled(StyledRowLabel)`
220
- font-size: 12px;
221
- text-transform: uppercase;
222
- letter-spacing: 0.06em;
223
- opacity: 0.55;
224
- `;
225
-
226
- const StyledFields = styled.div`
227
- /* The supporting fields step in under the heading, so the heading keeps the
228
- left edge to itself. This is the half that answers "the name is written in
229
- the position of the label": with the labels indented, it no longer is. */
230
- padding-left: 14px;
231
- display: grid;
232
- grid-template-columns: var(${LABEL_COL_VAR}, 140px) minmax(0, 1fr);
233
- column-gap: 10px;
234
- row-gap: 2px;
235
- align-items: baseline;
236
- min-width: 0;
237
-
238
- /* A row's value truncates because a row is one line high. The preview is the
239
- place that shows what the row could not, so a long value wraps here instead
240
- of ellipsising — otherwise opening the preview would reveal exactly as
241
- little as the line above it. */
242
- .options-readfirst-valuetext {
243
- white-space: normal;
244
- overflow: visible;
245
- text-overflow: clip;
246
- overflow-wrap: anywhere;
247
- }
248
-
249
- /* Mono faces run visually larger than the UI face at the same pixel size, so
250
- a literal set at the row's 13px looks a step bolder than the label naming
251
- it. A hair smaller puts the two back on the same footing. */
252
- .schema-view-data {
253
- font-size: 12.5px;
254
- }
255
- `;
256
-
257
- /** A nested level spans both columns and indents under its own name. */
258
- const StyledNested = styled.div<{ $border: string }>`
259
- grid-column: 1 / -1;
260
- margin-left: 2px;
261
- padding-left: 10px;
262
- border-left: 1px solid ${({ $border }) => $border};
263
- min-width: 0;
264
- `;
265
-
266
- const StyledNestedLabel = styled.div`
267
- grid-column: 1 / -1;
268
- `;
269
-
270
- /** A code value is a block, not a cell: it spans the grid under its own name. */
271
- const StyledCodeCell = styled.div`
272
- grid-column: 1 / -1;
273
- min-width: 0;
274
- margin: 2px 0 4px;
275
- `;
276
-
277
- export interface ISchemaDataViewProps {
278
- /** The stored value, with or without `{type, value}` envelopes. */
279
- value: unknown;
280
- /** The schema describing this level — a field's `arg_schema`. */
281
- schema: IQorusFormSchema;
282
- /** Show each field's declared type beside its name. */
283
- showTypes?: boolean;
284
- /**
285
- * Colours, taken from the row so the preview matches its surroundings.
286
- *
287
- * `accent` marks the identifying heading. It comes from the consuming row's
288
- * THEME rather than a literal here, so an app that registers its own intent
289
- * (BRAND_DESIGN §1 names qorus-ide's brand purple as exactly this case) gets
290
- * its own colour without this component knowing anything about it. It is only
291
- * ever a fill or a bar, never applied to text: an intent used as text fails
292
- * contrast — a muted label measures 1.3:1.
293
- */
294
- colors: { key: string; muted: string; border: string; accent: string };
295
- onItemClick?: () => void;
296
- }
297
-
298
- /** Look inside a `{type, value}` envelope, once. `isUiEncodedValue` is the
299
- * engine's single authority on what an envelope is — a looser test would unwrap
300
- * a real user hash that happens to carry a `value` key and drop its siblings. */
301
- const unwrap = (item: unknown): unknown => (isUiEncodedValue(item) ? item.value : item);
302
-
303
- const isRecord = (value: unknown): value is Record<string, unknown> =>
304
- !!value && typeof value === 'object' && !Array.isArray(value);
305
-
306
- /**
307
- * The width of the shared label column, measured from the longest name that will
308
- * actually be rendered.
309
- *
310
- * A fixed width is a guess in both directions: too wide and a name sits far from
311
- * its value, too narrow and every name ellipsises. Measuring fits the content;
312
- * the `%` ceiling stops one long name from taking the whole row when the inset
313
- * is narrow — a phone, or a deeply nested level.
314
- */
315
- /** Approximate rendered width of one label character, in px. See `labelColumn`. */
316
- const LABEL_CHAR_PX = 9.5;
317
-
318
- /** Gap to the value, so the longest label is not flush against it. */
319
- const LABEL_SLACK_PX = 14;
320
-
321
- const labelColumn = (value: unknown, schema: IQorusFormSchema): string => {
322
- const inner = unwrap(value);
323
- const records = (Array.isArray(inner) ? inner.map(unwrap) : [inner]).filter(isRecord);
324
- const longest = records.reduce((widest, record) => {
325
- const own = orderedKeys(record, schema).reduce(
326
- (max, key) =>
327
- Math.max(max, fieldLabel(key, schema[key] as TQorusFormFieldSchema | undefined).length),
328
- 0
329
- );
330
- return Math.max(widest, own);
331
- }, 0);
332
- // px, not `ch`. `ch` is the base font's `0` advance and knows nothing about
333
- // the label's own treatment — uppercase, semibold, `letter-spacing: 0.06em`,
334
- // at 12px — so it under-measures by about a tenth. With `overflow-wrap:
335
- // anywhere` on the label, an under-measured column does not ellipsise, it
336
- // BREAKS THE NAME IN HALF: `LEGACY_FLAG` came out over two lines the moment
337
- // the labels became uppercase. Erring high costs a few px of gap; erring low
338
- // costs a broken word.
339
- return longest ? `min(${Math.ceil(longest * LABEL_CHAR_PX + LABEL_SLACK_PX)}px, 45%)` : '140px';
340
- };
341
-
342
- /**
343
- * `true` when a value is an address a browser can open.
344
- *
345
- * Deliberately per VALUE, not per field: a field named `url` frequently holds
346
- * something that is not one — a bare path, a regex, a template — and offering
347
- * those a link promises a destination there is not.
348
- */
349
- const isNavigableUrl = (value: unknown): value is string =>
350
- typeof value === 'string' && /^(https?|wss?|ftps?):\/\//i.test(value);
351
-
352
- /**
353
- * The reference chips inside a formatted value — none when it holds no
354
- * reference at all.
355
- *
356
- * The preview is the SAME value the row above draws, one level down, and it
357
- * reached the mono cell as a raw string: a sub-field holding
358
- * `$._case.mode != 'simulate'` read as a chip on the row and as the engine's
359
- * own spelling in the inset beneath it, which is a row disagreeing with itself
360
- * about what its value is.
361
- *
362
- * A field's OWN list and grammar win where it declares them — the same
363
- * precedence the rows use — falling back to the form's shared catalogue.
364
- */
365
- const referenceSegments = (
366
- text: unknown,
367
- templates: IReqoreFormTemplates | undefined,
368
- fieldSchema?: TQorusFormFieldSchema
369
- ): IRichtextSegment[] => {
370
- if (typeof text !== 'string' || !text) {
371
- return [];
372
- }
373
- const own = fieldSchema as TFieldWithOwnTemplates | undefined;
374
- const segments = templateTextSegments(text, own?.templates ?? templates, own?.templateToken);
375
- return segments.some((segment) => segment.kind === 'tag') ? segments : [];
376
- };
377
-
378
- /** One field's value, rendered the way its row above renders it. */
379
- const FieldValue = ({
380
- field,
381
- fieldSchema,
382
- color,
383
- }: {
384
- field: IQorusFormField;
385
- fieldSchema: TQorusFormFieldSchema | undefined;
386
- color: string;
387
- }) => {
388
- const formatted = formatOptionValue(field, fieldSchema);
389
- // An allowed value that carries a logo shows it here too, exactly as the row
390
- // above does — the preview is the same value, so it gets the same treatment.
391
- // An option marked with an ICON rather than a logo gets the same, for the same
392
- // reason: the mark is how a list of bare words is told apart, and dropping it
393
- // here would make the preview disagree with the row it previews.
394
- const image = getAllowedValueImage(field.value, fieldSchema);
395
- const icon = getAllowedValueIcon(field.value, fieldSchema);
396
-
397
- // Data reads in mono; a chosen label does not.
398
- //
399
- // "qorus-session" is a literal the author typed — an identifier where the
400
- // characters themselves matter, and where a proportional font makes `l`/`1`
401
- // and `O`/`0` a guess. "Default RBAC" is not data at all: it is the name of a
402
- // choice, written by whoever wrote the schema, and setting it in mono would
403
- // dress up a label as a value. Resolving through `allowed_values` is what
404
- // separates the two, and it is the same lookup that produced the text.
405
- const isChosenLabel = !!findAllowedValueOption(field.value, fieldSchema);
406
-
407
- /* Read from context, like the code renderer above: a level is arbitrarily
408
- deep, and the form's catalogue is a property of the form rather than of any
409
- one level. See `referenceSegments`. */
410
- const templates = useContextSelector(CompactRowContext, (v) => v.templates);
411
- const fieldTemplates = (fieldSchema as TFieldWithOwnTemplates | undefined)?.templates ?? templates;
412
- const segments = isNavigableUrl(field.value) ? [] : referenceSegments(formatted, templates, fieldSchema);
413
-
414
- return (
415
- <StyledRowValue $color={color}>
416
- {field.value === true || field.value === false ?
417
- <ReqoreTag
418
- size='small'
419
- minimal
420
- intent={field.value === true ? 'success' : 'danger'}
421
- label={formatted}
422
- />
423
- : <span
424
- className={`options-readfirst-valuetext${isChosenLabel ? '' : ' schema-view-data'}`}
425
- style={isChosenLabel ? undefined : { fontFamily: MONO_FONT_STACK }}
426
- >
427
- {image ?
428
- <ReqoreIcon
429
- image={image}
430
- size='14px'
431
- style={{ flexShrink: 0, marginRight: 6, verticalAlign: 'middle' }}
432
- />
433
- : icon ?
434
- <ReqoreIcon
435
- icon={icon as any}
436
- size='14px'
437
- style={{ flexShrink: 0, marginRight: 6, verticalAlign: 'middle' }}
438
- />
439
- : null}
440
- {isNavigableUrl(field.value) ?
441
- // The address IS the link — it used to render as inert text with a
442
- // separate icon button beside it to open it, which is two things
443
- // where there is one. ReqoreLink renders a real anchor, so
444
- // middle-click and "copy link address" still work;
445
- // `stopPropagation` because the row around it toggles.
446
- <ReqoreLink
447
- className='schema-view-open-url'
448
- href={field.value}
449
- target='_blank'
450
- rel='noreferrer noopener'
451
- onClick={(event: React.MouseEvent) => event.stopPropagation()}
452
- >
453
- {formatted}
454
- </ReqoreLink>
455
- : segments.length ?
456
- // `full`: the preview is where a value that the row had to cut is
457
- // shown whole, so its chips wrap rather than clipping.
458
- <TemplateText segments={segments} templates={fieldTemplates} full />
459
- : formatted}
460
- </span>
461
- }
462
- </StyledRowValue>
463
- );
464
- };
465
-
466
- /**
467
- * A value with no field schema of its own — a bare entry in a list, a level
468
- * that turned out to be a scalar. It still reads as prose with named chips
469
- * where it holds references, because a reference is not more raw for having
470
- * arrived without a schema.
471
- */
472
- const ScalarText = ({
473
- text,
474
- templates,
475
- }: {
476
- text: string;
477
- templates: IReqoreFormTemplates | undefined;
478
- }) => {
479
- const segments = referenceSegments(text, templates);
480
- return segments.length ?
481
- <TemplateText segments={segments} templates={templates} full />
482
- : <>{text}</>;
483
- };
484
-
485
- /** One described hash: its fields as label/value pairs in the shared columns. */
486
- const SchemaRecord = ({
487
- record,
488
- schema,
489
- showTypes,
490
- colors,
491
- skipKey,
492
- }: {
493
- record: Record<string, unknown>;
494
- schema: IQorusFormSchema;
495
- showTypes?: boolean;
496
- colors: ISchemaDataViewProps['colors'];
497
- /** Rendered as the item's heading already, so it must not repeat as a row. */
498
- skipKey?: string;
499
- }) => {
500
- // The SAME host renderer the row above uses for a `code-editor` field. Read
501
- // from context rather than threaded through props: a nested level is arbitrarily
502
- // deep, and the renderer is a property of the form, not of any one level.
503
- const codePreviewRenderer = useContextSelector(CompactRowContext, (v) => v.codePreviewRenderer);
504
- const cHover = useContextSelector(CompactRowContext, (v) => v.cHover);
505
-
506
- return (
507
- <StyledFields className='schema-view-fields'>
508
- {orderedKeys(record, schema)
509
- .filter((key) => key !== skipKey)
510
- .map((key) => {
511
- const fieldSchema = schema[key] as TQorusFormFieldSchema | undefined;
512
- const nested = (fieldSchema as { arg_schema?: IQorusFormSchema } | undefined)?.arg_schema;
513
- // A schema-declared field the form materialised but never filled in
514
- // arrives as `{type: 'int'}` with no `value` key. `unwrap` cannot see
515
- // that — `isUiEncodedValue` requires a `value` — so it fell through as
516
- // CONTENT and was wrapped as one below, and `formatOptionValue` counted
517
- // the envelope's own `type` key: an untouched Runtime Defaults read
518
- // "Timeout (Seconds) 1 field" three times over while the sub-form it
519
- // previews correctly said 0/3 set. `fieldSchema` is what licenses the
520
- // reading: the schema declares this field, so a `{type}`-only object
521
- // under it is an empty envelope, never somebody's data.
522
- const raw = record[key];
523
- // `!nested` is the discriminator, and it is not a detail: a field that
524
- // declares its OWN level describes what is inside it, so `{type: 'default'}`
525
- // there is content — the scheme's Scheme Type, reading "Default RBAC" —
526
- // not an envelope. Only a leaf can be empty in this sense.
527
- const value =
528
- fieldSchema && !nested && isEmptyUiEnvelope(raw) ? undefined : unwrap(raw);
529
- const label = fieldLabel(key, fieldSchema);
530
- const labelWithType =
531
- showTypes && fieldSchema?.type ? `${label} · ${fieldSchema.type}` : label;
532
-
533
- // A field that describes its own level renders AS that level, indented
534
- // under its name — the same decision, one step down.
535
- if (nested && (isRecord(value) || Array.isArray(value))) {
536
- return (
537
- <React.Fragment key={key}>
538
- <StyledNestedLabel>
539
- <StyledFieldLabel $color={colors.key}>{labelWithType}</StyledFieldLabel>
540
- </StyledNestedLabel>
541
- <StyledNested $border={colors.border}>
542
- <SchemaLevel
543
- value={value}
544
- schema={nested}
545
- showTypes={showTypes}
546
- colors={colors}
547
- />
548
- </StyledNested>
549
- </React.Fragment>
550
- );
551
- }
552
-
553
- // A code value is source, and source is read as source: the host's renderer
554
- // gives it the syntax highlighting (and read-only LSP hover) it has in the
555
- // Source Code field, and "Show more" keeps a long body from taking over the
556
- // preview. Flattening it to one mono line — which is what a plain value cell
557
- // does — throws all of that away for a field whose whole content is code.
558
- if (isCodeField(fieldSchema) && typeof value === 'string') {
559
- return (
560
- <React.Fragment key={key}>
561
- <StyledNestedLabel>
562
- <StyledFieldLabel $color={colors.key}>{labelWithType}</StyledFieldLabel>
563
- </StyledNestedLabel>
564
- <StyledCodeCell onClick={(event) => event.stopPropagation()}>
565
- <ReqoreCollapsibleContent
566
- maxCollapsedHeight={96}
567
- buttonProps={{ className: 'options-readfirst-viewmore' }}
568
- >
569
- {codePreviewRenderer ?
570
- codePreviewRenderer({
571
- value,
572
- name: key,
573
- schema: fieldSchema,
574
- options: schema,
575
- values: record as never,
576
- })
577
- : <StyledCodePreview
578
- className='options-readfirst-code'
579
- $bg={cHover}
580
- $border={`${colors.border}88`}
581
- $fg={colors.key}
582
- >
583
- {value}
584
- </StyledCodePreview>
585
- }
586
- </ReqoreCollapsibleContent>
587
- </StyledCodeCell>
588
- </React.Fragment>
589
- );
590
- }
591
-
592
- return (
593
- <React.Fragment key={key}>
594
- <StyledFieldLabel $color={colors.key} title={label}>
595
- {labelWithType}
596
- </StyledFieldLabel>
597
- <FieldValue
598
- field={{ type: fieldSchema?.type, value } as IQorusFormField}
599
- fieldSchema={fieldSchema}
600
- color={colors.key}
601
- />
602
- </React.Fragment>
603
- );
604
- })}
605
- </StyledFields>
606
- );
607
- };
608
-
609
- /** A level: a list of numbered items, or a single described hash. */
610
- const SchemaLevel = ({
611
- value,
612
- schema,
613
- showTypes,
614
- colors,
615
- }: {
616
- value: unknown;
617
- schema: IQorusFormSchema;
618
- showTypes?: boolean;
619
- colors: ISchemaDataViewProps['colors'];
620
- }) => {
621
- const inner = unwrap(value);
622
- // Same reason as `FieldValue`: a heading and a bare list entry are values too,
623
- // and a reference in one reads as a name everywhere else in the form.
624
- const templates = useContextSelector(CompactRowContext, (v) => v.templates);
625
-
626
- if (Array.isArray(inner)) {
627
- return (
628
- <>
629
- {inner.map((item, index) => {
630
- const record = unwrap(item);
631
- return (
632
- <StyledItem key={index} className='schema-view-item'>
633
- <StyledMarker $color={colors.muted}>{index + 1}.</StyledMarker>
634
- <StyledItemFields
635
- $border={colors.border}
636
- $rule={hasContentUnderHeading(record, schema)}
637
- >
638
- {isRecord(record) ?
639
- <>
640
- {(() => {
641
- const identity = recordIdentity(record, schema);
642
- if (!identity) {
643
- return null;
644
- }
645
- // An item is headed by one of its own fields, so the
646
- // heading is that field's value and reads like it: a case
647
- // named by a reference is named by the reference's NAME.
648
- const titleSegments = referenceSegments(
649
- identity.text,
650
- templates,
651
- schema[identity.key] as TQorusFormFieldSchema | undefined
652
- );
653
- return (
654
- <StyledItemTitle
655
- className='schema-view-item-title'
656
- $color={colors.key}
657
- // A literal keeps the mono treatment it has as a value —
658
- // promoting it must not change what it IS. A chosen
659
- // label ("Default RBAC") is prose and stays prose.
660
- $mono={identity.mono}
661
- $accent={colors.accent}
662
- title={identity.label}
663
- >
664
- {titleSegments.length ?
665
- <TemplateText segments={titleSegments} templates={templates} full />
666
- : identity.text}
667
- </StyledItemTitle>
668
- );
669
- })()}
670
- <SchemaRecord
671
- record={record}
672
- schema={schema}
673
- showTypes={showTypes}
674
- colors={colors}
675
- skipKey={titleKeyFor(record, schema)}
676
- />
677
- </>
678
- : <StyledRowValue $color={colors.key}>
679
- <span
680
- className='options-readfirst-valuetext schema-view-data'
681
- style={{ fontFamily: MONO_FONT_STACK }}
682
- >
683
- <ScalarText
684
- text={formatOptionValue({ value: record } as IQorusFormField)}
685
- templates={templates}
686
- />
687
- </span>
688
- </StyledRowValue>
689
- }
690
- </StyledItemFields>
691
- </StyledItem>
692
- );
693
- })}
694
- </>
695
- );
696
- }
697
-
698
- if (isRecord(inner)) {
699
- return <SchemaRecord record={inner} schema={schema} showTypes={showTypes} colors={colors} />;
700
- }
701
-
702
- return (
703
- <ReqoreP size='small' style={{ color: colors.key }}>
704
- <ScalarText
705
- text={formatOptionValue({ value: inner } as IQorusFormField)}
706
- templates={templates}
707
- />
708
- </ReqoreP>
709
- );
710
- };
711
-
712
- export const SchemaDataView = React.memo(
713
- ({ value, schema, showTypes, colors, onItemClick }: ISchemaDataViewProps) => (
714
- <StyledSchemaView
715
- className='schema-data-view'
716
- onClick={onItemClick}
717
- style={{ [LABEL_COL_VAR]: labelColumn(value, schema) } as React.CSSProperties}
718
- >
719
- <SchemaLevel value={value} schema={schema} showTypes={showTypes} colors={colors} />
720
- </StyledSchemaView>
721
- )
722
- );
723
-
724
- SchemaDataView.displayName = 'SchemaDataView';
725
-
726
- /**
727
- * Whether a value can be rendered through a schema at all.
728
- *
729
- * A schema describes fields, so there has to be a described level to show: a
730
- * hash, or a list of them. A list of scalars has no field names to use and falls
731
- * back to the untyped renderer, which is the right tool for it.
732
- */
733
- export const canRenderWithSchema = (value: unknown, schema: unknown): boolean => {
734
- if (!schema || typeof schema !== 'object' || !Object.keys(schema).length) {
735
- return false;
736
- }
737
- const inner = unwrap(value);
738
- if (Array.isArray(inner)) {
739
- return inner.some((item) => isRecord(unwrap(item)));
740
- }
741
- return isRecord(inner);
742
- };