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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (873) hide show
  1. package/README.md +53 -1
  2. package/dist/components/Description/AllowedValuesHelp.d.ts +20 -0
  3. package/dist/components/Description/AllowedValuesHelp.d.ts.map +1 -0
  4. package/dist/components/Description/AllowedValuesHelp.js +86 -0
  5. package/dist/components/Description/AllowedValuesHelp.js.map +1 -0
  6. package/dist/components/Description/describedControl.d.ts +54 -0
  7. package/dist/components/Description/describedControl.d.ts.map +1 -0
  8. package/dist/components/Description/describedControl.js +81 -0
  9. package/dist/components/Description/describedControl.js.map +1 -0
  10. package/dist/components/Description/index.d.ts.map +1 -1
  11. package/dist/components/Description/index.js +3 -2
  12. package/dist/components/Description/index.js.map +1 -1
  13. package/dist/components/colorValue/colorValue.d.ts +59 -0
  14. package/dist/components/colorValue/colorValue.d.ts.map +1 -0
  15. package/dist/components/colorValue/colorValue.js +245 -0
  16. package/dist/components/colorValue/colorValue.js.map +1 -0
  17. package/dist/components/colorValue/index.d.ts +34 -0
  18. package/dist/components/colorValue/index.d.ts.map +1 -0
  19. package/dist/components/colorValue/index.js +136 -0
  20. package/dist/components/colorValue/index.js.map +1 -0
  21. package/dist/components/colorValue/labels.d.ts +12 -0
  22. package/dist/components/colorValue/labels.d.ts.map +1 -0
  23. package/dist/components/colorValue/labels.js +11 -0
  24. package/dist/components/colorValue/labels.js.map +1 -0
  25. package/dist/components/composer/Composer.d.ts +1 -1
  26. package/dist/components/composer/Composer.d.ts.map +1 -1
  27. package/dist/components/composer/Composer.js +2 -2
  28. package/dist/components/composer/Composer.js.map +1 -1
  29. package/dist/components/dpqlEditor/DpqlEditor.d.ts.map +1 -1
  30. package/dist/components/dpqlEditor/DpqlEditor.js +156 -10
  31. package/dist/components/dpqlEditor/DpqlEditor.js.map +1 -1
  32. package/dist/components/dpqlEditor/dpqlCompletions.d.ts +39 -0
  33. package/dist/components/dpqlEditor/dpqlCompletions.d.ts.map +1 -0
  34. package/dist/components/dpqlEditor/dpqlCompletions.js +294 -0
  35. package/dist/components/dpqlEditor/dpqlCompletions.js.map +1 -0
  36. package/dist/components/dpqlEditor/dpqlHelpers.d.ts +54 -5
  37. package/dist/components/dpqlEditor/dpqlHelpers.d.ts.map +1 -1
  38. package/dist/components/dpqlEditor/dpqlHelpers.js +413 -63
  39. package/dist/components/dpqlEditor/dpqlHelpers.js.map +1 -1
  40. package/dist/components/dpqlEditor/dpqlInserter.d.ts.map +1 -1
  41. package/dist/components/dpqlEditor/dpqlInserter.js +67 -29
  42. package/dist/components/dpqlEditor/dpqlInserter.js.map +1 -1
  43. package/dist/components/dpqlEditor/dpqlTags.d.ts +17 -7
  44. package/dist/components/dpqlEditor/dpqlTags.d.ts.map +1 -1
  45. package/dist/components/dpqlEditor/dpqlTags.js +44 -17
  46. package/dist/components/dpqlEditor/dpqlTags.js.map +1 -1
  47. package/dist/components/dpqlEditor/types.d.ts +94 -8
  48. package/dist/components/dpqlEditor/types.d.ts.map +1 -1
  49. package/dist/components/dpqlEditor/useDpqlSession.d.ts +7 -2
  50. package/dist/components/dpqlEditor/useDpqlSession.d.ts.map +1 -1
  51. package/dist/components/dpqlEditor/useDpqlSession.js +49 -17
  52. package/dist/components/dpqlEditor/useDpqlSession.js.map +1 -1
  53. package/dist/components/form/engine/CompactRow.d.ts.map +1 -1
  54. package/dist/components/form/engine/CompactRow.js +322 -124
  55. package/dist/components/form/engine/CompactRow.js.map +1 -1
  56. package/dist/components/form/engine/CompactToolbar.d.ts.map +1 -1
  57. package/dist/components/form/engine/CompactToolbar.js +29 -3
  58. package/dist/components/form/engine/CompactToolbar.js.map +1 -1
  59. package/dist/components/form/engine/FormEngine.d.ts +66 -11
  60. package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
  61. package/dist/components/form/engine/FormEngine.js +570 -176
  62. package/dist/components/form/engine/FormEngine.js.map +1 -1
  63. package/dist/components/form/engine/HiddenFieldsNote.d.ts +28 -0
  64. package/dist/components/form/engine/HiddenFieldsNote.d.ts.map +1 -0
  65. package/dist/components/form/engine/HiddenFieldsNote.js +32 -0
  66. package/dist/components/form/engine/HiddenFieldsNote.js.map +1 -0
  67. package/dist/components/form/engine/OptionFieldMessages.d.ts.map +1 -1
  68. package/dist/components/form/engine/OptionFieldMessages.js +25 -3
  69. package/dist/components/form/engine/OptionFieldMessages.js.map +1 -1
  70. package/dist/components/form/engine/OptionsHelpDialog.d.ts.map +1 -1
  71. package/dist/components/form/engine/OptionsHelpDialog.js +19 -2
  72. package/dist/components/form/engine/OptionsHelpDialog.js.map +1 -1
  73. package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts +2 -2
  74. package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts.map +1 -1
  75. package/dist/components/form/engine/_structuredData/SchemaDataView.js +12 -6
  76. package/dist/components/form/engine/_structuredData/SchemaDataView.js.map +1 -1
  77. package/dist/components/form/engine/compactRowContext.d.ts +30 -1
  78. package/dist/components/form/engine/compactRowContext.d.ts.map +1 -1
  79. package/dist/components/form/engine/compactRowContext.js.map +1 -1
  80. package/dist/components/form/engine/compactRowStyles.d.ts +59 -22
  81. package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
  82. package/dist/components/form/engine/compactRowStyles.js +102 -55
  83. package/dist/components/form/engine/compactRowStyles.js.map +1 -1
  84. package/dist/components/form/engine/compactToolbarColors.d.ts +16 -0
  85. package/dist/components/form/engine/compactToolbarColors.d.ts.map +1 -0
  86. package/dist/components/form/engine/compactToolbarColors.js +21 -0
  87. package/dist/components/form/engine/compactToolbarColors.js.map +1 -0
  88. package/dist/components/form/engine/inheritProps.d.ts +29 -0
  89. package/dist/components/form/engine/inheritProps.d.ts.map +1 -0
  90. package/dist/components/form/engine/inheritProps.js +43 -0
  91. package/dist/components/form/engine/inheritProps.js.map +1 -0
  92. package/dist/components/form/engine/operatorSummary.d.ts +26 -0
  93. package/dist/components/form/engine/operatorSummary.d.ts.map +1 -0
  94. package/dist/components/form/engine/operatorSummary.js +35 -0
  95. package/dist/components/form/engine/operatorSummary.js.map +1 -0
  96. package/dist/components/form/engine/readFirst.d.ts +24 -8
  97. package/dist/components/form/engine/readFirst.d.ts.map +1 -1
  98. package/dist/components/form/engine/readFirst.js +77 -109
  99. package/dist/components/form/engine/readFirst.js.map +1 -1
  100. package/dist/components/form/engine/readFirstColors.d.ts +30 -0
  101. package/dist/components/form/engine/readFirstColors.d.ts.map +1 -0
  102. package/dist/components/form/engine/readFirstColors.js +51 -0
  103. package/dist/components/form/engine/readFirstColors.js.map +1 -0
  104. package/dist/components/form/engine/rowFocus.d.ts +2 -0
  105. package/dist/components/form/engine/rowFocus.d.ts.map +1 -1
  106. package/dist/components/form/engine/rowFocus.js +26 -3
  107. package/dist/components/form/engine/rowFocus.js.map +1 -1
  108. package/dist/components/form/engine/typeChoices.d.ts +1 -1
  109. package/dist/components/form/engine/variants/VariantCalmTable.d.ts.map +1 -1
  110. package/dist/components/form/engine/variants/VariantCalmTable.js +2 -1
  111. package/dist/components/form/engine/variants/VariantCalmTable.js.map +1 -1
  112. package/dist/components/form/engine/variants/VariantCards.d.ts.map +1 -1
  113. package/dist/components/form/engine/variants/VariantCards.js +2 -1
  114. package/dist/components/form/engine/variants/VariantCards.js.map +1 -1
  115. package/dist/components/form/engine/variants/VariantFocus.js +1 -1
  116. package/dist/components/form/engine/variants/VariantFocus.js.map +1 -1
  117. package/dist/components/form/engine/variants/VariantMinimal.d.ts.map +1 -1
  118. package/dist/components/form/engine/variants/VariantMinimal.js +2 -1
  119. package/dist/components/form/engine/variants/VariantMinimal.js.map +1 -1
  120. package/dist/components/form/engine/variants/variantParts.d.ts +1 -1
  121. package/dist/components/form/engine/variants/variantParts.d.ts.map +1 -1
  122. package/dist/components/form/engine/variants/variantParts.js +25 -17
  123. package/dist/components/form/engine/variants/variantParts.js.map +1 -1
  124. package/dist/components/form/expressions/DpqlRendering.d.ts +1 -1
  125. package/dist/components/form/expressions/DpqlRendering.d.ts.map +1 -1
  126. package/dist/components/form/expressions/DpqlRendering.js +7 -6
  127. package/dist/components/form/expressions/DpqlRendering.js.map +1 -1
  128. package/dist/components/form/expressions/ExpressionField.d.ts +67 -3
  129. package/dist/components/form/expressions/ExpressionField.d.ts.map +1 -1
  130. package/dist/components/form/expressions/ExpressionField.js +536 -114
  131. package/dist/components/form/expressions/ExpressionField.js.map +1 -1
  132. package/dist/components/form/expressions/argumentPresence.d.ts +14 -0
  133. package/dist/components/form/expressions/argumentPresence.d.ts.map +1 -1
  134. package/dist/components/form/expressions/argumentPresence.js +16 -1
  135. package/dist/components/form/expressions/argumentPresence.js.map +1 -1
  136. package/dist/components/form/expressions/builder/argumentDetail.d.ts.map +1 -1
  137. package/dist/components/form/expressions/builder/argumentDetail.js +4 -1
  138. package/dist/components/form/expressions/builder/argumentDetail.js.map +1 -1
  139. package/dist/components/form/expressions/builder/argumentLabel.d.ts.map +1 -1
  140. package/dist/components/form/expressions/builder/argumentLabel.js +30 -11
  141. package/dist/components/form/expressions/builder/argumentLabel.js.map +1 -1
  142. package/dist/components/form/expressions/builder/argumentWrapper.d.ts.map +1 -1
  143. package/dist/components/form/expressions/builder/argumentWrapper.js +3 -1
  144. package/dist/components/form/expressions/builder/argumentWrapper.js.map +1 -1
  145. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.d.ts +9 -0
  146. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.d.ts.map +1 -1
  147. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js +30 -27
  148. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js.map +1 -1
  149. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts +1 -1
  150. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts.map +1 -1
  151. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js +7 -5
  152. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js.map +1 -1
  153. package/dist/components/form/expressions/builder/index.d.ts +34 -2
  154. package/dist/components/form/expressions/builder/index.d.ts.map +1 -1
  155. package/dist/components/form/expressions/builder/index.js +170 -80
  156. package/dist/components/form/expressions/builder/index.js.map +1 -1
  157. package/dist/components/form/expressions/builder/item.d.ts +6 -2
  158. package/dist/components/form/expressions/builder/item.d.ts.map +1 -1
  159. package/dist/components/form/expressions/builder/item.js +19 -5
  160. package/dist/components/form/expressions/builder/item.js.map +1 -1
  161. package/dist/components/form/expressions/builder/renderTemplate.js +1 -1
  162. package/dist/components/form/expressions/builder/renderTemplate.js.map +1 -1
  163. package/dist/components/form/expressions/dpqlMockRecordPath.d.ts +11 -0
  164. package/dist/components/form/expressions/dpqlMockRecordPath.d.ts.map +1 -0
  165. package/dist/components/form/expressions/dpqlMockRecordPath.js +254 -0
  166. package/dist/components/form/expressions/dpqlMockRecordPath.js.map +1 -0
  167. package/dist/components/form/expressions/expressionOperands.d.ts +16 -0
  168. package/dist/components/form/expressions/expressionOperands.d.ts.map +1 -0
  169. package/dist/components/form/expressions/expressionOperands.js +97 -0
  170. package/dist/components/form/expressions/expressionOperands.js.map +1 -0
  171. package/dist/components/form/expressions/fieldPath.d.ts +24 -0
  172. package/dist/components/form/expressions/fieldPath.d.ts.map +1 -0
  173. package/dist/components/form/expressions/fieldPath.js +152 -0
  174. package/dist/components/form/expressions/fieldPath.js.map +1 -0
  175. package/dist/components/form/expressions/loneValue.d.ts +17 -0
  176. package/dist/components/form/expressions/loneValue.d.ts.map +1 -0
  177. package/dist/components/form/expressions/loneValue.js +33 -0
  178. package/dist/components/form/expressions/loneValue.js.map +1 -0
  179. package/dist/components/form/expressions/mockExpressions.d.ts.map +1 -1
  180. package/dist/components/form/expressions/mockExpressions.js +22 -5
  181. package/dist/components/form/expressions/mockExpressions.js.map +1 -1
  182. package/dist/components/form/expressions/renderExpressionToText.d.ts +2 -0
  183. package/dist/components/form/expressions/renderExpressionToText.d.ts.map +1 -1
  184. package/dist/components/form/expressions/renderExpressionToText.js +43 -10
  185. package/dist/components/form/expressions/renderExpressionToText.js.map +1 -1
  186. package/dist/components/form/expressions/textOfExpression.d.ts +18 -0
  187. package/dist/components/form/expressions/textOfExpression.d.ts.map +1 -0
  188. package/dist/components/form/expressions/textOfExpression.js +49 -0
  189. package/dist/components/form/expressions/textOfExpression.js.map +1 -0
  190. package/dist/components/form/expressions/types.d.ts +12 -0
  191. package/dist/components/form/expressions/types.d.ts.map +1 -1
  192. package/dist/components/form/expressions/types.js +6 -1
  193. package/dist/components/form/expressions/types.js.map +1 -1
  194. package/dist/components/form/expressions/useExpressionType.d.ts +26 -0
  195. package/dist/components/form/expressions/useExpressionType.d.ts.map +1 -0
  196. package/dist/components/form/expressions/useExpressionType.js +181 -0
  197. package/dist/components/form/expressions/useExpressionType.js.map +1 -0
  198. package/dist/components/form/expressions/useRenderExpression.d.ts.map +1 -1
  199. package/dist/components/form/expressions/useRenderExpression.js +13 -9
  200. package/dist/components/form/expressions/useRenderExpression.js.map +1 -1
  201. package/dist/components/form/expressions/wildcardExpressions.d.ts +27 -0
  202. package/dist/components/form/expressions/wildcardExpressions.d.ts.map +1 -0
  203. package/dist/components/form/expressions/wildcardExpressions.js +101 -0
  204. package/dist/components/form/expressions/wildcardExpressions.js.map +1 -0
  205. package/dist/components/form/fields/Field.d.ts.map +1 -1
  206. package/dist/components/form/fields/Field.js +43 -20
  207. package/dist/components/form/fields/Field.js.map +1 -1
  208. package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
  209. package/dist/components/form/fields/allowed-values/AllowedValues.js +39 -6
  210. package/dist/components/form/fields/allowed-values/AllowedValues.js.map +1 -1
  211. package/dist/components/form/fields/allowed-values/choicePicture.d.ts +37 -0
  212. package/dist/components/form/fields/allowed-values/choicePicture.d.ts.map +1 -0
  213. package/dist/components/form/fields/allowed-values/choicePicture.js +64 -0
  214. package/dist/components/form/fields/allowed-values/choicePicture.js.map +1 -0
  215. package/dist/components/form/fields/array/ArrayAuto.d.ts.map +1 -1
  216. package/dist/components/form/fields/array/ArrayAuto.js +24 -0
  217. package/dist/components/form/fields/array/ArrayAuto.js.map +1 -1
  218. package/dist/components/form/fields/array/ArrayAutoField.d.ts.map +1 -1
  219. package/dist/components/form/fields/array/ArrayAutoField.js +36 -13
  220. package/dist/components/form/fields/array/ArrayAutoField.js.map +1 -1
  221. package/dist/components/form/fields/auto/AutoFormField.d.ts +30 -1
  222. package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
  223. package/dist/components/form/fields/auto/AutoFormField.js +119 -62
  224. package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
  225. package/dist/components/form/fields/auto/hostEditorValue.d.ts +30 -0
  226. package/dist/components/form/fields/auto/hostEditorValue.d.ts.map +1 -0
  227. package/dist/components/form/fields/auto/hostEditorValue.js +53 -0
  228. package/dist/components/form/fields/auto/hostEditorValue.js.map +1 -0
  229. package/dist/components/form/fields/binary/Binary.d.ts.map +1 -1
  230. package/dist/components/form/fields/binary/Binary.js +23 -3
  231. package/dist/components/form/fields/binary/Binary.js.map +1 -1
  232. package/dist/components/form/fields/boolean/Boolean.d.ts +5 -0
  233. package/dist/components/form/fields/boolean/Boolean.d.ts.map +1 -1
  234. package/dist/components/form/fields/boolean/Boolean.js +9 -1
  235. package/dist/components/form/fields/boolean/Boolean.js.map +1 -1
  236. package/dist/components/form/fields/color/Color.d.ts +103 -16
  237. package/dist/components/form/fields/color/Color.d.ts.map +1 -1
  238. package/dist/components/form/fields/color/Color.js +616 -16
  239. package/dist/components/form/fields/color/Color.js.map +1 -1
  240. package/dist/components/form/fields/emittedValues.d.ts +34 -3
  241. package/dist/components/form/fields/emittedValues.d.ts.map +1 -1
  242. package/dist/components/form/fields/emittedValues.js +24 -1
  243. package/dist/components/form/fields/emittedValues.js.map +1 -1
  244. package/dist/components/form/fields/file/File.d.ts +1 -1
  245. package/dist/components/form/fields/file/File.d.ts.map +1 -1
  246. package/dist/components/form/fields/file/File.js +4 -2
  247. package/dist/components/form/fields/file/File.js.map +1 -1
  248. package/dist/components/form/fields/long-string/LongString.d.ts.map +1 -1
  249. package/dist/components/form/fields/long-string/LongString.js +29 -8
  250. package/dist/components/form/fields/long-string/LongString.js.map +1 -1
  251. package/dist/components/form/fields/markdown/MarkdownView.js +1 -1
  252. package/dist/components/form/fields/multi-select/MultiSelectFormField.d.ts.map +1 -1
  253. package/dist/components/form/fields/multi-select/MultiSelectFormField.js +13 -9
  254. package/dist/components/form/fields/multi-select/MultiSelectFormField.js.map +1 -1
  255. package/dist/components/form/fields/number/Number.d.ts +6 -0
  256. package/dist/components/form/fields/number/Number.d.ts.map +1 -1
  257. package/dist/components/form/fields/number/Number.js +41 -6
  258. package/dist/components/form/fields/number/Number.js.map +1 -1
  259. package/dist/components/form/fields/object/Object.d.ts +1 -1
  260. package/dist/components/form/fields/object/Object.d.ts.map +1 -1
  261. package/dist/components/form/fields/object/Object.js +4 -2
  262. package/dist/components/form/fields/object/Object.js.map +1 -1
  263. package/dist/components/form/fields/pendingEdit.d.ts +52 -0
  264. package/dist/components/form/fields/pendingEdit.d.ts.map +1 -0
  265. package/dist/components/form/fields/pendingEdit.js +79 -0
  266. package/dist/components/form/fields/pendingEdit.js.map +1 -0
  267. package/dist/components/form/fields/radio-group/RadioGroup.d.ts.map +1 -1
  268. package/dist/components/form/fields/radio-group/RadioGroup.js +4 -3
  269. package/dist/components/form/fields/radio-group/RadioGroup.js.map +1 -1
  270. package/dist/components/form/fields/rich-text/RichText.d.ts +20 -1
  271. package/dist/components/form/fields/rich-text/RichText.d.ts.map +1 -1
  272. package/dist/components/form/fields/rich-text/RichText.js +382 -91
  273. package/dist/components/form/fields/rich-text/RichText.js.map +1 -1
  274. package/dist/components/form/fields/rich-text/useTemplateTags.d.ts +18 -0
  275. package/dist/components/form/fields/rich-text/useTemplateTags.d.ts.map +1 -0
  276. package/dist/components/form/fields/rich-text/useTemplateTags.js +80 -0
  277. package/dist/components/form/fields/rich-text/useTemplateTags.js.map +1 -0
  278. package/dist/components/form/fields/schema-definition/CatalogLeafForm.d.ts.map +1 -1
  279. package/dist/components/form/fields/schema-definition/CatalogLeafForm.js +4 -1
  280. package/dist/components/form/fields/schema-definition/CatalogLeafForm.js.map +1 -1
  281. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.d.ts.map +1 -1
  282. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js +20 -5
  283. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js.map +1 -1
  284. package/dist/components/form/fields/schema-definition/TableEditor.d.ts.map +1 -1
  285. package/dist/components/form/fields/schema-definition/TableEditor.js +10 -2
  286. package/dist/components/form/fields/schema-definition/TableEditor.js.map +1 -1
  287. package/dist/components/form/fields/schema-definition/index.d.ts.map +1 -1
  288. package/dist/components/form/fields/schema-definition/index.js +8 -4
  289. package/dist/components/form/fields/schema-definition/index.js.map +1 -1
  290. package/dist/components/form/fields/select/Select.d.ts +10 -1
  291. package/dist/components/form/fields/select/Select.d.ts.map +1 -1
  292. package/dist/components/form/fields/select/Select.js +28 -14
  293. package/dist/components/form/fields/select/Select.js.map +1 -1
  294. package/dist/components/form/fields/select/SelectCollection.d.ts +5 -0
  295. package/dist/components/form/fields/select/SelectCollection.d.ts.map +1 -1
  296. package/dist/components/form/fields/select/SelectCollection.js +25 -12
  297. package/dist/components/form/fields/select/SelectCollection.js.map +1 -1
  298. package/dist/components/form/fields/select/unavailableRow.d.ts +23 -0
  299. package/dist/components/form/fields/select/unavailableRow.d.ts.map +1 -0
  300. package/dist/components/form/fields/select/unavailableRow.js +55 -0
  301. package/dist/components/form/fields/select/unavailableRow.js.map +1 -0
  302. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts +11 -5
  303. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts.map +1 -1
  304. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js +21 -5
  305. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js.map +1 -1
  306. package/dist/components/form/fields/template/TemplateBrowser.d.ts +16 -0
  307. package/dist/components/form/fields/template/TemplateBrowser.d.ts.map +1 -0
  308. package/dist/components/form/fields/template/TemplateBrowser.js +89 -0
  309. package/dist/components/form/fields/template/TemplateBrowser.js.map +1 -0
  310. package/dist/components/form/fields/template/TemplateField.d.ts +105 -1
  311. package/dist/components/form/fields/template/TemplateField.d.ts.map +1 -1
  312. package/dist/components/form/fields/template/TemplateField.js +678 -107
  313. package/dist/components/form/fields/template/TemplateField.js.map +1 -1
  314. package/dist/components/form/fields/template/TemplatePicker.d.ts +54 -0
  315. package/dist/components/form/fields/template/TemplatePicker.d.ts.map +1 -0
  316. package/dist/components/form/fields/template/TemplatePicker.js +451 -0
  317. package/dist/components/form/fields/template/TemplatePicker.js.map +1 -0
  318. package/dist/components/form/fields/template/TemplateText.d.ts +0 -17
  319. package/dist/components/form/fields/template/TemplateText.d.ts.map +1 -1
  320. package/dist/components/form/fields/template/TemplateText.js +22 -16
  321. package/dist/components/form/fields/template/TemplateText.js.map +1 -1
  322. package/dist/components/form/fields/template/referenceNames.d.ts +63 -0
  323. package/dist/components/form/fields/template/referenceNames.d.ts.map +1 -0
  324. package/dist/components/form/fields/template/referenceNames.js +69 -0
  325. package/dist/components/form/fields/template/referenceNames.js.map +1 -0
  326. package/dist/components/form/fields/template/writtenAsText.d.ts +61 -0
  327. package/dist/components/form/fields/template/writtenAsText.d.ts.map +1 -0
  328. package/dist/components/form/fields/template/writtenAsText.js +204 -0
  329. package/dist/components/form/fields/template/writtenAsText.js.map +1 -0
  330. package/dist/components/form/index.d.ts +12 -0
  331. package/dist/components/form/index.d.ts.map +1 -1
  332. package/dist/components/form/index.js +25 -1
  333. package/dist/components/form/index.js.map +1 -1
  334. package/dist/components/form/typeSentenceForm.d.ts +17 -0
  335. package/dist/components/form/typeSentenceForm.d.ts.map +1 -0
  336. package/dist/components/form/typeSentenceForm.js +54 -0
  337. package/dist/components/form/typeSentenceForm.js.map +1 -0
  338. package/dist/components/imageLightbox/ImageLightbox.d.ts.map +1 -1
  339. package/dist/components/imageLightbox/ImageLightbox.js +19 -7
  340. package/dist/components/imageLightbox/ImageLightbox.js.map +1 -1
  341. package/dist/components/log/Log.d.ts.map +1 -1
  342. package/dist/components/log/Log.js +20 -8
  343. package/dist/components/log/Log.js.map +1 -1
  344. package/dist/components/menu/Menu.d.ts.map +1 -1
  345. package/dist/components/menu/Menu.js +19 -10
  346. package/dist/components/menu/Menu.js.map +1 -1
  347. package/dist/components/smartEditor/CompletionMenu.d.ts +53 -0
  348. package/dist/components/smartEditor/CompletionMenu.d.ts.map +1 -0
  349. package/dist/components/smartEditor/CompletionMenu.js +302 -0
  350. package/dist/components/smartEditor/CompletionMenu.js.map +1 -0
  351. package/dist/components/smartEditor/MarkdownDoc.d.ts +1 -1
  352. package/dist/components/smartEditor/MarkdownDoc.js +3 -3
  353. package/dist/components/smartEditor/MarkdownDoc.js.map +1 -1
  354. package/dist/components/smartEditor/SmartEditor.d.ts.map +1 -1
  355. package/dist/components/smartEditor/SmartEditor.js +584 -190
  356. package/dist/components/smartEditor/SmartEditor.js.map +1 -1
  357. package/dist/components/smartEditor/completionStyle.d.ts +28 -0
  358. package/dist/components/smartEditor/completionStyle.d.ts.map +1 -0
  359. package/dist/components/smartEditor/completionStyle.js +79 -0
  360. package/dist/components/smartEditor/completionStyle.js.map +1 -0
  361. package/dist/components/smartEditor/contextTitle.d.ts +10 -0
  362. package/dist/components/smartEditor/contextTitle.d.ts.map +1 -0
  363. package/dist/components/smartEditor/contextTitle.js +21 -0
  364. package/dist/components/smartEditor/contextTitle.js.map +1 -0
  365. package/dist/components/smartEditor/editingAids.d.ts +64 -0
  366. package/dist/components/smartEditor/editingAids.d.ts.map +1 -0
  367. package/dist/components/smartEditor/editingAids.js +213 -0
  368. package/dist/components/smartEditor/editingAids.js.map +1 -0
  369. package/dist/components/smartEditor/index.d.ts +6 -1
  370. package/dist/components/smartEditor/index.d.ts.map +1 -1
  371. package/dist/components/smartEditor/index.js +19 -1
  372. package/dist/components/smartEditor/index.js.map +1 -1
  373. package/dist/components/smartEditor/templateCompletions.d.ts +98 -0
  374. package/dist/components/smartEditor/templateCompletions.d.ts.map +1 -0
  375. package/dist/components/smartEditor/templateCompletions.js +380 -0
  376. package/dist/components/smartEditor/templateCompletions.js.map +1 -0
  377. package/dist/components/smartEditor/typedReferences.d.ts +34 -0
  378. package/dist/components/smartEditor/typedReferences.d.ts.map +1 -0
  379. package/dist/components/smartEditor/typedReferences.js +179 -0
  380. package/dist/components/smartEditor/typedReferences.js.map +1 -0
  381. package/dist/components/smartEditor/types.d.ts +116 -2
  382. package/dist/components/smartEditor/types.d.ts.map +1 -1
  383. package/dist/components/smartEditor/useEditingAids.d.ts +38 -0
  384. package/dist/components/smartEditor/useEditingAids.d.ts.map +1 -0
  385. package/dist/components/smartEditor/useEditingAids.js +336 -0
  386. package/dist/components/smartEditor/useEditingAids.js.map +1 -0
  387. package/dist/components/smartEditor/useLspAutocomplete.d.ts +106 -3
  388. package/dist/components/smartEditor/useLspAutocomplete.d.ts.map +1 -1
  389. package/dist/components/smartEditor/useLspAutocomplete.js +562 -151
  390. package/dist/components/smartEditor/useLspAutocomplete.js.map +1 -1
  391. package/dist/components/smartEditor/useLspHover.d.ts +33 -7
  392. package/dist/components/smartEditor/useLspHover.d.ts.map +1 -1
  393. package/dist/components/smartEditor/useLspHover.js +364 -35
  394. package/dist/components/smartEditor/useLspHover.js.map +1 -1
  395. package/dist/components/smartEditor/useLspSemanticTokens.js +1 -1
  396. package/dist/components/smartEditor/useLspSemanticTokens.js.map +1 -1
  397. package/dist/components/smartEditor/useLspSession.d.ts +6 -0
  398. package/dist/components/smartEditor/useLspSession.d.ts.map +1 -1
  399. package/dist/components/smartEditor/useLspSession.js +7 -6
  400. package/dist/components/smartEditor/useLspSession.js.map +1 -1
  401. package/dist/components/smartEditor/useLspSignatureHelp.d.ts.map +1 -1
  402. package/dist/components/smartEditor/useLspSignatureHelp.js +6 -11
  403. package/dist/components/smartEditor/useLspSignatureHelp.js.map +1 -1
  404. package/dist/components/smartEditor/useTabCameIn.d.ts +10 -0
  405. package/dist/components/smartEditor/useTabCameIn.d.ts.map +1 -0
  406. package/dist/components/smartEditor/useTabCameIn.js +42 -0
  407. package/dist/components/smartEditor/useTabCameIn.js.map +1 -0
  408. package/dist/components/supportTicket/AttachmentChips.d.ts.map +1 -1
  409. package/dist/components/supportTicket/AttachmentChips.js +15 -5
  410. package/dist/components/supportTicket/AttachmentChips.js.map +1 -1
  411. package/dist/components/supportTicket/ReferencePicker.d.ts +9 -2
  412. package/dist/components/supportTicket/ReferencePicker.d.ts.map +1 -1
  413. package/dist/components/supportTicket/ReferencePicker.js +27 -6
  414. package/dist/components/supportTicket/ReferencePicker.js.map +1 -1
  415. package/dist/components/supportTicket/TicketHeader.d.ts +3 -4
  416. package/dist/components/supportTicket/TicketHeader.d.ts.map +1 -1
  417. package/dist/components/supportTicket/TicketHeader.js +20 -2
  418. package/dist/components/supportTicket/TicketHeader.js.map +1 -1
  419. package/dist/components/supportTicket/TicketMetaTags.d.ts +1 -1
  420. package/dist/components/ticketReferences/TicketReferences.d.ts.map +1 -1
  421. package/dist/components/ticketReferences/TicketReferences.js +9 -4
  422. package/dist/components/ticketReferences/TicketReferences.js.map +1 -1
  423. package/dist/components/ticketThread/TicketThread.d.ts.map +1 -1
  424. package/dist/components/ticketThread/TicketThread.js +38 -13
  425. package/dist/components/ticketThread/TicketThread.js.map +1 -1
  426. package/dist/helpers/allowedValues.d.ts +21 -0
  427. package/dist/helpers/allowedValues.d.ts.map +1 -1
  428. package/dist/helpers/allowedValues.js +40 -1
  429. package/dist/helpers/allowedValues.js.map +1 -1
  430. package/dist/helpers/descriptionTooltip.d.ts +46 -0
  431. package/dist/helpers/descriptionTooltip.d.ts.map +1 -0
  432. package/dist/helpers/descriptionTooltip.js +76 -0
  433. package/dist/helpers/descriptionTooltip.js.map +1 -0
  434. package/dist/helpers/domProps.d.ts +5 -0
  435. package/dist/helpers/domProps.d.ts.map +1 -0
  436. package/dist/helpers/domProps.js +47 -0
  437. package/dist/helpers/domProps.js.map +1 -0
  438. package/dist/helpers/expressions.d.ts +115 -4
  439. package/dist/helpers/expressions.d.ts.map +1 -1
  440. package/dist/helpers/expressions.js +247 -29
  441. package/dist/helpers/expressions.js.map +1 -1
  442. package/dist/helpers/hoveringPointer.d.ts +26 -0
  443. package/dist/helpers/hoveringPointer.d.ts.map +1 -0
  444. package/dist/helpers/hoveringPointer.js +29 -0
  445. package/dist/helpers/hoveringPointer.js.map +1 -0
  446. package/dist/helpers/markdownText.d.ts +14 -0
  447. package/dist/helpers/markdownText.d.ts.map +1 -0
  448. package/dist/helpers/markdownText.js +160 -0
  449. package/dist/helpers/markdownText.js.map +1 -0
  450. package/dist/helpers/noDescription.d.ts +9 -0
  451. package/dist/helpers/noDescription.d.ts.map +1 -0
  452. package/dist/helpers/noDescription.js +13 -0
  453. package/dist/helpers/noDescription.js.map +1 -0
  454. package/dist/helpers/optionUiTypes.d.ts +2 -2
  455. package/dist/helpers/qorusTypeCatalogue.d.ts +147 -0
  456. package/dist/helpers/qorusTypeCatalogue.d.ts.map +1 -0
  457. package/dist/helpers/qorusTypeCatalogue.js +505 -0
  458. package/dist/helpers/qorusTypeCatalogue.js.map +1 -0
  459. package/dist/helpers/readableColors.d.ts +36 -0
  460. package/dist/helpers/readableColors.d.ts.map +1 -0
  461. package/dist/helpers/readableColors.js +116 -0
  462. package/dist/helpers/readableColors.js.map +1 -0
  463. package/dist/helpers/recordFieldReference.d.ts +15 -0
  464. package/dist/helpers/recordFieldReference.d.ts.map +1 -0
  465. package/dist/helpers/recordFieldReference.js +89 -0
  466. package/dist/helpers/recordFieldReference.js.map +1 -0
  467. package/dist/helpers/templateCatalogue.d.ts +104 -0
  468. package/dist/helpers/templateCatalogue.d.ts.map +1 -0
  469. package/dist/helpers/templateCatalogue.js +116 -0
  470. package/dist/helpers/templateCatalogue.js.map +1 -0
  471. package/dist/helpers/templateCatalogueContext.d.ts +19 -0
  472. package/dist/helpers/templateCatalogueContext.d.ts.map +1 -0
  473. package/dist/helpers/templateCatalogueContext.js +31 -0
  474. package/dist/helpers/templateCatalogueContext.js.map +1 -0
  475. package/dist/helpers/templateItems.d.ts +2 -2
  476. package/dist/helpers/templateItems.d.ts.map +1 -1
  477. package/dist/helpers/templateItems.js +6 -4
  478. package/dist/helpers/templateItems.js.map +1 -1
  479. package/dist/helpers/templateText.d.ts +1 -0
  480. package/dist/helpers/templateText.d.ts.map +1 -1
  481. package/dist/helpers/templateText.js +7 -3
  482. package/dist/helpers/templateText.js.map +1 -1
  483. package/dist/helpers/templateTree.d.ts +248 -0
  484. package/dist/helpers/templateTree.d.ts.map +1 -0
  485. package/dist/helpers/templateTree.js +892 -0
  486. package/dist/helpers/templateTree.js.map +1 -0
  487. package/dist/helpers/templateType.d.ts +28 -0
  488. package/dist/helpers/templateType.d.ts.map +1 -0
  489. package/dist/helpers/templateType.js +30 -0
  490. package/dist/helpers/templateType.js.map +1 -0
  491. package/dist/helpers/templates.d.ts +86 -16
  492. package/dist/helpers/templates.d.ts.map +1 -1
  493. package/dist/helpers/templates.js +305 -45
  494. package/dist/helpers/templates.js.map +1 -1
  495. package/dist/helpers/validations.d.ts +27 -0
  496. package/dist/helpers/validations.d.ts.map +1 -1
  497. package/dist/helpers/validations.js +169 -39
  498. package/dist/helpers/validations.js.map +1 -1
  499. package/dist/helpers/webLink.d.ts +8 -0
  500. package/dist/helpers/webLink.d.ts.map +1 -0
  501. package/dist/helpers/webLink.js +29 -0
  502. package/dist/helpers/webLink.js.map +1 -0
  503. package/dist/hooks/useQorusTypes.d.ts +12 -17
  504. package/dist/hooks/useQorusTypes.d.ts.map +1 -1
  505. package/dist/hooks/useQorusTypes.js +44 -172
  506. package/dist/hooks/useQorusTypes.js.map +1 -1
  507. package/dist/hooks/useReadableIntentShade.d.ts +9 -0
  508. package/dist/hooks/useReadableIntentShade.d.ts.map +1 -0
  509. package/dist/hooks/useReadableIntentShade.js +23 -0
  510. package/dist/hooks/useReadableIntentShade.js.map +1 -0
  511. package/dist/hooks/useReadableOpacity.d.ts +6 -0
  512. package/dist/hooks/useReadableOpacity.d.ts.map +1 -0
  513. package/dist/hooks/useReadableOpacity.js +17 -0
  514. package/dist/hooks/useReadableOpacity.js.map +1 -0
  515. package/dist/index.d.ts +8 -0
  516. package/dist/index.d.ts.map +1 -1
  517. package/dist/index.js +24 -1
  518. package/dist/index.js.map +1 -1
  519. package/dist/tracking/ui/ExperimentCard.d.ts +1 -1
  520. package/dist/tracking/ui/ExperimentCard.d.ts.map +1 -1
  521. package/dist/tracking/ui/ExperimentCard.js +26 -10
  522. package/dist/tracking/ui/ExperimentCard.js.map +1 -1
  523. package/dist/tracking/ui/card.d.ts +2 -2
  524. package/dist/tracking/ui/card.d.ts.map +1 -1
  525. package/dist/tracking/ui/card.js +2 -2
  526. package/dist/tracking/ui/card.js.map +1 -1
  527. package/dist/tracking/ui/readable.d.ts +14 -0
  528. package/dist/tracking/ui/readable.d.ts.map +1 -0
  529. package/dist/tracking/ui/readable.js +60 -0
  530. package/dist/tracking/ui/readable.js.map +1 -0
  531. package/dist/utils/fetch.d.ts +9 -2
  532. package/dist/utils/fetch.d.ts.map +1 -1
  533. package/dist/utils/fetch.js +6 -5
  534. package/dist/utils/fetch.js.map +1 -1
  535. package/dist/utils/lspClient.types.d.ts +2 -0
  536. package/dist/utils/lspClient.types.d.ts.map +1 -1
  537. package/dist/utils/websocket.d.ts +65 -2
  538. package/dist/utils/websocket.d.ts.map +1 -1
  539. package/dist/utils/websocket.js +276 -44
  540. package/dist/utils/websocket.js.map +1 -1
  541. package/package.json +14 -6
  542. package/.claude/CLAUDE.md +0 -317
  543. package/.tasks/EXPORT_EXPRESSION_BUILDER.md +0 -38
  544. package/.tasks/EXPRESSION_BUILDER_REPORT.md +0 -149
  545. package/.tasks/EXPRESSION_FIELD_SEAMS.md +0 -66
  546. package/.tasks/FIELD_STACK_REPORT.md +0 -234
  547. package/.tasks/FORM_ENGINE_COMPACT_READ_FIRST.md +0 -558
  548. package/.tasks/FORM_ENGINE_EXPRESSIONS.md +0 -197
  549. package/.tasks/FORM_ENGINE_OPTIONS_SYNC.md +0 -95
  550. package/.tasks/FORM_FIELD_EXTRAS.md +0 -72
  551. package/.tasks/INDEX.md +0 -111
  552. package/.tasks/LSP_SHARED_CONNECTION.md +0 -75
  553. package/.tasks/QONSOLE_ASSIST_FEATURES.md +0 -306
  554. package/.tasks/RENDER_EXPRESSION_LSP.md +0 -159
  555. package/.tasks/REQRAFT_AUTO_FIELD.md +0 -176
  556. package/.tasks/SCHEMA_DEFINITION_FIELD.md +0 -250
  557. package/.tasks/SMART_EDITOR_CONTEXT_AND_POLISH.md +0 -340
  558. package/.tasks/SMART_EDITOR_LSP_FEATURES.md +0 -299
  559. package/.tasks/SMART_EDITOR_REVIEW_FOLLOWUPS.md +0 -280
  560. package/.tasks/SMART_EDITOR_UX_POLISH.md +0 -383
  561. package/.tasks/SMART_EDITOR_VISUAL_POLISH.md +0 -246
  562. package/.tasks/STORY_NETWORK_ISOLATION.md +0 -98
  563. package/.tasks/TEMPLATE_TOKEN_GRAMMAR.md +0 -72
  564. package/CODE_OF_CONDUCT.md +0 -105
  565. package/CONTRIBUTING.MD +0 -78
  566. package/SECURITY.md +0 -3
  567. package/chromatic.config.json +0 -5
  568. package/design/COMPACT_ENGINE_REDESIGN.md +0 -156
  569. package/design/COMPACT_INFO_DISPLAY.md +0 -87
  570. package/design/COMPACT_PARITY.md +0 -85
  571. package/design/EXPRESSION_BUILDER_REPORT_STRATEGY.md +0 -92
  572. package/design/FORM_ENGINE_COMPACT.md +0 -300
  573. package/design/FORM_ENGINE_COMPACT_UX_PLAN.md +0 -353
  574. package/design/FORM_ENGINE_EXPRESSIONS.md +0 -257
  575. package/design/FORM_ENGINE_FIELD_MIGRATION.md +0 -419
  576. package/design/IDE_INTEGRATION.md +0 -64
  577. package/design/RENDER_EXPRESSION_TRANSPORT.md +0 -156
  578. package/design/SELECT_DIALOG_FLOOR.md +0 -86
  579. package/design/SMART_EDITOR_UX.md +0 -438
  580. package/design/TRACKING.md +0 -290
  581. package/design/UNAVAILABLE_ALLOWED_VALUES.md +0 -226
  582. package/src/components/Description/index.tsx +0 -254
  583. package/src/components/Description/markdownRendererContext.tsx +0 -29
  584. package/src/components/FocusedEditing/index.tsx +0 -50
  585. package/src/components/codeSize/index.tsx +0 -79
  586. package/src/components/composer/Composer.stories.tsx +0 -238
  587. package/src/components/composer/Composer.tsx +0 -554
  588. package/src/components/composer/helpers.ts +0 -74
  589. package/src/components/composer/index.ts +0 -2
  590. package/src/components/dpqlEditor/DpqlEditor.stories.tsx +0 -1183
  591. package/src/components/dpqlEditor/DpqlEditor.tsx +0 -219
  592. package/src/components/dpqlEditor/dpqlHelpers.ts +0 -287
  593. package/src/components/dpqlEditor/dpqlInserter.ts +0 -121
  594. package/src/components/dpqlEditor/dpqlProbe.ts +0 -165
  595. package/src/components/dpqlEditor/dpqlTags.ts +0 -114
  596. package/src/components/dpqlEditor/index.ts +0 -41
  597. package/src/components/dpqlEditor/types.ts +0 -203
  598. package/src/components/dpqlEditor/useDpqlProbe.ts +0 -33
  599. package/src/components/dpqlEditor/useDpqlSession.ts +0 -411
  600. package/src/components/form/engine/CompactRow.tsx +0 -2620
  601. package/src/components/form/engine/CompactToolbar.tsx +0 -330
  602. package/src/components/form/engine/FormEngine.stories.tsx +0 -9920
  603. package/src/components/form/engine/FormEngine.tsx +0 -4569
  604. package/src/components/form/engine/FormEngineRemote.stories.tsx +0 -679
  605. package/src/components/form/engine/FormEngineStickyHeaders.stories.tsx +0 -331
  606. package/src/components/form/engine/FormFieldsSkeleton.tsx +0 -82
  607. package/src/components/form/engine/OptionFieldMessages.tsx +0 -477
  608. package/src/components/form/engine/OptionsHelpDialog.tsx +0 -29
  609. package/src/components/form/engine/__fixtures__/basicFormOptions.ts +0 -309
  610. package/src/components/form/engine/__fixtures__/fieldChromeOptions.ts +0 -45
  611. package/src/components/form/engine/_structuredData/SchemaDataView.stories.tsx +0 -233
  612. package/src/components/form/engine/_structuredData/SchemaDataView.tsx +0 -742
  613. package/src/components/form/engine/_structuredData/StructuredDataView.stories.tsx +0 -85
  614. package/src/components/form/engine/_structuredData/StructuredDataView.tsx +0 -75
  615. package/src/components/form/engine/_structuredData/structuredData.ts +0 -145
  616. package/src/components/form/engine/compactRowContext.ts +0 -148
  617. package/src/components/form/engine/compactRowStyles.ts +0 -898
  618. package/src/components/form/engine/compactToolbarContext.ts +0 -69
  619. package/src/components/form/engine/optionActions.ts +0 -128
  620. package/src/components/form/engine/optionsContext.ts +0 -24
  621. package/src/components/form/engine/readFirst.ts +0 -1077
  622. package/src/components/form/engine/rendererTypes.ts +0 -107
  623. package/src/components/form/engine/revealRow.ts +0 -123
  624. package/src/components/form/engine/rowFocus.ts +0 -101
  625. package/src/components/form/engine/rowMenuContext.ts +0 -159
  626. package/src/components/form/engine/rowOpenPicker.ts +0 -27
  627. package/src/components/form/engine/typeChoices.ts +0 -63
  628. package/src/components/form/engine/variants/FormEngineVariants.stories.tsx +0 -159
  629. package/src/components/form/engine/variants/VariantCalmTable.tsx +0 -244
  630. package/src/components/form/engine/variants/VariantCards.tsx +0 -212
  631. package/src/components/form/engine/variants/VariantFocus.tsx +0 -382
  632. package/src/components/form/engine/variants/VariantMinimal.tsx +0 -170
  633. package/src/components/form/engine/variants/focusDemo.ts +0 -145
  634. package/src/components/form/engine/variants/variantModel.ts +0 -223
  635. package/src/components/form/engine/variants/variantParts.tsx +0 -313
  636. package/src/components/form/expressions/DpqlRendering.tsx +0 -85
  637. package/src/components/form/expressions/ExpressionField.stories.tsx +0 -1395
  638. package/src/components/form/expressions/ExpressionField.tsx +0 -503
  639. package/src/components/form/expressions/argumentPresence.ts +0 -213
  640. package/src/components/form/expressions/builder/ExpressionBuilder.stories.tsx +0 -1683
  641. package/src/components/form/expressions/builder/argumentDetail.tsx +0 -17
  642. package/src/components/form/expressions/builder/argumentLabel.tsx +0 -146
  643. package/src/components/form/expressions/builder/argumentSlot.tsx +0 -101
  644. package/src/components/form/expressions/builder/argumentWrapper.tsx +0 -243
  645. package/src/components/form/expressions/builder/confirmMismatchedTypesModal.tsx +0 -120
  646. package/src/components/form/expressions/builder/confirmUnsupportedTypeModal.tsx +0 -69
  647. package/src/components/form/expressions/builder/index.tsx +0 -1545
  648. package/src/components/form/expressions/builder/item.tsx +0 -89
  649. package/src/components/form/expressions/builder/moveToPositionStrip.tsx +0 -156
  650. package/src/components/form/expressions/builder/renderTemplate.tsx +0 -42
  651. package/src/components/form/expressions/dpqlMockLanguage.ts +0 -566
  652. package/src/components/form/expressions/dpqlMockLsp.ts +0 -126
  653. package/src/components/form/expressions/mockExpressions.ts +0 -317
  654. package/src/components/form/expressions/renderExpressionToText.ts +0 -137
  655. package/src/components/form/expressions/types.ts +0 -110
  656. package/src/components/form/expressions/useExpressions.ts +0 -101
  657. package/src/components/form/expressions/useRenderExpression.ts +0 -165
  658. package/src/components/form/fields/Field.stories.tsx +0 -143
  659. package/src/components/form/fields/Field.tsx +0 -732
  660. package/src/components/form/fields/allowed-values/AllowedValues.tsx +0 -297
  661. package/src/components/form/fields/array/ArrayAuto.tsx +0 -237
  662. package/src/components/form/fields/array/ArrayAutoField.stories.tsx +0 -475
  663. package/src/components/form/fields/array/ArrayAutoField.tsx +0 -367
  664. package/src/components/form/fields/auto/AutoFormField.stories.tsx +0 -825
  665. package/src/components/form/fields/auto/AutoFormField.tsx +0 -1164
  666. package/src/components/form/fields/binary/Binary.stories.tsx +0 -122
  667. package/src/components/form/fields/binary/Binary.tsx +0 -91
  668. package/src/components/form/fields/boolean/Boolean.stories.tsx +0 -125
  669. package/src/components/form/fields/boolean/Boolean.tsx +0 -34
  670. package/src/components/form/fields/byte-size/ByteSize.stories.tsx +0 -87
  671. package/src/components/form/fields/byte-size/ByteSize.tsx +0 -58
  672. package/src/components/form/fields/color/Color.stories.tsx +0 -99
  673. package/src/components/form/fields/color/Color.tsx +0 -46
  674. package/src/components/form/fields/cron/Cron.stories.tsx +0 -68
  675. package/src/components/form/fields/cron/Cron.tsx +0 -80
  676. package/src/components/form/fields/date/Date.stories.tsx +0 -77
  677. package/src/components/form/fields/date/Date.tsx +0 -55
  678. package/src/components/form/fields/emittedValues.ts +0 -70
  679. package/src/components/form/fields/file/File.stories.tsx +0 -161
  680. package/src/components/form/fields/file/File.tsx +0 -227
  681. package/src/components/form/fields/long-string/LongString.stories.tsx +0 -120
  682. package/src/components/form/fields/long-string/LongString.tsx +0 -130
  683. package/src/components/form/fields/markdown/Markdown.stories.tsx +0 -76
  684. package/src/components/form/fields/markdown/Markdown.tsx +0 -81
  685. package/src/components/form/fields/markdown/MarkdownView.tsx +0 -222
  686. package/src/components/form/fields/multi-select/MultiSelectFormField.tsx +0 -139
  687. package/src/components/form/fields/number/Number.stories.tsx +0 -159
  688. package/src/components/form/fields/number/Number.tsx +0 -160
  689. package/src/components/form/fields/object/Object.stories.tsx +0 -398
  690. package/src/components/form/fields/object/Object.tsx +0 -255
  691. package/src/components/form/fields/radio-group/RadioGroup.stories.tsx +0 -95
  692. package/src/components/form/fields/radio-group/RadioGroup.tsx +0 -46
  693. package/src/components/form/fields/radio-group/images/java-96x128.png +0 -0
  694. package/src/components/form/fields/radio-group/images/python-129x128.png +0 -0
  695. package/src/components/form/fields/radio-group/images/qore-106x128.png +0 -0
  696. package/src/components/form/fields/rich-text/RichText.stories.tsx +0 -260
  697. package/src/components/form/fields/rich-text/RichText.tsx +0 -537
  698. package/src/components/form/fields/schema-definition/CatalogLeafForm.tsx +0 -242
  699. package/src/components/form/fields/schema-definition/CatalogNodeEditor.tsx +0 -758
  700. package/src/components/form/fields/schema-definition/Hint.tsx +0 -22
  701. package/src/components/form/fields/schema-definition/InlineValidationBanner.tsx +0 -138
  702. package/src/components/form/fields/schema-definition/Loader.tsx +0 -20
  703. package/src/components/form/fields/schema-definition/MigrationsTab.tsx +0 -187
  704. package/src/components/form/fields/schema-definition/SchemaDefinitionField.stories.tsx +0 -286
  705. package/src/components/form/fields/schema-definition/TableEditor.tsx +0 -155
  706. package/src/components/form/fields/schema-definition/TablesTab.tsx +0 -138
  707. package/src/components/form/fields/schema-definition/catalog.ts +0 -237
  708. package/src/components/form/fields/schema-definition/helpers.ts +0 -90
  709. package/src/components/form/fields/schema-definition/index.tsx +0 -418
  710. package/src/components/form/fields/schema-definition/mockCatalog.ts +0 -325
  711. package/src/components/form/fields/schema-definition/mockDefinition.ts +0 -111
  712. package/src/components/form/fields/schema-definition/referenceSuggestions.tsx +0 -152
  713. package/src/components/form/fields/schema-definition/starterTemplate.ts +0 -68
  714. package/src/components/form/fields/schema-definition/types.ts +0 -185
  715. package/src/components/form/fields/schema-definition/useSchemaOptionCatalog.ts +0 -49
  716. package/src/components/form/fields/select/Select.stories.tsx +0 -872
  717. package/src/components/form/fields/select/Select.tsx +0 -624
  718. package/src/components/form/fields/select/SelectCollection.tsx +0 -594
  719. package/src/components/form/fields/string/String.stories.tsx +0 -86
  720. package/src/components/form/fields/string/String.tsx +0 -43
  721. package/src/components/form/fields/template/ExampleValueModal.stories.tsx +0 -114
  722. package/src/components/form/fields/template/ExampleValueModal.tsx +0 -99
  723. package/src/components/form/fields/template/ReadOnlyTemplateTag.tsx +0 -47
  724. package/src/components/form/fields/template/TemplateField.stories.tsx +0 -1121
  725. package/src/components/form/fields/template/TemplateField.tsx +0 -1717
  726. package/src/components/form/fields/template/TemplateText.tsx +0 -115
  727. package/src/components/form/fields/template/__fixtures__/longExampleValue.ts +0 -7
  728. package/src/components/form/fields/template/__fixtures__/multiLevelTemplates.json +0 -147
  729. package/src/components/form/fields/template/__fixtures__/templates.json +0 -83
  730. package/src/components/form/fields/timeout/Timeout.stories.tsx +0 -228
  731. package/src/components/form/fields/timeout/Timeout.tsx +0 -87
  732. package/src/components/form/fields/url/Url.stories.tsx +0 -94
  733. package/src/components/form/fields/url/Url.tsx +0 -85
  734. package/src/components/form/index.tsx +0 -47
  735. package/src/components/imageLightbox/ImageLightbox.stories.tsx +0 -238
  736. package/src/components/imageLightbox/ImageLightbox.tsx +0 -236
  737. package/src/components/imageLightbox/index.ts +0 -1
  738. package/src/components/log/Log.stories.tsx +0 -333
  739. package/src/components/log/Log.tsx +0 -285
  740. package/src/components/menu/Menu.stories.tsx +0 -155
  741. package/src/components/menu/Menu.tsx +0 -312
  742. package/src/components/qonsoleSmartInput/QonsoleSmartInput.stories.tsx +0 -797
  743. package/src/components/qonsoleSmartInput/QonsoleSmartInput.tsx +0 -105
  744. package/src/components/qonsoleSmartInput/index.ts +0 -16
  745. package/src/components/qonsoleSmartInput/qonsoleInserter.ts +0 -77
  746. package/src/components/qonsoleSmartInput/types.ts +0 -133
  747. package/src/components/qonsoleSmartInput/useQonsoleSession.ts +0 -124
  748. package/src/components/searchFilterBar/SearchFilterBar.stories.tsx +0 -62
  749. package/src/components/searchFilterBar/SearchFilterBar.tsx +0 -144
  750. package/src/components/searchFilterBar/index.ts +0 -1
  751. package/src/components/smartEditor/MarkdownDoc.tsx +0 -190
  752. package/src/components/smartEditor/SmartEditor.stories.tsx +0 -475
  753. package/src/components/smartEditor/SmartEditor.tsx +0 -808
  754. package/src/components/smartEditor/__fixtures__/mockLspServer.ts +0 -205
  755. package/src/components/smartEditor/helpers.ts +0 -217
  756. package/src/components/smartEditor/index.ts +0 -35
  757. package/src/components/smartEditor/styling.ts +0 -45
  758. package/src/components/smartEditor/types.ts +0 -211
  759. package/src/components/smartEditor/useLspAutocomplete.ts +0 -758
  760. package/src/components/smartEditor/useLspDiagnosticDecorations.ts +0 -125
  761. package/src/components/smartEditor/useLspHover.ts +0 -230
  762. package/src/components/smartEditor/useLspSemanticTokens.ts +0 -298
  763. package/src/components/smartEditor/useLspSession.ts +0 -231
  764. package/src/components/smartEditor/useLspSignatureHelp.ts +0 -198
  765. package/src/components/supportTicket/AttachmentChips.stories.tsx +0 -171
  766. package/src/components/supportTicket/AttachmentChips.tsx +0 -147
  767. package/src/components/supportTicket/InterfaceReferenceTags.stories.tsx +0 -257
  768. package/src/components/supportTicket/InterfaceReferenceTags.tsx +0 -129
  769. package/src/components/supportTicket/ReferencePicker.stories.tsx +0 -584
  770. package/src/components/supportTicket/ReferencePicker.tsx +0 -563
  771. package/src/components/supportTicket/TicketConversation.stories.tsx +0 -121
  772. package/src/components/supportTicket/TicketHeader.stories.tsx +0 -183
  773. package/src/components/supportTicket/TicketHeader.tsx +0 -247
  774. package/src/components/supportTicket/TicketMetaTags.stories.tsx +0 -103
  775. package/src/components/supportTicket/TicketMetaTags.tsx +0 -85
  776. package/src/components/supportTicket/TicketReplyBox.stories.tsx +0 -354
  777. package/src/components/supportTicket/TicketReplyBox.tsx +0 -150
  778. package/src/components/supportTicket/__fixtures__/kindMarks.ts +0 -28
  779. package/src/components/supportTicket/attachmentAccess.ts +0 -97
  780. package/src/components/supportTicket/fileToAttachment.ts +0 -24
  781. package/src/components/supportTicket/index.ts +0 -10
  782. package/src/components/supportTicket/meta.ts +0 -206
  783. package/src/components/supportTicket/ticketModel.ts +0 -131
  784. package/src/components/supportTicket/useLoadedImages.ts +0 -73
  785. package/src/components/ticketReferences/TicketReferences.stories.tsx +0 -315
  786. package/src/components/ticketReferences/TicketReferences.tsx +0 -906
  787. package/src/components/ticketReferences/index.ts +0 -2
  788. package/src/components/ticketThread/TicketThread.stories.tsx +0 -829
  789. package/src/components/ticketThread/TicketThread.tsx +0 -719
  790. package/src/components/ticketThread/index.ts +0 -6
  791. package/src/contexts/FetchContext.tsx +0 -25
  792. package/src/contexts/ReqraftContext.tsx +0 -9
  793. package/src/contexts/StorageContext.tsx +0 -33
  794. package/src/global.d.ts +0 -4
  795. package/src/helpers/allowedValues.ts +0 -249
  796. package/src/helpers/choiceChip.ts +0 -227
  797. package/src/helpers/common.ts +0 -326
  798. package/src/helpers/dpqlDetection.ts +0 -209
  799. package/src/helpers/expressions.ts +0 -140
  800. package/src/helpers/optionUiTypes.ts +0 -199
  801. package/src/helpers/options.ts +0 -150
  802. package/src/helpers/providerValue.ts +0 -125
  803. package/src/helpers/scrollbar.ts +0 -32
  804. package/src/helpers/singleLineString.ts +0 -61
  805. package/src/helpers/templateItems.ts +0 -81
  806. package/src/helpers/templateText.ts +0 -350
  807. package/src/helpers/templates.ts +0 -602
  808. package/src/helpers/validations.ts +0 -2085
  809. package/src/hooks/useArgSchema.ts +0 -37
  810. package/src/hooks/useCoarsePointer.ts +0 -30
  811. package/src/hooks/useFetch/useFetch.stories.tsx +0 -379
  812. package/src/hooks/useFetch/useFetch.tsx +0 -154
  813. package/src/hooks/usePhoneViewport.ts +0 -34
  814. package/src/hooks/useQorusTypes.ts +0 -233
  815. package/src/hooks/useReqraftProperty.ts +0 -16
  816. package/src/hooks/useStorage/useStorage.stories.tsx +0 -168
  817. package/src/hooks/useStorage/useStorage.ts +0 -35
  818. package/src/hooks/useTemplates.ts +0 -123
  819. package/src/hooks/useValidation.ts +0 -9
  820. package/src/hooks/useWebSocket/useWebSocket.ts +0 -224
  821. package/src/hooks/useWebSocket/useWebsocket.stories.tsx +0 -640
  822. package/src/hooks/useWhyDidYouUpdate.ts +0 -38
  823. package/src/index.tsx +0 -86
  824. package/src/providers/FetchProvider.tsx +0 -40
  825. package/src/providers/ReqraftProvider.tsx +0 -52
  826. package/src/providers/StorageProvider.tsx +0 -131
  827. package/src/stores/currentUser/currentUser.stories.tsx +0 -100
  828. package/src/stores/currentUser/currentUser.tsx +0 -94
  829. package/src/stories/Data/fileFieldArgSchema.json +0 -86
  830. package/src/stories/Tests/utils.ts +0 -320
  831. package/src/stories/storyNetwork.ts +0 -92
  832. package/src/stories/tracking.tsx +0 -206
  833. package/src/tracking/browser/attach.ts +0 -186
  834. package/src/tracking/browser/env.ts +0 -78
  835. package/src/tracking/core/consent.ts +0 -37
  836. package/src/tracking/core/engagement.ts +0 -47
  837. package/src/tracking/core/experiments.ts +0 -258
  838. package/src/tracking/core/hash.ts +0 -26
  839. package/src/tracking/core/ids.ts +0 -25
  840. package/src/tracking/core/observable.ts +0 -23
  841. package/src/tracking/core/queue.ts +0 -131
  842. package/src/tracking/core/sections.ts +0 -166
  843. package/src/tracking/core/storage.ts +0 -69
  844. package/src/tracking/core/tracker.ts +0 -417
  845. package/src/tracking/core/types.ts +0 -162
  846. package/src/tracking/core/utm.ts +0 -23
  847. package/src/tracking/index.ts +0 -72
  848. package/src/tracking/markup.ts +0 -17
  849. package/src/tracking/react/Experiment.tsx +0 -44
  850. package/src/tracking/react/TrackingProvider.tsx +0 -56
  851. package/src/tracking/react/hooks.ts +0 -106
  852. package/src/tracking/react/index.ts +0 -13
  853. package/src/tracking/testing.ts +0 -108
  854. package/src/tracking/ui/ExperimentCard.stories.tsx +0 -296
  855. package/src/tracking/ui/ExperimentCard.tsx +0 -667
  856. package/src/tracking/ui/ExperimentsOverlay.stories.tsx +0 -155
  857. package/src/tracking/ui/ExperimentsOverlay.tsx +0 -437
  858. package/src/tracking/ui/anchor.ts +0 -180
  859. package/src/tracking/ui/card.ts +0 -464
  860. package/src/tracking/ui/client.ts +0 -117
  861. package/src/tracking/ui/index.ts +0 -77
  862. package/src/tracking/ui/types.ts +0 -110
  863. package/src/tracking/ui/useExperimentsAdmin.ts +0 -103
  864. package/src/types/Form.ts +0 -29
  865. package/src/types.ts +0 -14
  866. package/src/utils/datetime.ts +0 -10
  867. package/src/utils/fetch.ts +0 -457
  868. package/src/utils/lspClient.ts +0 -711
  869. package/src/utils/lspClient.types.ts +0 -211
  870. package/src/utils/queryUnlessCancelled.ts +0 -28
  871. package/src/utils/websocket.ts +0 -293
  872. package/vite.config.ts +0 -58
  873. package/vitest.config.ts +0 -69
@@ -1,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
- };