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

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