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

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